xgks-2.6.1+dfsg.2/0000755000175000017500000000000012124104030014670 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/0000755000175000017500000000000011413611016015466 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/INSTALL0000644000175000017500000001064011413611016016520 0ustar amckinstryamckinstryThis is a generic INSTALL file for utilities distributions. If this package does not come with, e.g., installable documentation or data files, please ignore the references to them below. To compile this package: 1. Configure the package for your system. In the directory containing this file, type `./configure'. If you're using `csh' on an old version of System V, you might need to type `sh configure' instead to prevent `csh' from trying to execute `configure' itself. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation, and creates the Makefile(s) (one in each subdirectory of the source directory). In some packages it creates a C header file containing system-dependent definitions. It also creates a file `config.status' that you can run in the future to recreate the current configuration. Running `configure' takes a minute or two. While it is running, it prints some messages that tell what it is doing. If you don't want to see the messages, run `configure' with its standard output redirected to `/dev/null'; for example, `./configure >/dev/null'. By default, `make install' will install the package's files in ../../bin, ../../lib, ../../man, etc. You can specify an installation prefix other than /usr/local by giving `configure' the option `--prefix=PATH'. Alternately, you can do so by changing the `prefix' variable in the Makefile that `configure' creates (the Makefile in the top-level directory, if the package contains subdirectories). You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you give `configure' the option `--exec_prefix=PATH', the package will use PATH as the prefix for installing programs and libraries. Data files and documentation will still use the regular prefix. Normally, all files are installed using the regular prefix. You can tell `configure' to figure out the configuration for your system, and record it in `config.status', without actually configuring the package (creating `Makefile's and perhaps a configuration header file). To do this, give `configure' the `--no-create' option. Later, you can run `./config.status' to actually configure the package. This option is useful mainly in `Makefile' rules for updating `config.status' and `Makefile'. You can also give `config.status' the `--recheck' option, which makes it re-run `configure' with the same arguments you used before. This is useful if you change `configure'. `configure' ignores any other arguments that you give it. If your system requires unusual options for compilation or linking that `configure' doesn't know about, you can give `configure' initial values for some variables by setting them in the environment. In Bourne-compatible shells, you can do that on the command line like this: CC='gcc -traditional' DEFS=-D_POSIX_SOURCE ./configure The `make' variables that you might want to override with environment variables when running `configure' are: (For these variables, any value given in the environment overrides the value that `configure' would choose:) CC C compiler program. Default is `cc'. INSTALL Program to use to install files. Default is `install -c' if you have it, `cp' otherwise. (For these variables, any value given in the environment is added to the value that `configure' chooses:) DEFS Configuration options, in the form `-Dfoo -Dbar ...' LIBS Libraries to link with, in the form `-lfoo -lbar ...' Alternatively, you can give `configure' initial values by modifying the file CUSTOMIZE. If you need to do unusual things to compile the package, we encourage you to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the README so we can include them in the next release. 2. Type `make' to compile the package. make CFLAGS=-O2 LDFLAGS=-s 3. Type `make install' to install programs, data files, and documentation. 4. You can remove the program binaries and object files from the source directory by typing `make clean'. To also remove the Makefile(s), the header file containing system-dependent definitions (if the package uses one), and `config.status' (all the files that `configure' created), type `make distclean'. The file `configure.in' is used as a template to create `configure' by a program called `autoconf'. You will only need it if you want to regenerate `configure' using a newer version of `autoconf'. xgks-2.6.1+dfsg.2/src/bugs/0000755000175000017500000000000011413611016016426 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/bugs/sample.c0000644000175000017500000000505011413611016020053 0ustar amckinstryamckinstry#if 0 Date: Thu, 15 Aug 91 15:27:00 -0600 From: angel@tiguex.cs.unm.edu (Ed Angel) To: steve@unidata.ucar.edu Subject: XGKS bug? I've been testing my demo programs under version 2.4. All is well except for sample mode input. The following simple program works fine under the old version. Under the new version, it does not put up the cross hairs correctly and never detects returns anything but the initial cursor position. The code for gsample in locator.c seems the same so the problem lies deeper. Any idea? (By the way samplepick demonstrates similar behavior). Did anyone test sample input? Ed Angel CS Dept University of New Mexico #endif /* Sample locator test program, old binding */ /* samples two points and draws line between them */ /* waits for carriage return to terminate */ /* cc tsampleold.c -lxgks -lX11 -lm */ #include #include #include #include /* GKS i/o defines */ #define WS_ID 1 #define INDEV 2 #define PET 2 main() { static Glimit echo_area = {.0, 1280.0, 0.0, 1024.0}; Gpoint xy[2]; Gloc loc, response; Glocrec r; /* GKS Initialization */ gopengks("stderr", 0); gopenws(WS_ID, (char*)NULL, (char*)NULL); gactivatews(WS_ID); /* initialize locator */ loc.position.x = 0.5; loc.position.y = 0.5; loc.transform = 0; ginitloc(WS_ID, INDEV, &loc, PET, &echo_area, &r); /* set mode to sample and echo on */ gsetlocmode(WS_ID, INDEV, GSAMPLE, GECHO); /* wait 5 seconds so user can position mouse and depress button */ /* note sample are only generated if button is depressed */ sleep(5); gsampleloc(WS_ID, INDEV, &response); xy[0].x = loc.position.x = response.position.x; xy[0].y = loc.position.y = response.position.y; /* set mode back to request so we can reinitialize locator */ /* then set back to sample mode */ gsetlocmode(WS_ID, INDEV, GREQUEST, GECHO); ginitloc(WS_ID, INDEV, &loc, PET, &echo_area, &r); gsetlocmode(WS_ID, INDEV, GSAMPLE, GECHO); /* wait 5 seconds so user can position mouse and depress button */ /* note samples are only generated if button is depressed */ sleep(5); gsampleloc(WS_ID, INDEV, &response); xy[1].x = response.position.x; xy[1].y = response.position.y; printf("%f\n%f\n%f\n%f\n", xy[0].x, xy[0].y, xy[1].x, xy[1].y); gpolyline(2, xy); /* wait for carriage return */ getchar(); /* termination */ gdeactivatews(WS_ID); gclosews(WS_ID); gclosegks(); return EXIT_SUCCESS; } xgks-2.6.1+dfsg.2/src/bugs/gscr.c%0000644000175000017500000000614111413611016017577 0ustar amckinstryamckinstry#include "udposix.h" #include #include "xgks.h" #define WSID_X11 1 #define WSID_MO 2 #define WSID_WISS 3 #define TRANS_ID 1 extern void openplot_(); extern void setclrmap_(); extern void closeplot_(); static void openplot() { Gdspsize dspsz; Glimit window; /* * Open the GKS plot package. * Opens X11 workstation (iwk=#1) and/or metafile (iwk=#2) for plotting. * Sets transformation #1 from Plot-Board (PB) WCs (inches) to NDCs. */ /* Open GKS */ (void) gopengks(stderr, (long)0); /* Open and activate X11 workstation. */ (void) gopenws(WSID_X11, (char*)NULL, (char*)NULL); (void) gactivatews(WSID_X11); /* Make whole X11 gks-window the workstation window. */ window.xmin = 0; window.xmax = 1; window.ymin = 0; window.ymax = .8; (void) gsetwswindow(WSID_X11, &window); /* Open and activate metafile "workstation". */ (void) gopenws(WSID_MO, "meta1.gks", "MO"); (void) gactivatews(WSID_MO); (void) gsetwswindow(WSID_MO, &window); /* Open and activate WISS "workstation". */ (void) gopenws(WSID_WISS, (char*)NULL, "WISS"); (void) gactivatews(WSID_WISS); /* * Define a Plot-Board-World-Coord (PBWC) system in inches * with bounds based on NDC window shape. * (WCs will be 10 times larger than NDC's) */ (void) gsetviewport(TRANS_ID, &window); window.xmin *= 10; window.xmax *= 10; window.ymin *= 10; window.ymax *= 10; (void) gsetwindow(TRANS_ID, &window); (void) gselntran(TRANS_ID); } static void setclrmap(ncolors, red, grn, blu) int ncolors; int *red, *grn, *blu; { int i; float r, g, b; /* Set color map. */ for (i = 0; i < ncolors; ++i) { Gcobundl rep; rep.red = red[i]/255.0; rep.green = grn[i]/255.0; rep.blue = blu[i]/255.0; (void) gsetcolourrep(WSID_X11, i, &rep); (void) gsetcolourrep(WSID_MO, i, &rep); } } static void closeplot() { /* Close the X11 workstation. */ (void) gdeactivatews(WSID_X11); (void) gclosews(WSID_X11); /* Close the meta-workstation. */ (void) gdeactivatews(WSID_MO); (void) gclosews(WSID_MO); /* Close the WISS workstation. */ (void) gclosews(WSID_WISS); /* Close GKS. */ (void) gclosegks(); } main() { int ired[256], igrn[256], iblu[256]; int ncolors; int i; /*Open plot. */ openplot_(); /* Set color map. */ (void) printf("Give ncolors (try 16 and 17, for example): "); (void) scanf("%d", &ncolors); ired[0] = 255; igrn[0] = 255; iblu[0] = 255; for (i = 1; i < ncolors; ++i) { ired[i] = 0; igrn[i] = 0; iblu[i] = 0; } setclrmap(ncolors, ired, igrn, iblu); /* Plot polyline. */ for (i = 0; i < 40; ++i) { int npts = 2; Gpoint pts[2]; (void) printf("Plotting polyline = %d\n", i); pts[0].x = 1.0 + (i+1)*0.1; pts[0].y = 1.0; pts[1].x = pts[0].x; pts[1].y = pts[0].y + 1.0; (void) gpolyline(2, pts); } /* Finish plotting. */ (void) printf("Hit CR to end..."); (void) getchar(); closeplot(); } xgks-2.6.1+dfsg.2/src/bugs/offsetof.c0000644000175000017500000000030311413611016020401 0ustar amckinstryamckinstry#include "udposix.h" #include #include #include "gks_implem.h" main() { (void) printf("offset = %lu\n", (unsigned long)offsetof(mf_cgmo, markersize)); return 0; } xgks-2.6.1+dfsg.2/src/bugs/metafn.tmp0000644000175000017500000000000611413611016020416 0ustar amckinstryamckinstrymeta1 xgks-2.6.1+dfsg.2/src/bugs/gscr.c0000644000175000017500000000674611413611016017545 0ustar amckinstryamckinstry#include "udposix.h" #include #include "xgks.h" #define WSID_X11 1 #define WSID_MO 2 #define WSID_WISS 3 #define TRANS_ID 1 static void openplot() { Glimit window; /* * Open the GKS plot package. * Opens X11 workstation (iwk=#1) and/or metafile (iwk=#2) for plotting. * Sets transformation #1 from Plot-Board (PB) WCs (inches) to NDCs. */ /* Open GKS */ (void) gopengks(stderr, (long)0); /* Make whole X11 gks-window the workstation window. */ window.xmin = 0; window.xmax = 1; window.ymin = 0; window.ymax = .8; /* Open and activate metafile "workstation". */ (void) gopenws(WSID_MO, "meta1.gks", "MO"); (void) gactivatews(WSID_MO); (void) gsetwswindow(WSID_MO, &window); /* Open and activate WISS "workstation". */ (void) gopenws(WSID_WISS, (char*)NULL, "WISS"); (void) gactivatews(WSID_WISS); /* Open and activate X11 workstation. */ (void) gopenws(WSID_X11, (char*)NULL, (char*)NULL); (void) gactivatews(WSID_X11); (void) gsetwswindow(WSID_X11, &window); /* * Define a Plot-Board-World-Coord (PBWC) system in inches * with bounds based on NDC window shape. * (WCs will be 10 times larger than NDC's) */ (void) gsetviewport(TRANS_ID, &window); window.xmin *= 10; window.xmax *= 10; window.ymin *= 10; window.ymax *= 10; (void) gsetwindow(TRANS_ID, &window); (void) gselntran(TRANS_ID); } static void setclrmap(ncolors, red, grn, blu) int ncolors; int *red, *grn, *blu; { int i; /* Set color map. */ for (i = 0; i < ncolors; ++i) { Gcobundl rep; rep.red = red[i]/255.0; rep.green = grn[i]/255.0; rep.blue = blu[i]/255.0; (void) gsetcolourrep(WSID_X11, i, &rep); (void) gsetcolourrep(WSID_MO, i, &rep); } } static void closeplot() { /* Close the X11 workstation. */ (void) gdeactivatews(WSID_X11); (void) gclosews(WSID_X11); /* Close the meta-workstation. */ (void) gdeactivatews(WSID_MO); (void) gclosews(WSID_MO); /* Close the WISS workstation. */ (void) gdeactivatews(WSID_WISS); (void) gclosews(WSID_WISS); /* Close GKS. */ (void) gclosegks(); } static WaitForBreak(wsid) Gint wsid; { Gchoice init; Gchoicerec record; Glimit earea; earea.xmin = 0.0; earea.xmax = 1279.0; earea.ymin = 0.0; earea.ymax = 1023.0; init.status = GC_NOCHOICE; init.choice = 0; record.pet1.data = NULL; ginitchoice(wsid, 1, &init, 1, &earea, &record); gsetchoicemode(wsid, 1, GREQUEST, GECHO); for (; init.status != GC_NONE;) greqchoice(wsid, 1, &init); } main() { int ired[256], igrn[256], iblu[256]; int ncolors; int i; /* Set color map. */ (void) printf("Give ncolors (try 16 and 17, for example): "); (void) scanf("%d", &ncolors); (void) putchar('\n'); /*Open plot. */ openplot(); ired[0] = 255; igrn[0] = 255; iblu[0] = 255; for (i = 1; i < ncolors; ++i) { ired[i] = 0; igrn[i] = 0; iblu[i] = 0; } setclrmap(ncolors, ired, igrn, iblu); /* Plot polyline. */ for (i = 0; i < 40; ++i) { Gpoint pts[2]; (void) fprintf(stderr, "Plotting polyline %d\n", i); pts[0].x = 1.0 + (i+1)*0.1; pts[0].y = 1.0; pts[1].x = pts[0].x; pts[1].y = pts[0].y + 1.0; (void) gpolyline(2, pts); } /* Finish plotting. */ WaitForBreak(WSID_X11); closeplot(); } xgks-2.6.1+dfsg.2/src/bugs/gscrf.c0000644000175000017500000000717711413611016017712 0ustar amckinstryamckinstry#include "udposix.h" #include #include "xgks.h" static int wsid_x11 = 1; static int wsid_mo = 2; static int wsid_wiss = 3; static int trans_id = 1; static void openplot() { float xmin, xmax, ymin, ymax; /* * Open the GKS plot package. * Opens X11 workstation (iwk=#1) and/or metafile (iwk=#2) for plotting. * Sets transformation #1 from Plot-Board (PB) WCs (inches) to NDCs. */ /* Open GKS */ { int errfile = 6; int memory = 0; (void) gopks_(&errfile, &memory); } /* Open and activate X11 workstation. */ { int wtype = 4; int conid = 0; (void) gopwk_(&wsid_x11, &conid, &wtype); (void) gacwk_(&wsid_x11); } /* Make whole X11 gks-window the workstation window. */ xmin = 0; xmax = 1; ymin = 0; ymax = .8; (void) gswkwn_(&wsid_x11, &xmin, &xmax, &ymin, &ymax); /* Open and activate metafile "workstation". */ { char *mo_path = "meta1.gks"; int len = strlen(mo_path); int wtype = 2; int conid = 0; (void) gescid_(mo_path, len); (void) gopwk_(&wsid_mo, &conid, &wtype); (void) gacwk_(&wsid_mo); (void) gswkwn_(&wsid_mo, &xmin, &xmax, &ymin, &ymax); } /* Open and activate WISS "workstation". */ { int wtype = 3; int conid = 0; (void) gopwk_(&wsid_wiss, &conid, &wtype); (void) gacwk_(&wsid_wiss); } /* * Define a Plot-Board-World-Coord (PBWC) system in inches * with bounds based on NDC window shape. * (WCs will be 10 times larger than NDC's) */ (void) gsvp_(&trans_id, &xmin, &xmax, &ymin, &ymax); xmin *= 10; xmax *= 10; ymin *= 10; ymax *= 10; (void) gswn_(&trans_id, &xmin, &xmax, &ymin, &ymax); (void) gselnt_(&trans_id); } static void setclrmap(ncolors, red, grn, blu) int ncolors; int *red, *grn, *blu; { int i; /* Set color map. */ for (i = 0; i < ncolors; ++i) { float r = red[i]/255.0; float g = grn[i]/255.0; float b = blu[i]/255.0; (void) gscr_(&wsid_x11, &i, &r, &g, &b); (void) gscr_(&wsid_mo, &i, &r, &g, &b); } } static void closeplot() { /* Close the X11 workstation. */ (void) gdawk_(&wsid_x11); (void) gclwk_(&wsid_x11); /* Close the meta-workstation. */ (void) gdawk_(&wsid_mo); (void) gclwk_(&wsid_mo); /* Close the WISS workstation. */ (void) gdawk_(&wsid_wiss); (void) gclwk_(&wsid_wiss); /* Close GKS. */ (void) gclks_(); } static WaitForBreak(wsid) Gint wsid; { Gchoice init; Gchoicerec record; Glimit earea; earea.xmin = 0.0; earea.xmax = 1279.0; earea.ymin = 0.0; earea.ymax = 1023.0; init.status = GC_NOCHOICE; init.choice = 0; record.pet1.data = NULL; ginitchoice(wsid, 1, &init, 1, &earea, &record); gsetchoicemode(wsid, 1, GREQUEST, GECHO); for (; init.status != GC_NONE;) greqchoice(wsid, 1, &init); } main() { int ired[256], igrn[256], iblu[256]; int ncolors; int i; /* Set color map. */ (void) printf("Give ncolors (try 16 and 17, for example): "); (void) scanf("%d", &ncolors); /*Open plot. */ openplot(); ired[0] = 255; igrn[0] = 255; iblu[0] = 255; for (i = 1; i < ncolors; ++i) { ired[i] = 0; igrn[i] = 0; iblu[i] = 0; } setclrmap(ncolors, ired, igrn, iblu); /* Plot polyline. */ for (i = 0; i < 40; ++i) { int npts = 2; float x[2], y[2]; (void) printf("Plotting polyline = %d\n", i); x[0] = 1.0 + (i+1)*0.1; y[0] = 1.0; x[1] = x[0]; y[1] = y[0] + 1.0; (void) gpl_(&npts, x, y); } /* Finish plotting. */ WaitForBreak(wsid_x11); closeplot(); } xgks-2.6.1+dfsg.2/src/bugs/hershey-fonts.mail0000644000175000017500000127265511413611016022112 0ustar amckinstryamckinstryFrom curtiss@vscae.pms.ford.com Tue Jun 4 12:45:24 1991 Received: from mailgw.srl.ford.com by unidata.ucar.edu with SMTP id AA23061 (5.65b/IDA-1.4.3 for steve); Tue, 4 Jun 91 12:45:16 -0600 Received: by mailgw.srl.ford.com (5.57/Ford 1.0A) id AA13527; Tue, 4 Jun 91 14:46:01 EDT Received: by vscae.pms.ford.com ( 5.52 (84)/Ford 1.2B) id AA16557; Tue, 4 Jun 91 14:43:51 EDT Date: Tue, 4 Jun 91 14:43:51 EDT From: curtiss@vscae.pms.ford.com (Nicholas Curtiss) Message-Id: <9106041843.AA16557@vscae.pms.ford.com> To: steve@unidata.ucar.edu Subject: hf2gks.man Status: RO .\" * hf2gks.man .\" * .\" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * .\" * COPYRIGHT, 1990, FORD MOTOR COMPANY * .\" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * .\" * .\" * Document - .\" * .\" * Description - .\" * .\" * Change history - .\" * .\" * Author Date Change .\" * N.Curtiss 5/21/91 Created .\" * .\" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * .TH HF2GKS 1 "" "XGKS" .SH NAME hf2gks \- hershey to gks source font translator .SH SYNOPSIS .nf hf2gks hershey_file -fn font_name [options] .fi .SH DESCRIPTION hf2gks takes the complete hershey font file and produces source files for each hershey font by mkfont. At present the following hershey fonts are created: complex_cyrillic complex_greek complex_italic complex_roman complex_script duplex_roman gothic_english gothic_german gothic_italian simplex_greek simplex_roman simplex_script triplex_italic triplex_roman math .SH ARGUMENTS .TP .B hershey_file This the entire hershey font file origianll originally developed by Dr. A. V. Hershey of the Naval Weapons Laboratory. .SH OPTIONS .TP .B \-fn fontname Specify one of the font names to be produced from the hershey font file. Possible font names are listed above. .TP .B \-o filename | \-output filename Specify an output file name. If this option is not given then output is routed to standard out. .TP .B \-sc scalex scaley | \-scale scalex scaley Give the x and y values by which to scale the character. .TP .B \-sp spacing | \-spacing spacing Specify the percentage width to add to each character's width. This number must be specified as a float. For example, a value of 0.1 would add 1/10 the character width to each character. .TP .B \-t xtran ytran | \-trans xtran ytran Translate each x and y coordinate by xtran and ytran. This option shifts the position of all characters by the given values. .TP .B \-use_width Use the characters spacing specified in the hershey font. This command produces the 'w' command for the gks source font. .SH BUGS Some character mappings may be incorrect. Also, spacing routines need to be adjusted. In particular the '-sp' option doesn't produce correct results at present. .SH AUTHOR Nick Curtiss .\" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * From curtiss@vscae.pms.ford.com Tue Jun 4 12:45:29 1991 Received: from mailgw.srl.ford.com by unidata.ucar.edu with SMTP id AA23063 (5.65b/IDA-1.4.3 for steve); Tue, 4 Jun 91 12:45:18 -0600 Received: by mailgw.srl.ford.com (5.57/Ford 1.0A) id AA13525; Tue, 4 Jun 91 14:45:54 EDT Received: by vscae.pms.ford.com ( 5.52 (84)/Ford 1.2B) id AA16553; Tue, 4 Jun 91 14:43:36 EDT Date: Tue, 4 Jun 91 14:43:36 EDT From: curtiss@vscae.pms.ford.com (Nicholas Curtiss) Message-Id: <9106041843.AA16553@vscae.pms.ford.com> To: steve@unidata.ucar.edu Subject: hf2gks.c Status: RO /* hf2gsk.c * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * COPYRIGHT, 1990, FORD MOTOR COMPANY * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Package - Hershey Font to GKS font translator * * Description - * * Change history - * * Author Date Change * Curtiss 91/05/16 Created. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ #include #if BSD #include #define strchr index #endif #if SYSV #include #endif typedef struct _FontStruct { char name[256]; int scx, scy; int xtran, ytran; float spacing; } FontStruct; typedef struct _CharStruct { char type; int x, y; } CharStruct; #define MAX_FONTS 15 #define MAX_CHARS 256 #define MAX_POINTS 200 #define ENDCHAR -999 typedef struct _HersheyMap { char *name; int code[MAX_CHARS]; } HersheyMap; /* temp array used for a character */ static CharStruct chartemp[MAX_POINTS]; /* 1 sp ! " # $ % & ' 2 ( ) * + , - . / 3 0 1 2 3 4 5 6 7 4 8 9 : ; < = > ? 5 @ A B C D E F G 6 H I J K L M N O 7 P Q R S T U V W 8 X Y Z [ \ ] ^ _ 9 ` a b c d e f g 10 h i j k l m n o 11 p q r s t u v w 12 x y z { | } ~ del */ static HersheyMap CharMap[] = { { "complex_italic", 0000, 1214, 1217, 1275, 1274, 0000, 1272, 1216, 1221, 1222, 1219, 1232, 1211, 1231, 1210, 1220, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1212, 1213, 1227, 1238, 1228, 1215, 1273, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1223, 0000, 1224, 0000, 0000, 1249, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1225, 1229, 1226, 0000, ENDCHAR }, { "triplex_italic", 0000, 3264, 3278, 0000, 3265, 0000, 3268, 3277, 3271, 3272, 3273, 3275, 3261, 3274, 3260, 3270, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3262, 3263, 0000, 3276, 0000, 3265, 0000, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 0000, 0000, 0000, 0000, 0000, 3216, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3176, 0000, 0000, 0000, 0000, ENDCHAR }, { "simplex_script", 0000, 714, 717, 733, 719, 0000, 734, 731, 721, 722, 728, 725, 711, 724, 710, 720, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 712, 713, 0000, 726, 0000, 0000, 0000, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0000, 0000, 0000, 0000, 0000, 0000, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 0000, 723, 0000, 0000, ENDCHAR }, { "complex_script", 0000, 2764, 2778, 0000, 2769, 0000, 2768, 2777, 2771, 2772, 2773, 2775, 2761, 2774, 2760, 2770, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2759, 2762, 2763, 0000, 2776, 0000, 2765, 0000, 2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2564, 2565, 2566, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 0000, 0000, 0000, 0000, 0000, 2766, 2651, 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667, 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675, 2676, 0000, 0000, 0000, 0000, ENDCHAR }, { "simplex_roman", 0000, 714, 717, 733, 719, 0000, 734, 731, 721, 722, 728, 725, 711, 724, 710, 720, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 712, 713, 0000, 726, 0000, 0000, 0000, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0000, 0000, 0000, 0000, 0000, 0000, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 0000, 723, 0000, 0000, ENDCHAR }, { "complex_roman", 0000, 1214, 1217, 1275, 1274, 0000, 1272, 1216, 1221, 1222, 1219, 1232, 1211, 1231, 1210, 1220, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1212, 1213, 1227, 1238, 1228, 1215, 1273, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1223, 0000, 1224, 0000, 0000, 1253, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1225, 1229, 1226, 1246, ENDCHAR }, { "duplex_roman", 0000, 2714, 2728, 0000, 2719, 0000, 2718, 2727, 2721, 2722, 2723, 2725, 2711, 2724, 2710, 2720, 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2707, 2708, 2709, 2712, 2713, 0000, 2726, 0000, 2715, 0000, 2501, 2502, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2526, 0000, 0000, 0000, 0000, 0000, 2716, 2601, 2602, 2603, 2604, 2605, 2606, 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2623, 2624, 2625, 2626, 0000, 0000, 0000, 0000, ENDCHAR }, { "triplex_roman", 0000, 3214, 3228, 0000, 3219, 0000, 3218, 3227, 3221, 3222, 3223, 3225, 3211, 3224, 3210, 3220, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3212, 3213, 0000, 3226, 0000, 3215, 0000, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026, 0000, 0000, 0000, 0000, 0000, 3216, 3101, 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 0000, 0000, 0000, 0000, ENDCHAR }, { "simplex_greek", 0000, 714, 717, 733, 719, 0000, 734, 731, 721, 722, 727, 725, 711, 724, 710, 720, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 712, 713, 0000, 726, 0000, 0000, 0000, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 0000, 0000, 0000, 723, 0000, 0000, ENDCHAR }, { "complex_greek", 0000, 1214, 1217, 1275, 1274, 0000, 1272, 1216, 1221, 1222, 1219, 1232, 1211, 1231, 1210, 1220, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1212, 1213, 1227, 1238, 1228, 1215, 1273, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 0000, 0000, 1223, 0000, 1224, 0000, 0000, 1253, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1125, 1126, 1225, 1229, 1226, 1246, ENDCHAR }, { "complex_cyrillic", 0000, 3214, 3228, 0000, 3219, 0000, 3218, 3227, 3221, 3222, 3223, 3225, 3211, 3224, 3210, 3220, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3212, 3213, 0000, 3226, 0000, 3215, 0000, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2813, 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2825, 2826, 0000, 0000, 0000, 0000, 0000, 3216, 2901, 2902, 2903, 2904, 2905, 2906, 2907, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924, 2925, 2926, 0000, 0000, 0000, 0000, ENDCHAR }, { "gothic_english", 0000, 3214, 3228, 0000, 3219, 0000, 3218, 3227, 3221, 3222, 3223, 3225, 3211, 3224, 3210, 3220, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3212, 3213, 0000, 3226, 0000, 3215, 0000, 3501, 3502, 3503, 3504, 3505, 3506, 3507, 3508, 3509, 3510, 3511, 3512, 3513, 3514, 3515, 3516, 3517, 3518, 3519, 3520, 3521, 3522, 3523, 3524, 3525, 3526, 0000, 0000, 0000, 0000, 0000, 3216, 3601, 3602, 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610, 3611, 3612, 3613, 3614, 3615, 3616, 3617, 3618, 3619, 3620, 3621, 3622, 3623, 3624, 3625, 3626, 0000, 0000, 0000, 0000, ENDCHAR }, { "gothic_german", 0000, 3214, 3228, 0000, 3219, 0000, 3218, 3227, 3221, 3222, 3223, 3225, 3211, 3224, 3210, 3220, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3212, 3213, 0000, 3226, 0000, 3215, 0000, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 0000, 0000, 0000, 0000, 0000, 3216, 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, 3424, 3425, 3426, 0000, 0000, 0000, 0000, ENDCHAR }, { "gothic_italian", 0000, 3714, 3728, 0000, 3719, 0000, 3718, 3727, 3721, 3722, 3723, 3725, 3711, 3724, 3710, 3720, 3700, 3701, 3702, 3703, 3704, 3705, 3706, 3707, 3708, 3709, 3712, 3713, 0000, 3726, 0000, 3715, 0000, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 3811, 3812, 3813, 3814, 3815, 3816, 3817, 3818, 3819, 3820, 3821, 3822, 3823, 3824, 3825, 3826, 0000, 0000, 0000, 0000, 0000, 3716, 3901, 3902, 3903, 3904, 3905, 3906, 3907, 3908, 3909, 3910, 3911, 3912, 3913, 3914, 3915, 3916, 3917, 3918, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 0000, 0000, 0000, 0000, ENDCHAR }, { "math", 0000, 2241, 2217, 2240, 740, 2227, 2228, 2251, 2221, 2222, 2235, 2233, 0000, 2234, 2210, 2237, 2223, 2224, 2405, 2406, 2225, 2226, 2407, 2408, 2403, 2404, 2409, 2410, 2243, 2239, 2244, 0000, 2247, 2259, 2257, 2256, 2258, 2260, 2279, 2284, 2281, 2268, 2269, 2412, 2230, 2401, 2245, 2270, 2246, 2265, 2266, 2402, 2261, 2262, 2263, 2264, 2255, 2411, 2229, 2223, 0000, 2224, 2247, 0000, 2252, 2273, 2274, 2275, 2278, 2277, 2278, 2248, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, ENDCHAR }, }; #ifdef __STDC__ void WriteChar(); #else void WriteChar(); #endif /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Routine - * * Description - Searches for hershey code in HersheyMap structure * for the specified font name and returns the ascii character * mapping for the hershey character code. * * Input variables - name -name of font * code -hershey code * * Output variables - none * * Returns - char * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ char MapChars(name,code) char *name; int code; { int i,j, found; char ret_char; ret_char = '\0'; if(code <= 0) { fprintf(stderr,"* * Error: Invalid hershey code %d\n", code); return(ret_char); } /* Search Hershey characterm map for code */ for(i=0; strcmp(name,CharMap[i].name) != 0; i++) ; found = 0; for(j=0; !found && CharMap[i].code[j] != ENDCHAR; j++) { if(CharMap[i].code[j] == code) { found = 1; } } if(found) ret_char = (j-1) + 32; /* char map starts with ascii space char */ return(ret_char); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Routine - * * Description - * * Input variables - * * Output variables - * * Returns - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ void ParseCommandLine(argc, argv, infont, outfont, font, use_width) int argc; char **argv; char *infont, *outfont; FontStruct *font; int *use_width; { int i; i=1; while (i < argc) { if((strcmp(argv[i],"-o") ==0) || (strcmp(argv[i],"-output")==0)) { (void)strcpy(outfont,argv[++i]); } else if((strcmp(argv[i],"-sc") ==0) || (strcmp(argv[i],"-scale")==0)) { (void)sscanf(argv[++i],"%d",&font->scx); (void)sscanf(argv[++i],"%d",&font->scy); } else if((strcmp(argv[i],"-fn") ==0) || (strcmp(argv[i],"-fontname")==0)) { int found,j; (void)strcpy(font->name,argv[++i]); /* check if valid font name */ for(found=0, j=0; j < MAX_FONTS && !found; j++) { if(!strcmp(font->name,CharMap[j].name)) found = 1; } if(!found) { fprintf(stderr,"* * Error: Unknown font name: %s\n", font->name); printf("Valid font names are:\n"); for(j=0; j < MAX_FONTS; j++) printf(" %s\n", CharMap[j].name); exit(1); } } else if((strcmp(argv[i],"-sp") ==0) || (strcmp(argv[i],"-spacing")==0)) { /* this option will add the specified value to the with of each char */ (void)sscanf(argv[++i],"%f", &font->spacing); } else if(strcmp(argv[i],"-use_width")==0) { *use_width = 1; } else if((strcmp(argv[i],"-t") ==0) || (strcmp(argv[i],"-trans")==0)) { (void)sscanf(argv[++i],"%d",&font->xtran); (void)sscanf(argv[++i],"%d",&font->ytran); } else { (void)strcpy(infont,argv[i]); } i++; } } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Routine - * * Description - * * Input variables - * * Output variables - * * Returns - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ void ReadHershey(infile, outfile, font, use_width) char *infile; char *outfile; FontStruct *font; int use_width; { int x, y; int left, right; int count; float width; char name, cmd, prevcmd, *ptr,*bufp; char buf[1024]; char hershey_code[256]; char temp[256]; FILE *fileptr, *outptr; if((fileptr=fopen(infile,"r")) == NULL) { (void)fprintf(stderr,"Couldn't open %s\n",infile); return; } if(outfile[0]=='\0') { outptr = stdout; } else if((outptr=fopen(outfile,"w")) == NULL) { (void)fprintf(stderr,"Couldn't open %s\n",infile); (void)fclose(fileptr); exit(1); } (void)fprintf(outptr,"# %s\n", font->name); /* First number is hershey font identifier. 2nd field read is the left and right bounds in raster units. The rest of the line is the individual x,y coordinate pairs. A coordinate pair of -64,0 denotes a pen up A coordinate pair of -64,-64 denotes the end of character. */ while(fgets(buf,1024,fileptr) != NULL) { count = 0; bufp = buf; if((ptr=strchr(bufp,':'))!=NULL) /* get first field */ { (void)strncpy(hershey_code,bufp,ptr-bufp); hershey_code[ptr-bufp] = '\0'; bufp = &ptr[1]; /* skip ':' */ /* 1st pair of numbers are left and right bounds in x */ if((ptr=strchr(bufp,':'))!=NULL) { (void)strncpy(temp,bufp,ptr-bufp); temp[ptr-bufp] = '\0'; (void)sscanf(temp,"%d%d",&left,&right); chartemp[count].type = 'w'; width = (float)(right - left); chartemp[count].x = font->scx * (int)(width+(width * font->spacing)); count++; bufp = &ptr[1]; /* skip ':' */ /* ok now loop and process x,y pairs and drawing directives */ prevcmd = 'm'; while((ptr=strchr(bufp,':'))!=NULL) { (void)strncpy(temp,bufp,ptr-bufp); temp[ptr-bufp] = '\0'; (void)sscanf(temp,"%d%d",&x,&y); /* look for pen up */ if(x == -64 && y == 0) cmd = 'm'; else cmd = 'n'; if(cmd == 'n') { /* store character points in temp array */ chartemp[count].type = prevcmd; chartemp[count].x = font->scx * (x + font->xtran); chartemp[count].y = font->scy * (y + font->ytran); count++; } prevcmd = cmd; bufp = &ptr[1]; /* skip ':' */ } /* while */ name = MapChars(font->name,atoi(hershey_code)); if(name > 0) { WriteChar(outptr,name,&chartemp[0],count,use_width,font->spacing); } } } } /* while fgets */ fclose(fileptr); fclose(outptr); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Routine - * * Description - Returns minimum x value * * Input variables - * charp -array of structures with character stroke info * count -number of elements in array * * Output variables - none * * Returns - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ int GetXMin(charp,count) CharStruct *charp; int count; { int i,xmin; xmin = 5000; for(i=0; i < count; i++) { if(charp[i].type!='w' && charp[i].x < xmin) xmin = charp[i].x; } return(xmin); } int GetXMax(charp,count) CharStruct *charp; int count; { int i,xmax; xmax = -5000; for(i=0; i < count; i++) { if(charp[i].type!='w' && charp[i].x > xmax) xmax = charp[i].x; } return(xmax); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Routine - * * Description - * Routine to translate hershey charcters which are * set up with centered about the x,y axis to gks characters that * are positioned in upper and lower right quadrants. * * From: * |------|-------| * | | | * | xxxxxxx | * | x | x | * |---x-----x----| * | x | x | * | xxxxxxx | * | | | * |------|-------| * * To: * |------|-------| * | | | * | |xxxxxxx| * | |x x| * |------|x-----x| * | |x x| * | |xxxxxxx| * | | | * |------|-------| * * * Input variables - * * Output variables - * * Returns - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ void WriteChar(outptr,name,charp,count,use_width,spacing) FILE *outptr; char name; CharStruct *charp; int count; int use_width; float spacing; { int xmin,xmax; int i,width; fprintf(outptr,"#\n"); fprintf(outptr,"C %c\n", name); if(use_width) { xmin = GetXMin(&charp[1],count); (void)fprintf(outptr,"%c %d\n", charp[0].type, charp[0].x); } else { xmin = GetXMin(&charp[1],count); xmax = GetXMax(&charp[1],count); printf("xmin %d xmax %d\n", xmin, xmax); if(spacing > 0.0) { width = (xmax-xmin) + (int)((float)(xmax-xmin) * (float)spacing); printf("width %d\n", width); /* fool gks on charcter width by writing out mins and max in move commands */ /* (void)fprintf(outptr,"m %d 0\n", xmin - (int)(width/2)); */ (void)fprintf(outptr,"m %d 0\n", width); } } printf("making char %c\n",name); for(i=1; i < count; i++) { /* translate x coords to origin */ charp[i].x = -xmin + charp[i].x; (void)fprintf(outptr,"%c %d %d\n", charp[i].type,charp[i].x,charp[i].y); } fprintf(outptr,"E\n"); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Routine - * * Description - * * Input variables - * * Output variables - * * Returns - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ main(argc, argv) int argc; char **argv; { int use_width; char infile[512]; char outfile[512]; FontStruct font; infile[0]='\0'; outfile[0]='\0'; font.xtran = 0; font.ytran = 0; font.scx = 1; font.scy = 1; font.spacing = 0.0; use_width = 0; ParseCommandLine(argc,argv,infile,outfile,&font,&use_width); printf("font.spacing %f\n", font.spacing); ReadHershey(infile,outfile,&font,use_width); } From curtiss@vscae.pms.ford.com Tue Jun 4 12:46:11 1991 Received: from mailgw.srl.ford.com by unidata.ucar.edu with SMTP id AA23073 (5.65b/IDA-1.4.3 for steve); Tue, 4 Jun 91 12:46:06 -0600 Received: by mailgw.srl.ford.com (5.57/Ford 1.0A) id AA13535; Tue, 4 Jun 91 14:46:54 EDT Received: by vscae.pms.ford.com ( 5.52 (84)/Ford 1.2B) id AA16566; Tue, 4 Jun 91 14:44:44 EDT Date: Tue, 4 Jun 91 14:44:44 EDT From: curtiss@vscae.pms.ford.com (Nicholas Curtiss) Message-Id: <9106041844.AA16566@vscae.pms.ford.com> To: steve@unidata.ucar.edu Status: RO hf2gks hershey.new -o sr.fnt -fn simplex_roman -use_width hf2gks hershey.new -o cr.fnt -fn complex_roman -use_width hf2gks hershey.new -o dr.fnt -fn duplex_roman -use_width hf2gks hershey.new -o tr.fnt -fn triplex_roman -use_width hf2gks hershey.new -o ci.fnt -fn complex_italic -use_width hf2gks hershey.new -o ti.fnt -fn triplex_italic -use_width hf2gks hershey.new -o ss.fnt -fn simplex_script hf2gks hershey.new -o cs.fnt -fn complex_script hf2gks hershey.new -o sg.fnt -fn simplex_greek -use_width hf2gks hershey.new -o cg.fnt -fn complex_greek -use_width hf2gks hershey.new -o gg.fnt -fn gothic_german -use_width hf2gks hershey.new -o ge.fnt -fn gothic_english -use_width hf2gks hershey.new -o gi.fnt -fn gothic_italian -use_width hf2gks hershey.new -o cc.fnt -fn complex_cyrillic -use_width hf2gks hershey.new -o m.fnt -fn math -use_width From curtiss@vscae.pms.ford.com Tue Jun 4 12:47:26 1991 Received: from mailgw.srl.ford.com by unidata.ucar.edu with SMTP id AA23078 (5.65b/IDA-1.4.3 for steve); Tue, 4 Jun 91 12:46:22 -0600 Received: by mailgw.srl.ford.com (5.57/Ford 1.0A) id AA13533; Tue, 4 Jun 91 14:46:38 EDT Received: by vscae.pms.ford.com ( 5.52 (84)/Ford 1.2B) id AA16561; Tue, 4 Jun 91 14:44:18 EDT Date: Tue, 4 Jun 91 14:44:18 EDT From: curtiss@vscae.pms.ford.com (Nicholas Curtiss) Message-Id: <9106041844.AA16561@vscae.pms.ford.com> To: steve@unidata.ucar.edu Subject: hershey_font Status: RO 1: -5 5: 0 5: -4 -4: -64 0: 0 5: 4 -4: -64 0: -2 -1: 2 -1:-64 -64 2: -5 5: -3 5: -3 -4: -64 0: -3 5: 1 5: 3 4: 3 2: 1 1: -64 0: -3 1: 1 1: 3 0: 3 -3: 1 -4: -3 -4:-64 -64 3: -5 6: 4 4: 2 5: 0 5: -2 4: -3 2: -3 -1: -2 -3: 0 -4: 2 -4: 4 -3:-64 -64 4: -5 5: -3 5: -3 -4: -64 0: -3 5: 0 5: 2 4: 3 2: 3 -1: 2 -3: 0 -4: -3 -4:-64 -64 5: -5 5: -3 5: -3 -4: -64 0: -3 5: 3 5: -64 0: -3 1: 1 1: -64 0: -3 -4: 3 -4:-64 -64 6: -5 4: -3 5: -3 -4: -64 0: -3 5: 3 5: -64 0: -3 1: 1 1:-64 -64 7: -5 6: 4 4: 2 5: 0 5: -2 4: -3 2: -3 -1: -2 -3: 0 -4: 2 -4: 4 -3: 4 0: -64 0: 1 0: 4 0:-64 -64 8: -5 5: -3 5: -3 -4: -64 0: 3 5: 3 -4: -64 0: -3 1: 3 1:-64 -64 9: -2 2: 0 5: 0 -4:-64 -64 10: -4 3: 1 5: 1 -2: 0 -4: -2 -4: -3 -2: -3 -1:-64 -64 11: -5 5: -3 5: -3 -4: -64 0: 3 5: -3 -1: -64 0: -1 1: 3 -4:-64 -64 12: -5 4: -3 5: -3 -4: -64 0: -3 -4: 3 -4:-64 -64 13: -6 6: -4 5: -4 -4: -64 0: -4 5: 0 -4: -64 0: 4 5: 0 -4: -64 0: 4 5: 4 -4:-64 -64 14: -5 5: -3 5: -3 -4: -64 0: -3 5: 3 -4: -64 0: 3 5: 3 -4:-64 -64 15: -5 6: 0 5: -2 4: -3 2: -3 -1: -2 -3: 0 -4: 1 -4: 3 -3: 4 -1: 4 2: 3 4: 1 5: 0 5:-64 -64 16: -5 5: -3 5: -3 -4: -64 0: -3 5: 1 5: 3 4: 3 1: 1 0: -3 0:-64 -64 17: -5 6: 0 5: -2 4: -3 2: -3 -1: -2 -3: 0 -4: 1 -4: 3 -3: 4 -1: 4 2: 3 4: 1 5: 0 5: -64 0: 1 -2: 4 -5:-64 -64 18: -5 5: -3 5: -3 -4: -64 0: -3 5: 1 5: 3 4: 3 1: 1 0: -3 0: -64 0: 0 0: 3 -4:-64 -64 19: -5 5: 3 4: 1 5: -1 5: -3 4: -3 3: -2 2: 2 0: 3 -1: 3 -3: 1 -4: -1 -4: -3 -3:-64 -64 20: -5 5: 0 5: 0 -4: -64 0: -4 5: 4 5:-64 -64 21: -5 6: -3 5: -3 -1: -2 -3: 0 -4: 1 -4: 3 -3: 4 -1: 4 5:-64 -64 22: -5 5: -4 5: 0 -4: -64 0: 4 5: 0 -4:-64 -64 23: -6 6: -4 5: -2 -4: -64 0: 0 5: -2 -4: -64 0: 0 5: 2 -4: -64 0: 4 5: 2 -4:-64 -64 24: -5 5: -3 5: 3 -4: -64 0: 3 5: -3 -4:-64 -64 25: -5 5: -4 5: 0 1: 0 -4: -64 0: 4 5: 0 1:-64 -64 26: -5 5: 3 5: -3 -4: -64 0: -3 5: 3 5: -64 0: -3 -4: 3 -4:-64 -64 27: -5 5: 0 5: -4 -4: -64 0: 0 5: 4 -4: -64 0: -2 -1: 2 -1:-64 -64 28: -5 5: -3 5: -3 -4: -64 0: -3 5: 1 5: 3 4: 3 2: 1 1: -64 0: -3 1: 1 1: 3 0: 3 -3: 1 -4: -3 -4:-64 -64 29: -5 4: -3 5: -3 -4: -64 0: -3 5: 3 5:-64 -64 30: -5 5: 0 5: -4 -4: -64 0: 0 5: 4 -4: -64 0: -4 -4: 4 -4:-64 -64 31: -5 5: -3 5: -3 -4: -64 0: -3 5: 3 5: -64 0: -3 1: 1 1: -64 0: -3 -4: 3 -4:-64 -64 32: -5 5: 3 5: -3 -4: -64 0: -3 5: 3 5: -64 0: -3 -4: 3 -4:-64 -64 33: -5 5: -3 5: -3 -4: -64 0: 3 5: 3 -4: -64 0: -3 1: 3 1:-64 -64 34: -5 6: 0 5: -2 4: -3 2: -3 -1: -2 -3: 0 -4: 1 -4: 3 -3: 4 -1: 4 2: 3 4: 1 5: 0 5: -64 0: -1 1: 2 0: -64 0: 2 1: -1 0:-64 -64 35: -2 2: 0 5: 0 -4:-64 -64 36: -5 5: -3 5: -3 -4: -64 0: 3 5: -3 -1: -64 0: -1 1: 3 -4:-64 -64 37: -5 5: 0 5: -4 -4: -64 0: 0 5: 4 -4:-64 -64 38: -6 6: -4 5: -4 -4: -64 0: -4 5: 0 -4: -64 0: 4 5: 0 -4: -64 0: 4 5: 4 -4:-64 -64 39: -5 5: -3 5: -3 -4: -64 0: -3 5: 3 -4: -64 0: 3 5: 3 -4:-64 -64 40: -5 5: -3 5: 3 5: -64 0: -2 1: 2 0: -64 0: 2 1: -2 0: -64 0: -3 -4: 3 -4:-64 -64 41: -5 6: 0 5: -2 4: -3 2: -3 -1: -2 -3: 0 -4: 1 -4: 3 -3: 4 -1: 4 2: 3 4: 1 5: 0 5:-64 -64 42: -5 5: -3 5: -3 -4: -64 0: 3 5: 3 -4: -64 0: -3 5: 3 5:-64 -64 43: -5 5: -3 5: -3 -4: -64 0: -3 5: 1 5: 3 4: 3 1: 1 0: -3 0:-64 -64 44: -5 5: -3 5: 0 1: -3 -4: -64 0: -3 5: 3 5: -64 0: -3 -4: 3 -4:-64 -64 45: -5 5: 0 5: 0 -4: -64 0: -4 5: 4 5:-64 -64 46: -5 5: -4 3: -4 4: -3 5: -2 5: -1 4: 0 2: 0 -4: -64 0: 4 3: 4 4: 3 5: 2 5: 1 4: 0 2:-64 -64 47: -6 6: 0 5: 0 -4: -64 0: -2 3: -4 2: -4 -1: -2 -2: 2 -2: 4 -1: 4 2: 2 3: -2 3:-64 -64 48: -5 5: -3 5: 3 -4: -64 0: 3 5: -3 -4:-64 -64 49: -6 6: 0 5: 0 -4: -64 0: -4 3: -3 2: -3 -1: -1 -2: 1 -2: 3 -1: 3 2: 4 3:-64 -64 50: -5 6: -3 -4: -1 -4: -3 0: -3 2: -2 4: 0 5: 1 5: 3 4: 4 2: 4 0: 2 -4: 4 -4:-64 -64 197: 0 0:-64 -64 198: -2 2:-64 -64 199: -4 4:-64 -64 200: -5 5: 0 5: -2 4: -3 2: -3 -1: -2 -3: 0 -4: 2 -3: 3 -1: 3 2: 2 4: 0 5:-64 -64 201: -5 5: -2 3: 0 5: 0 -4:-64 -64 202: -5 5: -3 4: -1 5: 1 5: 3 4: 3 2: 2 0: -3 -4: 3 -4:-64 -64 203: -5 5: -3 4: -1 5: 1 5: 3 4: 3 2: 1 1: -64 0: 0 1: 1 1: 3 0: 3 -3: 1 -4: -1 -4: -3 -3:-64 -64 204: -5 5: 1 5: 1 -4: -64 0: 1 5: -4 -1: 4 -1:-64 -64 205: -5 5: -2 5: -3 1: -1 2: 0 2: 2 1: 3 -1: 2 -3: 0 -4: -1 -4: -3 -3: -64 0: -2 5: 2 5:-64 -64 206: -5 5: 2 5: 0 5: -2 4: -3 2: -3 -1: -2 -3: 0 -4: 2 -3: 3 -1: 2 1: 0 2: -2 1: -3 -1:-64 -64 207: -5 5: 3 5: -1 -4: -64 0: -3 5: 3 5:-64 -64 208: -5 5: -1 5: -3 4: -3 2: -1 1: 1 1: 3 2: 3 4: 1 5: -1 5: -64 0: -1 1: -3 0: -3 -3: -1 -4: 1 -4: 3 -3: 3 0: 1 1:-64 -64 209: -5 5: 3 2: 2 0: 0 -1: -2 0: -3 2: -2 4: 0 5: 2 4: 3 2: 3 -1: 2 -3: 0 -4: -2 -4:-64 -64 210: -2 3: 0 -3: 0 -4: 1 -4: 1 -3: 0 -3:-64 -64 211: -2 3: 1 -4: 0 -4: 0 -3: 1 -3: 1 -5: 0 -7:-64 -64 212: -2 3: 0 2: 0 1: 1 1: 1 2: 0 2: -64 0: 0 -3: 0 -4: 1 -4: 1 -3: 0 -3:-64 -64 213: -2 3: 0 2: 0 1: 1 1: 1 2: 0 2: -64 0: 1 -4: 0 -4: 0 -3: 1 -3: 1 -5: 0 -7:-64 -64 214: -2 3: 0 5: 0 0: -64 0: 1 5: 1 0: -64 0: 0 -3: 0 -4: 1 -4: 1 -3: 0 -3:-64 -64 215: -4 5: -2 4: 0 5: 1 5: 3 4: 3 2: 0 1: 0 0: 1 0: 1 1: 3 2: -64 0: 0 -3: 0 -4: 1 -4: 1 -3: 0 -3:-64 -64 216: -2 2: 0 5: 0 1:-64 -64 217: -4 4: -2 5: -2 1: -64 0: 2 5: 2 1:-64 -64 218: -4 4: -1 5: -2 4: -2 2: -1 1: 1 1: 2 2: 2 4: 1 5: -1 5:-64 -64 219: -5 5: 3 4: 1 5: -1 5: -3 4: -3 2: -1 1: 2 0: 3 -1: 3 -3: 1 -4: -1 -4: -3 -3: -64 0: 0 6: 0 -5:-64 -64 220: -5 5: 4 6: -4 -5:-64 -64 221: -3 4: 2 6: 0 4: -1 2: -1 -1: 0 -3: 2 -5:-64 -64 222: -4 3: -2 6: 0 4: 1 2: 1 -1: 0 -3: -2 -5:-64 -64 223: -2 2: 0 6: 0 -5:-64 -64 224: -6 6: -4 0: 4 0:-64 -64 225: -6 6: 0 4: 0 -4: -64 0: -4 0: 4 0:-64 -64 226: -6 6: -4 2: 4 2: -64 0: -4 -2: 4 -2:-64 -64 227: -5 5: -3 3: 3 -3: -64 0: 3 3: -3 -3:-64 -64 228: -5 5: 0 3: 0 -3: -64 0: -3 2: 3 -2: -64 0: 3 2: -3 -2:-64 -64 229: -2 3: 0 1: 0 0: 1 0: 1 1: 0 1:-64 -64 230: -2 3: 1 5: 0 3: 0 1: 1 1: 1 2: 0 2:-64 -64 231: -2 3: 1 4: 0 4: 0 5: 1 5: 1 3: 0 1:-64 -64 232: -6 6: 1 3: 4 0: 1 -3: -64 0: -4 0: 4 0:-64 -64 233: -5 6: 0 6: -2 -5: -64 0: 3 6: 1 -5: -64 0: -3 2: 4 2: -64 0: -3 -1: 4 -1:-64 -64 234: -6 6: 4 0: 3 0: 2 -1: 1 -3: 0 -4: -3 -4: -4 -3: -4 -1: -3 0: 0 1: 1 2: 1 4: 0 5: -2 5: -3 4: -3 2: -1 -1: 1 -3: 3 -4: 4 -4:-64 -64 235: -6 6: -4 4: -3 1: -3 -1: -4 -4: -64 0: 4 4: 3 1: 3 -1: 4 -4: -64 0: -4 4: -1 3: 1 3: 4 4: -64 0: -4 -4: -1 -3: 1 -3: 4 -4:-64 -64 501: -9 9: 0 12: -8 -9: -64 0: 0 12: 8 -9: -64 0: -5 -2: 5 -2:-64 -64 502: -11 10: -7 12: -7 -9: -64 0: -7 12: 2 12: 5 11: 6 10: 7 8: 7 6: 6 4: 5 3: 2 2: -64 0: -7 2: 2 2: 5 1: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -7 -9:-64 -64 503: -10 11: 8 7: 7 9: 5 11: 3 12: -1 12: -3 11: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -3 -8: -1 -9: 3 -9: 5 -8: 7 -6: 8 -4:-64 -64 504: -11 10: -7 12: -7 -9: -64 0: -7 12: 0 12: 3 11: 5 9: 6 7: 7 4: 7 -1: 6 -4: 5 -6: 3 -8: 0 -9: -7 -9:-64 -64 505: -10 9: -6 12: -6 -9: -64 0: -6 12: 7 12: -64 0: -6 2: 2 2: -64 0: -6 -9: 7 -9:-64 -64 506: -10 8: -6 12: -6 -9: -64 0: -6 12: 7 12: -64 0: -6 2: 2 2:-64 -64 507: -10 11: 8 7: 7 9: 5 11: 3 12: -1 12: -3 11: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -3 -8: -1 -9: 3 -9: 5 -8: 7 -6: 8 -4: 8 -1: -64 0: 3 -1: 8 -1:-64 -64 508: -11 11: -7 12: -7 -9: -64 0: 7 12: 7 -9: -64 0: -7 2: 7 2:-64 -64 509: -4 4: 0 12: 0 -9:-64 -64 510: -8 8: 4 12: 4 -4: 3 -7: 2 -8: 0 -9: -2 -9: -4 -8: -5 -7: -6 -4: -6 -2:-64 -64 511: -11 10: -7 12: -7 -9: -64 0: 7 12: -7 -2: -64 0: -2 3: 7 -9:-64 -64 512: -10 7: -6 12: -6 -9: -64 0: -6 -9: 6 -9:-64 -64 513: -12 12: -8 12: -8 -9: -64 0: -8 12: 0 -9: -64 0: 8 12: 0 -9: -64 0: 8 12: 8 -9:-64 -64 514: -11 11: -7 12: -7 -9: -64 0: -7 12: 7 -9: -64 0: 7 12: 7 -9:-64 -64 515: -11 11: -2 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -2 -9: 2 -9: 4 -8: 6 -6: 7 -4: 8 -1: 8 4: 7 7: 6 9: 4 11: 2 12: -2 12:-64 -64 516: -11 10: -7 12: -7 -9: -64 0: -7 12: 2 12: 5 11: 6 10: 7 8: 7 5: 6 3: 5 2: 2 1: -7 1:-64 -64 517: -11 11: -2 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -2 -9: 2 -9: 4 -8: 6 -6: 7 -4: 8 -1: 8 4: 7 7: 6 9: 4 11: 2 12: -2 12: -64 0: 1 -5: 7 -11:-64 -64 518: -11 10: -7 12: -7 -9: -64 0: -7 12: 2 12: 5 11: 6 10: 7 8: 7 6: 6 4: 5 3: 2 2: -7 2: -64 0: 0 2: 7 -9:-64 -64 519: -10 10: 7 9: 5 11: 2 12: -2 12: -5 11: -7 9: -7 7: -6 5: -5 4: -3 3: 3 1: 5 0: 6 -1: 7 -3: 7 -6: 5 -8: 2 -9: -2 -9: -5 -8: -7 -6:-64 -64 520: -8 8: 0 12: 0 -9: -64 0: -7 12: 7 12:-64 -64 521: -11 11: -7 12: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 12:-64 -64 522: -9 9: -8 12: 0 -9: -64 0: 8 12: 0 -9:-64 -64 523: -12 12: -10 12: -5 -9: -64 0: 0 12: -5 -9: -64 0: 0 12: 5 -9: -64 0: 10 12: 5 -9:-64 -64 524: -10 10: -7 12: 7 -9: -64 0: 7 12: -7 -9:-64 -64 525: -9 9: -8 12: 0 2: 0 -9: -64 0: 8 12: 0 2:-64 -64 526: -10 10: 7 12: -7 -9: -64 0: -7 12: 7 12: -64 0: -7 -9: 7 -9:-64 -64 527: -9 9: 0 12: -8 -9: -64 0: 0 12: 8 -9: -64 0: -5 -2: 5 -2:-64 -64 528: -11 10: -7 12: -7 -9: -64 0: -7 12: 2 12: 5 11: 6 10: 7 8: 7 6: 6 4: 5 3: 2 2: -64 0: -7 2: 2 2: 5 1: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -7 -9:-64 -64 529: -10 7: -6 12: -6 -9: -64 0: -6 12: 6 12:-64 -64 530: -9 9: 0 12: -8 -9: -64 0: 0 12: 8 -9: -64 0: -8 -9: 8 -9:-64 -64 531: -10 9: -6 12: -6 -9: -64 0: -6 12: 7 12: -64 0: -6 2: 2 2: -64 0: -6 -9: 7 -9:-64 -64 532: -10 10: 7 12: -7 -9: -64 0: -7 12: 7 12: -64 0: -7 -9: 7 -9:-64 -64 533: -11 11: -7 12: -7 -9: -64 0: 7 12: 7 -9: -64 0: -7 2: 7 2:-64 -64 534: -11 11: -2 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -2 -9: 2 -9: 4 -8: 6 -6: 7 -4: 8 -1: 8 4: 7 7: 6 9: 4 11: 2 12: -2 12: -64 0: -3 2: 3 2:-64 -64 535: -4 4: 0 12: 0 -9:-64 -64 536: -11 10: -7 12: -7 -9: -64 0: 7 12: -7 -2: -64 0: -2 3: 7 -9:-64 -64 537: -9 9: 0 12: -8 -9: -64 0: 0 12: 8 -9:-64 -64 538: -12 12: -8 12: -8 -9: -64 0: -8 12: 0 -9: -64 0: 8 12: 0 -9: -64 0: 8 12: 8 -9:-64 -64 539: -11 11: -7 12: -7 -9: -64 0: -7 12: 7 -9: -64 0: 7 12: 7 -9:-64 -64 540: -9 9: -7 12: 7 12: -64 0: -3 2: 3 2: -64 0: -7 -9: 7 -9:-64 -64 541: -11 11: -2 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -2 -9: 2 -9: 4 -8: 6 -6: 7 -4: 8 -1: 8 4: 7 7: 6 9: 4 11: 2 12: -2 12:-64 -64 542: -11 11: -7 12: -7 -9: -64 0: 7 12: 7 -9: -64 0: -7 12: 7 12:-64 -64 543: -11 10: -7 12: -7 -9: -64 0: -7 12: 2 12: 5 11: 6 10: 7 8: 7 5: 6 3: 5 2: 2 1: -7 1:-64 -64 544: -9 9: -7 12: 0 2: -7 -9: -64 0: -7 12: 7 12: -64 0: -7 -9: 7 -9:-64 -64 545: -8 8: 0 12: 0 -9: -64 0: -7 12: 7 12:-64 -64 546: -9 9: -7 7: -7 9: -6 11: -5 12: -3 12: -2 11: -1 9: 0 5: 0 -9: -64 0: 7 7: 7 9: 6 11: 5 12: 3 12: 2 11: 1 9: 0 5:-64 -64 547: -10 10: 0 12: 0 -9: -64 0: -2 7: -5 6: -6 5: -7 3: -7 0: -6 -2: -5 -3: -2 -4: 2 -4: 5 -3: 6 -2: 7 0: 7 3: 6 5: 5 6: 2 7: -2 7:-64 -64 548: -10 10: -7 12: 7 -9: -64 0: -7 -9: 7 12:-64 -64 549: -11 11: 0 12: 0 -9: -64 0: -9 6: -8 6: -7 5: -6 1: -5 -1: -4 -2: -1 -3: 1 -3: 4 -2: 5 -1: 6 1: 7 5: 8 6: 9 6:-64 -64 550: -10 10: -7 -9: -3 -9: -6 -2: -7 2: -7 6: -6 9: -4 11: -1 12: 1 12: 4 11: 6 9: 7 6: 7 2: 6 -2: 3 -9: 7 -9:-64 -64 551: -11 9: -11 -9: -9 -8: -6 -5: -3 -1: 1 6: 4 12: 4 -9: 3 -6: 1 -3: -1 -1: -4 1: -6 1: -7 0: -7 -2: -6 -4: -4 -6: -1 -8: 2 -9: 7 -9:-64 -64 552: -12 11: 1 10: 2 9: 2 6: 1 2: 0 -1: -1 -3: -3 -6: -5 -8: -7 -9: -8 -9: -9 -8: -9 -5: -8 0: -7 3: -6 5: -4 8: -2 10: 0 11: 3 12: 6 12: 8 11: 9 9: 9 7: 8 5: 7 4: 5 3: 2 2: -64 0: 1 2: 2 2: 5 1: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 3 -9: 0 -9: -2 -8: -3 -6:-64 -64 553: -10 10: 2 6: 2 5: 3 4: 5 4: 7 5: 8 7: 8 9: 7 11: 5 12: 2 12: -1 11: -3 9: -5 6: -6 4: -7 0: -7 -4: -6 -7: -5 -8: -3 -9: -1 -9: 2 -8: 4 -6: 5 -4:-64 -64 554: -11 12: 2 12: 0 11: -1 9: -2 5: -3 -1: -4 -4: -5 -6: -7 -8: -9 -9: -11 -9: -12 -8: -12 -6: -11 -5: -9 -5: -7 -6: -5 -8: -2 -9: 1 -9: 4 -8: 6 -6: 8 -2: 9 3: 9 7: 8 10: 7 11: 5 12: 2 12: 0 10: 0 8: 1 5: 3 2: 5 0: 8 -2: 10 -3:-64 -64 555: -10 10: 4 8: 4 7: 5 6: 7 6: 8 7: 8 9: 7 11: 4 12: 0 12: -3 11: -4 9: -4 6: -3 4: -2 3: 1 2: -2 2: -5 1: -6 0: -7 -2: -7 -5: -6 -7: -5 -8: -2 -9: 1 -9: 4 -8: 6 -6: 7 -4:-64 -64 556: -10 10: 0 6: -2 6: -4 7: -5 9: -4 11: -1 12: 2 12: 6 11: 9 11: 11 12: -64 0: 6 11: 4 4: 2 -2: 0 -6: -2 -8: -4 -9: -6 -9: -8 -8: -9 -6: -9 -4: -8 -3: -6 -3: -4 -4: -64 0: -1 2: 8 2:-64 -64 557: -11 12: -11 -9: -9 -8: -5 -4: -2 1: -1 4: 0 8: 0 11: -1 12: -2 12: -3 11: -4 9: -4 6: -3 4: -1 3: 3 3: 6 4: 7 5: 8 7: 8 1: 7 -4: 6 -6: 4 -8: 1 -9: -3 -9: -6 -8: -8 -6: -9 -4: -9 -2:-64 -64 558: -12 12: -5 5: -7 6: -8 8: -8 9: -7 11: -5 12: -4 12: -2 11: -1 9: -1 7: -2 3: -4 -3: -6 -7: -8 -9: -10 -9: -11 -8: -11 -6: -64 0: -5 0: 4 3: 6 4: 9 6: 11 8: 12 10: 12 11: 11 12: 10 12: 8 10: 6 6: 4 0: 3 -5: 3 -8: 4 -9: 5 -9: 7 -8: 8 -7: 10 -4:-64 -64 559: -9 8: 5 -4: 3 -2: 1 1: 0 3: -1 6: -1 9: 0 11: 1 12: 3 12: 4 11: 5 9: 5 6: 4 1: 2 -4: 1 -6: -1 -8: -3 -9: -5 -9: -7 -8: -8 -6: -8 -4: -7 -3: -5 -3: -3 -4:-64 -64 560: -8 7: 2 -12: 0 -9: -2 -4: -3 2: -3 8: -2 11: 0 12: 2 12: 3 11: 4 8: 4 5: 3 0: 0 -9: -2 -15: -3 -18: -4 -20: -6 -21: -7 -20: -7 -18: -6 -15: -4 -12: -2 -10: 1 -8: 5 -6:-64 -64 561: -12 12: -5 5: -7 6: -8 8: -8 9: -7 11: -5 12: -4 12: -2 11: -1 9: -1 7: -2 3: -4 -3: -6 -7: -8 -9: -10 -9: -11 -8: -11 -6: -64 0: 12 9: 12 11: 11 12: 10 12: 8 11: 6 9: 4 6: 2 4: 0 3: -2 3: -64 0: 0 3: 1 1: 1 -6: 2 -8: 3 -9: 4 -9: 6 -8: 7 -7: 9 -4:-64 -64 562: -9 10: -5 0: -3 0: 1 1: 4 3: 6 5: 7 7: 7 10: 6 12: 4 12: 3 11: 2 9: 1 4: 0 -1: -1 -4: -2 -6: -4 -8: -6 -9: -8 -9: -9 -8: -9 -6: -8 -5: -6 -5: -4 -6: -1 -8: 2 -9: 4 -9: 7 -8: 9 -6:-64 -64 563: -18 15: -13 5: -15 6: -16 8: -16 9: -15 11: -13 12: -12 12: -10 11: -9 9: -9 7: -10 2: -11 -2: -13 -9: -64 0: -11 -2: -8 6: -6 10: -5 11: -3 12: -2 12: 0 11: 1 9: 1 7: 0 2: -1 -2: -3 -9: -64 0: -1 -2: 2 6: 4 10: 5 11: 7 12: 8 12: 10 11: 11 9: 11 7: 10 2: 8 -5: 8 -8: 9 -9: 10 -9: 12 -8: 13 -7: 15 -4:-64 -64 564: -13 11: -8 5: -10 6: -11 8: -11 9: -10 11: -8 12: -7 12: -5 11: -4 9: -4 7: -5 2: -6 -2: -8 -9: -64 0: -6 -2: -3 6: -1 10: 0 11: 2 12: 4 12: 6 11: 7 9: 7 7: 6 2: 4 -5: 4 -8: 5 -9: 6 -9: 8 -8: 9 -7: 11 -4:-64 -64 565: -10 11: 2 12: -1 11: -3 9: -5 6: -6 4: -7 0: -7 -4: -6 -7: -5 -8: -3 -9: -1 -9: 2 -8: 4 -6: 6 -3: 7 -1: 8 3: 8 7: 7 10: 6 11: 4 12: 2 12: 0 10: 0 7: 1 4: 3 1: 5 -1: 8 -3: 10 -4:-64 -64 566: -12 13: 1 10: 2 9: 2 6: 1 2: 0 -1: -1 -3: -3 -6: -5 -8: -7 -9: -8 -9: -9 -8: -9 -5: -8 0: -7 3: -6 5: -4 8: -2 10: 0 11: 3 12: 8 12: 10 11: 11 10: 12 8: 12 5: 11 3: 10 2: 8 1: 5 1: 3 2: 2 3:-64 -64 567: -10 12: 3 6: 2 4: 1 3: -1 2: -3 2: -4 4: -4 6: -3 9: -1 11: 2 12: 5 12: 7 11: 8 9: 8 5: 7 2: 5 -1: 1 -5: -2 -7: -4 -8: -7 -9: -9 -9: -10 -8: -10 -6: -9 -5: -7 -5: -5 -6: -2 -8: 1 -9: 4 -9: 7 -8: 9 -6:-64 -64 568: -12 13: 1 10: 2 9: 2 6: 1 2: 0 -1: -1 -3: -3 -6: -5 -8: -7 -9: -8 -9: -9 -8: -9 -5: -8 0: -7 3: -6 5: -4 8: -2 10: 0 11: 3 12: 7 12: 9 11: 10 10: 11 8: 11 5: 10 3: 9 2: 7 1: 4 1: 1 2: 2 1: 3 -1: 3 -6: 4 -8: 6 -9: 8 -8: 9 -7: 11 -4:-64 -64 569: -10 10: -10 -9: -8 -8: -6 -6: -3 -2: -1 1: 1 5: 2 8: 2 11: 1 12: 0 12: -1 11: -2 9: -2 7: -1 5: 1 3: 4 1: 6 -1: 7 -3: 7 -5: 6 -7: 5 -8: 2 -9: -2 -9: -5 -8: -7 -6: -8 -4: -8 -2:-64 -64 570: -10 9: 0 6: -2 6: -4 7: -5 9: -4 11: -1 12: 2 12: 6 11: 9 11: 11 12: -64 0: 6 11: 4 4: 2 -2: 0 -6: -2 -8: -4 -9: -6 -9: -8 -8: -9 -6: -9 -4: -8 -3: -6 -3: -4 -4:-64 -64 571: -13 11: -8 5: -10 6: -11 8: -11 9: -10 11: -8 12: -7 12: -5 11: -4 9: -4 7: -5 3: -6 0: -7 -4: -7 -6: -6 -8: -4 -9: -2 -9: 0 -8: 1 -7: 3 -3: 6 5: 8 12: -64 0: 6 5: 5 1: 4 -5: 4 -8: 5 -9: 6 -9: 8 -8: 9 -7: 11 -4:-64 -64 572: -12 11: -7 5: -9 6: -10 8: -10 9: -9 11: -7 12: -6 12: -4 11: -3 9: -3 7: -4 3: -5 0: -6 -4: -6 -7: -5 -9: -3 -9: -1 -8: 2 -5: 4 -2: 6 2: 7 5: 8 9: 8 11: 7 12: 6 12: 5 11: 4 9: 4 7: 5 4: 7 2: 9 1:-64 -64 573: -15 13: -10 5: -12 6: -13 8: -13 9: -12 11: -10 12: -9 12: -7 11: -6 9: -6 6: -7 -9: -64 0: 3 12: -7 -9: -64 0: 3 12: 1 -9: -64 0: 15 12: 13 11: 10 8: 7 4: 4 -2: 1 -9:-64 -64 574: -12 12: -4 6: -6 6: -7 7: -7 9: -6 11: -4 12: -2 12: 0 11: 1 9: 1 6: -1 -3: -1 -6: 0 -8: 2 -9: 4 -9: 6 -8: 7 -6: 7 -4: 6 -3: 4 -3: -64 0: 11 9: 11 11: 10 12: 8 12: 6 11: 4 9: 2 6: -2 -3: -4 -6: -6 -8: -8 -9: -10 -9: -11 -8: -11 -6:-64 -64 575: -12 11: -7 5: -9 6: -10 8: -10 9: -9 11: -7 12: -6 12: -4 11: -3 9: -3 7: -4 3: -5 0: -6 -4: -6 -6: -5 -8: -4 -9: -2 -9: 0 -8: 2 -6: 4 -3: 5 -1: 7 5: -64 0: 9 12: 7 5: 4 -5: 2 -11: 0 -16: -2 -20: -4 -21: -5 -20: -5 -18: -4 -15: -2 -12: 1 -9: 4 -7: 9 -4:-64 -64 576: -10 11: 3 6: 2 4: 1 3: -1 2: -3 2: -4 4: -4 6: -3 9: -1 11: 2 12: 5 12: 7 11: 8 9: 8 5: 7 2: 5 -2: 2 -5: -2 -8: -4 -9: -7 -9: -8 -8: -8 -6: -7 -5: -4 -5: -2 -6: -1 -7: 0 -9: 0 -12: -1 -15: -2 -17: -4 -20: -6 -21: -7 -20: -7 -18: -6 -15: -4 -12: -1 -9: 2 -7: 8 -4:-64 -64 583: -9 9: -8 12: 0 -9: -64 0: 8 12: 0 -9: -64 0: -8 12: 8 12:-64 -64 601: -9 10: 6 5: 6 -9: -64 0: 6 2: 4 4: 2 5: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: 2 -9: 4 -8: 6 -6:-64 -64 602: -10 9: -6 12: -6 -9: -64 0: -6 2: -4 4: -2 5: 1 5: 3 4: 5 2: 6 -1: 6 -3: 5 -6: 3 -8: 1 -9: -2 -9: -4 -8: -6 -6:-64 -64 603: -9 9: 6 2: 4 4: 2 5: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: 2 -9: 4 -8: 6 -6:-64 -64 604: -9 10: 6 12: 6 -9: -64 0: 6 2: 4 4: 2 5: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: 2 -9: 4 -8: 6 -6:-64 -64 605: -9 9: -6 -1: 6 -1: 6 1: 5 3: 4 4: 2 5: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: 2 -9: 4 -8: 6 -6:-64 -64 606: -5 7: 5 12: 3 12: 1 11: 0 8: 0 -9: -64 0: -3 5: 4 5:-64 -64 607: -9 10: 6 5: 6 -11: 5 -14: 4 -15: 2 -16: -1 -16: -3 -15: -64 0: 6 2: 4 4: 2 5: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: 2 -9: 4 -8: 6 -6:-64 -64 608: -9 10: -5 12: -5 -9: -64 0: -5 1: -2 4: 0 5: 3 5: 5 4: 6 1: 6 -9:-64 -64 609: -4 4: -1 12: 0 11: 1 12: 0 13: -1 12: -64 0: 0 5: 0 -9:-64 -64 610: -5 5: 0 12: 1 11: 2 12: 1 13: 0 12: -64 0: 1 5: 1 -12: 0 -15: -2 -16: -4 -16:-64 -64 611: -9 8: -5 12: -5 -9: -64 0: 5 5: -5 -5: -64 0: -1 -1: 6 -9:-64 -64 612: -4 4: 0 12: 0 -9:-64 -64 613: -15 15: -11 5: -11 -9: -64 0: -11 1: -8 4: -6 5: -3 5: -1 4: 0 1: 0 -9: -64 0: 0 1: 3 4: 5 5: 8 5: 10 4: 11 1: 11 -9:-64 -64 614: -9 10: -5 5: -5 -9: -64 0: -5 1: -2 4: 0 5: 3 5: 5 4: 6 1: 6 -9:-64 -64 615: -9 10: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: 2 -9: 4 -8: 6 -6: 7 -3: 7 -1: 6 2: 4 4: 2 5: -1 5:-64 -64 616: -10 9: -6 5: -6 -16: -64 0: -6 2: -4 4: -2 5: 1 5: 3 4: 5 2: 6 -1: 6 -3: 5 -6: 3 -8: 1 -9: -2 -9: -4 -8: -6 -6:-64 -64 617: -9 10: 6 5: 6 -16: -64 0: 6 2: 4 4: 2 5: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: 2 -9: 4 -8: 6 -6:-64 -64 618: -7 6: -3 5: -3 -9: -64 0: -3 -1: -2 2: 0 4: 2 5: 5 5:-64 -64 619: -8 9: 6 2: 5 4: 2 5: -1 5: -4 4: -5 2: -4 0: -2 -1: 3 -2: 5 -3: 6 -5: 6 -6: 5 -8: 2 -9: -1 -9: -4 -8: -5 -6:-64 -64 620: -5 7: 0 12: 0 -5: 1 -8: 3 -9: 5 -9: -64 0: -3 5: 4 5:-64 -64 621: -9 10: -5 5: -5 -5: -4 -8: -2 -9: 1 -9: 3 -8: 6 -5: -64 0: 6 5: 6 -9:-64 -64 622: -8 8: -6 5: 0 -9: -64 0: 6 5: 0 -9:-64 -64 623: -11 11: -8 5: -4 -9: -64 0: 0 5: -4 -9: -64 0: 0 5: 4 -9: -64 0: 8 5: 4 -9:-64 -64 624: -8 9: -5 5: 6 -9: -64 0: 6 5: -5 -9:-64 -64 625: -8 8: -6 5: 0 -9: -64 0: 6 5: 0 -9: -2 -13: -4 -15: -6 -16: -7 -16:-64 -64 626: -8 9: 6 5: -5 -9: -64 0: -5 5: 6 5: -64 0: -5 -9: 6 -9:-64 -64 627: -10 11: -1 5: -3 4: -5 2: -6 0: -7 -3: -7 -6: -6 -8: -4 -9: -2 -9: 0 -8: 3 -5: 5 -2: 7 2: 8 5: -64 0: -1 5: 1 5: 2 4: 3 2: 5 -6: 6 -8: 7 -9: 8 -9:-64 -64 628: -9 10: 3 12: 1 11: -1 9: -3 5: -4 2: -5 -2: -6 -8: -7 -16: -64 0: 3 12: 5 12: 7 10: 7 7: 6 5: 5 4: 3 3: 0 3: -64 0: 0 3: 2 2: 4 0: 5 -2: 5 -5: 4 -7: 3 -8: 1 -9: -1 -9: -3 -8: -4 -7: -5 -4:-64 -64 629: -9 10: -8 2: -6 4: -4 5: -3 5: -1 4: 0 3: 1 0: 1 -4: 0 -9: -64 0: 8 5: 7 2: 6 0: 0 -9: -2 -13: -3 -16:-64 -64 630: -9 9: 2 5: -1 5: -3 4: -5 2: -6 -1: -6 -4: -5 -7: -4 -8: -2 -9: 0 -9: 2 -8: 4 -6: 5 -3: 5 0: 4 3: 2 5: 0 7: -1 9: -1 11: 0 12: 2 12: 4 11: 6 9:-64 -64 631: -8 8: 5 3: 4 4: 2 5: -1 5: -3 4: -3 2: -2 0: 1 -1: -64 0: 1 -1: -3 -2: -5 -4: -5 -6: -4 -8: -2 -9: 1 -9: 3 -8: 5 -6:-64 -64 632: -8 7: 2 12: 0 11: -1 10: -1 9: 0 8: 3 7: 6 7: -64 0: 6 7: 2 5: -1 3: -4 0: -5 -3: -5 -5: -4 -7: -2 -9: 1 -11: 2 -13: 2 -15: 1 -16: -1 -16: -2 -14:-64 -64 633: -10 10: -9 1: -8 3: -6 5: -4 5: -3 4: -3 2: -4 -2: -6 -9: -64 0: -4 -2: -2 2: 0 4: 2 5: 4 5: 6 3: 6 0: 5 -5: 2 -16:-64 -64 634: -11 10: -10 1: -9 3: -7 5: -5 5: -4 4: -4 2: -5 -3: -5 -6: -4 -8: -3 -9: -1 -9: 1 -8: 3 -5: 4 -3: 5 0: 6 5: 6 8: 5 11: 3 12: 1 12: 0 10: 0 8: 1 5: 3 2: 5 0: 8 -2:-64 -64 635: -6 5: 0 5: -2 -2: -3 -6: -3 -8: -2 -9: 0 -9: 2 -7: 3 -5:-64 -64 636: -9 9: -3 5: -7 -9: -64 0: 7 4: 6 5: 5 5: 3 4: -1 0: -3 -1: -4 -1: -64 0: -4 -1: -2 -2: -1 -3: 1 -8: 2 -9: 3 -9: 4 -8:-64 -64 637: -8 8: -7 12: -5 12: -3 11: -2 10: 6 -9: -64 0: 0 5: -6 -9:-64 -64 638: -10 11: -3 5: -9 -16: -64 0: -4 1: -5 -4: -5 -7: -3 -9: -1 -9: 1 -8: 3 -6: 5 -2: -64 0: 7 5: 5 -2: 4 -6: 4 -8: 5 -9: 7 -9: 9 -7: 10 -5:-64 -64 639: -9 9: -6 5: -3 5: -4 -1: -5 -6: -6 -9: -64 0: 7 5: 6 2: 5 0: 3 -3: 0 -6: -3 -8: -6 -9:-64 -64 640: -8 8: 2 12: 0 11: -1 10: -1 9: 0 8: 3 7: 6 7: -64 0: 3 7: 0 6: -2 5: -3 3: -3 1: -1 -1: 2 -2: 4 -2: -64 0: 2 -2: -2 -3: -4 -4: -5 -6: -5 -8: -3 -10: 1 -12: 2 -13: 2 -15: 0 -16: -2 -16:-64 -64 641: -8 9: 0 5: -2 4: -4 2: -5 -1: -5 -4: -4 -7: -3 -8: -1 -9: 1 -9: 3 -8: 5 -6: 6 -3: 6 0: 5 3: 4 4: 2 5: 0 5:-64 -64 642: -11 11: -2 5: -6 -9: -64 0: 3 5: 4 -1: 5 -6: 6 -9: -64 0: -9 2: -7 4: -4 5: 9 5:-64 -64 643: -9 9: -5 -1: -5 -4: -4 -7: -3 -8: -1 -9: 1 -9: 3 -8: 5 -6: 6 -3: 6 0: 5 3: 4 4: 2 5: 0 5: -2 4: -4 2: -5 -1: -9 -16:-64 -64 644: -9 11: 9 5: -1 5: -3 4: -5 2: -6 -1: -6 -4: -5 -7: -4 -8: -2 -9: 0 -9: 2 -8: 4 -6: 5 -3: 5 0: 4 3: 3 4: 1 5:-64 -64 645: -10 10: 1 5: -2 -9: -64 0: -8 2: -6 4: -3 5: 8 5:-64 -64 646: -10 10: -9 1: -8 3: -6 5: -4 5: -3 4: -3 2: -5 -4: -5 -7: -3 -9: -1 -9: 2 -8: 4 -6: 6 -2: 7 2: 7 5:-64 -64 647: -11 11: -3 4: -5 3: -7 1: -8 -2: -8 -5: -7 -7: -6 -8: -4 -9: -1 -9: 2 -8: 5 -6: 7 -3: 8 0: 8 3: 6 5: 4 5: 2 3: 0 -1: -2 -6: -5 -16:-64 -64 648: -9 9: -7 5: -5 5: -3 3: 3 -14: 5 -16: 7 -16: -64 0: 8 5: 7 3: 5 0: -5 -11: -7 -14: -8 -16:-64 -64 649: -12 11: 4 12: -4 -16: -64 0: -11 1: -10 3: -8 5: -6 5: -5 4: -5 2: -6 -3: -6 -6: -5 -8: -3 -9: -1 -9: 2 -8: 4 -6: 6 -3: 8 2: 9 5:-64 -64 650: -12 11: -4 5: -6 4: -8 1: -9 -2: -9 -5: -8 -8: -7 -9: -5 -9: -3 -8: -1 -5: -64 0: 0 -1: -1 -5: 0 -8: 1 -9: 3 -9: 5 -8: 7 -5: 8 -2: 8 1: 7 4: 6 5:-64 -64 651: -6 10: 3 -3: 2 -1: 0 0: -2 0: -4 -1: -5 -2: -6 -4: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: 2 -6: 4 0: 3 -5: 3 -8: 4 -9: 5 -9: 7 -8: 8 -7: 10 -4:-64 -64 652: -5 9: -5 -4: -3 -1: 0 4: 1 6: 2 9: 2 11: 1 12: -1 11: -2 9: -3 5: -4 -2: -4 -8: -3 -9: -2 -9: 0 -8: 2 -6: 3 -3: 3 0: 4 -4: 5 -5: 7 -5: 9 -4:-64 -64 653: -5 6: 2 -2: 2 -1: 1 0: -1 0: -3 -1: -4 -2: -5 -4: -5 -6: -4 -8: -2 -9: 1 -9: 4 -7: 6 -4:-64 -64 654: -6 10: 3 -3: 2 -1: 0 0: -2 0: -4 -1: -5 -2: -6 -4: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: 2 -6: 8 12: -64 0: 4 0: 3 -5: 3 -8: 4 -9: 5 -9: 7 -8: 8 -7: 10 -4:-64 -64 655: -4 6: -3 -7: -1 -6: 0 -5: 1 -3: 1 -1: 0 0: -1 0: -3 -1: -4 -3: -4 -6: -3 -8: -1 -9: 1 -9: 3 -8: 4 -7: 6 -4:-64 -64 656: -3 5: -3 -4: 1 1: 3 4: 4 6: 5 9: 5 11: 4 12: 2 11: 1 9: -1 1: -4 -8: -7 -15: -8 -18: -8 -20: -7 -21: -5 -20: -4 -17: -3 -8: -2 -9: 0 -9: 2 -8: 3 -7: 5 -4:-64 -64 657: -6 9: 3 -3: 2 -1: 0 0: -2 0: -4 -1: -5 -2: -6 -4: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: 2 -7: -64 0: 4 0: 2 -7: -2 -18: -3 -20: -5 -21: -6 -20: -6 -18: -5 -15: -2 -12: 1 -10: 3 -9: 6 -7: 9 -4:-64 -64 658: -5 10: -5 -4: -3 -1: 0 4: 1 6: 2 9: 2 11: 1 12: -1 11: -2 9: -3 5: -4 -1: -5 -9: -64 0: -5 -9: -4 -6: -3 -4: -1 -1: 1 0: 3 0: 4 -1: 4 -3: 3 -6: 3 -8: 4 -9: 5 -9: 7 -8: 8 -7: 10 -4:-64 -64 659: -2 5: 1 5: 1 4: 2 4: 2 5: 1 5: -64 0: -2 -4: 0 0: -2 -6: -2 -8: -1 -9: 0 -9: 2 -8: 3 -7: 5 -4:-64 -64 660: -2 5: 1 5: 1 4: 2 4: 2 5: 1 5: -64 0: -2 -4: 0 0: -6 -18: -7 -20: -9 -21: -10 -20: -10 -18: -9 -15: -6 -12: -3 -10: -1 -9: 2 -7: 5 -4:-64 -64 661: -5 9: -5 -4: -3 -1: 0 4: 1 6: 2 9: 2 11: 1 12: -1 11: -2 9: -3 5: -4 -1: -5 -9: -64 0: -5 -9: -4 -6: -3 -4: -1 -1: 1 0: 3 0: 4 -1: 4 -3: 2 -4: -1 -4: -64 0: -1 -4: 1 -5: 2 -8: 3 -9: 4 -9: 6 -8: 7 -7: 9 -4:-64 -64 662: -3 5: -3 -4: -1 -1: 2 4: 3 6: 4 9: 4 11: 3 12: 1 11: 0 9: -1 5: -2 -2: -2 -8: -1 -9: 0 -9: 2 -8: 3 -7: 5 -4:-64 -64 663: -13 12: -13 -4: -11 -1: -9 0: -8 -1: -8 -2: -9 -6: -10 -9: -64 0: -9 -6: -8 -4: -6 -1: -4 0: -2 0: -1 -1: -1 -2: -2 -6: -3 -9: -64 0: -2 -6: -1 -4: 1 -1: 3 0: 5 0: 6 -1: 6 -3: 5 -6: 5 -8: 6 -9: 7 -9: 9 -8: 10 -7: 12 -4:-64 -64 664: -8 10: -8 -4: -6 -1: -4 0: -3 -1: -3 -2: -4 -6: -5 -9: -64 0: -4 -6: -3 -4: -1 -1: 1 0: 3 0: 4 -1: 4 -3: 3 -6: 3 -8: 4 -9: 5 -9: 7 -8: 8 -7: 10 -4:-64 -64 665: -6 8: 0 0: -2 0: -4 -1: -5 -2: -6 -4: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: 2 -7: 3 -5: 3 -3: 2 -1: 0 0: -1 -1: -1 -3: 0 -5: 2 -6: 5 -6: 7 -5: 8 -4:-64 -64 666: -7 8: -7 -4: -5 -1: -4 1: -5 -3: -11 -21: -64 0: -5 -3: -4 -1: -2 0: 0 0: 2 -1: 3 -3: 3 -5: 2 -7: 1 -8: -1 -9: -64 0: -5 -8: -3 -9: 0 -9: 3 -8: 5 -7: 8 -4:-64 -64 667: -6 9: 3 -3: 2 -1: 0 0: -2 0: -4 -1: -5 -2: -6 -4: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: -64 0: 4 0: 3 -3: 1 -8: -2 -15: -3 -18: -3 -20: -2 -21: 0 -20: 1 -17: 1 -10: 3 -9: 6 -7: 9 -4:-64 -64 668: -5 8: -5 -4: -3 -1: -2 1: -2 -1: 1 -1: 2 -2: 2 -4: 1 -7: 1 -8: 2 -9: 3 -9: 5 -8: 6 -7: 8 -4:-64 -64 669: -4 7: -4 -4: -2 -1: -1 1: -1 -1: 1 -4: 2 -6: 2 -8: 0 -9: -64 0: -4 -8: -2 -9: 2 -9: 4 -8: 5 -7: 7 -4:-64 -64 670: -3 6: -3 -4: -1 -1: 1 3: -64 0: 4 12: -2 -6: -2 -8: -1 -9: 1 -9: 3 -8: 4 -7: 6 -4: -64 0: -2 4: 5 4:-64 -64 671: -6 9: -6 -4: -4 0: -6 -6: -6 -8: -5 -9: -3 -9: -1 -8: 1 -6: 3 -3: -64 0: 4 0: 2 -6: 2 -8: 3 -9: 4 -9: 6 -8: 7 -7: 9 -4:-64 -64 672: -6 9: -6 -4: -4 0: -5 -5: -5 -8: -4 -9: -3 -9: 0 -8: 2 -6: 3 -3: 3 0: -64 0: 3 0: 4 -4: 5 -5: 7 -5: 9 -4:-64 -64 673: -9 12: -6 0: -8 -2: -9 -5: -9 -7: -8 -9: -6 -9: -4 -8: -2 -6: -64 0: 0 0: -2 -6: -2 -8: -1 -9: 1 -9: 3 -8: 5 -6: 6 -3: 6 0: -64 0: 6 0: 7 -4: 8 -5: 10 -5: 12 -4:-64 -64 674: -8 8: -8 -4: -6 -1: -4 0: -2 0: -1 -1: -1 -8: 0 -9: 3 -9: 6 -7: 8 -4: -64 0: 5 -1: 4 0: 2 0: 1 -1: -3 -8: -4 -9: -6 -9: -7 -8:-64 -64 675: -6 9: -6 -4: -4 0: -6 -6: -6 -8: -5 -9: -3 -9: -1 -8: 1 -6: 3 -3: -64 0: 4 0: -2 -18: -3 -20: -5 -21: -6 -20: -6 -18: -5 -15: -2 -12: 1 -10: 3 -9: 6 -7: 9 -4:-64 -64 676: -6 8: -6 -4: -4 -1: -2 0: 0 0: 2 -2: 2 -4: 1 -6: -1 -8: -4 -9: -2 -10: -1 -12: -1 -15: -2 -18: -3 -20: -5 -21: -6 -20: -6 -18: -5 -15: -2 -12: 1 -10: 5 -7: 8 -4:-64 -64 677: -8 10: -7 -9: -4 -8: -1 -6: 1 -4: 3 -1: 5 3: 6 7: 6 9: 5 11: 3 12: 1 11: 0 10: -1 8: -2 3: -2 -2: -1 -6: 0 -8: 2 -9: 4 -9: 6 -8: 7 -7:-64 -64 683: -9 9: 5 -3: 5 0: 4 3: 3 4: 1 5: -1 5: -3 4: -5 2: -6 -1: -6 -4: -5 -7: -4 -8: -2 -9: 0 -9: 2 -8: 4 -6: 5 -3: 6 2: 6 7: 5 10: 4 11: 2 12: 0 12: -2 11: -4 9:-64 -64 684: -8 8: 5 4: 3 5: 0 5: -2 4: -4 2: -5 -1: -5 -4: -4 -7: -3 -8: -1 -9: 2 -9: 4 -8: -64 0: -5 -2: 3 -2:-64 -64 685: -8 9: 2 12: 0 11: -2 8: -3 6: -4 3: -5 -2: -5 -6: -4 -8: -3 -9: -1 -9: 1 -8: 3 -5: 4 -3: 5 0: 6 5: 6 9: 5 11: 4 12: 2 12: -64 0: -4 2: 5 2:-64 -64 686: -10 10: 4 12: -4 -16: -64 0: -1 5: -4 4: -6 2: -7 -1: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 0: 6 2: 4 4: 1 5: -1 5:-64 -64 687: -9 9: 6 3: 5 4: 2 5: -1 5: -4 4: -5 3: -6 1: -6 -1: -5 -3: -3 -5: 1 -8: 2 -10: 2 -12: 1 -13: -1 -13:-64 -64 697: 0 0:-64 -64 698: -4 4:-64 -64 699: -8 8:-64 -64 700: -10 10: -1 12: -4 11: -6 8: -7 3: -7 0: -6 -5: -4 -8: -1 -9: 1 -9: 4 -8: 6 -5: 7 0: 7 3: 6 8: 4 11: 1 12: -1 12:-64 -64 701: -10 10: -4 8: -2 9: 1 12: 1 -9:-64 -64 702: -10 10: -6 7: -6 8: -5 10: -4 11: -2 12: 2 12: 4 11: 5 10: 6 8: 6 6: 5 4: 3 1: -7 -9: 7 -9:-64 -64 703: -10 10: -5 12: 6 12: 0 4: 3 4: 5 3: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -2 -9: -5 -8: -6 -7: -7 -5:-64 -64 704: -10 10: 3 12: -7 -2: 8 -2: -64 0: 3 12: 3 -9:-64 -64 705: -10 10: 5 12: -5 12: -6 3: -5 4: -2 5: 1 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -2 -9: -5 -8: -6 -7: -7 -5:-64 -64 706: -10 10: 6 9: 5 11: 2 12: 0 12: -3 11: -5 8: -6 3: -6 -2: -5 -6: -3 -8: 0 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 -2: 6 1: 4 3: 1 4: 0 4: -3 3: -5 1: -6 -2:-64 -64 707: -10 10: 7 12: -3 -9: -64 0: -7 12: 7 12:-64 -64 708: -10 10: -2 12: -5 11: -6 9: -6 7: -5 5: -3 4: 1 3: 4 2: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -2 -9: -5 -8: -6 -7: -7 -5: -7 -2: -6 0: -4 2: -1 3: 3 4: 5 5: 6 7: 6 9: 5 11: 2 12: -2 12:-64 -64 709: -10 10: 6 5: 5 2: 3 0: 0 -1: -1 -1: -4 0: -6 2: -7 5: -7 6: -6 9: -4 11: -1 12: 0 12: 3 11: 5 9: 6 5: 6 0: 5 -5: 3 -8: 0 -9: -2 -9: -5 -8: -6 -6:-64 -64 710: -5 5: 0 -7: -1 -8: 0 -9: 1 -8: 0 -7:-64 -64 711: -5 5: 1 -8: 0 -9: -1 -8: 0 -7: 1 -8: 1 -10: 0 -12: -1 -13:-64 -64 712: -5 5: 0 5: -1 4: 0 3: 1 4: 0 5: -64 0: 0 -7: -1 -8: 0 -9: 1 -8: 0 -7:-64 -64 713: -5 5: 0 5: -1 4: 0 3: 1 4: 0 5: -64 0: 1 -8: 0 -9: -1 -8: 0 -7: 1 -8: 1 -10: 0 -12: -1 -13:-64 -64 714: -5 5: 0 12: 0 -2: -64 0: 0 -7: -1 -8: 0 -9: 1 -8: 0 -7:-64 -64 715: -9 9: -6 7: -6 8: -5 10: -4 11: -2 12: 2 12: 4 11: 5 10: 6 8: 6 6: 5 4: 4 3: 0 1: 0 -2: -64 0: 0 -7: -1 -8: 0 -9: 1 -8: 0 -7:-64 -64 716: -4 4: 0 12: 0 5:-64 -64 717: -8 8: -4 12: -4 5: -64 0: 4 12: 4 5:-64 -64 718: -7 7: -1 12: -3 11: -4 9: -4 7: -3 5: -1 4: 1 4: 3 5: 4 7: 4 9: 3 11: 1 12: -1 12:-64 -64 719: -10 10: -2 16: -2 -13: -64 0: 2 16: 2 -13: -64 0: 7 9: 5 11: 2 12: -2 12: -5 11: -7 9: -7 7: -6 5: -5 4: -3 3: 3 1: 5 0: 6 -1: 7 -3: 7 -6: 5 -8: 2 -9: -2 -9: -5 -8: -7 -6:-64 -64 720: -11 11: 9 16: -9 -16:-64 -64 721: -7 7: 4 16: 2 14: 0 11: -2 7: -3 2: -3 -2: -2 -7: 0 -11: 2 -14: 4 -16:-64 -64 722: -7 7: -4 16: -2 14: 0 11: 2 7: 3 2: 3 -2: 2 -7: 0 -11: -2 -14: -4 -16:-64 -64 723: -4 4: 0 16: 0 -16:-64 -64 724: -13 13: -9 0: 9 0:-64 -64 725: -13 13: 0 9: 0 -9: -64 0: -9 0: 9 0:-64 -64 726: -13 13: -9 3: 9 3: -64 0: -9 -3: 9 -3:-64 -64 727: -11 11: -7 7: 7 -7: -64 0: 7 7: -7 -7:-64 -64 728: -8 8: 0 6: 0 -6: -64 0: -5 3: 5 -3: -64 0: 5 3: -5 -3:-64 -64 729: -5 5: 0 1: -1 0: 0 -1: 1 0: 0 1:-64 -64 730: -5 5: 1 12: 0 11: -1 9: -1 7: 0 6: 1 7: 0 8:-64 -64 731: -5 5: 0 10: -1 11: 0 12: 1 11: 1 9: 0 7: -1 6:-64 -64 732: -13 13: 3 5: 6 2: 9 0: 6 -2: 3 -5: -64 0: -9 0: 9 0:-64 -64 733: -10 11: 1 16: -6 -16: -64 0: 7 16: 0 -16: -64 0: -6 3: 8 3: -64 0: -7 -3: 7 -3:-64 -64 734: -13 13: 10 3: 10 4: 9 5: 8 5: 7 4: 6 2: 4 -3: 2 -6: 0 -8: -2 -9: -6 -9: -8 -8: -9 -7: -10 -5: -10 -3: -9 -1: -8 0: -1 4: 0 5: 1 7: 1 9: 0 11: -2 12: -4 11: -5 9: -5 7: -4 4: -2 1: 3 -6: 5 -8: 7 -9: 9 -9: 10 -8: 10 -7:-64 -64 735: -11 11: -9 9: -8 7: -7 3: -7 -3: -8 -7: -9 -9: -64 0: 9 9: 8 7: 7 3: 7 -3: 8 -7: 9 -9: -64 0: -9 9: -7 8: -3 7: 3 7: 7 8: 9 9: -64 0: -9 -9: -7 -8: -3 -7: 3 -7: 7 -8: 9 -9:-64 -64 737: -7 7: -3 16: -3 -9: -64 0: 3 16: 3 -9:-64 -64 738: -12 12: 0 16: 0 -9: -64 0: -9 -9: 9 -9:-64 -64 739: -12 12: 9 16: -9 -9: 9 -9:-64 -64 740: -13 13: 0 9: -1 8: 0 7: 1 8: 0 9: -64 0: -9 -7: -10 -8: -9 -9: -8 -8: -9 -7: -64 0: 9 -7: 8 -8: 9 -9: 10 -8: 9 -7:-64 -64 741: -12 12: 0 10: -4 6: -7 2: -8 -1: -8 -3: -7 -5: -5 -6: -3 -6: -1 -5: 0 -3: -64 0: 0 10: 4 6: 7 2: 8 -1: 8 -3: 7 -5: 5 -6: 3 -6: 1 -5: 0 -3: -64 0: 0 -3: -1 -7: -2 -10: -64 0: 0 -3: 1 -7: 2 -10: -64 0: -2 -10: 2 -10:-64 -64 742: -12 12: 0 4: -1 7: -2 9: -4 10: -5 10: -7 9: -8 7: -8 3: -7 0: -6 -2: -4 -5: 0 -10: -64 0: 0 4: 1 7: 2 9: 4 10: 5 10: 7 9: 8 7: 8 3: 7 0: 6 -2: 4 -5: 0 -10:-64 -64 743: -12 12: 0 11: -2 8: -6 3: -9 0: -64 0: 0 11: 2 8: 6 3: 9 0: -64 0: -9 0: -6 -3: -2 -8: 0 -11: -64 0: 9 0: 6 -3: 2 -8: 0 -11:-64 -64 744: -12 12: 0 -2: 2 -5: 4 -6: 6 -6: 8 -5: 9 -3: 9 -1: 8 1: 6 2: 4 2: 1 1: -64 0: 1 1: 3 3: 4 5: 4 7: 3 9: 1 10: -1 10: -3 9: -4 7: -4 5: -3 3: -1 1: -64 0: -1 1: -4 2: -6 2: -8 1: -9 -1: -9 -3: -8 -5: -6 -6: -4 -6: -2 -5: 0 -2: -64 0: 0 -2: -1 -7: -2 -10: -64 0: 0 -2: 1 -7: 2 -10: -64 0: -2 -10: 2 -10:-64 -64 745: -12 12: 0 0: 0 -9: -1 -10: -64 0: 0 -4: -1 -10: -64 0: 0 9: -1 10: -3 10: -4 9: -4 7: -3 4: 0 0: -64 0: 0 9: 1 10: 3 10: 4 9: 4 7: 3 4: 0 0: -64 0: 0 0: -4 3: -6 4: -8 4: -9 3: -9 1: -8 0: -64 0: 0 0: 4 3: 6 4: 8 4: 9 3: 9 1: 8 0: -64 0: 0 0: -4 -3: -6 -4: -8 -4: -9 -3: -9 -1: -8 0: -64 0: 0 0: 4 -3: 6 -4: 8 -4: 9 -3: 9 -1: 8 0:-64 -64 746: -12 12: -9 -1: -8 -1: -6 -2: -5 -4: -5 -6: -6 -8: -64 0: -9 -1: -9 0: -8 1: -6 1: -5 0: -4 -2: -4 -5: -5 -7: -6 -8: -64 0: 0 11: -2 9: -3 6: -3 3: -1 -3: -1 -6: -2 -8: 0 -10: -64 0: 0 11: 2 9: 3 6: 3 3: 1 -3: 1 -6: 2 -8: 0 -10: -64 0: 9 -1: 9 0: 8 1: 6 1: 5 0: 4 -2: 4 -5: 5 -7: 6 -8: -64 0: 9 -1: 8 -1: 6 -2: 5 -4: 5 -6: 6 -8: -64 0: -7 -4: 7 -4:-64 -64 750: -2 1: 1 0: 0 -1: -1 -1: -2 0: -2 1: -1 2: 0 2: 1 1: 1 -1: 0 -3: -1 -4: -64 0: -1 1: -1 0: 0 0: 0 1: -1 1:-64 -64 751: -2 2: -1 2: -2 1: -2 -1: -1 -2: 1 -2: 2 -1: 2 1: 1 2: -1 2: -64 0: 0 1: -1 0: 0 -1: 1 0: 0 1:-64 -64 752: -4 4: -2 3: 2 -3: -64 0: 2 3: -2 -3: -64 0: -4 0: 4 0:-64 -64 753: -5 5: 0 7: -1 5: -3 2: -5 0: -64 0: 0 7: 1 5: 3 2: 5 0: -64 0: 0 5: -3 1: -64 0: 0 5: 3 1: -64 0: 0 3: -2 1: -64 0: 0 3: 2 1: -64 0: -1 1: 1 1: -64 0: -5 0: 5 0:-64 -64 754: -5 5: -5 0: -5 1: -4 3: -3 4: -1 5: 1 5: 3 4: 4 3: 5 1: 5 0: -64 0: -2 4: 2 4: -64 0: -3 3: 3 3: -64 0: -4 2: 4 2: -64 0: -4 1: 4 1: -64 0: -5 0: 5 0:-64 -64 755: -6 0: -6 12: -6 0: 0 0: -6 12: -64 0: -6 9: -2 1: -64 0: -6 6: -3 0: -64 0: -6 3: -5 1:-64 -64 756: -5 5: 0 7: -1 5: -3 2: -5 0: -64 0: 0 7: 1 5: 3 2: 5 0:-64 -64 757: -5 5: 5 0: 5 1: 4 3: 3 4: 1 5: -1 5: -3 4: -4 3: -5 1: -5 0:-64 -64 758: -11 11: 11 0: 11 2: 10 5: 8 8: 5 10: 2 11: -2 11: -5 10: -8 8: -10 5: -11 2: -11 0:-64 -64 759: -5 5: -5 0: -5 -1: -4 -3: -3 -4: -1 -5: 1 -5: 3 -4: 4 -3: 5 -1: 5 0:-64 -64 760: -6 6: -6 2: -4 0: -1 -1: 1 -1: 4 0: 6 2:-64 -64 761: 0 3: 0 -3: 2 -2: 3 0: 2 2: 0 3:-64 -64 762: 0 4: 0 0: 3 2: 4 4: 4 6: 3 7: 2 7:-64 -64 763: -4 0: 0 0: -3 2: -4 4: -4 6: -3 7: -2 7:-64 -64 764: -5 5: 5 10: 4 11: 2 12: -1 12: -3 11: -4 10: -5 8: -5 6: -4 4: -3 3: 3 -1: 4 -2: 5 -4: 5 -6: 4 -8: 3 -9: 1 -10: -2 -10: -4 -9: -5 -8:-64 -64 765: -11 11: -9 -5: -10 -4: -11 -2: -11 1: -10 3: -9 4: -7 5: -5 5: -3 4: -2 3: 2 -3: 3 -4: 5 -5: 7 -5: 9 -4: 10 -3: 11 -1: 11 2: 10 4: 9 5:-64 -64 766: -11 11: 0 0: 2 -3: 3 -4: 5 -5: 7 -5: 9 -4: 10 -3: 11 -1: 11 1: 10 3: 9 4: 7 5: 5 5: 3 4: 2 3: -2 -3: -3 -4: -5 -5: -7 -5: -9 -4: -10 -3: -11 -1: -11 1: -10 3: -9 4: -7 5: -5 5: -3 4: -2 3: 0 0:-64 -64 767: -10 10: -7 12: -7 -9: -64 0: -10 12: 9 12: -1 2: 9 -8: -64 0: 8 -4: 9 -7: 10 -9: -64 0: 8 -4: 8 -7: -64 0: 5 -7: 8 -7: -64 0: 5 -7: 8 -8: 10 -9:-64 -64 768: -7 7: 3 17: 0 16: -2 15: -4 13: -6 10: -7 6: -7 0: -6 -3: -4 -5: -1 -6: 1 -6: 4 -5: 6 -3: 7 0: -64 0: -7 2: -6 5: -4 7: -1 8: 1 8: 4 7: 6 5: 7 2: 7 -4: 6 -8: 4 -11: 2 -13: 0 -14: -3 -15:-64 -64 796: -20 20: -20 0: 20 0:-64 -64 797: -14 14: -14 -14: 14 14:-64 -64 798: 0 0: 0 20: 0 -20:-64 -64 799: -14 14: -14 14: 14 -14:-64 -64 800: -14 14: -14 0: 14 0:-64 -64 801: -12 12: -12 -7: 12 7:-64 -64 802: -7 7: -7 -12: 7 12:-64 -64 803: 0 0: 0 14: 0 -14:-64 -64 804: -7 7: -7 12: 7 -12:-64 -64 805: -12 12: -12 7: 12 -7:-64 -64 806: -7 7: -7 0: 7 0:-64 -64 807: -5 5: -5 -5: 5 5:-64 -64 808: 0 0: 0 7: 0 -7:-64 -64 809: -5 5: -5 5: 5 -5:-64 -64 810: -11 0: 0 11: -2 11: -5 10: -8 8: -10 5: -11 2: -11 0:-64 -64 811: -11 0: -11 0: -11 -2: -10 -5: -8 -8: -5 -10: -2 -11: 0 -11:-64 -64 812: 0 11: 0 -11: 2 -11: 5 -10: 8 -8: 10 -5: 11 -2: 11 0:-64 -64 813: 0 11: 11 0: 11 2: 10 5: 8 8: 5 10: 2 11: 0 11:-64 -64 814: -14 14: -14 3: -11 1: -7 -1: -2 -2: 2 -2: 7 -1: 11 1: 14 3:-64 -64 815: -2 3: 3 14: 1 11: -1 7: -2 2: -2 -2: -1 -7: 1 -11: 3 -14:-64 -64 816: -3 2: -3 14: -1 11: 1 7: 2 2: 2 -2: 1 -7: -1 -11: -3 -14:-64 -64 817: -14 14: -14 -3: -11 -1: -7 1: -2 2: 2 2: 7 1: 11 -1: 14 -3:-64 -64 818: -7 7: 0 8: 7 4: -7 -4: 0 -8:-64 -64 819: -8 8: -8 0: -4 7: 4 -7: 8 0:-64 -64 820: -7 7: -7 -4: -7 4: 7 -4: 7 4:-64 -64 821: -8 8: -6 -6: -8 2: 8 -2: 6 6:-64 -64 822: -8 8: -8 -11: -6 -11: -3 -10: -1 -9: 2 -6: 3 -4: 4 -1: 4 3: 3 6: 2 8: 1 9: -1 9: -2 8: -3 6: -4 3: -4 -1: -3 -4: -2 -6: 1 -9: 3 -10: 6 -11: 8 -11:-64 -64 823: -9 11: 11 -8: 11 -6: 10 -3: 9 -1: 6 2: 4 3: 1 4: -3 4: -6 3: -8 2: -9 1: -9 -1: -8 -2: -6 -3: -3 -4: 1 -4: 4 -3: 6 -2: 9 1: 10 3: 11 6: 11 8:-64 -64 824: -8 8: 8 11: 6 11: 3 10: 1 9: -2 6: -3 4: -4 1: -4 -3: -3 -6: -2 -8: -1 -9: 1 -9: 2 -8: 3 -6: 4 -3: 4 1: 3 4: 2 6: -1 9: -3 10: -6 11: -8 11:-64 -64 825: -11 9: -11 8: -11 6: -10 3: -9 1: -6 -2: -4 -3: -1 -4: 3 -4: 6 -3: 8 -2: 9 -1: 9 1: 8 2: 6 3: 3 4: -1 4: -4 3: -6 2: -9 -1: -10 -3: -11 -6: -11 -8:-64 -64 826: -13 9: -13 2: -12 0: -10 -2: -8 -3: -5 -4: -1 -4: 3 -3: 6 -1: 8 2: 9 4: 8 6: 5 6: 1 5: -1 4: -4 2: -6 -1: -7 -4: -7 -7: -6 -10: -5 -12:-64 -64 827: -13 7: -13 -2: -10 -4: -7 -5: -2 -5: 1 -4: 4 -2: 6 1: 7 4: 7 6: 6 7: 4 7: 1 6: -2 4: -4 1: -5 -2: -5 -7: -4 -10: -2 -13:-64 -64 828: -3 3: -1 3: -3 1: -3 -1: -1 -3: 1 -3: 3 -1: 3 1: 1 3: -1 3: -64 0: -1 2: -2 1: -2 -1: -1 -2: 1 -2: 2 -1: 2 1: 1 2: -1 2: -64 0: 0 1: -1 0: 0 -1: 1 0: 0 1:-64 -64 829: 0 5: 0 5: 1 5: 3 4: 4 3: 5 1: 5 -1: 4 -3: 3 -4: 1 -5: 0 -5:-64 -64 830: -14 14: -14 0: -8 0: -64 0: -3 0: 3 0: -64 0: 8 0: 14 0:-64 -64 831: -14 14: -14 -3: -14 3: 14 3: 14 -3:-64 -64 832: -8 8: 0 14: -8 0: -64 0: 0 14: 8 0:-64 -64 833: -14 14: -14 0: 14 0: -64 0: -8 -7: 8 -7: -64 0: -2 -14: 2 -14:-64 -64 834: -14 14: -14 0: 14 0: -64 0: -14 0: 0 -16: -64 0: 14 0: 0 -16:-64 -64 840: -7 7: -1 7: -4 6: -6 4: -7 1: -7 -1: -6 -4: -4 -6: -1 -7: 1 -7: 4 -6: 6 -4: 7 -1: 7 1: 6 4: 4 6: 1 7: -1 7:-64 -64 841: -6 6: -6 6: -6 -6: 6 -6: 6 6: -6 6:-64 -64 842: -7 7: 0 8: -7 -4: 7 -4: 0 8:-64 -64 843: -6 6: 0 10: -6 0: 0 -10: 6 0: 0 10:-64 -64 844: -8 8: 0 9: -2 3: -8 3: -3 -1: -5 -7: 0 -3: 5 -7: 3 -1: 8 3: 2 3: 0 9:-64 -64 845: -7 7: 0 7: 0 -7: -64 0: -7 0: 7 0:-64 -64 846: -5 5: -5 5: 5 -5: -64 0: 5 5: -5 -5:-64 -64 847: -5 5: 0 6: 0 -6: -64 0: -5 3: 5 -3: -64 0: 5 3: -5 -3:-64 -64 850: -4 4: -1 4: -3 3: -4 1: -4 -1: -3 -3: -1 -4: 1 -4: 3 -3: 4 -1: 4 1: 3 3: 1 4: -1 4: -64 0: -3 1: -3 -1: -64 0: -2 2: -2 -2: -64 0: -1 3: -1 -3: -64 0: 0 3: 0 -3: -64 0: 1 3: 1 -3: -64 0: 2 2: 2 -2: -64 0: 3 1: 3 -1:-64 -64 851: -4 4: -4 4: -4 -4: 4 -4: 4 4: -4 4: -64 0: -3 3: -3 -3: -64 0: -2 3: -2 -3: -64 0: -1 3: -1 -3: -64 0: 0 3: 0 -3: -64 0: 1 3: 1 -3: -64 0: 2 3: 2 -3: -64 0: 3 3: 3 -3:-64 -64 852: -5 5: 0 6: -5 -3: 5 -3: 0 6: -64 0: 0 3: -3 -2: -64 0: 0 3: 3 -2: -64 0: 0 0: -1 -2: -64 0: 0 0: 1 -2:-64 -64 853: -6 3: -6 0: 3 -5: 3 5: -6 0: -64 0: -3 0: 2 -3: -64 0: -3 0: 2 3: -64 0: 0 0: 2 -1: -64 0: 0 0: 2 1:-64 -64 854: -5 5: 0 -6: 5 3: -5 3: 0 -6: -64 0: 0 -3: 3 2: -64 0: 0 -3: -3 2: -64 0: 0 0: 1 2: -64 0: 0 0: -1 2:-64 -64 855: -3 6: 6 0: -3 5: -3 -5: 6 0: -64 0: 3 0: -2 3: -64 0: 3 0: -2 -3: -64 0: 0 0: -2 1: -64 0: 0 0: -2 -1:-64 -64 856: -6 6: 0 6: -4 -5: 6 2: -6 2: 4 -5: 0 6: -64 0: 0 0: 0 6: -64 0: 0 0: -6 2: -64 0: 0 0: -4 -5: -64 0: 0 0: 4 -5: -64 0: 0 0: 6 2:-64 -64 857: 0 7: 0 7: 0 -7: -64 0: 0 7: 7 4: 0 1: -64 0: 1 5: 4 4: 1 3:-64 -64 860: -5 5: 0 6: 0 -6: -64 0: -3 3: 3 3: -64 0: -5 -3: -3 -5: -1 -6: 1 -6: 3 -5: 5 -3:-64 -64 861: -6 6: 0 6: 0 -6: -64 0: -6 1: -5 3: 5 3: 6 1: -64 0: -2 -5: 2 -5:-64 -64 862: -7 7: -5 4: 5 -6: -64 0: 5 4: -5 -6: -64 0: -3 6: -6 3: -7 1: -64 0: 3 6: 6 3: 7 1:-64 -64 863: -9 9: -4 9: -9 -9: -64 0: 4 9: 9 -9: -64 0: -5 5: 9 -9: -64 0: 5 5: -9 -9: -64 0: -4 9: 4 9: -64 0: -5 5: 5 5:-64 -64 864: -9 9: 0 11: 0 -4: -64 0: -5 8: 5 2: -64 0: 5 8: -5 2: -64 0: -9 -4: -6 -10: -64 0: 9 -4: 6 -10: -64 0: -9 -4: 9 -4: -64 0: -6 -10: 6 -10:-64 -64 865: -11 9: -5 8: 1 -4: -64 0: -7 2: 1 6: -64 0: -11 -10: 9 -10: 9 0: -11 -10:-64 -64 866: -6 6: -2 6: -2 2: -6 2: -6 -2: -2 -2: -2 -6: 2 -6: 2 -2: 6 -2: 6 2: 2 2: 2 6: -2 6:-64 -64 867: -7 7: 7 2: 6 4: 4 6: 1 7: -1 7: -4 6: -6 4: -7 1: -7 -1: -6 -4: -4 -6: -1 -7: 1 -7: 4 -6: 6 -4: 7 -2: -64 0: 7 2: 5 4: 3 5: 1 5: -1 4: -2 3: -3 1: -3 -1: -2 -3: -1 -4: 1 -5: 3 -5: 5 -4: 7 -2:-64 -64 868: -7 7: 0 8: -7 -4: 7 -4: 0 8: -64 0: 0 -8: 7 4: -7 4: 0 -8:-64 -64 869: -11 11: -2 9: -2 11: -1 12: 1 12: 2 11: 2 9: -64 0: -11 -8: -10 -6: -8 -4: -7 -2: -6 2: -6 7: -5 8: -3 9: 3 9: 5 8: 6 7: 6 2: 7 -2: 8 -4: 10 -6: 11 -8: -64 0: -11 -8: 11 -8: -64 0: -1 -8: -2 -9: -1 -10: 1 -10: 2 -9: 1 -8:-64 -64 870: -8 8: 0 5: 0 -1: -64 0: 0 -1: -1 -10: -64 0: 0 -1: 1 -10: -64 0: -1 -10: 1 -10: -64 0: 0 5: -1 8: -2 10: -4 11: -64 0: -1 8: -4 11: -64 0: 0 5: 1 8: 2 10: 4 11: -64 0: 1 8: 4 11: -64 0: 0 5: -4 7: -6 7: -8 5: -64 0: -2 6: -6 6: -8 5: -64 0: 0 5: 4 7: 6 7: 8 5: -64 0: 2 6: 6 6: 8 5: -64 0: 0 5: -2 4: -3 3: -3 0: -64 0: 0 5: -2 3: -3 0: -64 0: 0 5: 2 4: 3 3: 3 0: -64 0: 0 5: 2 3: 3 0:-64 -64 871: -8 8: 0 9: 0 7: -64 0: 0 4: 0 2: -64 0: 0 -1: 0 -3: -64 0: 0 -7: -1 -10: -64 0: 0 -7: 1 -10: -64 0: -1 -10: 1 -10: -64 0: 0 11: -1 9: -2 8: -64 0: 0 11: 1 9: 2 8: -64 0: -2 8: 0 9: 2 8: -64 0: 0 7: -2 4: -4 3: -5 4: -64 0: 0 7: 2 4: 4 3: 5 4: -64 0: -4 3: -2 3: 0 4: 2 3: 4 3: -64 0: 0 2: -2 -1: -4 -2: -6 -2: -7 0: -7 -1: -6 -2: -64 0: 0 2: 2 -1: 4 -2: 6 -2: 7 0: 7 -1: 6 -2: -64 0: -4 -2: -2 -2: 0 -1: 2 -2: 4 -2: -64 0: 0 -3: -2 -6: -3 -7: -5 -8: -6 -8: -7 -7: -8 -5: -8 -7: -6 -8: -64 0: 0 -3: 2 -6: 3 -7: 5 -8: 6 -8: 7 -7: 8 -5: 8 -7: 6 -8: -64 0: -5 -8: -3 -8: 0 -7: 3 -8: 5 -8:-64 -64 872: -8 8: 0 -7: -1 -10: -64 0: 0 -7: 1 -10: -64 0: -1 -10: 1 -10: -64 0: 0 -7: 3 -8: 6 -8: 8 -6: 8 -3: 7 -2: 5 -2: 7 0: 8 3: 7 5: 5 6: 3 5: 4 8: 3 10: 1 11: -1 11: -3 10: -4 8: -3 5: -5 6: -7 5: -8 3: -7 0: -5 -2: -7 -2: -8 -3: -8 -6: -6 -8: -3 -8: 0 -7:-64 -64 873: -8 8: 0 -7: -1 -10: -64 0: 0 -7: 1 -10: -64 0: -1 -10: 1 -10: -64 0: 0 -7: 4 -6: 4 -4: 6 -3: 6 0: 8 1: 8 6: 7 9: 6 10: 4 10: 2 11: -2 11: -4 10: -6 10: -7 9: -8 6: -8 1: -6 0: -6 -3: -4 -4: -4 -6: 0 -7:-64 -64 874: -9 9: -9 2: -7 0: -64 0: -6 7: -4 2: -64 0: 0 11: 0 3: -64 0: 6 7: 4 2: -64 0: 9 2: 7 0:-64 -64 899: -1 1: 0 1: -1 0: 0 -1: 1 0: 0 1:-64 -64 900: -2 2: -1 2: -2 1: -2 -1: -1 -2: 1 -2: 2 -1: 2 1: 1 2: -1 2:-64 -64 901: -4 4: -1 4: -3 3: -4 1: -4 -1: -3 -3: -1 -4: 1 -4: 3 -3: 4 -1: 4 1: 3 3: 1 4: -1 4:-64 -64 902: -5 5: -1 5: -3 4: -4 3: -5 1: -5 -1: -4 -3: -3 -4: -1 -5: 1 -5: 3 -4: 4 -3: 5 -1: 5 1: 4 3: 3 4: 1 5: -1 5:-64 -64 903: -7 7: -1 7: -4 6: -6 4: -7 1: -7 -1: -6 -4: -4 -6: -1 -7: 1 -7: 4 -6: 6 -4: 7 -1: 7 1: 6 4: 4 6: 1 7: -1 7:-64 -64 904: -11 11: -2 11: -5 10: -8 8: -10 5: -11 2: -11 -2: -10 -5: -8 -8: -5 -10: -2 -11: 2 -11: 5 -10: 8 -8: 10 -5: 11 -2: 11 2: 10 5: 8 8: 5 10: 2 11: -2 11:-64 -64 905: -17 17: -2 17: -6 16: -8 15: -11 13: -13 11: -15 8: -16 6: -17 2: -17 -2: -16 -6: -15 -8: -13 -11: -11 -13: -8 -15: -6 -16: -2 -17: 2 -17: 6 -16: 8 -15: 11 -13: 13 -11: 15 -8: 16 -6: 17 -2: 17 2: 16 6: 15 8: 13 11: 11 13: 8 15: 6 16: 2 17: -2 17:-64 -64 906: -22 22: -2 22: -7 21: -11 19: -14 17: -17 14: -19 11: -21 7: -22 2: -22 -2: -21 -7: -19 -11: -17 -14: -14 -17: -11 -19: -7 -21: -2 -22: 2 -22: 7 -21: 11 -19: 14 -17: 17 -14: 19 -11: 21 -7: 22 -2: 22 2: 21 7: 19 11: 17 14: 14 17: 11 19: 7 21: 2 22: -2 22:-64 -64 907: -41 41: -3 41: -9 40: -13 39: -18 37: -23 34: -27 31: -31 27: -34 23: -37 18: -39 13: -40 9: -41 3: -41 -3: -40 -9: -39 -13: -37 -18: -34 -23: -31 -27: -27 -31: -23 -34: -18 -37: -13 -39: -9 -40: -3 -41: 3 -41: 9 -40: 13 -39: 18 -37: 23 -34: 27 -31: 31 -27: 34 -23: 37 -18: 39 -13: 40 -9: 41 -3: 41 3: 40 9: 39 13: 37 18: 34 23: 31 27: 27 31: 23 34: 18 37: 13 39: 9 40: 3 41: -3 41:-64 -64 908: -20 20: 0 17: -2 15: -5 14: -8 14: -11 15: -13 17: -20 10: -18 8: -17 5: -17 -8: -16 -11: -14 -13: -11 -14: -5 -14: -2 -15: 0 -17: -64 0: 0 17: 2 15: 5 14: 8 14: 11 15: 13 17: 20 10: 18 8: 17 5: 17 -8: 16 -11: 14 -13: 11 -14: 5 -14: 2 -15: 0 -17:-64 -64 909: -17 17: 0 17: -2 15: -5 14: -8 14: -11 15: -13 17: -16 11: -17 7: -17 2: -16 -2: -14 -6: -11 -10: -6 -14: 0 -17: -64 0: 0 17: 2 15: 5 14: 8 14: 11 15: 13 17: 16 11: 17 7: 17 2: 16 -2: 14 -6: 11 -10: 6 -14: 0 -17: -64 0: -16 10: 16 10:-64 -64 997: -5 5: -5 -6: 5 -6:-64 -64 998: -8 8: -8 -8: 8 -8:-64 -64 999: -8 8: -8 -11: 8 -11:-64 -64 1001: -7 7: 0 7: -5 -6: -64 0: 0 4: 4 -6: -64 0: 0 7: 5 -6: -64 0: -3 -2: 2 -2: -64 0: -7 -6: -2 -6: -64 0: 2 -6: 7 -6:-64 -64 1002: -8 8: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: -6 7: 1 7: 4 6: 5 4: 4 2: 1 1: -64 0: 1 7: 3 6: 4 4: 3 2: 1 1: -64 0: -3 1: 1 1: 4 0: 5 -2: 5 -3: 4 -5: 1 -6: -6 -6: -64 0: 1 1: 3 0: 4 -2: 4 -3: 3 -5: 1 -6:-64 -64 1003: -7 7: 4 6: 5 7: 5 3: 4 6: 2 7: -1 7: -3 6: -4 5: -5 2: -5 -1: -4 -4: -3 -5: -1 -6: 2 -6: 4 -5: 5 -3: -64 0: -1 7: -3 5: -4 2: -4 -1: -3 -4: -1 -6:-64 -64 1004: -8 8: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: -6 7: 1 7: 4 6: 5 5: 6 2: 6 -1: 5 -4: 4 -5: 1 -6: -6 -6: -64 0: 1 7: 3 6: 4 5: 5 2: 5 -1: 4 -4: 3 -5: 1 -6:-64 -64 1005: -8 7: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: 1 3: 1 -1: -64 0: -6 7: 4 7: 4 3: 3 7: -64 0: -3 1: 1 1: -64 0: -6 -6: 4 -6: 4 -2: 3 -6:-64 -64 1006: -8 6: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: 1 3: 1 -1: -64 0: -6 7: 4 7: 4 3: 3 7: -64 0: -3 1: 1 1: -64 0: -6 -6: -1 -6:-64 -64 1007: -7 9: 4 6: 5 7: 5 3: 4 6: 2 7: -1 7: -3 6: -4 5: -5 2: -5 -1: -4 -4: -3 -5: -1 -6: 2 -6: 4 -5: -64 0: -1 7: -3 5: -4 2: -4 -1: -3 -4: -1 -6: -64 0: 2 -6: 3 -5: 4 -3: -64 0: 4 -1: 4 -6: -64 0: 5 -1: 5 -6: -64 0: 2 -1: 7 -1:-64 -64 1008: -8 9: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: 4 7: 4 -6: -64 0: 5 7: 5 -6: -64 0: -6 7: -1 7: -64 0: 2 7: 7 7: -64 0: -3 1: 4 1: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1009: -4 5: 0 7: 0 -6: -64 0: 1 7: 1 -6: -64 0: -2 7: 3 7: -64 0: -2 -6: 3 -6:-64 -64 1010: -6 6: 1 7: 1 -3: 0 -5: -1 -6: -64 0: 2 7: 2 -3: 1 -5: -1 -6: -2 -6: -4 -5: -5 -3: -4 -2: -3 -3: -4 -4: -64 0: -1 7: 4 7:-64 -64 1011: -8 8: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: 5 7: -3 -1: -64 0: -1 1: 4 -6: -64 0: 0 1: 5 -6: -64 0: -6 7: -1 7: -64 0: 2 7: 7 7: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1012: -7 6: -3 7: -3 -6: -64 0: -2 7: -2 -6: -64 0: -5 7: 0 7: -64 0: -5 -6: 5 -6: 5 -2: 4 -6:-64 -64 1013: -9 10: -5 7: -5 -6: -64 0: -4 4: 0 -6: -64 0: -4 7: 0 -3: -64 0: 5 7: 0 -6: -64 0: 5 7: 5 -6: -64 0: 6 7: 6 -6: -64 0: -7 7: -4 7: -64 0: 5 7: 8 7: -64 0: -7 -6: -3 -6: -64 0: 3 -6: 8 -6:-64 -64 1014: -8 8: -4 7: -4 -6: -64 0: -3 5: 4 -6: -64 0: -3 7: 4 -4: -64 0: 4 7: 4 -6: -64 0: -6 7: -3 7: -64 0: 2 7: 6 7: -64 0: -6 -6: -2 -6:-64 -64 1015: -7 8: -1 7: -3 6: -4 5: -5 2: -5 -1: -4 -4: -3 -5: -1 -6: 2 -6: 4 -5: 5 -4: 6 -1: 6 2: 5 5: 4 6: 2 7: -1 7: -64 0: -1 7: -3 5: -4 2: -4 -1: -3 -4: -1 -6: -64 0: 2 -6: 4 -4: 5 -1: 5 2: 4 5: 2 7:-64 -64 1016: -8 7: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: -6 7: 1 7: 4 6: 5 4: 5 3: 4 1: 1 0: -3 0: -64 0: 1 7: 3 6: 4 4: 4 3: 3 1: 1 0: -64 0: -6 -6: -1 -6:-64 -64 1017: -7 8: -1 7: -3 6: -4 5: -5 2: -5 -1: -4 -4: -3 -5: -1 -6: 2 -6: 4 -5: 5 -4: 6 -1: 6 2: 5 5: 4 6: 2 7: -1 7: -64 0: -1 7: -3 5: -4 2: -4 -1: -3 -4: -1 -6: -64 0: 2 -6: 4 -4: 5 -1: 5 2: 4 5: 2 7: -64 0: -2 -5: -2 -3: -1 -2: 1 -2: 2 -3: 3 -8: 4 -9: 5 -9: 6 -8: -64 0: 2 -3: 3 -6: 4 -8: 5 -9:-64 -64 1018: -8 8: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: -6 7: 1 7: 4 6: 5 4: 5 3: 4 1: 1 0: -3 0: -64 0: 1 7: 3 6: 4 4: 4 3: 3 1: 1 0: -64 0: -6 -6: -1 -6: -64 0: 1 0: 2 -1: 3 -5: 4 -6: 5 -6: 6 -5: -64 0: 1 0: 3 -1: 4 -5: 5 -6:-64 -64 1019: -7 8: 4 5: 5 7: 5 3: 4 5: 3 6: 1 7: -1 7: -3 6: -4 5: -4 3: -3 2: -1 1: 2 0: 4 -1: 5 -2: -64 0: -4 4: -3 3: -1 2: 2 1: 4 0: 5 -1: 5 -4: 4 -5: 2 -6: 0 -6: -2 -5: -3 -4: -4 -2: -4 -6: -3 -4:-64 -64 1020: -7 8: 0 7: 0 -6: -64 0: 1 7: 1 -6: -64 0: -4 7: -5 3: -5 7: 6 7: 6 3: 5 7: -64 0: -2 -6: 3 -6:-64 -64 1021: -8 9: -4 7: -4 -3: -3 -5: -1 -6: 2 -6: 4 -5: 5 -3: 5 7: -64 0: -3 7: -3 -3: -2 -5: -1 -6: -64 0: -6 7: -1 7: -64 0: 3 7: 7 7:-64 -64 1022: -7 7: -5 7: 0 -6: -64 0: -4 7: 0 -3: -64 0: 5 7: 0 -6: -64 0: -7 7: -2 7: -64 0: 2 7: 7 7:-64 -64 1023: -9 9: -6 7: -3 -6: -64 0: -5 7: -3 -2: -64 0: 0 7: -3 -6: -64 0: 0 7: 3 -6: -64 0: 1 7: 3 -2: -64 0: 6 7: 3 -6: -64 0: -8 7: -3 7: -64 0: 4 7: 8 7:-64 -64 1024: -7 8: -4 7: 4 -6: -64 0: -3 7: 5 -6: -64 0: 5 7: -4 -6: -64 0: -6 7: -1 7: -64 0: 2 7: 7 7: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1025: -6 7: -4 7: 0 0: 0 -6: -64 0: -3 7: 1 0: -64 0: 5 7: 1 0: 1 -6: -64 0: -6 7: -1 7: -64 0: 2 7: 7 7: -64 0: -2 -6: 3 -6:-64 -64 1026: -6 7: 4 7: -4 -6: -64 0: 5 7: -3 -6: -64 0: -3 7: -4 3: -4 7: 5 7: -64 0: -4 -6: 5 -6: 5 -2: 4 -6:-64 -64 1027: -7 7: 0 7: -5 -6: -64 0: 0 4: 4 -6: -64 0: 0 7: 5 -6: -64 0: -3 -2: 2 -2: -64 0: -7 -6: -2 -6: -64 0: 2 -6: 7 -6:-64 -64 1028: -8 8: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: -6 7: 1 7: 4 6: 5 4: 4 2: 1 1: -64 0: 1 7: 3 6: 4 4: 3 2: 1 1: -64 0: -3 1: 1 1: 4 0: 5 -2: 5 -3: 4 -5: 1 -6: -6 -6: -64 0: 1 1: 3 0: 4 -2: 4 -3: 3 -5: 1 -6:-64 -64 1029: -7 6: -3 7: -3 -6: -64 0: -2 7: -2 -6: -64 0: -5 7: 5 7: 5 3: 4 7: -64 0: -5 -6: 0 -6:-64 -64 1030: -7 7: 0 7: -6 -6: -64 0: 0 5: 5 -6: -64 0: 0 7: 6 -6: -64 0: -5 -5: 4 -5: -64 0: -6 -6: 6 -6:-64 -64 1031: -8 7: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: 1 3: 1 -1: -64 0: -6 7: 4 7: 4 3: 3 7: -64 0: -3 1: 1 1: -64 0: -6 -6: 4 -6: 4 -2: 3 -6:-64 -64 1032: -6 7: 4 7: -4 -6: -64 0: 5 7: -3 -6: -64 0: -3 7: -4 3: -4 7: 5 7: -64 0: -4 -6: 5 -6: 5 -2: 4 -6:-64 -64 1033: -8 9: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: 4 7: 4 -6: -64 0: 5 7: 5 -6: -64 0: -6 7: -1 7: -64 0: 2 7: 7 7: -64 0: -3 1: 4 1: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1034: -7 8: -1 7: -3 6: -4 5: -5 2: -5 -1: -4 -4: -3 -5: -1 -6: 2 -6: 4 -5: 5 -4: 6 -1: 6 2: 5 5: 4 6: 2 7: -1 7: -64 0: -1 7: -3 5: -4 2: -4 -1: -3 -4: -1 -6: -64 0: 2 -6: 4 -4: 5 -1: 5 2: 4 5: 2 7: -64 0: -1 3: -1 -2: -64 0: 2 3: 2 -2: -64 0: -1 1: 2 1: -64 0: -1 0: 2 0:-64 -64 1035: -4 5: 0 7: 0 -6: -64 0: 1 7: 1 -6: -64 0: -2 7: 3 7: -64 0: -2 -6: 3 -6:-64 -64 1036: -8 8: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: 5 7: -3 -1: -64 0: -1 1: 4 -6: -64 0: 0 1: 5 -6: -64 0: -6 7: -1 7: -64 0: 2 7: 7 7: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1037: -7 7: 0 7: -5 -6: -64 0: 0 4: 4 -6: -64 0: 0 7: 5 -6: -64 0: -7 -6: -2 -6: -64 0: 2 -6: 7 -6:-64 -64 1038: -9 10: -5 7: -5 -6: -64 0: -4 4: 0 -6: -64 0: -4 7: 0 -3: -64 0: 5 7: 0 -6: -64 0: 5 7: 5 -6: -64 0: 6 7: 6 -6: -64 0: -7 7: -4 7: -64 0: 5 7: 8 7: -64 0: -7 -6: -3 -6: -64 0: 3 -6: 8 -6:-64 -64 1039: -8 8: -4 7: -4 -6: -64 0: -3 5: 4 -6: -64 0: -3 7: 4 -4: -64 0: 4 7: 4 -6: -64 0: -6 7: -3 7: -64 0: 2 7: 6 7: -64 0: -6 -6: -2 -6:-64 -64 1040: -8 8: -5 8: -6 5: -64 0: 6 8: 5 5: -64 0: -2 2: -3 -1: -64 0: 3 2: 2 -1: -64 0: -5 -4: -6 -7: -64 0: 6 -4: 5 -7: -64 0: -5 7: 5 7: -64 0: -5 6: 5 6: -64 0: -2 1: 2 1: -64 0: -2 0: 2 0: -64 0: -5 -5: 5 -5: -64 0: -5 -6: 5 -6:-64 -64 1041: -7 8: -1 7: -3 6: -4 5: -5 2: -5 -1: -4 -4: -3 -5: -1 -6: 2 -6: 4 -5: 5 -4: 6 -1: 6 2: 5 5: 4 6: 2 7: -1 7: -64 0: -1 7: -3 5: -4 2: -4 -1: -3 -4: -1 -6: -64 0: 2 -6: 4 -4: 5 -1: 5 2: 4 5: 2 7:-64 -64 1042: -8 9: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: 4 7: 4 -6: -64 0: 5 7: 5 -6: -64 0: -6 7: 7 7: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1043: -8 7: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: -6 7: 1 7: 4 6: 5 4: 5 3: 4 1: 1 0: -3 0: -64 0: 1 7: 3 6: 4 4: 4 3: 3 1: 1 0: -64 0: -6 -6: -1 -6:-64 -64 1044: -7 9: -5 7: 0 1: -64 0: -4 7: 1 1: -5 -6: -64 0: -5 7: 5 7: 6 3: 4 7: -64 0: -4 -5: 5 -5: -64 0: -5 -6: 5 -6: 6 -2: 4 -6:-64 -64 1045: -7 8: 0 7: 0 -6: -64 0: 1 7: 1 -6: -64 0: -4 7: -5 3: -5 7: 6 7: 6 3: 5 7: -64 0: -2 -6: 3 -6:-64 -64 1046: -7 8: -5 3: -4 6: -3 7: -2 7: -1 6: 0 3: 0 -6: -64 0: 6 3: 5 6: 4 7: 3 7: 2 6: 1 3: 1 -6: -64 0: -5 3: -4 5: -3 6: -2 6: -1 5: 0 3: -64 0: 6 3: 5 5: 4 6: 3 6: 2 5: 1 3: -64 0: -2 -6: 3 -6:-64 -64 1047: -7 8: 0 7: 0 -6: -64 0: 1 7: 1 -6: -64 0: -1 4: -4 3: -5 1: -5 0: -4 -2: -1 -3: 2 -3: 5 -2: 6 0: 6 1: 5 3: 2 4: -1 4: -64 0: -1 4: -3 3: -4 1: -4 0: -3 -2: -1 -3: -64 0: 2 -3: 4 -2: 5 0: 5 1: 4 3: 2 4: -64 0: -2 7: 3 7: -64 0: -2 -6: 3 -6:-64 -64 1048: -7 8: -4 7: 4 -6: -64 0: -3 7: 5 -6: -64 0: 5 7: -4 -6: -64 0: -6 7: -1 7: -64 0: 2 7: 7 7: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1049: -8 9: 0 7: 0 -6: -64 0: 1 7: 1 -6: -64 0: -6 2: -5 3: -4 3: -3 -1: -1 -3: -64 0: 2 -3: 4 -1: 5 3: 6 3: 7 2: -64 0: -5 3: -4 0: -3 -2: -1 -3: 2 -3: 4 -2: 5 0: 6 3: -64 0: -2 7: 3 7: -64 0: -2 -6: 3 -6:-64 -64 1050: -7 8: -5 -4: -4 -6: -1 -6: -5 0: -5 3: -4 5: -3 6: -1 7: 2 7: 4 6: 5 5: 6 3: 6 0: 2 -6: 5 -6: 6 -4: -64 0: -3 -3: -4 0: -4 3: -3 5: -1 7: -64 0: 2 7: 4 5: 5 3: 5 0: 4 -3: -64 0: -4 -5: -2 -5: -64 0: 3 -5: 5 -5:-64 -64 1051: -7 7: 2 7: -7 -6: -64 0: 1 5: 2 -6: -64 0: 2 7: 3 -6: -64 0: -4 -2: 2 -2: -64 0: -9 -6: -4 -6: -64 0: 0 -6: 5 -6:-64 -64 1052: -8 7: -2 7: -6 -6: -64 0: -1 7: -5 -6: -64 0: -4 7: 3 7: 5 6: 5 4: 4 2: 1 1: -64 0: 3 7: 4 6: 4 4: 3 2: 1 1: -64 0: -3 1: 0 1: 2 0: 3 -1: 3 -3: 2 -5: -1 -6: -8 -6: -64 0: 0 1: 2 -1: 2 -3: 1 -5: -1 -6:-64 -64 1053: -7 6: 4 6: 5 6: 6 7: 5 4: 4 6: 2 7: 0 7: -2 6: -3 5: -4 3: -5 0: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -3: -64 0: 0 7: -2 5: -3 3: -4 0: -4 -4: -2 -6:-64 -64 1054: -8 7: -2 7: -6 -6: -64 0: -1 7: -5 -6: -64 0: -4 7: 2 7: 4 6: 5 4: 5 1: 4 -2: 3 -4: 2 -5: -1 -6: -8 -6: -64 0: 2 7: 3 6: 4 4: 4 1: 3 -2: 2 -4: 1 -5: -1 -6:-64 -64 1055: -8 7: -2 7: -6 -6: -64 0: -1 7: -5 -6: -64 0: 1 3: 0 -1: -64 0: -4 7: 6 7: 5 4: 5 7: -64 0: -3 1: 0 1: -64 0: -8 -6: 2 -6: 3 -3: 1 -6:-64 -64 1056: -8 6: -2 7: -6 -6: -64 0: -1 7: -5 -6: -64 0: 1 3: 0 -1: -64 0: -4 7: 6 7: 5 4: 5 7: -64 0: -3 1: 0 1: -64 0: -8 -6: -3 -6:-64 -64 1057: -7 7: 4 6: 5 6: 6 7: 5 4: 4 6: 2 7: 0 7: -2 6: -3 5: -4 3: -5 0: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -4: 4 -1: -64 0: 0 7: -2 5: -3 3: -4 0: -4 -4: -2 -6: -64 0: 0 -6: 2 -4: 3 -1: -64 0: 1 -1: 6 -1:-64 -64 1058: -8 9: -2 7: -6 -6: -64 0: -1 7: -5 -6: -64 0: 6 7: 2 -6: -64 0: 7 7: 3 -6: -64 0: -4 7: 1 7: -64 0: 4 7: 9 7: -64 0: -3 1: 4 1: -64 0: -8 -6: -3 -6: -64 0: 0 -6: 5 -6:-64 -64 1059: -4 5: 2 7: -2 -6: -64 0: 3 7: -1 -6: -64 0: 0 7: 5 7: -64 0: -4 -6: 1 -6:-64 -64 1060: -6 6: 3 7: 0 -3: -1 -5: -2 -6: -64 0: 4 7: 1 -3: 0 -5: -2 -6: -3 -6: -5 -5: -6 -3: -5 -2: -4 -3: -5 -4: -64 0: 1 7: 6 7:-64 -64 1061: -8 8: -2 7: -6 -6: -64 0: -1 7: -5 -6: -64 0: 7 7: -3 0: -64 0: 0 2: 2 -6: -64 0: 1 2: 3 -6: -64 0: -4 7: 1 7: -64 0: 4 7: 9 7: -64 0: -8 -6: -3 -6: -64 0: 0 -6: 5 -6:-64 -64 1062: -7 6: -1 7: -5 -6: -64 0: 0 7: -4 -6: -64 0: -3 7: 2 7: -64 0: -7 -6: 3 -6: 4 -3: 2 -6:-64 -64 1063: -9 10: -3 7: -7 -6: -64 0: -3 5: -2 -6: -64 0: -2 7: -1 -4: -64 0: 7 7: -2 -6: -64 0: 7 7: 3 -6: -64 0: 8 7: 4 -6: -64 0: -5 7: -2 7: -64 0: 7 7: 10 7: -64 0: -9 -6: -5 -6: -64 0: 1 -6: 6 -6:-64 -64 1064: -8 8: -2 7: -6 -6: -64 0: -2 7: 2 -6: -64 0: -1 7: 2 -3: -64 0: 6 7: 2 -6: -64 0: -4 7: -1 7: -64 0: 4 7: 8 7: -64 0: -8 -6: -4 -6:-64 -64 1065: -7 7: 0 7: -2 6: -3 5: -4 3: -5 0: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -4: 4 -2: 5 1: 5 4: 4 6: 2 7: 0 7: -64 0: 0 7: -2 5: -3 3: -4 0: -4 -4: -2 -6: -64 0: 0 -6: 2 -4: 3 -2: 4 1: 4 5: 2 7:-64 -64 1066: -8 7: -2 7: -6 -6: -64 0: -1 7: -5 -6: -64 0: -4 7: 3 7: 5 6: 6 5: 6 3: 5 1: 2 0: -3 0: -64 0: 3 7: 5 5: 5 3: 4 1: 2 0: -64 0: -8 -6: -3 -6:-64 -64 1067: -7 7: 0 7: -2 6: -3 5: -4 3: -5 0: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -4: 4 -2: 5 1: 5 4: 4 6: 2 7: 0 7: -64 0: 0 7: -2 5: -3 3: -4 0: -4 -4: -2 -6: -64 0: 0 -6: 2 -4: 3 -2: 4 1: 4 5: 2 7: -64 0: -3 -5: -3 -4: -2 -3: -1 -3: 0 -4: 0 -8: 1 -9: 2 -9: 3 -8: -64 0: 0 -4: 1 -8: 2 -9:-64 -64 1068: -8 8: -2 7: -6 -6: -64 0: -1 7: -5 -6: -64 0: -4 7: 3 7: 5 6: 6 5: 6 3: 5 1: 2 0: -3 0: -64 0: 3 7: 5 5: 5 3: 4 1: 2 0: -64 0: 1 0: 2 -5: 3 -6: 4 -6: 5 -5: -64 0: 1 0: 2 -1: 3 -5: 4 -6: -64 0: -8 -6: -3 -6:-64 -64 1069: -7 8: 5 6: 6 6: 7 7: 6 4: 5 6: 3 7: 0 7: -2 6: -3 5: -3 3: -2 2: 3 -1: 4 -2: -64 0: -3 4: -2 3: 3 0: 4 -1: 4 -4: 3 -5: 1 -6: -2 -6: -4 -5: -5 -3: -6 -6: -5 -5: -4 -5:-64 -64 1070: -7 8: 2 7: -2 -6: -64 0: 3 7: -1 -6: -64 0: -2 7: -4 4: -3 7: 8 7: 7 4: 7 7: -64 0: -4 -6: 1 -6:-64 -64 1071: -8 9: -2 7: -5 -3: -5 -5: -3 -6: 1 -6: 3 -5: 4 -3: 7 7: -64 0: -1 7: -4 -3: -4 -5: -3 -6: -64 0: -4 7: 1 7: -64 0: 5 7: 9 7:-64 -64 1072: -7 7: -3 7: -2 -6: -64 0: -2 7: -1 -4: -64 0: 7 7: -2 -6: -64 0: -5 7: 0 7: -64 0: 4 7: 9 7:-64 -64 1073: -9 9: -4 7: -5 -6: -64 0: -3 7: -4 -4: -64 0: 2 7: -5 -6: -64 0: 2 7: 1 -6: -64 0: 3 7: 2 -4: -64 0: 8 7: 1 -6: -64 0: -6 7: -1 7: -64 0: 6 7: 10 7:-64 -64 1074: -7 8: -2 7: 2 -6: -64 0: -1 7: 3 -6: -64 0: 7 7: -6 -6: -64 0: -4 7: 1 7: -64 0: 4 7: 9 7: -64 0: -8 -6: -3 -6: -64 0: 0 -6: 5 -6:-64 -64 1075: -6 7: -2 7: 0 1: -2 -6: -64 0: -1 7: 1 1: -64 0: 7 7: 1 1: -1 -6: -64 0: -4 7: 1 7: -64 0: 4 7: 9 7: -64 0: -4 -6: 1 -6:-64 -64 1076: -6 7: 6 7: -6 -6: -64 0: 7 7: -5 -6: -64 0: -1 7: -3 4: -2 7: 7 7: -64 0: -6 -6: 3 -6: 4 -3: 2 -6:-64 -64 1101: -6 8: -1 3: -2 2: -2 1: -3 1: -3 2: -1 3: 2 3: 4 1: 4 -5: 5 -6: 6 -6: -64 0: 2 3: 3 1: 3 -5: 5 -6: -64 0: 3 0: 0 -1: -2 -2: -3 -3: -3 -5: -2 -6: 1 -6: 2 -5: 3 -3: -64 0: 0 -1: -2 -3: -2 -5: -1 -6:-64 -64 1102: -8 7: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: -3 0: -2 2: 0 3: 2 3: 4 2: 5 0: 5 -3: 4 -5: 2 -6: 0 -6: -2 -5: -3 -3: -64 0: 2 3: 3 2: 4 0: 4 -3: 3 -5: 2 -6: -64 0: -6 7: -3 7:-64 -64 1103: -6 6: 4 1: 3 1: 3 0: 4 0: 4 1: 3 2: 1 3: -1 3: -3 2: -4 0: -4 -3: -3 -5: -1 -6: 1 -6: 3 -5: 4 -4: -64 0: -1 3: -2 2: -3 0: -3 -3: -2 -5: -1 -6:-64 -64 1104: -6 9: 4 7: 4 -6: -64 0: 5 7: 5 -6: -64 0: 4 0: 3 2: 1 3: -1 3: -3 2: -4 0: -4 -3: -3 -5: -1 -6: 1 -6: 3 -5: 4 -3: -64 0: -1 3: -2 2: -3 0: -3 -3: -2 -5: -1 -6: -64 0: 2 7: 5 7: -64 0: 4 -6: 7 -6:-64 -64 1105: -6 6: -3 -1: 4 -1: 4 0: 3 2: 1 3: -1 3: -3 2: -4 0: -4 -3: -3 -5: -1 -6: 1 -6: 3 -5: 4 -4: -64 0: 3 -1: 3 1: 1 3: -64 0: -1 3: -2 2: -3 0: -3 -3: -2 -5: -1 -6:-64 -64 1106: -6 5: 2 7: 3 6: 3 5: 4 5: 4 6: 2 7: 0 7: -2 5: -2 -6: -64 0: 0 7: -1 5: -1 -6: -64 0: -4 3: 1 3: -64 0: -4 -6: 1 -6:-64 -64 1107: -6 7: -1 3: -3 1: -3 -1: -1 -3: 1 -3: 3 -1: 3 1: 1 3: -1 3: -64 0: -1 3: -2 1: -2 -1: -1 -3: -64 0: 1 -3: 2 -1: 2 1: 1 3: -64 0: 2 2: 3 3: 4 3: -64 0: -2 -2: -3 -3: -3 -6: -2 -7: 2 -7: 4 -8: -64 0: -3 -5: -2 -6: 2 -6: 4 -7: 4 -9: 2 -10: -2 -10: -4 -9: -4 -7: -2 -6:-64 -64 1108: -8 9: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: -3 0: -2 2: 0 3: 2 3: 4 2: 5 0: 5 -6: -64 0: 2 3: 3 2: 4 0: 4 -6: -64 0: -6 7: -3 7: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1109: -4 5: 0 7: 0 6: 1 6: 1 7: 0 7: -64 0: 0 3: 0 -6: -64 0: 1 3: 1 -6: -64 0: -2 3: 1 3: -64 0: -2 -6: 3 -6:-64 -64 1110: -4 5: 1 7: 1 6: 2 6: 2 7: 1 7: -64 0: 1 3: 1 -8: 0 -10: -64 0: 2 3: 2 -8: 0 -10: -2 -10: -3 -9: -3 -8: -2 -8: -2 -9: -3 -9: -64 0: -1 3: 2 3:-64 -64 1111: -8 8: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: 5 3: -3 -3: -64 0: 0 -1: 4 -6: -64 0: 1 -1: 5 -6: -64 0: -6 7: -3 7: -64 0: 2 3: 7 3: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1112: -4 5: 0 7: 0 -6: -64 0: 1 7: 1 -6: -64 0: -2 7: 1 7: -64 0: -2 -6: 3 -6:-64 -64 1113: -12 13: -8 3: -8 -6: -64 0: -7 3: -7 -6: -64 0: -7 0: -6 2: -4 3: -2 3: 0 2: 1 0: 1 -6: -64 0: -2 3: -1 2: 0 0: 0 -6: -64 0: 1 0: 2 2: 4 3: 6 3: 8 2: 9 0: 9 -6: -64 0: 6 3: 7 2: 8 0: 8 -6: -64 0: -10 3: -7 3: -64 0: -10 -6: -5 -6: -64 0: -2 -6: 3 -6: -64 0: 6 -6: 11 -6:-64 -64 1114: -8 9: -4 3: -4 -6: -64 0: -3 3: -3 -6: -64 0: -3 0: -2 2: 0 3: 2 3: 4 2: 5 0: 5 -6: -64 0: 2 3: 3 2: 4 0: 4 -6: -64 0: -6 3: -3 3: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1115: -6 7: -1 3: -3 2: -4 0: -4 -3: -3 -5: -1 -6: 2 -6: 4 -5: 5 -3: 5 0: 4 2: 2 3: -1 3: -64 0: -1 3: -2 2: -3 0: -3 -3: -2 -5: -1 -6: -64 0: 2 -6: 3 -5: 4 -3: 4 0: 3 2: 2 3:-64 -64 1116: -8 7: -4 3: -4 -10: -64 0: -3 3: -3 -10: -64 0: -3 0: -2 2: 0 3: 2 3: 4 2: 5 0: 5 -3: 4 -5: 2 -6: 0 -6: -2 -5: -3 -3: -64 0: 2 3: 3 2: 4 0: 4 -3: 3 -5: 2 -6: -64 0: -6 3: -3 3: -64 0: -6 -10: -1 -10:-64 -64 1117: -7 7: 3 3: 3 -10: -64 0: 4 3: 4 -10: -64 0: 3 0: 2 2: 0 3: -2 3: -4 2: -5 0: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -3: -64 0: -2 3: -3 2: -4 0: -4 -3: -3 -5: -2 -6: -64 0: 1 -10: 6 -10:-64 -64 1118: -7 6: -3 3: -3 -6: -64 0: -2 3: -2 -6: -64 0: -2 0: -1 2: 1 3: 3 3: 4 2: 4 1: 3 1: 3 2: 4 2: -64 0: -5 3: -2 3: -64 0: -5 -6: 0 -6:-64 -64 1119: -6 7: 2 3: 3 2: 3 1: 4 1: 4 2: 2 3: -1 3: -3 2: -3 0: -1 -1: 2 -2: 4 -3: -64 0: -3 1: -1 0: 2 -1: 4 -2: 4 -5: 2 -6: -1 -6: -3 -5: -3 -4: -2 -4: -2 -5: -1 -6:-64 -64 1120: -6 5: -2 7: -2 -4: 0 -6: 2 -6: 3 -5: 3 -4: -64 0: -1 7: -1 -4: 0 -6: -64 0: -4 3: 2 3:-64 -64 1121: -8 9: -4 3: -4 -3: -3 -5: -1 -6: 1 -6: 3 -5: 4 -3: -64 0: -3 3: -3 -3: -2 -5: -1 -6: -64 0: 4 3: 4 -6: -64 0: 5 3: 5 -6: -64 0: -6 3: -3 3: -64 0: 2 3: 5 3: -64 0: 4 -6: 7 -6:-64 -64 1122: -7 7: -4 3: 0 -6: -64 0: -3 3: 0 -4: -64 0: 4 3: 0 -6: -64 0: -6 3: -1 3: -64 0: 2 3: 6 3:-64 -64 1123: -9 9: -6 3: -3 -6: -64 0: -5 3: -3 -3: -64 0: 0 3: -3 -6: -64 0: 0 3: 3 -6: -64 0: 1 3: 3 -3: -64 0: 6 3: 3 -6: -64 0: -8 3: -3 3: -64 0: 4 3: 8 3:-64 -64 1124: -7 7: -4 3: 3 -6: -64 0: -3 3: 4 -6: -64 0: 4 3: -4 -6: -64 0: -6 3: -1 3: -64 0: 2 3: 6 3: -64 0: -6 -6: -2 -6: -64 0: 1 -6: 6 -6:-64 -64 1125: -7 7: -4 3: 0 -6: -64 0: -3 3: 0 -4: -64 0: 4 3: 0 -6: -2 -9: -4 -10: -5 -10: -6 -9: -6 -8: -5 -8: -5 -9: -6 -9: -64 0: -6 3: -1 3: -64 0: 2 3: 6 3:-64 -64 1126: -6 6: 3 3: -4 -6: -64 0: 4 3: -3 -6: -64 0: -3 3: -4 1: -4 3: 4 3: -64 0: -4 -6: 4 -6: 4 -4: 3 -6:-64 -64 1127: -7 9: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: -1 -6: 1 -5: 3 -3: 5 0: 6 3: -64 0: -1 3: -3 1: -4 -1: -4 -3: -3 -5: -2 -6: -64 0: -1 3: 1 3: 3 2: 5 -5: 6 -6: -64 0: 1 3: 2 2: 4 -5: 6 -6: 7 -6:-64 -64 1128: -7 6: 0 7: -2 5: -3 3: -5 -3: -7 -10: -64 0: -1 6: -2 4: -4 -2: -6 -10: -64 0: 0 7: 2 7: 4 6: 4 4: 3 2: 0 1: -64 0: 2 7: 3 6: 3 4: 2 2: 0 1: -64 0: 0 1: 2 0: 3 -2: 3 -4: 2 -5: 0 -6: -1 -6: -3 -5: -4 -2: -64 0: 0 1: 1 0: 2 -2: 2 -4: 0 -6:-64 -64 1129: -7 7: -6 1: -4 3: -2 3: 0 2: 1 -1: 1 -6: 0 -10: -64 0: -6 1: -4 2: -2 2: 0 1: 1 -1: -64 0: 5 3: 4 0: 1 -6: -1 -10:-64 -64 1130: -7 7: 1 3: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -4: 4 -2: 4 0: 3 2: 0 4: -1 6: -1 7: 0 8: 2 8: 3 7: 4 5: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6: -64 0: 0 -6: 2 -4: 3 -2: 3 1: 1 3: -64 0: -1 6: 0 7: 2 7: 4 5:-64 -64 1131: -6 6: 4 2: 2 3: -1 3: -3 2: -3 1: -2 0: 0 -1: -64 0: -1 3: -2 2: -2 1: 0 -1: -64 0: 0 -1: -3 -2: -4 -3: -4 -5: -2 -6: 1 -6: 3 -5: -64 0: 0 -1: -2 -2: -3 -3: -3 -5: -2 -6:-64 -64 1132: -6 5: 0 7: -1 6: -1 5: 1 4: 4 4: 4 5: 1 4: -2 3: -3 2: -4 0: -4 -2: -3 -4: -2 -5: 0 -6: 1 -7: 1 -9: 0 -10: -2 -10: -3 -9: -64 0: 1 4: -1 3: -2 2: -3 0: -3 -2: -2 -4: 0 -6:-64 -64 1133: -9 7: -8 0: -7 2: -6 3: -4 3: -3 2: -3 1: -5 -6: -64 0: -5 3: -4 2: -4 1: -6 -6: -64 0: -3 1: -2 2: 0 3: 2 3: 4 2: 4 0: 1 -10: -64 0: 2 3: 3 2: 3 0: 0 -10:-64 -64 1134: -9 7: -8 -1: -7 1: -6 2: -4 2: -3 1: -3 -4: -2 -6: -64 0: -5 2: -4 1: -4 -3: -3 -5: -2 -6: -1 -6: 1 -5: 2 -4: 3 -2: 4 1: 4 4: 3 6: 2 7: 0 7: -1 6: -1 4: 0 2: 3 0: 5 -1: -64 0: -1 -6: 1 -4: 2 -2: 3 1: 3 4: 2 7:-64 -64 1135: -4 5: 0 3: -2 -4: -2 -5: -1 -6: 1 -6: 3 -5: 4 -3: -64 0: 1 3: -1 -4: -1 -5: 0 -6:-64 -64 1136: -7 7: -3 3: -6 -6: -64 0: -2 3: -5 -6: -64 0: 3 3: 4 2: 5 2: 4 3: 2 3: 0 1: -3 0: -64 0: -3 0: -2 -1: 0 -5: 2 -6: 4 -5: 5 -3: -64 0: -3 0: -1 -1: 1 -5: 2 -6:-64 -64 1137: -6 6: -6 7: -4 7: -2 6: 5 -6: -64 0: -4 7: -3 6: 4 -6: -64 0: 0 2: -5 -6: -64 0: 0 2: -4 -6:-64 -64 1138: -7 8: -3 3: -7 -10: -64 0: -2 3: -6 -10: -64 0: -4 -3: -4 -5: -3 -6: -1 -6: 1 -5: 2 -4: -64 0: 4 3: 2 -4: 2 -5: 3 -6: 5 -6: 6 -5: 7 -3: -64 0: 5 3: 3 -4: 3 -5: 4 -6:-64 -64 1139: -8 7: -4 3: -5 -6: -64 0: -3 3: -4 -3: -5 -6: -64 0: 4 0: 4 3: 5 3: 4 0: 2 -3: -1 -5: -4 -6: -5 -6: -64 0: -6 3: -3 3:-64 -64 1140: -5 6: 0 7: -1 6: -1 5: 1 4: 4 4: -64 0: 2 4: -1 3: -2 2: -2 0: 0 -1: 3 -1: -64 0: 2 4: 0 3: -1 2: -1 0: 0 -1: -64 0: 1 -1: -2 -2: -3 -3: -3 -5: -1 -6: 1 -7: 2 -8: 2 -9: 1 -10: -1 -10: -64 0: 1 -1: -1 -2: -2 -3: -2 -5: -1 -6:-64 -64 1141: -7 6: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -4: 4 -2: 4 0: 3 2: 1 3: -1 3: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6: -64 0: 0 -6: 2 -4: 3 -2: 3 1: 1 3:-64 -64 1142: -9 8: -2 2: -5 -6: -64 0: -2 2: -4 -6: -64 0: 2 2: 1 -6: -64 0: 2 2: 2 -6: -64 0: -7 1: -5 3: 6 3: -64 0: -7 1: -5 2: 6 2:-64 -64 1143: -8 6: 1 3: -1 3: -3 2: -4 1: -5 -1: -8 -10: -64 0: -1 3: -3 1: -4 -1: -7 -10: -64 0: 1 3: 3 2: 4 0: 4 -2: 3 -4: 2 -5: 0 -6: -2 -6: -4 -5: -5 -3: -64 0: 1 3: 3 1: 3 -2: 2 -4: 0 -6:-64 -64 1144: -7 9: 7 3: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -4: 4 -2: 4 0: 3 2: 7 2: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6: -64 0: 0 -6: 2 -4: 3 -2: 3 1: 1 3:-64 -64 1145: -7 8: 1 2: -1 -6: -64 0: 1 2: 0 -6: -64 0: -5 1: -3 3: 6 3: -64 0: -5 1: -3 2: 6 2:-64 -64 1146: -8 6: -7 0: -6 2: -5 3: -3 3: -2 2: -2 0: -3 -3: -3 -5: -2 -6: -64 0: -4 3: -3 2: -3 0: -4 -3: -4 -5: -2 -6: -1 -6: 1 -5: 3 -3: 4 0: 4 3: 3 3: 4 2:-64 -64 1147: -7 8: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 3 -5: 5 -3: 6 0: 6 2: 5 3: 3 3: 2 2: 1 0: 0 -3: -3 -10: -64 0: -5 -3: -4 -4: -2 -5: 0 -5: 3 -4: 5 -2: 6 0: -64 0: 6 1: 5 2: 3 2: 1 0: -64 0: 0 -3: -1 -6: -2 -10:-64 -64 1148: -7 6: -5 3: -4 3: -2 2: 1 -9: 2 -10: -64 0: -4 3: -3 2: 0 -9: 2 -10: 3 -10: -64 0: 4 3: 2 0: -4 -7: -6 -10:-64 -64 1149: -9 9: 2 7: -1 -10: -64 0: 3 7: -2 -10: -64 0: -8 0: -7 2: -6 3: -4 3: -3 2: -3 -4: -2 -5: 1 -5: 3 -4: 5 -2: -64 0: -5 3: -4 2: -4 -2: -3 -5: -2 -6: 1 -6: 3 -5: 5 -2: 6 0: 7 3:-64 -64 1150: -8 8: -4 2: -2 2: -2 3: -4 2: -5 1: -6 -1: -6 -3: -5 -5: -4 -6: -2 -6: -1 -5: 0 -3: 1 0: -64 0: -6 -3: -4 -5: -2 -5: 0 -3: -64 0: 0 0: 0 -5: 1 -6: 3 -6: 5 -4: 6 -2: 6 0: 5 2: 4 3: 4 2: 5 2: -64 0: 0 -3: 1 -5: 3 -5: 5 -4:-64 -64 1151: -7 8: 4 3: 2 -4: 2 -5: 3 -6: 5 -6: 6 -5: 7 -3: -64 0: 5 3: 3 -4: 3 -5: 4 -6: -64 0: 3 -1: 3 1: 1 3: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -4: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6:-64 -64 1152: -8 6: -3 7: -5 0: -64 0: -2 7: -4 0: -4 -4: -2 -6: -64 0: -4 0: -3 2: -1 3: 1 3: 3 2: 4 0: 4 -2: 3 -4: 2 -5: 0 -6: -2 -6: -4 -5: -5 -3: -5 0: -64 0: 1 3: 3 1: 3 -2: 2 -4: 0 -6: -64 0: -5 7: -2 7:-64 -64 1153: -7 6: 3 2: 3 1: 4 1: 3 2: 1 3: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -4: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6:-64 -64 1154: -7 8: 5 7: 2 -4: 2 -5: 3 -6: 5 -6: 6 -5: 7 -3: -64 0: 6 7: 3 -4: 3 -5: 4 -6: -64 0: 3 -1: 3 1: 1 3: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -4: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6: -64 0: 3 7: 6 7:-64 -64 1155: -7 5: -4 -3: 0 -2: 2 -1: 3 0: 3 2: 1 3: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -4: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6:-64 -64 1156: -5 6: 5 7: 6 6: 6 7: 4 7: 2 6: 1 4: -2 -7: -3 -9: -4 -10: -64 0: 4 7: 3 6: 2 4: -1 -7: -2 -9: -4 -10: -6 -10: -6 -9: -5 -10: -64 0: -2 3: 4 3:-64 -64 1157: -7 7: 4 3: 2 -4: 1 -7: 0 -9: -64 0: 5 3: 3 -4: 2 -7: 0 -9: -2 -10: -5 -10: -6 -9: -5 -9: -4 -10: -64 0: 3 -1: 3 1: 1 3: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -4: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6:-64 -64 1158: -7 8: -2 7: -6 -6: -64 0: -1 7: -5 -6: -64 0: -3 1: -2 2: 0 3: 2 3: 4 2: 4 0: 3 -3: 3 -5: 4 -6: -64 0: 2 3: 3 2: 3 0: 2 -3: 2 -5: 3 -6: 5 -6: 6 -5: 7 -3: -64 0: -4 7: -1 7:-64 -64 1159: -5 5: 1 7: 1 6: 2 6: 2 7: 1 7: -64 0: -4 0: -3 2: -2 3: 0 3: 1 2: 1 0: 0 -3: 0 -5: 1 -6: -64 0: -1 3: 0 2: 0 0: -1 -3: -1 -5: 0 -6: 2 -6: 3 -5: 4 -3:-64 -64 1160: -5 5: 2 7: 2 6: 3 6: 3 7: 2 7: -64 0: -3 0: -2 2: -1 3: 1 3: 2 2: 2 0: 0 -7: -1 -9: -3 -10: -5 -10: -5 -9: -4 -10: -64 0: 0 3: 1 2: 1 0: -1 -7: -2 -9: -3 -10:-64 -64 1161: -7 6: -2 7: -6 -6: -64 0: -1 7: -5 -6: -64 0: 4 2: 3 1: 4 1: 4 2: 3 3: 2 3: 0 1: -2 0: -3 0: -64 0: -3 0: -2 -1: -1 -5: 0 -6: 2 -6: 3 -5: 4 -3: -64 0: -3 0: -1 -1: 0 -5: 1 -6: -64 0: -4 7: -1 7:-64 -64 1162: -4 4: 1 7: -2 -4: -2 -5: -1 -6: 1 -6: 2 -5: 3 -3: -64 0: 2 7: -1 -4: -1 -5: 0 -6: -64 0: -1 7: 2 7:-64 -64 1163: -12 12: -11 0: -10 2: -9 3: -7 3: -6 2: -6 1: -8 -6: -64 0: -8 3: -7 2: -7 1: -9 -6: -64 0: -6 1: -5 2: -3 3: -1 3: 1 2: 1 1: -1 -6: -64 0: -1 3: 0 2: 0 1: -2 -6: -64 0: 1 1: 2 2: 4 3: 6 3: 8 2: 8 0: 7 -3: 7 -5: 8 -6: -64 0: 6 3: 7 2: 7 0: 6 -3: 6 -5: 7 -6: 9 -6: 10 -5: 11 -3:-64 -64 1164: -8 9: -7 0: -6 2: -5 3: -3 3: -2 2: -2 1: -4 -6: -64 0: -4 3: -3 2: -3 1: -5 -6: -64 0: -2 1: -1 2: 1 3: 3 3: 5 2: 5 0: 4 -3: 4 -5: 5 -6: -64 0: 3 3: 4 2: 4 0: 3 -3: 3 -5: 4 -6: 6 -6: 7 -5: 8 -3:-64 -64 1165: -7 6: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -4: 4 -2: 4 0: 3 2: 1 3: -1 3: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6: -64 0: 0 -6: 2 -4: 3 -2: 3 1: 1 3:-64 -64 1166: -8 7: -7 0: -6 2: -5 3: -3 3: -2 2: -2 1: -5 -10: -64 0: -4 3: -3 2: -3 1: -6 -10: -64 0: -2 1: 0 3: 2 3: 4 2: 5 0: 5 -2: 4 -4: 3 -5: 1 -6: -1 -6: -3 -4: -3 -2: -64 0: 2 3: 4 1: 4 -2: 3 -4: 1 -6: -64 0: -8 -10: -3 -10:-64 -64 1167: -7 7: 4 3: 0 -10: -64 0: 5 3: 1 -10: -64 0: 3 -1: 3 1: 1 3: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -4: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6: -64 0: -2 -10: 3 -10:-64 -64 1168: -6 6: -5 0: -4 2: -3 3: -1 3: 0 2: 0 1: -2 -6: -64 0: -2 3: -1 2: -1 1: -3 -6: -64 0: 0 1: 1 2: 3 3: 4 3: 5 2: 5 1: 4 1: 5 2:-64 -64 1169: -6 7: 4 2: 4 1: 5 1: 4 2: 2 3: -1 3: -3 2: -3 0: -1 -1: 2 -2: 4 -3: -64 0: -3 1: -1 0: 2 -1: 4 -2: 4 -5: 2 -6: -1 -6: -3 -5: -4 -4: -3 -4: -3 -5:-64 -64 1170: -4 5: 1 7: -2 -4: -2 -5: -1 -6: 1 -6: 2 -5: 3 -3: -64 0: 2 7: -1 -4: -1 -5: 0 -6: -64 0: -2 3: 3 3:-64 -64 1171: -9 8: -8 0: -7 2: -6 3: -4 3: -3 2: -3 0: -4 -3: -4 -5: -3 -6: -64 0: -5 3: -4 2: -4 0: -5 -3: -5 -5: -3 -6: -1 -6: 1 -5: 2 -4: -64 0: 4 3: 2 -4: 2 -5: 3 -6: 5 -6: 6 -5: 7 -3: -64 0: 5 3: 3 -4: 3 -5: 4 -6:-64 -64 1172: -8 6: -7 0: -6 2: -5 3: -3 3: -2 2: -2 0: -3 -3: -3 -5: -2 -6: -64 0: -4 3: -3 2: -3 0: -4 -3: -4 -5: -2 -6: -1 -6: 1 -5: 3 -3: 4 0: 4 3: 3 3: 4 2:-64 -64 1173: -10 10: -9 0: -8 2: -7 3: -5 3: -4 2: -4 0: -5 -3: -5 -5: -4 -6: -64 0: -6 3: -5 2: -5 0: -6 -3: -6 -5: -4 -6: -3 -6: -1 -5: 0 -4: -64 0: 2 3: 0 -4: 0 -5: 2 -6: -64 0: 3 3: 1 -4: 1 -5: 2 -6: 3 -6: 5 -5: 7 -3: 8 0: 8 3: 7 3: 8 2:-64 -64 1174: -8 8: -5 0: -4 2: -2 3: 0 3: 1 2: 1 0: -64 0: -1 3: 0 2: 0 0: -1 -3: -2 -5: -4 -6: -5 -6: -6 -5: -6 -4: -5 -4: -6 -5: -64 0: 6 2: 5 1: 6 1: 6 2: 5 3: 4 3: 2 2: 1 0: 0 -3: 0 -5: 1 -6: -64 0: -1 -3: -1 -5: 0 -6: 2 -6: 4 -5: 5 -3:-64 -64 1175: -9 7: -8 0: -7 2: -6 3: -4 3: -3 2: -3 0: -4 -3: -4 -5: -3 -6: -64 0: -5 3: -4 2: -4 0: -5 -3: -5 -5: -3 -6: -1 -6: 1 -5: 2 -4: -64 0: 4 3: 2 -4: 1 -7: 0 -9: -64 0: 5 3: 3 -4: 2 -7: 0 -9: -2 -10: -5 -10: -6 -9: -5 -9: -4 -10:-64 -64 1176: -7 7: 5 3: 5 2: 4 1: -4 -4: -5 -5: -5 -6: -64 0: -4 1: -3 3: 0 3: 3 1: -64 0: -3 2: 0 2: 3 1: 4 1: -64 0: -4 -4: -3 -4: 0 -5: 3 -5: -64 0: -3 -4: 0 -6: 3 -6: 4 -4:-64 -64 1177: -10 9: 0 7: 1 6: 1 5: 2 5: 2 6: 0 7: -3 7: -5 6: -6 4: -6 -6: -64 0: -3 7: -4 6: -5 4: -5 -6: -64 0: 6 7: 7 6: 7 5: 8 5: 8 6: 6 7: 4 7: 2 5: 2 -6: -64 0: 4 7: 3 5: 3 -6: -64 0: -8 3: 5 3: -64 0: -8 -6: -3 -6: -64 0: 0 -6: 5 -6:-64 -64 1178: -8 9: 3 7: 4 6: 5 6: 5 7: -1 7: -3 6: -4 4: -4 -6: -64 0: -1 7: -2 6: -3 4: -3 -6: -64 0: 4 3: 4 -6: -64 0: 5 3: 5 -6: -64 0: -6 3: 5 3: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1179: -8 9: 5 7: -1 7: -3 6: -4 4: -4 -6: -64 0: -1 7: -2 6: -3 4: -3 -6: -64 0: 3 7: 4 6: 4 -6: -64 0: 5 7: 5 -6: -64 0: -6 3: 4 3: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1180: -12 13: -2 7: -1 6: -1 5: 0 5: 0 6: -2 7: -5 7: -7 6: -8 4: -8 -6: -64 0: -5 7: -6 6: -7 4: -7 -6: -64 0: 7 7: 8 6: 9 6: 9 7: 3 7: 1 6: 0 4: 0 -6: -64 0: 3 7: 2 6: 1 4: 1 -6: -64 0: 8 3: 8 -6: -64 0: 9 3: 9 -6: -64 0: -10 3: 9 3: -64 0: -10 -6: -5 -6: -64 0: -2 -6: 3 -6: -64 0: 6 -6: 11 -6:-64 -64 1181: -12 13: -2 7: -1 6: -1 5: 0 5: 0 6: -2 7: -5 7: -7 6: -8 4: -8 -6: -64 0: -5 7: -6 6: -7 4: -7 -6: -64 0: 9 7: 3 7: 1 6: 0 4: 0 -6: -64 0: 3 7: 2 6: 1 4: 1 -6: -64 0: 7 7: 8 6: 8 -6: -64 0: 9 7: 9 -6: -64 0: -10 3: 8 3: -64 0: -10 -6: -5 -6: -64 0: -2 -6: 3 -6: -64 0: 6 -6: 11 -6:-64 -64 1182: -4 5: 0 3: 0 -6: -64 0: 1 3: 1 -6: -64 0: -2 3: 1 3: -64 0: -2 -6: 3 -6:-64 -64 1184: -6 6: 4 2: 2 3: 0 3: -2 2: -3 1: -4 -1: -4 -3: -3 -5: -1 -6: 1 -6: 3 -5: -64 0: 0 3: -2 1: -3 -1: -3 -4: -1 -6: -64 0: -3 -1: 1 -1:-64 -64 1185: -6 7: 1 7: -1 6: -2 5: -3 3: -4 0: -4 -3: -3 -5: -2 -6: 0 -6: 2 -5: 3 -4: 4 -2: 5 1: 5 4: 4 6: 3 7: 1 7: -64 0: 1 7: -1 5: -2 3: -3 -1: -3 -4: -2 -6: -64 0: 0 -6: 2 -4: 3 -2: 4 2: 4 5: 3 7: -64 0: -3 1: 4 1:-64 -64 1186: -7 8: 2 7: -1 -10: -64 0: 3 7: -2 -10: -64 0: -1 3: -4 2: -5 0: -5 -3: -4 -5: -1 -6: 2 -6: 5 -5: 6 -3: 6 0: 5 2: 2 3: -1 3: -64 0: -1 3: -3 2: -4 0: -4 -3: -3 -5: -1 -6: -64 0: 2 -6: 4 -5: 5 -3: 5 0: 4 2: 2 3:-64 -64 1187: -6 6: 3 2: 4 0: 4 1: 3 2: 1 3: -1 3: -3 2: -4 0: -4 -2: -3 -4: 0 -6: -64 0: -1 3: -3 1: -3 -2: -2 -4: 0 -6: 1 -7: 1 -9: 0 -10: -2 -10:-64 -64 1191: -9 9: 4 7: 5 6: 6 6: 4 7: 1 7: -1 6: -2 5: -3 3: -6 -7: -7 -9: -8 -10: -64 0: 1 7: -1 5: -2 3: -5 -7: -6 -9: -8 -10: -10 -10: -10 -9: -9 -10: -64 0: 8 7: 9 6: 9 7: 7 7: 5 6: 4 4: 1 -7: 0 -9: -1 -10: -64 0: 7 7: 6 6: 5 4: 2 -7: 1 -9: -1 -10: -3 -10: -3 -9: -2 -10: -64 0: -6 3: 7 3:-64 -64 1192: -9 8: 4 7: 5 6: 6 6: 6 7: 1 7: -1 6: -2 5: -3 3: -6 -7: -7 -9: -8 -10: -64 0: 1 7: -1 5: -2 3: -5 -7: -6 -9: -8 -10: -10 -10: -10 -9: -9 -10: -64 0: 4 3: 2 -4: 2 -5: 3 -6: 5 -6: 6 -5: 7 -3: -64 0: 5 3: 3 -4: 3 -5: 4 -6: -64 0: -6 3: 5 3:-64 -64 1193: -9 8: 4 7: 5 6: -64 0: 6 7: 1 7: -1 6: -2 5: -3 3: -6 -7: -7 -9: -8 -10: -64 0: 1 7: -1 5: -2 3: -5 -7: -6 -9: -8 -10: -10 -10: -10 -9: -9 -10: -64 0: 5 7: 2 -4: 2 -5: 3 -6: 5 -6: 6 -5: 7 -3: -64 0: 6 7: 3 -4: 3 -5: 4 -6: -64 0: -6 3: 4 3:-64 -64 1194: -12 12: 1 7: 2 6: 2 5: -64 0: 3 6: 1 7: -2 7: -4 6: -5 5: -6 3: -9 -7: -10 -9: -11 -10: -64 0: -2 7: -4 5: -5 3: -8 -7: -9 -9: -11 -10: -13 -10: -13 -9: -12 -10: -64 0: 8 7: 9 6: 10 6: 10 7: 5 7: 3 6: -64 0: 2 5: 1 3: -2 -7: -3 -9: -4 -10: -64 0: 5 7: 3 5: 2 3: -1 -7: -2 -9: -4 -10: -6 -10: -6 -9: -5 -10: -64 0: 8 3: 6 -4: 6 -5: 7 -6: 9 -6: 10 -5: 11 -3: -64 0: 9 3: 7 -4: 7 -5: 8 -6: -64 0: -9 3: 9 3:-64 -64 1195: -12 12: 1 7: 2 6: 2 5: -64 0: 3 6: 1 7: -2 7: -4 6: -5 5: -6 3: -9 -7: -10 -9: -11 -10: -64 0: -2 7: -4 5: -5 3: -8 -7: -9 -9: -11 -10: -13 -10: -13 -9: -12 -10: -64 0: 8 7: 9 6: -64 0: 10 7: 5 7: 3 6: -64 0: 2 5: 1 3: -2 -7: -3 -9: -4 -10: -64 0: 5 7: 3 5: 2 3: -1 -7: -2 -9: -4 -10: -6 -10: -6 -9: -5 -10: -64 0: 9 7: 6 -4: 6 -5: 7 -6: 9 -6: 10 -5: 11 -3: -64 0: 10 7: 7 -4: 7 -5: 8 -6: -64 0: -9 3: 8 3:-64 -64 1196: -5 5: -4 0: -3 2: -2 3: 0 3: 1 2: 1 0: 0 -3: 0 -5: 1 -6: -64 0: -1 3: 0 2: 0 0: -1 -3: -1 -5: 0 -6: 2 -6: 3 -5: 4 -3:-64 -64 1197: 0 0:-64 -64 1198: -3 3:-64 -64 1199: -6 6:-64 -64 1200: -6 7: -1 7: -3 6: -4 3: -4 -2: -3 -5: -1 -6: 2 -6: 4 -5: 5 -2: 5 3: 4 6: 2 7: -1 7: -64 0: -1 7: -2 6: -3 3: -3 -2: -2 -5: -1 -6: -64 0: 2 -6: 3 -5: 4 -2: 4 3: 3 6: 2 7:-64 -64 1201: -6 7: -2 4: 1 7: 1 -6: -64 0: 0 6: 0 -6: -64 0: -3 -6: 4 -6:-64 -64 1202: -6 7: -3 5: -3 4: -4 4: -4 5: -3 6: -1 7: 2 7: 4 6: 5 4: 4 2: 2 1: -1 0: -3 -1: -4 -3: -4 -6: -64 0: 2 7: 3 6: 4 4: 3 2: 2 1: -64 0: -4 -5: -3 -4: -2 -4: 1 -5: 4 -5: 5 -4: -64 0: -2 -4: 1 -6: 4 -6: 5 -4: 5 -3:-64 -64 1203: -6 7: -3 5: -3 4: -4 4: -4 5: -3 6: -1 7: 2 7: 4 6: 5 4: 4 2: 2 1: -64 0: 2 7: 3 6: 4 4: 3 2: 2 1: -64 0: 0 1: 2 1: 4 0: 5 -2: 5 -3: 4 -5: 2 -6: -1 -6: -3 -5: -4 -4: -4 -3: -3 -3: -3 -4: -64 0: 2 1: 3 0: 4 -2: 4 -3: 3 -5: 2 -6:-64 -64 1204: -6 7: 1 5: 1 -6: -64 0: 2 7: 2 -6: -64 0: 2 7: -5 -2: 6 -2: -64 0: -1 -6: 4 -6:-64 -64 1205: -6 7: -3 7: -4 1: -64 0: -3 7: 4 7: -64 0: -3 6: 1 6: 4 7: -64 0: -4 1: -3 2: -1 3: 2 3: 4 2: 5 0: 5 -3: 4 -5: 2 -6: -1 -6: -3 -5: -4 -4: -4 -3: -3 -3: -3 -4: -64 0: 2 3: 3 2: 4 0: 4 -3: 3 -5: 2 -6:-64 -64 1206: -6 7: 4 5: 4 4: 5 4: 5 5: 4 6: 2 7: 0 7: -2 6: -3 5: -4 2: -4 -3: -3 -5: -1 -6: 2 -6: 4 -5: 5 -3: 5 -1: 4 1: 2 2: -1 2: -4 0: -64 0: 0 7: -2 5: -3 2: -3 -3: -2 -5: -1 -6: -64 0: 2 -6: 3 -5: 4 -3: 4 -1: 3 1: 2 2:-64 -64 1207: -6 7: -4 7: -4 3: -64 0: 4 5: 0 -2: -2 -6: -64 0: 5 7: 2 1: -1 -6: -64 0: -4 5: -2 7: 0 7: 3 5: -64 0: -4 5: -2 6: 0 6: 3 5: 4 5:-64 -64 1208: -6 7: -1 7: -3 6: -4 4: -3 2: -1 1: 2 1: 4 2: 5 4: 4 6: 2 7: -1 7: -64 0: -1 7: -2 6: -3 4: -2 2: -1 1: -64 0: 2 1: 3 2: 4 4: 3 6: 2 7: -64 0: -1 1: -3 0: -4 -2: -4 -3: -3 -5: -1 -6: 2 -6: 4 -5: 5 -3: 5 -2: 4 0: 2 1: -64 0: -1 1: -2 0: -3 -2: -3 -3: -2 -5: -1 -6: -64 0: 2 -6: 3 -5: 4 -3: 4 -2: 3 0: 2 1:-64 -64 1209: -6 7: -3 -4: -3 -3: -4 -3: -4 -4: -3 -5: -1 -6: 1 -6: 3 -5: 4 -4: 5 -1: 5 4: 4 6: 2 7: -1 7: -3 6: -4 4: -4 2: -3 0: -1 -1: 2 -1: 5 1: -64 0: 1 -6: 3 -4: 4 -1: 4 4: 3 6: 2 7: -64 0: -1 7: -2 6: -3 4: -3 2: -2 0: -1 -1:-64 -64 1210: -4 4: 0 -4: -1 -5: 0 -6: 1 -5: 0 -4:-64 -64 1211: -4 4: 1 -5: 0 -6: -1 -5: 0 -4: 1 -5: 1 -7: -1 -9:-64 -64 1212: -4 4: 0 3: -1 2: 0 1: 1 2: 0 3: -64 0: 0 -4: -1 -5: 0 -6: 1 -5: 0 -4:-64 -64 1213: -4 4: 0 3: -1 2: 0 1: 1 2: 0 3: -64 0: 1 -5: 0 -6: -1 -5: 0 -4: 1 -5: 1 -7: -1 -9:-64 -64 1214: -4 4: 0 7: -1 6: 0 -1: 1 6: 0 7: -64 0: 0 6: 0 3: -64 0: 0 -4: -1 -5: 0 -6: 1 -5: 0 -4:-64 -64 1215: -6 7: -4 4: -3 4: -3 3: -4 3: -4 4: -3 6: -1 7: 2 7: 4 6: 5 4: 5 3: 4 1: 1 0: 0 -1: 0 -2: 1 -2: -64 0: 2 7: 4 5: 4 2: 3 1: 1 0: -64 0: 0 -5: 0 -6: 1 -6: 1 -5: 0 -5:-64 -64 1216: -3 4: 0 7: 0 2: -64 0: 1 7: 0 2:-64 -64 1217: -6 6: -3 7: -3 2: -64 0: -2 7: -3 2: -64 0: 3 7: 3 2: -64 0: 4 7: 3 2:-64 -64 1218: -5 5: -1 7: -2 6: -2 4: -1 3: 1 3: 2 4: 2 6: 1 7: -1 7:-64 -64 1219: -5 5: 0 8: 0 2: -64 0: -3 7: 3 3: -64 0: 3 7: -3 3:-64 -64 1220: -7 8: 6 10: -5 -10:-64 -64 1221: -5 5: 3 10: 1 8: -1 5: -2 2: -2 -2: -1 -5: 1 -8: 3 -10: -64 0: 1 8: 0 6: -1 2: -1 -2: 0 -6: 1 -8:-64 -64 1222: -5 5: -3 10: -1 8: 1 5: 2 2: 2 -2: 1 -5: -1 -8: -3 -10: -64 0: -1 8: 0 6: 1 2: 1 -2: 0 -6: -1 -8:-64 -64 1223: -5 5: -2 10: -2 -10: -64 0: -1 10: -1 -10: -64 0: -2 10: 3 10: -64 0: -2 -10: 3 -10:-64 -64 1224: -5 5: 1 10: 1 -10: -64 0: 2 10: 2 -10: -64 0: -3 10: 2 10: -64 0: -3 -10: 2 -10:-64 -64 1225: -6 5: 1 10: -1 9: -2 8: -2 6: 0 4: 1 2: -64 0: -1 9: -2 6: -64 0: 1 4: 0 1: -64 0: -2 8: -1 6: 1 4: 1 2: 0 1: -2 0: 0 -1: 1 -2: 1 -4: -1 -6: -2 -8: -64 0: 0 -1: 1 -4: -64 0: -2 -6: -1 -9: -64 0: 1 -2: 0 -4: -2 -6: -2 -8: -1 -9: 1 -10:-64 -64 1226: -5 6: -1 10: 1 9: 2 8: 2 6: 0 4: -1 2: -64 0: 1 9: 2 6: -64 0: -1 4: 0 1: -64 0: 2 8: 1 6: -1 4: -1 2: 0 1: 2 0: 0 -1: -1 -2: -1 -4: 1 -6: 2 -8: -64 0: 0 -1: -1 -4: -64 0: 2 -6: 1 -9: -64 0: -1 -2: 0 -4: 2 -6: 2 -8: 1 -9: -1 -10:-64 -64 1227: -5 5: 2 10: -2 0: 2 -10:-64 -64 1228: -5 5: -2 10: 2 0: -2 -10:-64 -64 1229: -3 3: 0 10: 0 -10:-64 -64 1230: -5 5: -2 10: -2 -10: -64 0: 2 10: 2 -10:-64 -64 1231: -9 9: -6 0: 6 0:-64 -64 1232: -9 9: 0 6: 0 -6: -64 0: -6 0: 6 0:-64 -64 1233: -8 8: 0 5: 0 -6: -64 0: -5 0: 5 0: -64 0: -5 -6: 5 -6:-64 -64 1234: -8 8: 0 5: 0 -6: -64 0: -5 5: 5 5: -64 0: -5 0: 5 0:-64 -64 1235: -8 8: -5 5: 5 -5: -64 0: 5 5: -5 -5:-64 -64 1236: -4 4: 0 1: -1 0: 0 -1: 1 0: 0 1:-64 -64 1237: -9 9: 0 6: -1 5: 0 4: 1 5: 0 6: -64 0: -6 0: 6 0: -64 0: 0 -4: -1 -5: 0 -6: 1 -5: 0 -4:-64 -64 1238: -9 9: -6 2: 6 2: -64 0: -6 -2: 6 -2:-64 -64 1239: -9 9: 5 6: -5 -6: -64 0: -6 2: 6 2: -64 0: -6 -2: 6 -2:-64 -64 1240: -9 9: -6 4: 6 4: -64 0: -6 0: 6 0: -64 0: -6 -4: 6 -4:-64 -64 1241: -8 8: 5 6: -5 0: 5 -6:-64 -64 1242: -8 8: -5 6: 5 0: -5 -6:-64 -64 1243: -8 8: 5 7: -5 3: 5 -1: -64 0: -5 -2: 5 -2: -64 0: -5 -6: 5 -6:-64 -64 1244: -8 8: -5 7: 5 3: -5 -1: -64 0: -5 -2: 5 -2: -64 0: -5 -6: 5 -6:-64 -64 1245: -10 9: 7 -3: 5 -3: 3 -2: 2 -1: 0 2: -1 3: -3 4: -4 4: -6 3: -7 1: -7 0: -6 -2: -4 -3: -3 -3: -1 -2: 0 -1: 2 2: 3 3: 5 4: 7 4:-64 -64 1246: -8 8: -6 -2: -6 0: -5 2: -3 2: 3 -1: 5 -1: 6 0: -64 0: -6 0: -5 1: -3 1: 3 -2: 5 -2: 6 0: 6 2:-64 -64 1247: -8 8: -5 -1: 0 2: 5 -1: -64 0: -5 -1: 0 1: 5 -1:-64 -64 1248: -4 4: 1 7: -2 3: -64 0: 1 7: 2 6: -2 3:-64 -64 1249: -4 4: -1 7: 2 3: -64 0: -1 7: -2 6: 2 3:-64 -64 1250: -6 6: -4 7: -3 5: -1 4: 1 4: 3 5: 4 7: -64 0: -4 7: -3 4: -1 3: 1 3: 3 4: 4 7:-64 -64 1251: -4 4: 1 6: 0 5: -1 6: 0 7: 1 6: 1 4: -1 2:-64 -64 1252: -4 4: 1 7: -1 5: -1 3: 0 2: 1 3: 0 4: -1 3:-64 -64 1253: -4 4: -1 6: 0 5: 1 6: 0 7: -1 6: -1 4: 1 2:-64 -64 1254: -4 4: -1 7: 1 5: 1 3: 0 2: -1 3: 0 4: 1 3:-64 -64 1256: -8 8: 5 5: -1 5: -3 4: -4 3: -5 1: -5 -1: -4 -3: -3 -4: -1 -5: 5 -5:-64 -64 1257: -8 8: -5 5: -5 -1: -4 -3: -3 -4: -1 -5: 1 -5: 3 -4: 4 -3: 5 -1: 5 5:-64 -64 1258: -8 8: -5 5: 1 5: 3 4: 4 3: 5 1: 5 -1: 4 -3: 3 -4: 1 -5: -5 -5:-64 -64 1259: -8 8: -5 -5: -5 1: -4 3: -3 4: -1 5: 1 5: 3 4: 4 3: 5 1: 5 -5:-64 -64 1260: -8 8: 5 5: -1 5: -3 4: -4 3: -5 1: -5 -1: -4 -3: -3 -4: -1 -5: 5 -5: -64 0: -5 0: 3 0:-64 -64 1261: -9 9: 2 3: 3 2: 6 0: 3 -2: 2 -3: -64 0: 3 2: 5 0: 3 -2: -64 0: -6 0: 5 0:-64 -64 1262: -5 5: 0 5: 0 -6: -64 0: -3 2: -2 3: 0 6: 2 3: 3 2: -64 0: -2 3: 0 5: 2 3:-64 -64 1263: -9 9: -2 3: -3 2: -6 0: -3 -2: -2 -3: -64 0: -3 2: -5 0: -3 -2: -64 0: -5 0: 6 0:-64 -64 1264: -5 5: 0 6: 0 -5: -64 0: -3 -2: -2 -3: 0 -6: 2 -3: 3 -2: -64 0: -2 -3: 0 -5: 2 -3:-64 -64 1265: -7 7: 4 -1: 3 2: 1 3: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -4: 4 -2: 5 1: 5 4: 4 6: 2 7: -1 7: -2 6: -1 6: 0 7: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6: -64 0: 0 -6: 2 -4: 3 -2: 4 1: 4 4: 3 6: 2 7:-64 -64 1266: -8 8: -6 7: 0 -6: -64 0: -5 7: 0 -4: -64 0: 6 7: 0 -6: -64 0: -6 7: 6 7: -64 0: -4 6: 5 6:-64 -64 1267: -11 9: -9 3: -6 3: 0 -5: -64 0: -7 3: 0 -6: -64 0: 9 12: 0 -6:-64 -64 1268: -9 9: 6 9: 6 8: 7 8: 7 9: 6 10: 4 10: 2 8: 1 6: 0 3: -1 -3: -2 -7: -3 -9: -64 0: 3 9: 2 7: 1 3: 0 -3: -1 -6: -2 -8: -4 -10: -6 -10: -7 -9: -7 -8: -6 -8: -6 -9:-64 -64 1269: -9 9: 6 9: 6 8: 7 8: 7 9: 6 10: 4 10: 2 8: 1 6: 0 3: -1 -3: -2 -7: -3 -9: -64 0: 3 9: 2 7: 1 3: 0 -3: -1 -6: -2 -8: -4 -10: -6 -10: -7 -9: -7 -8: -6 -8: -6 -9: -64 0: -1 4: -3 3: -4 1: -4 -1: -3 -3: -1 -4: 1 -4: 3 -3: 4 -1: 4 1: 3 3: 1 4: -1 4:-64 -64 1270: -10 10: 8 0: 7 -2: 5 -3: 4 -3: 2 -2: 1 -1: -1 2: -2 3: -4 4: -5 4: -7 3: -8 1: -8 0: -7 -2: -5 -3: -4 -3: -2 -2: -1 -1: 1 2: 2 3: 4 4: 5 4: 7 3: 8 1: 8 0:-64 -64 1271: -8 8: 6 7: -6 -6: -64 0: -3 7: -2 6: -2 4: -3 3: -5 3: -6 4: -6 6: -5 7: -3 7: 1 6: 4 6: 6 7: -64 0: 3 -2: 2 -3: 2 -5: 3 -6: 5 -6: 6 -5: 6 -3: 5 -2: 3 -2:-64 -64 1272: -8 9: 7 2: 6 2: 6 1: 7 1: 7 2: 6 3: 5 3: 4 2: 3 -2: 2 -4: 1 -5: -1 -6: -3 -6: -5 -5: -6 -4: -6 -2: -5 -1: -3 0: 0 2: 1 4: 1 6: 0 7: -2 7: -3 6: -3 4: -2 1: 3 -5: 5 -6: 6 -6: 7 -5: -64 0: -3 -6: -5 -4: -5 -2: -3 0: -64 0: -3 4: -2 2: 4 -5: 5 -6:-64 -64 1273: -8 9: 3 2: 1 3: -1 3: -2 1: -2 0: -1 -2: 1 -2: 3 -1: -64 0: 3 3: 3 -1: 4 -2: 6 -2: 7 0: 7 1: 6 4: 4 6: 1 7: 0 7: -3 6: -5 4: -6 1: -6 0: -5 -3: -3 -5: 0 -6: 1 -6: 4 -5:-64 -64 1274: -7 8: -1 10: -1 -10: -64 0: 2 10: 2 -10: -64 0: 5 6: 4 6: 4 5: 5 5: 5 6: 3 7: -2 7: -4 6: -4 4: -3 2: 4 -1: 5 -2: -64 0: -4 4: -3 3: 4 0: 5 -2: 5 -4: 4 -5: 2 -6: -1 -6: -3 -5: -4 -4: -4 -3: -3 -3: -3 -4: -4 -4:-64 -64 1275: -7 7: 0 7: -4 -10: -64 0: 4 7: 0 -10: -64 0: -4 1: 5 1: -64 0: -5 -4: 4 -4:-64 -64 1276: -6 6: 2 6: 1 6: 1 5: 2 5: 2 6: 1 7: -1 7: -2 6: -2 4: -1 2: 2 0: 3 -1: -64 0: -2 4: -1 3: 2 1: 3 -1: 3 -3: 1 -5: -64 0: -1 2: -3 0: -3 -2: -2 -4: 1 -6: 2 -7: -64 0: -3 -2: -2 -3: 1 -5: 2 -7: 2 -9: 1 -10: -1 -10: -2 -9: -2 -8: -1 -8: -1 -9: -2 -9:-64 -64 1277: -6 6: 0 7: -1 6: 0 5: 1 6: 0 7: -64 0: 0 5: 0 1: -64 0: 0 1: -1 -1: 0 -4: 1 -1: 0 1: -64 0: 0 -4: 0 -10: -64 0: -2 3: -3 4: -4 3: -3 2: -2 3: 2 3: 3 4: 4 3: 3 2: 2 3:-64 -64 1278: -6 6: 0 5: 1 6: 0 7: -1 6: 0 5: 0 1: -1 0: 1 -3: 0 -4: -64 0: 0 1: 1 0: -1 -3: 0 -4: 0 -8: -1 -9: 0 -10: 1 -9: 0 -8: -64 0: -2 3: -3 4: -4 3: -3 2: -2 3: 2 3: 3 4: 4 3: 3 2: 2 3: -64 0: -2 -6: -3 -5: -4 -6: -3 -7: -2 -6: 2 -6: 3 -5: 4 -6: 3 -7: 2 -6:-64 -64 1279: -6 7: 4 7: 4 -6: -64 0: -4 7: 4 7: -64 0: -1 1: 4 1: -64 0: -4 -6: 4 -6:-64 -64 1281: -10 10: -1 7: -4 6: -6 4: -7 1: -7 -1: -6 -4: -4 -6: -1 -7: 1 -7: 4 -6: 6 -4: 7 -1: 7 1: 6 4: 4 6: 1 7: -1 7: -64 0: 0 1: -1 0: 0 -1: 1 0: 0 1:-64 -64 1282: -6 7: -1 7: -2 6: -2 5: -1 4: -64 0: 2 7: 3 6: 3 5: 2 4: -64 0: 0 4: -2 3: -3 1: -3 0: -2 -2: 0 -3: 1 -3: 3 -2: 4 0: 4 1: 3 3: 1 4: 0 4: -64 0: 0 -3: 0 -7: -64 0: 1 -3: 1 -7: -64 0: -3 -5: 4 -5:-64 -64 1283: -6 7: 0 7: -2 6: -3 4: -3 3: -2 1: 0 0: 1 0: 3 1: 4 3: 4 4: 3 6: 1 7: 0 7: -64 0: 0 0: 0 -6: -64 0: 1 0: 1 -6: -64 0: -3 -3: 4 -3:-64 -64 1284: -10 10: -1 7: -4 6: -6 4: -7 1: -7 -1: -6 -4: -4 -6: -1 -7: 1 -7: 4 -6: 6 -4: 7 -1: 7 1: 6 4: 4 6: 1 7: -1 7: -64 0: 0 7: 0 -7: -64 0: -7 0: 7 0:-64 -64 1285: -8 7: 0 0: -2 1: -3 1: -5 0: -6 -2: -6 -3: -5 -5: -3 -6: -2 -6: 0 -5: 1 -3: 1 -2: 0 0: -64 0: 5 5: 0 0: -64 0: 0 5: 5 5: 5 0: -64 0: 0 5: 4 4: 5 0:-64 -64 1286: -8 8: -6 6: -5 7: -3 7: -1 6: 0 4: 0 2: -1 0: -2 -1: -4 -2: -64 0: -3 7: -2 6: -1 4: -1 1: -2 -1: -64 0: 4 7: 3 -6: -64 0: 5 7: 2 -6: -64 0: -4 -2: 6 -2:-64 -64 1287: -8 7: -4 7: -4 -3: -64 0: -3 7: -4 0: -64 0: -4 0: -3 2: -1 3: 1 3: 3 2: 4 1: 4 -2: 2 -4: 2 -6: 3 -7: 4 -7: 5 -6: -64 0: 1 3: 3 1: 3 -2: 2 -4: -64 0: -6 7: -3 7:-64 -64 1288: -6 7: -3 4: 0 7: 0 1: -64 0: 4 4: 1 7: 1 1: -64 0: 0 1: -2 0: -3 -2: -3 -3: -2 -5: 0 -6: 1 -6: 3 -5: 4 -3: 4 -2: 3 0: 1 1: -64 0: 0 -2: 0 -3: 1 -3: 1 -2: 0 -2:-64 -64 1289: -8 8: 0 7: 0 -7: -64 0: -5 7: -5 2: -4 0: -2 -1: 2 -1: 4 0: 5 2: 5 7: -64 0: -6 5: -5 7: -4 5: -64 0: -1 5: 0 7: 1 5: -64 0: 4 5: 5 7: 6 5: -64 0: -3 -4: 3 -4:-64 -64 1290: -8 7: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: -6 7: 1 7: 4 6: 5 4: 5 3: 4 1: 1 0: -3 0: -64 0: 1 7: 3 6: 4 4: 4 3: 3 1: 1 0: -64 0: -6 -6: 4 -6: 4 -3: 3 -6:-64 -64 1291: -6 7: 5 7: 2 7: -1 6: -3 4: -4 1: -4 -1: -3 -4: -1 -6: 2 -7: 5 -7: -64 0: 5 7: 2 6: 0 4: -1 1: -1 -1: 0 -4: 2 -6: 5 -7:-64 -64 1292: -8 8: 0 0: -2 1: -3 1: -5 0: -6 -2: -6 -3: -5 -5: -3 -6: -2 -6: 0 -5: 1 -3: 1 -2: 0 0: -64 0: 1 6: -1 1: -64 0: 5 5: 0 0: -64 0: 6 1: 1 -1:-64 -64 1293: -7 7: -2 5: 2 -5: -64 0: 2 5: -2 -5: -64 0: -5 2: 5 -2: -64 0: 5 2: -5 -2:-64 -64 1294: -8 9: -3 -3: -5 -3: -6 -4: -6 -6: -5 -7: -3 -7: -2 -6: -2 -4: -4 -2: -5 0: -5 3: -4 5: -3 6: -1 7: 2 7: 4 6: 5 5: 6 3: 6 0: 5 -2: 3 -4: 3 -6: 4 -7: 6 -7: 7 -6: 7 -4: 6 -3: 4 -3: -64 0: -4 5: -2 6: 3 6: 5 5:-64 -64 1295: -8 9: -3 3: -5 3: -6 4: -6 6: -5 7: -3 7: -2 6: -2 4: -4 2: -5 0: -5 -3: -4 -5: -3 -6: -1 -7: 2 -7: 4 -6: 5 -5: 6 -3: 6 0: 5 2: 3 4: 3 6: 4 7: 6 7: 7 6: 7 4: 6 3: 4 3: -64 0: -4 -5: -2 -6: 3 -6: 5 -5:-64 -64 1401: -12 12: -7 10: -7 -10: -64 0: -6 10: -6 -10: -64 0: 6 10: 6 -10: -64 0: 7 10: 7 -10: -64 0: -10 10: 10 10: -64 0: -10 -10: -3 -10: -64 0: 3 -10: 10 -10:-64 -64 1402: -10 11: -7 10: 0 1: -8 -10: -64 0: -8 10: -1 1: -64 0: -8 10: 7 10: 8 5: 6 10: -64 0: -7 -9: 6 -9: -64 0: -8 -10: 7 -10: 8 -5: 6 -10:-64 -64 1403: -7 7: 4 16: 2 14: 0 11: -2 7: -3 2: -3 -2: -2 -7: 0 -11: 2 -14: 4 -16: -64 0: 2 14: 0 10: -1 7: -2 2: -2 -2: -1 -7: 0 -10: 2 -14:-64 -64 1404: -7 7: -4 16: -2 14: 0 11: 2 7: 3 2: 3 -2: 2 -7: 0 -11: -2 -14: -4 -16: -64 0: -2 14: 0 10: 1 7: 2 2: 2 -2: 1 -7: 0 -10: -2 -14:-64 -64 1405: -7 7: -3 16: -3 -16: -64 0: -2 16: -2 -16: -64 0: -3 16: 4 16: -64 0: -3 -16: 4 -16:-64 -64 1406: -7 7: 2 16: 2 -16: -64 0: 3 16: 3 -16: -64 0: -4 16: 3 16: -64 0: -4 -16: 3 -16:-64 -64 1407: -7 7: 2 16: 0 15: -1 14: -2 12: -2 10: -1 8: 0 7: 1 5: 1 3: -1 1: -64 0: 0 15: -1 13: -1 11: 0 9: 1 8: 2 6: 2 4: 1 2: -3 0: 1 -2: 2 -4: 2 -6: 1 -8: 0 -9: -1 -11: -1 -13: 0 -15: -64 0: -1 -1: 1 -3: 1 -5: 0 -7: -1 -8: -2 -10: -2 -12: -1 -14: 0 -15: 2 -16:-64 -64 1408: -7 7: -2 16: 0 15: 1 14: 2 12: 2 10: 1 8: 0 7: -1 5: -1 3: 1 1: -64 0: 0 15: 1 13: 1 11: 0 9: -1 8: -2 6: -2 4: -1 2: 3 0: -1 -2: -2 -4: -2 -6: -1 -8: 0 -9: 1 -11: 1 -13: 0 -15: -64 0: 1 -1: -1 -3: -1 -5: 0 -7: 1 -8: 2 -10: 2 -12: 1 -14: 0 -15: -2 -16:-64 -64 1409: -7 7: 3 18: 0 15: -2 12: -3 9: -3 6: -2 3: 1 -4: 2 -7: 2 -10: 1 -13: 0 -15: -64 0: 0 15: -1 13: -2 10: -2 7: -1 4: 2 -3: 3 -6: 3 -9: 2 -12: 0 -15: -3 -18:-64 -64 1410: -7 7: -3 18: 0 15: 2 12: 3 9: 3 6: 2 3: -1 -4: -2 -7: -2 -10: -1 -13: 0 -15: -64 0: 0 15: 1 13: 2 10: 2 7: 1 4: -2 -3: -3 -6: -3 -9: -2 -12: 0 -15: 3 -18:-64 -64 1411: -17 6: -15 0: -11 0: 0 -14: -64 0: -11 -1: 0 -15: -64 0: -12 -1: 0 -16: -64 0: 6 24: 0 -16:-64 -64 1412: -12 12: 9 15: 8 14: 9 13: 10 14: 10 15: 9 16: 7 16: 5 15: 3 13: 2 11: 1 8: 0 4: -2 -8: -3 -12: -4 -14: -64 0: 4 14: 3 12: 2 8: 0 -4: -1 -8: -2 -11: -3 -13: -5 -15: -7 -16: -9 -16: -10 -15: -10 -14: -9 -13: -8 -14: -9 -15:-64 -64 2001: -10 10: 0 12: -7 -9: -64 0: 0 12: 7 -9: -64 0: 0 9: 6 -9: -64 0: -5 -3: 4 -3: -64 0: -9 -9: -3 -9: -64 0: 3 -9: 9 -9:-64 -64 2002: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 6: 7 4: 6 3: 3 2: -64 0: 3 12: 5 11: 6 10: 7 8: 7 6: 6 4: 5 3: 3 2: -64 0: -5 2: 3 2: 6 1: 7 0: 8 -2: 8 -5: 7 -7: 6 -8: 3 -9: -9 -9: -64 0: 3 2: 5 1: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 3 -9:-64 -64 2003: -11 10: 6 9: 7 6: 7 12: 6 9: 4 11: 1 12: -1 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -4: -64 0: -1 12: -3 11: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -3 -8: -1 -9:-64 -64 2004: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -9 12: 1 12: 4 11: 6 9: 7 7: 8 4: 8 -1: 7 -4: 6 -6: 4 -8: 1 -9: -9 -9: -64 0: 1 12: 3 11: 5 9: 6 7: 7 4: 7 -1: 6 -4: 5 -6: 3 -8: 1 -9:-64 -64 2005: -11 10: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: 1 6: 1 -2: -64 0: -9 12: 7 12: 7 6: 6 12: -64 0: -5 2: 1 2: -64 0: -9 -9: 7 -9: 7 -3: 6 -9:-64 -64 2006: -11 9: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: 1 6: 1 -2: -64 0: -9 12: 7 12: 7 6: 6 12: -64 0: -5 2: 1 2: -64 0: -9 -9: -2 -9:-64 -64 2007: -11 12: 6 9: 7 6: 7 12: 6 9: 4 11: 1 12: -1 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: -64 0: -1 12: -3 11: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -3 -8: -1 -9: -64 0: 6 -1: 6 -9: -64 0: 7 -1: 7 -9: -64 0: 3 -1: 10 -1:-64 -64 2008: -12 12: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: 6 12: 6 -9: -64 0: 7 12: 7 -9: -64 0: -10 12: -3 12: -64 0: 3 12: 10 12: -64 0: -6 2: 6 2: -64 0: -10 -9: -3 -9: -64 0: 3 -9: 10 -9:-64 -64 2009: -5 6: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: -3 12: 4 12: -64 0: -3 -9: 4 -9:-64 -64 2010: -7 8: 3 12: 3 -5: 2 -8: 0 -9: -2 -9: -4 -8: -5 -6: -5 -4: -4 -3: -3 -4: -4 -5: -64 0: 2 12: 2 -5: 1 -8: 0 -9: -64 0: -1 12: 6 12:-64 -64 2011: -12 10: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: 7 12: -6 -1: -64 0: -1 3: 7 -9: -64 0: -2 3: 6 -9: -64 0: -10 12: -3 12: -64 0: 3 12: 9 12: -64 0: -10 -9: -3 -9: -64 0: 3 -9: 9 -9:-64 -64 2012: -9 9: -4 12: -4 -9: -64 0: -3 12: -3 -9: -64 0: -7 12: 0 12: -64 0: -7 -9: 8 -9: 8 -3: 7 -9:-64 -64 2013: -12 13: -7 12: -7 -9: -64 0: -6 12: 0 -6: -64 0: -7 12: 0 -9: -64 0: 7 12: 0 -9: -64 0: 7 12: 7 -9: -64 0: 8 12: 8 -9: -64 0: -10 12: -6 12: -64 0: 7 12: 11 12: -64 0: -10 -9: -4 -9: -64 0: 4 -9: 11 -9:-64 -64 2014: -11 12: -6 12: -6 -9: -64 0: -5 12: 7 -7: -64 0: -5 10: 7 -9: -64 0: 7 12: 7 -9: -64 0: -9 12: -5 12: -64 0: 4 12: 10 12: -64 0: -9 -9: -3 -9:-64 -64 2015: -11 11: -1 12: -4 11: -6 9: -7 7: -8 3: -8 0: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -4: 8 0: 8 3: 7 7: 6 9: 4 11: 1 12: -1 12: -64 0: -1 12: -3 11: -5 9: -6 7: -7 3: -7 0: -6 -4: -5 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -6: 6 -4: 7 0: 7 3: 6 7: 5 9: 3 11: 1 12:-64 -64 2016: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 5: 7 3: 6 2: 3 1: -5 1: -64 0: 3 12: 5 11: 6 10: 7 8: 7 5: 6 3: 5 2: 3 1: -64 0: -9 -9: -2 -9:-64 -64 2017: -11 11: -1 12: -4 11: -6 9: -7 7: -8 3: -8 0: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -4: 8 0: 8 3: 7 7: 6 9: 4 11: 1 12: -1 12: -64 0: -1 12: -3 11: -5 9: -6 7: -7 3: -7 0: -6 -4: -5 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -6: 6 -4: 7 0: 7 3: 6 7: 5 9: 3 11: 1 12: -64 0: -4 -7: -4 -6: -3 -4: -1 -3: 0 -3: 2 -4: 3 -6: 4 -13: 5 -14: 7 -14: 8 -12: 8 -11: -64 0: 3 -6: 4 -10: 5 -12: 6 -13: 7 -13: 8 -12:-64 -64 2018: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 6: 7 4: 6 3: 3 2: -5 2: -64 0: 3 12: 5 11: 6 10: 7 8: 7 6: 6 4: 5 3: 3 2: -64 0: -9 -9: -2 -9: -64 0: 0 2: 2 1: 3 0: 6 -7: 7 -8: 8 -8: 9 -7: -64 0: 2 1: 3 -1: 5 -8: 6 -9: 8 -9: 9 -7: 9 -6:-64 -64 2019: -10 10: 6 9: 7 12: 7 6: 6 9: 4 11: 1 12: -2 12: -5 11: -7 9: -7 7: -6 5: -5 4: -3 3: 3 1: 5 0: 7 -2: -64 0: -7 7: -5 5: -3 4: 3 2: 5 1: 6 0: 7 -2: 7 -6: 5 -8: 2 -9: -1 -9: -4 -8: -6 -6: -7 -3: -7 -9: -6 -6:-64 -64 2020: -9 10: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: -6 12: -7 6: -7 12: 8 12: 8 6: 7 12: -64 0: -3 -9: 4 -9:-64 -64 2021: -12 12: -7 12: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 12: -64 0: -6 12: -6 -3: -5 -6: -3 -8: -1 -9: -64 0: -10 12: -3 12: -64 0: 4 12: 10 12:-64 -64 2022: -10 10: -7 12: 0 -9: -64 0: -6 12: 0 -6: -64 0: 7 12: 0 -9: -64 0: -9 12: -3 12: -64 0: 3 12: 9 12:-64 -64 2023: -12 12: -8 12: -4 -9: -64 0: -7 12: -4 -4: -64 0: 0 12: -4 -9: -64 0: 0 12: 4 -9: -64 0: 1 12: 4 -4: -64 0: 8 12: 4 -9: -64 0: -11 12: -4 12: -64 0: 5 12: 11 12:-64 -64 2024: -10 10: -7 12: 6 -9: -64 0: -6 12: 7 -9: -64 0: 7 12: -7 -9: -64 0: -9 12: -3 12: -64 0: 3 12: 9 12: -64 0: -9 -9: -3 -9: -64 0: 3 -9: 9 -9:-64 -64 2025: -10 11: -7 12: 0 1: 0 -9: -64 0: -6 12: 1 1: 1 -9: -64 0: 8 12: 1 1: -64 0: -9 12: -3 12: -64 0: 4 12: 10 12: -64 0: -3 -9: 4 -9:-64 -64 2026: -10 10: 6 12: -7 -9: -64 0: 7 12: -6 -9: -64 0: -6 12: -7 6: -7 12: 7 12: -64 0: -7 -9: 7 -9: 7 -3: 6 -9:-64 -64 2027: -10 10: 0 12: -7 -9: -64 0: 0 12: 7 -9: -64 0: 0 9: 6 -9: -64 0: -5 -3: 4 -3: -64 0: -9 -9: -3 -9: -64 0: 3 -9: 9 -9:-64 -64 2028: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 6: 7 4: 6 3: 3 2: -64 0: 3 12: 5 11: 6 10: 7 8: 7 6: 6 4: 5 3: 3 2: -64 0: -5 2: 3 2: 6 1: 7 0: 8 -2: 8 -5: 7 -7: 6 -8: 3 -9: -9 -9: -64 0: 3 2: 5 1: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 3 -9:-64 -64 2029: -9 9: -4 12: -4 -9: -64 0: -3 12: -3 -9: -64 0: -7 12: 8 12: 8 6: 7 12: -64 0: -7 -9: 0 -9:-64 -64 2030: -10 10: 0 12: -8 -9: -64 0: 0 12: 8 -9: -64 0: 0 9: 7 -9: -64 0: -7 -8: 7 -8: -64 0: -8 -9: 8 -9:-64 -64 2031: -11 10: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: 1 6: 1 -2: -64 0: -9 12: 7 12: 7 6: 6 12: -64 0: -5 2: 1 2: -64 0: -9 -9: 7 -9: 7 -3: 6 -9:-64 -64 2032: -10 10: 6 12: -7 -9: -64 0: 7 12: -6 -9: -64 0: -6 12: -7 6: -7 12: 7 12: -64 0: -7 -9: 7 -9: 7 -3: 6 -9:-64 -64 2033: -12 12: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: 6 12: 6 -9: -64 0: 7 12: 7 -9: -64 0: -10 12: -3 12: -64 0: 3 12: 10 12: -64 0: -6 2: 6 2: -64 0: -10 -9: -3 -9: -64 0: 3 -9: 10 -9:-64 -64 2034: -11 11: -1 12: -4 11: -6 9: -7 7: -8 3: -8 0: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -4: 8 0: 8 3: 7 7: 6 9: 4 11: 1 12: -1 12: -64 0: -1 12: -3 11: -5 9: -6 7: -7 3: -7 0: -6 -4: -5 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -6: 6 -4: 7 0: 7 3: 6 7: 5 9: 3 11: 1 12: -64 0: -3 5: -3 -2: -64 0: 3 5: 3 -2: -64 0: -3 2: 3 2: -64 0: -3 1: 3 1:-64 -64 2035: -5 6: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: -3 12: 4 12: -64 0: -3 -9: 4 -9:-64 -64 2036: -12 10: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: 7 12: -6 -1: -64 0: -1 3: 7 -9: -64 0: -2 3: 6 -9: -64 0: -10 12: -3 12: -64 0: 3 12: 9 12: -64 0: -10 -9: -3 -9: -64 0: 3 -9: 9 -9:-64 -64 2037: -10 10: 0 12: -7 -9: -64 0: 0 12: 7 -9: -64 0: 0 9: 6 -9: -64 0: -9 -9: -3 -9: -64 0: 3 -9: 9 -9:-64 -64 2038: -12 13: -7 12: -7 -9: -64 0: -6 12: 0 -6: -64 0: -7 12: 0 -9: -64 0: 7 12: 0 -9: -64 0: 7 12: 7 -9: -64 0: 8 12: 8 -9: -64 0: -10 12: -6 12: -64 0: 7 12: 11 12: -64 0: -10 -9: -4 -9: -64 0: 4 -9: 11 -9:-64 -64 2039: -11 12: -6 12: -6 -9: -64 0: -5 12: 7 -7: -64 0: -5 10: 7 -9: -64 0: 7 12: 7 -9: -64 0: -9 12: -5 12: -64 0: 4 12: 10 12: -64 0: -9 -9: -3 -9:-64 -64 2040: -11 11: -7 13: -8 8: -64 0: 8 13: 7 8: -64 0: -3 4: -4 -1: -64 0: 4 4: 3 -1: -64 0: -7 -5: -8 -10: -64 0: 8 -5: 7 -10: -64 0: -7 11: 7 11: -64 0: -7 10: 7 10: -64 0: -3 2: 3 2: -64 0: -3 1: 3 1: -64 0: -7 -7: 7 -7: -64 0: -7 -8: 7 -8:-64 -64 2041: -11 11: -1 12: -4 11: -6 9: -7 7: -8 3: -8 0: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -4: 8 0: 8 3: 7 7: 6 9: 4 11: 1 12: -1 12: -64 0: -1 12: -3 11: -5 9: -6 7: -7 3: -7 0: -6 -4: -5 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -6: 6 -4: 7 0: 7 3: 6 7: 5 9: 3 11: 1 12:-64 -64 2042: -12 12: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: 6 12: 6 -9: -64 0: 7 12: 7 -9: -64 0: -10 12: 10 12: -64 0: -10 -9: -3 -9: -64 0: 3 -9: 10 -9:-64 -64 2043: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 5: 7 3: 6 2: 3 1: -5 1: -64 0: 3 12: 5 11: 6 10: 7 8: 7 5: 6 3: 5 2: 3 1: -64 0: -9 -9: -2 -9:-64 -64 2044: -10 11: -7 12: 0 2: -8 -9: -64 0: -8 12: -1 2: -64 0: -8 12: 7 12: 8 6: 6 12: -64 0: -7 -8: 6 -8: -64 0: -8 -9: 7 -9: 8 -3: 6 -9:-64 -64 2045: -9 10: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: -6 12: -7 6: -7 12: 8 12: 8 6: 7 12: -64 0: -3 -9: 4 -9:-64 -64 2046: -9 10: -7 7: -7 9: -6 11: -5 12: -3 12: -2 11: -1 9: 0 5: 0 -9: -64 0: -7 9: -5 11: -3 11: -1 9: -64 0: 8 7: 8 9: 7 11: 6 12: 4 12: 3 11: 2 9: 1 5: 1 -9: -64 0: 8 9: 6 11: 4 11: 2 9: -64 0: -3 -9: 4 -9:-64 -64 2047: -10 11: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: -2 7: -5 6: -6 5: -7 3: -7 0: -6 -2: -5 -3: -2 -4: 3 -4: 6 -3: 7 -2: 8 0: 8 3: 7 5: 6 6: 3 7: -2 7: -64 0: -2 7: -4 6: -5 5: -6 3: -6 0: -5 -2: -4 -3: -2 -4: -64 0: 3 -4: 5 -3: 6 -2: 7 0: 7 3: 6 5: 5 6: 3 7: -64 0: -3 12: 4 12: -64 0: -3 -9: 4 -9:-64 -64 2048: -10 10: -7 12: 6 -9: -64 0: -6 12: 7 -9: -64 0: 7 12: -7 -9: -64 0: -9 12: -3 12: -64 0: 3 12: 9 12: -64 0: -9 -9: -3 -9: -64 0: 3 -9: 9 -9:-64 -64 2049: -11 12: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: -9 5: -8 6: -6 5: -5 1: -4 -1: -3 -2: -1 -3: -64 0: -8 6: -7 5: -6 1: -5 -1: -4 -2: -1 -3: 2 -3: 5 -2: 6 -1: 7 1: 8 5: 9 6: -64 0: 2 -3: 4 -2: 5 -1: 6 1: 7 5: 9 6: 10 5: -64 0: -3 12: 4 12: -64 0: -3 -9: 4 -9:-64 -64 2050: -11 11: -8 -6: -7 -9: -3 -9: -5 -5: -7 -1: -8 2: -8 6: -7 9: -5 11: -2 12: 2 12: 5 11: 7 9: 8 6: 8 2: 7 -1: 5 -5: 3 -9: 7 -9: 8 -6: -64 0: -5 -5: -6 -2: -7 2: -7 6: -6 9: -4 11: -2 12: -64 0: 2 12: 4 11: 6 9: 7 6: 7 2: 6 -2: 5 -5: -64 0: -7 -8: -4 -8: -64 0: 4 -8: 7 -8:-64 -64 2051: -10 10: 3 12: -10 -9: -64 0: 3 12: 4 -9: -64 0: 2 10: 3 -9: -64 0: -6 -3: 3 -3: -64 0: -12 -9: -6 -9: -64 0: 0 -9: 6 -9:-64 -64 2052: -12 12: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -6 12: 5 12: 8 11: 9 9: 9 7: 8 4: 7 3: 4 2: -64 0: 5 12: 7 11: 8 9: 8 7: 7 4: 6 3: 4 2: -64 0: -5 2: 4 2: 6 1: 7 -1: 7 -3: 6 -6: 4 -8: 0 -9: -12 -9: -64 0: 4 2: 5 1: 6 -1: 6 -3: 5 -6: 3 -8: 0 -9:-64 -64 2053: -10 11: 8 10: 9 10: 10 12: 9 6: 9 8: 8 10: 7 11: 5 12: 2 12: -1 11: -3 9: -5 6: -6 3: -7 -1: -7 -4: -6 -7: -5 -8: -2 -9: 1 -9: 3 -8: 5 -6: 6 -4: -64 0: 2 12: 0 11: -2 9: -4 6: -5 3: -6 -1: -6 -4: -5 -7: -4 -8: -2 -9:-64 -64 2054: -12 11: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -6 12: 3 12: 6 11: 7 10: 8 7: 8 3: 7 -1: 5 -5: 3 -7: 1 -8: -3 -9: -12 -9: -64 0: 3 12: 5 11: 6 10: 7 7: 7 3: 6 -1: 4 -5: 2 -7: 0 -8: -3 -9:-64 -64 2055: -12 11: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: 2 6: 0 -2: -64 0: -6 12: 9 12: 8 6: 8 12: -64 0: -5 2: 1 2: -64 0: -12 -9: 3 -9: 5 -4: 2 -9:-64 -64 2056: -12 10: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: 2 6: 0 -2: -64 0: -6 12: 9 12: 8 6: 8 12: -64 0: -5 2: 1 2: -64 0: -12 -9: -5 -9:-64 -64 2057: -10 12: 8 10: 9 10: 10 12: 9 6: 9 8: 8 10: 7 11: 5 12: 2 12: -1 11: -3 9: -5 6: -6 3: -7 -1: -7 -4: -6 -7: -5 -8: -2 -9: 0 -9: 3 -8: 5 -6: 7 -2: -64 0: 2 12: 0 11: -2 9: -4 6: -5 3: -6 -1: -6 -4: -5 -7: -4 -8: -2 -9: -64 0: 0 -9: 2 -8: 4 -6: 6 -2: -64 0: 3 -2: 10 -2:-64 -64 2058: -13 13: -4 12: -10 -9: -64 0: -3 12: -9 -9: -64 0: 9 12: 3 -9: -64 0: 10 12: 4 -9: -64 0: -7 12: 0 12: -64 0: 6 12: 13 12: -64 0: -6 2: 6 2: -64 0: -13 -9: -6 -9: -64 0: 0 -9: 7 -9:-64 -64 2059: -6 7: 3 12: -3 -9: -64 0: 4 12: -2 -9: -64 0: 0 12: 7 12: -64 0: -6 -9: 1 -9:-64 -64 2060: -9 9: 6 12: 1 -5: 0 -7: -1 -8: -3 -9: -5 -9: -7 -8: -8 -6: -8 -4: -7 -3: -6 -4: -7 -5: -64 0: 5 12: 0 -5: -1 -7: -3 -9: -64 0: 2 12: 9 12:-64 -64 2061: -12 11: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: 11 12: -6 -1: -64 0: 1 3: 5 -9: -64 0: 0 3: 4 -9: -64 0: -6 12: 1 12: -64 0: 7 12: 13 12: -64 0: -12 -9: -5 -9: -64 0: 1 -9: 7 -9:-64 -64 2062: -10 10: -1 12: -7 -9: -64 0: 0 12: -6 -9: -64 0: -4 12: 3 12: -64 0: -10 -9: 5 -9: 7 -3: 4 -9:-64 -64 2063: -13 14: -4 12: -10 -9: -64 0: -4 12: -3 -9: -64 0: -3 12: -2 -7: -64 0: 10 12: -3 -9: -64 0: 10 12: 4 -9: -64 0: 11 12: 5 -9: -64 0: -7 12: -3 12: -64 0: 10 12: 14 12: -64 0: -13 -9: -7 -9: -64 0: 1 -9: 8 -9:-64 -64 2064: -12 13: -3 12: -9 -9: -64 0: -3 12: 4 -6: -64 0: -3 9: 4 -9: -64 0: 10 12: 4 -9: -64 0: -6 12: -3 12: -64 0: 7 12: 13 12: -64 0: -12 -9: -6 -9:-64 -64 2065: -11 11: 1 12: -2 11: -4 9: -6 6: -7 3: -8 -1: -8 -4: -7 -7: -6 -8: -4 -9: -1 -9: 2 -8: 4 -6: 6 -3: 7 0: 8 4: 8 7: 7 10: 6 11: 4 12: 1 12: -64 0: 1 12: -1 11: -3 9: -5 6: -6 3: -7 -1: -7 -4: -6 -7: -4 -9: -64 0: -1 -9: 1 -8: 3 -6: 5 -3: 6 0: 7 4: 7 7: 6 10: 4 12:-64 -64 2066: -12 11: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -6 12: 6 12: 9 11: 10 9: 10 7: 9 4: 7 2: 3 1: -5 1: -64 0: 6 12: 8 11: 9 9: 9 7: 8 4: 6 2: 3 1: -64 0: -12 -9: -5 -9:-64 -64 2067: -11 11: 1 12: -2 11: -4 9: -6 6: -7 3: -8 -1: -8 -4: -7 -7: -6 -8: -4 -9: -1 -9: 2 -8: 4 -6: 6 -3: 7 0: 8 4: 8 7: 7 10: 6 11: 4 12: 1 12: -64 0: 1 12: -1 11: -3 9: -5 6: -6 3: -7 -1: -7 -4: -6 -7: -4 -9: -64 0: -1 -9: 1 -8: 3 -6: 5 -3: 6 0: 7 4: 7 7: 6 10: 4 12: -64 0: -6 -7: -6 -6: -5 -4: -3 -3: -2 -3: 0 -4: 1 -6: 1 -13: 2 -14: 4 -14: 5 -12: 5 -11: -64 0: 1 -6: 2 -12: 3 -13: 4 -13: 5 -12:-64 -64 2068: -12 12: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -6 12: 5 12: 8 11: 9 9: 9 7: 8 4: 7 3: 4 2: -5 2: -64 0: 5 12: 7 11: 8 9: 8 7: 7 4: 6 3: 4 2: -64 0: 0 2: 2 1: 3 0: 4 -8: 5 -9: 7 -9: 8 -7: 8 -6: -64 0: 3 0: 5 -7: 6 -8: 7 -8: 8 -7: -64 0: -12 -9: -5 -9:-64 -64 2069: -11 12: 8 10: 9 10: 10 12: 9 6: 9 8: 8 10: 7 11: 4 12: 0 12: -3 11: -5 9: -5 7: -4 5: -3 4: 4 0: 6 -2: -64 0: -5 7: -3 5: 4 1: 5 0: 6 -2: 6 -5: 5 -7: 4 -8: 1 -9: -3 -9: -6 -8: -7 -7: -8 -5: -8 -3: -9 -9: -8 -7: -7 -7:-64 -64 2070: -10 11: 3 12: -3 -9: -64 0: 4 12: -2 -9: -64 0: -3 12: -6 6: -4 12: 11 12: 10 6: 10 12: -64 0: -6 -9: 1 -9:-64 -64 2071: -12 13: -4 12: -7 1: -8 -3: -8 -6: -7 -8: -4 -9: 0 -9: 3 -8: 5 -6: 6 -3: 10 12: -64 0: -3 12: -6 1: -7 -3: -7 -6: -6 -8: -4 -9: -64 0: -7 12: 0 12: -64 0: 7 12: 13 12:-64 -64 2072: -10 10: -4 12: -3 -9: -64 0: -3 12: -2 -7: -64 0: 10 12: -3 -9: -64 0: -6 12: 0 12: -64 0: 6 12: 12 12:-64 -64 2073: -13 13: -5 12: -7 -9: -64 0: -4 12: -6 -7: -64 0: 3 12: -7 -9: -64 0: 3 12: 1 -9: -64 0: 4 12: 2 -7: -64 0: 11 12: 1 -9: -64 0: -8 12: -1 12: -64 0: 8 12: 14 12:-64 -64 2074: -11 11: -4 12: 3 -9: -64 0: -3 12: 4 -9: -64 0: 10 12: -10 -9: -64 0: -6 12: 0 12: -64 0: 6 12: 12 12: -64 0: -12 -9: -6 -9: -64 0: 0 -9: 6 -9:-64 -64 2075: -10 11: -4 12: 0 2: -3 -9: -64 0: -3 12: 1 2: -2 -9: -64 0: 11 12: 1 2: -64 0: -6 12: 0 12: -64 0: 7 12: 13 12: -64 0: -6 -9: 1 -9:-64 -64 2076: -11 11: 9 12: -10 -9: -64 0: 10 12: -9 -9: -64 0: -3 12: -6 6: -4 12: 10 12: -64 0: -10 -9: 4 -9: 6 -3: 3 -9:-64 -64 2077: -10 10: -7 9: -6 7: 6 -5: 7 -7: 7 -9: -64 0: -6 6: 6 -6: -64 0: -7 9: -7 7: -6 5: 6 -7: 7 -9: -64 0: -2 2: -6 -2: -7 -4: -7 -6: -6 -8: -7 -9: -64 0: -7 -4: -5 -8: -64 0: -6 -2: -6 -4: -5 -6: -5 -8: -7 -9: -64 0: 1 -1: 6 4: -64 0: 4 9: 4 6: 5 4: 7 4: 7 6: 5 7: 4 9: -64 0: 4 9: 5 6: 7 4:-64 -64 2101: -9 11: -4 3: -4 2: -5 2: -5 3: -4 4: -2 5: 2 5: 4 4: 5 3: 6 1: 6 -6: 7 -8: 8 -9: -64 0: 5 3: 5 -6: 6 -8: 8 -9: 9 -9: -64 0: 5 1: 4 0: -2 -1: -5 -2: -6 -4: -6 -6: -5 -8: -2 -9: 1 -9: 3 -8: 5 -6: -64 0: -2 -1: -4 -2: -5 -4: -5 -6: -4 -8: -2 -9:-64 -64 2102: -11 10: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -5 2: -3 4: -1 5: 1 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -1 -9: -3 -8: -5 -6: -64 0: 1 5: 3 4: 5 2: 6 -1: 6 -3: 5 -6: 3 -8: 1 -9: -64 0: -9 12: -5 12:-64 -64 2103: -10 9: 5 2: 4 1: 5 0: 6 1: 6 2: 4 4: 2 5: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: -64 0: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9:-64 -64 2104: -10 11: 5 12: 5 -9: -64 0: 6 12: 6 -9: -64 0: 5 2: 3 4: 1 5: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 3 -8: 5 -6: -64 0: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: -64 0: 2 12: 6 12: -64 0: 5 -9: 9 -9:-64 -64 2105: -10 9: -6 -1: 6 -1: 6 1: 5 3: 4 4: 2 5: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: -64 0: 5 -1: 5 2: 4 4: -64 0: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9:-64 -64 2106: -7 6: 3 11: 2 10: 3 9: 4 10: 4 11: 3 12: 1 12: -1 11: -2 9: -2 -9: -64 0: 1 12: 0 11: -1 9: -1 -9: -64 0: -5 5: 3 5: -64 0: -5 -9: 2 -9:-64 -64 2107: -9 10: -1 5: -3 4: -4 3: -5 1: -5 -1: -4 -3: -3 -4: -1 -5: 1 -5: 3 -4: 4 -3: 5 -1: 5 1: 4 3: 3 4: 1 5: -1 5: -64 0: -3 4: -4 2: -4 -2: -3 -4: -64 0: 3 -4: 4 -2: 4 2: 3 4: -64 0: 4 3: 5 4: 7 5: 7 4: 5 4: -64 0: -4 -3: -5 -4: -6 -6: -6 -7: -5 -9: -2 -10: 3 -10: 6 -11: 7 -12: -64 0: -6 -7: -5 -8: -2 -9: 3 -9: 6 -10: 7 -12: 7 -13: 6 -15: 3 -16: -3 -16: -6 -15: -7 -13: -7 -12: -6 -10: -3 -9:-64 -64 2108: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -5 2: -3 4: 0 5: 2 5: 5 4: 6 2: 6 -9: -64 0: 2 5: 4 4: 5 2: 5 -9: -64 0: -9 12: -5 12: -64 0: -9 -9: -2 -9: -64 0: 2 -9: 9 -9:-64 -64 2109: -5 6: 0 12: -1 11: 0 10: 1 11: 0 12: -64 0: 0 5: 0 -9: -64 0: 1 5: 1 -9: -64 0: -3 5: 1 5: -64 0: -3 -9: 4 -9:-64 -64 2110: -5 6: 1 12: 0 11: 1 10: 2 11: 1 12: -64 0: 2 5: 2 -13: 1 -15: -1 -16: -3 -16: -4 -15: -4 -14: -3 -13: -2 -14: -3 -15: -64 0: 1 5: 1 -13: 0 -15: -1 -16: -64 0: -2 5: 2 5:-64 -64 2111: -11 10: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: 5 5: -5 -5: -64 0: 0 -1: 6 -9: -64 0: -1 -1: 5 -9: -64 0: -9 12: -5 12: -64 0: 2 5: 8 5: -64 0: -9 -9: -2 -9: -64 0: 2 -9: 8 -9:-64 -64 2112: -5 6: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: -3 12: 1 12: -64 0: -3 -9: 4 -9:-64 -64 2113: -16 17: -11 5: -11 -9: -64 0: -10 5: -10 -9: -64 0: -10 2: -8 4: -5 5: -3 5: 0 4: 1 2: 1 -9: -64 0: -3 5: -1 4: 0 2: 0 -9: -64 0: 1 2: 3 4: 6 5: 8 5: 11 4: 12 2: 12 -9: -64 0: 8 5: 10 4: 11 2: 11 -9: -64 0: -14 5: -10 5: -64 0: -14 -9: -7 -9: -64 0: -3 -9: 4 -9: -64 0: 8 -9: 15 -9:-64 -64 2114: -11 11: -6 5: -6 -9: -64 0: -5 5: -5 -9: -64 0: -5 2: -3 4: 0 5: 2 5: 5 4: 6 2: 6 -9: -64 0: 2 5: 4 4: 5 2: 5 -9: -64 0: -9 5: -5 5: -64 0: -9 -9: -2 -9: -64 0: 2 -9: 9 -9:-64 -64 2115: -10 10: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 -1: 6 2: 4 4: 1 5: -1 5: -64 0: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -6: 6 -3: 6 -1: 5 2: 3 4: 1 5:-64 -64 2116: -11 10: -6 5: -6 -16: -64 0: -5 5: -5 -16: -64 0: -5 2: -3 4: -1 5: 1 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -1 -9: -3 -8: -5 -6: -64 0: 1 5: 3 4: 5 2: 6 -1: 6 -3: 5 -6: 3 -8: 1 -9: -64 0: -9 5: -5 5: -64 0: -9 -16: -2 -16:-64 -64 2117: -10 10: 5 5: 5 -16: -64 0: 6 5: 6 -16: -64 0: 5 2: 3 4: 1 5: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 3 -8: 5 -6: -64 0: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: -64 0: 2 -16: 9 -16:-64 -64 2118: -9 8: -4 5: -4 -9: -64 0: -3 5: -3 -9: -64 0: -3 -1: -2 2: 0 4: 2 5: 5 5: 6 4: 6 3: 5 2: 4 3: 5 4: -64 0: -7 5: -3 5: -64 0: -7 -9: 0 -9:-64 -64 2119: -8 9: 5 3: 6 5: 6 1: 5 3: 4 4: 2 5: -2 5: -4 4: -5 3: -5 1: -4 0: -2 -1: 3 -3: 5 -4: 6 -5: -64 0: -5 2: -4 1: -2 0: 3 -2: 5 -3: 6 -4: 6 -7: 5 -8: 3 -9: -1 -9: -3 -8: -4 -7: -5 -5: -5 -9: -4 -7:-64 -64 2120: -7 8: -2 12: -2 -5: -1 -8: 1 -9: 3 -9: 5 -8: 6 -6: -64 0: -1 12: -1 -5: 0 -8: 1 -9: -64 0: -5 5: 3 5:-64 -64 2121: -11 11: -6 5: -6 -6: -5 -8: -2 -9: 0 -9: 3 -8: 5 -6: -64 0: -5 5: -5 -6: -4 -8: -2 -9: -64 0: 5 5: 5 -9: -64 0: 6 5: 6 -9: -64 0: -9 5: -5 5: -64 0: 2 5: 6 5: -64 0: 5 -9: 9 -9:-64 -64 2122: -9 9: -6 5: 0 -9: -64 0: -5 5: 0 -7: -64 0: 6 5: 0 -9: -64 0: -8 5: -2 5: -64 0: 2 5: 8 5:-64 -64 2123: -12 12: -8 5: -4 -9: -64 0: -7 5: -4 -6: -64 0: 0 5: -4 -9: -64 0: 0 5: 4 -9: -64 0: 1 5: 4 -6: -64 0: 8 5: 4 -9: -64 0: -11 5: -4 5: -64 0: 5 5: 11 5:-64 -64 2124: -10 10: -6 5: 5 -9: -64 0: -5 5: 6 -9: -64 0: 6 5: -6 -9: -64 0: -8 5: -2 5: -64 0: 2 5: 8 5: -64 0: -8 -9: -2 -9: -64 0: 2 -9: 8 -9:-64 -64 2125: -10 9: -6 5: 0 -9: -64 0: -5 5: 0 -7: -64 0: 6 5: 0 -9: -2 -13: -4 -15: -6 -16: -7 -16: -8 -15: -7 -14: -6 -15: -64 0: -8 5: -2 5: -64 0: 2 5: 8 5:-64 -64 2126: -9 9: 5 5: -6 -9: -64 0: 6 5: -5 -9: -64 0: -5 5: -6 1: -6 5: 6 5: -64 0: -6 -9: 6 -9: 6 -5: 5 -9:-64 -64 2127: -11 12: -1 5: -4 4: -6 2: -7 0: -8 -3: -8 -6: -7 -8: -4 -9: -2 -9: 0 -8: 3 -5: 5 -2: 7 2: 8 5: -64 0: -1 5: -3 4: -5 2: -6 0: -7 -3: -7 -6: -6 -8: -4 -9: -64 0: -1 5: 1 5: 3 4: 4 2: 6 -6: 7 -8: 8 -9: -64 0: 1 5: 2 4: 3 2: 5 -6: 6 -8: 8 -9: 9 -9:-64 -64 2128: -11 10: 2 12: -1 11: -3 9: -5 5: -6 2: -7 -2: -8 -8: -9 -16: -64 0: 2 12: 0 11: -2 9: -4 5: -5 2: -6 -2: -7 -8: -8 -16: -64 0: 2 12: 4 12: 6 11: 7 10: 7 7: 6 5: 5 4: 2 3: -2 3: -64 0: 4 12: 6 10: 6 7: 5 5: 4 4: 2 3: -64 0: -2 3: 2 2: 4 0: 5 -2: 5 -5: 4 -7: 3 -8: 0 -9: -2 -9: -4 -8: -5 -7: -6 -4: -64 0: -2 3: 1 2: 3 0: 4 -2: 4 -5: 3 -7: 2 -8: 0 -9:-64 -64 2129: -10 10: -9 2: -7 4: -5 5: -3 5: -1 4: 0 3: 1 0: 1 -4: 0 -8: -3 -16: -64 0: -8 3: -6 4: -2 4: 0 3: -64 0: 8 5: 7 2: 6 0: 1 -7: -2 -12: -4 -16: -64 0: 7 5: 6 2: 5 0: 1 -7:-64 -64 2130: -9 10: 4 4: 2 5: 0 5: -3 4: -5 1: -6 -2: -6 -5: -5 -7: -4 -8: -2 -9: 0 -9: 3 -8: 5 -5: 6 -2: 6 1: 5 3: 1 8: 0 10: 0 12: 1 13: 3 13: 5 12: 7 10: -64 0: 0 5: -2 4: -4 1: -5 -2: -5 -6: -4 -8: -64 0: 0 -9: 2 -8: 4 -5: 5 -2: 5 2: 4 4: 2 7: 1 9: 1 11: 2 12: 4 12: 7 10:-64 -64 2131: -9 9: 6 2: 4 4: 2 5: -2 5: -4 4: -4 2: -2 0: 1 -1: -64 0: -2 5: -3 4: -3 2: -1 0: 1 -1: -64 0: 1 -1: -4 -2: -6 -4: -6 -6: -5 -8: -2 -9: 1 -9: 3 -8: 5 -6: -64 0: 1 -1: -3 -2: -5 -4: -5 -6: -4 -8: -2 -9:-64 -64 2132: -9 9: 2 12: 0 11: -1 10: -1 9: 0 8: 3 7: 8 7: 8 8: 5 7: 1 5: -2 3: -5 0: -6 -3: -6 -5: -5 -7: -2 -9: 1 -11: 2 -13: 2 -15: 1 -16: -1 -16: -2 -15: -64 0: 3 6: -1 3: -4 0: -5 -3: -5 -5: -4 -7: -2 -9:-64 -64 2133: -11 11: -10 1: -9 3: -7 5: -4 5: -3 4: -3 2: -4 -2: -6 -9: -64 0: -5 5: -4 4: -4 2: -5 -2: -7 -9: -64 0: -4 -2: -2 2: 0 4: 2 5: 4 5: 6 4: 7 3: 7 0: 6 -5: 3 -16: -64 0: 4 5: 6 3: 6 0: 5 -5: 2 -16:-64 -64 2134: -12 11: -11 1: -10 3: -8 5: -5 5: -4 4: -4 2: -5 -3: -5 -6: -4 -8: -3 -9: -64 0: -6 5: -5 4: -5 2: -6 -3: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: 3 -6: 5 -3: 6 0: 7 5: 7 9: 6 11: 4 12: 2 12: 0 10: 0 8: 1 5: 3 2: 5 0: 8 -2: -64 0: 1 -8: 3 -5: 4 -3: 5 0: 6 5: 6 9: 5 11: 4 12:-64 -64 2135: -6 6: 0 5: -2 -2: -3 -6: -3 -8: -2 -9: 1 -9: 3 -7: 4 -5: -64 0: 1 5: -1 -2: -2 -6: -2 -8: -1 -9:-64 -64 2136: -10 10: -4 5: -8 -9: -64 0: -3 5: -7 -9: -64 0: 6 5: 7 4: 8 4: 7 5: 5 5: 3 4: -1 0: -3 -1: -5 -1: -64 0: -3 -1: -1 -2: 1 -8: 2 -9: -64 0: -3 -1: -2 -2: 0 -8: 1 -9: 3 -9: 5 -8: 7 -5:-64 -64 2137: -10 10: -7 12: -5 12: -3 11: -2 10: -1 8: 5 -6: 6 -8: 7 -9: -64 0: -5 12: -3 10: -2 8: 4 -6: 5 -8: 7 -9: 8 -9: -64 0: 0 5: -8 -9: -64 0: 0 5: -7 -9:-64 -64 2138: -12 11: -5 5: -11 -16: -64 0: -4 5: -10 -16: -64 0: -5 2: -6 -4: -6 -7: -4 -9: -2 -9: 0 -8: 2 -6: 4 -3: -64 0: 6 5: 3 -6: 3 -8: 4 -9: 7 -9: 9 -7: 10 -5: -64 0: 7 5: 4 -6: 4 -8: 5 -9:-64 -64 2139: -10 10: -4 5: -6 -9: -64 0: -3 5: -4 -1: -5 -6: -6 -9: -64 0: 7 5: 6 1: 4 -3: -64 0: 8 5: 7 2: 6 0: 4 -3: 2 -5: -1 -7: -3 -8: -6 -9: -64 0: -7 5: -3 5:-64 -64 2140: -9 8: 2 12: 0 11: -1 10: -1 9: 0 8: 3 7: 6 7: -64 0: 3 7: -1 6: -3 5: -4 3: -4 1: -2 -1: 1 -2: 4 -2: -64 0: 3 7: 0 6: -2 5: -3 3: -3 1: -1 -1: 1 -2: -64 0: 1 -2: -3 -3: -5 -4: -6 -6: -6 -8: -4 -10: 1 -12: 2 -13: 2 -15: 0 -16: -2 -16: -64 0: 1 -2: -2 -3: -4 -4: -5 -6: -5 -8: -3 -10: 1 -12:-64 -64 2141: -9 9: 0 5: -3 4: -5 1: -6 -2: -6 -5: -5 -7: -4 -8: -2 -9: 0 -9: 3 -8: 5 -5: 6 -2: 6 1: 5 3: 4 4: 2 5: 0 5: -64 0: 0 5: -2 4: -4 1: -5 -2: -5 -6: -4 -8: -64 0: 0 -9: 2 -8: 4 -5: 5 -2: 5 2: 4 4:-64 -64 2142: -11 11: -2 4: -6 -9: -64 0: -2 4: -5 -9: -64 0: 4 4: 4 -9: -64 0: 4 4: 5 -9: -64 0: -9 2: -7 4: -4 5: 9 5: -64 0: -9 2: -7 3: -4 4: 9 4:-64 -64 2143: -10 9: -6 -4: -5 -7: -4 -8: -2 -9: 0 -9: 3 -8: 5 -5: 6 -2: 6 1: 5 3: 4 4: 2 5: 0 5: -3 4: -5 1: -6 -2: -10 -16: -64 0: 0 -9: 2 -8: 4 -5: 5 -2: 5 2: 4 4: -64 0: 0 5: -2 4: -4 1: -5 -2: -9 -16:-64 -64 2144: -10 11: 9 5: -1 5: -4 4: -6 1: -7 -2: -7 -5: -6 -7: -5 -8: -3 -9: -1 -9: 2 -8: 4 -5: 5 -2: 5 1: 4 3: 3 4: 1 5: -64 0: -1 5: -3 4: -5 1: -6 -2: -6 -6: -5 -8: -64 0: -1 -9: 1 -8: 3 -5: 4 -2: 4 2: 3 4: -64 0: 3 4: 9 4:-64 -64 2145: -10 10: 1 4: -2 -9: -64 0: 1 4: -1 -9: -64 0: -8 2: -6 4: -3 5: 8 5: -64 0: -8 2: -6 3: -3 4: 8 4:-64 -64 2146: -10 10: -9 1: -8 3: -6 5: -3 5: -2 4: -2 2: -4 -4: -4 -7: -2 -9: -64 0: -4 5: -3 4: -3 2: -5 -4: -5 -7: -4 -8: -2 -9: -1 -9: 2 -8: 4 -6: 6 -3: 7 0: 7 3: 6 5: 5 4: 6 3: 7 0: -64 0: 6 -3: 7 3:-64 -64 2147: -11 11: -3 4: -5 3: -7 1: -8 -2: -8 -5: -7 -7: -6 -8: -4 -9: -1 -9: 2 -8: 5 -6: 7 -3: 8 0: 8 3: 6 5: 4 5: 2 3: 0 -1: -2 -6: -5 -16: -64 0: -8 -5: -6 -7: -4 -8: -1 -8: 2 -7: 5 -5: 7 -3: -64 0: 8 3: 6 4: 4 4: 2 2: 0 -1: -2 -7: -4 -16:-64 -64 2148: -9 9: -7 5: -5 5: -3 4: -2 2: 3 -13: 4 -15: 5 -16: -64 0: -5 5: -4 4: -3 2: 2 -13: 3 -15: 5 -16: 7 -16: -64 0: 8 5: 7 3: 5 0: -5 -11: -7 -14: -8 -16:-64 -64 2149: -12 11: 3 12: -3 -16: -64 0: 4 12: -4 -16: -64 0: -11 1: -10 3: -8 5: -5 5: -4 4: -4 2: -5 -3: -5 -6: -3 -8: 0 -8: 2 -7: 5 -4: 7 -1: -64 0: -6 5: -5 4: -5 2: -6 -3: -6 -6: -5 -8: -3 -9: 0 -9: 2 -8: 4 -6: 6 -3: 7 -1: 9 5:-64 -64 2150: -12 11: -8 1: -6 3: -3 4: -4 5: -6 4: -8 1: -9 -2: -9 -5: -8 -8: -7 -9: -5 -9: -3 -8: -1 -5: 0 -2: -64 0: -9 -5: -8 -7: -7 -8: -5 -8: -3 -7: -1 -5: -64 0: -1 -2: -1 -5: 0 -8: 1 -9: 3 -9: 5 -8: 7 -5: 8 -2: 8 1: 7 4: 6 5: 5 4: 7 3: 8 1: -64 0: -1 -5: 0 -7: 1 -8: 3 -8: 5 -7: 7 -5:-64 -64 2151: -10 11: 6 5: 4 -2: 3 -6: 3 -8: 4 -9: 7 -9: 9 -7: 10 -5: -64 0: 7 5: 5 -2: 4 -6: 4 -8: 5 -9: -64 0: 4 -2: 4 1: 3 4: 1 5: -1 5: -4 4: -6 1: -7 -2: -7 -5: -6 -7: -5 -8: -3 -9: -1 -9: 1 -8: 3 -5: 4 -2: -64 0: -1 5: -3 4: -5 1: -6 -2: -6 -6: -5 -8:-64 -64 2152: -10 9: -2 12: -6 -1: -6 -4: -5 -7: -4 -8: -64 0: -1 12: -5 -1: -64 0: -5 -1: -4 2: -2 4: 0 5: 2 5: 4 4: 5 3: 6 1: 6 -2: 5 -5: 3 -8: 0 -9: -2 -9: -4 -8: -5 -5: -5 -1: -64 0: 4 4: 5 2: 5 -2: 4 -5: 2 -8: 0 -9: -64 0: -5 12: -1 12:-64 -64 2153: -9 9: 5 2: 5 1: 6 1: 6 2: 5 4: 3 5: 0 5: -3 4: -5 1: -6 -2: -6 -5: -5 -7: -4 -8: -2 -9: 0 -9: 3 -8: 5 -5: -64 0: 0 5: -2 4: -4 1: -5 -2: -5 -6: -4 -8:-64 -64 2154: -10 11: 8 12: 4 -2: 3 -6: 3 -8: 4 -9: 7 -9: 9 -7: 10 -5: -64 0: 9 12: 5 -2: 4 -6: 4 -8: 5 -9: -64 0: 4 -2: 4 1: 3 4: 1 5: -1 5: -4 4: -6 1: -7 -2: -7 -5: -6 -7: -5 -8: -3 -9: -1 -9: 1 -8: 3 -5: 4 -2: -64 0: -1 5: -3 4: -5 1: -6 -2: -6 -6: -5 -8: -64 0: 5 12: 9 12:-64 -64 2155: -9 9: -5 -4: -1 -3: 2 -2: 5 0: 6 2: 5 4: 3 5: 0 5: -3 4: -5 1: -6 -2: -6 -5: -5 -7: -4 -8: -2 -9: 0 -9: 3 -8: 5 -6: -64 0: 0 5: -2 4: -4 1: -5 -2: -5 -6: -4 -8:-64 -64 2156: -7 8: 8 11: 7 10: 8 9: 9 10: 9 11: 8 12: 6 12: 4 11: 3 10: 2 8: 1 5: -2 -9: -3 -13: -4 -15: -64 0: 6 12: 4 10: 3 8: 2 4: 0 -5: -1 -9: -2 -12: -3 -14: -4 -15: -6 -16: -8 -16: -9 -15: -9 -14: -8 -13: -7 -14: -8 -15: -64 0: -3 5: 7 5:-64 -64 2157: -10 10: 7 5: 3 -9: 2 -12: 0 -15: -3 -16: -6 -16: -8 -15: -9 -14: -9 -13: -8 -12: -7 -13: -8 -14: -64 0: 6 5: 2 -9: 1 -12: -1 -15: -3 -16: -64 0: 4 -2: 4 1: 3 4: 1 5: -1 5: -4 4: -6 1: -7 -2: -7 -5: -6 -7: -5 -8: -3 -9: -1 -9: 1 -8: 3 -5: 4 -2: -64 0: -1 5: -3 4: -5 1: -6 -2: -6 -6: -5 -8:-64 -64 2158: -10 11: -2 12: -8 -9: -64 0: -1 12: -7 -9: -64 0: -5 -2: -3 2: -1 4: 1 5: 3 5: 5 4: 6 3: 6 1: 4 -5: 4 -8: 5 -9: -64 0: 3 5: 5 3: 5 1: 3 -5: 3 -8: 4 -9: 7 -9: 9 -7: 10 -5: -64 0: -5 12: -1 12:-64 -64 2159: -6 7: 3 12: 2 11: 3 10: 4 11: 3 12: -64 0: -5 1: -4 3: -2 5: 1 5: 2 4: 2 1: 0 -5: 0 -8: 1 -9: -64 0: 0 5: 1 4: 1 1: -1 -5: -1 -8: 0 -9: 3 -9: 5 -7: 6 -5:-64 -64 2160: -6 7: 4 12: 3 11: 4 10: 5 11: 4 12: -64 0: -4 1: -3 3: -1 5: 2 5: 3 4: 3 1: 0 -9: -1 -12: -2 -14: -3 -15: -5 -16: -7 -16: -8 -15: -8 -14: -7 -13: -6 -14: -7 -15: -64 0: 1 5: 2 4: 2 1: -1 -9: -2 -12: -3 -14: -5 -16:-64 -64 2161: -10 10: -2 12: -8 -9: -64 0: -1 12: -7 -9: -64 0: 6 4: 5 3: 6 2: 7 3: 7 4: 6 5: 5 5: 3 4: -1 0: -3 -1: -5 -1: -64 0: -3 -1: -1 -2: 1 -8: 2 -9: -64 0: -3 -1: -2 -2: 0 -8: 1 -9: 3 -9: 5 -8: 7 -5: -64 0: -5 12: -1 12:-64 -64 2162: -5 7: 3 12: -1 -2: -2 -6: -2 -8: -1 -9: 2 -9: 4 -7: 5 -5: -64 0: 4 12: 0 -2: -1 -6: -1 -8: 0 -9: -64 0: 0 12: 4 12:-64 -64 2163: -17 16: -16 1: -15 3: -13 5: -10 5: -9 4: -9 2: -10 -2: -12 -9: -64 0: -11 5: -10 4: -10 2: -11 -2: -13 -9: -64 0: -10 -2: -8 2: -6 4: -4 5: -2 5: 0 4: 1 3: 1 1: -2 -9: -64 0: -2 5: 0 3: 0 1: -3 -9: -64 0: 0 -2: 2 2: 4 4: 6 5: 8 5: 10 4: 11 3: 11 1: 9 -5: 9 -8: 10 -9: -64 0: 8 5: 10 3: 10 1: 8 -5: 8 -8: 9 -9: 12 -9: 14 -7: 15 -5:-64 -64 2164: -12 11: -11 1: -10 3: -8 5: -5 5: -4 4: -4 2: -5 -2: -7 -9: -64 0: -6 5: -5 4: -5 2: -6 -2: -8 -9: -64 0: -5 -2: -3 2: -1 4: 1 5: 3 5: 5 4: 6 3: 6 1: 4 -5: 4 -8: 5 -9: -64 0: 3 5: 5 3: 5 1: 3 -5: 3 -8: 4 -9: 7 -9: 9 -7: 10 -5:-64 -64 2165: -9 9: 0 5: -3 4: -5 1: -6 -2: -6 -5: -5 -7: -4 -8: -2 -9: 0 -9: 3 -8: 5 -5: 6 -2: 6 1: 5 3: 4 4: 2 5: 0 5: -64 0: 0 5: -2 4: -4 1: -5 -2: -5 -6: -4 -8: -64 0: 0 -9: 2 -8: 4 -5: 5 -2: 5 2: 4 4:-64 -64 2166: -11 10: -10 1: -9 3: -7 5: -4 5: -3 4: -3 2: -4 -2: -8 -16: -64 0: -5 5: -4 4: -4 2: -5 -2: -9 -16: -64 0: -4 -2: -3 1: -1 4: 1 5: 3 5: 5 4: 6 3: 7 1: 7 -2: 6 -5: 4 -8: 1 -9: -1 -9: -3 -8: -4 -5: -4 -2: -64 0: 5 4: 6 2: 6 -2: 5 -5: 3 -8: 1 -9: -64 0: -12 -16: -5 -16:-64 -64 2167: -10 10: 6 5: 0 -16: -64 0: 7 5: 1 -16: -64 0: 4 -2: 4 1: 3 4: 1 5: -1 5: -4 4: -6 1: -7 -2: -7 -5: -6 -7: -5 -8: -3 -9: -1 -9: 1 -8: 3 -5: 4 -2: -64 0: -1 5: -3 4: -5 1: -6 -2: -6 -6: -5 -8: -64 0: -3 -16: 4 -16:-64 -64 2168: -9 8: -8 1: -7 3: -5 5: -2 5: -1 4: -1 2: -2 -2: -4 -9: -64 0: -3 5: -2 4: -2 2: -3 -2: -5 -9: -64 0: -2 -2: 0 2: 2 4: 4 5: 6 5: 7 4: 7 3: 6 2: 5 3: 6 4:-64 -64 2169: -8 9: 6 3: 6 2: 7 2: 7 3: 6 4: 3 5: 0 5: -3 4: -4 3: -4 1: -3 0: 4 -4: 5 -5: -64 0: -4 2: -3 1: 4 -3: 5 -4: 5 -7: 4 -8: 1 -9: -2 -9: -5 -8: -6 -7: -6 -6: -5 -6: -5 -7:-64 -64 2170: -7 7: 2 12: -2 -2: -3 -6: -3 -8: -2 -9: 1 -9: 3 -7: 4 -5: -64 0: 3 12: -1 -2: -2 -6: -2 -8: -1 -9: -64 0: -4 5: 5 5:-64 -64 2171: -12 11: -11 1: -10 3: -8 5: -5 5: -4 4: -4 1: -6 -5: -6 -7: -4 -9: -64 0: -6 5: -5 4: -5 1: -7 -5: -7 -7: -6 -8: -4 -9: -2 -9: 0 -8: 2 -6: 4 -2: -64 0: 6 5: 4 -2: 3 -6: 3 -8: 4 -9: 7 -9: 9 -7: 10 -5: -64 0: 7 5: 5 -2: 4 -6: 4 -8: 5 -9:-64 -64 2172: -10 10: -9 1: -8 3: -6 5: -3 5: -2 4: -2 1: -4 -5: -4 -7: -2 -9: -64 0: -4 5: -3 4: -3 1: -5 -5: -5 -7: -4 -8: -2 -9: -1 -9: 2 -8: 4 -6: 6 -3: 7 1: 7 5: 6 5: 7 3:-64 -64 2173: -15 14: -14 1: -13 3: -11 5: -8 5: -7 4: -7 1: -9 -5: -9 -7: -7 -9: -64 0: -9 5: -8 4: -8 1: -10 -5: -10 -7: -9 -8: -7 -9: -5 -9: -3 -8: -1 -6: 0 -4: -64 0: 2 5: 0 -4: 0 -7: 1 -8: 3 -9: 5 -9: 7 -8: 9 -6: 10 -4: 11 0: 11 5: 10 5: 11 3: -64 0: 3 5: 1 -4: 1 -7: 3 -9:-64 -64 2174: -10 10: -7 1: -5 4: -3 5: 0 5: 1 3: 1 0: -64 0: -1 5: 0 3: 0 0: -1 -4: -2 -6: -4 -8: -6 -9: -7 -9: -8 -8: -8 -7: -7 -6: -6 -7: -7 -8: -64 0: -1 -4: -1 -7: 0 -9: 3 -9: 5 -8: 7 -5: -64 0: 7 4: 6 3: 7 2: 8 3: 8 4: 7 5: 6 5: 4 4: 2 2: 1 0: 0 -4: 0 -7: 1 -9:-64 -64 2175: -11 10: -10 1: -9 3: -7 5: -4 5: -3 4: -3 1: -5 -5: -5 -7: -3 -9: -64 0: -5 5: -4 4: -4 1: -6 -5: -6 -7: -5 -8: -3 -9: -1 -9: 1 -8: 3 -6: 5 -2: -64 0: 8 5: 4 -9: 3 -12: 1 -15: -2 -16: -5 -16: -7 -15: -8 -14: -8 -13: -7 -12: -6 -13: -7 -14: -64 0: 7 5: 3 -9: 2 -12: 0 -15: -2 -16:-64 -64 2176: -10 10: 7 5: 6 3: 4 1: -4 -5: -6 -7: -7 -9: -64 0: -6 1: -5 3: -3 5: 0 5: 4 3: -64 0: -5 3: -3 4: 0 4: 4 3: 6 3: -64 0: -6 -7: -4 -7: 0 -8: 3 -8: 5 -7: -64 0: -4 -7: 0 -9: 3 -9: 5 -7: 6 -5:-64 -64 2177: -11 12: 4 11: 3 10: 4 9: 5 10: 5 11: 3 12: 0 12: -3 11: -5 9: -6 6: -6 -9: -64 0: 0 12: -2 11: -4 9: -5 6: -5 -9: -64 0: 10 11: 9 10: 10 9: 11 10: 11 11: 10 12: 8 12: 6 11: 5 9: 5 -9: -64 0: 8 12: 7 11: 6 9: 6 -9: -64 0: -9 5: 9 5: -64 0: -9 -9: -2 -9: -64 0: 2 -9: 9 -9:-64 -64 2178: -11 11: 5 11: 4 10: 5 9: 6 10: 5 11: 3 12: 0 12: -3 11: -5 9: -6 6: -6 -9: -64 0: 0 12: -2 11: -4 9: -5 6: -5 -9: -64 0: 5 5: 5 -9: -64 0: 6 5: 6 -9: -64 0: -9 5: 6 5: -64 0: -9 -9: -2 -9: -64 0: 2 -9: 9 -9:-64 -64 2179: -11 11: 4 11: 3 10: 4 9: 5 10: 5 11: 3 12: -64 0: 6 12: 0 12: -3 11: -5 9: -6 6: -6 -9: -64 0: 0 12: -2 11: -4 9: -5 6: -5 -9: -64 0: 5 10: 5 -9: -64 0: 6 12: 6 -9: -64 0: -9 5: 5 5: -64 0: -9 -9: -2 -9: -64 0: 2 -9: 9 -9:-64 -64 2180: -16 17: 0 11: -1 10: 0 9: 1 10: 0 11: -2 12: -5 12: -8 11: -10 9: -11 6: -11 -9: -64 0: -5 12: -7 11: -9 9: -10 6: -10 -9: -64 0: 11 11: 10 10: 11 9: 12 10: 11 11: 9 12: 6 12: 3 11: 1 9: 0 6: 0 -9: -64 0: 6 12: 4 11: 2 9: 1 6: 1 -9: -64 0: 11 5: 11 -9: -64 0: 12 5: 12 -9: -64 0: -14 5: 12 5: -64 0: -14 -9: -7 -9: -64 0: -3 -9: 4 -9: -64 0: 8 -9: 15 -9:-64 -64 2181: -16 17: 0 11: -1 10: 0 9: 1 10: 0 11: -2 12: -5 12: -8 11: -10 9: -11 6: -11 -9: -64 0: -5 12: -7 11: -9 9: -10 6: -10 -9: -64 0: 10 11: 9 10: 10 9: 11 10: 11 11: 9 12: -64 0: 12 12: 6 12: 3 11: 1 9: 0 6: 0 -9: -64 0: 6 12: 4 11: 2 9: 1 6: 1 -9: -64 0: 11 10: 11 -9: -64 0: 12 12: 12 -9: -64 0: -14 5: 11 5: -64 0: -14 -9: -7 -9: -64 0: -3 -9: 4 -9: -64 0: 8 -9: 15 -9:-64 -64 2182: -5 6: 0 5: 0 -9: -64 0: 1 5: 1 -9: -64 0: -3 5: 1 5: -64 0: -3 -9: 4 -9:-64 -64 2184: -9 8: 5 4: 3 5: 0 5: -3 4: -5 2: -6 -1: -6 -4: -5 -7: -4 -8: -1 -9: 2 -9: 4 -8: -64 0: 0 5: -2 4: -4 2: -5 -1: -5 -4: -4 -7: -3 -8: -1 -9: -64 0: -5 -2: 3 -2:-64 -64 2185: -9 10: 2 12: -1 11: -3 8: -4 6: -5 3: -6 -2: -6 -6: -5 -8: -3 -9: -1 -9: 2 -8: 4 -5: 5 -3: 6 0: 7 5: 7 9: 6 11: 4 12: 2 12: -64 0: 2 12: 0 11: -2 8: -3 6: -4 3: -5 -2: -5 -6: -4 -8: -3 -9: -64 0: -1 -9: 1 -8: 3 -5: 4 -3: 5 0: 6 5: 6 9: 5 11: 4 12: -64 0: -4 2: 5 2:-64 -64 2186: -11 11: 3 12: -3 -16: -64 0: 4 12: -4 -16: -64 0: -1 5: -5 4: -7 2: -8 -1: -8 -4: -7 -6: -5 -8: -2 -9: 1 -9: 5 -8: 7 -6: 8 -3: 8 0: 7 2: 5 4: 2 5: -1 5: -64 0: -1 5: -4 4: -6 2: -7 -1: -7 -4: -6 -6: -4 -8: -2 -9: -64 0: 1 -9: 4 -8: 6 -6: 7 -3: 7 0: 6 2: 4 4: 2 5:-64 -64 2187: -9 9: 2 5: 4 4: 6 2: 6 3: 5 4: 2 5: -1 5: -4 4: -5 3: -6 1: -6 -1: -5 -3: -3 -5: 1 -8: -64 0: -1 5: -3 4: -4 3: -5 1: -5 -1: -4 -3: 1 -8: 2 -10: 2 -12: 1 -13: -1 -13:-64 -64 2190: -11 11: -6 5: -7 4: -8 2: -8 0: -7 -3: -3 -7: -2 -9: -64 0: -8 0: -7 -2: -3 -6: -2 -9: -2 -11: -3 -14: -5 -16: -6 -16: -7 -15: -8 -13: -8 -10: -7 -6: -5 -2: -3 1: 0 4: 2 5: 4 5: 7 4: 8 2: 8 -2: 7 -6: 5 -8: 3 -9: 2 -9: 1 -8: 1 -6: 2 -5: 3 -6: 2 -7: -64 0: 4 5: 6 4: 7 2: 7 -2: 6 -6: 5 -8:-64 -64 2191: -13 13: 7 11: 6 10: 7 9: 8 10: 7 11: 5 12: 2 12: -1 11: -3 9: -4 7: -5 4: -6 0: -8 -9: -9 -13: -10 -15: -64 0: 2 12: 0 11: -2 9: -3 7: -4 4: -6 -5: -7 -9: -8 -12: -9 -14: -10 -15: -12 -16: -14 -16: -15 -15: -15 -14: -14 -13: -13 -14: -14 -15: -64 0: 13 11: 12 10: 13 9: 14 10: 14 11: 13 12: 11 12: 9 11: 8 10: 7 8: 6 5: 3 -9: 2 -13: 1 -15: -64 0: 11 12: 9 10: 8 8: 7 4: 5 -5: 4 -9: 3 -12: 2 -14: 1 -15: -1 -16: -3 -16: -4 -15: -4 -14: -3 -13: -2 -14: -3 -15: -64 0: -9 5: 12 5:-64 -64 2192: -12 12: 9 11: 8 10: 9 9: 10 10: 9 11: 6 12: 3 12: 0 11: -2 9: -3 7: -4 4: -5 0: -7 -9: -8 -13: -9 -15: -64 0: 3 12: 1 11: -1 9: -2 7: -3 4: -5 -5: -6 -9: -7 -12: -8 -14: -9 -15: -11 -16: -13 -16: -14 -15: -14 -14: -13 -13: -12 -14: -13 -15: -64 0: 7 5: 5 -2: 4 -6: 4 -8: 5 -9: 8 -9: 10 -7: 11 -5: -64 0: 8 5: 6 -2: 5 -6: 5 -8: 6 -9: -64 0: -8 5: 8 5:-64 -64 2193: -12 12: 7 11: 6 10: 7 9: 8 10: 8 11: 6 12: -64 0: 10 12: 3 12: 0 11: -2 9: -3 7: -4 4: -5 0: -7 -9: -8 -13: -9 -15: -64 0: 3 12: 1 11: -1 9: -2 7: -3 4: -5 -5: -6 -9: -7 -12: -8 -14: -9 -15: -11 -16: -13 -16: -14 -15: -14 -14: -13 -13: -12 -14: -13 -15: -64 0: 9 12: 5 -2: 4 -6: 4 -8: 5 -9: 8 -9: 10 -7: 11 -5: -64 0: 10 12: 6 -2: 5 -6: 5 -8: 6 -9: -64 0: -8 5: 7 5:-64 -64 2194: -18 17: 2 11: 1 10: 2 9: 3 10: 2 11: 0 12: -3 12: -6 11: -8 9: -9 7: -10 4: -11 0: -13 -9: -14 -13: -15 -15: -64 0: -3 12: -5 11: -7 9: -8 7: -9 4: -11 -5: -12 -9: -13 -12: -14 -14: -15 -15: -17 -16: -19 -16: -20 -15: -20 -14: -19 -13: -18 -14: -19 -15: -64 0: 14 11: 13 10: 14 9: 15 10: 14 11: 11 12: 8 12: 5 11: 3 9: 2 7: 1 4: 0 0: -2 -9: -3 -13: -4 -15: -64 0: 8 12: 6 11: 4 9: 3 7: 2 4: 0 -5: -1 -9: -2 -12: -3 -14: -4 -15: -6 -16: -8 -16: -9 -15: -9 -14: -8 -13: -7 -14: -8 -15: -64 0: 12 5: 10 -2: 9 -6: 9 -8: 10 -9: 13 -9: 15 -7: 16 -5: -64 0: 13 5: 11 -2: 10 -6: 10 -8: 11 -9: -64 0: -14 5: 13 5:-64 -64 2195: -18 17: 2 11: 1 10: 2 9: 3 10: 2 11: 0 12: -3 12: -6 11: -8 9: -9 7: -10 4: -11 0: -13 -9: -14 -13: -15 -15: -64 0: -3 12: -5 11: -7 9: -8 7: -9 4: -11 -5: -12 -9: -13 -12: -14 -14: -15 -15: -17 -16: -19 -16: -20 -15: -20 -14: -19 -13: -18 -14: -19 -15: -64 0: 12 11: 11 10: 12 9: 13 10: 13 11: 11 12: -64 0: 15 12: 8 12: 5 11: 3 9: 2 7: 1 4: 0 0: -2 -9: -3 -13: -4 -15: -64 0: 8 12: 6 11: 4 9: 3 7: 2 4: 0 -5: -1 -9: -2 -12: -3 -14: -4 -15: -6 -16: -8 -16: -9 -15: -9 -14: -8 -13: -7 -14: -8 -15: -64 0: 14 12: 10 -2: 9 -6: 9 -8: 10 -9: 13 -9: 15 -7: 16 -5: -64 0: 15 12: 11 -2: 10 -6: 10 -8: 11 -9: -64 0: -14 5: 12 5:-64 -64 2196: -6 7: -5 1: -4 3: -2 5: 1 5: 2 4: 2 1: 0 -5: 0 -8: 1 -9: -64 0: 0 5: 1 4: 1 1: -1 -5: -1 -8: 0 -9: 3 -9: 5 -7: 6 -5:-64 -64 2197: 0 0:-64 -64 2198: -4 4:-64 -64 2199: -8 8:-64 -64 2200: -10 10: -1 12: -4 11: -6 8: -7 3: -7 0: -6 -5: -4 -8: -1 -9: 1 -9: 4 -8: 6 -5: 7 0: 7 3: 6 8: 4 11: 1 12: -1 12: -64 0: -1 12: -3 11: -4 10: -5 8: -6 3: -6 0: -5 -5: -4 -7: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 4 -7: 5 -5: 6 0: 6 3: 5 8: 4 10: 3 11: 1 12:-64 -64 2201: -10 10: -4 8: -2 9: 1 12: 1 -9: -64 0: 0 11: 0 -9: -64 0: -4 -9: 5 -9:-64 -64 2202: -10 10: -6 8: -5 7: -6 6: -7 7: -7 8: -6 10: -5 11: -2 12: 2 12: 5 11: 6 10: 7 8: 7 6: 6 4: 3 2: -2 0: -4 -1: -6 -3: -7 -6: -7 -9: -64 0: 2 12: 4 11: 5 10: 6 8: 6 6: 5 4: 2 2: -2 0: -64 0: -7 -7: -6 -6: -4 -6: 1 -8: 4 -8: 6 -7: 7 -6: -64 0: -4 -6: 1 -9: 5 -9: 6 -8: 7 -6: 7 -4:-64 -64 2203: -10 10: -6 8: -5 7: -6 6: -7 7: -7 8: -6 10: -5 11: -2 12: 2 12: 5 11: 6 9: 6 6: 5 4: 2 3: -1 3: -64 0: 2 12: 4 11: 5 9: 5 6: 4 4: 2 3: -64 0: 2 3: 4 2: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -2 -9: -5 -8: -6 -7: -7 -5: -7 -4: -6 -3: -5 -4: -6 -5: -64 0: 5 1: 6 -2: 6 -5: 5 -7: 4 -8: 2 -9:-64 -64 2204: -10 10: 2 10: 2 -9: -64 0: 3 12: 3 -9: -64 0: 3 12: -8 -3: 8 -3: -64 0: -1 -9: 6 -9:-64 -64 2205: -10 10: -5 12: -7 2: -64 0: -7 2: -5 4: -2 5: 1 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -2 -9: -5 -8: -6 -7: -7 -5: -7 -4: -6 -3: -5 -4: -6 -5: -64 0: 1 5: 3 4: 5 2: 6 -1: 6 -3: 5 -6: 3 -8: 1 -9: -64 0: -5 12: 5 12: -64 0: -5 11: 0 11: 5 12:-64 -64 2206: -10 10: 5 9: 4 8: 5 7: 6 8: 6 9: 5 11: 3 12: 0 12: -3 11: -5 9: -6 7: -7 3: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 -2: 6 1: 4 3: 1 4: 0 4: -3 3: -5 1: -6 -2: -64 0: 0 12: -2 11: -4 9: -5 7: -6 3: -6 -3: -5 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -6: 6 -3: 6 -2: 5 1: 3 3: 1 4:-64 -64 2207: -10 10: -7 12: -7 6: -64 0: -7 8: -6 10: -4 12: -2 12: 3 9: 5 9: 6 10: 7 12: -64 0: -6 10: -4 11: -2 11: 3 9: -64 0: 7 12: 7 9: 6 6: 2 1: 1 -1: 0 -4: 0 -9: -64 0: 6 6: 1 1: 0 -1: -1 -4: -1 -9:-64 -64 2208: -10 10: -2 12: -5 11: -6 9: -6 6: -5 4: -2 3: 2 3: 5 4: 6 6: 6 9: 5 11: 2 12: -2 12: -64 0: -2 12: -4 11: -5 9: -5 6: -4 4: -2 3: -64 0: 2 3: 4 4: 5 6: 5 9: 4 11: 2 12: -64 0: -2 3: -5 2: -6 1: -7 -1: -7 -5: -6 -7: -5 -8: -2 -9: 2 -9: 5 -8: 6 -7: 7 -5: 7 -1: 6 1: 5 2: 2 3: -64 0: -2 3: -4 2: -5 1: -6 -1: -6 -5: -5 -7: -4 -8: -2 -9: -64 0: 2 -9: 4 -8: 5 -7: 6 -5: 6 -1: 5 1: 4 2: 2 3:-64 -64 2209: -10 10: 6 5: 5 2: 3 0: 0 -1: -1 -1: -4 0: -6 2: -7 5: -7 6: -6 9: -4 11: -1 12: 1 12: 4 11: 6 9: 7 6: 7 0: 6 -4: 5 -6: 3 -8: 0 -9: -3 -9: -5 -8: -6 -6: -6 -5: -5 -4: -4 -5: -5 -6: -64 0: -1 -1: -3 0: -5 2: -6 5: -6 6: -5 9: -3 11: -1 12: -64 0: 1 12: 3 11: 5 9: 6 6: 6 0: 5 -4: 4 -6: 2 -8: 0 -9:-64 -64 2210: -5 5: 0 -7: -1 -8: 0 -9: 1 -8: 0 -7:-64 -64 2211: -5 5: 0 -9: -1 -8: 0 -7: 1 -8: 1 -10: 0 -12: -1 -13:-64 -64 2212: -5 5: 0 5: -1 4: 0 3: 1 4: 0 5: -64 0: 0 -7: -1 -8: 0 -9: 1 -8: 0 -7:-64 -64 2213: -5 5: 0 5: -1 4: 0 3: 1 4: 0 5: -64 0: 0 -9: -1 -8: 0 -7: 1 -8: 1 -10: 0 -12: -1 -13:-64 -64 2214: -5 5: 0 12: -1 10: 0 -2: 1 10: 0 12: -64 0: 0 10: 0 4: -64 0: 0 -7: -1 -8: 0 -9: 1 -8: 0 -7:-64 -64 2215: -9 9: -5 8: -4 7: -5 6: -6 7: -6 8: -5 10: -4 11: -2 12: 1 12: 4 11: 5 10: 6 8: 6 6: 5 4: 4 3: 0 1: 0 -2: -64 0: 1 12: 3 11: 4 10: 5 8: 5 6: 4 4: 2 2: -64 0: 0 -7: -1 -8: 0 -9: 1 -8: 0 -7:-64 -64 2216: -4 4: 0 12: -1 5: -64 0: 1 12: -1 5:-64 -64 2217: -8 8: -4 12: -5 5: -64 0: -3 12: -5 5: -64 0: 4 12: 3 5: -64 0: 5 12: 3 5:-64 -64 2218: -7 7: -1 12: -3 11: -4 9: -4 7: -3 5: -1 4: 1 4: 3 5: 4 7: 4 9: 3 11: 1 12: -1 12:-64 -64 2219: -8 8: 0 12: 0 0: -64 0: -5 9: 5 3: -64 0: 5 9: -5 3:-64 -64 2220: -11 11: 9 16: -9 -16:-64 -64 2221: -7 7: 4 16: 2 14: 0 11: -2 7: -3 2: -3 -2: -2 -7: 0 -11: 2 -14: 4 -16: -64 0: 2 14: 0 10: -1 7: -2 2: -2 -2: -1 -7: 0 -10: 2 -14:-64 -64 2222: -7 7: -4 16: -2 14: 0 11: 2 7: 3 2: 3 -2: 2 -7: 0 -11: -2 -14: -4 -16: -64 0: -2 14: 0 10: 1 7: 2 2: 2 -2: 1 -7: 0 -10: -2 -14:-64 -64 2223: -7 7: -3 16: -3 -16: -64 0: -2 16: -2 -16: -64 0: -3 16: 4 16: -64 0: -3 -16: 4 -16:-64 -64 2224: -7 7: 2 16: 2 -16: -64 0: 3 16: 3 -16: -64 0: -4 16: 3 16: -64 0: -4 -16: 3 -16:-64 -64 2225: -7 7: 2 16: 0 15: -1 14: -2 12: -2 10: -1 8: 0 7: 1 5: 1 3: -1 1: -64 0: 0 15: -1 13: -1 11: 0 9: 1 8: 2 6: 2 4: 1 2: -3 0: 1 -2: 2 -4: 2 -6: 1 -8: 0 -9: -1 -11: -1 -13: 0 -15: -64 0: -1 -1: 1 -3: 1 -5: 0 -7: -1 -8: -2 -10: -2 -12: -1 -14: 0 -15: 2 -16:-64 -64 2226: -7 7: -2 16: 0 15: 1 14: 2 12: 2 10: 1 8: 0 7: -1 5: -1 3: 1 1: -64 0: 0 15: 1 13: 1 11: 0 9: -1 8: -2 6: -2 4: -1 2: 3 0: -1 -2: -2 -4: -2 -6: -1 -8: 0 -9: 1 -11: 1 -13: 0 -15: -64 0: 1 -1: -1 -3: -1 -5: 0 -7: 1 -8: 2 -10: 2 -12: 1 -14: 0 -15: -2 -16:-64 -64 2227: -7 7: 3 16: -4 0: 3 -16:-64 -64 2228: -7 7: -3 16: 4 0: -3 -16:-64 -64 2229: -4 4: 0 16: 0 -16:-64 -64 2230: -7 7: -3 16: -3 -16: -64 0: 3 16: 3 -16:-64 -64 2231: -13 13: -9 0: 9 0:-64 -64 2232: -13 13: 0 9: 0 -9: -64 0: -9 0: 9 0:-64 -64 2233: -12 12: 0 8: 0 -9: -64 0: -8 0: 8 0: -64 0: -8 -9: 8 -9:-64 -64 2234: -12 12: 0 8: 0 -9: -64 0: -8 8: 8 8: -64 0: -8 0: 8 0:-64 -64 2235: -11 11: -7 7: 7 -7: -64 0: 7 7: -7 -7:-64 -64 2236: -5 5: 0 1: -1 0: 0 -1: 1 0: 0 1:-64 -64 2237: -13 13: 0 9: -1 8: 0 7: 1 8: 0 9: -64 0: -9 0: 9 0: -64 0: 0 -7: -1 -8: 0 -9: 1 -8: 0 -7:-64 -64 2238: -13 13: -9 3: 9 3: -64 0: -9 -3: 9 -3:-64 -64 2239: -13 13: 7 9: -7 -9: -64 0: -9 3: 9 3: -64 0: -9 -3: 9 -3:-64 -64 2240: -13 13: -9 5: 9 5: -64 0: -9 0: 9 0: -64 0: -9 -5: 9 -5:-64 -64 2241: -12 12: 8 9: -8 0: 8 -9:-64 -64 2242: -12 12: -8 9: 8 0: -8 -9:-64 -64 2243: -12 12: 8 12: -8 5: 8 -2: -64 0: -8 -4: 8 -4: -64 0: -8 -9: 8 -9:-64 -64 2244: -12 12: -8 12: 8 5: -8 -2: -64 0: -8 -4: 8 -4: -64 0: -8 -9: 8 -9:-64 -64 2245: -12 13: 9 -5: 7 -5: 5 -4: 3 -2: 0 2: -1 3: -3 4: -5 4: -7 3: -8 1: -8 -1: -7 -3: -5 -4: -3 -4: -1 -3: 0 -2: 3 2: 5 4: 7 5: 9 5:-64 -64 2246: -12 12: -9 -3: -9 -1: -8 2: -6 3: -4 3: -2 2: 2 -1: 4 -2: 6 -2: 8 -1: 9 1: -64 0: -9 -1: -8 1: -6 2: -4 2: -2 1: 2 -2: 4 -3: 6 -3: 8 -2: 9 1: 9 3:-64 -64 2247: -11 11: -8 -2: 0 3: 8 -2: -64 0: -8 -2: 0 2: 8 -2:-64 -64 2248: -6 6: 2 12: -3 6: -64 0: 2 12: 3 11: -3 6:-64 -64 2249: -6 6: -2 12: 3 6: -64 0: -2 12: -3 11: 3 6:-64 -64 2250: -10 10: -7 12: -6 10: -4 8: -1 7: 1 7: 4 8: 6 10: 7 12: -64 0: -7 12: -6 9: -4 7: -1 6: 1 6: 4 7: 6 9: 7 12:-64 -64 2251: -5 5: 0 10: -1 11: 0 12: 1 11: 1 9: 0 7: -1 6:-64 -64 2252: -5 5: 1 12: 0 11: -1 9: -1 7: 0 6: 1 7: 0 8:-64 -64 2253: -5 5: 0 10: 1 11: 0 12: -1 11: -1 9: 0 7: 1 6:-64 -64 2254: -5 5: -1 12: 0 11: 1 9: 1 7: 0 6: -1 7: 0 8:-64 -64 2255: -13 9: -10 5: -6 5: 0 -7: -64 0: -7 5: 0 -9: -64 0: 9 16: 0 -9:-64 -64 2256: -12 12: 8 8: 1 8: -3 7: -5 6: -7 4: -8 1: -8 -1: -7 -4: -5 -6: -3 -7: 1 -8: 8 -8:-64 -64 2257: -12 12: -8 8: -8 1: -7 -3: -6 -5: -4 -7: -1 -8: 1 -8: 4 -7: 6 -5: 7 -3: 8 1: 8 8:-64 -64 2258: -12 12: -8 8: -1 8: 3 7: 5 6: 7 4: 8 1: 8 -1: 7 -4: 5 -6: 3 -7: -1 -8: -8 -8:-64 -64 2259: -12 12: -8 -8: -8 -1: -7 3: -6 5: -4 7: -1 8: 1 8: 4 7: 6 5: 7 3: 8 -1: 8 -8:-64 -64 2260: -12 12: 8 8: 1 8: -3 7: -5 6: -7 4: -8 1: -8 -1: -7 -4: -5 -6: -3 -7: 1 -8: 8 -8: -64 0: -8 0: 4 0:-64 -64 2261: -13 13: 6 2: 9 0: 6 -2: -64 0: 3 5: 8 0: 3 -5: -64 0: -9 0: 8 0:-64 -64 2262: -8 8: -2 6: 0 9: 2 6: -64 0: -5 3: 0 8: 5 3: -64 0: 0 8: 0 -9:-64 -64 2263: -13 13: -6 2: -9 0: -6 -2: -64 0: -3 5: -8 0: -3 -5: -64 0: -8 0: 9 0:-64 -64 2264: -8 8: -2 -6: 0 -9: 2 -6: -64 0: -5 -3: 0 -8: 5 -3: -64 0: 0 9: 0 -8:-64 -64 2265: -9 10: 6 0: 5 3: 4 4: 2 5: 0 5: -3 4: -5 1: -6 -2: -6 -5: -5 -7: -4 -8: -2 -9: 0 -9: 3 -8: 5 -6: 6 -3: 7 2: 7 7: 6 10: 5 11: 3 12: 0 12: -2 11: -3 10: -3 9: -2 9: -2 10: -64 0: 0 5: -2 4: -4 1: -5 -2: -5 -6: -4 -8: -64 0: 0 -9: 2 -8: 4 -6: 5 -3: 6 2: 6 7: 5 10: 3 12:-64 -64 2266: -10 10: -8 12: 0 -9: -64 0: -7 12: 0 -7: -64 0: 8 12: 0 -9: -64 0: -8 12: 8 12: -64 0: -7 11: 7 11:-64 -64 2267: -17 16: -14 5: -9 5: 0 -7: -64 0: -10 4: 0 -9: -64 0: 16 24: 0 -9:-64 -64 2268: -12 12: 9 15: 8 14: 9 13: 10 14: 10 15: 9 16: 7 16: 5 15: 3 13: 2 11: 1 8: 0 4: -2 -8: -3 -12: -4 -14: -64 0: 4 14: 3 12: 2 8: 0 -4: -1 -8: -2 -11: -3 -13: -5 -15: -7 -16: -9 -16: -10 -15: -10 -14: -9 -13: -8 -14: -9 -15:-64 -64 2269: -12 12: 9 15: 8 14: 9 13: 10 14: 10 15: 9 16: 7 16: 5 15: 3 13: 2 11: 1 8: 0 4: -2 -8: -3 -12: -4 -14: -64 0: 4 14: 3 12: 2 8: 0 -4: -1 -8: -2 -11: -3 -13: -5 -15: -7 -16: -9 -16: -10 -15: -10 -14: -9 -13: -8 -14: -9 -15: -64 0: -1 7: -4 6: -6 4: -7 1: -7 -1: -6 -4: -4 -6: -1 -7: 1 -7: 4 -6: 6 -4: 7 -1: 7 1: 6 4: 4 6: 1 7: -1 7:-64 -64 2270: -12 13: 10 -1: 9 -3: 7 -4: 5 -4: 3 -3: 2 -2: -1 2: -2 3: -4 4: -6 4: -8 3: -9 1: -9 -1: -8 -3: -6 -4: -4 -4: -2 -3: -1 -2: 2 2: 3 3: 5 4: 7 4: 9 3: 10 1: 10 -1:-64 -64 2271: -12 12: 9 12: -9 -9: -64 0: -4 12: -2 10: -2 8: -3 6: -5 5: -7 5: -9 7: -9 9: -8 11: -6 12: -4 12: -2 11: 1 10: 4 10: 7 11: 9 12: -64 0: 5 -2: 3 -3: 2 -5: 2 -7: 4 -9: 6 -9: 8 -8: 9 -6: 9 -4: 7 -2: 5 -2:-64 -64 2272: -12 13: 9 4: 8 3: 9 2: 10 3: 10 4: 9 5: 8 5: 7 4: 6 2: 4 -3: 2 -6: 0 -8: -2 -9: -5 -9: -8 -8: -9 -6: -9 -3: -8 -1: -2 3: 0 5: 1 7: 1 9: 0 11: -2 12: -4 11: -5 9: -5 7: -4 4: -2 1: 3 -6: 5 -8: 8 -9: 9 -9: 10 -8: 10 -7: -64 0: -5 -9: -7 -8: -8 -6: -8 -3: -7 -1: -5 1: -64 0: -5 7: -4 5: 4 -6: 6 -8: 8 -9:-64 -64 2273: -13 14: 5 4: 4 6: 2 7: -1 7: -3 6: -4 5: -5 2: -5 -1: -4 -3: -2 -4: 1 -4: 3 -3: 4 -1: -64 0: -1 7: -3 5: -4 2: -4 -1: -3 -3: -2 -4: -64 0: 5 7: 4 -1: 4 -3: 6 -4: 8 -4: 10 -2: 11 1: 11 3: 10 6: 9 8: 7 10: 5 11: 2 12: -1 12: -4 11: -6 10: -8 8: -9 6: -10 3: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 2 -9: 5 -8: 7 -7: 8 -6: -64 0: 6 7: 5 -1: 5 -3: 6 -4:-64 -64 2274: -10 10: -2 16: -2 -13: -64 0: 2 16: 2 -13: -64 0: 6 9: 5 8: 6 7: 7 8: 7 9: 5 11: 2 12: -2 12: -5 11: -7 9: -7 7: -6 5: -5 4: -3 3: 3 1: 5 0: 7 -2: -64 0: -7 7: -5 5: -3 4: 3 2: 5 1: 6 0: 7 -2: 7 -6: 5 -8: 2 -9: -2 -9: -5 -8: -7 -6: -7 -5: -6 -4: -5 -5: -6 -6:-64 -64 2275: -10 11: 1 12: -6 -16: -64 0: 7 12: 0 -16: -64 0: -6 1: 8 1: -64 0: -7 -5: 7 -5:-64 -64 2276: -8 8: 3 9: 2 8: 3 7: 4 8: 4 9: 3 11: 1 12: -1 12: -3 11: -4 9: -4 7: -3 5: -1 3: 4 0: -64 0: -3 5: 2 2: 4 0: 5 -2: 5 -4: 4 -6: 2 -8: -64 0: -2 4: -4 2: -5 0: -5 -2: -4 -4: -2 -6: 3 -9: -64 0: -4 -4: 1 -7: 3 -9: 4 -11: 4 -13: 3 -15: 1 -16: -1 -16: -3 -15: -4 -13: -4 -12: -3 -11: -2 -12: -3 -13:-64 -64 2277: -8 8: 0 12: -1 10: 0 8: 1 10: 0 12: -64 0: 0 12: 0 -16: -64 0: 0 1: -1 -2: 0 -16: 1 -2: 0 1: -64 0: -6 5: -4 4: -2 5: -4 6: -6 5: -64 0: -6 5: 6 5: -64 0: 2 5: 4 4: 6 5: 4 6: 2 5:-64 -64 2278: -8 8: 0 12: -1 10: 0 8: 1 10: 0 12: -64 0: 0 12: 0 -2: -64 0: 0 2: -1 0: 1 -4: 0 -6: -1 -4: 1 0: 0 2: -64 0: 0 -2: 0 -16: -64 0: 0 -12: -1 -14: 0 -16: 1 -14: 0 -12: -64 0: -6 5: -4 4: -2 5: -4 6: -6 5: -64 0: -6 5: 6 5: -64 0: 2 5: 4 4: 6 5: 4 6: 2 5: -64 0: -6 -9: -4 -10: -2 -9: -4 -8: -6 -9: -64 0: -6 -9: 6 -9: -64 0: 2 -9: 4 -10: 6 -9: 4 -8: 2 -9:-64 -64 2279: -9 10: 6 12: 6 -9: -64 0: -7 12: 6 12: -64 0: -2 2: 6 2: -64 0: -7 -9: 6 -9:-64 -64 2281: -13 14: -1 12: -4 11: -7 9: -9 6: -10 3: -10 0: -9 -3: -7 -6: -4 -8: -1 -9: 2 -9: 5 -8: 8 -6: 10 -3: 11 0: 11 3: 10 6: 8 9: 5 11: 2 12: -1 12: -64 0: 0 3: -1 2: -1 1: 0 0: 1 0: 2 1: 2 2: 1 3: 0 3: -64 0: 0 2: 0 1: 1 1: 1 2: 0 2:-64 -64 2282: -8 9: -2 12: -4 11: -3 9: -1 8: -64 0: -2 12: -3 11: -3 9: -64 0: 3 12: 5 11: 4 9: 2 8: -64 0: 3 12: 4 11: 4 9: -64 0: -1 8: -3 7: -4 6: -5 4: -5 1: -4 -1: -3 -2: -1 -3: 2 -3: 4 -2: 5 -1: 6 1: 6 4: 5 6: 4 7: 2 8: -1 8: -64 0: 0 -3: 0 -9: -64 0: 1 -3: 1 -9: -64 0: -4 -6: 5 -6:-64 -64 2283: -9 10: 0 12: -3 11: -5 9: -6 6: -6 5: -5 2: -3 0: 0 -1: 1 -1: 4 0: 6 2: 7 5: 7 6: 6 9: 4 11: 1 12: 0 12: -64 0: 0 -1: 0 -9: -64 0: 1 -1: 1 -9: -64 0: -4 -5: 5 -5:-64 -64 2284: -14 14: -2 12: -5 11: -8 9: -10 6: -11 3: -11 -1: -10 -4: -8 -7: -5 -9: -2 -10: 2 -10: 5 -9: 8 -7: 10 -4: 11 -1: 11 3: 10 6: 8 9: 5 11: 2 12: -2 12: -64 0: 0 12: 0 -10: -64 0: -11 1: 11 1:-64 -64 2285: -11 14: -2 5: -5 4: -7 2: -8 -1: -8 -2: -7 -5: -5 -7: -2 -8: -1 -8: 2 -7: 4 -5: 5 -2: 5 -1: 4 2: 2 4: -1 5: -2 5: -64 0: 11 11: 5 11: 9 10: 3 4: -64 0: 11 11: 11 5: 10 9: 4 3: -64 0: 10 10: 4 4:-64 -64 2286: -12 10: -9 9: -8 11: -6 12: -3 12: -1 11: 0 9: 0 6: -1 3: -2 1: -4 -1: -7 -3: -64 0: -3 12: -2 11: -1 9: -1 5: -2 2: -4 -1: -64 0: 4 12: 2 -9: -64 0: 5 12: 1 -9: -64 0: -7 -3: 7 -3:-64 -64 2287: -9 10: -5 12: -5 -3: -64 0: -4 12: -5 1: -64 0: -5 1: -4 3: -3 4: -1 5: 2 5: 5 4: 6 2: 6 0: 5 -2: 3 -4: -64 0: 2 5: 4 4: 5 2: 5 0: 2 -6: 2 -8: 3 -9: 5 -9: 7 -7: -64 0: -7 12: -4 12:-64 -64 2288: -9 10: 0 4: -3 3: -5 1: -6 -2: -6 -3: -5 -6: -3 -8: 0 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 -2: 6 1: 4 3: 1 4: 0 4: -64 0: 0 10: -4 8: 0 12: 0 4: -64 0: 1 10: 5 8: 1 12: 1 4: -64 0: 0 -1: -1 -2: -1 -3: 0 -4: 1 -4: 2 -3: 2 -2: 1 -1: 0 -1: -64 0: 0 -2: 0 -3: 1 -3: 1 -2: 0 -2:-64 -64 2289: -11 12: -1 10: 0 12: 0 -9: -64 0: 2 10: 1 12: 1 -9: -64 0: -8 10: -7 12: -7 5: -6 2: -4 0: -1 -1: 0 -1: -64 0: -5 10: -6 12: -6 4: -5 1: -64 0: 9 10: 8 12: 8 5: 7 2: 5 0: 2 -1: 1 -1: -64 0: 6 10: 7 12: 7 4: 6 1: -64 0: -4 -5: 5 -5:-64 -64 2290: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 5: 7 3: 6 2: 3 1: -5 1: -64 0: 3 12: 5 11: 6 10: 7 8: 7 5: 6 3: 5 2: 3 1: -64 0: -9 -9: 7 -9: 7 -4: 6 -9:-64 -64 2291: -10 9: 7 11: 3 11: -1 10: -4 8: -6 5: -7 2: -7 -1: -6 -4: -4 -7: -1 -9: 3 -10: 7 -10: -64 0: 7 11: 4 10: 1 8: -1 5: -2 2: -2 -1: -1 -4: 1 -7: 4 -9: 7 -10:-64 -64 2292: -12 13: -3 1: -5 1: -7 0: -8 -1: -9 -3: -9 -5: -8 -7: -7 -8: -5 -9: -3 -9: -1 -8: 0 -7: 1 -5: 1 -3: 0 -1: -1 0: -3 1: -64 0: 1 10: -2 1: -64 0: 8 8: 0 0: -64 0: 10 1: 1 -2:-64 -64 2293: -10 10: -3 7: 3 -7: -64 0: 3 7: -3 -7: -64 0: -7 3: 7 -3: -64 0: 7 3: -7 -3:-64 -64 2294: -12 12: -4 -4: -6 -3: -7 -3: -9 -4: -10 -6: -10 -7: -9 -9: -7 -10: -6 -10: -4 -9: -3 -7: -3 -6: -4 -4: -7 0: -8 3: -8 5: -7 8: -5 10: -2 11: 2 11: 5 10: 7 8: 8 5: 8 3: 7 0: 4 -4: 3 -6: 3 -7: 4 -9: 6 -10: 7 -10: 9 -9: 10 -7: 10 -6: 9 -4: 7 -3: 6 -3: 4 -4: -64 0: -8 5: -7 7: -5 9: -2 10: 2 10: 5 9: 7 7: 8 5:-64 -64 2295: -12 12: -4 5: -6 4: -7 4: -9 5: -10 7: -10 8: -9 10: -7 11: -6 11: -4 10: -3 8: -3 7: -4 5: -7 1: -8 -2: -8 -4: -7 -7: -5 -9: -2 -10: 2 -10: 5 -9: 7 -7: 8 -4: 8 -2: 7 1: 4 5: 3 7: 3 8: 4 10: 6 11: 7 11: 9 10: 10 8: 10 7: 9 5: 7 4: 6 4: 4 5: -64 0: -8 -4: -7 -6: -5 -8: -2 -9: 2 -9: 5 -8: 7 -6: 8 -4:-64 -64 2301: -12 13: -8 5: -9 6: -9 8: -8 10: -6 11: -4 11: -2 10: -1 9: 0 7: 1 2: -64 0: -9 8: -7 10: -5 10: -3 9: -2 8: -1 6: 0 2: 0 -9: -64 0: 9 5: 10 6: 10 8: 9 10: 7 11: 5 11: 3 10: 2 9: 1 7: 0 2: -64 0: 10 8: 8 10: 6 10: 4 9: 3 8: 2 6: 1 2: 1 -9:-64 -64 2302: -12 12: -9 11: -8 7: -7 5: -5 3: -2 2: 2 2: 5 3: 7 5: 8 7: 9 11: -64 0: -9 11: -8 8: -7 6: -5 4: -2 3: 2 3: 5 4: 7 6: 8 8: 9 11: -64 0: -2 3: -4 2: -5 1: -6 -1: -6 -4: -5 -6: -3 -8: -1 -9: 1 -9: 3 -8: 5 -6: 6 -4: 6 -1: 5 1: 4 2: 2 3: -64 0: -2 2: -4 1: -5 -1: -5 -4: -4 -7: -64 0: 4 -7: 5 -4: 5 -1: 4 1: 2 2:-64 -64 2303: -12 12: -5 8: -5 -4: -64 0: -4 7: -4 -3: -64 0: 4 7: 4 -3: -64 0: 5 8: 5 -4: -64 0: -9 11: -7 9: -5 8: -2 7: 2 7: 5 8: 7 9: 9 11: -64 0: -9 -7: -7 -5: -5 -4: -2 -3: 2 -3: 5 -4: 7 -5: 9 -7:-64 -64 2304: -12 12: 9 9: -6 9: -8 8: -9 6: -9 4: -8 2: -6 1: -4 1: -2 2: -1 4: -1 6: -2 8: 9 8: -64 0: -9 5: -8 3: -7 2: -5 1: -64 0: -1 5: -2 7: -3 8: -5 9: -64 0: -9 -6: 6 -6: 8 -5: 9 -3: 9 -1: 8 1: 6 2: 4 2: 2 1: 1 -1: 1 -3: 2 -5: -9 -5: -64 0: 9 -2: 8 0: 7 1: 5 2: -64 0: 1 -2: 2 -4: 3 -5: 5 -6:-64 -64 2305: -12 11: -3 -3: -5 -2: -6 -2: -8 -3: -9 -5: -9 -6: -8 -8: -6 -9: -5 -9: -3 -8: -2 -6: -2 -5: -3 -3: -8 2: -9 4: -9 7: -8 9: -6 10: -3 11: 1 11: 5 10: 7 8: 8 6: 8 3: 7 0: 4 -3: 3 -5: 3 -7: 4 -9: 6 -9: 7 -8: 8 -6: -64 0: -5 -1: -7 2: -8 4: -8 7: -7 9: -6 10: -64 0: 1 11: 4 10: 6 8: 7 6: 7 3: 6 0: 4 -3:-64 -64 2306: -11 13: -10 7: -7 10: -5 7: -5 -4: -64 0: -8 9: -6 6: -6 -4: -64 0: -5 7: -2 10: 0 7: 0 -3: -64 0: -3 9: -1 6: -1 -3: -64 0: 0 7: 3 10: 5 7: 5 -9: -64 0: 2 9: 4 6: 4 -9: -64 0: 5 7: 8 10: 9 8: 10 5: 10 2: 9 -1: 8 -3: 6 -5: 3 -7: -2 -9: -64 0: 7 9: 8 8: 9 5: 9 2: 8 -1: 7 -3: 5 -5: 2 -7: -2 -9:-64 -64 2307: -12 12: -9 -1: -5 -1: -6 0: -7 3: -7 5: -6 8: -4 10: -1 11: 1 11: 4 10: 6 8: 7 5: 7 3: 6 0: 5 -1: 9 -1: -64 0: -9 -2: -3 -2: -5 0: -6 3: -6 5: -5 8: -3 10: -1 11: -64 0: 1 11: 3 10: 5 8: 6 5: 6 3: 5 0: 3 -2: 9 -2: -64 0: -7 -6: 7 -6: -64 0: -7 -7: 7 -7:-64 -64 2308: -12 13: -11 6: -8 9: -5 6: -5 -6: -64 0: -9 8: -6 5: -6 -6: -64 0: -5 6: -2 9: 1 6: 1 -6: -64 0: -3 8: 0 5: 0 -6: -64 0: 1 6: 4 9: 7 6: 7 -5: 9 -7: -64 0: 3 8: 6 5: 6 -6: 8 -8: 11 -5:-64 -64 2309: -11 11: 8 9: -8 -7: -64 0: 8 9: 5 8: -1 8: -64 0: 6 7: 3 7: -1 8: -64 0: 8 9: 7 6: 7 0: -64 0: 6 7: 6 4: 7 0: -64 0: -1 0: -8 0: -64 0: -2 -1: -5 -1: -8 0: -64 0: -1 0: -1 -7: -64 0: -2 -1: -2 -4: -1 -7:-64 -64 2310: -12 12: -10 3: -8 7: -3 -3: -64 0: -8 5: -3 -5: 0 2: 5 2: 8 3: 9 5: 9 7: 8 9: 6 10: 5 10: 3 9: 2 7: 2 5: 3 2: 4 0: 5 -3: 5 -6: 3 -8: -64 0: 5 10: 4 9: 3 7: 3 5: 5 1: 6 -2: 6 -5: 5 -7: 3 -8:-64 -64 2311: -12 12: -9 3: -6 6: -2 4: -64 0: -7 5: -3 3: 0 6: 3 4: -64 0: -1 5: 2 3: 5 6: 7 4: -64 0: 4 5: 6 3: 9 6: -64 0: -9 -3: -6 0: -2 -2: -64 0: -7 -1: -3 -3: 0 0: 3 -2: -64 0: -1 -1: 2 -3: 5 0: 7 -2: -64 0: 4 -1: 6 -3: 9 0:-64 -64 2312: -12 12: -8 10: -4 8: -2 6: -1 3: -1 0: -2 -3: -4 -5: -8 -7: -64 0: -8 10: -5 9: -3 8: -1 6: 0 3: -64 0: 0 0: -1 -3: -3 -5: -5 -6: -8 -7: -64 0: 8 10: 5 9: 3 8: 1 6: 0 3: -64 0: 0 0: 1 -3: 3 -5: 5 -6: 8 -7: -64 0: 8 10: 4 8: 2 6: 1 3: 1 0: 2 -3: 4 -5: 8 -7: -64 0: -9 2: 9 2: -64 0: -9 1: 9 1:-64 -64 2317: -4 4: -1 1: -1 -1: 1 -1: 1 1: -1 1: -64 0: -1 1: 1 -1: -64 0: 1 1: -1 -1:-64 -64 2318: -8 8: -5 2: -1 0: 2 -2: 4 -4: 5 -7: 5 -9: 4 -11: 3 -12: -64 0: -5 1: 1 -2: -64 0: -5 0: -2 -1: 2 -3: 4 -5: 5 -7:-64 -64 2319: -8 8: 5 7: 4 5: 2 3: -2 1: -5 0: -64 0: 1 2: -5 -1: -64 0: 3 12: 4 11: 5 9: 5 7: 4 4: 2 2: -1 0: -5 -2:-64 -64 2320: -10 10: 1 5: -3 4: -6 2: -7 0: -7 -2: -6 -4: -4 -5: -1 -5: 3 -4: 6 -2: 7 0: 7 2: 6 4: 4 5: 1 5: -64 0: 6 4: 1 5: -64 0: 4 5: -1 4: -6 2: -64 0: -3 4: -7 0: -64 0: -6 -4: -1 -5: -64 0: -4 -5: 1 -4: 6 -2: -64 0: 3 -4: 7 0:-64 -64 2321: -10 10: 1 5: -3 4: -6 2: -7 0: -7 -2: -6 -4: -4 -5: -1 -5: 3 -4: 6 -2: 7 0: 7 2: 6 4: 4 5: 1 5: -64 0: 6 4: 1 5: -64 0: 4 5: -1 4: -6 2: -64 0: -3 4: -7 0: -64 0: -6 -4: -1 -5: -64 0: -4 -5: 1 -4: 6 -2: -64 0: 3 -4: 7 0:-64 -64 2322: -8 9: 1 5: -2 4: -4 2: -5 0: -5 -2: -4 -4: -2 -5: 0 -5: 3 -4: 5 -2: 6 0: 6 2: 5 4: 3 5: 1 5: -64 0: -3 2: 3 5: -64 0: -4 0: 4 4: -64 0: -5 -2: 5 3: -64 0: -4 -3: 6 2: -64 0: -3 -4: 5 0: -64 0: -2 -5: 4 -2:-64 -64 2323: -8 8: -3 11: -3 -12: -64 0: 3 12: 3 -11: -64 0: -5 4: 5 6: -64 0: -5 3: 5 5: -64 0: -5 -5: 5 -3: -64 0: -5 -6: 5 -4:-64 -64 2324: -8 8: -4 12: -4 -6: -64 0: 4 6: 4 -12: -64 0: -4 4: 4 6: -64 0: -4 3: 4 5: -64 0: -4 -5: 4 -3: -64 0: -4 -6: 4 -4:-64 -64 2325: -8 8: -4 16: -4 -5: -64 0: -4 4: -1 6: 2 6: 4 5: 5 3: 5 1: 4 -1: 1 -3: -1 -4: -4 -5: -64 0: -4 4: -1 5: 2 5: 4 4: -64 0: 3 5: 4 3: 4 1: 3 -1: 1 -3:-64 -64 2326: -13 13: -10 9: -10 6: -64 0: 10 9: 10 6: -64 0: -10 9: 10 9: -64 0: -10 8: 10 8: -64 0: -10 7: 10 7: -64 0: -10 6: 10 6:-64 -64 2327: -8 8: -5 4: -5 1: -64 0: 5 4: 5 1: -64 0: -5 4: 5 4: -64 0: -5 3: 5 3: -64 0: -5 2: 5 2: -64 0: -5 1: 5 1:-64 -64 2328: -8 8: -5 6: 5 -6: -64 0: -5 6: -3 4: -1 3: 2 3: 4 4: 5 5: 5 7: 3 7: 3 5: 2 3: -64 0: -3 4: 2 3: -64 0: -1 3: 5 5: -64 0: 4 7: 4 4: -64 0: 3 6: 5 6: -64 0: 5 -6: 3 -4: 1 -3: -2 -3: -4 -4: -5 -5: -5 -7: -3 -7: -3 -5: -2 -3: -64 0: 3 -4: -2 -3: -64 0: 1 -3: -5 -5: -64 0: -4 -4: -4 -7: -64 0: -5 -6: -3 -6:-64 -64 2329: -8 8: -2 3: -3 5: -3 7: -5 7: -5 5: -4 4: -2 3: 1 3: 3 4: 5 6: -64 0: -4 7: -4 4: -64 0: -5 6: -3 6: -64 0: -5 5: 1 3: -64 0: -2 3: 3 4: -64 0: 5 6: 5 -7:-64 -64 2330: -17 12: -11 -20: -10 -20: -9 -19: -9 -18: -10 -17: -11 -17: -12 -18: -12 -20: -11 -22: -9 -23: -7 -23: -4 -22: -2 -20: -1 -18: 0 -14: 0 -3: -1 23: -1 30: 0 35: 1 37: 3 38: 4 38: 6 37: 7 35: 7 31: 6 28: 5 26: 3 23: -2 19: -8 15: -10 13: -12 10: -13 8: -14 4: -14 0: -13 -4: -11 -7: -8 -9: -4 -10: 0 -10: 4 -9: 6 -8: 8 -5: 9 -2: 9 2: 8 5: 7 7: 5 9: 2 10: -2 10: -5 9: -7 7: -8 4: -8 0: -7 -3: -5 -5: -64 0: -11 -18: -11 -19: -10 -19: -10 -18: -11 -18: -64 0: 3 23: -1 19: -6 15: -9 12: -11 9: -12 7: -13 4: -13 0: -12 -4: -11 -6: -8 -9: -64 0: 0 -10: 3 -9: 5 -8: 7 -5: 8 -2: 8 2: 7 5: 6 7: 4 9: 2 10:-64 -64 2331: -13 20: -4 -1: -3 -3: -1 -4: 1 -4: 3 -3: 4 -1: 4 1: 3 3: 1 4: -1 4: -3 3: -4 2: -5 -1: -5 -4: -4 -7: -2 -9: 1 -10: 4 -10: 7 -9: 9 -7: 10 -5: 11 -2: 11 2: 10 5: 8 8: 6 9: 3 10: 0 10: -3 9: -5 8: -7 6: -9 3: -10 -1: -10 -6: -9 -11: -7 -15: -5 -17: -2 -19: 2 -20: 7 -20: 11 -19: 14 -17: 16 -15: -64 0: -7 6: -8 4: -9 0: -9 -6: -8 -10: -6 -14: -4 -16: -1 -18: 3 -19: 7 -19: 11 -18: 13 -17: 16 -15: -64 0: -2 3: 2 3: -64 0: -3 2: 3 2: -64 0: -4 1: 4 1: -64 0: -4 0: 4 0: -64 0: -4 -1: 4 -1: -64 0: -3 -2: 3 -2: -64 0: -2 -3: 2 -3: -64 0: 15 6: 15 4: 17 4: 17 6: 15 6: -64 0: 16 6: 16 4: -64 0: 15 5: 17 5: -64 0: 15 -4: 15 -6: 17 -6: 17 -4: 15 -4: -64 0: 16 -4: 16 -6: -64 0: 15 -5: 17 -5:-64 -64 2332: -14 14: -10 18: -10 -18: -64 0: -5 18: -5 -18: -64 0: 5 18: 5 -18: -64 0: 10 18: 10 -18: -64 0: -5 5: 5 7: -64 0: -5 4: 5 6: -64 0: -5 3: 5 5: -64 0: -5 -5: 5 -3: -64 0: -5 -6: 5 -4: -64 0: -5 -7: 5 -5:-64 -64 2367: -4 4: -1 1: -1 -1: 1 -1: 1 1: -1 1: -64 0: -1 1: 1 -1: -64 0: 1 1: -1 -1:-64 -64 2368: -8 8: -5 2: -1 0: 2 -2: 4 -4: 5 -7: 5 -9: 4 -11: 3 -12: -64 0: -5 1: 1 -2: -64 0: -5 0: -2 -1: 2 -3: 4 -5: 5 -7:-64 -64 2369: -8 8: 5 7: 4 5: 2 3: -2 1: -5 0: -64 0: 1 2: -5 -1: -64 0: 3 12: 4 11: 5 9: 5 7: 4 4: 2 2: -1 0: -5 -2:-64 -64 2370: -10 10: -2 5: -5 4: -6 3: -7 1: -7 -1: -6 -3: -5 -4: -2 -5: 2 -5: 5 -4: 6 -3: 7 -1: 7 1: 6 3: 5 4: 2 5: -2 5: -64 0: -5 4: -6 2: -6 -1: -5 -3: -4 -4: -2 -5: -64 0: 5 -4: 6 -2: 6 1: 5 3: 4 4: 2 5:-64 -64 2371: -10 10: 1 5: -3 4: -6 2: -7 0: -7 -2: -6 -4: -4 -5: -1 -5: 3 -4: 6 -2: 7 0: 7 2: 6 4: 4 5: 1 5: -64 0: 6 4: 1 5: -64 0: 4 5: -1 4: -6 2: -64 0: -3 4: -7 0: -64 0: -6 -4: -1 -5: -64 0: -4 -5: 1 -4: 6 -2: -64 0: 3 -4: 7 0:-64 -64 2372: -8 9: 1 5: -2 4: -4 2: -5 0: -5 -2: -4 -4: -2 -5: 0 -5: 3 -4: 5 -2: 6 0: 6 2: 5 4: 3 5: 1 5: -64 0: -3 2: 3 5: -64 0: -4 0: 4 4: -64 0: -5 -2: 5 3: -64 0: -4 -3: 6 2: -64 0: -3 -4: 5 0: -64 0: -2 -5: 4 -2:-64 -64 2373: -8 8: -3 11: -3 -12: -64 0: 3 12: 3 -11: -64 0: -5 4: 5 6: -64 0: -5 3: 5 5: -64 0: -5 -5: 5 -3: -64 0: -5 -6: 5 -4:-64 -64 2374: -8 8: -4 12: -4 -6: -64 0: 4 6: 4 -12: -64 0: -4 4: 4 6: -64 0: -4 3: 4 5: -64 0: -4 -5: 4 -3: -64 0: -4 -6: 4 -4:-64 -64 2375: -8 8: -4 16: -4 -5: -64 0: -4 4: -1 6: 2 6: 4 5: 5 3: 5 1: 4 -1: 1 -3: -1 -4: -4 -5: -64 0: -4 4: -1 5: 2 5: 4 4: -64 0: 3 5: 4 3: 4 1: 3 -1: 1 -3:-64 -64 2376: -13 13: -10 9: -10 6: -64 0: 10 9: 10 6: -64 0: -10 9: 10 9: -64 0: -10 8: 10 8: -64 0: -10 7: 10 7: -64 0: -10 6: 10 6:-64 -64 2377: -8 8: -5 4: -5 1: -64 0: 5 4: 5 1: -64 0: -5 4: 5 4: -64 0: -5 3: 5 3: -64 0: -5 2: 5 2: -64 0: -5 1: 5 1:-64 -64 2378: -8 8: -1 15: 4 5: 0 -2: 0 -3: -64 0: 3 6: -1 -1: -64 0: 2 9: 2 7: -2 0: 0 -3: 3 -7: -64 0: 5 -10: 3 -7: 1 -6: -1 -6: -3 -7: -4 -9: -4 -11: -3 -13: 0 -15: -64 0: 5 -10: 3 -8: 1 -7: -3 -7: -3 -11: -2 -13: 0 -15: -64 0: 1 -6: -2 -8: -4 -11:-64 -64 2379: -8 8: -2 3: -3 5: -3 7: -5 7: -5 5: -4 4: -2 3: 1 3: 3 4: 5 6: -64 0: -4 7: -4 4: -64 0: -5 6: -3 6: -64 0: -5 5: 1 3: -64 0: -2 3: 3 4: -64 0: 5 6: 1 -7:-64 -64 2380: -17 12: -11 -20: -10 -20: -9 -19: -9 -18: -10 -17: -11 -17: -12 -18: -12 -20: -11 -22: -9 -23: -7 -23: -4 -22: -2 -20: -1 -18: 0 -14: 0 -3: -1 23: -1 30: 0 35: 1 37: 3 38: 4 38: 6 37: 7 35: 7 31: 6 28: 5 26: 3 23: -2 19: -8 15: -10 13: -12 10: -13 8: -14 4: -14 0: -13 -4: -11 -7: -8 -9: -4 -10: 0 -10: 4 -9: 6 -8: 8 -5: 9 -2: 9 2: 8 5: 7 7: 5 9: 2 10: -2 10: -5 9: -7 7: -8 4: -8 0: -7 -3: -5 -5: -64 0: -11 -18: -11 -19: -10 -19: -10 -18: -11 -18: -64 0: 3 23: -1 19: -6 15: -9 12: -11 9: -12 7: -13 4: -13 0: -12 -4: -11 -6: -8 -9: -64 0: 0 -10: 3 -9: 5 -8: 7 -5: 8 -2: 8 2: 7 5: 6 7: 4 9: 2 10:-64 -64 2381: -9 24: -4 1: -3 3: -1 4: 1 4: 3 3: 4 1: 4 -1: 3 -3: 1 -4: -1 -4: -3 -3: -4 -2: -5 1: -5 4: -4 7: -2 9: 1 10: 5 10: 9 9: 12 7: 14 4: 15 0: 15 -5: 14 -9: 13 -11: 11 -14: 8 -17: 4 -20: -1 -23: -5 -25: -64 0: 5 10: 8 9: 11 7: 13 4: 14 0: 14 -5: 13 -9: 12 -11: 10 -14: 7 -17: 2 -21: -1 -23: -64 0: -2 3: 2 3: -64 0: -3 2: 3 2: -64 0: -4 1: 4 1: -64 0: -4 0: 4 0: -64 0: -4 -1: 4 -1: -64 0: -3 -2: 3 -2: -64 0: -2 -3: 2 -3: -64 0: 19 6: 19 4: 21 4: 21 6: 19 6: -64 0: 20 6: 20 4: -64 0: 19 5: 21 5: -64 0: 19 -4: 19 -6: 21 -6: 21 -4: 19 -4: -64 0: 20 -4: 20 -6: -64 0: 19 -5: 21 -5:-64 -64 2382: -14 14: -10 20: -10 -20: -64 0: -9 20: -9 -20: -64 0: -5 20: -5 -20: -64 0: -1 16: 1 16: 1 14: -1 14: -1 17: 0 19: 2 20: 5 20: 7 19: 9 17: 10 14: 10 9: 9 6: 7 4: 5 3: 3 3: 1 4: 0 6: -1 4: -3 1: -4 0: -3 -1: -1 -4: 0 -6: 1 -4: 3 -3: 5 -3: 7 -4: 9 -6: 10 -9: 10 -14: 9 -17: 7 -19: 5 -20: 2 -20: 0 -19: -1 -17: -1 -14: 1 -14: 1 -16: -1 -16: -64 0: 0 16: 0 14: -64 0: -1 15: 1 15: -64 0: 7 19: 8 17: 9 14: 9 9: 8 6: 7 4: -64 0: 0 6: 0 4: -2 1: -4 0: -2 -1: 0 -4: 0 -6: -64 0: 7 -4: 8 -6: 9 -9: 9 -14: 8 -17: 7 -19: -64 0: 0 -14: 0 -16: -64 0: -1 -15: 1 -15:-64 -64 2401: -17 17: -10 16: -10 -16: -64 0: -9 16: -9 -16: -64 0: 9 16: 9 -16: -64 0: 10 16: 10 -16: -64 0: -14 16: 14 16: -64 0: -14 -16: -5 -16: -64 0: 5 -16: 14 -16:-64 -64 2402: -16 15: -11 16: -1 2: -12 -16: -64 0: -12 16: -2 2: -64 0: -13 16: -2 1: -64 0: -13 16: 10 16: 12 9: 9 16: -64 0: -11 -15: 10 -15: -64 0: -12 -16: 10 -16: 12 -9: 9 -16:-64 -64 2403: -9 9: 6 39: 3 33: 0 26: -2 21: -3 17: -4 12: -5 4: -5 -4: -4 -12: -3 -17: -2 -21: 0 -26: 3 -33: 6 -39: -64 0: 3 33: 1 28: -1 22: -2 18: -3 12: -4 4: -4 -4: -3 -12: -2 -18: -1 -22: 1 -28: 3 -33:-64 -64 2404: -9 9: -6 39: -3 33: 0 26: 2 21: 3 17: 4 12: 5 4: 5 -4: 4 -12: 3 -17: 2 -21: 0 -26: -3 -33: -6 -39: -64 0: -3 33: -1 28: 1 22: 2 18: 3 12: 4 4: 4 -4: 3 -12: 2 -18: 1 -22: -1 -28: -3 -33:-64 -64 2405: -9 9: -5 39: -5 0: -5 -39: -64 0: -4 39: -4 0: -4 -39: -64 0: -5 39: 6 39: -64 0: -5 -39: 6 -39:-64 -64 2406: -9 9: 4 39: 4 0: 4 -39: -64 0: 5 39: 5 0: 5 -39: -64 0: -6 39: 5 39: -64 0: -6 -39: 5 -39:-64 -64 2407: -9 9: 4 39: 1 37: -1 35: -2 33: -3 30: -3 26: -2 22: 2 14: 3 11: 3 8: 2 5: 0 2: -64 0: 1 37: -1 34: -2 30: -2 26: -1 23: 3 15: 4 11: 4 8: 3 5: 0 2: -4 0: 0 -2: 3 -5: 4 -8: 4 -11: 3 -15: -1 -23: -2 -26: -2 -30: -1 -34: 1 -37: -64 0: 0 -2: 2 -5: 3 -8: 3 -11: 2 -14: -2 -22: -3 -26: -3 -30: -2 -33: -1 -35: 1 -37: 4 -39:-64 -64 2408: -9 9: -4 39: -1 37: 1 35: 2 33: 3 30: 3 26: 2 22: -2 14: -3 11: -3 8: -2 5: 0 2: -64 0: -1 37: 1 34: 2 30: 2 26: 1 23: -3 15: -4 11: -4 8: -3 5: 0 2: 4 0: 0 -2: -3 -5: -4 -8: -4 -11: -3 -15: 1 -23: 2 -26: 2 -30: 1 -34: -1 -37: -64 0: 0 -2: -2 -5: -3 -8: -3 -11: -2 -14: 2 -22: 3 -26: 3 -30: 2 -33: 1 -35: -1 -37: -4 -39:-64 -64 2409: -9 9: 4 36: 1 33: -1 30: -3 26: -4 21: -4 15: -3 9: -2 5: 1 -6: 2 -10: 3 -16: 3 -21: 2 -26: 1 -29: -1 -33: -64 0: 1 33: -1 29: -2 26: -3 21: -3 16: -2 10: -1 6: 2 -5: 3 -9: 4 -15: 4 -21: 3 -26: 1 -30: -1 -33: -4 -36:-64 -64 2410: -9 9: -4 36: -1 33: 1 30: 3 26: 4 21: 4 15: 3 9: 2 5: -1 -6: -2 -10: -3 -16: -3 -21: -2 -26: -1 -29: 1 -33: -64 0: -1 33: 1 29: 2 26: 3 21: 3 16: 2 10: 1 6: -2 -5: -3 -9: -4 -15: -4 -21: -3 -26: -1 -30: 1 -33: 4 -36:-64 -64 2411: -27 8: -24 0: -17 0: 0 -29: -64 0: -18 0: -1 -29: -64 0: -19 0: 0 -32: -64 0: 8 48: 4 8: 0 -32:-64 -64 2412: -15 15: 11 36: 10 36: 9 35: 9 34: 10 33: 11 33: 12 34: 12 36: 11 38: 9 39: 7 39: 5 38: 3 36: 2 34: 1 31: 0 24: -1 8: -1 -24: -2 -33: -3 -36: -64 0: 10 35: 10 34: 11 34: 11 35: 10 35: -64 0: 0 24: 0 -24: -64 0: 3 36: 2 33: 1 24: 1 -8: 0 -24: -1 -31: -2 -34: -3 -36: -5 -38: -7 -39: -9 -39: -11 -38: -12 -36: -12 -34: -11 -33: -10 -33: -9 -34: -9 -35: -10 -36: -11 -36: -64 0: -11 -34: -11 -35: -10 -35: -10 -34: -11 -34:-64 -64 2501: -10 10: 0 12: -8 -9: -64 0: 0 9: -7 -9: -8 -9: -64 0: 0 9: 7 -9: 8 -9: -64 0: 0 12: 8 -9: -64 0: -5 -3: 5 -3: -64 0: -6 -4: 6 -4:-64 -64 2502: -10 10: -6 12: -6 -9: -64 0: -5 11: -5 -8: -64 0: -6 12: 2 12: 5 11: 6 10: 7 8: 7 5: 6 3: 5 2: 2 1: -64 0: -5 11: 2 11: 5 10: 6 8: 6 5: 5 3: 2 2: -64 0: -5 2: 2 2: 5 1: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -6 -9: -64 0: -5 1: 2 1: 5 0: 6 -2: 6 -5: 5 -7: 2 -8: -5 -8:-64 -64 2503: -10 11: 8 7: 7 9: 5 11: 3 12: -1 12: -3 11: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -3 -8: -1 -9: 3 -9: 5 -8: 7 -6: 8 -4: -64 0: 8 7: 7 7: 6 9: 5 10: 3 11: -1 11: -3 10: -5 7: -6 4: -6 -1: -5 -4: -3 -7: -1 -8: 3 -8: 5 -7: 6 -6: 7 -4: 8 -4:-64 -64 2504: -10 11: -6 12: -6 -9: -64 0: -5 11: -5 -8: -64 0: -6 12: 1 12: 4 11: 6 9: 7 7: 8 4: 8 -1: 7 -4: 6 -6: 4 -8: 1 -9: -6 -9: -64 0: -5 11: 1 11: 4 10: 5 9: 6 7: 7 4: 7 -1: 6 -4: 5 -6: 4 -7: 1 -8: -5 -8:-64 -64 2505: -9 10: -5 12: -5 -9: -64 0: -4 11: -4 -8: -64 0: -5 12: 7 12: -64 0: -4 11: 7 11: 7 12: -64 0: -4 2: 2 2: 2 1: -64 0: -4 1: 2 1: -64 0: -4 -8: 7 -8: 7 -9: -64 0: -5 -9: 7 -9:-64 -64 2506: -9 9: -5 12: -5 -9: -64 0: -4 11: -4 -9: -5 -9: -64 0: -5 12: 7 12: -64 0: -4 11: 7 11: 7 12: -64 0: -4 2: 2 2: 2 1: -64 0: -4 1: 2 1:-64 -64 2507: -10 11: 8 7: 7 9: 5 11: 3 12: -1 12: -3 11: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -3 -8: -1 -9: 3 -9: 5 -8: 7 -6: 8 -4: 8 0: 3 0: -64 0: 8 7: 7 7: 6 9: 5 10: 3 11: -1 11: -3 10: -4 9: -5 7: -6 4: -6 -1: -5 -4: -4 -6: -3 -7: -1 -8: 3 -8: 5 -7: 6 -6: 7 -4: 7 -1: 3 -1: 3 0:-64 -64 2508: -11 11: -7 12: -7 -9: -64 0: -7 12: -6 12: -6 -9: -7 -9: -64 0: 7 12: 6 12: 6 -9: 7 -9: -64 0: 7 12: 7 -9: -64 0: -6 2: 6 2: -64 0: -6 1: 6 1:-64 -64 2509: -4 5: 0 12: 0 -9: 1 -9: -64 0: 0 12: 1 12: 1 -9:-64 -64 2510: -8 9: 4 12: 4 -4: 3 -7: 1 -8: -1 -8: -3 -7: -4 -4: -5 -4: -64 0: 4 12: 5 12: 5 -4: 4 -7: 3 -8: 1 -9: -1 -9: -3 -8: -4 -7: -5 -4:-64 -64 2511: -10 11: -6 12: -6 -9: -5 -9: -64 0: -6 12: -5 12: -5 -9: -64 0: 8 12: 7 12: -5 0: -64 0: 8 12: -5 -1: -64 0: -2 3: 7 -9: 8 -9: -64 0: -1 3: 8 -9:-64 -64 2512: -9 8: -5 12: -5 -9: -64 0: -5 12: -4 12: -4 -8: -64 0: -4 -8: 7 -8: 7 -9: -64 0: -5 -9: 7 -9:-64 -64 2513: -12 12: -8 12: -8 -9: -64 0: -7 7: -7 -9: -8 -9: -64 0: -7 7: 0 -9: -64 0: -8 12: 0 -6: -64 0: 8 12: 0 -6: -64 0: 7 7: 0 -9: -64 0: 7 7: 7 -9: 8 -9: -64 0: 8 12: 8 -9:-64 -64 2514: -11 11: -7 12: -7 -9: -64 0: -6 9: -6 -9: -7 -9: -64 0: -6 9: 7 -9: -64 0: -7 12: 6 -6: -64 0: 6 12: 6 -6: -64 0: 6 12: 7 12: 7 -9:-64 -64 2515: -11 11: -2 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -2 -9: 2 -9: 4 -8: 6 -6: 7 -4: 8 -1: 8 4: 7 7: 6 9: 4 11: 2 12: -2 12: -64 0: -1 11: -4 10: -6 7: -7 4: -7 -1: -6 -4: -4 -7: -1 -8: 1 -8: 4 -7: 6 -4: 7 -1: 7 4: 6 7: 4 10: 1 11: -1 11:-64 -64 2516: -10 10: -6 12: -6 -9: -64 0: -5 11: -5 -9: -6 -9: -64 0: -6 12: 3 12: 5 11: 6 10: 7 8: 7 5: 6 3: 5 2: 3 1: -5 1: -64 0: -5 11: 3 11: 5 10: 6 8: 6 5: 5 3: 3 2: -5 2:-64 -64 2517: -11 11: -2 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -2 -9: 2 -9: 4 -8: 6 -6: 7 -4: 8 -1: 8 4: 7 7: 6 9: 4 11: 2 12: -2 12: -64 0: -1 11: -4 10: -6 7: -7 4: -7 -1: -6 -4: -4 -7: -1 -8: 1 -8: 4 -7: 6 -4: 7 -1: 7 4: 6 7: 4 10: 1 11: -1 11: -64 0: 1 -6: 6 -11: 7 -11: -64 0: 1 -6: 2 -6: 7 -11:-64 -64 2518: -10 10: -6 12: -6 -9: -64 0: -5 11: -5 -9: -6 -9: -64 0: -6 12: 2 12: 5 11: 6 10: 7 8: 7 5: 6 3: 5 2: 2 1: -5 1: -64 0: -5 11: 2 11: 5 10: 6 8: 6 5: 5 3: 2 2: -5 2: -64 0: 0 1: 6 -9: 7 -9: -64 0: 1 1: 7 -9:-64 -64 2519: -10 10: 7 9: 5 11: 2 12: -2 12: -5 11: -7 9: -7 7: -6 5: -5 4: -3 3: 2 1: 4 0: 5 -1: 6 -3: 6 -6: 5 -7: 2 -8: -2 -8: -4 -7: -5 -6: -7 -6: -64 0: 7 9: 5 9: 4 10: 2 11: -2 11: -5 10: -6 9: -6 7: -5 5: -3 4: 2 2: 4 1: 6 -1: 7 -3: 7 -6: 5 -8: 2 -9: -2 -9: -5 -8: -7 -6:-64 -64 2520: -8 9: 0 11: 0 -9: -64 0: 1 11: 1 -9: 0 -9: -64 0: -6 12: 7 12: 7 11: -64 0: -6 12: -6 11: 7 11:-64 -64 2521: -11 11: -7 12: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 12: -64 0: -7 12: -6 12: -6 -3: -5 -6: -4 -7: -1 -8: 1 -8: 4 -7: 5 -6: 6 -3: 6 12: 7 12:-64 -64 2522: -10 10: -8 12: 0 -9: -64 0: -8 12: -7 12: 0 -6: -64 0: 8 12: 7 12: 0 -6: -64 0: 8 12: 0 -9:-64 -64 2523: -13 13: -11 12: -5 -9: -64 0: -11 12: -10 12: -5 -6: -64 0: 0 12: -5 -6: -64 0: 0 9: -5 -9: -64 0: 0 9: 5 -9: -64 0: 0 12: 5 -6: -64 0: 11 12: 10 12: 5 -6: -64 0: 11 12: 5 -9:-64 -64 2524: -10 10: -7 12: 6 -9: 7 -9: -64 0: -7 12: -6 12: 7 -9: -64 0: 7 12: 6 12: -7 -9: -64 0: 7 12: -6 -9: -7 -9:-64 -64 2525: -9 10: -7 12: 0 2: 0 -9: 1 -9: -64 0: -7 12: -6 12: 1 2: -64 0: 8 12: 7 12: 0 2: -64 0: 8 12: 1 2: 1 -9:-64 -64 2526: -10 10: 6 12: -7 -9: -64 0: 7 12: -6 -9: -64 0: -7 12: 7 12: -64 0: -7 12: -7 11: 6 11: -64 0: -6 -8: 7 -8: 7 -9: -64 0: -7 -9: 7 -9:-64 -64 2551: -13 10: 6 12: 4 10: 2 7: -1 2: -3 -1: -6 -5: -9 -8: -11 -9: -13 -9: -14 -8: -14 -6: -13 -5: -12 -6: -13 -7: -64 0: 6 12: 5 8: 3 -2: 2 -9: -64 0: 6 12: 3 -9: -64 0: 2 -9: 2 -7: 1 -4: 0 -2: -2 0: -4 1: -6 1: -7 0: -7 -2: -6 -5: -3 -8: 0 -9: 4 -9: 6 -8:-64 -64 2552: -12 12: 3 11: 2 10: 1 8: -1 3: -3 -3: -4 -5: -6 -8: -8 -9: -64 0: 2 10: 1 7: -1 -1: -2 -4: -3 -6: -5 -8: -8 -9: -10 -9: -11 -8: -11 -6: -10 -5: -9 -6: -10 -7: -64 0: -3 6: -4 4: -5 3: -7 3: -8 4: -8 6: -7 8: -5 10: -3 11: 0 12: 6 12: 8 11: 9 9: 9 7: 8 5: 6 4: 2 3: 0 3: -64 0: 6 12: 7 11: 8 9: 8 7: 7 5: 6 4: -64 0: 2 3: 5 2: 6 1: 7 -1: 7 -4: 6 -7: 5 -8: 3 -9: 1 -9: 0 -8: 0 -6: 1 -3: -64 0: 2 3: 4 2: 5 1: 6 -1: 6 -4: 5 -7: 3 -9:-64 -64 2553: -10 11: -7 10: -8 8: -8 6: -7 4: -4 3: -1 3: 3 4: 5 5: 7 7: 8 9: 8 11: 7 12: 5 12: 2 11: -1 8: -3 5: -5 1: -6 -3: -6 -6: -5 -8: -2 -9: 0 -9: 3 -8: 5 -6: 6 -4: 6 -2: 5 0: 3 0: 1 -1: 0 -3: -64 0: 5 12: 3 11: 0 8: -2 5: -4 1: -5 -3: -5 -6: -4 -8: -2 -9:-64 -64 2554: -12 11: 3 11: 2 10: 1 8: -1 3: -3 -3: -4 -5: -6 -8: -8 -9: -64 0: 2 10: 1 7: -1 -1: -2 -4: -3 -6: -5 -8: -8 -9: -10 -9: -11 -8: -11 -6: -10 -5: -8 -5: -6 -6: -4 -8: -2 -9: 1 -9: 3 -8: 5 -6: 7 -2: 8 3: 8 6: 7 9: 5 11: 3 12: -2 12: -5 11: -7 9: -8 7: -8 5: -7 4: -5 4: -4 5: -3 7:-64 -64 2555: -9 10: 5 9: 4 8: 4 6: 5 5: 7 5: 8 7: 8 9: 7 11: 5 12: 2 12: 0 11: -1 10: -2 8: -2 6: -1 4: 1 3: -64 0: 2 12: 0 10: -1 8: -1 5: 1 3: -64 0: 1 3: -1 3: -4 2: -6 0: -7 -2: -7 -5: -6 -7: -5 -8: -3 -9: 0 -9: 3 -8: 5 -6: 6 -4: 6 -2: 5 0: 3 0: 1 -1: 0 -3: -64 0: -1 3: -3 2: -5 0: -6 -2: -6 -6: -5 -8:-64 -64 2556: -11 10: 5 10: 4 8: 2 3: 0 -3: -1 -5: -3 -8: -5 -9: -64 0: -1 6: -2 4: -4 3: -6 3: -7 5: -7 7: -6 9: -4 11: -1 12: 9 12: 6 11: 5 10: 4 7: 2 -1: 1 -4: 0 -6: -2 -8: -5 -9: -7 -9: -9 -8: -10 -7: -10 -6: -9 -5: -8 -6: -9 -7: -64 0: 1 12: 5 11: 6 11: -64 0: -3 -1: -2 0: 0 1: 4 1: 6 2: 8 5: 6 -2:-64 -64 2557: -11 11: -8 9: -9 7: -9 5: -8 3: -6 2: -3 2: 0 3: 2 4: 5 7: 6 10: 6 11: 5 12: 4 12: 2 11: 0 9: -1 7: -2 4: -2 1: -1 -1: 1 -2: 3 -2: 5 -1: 7 1: 8 3: -64 0: 5 12: 3 11: 1 9: 0 7: -1 4: -1 0: 1 -2: -64 0: 8 3: 7 -1: 5 -5: 3 -7: 1 -8: -3 -9: -6 -9: -8 -8: -9 -6: -9 -5: -8 -4: -7 -5: -8 -6: -64 0: 7 -1: 5 -4: 3 -6: 0 -8: -3 -9:-64 -64 2558: -12 12: -6 6: -7 7: -7 9: -6 11: -3 12: 0 12: -3 1: -5 -5: -6 -7: -7 -8: -9 -9: -11 -9: -12 -8: -12 -6: -11 -5: -10 -6: -11 -7: -64 0: 0 12: -3 3: -4 0: -6 -5: -7 -7: -9 -9: -64 0: -8 -2: -7 -1: -5 0: 4 3: 6 4: 9 6: 11 8: 12 10: 12 11: 11 12: 10 12: 8 11: 6 8: 5 6: 3 0: 2 -4: 2 -7: 4 -9: 5 -9: 7 -8: 9 -6: -64 0: 10 12: 8 10: 6 6: 4 0: 3 -4: 3 -7: 4 -9:-64 -64 2559: -9 7: 5 10: 3 7: 1 2: -1 -3: -2 -5: -4 -8: -6 -9: -64 0: 7 6: 5 4: 2 3: -1 3: -3 4: -4 6: -4 8: -3 10: -1 11: 3 12: 7 12: 5 10: 4 8: 2 2: 0 -4: -1 -6: -3 -8: -6 -9: -8 -9: -9 -8: -9 -6: -8 -5: -7 -6: -8 -7:-64 -64 2560: -9 8: 7 12: 5 10: 3 7: 1 2: -2 -7: -4 -11: -64 0: 7 5: 5 3: 2 2: -1 2: -3 3: -4 5: -4 7: -3 9: -1 11: 3 12: 7 12: 5 9: 4 7: 1 -2: -1 -6: -2 -8: -4 -11: -5 -12: -7 -13: -8 -12: -8 -10: -7 -8: -5 -6: -3 -5: 0 -4: 4 -3:-64 -64 2561: -12 12: -6 6: -7 7: -7 9: -5 11: -2 12: 0 12: -3 1: -5 -5: -6 -7: -7 -8: -9 -9: -11 -9: -12 -8: -12 -6: -11 -5: -10 -6: -11 -7: -64 0: 0 12: -3 3: -4 0: -6 -5: -7 -7: -9 -9: -64 0: 8 11: 5 7: 3 5: 1 4: -2 3: -64 0: 11 11: 10 10: 11 9: 12 10: 12 11: 11 12: 10 12: 8 11: 5 6: 4 5: 2 4: -2 3: -64 0: -2 3: 1 2: 2 0: 3 -7: 4 -9: -64 0: -2 3: 0 2: 1 0: 2 -7: 4 -9: 5 -9: 7 -8: 9 -6:-64 -64 2562: -9 9: -5 9: -6 7: -6 5: -5 3: -3 2: 0 2: 3 3: 5 4: 8 7: 9 10: 9 11: 8 12: 7 12: 5 11: 4 10: 2 7: -2 -3: -3 -5: -5 -8: -7 -9: -64 0: 4 10: 2 6: 0 -1: -1 -4: -2 -6: -4 -8: -7 -9: -9 -9: -10 -8: -10 -6: -9 -5: -7 -5: -5 -6: -2 -8: 0 -9: 3 -9: 5 -8: 7 -6:-64 -64 2563: -14 14: 0 12: -4 3: -7 -3: -9 -6: -11 -8: -13 -9: -15 -9: -16 -8: -16 -6: -15 -5: -14 -6: -15 -7: -64 0: 0 12: -2 5: -3 1: -4 -4: -4 -8: -2 -9: -64 0: 0 12: -1 8: -2 3: -3 -4: -3 -8: -2 -9: -64 0: 9 12: 5 3: 0 -6: -2 -9: -64 0: 9 12: 7 5: 6 1: 5 -4: 5 -8: 7 -9: 8 -9: 10 -8: 12 -6: -64 0: 9 12: 8 8: 7 3: 6 -4: 6 -8: 7 -9:-64 -64 2564: -11 12: 0 12: -1 8: -3 2: -5 -3: -6 -5: -8 -8: -10 -9: -12 -9: -13 -8: -13 -6: -12 -5: -11 -6: -12 -7: -64 0: 0 12: 0 7: 1 -4: 2 -9: -64 0: 0 12: 1 7: 2 -4: 2 -9: -64 0: 14 11: 13 10: 14 9: 15 10: 15 11: 14 12: 12 12: 10 11: 8 8: 7 6: 5 1: 3 -5: 2 -9:-64 -64 2565: -10 11: 1 12: -1 11: -3 9: -5 6: -6 4: -7 0: -7 -4: -6 -7: -5 -8: -3 -9: -1 -9: 2 -8: 4 -6: 6 -3: 7 -1: 8 3: 8 7: 7 10: 6 11: 5 11: 3 10: 1 8: -1 4: -2 -1: -2 -4: -64 0: -1 11: -3 8: -5 4: -6 0: -6 -4: -5 -7: -3 -9:-64 -64 2566: -12 11: 3 11: 2 10: 1 8: -1 3: -3 -3: -4 -5: -6 -8: -8 -9: -64 0: 2 10: 1 7: -1 -1: -2 -4: -3 -6: -5 -8: -8 -9: -10 -9: -11 -8: -11 -6: -10 -5: -9 -6: -10 -7: -64 0: -3 6: -4 4: -5 3: -7 3: -8 4: -8 6: -7 8: -5 10: -3 11: 0 12: 4 12: 7 11: 8 10: 9 8: 9 5: 8 3: 7 2: 4 1: 2 1: 0 2: -64 0: 4 12: 6 11: 7 10: 8 8: 8 5: 7 3: 6 2: 4 1:-64 -64 2567: -10 11: 3 8: 3 6: 2 4: 1 3: -1 2: -3 2: -4 4: -4 6: -3 9: -1 11: 2 12: 5 12: 7 11: 8 9: 8 5: 7 2: 5 -1: 1 -5: -2 -7: -4 -8: -7 -9: -9 -9: -10 -8: -10 -6: -9 -5: -7 -5: -5 -6: -2 -8: 1 -9: 4 -9: 6 -8: 8 -6: -64 0: 5 12: 6 11: 7 9: 7 5: 6 2: 4 -1: 1 -4: -3 -7: -7 -9:-64 -64 2568: -12 12: 3 11: 2 10: 1 8: -1 3: -3 -3: -4 -5: -6 -8: -8 -9: -64 0: 2 10: 1 7: -1 -1: -2 -4: -3 -6: -5 -8: -8 -9: -10 -9: -11 -8: -11 -6: -10 -5: -9 -6: -10 -7: -64 0: -3 6: -4 4: -5 3: -7 3: -8 4: -8 6: -7 8: -5 10: -3 11: 0 12: 5 12: 8 11: 9 9: 9 7: 8 5: 7 4: 4 3: 0 3: -64 0: 5 12: 7 11: 8 9: 8 7: 7 5: 6 4: 4 3: -64 0: 0 3: 3 2: 4 0: 5 -7: 6 -9: -64 0: 0 3: 2 2: 3 0: 4 -7: 6 -9: 7 -9: 9 -8: 11 -6:-64 -64 2569: -10 10: -4 9: -5 7: -5 5: -4 3: -2 2: 1 2: 4 3: 6 4: 9 7: 10 10: 10 11: 9 12: 8 12: 6 11: 5 10: 4 8: 3 5: 1 -2: 0 -5: -2 -8: -4 -9: -64 0: 4 8: 3 4: 2 -3: 1 -6: -1 -8: -4 -9: -7 -9: -9 -8: -10 -6: -10 -5: -9 -4: -8 -5: -9 -6:-64 -64 2570: -9 9: 7 10: 6 8: 4 3: 2 -3: 1 -5: -1 -8: -3 -9: -64 0: 1 6: 0 4: -2 3: -4 3: -5 5: -5 7: -4 9: -2 11: 1 12: 10 12: 8 11: 7 10: 6 7: 4 -1: 3 -4: 2 -6: 0 -8: -3 -9: -5 -9: -7 -8: -8 -7: -8 -6: -7 -5: -6 -6: -7 -7: -64 0: 3 12: 7 11: 8 11:-64 -64 2571: -11 11: -10 8: -8 11: -6 12: -5 12: -3 10: -3 7: -4 4: -7 -4: -7 -7: -6 -9: -64 0: -5 12: -4 10: -4 7: -7 -1: -8 -4: -8 -7: -6 -9: -4 -9: -2 -8: 1 -5: 3 -2: 4 0: -64 0: 8 12: 4 0: 3 -4: 3 -7: 5 -9: 6 -9: 8 -8: 10 -6: -64 0: 9 12: 5 0: 4 -4: 4 -7: 5 -9:-64 -64 2572: -11 10: -10 8: -8 11: -6 12: -5 12: -3 10: -3 7: -4 3: -6 -4: -6 -7: -5 -9: -64 0: -5 12: -4 10: -4 7: -6 0: -7 -4: -7 -7: -5 -9: -4 -9: -1 -8: 2 -5: 4 -2: 6 2: 7 5: 8 9: 8 11: 7 12: 6 12: 5 11: 4 9: 4 6: 5 4: 7 2: 9 1: 11 1:-64 -64 2573: -12 11: -9 6: -10 6: -11 7: -11 9: -10 11: -8 12: -4 12: -5 10: -6 6: -7 -3: -8 -9: -64 0: -6 6: -6 -3: -7 -9: -64 0: 4 12: 2 10: 0 6: -3 -3: -5 -7: -7 -9: -64 0: 4 12: 3 10: 2 6: 1 -3: 0 -9: -64 0: 2 6: 2 -3: 1 -9: -64 0: 14 12: 12 11: 10 9: 8 6: 5 -3: 3 -7: 1 -9:-64 -64 2574: -10 10: -2 7: -3 6: -5 6: -6 7: -6 9: -5 11: -3 12: -1 12: 1 11: 2 9: 2 6: 1 2: -1 -3: -3 -6: -5 -8: -8 -9: -10 -9: -11 -8: -11 -6: -10 -5: -9 -6: -10 -7: -64 0: -1 12: 0 11: 1 9: 1 6: 0 2: -2 -3: -4 -6: -6 -8: -8 -9: -64 0: 11 11: 10 10: 11 9: 12 10: 12 11: 11 12: 9 12: 7 11: 5 9: 3 6: 1 2: 0 -3: 0 -6: 1 -8: 2 -9: 3 -9: 5 -8: 7 -6:-64 -64 2575: -11 11: -8 8: -6 11: -4 12: -3 12: -1 11: -1 9: -3 3: -3 0: -2 -2: -64 0: -3 12: -2 11: -2 9: -4 3: -4 0: -2 -2: 0 -2: 3 -1: 5 1: 7 4: 8 6: -64 0: 10 12: 8 6: 5 -2: 3 -6: -64 0: 11 12: 9 6: 7 1: 5 -3: 3 -6: 1 -8: -2 -9: -6 -9: -8 -8: -9 -6: -9 -5: -8 -4: -7 -5: -8 -6:-64 -64 2576: -11 10: 8 10: 7 8: 5 3: 4 0: 3 -2: 1 -5: -1 -7: -3 -8: -6 -9: -64 0: 1 6: 0 4: -2 3: -4 3: -5 5: -5 7: -4 9: -2 11: 1 12: 11 12: 9 11: 8 10: 7 7: 6 3: 4 -3: 2 -6: -1 -8: -6 -9: -10 -9: -11 -8: -11 -6: -10 -5: -8 -5: -6 -6: -3 -8: -1 -9: 2 -9: 5 -8: 7 -6: -64 0: 4 12: 8 11: 9 11:-64 -64 2601: -10 10: 5 5: 5 -9: 6 -9: -64 0: 5 5: 6 5: 6 -9: -64 0: 5 2: 3 4: 1 5: -2 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -2 -9: 1 -9: 3 -8: 5 -6: -64 0: 5 2: 1 4: -2 4: -4 3: -5 2: -6 -1: -6 -3: -5 -6: -4 -7: -2 -8: 1 -8: 5 -6:-64 -64 2602: -10 10: -6 12: -6 -9: -5 -9: -64 0: -6 12: -5 12: -5 -9: -64 0: -5 2: -3 4: -1 5: 2 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 2 -9: -1 -9: -3 -8: -5 -6: -64 0: -5 2: -1 4: 2 4: 4 3: 5 2: 6 -1: 6 -3: 5 -6: 4 -7: 2 -8: -1 -8: -5 -6:-64 -64 2603: -9 9: 6 2: 4 4: 2 5: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: 2 -9: 4 -8: 6 -6: -64 0: 6 2: 5 1: 4 3: 2 4: -1 4: -3 3: -4 2: -5 -1: -5 -3: -4 -6: -3 -7: -1 -8: 2 -8: 4 -7: 5 -5: 6 -6:-64 -64 2604: -10 10: 5 12: 5 -9: 6 -9: -64 0: 5 12: 6 12: 6 -9: -64 0: 5 2: 3 4: 1 5: -2 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -2 -9: 1 -9: 3 -8: 5 -6: -64 0: 5 2: 1 4: -2 4: -4 3: -5 2: -6 -1: -6 -3: -5 -6: -4 -7: -2 -8: 1 -8: 5 -6:-64 -64 2605: -9 9: -5 -2: 6 -2: 6 1: 5 3: 4 4: 2 5: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: 2 -9: 4 -8: 6 -6: -64 0: -5 -1: 5 -1: 5 1: 4 3: 2 4: -1 4: -3 3: -4 2: -5 -1: -5 -3: -4 -6: -3 -7: -1 -8: 2 -8: 4 -7: 5 -5: 6 -6:-64 -64 2606: -6 8: 5 12: 3 12: 1 11: 0 8: 0 -9: 1 -9: -64 0: 5 12: 5 11: 3 11: 1 10: -64 0: 2 11: 1 8: 1 -9: -64 0: -3 5: 4 5: 4 4: -64 0: -3 5: -3 4: 4 4:-64 -64 2607: -10 10: 6 5: 5 5: 5 -10: 4 -13: 3 -14: 1 -15: -1 -15: -3 -14: -4 -13: -6 -13: -64 0: 6 5: 6 -10: 5 -13: 3 -15: 1 -16: -2 -16: -4 -15: -6 -13: -64 0: 5 2: 3 4: 1 5: -2 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -2 -9: 1 -9: 3 -8: 5 -6: -64 0: 5 2: 1 4: -2 4: -4 3: -5 2: -6 -1: -6 -3: -5 -6: -4 -7: -2 -8: 1 -8: 5 -6:-64 -64 2608: -10 10: -6 12: -6 -9: -5 -9: -64 0: -6 12: -5 12: -5 -9: -64 0: -5 1: -2 4: 0 5: 3 5: 5 4: 6 1: 6 -9: -64 0: -5 1: -2 3: 0 4: 2 4: 4 3: 5 1: 5 -9: 6 -9:-64 -64 2609: -4 5: 0 12: -1 11: -1 10: 0 9: 1 9: 2 10: 2 11: 1 12: 0 12: -64 0: 0 11: 0 10: 1 10: 1 11: 0 11: -64 0: 0 5: 0 -9: 1 -9: -64 0: 0 5: 1 5: 1 -9:-64 -64 2610: -4 5: 0 12: -1 11: -1 10: 0 9: 1 9: 2 10: 2 11: 1 12: 0 12: -64 0: 0 11: 0 10: 1 10: 1 11: 0 11: -64 0: 0 5: 0 -16: 1 -16: -64 0: 0 5: 1 5: 1 -16:-64 -64 2611: -10 9: -6 12: -6 -9: -5 -9: -64 0: -6 12: -5 12: -5 -9: -64 0: 6 5: 5 5: -5 -5: -64 0: 6 5: -5 -6: -64 0: -2 -2: 4 -9: 6 -9: -64 0: -1 -1: 6 -9:-64 -64 2612: -4 5: 0 12: 0 -9: 1 -9: -64 0: 0 12: 1 12: 1 -9:-64 -64 2613: -15 16: -11 5: -11 -9: -10 -9: -64 0: -11 5: -10 5: -10 -9: -64 0: -10 1: -7 4: -5 5: -2 5: 0 4: 1 1: 1 -9: -64 0: -10 1: -7 3: -5 4: -3 4: -1 3: 0 1: 0 -9: 1 -9: -64 0: 1 1: 4 4: 6 5: 9 5: 11 4: 12 1: 12 -9: -64 0: 1 1: 4 3: 6 4: 8 4: 10 3: 11 1: 11 -9: 12 -9:-64 -64 2614: -10 10: -6 5: -6 -9: -5 -9: -64 0: -6 5: -5 5: -5 -9: -64 0: -5 1: -2 4: 0 5: 3 5: 5 4: 6 1: 6 -9: -64 0: -5 1: -2 3: 0 4: 2 4: 4 3: 5 1: 5 -9: 6 -9:-64 -64 2615: -9 10: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: 2 -9: 4 -8: 6 -6: 7 -3: 7 -1: 6 2: 4 4: 2 5: -1 5: -64 0: -1 4: -3 3: -4 2: -5 -1: -5 -3: -4 -6: -3 -7: -1 -8: 2 -8: 4 -7: 5 -6: 6 -3: 6 -1: 5 2: 4 3: 2 4: -1 4:-64 -64 2616: -10 10: -6 5: -6 -16: -5 -16: -64 0: -6 5: -5 5: -5 -16: -64 0: -5 2: -3 4: -1 5: 2 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 2 -9: -1 -9: -3 -8: -5 -6: -64 0: -5 2: -1 4: 2 4: 4 3: 5 2: 6 -1: 6 -3: 5 -6: 4 -7: 2 -8: -1 -8: -5 -6:-64 -64 2617: -10 10: 5 5: 5 -16: 6 -16: -64 0: 5 5: 6 5: 6 -16: -64 0: 5 2: 3 4: 1 5: -2 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -2 -9: 1 -9: 3 -8: 5 -6: -64 0: 5 2: 1 4: -2 4: -4 3: -5 2: -6 -1: -6 -3: -5 -6: -4 -7: -2 -8: 1 -8: 5 -6:-64 -64 2618: -7 7: -3 5: -3 -9: -2 -9: -64 0: -3 5: -2 5: -2 -9: -64 0: -2 -1: -1 2: 1 4: 3 5: 6 5: -64 0: -2 -1: -1 1: 1 3: 3 4: 6 4: 6 5:-64 -64 2619: -8 9: 6 2: 5 4: 2 5: -1 5: -4 4: -5 2: -4 0: -2 -1: 3 -3: 5 -4: -64 0: 4 -3: 5 -5: 5 -6: 4 -8: -64 0: 5 -7: 2 -8: -1 -8: -4 -7: -64 0: -3 -8: -4 -6: -5 -6: -64 0: 6 2: 5 2: 4 4: -64 0: 5 3: 2 4: -1 4: -4 3: -64 0: -3 4: -4 2: -3 0: -64 0: -4 1: -2 0: 3 -2: 5 -3: 6 -5: 6 -6: 5 -8: 2 -9: -1 -9: -4 -8: -5 -6:-64 -64 2620: -5 6: 0 12: 0 -9: 1 -9: -64 0: 0 12: 1 12: 1 -9: -64 0: -3 5: 4 5: 4 4: -64 0: -3 5: -3 4: 4 4:-64 -64 2621: -10 10: -6 5: -6 -5: -5 -8: -3 -9: 0 -9: 2 -8: 5 -5: -64 0: -6 5: -5 5: -5 -5: -4 -7: -2 -8: 0 -8: 2 -7: 5 -5: -64 0: 5 5: 5 -9: 6 -9: -64 0: 5 5: 6 5: 6 -9:-64 -64 2622: -8 8: -6 5: 0 -9: -64 0: -6 5: -5 5: 0 -7: -64 0: 6 5: 5 5: 0 -7: -64 0: 6 5: 0 -9:-64 -64 2623: -12 12: -9 5: -4 -9: -64 0: -9 5: -8 5: -4 -6: -64 0: 0 5: -4 -6: -64 0: 0 2: -4 -9: -64 0: 0 2: 4 -9: -64 0: 0 5: 4 -6: -64 0: 9 5: 8 5: 4 -6: -64 0: 9 5: 4 -9:-64 -64 2624: -9 9: -6 5: 5 -9: 6 -9: -64 0: -6 5: -5 5: 6 -9: -64 0: 6 5: 5 5: -6 -9: -64 0: 6 5: -5 -9: -6 -9:-64 -64 2625: -8 8: -6 5: 0 -9: -64 0: -6 5: -5 5: 0 -7: -64 0: 6 5: 5 5: 0 -7: -4 -16: -64 0: 6 5: 0 -9: -3 -16: -4 -16:-64 -64 2626: -9 9: 4 4: -6 -9: -64 0: 6 5: -4 -8: -64 0: -6 5: 6 5: -64 0: -6 5: -6 4: 4 4: -64 0: -4 -8: 6 -8: 6 -9: -64 0: -6 -9: 6 -9:-64 -64 2651: -7 9: 3 -3: 2 -1: 0 0: -2 0: -4 -1: -5 -2: -6 -4: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: 2 -6: -64 0: -2 0: -4 -2: -5 -4: -5 -7: -3 -9: -64 0: 4 0: 2 -6: 2 -8: 4 -9: 6 -8: 7 -7: 9 -4: -64 0: 5 0: 3 -6: 3 -8: 4 -9:-64 -64 2652: -6 8: -6 -4: -4 -1: -2 3: -64 0: 1 12: -5 -6: -5 -8: -3 -9: -2 -9: 0 -8: 2 -6: 3 -3: 3 0: 4 -4: 5 -5: 6 -5: 8 -4: -64 0: 2 12: -4 -6: -4 -8: -3 -9:-64 -64 2653: -6 6: 2 -1: 1 -2: 2 -2: 2 -1: 1 0: -1 0: -3 -1: -4 -2: -5 -4: -5 -6: -4 -8: -2 -9: 1 -9: 4 -7: 6 -4: -64 0: -1 0: -3 -2: -4 -4: -4 -7: -2 -9:-64 -64 2654: -7 9: 3 -3: 2 -1: 0 0: -2 0: -4 -1: -5 -2: -6 -4: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: 2 -6: -64 0: -2 0: -4 -2: -5 -4: -5 -7: -3 -9: -64 0: 8 12: 2 -6: 2 -8: 4 -9: 6 -8: 7 -7: 9 -4: -64 0: 9 12: 3 -6: 3 -8: 4 -9:-64 -64 2655: -6 6: -3 -7: -1 -6: 0 -5: 1 -3: 1 -1: 0 0: -1 0: -3 -1: -4 -2: -5 -4: -5 -6: -4 -8: -2 -9: 1 -9: 4 -7: 6 -4: -64 0: -1 0: -3 -2: -4 -4: -4 -7: -2 -9:-64 -64 2656: -3 6: 0 0: 3 3: 5 6: 6 9: 6 11: 5 12: 3 11: 2 9: -7 -18: -7 -20: -6 -21: -4 -20: -3 -17: -2 -8: -1 -9: 1 -9: 3 -8: 4 -7: 6 -4: -64 0: 2 9: 1 4: 0 0: -3 -9: -5 -14: -7 -18:-64 -64 2657: -7 9: 3 -3: 2 -1: 0 0: -2 0: -4 -1: -5 -2: -6 -4: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: 2 -6: -64 0: -2 0: -4 -2: -5 -4: -5 -7: -3 -9: -64 0: 4 0: -2 -18: -64 0: 5 0: 2 -9: 0 -14: -2 -18: -3 -20: -5 -21: -6 -20: -6 -18: -5 -15: -3 -13: 0 -11: 4 -9: 7 -7: 9 -4:-64 -64 2658: -6 9: -6 -4: -4 -1: -2 3: -64 0: 1 12: -6 -9: -64 0: 2 12: -5 -9: -64 0: -3 -3: -1 -1: 1 0: 2 0: 4 -1: 4 -3: 3 -6: 3 -8: 4 -9: -64 0: 2 0: 3 -1: 3 -3: 2 -6: 2 -8: 4 -9: 6 -8: 7 -7: 9 -4:-64 -64 2659: -4 4: 1 6: 0 5: 1 4: 2 5: 1 6: -64 0: -1 0: -3 -6: -3 -8: -1 -9: 1 -8: 2 -7: 4 -4: -64 0: 0 0: -2 -6: -2 -8: -1 -9:-64 -64 2660: -4 4: 1 6: 0 5: 1 4: 2 5: 1 6: -64 0: -1 0: -7 -18: -64 0: 0 0: -3 -9: -5 -14: -7 -18: -8 -20: -10 -21: -11 -20: -11 -18: -10 -15: -8 -13: -5 -11: -1 -9: 2 -7: 4 -4:-64 -64 2661: -6 8: -6 -4: -4 -1: -2 3: -64 0: 1 12: -6 -9: -64 0: 2 12: -5 -9: -64 0: 3 0: 3 -1: 4 -1: 3 0: 2 0: 0 -2: -3 -3: -64 0: -3 -3: 0 -4: 1 -8: 2 -9: -64 0: -3 -3: -1 -4: 0 -8: 2 -9: 3 -9: 6 -7: 8 -4:-64 -64 2662: -4 4: -4 -4: -2 -1: 0 3: -64 0: 3 12: -3 -6: -3 -8: -1 -9: 1 -8: 2 -7: 4 -4: -64 0: 4 12: -2 -6: -2 -8: -1 -9:-64 -64 2663: -13 12: -13 -4: -11 -1: -9 0: -7 -1: -7 -3: -9 -9: -64 0: -9 0: -8 -1: -8 -3: -10 -9: -64 0: -7 -3: -5 -1: -3 0: -2 0: 0 -1: 0 -3: -2 -9: -64 0: -2 0: -1 -1: -1 -3: -3 -9: -64 0: 0 -3: 2 -1: 4 0: 5 0: 7 -1: 7 -3: 6 -6: 6 -8: 7 -9: -64 0: 5 0: 6 -1: 6 -3: 5 -6: 5 -8: 7 -9: 9 -8: 10 -7: 12 -4:-64 -64 2664: -9 9: -9 -4: -7 -1: -5 0: -3 -1: -3 -3: -5 -9: -64 0: -5 0: -4 -1: -4 -3: -6 -9: -64 0: -3 -3: -1 -1: 1 0: 2 0: 4 -1: 4 -3: 3 -6: 3 -8: 4 -9: -64 0: 2 0: 3 -1: 3 -3: 2 -6: 2 -8: 4 -9: 6 -8: 7 -7: 9 -4:-64 -64 2665: -7 7: 0 0: -2 0: -4 -1: -5 -2: -6 -4: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: 2 -7: 3 -5: 3 -3: 2 -1: 0 0: -1 -1: -1 -3: 0 -5: 2 -6: 4 -6: 6 -5: 7 -4: -64 0: -2 0: -4 -2: -5 -4: -5 -7: -3 -9:-64 -64 2666: -6 9: -6 -4: -4 -1: -2 3: -64 0: -1 6: -10 -21: -64 0: 0 6: -9 -21: -64 0: -3 -3: -1 -1: 1 0: 2 0: 4 -1: 4 -3: 3 -6: 3 -8: 4 -9: -64 0: 2 0: 3 -1: 3 -3: 2 -6: 2 -8: 4 -9: 6 -8: 7 -7: 9 -4:-64 -64 2667: -7 9: 3 -3: 2 -1: 0 0: -2 0: -4 -1: -5 -2: -6 -4: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: -64 0: -2 0: -4 -2: -5 -4: -5 -7: -3 -9: -64 0: 4 0: -2 -18: -2 -20: -1 -21: 1 -20: 2 -17: 2 -9: 4 -9: 7 -7: 9 -4: -64 0: 5 0: 2 -9: 0 -14: -2 -18:-64 -64 2668: -6 8: -6 -4: -4 -1: -2 0: 0 -1: 0 -3: -2 -9: -64 0: -2 0: -1 -1: -1 -3: -3 -9: -64 0: 0 -3: 2 -1: 4 0: 5 0: 4 -3: -64 0: 4 0: 4 -3: 5 -5: 6 -5: 8 -4:-64 -64 2669: -4 8: -4 -4: -2 -1: -1 1: -1 -1: 2 -3: 3 -5: 3 -7: 2 -8: 0 -9: -64 0: -1 -1: 1 -3: 2 -5: 2 -7: 0 -9: -64 0: -4 -8: -2 -9: 3 -9: 6 -7: 8 -4:-64 -64 2670: -4 4: -4 -4: -2 -1: 0 3: -64 0: 3 12: -3 -6: -3 -8: -1 -9: 1 -8: 2 -7: 4 -4: -64 0: 4 12: -2 -6: -2 -8: -1 -9: -64 0: -2 4: 4 4:-64 -64 2671: -7 9: -4 0: -6 -6: -6 -8: -4 -9: -3 -9: -1 -8: 1 -6: 3 -3: -64 0: -3 0: -5 -6: -5 -8: -4 -9: -64 0: 4 0: 2 -6: 2 -8: 4 -9: 6 -8: 7 -7: 9 -4: -64 0: 5 0: 3 -6: 3 -8: 4 -9:-64 -64 2672: -7 8: -4 0: -5 -2: -6 -5: -6 -8: -4 -9: -3 -9: 0 -8: 2 -6: 3 -3: 3 0: -64 0: -3 0: -4 -2: -5 -5: -5 -8: -4 -9: -64 0: 3 0: 4 -4: 5 -5: 6 -5: 8 -4:-64 -64 2673: -10 11: -6 0: -8 -2: -9 -5: -9 -8: -7 -9: -6 -9: -4 -8: -2 -6: -64 0: -5 0: -7 -2: -8 -5: -8 -8: -7 -9: -64 0: 0 0: -2 -6: -2 -8: 0 -9: 1 -9: 3 -8: 5 -6: 6 -3: 6 0: -64 0: 1 0: -1 -6: -1 -8: 0 -9: -64 0: 6 0: 7 -4: 8 -5: 9 -5: 11 -4:-64 -64 2674: -8 8: -8 -4: -6 -1: -4 0: -2 0: -1 -1: -1 -3: -2 -6: -3 -8: -5 -9: -6 -9: -7 -8: -7 -7: -6 -7: -7 -8: -64 0: 5 -1: 4 -2: 5 -2: 5 -1: 4 0: 3 0: 1 -1: 0 -3: -1 -6: -1 -8: 0 -9: 3 -9: 6 -7: 8 -4: -64 0: -1 -1: 0 -3: -64 0: 1 -1: -1 -3: -64 0: -2 -6: -1 -8: -64 0: -1 -6: -3 -8:-64 -64 2675: -7 9: -4 0: -6 -6: -6 -8: -4 -9: -3 -9: -1 -8: 1 -6: 3 -3: -64 0: -3 0: -5 -6: -5 -8: -4 -9: -64 0: 4 0: -2 -18: -64 0: 5 0: 2 -9: 0 -14: -2 -18: -3 -20: -5 -21: -6 -20: -6 -18: -5 -15: -3 -13: 0 -11: 4 -9: 7 -7: 9 -4:-64 -64 2676: -6 7: -6 -4: -4 -1: -2 0: 0 0: 2 -1: 2 -4: 1 -6: -2 -8: -4 -9: -64 0: 0 0: 1 -1: 1 -4: 0 -6: -2 -8: -64 0: -4 -9: -2 -10: -1 -12: -1 -15: -2 -18: -4 -20: -6 -21: -7 -20: -7 -18: -6 -15: -3 -12: 0 -10: 4 -7: 7 -4: -64 0: -4 -9: -3 -10: -2 -12: -2 -15: -3 -18: -4 -20:-64 -64 2697: 0 0:-64 -64 2698: -4 4:-64 -64 2699: -8 8:-64 -64 2700: -10 10: -1 12: -4 11: -6 8: -7 3: -7 0: -6 -5: -4 -8: -1 -9: 1 -9: 4 -8: 6 -5: 7 0: 7 3: 6 8: 4 11: 1 12: -1 12: -64 0: -3 11: -5 8: -6 3: -6 0: -5 -5: -3 -8: -64 0: -4 -7: -1 -8: 1 -8: 4 -7: -64 0: 3 -8: 5 -5: 6 0: 6 3: 5 8: 3 11: -64 0: 4 10: 1 11: -1 11: -4 10:-64 -64 2701: -10 10: -4 8: -2 9: 1 12: 1 -9: -64 0: -4 8: -4 7: -2 8: 0 10: 0 -9: 1 -9:-64 -64 2702: -10 10: -6 7: -6 8: -5 10: -4 11: -2 12: 2 12: 4 11: 5 10: 6 8: 6 6: 5 4: 3 1: -6 -9: -64 0: -6 7: -5 7: -5 8: -4 10: -2 11: 2 11: 4 10: 5 8: 5 6: 4 4: 2 1: -7 -9: -64 0: -6 -8: 7 -8: 7 -9: -64 0: -7 -9: 7 -9:-64 -64 2703: -10 10: -5 12: 6 12: -1 3: -64 0: -5 12: -5 11: 5 11: -64 0: 5 12: -2 3: -64 0: -1 4: 1 4: 4 3: 6 1: 7 -2: 7 -3: 6 -6: 4 -8: 1 -9: -2 -9: -5 -8: -6 -7: -7 -5: -6 -5: -64 0: -2 3: 1 3: 4 2: 6 -1: -64 0: 2 3: 5 1: 6 -2: 6 -3: 5 -6: 2 -8: -64 0: 6 -4: 4 -7: 1 -8: -2 -8: -5 -7: -6 -5: -64 0: -3 -8: -6 -6:-64 -64 2704: -10 10: 3 9: 3 -9: 4 -9: -64 0: 4 12: 4 -9: -64 0: 4 12: -7 -4: 8 -4: -64 0: 3 9: -6 -4: -64 0: -6 -3: 8 -3: 8 -4:-64 -64 2705: -10 10: -5 12: -6 3: -64 0: -4 11: -5 4: -64 0: -5 12: 5 12: 5 11: -64 0: -4 11: 5 11: -64 0: -5 4: -2 5: 1 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -2 -9: -5 -8: -6 -7: -7 -5: -6 -5: -64 0: -6 3: -5 3: -3 4: 1 4: 4 3: 6 0: -64 0: 2 4: 5 2: 6 -1: 6 -3: 5 -6: 2 -8: -64 0: 6 -4: 4 -7: 1 -8: -2 -8: -5 -7: -6 -5: -64 0: -3 -8: -6 -6:-64 -64 2706: -10 10: 4 11: 5 9: 6 9: 5 11: 2 12: 0 12: -3 11: -5 8: -6 3: -6 -2: -5 -6: -3 -8: 0 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 -2: 6 1: 4 3: 1 4: 0 4: -3 3: -5 1: -64 0: 5 10: 2 11: 0 11: -3 10: -64 0: -2 11: -4 8: -5 3: -5 -2: -4 -6: -1 -8: -64 0: -5 -4: -3 -7: 0 -8: 1 -8: 4 -7: 6 -4: -64 0: 2 -8: 5 -6: 6 -3: 6 -2: 5 1: 2 3: -64 0: 6 -1: 4 2: 1 3: 0 3: -3 2: -5 -1: -64 0: -1 3: -4 1: -5 -2:-64 -64 2707: -10 10: -7 12: 7 12: -3 -9: -64 0: -7 12: -7 11: 6 11: -64 0: 6 12: -4 -9: -3 -9:-64 -64 2708: -10 10: -2 12: -5 11: -6 9: -6 7: -5 5: -4 4: -2 3: 2 2: 4 1: 5 0: 6 -2: 6 -5: 5 -7: 2 -8: -2 -8: -5 -7: -6 -5: -6 -2: -5 0: -4 1: -2 2: 2 3: 4 4: 5 5: 6 7: 6 9: 5 11: 2 12: -2 12: -64 0: -4 11: -5 9: -5 7: -4 5: -2 4: 2 3: 4 2: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -2 -9: -5 -8: -6 -7: -7 -5: -7 -2: -6 0: -4 2: -2 3: 2 4: 4 5: 5 7: 5 9: 4 11: -64 0: 5 10: 2 11: -2 11: -5 10: -64 0: -6 -6: -3 -8: -64 0: 3 -8: 6 -6:-64 -64 2709: -10 10: 5 2: 3 0: 0 -1: -1 -1: -4 0: -6 2: -7 5: -7 6: -6 9: -4 11: -1 12: 0 12: 3 11: 5 9: 6 5: 6 0: 5 -5: 3 -8: 0 -9: -2 -9: -5 -8: -6 -6: -5 -6: -4 -8: -64 0: 5 5: 4 2: 1 0: -64 0: 5 4: 3 1: 0 0: -1 0: -4 1: -6 4: -64 0: -2 0: -5 2: -6 5: -6 6: -5 9: -2 11: -64 0: -6 7: -4 10: -1 11: 0 11: 3 10: 5 7: -64 0: 1 11: 4 9: 5 5: 5 0: 4 -5: 2 -8: -64 0: 3 -7: 0 -8: -2 -8: -5 -7:-64 -64 2710: -5 6: 0 -6: -1 -7: -1 -8: 0 -9: 1 -9: 2 -8: 2 -7: 1 -6: 0 -6: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7:-64 -64 2711: -5 6: 2 -8: 1 -9: 0 -9: -1 -8: -1 -7: 0 -6: 1 -6: 2 -7: 2 -10: 1 -12: -1 -13: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7: -64 0: 1 -9: 2 -10: -64 0: 2 -8: 1 -12:-64 -64 2712: -5 6: 0 5: -1 4: -1 3: 0 2: 1 2: 2 3: 2 4: 1 5: 0 5: -64 0: 0 4: 0 3: 1 3: 1 4: 0 4: -64 0: 0 -6: -1 -7: -1 -8: 0 -9: 1 -9: 2 -8: 2 -7: 1 -6: 0 -6: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7:-64 -64 2713: -5 6: 0 5: -1 4: -1 3: 0 2: 1 2: 2 3: 2 4: 1 5: 0 5: -64 0: 0 4: 0 3: 1 3: 1 4: 0 4: -64 0: 2 -8: 1 -9: 0 -9: -1 -8: -1 -7: 0 -6: 1 -6: 2 -7: 2 -10: 1 -12: -1 -13: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7: -64 0: 1 -9: 2 -10: -64 0: 2 -8: 1 -12:-64 -64 2714: -5 6: 0 12: 0 -2: 1 -2: -64 0: 0 12: 1 12: 1 -2: -64 0: 0 -6: -1 -7: -1 -8: 0 -9: 1 -9: 2 -8: 2 -7: 1 -6: 0 -6: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7:-64 -64 2715: -9 10: -6 7: -6 8: -5 10: -4 11: -1 12: 2 12: 5 11: 6 10: 7 8: 7 6: 6 4: 5 3: 3 2: 0 1: -64 0: -6 7: -5 7: -5 8: -4 10: -1 11: 2 11: 5 10: 6 8: 6 6: 5 4: 3 3: 0 2: -64 0: -5 9: -2 11: -64 0: 3 11: 6 9: -64 0: 6 5: 2 2: -64 0: 0 2: 0 -2: 1 -2: 1 2: -64 0: 0 -6: -1 -7: -1 -8: 0 -9: 1 -9: 2 -8: 2 -7: 1 -6: 0 -6: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7:-64 -64 2716: -5 6: 2 12: 0 11: -1 9: -1 6: 0 5: 1 5: 2 6: 2 7: 1 8: 0 8: -1 7: -64 0: 0 7: 0 6: 1 6: 1 7: 0 7: -64 0: 0 11: -1 7: -64 0: -1 9: 0 8:-64 -64 2717: -5 6: 2 10: 1 9: 0 9: -1 10: -1 11: 0 12: 1 12: 2 11: 2 8: 1 6: -1 5: -64 0: 0 11: 0 10: 1 10: 1 11: 0 11: -64 0: 1 9: 2 8: -64 0: 2 10: 1 6:-64 -64 2718: -12 13: 10 5: 8 5: 6 4: 5 2: 3 -4: 2 -6: 1 -7: -1 -8: -5 -8: -7 -7: -8 -5: -8 -3: -7 -1: -6 0: -1 3: 1 5: 2 7: 2 9: 1 11: -1 12: -2 12: -4 11: -5 9: -5 7: -4 4: -2 1: 3 -5: 6 -8: 8 -9: 10 -9: -64 0: 10 5: 10 4: 8 4: 6 3: -64 0: 7 4: 6 2: 4 -4: 3 -6: 1 -8: -1 -9: -5 -9: -7 -8: -8 -7: -9 -5: -9 -3: -8 -1: -6 1: -1 4: 0 5: 1 7: 1 9: 0 11: -64 0: 1 10: -1 11: -2 11: -4 10: -64 0: -3 11: -4 9: -4 7: -3 4: -1 1: 4 -5: 6 -7: 8 -8: 10 -8: 10 -9:-64 -64 2719: -9 10: 0 16: 0 -13: 1 -13: -64 0: 0 16: 1 16: 1 -13: -64 0: 5 9: 7 9: 5 11: 2 12: -1 12: -4 11: -6 9: -6 7: -5 5: -4 4: 4 0: 5 -1: 6 -3: 6 -5: 5 -7: 2 -8: -1 -8: -3 -7: -4 -6: -64 0: 5 9: 4 10: 2 11: -1 11: -4 10: -5 9: -5 7: -4 5: 4 1: 6 -1: 7 -3: 7 -5: 6 -7: 5 -8: 2 -9: -1 -9: -4 -8: -6 -6: -4 -6: -64 0: 6 -6: 3 -8:-64 -64 2720: -11 12: 9 16: -9 -16: -8 -16: -64 0: 9 16: 10 16: -8 -16:-64 -64 2721: -7 7: 3 16: 1 14: -1 11: -3 7: -4 2: -4 -2: -3 -7: -1 -11: 1 -14: 3 -16: 4 -16: -64 0: 3 16: 4 16: 2 14: 0 11: -2 7: -3 2: -3 -2: -2 -7: 0 -11: 2 -14: 4 -16:-64 -64 2722: -7 7: -4 16: -2 14: 0 11: 2 7: 3 2: 3 -2: 2 -7: 0 -11: -2 -14: -4 -16: -3 -16: -64 0: -4 16: -3 16: -1 14: 1 11: 3 7: 4 2: 4 -2: 3 -7: 1 -11: -1 -14: -3 -16:-64 -64 2723: -8 8: 0 12: -1 11: 1 1: 0 0: -64 0: 0 12: 0 0: -64 0: 0 12: 1 11: -1 1: 0 0: -64 0: -5 9: -4 9: 4 3: 5 3: -64 0: -5 9: 5 3: -64 0: -5 9: -5 8: 5 4: 5 3: -64 0: 5 9: 4 9: -4 3: -5 3: -64 0: 5 9: -5 3: -64 0: 5 9: 5 8: -5 4: -5 3:-64 -64 2724: -12 13: -8 1: 9 1: 9 0: -64 0: -8 1: -8 0: 9 0:-64 -64 2725: -12 13: 0 9: 0 -8: 1 -8: -64 0: 0 9: 1 9: 1 -8: -64 0: -8 1: 9 1: 9 0: -64 0: -8 1: -8 0: 9 0:-64 -64 2726: -12 13: -8 5: 9 5: 9 4: -64 0: -8 5: -8 4: 9 4: -64 0: -8 -3: 9 -3: 9 -4: -64 0: -8 -3: -8 -4: 9 -4:-64 -64 2727: -4 5: 1 12: 0 11: 0 5: -64 0: 1 11: 0 5: -64 0: 1 12: 2 11: 0 5:-64 -64 2728: -9 9: -4 12: -5 11: -5 5: -64 0: -4 11: -5 5: -64 0: -4 12: -3 11: -5 5: -64 0: 5 12: 4 11: 4 5: -64 0: 5 11: 4 5: -64 0: 5 12: 6 11: 4 5:-64 -64 2729: -7 7: -1 12: -3 11: -4 9: -4 7: -3 5: -1 4: 1 4: 3 5: 4 7: 4 9: 3 11: 1 12: -1 12: -64 0: -1 12: -4 9: -3 5: 1 4: 4 7: 3 11: -1 12: -64 0: 1 12: -3 11: -4 7: -1 4: 3 5: 4 9: 1 12:-64 -64 2747: 0 0:-64 -64 2748: -4 4:-64 -64 2749: -8 8:-64 -64 2750: -10 11: 2 12: -1 11: -3 9: -5 6: -6 3: -7 -1: -7 -4: -6 -7: -5 -8: -3 -9: -1 -9: 2 -8: 4 -6: 6 -3: 7 0: 8 4: 8 7: 7 10: 6 11: 4 12: 2 12: -64 0: 2 12: 0 11: -2 9: -4 6: -5 3: -6 -1: -6 -4: -5 -7: -3 -9: -64 0: -1 -9: 1 -8: 3 -6: 5 -3: 6 0: 7 4: 7 7: 6 10: 4 12:-64 -64 2751: -10 11: 2 8: -3 -9: -64 0: 4 12: -2 -9: -64 0: 4 12: 1 9: -2 7: -4 6: -64 0: 3 9: -1 7: -4 6:-64 -64 2752: -10 11: -3 8: -2 7: -3 6: -4 7: -4 8: -3 10: -2 11: 1 12: 4 12: 7 11: 8 9: 8 7: 7 5: 5 3: 2 1: -2 -1: -5 -3: -7 -5: -9 -9: -64 0: 4 12: 6 11: 7 9: 7 7: 6 5: 4 3: -2 -1: -64 0: -8 -7: -7 -6: -5 -6: 0 -8: 3 -8: 5 -7: 6 -5: -64 0: -5 -6: 0 -9: 3 -9: 5 -8: 6 -5:-64 -64 2753: -10 11: -3 8: -2 7: -3 6: -4 7: -4 8: -3 10: -2 11: 1 12: 4 12: 7 11: 8 9: 8 7: 7 5: 4 3: 1 2: -64 0: 4 12: 6 11: 7 9: 7 7: 6 5: 4 3: -64 0: -1 2: 1 2: 4 1: 5 0: 6 -2: 6 -5: 5 -7: 4 -8: 1 -9: -3 -9: -6 -8: -7 -7: -8 -5: -8 -4: -7 -3: -6 -4: -7 -5: -64 0: 1 2: 3 1: 4 0: 5 -2: 5 -5: 4 -7: 3 -8: 1 -9:-64 -64 2754: -10 11: 6 11: 0 -9: -64 0: 7 12: 1 -9: -64 0: 7 12: -8 -3: 8 -3:-64 -64 2755: -10 11: -1 12: -6 2: -64 0: -1 12: 9 12: -64 0: -1 11: 4 11: 9 12: -64 0: -6 2: -5 3: -2 4: 1 4: 4 3: 5 2: 6 0: 6 -3: 5 -6: 3 -8: 0 -9: -3 -9: -6 -8: -7 -7: -8 -5: -8 -4: -7 -3: -6 -4: -7 -5: -64 0: 1 4: 3 3: 4 2: 5 0: 5 -3: 4 -6: 2 -8: 0 -9:-64 -64 2756: -10 11: 7 9: 6 8: 7 7: 8 8: 8 9: 7 11: 5 12: 2 12: -1 11: -3 9: -5 6: -6 3: -7 -1: -7 -5: -6 -7: -5 -8: -3 -9: 0 -9: 3 -8: 5 -6: 6 -4: 6 -1: 5 1: 4 2: 2 3: -1 3: -3 2: -5 0: -6 -2: -64 0: 2 12: 0 11: -2 9: -4 6: -5 3: -6 -1: -6 -6: -5 -8: -64 0: 0 -9: 2 -8: 4 -6: 5 -4: 5 0: 4 2:-64 -64 2757: -10 11: -4 12: -6 6: -64 0: 9 12: 8 9: 6 6: 1 0: -1 -3: -2 -5: -3 -9: -64 0: 6 6: 0 0: -2 -3: -3 -5: -4 -9: -64 0: -5 9: -2 12: 0 12: 5 9: -64 0: -4 10: -2 11: 0 11: 5 9: 7 9: 8 10: 9 12:-64 -64 2758: -10 11: 1 12: -2 11: -3 10: -4 8: -4 5: -3 3: -1 2: 2 2: 6 3: 7 4: 8 6: 8 9: 7 11: 4 12: 1 12: -64 0: 1 12: -1 11: -2 10: -3 8: -3 5: -2 3: -1 2: -64 0: 2 2: 5 3: 6 4: 7 6: 7 9: 6 11: 4 12: -64 0: -1 2: -5 1: -7 -1: -8 -3: -8 -6: -7 -8: -4 -9: 0 -9: 4 -8: 5 -7: 6 -5: 6 -2: 5 0: 4 1: 2 2: -64 0: -1 2: -4 1: -6 -1: -7 -3: -7 -6: -6 -8: -4 -9: -64 0: 0 -9: 3 -8: 4 -7: 5 -5: 5 -1: 4 1:-64 -64 2759: -10 11: 7 5: 6 3: 4 1: 2 0: -1 0: -3 1: -4 2: -5 4: -5 7: -4 9: -2 11: 1 12: 4 12: 6 11: 7 10: 8 8: 8 4: 7 0: 6 -3: 4 -6: 2 -8: -1 -9: -4 -9: -6 -8: -7 -6: -7 -5: -6 -4: -5 -5: -6 -6: -64 0: -3 1: -4 3: -4 7: -3 9: -1 11: 1 12: -64 0: 6 11: 7 9: 7 4: 6 0: 5 -3: 3 -6: 1 -8: -1 -9:-64 -64 2760: -5 6: -2 -7: -3 -8: -2 -9: -1 -8: -2 -7:-64 -64 2761: -5 6: -2 -9: -3 -8: -2 -7: -1 -8: -1 -9: -2 -11: -4 -13:-64 -64 2762: -5 6: 1 5: 0 4: 1 3: 2 4: 1 5: -64 0: -2 -7: -3 -8: -2 -9: -1 -8:-64 -64 2763: -5 6: 1 5: 0 4: 1 3: 2 4: 1 5: -64 0: -2 -9: -3 -8: -2 -7: -1 -8: -1 -9: -2 -11: -4 -13:-64 -64 2764: -5 6: 3 12: 2 11: 0 -1: -64 0: 3 11: 0 -1: -64 0: 3 12: 4 11: 0 -1: -64 0: -2 -7: -3 -8: -2 -9: -1 -8: -2 -7:-64 -64 2765: -10 11: -3 8: -2 7: -3 6: -4 7: -4 8: -3 10: -2 11: 1 12: 5 12: 8 11: 9 9: 9 7: 8 5: 7 4: 1 2: -1 1: -1 -1: 0 -2: 2 -2: -64 0: 5 12: 7 11: 8 9: 8 7: 7 5: 6 4: 4 3: -64 0: -2 -7: -3 -8: -2 -9: -1 -8: -2 -7:-64 -64 2766: -5 6: 4 12: 2 10: 1 8: 1 7: 2 6: 3 7: 2 8:-64 -64 2767: -5 6: 3 10: 2 11: 3 12: 4 11: 4 10: 3 8: 1 6:-64 -64 2768: -13 13: 10 4: 9 3: 10 2: 11 3: 11 4: 10 5: 9 5: 7 4: 5 2: 0 -6: -2 -8: -4 -9: -7 -9: -10 -8: -11 -6: -11 -4: -10 -2: -9 -1: -7 0: -2 2: 0 3: 2 5: 3 7: 3 9: 2 11: 0 12: -2 11: -3 9: -3 6: -2 0: -1 -3: 1 -6: 3 -8: 5 -9: 7 -9: 8 -7: 8 -6: -64 0: -7 -9: -9 -8: -10 -6: -10 -4: -9 -2: -8 -1: -2 2: -64 0: -3 6: -2 1: -1 -2: 1 -5: 3 -7: 5 -8: 7 -8: 8 -7:-64 -64 2769: -10 11: 2 16: -6 -13: -64 0: 7 16: -1 -13: -64 0: 8 8: 7 7: 8 6: 9 7: 9 8: 8 10: 7 11: 4 12: 0 12: -3 11: -5 9: -5 7: -4 5: -3 4: 4 0: 6 -2: -64 0: -5 7: -3 5: 4 1: 5 0: 6 -2: 6 -5: 5 -7: 4 -8: 1 -9: -3 -9: -6 -8: -7 -7: -8 -5: -8 -4: -7 -3: -6 -4: -7 -5:-64 -64 2770: -11 11: 13 16: -13 -16:-64 -64 2771: -7 8: 8 16: 4 13: 1 10: -1 7: -3 3: -4 -2: -4 -6: -3 -11: -2 -14: -1 -16: -64 0: 4 13: 1 9: -1 5: -2 2: -3 -3: -3 -8: -2 -13: -1 -16:-64 -64 2772: -8 7: 1 16: 2 14: 3 11: 4 6: 4 2: 3 -3: 1 -7: -1 -10: -4 -13: -8 -16: -64 0: 1 16: 2 13: 3 8: 3 3: 2 -2: 1 -5: -1 -9: -4 -13:-64 -64 2773: -8 9: 2 12: 2 0: -64 0: -3 9: 7 3: -64 0: 7 9: -3 3:-64 -64 2774: -13 13: -9 0: 9 0:-64 -64 2775: -13 13: 0 9: 0 -9: -64 0: -9 0: 9 0:-64 -64 2776: -13 13: -9 3: 9 3: -64 0: -9 -3: 9 -3:-64 -64 2777: -4 5: 3 12: 1 5: -64 0: 4 12: 1 5:-64 -64 2778: -9 9: -2 12: -4 5: -64 0: -1 12: -4 5: -64 0: 7 12: 5 5: -64 0: 8 12: 5 5:-64 -64 2779: -7 8: 1 12: -1 11: -2 9: -2 7: -1 5: 1 4: 3 4: 5 5: 6 7: 6 9: 5 11: 3 12: 1 12:-64 -64 2801: -10 10: 0 12: -7 -9: -64 0: 0 12: 7 -9: -64 0: 0 9: 6 -9: -64 0: -5 -3: 4 -3: -64 0: -9 -9: -3 -9: -64 0: 3 -9: 9 -9:-64 -64 2802: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -9 12: 7 12: 7 6: 6 12: -64 0: -5 2: 3 2: 6 1: 7 0: 8 -2: 8 -5: 7 -7: 6 -8: 3 -9: -9 -9: -64 0: 3 2: 5 1: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 3 -9:-64 -64 2803: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 6: 7 4: 6 3: 3 2: -64 0: 3 12: 5 11: 6 10: 7 8: 7 6: 6 4: 5 3: 3 2: -64 0: -5 2: 3 2: 6 1: 7 0: 8 -2: 8 -5: 7 -7: 6 -8: 3 -9: -9 -9: -64 0: 3 2: 5 1: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 3 -9:-64 -64 2804: -9 9: -4 12: -4 -9: -64 0: -3 12: -3 -9: -64 0: -7 12: 8 12: 8 6: 7 12: -64 0: -7 -9: 0 -9:-64 -64 2805: -12 12: -4 12: -4 6: -5 -2: -6 -6: -7 -8: -8 -9: -64 0: 6 12: 6 -9: -64 0: 7 12: 7 -9: -64 0: -7 12: 10 12: -64 0: -11 -9: 10 -9: -64 0: -11 -9: -11 -16: -64 0: -10 -9: -11 -16: -64 0: 9 -9: 10 -16: -64 0: 10 -9: 10 -16:-64 -64 2806: -11 10: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: 1 6: 1 -2: -64 0: -9 12: 7 12: 7 6: 6 12: -64 0: -5 2: 1 2: -64 0: -9 -9: 7 -9: 7 -3: 6 -9:-64 -64 2807: -15 16: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: -3 12: 4 12: -64 0: -11 11: -10 10: -11 9: -12 10: -12 11: -11 12: -10 12: -9 11: -8 9: -7 5: -6 3: -4 2: 5 2: 7 3: 8 5: 9 9: 10 11: 11 12: 12 12: 13 11: 13 10: 12 9: 11 10: 12 11: -64 0: -4 2: -6 1: -7 -1: -8 -6: -9 -8: -10 -9: -64 0: -4 2: -5 1: -6 -1: -7 -6: -8 -8: -9 -9: -11 -9: -12 -8: -13 -6: -64 0: 5 2: 7 1: 8 -1: 9 -6: 10 -8: 11 -9: -64 0: 5 2: 6 1: 7 -1: 8 -6: 9 -8: 10 -9: 12 -9: 13 -8: 14 -6: -64 0: -3 -9: 4 -9:-64 -64 2808: -10 10: -6 9: -7 12: -7 6: -6 9: -4 11: -2 12: 2 12: 5 11: 6 9: 6 6: 5 4: 2 3: -1 3: -64 0: 2 12: 4 11: 5 9: 5 6: 4 4: 2 3: -64 0: 2 3: 4 2: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -3 -9: -5 -8: -6 -7: -7 -5: -7 -4: -6 -3: -5 -4: -6 -5: -64 0: 5 1: 6 -2: 6 -5: 5 -7: 4 -8: 2 -9:-64 -64 2809: -12 12: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: 6 12: 6 -9: -64 0: 7 12: 7 -9: -64 0: -10 12: -3 12: -64 0: 3 12: 10 12: -64 0: 6 10: -6 -7: -64 0: -10 -9: -3 -9: -64 0: 3 -9: 10 -9:-64 -64 2810: -12 12: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: 6 12: 6 -9: -64 0: 7 12: 7 -9: -64 0: -10 12: -3 12: -64 0: 3 12: 10 12: -64 0: 6 10: -6 -7: -64 0: -10 -9: -3 -9: -64 0: 3 -9: 10 -9: -64 0: -4 18: -4 19: -5 19: -5 18: -4 16: -2 15: 2 15: 4 16: 5 18:-64 -64 2811: -12 12: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: -10 12: -3 12: -64 0: -6 2: 1 2: 3 3: 4 5: 5 9: 6 11: 7 12: 8 12: 9 11: 9 10: 8 9: 7 10: 8 11: -64 0: 1 2: 3 1: 4 -1: 5 -6: 6 -8: 7 -9: -64 0: 1 2: 2 1: 3 -1: 4 -6: 5 -8: 6 -9: 8 -9: 9 -8: 10 -6: -64 0: -10 -9: -3 -9:-64 -64 2812: -13 12: -5 12: -5 6: -6 -2: -7 -6: -8 -8: -9 -9: -10 -9: -11 -8: -11 -7: -10 -6: -9 -7: -10 -8: -64 0: 6 12: 6 -9: -64 0: 7 12: 7 -9: -64 0: -8 12: 10 12: -64 0: 3 -9: 10 -9:-64 -64 2813: -12 13: -7 12: -7 -9: -64 0: -6 12: 0 -6: -64 0: -7 12: 0 -9: -64 0: 7 12: 0 -9: -64 0: 7 12: 7 -9: -64 0: 8 12: 8 -9: -64 0: -10 12: -6 12: -64 0: 7 12: 11 12: -64 0: -10 -9: -4 -9: -64 0: 4 -9: 11 -9:-64 -64 2814: -12 12: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: 6 12: 6 -9: -64 0: 7 12: 7 -9: -64 0: -10 12: -3 12: -64 0: 3 12: 10 12: -64 0: -6 2: 6 2: -64 0: -10 -9: -3 -9: -64 0: 3 -9: 10 -9:-64 -64 2815: -11 11: -1 12: -4 11: -6 9: -7 7: -8 3: -8 0: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -4: 8 0: 8 3: 7 7: 6 9: 4 11: 1 12: -1 12: -64 0: -1 12: -3 11: -5 9: -6 7: -7 3: -7 0: -6 -4: -5 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -6: 6 -4: 7 0: 7 3: 6 7: 5 9: 3 11: 1 12:-64 -64 2816: -12 12: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: 6 12: 6 -9: -64 0: 7 12: 7 -9: -64 0: -10 12: 10 12: -64 0: -10 -9: -3 -9: -64 0: 3 -9: 10 -9:-64 -64 2817: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 5: 7 3: 6 2: 3 1: -5 1: -64 0: 3 12: 5 11: 6 10: 7 8: 7 5: 6 3: 5 2: 3 1: -64 0: -9 -9: -2 -9:-64 -64 2818: -11 10: 6 9: 7 6: 7 12: 6 9: 4 11: 1 12: -1 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -4: -64 0: -1 12: -3 11: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -3 -8: -1 -9:-64 -64 2819: -9 10: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: -6 12: -7 6: -7 12: 8 12: 8 6: 7 12: -64 0: -3 -9: 4 -9:-64 -64 2820: -10 11: -7 12: 0 -4: -64 0: -6 12: 1 -4: -64 0: 8 12: 1 -4: -1 -7: -2 -8: -4 -9: -5 -9: -6 -8: -6 -7: -5 -6: -4 -7: -5 -8: -64 0: -9 12: -3 12: -64 0: 4 12: 10 12:-64 -64 2821: -12 13: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: -3 12: 4 12: -64 0: -2 9: -6 8: -8 6: -9 3: -9 0: -8 -3: -6 -5: -2 -6: 3 -6: 7 -5: 9 -3: 10 0: 10 3: 9 6: 7 8: 3 9: -2 9: -64 0: -2 9: -5 8: -7 6: -8 3: -8 0: -7 -3: -5 -5: -2 -6: -64 0: 3 -6: 6 -5: 8 -3: 9 0: 9 3: 8 6: 6 8: 3 9: -64 0: -3 -9: 4 -9:-64 -64 2822: -10 10: -7 12: 6 -9: -64 0: -6 12: 7 -9: -64 0: 7 12: -7 -9: -64 0: -9 12: -3 12: -64 0: 3 12: 9 12: -64 0: -9 -9: -3 -9: -64 0: 3 -9: 9 -9:-64 -64 2823: -12 12: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: 6 12: 6 -9: -64 0: 7 12: 7 -9: -64 0: -10 12: -3 12: -64 0: 3 12: 10 12: -64 0: -10 -9: 10 -9: -64 0: 9 -9: 10 -16: -64 0: 10 -9: 10 -16:-64 -64 2824: -12 11: -7 12: -7 1: -6 -1: -3 -2: 0 -2: 3 -1: 5 1: -64 0: -6 12: -6 1: -5 -1: -3 -2: -64 0: 5 12: 5 -9: -64 0: 6 12: 6 -9: -64 0: -10 12: -3 12: -64 0: 2 12: 9 12: -64 0: 2 -9: 9 -9:-64 -64 2825: -16 17: -11 12: -11 -9: -64 0: -10 12: -10 -9: -64 0: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: 11 12: 11 -9: -64 0: 12 12: 12 -9: -64 0: -14 12: -7 12: -64 0: -3 12: 4 12: -64 0: 8 12: 15 12: -64 0: -14 -9: 15 -9:-64 -64 2826: -16 17: -11 12: -11 -9: -64 0: -10 12: -10 -9: -64 0: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: 11 12: 11 -9: -64 0: 12 12: 12 -9: -64 0: -14 12: -7 12: -64 0: -3 12: 4 12: -64 0: 8 12: 15 12: -64 0: -14 -9: 15 -9: -64 0: 14 -9: 15 -16: -64 0: 15 -9: 15 -16:-64 -64 2827: -12 14: -2 12: -2 -9: -64 0: -1 12: -1 -9: -64 0: -9 12: -10 6: -10 12: 2 12: -64 0: -1 2: 6 2: 9 1: 10 0: 11 -2: 11 -5: 10 -7: 9 -8: 6 -9: -5 -9: -64 0: 6 2: 8 1: 9 0: 10 -2: 10 -5: 9 -7: 8 -8: 6 -9:-64 -64 2828: -15 15: -10 12: -10 -9: -64 0: -9 12: -9 -9: -64 0: -13 12: -6 12: -64 0: -9 2: -2 2: 1 1: 2 0: 3 -2: 3 -5: 2 -7: 1 -8: -2 -9: -13 -9: -64 0: -2 2: 0 1: 1 0: 2 -2: 2 -5: 1 -7: 0 -8: -2 -9: -64 0: 9 12: 9 -9: -64 0: 10 12: 10 -9: -64 0: 6 12: 13 12: -64 0: 6 -9: 13 -9:-64 -64 2829: -10 11: -5 12: -5 -9: -64 0: -4 12: -4 -9: -64 0: -8 12: -1 12: -64 0: -4 2: 3 2: 6 1: 7 0: 8 -2: 8 -5: 7 -7: 6 -8: 3 -9: -8 -9: -64 0: 3 2: 5 1: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 3 -9:-64 -64 2830: -10 11: -6 9: -7 12: -7 6: -6 9: -4 11: -1 12: 1 12: 4 11: 6 9: 7 7: 8 4: 8 -1: 7 -4: 6 -6: 4 -8: 1 -9: -2 -9: -5 -8: -6 -7: -7 -5: -7 -4: -6 -3: -5 -4: -6 -5: -64 0: 1 12: 3 11: 5 9: 6 7: 7 4: 7 -1: 6 -4: 5 -6: 3 -8: 1 -9: -64 0: -2 2: 7 2:-64 -64 2831: -15 16: -10 12: -10 -9: -64 0: -9 12: -9 -9: -64 0: -13 12: -6 12: -64 0: -13 -9: -6 -9: -64 0: 4 12: 1 11: -1 9: -2 7: -3 3: -3 0: -2 -4: -1 -6: 1 -8: 4 -9: 6 -9: 9 -8: 11 -6: 12 -4: 13 0: 13 3: 12 7: 11 9: 9 11: 6 12: 4 12: -64 0: 4 12: 2 11: 0 9: -1 7: -2 3: -2 0: -1 -4: 0 -6: 2 -8: 4 -9: -64 0: 6 -9: 8 -8: 10 -6: 11 -4: 12 0: 12 3: 11 7: 10 9: 8 11: 6 12: -64 0: -9 2: -3 2:-64 -64 2832: -11 11: 5 12: 5 -9: -64 0: 6 12: 6 -9: -64 0: 9 12: -3 12: -6 11: -7 10: -8 8: -8 6: -7 4: -6 3: -3 2: 5 2: -64 0: -3 12: -5 11: -6 10: -7 8: -7 6: -6 4: -5 3: -3 2: -64 0: 0 2: -2 1: -3 0: -6 -7: -7 -8: -8 -8: -9 -7: -64 0: -2 1: -3 -1: -5 -8: -6 -9: -8 -9: -9 -7: -9 -6: -64 0: 2 -9: 9 -9:-64 -64 2901: -9 11: -4 3: -4 2: -5 2: -5 3: -4 4: -2 5: 2 5: 4 4: 5 3: 6 1: 6 -6: 7 -8: 8 -9: -64 0: 5 3: 5 -6: 6 -8: 8 -9: 9 -9: -64 0: 5 1: 4 0: -2 -1: -5 -2: -6 -4: -6 -6: -5 -8: -2 -9: 1 -9: 3 -8: 5 -6: -64 0: -2 -1: -4 -2: -5 -4: -5 -6: -4 -8: -2 -9:-64 -64 2902: -10 10: 6 12: 5 11: -1 9: -4 7: -6 4: -7 1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 -1: 6 2: 4 4: 1 5: -1 5: -4 4: -6 2: -7 -1: -64 0: 6 12: 5 10: 3 9: -1 8: -4 6: -6 4: -64 0: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -6: 6 -3: 6 -1: 5 2: 3 4: 1 5:-64 -64 2903: -10 10: -5 5: -5 -9: -64 0: -4 5: -4 -9: -64 0: -8 5: 3 5: 6 4: 7 2: 7 1: 6 -1: 3 -2: -64 0: 3 5: 5 4: 6 2: 6 1: 5 -1: 3 -2: -64 0: -4 -2: 3 -2: 6 -3: 7 -5: 7 -6: 6 -8: 3 -9: -8 -9: -64 0: 3 -2: 5 -3: 6 -5: 6 -6: 5 -8: 3 -9:-64 -64 2904: -10 8: -5 5: -5 -9: -64 0: -4 5: -4 -9: -64 0: -8 5: 6 5: 6 0: 5 5: -64 0: -8 -9: -1 -9:-64 -64 2905: -12 11: -4 5: -4 1: -5 -5: -6 -8: -7 -9: -64 0: 5 5: 5 -9: -64 0: 6 5: 6 -9: -64 0: -7 5: 9 5: -64 0: -9 -9: -10 -14: -10 -9: 9 -9: 9 -14: 8 -9:-64 -64 2906: -10 9: -6 -1: 6 -1: 6 1: 5 3: 4 4: 2 5: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: -64 0: 5 -1: 5 2: 4 4: -64 0: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9:-64 -64 2907: -13 14: 0 5: 0 -9: -64 0: 1 5: 1 -9: -64 0: -3 5: 4 5: -64 0: -8 4: -9 3: -10 4: -9 5: -8 5: -7 4: -5 0: -4 -1: -2 -2: 3 -2: 5 -1: 6 0: 8 4: 9 5: 10 5: 11 4: 10 3: 9 4: -64 0: -2 -2: -4 -3: -5 -4: -7 -8: -8 -9: -64 0: -2 -2: -4 -4: -6 -8: -7 -9: -9 -9: -10 -8: -11 -6: -64 0: 3 -2: 5 -3: 6 -4: 8 -8: 9 -9: -64 0: 3 -2: 5 -4: 7 -8: 8 -9: 10 -9: 11 -8: 12 -6: -64 0: -3 -9: 4 -9:-64 -64 2908: -9 9: -5 3: -6 5: -6 1: -5 3: -4 4: -2 5: 2 5: 5 4: 6 2: 6 1: 5 -1: 2 -2: -64 0: 2 5: 4 4: 5 2: 5 1: 4 -1: 2 -2: -64 0: -1 -2: 2 -2: 5 -3: 6 -5: 6 -6: 5 -8: 2 -9: -2 -9: -5 -8: -6 -6: -6 -5: -5 -4: -4 -5: -5 -6: -64 0: 2 -2: 4 -3: 5 -5: 5 -6: 4 -8: 2 -9:-64 -64 2909: -11 11: -6 5: -6 -9: -64 0: -5 5: -5 -9: -64 0: 5 5: 5 -9: -64 0: 6 5: 6 -9: -64 0: -9 5: -2 5: -64 0: 2 5: 9 5: -64 0: -9 -9: -2 -9: -64 0: 2 -9: 9 -9: -64 0: 5 4: -5 -8:-64 -64 2910: -11 11: -6 5: -6 -9: -64 0: -5 5: -5 -9: -64 0: 5 5: 5 -9: -64 0: 6 5: 6 -9: -64 0: -9 5: -2 5: -64 0: 2 5: 9 5: -64 0: -9 -9: -2 -9: -64 0: 2 -9: 9 -9: -64 0: 5 4: -5 -8: -64 0: -3 11: -3 12: -4 12: -4 11: -3 9: -1 8: 1 8: 3 9: 4 11:-64 -64 2911: -10 10: -5 5: -5 -9: -64 0: -4 5: -4 -9: -64 0: -8 5: -1 5: -64 0: -4 -2: -2 -2: 1 -1: 2 0: 4 4: 5 5: 6 5: 7 4: 6 3: 5 4: -64 0: -2 -2: 1 -3: 2 -4: 4 -8: 5 -9: -64 0: -2 -2: 0 -3: 1 -4: 3 -8: 4 -9: 6 -9: 7 -8: 8 -6: -64 0: -8 -9: -1 -9:-64 -64 2912: -11 11: -4 5: -4 1: -5 -5: -6 -8: -7 -9: -8 -9: -9 -8: -8 -7: -7 -8: -64 0: 5 5: 5 -9: -64 0: 6 5: 6 -9: -64 0: -7 5: 9 5: -64 0: 2 -9: 9 -9:-64 -64 2913: -11 12: -6 5: -6 -9: -64 0: -6 5: 0 -9: -64 0: -5 5: 0 -7: -64 0: 6 5: 0 -9: -64 0: 6 5: 6 -9: -64 0: 7 5: 7 -9: -64 0: -9 5: -5 5: -64 0: 6 5: 10 5: -64 0: -9 -9: -3 -9: -64 0: 3 -9: 10 -9:-64 -64 2914: -11 11: -6 5: -6 -9: -64 0: -5 5: -5 -9: -64 0: 5 5: 5 -9: -64 0: 6 5: 6 -9: -64 0: -9 5: -2 5: -64 0: 2 5: 9 5: -64 0: -5 -2: 5 -2: -64 0: -9 -9: -2 -9: -64 0: 2 -9: 9 -9:-64 -64 2915: -10 10: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 -1: 6 2: 4 4: 1 5: -1 5: -64 0: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -6: 6 -3: 6 -1: 5 2: 3 4: 1 5:-64 -64 2916: -11 11: -6 5: -6 -9: -64 0: -5 5: -5 -9: -64 0: 5 5: 5 -9: -64 0: 6 5: 6 -9: -64 0: -9 5: 9 5: -64 0: -9 -9: -2 -9: -64 0: 2 -9: 9 -9:-64 -64 2917: -11 10: -6 5: -6 -16: -64 0: -5 5: -5 -16: -64 0: -5 2: -3 4: -1 5: 1 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -1 -9: -3 -8: -5 -6: -64 0: 1 5: 3 4: 5 2: 6 -1: 6 -3: 5 -6: 3 -8: 1 -9: -64 0: -9 5: -5 5: -64 0: -9 -16: -2 -16:-64 -64 2918: -10 9: 5 2: 4 1: 5 0: 6 1: 6 2: 4 4: 2 5: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: -64 0: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9:-64 -64 2919: -9 10: 0 5: 0 -9: -64 0: 1 5: 1 -9: -64 0: -5 5: -6 0: -6 5: 7 5: 7 0: 6 5: -64 0: -3 -9: 4 -9:-64 -64 2920: -9 9: -6 5: 0 -9: -64 0: -5 5: 0 -7: -64 0: 6 5: 0 -9: -2 -13: -4 -15: -6 -16: -7 -16: -8 -15: -7 -14: -6 -15: -64 0: -8 5: -2 5: -64 0: 2 5: 8 5:-64 -64 2921: -10 11: 0 12: 0 -16: -64 0: 1 12: 1 -16: -64 0: -3 12: 1 12: -64 0: 0 2: -1 4: -2 5: -4 5: -6 4: -7 1: -7 -5: -6 -8: -4 -9: -2 -9: -1 -8: 0 -6: -64 0: -4 5: -5 4: -6 1: -6 -5: -5 -8: -4 -9: -64 0: 5 5: 6 4: 7 1: 7 -5: 6 -8: 5 -9: -64 0: 1 2: 2 4: 3 5: 5 5: 7 4: 8 1: 8 -5: 7 -8: 5 -9: 3 -9: 2 -8: 1 -6: -64 0: -3 -16: 4 -16:-64 -64 2922: -10 10: -6 5: 5 -9: -64 0: -5 5: 6 -9: -64 0: 6 5: -6 -9: -64 0: -8 5: -2 5: -64 0: 2 5: 8 5: -64 0: -8 -9: -2 -9: -64 0: 2 -9: 8 -9:-64 -64 2923: -11 11: -6 5: -6 -9: -64 0: -5 5: -5 -9: -64 0: 5 5: 5 -9: -64 0: 6 5: 6 -9: -64 0: -9 5: -2 5: -64 0: 2 5: 9 5: -64 0: -9 -9: 9 -9: 9 -14: 8 -9:-64 -64 2924: -11 11: -6 5: -6 -2: -5 -4: -2 -5: 0 -5: 3 -4: 5 -2: -64 0: -5 5: -5 -2: -4 -4: -2 -5: -64 0: 5 5: 5 -9: -64 0: 6 5: 6 -9: -64 0: -9 5: -2 5: -64 0: 2 5: 9 5: -64 0: 2 -9: 9 -9:-64 -64 2925: -15 16: -10 5: -10 -9: -64 0: -9 5: -9 -9: -64 0: 0 5: 0 -9: -64 0: 1 5: 1 -9: -64 0: 10 5: 10 -9: -64 0: 11 5: 11 -9: -64 0: -13 5: -6 5: -64 0: -3 5: 4 5: -64 0: 7 5: 14 5: -64 0: -13 -9: 14 -9:-64 -64 2926: -15 16: -10 5: -10 -9: -64 0: -9 5: -9 -9: -64 0: 0 5: 0 -9: -64 0: 1 5: 1 -9: -64 0: 10 5: 10 -9: -64 0: 11 5: 11 -9: -64 0: -13 5: -6 5: -64 0: -3 5: 4 5: -64 0: 7 5: 14 5: -64 0: -13 -9: 14 -9: 14 -14: 13 -9:-64 -64 2927: -10 11: -1 5: -1 -9: -64 0: 0 5: 0 -9: -64 0: -6 5: -7 0: -7 5: 3 5: -64 0: 0 -2: 4 -2: 7 -3: 8 -5: 8 -6: 7 -8: 4 -9: -4 -9: -64 0: 4 -2: 6 -3: 7 -5: 7 -6: 6 -8: 4 -9:-64 -64 2928: -13 13: -8 5: -8 -9: -64 0: -7 5: -7 -9: -64 0: -11 5: -4 5: -64 0: -7 -2: -3 -2: 0 -3: 1 -5: 1 -6: 0 -8: -3 -9: -11 -9: -64 0: -3 -2: -1 -3: 0 -5: 0 -6: -1 -8: -3 -9: -64 0: 7 5: 7 -9: -64 0: 8 5: 8 -9: -64 0: 4 5: 11 5: -64 0: 4 -9: 11 -9:-64 -64 2929: -8 9: -3 5: -3 -9: -64 0: -2 5: -2 -9: -64 0: -6 5: 1 5: -64 0: -2 -2: 2 -2: 5 -3: 6 -5: 6 -6: 5 -8: 2 -9: -6 -9: -64 0: 2 -2: 4 -3: 5 -5: 5 -6: 4 -8: 2 -9:-64 -64 2930: -9 10: -5 3: -6 5: -6 1: -5 3: -4 4: -2 5: 1 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -2 -9: -4 -8: -6 -6: -6 -5: -5 -4: -4 -5: -5 -6: -64 0: 1 5: 3 4: 5 2: 6 -1: 6 -3: 5 -6: 3 -8: 1 -9: -64 0: 0 -2: 6 -2:-64 -64 2931: -14 15: -9 5: -9 -9: -64 0: -8 5: -8 -9: -64 0: -12 5: -5 5: -64 0: -12 -9: -5 -9: -64 0: 4 5: 1 4: -1 2: -2 -1: -2 -3: -1 -6: 1 -8: 4 -9: 6 -9: 9 -8: 11 -6: 12 -3: 12 -1: 11 2: 9 4: 6 5: 4 5: -64 0: 4 5: 2 4: 0 2: -1 -1: -1 -3: 0 -6: 2 -8: 4 -9: -64 0: 6 -9: 8 -8: 10 -6: 11 -3: 11 -1: 10 2: 8 4: 6 5: -64 0: -8 -2: -2 -2:-64 -64 2932: -11 10: 4 5: 4 -9: -64 0: 5 5: 5 -9: -64 0: 8 5: -3 5: -6 4: -7 2: -7 1: -6 -1: -3 -2: 4 -2: -64 0: -3 5: -5 4: -6 2: -6 1: -5 -1: -3 -2: -64 0: 2 -2: -1 -3: -2 -4: -4 -8: -5 -9: -64 0: 2 -2: 0 -3: -1 -4: -3 -8: -4 -9: -6 -9: -7 -8: -8 -6: -64 0: 1 -9: 8 -9:-64 -64 3001: -10 10: 0 12: -7 -8: -64 0: -1 9: 5 -9: -64 0: 0 9: 6 -9: -64 0: 0 12: 7 -9: -64 0: -5 -3: 4 -3: -64 0: -9 -9: -3 -9: -64 0: 2 -9: 9 -9: -64 0: -7 -8: -8 -9: -64 0: -7 -8: -5 -9: -64 0: 5 -8: 3 -9: -64 0: 5 -7: 4 -9: -64 0: 6 -7: 8 -9:-64 -64 3002: -11 11: -6 12: -6 -9: -64 0: -5 11: -5 -8: -64 0: -4 12: -4 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 6: 7 4: 6 3: 3 2: -64 0: 6 10: 7 8: 7 6: 6 4: -64 0: 3 12: 5 11: 6 9: 6 5: 5 3: 3 2: -64 0: -4 2: 3 2: 6 1: 7 0: 8 -2: 8 -5: 7 -7: 6 -8: 3 -9: -9 -9: -64 0: 6 0: 7 -2: 7 -5: 6 -7: -64 0: 3 2: 5 1: 6 -1: 6 -6: 5 -8: 3 -9: -64 0: -8 12: -6 11: -64 0: -7 12: -6 10: -64 0: -3 12: -4 10: -64 0: -2 12: -4 11: -64 0: -6 -8: -8 -9: -64 0: -6 -7: -7 -9: -64 0: -4 -7: -3 -9: -64 0: -4 -8: -2 -9:-64 -64 3003: -11 10: 6 9: 7 12: 7 6: 6 9: 4 11: 2 12: -1 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -1 -9: 2 -9: 4 -8: 6 -6: 7 -4: -64 0: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -64 0: -1 12: -3 11: -5 8: -6 4: -6 -1: -5 -5: -3 -8: -1 -9:-64 -64 3004: -11 11: -6 12: -6 -9: -64 0: -5 11: -5 -8: -64 0: -4 12: -4 -9: -64 0: -9 12: 1 12: 4 11: 6 9: 7 7: 8 4: 8 -1: 7 -4: 6 -6: 4 -8: 1 -9: -9 -9: -64 0: 5 9: 6 7: 7 4: 7 -1: 6 -4: 5 -6: -64 0: 1 12: 3 11: 5 8: 6 4: 6 -1: 5 -5: 3 -8: 1 -9: -64 0: -8 12: -6 11: -64 0: -7 12: -6 10: -64 0: -3 12: -4 10: -64 0: -2 12: -4 11: -64 0: -6 -8: -8 -9: -64 0: -6 -7: -7 -9: -64 0: -4 -7: -3 -9: -64 0: -4 -8: -2 -9:-64 -64 3005: -11 10: -6 12: -6 -9: -64 0: -5 11: -5 -8: -64 0: -4 12: -4 -9: -64 0: -9 12: 7 12: 7 6: -64 0: -4 2: 2 2: -64 0: 2 6: 2 -2: -64 0: -9 -9: 7 -9: 7 -3: -64 0: -8 12: -6 11: -64 0: -7 12: -6 10: -64 0: -3 12: -4 10: -64 0: -2 12: -4 11: -64 0: 2 12: 7 11: -64 0: 4 12: 7 10: -64 0: 5 12: 7 9: -64 0: 6 12: 7 6: -64 0: 2 6: 1 2: 2 -2: -64 0: 2 4: 0 2: 2 0: -64 0: 2 3: -2 2: 2 1: -64 0: -6 -8: -8 -9: -64 0: -6 -7: -7 -9: -64 0: -4 -7: -3 -9: -64 0: -4 -8: -2 -9: -64 0: 2 -9: 7 -8: -64 0: 4 -9: 7 -7: -64 0: 5 -9: 7 -6: -64 0: 6 -9: 7 -3:-64 -64 3006: -11 9: -6 12: -6 -9: -64 0: -5 11: -5 -8: -64 0: -4 12: -4 -9: -64 0: -9 12: 7 12: 7 6: -64 0: -4 2: 2 2: -64 0: 2 6: 2 -2: -64 0: -9 -9: -1 -9: -64 0: -8 12: -6 11: -64 0: -7 12: -6 10: -64 0: -3 12: -4 10: -64 0: -2 12: -4 11: -64 0: 2 12: 7 11: -64 0: 4 12: 7 10: -64 0: 5 12: 7 9: -64 0: 6 12: 7 6: -64 0: 2 6: 1 2: 2 -2: -64 0: 2 4: 0 2: 2 0: -64 0: 2 3: -2 2: 2 1: -64 0: -6 -8: -8 -9: -64 0: -6 -7: -7 -9: -64 0: -4 -7: -3 -9: -64 0: -4 -8: -2 -9:-64 -64 3007: -11 12: 6 9: 7 12: 7 6: 6 9: 4 11: 2 12: -1 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -1 -9: 2 -9: 4 -8: 6 -8: 7 -9: 7 -1: -64 0: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -64 0: -1 12: -3 11: -5 8: -6 4: -6 -1: -5 -5: -3 -8: -1 -9: -64 0: 6 -2: 6 -7: -64 0: 5 -1: 5 -7: 4 -8: -64 0: 2 -1: 10 -1: -64 0: 3 -1: 5 -2: -64 0: 4 -1: 5 -3: -64 0: 8 -1: 7 -3: -64 0: 9 -1: 7 -2:-64 -64 3008: -12 12: -7 12: -7 -9: -64 0: -6 11: -6 -8: -64 0: -5 12: -5 -9: -64 0: 5 12: 5 -9: -64 0: 6 11: 6 -8: -64 0: 7 12: 7 -9: -64 0: -10 12: -2 12: -64 0: 2 12: 10 12: -64 0: -5 2: 5 2: -64 0: -10 -9: -2 -9: -64 0: 2 -9: 10 -9: -64 0: -9 12: -7 11: -64 0: -8 12: -7 10: -64 0: -4 12: -5 10: -64 0: -3 12: -5 11: -64 0: 3 12: 5 11: -64 0: 4 12: 5 10: -64 0: 8 12: 7 10: -64 0: 9 12: 7 11: -64 0: -7 -8: -9 -9: -64 0: -7 -7: -8 -9: -64 0: -5 -7: -4 -9: -64 0: -5 -8: -3 -9: -64 0: 5 -8: 3 -9: -64 0: 5 -7: 4 -9: -64 0: 7 -7: 8 -9: -64 0: 7 -8: 9 -9:-64 -64 3009: -6 6: -1 12: -1 -9: -64 0: 0 11: 0 -8: -64 0: 1 12: 1 -9: -64 0: -4 12: 4 12: -64 0: -4 -9: 4 -9: -64 0: -3 12: -1 11: -64 0: -2 12: -1 10: -64 0: 2 12: 1 10: -64 0: 3 12: 1 11: -64 0: -1 -8: -3 -9: -64 0: -1 -7: -2 -9: -64 0: 1 -7: 2 -9: -64 0: 1 -8: 3 -9:-64 -64 3010: -8 -8: 1 12: 1 -5: 0 -8: -1 -9: -64 0: 2 11: 2 -5: 1 -8: -64 0: 3 12: 3 -5: 2 -8: -1 -9: -3 -9: -5 -8: -6 -6: -6 -4: -5 -3: -4 -3: -3 -4: -3 -5: -4 -6: -5 -6: -64 0: -5 -4: -5 -5: -4 -5: -4 -4: -5 -4: -64 0: -2 12: 6 12: -64 0: -1 12: 1 11: -64 0: 0 12: 1 10: -64 0: 4 12: 3 10: -64 0: 5 12: 3 11:-64 -64 3011: -12 10: -7 12: -7 -9: -64 0: -6 11: -6 -8: -64 0: -5 12: -5 -9: -64 0: 6 11: -5 0: -64 0: -2 2: 5 -9: -64 0: -1 2: 6 -9: -64 0: -1 4: 7 -9: -64 0: -10 12: -2 12: -64 0: 3 12: 9 12: -64 0: -10 -9: -2 -9: -64 0: 2 -9: 9 -9: -64 0: -9 12: -7 11: -64 0: -8 12: -7 10: -64 0: -4 12: -5 10: -64 0: -3 12: -5 11: -64 0: 5 12: 6 11: -64 0: 8 12: 6 11: -64 0: -7 -8: -9 -9: -64 0: -7 -7: -8 -9: -64 0: -5 -7: -4 -9: -64 0: -5 -8: -3 -9: -64 0: 5 -7: 3 -9: -64 0: 5 -7: 8 -9:-64 -64 3012: -9 9: -4 12: -4 -9: -64 0: -3 11: -3 -8: -64 0: -2 12: -2 -9: -64 0: -7 12: 1 12: -64 0: -7 -9: 8 -9: 8 -3: -64 0: -6 12: -4 11: -64 0: -5 12: -4 10: -64 0: -1 12: -2 10: -64 0: 0 12: -2 11: -64 0: -4 -8: -6 -9: -64 0: -4 -7: -5 -9: -64 0: -2 -7: -1 -9: -64 0: -2 -8: 0 -9: -64 0: 3 -9: 8 -8: -64 0: 5 -9: 8 -7: -64 0: 6 -9: 8 -6: -64 0: 7 -9: 8 -3:-64 -64 3013: -13 13: -8 12: -8 -8: -64 0: -8 12: -1 -9: -64 0: -7 12: -1 -6: -64 0: -6 12: 0 -6: -64 0: 6 12: -1 -9: -64 0: 6 12: 6 -9: -64 0: 7 11: 7 -8: -64 0: 8 12: 8 -9: -64 0: -11 12: -6 12: -64 0: 6 12: 11 12: -64 0: -11 -9: -5 -9: -64 0: 3 -9: 11 -9: -64 0: -10 12: -8 11: -64 0: 9 12: 8 10: -64 0: 10 12: 8 11: -64 0: -8 -8: -10 -9: -64 0: -8 -8: -6 -9: -64 0: 6 -8: 4 -9: -64 0: 6 -7: 5 -9: -64 0: 8 -7: 9 -9: -64 0: 8 -8: 10 -9:-64 -64 3014: -12 12: -7 12: -7 -8: -64 0: -7 12: 7 -9: -64 0: -6 12: 6 -6: -64 0: -5 12: 7 -6: -64 0: 7 11: 7 -9: -64 0: -10 12: -5 12: -64 0: 4 12: 10 12: -64 0: -10 -9: -4 -9: -64 0: -9 12: -7 11: -64 0: 5 12: 7 11: -64 0: 9 12: 7 11: -64 0: -7 -8: -9 -9: -64 0: -7 -8: -5 -9:-64 -64 3015: -11 11: -1 12: -4 11: -6 9: -7 7: -8 3: -8 0: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -4: 8 0: 8 3: 7 7: 6 9: 4 11: 1 12: -1 12: -64 0: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -64 0: 5 -6: 6 -4: 7 -1: 7 4: 6 7: 5 9: -64 0: -1 12: -3 11: -5 8: -6 4: -6 -1: -5 -5: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -5: 6 -1: 6 4: 5 8: 3 11: 1 12:-64 -64 3016: -11 11: -6 12: -6 -9: -64 0: -5 11: -5 -8: -64 0: -4 12: -4 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 5: 7 3: 6 2: 3 1: -4 1: -64 0: 6 10: 7 8: 7 5: 6 3: -64 0: 3 12: 5 11: 6 9: 6 4: 5 2: 3 1: -64 0: -9 -9: -1 -9: -64 0: -8 12: -6 11: -64 0: -7 12: -6 10: -64 0: -3 12: -4 10: -64 0: -2 12: -4 11: -64 0: -6 -8: -8 -9: -64 0: -6 -7: -7 -9: -64 0: -4 -7: -3 -9: -64 0: -4 -8: -2 -9:-64 -64 3017: -11 11: -1 12: -4 11: -6 9: -7 7: -8 3: -8 0: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -4: 8 0: 8 3: 7 7: 6 9: 4 11: 1 12: -1 12: -64 0: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -64 0: 5 -6: 6 -4: 7 -1: 7 4: 6 7: 5 9: -64 0: -1 12: -3 11: -5 8: -6 4: -6 -1: -5 -5: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -5: 6 -1: 6 4: 5 8: 3 11: 1 12: -64 0: -4 -6: -3 -4: -1 -3: 0 -3: 2 -4: 3 -6: 4 -12: 5 -14: 7 -14: 8 -12: 8 -10: -64 0: 4 -10: 5 -12: 6 -13: 7 -13: -64 0: 3 -6: 5 -11: 6 -12: 7 -12: 8 -11:-64 -64 3018: -11 11: -6 12: -6 -9: -64 0: -5 11: -5 -8: -64 0: -4 12: -4 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 6: 7 4: 6 3: 3 2: -4 2: -64 0: 6 10: 7 8: 7 6: 6 4: -64 0: 3 12: 5 11: 6 9: 6 5: 5 3: 3 2: -64 0: 0 2: 2 1: 3 -1: 5 -7: 6 -9: 8 -9: 9 -7: 9 -5: -64 0: 5 -5: 6 -7: 7 -8: 8 -8: -64 0: 2 1: 3 0: 6 -6: 7 -7: 8 -7: 9 -6: -64 0: -9 -9: -1 -9: -64 0: -8 12: -6 11: -64 0: -7 12: -6 10: -64 0: -3 12: -4 10: -64 0: -2 12: -4 11: -64 0: -6 -8: -8 -9: -64 0: -6 -7: -7 -9: -64 0: -4 -7: -3 -9: -64 0: -4 -8: -2 -9:-64 -64 3019: -10 10: 6 9: 7 12: 7 6: 6 9: 4 11: 1 12: -2 12: -5 11: -7 9: -7 6: -6 4: -3 2: 3 0: 5 -1: 6 -3: 6 -6: 5 -8: -64 0: -6 6: -5 4: -3 3: 3 1: 5 0: 6 -2: -64 0: -5 11: -6 9: -6 7: -5 5: -3 4: 3 2: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -1 -9: -4 -8: -6 -6: -7 -3: -7 -9: -6 -6:-64 -64 3020: -10 10: -8 12: -8 6: -64 0: -1 12: -1 -9: -64 0: 0 11: 0 -8: -64 0: 1 12: 1 -9: -64 0: 8 12: 8 6: -64 0: -8 12: 8 12: -64 0: -4 -9: 4 -9: -64 0: -7 12: -8 6: -64 0: -6 12: -8 9: -64 0: -5 12: -8 10: -64 0: -3 12: -8 11: -64 0: 3 12: 8 11: -64 0: 5 12: 8 10: -64 0: 6 12: 8 9: -64 0: 7 12: 8 6: -64 0: -1 -8: -3 -9: -64 0: -1 -7: -2 -9: -64 0: 1 -7: 2 -9: -64 0: 1 -8: 3 -9:-64 -64 3021: -12 12: -7 12: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 11: -64 0: -6 11: -6 -4: -5 -6: -64 0: -5 12: -5 -4: -4 -7: -3 -8: -1 -9: -64 0: -10 12: -2 12: -64 0: 4 12: 10 12: -64 0: -9 12: -7 11: -64 0: -8 12: -7 10: -64 0: -4 12: -5 10: -64 0: -3 12: -5 11: -64 0: 5 12: 7 11: -64 0: 9 12: 7 11:-64 -64 3022: -10 10: -7 12: 0 -9: -64 0: -6 12: 0 -6: 0 -9: -64 0: -5 12: 1 -6: -64 0: 7 11: 0 -9: -64 0: -9 12: -2 12: -64 0: 3 12: 9 12: -64 0: -8 12: -6 10: -64 0: -4 12: -5 10: -64 0: -3 12: -5 11: -64 0: 5 12: 7 11: -64 0: 8 12: 7 11:-64 -64 3023: -12 12: -8 12: -4 -9: -64 0: -7 12: -4 -4: -4 -9: -64 0: -6 12: -3 -4: -64 0: 0 12: -3 -4: -4 -9: -64 0: 0 12: 4 -9: -64 0: 1 12: 4 -4: 4 -9: -64 0: 2 12: 5 -4: -64 0: 8 11: 5 -4: 4 -9: -64 0: -11 12: -3 12: -64 0: 0 12: 2 12: -64 0: 5 12: 11 12: -64 0: -10 12: -7 11: -64 0: -9 12: -7 10: -64 0: -5 12: -6 10: -64 0: -4 12: -6 11: -64 0: 6 12: 8 11: -64 0: 10 12: 8 11:-64 -64 3024: -10 10: -7 12: 5 -9: -64 0: -6 12: 6 -9: -64 0: -5 12: 7 -9: -64 0: 6 11: -6 -8: -64 0: -9 12: -2 12: -64 0: 3 12: 9 12: -64 0: -9 -9: -3 -9: -64 0: 2 -9: 9 -9: -64 0: -8 12: -5 10: -64 0: -4 12: -5 10: -64 0: -3 12: -5 11: -64 0: 4 12: 6 11: -64 0: 8 12: 6 11: -64 0: -6 -8: -8 -9: -64 0: -6 -8: -4 -9: -64 0: 5 -8: 3 -9: -64 0: 5 -7: 4 -9: -64 0: 5 -7: 8 -9:-64 -64 3025: -11 11: -8 12: -1 1: -1 -9: -64 0: -7 12: 0 1: 0 -8: -64 0: -6 12: 1 1: 1 -9: -64 0: 7 11: 1 1: -64 0: -10 12: -3 12: -64 0: 4 12: 10 12: -64 0: -4 -9: 4 -9: -64 0: -9 12: -7 11: -64 0: -4 12: -6 11: -64 0: 5 12: 7 11: -64 0: 9 12: 7 11: -64 0: -1 -8: -3 -9: -64 0: -1 -7: -2 -9: -64 0: 1 -7: 2 -9: -64 0: 1 -8: 3 -9:-64 -64 3026: -10 10: 7 12: -7 12: -7 6: -64 0: 5 12: -7 -9: -64 0: 6 12: -6 -9: -64 0: 7 12: -5 -9: -64 0: -7 -9: 7 -9: 7 -3: -64 0: -6 12: -7 6: -64 0: -5 12: -7 9: -64 0: -4 12: -7 10: -64 0: -2 12: -7 11: -64 0: 2 -9: 7 -8: -64 0: 4 -9: 7 -7: -64 0: 5 -9: 7 -6: -64 0: 6 -9: 7 -3:-64 -64 3051: -10 10: 3 12: -9 -8: -64 0: 1 8: 2 -9: -64 0: 2 10: 3 -8: -64 0: 3 12: 3 10: 4 -7: 4 -9: -64 0: -6 -3: 2 -3: -64 0: -12 -9: -6 -9: -64 0: -1 -9: 6 -9: -64 0: -9 -8: -11 -9: -64 0: -9 -8: -7 -9: -64 0: 2 -8: 0 -9: -64 0: 2 -7: 1 -9: -64 0: 4 -7: 5 -9:-64 -64 3052: -12 12: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -1 12: -7 -9: -64 0: -6 12: 5 12: 8 11: 9 9: 9 7: 8 4: 7 3: 4 2: -64 0: 7 11: 8 9: 8 7: 7 4: 6 3: -64 0: 5 12: 6 11: 7 9: 7 7: 6 4: 4 2: -64 0: -4 2: 4 2: 6 1: 7 -1: 7 -3: 6 -6: 4 -8: 0 -9: -12 -9: -64 0: 5 1: 6 -1: 6 -3: 5 -6: 3 -8: -64 0: 4 2: 5 0: 5 -3: 4 -6: 2 -8: 0 -9: -64 0: -5 12: -2 11: -64 0: -4 12: -3 10: -64 0: 0 12: -2 10: -64 0: 1 12: -2 11: -64 0: -8 -8: -11 -9: -64 0: -8 -7: -10 -9: -64 0: -7 -7: -6 -9: -64 0: -8 -8: -5 -9:-64 -64 3053: -10 11: 8 10: 9 10: 10 12: 9 6: 9 8: 8 10: 7 11: 5 12: 2 12: -1 11: -3 9: -5 6: -6 3: -7 -1: -7 -4: -6 -7: -5 -8: -2 -9: 1 -9: 3 -8: 5 -6: 6 -4: -64 0: -1 10: -3 8: -4 6: -5 3: -6 -1: -6 -5: -5 -7: -64 0: 2 12: 0 11: -2 8: -3 6: -4 3: -5 -1: -5 -6: -4 -8: -2 -9:-64 -64 3054: -12 11: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -1 12: -7 -9: -64 0: -6 12: 3 12: 6 11: 7 10: 8 7: 8 3: 7 -1: 5 -5: 3 -7: 1 -8: -3 -9: -12 -9: -64 0: 5 11: 6 10: 7 7: 7 3: 6 -1: 4 -5: 2 -7: -64 0: 3 12: 5 10: 6 7: 6 3: 5 -1: 3 -5: 0 -8: -3 -9: -64 0: -5 12: -2 11: -64 0: -4 12: -3 10: -64 0: 0 12: -2 10: -64 0: 1 12: -2 11: -64 0: -8 -8: -11 -9: -64 0: -8 -7: -10 -9: -64 0: -7 -7: -6 -9: -64 0: -8 -8: -5 -9:-64 -64 3055: -12 11: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -1 12: -7 -9: -64 0: 3 6: 1 -2: -64 0: -6 12: 9 12: 8 6: -64 0: -4 2: 2 2: -64 0: -12 -9: 3 -9: 5 -4: -64 0: -5 12: -2 11: -64 0: -4 12: -3 10: -64 0: 0 12: -2 10: -64 0: 1 12: -2 11: -64 0: 5 12: 8 11: -64 0: 6 12: 8 10: -64 0: 7 12: 8 9: -64 0: 8 12: 8 6: -64 0: 3 6: 1 2: 1 -2: -64 0: 2 4: 0 2: 1 0: -64 0: 2 3: -1 2: 1 1: -64 0: -8 -8: -11 -9: -64 0: -8 -7: -10 -9: -64 0: -7 -7: -6 -9: -64 0: -8 -8: -5 -9: -64 0: -2 -9: 3 -8: -64 0: 0 -9: 3 -7: -64 0: 3 -7: 5 -4:-64 -64 3056: -12 10: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -1 12: -7 -9: -64 0: 3 6: 1 -2: -64 0: -6 12: 9 12: 8 6: -64 0: -4 2: 2 2: -64 0: -12 -9: -4 -9: -64 0: -5 12: -2 11: -64 0: -4 12: -3 10: -64 0: 0 12: -2 10: -64 0: 1 12: -2 11: -64 0: 5 12: 8 11: -64 0: 6 12: 8 10: -64 0: 7 12: 8 9: -64 0: 8 12: 8 6: -64 0: 3 6: 1 2: 1 -2: -64 0: 2 4: 0 2: 1 0: -64 0: 2 3: -1 2: 1 1: -64 0: -8 -8: -11 -9: -64 0: -8 -7: -10 -9: -64 0: -7 -7: -6 -9: -64 0: -8 -8: -5 -9:-64 -64 3057: -10 12: 8 10: 9 10: 10 12: 9 6: 9 8: 8 10: 7 11: 5 12: 2 12: -1 11: -3 9: -5 6: -6 3: -7 -1: -7 -4: -6 -7: -5 -8: -2 -9: 0 -9: 3 -8: 5 -6: 7 -2: -64 0: -1 10: -3 8: -4 6: -5 3: -6 -1: -6 -5: -5 -7: -64 0: 4 -6: 5 -5: 6 -2: -64 0: 2 12: 0 11: -2 8: -3 6: -4 3: -5 -1: -5 -6: -4 -8: -2 -9: -64 0: 0 -9: 2 -8: 4 -5: 5 -2: -64 0: 2 -2: 10 -2: -64 0: 3 -2: 5 -3: -64 0: 4 -2: 5 -5: -64 0: 8 -2: 6 -4: -64 0: 9 -2: 6 -3:-64 -64 3058: -13 13: -4 12: -10 -9: -64 0: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: 8 12: 2 -9: -64 0: 9 12: 3 -9: -64 0: 10 12: 4 -9: -64 0: -7 12: 1 12: -64 0: 5 12: 13 12: -64 0: -6 2: 6 2: -64 0: -13 -9: -5 -9: -64 0: -1 -9: 7 -9: -64 0: -6 12: -3 11: -64 0: -5 12: -4 10: -64 0: -1 12: -3 10: -64 0: 0 12: -3 11: -64 0: 6 12: 9 11: -64 0: 7 12: 8 10: -64 0: 11 12: 9 10: -64 0: 12 12: 9 11: -64 0: -9 -8: -12 -9: -64 0: -9 -7: -11 -9: -64 0: -8 -7: -7 -9: -64 0: -9 -8: -6 -9: -64 0: 3 -8: 0 -9: -64 0: 3 -7: 1 -9: -64 0: 4 -7: 5 -9: -64 0: 3 -8: 6 -9:-64 -64 3059: -7 7: 2 12: -4 -9: -64 0: 3 12: -3 -9: -64 0: 4 12: -2 -9: -64 0: -1 12: 7 12: -64 0: -7 -9: 1 -9: -64 0: 0 12: 3 11: -64 0: 1 12: 2 10: -64 0: 5 12: 3 10: -64 0: 6 12: 3 11: -64 0: -3 -8: -6 -9: -64 0: -3 -7: -5 -9: -64 0: -2 -7: -1 -9: -64 0: -3 -8: 0 -9:-64 -64 3060: -9 10: 5 12: 0 -5: -1 -7: -3 -9: -64 0: 6 12: 2 -1: 1 -4: 0 -6: -64 0: 7 12: 3 -1: 1 -6: -1 -8: -3 -9: -5 -9: -7 -8: -8 -6: -8 -4: -7 -3: -6 -3: -5 -4: -5 -5: -6 -6: -7 -6: -64 0: -7 -4: -7 -5: -6 -5: -6 -4: -7 -4: -64 0: 2 12: 10 12: -64 0: 3 12: 6 11: -64 0: 4 12: 5 10: -64 0: 8 12: 6 10: -64 0: 9 12: 6 11:-64 -64 3061: -12 11: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -1 12: -7 -9: -64 0: 10 11: -5 0: -64 0: -1 3: 3 -9: -64 0: 0 3: 4 -9: -64 0: 1 4: 5 -8: -64 0: -6 12: 2 12: -64 0: 7 12: 13 12: -64 0: -12 -9: -4 -9: -64 0: 0 -9: 7 -9: -64 0: -5 12: -2 11: -64 0: -4 12: -3 10: -64 0: 0 12: -2 10: -64 0: 1 12: -2 11: -64 0: 8 12: 10 11: -64 0: 12 12: 10 11: -64 0: -8 -8: -11 -9: -64 0: -8 -7: -10 -9: -64 0: -7 -7: -6 -9: -64 0: -8 -8: -5 -9: -64 0: 3 -8: 1 -9: -64 0: 3 -7: 2 -9: -64 0: 4 -7: 6 -9:-64 -64 3062: -10 10: -1 12: -7 -9: -64 0: 0 12: -6 -9: -64 0: 1 12: -5 -9: -64 0: -4 12: 4 12: -64 0: -10 -9: 5 -9: 7 -3: -64 0: -3 12: 0 11: -64 0: -2 12: -1 10: -64 0: 2 12: 0 10: -64 0: 3 12: 0 11: -64 0: -6 -8: -9 -9: -64 0: -6 -7: -8 -9: -64 0: -5 -7: -4 -9: -64 0: -6 -8: -3 -9: -64 0: 0 -9: 5 -8: -64 0: 2 -9: 6 -6: -64 0: 4 -9: 7 -3:-64 -64 3063: -14 14: -5 12: -11 -8: -64 0: -5 11: -4 -7: -4 -9: -64 0: -4 12: -3 -7: -64 0: -3 12: -2 -6: -64 0: 9 12: -2 -6: -4 -9: -64 0: 9 12: 3 -9: -64 0: 10 12: 4 -9: -64 0: 11 12: 5 -9: -64 0: -8 12: -3 12: -64 0: 9 12: 14 12: -64 0: -14 -9: -8 -9: -64 0: 0 -9: 8 -9: -64 0: -7 12: -5 11: -64 0: -6 12: -5 10: -64 0: 12 12: 10 10: -64 0: 13 12: 10 11: -64 0: -11 -8: -13 -9: -64 0: -11 -8: -9 -9: -64 0: 4 -8: 1 -9: -64 0: 4 -7: 2 -9: -64 0: 5 -7: 6 -9: -64 0: 4 -8: 7 -9:-64 -64 3064: -12 13: -3 12: -9 -8: -64 0: -3 12: 4 -9: -64 0: -2 12: 4 -6: -64 0: -1 12: 5 -6: -64 0: 10 11: 5 -6: 4 -9: -64 0: -6 12: -1 12: -64 0: 7 12: 13 12: -64 0: -12 -9: -6 -9: -64 0: -5 12: -2 11: -64 0: -4 12: -2 10: -64 0: 8 12: 10 11: -64 0: 12 12: 10 11: -64 0: -9 -8: -11 -9: -64 0: -9 -8: -7 -9:-64 -64 3065: -11 11: 1 12: -2 11: -4 9: -6 6: -7 3: -8 -1: -8 -4: -7 -7: -6 -8: -4 -9: -1 -9: 2 -8: 4 -6: 6 -3: 7 0: 8 4: 8 7: 7 10: 6 11: 4 12: 1 12: -64 0: -3 9: -5 6: -6 3: -7 -1: -7 -5: -6 -7: -64 0: 3 -6: 5 -3: 6 0: 7 4: 7 8: 6 10: -64 0: 1 12: -1 11: -3 8: -4 6: -5 3: -6 -1: -6 -6: -5 -8: -4 -9: -64 0: -1 -9: 1 -8: 3 -5: 4 -3: 5 0: 6 4: 6 9: 5 11: 4 12:-64 -64 3066: -12 11: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -1 12: -7 -9: -64 0: -6 12: 6 12: 9 11: 10 9: 10 7: 9 4: 7 2: 3 1: -5 1: -64 0: 8 11: 9 9: 9 7: 8 4: 6 2: -64 0: 6 12: 7 11: 8 9: 8 7: 7 4: 5 2: 3 1: -64 0: -12 -9: -4 -9: -64 0: -5 12: -2 11: -64 0: -4 12: -3 10: -64 0: 0 12: -2 10: -64 0: 1 12: -2 11: -64 0: -8 -8: -11 -9: -64 0: -8 -7: -10 -9: -64 0: -7 -7: -6 -9: -64 0: -8 -8: -5 -9:-64 -64 3067: -11 11: 1 12: -2 11: -4 9: -6 6: -7 3: -8 -1: -8 -4: -7 -7: -6 -8: -4 -9: -1 -9: 2 -8: 4 -6: 6 -3: 7 0: 8 4: 8 7: 7 10: 6 11: 4 12: 1 12: -64 0: -3 9: -5 6: -6 3: -7 -1: -7 -5: -6 -7: -64 0: 3 -6: 5 -3: 6 0: 7 4: 7 8: 6 10: -64 0: 1 12: -1 11: -3 8: -4 6: -5 3: -6 -1: -6 -6: -5 -8: -4 -9: -64 0: -1 -9: 1 -8: 3 -5: 4 -3: 5 0: 6 4: 6 9: 5 11: 4 12: -64 0: -6 -6: -5 -4: -3 -3: -2 -3: 0 -4: 1 -6: 2 -11: 3 -12: 4 -12: 5 -11: -64 0: 2 -12: 3 -13: 4 -13: -64 0: 1 -6: 1 -13: 2 -14: 4 -14: 5 -11: 5 -10:-64 -64 3068: -12 12: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -1 12: -7 -9: -64 0: -6 12: 5 12: 8 11: 9 9: 9 7: 8 4: 7 3: 4 2: -4 2: -64 0: 7 11: 8 9: 8 7: 7 4: 6 3: -64 0: 5 12: 6 11: 7 9: 7 7: 6 4: 4 2: -64 0: 0 2: 2 1: 3 0: 5 -6: 6 -7: 7 -7: 8 -6: -64 0: 5 -7: 6 -8: 7 -8: -64 0: 3 0: 4 -8: 5 -9: 7 -9: 8 -6: 8 -5: -64 0: -12 -9: -4 -9: -64 0: -5 12: -2 11: -64 0: -4 12: -3 10: -64 0: 0 12: -2 10: -64 0: 1 12: -2 11: -64 0: -8 -8: -11 -9: -64 0: -8 -7: -10 -9: -64 0: -7 -7: -6 -9: -64 0: -8 -8: -5 -9:-64 -64 3069: -11 12: 8 10: 9 10: 10 12: 9 6: 9 8: 8 10: 7 11: 4 12: 0 12: -3 11: -5 9: -5 6: -4 4: -2 2: 4 -1: 5 -3: 5 -6: 4 -8: -64 0: -4 6: -3 4: 4 0: 5 -2: -64 0: -3 11: -4 9: -4 7: -3 5: 3 2: 5 0: 6 -2: 6 -5: 5 -7: 4 -8: 1 -9: -3 -9: -6 -8: -7 -7: -8 -5: -8 -3: -9 -9: -8 -7: -7 -7:-64 -64 3070: -11 11: 2 12: -4 -9: -64 0: 3 12: -3 -9: -64 0: 4 12: -2 -9: -64 0: -5 12: -7 6: -64 0: 11 12: 10 6: -64 0: -5 12: 11 12: -64 0: -7 -9: 1 -9: -64 0: -4 12: -7 6: -64 0: -2 12: -6 9: -64 0: 0 12: -5 11: -64 0: 7 12: 10 11: -64 0: 8 12: 10 10: -64 0: 9 12: 10 9: -64 0: 10 12: 10 6: -64 0: -3 -8: -6 -9: -64 0: -3 -7: -5 -9: -64 0: -2 -7: -1 -9: -64 0: -3 -8: 0 -9:-64 -64 3071: -12 13: -4 12: -7 1: -8 -3: -8 -6: -7 -8: -4 -9: 0 -9: 3 -8: 5 -6: 6 -3: 10 11: -64 0: -3 12: -6 1: -7 -3: -7 -7: -6 -8: -64 0: -2 12: -5 1: -6 -3: -6 -7: -4 -9: -64 0: -7 12: 1 12: -64 0: 7 12: 13 12: -64 0: -6 12: -3 11: -64 0: -5 12: -4 10: -64 0: -1 12: -3 10: -64 0: 0 12: -3 11: -64 0: 8 12: 10 11: -64 0: 12 12: 10 11:-64 -64 3072: -10 10: -4 12: -4 10: -3 -7: -3 -9: -64 0: -3 11: -2 -6: -64 0: -2 12: -1 -5: -64 0: 9 11: -3 -9: -64 0: -6 12: 1 12: -64 0: 6 12: 12 12: -64 0: -5 12: -4 10: -64 0: -1 12: -2 10: -64 0: 0 12: -3 11: -64 0: 7 12: 9 11: -64 0: 11 12: 9 11:-64 -64 3073: -13 13: -5 12: -5 10: -7 -7: -7 -9: -64 0: -4 11: -6 -6: -64 0: -3 12: -5 -5: -64 0: 3 12: -5 -5: -7 -9: -64 0: 3 12: 3 10: 1 -7: 1 -9: -64 0: 4 11: 2 -6: -64 0: 5 12: 3 -5: -64 0: 11 11: 3 -5: 1 -9: -64 0: -8 12: 0 12: -64 0: 3 12: 5 12: -64 0: 8 12: 14 12: -64 0: -7 12: -4 11: -64 0: -6 12: -5 10: -64 0: -2 12: -4 9: -64 0: -1 12: -4 11: -64 0: 9 12: 11 11: -64 0: 13 12: 11 11:-64 -64 3074: -11 11: -4 12: 2 -9: -64 0: -3 12: 3 -9: -64 0: -2 12: 4 -9: -64 0: 9 11: -9 -8: -64 0: -6 12: 1 12: -64 0: 6 12: 12 12: -64 0: -12 -9: -6 -9: -64 0: -1 -9: 6 -9: -64 0: -5 12: -3 10: -64 0: -1 12: -2 10: -64 0: 0 12: -2 11: -64 0: 7 12: 9 11: -64 0: 11 12: 9 11: -64 0: -9 -8: -11 -9: -64 0: -9 -8: -7 -9: -64 0: 2 -8: 0 -9: -64 0: 2 -7: 1 -9: -64 0: 3 -7: 5 -9:-64 -64 3075: -11 11: -5 12: -1 2: -4 -9: -64 0: -4 12: 0 2: -3 -9: -64 0: -3 12: 1 2: -2 -9: -64 0: 10 11: 1 2: -64 0: -7 12: 0 12: -64 0: 7 12: 13 12: -64 0: -7 -9: 1 -9: -64 0: -6 12: -4 11: -64 0: -2 12: -3 10: -64 0: -1 12: -4 11: -64 0: 8 12: 10 11: -64 0: 12 12: 10 11: -64 0: -3 -8: -6 -9: -64 0: -3 -7: -5 -9: -64 0: -2 -7: -1 -9: -64 0: -3 -8: 0 -9:-64 -64 3076: -11 11: 8 12: -10 -9: -64 0: 9 12: -9 -9: -64 0: 10 12: -8 -9: -64 0: 10 12: -4 12: -6 6: -64 0: -10 -9: 4 -9: 6 -3: -64 0: -3 12: -6 6: -64 0: -2 12: -5 9: -64 0: 0 12: -4 11: -64 0: 0 -9: 4 -8: -64 0: 2 -9: 5 -6: -64 0: 3 -9: 6 -3:-64 -64 3101: -9 11: -4 2: -4 3: -3 3: -3 1: -5 1: -5 3: -4 4: -2 5: 2 5: 4 4: 5 3: 6 1: 6 -6: 7 -8: 8 -9: -64 0: 4 3: 5 1: 5 -6: 6 -8: -64 0: 2 5: 3 4: 4 2: 4 -6: 5 -8: 8 -9: 9 -9: -64 0: 4 0: 3 -1: -2 -2: -5 -3: -6 -5: -6 -6: -5 -8: -2 -9: 1 -9: 3 -8: 4 -6: -64 0: -4 -3: -5 -5: -5 -6: -4 -8: -64 0: 3 -1: -1 -2: -3 -3: -4 -5: -4 -6: -3 -8: -2 -9:-64 -64 3102: -11 10: -6 12: -6 -9: -5 -8: -3 -8: -64 0: -5 11: -5 -7: -64 0: -9 12: -4 12: -4 -8: -64 0: -4 2: -3 4: -1 5: 1 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -1 -9: -3 -8: -4 -6: -64 0: 5 2: 6 0: 6 -4: 5 -6: -64 0: 1 5: 3 4: 4 3: 5 0: 5 -4: 4 -7: 3 -8: 1 -9: -64 0: -8 12: -6 11: -64 0: -7 12: -6 10:-64 -64 3103: -10 9: 5 1: 5 2: 4 2: 4 0: 6 0: 6 2: 4 4: 2 5: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: -64 0: -5 2: -6 0: -6 -4: -5 -6: -64 0: -1 5: -3 4: -4 3: -5 0: -5 -4: -4 -7: -3 -8: -1 -9:-64 -64 3104: -10 11: 4 12: 4 -9: 9 -9: -64 0: 5 11: 5 -8: -64 0: 1 12: 6 12: 6 -9: -64 0: 4 2: 3 4: 1 5: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 3 -8: 4 -6: -64 0: -5 2: -6 0: -6 -4: -5 -6: -64 0: -1 5: -3 4: -4 3: -5 0: -5 -4: -4 -7: -3 -8: -1 -9: -64 0: 2 12: 4 11: -64 0: 3 12: 4 10: -64 0: 6 -7: 7 -9: -64 0: 6 -8: 8 -9:-64 -64 3105: -10 9: -5 -1: 6 -1: 6 1: 5 3: 4 4: 1 5: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: -64 0: 5 0: 5 1: 4 3: -64 0: -5 2: -6 0: -6 -4: -5 -6: -64 0: 4 -1: 4 2: 3 4: 1 5: -64 0: -1 5: -3 4: -4 3: -5 0: -5 -4: -4 -7: -3 -8: -1 -9:-64 -64 3106: -7 7: 5 10: 5 11: 4 11: 4 9: 6 9: 6 11: 5 12: 2 12: 0 11: -1 10: -2 7: -2 -9: -64 0: 0 10: -1 7: -1 -8: -64 0: 2 12: 1 11: 0 9: 0 -9: -64 0: -5 5: 4 5: -64 0: -5 -9: 3 -9: -64 0: -2 -8: -4 -9: -64 0: -2 -7: -3 -9: -64 0: 0 -7: 1 -9: -64 0: 0 -8: 2 -9:-64 -64 3107: -9 10: 6 4: 7 3: 8 4: 7 5: 6 5: 4 4: 3 3: -64 0: -1 5: -3 4: -4 3: -5 1: -5 -1: -4 -3: -3 -4: -1 -5: 1 -5: 3 -4: 4 -3: 5 -1: 5 1: 4 3: 3 4: 1 5: -1 5: -64 0: -3 3: -4 1: -4 -1: -3 -3: -64 0: 3 -3: 4 -1: 4 1: 3 3: -64 0: -1 5: -2 4: -3 2: -3 -2: -2 -4: -1 -5: -64 0: 1 -5: 2 -4: 3 -2: 3 2: 2 4: 1 5: -64 0: -4 -3: -5 -4: -6 -6: -6 -7: -5 -9: -4 -10: -1 -11: 3 -11: 6 -12: 7 -13: -64 0: -4 -9: -1 -10: 3 -10: 6 -11: -64 0: -6 -7: -5 -8: -2 -9: 3 -9: 6 -10: 7 -12: 7 -13: 6 -15: 3 -16: -3 -16: -6 -15: -7 -13: -7 -12: -6 -10: -3 -9: -64 0: -3 -16: -5 -15: -6 -13: -6 -12: -5 -10: -3 -9:-64 -64 3108: -11 12: -6 12: -6 -9: -64 0: -5 11: -5 -8: -64 0: -9 12: -4 12: -4 -9: -64 0: -4 1: -3 3: -2 4: 0 5: 3 5: 5 4: 6 3: 7 0: 7 -9: -64 0: 5 3: 6 0: 6 -8: -64 0: 3 5: 4 4: 5 1: 5 -9: -64 0: -9 -9: -1 -9: -64 0: 2 -9: 10 -9: -64 0: -8 12: -6 11: -64 0: -7 12: -6 10: -64 0: -6 -8: -8 -9: -64 0: -6 -7: -7 -9: -64 0: -4 -7: -3 -9: -64 0: -4 -8: -2 -9: -64 0: 5 -8: 3 -9: -64 0: 5 -7: 4 -9: -64 0: 7 -7: 8 -9: -64 0: 7 -8: 9 -9:-64 -64 3109: -6 6: -1 12: -1 10: 1 10: 1 12: -1 12: -64 0: 0 12: 0 10: -64 0: -1 11: 1 11: -64 0: -1 5: -1 -9: -64 0: 0 4: 0 -8: -64 0: -4 5: 1 5: 1 -9: -64 0: -4 -9: 4 -9: -64 0: -3 5: -1 4: -64 0: -2 5: -1 3: -64 0: -1 -8: -3 -9: -64 0: -1 -7: -2 -9: -64 0: 1 -7: 2 -9: -64 0: 1 -8: 3 -9:-64 -64 3110: -7 6: 0 12: 0 10: 2 10: 2 12: 0 12: -64 0: 1 12: 1 10: -64 0: 0 11: 2 11: -64 0: 0 5: 0 -12: -1 -15: -2 -16: -64 0: 1 4: 1 -11: 0 -14: -64 0: -3 5: 2 5: 2 -11: 1 -14: 0 -15: -2 -16: -5 -16: -6 -15: -6 -13: -4 -13: -4 -15: -5 -15: -5 -14: -64 0: -2 5: 0 4: -64 0: -1 5: 0 3:-64 -64 3111: -11 11: -6 12: -6 -9: -64 0: -5 11: -5 -8: -64 0: -9 12: -4 12: -4 -9: -64 0: 5 4: -4 -5: -64 0: 0 -1: 7 -9: -64 0: 0 -2: 6 -9: -64 0: -1 -2: 5 -9: -64 0: 2 5: 9 5: -64 0: -9 -9: -1 -9: -64 0: 2 -9: 9 -9: -64 0: -8 12: -6 11: -64 0: -7 12: -6 10: -64 0: 3 5: 5 4: -64 0: 8 5: 5 4: -64 0: -6 -8: -8 -9: -64 0: -6 -7: -7 -9: -64 0: -4 -7: -3 -9: -64 0: -4 -8: -2 -9: -64 0: 5 -7: 3 -9: -64 0: 4 -7: 8 -9:-64 -64 3112: -6 6: -1 12: -1 -9: -64 0: 0 11: 0 -8: -64 0: -4 12: 1 12: 1 -9: -64 0: -4 -9: 4 -9: -64 0: -3 12: -1 11: -64 0: -2 12: -1 10: -64 0: -1 -8: -3 -9: -64 0: -1 -7: -2 -9: -64 0: 1 -7: 2 -9: -64 0: 1 -8: 3 -9:-64 -64 3113: -17 17: -12 5: -12 -9: -64 0: -11 4: -11 -8: -64 0: -15 5: -10 5: -10 -9: -64 0: -10 1: -9 3: -8 4: -6 5: -3 5: -1 4: 0 3: 1 0: 1 -9: -64 0: -1 3: 0 0: 0 -8: -64 0: -3 5: -2 4: -1 1: -1 -9: -64 0: 1 1: 2 3: 3 4: 5 5: 8 5: 10 4: 11 3: 12 0: 12 -9: -64 0: 10 3: 11 0: 11 -8: -64 0: 8 5: 9 4: 10 1: 10 -9: -64 0: -15 -9: -7 -9: -64 0: -4 -9: 4 -9: -64 0: 7 -9: 15 -9: -64 0: -14 5: -12 4: -64 0: -13 5: -12 3: -64 0: -12 -8: -14 -9: -64 0: -12 -7: -13 -9: -64 0: -10 -7: -9 -9: -64 0: -10 -8: -8 -9: -64 0: -1 -8: -3 -9: -64 0: -1 -7: -2 -9: -64 0: 1 -7: 2 -9: -64 0: 1 -8: 3 -9: -64 0: 10 -8: 8 -9: -64 0: 10 -7: 9 -9: -64 0: 12 -7: 13 -9: -64 0: 12 -8: 14 -9:-64 -64 3114: -11 12: -6 5: -6 -9: -64 0: -5 4: -5 -8: -64 0: -9 5: -4 5: -4 -9: -64 0: -4 1: -3 3: -2 4: 0 5: 3 5: 5 4: 6 3: 7 0: 7 -9: -64 0: 5 3: 6 0: 6 -8: -64 0: 3 5: 4 4: 5 1: 5 -9: -64 0: -9 -9: -1 -9: -64 0: 2 -9: 10 -9: -64 0: -8 5: -6 4: -64 0: -7 5: -6 3: -64 0: -6 -8: -8 -9: -64 0: -6 -7: -7 -9: -64 0: -4 -7: -3 -9: -64 0: -4 -8: -2 -9: -64 0: 5 -8: 3 -9: -64 0: 5 -7: 4 -9: -64 0: 7 -7: 8 -9: -64 0: 7 -8: 9 -9:-64 -64 3115: -10 10: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 -1: 6 2: 4 4: 1 5: -1 5: -64 0: -5 2: -6 0: -6 -4: -5 -6: -64 0: 5 -6: 6 -4: 6 0: 5 2: -64 0: -1 5: -3 4: -4 3: -5 0: -5 -4: -4 -7: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 4 -7: 5 -4: 5 0: 4 3: 3 4: 1 5:-64 -64 3116: -11 10: -6 5: -6 -16: -64 0: -5 4: -5 -15: -64 0: -9 5: -4 5: -4 -16: -64 0: -4 2: -3 4: -1 5: 1 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -1 -9: -3 -8: -4 -6: -64 0: 5 2: 6 0: 6 -4: 5 -6: -64 0: 1 5: 3 4: 4 3: 5 0: 5 -4: 4 -7: 3 -8: 1 -9: -64 0: -9 -16: -1 -16: -64 0: -8 5: -6 4: -64 0: -7 5: -6 3: -64 0: -6 -15: -8 -16: -64 0: -6 -14: -7 -16: -64 0: -4 -14: -3 -16: -64 0: -4 -15: -2 -16:-64 -64 3117: -10 10: 4 4: 4 -16: -64 0: 5 3: 5 -15: -64 0: 3 4: 5 4: 6 5: 6 -16: -64 0: 4 2: 3 4: 1 5: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 3 -8: 4 -6: -64 0: -5 2: -6 0: -6 -4: -5 -6: -64 0: -1 5: -3 4: -4 3: -5 0: -5 -4: -4 -7: -3 -8: -1 -9: -64 0: 1 -16: 9 -16: -64 0: 4 -15: 2 -16: -64 0: 4 -14: 3 -16: -64 0: 6 -14: 7 -16: -64 0: 6 -15: 8 -16:-64 -64 3118: -9 8: -4 5: -4 -9: -64 0: -3 4: -3 -8: -64 0: -7 5: -2 5: -2 -9: -64 0: 5 3: 5 4: 4 4: 4 2: 6 2: 6 4: 5 5: 3 5: 1 4: -1 2: -2 -1: -64 0: -7 -9: 1 -9: -64 0: -6 5: -4 4: -64 0: -5 5: -4 3: -64 0: -4 -8: -6 -9: -64 0: -4 -7: -5 -9: -64 0: -2 -7: -1 -9: -64 0: -2 -8: 0 -9:-64 -64 3119: -8 9: 5 3: 6 5: 6 1: 5 3: 4 4: 2 5: -2 5: -4 4: -5 3: -5 1: -4 -1: -2 -2: 3 -3: 5 -4: 6 -7: -64 0: -4 4: -5 1: -64 0: -4 0: -2 -1: 3 -2: 5 -3: -64 0: 6 -4: 5 -8: -64 0: -5 3: -4 1: -2 0: 3 -1: 5 -2: 6 -4: 6 -7: 5 -8: 3 -9: -1 -9: -3 -8: -4 -7: -5 -5: -5 -9: -4 -7:-64 -64 3120: -7 8: -2 10: -2 -4: -1 -7: 0 -8: 2 -9: 4 -9: 6 -8: 7 -6: -64 0: -1 10: -1 -5: 0 -7: -64 0: -2 10: 0 12: 0 -5: 1 -8: 2 -9: -64 0: -5 5: 4 5:-64 -64 3121: -11 12: -6 5: -6 -4: -5 -7: -4 -8: -2 -9: 1 -9: 3 -8: 4 -7: 5 -5: -64 0: -5 4: -5 -5: -4 -7: -64 0: -9 5: -4 5: -4 -5: -3 -8: -2 -9: -64 0: 5 5: 5 -9: 10 -9: -64 0: 6 4: 6 -8: -64 0: 2 5: 7 5: 7 -9: -64 0: -8 5: -6 4: -64 0: -7 5: -6 3: -64 0: 7 -7: 8 -9: -64 0: 7 -8: 9 -9:-64 -64 3122: -9 9: -6 5: 0 -9: -64 0: -5 5: 0 -7: -64 0: -4 5: 1 -7: -64 0: 6 4: 1 -7: 0 -9: -64 0: -8 5: -1 5: -64 0: 2 5: 8 5: -64 0: -7 5: -4 3: -64 0: -2 5: -4 4: -64 0: 4 5: 6 4: -64 0: 7 5: 6 4:-64 -64 3123: -12 12: -8 5: -4 -9: -64 0: -7 5: -4 -6: -64 0: -6 5: -3 -6: -64 0: 0 5: -3 -6: -4 -9: -64 0: 0 5: 4 -9: -64 0: 1 5: 4 -6: -64 0: 0 5: 2 5: 5 -6: -64 0: 8 4: 5 -6: 4 -9: -64 0: -11 5: -3 5: -64 0: 5 5: 11 5: -64 0: -10 5: -7 4: -64 0: -4 5: -6 4: -64 0: 6 5: 8 4: -64 0: 10 5: 8 4:-64 -64 3124: -10 10: -6 5: 4 -9: -64 0: -5 5: 5 -9: -64 0: -4 5: 6 -9: -64 0: 5 4: -5 -8: -64 0: -8 5: -1 5: -64 0: 2 5: 8 5: -64 0: -8 -9: -2 -9: -64 0: 1 -9: 8 -9: -64 0: -7 5: -5 4: -64 0: -2 5: -4 4: -64 0: 3 5: 5 4: -64 0: 7 5: 5 4: -64 0: -5 -8: -7 -9: -64 0: -5 -8: -3 -9: -64 0: 4 -8: 2 -9: -64 0: 5 -8: 7 -9:-64 -64 3125: -10 9: -6 5: 0 -9: -64 0: -5 5: 0 -7: -64 0: -4 5: 1 -7: -64 0: 6 4: 1 -7: -2 -13: -4 -15: -6 -16: -8 -16: -9 -15: -9 -13: -7 -13: -7 -15: -8 -15: -8 -14: -64 0: -8 5: -1 5: -64 0: 2 5: 8 5: -64 0: -7 5: -4 3: -64 0: -2 5: -4 4: -64 0: 4 5: 6 4: -64 0: 7 5: 6 4:-64 -64 3126: -9 9: 4 5: -6 -9: -64 0: 5 5: -5 -9: -64 0: 6 5: -4 -9: -64 0: 6 5: -6 5: -6 1: -64 0: -6 -9: 6 -9: 6 -5: -64 0: -5 5: -6 1: -64 0: -4 5: -6 2: -64 0: -3 5: -6 3: -64 0: -1 5: -6 4: -64 0: 1 -9: 6 -8: -64 0: 3 -9: 6 -7: -64 0: 4 -9: 6 -6: -64 0: 5 -9: 6 -5:-64 -64 3151: -11 11: 5 5: 3 -2: 3 -6: 4 -8: 5 -9: 7 -9: 9 -7: 10 -5: -64 0: 6 5: 4 -2: 4 -8: -64 0: 5 5: 7 5: 5 -2: 4 -6: -64 0: 3 -2: 3 1: 2 4: 0 5: -2 5: -5 4: -7 1: -8 -2: -8 -4: -7 -7: -6 -8: -4 -9: -2 -9: 0 -8: 1 -7: 2 -5: 3 -2: -64 0: -4 4: -6 1: -7 -2: -7 -5: -6 -7: -64 0: -2 5: -4 3: -5 1: -6 -2: -6 -5: -5 -8: -4 -9:-64 -64 3152: -9 10: -2 12: -4 5: -5 -1: -5 -5: -4 -7: -3 -8: -1 -9: 1 -9: 4 -8: 6 -5: 7 -2: 7 0: 6 3: 5 4: 3 5: 1 5: -1 4: -2 3: -3 1: -4 -2: -64 0: -1 12: -3 5: -4 1: -4 -5: -3 -8: -64 0: 4 -7: 5 -5: 6 -2: 6 1: 5 3: -64 0: -5 12: 0 12: -2 5: -4 -2: -64 0: 1 -9: 3 -7: 4 -5: 5 -2: 5 1: 4 4: 3 5: -64 0: -4 12: -1 11: -64 0: -3 12: -2 10:-64 -64 3153: -9 9: 5 1: 5 2: 4 2: 4 0: 6 0: 6 2: 5 4: 3 5: 0 5: -3 4: -5 1: -6 -2: -6 -4: -5 -7: -4 -8: -2 -9: 0 -9: 3 -8: 5 -5: -64 0: -3 3: -4 1: -5 -2: -5 -5: -4 -7: -64 0: 0 5: -2 3: -3 1: -4 -2: -4 -5: -3 -8: -2 -9:-64 -64 3154: -11 11: 7 12: 4 1: 3 -3: 3 -6: 4 -8: 5 -9: 7 -9: 9 -7: 10 -5: -64 0: 8 12: 5 1: 4 -3: 4 -8: -64 0: 4 12: 9 12: 5 -2: 4 -6: -64 0: 3 -2: 3 1: 2 4: 0 5: -2 5: -5 4: -7 1: -8 -2: -8 -4: -7 -7: -6 -8: -4 -9: -2 -9: 0 -8: 1 -7: 2 -5: 3 -2: -64 0: -5 3: -6 1: -7 -2: -7 -5: -6 -7: -64 0: -2 5: -4 3: -5 1: -6 -2: -6 -5: -5 -8: -4 -9: -64 0: 5 12: 8 11: -64 0: 6 12: 7 10:-64 -64 3155: -9 9: -5 -4: -1 -3: 2 -2: 5 0: 6 2: 5 4: 3 5: 0 5: -3 4: -5 1: -6 -2: -6 -4: -5 -7: -4 -8: -2 -9: 0 -9: 3 -8: 5 -6: -64 0: -3 3: -4 1: -5 -2: -5 -5: -4 -7: -64 0: 0 5: -2 3: -3 1: -4 -2: -4 -5: -3 -8: -2 -9:-64 -64 3156: -8 8: 8 10: 8 11: 7 11: 7 9: 9 9: 9 11: 8 12: 6 12: 4 11: 2 9: 1 7: 0 4: -1 0: -3 -9: -4 -12: -5 -14: -7 -16: -64 0: 2 8: 1 5: 0 0: -2 -9: -3 -12: -64 0: 6 12: 4 10: 3 8: 2 5: 1 0: -1 -8: -2 -11: -3 -13: -5 -15: -7 -16: -9 -16: -10 -15: -10 -13: -8 -13: -8 -15: -9 -15: -9 -14: -64 0: -4 5: 7 5:-64 -64 3157: -10 11: 6 5: 2 -9: 1 -12: -1 -15: -3 -16: -64 0: 7 5: 3 -9: 1 -13: -64 0: 6 5: 8 5: 4 -9: 2 -13: 0 -15: -3 -16: -6 -16: -8 -15: -9 -14: -9 -12: -7 -12: -7 -14: -8 -14: -8 -13: -64 0: 4 -2: 4 1: 3 4: 1 5: -1 5: -4 4: -6 1: -7 -2: -7 -4: -6 -7: -5 -8: -3 -9: -1 -9: 1 -8: 2 -7: 3 -5: 4 -2: -64 0: -4 3: -5 1: -6 -2: -6 -5: -5 -7: -64 0: -1 5: -3 3: -4 1: -5 -2: -5 -5: -4 -8: -3 -9:-64 -64 3158: -11 11: -3 12: -9 -9: -7 -9: -64 0: -2 12: -8 -9: -64 0: -6 12: -1 12: -7 -9: -64 0: -5 -2: -3 2: -1 4: 1 5: 3 5: 5 4: 6 2: 6 -1: 4 -6: -64 0: 5 4: 5 0: 4 -4: 4 -8: -64 0: 5 2: 3 -3: 3 -6: 4 -8: 5 -9: 7 -9: 9 -7: 10 -5: -64 0: -5 12: -2 11: -64 0: -4 12: -3 10:-64 -64 3159: -7 6: 1 12: 1 10: 3 10: 3 12: 1 12: -64 0: 2 12: 2 10: -64 0: 1 11: 3 11: -64 0: -6 1: -5 3: -3 5: -1 5: 0 4: 1 2: 1 -1: -1 -6: -64 0: 0 4: 0 0: -1 -4: -1 -8: -64 0: 0 2: -2 -3: -2 -6: -1 -8: 0 -9: 2 -9: 4 -7: 5 -5:-64 -64 3160: -7 6: 3 12: 3 10: 5 10: 5 12: 3 12: -64 0: 4 12: 4 10: -64 0: 3 11: 5 11: -64 0: -5 1: -4 3: -2 5: 0 5: 1 4: 2 2: 2 -1: 0 -8: -1 -11: -2 -13: -4 -15: -6 -16: -8 -16: -9 -15: -9 -13: -7 -13: -7 -15: -8 -15: -8 -14: -64 0: 1 4: 1 -1: -1 -8: -2 -11: -3 -13: -64 0: 1 2: 0 -2: -2 -9: -3 -12: -4 -14: -6 -16:-64 -64 3161: -11 11: -3 12: -9 -9: -7 -9: -64 0: -2 12: -8 -9: -64 0: -6 12: -1 12: -7 -9: -64 0: 7 3: 7 4: 6 4: 6 2: 8 2: 8 4: 7 5: 5 5: 3 4: -1 0: -3 -1: -64 0: -5 -1: -3 -1: -1 -2: 0 -3: 2 -7: 3 -8: 5 -8: -64 0: -1 -3: 1 -7: 2 -8: -64 0: -3 -1: -2 -2: 0 -8: 1 -9: 3 -9: 5 -8: 7 -5: -64 0: -5 12: -2 11: -64 0: -4 12: -3 10:-64 -64 3162: -6 6: 2 12: -1 1: -2 -3: -2 -6: -1 -8: 0 -9: 2 -9: 4 -7: 5 -5: -64 0: 3 12: 0 1: -1 -3: -1 -8: -64 0: -1 12: 4 12: 0 -2: -1 -6: -64 0: 0 12: 3 11: -64 0: 1 12: 2 10:-64 -64 3163: -18 17: -17 1: -16 3: -14 5: -12 5: -11 4: -10 2: -10 -1: -12 -9: -64 0: -11 4: -11 -1: -13 -9: -64 0: -11 2: -12 -2: -14 -9: -12 -9: -64 0: -10 -1: -8 2: -6 4: -4 5: -2 5: 0 4: 1 2: 1 -1: -1 -9: -64 0: 0 4: 0 -1: -2 -9: -64 0: 0 2: -1 -2: -3 -9: -1 -9: -64 0: 1 -1: 3 2: 5 4: 7 5: 9 5: 11 4: 12 2: 12 -1: 10 -6: -64 0: 11 4: 11 0: 10 -4: 10 -8: -64 0: 11 2: 9 -3: 9 -6: 10 -8: 11 -9: 13 -9: 15 -7: 16 -5:-64 -64 3164: -12 12: -11 1: -10 3: -8 5: -6 5: -5 4: -4 2: -4 -1: -6 -9: -64 0: -5 4: -5 -1: -7 -9: -64 0: -5 2: -6 -2: -8 -9: -6 -9: -64 0: -4 -1: -2 2: 0 4: 2 5: 4 5: 6 4: 7 2: 7 -1: 5 -6: -64 0: 6 4: 6 0: 5 -4: 5 -8: -64 0: 6 2: 4 -3: 4 -6: 5 -8: 6 -9: 8 -9: 10 -7: 11 -5:-64 -64 3165: -10 10: -1 5: -4 4: -6 1: -7 -2: -7 -4: -6 -7: -5 -8: -2 -9: 1 -9: 4 -8: 6 -5: 7 -2: 7 0: 6 3: 5 4: 2 5: -1 5: -64 0: -4 3: -5 1: -6 -2: -6 -5: -5 -7: -64 0: 4 -7: 5 -5: 6 -2: 6 1: 5 3: -64 0: -1 5: -3 3: -4 1: -5 -2: -5 -5: -4 -8: -2 -9: -64 0: 1 -9: 3 -7: 4 -5: 5 -2: 5 1: 4 4: 2 5:-64 -64 3166: -11 11: -10 1: -9 3: -7 5: -5 5: -4 4: -3 2: -3 -1: -4 -5: -7 -16: -64 0: -4 4: -4 -1: -5 -5: -8 -16: -64 0: -4 2: -5 -2: -9 -16: -64 0: -3 -2: -2 1: -1 3: 0 4: 2 5: 4 5: 6 4: 7 3: 8 0: 8 -2: 7 -5: 5 -8: 2 -9: 0 -9: -2 -8: -3 -5: -3 -2: -64 0: 6 3: 7 1: 7 -2: 6 -5: 5 -7: -64 0: 4 5: 5 4: 6 1: 6 -2: 5 -5: 4 -7: 2 -9: -64 0: -12 -16: -4 -16: -64 0: -8 -15: -11 -16: -64 0: -8 -14: -10 -16: -64 0: -7 -14: -6 -16: -64 0: -8 -15: -5 -16:-64 -64 3167: -11 10: 5 5: -1 -16: -64 0: 6 5: 0 -16: -64 0: 5 5: 7 5: 1 -16: -64 0: 3 -2: 3 1: 2 4: 0 5: -2 5: -5 4: -7 1: -8 -2: -8 -4: -7 -7: -6 -8: -4 -9: -2 -9: 0 -8: 1 -7: 2 -5: 3 -2: -64 0: -5 3: -6 1: -7 -2: -7 -5: -6 -7: -64 0: -2 5: -4 3: -5 1: -6 -2: -6 -5: -5 -8: -4 -9: -64 0: -4 -16: 4 -16: -64 0: 0 -15: -3 -16: -64 0: 0 -14: -2 -16: -64 0: 1 -14: 2 -16: -64 0: 0 -15: 3 -16:-64 -64 3168: -9 9: -8 1: -7 3: -5 5: -3 5: -2 4: -1 2: -1 -2: -3 -9: -64 0: -2 4: -2 -2: -4 -9: -64 0: -2 2: -3 -2: -5 -9: -3 -9: -64 0: 7 3: 7 4: 6 4: 6 2: 8 2: 8 4: 7 5: 5 5: 3 4: 1 2: -1 -2:-64 -64 3169: -8 9: 6 2: 6 3: 5 3: 5 1: 7 1: 7 3: 6 4: 3 5: 0 5: -3 4: -4 3: -4 1: -3 -1: -1 -2: 2 -3: 4 -4: 5 -6: -64 0: -3 4: -4 1: -64 0: -3 0: -1 -1: 2 -2: 4 -3: -64 0: 5 -4: 4 -8: -64 0: -4 3: -3 1: -1 0: 2 -1: 4 -2: 5 -4: 5 -6: 4 -8: 1 -9: -2 -9: -5 -8: -6 -7: -6 -5: -4 -5: -4 -7: -5 -7: -5 -6:-64 -64 3170: -7 7: 2 12: -1 1: -2 -3: -2 -6: -1 -8: 0 -9: 2 -9: 4 -7: 5 -5: -64 0: 3 12: 0 1: -1 -3: -1 -8: -64 0: 2 12: 4 12: 0 -2: -1 -6: -64 0: -4 5: 6 5:-64 -64 3171: -12 12: -11 1: -10 3: -8 5: -6 5: -5 4: -4 2: -4 -1: -6 -6: -64 0: -5 4: -5 0: -6 -4: -6 -8: -64 0: -5 2: -7 -3: -7 -6: -6 -8: -4 -9: -2 -9: 0 -8: 2 -6: 4 -3: -64 0: 6 5: 4 -3: 4 -6: 5 -8: 6 -9: 8 -9: 10 -7: 11 -5: -64 0: 7 5: 5 -3: 5 -8: -64 0: 6 5: 8 5: 6 -2: 5 -6:-64 -64 3172: -10 10: -9 1: -8 3: -6 5: -4 5: -3 4: -2 2: -2 -1: -4 -6: -64 0: -3 4: -3 0: -4 -4: -4 -8: -64 0: -3 2: -5 -3: -5 -6: -4 -8: -2 -9: 0 -9: 2 -8: 4 -6: 6 -3: 7 1: 7 5: 6 5: 6 4: 7 2:-64 -64 3173: -15 15: -14 1: -13 3: -11 5: -9 5: -8 4: -7 2: -7 -1: -9 -6: -64 0: -8 4: -8 0: -9 -4: -9 -8: -64 0: -8 2: -10 -3: -10 -6: -9 -8: -7 -9: -5 -9: -3 -8: -1 -6: 0 -3: -64 0: 2 5: 0 -3: 0 -6: 1 -8: 3 -9: 5 -9: 7 -8: 9 -6: 11 -3: 12 1: 12 5: 11 5: 11 4: 12 2: -64 0: 3 5: 1 -3: 1 -8: -64 0: 2 5: 4 5: 2 -2: 1 -6:-64 -64 3174: -11 11: -8 1: -6 4: -4 5: -2 5: 0 4: 1 2: 1 0: -64 0: -2 5: -1 4: -1 0: -2 -4: -3 -6: -5 -8: -7 -9: -9 -9: -10 -8: -10 -6: -8 -6: -8 -8: -9 -8: -9 -7: -64 0: 0 3: 0 0: -1 -4: -1 -7: -64 0: 8 3: 8 4: 7 4: 7 2: 9 2: 9 4: 8 5: 6 5: 4 4: 2 2: 1 0: 0 -4: 0 -8: 1 -9: -64 0: -2 -4: -2 -6: -1 -8: 1 -9: 3 -9: 5 -8: 7 -5:-64 -64 3175: -11 11: -10 1: -9 3: -7 5: -5 5: -4 4: -3 2: -3 -1: -5 -6: -64 0: -4 4: -4 0: -5 -4: -5 -8: -64 0: -4 2: -6 -3: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: 3 -6: 5 -2: -64 0: 7 5: 3 -9: 2 -12: 0 -15: -2 -16: -64 0: 8 5: 4 -9: 2 -13: -64 0: 7 5: 9 5: 5 -9: 3 -13: 1 -15: -2 -16: -5 -16: -7 -15: -8 -14: -8 -12: -6 -12: -6 -14: -7 -14: -7 -13:-64 -64 3176: -10 10: 7 5: 6 3: 4 1: -4 -5: -6 -7: -7 -9: -64 0: 6 3: -3 3: -5 2: -6 0: -64 0: 4 3: 0 4: -3 4: -4 3: -64 0: 4 3: 0 5: -3 5: -5 3: -6 0: -64 0: -6 -7: 3 -7: 5 -6: 6 -4: -64 0: -4 -7: 0 -8: 3 -8: 4 -7: -64 0: -4 -7: 0 -9: 3 -9: 5 -7: 6 -4:-64 -64 3197: 0 0:-64 -64 3198: -4 4:-64 -64 3199: -8 8:-64 -64 3200: -10 10: -1 12: -4 11: -6 8: -7 3: -7 0: -6 -5: -4 -8: -1 -9: 1 -9: 4 -8: 6 -5: 7 0: 7 3: 6 8: 4 11: 1 12: -1 12: -64 0: -4 10: -5 8: -6 4: -6 -1: -5 -5: -4 -7: -64 0: 4 -7: 5 -5: 6 -1: 6 4: 5 8: 4 10: -64 0: -1 12: -3 11: -4 9: -5 4: -5 -1: -4 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 4 -6: 5 -1: 5 4: 4 9: 3 11: 1 12:-64 -64 3201: -10 10: -1 10: -1 -9: -64 0: 0 10: 0 -8: -64 0: 1 12: 1 -9: -64 0: 1 12: -2 9: -4 8: -64 0: -5 -9: 5 -9: -64 0: -1 -8: -3 -9: -64 0: -1 -7: -2 -9: -64 0: 1 -7: 2 -9: -64 0: 1 -8: 3 -9:-64 -64 3202: -10 10: -6 8: -6 7: -5 7: -5 8: -6 8: -64 0: -6 9: -5 9: -4 8: -4 7: -5 6: -6 6: -7 7: -7 8: -6 10: -5 11: -2 12: 2 12: 5 11: 6 10: 7 8: 7 6: 6 4: 3 2: -2 0: -4 -1: -6 -3: -7 -6: -7 -9: -64 0: 5 10: 6 8: 6 6: 5 4: -64 0: 2 12: 4 11: 5 8: 5 6: 4 4: 2 2: -2 0: -64 0: -7 -7: -6 -6: -4 -6: 1 -7: 5 -7: 7 -6: -64 0: -4 -6: 1 -8: 5 -8: 6 -7: -64 0: -4 -6: 1 -9: 5 -9: 6 -8: 7 -6: 7 -4:-64 -64 3203: -10 10: -6 8: -6 7: -5 7: -5 8: -6 8: -64 0: -6 9: -5 9: -4 8: -4 7: -5 6: -6 6: -7 7: -7 8: -6 10: -5 11: -2 12: 2 12: 5 11: 6 9: 6 6: 5 4: 2 3: -64 0: 4 11: 5 9: 5 6: 4 4: -64 0: 1 12: 3 11: 4 9: 4 6: 3 4: 1 3: -64 0: -1 3: 2 3: 4 2: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -2 -9: -5 -8: -6 -7: -7 -5: -7 -4: -6 -3: -5 -3: -4 -4: -4 -5: -5 -6: -6 -6: -64 0: 5 0: 6 -2: 6 -5: 5 -7: -64 0: 1 3: 3 2: 4 1: 5 -2: 5 -5: 4 -8: 2 -9: -64 0: -6 -4: -6 -5: -5 -5: -5 -4: -6 -4:-64 -64 3204: -10 10: 1 9: 1 -9: -64 0: 2 10: 2 -8: -64 0: 3 12: 3 -9: -64 0: 3 12: -8 -3: 8 -3: -64 0: -2 -9: 6 -9: -64 0: 1 -8: -1 -9: -64 0: 1 -7: 0 -9: -64 0: 3 -7: 4 -9: -64 0: 3 -8: 5 -9:-64 -64 3205: -10 10: -5 12: -7 2: -5 4: -2 5: 1 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -2 -9: -5 -8: -6 -7: -7 -5: -7 -4: -6 -3: -5 -3: -4 -4: -4 -5: -5 -6: -6 -6: -64 0: 5 2: 6 0: 6 -4: 5 -6: -64 0: 1 5: 3 4: 4 3: 5 0: 5 -4: 4 -7: 3 -8: 1 -9: -64 0: -6 -4: -6 -5: -5 -5: -5 -4: -6 -4: -64 0: -5 12: 5 12: -64 0: -5 11: 3 11: -64 0: -5 10: -1 10: 3 11: 5 12:-64 -64 3206: -10 10: 4 9: 4 8: 5 8: 5 9: 4 9: -64 0: 5 10: 4 10: 3 9: 3 8: 4 7: 5 7: 6 8: 6 9: 5 11: 3 12: 0 12: -3 11: -5 9: -6 7: -7 3: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 -2: 6 1: 4 3: 1 4: -1 4: -3 3: -4 2: -5 0: -64 0: -4 9: -5 7: -6 3: -6 -3: -5 -6: -4 -7: -64 0: 5 -6: 6 -4: 6 -1: 5 1: -64 0: 0 12: -2 11: -3 10: -4 8: -5 4: -5 -3: -4 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 4 -7: 5 -4: 5 -1: 4 2: 3 3: 1 4:-64 -64 3207: -10 10: -7 12: -7 6: -64 0: 7 12: 7 9: 6 6: 2 1: 1 -1: 0 -5: 0 -9: -64 0: 1 0: 0 -2: -1 -5: -1 -9: -64 0: 6 6: 1 1: -1 -2: -2 -5: -2 -9: 0 -9: -64 0: -7 8: -6 10: -4 12: -2 12: 3 9: 5 9: 6 10: 7 12: -64 0: -5 10: -4 11: -2 11: 0 10: -64 0: -7 8: -6 9: -4 10: -2 10: 3 9:-64 -64 3208: -10 10: -2 12: -5 11: -6 9: -6 6: -5 4: -2 3: 2 3: 5 4: 6 6: 6 9: 5 11: 2 12: -2 12: -64 0: -4 11: -5 9: -5 6: -4 4: -64 0: 4 4: 5 6: 5 9: 4 11: -64 0: -2 12: -3 11: -4 9: -4 6: -3 4: -2 3: -64 0: 2 3: 3 4: 4 6: 4 9: 3 11: 2 12: -64 0: -2 3: -5 2: -6 1: -7 -1: -7 -5: -6 -7: -5 -8: -2 -9: 2 -9: 5 -8: 6 -7: 7 -5: 7 -1: 6 1: 5 2: 2 3: -64 0: -5 1: -6 -1: -6 -5: -5 -7: -64 0: 5 -7: 6 -5: 6 -1: 5 1: -64 0: -2 3: -4 2: -5 -1: -5 -5: -4 -8: -2 -9: -64 0: 2 -9: 4 -8: 5 -5: 5 -1: 4 2: 2 3:-64 -64 3209: -10 10: -5 -5: -5 -6: -4 -6: -4 -5: -5 -5: -64 0: 5 3: 4 1: 3 0: 1 -1: -1 -1: -4 0: -6 2: -7 5: -7 6: -6 9: -4 11: -1 12: 1 12: 4 11: 6 9: 7 6: 7 0: 6 -4: 5 -6: 3 -8: 0 -9: -3 -9: -5 -8: -6 -6: -6 -5: -5 -4: -4 -4: -3 -5: -3 -6: -4 -7: -5 -7: -64 0: -5 2: -6 4: -6 7: -5 9: -64 0: 4 10: 5 9: 6 6: 6 0: 5 -4: 4 -6: -64 0: -1 -1: -3 0: -4 1: -5 4: -5 7: -4 10: -3 11: -1 12: -64 0: 1 12: 3 11: 4 9: 5 6: 5 -1: 4 -5: 3 -7: 2 -8: 0 -9:-64 -64 3210: -5 6: 0 -6: -1 -7: -1 -8: 0 -9: 1 -9: 2 -8: 2 -7: 1 -6: 0 -6: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7:-64 -64 3211: -5 6: 2 -8: 1 -9: 0 -9: -1 -8: -1 -7: 0 -6: 1 -6: 2 -7: 2 -10: 1 -12: -1 -13: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7: -64 0: 1 -9: 2 -10: -64 0: 2 -8: 1 -12:-64 -64 3212: -5 6: 0 5: -1 4: -1 3: 0 2: 1 2: 2 3: 2 4: 1 5: 0 5: -64 0: 0 4: 0 3: 1 3: 1 4: 0 4: -64 0: 0 -6: -1 -7: -1 -8: 0 -9: 1 -9: 2 -8: 2 -7: 1 -6: 0 -6: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7:-64 -64 3213: -5 6: 0 5: -1 4: -1 3: 0 2: 1 2: 2 3: 2 4: 1 5: 0 5: -64 0: 0 4: 0 3: 1 3: 1 4: 0 4: -64 0: 2 -8: 1 -9: 0 -9: -1 -8: -1 -7: 0 -6: 1 -6: 2 -7: 2 -10: 1 -12: -1 -13: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7: -64 0: 1 -9: 2 -10: -64 0: 2 -8: 1 -12:-64 -64 3214: -5 6: 0 12: -1 11: -1 9: 0 1: -64 0: 0 12: 0 -2: 1 -2: -64 0: 0 12: 1 12: 1 -2: -64 0: 1 12: 2 11: 2 9: 1 1: -64 0: 0 -6: -1 -7: -1 -8: 0 -9: 1 -9: 2 -8: 2 -7: 1 -6: 0 -6: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7:-64 -64 3215: -9 10: -5 7: -5 8: -4 8: -4 6: -6 6: -6 8: -5 10: -4 11: -2 12: 2 12: 5 11: 6 10: 7 8: 7 6: 6 4: 5 3: 1 1: -64 0: 5 10: 6 9: 6 5: 5 4: -64 0: 2 12: 4 11: 5 9: 5 5: 4 3: 3 2: -64 0: 0 1: 0 -2: 1 -2: 1 1: 0 1: -64 0: 0 -6: -1 -7: -1 -8: 0 -9: 1 -9: 2 -8: 2 -7: 1 -6: 0 -6: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7:-64 -64 3216: -5 6: 2 12: 0 11: -1 9: -1 6: 0 5: 1 5: 2 6: 2 7: 1 8: 0 8: -1 7: -64 0: 0 7: 0 6: 1 6: 1 7: 0 7: -64 0: 0 11: -1 7: -64 0: -1 9: 0 8:-64 -64 3217: -5 6: 2 10: 1 9: 0 9: -1 10: -1 11: 0 12: 1 12: 2 11: 2 8: 1 6: -1 5: -64 0: 0 11: 0 10: 1 10: 1 11: 0 11: -64 0: 1 9: 2 8: -64 0: 2 10: 1 6:-64 -64 3218: -13 13: 9 3: 9 4: 8 4: 8 2: 10 2: 10 4: 9 5: 8 5: 7 4: 6 2: 4 -3: 2 -6: 0 -8: -2 -9: -6 -9: -8 -8: -9 -6: -9 -3: -8 -1: -2 3: 0 5: 1 7: 1 9: 0 11: -2 12: -4 11: -5 9: -5 6: -4 3: -2 0: 2 -5: 5 -8: 7 -9: 9 -9: 10 -7: 10 -6: -64 0: -7 -8: -8 -6: -8 -3: -7 -1: -6 0: -64 0: 0 5: 1 9: -64 0: 1 7: 0 11: -64 0: -4 11: -5 7: -64 0: -4 4: -2 1: 2 -4: 5 -7: 7 -8: -64 0: -4 -9: -6 -8: -7 -6: -7 -3: -6 -1: -2 3: -64 0: -5 9: -4 5: -1 1: 3 -4: 6 -7: 8 -8: 9 -8: 10 -7:-64 -64 3219: -10 10: -2 16: -2 -13: -64 0: 2 16: 2 -13: -64 0: 6 7: 6 8: 5 8: 5 6: 7 6: 7 8: 6 10: 5 11: 2 12: -2 12: -5 11: -7 9: -7 6: -6 4: -3 2: 3 0: 5 -1: 6 -3: 6 -6: 5 -8: -64 0: -6 6: -5 4: -3 3: 3 1: 5 0: 6 -2: -64 0: -5 11: -6 9: -6 7: -5 5: -3 4: 3 2: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -2 -9: -5 -8: -6 -7: -7 -5: -7 -3: -5 -3: -5 -5: -6 -5: -6 -4:-64 -64 3220: -11 12: 9 16: -9 -16: -8 -16: -64 0: 9 16: 10 16: -8 -16:-64 -64 3221: -7 7: 3 16: 1 14: -1 11: -3 7: -4 2: -4 -2: -3 -7: -1 -11: 1 -14: 3 -16: -64 0: -1 10: -2 7: -3 3: -3 -3: -2 -7: -1 -10: -64 0: 1 14: 0 12: -1 9: -2 3: -2 -3: -1 -9: 0 -12: 1 -14:-64 -64 3222: -7 7: -3 16: -1 14: 1 11: 3 7: 4 2: 4 -2: 3 -7: 1 -11: -1 -14: -3 -16: -64 0: 1 10: 2 7: 3 3: 3 -3: 2 -7: 1 -10: -64 0: -1 14: 0 12: 1 9: 2 3: 2 -3: 1 -9: 0 -12: -1 -14:-64 -64 3223: -8 8: 0 12: -1 11: 1 1: 0 0: -64 0: 0 12: 0 0: -64 0: 0 12: 1 11: -1 1: 0 0: -64 0: -5 9: -4 9: 4 3: 5 3: -64 0: -5 9: 5 3: -64 0: -5 9: -5 8: 5 4: 5 3: -64 0: 5 9: 4 9: -4 3: -5 3: -64 0: 5 9: -5 3: -64 0: 5 9: 5 8: -5 4: -5 3:-64 -64 3224: -12 13: -8 1: 9 1: 9 0: -64 0: -8 1: -8 0: 9 0:-64 -64 3225: -12 13: 0 9: 0 -8: 1 -8: -64 0: 0 9: 1 9: 1 -8: -64 0: -8 1: 9 1: 9 0: -64 0: -8 1: -8 0: 9 0:-64 -64 3226: -12 13: -8 5: 9 5: 9 4: -64 0: -8 5: -8 4: 9 4: -64 0: -8 -3: 9 -3: 9 -4: -64 0: -8 -3: -8 -4: 9 -4:-64 -64 3227: -4 5: 1 12: 0 11: 0 5: -64 0: 1 11: 0 5: -64 0: 1 12: 2 11: 0 5:-64 -64 3228: -9 9: -4 12: -5 11: -5 5: -64 0: -4 11: -5 5: -64 0: -4 12: -3 11: -5 5: -64 0: 5 12: 4 11: 4 5: -64 0: 5 11: 4 5: -64 0: 5 12: 6 11: 4 5:-64 -64 3229: -7 7: -1 12: -3 11: -4 9: -4 7: -3 5: -1 4: 1 4: 3 5: 4 7: 4 9: 3 11: 1 12: -1 12: -64 0: -1 12: -4 9: -3 5: 1 4: 4 7: 3 11: -1 12: -64 0: 1 12: -3 11: -4 7: -1 4: 3 5: 4 9: 1 12:-64 -64 3247: 0 0:-64 -64 3248: -4 4:-64 -64 3249: -8 8:-64 -64 3250: -10 11: 2 12: -1 11: -3 9: -5 6: -6 3: -7 -1: -7 -4: -6 -7: -5 -8: -3 -9: -1 -9: 2 -8: 4 -6: 6 -3: 7 0: 8 4: 8 7: 7 10: 6 11: 4 12: 2 12: -64 0: -1 10: -3 8: -4 6: -5 3: -6 -1: -6 -5: -5 -7: -64 0: 2 -7: 4 -5: 5 -3: 6 0: 7 4: 7 8: 6 10: -64 0: 2 12: 0 11: -2 8: -3 6: -4 3: -5 -1: -5 -6: -4 -8: -3 -9: -64 0: -1 -9: 1 -8: 3 -5: 4 -3: 5 0: 6 4: 6 9: 5 11: 4 12:-64 -64 3251: -10 11: 2 8: -3 -9: -1 -9: -64 0: 5 12: 3 8: -2 -9: -64 0: 5 12: -1 -9: -64 0: 5 12: 2 9: -1 7: -3 6: -64 0: 2 8: 0 7: -3 6:-64 -64 3252: -10 11: -3 7: -3 8: -2 8: -2 6: -4 6: -4 8: -3 10: -2 11: 1 12: 4 12: 7 11: 8 9: 8 7: 7 5: 5 3: -5 -3: -7 -5: -9 -9: -64 0: 6 11: 7 9: 7 7: 6 5: 4 3: 1 1: -64 0: 4 12: 5 11: 6 9: 6 7: 5 5: 3 3: -5 -3: -64 0: -8 -7: -7 -6: -5 -6: 0 -7: 5 -7: 6 -6: -64 0: -5 -6: 0 -8: 5 -8: -64 0: -5 -6: 0 -9: 3 -9: 5 -8: 6 -6: 6 -5:-64 -64 3253: -10 11: -3 7: -3 8: -2 8: -2 6: -4 6: -4 8: -3 10: -2 11: 1 12: 4 12: 7 11: 8 9: 8 7: 7 5: 6 4: 4 3: 1 2: -64 0: 6 11: 7 9: 7 7: 6 5: 5 4: -64 0: 4 12: 5 11: 6 9: 6 7: 5 5: 3 3: 1 2: -64 0: -1 2: 1 2: 4 1: 5 0: 6 -2: 6 -5: 5 -7: 3 -8: 0 -9: -3 -9: -6 -8: -7 -7: -8 -5: -8 -3: -6 -3: -6 -5: -7 -5: -7 -4: -64 0: 4 0: 5 -2: 5 -5: 4 -7: -64 0: 1 2: 3 1: 4 -1: 4 -5: 3 -7: 2 -8: 0 -9:-64 -64 3254: -10 11: 5 8: 0 -9: 2 -9: -64 0: 8 12: 6 8: 1 -9: -64 0: 8 12: 2 -9: -64 0: 8 12: -8 -3: 8 -3:-64 -64 3255: -10 11: -1 12: -6 2: -64 0: -1 12: 9 12: -64 0: -1 11: 7 11: -64 0: -2 10: 3 10: 7 11: 9 12: -64 0: -6 2: -5 3: -2 4: 1 4: 4 3: 5 2: 6 0: 6 -3: 5 -6: 3 -8: -1 -9: -4 -9: -6 -8: -7 -7: -8 -5: -8 -3: -6 -3: -6 -5: -7 -5: -7 -4: -64 0: 4 2: 5 0: 5 -3: 4 -6: 2 -8: -64 0: 1 4: 3 3: 4 1: 4 -3: 3 -6: 1 -8: -1 -9:-64 -64 3256: -10 11: 7 8: 7 9: 6 9: 6 7: 8 7: 8 9: 7 11: 5 12: 2 12: -1 11: -3 9: -5 6: -6 3: -7 -1: -7 -4: -6 -7: -5 -8: -3 -9: 0 -9: 3 -8: 5 -6: 6 -4: 6 -1: 5 1: 4 2: 2 3: -1 3: -3 2: -4 1: -5 -1: -64 0: -2 9: -4 6: -5 3: -6 -1: -6 -5: -5 -7: -64 0: 4 -6: 5 -4: 5 -1: 4 1: -64 0: 2 12: 0 11: -2 8: -3 6: -4 3: -5 -1: -5 -6: -4 -8: -3 -9: -64 0: 0 -9: 2 -8: 3 -7: 4 -4: 4 0: 3 2: 2 3:-64 -64 3257: -10 11: -4 12: -6 6: -64 0: 9 12: 8 9: 6 6: 2 1: 0 -2: -1 -5: -2 -9: -64 0: 0 -1: -2 -5: -3 -9: -64 0: 6 6: 0 0: -2 -3: -3 -5: -4 -9: -2 -9: -64 0: -5 9: -2 12: 0 12: 5 9: -64 0: -3 11: 0 11: 5 9: -64 0: -5 9: -3 10: 0 10: 5 9: 7 9: 8 10: 9 12:-64 -64 3258: -10 11: 1 12: -2 11: -3 10: -4 8: -4 5: -3 3: -1 2: 2 2: 5 3: 7 4: 8 6: 8 9: 7 11: 5 12: 1 12: -64 0: 3 12: -2 11: -64 0: -2 10: -3 8: -3 4: -2 3: -64 0: -3 3: 0 2: -64 0: 1 2: 5 3: -64 0: 6 4: 7 6: 7 9: 6 11: -64 0: 7 11: 3 12: -64 0: 1 12: -1 10: -2 8: -2 4: -1 2: -64 0: 2 2: 4 3: 5 4: 6 6: 6 10: 5 12: -64 0: -1 2: -5 1: -7 -1: -8 -3: -8 -6: -7 -8: -4 -9: 0 -9: 4 -8: 5 -7: 6 -5: 6 -2: 5 0: 4 1: 2 2: -64 0: 0 2: -5 1: -64 0: -4 1: -6 -1: -7 -3: -7 -6: -6 -8: -64 0: -7 -8: -2 -9: 4 -8: -64 0: 4 -7: 5 -5: 5 -2: 4 0: -64 0: 4 1: 1 2: -64 0: -1 2: -3 1: -5 -1: -6 -3: -6 -6: -5 -8: -4 -9: -64 0: 0 -9: 2 -8: 3 -7: 4 -5: 4 -1: 3 1: 2 2:-64 -64 3259: -10 11: 6 4: 5 2: 4 1: 2 0: -1 0: -3 1: -4 2: -5 4: -5 7: -4 9: -2 11: 1 12: 4 12: 6 11: 7 10: 8 7: 8 4: 7 0: 6 -3: 4 -6: 2 -8: -1 -9: -4 -9: -6 -8: -7 -6: -7 -4: -5 -4: -5 -6: -6 -6: -6 -5: -64 0: -3 2: -4 4: -4 7: -3 9: -64 0: 6 10: 7 8: 7 4: 6 0: 5 -3: 3 -6: -64 0: -1 0: -2 1: -3 3: -3 7: -2 10: -1 11: 1 12: -64 0: 4 12: 5 11: 6 9: 6 4: 5 0: 4 -3: 3 -5: 1 -8: -1 -9:-64 -64 3260: -5 6: -2 -6: -3 -7: -3 -8: -2 -9: -1 -9: 0 -8: 0 -7: -1 -6: -2 -6: -64 0: -2 -7: -2 -8: -1 -8: -1 -7: -2 -7:-64 -64 3261: -5 6: -1 -9: -2 -9: -3 -8: -3 -7: -2 -6: -1 -6: 0 -7: 0 -9: -1 -11: -2 -12: -4 -13: -64 0: -2 -7: -2 -8: -1 -8: -1 -7: -2 -7: -64 0: -1 -9: -1 -10: -2 -12:-64 -64 3262: -5 6: 1 5: 0 4: 0 3: 1 2: 2 2: 3 3: 3 4: 2 5: 1 5: -64 0: 1 4: 1 3: 2 3: 2 4: 1 4: -64 0: -2 -6: -3 -7: -3 -8: -2 -9: -1 -9: 0 -8: 0 -7: -1 -6: -2 -6: -64 0: -2 -7: -2 -8: -1 -8: -1 -7: -2 -7:-64 -64 3263: -5 6: 1 5: 0 4: 0 3: 1 2: 2 2: 3 3: 3 4: 2 5: 1 5: -64 0: 1 4: 1 3: 2 3: 2 4: 1 4: -64 0: -1 -9: -2 -9: -3 -8: -3 -7: -2 -6: -1 -6: 0 -7: 0 -9: -1 -11: -2 -12: -4 -13: -64 0: -2 -7: -2 -8: -1 -8: -1 -7: -2 -7: -64 0: -1 -9: -1 -10: -2 -12:-64 -64 3264: -5 6: 4 12: 3 12: 2 11: 0 -2: -64 0: 4 11: 3 11: 0 -2: -64 0: 4 11: 4 10: 0 -2: -64 0: 4 12: 5 11: 5 10: 0 -2: -64 0: -2 -6: -3 -7: -3 -8: -2 -9: -1 -9: 0 -8: 0 -7: -1 -6: -2 -6: -64 0: -2 -7: -2 -8: -1 -8: -1 -7: -2 -7:-64 -64 3265: -10 11: -3 7: -3 8: -2 8: -2 6: -4 6: -4 8: -3 10: -2 11: 1 12: 5 12: 8 11: 9 9: 9 7: 8 5: 7 4: 5 3: 1 2: -1 1: -1 -1: 1 -2: 2 -2: -64 0: 3 12: 8 11: -64 0: 7 11: 8 9: 8 7: 7 5: 6 4: 4 3: -64 0: 5 12: 6 11: 7 9: 7 7: 6 5: 5 4: 1 2: 0 1: 0 -1: 1 -2: -64 0: -2 -6: -3 -7: -3 -8: -2 -9: -1 -9: 0 -8: 0 -7: -1 -6: -2 -6: -64 0: -2 -7: -2 -8: -1 -8: -1 -7: -2 -7:-64 -64 3266: -5 6: 5 12: 3 11: 2 10: 1 8: 1 6: 2 5: 3 5: 4 6: 4 7: 3 8: 2 8: -64 0: 3 11: 2 9: 2 8: -64 0: 2 7: 2 6: 3 6: 3 7: 2 7:-64 -64 3267: -5 6: 4 9: 3 9: 2 10: 2 11: 3 12: 4 12: 5 11: 5 9: 4 7: 3 6: 1 5: -64 0: 3 11: 3 10: 4 10: 4 11: 3 11: -64 0: 4 9: 4 8: 3 6:-64 -64 3268: -13 13: 10 3: 10 4: 9 4: 9 2: 11 2: 11 4: 10 5: 9 5: 7 4: 5 2: 0 -6: -2 -8: -4 -9: -7 -9: -10 -8: -11 -6: -11 -4: -10 -2: -9 -1: -7 0: -2 2: 0 3: 2 5: 3 7: 3 9: 2 11: 0 12: -2 11: -3 9: -3 6: -2 0: -1 -3: 0 -5: 2 -8: 4 -9: 6 -9: 7 -7: 7 -6: -64 0: -6 -9: -10 -8: -64 0: -9 -8: -10 -6: -10 -4: -9 -2: -8 -1: -6 0: -64 0: -2 2: -1 -1: 2 -7: 4 -8: -64 0: -7 -9: -8 -8: -9 -6: -9 -4: -8 -2: -7 -1: -5 0: 0 3: -64 0: -3 6: -2 3: -1 0: 1 -4: 3 -7: 5 -8: 6 -8: 7 -7:-64 -64 3269: -10 11: 2 16: -6 -13: -64 0: 7 16: -1 -13: -64 0: 8 7: 8 8: 7 8: 7 6: 9 6: 9 8: 8 10: 7 11: 4 12: 0 12: -3 11: -5 9: -5 6: -4 4: -2 2: 4 -1: 5 -3: 5 -6: 4 -8: -64 0: -4 6: -3 4: 4 0: 5 -2: -64 0: -3 11: -4 9: -4 7: -3 5: 3 2: 5 0: 6 -2: 6 -5: 5 -7: 4 -8: 1 -9: -3 -9: -6 -8: -7 -7: -8 -5: -8 -3: -6 -3: -6 -5: -7 -5: -7 -4:-64 -64 3270: -11 12: 13 16: -13 -16: -12 -16: -64 0: 13 16: 14 16: -12 -16:-64 -64 3271: -8 8: 8 16: 6 15: 3 13: 0 10: -2 7: -4 3: -5 -1: -5 -6: -4 -10: -3 -13: -1 -16: -64 0: 1 10: -1 7: -3 3: -4 -2: -4 -10: -64 0: 8 16: 5 14: 2 11: 0 8: -1 6: -2 3: -3 -1: -4 -10: -64 0: -4 -2: -3 -11: -2 -14: -1 -16:-64 -64 3272: -8 8: 1 16: 3 13: 4 10: 5 6: 5 1: 4 -3: 2 -7: 0 -10: -3 -13: -6 -15: -8 -16: -64 0: 4 10: 4 2: 3 -3: 1 -7: -1 -10: -64 0: 1 16: 2 14: 3 11: 4 2: -64 0: 4 10: 3 1: 2 -3: 1 -6: 0 -8: -2 -11: -5 -14: -8 -16:-64 -64 3273: -8 9: 2 12: 1 11: 3 1: 2 0: -64 0: 2 12: 2 0: -64 0: 2 12: 3 11: 1 1: 2 0: -64 0: -3 9: -2 9: 6 3: 7 3: -64 0: -3 9: 7 3: -64 0: -3 9: -3 8: 7 4: 7 3: -64 0: 7 9: 6 9: -2 3: -3 3: -64 0: 7 9: -3 3: -64 0: 7 9: 7 8: -3 4: -3 3:-64 -64 3274: -12 13: -8 1: 9 1: 9 0: -64 0: -8 1: -8 0: 9 0:-64 -64 3275: -12 13: 0 9: 0 -8: 1 -8: -64 0: 0 9: 1 9: 1 -8: -64 0: -8 1: 9 1: 9 0: -64 0: -8 1: -8 0: 9 0:-64 -64 3276: -12 13: -8 5: 9 5: 9 4: -64 0: -8 5: -8 4: 9 4: -64 0: -8 -3: 9 -3: 9 -4: -64 0: -8 -3: -8 -4: 9 -4:-64 -64 3277: -5 5: 3 12: 2 11: 0 5: -64 0: 3 11: 0 5: -64 0: 3 12: 4 11: 0 5:-64 -64 3278: -10 10: -2 12: -3 11: -5 5: -64 0: -2 11: -5 5: -64 0: -2 12: -1 11: -5 5: -64 0: 8 12: 7 11: 5 5: -64 0: 8 11: 5 5: -64 0: 8 12: 9 11: 5 5:-64 -64 3279: -7 8: 1 12: -1 11: -2 9: -2 7: -1 5: 1 4: 3 4: 5 5: 6 7: 6 9: 5 11: 3 12: 1 12: -64 0: 1 12: -2 9: -1 5: 3 4: 6 7: 5 11: 1 12: -64 0: 3 12: -1 11: -2 7: 1 4: 5 5: 6 9: 3 12:-64 -64 3301: -12 12: -9 10: -8 9: -9 8: -10 9: -9 11: -7 12: -5 12: -3 11: -2 10: -1 7: -1 3: -2 0: -4 -2: -6 -3: -9 -4: -64 0: -3 10: -2 7: -2 2: -3 0: -64 0: -5 12: -4 11: -3 8: -3 2: -4 -1: -6 -3: -64 0: -6 -4: -3 -7: -64 0: -7 -4: -3 -8: -64 0: -9 -4: -4 -9: 3 -4: -64 0: 10 11: 9 10: 10 10: 10 11: 9 12: 7 12: 5 11: 4 10: 3 8: 3 -7: 5 -9: 9 -5: -64 0: 5 10: 4 8: 4 -6: 6 -8: -64 0: 7 12: 6 11: 5 8: 5 -5: 7 -7:-64 -64 3302: -13 13: -11 1: -11 0: -10 -1: -8 -1: -6 0: -6 3: -7 5: -9 8: -9 10: -7 12: -64 0: -7 3: -9 7: -64 0: -8 -1: -7 0: -7 2: -9 5: -10 7: -10 9: -9 11: -7 12: -4 12: -2 11: -1 10: 0 8: 0 0: -1 -3: -3 -5: -64 0: -2 10: -1 8: -1 -2: -64 0: -4 12: -3 11: -2 8: -2 -3: -3 -5: -64 0: 0 9: 1 11: 3 12: 5 12: 7 11: 8 10: 9 8: 10 7: -64 0: 7 10: 8 8: -64 0: 5 12: 6 11: 7 8: 8 7: 10 7: -64 0: 10 7: 0 2: -64 0: 7 5: 9 3: 10 0: 10 -3: 9 -6: 7 -8: 4 -9: 1 -9: -2 -8: -8 -5: -9 -5: -10 -6: -64 0: 6 4: 7 4: 9 2: -64 0: 4 4: 7 3: 9 1: 10 -1: -64 0: 2 -8: 0 -8: -6 -5: -7 -5: -64 0: 8 -7: 6 -8: 3 -8: 0 -7: -4 -5: -7 -4: -9 -4: -10 -6: -10 -8: -9 -9: -8 -8: -9 -7:-64 -64 3303: -12 12: 0 10: -2 12: -4 12: -6 11: -8 8: -9 4: -9 0: -8 -4: -6 -7: -4 -8: -1 -9: 2 -9: 5 -8: 7 -7: 9 -5: -64 0: -6 10: -7 8: -8 5: -8 0: -7 -4: -5 -7: -2 -8: -64 0: -4 12: -5 11: -6 9: -7 5: -7 1: -6 -3: -5 -5: -3 -7: 0 -8: 3 -8: 6 -7: 9 -5: -64 0: 3 12: 0 10: -1 9: -2 7: -2 6: -1 4: 2 2: 3 0: 3 -2: -64 0: -1 7: -1 6: 3 2: 3 1: -64 0: -1 9: -1 8: 0 6: 3 4: 4 2: 4 0: 3 -2: 1 -3: 0 -3: -2 -2: -3 0: -64 0: 3 12: 4 11: 6 10: 8 10: -64 0: 3 11: 4 10: 5 10: -64 0: 2 11: 4 9: 6 9: 8 10: 9 11:-64 -64 3304: -13 13: -10 6: -10 7: -9 9: -7 11: -4 12: 0 12: 3 11: 5 10: 7 8: 9 5: 10 1: 10 -3: 9 -6: 7 -8: 4 -9: 1 -9: -2 -8: -8 -5: -9 -5: -10 -6: -64 0: -7 10: -5 11: 0 11: 3 10: 5 9: 7 7: 9 4: -64 0: 2 -8: 0 -8: -6 -5: -7 -5: -64 0: -10 7: -8 9: -5 10: 0 10: 3 9: 5 8: 7 6: 9 3: 10 0: -64 0: 8 -7: 6 -8: 3 -8: 0 -7: -4 -5: -7 -4: -9 -4: -10 -6: -10 -8: -9 -9: -8 -8: -9 -7: -64 0: -2 10: -5 7: -6 5: -6 3: -4 -1: -4 -3: -64 0: -5 4: -5 3: -4 1: -4 0: -64 0: -5 7: -5 5: -3 1: -3 -1: -4 -3: -5 -4: -7 -4: -8 -3: -8 -2:-64 -64 3305: -12 12: 0 10: -2 12: -4 12: -6 11: -8 8: -9 4: -9 0: -8 -4: -6 -7: -4 -8: -1 -9: 2 -9: 5 -8: 7 -7: 9 -5: -64 0: -6 10: -7 8: -8 5: -8 0: -7 -4: -5 -7: -2 -8: -64 0: -4 12: -5 11: -6 9: -7 5: -7 1: -6 -3: -5 -5: -3 -7: 0 -8: 3 -8: 6 -7: 9 -5: -64 0: 3 12: 0 10: -1 9: -2 7: -2 6: -1 4: 2 2: 3 0: 3 -2: -64 0: -1 7: -1 6: 3 2: 3 1: -64 0: -1 9: -1 8: 0 6: 3 4: 4 2: 4 0: 3 -2: 1 -3: 0 -3: -2 -2: -3 0: -64 0: 3 12: 4 11: 6 10: 8 10: -64 0: 3 11: 4 10: 5 10: -64 0: 2 11: 4 9: 6 9: 8 10: 9 11: -64 0: 3 4: 7 7: -64 0: 7 7: 8 6: 10 6: -64 0: 6 6: 7 5: 8 5: -64 0: 5 5: 6 4: 8 4: 10 6:-64 -64 3306: -12 12: -5 4: -7 5: -8 7: -8 9: -7 11: -4 12: -1 12: 2 11: 6 9: -64 0: -7 10: -5 11: 0 11: 3 10: -64 0: -8 7: -7 9: -5 10: 0 10: 6 9: 8 9: 9 10: 9 11: 8 12: 7 12: -64 0: 1 10: 0 9: -1 7: -1 5: 0 3: 4 -1: 5 -4: 5 -7: 4 -10: 3 -11: 1 -12: -64 0: 2 2: 5 -1: 6 -4: 6 -7: 5 -9: -64 0: -1 5: 1 3: 4 1: 6 -1: 7 -4: 7 -7: 6 -9: 4 -11: 1 -12: -3 -12: -6 -11: -7 -10: -8 -8: -8 -5: -6 -2: -6 0: -7 1: -64 0: -6 -10: -7 -9: -7 -5: -6 -3: -64 0: -3 -12: -5 -11: -6 -9: -6 -5: -5 -2: -5 0: -6 1: -8 1: -9 0: -9 -1: -64 0: 3 2: 7 6: -64 0: 7 6: 8 5: 10 5: -64 0: 6 5: 7 4: 8 4: -64 0: 5 4: 6 3: 8 3: 10 5:-64 -64 3307: -13 13: 3 8: 2 10: 1 11: -1 12: -4 12: -7 11: -9 8: -10 4: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 2 -9: 5 -8: 7 -7: 9 -5: 10 -2: 10 1: 9 4: 7 6: -64 0: -7 10: -8 8: -9 5: -9 0: -8 -3: -7 -5: -64 0: 8 -5: 9 -3: 9 1: 8 4: 7 5: -64 0: -4 12: -6 11: -7 9: -8 5: -8 0: -7 -4: -6 -6: -4 -8: -64 0: 5 -8: 7 -6: 8 -3: 8 1: 7 3: 5 5: -64 0: 3 12: 0 10: -2 8: -3 6: -3 5: -2 3: 1 1: 2 -1: 2 -3: -64 0: -2 6: -2 5: 2 1: 2 0: -64 0: -2 8: -2 7: -1 5: 2 3: 3 1: 3 -1: 2 -3: 0 -4: -1 -4: -3 -3: -4 -1: -64 0: 2 3: 7 6: 8 8: -64 0: 10 12: 8 8: -64 0: 7 11: 11 9: -64 0: 10 12: 9 11: 7 11: 8 10: 8 8: 9 9: 11 9: 10 10: 10 12:-64 -64 3308: -12 13: 0 12: -2 11: -4 9: -5 7: -5 5: -4 3: -2 1: -1 -1: -1 -3: -64 0: -4 6: -4 5: -1 1: -1 0: -64 0: -4 9: -4 7: -3 5: -1 3: 0 1: 0 -1: -1 -3: -2 -4: -4 -5: -6 -5: -8 -4: -9 -3: -10 -1: -10 1: -9 2: -8 1: -9 0: -64 0: 0 12: 2 10: 4 10: 6 11: -64 0: -1 11: 1 10: -64 0: -2 11: -1 10: 1 9: 3 9: 6 11: -64 0: 0 2: 7 7: -64 0: 7 7: 9 4: 10 1: 10 -2: 9 -5: 7 -7: 4 -8: 0 -9: -64 0: 6 6: 8 4: 9 1: 9 -3: 8 -5: -64 0: 4 5: 5 5: 7 3: 8 0: 8 -4: 7 -6: 6 -7: 4 -8: -64 0: 4 -8: 2 -8: 0 -7: -2 -7: -4 -8: -5 -10: -4 -12: -2 -13: 0 -13: 2 -12: -64 0: 1 -8: -1 -8: -64 0: 0 -9: -2 -8: -4 -8:-64 -64 3309: -12 13: -2 2: -4 2: -6 3: -7 4: -8 6: -8 8: -7 10: -6 11: -3 12: -1 12: 2 11: 5 8: 7 7: -64 0: -6 10: -4 11: 0 11: 2 10: 3 9: -64 0: -8 8: -7 9: -5 10: -1 10: 2 9: 4 8: 7 7: 9 7: 10 8: 10 10: 9 11: 7 11: -64 0: -8 -6: -7 -7: -8 -8: -9 -7: -9 -5: -8 -4: -6 -4: -4 -5: -2 -7: 0 -10: 2 -12: -64 0: -4 -6: -3 -7: -1 -10: 0 -11: -64 0: -6 -4: -5 -5: -4 -7: -2 -10: -1 -11: 1 -12: 4 -12: 6 -11: 7 -10: 8 -8: 8 -5: 7 -3: 5 0: 4 2: 4 3: -64 0: 7 -6: 7 -5: 4 0: 4 1: -64 0: 6 -11: 7 -9: 7 -7: 6 -5: 4 -2: 3 0: 3 2: 5 4: 7 4: 8 3: 8 2:-64 -64 3310: -12 13: -2 2: -4 2: -6 3: -7 4: -8 6: -8 8: -7 10: -6 11: -3 12: -1 12: 2 11: 5 8: 7 7: -64 0: -6 10: -4 11: 0 11: 2 10: 3 9: -64 0: -8 8: -7 9: -5 10: -1 10: 2 9: 4 8: 7 7: 9 7: 10 8: 10 10: 9 11: 7 11: -64 0: -8 -6: -7 -7: -8 -8: -9 -7: -9 -5: -8 -4: -6 -4: -4 -5: -2 -7: 0 -10: 2 -12: -64 0: -4 -6: -3 -7: -1 -10: 0 -11: -64 0: -6 -4: -5 -5: -4 -7: -2 -10: -1 -11: 1 -12: 4 -12: 6 -11: 7 -10: 8 -8: 8 -5: 7 -3: 5 0: 4 2: 4 3: -64 0: 7 -6: 7 -5: 4 0: 4 1: -64 0: 6 -11: 7 -9: 7 -7: 6 -5: 4 -2: 3 0: 3 2: 5 4: 7 4: 8 3: 8 2:-64 -64 3311: -13 13: 9 7: 8 9: 6 11: 3 12: 0 12: -3 11: -5 9: -6 7: -6 4: -5 1: -2 -5: -2 -7: -4 -9: -64 0: -5 4: -5 3: -2 -3: -2 -4: -64 0: -4 10: -5 8: -5 5: -4 3: -2 -1: -1 -4: -1 -6: -2 -8: -4 -9: -6 -9: -8 -8: -64 0: -10 -4: -8 -8: -64 0: -11 -7: -7 -5: -64 0: -10 -4: -10 -6: -11 -7: -9 -7: -8 -8: -8 -6: -7 -5: -9 -5: -10 -4: -64 0: -4 3: -4 5: -3 7: -1 8: 2 8: 4 7: 6 5: 7 5: -64 0: 3 7: 5 5: -64 0: 0 8: 2 7: 3 6: 4 4: -64 0: 7 5: -2 1: -64 0: 3 3: 7 -6: 8 -7: 9 -7: -64 0: 2 2: 6 -6: 8 -8: -64 0: 1 2: 5 -7: 7 -9: 10 -6:-64 -64 3312: -11 12: 8 -1: 7 -2: 4 -2: 3 -1: 3 1: 4 3: 6 6: 7 8: 7 10: -64 0: 4 1: 4 2: 7 6: 7 7: -64 0: 5 -2: 4 -1: 4 0: 5 2: 7 4: 8 6: 8 8: 7 10: 6 11: 3 12: -2 12: -5 11: -6 10: -7 8: -7 6: -6 4: -4 1: -3 -1: -3 -2: -4 -4: -64 0: -6 7: -6 6: -3 1: -3 0: -64 0: -6 10: -6 8: -5 6: -3 3: -2 1: -2 -1: -3 -3: -5 -5: -8 -7: -64 0: -5 -5: -3 -5: 0 -7: 3 -8: 6 -8: 8 -7: -64 0: -4 -6: -3 -6: 1 -8: 2 -8: -64 0: -8 -7: -6 -6: -5 -6: -1 -8: 2 -9: 4 -9: 7 -8: 8 -7: 9 -5:-64 -64 3313: -16 16: -13 1: -13 0: -12 -1: -10 -1: -8 0: -8 3: -9 5: -11 8: -11 10: -9 12: -64 0: -9 3: -11 7: -64 0: -10 -1: -9 0: -9 2: -11 5: -12 7: -12 9: -11 11: -9 12: -7 12: -5 11: -3 9: -2 6: -2 0: -3 -3: -4 -5: -6 -7: -9 -9: -10 -8: -11 -8: -64 0: -4 9: -3 6: -3 0: -4 -3: -5 -5: -64 0: -8 -8: -9 -7: -10 -7: -64 0: -7 12: -5 10: -4 7: -4 0: -5 -4: -6 -6: -7 -7: -8 -6: -9 -6: -12 -9: -64 0: -4 11: -2 12: 0 12: 2 11: 4 9: 5 6: 5 0: 4 -3: 3 -5: 1 -7: -1 -9: -2 -8: -3 -8: -64 0: 3 9: 4 6: 4 0: 3 -4: -64 0: 0 -8: -1 -7: -2 -7: -64 0: 0 12: 2 10: 3 7: 3 -1: 2 -5: 1 -7: 0 -6: -1 -6: -4 -9: -64 0: 3 10: 4 11: 6 12: 8 12: 10 11: 11 10: 12 8: 13 7: -64 0: 10 10: 11 8: -64 0: 8 12: 9 11: 10 8: 11 7: 13 7: -64 0: 13 7: 10 5: 9 4: 8 1: 8 -2: 9 -6: 11 -9: 14 -6: -64 0: 10 4: 9 2: 9 -2: 10 -5: 12 -8: -64 0: 13 7: 11 5: 10 3: 10 -1: 11 -5: 13 -7:-64 -64 3314: -14 14: -11 1: -11 0: -10 -1: -8 -1: -6 0: -6 3: -7 5: -9 8: -9 10: -7 12: -64 0: -7 3: -9 7: -64 0: -8 -1: -7 0: -7 2: -9 5: -10 7: -10 9: -9 11: -7 12: -4 12: -2 11: 0 9: 1 6: 1 0: 0 -3: -1 -5: -3 -7: -6 -9: -7 -8: -9 -8: -11 -9: -64 0: -1 9: 0 7: 0 0: -1 -3: -2 -5: -3 -6: -64 0: -5 -8: -7 -7: -9 -7: -64 0: -4 12: -2 10: -1 7: -1 0: -2 -4: -4 -7: -6 -6: -8 -6: -11 -9: -64 0: 0 10: 1 11: 3 12: 5 12: 7 11: 8 10: 9 8: 10 7: -64 0: 7 10: 8 8: -64 0: 5 12: 6 11: 7 8: 8 7: 10 7: -64 0: 10 7: 7 5: 6 4: 5 1: 5 -2: 6 -6: 8 -9: 11 -6: -64 0: 7 4: 6 2: 6 -2: 7 -5: 9 -8: -64 0: 10 7: 8 5: 7 3: 7 -1: 8 -5: 10 -7:-64 -64 3315: -14 14: -2 12: -4 11: -6 9: -7 7: -7 5: -5 1: -5 -1: -64 0: -6 6: -6 5: -5 3: -5 2: -64 0: -6 9: -6 7: -4 3: -4 1: -5 -1: -6 -2: -8 -2: -9 -1: -9 0: -64 0: -2 12: -1 11: 5 9: 8 7: 9 5: 10 2: 10 -1: 9 -4: 8 -6: 6 -8: 3 -9: 0 -9: -3 -8: -9 -5: -10 -5: -11 -6: -64 0: -2 11: -1 10: 5 8: 7 7: 8 6: -64 0: -2 12: -2 10: -1 9: 5 7: 7 6: 9 4: 10 2: -64 0: 1 -8: -1 -8: -7 -5: -8 -5: -64 0: 7 -7: 5 -8: 2 -8: -1 -7: -5 -5: -8 -4: -10 -4: -11 -6: -11 -8: -10 -9: -9 -8: -10 -7:-64 -64 3316: -13 14: -10 1: -10 0: -9 -1: -7 -1: -5 0: -5 3: -6 5: -8 8: -8 10: -6 12: -64 0: -6 3: -8 7: -64 0: -7 -1: -6 0: -6 2: -8 5: -9 7: -9 9: -8 11: -6 12: -3 12: -1 11: 0 10: 1 8: 1 -3: -64 0: 1 -5: 1 -10: 0 -12: -2 -13: -5 -13: -6 -12: -6 -10: -5 -9: -4 -10: -5 -11: -64 0: -1 10: 0 8: 0 -10: -1 -12: -64 0: -3 12: -2 11: -1 8: -1 -3: -64 0: -1 -5: -1 -10: -2 -12: -3 -13: -64 0: 1 8: 6 12: -64 0: 6 12: 8 9: 9 7: 10 3: 10 0: 9 -3: 7 -6: 4 -9: -64 0: 5 11: 8 7: 9 4: 9 3: -64 0: 4 10: 6 8: 8 5: 9 2: 9 -1: 8 -4: 7 -6: -64 0: 5 -7: 3 -4: 1 -3: -64 0: -1 -3: -3 -4: -5 -6: -64 0: 5 -8: 3 -5: 1 -4: -2 -4: -64 0: 4 -9: 2 -6: 1 -5: -64 0: -1 -5: -3 -5: -5 -6:-64 -64 3317: -14 14: -2 12: -4 11: -6 9: -7 7: -7 5: -5 1: -5 -1: -64 0: -6 6: -6 5: -5 3: -5 2: -64 0: -6 9: -6 7: -4 3: -4 1: -5 -1: -6 -2: -8 -2: -9 -1: -9 0: -64 0: -2 12: -1 11: 5 9: 8 7: 9 5: 10 2: 10 -1: 9 -4: 8 -6: -64 0: 6 -8: 3 -9: 0 -9: -3 -8: -9 -5: -10 -5: -11 -6: -64 0: -2 11: -1 10: 5 8: 7 7: 8 6: -64 0: -2 12: -2 10: -1 9: 5 7: 7 6: 9 4: 10 2: -64 0: 1 -8: -1 -8: -7 -5: -8 -5: -64 0: 6 -8: 2 -8: -1 -7: -5 -5: -8 -4: -10 -4: -11 -6: -11 -8: -10 -9: -9 -8: -10 -7: -64 0: 2 -6: 4 -4: 6 -4: 10 -8: 11 -8: -64 0: 5 -5: 6 -5: 9 -8: -64 0: 3 -5: 4 -5: 8 -9: 10 -9: 12 -7:-64 -64 3318: -14 14: -11 1: -11 0: -10 -1: -8 -1: -6 0: -6 3: -7 5: -9 8: -9 10: -7 12: -64 0: -7 3: -9 7: -64 0: -8 -1: -7 0: -7 2: -9 5: -10 7: -10 9: -9 11: -7 12: -4 12: -2 11: -1 10: 0 8: 0 -4: -1 -6: -3 -8: -5 -9: -7 -9: -9 -8: -64 0: -2 10: -1 8: -1 -4: -2 -6: -64 0: -4 12: -3 11: -2 8: -2 -4: -3 -7: -5 -9: -64 0: -11 -4: -9 -8: -64 0: -12 -7: -8 -5: -64 0: -11 -4: -11 -6: -12 -7: -10 -7: -9 -8: -9 -6: -8 -5: -10 -5: -11 -4: -64 0: 0 9: 1 11: 3 12: 5 12: 7 11: 8 10: 9 8: 10 7: -64 0: 7 10: 8 8: -64 0: 5 12: 6 11: 7 8: 8 7: 10 7: -64 0: 10 7: 0 2: -64 0: 2 3: 6 -7: 8 -9: 11 -6: -64 0: 3 3: 7 -6: 9 -8: -64 0: 4 4: 8 -6: 9 -7: 10 -7:-64 -64 3319: -13 14: 10 10: 9 11: 10 12: 11 11: 11 9: 10 7: 8 7: 4 9: 1 10: -3 10: -7 9: -9 7: -64 0: 7 8: 4 10: 1 11: -3 11: -6 10: -64 0: 11 9: 10 8: 8 8: 4 11: 1 12: -3 12: -6 11: -8 9: -9 7: -10 4: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 3 -9: 6 -8: 8 -7: 10 -5: 11 -2: 11 1: 10 3: 8 4: 5 4: 3 3: 1 0: -1 -1: -3 -1: -64 0: -6 -6: -4 -7: -1 -8: 3 -8: 7 -7: -64 0: -9 -3: -7 -5: -5 -6: -2 -7: 3 -7: 7 -6: 9 -5: 10 -4: 11 -2: -64 0: 6 3: 5 3: 1 -1: 0 -1: -64 0: 11 1: 9 3: 7 3: 5 2: 3 -1: 1 -2: -1 -2: -3 -1: -4 1: -4 3: -3 5: -1 6:-64 -64 3320: -12 13: -6 4: -8 5: -9 7: -9 9: -8 11: -5 12: 0 12: 3 11: 7 8: 9 8: 10 9: -64 0: -8 10: -6 11: 0 11: 3 10: 6 8: -64 0: -9 7: -8 9: -6 10: 0 10: 3 9: 7 7: 9 7: 10 9: 10 11: 9 12: 8 11: 9 10: -64 0: 3 9: 0 6: -1 4: -1 2: 1 -2: 1 -4: -64 0: 0 3: 0 2: 1 0: 1 -1: -64 0: 0 6: 0 4: 2 0: 2 -2: 1 -4: 0 -5: -2 -5: -3 -4: -3 -2: -64 0: -8 -7: -7 -8: -8 -9: -9 -8: -9 -6: -8 -4: -6 -4: -3 -5: 1 -7: 4 -8: 7 -8: 9 -7: -64 0: -6 -5: -5 -5: 1 -8: 3 -8: -64 0: -9 -6: -8 -5: -7 -5: -5 -6: -1 -8: 2 -9: 5 -9: 8 -8: 10 -6:-64 -64 3321: -11 11: -8 10: -7 10: -6 9: -6 -5: -8 -6: -64 0: -7 11: -5 10: -5 -6: -2 -8: -64 0: -9 9: -6 12: -4 10: -4 -5: -2 -7: 0 -7: -64 0: -8 -6: -7 -6: -5 -7: -3 -9: 0 -7: 4 -4: -64 0: 2 10: 3 10: 4 9: 4 -7: 6 -9: 9 -6: -64 0: 3 11: 5 10: 5 -7: 7 -8: -64 0: 1 9: 4 12: 7 10: 6 9: 6 -6: 7 -7: 8 -7:-64 -64 3322: -14 14: -11 1: -11 0: -10 -1: -8 -1: -6 0: -6 3: -7 5: -9 8: -9 10: -7 12: -64 0: -7 3: -9 7: -64 0: -8 -1: -7 0: -7 2: -9 5: -10 7: -10 9: -9 11: -7 12: -4 12: -2 11: -1 10: 0 8: 0 0: -1 -3: -3 -5: -64 0: -2 10: -1 8: -1 -2: -64 0: -4 12: -3 11: -2 8: -2 -3: -3 -5: -64 0: 0 9: 1 11: 3 12: 5 12: 7 11: 9 8: 10 7: -64 0: 7 10: 8 8: -64 0: 5 12: 6 11: 7 8: 8 7: 10 7: -64 0: 8 7: 6 7: 5 6: 5 4: 6 2: 9 0: 10 -2: -64 0: 6 3: 9 1: -64 0: 5 5: 6 4: 9 2: 10 0: 10 -4: 9 -6: 7 -8: 5 -9: 1 -9: -2 -8: -8 -5: -9 -5: -10 -6: -64 0: 2 -8: 0 -8: -6 -5: -7 -5: -64 0: 8 -7: 6 -8: 3 -8: 0 -7: -4 -5: -7 -4: -9 -4: -10 -6: -10 -8: -9 -9: -8 -8: -9 -7:-64 -64 3323: -16 17: -13 1: -13 0: -12 -1: -10 -1: -8 0: -8 3: -9 5: -11 8: -11 10: -9 12: -64 0: -9 3: -11 7: -64 0: -10 -1: -9 0: -9 2: -11 5: -12 7: -12 9: -11 11: -9 12: -6 12: -4 11: -3 10: -2 8: -2 4: -3 1: -5 -2: -7 -4: -64 0: -4 10: -3 8: -3 3: -4 0: -64 0: -6 12: -5 11: -4 8: -4 3: -5 -1: -7 -4: -64 0: -4 11: -2 12: 1 12: 3 11: -64 0: 5 12: 2 11: 1 9: 1 5: 2 2: 4 -1: 5 -3: 5 -5: 4 -7: -64 0: 2 5: 2 4: 5 -1: 5 -2: -64 0: 5 12: 3 11: 2 9: 2 6: 3 4: 5 1: 6 -2: 6 -4: 5 -6: 3 -8: 1 -9: -3 -9: -5 -8: -7 -6: -9 -5: -11 -5: -12 -6: -64 0: -4 -8: -7 -5: -8 -5: -64 0: -1 -9: -3 -8: -6 -5: -8 -4: -11 -4: -12 -6: -12 -8: -11 -9: -10 -8: -11 -7: -64 0: 5 12: 8 12: 10 11: 12 8: 13 7: -64 0: 10 10: 11 8: -64 0: 8 12: 9 11: 10 8: 11 7: 13 7: -64 0: 11 7: 9 7: 8 6: 8 4: 9 2: 12 0: 13 -2: -64 0: 9 3: 12 1: -64 0: 8 5: 9 4: 12 2: 13 0: 13 -5: 12 -7: 11 -8: 9 -9: 6 -9: 3 -8: -64 0: 7 -8: 6 -8: 4 -7: -64 0: 12 -7: 10 -8: 8 -8: 6 -7: 5 -6:-64 -64 3324: -12 12: -7 10: -5 10: -3 9: -2 8: -1 5: -1 3: -64 0: -1 1: -1 -3: -2 -6: -5 -9: -7 -8: -9 -9: -64 0: -4 -8: -6 -7: -7 -7: -64 0: -3 -7: -4 -7: -6 -6: -9 -9: -64 0: -5 11: -2 10: -1 9: 0 6: 0 -3: 1 -5: 3 -7: 5 -8: -64 0: -9 9: -4 12: -2 11: 0 9: 1 6: 1 3: -64 0: 1 1: 1 -2: 2 -5: 3 -6: 5 -7: 7 -7: -64 0: -1 -3: 0 -6: 2 -8: 4 -9: 9 -6: -64 0: 1 6: 2 9: 5 12: 7 11: 9 12: -64 0: 4 11: 6 10: 7 10: -64 0: 3 10: 4 10: 6 9: 9 12: -64 0: -7 -1: -5 3: -1 3: -64 0: 1 3: 5 3: 7 5: -64 0: -5 2: 5 2: -64 0: -7 -1: -5 1: -1 1: -64 0: 1 1: 5 1: 7 5:-64 -64 3325: -13 13: -10 1: -10 0: -9 -1: -7 -1: -5 0: -5 3: -6 5: -8 8: -8 10: -6 12: -64 0: -6 3: -8 7: -64 0: -7 -1: -6 0: -6 2: -8 5: -9 7: -9 9: -8 11: -6 12: -3 12: -1 11: 0 10: 1 8: 1 3: 0 0: -1 -2: -1 -3: 1 -5: 2 -5: -64 0: -1 10: 0 8: 0 2: -1 -1: -2 -3: 1 -6: -64 0: -3 12: -2 11: -1 8: -1 2: -2 -2: -3 -4: 0 -7: 3 -4: -64 0: 1 8: 9 12: -64 0: 7 11: 7 -8: 6 -11: -64 0: 8 11: 8 -6: 7 -9: -64 0: 9 12: 9 -4: 8 -8: 7 -10: 5 -12: 2 -13: -2 -13: -5 -12: -7 -10: -8 -8: -7 -7: -6 -8: -7 -9:-64 -64 3326: -12 12: -4 9: -3 11: -1 12: 2 12: 4 11: 5 10: 6 8: 6 5: 5 3: 4 2: 2 1: -64 0: -1 1: -3 2: -4 4: -64 0: 4 10: 5 9: 5 4: 4 3: -64 0: 2 12: 3 11: 4 9: 4 4: 3 2: 2 1: -64 0: -5 -3: -4 -1: -3 0: -1 1: 2 1: 5 0: 7 -2: 8 -4: 8 -8: 7 -10: 5 -12: 2 -13: -2 -13: -4 -12: -7 -8: -8 -7: -64 0: 6 -2: 7 -4: 7 -8: 6 -10: -64 0: 2 1: 5 -1: 6 -3: 6 -9: 5 -11: 4 -12: 2 -13: -64 0: -3 -12: -4 -11: -6 -8: -7 -7: -64 0: 0 -13: -2 -12: -3 -11: -5 -8: -6 -7: -9 -7: -10 -8: -10 -10: -9 -11: -8 -11:-64 -64 3401: -8 9: 2 5: -1 4: -3 3: -4 2: -5 -1: -5 -4: -4 -7: -3 -9: 3 -6: -64 0: -4 -4: -3 -7: -2 -8: -64 0: -1 4: -3 2: -4 -1: -4 -3: -3 -6: -1 -8: -64 0: 0 4: 1 3: 3 2: 3 -7: 5 -9: 8 -6: -64 0: 1 4: 4 2: 4 -6: 6 -8: -64 0: 2 5: 3 4: 5 3: 6 3: -64 0: 5 2: 6 3: -64 0: 5 2: 5 -6: 6 -7: 7 -7:-64 -64 3402: -8 9: -6 10: -5 9: -4 7: -64 0: 2 12: -1 11: -3 9: -4 7: -4 -6: -5 -7: -64 0: -2 9: -3 7: -3 -6: 0 -8: -64 0: 2 12: 0 11: -1 10: -2 7: -2 -6: 0 -7: 1 -8: -64 0: -5 -7: -4 -7: -2 -8: -1 -9: 2 -8: -64 0: -2 2: 4 5: 5 3: 6 0: 6 -3: 5 -6: 4 -7: 2 -8: -64 0: 3 4: 4 3: 5 1: -64 0: 2 4: 4 2: 5 -1: 5 -3: 4 -6: 2 -8:-64 -64 3403: -7 6: 0 4: 2 2: 4 3: 2 5: 0 4: -3 2: -4 0: -4 -5: -3 -7: -1 -9: 3 -7: -64 0: 1 4: 3 3: -64 0: -2 2: -3 0: -3 -5: -2 -7: -1 -8: -64 0: -1 3: -2 1: -2 -4: -1 -6: 1 -8:-64 -64 3404: -8 9: -1 12: -4 9: -4 7: -3 6: 1 4: 4 2: 5 0: 5 -3: 4 -6: 2 -8: -64 0: -3 8: -3 7: 1 5: 4 3: 5 2: -64 0: -3 10: -3 9: -2 8: 3 5: 5 3: 6 0: 6 -3: 5 -6: 2 -8: -1 -9: -64 0: 0 4: -4 2: -4 -6: -5 -7: -64 0: -3 2: -3 -6: 0 -8: -64 0: -2 3: -2 -6: 0 -7: 1 -8: -64 0: -5 -7: -4 -7: -2 -8: -1 -9:-64 -64 3405: -7 6: -2 -3: 4 1: 1 5: -3 2: -4 0: -4 -5: -3 -7: -1 -9: 3 -7: -64 0: 3 1: 0 4: -64 0: -2 2: -3 0: -3 -5: -2 -7: -1 -8: -64 0: 2 0: 0 3: -1 3: -2 1: -2 -4: -1 -6: 1 -8:-64 -64 3406: -6 7: 6 12: 5 11: 3 11: 1 12: -1 12: -2 10: -2 5: -3 3: -4 2: -64 0: 4 10: 2 10: 0 11: -1 11: -64 0: 6 12: 5 10: 4 9: 2 9: 0 10: -1 10: -2 9: -64 0: -2 7: -1 5: 0 4: 2 3: 4 3: 4 2: -64 0: -4 2: -2 2: -64 0: 0 2: 4 2: -64 0: -2 2: -2 -2: -1 -14: -64 0: 1 3: -2 3: -1 4: -1 -9: -64 0: 0 2: 0 -2: -1 -14:-64 -64 3407: -8 9: 2 5: -1 4: -3 3: -4 2: -5 -1: -5 -4: -4 -7: -3 -9: 3 -6: -64 0: -4 -5: -3 -7: -2 -8: -64 0: -1 4: -3 2: -4 -1: -4 -3: -3 -6: -1 -8: -64 0: 0 4: 1 3: 3 2: 3 -6: 4 -9: 4 -11: 3 -13: -64 0: 1 4: 4 2: 4 -8: -64 0: 2 5: 3 4: 5 3: 6 3: -64 0: 5 2: 6 3: -64 0: 5 2: 5 -10: 4 -12: 3 -13: 1 -14: -2 -14: -4 -13: -5 -12: -5 -11: -4 -11: -4 -12:-64 -64 3408: -8 9: -6 10: -5 9: -4 7: -64 0: 2 12: -1 11: -3 9: -4 7: -4 -6: -5 -7: -64 0: -2 9: -3 7: -3 -7: -2 -8: -64 0: 2 12: 0 11: -1 10: -2 7: -2 -6: -1 -7: 0 -7: -64 0: -5 -7: -3 -8: -2 -9: 1 -6: -64 0: -2 2: 4 5: 5 3: 6 -1: 6 -5: 5 -8: 4 -10: 2 -12: -1 -14: -64 0: 3 4: 4 3: 5 0: -64 0: 2 4: 4 1: 5 -2: 5 -5: 4 -9: 2 -12:-64 -64 3409: -5 5: 0 12: -1 11: -1 10: 0 9: 1 10: 1 11: 0 12: -64 0: -1 11: 1 10: -64 0: -1 10: 1 11: -64 0: -3 3: -2 3: -1 2: -1 -7: 1 -9: 4 -6: -64 0: -2 4: 0 3: 0 -6: 2 -8: -64 0: -4 2: -1 5: 0 4: 2 3: -64 0: 1 2: 2 3: -64 0: 1 2: 1 -6: 2 -7: 3 -7:-64 -64 3410: -5 5: 0 12: -1 11: -1 10: 0 9: 1 10: 1 11: 0 12: -64 0: -1 11: 1 10: -64 0: -1 10: 1 11: -64 0: -3 3: -2 3: -1 2: -1 -9: -2 -12: -3 -13: -5 -14: -64 0: -2 4: 0 3: 0 -9: -1 -11: -64 0: -4 2: -1 5: 0 4: 2 3: -64 0: 1 2: 2 3: -64 0: 1 2: 1 -9: 0 -11: -2 -13: -5 -14: -64 0: 1 -9: 2 -11: 3 -12:-64 -64 3411: -7 7: -4 10: -3 9: -2 7: -64 0: 3 12: 1 11: -1 9: -2 7: -2 5: -3 3: -4 2: -64 0: -2 2: -2 -6: -3 -7: -64 0: 0 9: -1 7: -1 5: -64 0: -1 3: -2 3: -1 5: -1 -6: 1 -8: -64 0: 3 12: 1 10: 0 7: 0 3: -64 0: 0 2: 0 -6: 1 -7: 2 -7: -64 0: -3 -7: -1 -8: 0 -9: 3 -6: -64 0: 0 6: 4 9: 5 8: 5 6: 3 4: 1 3: -64 0: 3 8: 4 7: 4 6: 3 4: -64 0: 0 3: 5 3: 5 2: -64 0: -4 2: -2 2: -64 0: 0 2: 5 2:-64 -64 3412: -5 5: -3 10: -2 9: -1 7: -64 0: 5 12: 2 11: 0 9: -1 7: -1 -6: -2 -7: -64 0: 1 9: 0 7: 0 -7: 2 -8: -64 0: 5 12: 3 11: 2 10: 1 7: 1 -6: 2 -7: 3 -7: -64 0: -2 -7: 0 -8: 1 -9: 4 -6:-64 -64 3413: -13 13: -11 3: -10 3: -9 2: -9 -6: -10 -7: -8 -9: -64 0: -10 4: -8 2: -8 -6: -9 -7: -8 -8: -7 -7: -8 -6: -64 0: -12 2: -9 5: -7 3: -7 -6: -6 -7: -8 -9: -64 0: -4 4: -2 3: -1 1: -1 -6: -2 -7: 0 -9: -64 0: -2 4: -1 3: 0 1: 0 -6: -1 -7: 0 -8: 1 -7: 0 -6: -64 0: -7 2: -4 4: -2 5: 0 4: 1 2: 1 -6: 2 -7: 0 -9: -64 0: 4 4: 5 3: 7 2: 7 -7: 9 -9: 12 -6: -64 0: 5 4: 8 2: 8 -6: 10 -8: -64 0: 1 2: 4 4: 6 5: 7 4: 9 3: 10 3: -64 0: 9 2: 10 3: -64 0: 9 2: 9 -6: 10 -7: 11 -7:-64 -64 3414: -9 9: -7 3: -6 3: -5 2: -5 -6: -6 -7: -4 -9: -64 0: -6 4: -4 2: -4 -6: -5 -7: -4 -8: -3 -7: -4 -6: -64 0: -8 2: -5 5: -3 3: -3 -6: -2 -7: -4 -9: -64 0: 0 4: 1 3: 3 2: 3 -7: 5 -9: 8 -6: -64 0: 1 4: 4 2: 4 -6: 6 -8: -64 0: -3 2: 0 4: 2 5: 3 4: 5 3: 6 3: -64 0: 5 2: 6 3: -64 0: 5 2: 5 -6: 6 -7: 7 -7:-64 -64 3415: -8 9: -4 2: -4 -6: -5 -7: -64 0: -3 2: -3 -6: 0 -8: -64 0: -1 3: -2 2: -2 -6: 0 -7: 1 -8: -64 0: -5 -7: -4 -7: -2 -8: -1 -9: 2 -8: -64 0: -4 2: -1 3: 4 5: 5 3: 6 0: 6 -3: 5 -6: 4 -7: 2 -8: -64 0: 3 4: 4 3: 5 1: -64 0: 2 4: 4 2: 5 -1: 5 -3: 4 -6: 2 -8:-64 -64 3416: -8 9: -3 8: -5 6: -5 4: -4 1: -4 -6: -6 -8: -64 0: -4 -7: -3 -14: -64 0: -4 5: -4 4: -3 1: -3 -9: -64 0: -4 7: -4 6: -3 4: -2 1: -2 -6: -1 -6: 1 -7: 2 -8: -64 0: -2 -7: -3 -14: -64 0: 1 -8: -1 -7: -64 0: 2 -8: 0 -9: -2 -7: -64 0: -4 -7: -6 -8: -64 0: -2 2: 4 5: 5 3: 6 0: 6 -3: 5 -6: 4 -7: 2 -8: -64 0: 3 4: 4 3: 5 1: -64 0: 2 4: 4 2: 5 -1: 5 -3: 4 -6: 2 -8:-64 -64 3417: -8 9: 2 5: -1 4: -3 3: -4 2: -5 -1: -5 -4: -4 -7: -3 -9: 3 -6: -64 0: -4 -5: -3 -7: -2 -8: -64 0: -1 4: -3 2: -4 -1: -4 -3: -3 -6: -1 -8: -64 0: 0 4: 1 3: 3 2: 3 -6: 4 -14: -64 0: 1 4: 4 2: 4 -9: -64 0: 2 5: 3 4: 5 3: 6 3: -64 0: 5 2: 6 3: -64 0: 5 2: 5 -6: 4 -14:-64 -64 3418: -7 7: -4 3: -3 3: -2 2: -2 -6: -3 -7: -64 0: -3 4: -1 2: -1 -7: 1 -8: -64 0: -5 2: -2 5: 0 3: 0 -6: 1 -7: 2 -7: -64 0: -3 -7: -1 -8: 0 -9: 3 -6: -64 0: 2 4: 3 2: 5 3: 4 5: 0 3: -64 0: 3 4: 4 3:-64 -64 3419: -6 5: 6 12: 5 11: 3 11: 1 12: -1 12: -2 10: -2 5: -3 3: -4 2: -64 0: 4 10: 2 10: 0 11: -1 11: -64 0: 6 12: 5 10: 4 9: 2 9: 0 10: -1 10: -2 9: -64 0: -2 7: 0 2: -64 0: -2 2: -2 -2: -1 -14: -64 0: -1 3: -2 3: -1 4: -1 -9: -64 0: 0 2: 0 -2: -1 -14: -64 0: -4 2: -2 2:-64 -64 3420: -6 6: 1 9: 0 6: -1 4: -2 3: -4 2: -64 0: 1 9: 1 3: 4 3: 4 2: -64 0: -4 2: -1 2: -64 0: 1 2: 4 2: -64 0: -1 2: -1 -6: -2 -7: -64 0: 0 3: -1 3: 0 5: 0 -6: 2 -8: -64 0: 1 2: 1 -6: 2 -7: 3 -7: -64 0: -2 -7: 0 -8: 1 -9: 4 -6:-64 -64 3421: -9 9: -7 3: -6 3: -5 2: -5 -6: -6 -7: -64 0: -6 4: -4 2: -4 -6: -2 -8: -64 0: -8 2: -5 5: -3 3: -3 -6: -1 -7: 0 -8: -64 0: -6 -7: -5 -7: -3 -8: -2 -9: 0 -8: 3 -6: -64 0: 4 5: 2 3: 3 2: 3 -7: 5 -9: 8 -6: -64 0: 4 2: 5 3: 4 4: 3 3: 4 2: 4 -6: 6 -8: -64 0: 4 5: 6 3: 5 2: 5 -6: 6 -7: 7 -7:-64 -64 3422: -8 9: -3 7: -5 5: -5 3: -4 0: -4 -6: -5 -7: -64 0: -4 4: -4 3: -3 0: -3 -6: 0 -8: -64 0: -4 6: -4 5: -3 3: -2 0: -2 -6: 0 -7: 1 -8: -64 0: -5 -7: -4 -7: -2 -8: -1 -9: 2 -8: -64 0: -2 2: 4 5: 5 3: 6 0: 6 -3: 5 -6: 4 -7: 2 -8: -64 0: 3 4: 4 3: 5 1: -64 0: 2 4: 4 2: 5 -1: 5 -3: 4 -6: 2 -8:-64 -64 3423: -12 13: -7 7: -9 5: -9 3: -8 0: -8 -6: -9 -7: -7 -9: -64 0: -8 4: -8 3: -7 0: -7 -6: -8 -7: -7 -8: -6 -7: -7 -6: -64 0: -8 6: -8 5: -7 3: -6 0: -6 -6: -5 -7: -7 -9: -64 0: -3 4: -1 3: 0 1: 0 -6: -1 -7: -64 0: -1 4: 0 3: 1 1: 1 -6: 4 -8: -64 0: -6 2: -3 4: -1 5: 1 4: 2 2: 2 -6: 4 -7: 5 -8: -64 0: -1 -7: 0 -7: 2 -8: 3 -9: 6 -8: -64 0: 2 2: 8 5: 9 3: 10 0: 10 -2: 9 -6: 8 -7: 6 -8: -64 0: 7 4: 8 3: 9 1: -64 0: 6 4: 8 2: 9 -1: 9 -3: 8 -6: 6 -8:-64 -64 3424: -7 8: -3 3: -2 3: -1 2: -1 -6: -2 -6: -4 -7: -5 -9: -5 -11: -4 -13: -2 -14: 1 -14: 4 -13: 4 -12: 3 -12: 3 -13: -64 0: -2 4: 0 2: 0 -6: 3 -8: -64 0: -4 2: -1 5: 1 3: 1 -6: 3 -7: 4 -8: -64 0: 6 -7: 2 -9: 1 -8: -1 -7: -3 -7: -5 -9: -64 0: 3 4: 4 2: 6 3: 5 5: 1 3: -64 0: 4 4: 5 3:-64 -64 3425: -8 9: -3 7: -5 5: -5 3: -4 0: -4 -6: -5 -7: -64 0: -4 4: -4 3: -3 0: -3 -7: -1 -8: -64 0: -4 6: -4 5: -3 3: -2 0: -2 -6: -1 -7: 0 -7: -64 0: -5 -7: -3 -8: -2 -9: 1 -6: -64 0: -2 2: 4 5: 5 3: 6 -1: 6 -5: 5 -8: 4 -10: 2 -12: -1 -14: -64 0: 3 4: 4 3: 5 0: -64 0: 2 4: 4 1: 5 -2: 5 -5: 4 -9: 2 -12:-64 -64 3426: -7 7: -4 2: 1 5: 3 4: 4 2: 4 0: 3 -2: -1 -4: -64 0: 1 4: 3 3: -64 0: 0 4: 2 3: 3 1: 3 0: 2 -2: 1 -3: -64 0: 1 -3: 3 -5: 4 -7: 4 -11: 3 -13: 1 -14: -1 -14: -3 -13: -4 -11: -4 -9: -3 -7: -1 -6: 5 -4: -64 0: 0 -4: 2 -5: 3 -7: -64 0: -1 -4: 2 -6: 3 -8: 3 -11: 2 -13: 1 -14:-64 -64 3427: -8 8: 0 5: -2 4: -5 2: -5 0: -4 -3: -64 0: -4 2: -4 0: -3 -2: -64 0: -2 4: -3 3: -3 0: -2 -2: -64 0: -2 4: 0 3: 2 3: 4 4: 5 5: 5 7: 4 8: 2 8: -64 0: -1 4: 1 4: -64 0: 0 5: 2 4: 4 4: -64 0: -4 -3: 4 0: 5 -3: 5 -5: 4 -7: 0 -9: -64 0: 3 -1: 4 -3: 4 -6: 3 -7: -64 0: 2 -1: 3 -3: 3 -6: 2 -8: -64 0: 2 -8: 0 -7: -3 -7: -6 -9: -64 0: 1 -8: -1 -8: -64 0: 0 -9: -2 -8: -4 -8: -6 -9:-64 -64 3428: -8 9: 4 12: 3 11: 1 11: -1 12: -3 12: -4 10: -4 5: -5 3: -6 2: -64 0: 2 10: 0 10: -2 11: -3 11: -64 0: 4 12: 3 10: 2 9: 0 9: -2 10: -3 10: -4 9: -64 0: -4 7: -2 2: -64 0: -4 2: -4 -2: -3 -14: -64 0: -3 3: -4 3: -3 4: -3 -9: -64 0: -2 2: -2 -2: -3 -14: -64 0: -6 2: -4 2: -64 0: -2 2: 3 5: 5 4: 6 2: 6 0: 5 -2: 1 -4: -64 0: 3 4: 5 3: -64 0: 2 4: 4 3: 5 1: 5 0: 4 -2: 3 -3: -64 0: 3 -3: 5 -4: 6 -6: 6 -9: 5 -11: 3 -13: 0 -14: -64 0: 3 -4: 5 -5: -64 0: 1 -4: 2 -4: 4 -5: 5 -7: 5 -10: 4 -12:-64 -64 3429: -8 9: -2 9: -3 6: -4 4: -5 3: -7 2: -64 0: -2 9: -2 -6: -1 -7: -3 -9: -64 0: -3 3: -4 3: -3 4: -3 -6: -4 -7: -3 -8: -2 -7: -3 -6: -64 0: -7 2: -4 2: -4 -6: -5 -7: -3 -9: -64 0: -2 2: 3 5: 5 4: 6 2: 6 0: 5 -2: 1 -4: -64 0: 3 4: 5 3: -64 0: 2 4: 4 3: 5 1: 5 0: 4 -2: 3 -3: -64 0: 3 -3: 5 -4: 6 -6: 6 -9: 5 -11: 3 -13: 0 -14: -64 0: 3 -4: 5 -5: -64 0: 1 -4: 2 -4: 4 -5: 5 -7: 5 -10: 4 -12:-64 -64 3501: -11 11: -6 9: -4 11: -2 12: 0 12: 1 11: 8 -5: 9 -6: 11 -6: -64 0: -1 11: 0 10: 7 -6: 8 -8: 9 -7: 7 -6: -64 0: -4 11: -2 11: -1 10: 6 -6: 7 -8: 8 -9: 9 -9: 11 -6: -64 0: -6 5: -5 6: -3 7: -2 7: -1 6: -64 0: -2 6: -2 5: -64 0: -5 6: -3 6: -2 4: -64 0: -11 -9: -9 -7: -7 -6: -4 -6: -2 -7: -64 0: -8 -7: -4 -7: -3 -8: -64 0: -11 -9: -8 -8: -5 -8: -4 -9: -2 -7: -64 0: 0 8: -6 -6: -64 0: -4 -1: 4 -1:-64 -64 3502: -12 12: -10 10: -8 12: -5 12: -3 11: -1 12: -64 0: -7 11: -4 11: -64 0: -10 10: -8 11: -6 10: -3 10: -1 12: -64 0: -5 7: -6 6: -7 4: -7 3: -9 3: -10 2: -10 0: -9 1: -7 1: -7 -5: -64 0: -6 5: -6 -3: -64 0: -9 2: -6 2: -64 0: -5 7: -5 -2: -6 -4: -7 -5: -64 0: 0 9: -1 8: -2 6: -2 -3: -64 0: -1 7: -1 -1: -64 0: 0 9: 0 0: -1 -2: -2 -3: -64 0: 0 9: 6 12: 8 11: 9 9: 9 7: 7 5: 3 3: -64 0: 6 11: 8 9: 8 7: -64 0: 4 11: 6 10: 7 9: 7 6: 5 4: -64 0: 5 4: 8 2: 9 0: 9 -6: -64 0: 7 2: 8 0: 8 -5: -64 0: 5 4: 6 3: 7 1: 7 -6: -64 0: -8 -9: -5 -7: -2 -6: 2 -6: 5 -7: -64 0: -6 -8: -3 -7: 2 -7: 4 -8: -64 0: -8 -9: -4 -8: 1 -8: 3 -9: 5 -7: 7 -6: 9 -6: -64 0: 3 3: 3 -6: -64 0: 3 0: 7 0: -64 0: 3 -3: 7 -3:-64 -64 3503: -13 11: -4 11: -6 10: -8 8: -9 6: -10 3: -10 -1: -9 -4: -8 -6: -5 -8: -2 -9: 1 -9: 4 -8: 6 -7: 8 -5: 9 -3: -64 0: -8 7: -9 4: -9 -1: -7 -5: -4 -7: -1 -8: 2 -8: 5 -7: -64 0: -4 11: -6 9: -7 7: -8 4: -8 0: -7 -3: -4 -6: -1 -7: 2 -7: 5 -6: 7 -5: 9 -3: -64 0: -2 8: -2 -4: -64 0: -1 8: -1 -2: -64 0: 0 9: 0 -1: -1 -3: -2 -4: -64 0: -2 8: 0 9: 3 12: 5 11: 7 11: 8 12: -64 0: 2 11: 4 10: 6 10: -64 0: 1 10: 3 9: 5 9: 7 10: 8 12: -64 0: 5 9: 5 -6:-64 -64 3504: -11 12: -9 12: 5 12: 7 11: 8 9: 8 -6: -64 0: -7 11: 5 11: 7 9: 7 -5: -64 0: -9 12: -8 11: -6 10: 5 10: 6 9: 6 -6: -64 0: -3 7: -4 6: -5 4: -5 3: -7 3: -8 2: -8 0: -7 1: -5 1: -5 -4: -64 0: -4 5: -4 -2: -64 0: -7 2: -4 2: -64 0: -3 7: -3 -1: -4 -3: -5 -4: -64 0: -9 -9: -6 -7: -3 -6: 1 -6: 4 -7: -64 0: -7 -8: -4 -7: 1 -7: 3 -8: -64 0: -9 -9: -5 -8: 0 -8: 2 -9: 4 -7: 6 -6: 8 -6: -64 0: 0 10: 0 -6: -64 0: 0 5: 2 4: 4 4: 6 5: -64 0: 0 -1: 2 0: 4 0: 6 -1:-64 -64 3505: -11 11: -9 10: -7 12: -5 12: -3 11: -1 12: -64 0: -6 11: -4 11: -64 0: -9 10: -7 11: -5 10: -3 10: -1 12: -64 0: -4 7: -5 6: -6 4: -6 3: -8 3: -9 2: -9 0: -8 1: -6 1: -6 -5: -64 0: -5 5: -5 -3: -64 0: -8 2: -5 2: -64 0: -4 7: -4 -2: -5 -4: -6 -5: -64 0: -1 5: 0 8: 1 10: 2 11: 4 12: 6 12: 9 11: -64 0: 2 10: 4 11: 6 11: 8 10: -64 0: 0 8: 1 9: 3 10: 5 10: 7 9: 9 11: -64 0: -1 -3: 0 0: 1 2: 2 3: 4 3: 6 2: -64 0: 2 2: 4 2: 5 1: -64 0: 0 0: 1 1: 3 1: 4 0: 6 2: -64 0: -7 -9: -4 -7: 0 -6: 5 -6: 9 -7: -64 0: -5 -8: -2 -7: 5 -7: 8 -8: -64 0: -7 -9: -3 -8: 4 -8: 7 -9: 9 -7: -64 0: -1 5: -1 -6:-64 -64 3506: -12 11: -8 10: -6 12: -3 12: -1 11: 1 12: -64 0: -5 11: -2 11: -64 0: -8 10: -6 11: -4 10: -1 10: 1 12: -64 0: -2 7: -3 6: -4 4: -4 3: -6 3: -7 2: -7 0: -6 1: -4 1: -4 -4: -64 0: -3 5: -3 -2: -64 0: -6 2: -3 2: -64 0: -2 7: -2 -1: -3 -3: -4 -4: -64 0: 1 8: 1 -7: 0 -8: -1 -8: -5 -6: -7 -6: -9 -7: -11 -9: -64 0: 2 8: 2 -6: -64 0: 2 2: 6 2: -64 0: -2 -8: -3 -8: -5 -7: -8 -7: -64 0: 3 9: 3 3: 6 3: -64 0: 6 1: 3 1: 3 -5: 2 -7: -2 -9: -4 -9: -6 -8: -8 -8: -11 -9: -64 0: 1 8: 3 9: 6 12: 8 11: 10 11: 11 12: -64 0: 5 11: 7 10: 9 10: -64 0: 4 10: 6 9: 8 9: 10 10: 11 12: -64 0: 6 9: 6 -5:-64 -64 3507: -13 12: -4 11: -6 10: -8 8: -9 6: -10 3: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 3 -9: 6 -8: 8 -6: 9 -4: 9 -1: 8 1: 7 2: 5 3: 3 3: -64 0: -8 7: -9 4: -9 -1: -8 -4: -64 0: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -64 0: 7 -6: 8 -5: 8 -1: 7 1: -64 0: 3 -9: 5 -8: 6 -7: 7 -5: 7 -1: 6 1: 5 2: 3 3: -64 0: -2 8: -2 -5: -64 0: -1 8: -1 -3: -64 0: 0 9: 0 -2: -1 -4: -2 -5: -64 0: -2 8: 0 9: 3 12: 5 11: 7 11: 8 12: -64 0: 2 11: 4 10: 6 10: -64 0: 1 10: 3 9: 5 9: 7 10: 8 12: -64 0: 7 10: 3 3: 3 -9: -64 0: 3 -1: 7 -1: -64 0: 3 -4: 7 -4:-64 -64 3508: -12 12: -10 10: -8 12: -5 12: -3 11: -1 12: -64 0: -7 11: -4 11: -64 0: -10 10: -8 11: -6 10: -3 10: -1 12: -64 0: -5 7: -6 6: -7 4: -7 3: -9 3: -10 2: -10 0: -9 1: -7 1: -7 -5: -64 0: -6 5: -6 -3: -64 0: -9 2: -6 2: -64 0: -5 7: -5 -2: -6 -4: -7 -5: -64 0: -8 -9: -5 -7: -2 -6: 1 -6: 3 -7: -64 0: -6 -8: -3 -7: 0 -7: 2 -8: -64 0: -8 -9: -4 -8: -1 -8: 1 -9: 3 -7: -64 0: 0 9: -1 8: -2 6: -2 -3: -64 0: -1 7: -1 -1: -64 0: 0 9: 0 0: -1 -2: -2 -3: -64 0: 0 9: 2 11: 4 12: 6 12: 8 11: -64 0: 5 11: 6 11: 7 10: -64 0: 2 11: 4 11: 6 9: 8 11: -64 0: 3 3: 5 4: 7 6: 8 5: 9 2: 9 -2: 8 -6: 6 -9: -64 0: 6 5: 7 4: 8 2: 8 -3: 7 -6: -64 0: 5 4: 6 4: 7 2: 7 -3: 6 -9: -64 0: 3 3: 3 -7: -64 0: 3 0: 7 0: -64 0: 3 -3: 7 -3:-64 -64 3509: -9 10: -6 10: -4 12: -1 12: 2 11: 4 12: -64 0: -3 11: 1 11: -64 0: -6 10: -4 11: -1 10: 2 10: 4 12: -64 0: 1 7: 0 6: -1 4: -1 3: -3 3: -4 2: -4 0: -3 1: -1 1: -1 -4: -64 0: 0 5: 0 -2: -64 0: -3 2: 0 2: -64 0: 1 7: 1 -1: 0 -3: -1 -4: -64 0: 7 10: 5 8: 4 5: 4 -6: 3 -8: 1 -8: -3 -6: -5 -6: -7 -7: -9 -9: -64 0: 5 7: 5 -5: -64 0: 0 -8: -1 -8: -3 -7: -6 -7: -64 0: 7 10: 6 8: 6 -4: 5 -6: 3 -8: 1 -9: -2 -9: -4 -8: -7 -8: -9 -9:-64 -64 3510: -10 10: -6 10: -4 12: -1 12: 2 11: 4 12: -64 0: -3 11: 1 11: -64 0: -6 10: -4 11: -1 10: 2 10: 4 12: -64 0: 1 7: 0 6: -1 4: -1 3: -3 3: -4 2: -4 0: -3 1: -1 1: -1 -4: -64 0: 0 5: 0 -2: -64 0: -3 2: 0 2: -64 0: 1 7: 1 -1: 0 -3: -1 -4: -64 0: 7 10: 5 8: 4 5: 4 -6: 3 -8: -64 0: 5 7: 5 -5: -64 0: 7 10: 6 8: 6 -4: 5 -6: 3 -8: 0 -9: -3 -9: -6 -8: -8 -6: -8 -4: -7 -3: -6 -3: -5 -4: -6 -5: -7 -5: -64 0: -8 -4: -5 -4:-64 -64 3511: -12 12: -10 10: -8 12: -5 12: -3 11: -1 12: -64 0: -7 11: -4 11: -64 0: -10 10: -8 11: -6 10: -3 10: -1 12: -64 0: -5 7: -6 6: -7 4: -7 3: -9 3: -10 2: -10 0: -9 1: -7 1: -7 -5: -64 0: -6 5: -6 -3: -64 0: -9 2: -6 2: -64 0: -5 7: -5 -2: -6 -4: -7 -5: -64 0: -8 -9: -5 -7: -2 -6: 1 -6: 3 -7: -64 0: -6 -8: -4 -7: 0 -7: 2 -8: -64 0: -8 -9: -4 -8: -1 -8: 1 -9: 3 -7: -64 0: 0 9: -1 8: -2 6: -2 -3: -64 0: -1 7: -1 -1: -64 0: 0 9: 0 0: -1 -2: -2 -3: -64 0: 0 9: 2 11: 4 12: 6 12: 8 11: -64 0: 5 11: 6 11: 7 10: -64 0: 2 11: 4 11: 6 9: 8 11: -64 0: 3 3: 6 6: 7 5: 9 4: -64 0: 5 5: 7 4: 9 4: -64 0: 9 4: 7 1: 5 -1: 3 -3: -64 0: 5 -1: 7 -2: 8 -6: 9 -8: 10 -8: -64 0: 7 -4: 8 -8: -64 0: 5 -1: 6 -2: 7 -8: 8 -9: 9 -9: 10 -8: -64 0: 3 3: 3 -7:-64 -64 3512: -11 11: -9 10: -7 12: -4 12: -2 11: 0 12: -64 0: -6 11: -3 11: -64 0: -9 10: -7 11: -5 10: -2 10: 0 12: -64 0: -4 7: -5 6: -6 4: -6 3: -8 3: -9 2: -9 0: -8 1: -6 1: -6 -5: -64 0: -5 5: -5 -3: -64 0: -8 2: -5 2: -64 0: -4 7: -4 -2: -5 -4: -6 -5: -64 0: -7 -9: -4 -7: 0 -6: 5 -6: 9 -7: -64 0: -5 -8: -2 -7: 5 -7: 8 -8: -64 0: -7 -9: -3 -8: 4 -8: 7 -9: 9 -7: -64 0: 1 9: 0 8: -1 6: -1 -3: -64 0: 0 7: 0 -1: -64 0: 1 9: 1 0: 0 -2: -1 -3: -64 0: 1 9: 3 11: 5 12: 7 12: 9 11: -64 0: 6 11: 7 11: 8 10: -64 0: 3 11: 5 11: 7 9: 9 11: -64 0: 5 11: 5 -6:-64 -64 3513: -14 14: -6 8: -7 7: -8 5: -8 3: -10 3: -11 2: -11 0: -10 1: -8 1: -8 -3: -64 0: -7 6: -7 -1: -64 0: -10 2: -7 2: -64 0: -6 8: -6 0: -7 -2: -8 -3: -64 0: -13 -9: -11 -7: -9 -6: -7 -6: -5 -7: -4 -7: -3 -6: -64 0: -10 -7: -7 -7: -5 -8: -64 0: -13 -9: -11 -8: -8 -8: -6 -9: -5 -9: -4 -8: -3 -6: -64 0: -6 8: -2 12: 2 8: 2 -5: 3 -7: 4 -7: -64 0: -2 11: 1 8: 1 -6: 0 -7: 1 -8: 2 -7: 1 -6: -64 0: -2 2: 1 2: -64 0: -4 10: -3 10: 0 7: 0 3: -3 3: -64 0: -3 1: 0 1: 0 -6: -1 -7: 1 -9: 4 -7: 5 -6: -64 0: 2 8: 6 12: 10 8: 10 -5: 11 -7: 12 -7: -64 0: 6 11: 9 8: 9 -6: 11 -8: -64 0: 6 2: 9 2: -64 0: 4 10: 5 10: 8 7: 8 3: 5 3: -64 0: 5 1: 8 1: 8 -7: 10 -9: 12 -7: -64 0: -3 10: -3 -6: -64 0: 5 10: 5 -6:-64 -64 3514: -13 12: -11 9: -9 11: -7 12: -5 12: -3 11: -1 8: 4 -3: 6 -6: 7 -7: -64 0: -5 11: -3 9: -2 7: 4 -5: 7 -8: -64 0: -9 11: -7 11: -5 10: -3 7: 2 -4: 4 -7: 5 -8: 7 -9: -64 0: 4 10: 6 9: 8 9: 10 10: 11 12: -64 0: 5 11: 7 10: 9 10: -64 0: 4 10: 6 12: 8 11: 10 11: 11 12: -64 0: -7 3: -9 3: -10 2: -10 0: -9 1: -7 1: -64 0: -9 2: -7 2: -64 0: -11 -9: -9 -7: -7 -6: -4 -6: -2 -7: -64 0: -8 -7: -5 -7: -3 -8: -64 0: -11 -9: -8 -8: -5 -8: -4 -9: -2 -7: -64 0: -7 11: -7 -6: -64 0: 7 9: 7 -9: -64 0: 0 6: 1 5: 3 4: 5 4: 7 5: -64 0: -7 -2: -5 -1: -1 -1: 1 -2:-64 -64 3515: -13 13: -4 12: -6 11: -8 9: -9 7: -10 4: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 1 -9: 4 -8: 6 -7: 8 -5: 9 -3: 10 0: 10 4: 9 7: 8 9: 6 11: 4 12: 3 11: 0 9: -3 8: -64 0: -8 8: -9 5: -9 -1: -8 -4: -64 0: -4 12: -6 10: -7 8: -8 5: -8 -1: -7 -4: -6 -6: -4 -8: -64 0: 8 -4: 9 -1: 9 5: 7 9: 6 10: -64 0: 4 -8: 6 -6: 7 -4: 8 -1: 8 5: 7 7: 5 10: 3 11: -64 0: -3 8: -3 -5: -64 0: -2 8: -2 -3: -64 0: -1 8: -1 -2: -2 -4: -3 -5: -64 0: 3 11: 3 -8: -64 0: 3 5: 5 4: 6 4: 8 5: -64 0: 3 -1: 5 0: 6 0: 8 -1:-64 -64 3516: -10 12: -7 12: -6 11: -5 9: -5 3: -7 3: -8 2: -8 0: -7 1: -5 1: -5 -7: -8 -9: -5 -8: -5 -16: -3 -14: -64 0: -5 10: -4 8: -4 -14: -64 0: -7 2: -4 2: -64 0: -7 12: -5 11: -4 10: -3 8: -3 -14: -64 0: -3 7: 0 9: 4 12: 8 8: 8 -6: -64 0: 4 11: 7 8: 7 -6: -64 0: 2 10: 3 10: 6 7: 6 -7: -64 0: 0 -6: 3 -6: 6 -7: -64 0: 1 -7: 3 -7: 5 -8: -64 0: 0 -8: 2 -8: 4 -9: 6 -7: 8 -6: -64 0: 0 9: 0 -13: -64 0: 0 5: 2 4: 4 4: 6 5: -64 0: 0 -1: 2 0: 4 0: 6 -1:-64 -64 3517: -13 13: -4 12: -6 11: -8 9: -9 7: -10 4: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -2 -9: 2 -9: 4 -8: 6 -7: 8 -5: 9 -3: 10 0: 10 4: 9 7: 8 9: 6 11: 4 12: 3 11: 0 9: -3 8: -64 0: -8 8: -9 5: -9 -1: -8 -4: -64 0: -4 12: -6 10: -7 8: -8 5: -8 -1: -7 -4: -6 -6: -4 -8: -64 0: 8 -4: 9 -1: 9 5: 7 9: 6 10: -64 0: 4 -8: 6 -6: 7 -4: 8 -1: 8 5: 7 7: 5 10: 3 11: -64 0: -3 8: -3 -5: -64 0: -2 8: -2 -3: -64 0: -1 8: -1 -2: -2 -4: -3 -5: -64 0: 3 11: 3 -8: -64 0: 3 5: 5 4: 6 4: 8 5: -64 0: 3 -1: 5 0: 6 0: 8 -1: -64 0: -2 -9: -1 -8: 0 -8: 2 -9: 6 -14: 8 -15: 9 -15: -64 0: 2 -10: 4 -13: 6 -15: 7 -15: -64 0: 0 -8: 1 -9: 4 -15: 6 -16: 8 -16: 9 -15:-64 -64 3518: -12 12: -10 10: -8 12: -5 12: -3 11: -1 12: -64 0: -7 11: -4 11: -64 0: -10 10: -8 11: -6 10: -3 10: -1 12: -64 0: -5 7: -6 6: -7 4: -7 3: -9 3: -10 2: -10 0: -9 1: -7 1: -7 -5: -64 0: -6 5: -6 -3: -64 0: -9 2: -6 2: -64 0: -5 7: -5 -2: -6 -4: -7 -5: -64 0: -8 -9: -5 -7: -2 -6: 0 -6: 3 -7: -64 0: -6 -8: -4 -7: 0 -7: 2 -8: -64 0: -8 -9: -4 -8: -1 -8: 1 -9: 3 -7: -64 0: 0 9: -1 8: -2 6: -2 -3: -64 0: -1 7: -1 -1: -64 0: 0 9: 0 0: -1 -2: -2 -3: -64 0: 0 9: 3 11: 5 12: 7 11: 8 9: 8 6: 7 4: 6 3: 2 1: 0 0: -64 0: 5 11: 6 11: 7 9: 7 5: 6 4: -64 0: 3 11: 5 10: 6 8: 6 5: 5 3: 2 1: -64 0: 2 1: 4 0: 5 -1: 8 -6: 9 -7: 10 -7: -64 0: 5 -2: 7 -6: 9 -8: -64 0: 2 1: 4 -1: 6 -7: 8 -9: 10 -7:-64 -64 3519: -11 12: 3 9: 2 10: 0 11: -3 12: -64 0: 4 10: 2 11: -64 0: 5 11: 1 12: -3 12: -6 11: -7 10: -8 8: -7 6: -6 5: -3 4: 5 4: 7 3: 8 2: 8 0: 7 -3: -64 0: -7 7: -6 6: -3 5: 6 5: 8 4: 9 3: 9 1: 8 -1: -64 0: -7 10: -7 8: -6 7: -3 6: 7 6: 9 5: 10 3: 10 1: 7 -3: 3 -9: -64 0: -9 3: -8 2: -6 1: 3 1: 4 0: 4 -1: 3 -3: -64 0: -8 1: -6 0: 2 0: 3 -1: -64 0: -9 3: -9 2: -8 0: -6 -1: 1 -1: 3 -2: 3 -3: -64 0: -9 -9: -6 -7: -2 -6: 1 -6: 4 -7: -64 0: -7 -8: -4 -7: 0 -7: 3 -8: -64 0: -9 -9: -5 -8: 0 -8: 3 -9: -64 0: 5 11: 3 9: 1 6: -64 0: 0 4: -2 1: -64 0: -3 -1: -5 -3: -7 -4: -8 -4: -8 -3: -7 -4:-64 -64 3520: -13 11: -8 8: -9 6: -10 3: -10 -1: -9 -4: -7 -7: -5 -8: -2 -9: 1 -9: 4 -8: 6 -7: 8 -5: 9 -3: -64 0: -9 -1: -8 -4: -6 -6: -4 -7: -1 -8: 2 -8: 5 -7: -64 0: -8 8: -9 5: -9 1: -8 -2: -6 -5: -4 -6: -1 -7: 2 -7: 5 -6: 7 -5: 9 -3: -64 0: -10 9: -9 11: -7 12: -3 12: 3 11: 7 11: 9 12: -64 0: -2 11: 2 10: 6 10: -64 0: -10 9: -9 10: -7 11: -4 11: 2 9: 5 9: 7 10: 9 12: -64 0: 1 9: 0 8: -2 7: -2 -4: -64 0: -1 7: -1 -2: -64 0: 0 8: 0 -1: -1 -3: -2 -4: -64 0: 5 9: 5 -6:-64 -64 3521: -12 12: -10 10: -8 12: -6 12: -3 11: -1 12: -64 0: -7 11: -4 11: -64 0: -10 10: -8 11: -5 10: -3 10: -1 12: -64 0: -7 8: -8 6: -9 3: -9 -1: -8 -4: -7 -6: -5 -8: -2 -9: 1 -9: 4 -8: 6 -7: 8 -9: 10 -7: -64 0: -8 -1: -7 -4: -4 -7: -1 -8: 2 -8: -64 0: -7 8: -8 4: -8 1: -7 -2: -6 -4: -4 -6: -1 -7: 3 -7: 6 -6: -64 0: 3 9: -1 8: -2 6: -2 -4: -64 0: -1 7: -1 -2: -64 0: 0 8: 0 -1: -1 -3: -2 -4: -64 0: 3 9: 5 10: 7 12: 8 11: 10 10: 8 9: 8 -5: 9 -7: 10 -7: -64 0: 7 9: 8 10: 7 11: 6 10: 7 9: 7 -6: 9 -8: -64 0: 5 10: 6 9: 6 -6: -64 0: 3 9: 3 -7: -64 0: 3 4: 6 4: -64 0: 3 0: 6 0:-64 -64 3522: -11 12: -8 12: -7 11: -6 9: -6 3: -8 3: -9 2: -9 0: -8 1: -6 1: -6 -6: -8 -7: -64 0: -6 10: -5 8: -5 -6: -64 0: -8 2: -5 2: -64 0: -4 -7: -1 -7: 1 -8: -64 0: -8 12: -6 11: -5 10: -4 8: -4 -6: 0 -6: 3 -7: -64 0: -8 -7: -5 -7: -2 -8: 0 -9: 3 -7: 6 -6: 8 -6: -64 0: 0 8: 3 9: 5 10: 7 12: 8 11: 10 10: 8 9: 8 -6: -64 0: 7 9: 8 10: 7 11: 6 10: 7 9: 7 -5: -64 0: 5 10: 6 9: 6 -6: -64 0: 0 8: 0 -6: -64 0: 0 5: 2 4: 4 4: 6 5: -64 0: 0 -1: 2 0: 4 0: 6 -1:-64 -64 3523: -13 14: -10 12: -9 11: -8 9: -8 3: -10 3: -11 2: -11 0: -10 1: -8 1: -8 -6: -10 -7: -64 0: -8 10: -7 8: -7 -6: -64 0: -10 2: -7 2: -64 0: -6 -7: -4 -7: -2 -8: -64 0: -10 12: -8 11: -7 10: -6 8: -6 -6: -3 -6: -1 -7: -64 0: -10 -7: -7 -7: -4 -8: -3 -9: -1 -7: 2 -6: 4 -7: 5 -9: 7 -7: 10 -6: -64 0: -3 10: 0 12: 2 10: 2 -6: 5 -6: 7 -7: -64 0: 0 11: 1 10: 1 -6: -64 0: -3 10: -1 10: 0 9: 0 -6: -1 -7: -64 0: 5 -7: 6 -8: -64 0: 5 10: 8 12: 10 10: 10 -6: -64 0: 8 11: 9 10: 9 -6: -64 0: 5 10: 7 10: 8 9: 8 -6: 7 -7: -64 0: -3 10: -3 -6: -64 0: 5 10: 5 -6: -64 0: -3 4: 0 4: -64 0: -3 0: 0 0: -64 0: 5 4: 8 4: -64 0: 5 0: 8 0:-64 -64 3524: -11 11: -10 9: -8 11: -6 12: -4 12: -3 11: 5 -7: 6 -8: 8 -8: -64 0: -5 11: -4 10: 4 -7: 5 -8: -64 0: -8 11: -6 11: -5 10: 3 -8: 4 -9: 6 -9: 8 -8: 10 -6: -64 0: 5 12: 7 11: 9 11: 10 12: -64 0: 5 11: 6 10: 8 10: -64 0: 4 10: 5 9: 7 9: 9 10: 10 12: -64 0: -10 -9: -9 -7: -7 -6: -5 -6: -4 -7: -64 0: -8 -7: -6 -7: -5 -8: -64 0: -10 -9: -9 -8: -7 -8: -5 -9: -64 0: 5 12: 1 3: -64 0: -1 0: -5 -9: -64 0: -6 2: -2 2: -64 0: 1 2: 6 2:-64 -64 3525: -11 12: -8 12: -7 11: -6 9: -6 3: -8 3: -9 2: -9 0: -8 1: -6 1: -6 -6: -8 -7: -64 0: -6 10: -5 8: -5 -6: -64 0: -8 2: -5 2: -64 0: -4 -7: -1 -7: 1 -8: -64 0: -8 12: -6 11: -5 10: -4 8: -4 -6: 0 -6: 3 -7: -64 0: -8 -7: -5 -7: -2 -8: 0 -9: 3 -7: 6 -6: -64 0: 0 8: 3 9: 5 10: 7 12: 8 11: 10 10: 8 9: 8 -12: 7 -14: 5 -16: 3 -15: -1 -14: -6 -14: -64 0: 7 9: 8 10: 7 11: 6 10: 7 9: 7 -7: -64 0: 5 10: 6 9: 6 -6: 8 -9: -64 0: 6 -15: 4 -14: 1 -14: -64 0: 7 -14: 4 -13: -2 -13: -6 -14: -64 0: 0 8: 0 -6: -64 0: 0 5: 2 4: 4 4: 6 5: -64 0: 0 -1: 2 0: 4 0: 6 -1:-64 -64 3526: -10 10: 6 11: 5 9: 0 3: -3 -1: -5 -5: -8 -9: -64 0: 4 7: -4 -4: -64 0: 8 12: 5 8: 3 4: 0 0: -5 -6: -6 -8: -64 0: -8 10: -6 12: -3 11: 3 11: 8 12: -64 0: -7 11: -3 10: 1 10: 5 11: -64 0: -8 10: -4 9: 0 9: 4 10: 6 11: -64 0: -6 -8: -4 -7: 0 -6: 4 -6: 8 -7: -64 0: -5 -8: -1 -7: 3 -7: 7 -8: -64 0: -8 -9: -3 -8: 3 -8: 6 -9: 8 -7: -64 0: -5 2: -1 2: -64 0: 2 2: 6 2:-64 -64 3601: -8 9: -2 0: -4 -2: -5 -4: -5 -6: -4 -8: -2 -9: 0 -7: 3 -6: -64 0: -5 -4: -4 -6: -3 -7: -1 -8: -64 0: -4 -2: -4 -4: -3 -6: -1 -7: 0 -7: -64 0: -4 2: -2 2: 1 3: 3 4: 4 5: 6 3: 5 2: 5 -6: 6 -7: 7 -7: -64 0: -3 4: -4 3: -1 3: -64 0: 2 3: 5 3: 4 4: 4 -7: 5 -8: -64 0: -5 3: -3 5: -2 4: 0 3: 3 2: 3 -7: 5 -9: 7 -7: -64 0: -5 3: 0 -2:-64 -64 3602: -9 9: -6 10: -5 8: -5 -6: -7 -7: -64 0: -4 8: -5 10: -4 11: -4 -6: -1 -8: -64 0: -6 10: -3 12: -3 -6: -1 -7: 0 -8: -64 0: -7 -7: -5 -7: -3 -8: -2 -9: 0 -8: 3 -7: 5 -7: -64 0: -3 2: 0 3: 2 4: 3 5: 4 4: 6 3: 7 3: 5 2: 5 -7: -64 0: 2 4: 4 3: 4 -6: -64 0: 0 3: 1 3: 3 2: 3 -7:-64 -64 3603: -8 6: -4 3: -4 -6: -6 -7: -5 -7: -3 -8: -2 -9: -64 0: -3 3: -3 -7: -1 -8: -64 0: -2 3: -2 -6: 0 -7: 1 -7: -1 -8: -2 -9: -64 0: -4 3: 0 4: 2 5: 3 4: 5 3: 6 3: -64 0: 1 4: 2 3: 4 3: -64 0: -2 3: 0 4: 2 2: 4 2: 6 3:-64 -64 3604: -9 8: 0 5: -2 4: -5 3: -5 -6: -7 -7: -64 0: -4 3: -4 -6: -1 -8: -64 0: 0 5: -3 3: -3 -6: -1 -7: 0 -8: -64 0: -7 -7: -5 -7: -3 -8: -2 -9: 0 -8: 3 -7: 5 -7: -64 0: -5 10: -2 12: -1 9: 5 3: 5 -7: -64 0: -2 9: -4 10: -3 11: -2 9: 4 3: 4 -6: -64 0: -5 10: 3 2: 3 -7:-64 -64 3605: -8 6: -4 3: -4 -6: -6 -7: -5 -7: -3 -8: -2 -9: -64 0: -3 3: -3 -7: -1 -8: -64 0: -2 3: -2 -6: 0 -7: 1 -7: -1 -8: -2 -9: -64 0: -4 3: 0 4: 2 5: 5 1: 3 0: -2 -3: -64 0: 1 4: 4 1: -64 0: -2 3: 0 4: 3 0:-64 -64 3606: -8 5: -4 10: -4 -6: -6 -7: -5 -7: -3 -8: -2 -9: -64 0: -3 10: -3 -7: -1 -8: -64 0: -2 10: -2 -6: 0 -7: 1 -7: -1 -8: -2 -9: -64 0: -4 10: -1 11: 1 12: 2 11: 4 10: 5 10: -64 0: 0 11: 1 10: 3 10: -64 0: -2 10: -1 11: 1 9: 3 9: 5 10: -64 0: -7 5: -4 5: -64 0: -2 5: 2 5:-64 -64 3607: -9 9: -5 3: -5 -6: -7 -7: -6 -7: -4 -8: -3 -9: -2 -8: 0 -7: 3 -6: -64 0: -4 2: -4 -7: -2 -8: -64 0: -3 3: -3 -6: -1 -7: 0 -7: -64 0: -5 3: -3 3: 0 4: 2 5: 3 4: 5 3: 7 3: 5 2: 5 -10: 4 -13: 2 -15: 0 -16: -1 -15: -3 -14: -5 -14: -64 0: 1 4: 4 2: 4 -10: -64 0: 1 -15: -1 -14: -2 -14: -64 0: 0 4: 1 3: 3 2: 3 -8: 4 -11: 4 -13: -64 0: 2 -15: 1 -14: -1 -13: -3 -13: -5 -14:-64 -64 3608: -9 9: -6 10: -5 8: -5 -6: -7 -7: -6 -7: -4 -8: -3 -9: -64 0: -4 8: -5 10: -4 11: -4 -7: -2 -8: -64 0: -6 10: -3 12: -3 -6: -1 -7: -3 -9: -64 0: -3 2: 0 3: 2 4: 3 5: 4 4: 6 3: 7 3: 5 2: 5 -7: 3 -9: 2 -11: -64 0: 2 4: 4 3: 4 -7: 3 -9: -64 0: 0 3: 1 3: 3 2: 3 -7: 2 -11: 2 -14: 3 -16: 4 -16: 2 -14:-64 -64 3609: -5 5: 0 12: -2 10: 0 9: 2 10: 0 12: -64 0: 0 11: -1 10: 1 10: 0 11: -64 0: 0 5: -1 4: -3 3: -1 2: -1 -7: 1 -9: 3 -7: -64 0: 0 2: 1 3: 0 4: -1 3: 0 2: 0 -7: 1 -8: -64 0: 0 5: 1 4: 3 3: 1 2: 1 -6: 2 -7: 3 -7:-64 -64 3610: -5 5: 0 12: -2 10: 0 9: 2 10: 0 12: -64 0: 0 11: -1 10: 1 10: 0 11: -64 0: 0 5: -1 4: -3 3: -1 2: -1 -7: 1 -9: 2 -11: -64 0: 0 2: 1 3: 0 4: -1 3: 0 2: 0 -7: 1 -9: -64 0: 0 5: 1 4: 3 3: 1 2: 1 -7: 2 -11: 2 -14: 0 -16: -2 -16: -2 -15: 0 -16:-64 -64 3611: -9 8: -6 10: -5 8: -5 -6: -7 -7: -6 -7: -4 -8: -3 -9: -64 0: -4 8: -5 10: -4 11: -4 -7: -2 -8: -64 0: -6 10: -3 12: -3 -6: -1 -7: -3 -9: -64 0: -3 2: 0 4: 2 5: 4 2: 1 0: -3 -3: -64 0: 1 4: 3 2: -64 0: 0 4: 2 1: -64 0: 1 0: 2 -1: 4 -6: 5 -7: 6 -7: -64 0: 1 -1: 2 -2: 3 -7: 4 -8: -64 0: 0 -1: 1 -2: 2 -7: 4 -9: 6 -7:-64 -64 3612: -5 5: -2 10: -1 8: -1 -6: -3 -7: -2 -7: 0 -8: 1 -9: -64 0: 0 8: -1 10: 0 11: 0 -7: 2 -8: -64 0: -2 10: 1 12: 1 -6: 3 -7: 4 -7: 2 -8: 1 -9:-64 -64 3613: -13 13: -11 3: -10 3: -9 2: -9 -6: -11 -7: -10 -7: -8 -8: -7 -9: -64 0: -9 4: -8 3: -8 -7: -6 -8: -64 0: -11 3: -9 5: -7 3: -7 -6: -5 -7: -7 -9: -64 0: -7 2: -4 3: -2 4: -1 5: 1 3: 1 -6: 3 -7: 1 -9: -64 0: -2 4: 0 3: 0 -7: 2 -8: -64 0: -4 3: -3 3: -1 2: -1 -6: -2 -7: 0 -8: 1 -9: -64 0: 1 2: 4 3: 6 4: 7 5: 8 4: 10 3: 11 3: 9 2: 9 -6: 10 -7: 11 -7: -64 0: 6 4: 8 3: 8 -7: 9 -8: -64 0: 4 3: 5 3: 7 2: 7 -7: 9 -9: 11 -7:-64 -64 3614: -9 9: -7 3: -6 3: -5 2: -5 -6: -7 -7: -6 -7: -4 -8: -3 -9: -64 0: -5 4: -4 3: -4 -7: -2 -8: -64 0: -7 3: -5 5: -3 3: -3 -6: -1 -7: -3 -9: -64 0: -3 2: 0 3: 2 4: 3 5: 4 4: 6 3: 7 3: 5 2: 5 -6: 6 -7: 7 -7: -64 0: 2 4: 4 3: 4 -7: 5 -8: -64 0: 0 3: 1 3: 3 2: 3 -7: 5 -9: 7 -7:-64 -64 3615: -9 9: -5 3: -5 -6: -7 -7: -64 0: -4 2: -4 -6: -1 -8: -64 0: -3 3: -3 -6: -1 -7: 0 -8: -64 0: -7 -7: -5 -7: -3 -8: -2 -9: 0 -8: 3 -7: 5 -7: -64 0: -5 3: -3 3: 0 4: 2 5: 3 4: 5 3: 7 3: 5 2: 5 -7: -64 0: 1 4: 4 2: 4 -6: -64 0: 0 4: 1 3: 3 2: 3 -7:-64 -64 3616: -9 9: -6 5: -5 3: -5 -6: -7 -7: -5 -7: -5 -16: -64 0: -5 4: -4 3: -4 -15: -3 -14: -4 -12: -64 0: -4 -7: -3 -7: -1 -8: -64 0: -6 5: -4 4: -3 3: -3 -6: -1 -7: 0 -8: -64 0: -3 -8: -2 -9: 0 -8: 3 -7: 5 -7: -64 0: -3 -8: -3 -12: -2 -14: -5 -16: -64 0: -3 2: 0 3: 2 4: 3 5: 4 4: 6 3: 7 3: 5 2: 5 -7: -64 0: 2 4: 4 3: 4 -6: -64 0: 0 3: 1 3: 3 2: 3 -7:-64 -64 3617: -9 9: -5 3: -5 -6: -7 -7: -64 0: -4 2: -4 -7: -2 -8: -64 0: -3 3: -3 -6: -1 -7: 0 -7: -64 0: -7 -7: -6 -7: -4 -8: -3 -9: -2 -8: 0 -7: 3 -6: -64 0: -5 3: -3 3: 0 4: 2 5: 3 4: 5 3: 7 3: 5 2: 5 -16: -64 0: 1 4: 4 2: 4 -15: 3 -14: 4 -12: -64 0: 0 4: 1 3: 3 2: 3 -12: 2 -14: 5 -16:-64 -64 3618: -8 6: -6 3: -5 3: -4 2: -4 -6: -6 -7: -5 -7: -3 -8: -2 -9: -64 0: -5 4: -3 3: -3 -7: -1 -8: -64 0: -6 3: -4 5: -2 3: -2 -6: 0 -7: 1 -7: -1 -8: -2 -9: -64 0: -2 3: 2 5: 3 4: 5 3: 6 3: -64 0: 1 4: 2 3: 4 3: -64 0: 0 4: 2 2: 4 2: 6 3:-64 -64 3619: -8 8: -5 3: -5 -1: -3 -2: 3 -2: 5 -3: 5 -7: -64 0: -4 3: -4 -1: -64 0: 4 -3: 4 -7: -64 0: -2 4: -3 3: -3 -1: -1 -2: -64 0: 1 -2: 3 -3: 3 -7: 2 -8: -64 0: -5 3: -2 4: 0 5: 2 4: 4 4: 5 5: -64 0: -1 4: 1 4: -64 0: -2 4: 0 3: 2 3: 4 4: -64 0: 5 -7: 2 -8: 0 -9: -2 -8: -4 -8: -6 -9: -64 0: 1 -8: -1 -8: -64 0: 2 -8: 0 -7: -3 -7: -6 -9: -64 0: 5 5: 4 3: 2 0: -3 -5: -6 -9:-64 -64 3620: -5 5: -2 10: -1 8: -1 -6: -3 -7: -2 -7: 0 -8: 1 -9: -64 0: 0 8: -1 10: 0 11: 0 -7: 2 -8: -64 0: -2 10: 1 12: 1 -6: 3 -7: 4 -7: 2 -8: 1 -9: -64 0: -4 5: -1 5: -64 0: 1 5: 4 5:-64 -64 3621: -9 9: -7 3: -6 3: -5 2: -5 -6: -7 -7: -64 0: -6 4: -4 3: -4 -7: -2 -8: -64 0: -7 3: -5 5: -3 3: -3 -6: -1 -7: 0 -7: -64 0: -7 -7: -6 -7: -4 -8: -3 -9: -2 -8: 0 -7: 3 -6: -64 0: 3 5: 4 4: 6 3: 7 3: 5 2: 5 -6: 6 -7: 7 -7: -64 0: 2 4: 4 3: 4 -7: 5 -8: -64 0: 3 5: 1 3: 3 2: 3 -7: 5 -9: 7 -7:-64 -64 3622: -9 9: -6 5: -5 3: -5 -6: -2 -9: 0 -7: 3 -6: 5 -6: -64 0: -5 4: -4 3: -4 -6: -1 -8: -64 0: -6 5: -4 4: -3 3: -3 -5: -2 -6: 0 -7: -64 0: 3 5: 4 4: 6 3: 7 3: 5 2: 5 -6: -64 0: 2 4: 4 3: 4 -5: -64 0: 3 5: 1 3: 3 2: 3 -6:-64 -64 3623: -13 13: -10 5: -9 3: -9 -6: -6 -9: -4 -7: -1 -6: -64 0: -9 4: -8 3: -8 -6: -5 -8: -64 0: -10 5: -8 4: -7 3: -7 -5: -6 -6: -4 -7: -64 0: -1 5: -3 3: -1 2: -1 -6: 2 -9: 4 -7: 7 -6: 9 -6: -64 0: -2 4: 0 3: 0 -6: 3 -8: -64 0: -1 5: 0 4: 2 3: 1 2: 1 -5: 2 -6: 4 -7: -64 0: 7 5: 8 4: 10 3: 11 3: 9 2: 9 -6: -64 0: 6 4: 8 3: 8 -5: -64 0: 7 5: 5 3: 7 2: 7 -6:-64 -64 3624: -10 9: -7 3: -6 3: -4 2: -3 1: 1 -7: 2 -8: 4 -9: 6 -7: -64 0: -5 4: -3 3: 2 -7: 4 -8: -64 0: -7 3: -5 5: -3 4: -2 3: 2 -5: 3 -6: 5 -7: 6 -7: -64 0: 0 -1: 3 5: 4 4: 6 4: 7 5: -64 0: 3 4: 4 3: 5 3: -64 0: 2 3: 4 2: 6 3: 7 5: -64 0: -1 -3: -4 -9: -5 -8: -7 -8: -8 -9: -64 0: -4 -8: -5 -7: -6 -7: -64 0: -3 -7: -5 -6: -7 -7: -8 -9: -64 0: -5 -2: -2 -2: -64 0: 1 -2: 4 -2:-64 -64 3625: -9 9: -7 3: -6 3: -5 2: -5 -6: -7 -7: -64 0: -6 4: -4 3: -4 -7: -2 -8: -64 0: -7 3: -5 5: -3 3: -3 -6: -1 -7: 0 -7: -64 0: -7 -7: -6 -7: -4 -8: -3 -9: -2 -8: 0 -7: 3 -6: -64 0: 3 5: 4 4: 6 3: 7 3: 5 2: 5 -10: 4 -13: 2 -15: 0 -16: -1 -15: -3 -14: -5 -14: -64 0: 2 4: 4 3: 4 -10: -64 0: 1 -15: -1 -14: -2 -14: -64 0: 3 5: 1 3: 3 2: 3 -8: 4 -11: 4 -13: -64 0: 2 -15: 1 -14: -1 -13: -3 -13: -5 -14:-64 -64 3626: -9 9: 6 5: -6 -9: -64 0: -6 3: -4 2: -1 2: 2 3: 6 5: -64 0: -5 4: -3 3: 1 3: -64 0: -6 3: -4 5: -2 4: 2 4: 6 5: -64 0: -6 -9: -2 -7: 1 -6: 4 -6: 6 -7: -64 0: -1 -7: 3 -7: 5 -8: -64 0: -6 -9: -2 -8: 2 -8: 4 -9: 6 -7: -64 0: -4 -2: 4 -2:-64 -64 3697: 0 0:-64 -64 3698: -4 4:-64 -64 3699: -8 8:-64 -64 3700: -10 10: -6 10: -6 -6: -8 -7: -64 0: -5 9: -5 -6: -2 -8: -64 0: -4 10: -4 -6: -2 -7: -1 -8: -64 0: -6 10: -4 10: 1 11: 3 12: -64 0: 1 11: 2 10: 4 9: 4 -7: -64 0: 2 11: 5 9: 5 -6: -64 0: 3 12: 4 11: 6 10: 8 10: 6 9: 6 -7: -64 0: -8 -7: -6 -7: -4 -8: -3 -9: -1 -8: 4 -7: 6 -7:-64 -64 3701: -10 10: -3 10: -2 9: -1 7: -1 -6: -3 -7: -64 0: -1 9: -2 10: -1 11: 0 9: 0 -7: 2 -8: -64 0: -3 10: 0 12: 1 10: 1 -6: 3 -7: 4 -7: -64 0: -3 -7: -2 -7: 0 -8: 1 -9: 2 -8: 4 -7:-64 -64 3702: -10 10: -6 10: -4 10: -2 11: -1 12: 1 11: 4 10: 6 10: -64 0: -2 10: 0 11: -64 0: -6 10: -4 9: -2 9: 0 10: 1 11: -64 0: 4 10: 4 2: -64 0: 5 9: 5 3: -64 0: 6 10: 6 2: -1 2: -4 1: -6 -1: -7 -4: -7 -9: -64 0: -7 -9: -3 -7: 1 -6: 4 -6: 8 -7: -64 0: -4 -8: -1 -7: 4 -7: 7 -8: -64 0: -7 -9: -2 -8: 3 -8: 6 -9: 8 -7:-64 -64 3703: -10 10: -6 10: -5 10: -3 11: -2 12: 0 11: 4 10: 6 10: -64 0: -3 10: -1 11: -64 0: -6 10: -4 9: -2 9: 0 11: -64 0: 4 10: 4 3: -64 0: 5 9: 5 4: -64 0: 6 10: 6 3: 4 3: 1 2: -1 1: -64 0: -1 2: 1 1: 4 0: 6 0: 6 -7: -64 0: 5 -1: 5 -6: -64 0: 4 0: 4 -7: -64 0: -7 -7: -5 -6: -3 -6: -1 -7: 0 -8: -64 0: -3 -7: -1 -8: -64 0: -7 -7: -5 -7: -3 -8: -2 -9: 0 -8: 4 -7: 6 -7:-64 -64 3704: -10 10: 3 12: -7 2: -7 -3: 2 -3: -64 0: 4 -3: 8 -3: 9 -4: 9 -2: 8 -3: -64 0: -6 2: -6 -2: -64 0: -5 4: -5 -3: -64 0: 2 11: 2 -6: 0 -7: -64 0: 3 8: 4 10: 3 11: 3 -7: 5 -8: -64 0: 3 12: 5 10: 4 8: 4 -6: 6 -7: 7 -7: -64 0: 0 -7: 1 -7: 3 -8: 4 -9: 5 -8: 7 -7:-64 -64 3705: -10 10: -6 12: -6 3: -64 0: -6 12: 6 12: -64 0: -5 11: 4 11: -64 0: -6 10: 3 10: 5 11: 6 12: -64 0: 4 6: 3 5: 1 4: -3 3: -6 3: -64 0: 1 4: 2 4: 4 3: 4 -7: -64 0: 3 5: 5 4: 5 -6: -64 0: 4 6: 5 5: 7 4: 8 4: 6 3: 6 -7: -64 0: -7 -7: -5 -6: -3 -6: -1 -7: 0 -8: -64 0: -3 -7: -1 -8: -64 0: -7 -7: -5 -7: -3 -8: -2 -9: 0 -8: 4 -7: 6 -7:-64 -64 3706: -10 10: -6 10: -6 -6: -8 -7: -64 0: -5 9: -5 -6: -2 -8: -64 0: -4 10: -4 -6: -2 -7: -1 -8: -64 0: -6 10: -4 10: 0 11: 2 12: 3 11: 5 10: 6 10: -64 0: 1 11: 3 10: -64 0: 0 11: 2 9: 4 9: 6 10: -64 0: -4 2: -3 2: 1 3: 3 4: 4 5: -64 0: 1 3: 2 3: 4 2: 4 -7: -64 0: 3 4: 5 2: 5 -6: -64 0: 4 5: 5 4: 7 3: 8 3: 6 2: 6 -7: -64 0: -8 -7: -6 -7: -4 -8: -3 -9: -1 -8: 4 -7: 6 -7:-64 -64 3707: -10 10: -7 10: -5 12: -2 11: 3 11: 8 12: -64 0: -6 11: -3 10: 2 10: 5 11: -64 0: -7 10: -3 9: 0 9: 4 10: 8 12: -64 0: 8 12: 7 10: 5 7: 1 3: -1 0: -2 -3: -2 -6: -1 -9: -64 0: 0 1: -1 -2: -1 -5: 0 -8: -64 0: 3 5: 1 2: 0 -1: 0 -4: 1 -7: -1 -9:-64 -64 3708: -10 10: -6 9: -6 3: -64 0: -5 8: -5 4: -64 0: -4 9: -4 3: -64 0: -6 9: -4 9: 1 10: 3 11: 4 12: -64 0: 1 10: 2 10: 4 9: 4 3: -64 0: 3 11: 5 10: 5 4: -64 0: 4 12: 5 11: 7 10: 8 10: 6 9: 6 3: -64 0: -6 3: -4 3: 4 0: 6 0: -64 0: 6 3: 4 3: -4 0: -6 0: -64 0: -6 0: -6 -6: -8 -7: -64 0: -5 -1: -5 -6: -2 -8: -64 0: -4 0: -4 -6: -2 -7: -1 -8: -64 0: 4 0: 4 -7: -64 0: 5 -1: 5 -6: -64 0: 6 0: 6 -7: -64 0: -8 -7: -6 -7: -4 -8: -3 -9: -1 -8: 4 -7: 6 -7:-64 -64 3709: -10 10: -6 10: -6 1: -8 0: -64 0: -5 9: -5 0: -3 -1: -64 0: -4 10: -4 1: -2 0: -1 0: -64 0: -6 10: -4 10: 1 11: 3 12: -64 0: 1 11: 2 10: 4 9: 4 -7: -64 0: 2 11: 5 9: 5 -6: -64 0: 3 12: 4 11: 6 10: 8 10: 6 9: 6 -7: -64 0: -8 0: -7 0: -5 -1: -4 -2: -3 -1: -1 0: 3 1: 4 1: -64 0: -7 -7: -5 -6: -3 -6: -1 -7: 0 -8: -64 0: -3 -7: -1 -8: -64 0: -7 -7: -5 -7: -3 -8: -2 -9: 0 -8: 4 -7: 6 -7:-64 -64 3710: -6 6: 0 -6: -2 -8: 0 -9: 2 -8: 0 -6: -64 0: 0 -7: -1 -8: 1 -8: 0 -7:-64 -64 3711: -6 6: 0 -12: 0 -10: -2 -8: 0 -6: 1 -8: 1 -10: 0 -12: -2 -13: -64 0: 0 -7: -1 -8: 0 -9: 0 -7:-64 -64 3712: -6 6: 0 5: -2 3: 0 2: 2 3: 0 5: -64 0: 0 4: -1 3: 1 3: 0 4: -64 0: 0 -6: -2 -8: 0 -9: 2 -8: 0 -6: -64 0: 0 -7: -1 -8: 1 -8: 0 -7:-64 -64 3713: -6 6: 0 5: -2 3: 0 2: 2 3: 0 5: -64 0: 0 4: -1 3: 1 3: 0 4: -64 0: 0 -12: 0 -10: -2 -8: 0 -6: 1 -8: 1 -10: 0 -12: -2 -13: -64 0: 0 -7: -1 -8: 0 -9: 0 -7:-64 -64 3714: -6 6: 0 12: -1 11: -3 10: -1 9: 0 -2: -64 0: 0 9: 1 10: 0 11: -1 10: 0 9: 0 -2: -64 0: 0 12: 1 11: 3 10: 1 9: 0 -2: -64 0: 0 -6: -2 -8: 0 -9: 2 -8: 0 -6: -64 0: 0 -7: -1 -8: 1 -8: 0 -7:-64 -64 3715: -9 9: -6 8: -5 10: -4 11: -1 12: 1 12: 4 11: 5 10: 6 8: 6 6: 5 4: 3 2: 1 1: -64 0: -5 8: -4 10: -64 0: 4 10: 5 9: 5 5: 4 4: -64 0: -6 8: -4 7: -4 9: -3 11: -1 12: -64 0: 1 12: 3 11: 4 9: 4 5: 3 3: 1 1: -64 0: 0 1: 0 -2: 1 1: -1 1: 0 -2: -64 0: 0 -6: -2 -8: 0 -9: 2 -8: 0 -6: -64 0: 0 -7: -1 -8: 1 -8: 0 -7:-64 -64 3716: -6 6: 2 12: 0 11: -1 9: -1 7: 0 5: 2 7: 0 9: 0 11: -64 0: 0 8: 0 6: 1 7: 0 8:-64 -64 3717: -6 6: 0 6: 0 8: -2 10: 0 12: 1 10: 1 8: 0 6: -2 5: -64 0: 0 11: -1 10: 0 9: 0 11:-64 -64 3718: -13 13: 7 4: 8 3: 9 3: 10 4: -64 0: 6 3: 7 2: 9 2: -64 0: 6 2: 7 1: 8 1: 9 2: 10 4: -64 0: 7 4: 1 -2: -64 0: 0 -3: -6 -9: -10 -4: -4 2: -64 0: -3 3: 1 7: -3 12: -8 6: -2 0: 2 -6: 4 -8: 6 -9: 8 -9: 9 -8: 10 -6: -64 0: -6 -8: -9 -4: -64 0: 0 7: -3 11: -64 0: -7 6: -2 1: 2 -5: 4 -7: 6 -8: 9 -8: -64 0: -5 -8: -9 -3: -64 0: 0 6: -4 11: -64 0: -7 7: -1 1: 3 -5: 4 -6: 6 -7: 9 -7: 10 -6:-64 -64 3719: -10 10: -2 16: -2 -13: -64 0: 2 16: 2 -13: -64 0: 2 12: 4 11: 5 9: 5 7: 7 8: 6 10: 5 11: 2 12: -2 12: -5 11: -7 9: -7 6: -6 4: -3 2: 3 0: 5 -1: 6 -3: 6 -6: 5 -8: -64 0: 6 8: 5 10: -64 0: -6 6: -5 4: -3 3: 3 1: 5 0: 6 -2: -64 0: -5 -7: -6 -5: -64 0: -5 11: -6 9: -6 7: -5 5: -3 4: 3 2: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -2 -9: -5 -8: -6 -7: -7 -5: -5 -4: -5 -6: -4 -8: -2 -9:-64 -64 3720: -11 12: 9 16: -9 -16: -8 -16: -64 0: 9 16: 10 16: -8 -16:-64 -64 3721: -7 7: 3 16: 1 14: -1 11: -3 7: -4 2: -4 -2: -3 -7: -1 -11: 1 -14: 3 -16: -64 0: -1 10: -2 7: -3 3: -3 -3: -2 -7: -1 -10: -64 0: 1 14: 0 12: -1 9: -2 3: -2 -3: -1 -9: 0 -12: 1 -14:-64 -64 3722: -7 7: -3 16: -1 14: 1 11: 3 7: 4 2: 4 -2: 3 -7: 1 -11: -1 -14: -3 -16: -64 0: 1 10: 2 7: 3 3: 3 -3: 2 -7: 1 -10: -64 0: -1 14: 0 12: 1 9: 2 3: 2 -3: 1 -9: 0 -12: -1 -14:-64 -64 3723: -8 8: 0 12: -1 11: 1 1: 0 0: -64 0: 0 12: 0 0: -64 0: 0 12: 1 11: -1 1: 0 0: -64 0: -5 9: -4 9: 4 3: 5 3: -64 0: -5 9: 5 3: -64 0: -5 9: -5 8: 5 4: 5 3: -64 0: 5 9: 4 9: -4 3: -5 3: -64 0: 5 9: -5 3: -64 0: 5 9: 5 8: -5 4: -5 3:-64 -64 3724: -12 13: -8 1: 9 1: 9 0: -64 0: -8 1: -8 0: 9 0:-64 -64 3725: -12 13: 0 9: 0 -8: 1 -8: -64 0: 0 9: 1 9: 1 -8: -64 0: -8 1: 9 1: 9 0: -64 0: -8 1: -8 0: 9 0:-64 -64 3726: -12 13: -8 5: 9 5: 9 4: -64 0: -8 5: -8 4: 9 4: -64 0: -8 -3: 9 -3: 9 -4: -64 0: -8 -3: -8 -4: 9 -4:-64 -64 3727: -4 5: 1 12: 0 11: 0 5: -64 0: 1 11: 0 5: -64 0: 1 12: 2 11: 0 5:-64 -64 3728: -9 9: -4 12: -5 11: -5 5: -64 0: -4 11: -5 5: -64 0: -4 12: -3 11: -5 5: -64 0: 5 12: 4 11: 4 5: -64 0: 5 11: 4 5: -64 0: 5 12: 6 11: 4 5:-64 -64 3729: -7 7: -1 12: -3 11: -4 9: -4 7: -3 5: -1 4: 1 4: 3 5: 4 7: 4 9: 3 11: 1 12: -1 12: -64 0: -1 12: -4 9: -3 5: 1 4: 4 7: 3 11: -1 12: -64 0: 1 12: -3 11: -4 7: -1 4: 3 5: 4 9: 1 12:-64 -64 3801: -13 13: -4 10: -6 9: -8 7: -9 5: -10 2: -10 -1: -9 -3: -7 -4: -64 0: -8 6: -9 3: -9 -1: -8 -3: -64 0: -4 10: -6 8: -7 6: -8 3: -8 0: -7 -4: -7 -6: -8 -8: -10 -9: -64 0: 4 10: 6 10: 6 -7: 4 -7: -64 0: 7 10: 7 -7: -64 0: 8 11: 8 -8: -64 0: -10 12: -7 11: -1 10: 4 10: 8 11: 10 12: -64 0: -8 2: 6 2: -64 0: -10 -9: -7 -8: -1 -7: 4 -7: 8 -8: 10 -9:-64 -64 3802: -13 13: -6 11: -6 -8: -64 0: -5 11: -5 -8: -64 0: -2 12: -4 11: -4 -8: -2 -9: -64 0: -10 8: -8 10: -6 11: -2 12: 3 12: 6 11: 8 9: 8 7: 7 5: -64 0: 6 10: 7 9: 7 7: 6 5: -64 0: 3 12: 5 11: 6 9: 6 7: 5 6: -64 0: -1 -3: -3 -2: -4 0: -4 2: -3 4: -2 5: 1 6: 4 6: 7 5: 9 3: 10 1: 10 -2: 9 -5: 7 -7: 5 -8: 2 -9: -2 -9: -6 -8: -8 -7: -10 -5: -64 0: 8 3: 9 1: 9 -3: 8 -5: -64 0: 4 6: 7 4: 8 1: 8 -3: 7 -6: 5 -8:-64 -64 3803: -13 13: 10 12: 9 10: 8 8: 6 10: 4 11: 1 12: -1 12: -4 11: -6 10: -8 8: -9 6: -10 3: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 1 -9: 4 -8: 6 -7: 8 -5: 9 -7: 10 -9: -64 0: 9 10: 8 5: 8 -2: 9 -7: -64 0: 8 7: 7 8: -64 0: 8 4: 7 7: 6 9: 4 11: -64 0: -8 7: -9 4: -9 -1: -8 -4: -64 0: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -64 0: 7 -5: 8 -4: -64 0: 4 -8: 6 -6: 7 -4: 8 -1:-64 -64 3804: -13 13: -7 11: -7 -8: -64 0: -6 11: -6 -8: -64 0: -4 12: -5 11: -5 -8: -4 -9: -64 0: -10 7: -9 9: -7 11: -4 12: 1 12: 4 11: 6 10: 8 8: 9 6: 10 3: 10 0: 9 -3: 8 -5: 6 -7: 4 -8: 1 -9: -4 -9: -7 -8: -9 -6: -10 -4: -64 0: 8 7: 9 4: 9 -1: 8 -4: -64 0: 4 11: 6 9: 7 7: 8 4: 8 -1: 7 -4: 6 -6: 4 -8:-64 -64 3805: -13 13: 10 12: 9 10: 8 8: 6 10: 4 11: 1 12: -1 12: -4 11: -6 10: -8 8: -9 6: -10 3: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 1 -9: 4 -8: 6 -7: 8 -5: 9 -7: 10 -9: -64 0: 9 10: 8 5: 8 -2: 9 -7: -64 0: 8 7: 7 8: -64 0: 8 5: 6 9: 4 11: -64 0: -8 7: -9 4: -9 -1: -8 -4: -64 0: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -64 0: 7 -5: 8 -4: -64 0: 4 -8: 6 -6: 7 -4: 8 -1: -64 0: -8 2: -7 3: -4 3: 3 1: 6 1: 8 2: -64 0: -2 2: 0 1: 3 0: 5 0: 7 1: -64 0: -5 3: 0 0: 3 -1: 5 -1: 7 0: 8 2: -64 0: 8 5: 7 6: 6 6: 5 5: 6 4: 7 5:-64 -64 3806: -13 13: -8 10: -8 -8: -64 0: -5 11: -7 10: -7 -7: -64 0: -3 12: -5 11: -6 9: -6 -7: -4 -7: -64 0: -10 8: -8 10: -6 11: -3 12: 1 12: 4 11: 6 10: 7 9: 10 12: -64 0: 10 12: 9 10: 8 6: 8 3: 9 -1: 10 -3: -64 0: 8 9: 7 7: -64 0: 4 11: 6 9: 7 6: 8 3: -64 0: -6 2: -5 3: -3 3: 2 2: 5 2: 7 3: -64 0: -1 2: 2 1: 4 1: 6 2: -64 0: -4 3: 2 0: 4 0: 6 1: 7 3: 7 6: 6 7: 5 7: 4 6: 5 5: 6 6: -64 0: -10 -9: -8 -8: -4 -7: 1 -7: 7 -8: 10 -9:-64 -64 3807: -13 13: 10 12: 9 10: 8 8: 6 10: 4 11: 1 12: -1 12: -4 11: -6 10: -8 8: -9 6: -10 3: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 2 -9: 4 -8: 6 -7: 7 -6: 8 -4: 9 -7: 10 -9: -64 0: 9 10: 8 5: 8 -2: 9 -7: -64 0: 8 7: 7 8: -64 0: 8 4: 7 7: 6 9: 4 11: -64 0: -8 7: -9 4: -9 -1: -8 -4: -64 0: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -64 0: 6 -6: 7 -4: 7 0: -64 0: 4 -8: 5 -7: 6 -4: 6 1: -64 0: -7 -1: -6 0: -5 -1: -6 -2: -7 -2: -8 -1: -64 0: -8 2: -7 4: -5 5: -3 5: 0 4: 3 2: 5 1: -64 0: -7 3: -5 4: -3 4: 0 3: 2 2: -64 0: -8 2: -6 3: -3 3: 3 1: 7 1: 8 2:-64 -64 3808: -13 13: -8 11: -8 -8: -10 -9: -64 0: -7 10: -7 -8: -64 0: -4 10: -6 10: -6 -8: -64 0: -10 12: -8 11: -4 10: 1 10: 7 11: 10 12: -64 0: -6 2: -5 4: -3 6: 0 7: 4 7: 7 6: 9 4: 10 1: 10 -2: 9 -3: 7 -4: -64 0: 8 4: 9 2: 9 -1: 8 -3: -64 0: 4 7: 6 6: 7 5: 8 3: 8 -1: 7 -4: 7 -6: 8 -8: 10 -9: -64 0: -10 -9: -6 -8: -2 -8: 3 -9:-64 -64 3809: -13 13: -1 9: -1 -7: -64 0: 0 8: 0 -6: -64 0: 1 9: 1 -7: -64 0: -10 12: -6 10: -2 9: 2 9: 6 10: 10 12: -64 0: -10 -9: -7 -8: -3 -7: 3 -7: 7 -8: 10 -9:-64 -64 3810: -13 13: 2 9: 4 9: 4 -6: 3 -8: 1 -9: -64 0: 5 9: 5 -6: 4 -7: -64 0: 6 10: 6 -7: -64 0: -10 12: -6 10: -2 9: 2 9: 6 10: 10 12: -64 0: -9 3: -10 1: -10 -3: -9 -6: -7 -8: -4 -9: 1 -9: 4 -8: 6 -7: 8 -5: 10 -2: -64 0: -9 -3: -8 -6: -7 -7: -64 0: -10 -1: -8 -3: -7 -6: -6 -8: -4 -9:-64 -64 3811: -13 13: -8 11: -8 -8: -10 -9: -64 0: -7 10: -7 -8: -64 0: -4 10: -6 10: -6 -8: -64 0: -10 12: -8 11: -4 10: 1 10: 7 11: 10 12: -64 0: -6 2: -5 4: -3 6: 0 7: 3 7: 6 6: 7 5: 7 3: 6 2: 1 0: -1 -1: -2 -2: -2 -3: -1 -4: 0 -3: -1 -2: -64 0: 5 6: 6 5: 6 3: 5 2: -64 0: 3 7: 5 5: 5 3: 4 2: 1 0: -64 0: 1 0: 4 0: 7 -1: 8 -3: 8 -5: 7 -6: -64 0: 5 -1: 7 -3: 7 -5: -64 0: 1 0: 4 -1: 6 -3: 7 -6: 8 -8: 9 -9: 10 -9: -64 0: -10 -9: -6 -8: -2 -8: 3 -9:-64 -64 3812: -13 13: -8 11: -8 -8: -64 0: -7 10: -7 -7: -64 0: -4 10: -6 10: -6 -7: -4 -7: -64 0: 10 7: 8 4: 7 2: 6 -1: 6 -3: 7 -5: 9 -6: -64 0: 8 3: 7 0: 7 -3: 8 -5: -64 0: 10 7: 9 5: 8 1: 8 -2: 9 -6: 10 -9: -64 0: -10 12: -8 11: -4 10: 1 10: 7 11: 10 12: -64 0: -10 -9: -8 -8: -4 -7: 1 -7: 7 -8: 10 -9:-64 -64 3813: -13 13: -1 9: -1 -7: -64 0: 0 8: 0 -6: -64 0: 1 9: 1 -7: -64 0: -4 -7: -6 -5: -8 -4: -9 -3: -10 0: -10 5: -9 8: -7 10: -5 11: -2 12: 2 12: 5 11: 7 10: 9 8: 10 5: 10 0: 9 -3: 8 -4: 6 -5: 4 -7: -64 0: -8 -3: -9 0: -9 5: -8 8: -64 0: -6 -5: -7 -3: -8 0: -8 6: -7 9: -5 11: -64 0: 8 8: 9 5: 9 0: 8 -3: -64 0: 5 11: 7 9: 8 6: 8 0: 7 -3: 6 -5: -64 0: -10 12: -6 10: -2 9: 2 9: 6 10: 10 12: -64 0: -10 -9: -7 -8: -3 -7: 3 -7: 7 -8: 10 -9:-64 -64 3814: -13 13: -8 10: -8 -8: -10 -9: -64 0: -6 10: -7 9: -7 -8: -64 0: -3 12: -5 11: -6 9: -6 -8: -64 0: -10 8: -8 10: -6 11: -3 12: 1 12: 4 11: 6 10: 8 8: 9 6: 10 3: 10 -1: 9 -3: 7 -4: -64 0: 8 7: 9 4: 9 0: 8 -3: -64 0: 4 11: 6 9: 7 7: 8 4: 8 0: 7 -4: 7 -6: 8 -8: 9 -9: 10 -9: -64 0: -10 -9: -6 -8: -2 -8: 3 -9:-64 -64 3815: -13 13: -1 12: -4 11: -6 10: -8 8: -9 6: -10 3: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 1 -9: 4 -8: 6 -7: 8 -5: 9 -3: 10 0: 10 3: 9 6: 8 8: 6 10: 4 11: 1 12: -1 12: -64 0: -8 7: -9 4: -9 -1: -8 -4: -64 0: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -64 0: 8 -4: 9 -1: 9 4: 8 7: -64 0: 4 -8: 6 -6: 7 -4: 8 -1: 8 4: 7 7: 6 9: 4 11:-64 -64 3816: -13 13: -8 9: -8 -8: -64 0: -5 10: -7 8: -7 -7: -64 0: -1 12: -3 11: -5 9: -6 7: -6 -7: -4 -7: -64 0: -10 7: -8 9: -4 11: -1 12: 2 12: 5 11: 7 10: 9 8: 10 5: 10 3: 9 0: 7 -2: 4 -3: 0 -3: -3 -2: -5 0: -6 3: -64 0: 8 8: 9 6: 9 2: 8 0: -64 0: 5 11: 7 9: 8 6: 8 2: 7 -1: 4 -3: -64 0: -10 -9: -8 -8: -4 -7: 1 -7: 7 -8: 10 -9:-64 -64 3817: -13 13: -1 12: -4 11: -6 10: -8 8: -9 6: -10 3: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 1 -9: 4 -8: 6 -7: 8 -5: 9 -3: 10 0: 10 3: 9 6: 8 8: 6 10: 4 11: 1 12: -1 12: -64 0: -8 7: -9 4: -9 -1: -8 -4: -64 0: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -64 0: 8 -4: 9 -1: 9 4: 8 7: -64 0: 4 -8: 6 -6: 7 -4: 8 -1: 8 4: 7 7: 6 9: 4 11: -64 0: -8 -1: -7 -3: -4 -4: 2 -5: 9 -5: 10 -6: 10 -8: 9 -9: 9 -8: 10 -7: -64 0: -2 -5: 0 -5: -64 0: -7 -3: -4 -5: -1 -6: 1 -6: 2 -5:-64 -64 3818: -13 13: -8 9: -8 -8: -10 -9: -64 0: -7 9: -7 -8: -64 0: -6 10: -6 -8: -64 0: -10 7: -8 9: -6 10: -4 11: -1 12: 3 12: 7 11: 9 9: 10 7: 10 4: 9 2: 8 1: -64 0: 7 10: 8 9: 9 7: 9 4: 8 2: -64 0: 3 12: 5 11: 7 9: 8 7: 8 3: 7 1: -64 0: 6 0: 3 -1: 0 -1: -2 0: -2 2: 0 3: 3 3: 6 2: 8 0: 10 -3: 10 -5: 9 -6: 8 -6: -64 0: 6 1: 7 0: 9 -4: 9 -5: 8 -2: -64 0: 2 3: 4 2: 6 0: 7 -2: 8 -6: 9 -8: 10 -9: -64 0: -10 -9: -6 -8: -2 -8: 3 -9:-64 -64 3819: -13 13: 2 12: 8 11: 10 12: 9 10: 9 8: 7 10: 5 11: 2 12: -2 12: -5 11: -8 8: -9 5: -9 3: -8 0: -6 -2: -3 -3: 0 -3: 2 -2: 3 -1: 4 1: 4 2: -64 0: 9 11: 8 10: 9 8: -64 0: -8 2: -7 0: -6 -1: -3 -2: 0 -2: 2 -1: -64 0: -7 9: -8 7: -8 4: -7 2: -5 0: -2 -1: 0 -1: 2 0: 4 2: 5 3: 6 3: -64 0: -6 1: -5 1: -4 2: -2 4: 0 5: 3 5: 5 4: 7 2: 8 0: 8 -3: 7 -6: 5 -8: -64 0: -2 5: 0 6: 3 6: 6 5: 8 3: 9 0: 9 -3: 8 -5: -64 0: -9 -5: -8 -7: -9 -8: -64 0: -4 2: -4 3: -3 5: -2 6: 0 7: 3 7: 6 6: 9 3: 10 0: 10 -2: 9 -5: 7 -7: 5 -8: 2 -9: -2 -9: -5 -8: -7 -7: -9 -5: -9 -7: -10 -9: -8 -8: -2 -9:-64 -64 3820: -13 13: -1 10: -5 10: -7 9: -8 8: -9 6: -10 3: -10 -1: -9 -4: -8 -6: -7 -7: -5 -8: -2 -9: 1 -9: 4 -8: 6 -7: 8 -5: 9 -3: 10 0: 10 4: 9 7: 7 9: 5 10: -64 0: 3 10: 2 9: 2 7: 3 6: 4 7: 3 8: -64 0: -9 -1: -8 -4: -6 -6: -4 -7: -1 -8: 2 -8: 5 -7: -64 0: -8 8: -9 4: -9 1: -8 -2: -6 -5: -4 -6: -1 -7: 2 -7: 5 -6: 7 -5: 9 -2: 10 0: -64 0: -10 12: -7 9: -64 0: -7 10: -6 11: -64 0: -9 11: -8 11: -7 12: -5 11: -1 10: 5 10: 8 11: 10 12:-64 -64 3821: -13 13: -6 10: -8 8: -9 6: -10 3: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 3 -9: 6 -8: 8 -7: -64 0: -7 8: -8 6: -9 3: -9 -1: -8 -4: -64 0: -7 9: -6 8: -6 7: -7 5: -8 2: -8 -1: -7 -4: -6 -6: -4 -8: -64 0: 4 10: 6 10: 6 -6: 5 -8: 3 -9: -64 0: 7 10: 7 -6: 6 -7: -64 0: 8 11: 8 -7: 10 -9: -64 0: -10 12: -7 11: -1 10: 4 10: 8 11: 10 12:-64 -64 3822: -13 13: -10 12: 0 -9: -64 0: -9 11: -8 10: -1 -5: 0 -7: -64 0: -8 11: -7 10: 0 -5: 1 -6: -64 0: 10 12: 0 -9: -64 0: 5 4: 3 -1: -64 0: 7 6: 3 1: 2 -2: 2 -4: -64 0: -10 12: -8 11: -3 10: 3 10: 8 11: 10 12:-64 -64 3823: -13 13: -6 10: -8 8: -9 6: -10 3: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 1 -9: 4 -8: 6 -7: 8 -5: 9 -3: 10 0: 10 3: 9 6: 8 8: 6 10: -64 0: -8 6: -9 3: -9 0: -8 -3: -7 -5: -64 0: -8 8: -7 7: -7 6: -8 3: -8 0: -7 -4: -6 -6: -4 -8: -64 0: 7 -5: 8 -3: 9 0: 9 3: 8 6: -64 0: 4 -8: 6 -6: 7 -4: 8 0: 8 3: 7 6: 7 7: 8 8: -64 0: -1 9: -1 -9: -64 0: 0 8: 0 -8: -64 0: 1 9: 1 -9: -64 0: -10 12: -6 10: -2 9: 2 9: 6 10: 10 12:-64 -64 3824: -13 13: -10 12: 6 -7: 7 -8: -64 0: -9 11: -7 10: 8 -8: -64 0: -6 10: 10 -9: -64 0: 10 12: 1 2: -64 0: -1 0: -8 -8: -64 0: -2 -1: -5 -3: -6 -5: -64 0: -1 0: -5 -2: -6 -3: -7 -5: -7 -7: -64 0: -10 12: -6 10: -2 9: 2 9: 6 10: 10 12: -64 0: -10 -9: -8 -8: -4 -7: 1 -7: 7 -8: 10 -9:-64 -64 3825: -13 13: 6 10: 6 -8: -64 0: 7 10: 7 -7: -64 0: 8 11: 8 -7: -64 0: -7 10: -9 8: -10 5: -10 2: -9 -1: -7 -3: -5 -4: -2 -5: 1 -5: 4 -4: 6 -3: -64 0: -6 -3: -3 -4: 3 -4: -64 0: -10 2: -9 0: -7 -2: -4 -3: 2 -3: 4 -4: -64 0: -10 12: -6 10: -2 9: 2 9: 6 10: 10 12: -64 0: -10 -5: -8 -7: -6 -8: -2 -9: 2 -9: 6 -8: 10 -6:-64 -64 3826: -13 13: -10 12: -9 11: -7 10: -4 10: 1 12: 4 12: 7 11: 8 9: 8 7: 7 5: -64 0: 6 11: 7 9: 7 7: 6 5: -64 0: 4 12: 5 11: 6 9: 6 6: -64 0: 6 4: 2 3: 0 3: -2 4: -2 6: 0 7: 2 7: 6 6: -64 0: 2 7: 4 6: 5 5: 4 4: 2 3: -64 0: 7 5: 9 3: 10 0: 10 -2: 9 -5: 7 -7: 5 -8: 2 -9: -2 -9: -5 -8: -7 -7: -9 -5: -10 -2: -10 0: -9 3: -8 4: -6 5: -4 5: -2 4: -2 2: -3 1: -4 2: -3 3: -64 0: 6 5: 8 3: 9 1: 9 -3: 8 -5: -64 0: 6 4: 7 3: 8 1: 8 -3: 7 -6: 5 -8:-64 -64 3901: -8 9: -2 1: -5 -2: -5 -6: -2 -9: 2 -7: -64 0: -4 -2: -4 -6: -2 -8: -64 0: -3 0: -3 -5: 0 -8: -64 0: 0 -1: -5 4: -4 5: -3 4: -4 3: -64 0: -3 4: 1 4: 3 5: 5 3: 5 -6: 6 -7: -64 0: 3 4: 4 3: 4 -6: 3 -7: 4 -8: 5 -7: 4 -6: -64 0: 1 4: 3 2: 3 -6: 2 -7: 4 -9: 6 -7:-64 -64 3902: -9 8: -4 10: -6 12: -5 8: -5 -6: -2 -9: 3 -7: 5 -6: -64 0: -4 10: -4 -6: -2 -8: -64 0: -4 10: -2 12: -3 8: -3 -5: 0 -8: -64 0: -3 3: 2 5: 5 2: 5 -6: -64 0: 2 4: 4 2: 4 -6: -64 0: 0 4: 3 1: 3 -7:-64 -64 3903: -7 5: -4 2: -4 -7: -2 -9: 0 -7: -64 0: -3 2: -3 -7: -2 -8: -64 0: -2 3: -2 -6: -1 -7: 0 -7: -64 0: -4 2: 2 5: 4 3: 2 2: 0 4: -64 0: 1 4: 3 3:-64 -64 3904: -8 8: 0 5: -5 2: -5 -6: -2 -9: 0 -8: 3 -7: 5 -7: -64 0: -4 2: -4 -6: -2 -8: -64 0: -3 3: -3 -5: 0 -8: -64 0: -2 9: -2 12: -1 9: 5 2: 5 -7: -64 0: -2 9: 4 2: 4 -6: -64 0: -2 9: -5 9: -2 8: 3 2: 3 -7:-64 -64 3905: -7 6: -4 2: -4 -7: -2 -9: 0 -7: -64 0: -3 2: -3 -7: -2 -8: -64 0: -2 3: -2 -6: -1 -7: 0 -7: -64 0: -4 2: 2 5: 5 1: -2 -3: -64 0: 1 4: 4 1: -64 0: 0 4: 3 0:-64 -64 3906: -7 5: -3 9: -3 -6: -4 -7: -2 -9: -64 0: -2 9: -2 -6: -3 -7: -2 -8: -1 -7: -2 -6: -64 0: -1 10: -1 -6: 0 -7: -2 -9: -64 0: -3 9: 3 12: 5 10: 3 9: 1 11: -64 0: 2 11: 4 10: -64 0: -6 5: -3 5: -64 0: -1 5: 3 5:-64 -64 3907: -8 9: -5 2: -5 -6: -2 -9: 3 -7: -64 0: -4 2: -4 -6: -2 -8: -64 0: -3 3: -3 -5: 0 -8: -64 0: -5 2: -3 3: 2 5: 5 2: 5 -11: 4 -13: 3 -14: 1 -15: -1 -15: -3 -14: -5 -15: -3 -16: -1 -15: -64 0: 2 4: 4 2: 4 -11: 3 -13: -64 0: -2 -15: -4 -15: -64 0: 0 4: 3 1: 3 -12: 2 -14: 1 -15:-64 -64 3908: -9 9: -4 10: -6 12: -5 8: -5 -6: -6 -7: -4 -9: -64 0: -4 10: -4 -6: -5 -7: -4 -8: -3 -7: -4 -6: -64 0: -4 10: -2 12: -3 8: -3 -6: -2 -7: -4 -9: -64 0: -3 3: 0 4: 2 5: 5 2: 5 -7: 2 -11: 2 -14: 3 -16: 4 -16: 2 -14: -64 0: 2 4: 4 2: 4 -7: 3 -9: -64 0: 0 4: 3 1: 3 -8: 2 -11:-64 -64 3909: -5 5: 0 12: -2 10: 0 8: 2 10: 0 12: -64 0: 0 11: -1 10: 0 9: 1 10: 0 11: -64 0: 0 5: -2 3: -1 2: -1 -6: -2 -7: 0 -9: -64 0: 0 2: 1 3: 0 4: -1 3: 0 2: 0 -6: -1 -7: 0 -8: 1 -7: 0 -6: -64 0: 0 5: 2 3: 1 2: 1 -6: 2 -7: 0 -9:-64 -64 3910: -5 5: 0 12: -2 10: 0 8: 2 10: 0 12: -64 0: 0 11: -1 10: 0 9: 1 10: 0 11: -64 0: 0 5: -2 3: -1 2: -1 -7: 2 -11: -64 0: 0 2: 1 3: 0 4: -1 3: 0 2: 0 -7: 1 -9: -64 0: 0 5: 2 3: 1 2: 1 -8: 2 -11: 2 -14: 0 -16: -2 -15: -2 -16: 0 -16:-64 -64 3911: -9 8: -4 10: -6 12: -5 8: -5 -6: -6 -7: -4 -9: -64 0: -4 10: -4 -6: -5 -7: -4 -8: -3 -7: -4 -6: -64 0: -4 10: -2 12: -3 8: -3 -6: -2 -7: -4 -9: -64 0: -3 2: 0 4: 2 5: 4 2: 1 0: -3 -3: -64 0: 1 4: 3 2: -64 0: 0 4: 2 1: -64 0: 0 -1: 1 -2: 2 -7: 4 -9: 6 -7: -64 0: 1 -1: 2 -3: 3 -7: 4 -8: -64 0: 1 0: 2 -1: 4 -6: 5 -7: 6 -7:-64 -64 3912: -5 5: 0 10: -2 12: -1 8: -1 -6: -2 -7: 0 -9: -64 0: 0 10: 0 -6: -1 -7: 0 -8: 1 -7: 0 -6: -64 0: 0 10: 2 12: 1 8: 1 -6: 2 -7: 0 -9:-64 -64 3913: -13 13: -11 3: -10 3: -9 2: -9 -6: -10 -7: -8 -9: -64 0: -9 4: -8 3: -8 -6: -9 -7: -8 -8: -7 -7: -8 -6: -64 0: -11 3: -9 5: -7 3: -7 -6: -6 -7: -8 -9: -64 0: -7 3: -4 4: -2 5: 1 3: 1 -6: 2 -7: 0 -9: -64 0: -2 4: 0 3: 0 -6: -1 -7: 0 -8: 1 -7: 0 -6: -64 0: -4 4: -1 2: -1 -6: -2 -7: 0 -9: -64 0: 1 3: 4 4: 6 5: 9 3: 9 -6: 10 -7: 8 -9: -64 0: 6 4: 8 3: 8 -6: 7 -7: 8 -8: 9 -7: 8 -6: -64 0: 4 4: 7 2: 7 -6: 6 -7: 8 -9:-64 -64 3914: -9 9: -7 3: -6 3: -5 2: -5 -6: -6 -7: -4 -9: -64 0: -5 4: -4 3: -4 -6: -5 -7: -4 -8: -3 -7: -4 -6: -64 0: -7 3: -5 5: -3 3: -3 -6: -2 -7: -4 -9: -64 0: -3 3: 0 4: 2 5: 5 3: 5 -6: 6 -7: 4 -9: -64 0: 2 4: 4 3: 4 -6: 3 -7: 4 -8: 5 -7: 4 -6: -64 0: 0 4: 3 2: 3 -6: 2 -7: 4 -9:-64 -64 3915: -8 8: -5 2: -5 -6: -2 -9: 3 -7: 5 -6: -64 0: -4 2: -4 -6: -2 -8: -64 0: -3 3: -3 -5: 0 -8: -64 0: -5 2: -3 3: 2 5: 5 2: 5 -6: -64 0: 2 4: 4 2: 4 -6: -64 0: 0 4: 3 1: 3 -7:-64 -64 3916: -9 8: -6 5: -5 3: -5 -6: -7 -7: -5 -7: -5 -13: -6 -16: -4 -14: -64 0: -4 3: -4 -14: -64 0: -6 5: -4 4: -3 3: -3 -6: -1 -7: 0 -8: -64 0: -4 -7: -3 -7: -1 -8: -64 0: -3 -8: -2 -9: 3 -7: 5 -6: -64 0: -3 -8: -3 -13: -2 -16: -4 -14: -64 0: -3 3: 0 4: 2 5: 5 2: 5 -6: -64 0: 2 4: 4 2: 4 -6: -64 0: 0 4: 3 1: 3 -7:-64 -64 3917: -8 9: -5 2: -5 -6: -2 -9: 3 -7: -64 0: -4 2: -4 -6: -2 -8: -64 0: -3 3: -3 -5: 0 -8: -64 0: -5 2: -3 3: 2 5: 5 2: 5 -13: 6 -16: 4 -14: -64 0: 2 4: 4 2: 4 -14: -64 0: 0 4: 3 1: 3 -13: 2 -16: 4 -14:-64 -64 3918: -7 6: -5 3: -4 3: -3 2: -3 -6: -4 -7: -2 -9: -64 0: -3 4: -2 3: -2 -6: -3 -7: -2 -8: -1 -7: -2 -6: -64 0: -5 3: -3 5: -1 3: -1 -6: 0 -7: -2 -9: -64 0: -1 3: 3 5: 5 3: 3 2: 1 4: -64 0: 2 4: 4 3:-64 -64 3919: -8 8: -5 2: -5 -1: -3 -3: 3 0: 5 -2: 5 -6: -64 0: -4 2: -4 -1: -3 -2: -64 0: -3 3: -3 -1: -2 -2: -64 0: 3 -1: 4 -2: 4 -6: -64 0: 2 -1: 3 -2: 3 -7: -64 0: -5 2: 1 5: 4 4: 2 3: -1 4: -64 0: 0 4: 3 4: -64 0: 5 -6: -1 -9: -5 -7: -3 -6: 1 -8: -64 0: -3 -7: -1 -8:-64 -64 3920: -5 5: 0 10: -2 12: -1 8: -1 -6: -2 -7: 0 -9: -64 0: 0 10: 0 -6: -1 -7: 0 -8: 1 -7: 0 -6: -64 0: 0 10: 2 12: 1 8: 1 -6: 2 -7: 0 -9: -64 0: -4 5: -1 5: -64 0: 1 5: 4 5:-64 -64 3921: -9 9: -7 3: -6 3: -5 2: -5 -7: -2 -9: 3 -7: -64 0: -5 4: -4 3: -4 -7: -2 -8: -64 0: -7 3: -5 5: -3 3: -3 -6: 0 -8: -64 0: 4 5: 6 3: 5 2: 5 -6: 6 -7: 7 -7: -64 0: 4 2: 5 3: 4 4: 3 3: 4 2: 4 -7: 5 -8: -64 0: 4 5: 2 3: 3 2: 3 -7: 5 -9: 7 -7:-64 -64 3922: -9 9: -6 5: -5 3: -5 -6: -1 -9: 1 -7: 5 -5: -64 0: -5 4: -4 3: -4 -6: -1 -8: -64 0: -6 5: -4 4: -3 3: -3 -5: 0 -7: 1 -7: -64 0: 4 5: 6 3: 5 2: 5 -5: -64 0: 4 2: 5 3: 4 4: 3 3: 4 2: 4 -5: -64 0: 4 5: 2 3: 3 2: 3 -6:-64 -64 3923: -13 13: -10 5: -9 3: -9 -6: -5 -9: -3 -7: -1 -6: -64 0: -9 4: -8 3: -8 -6: -5 -8: -64 0: -10 5: -8 4: -7 3: -7 -5: -4 -7: -3 -7: -64 0: 0 5: -2 3: -1 2: -1 -6: 3 -9: 5 -7: 9 -5: -64 0: 0 2: 1 3: 0 4: -1 3: 0 2: 0 -6: 3 -8: -64 0: 0 5: 2 3: 1 2: 1 -5: 4 -7: 5 -7: -64 0: 8 5: 10 3: 9 2: 9 -5: -64 0: 8 2: 9 3: 8 4: 7 3: 8 2: 8 -5: -64 0: 8 5: 6 3: 7 2: 7 -6:-64 -64 3924: -9 9: -6 3: -4 2: 3 -8: 4 -9: 6 -7: -64 0: -5 4: -3 3: 3 -7: 5 -8: -64 0: -6 3: -4 5: -3 4: 4 -6: 6 -7: -64 0: 6 5: 4 5: 4 3: 6 3: 6 5: 4 3: 1 -1: -64 0: -1 -3: -4 -7: -6 -9: -4 -9: -4 -7: -6 -7: -6 -9: -64 0: -4 -2: -1 -2: -64 0: 1 -2: 4 -2:-64 -64 3925: -9 9: -7 3: -6 3: -5 2: -5 -7: -2 -9: 3 -7: -64 0: -5 4: -4 3: -4 -7: -2 -8: -64 0: -7 3: -5 5: -3 3: -3 -6: 0 -8: -64 0: 4 5: 6 3: 5 2: 5 -11: 4 -13: 3 -14: 1 -15: -1 -15: -3 -14: -5 -15: -3 -16: -1 -15: -64 0: 4 2: 5 3: 4 4: 3 3: 4 2: 4 -12: 3 -13: -64 0: -2 -15: -4 -15: -64 0: 4 5: 2 3: 3 2: 3 -12: 2 -14: 1 -15:-64 -64 3926: -6 9: 0 4: -3 2: -3 3: 0 4: 2 5: 5 3: 5 -1: 0 -3: -64 0: 2 4: 4 3: 4 -1: -64 0: 0 4: 3 2: 3 -1: 2 -2: -64 0: 0 -3: 5 -5: 5 -11: 4 -13: 3 -14: 1 -15: -1 -15: -3 -14: -5 -15: -3 -16: -1 -15: -64 0: 4 -5: 4 -12: 3 -13: -64 0: -2 -15: -4 -15: -64 0: 2 -4: 3 -5: 3 -12: 2 -14: 1 -15:-64 -64 3927: -9 9: -9 -16: 9 -16:-64 -64 3928: -11 9: -11 -16: 9 -16:-64 -64 3929: -10 10: -10 -16: 10 -16:-64 -64 3930: -13 16: -13 -16: 16 -16:-64 -64 3931: -11 11: -11 -16: 11 -16:-64 -64 3932: -12 12: -12 -16: 12 -16:-64 -64 3933: -13 13: -13 -16: 13 -16:-64 -64 3934: -8 8: -8 12: -8 -9: -7 -9: -7 12: -6 12: -6 -9: -5 -9: -5 12: -4 12: -4 -9: -3 -9: -3 12: -2 12: -2 -9: -1 -9: -1 12: 0 12: 0 -9: 1 -9: 1 12: 2 12: 2 -9: 3 -9: 3 12: 4 12: 4 -9: 5 -9: 5 12: 6 12: 6 -9: 7 -9: 7 12: 8 12: 8 -9:-64 -64 From curtiss@vscae.pms.ford.com Tue Jun 4 12:48:21 1991 Received: from mailgw.srl.ford.com by unidata.ucar.edu with SMTP id AA23092 (5.65b/IDA-1.4.3 for steve); Tue, 4 Jun 91 12:48:16 -0600 Received: by mailgw.srl.ford.com (5.57/Ford 1.0A) id AA13542; Tue, 4 Jun 91 14:49:04 EDT Received: by vscae.pms.ford.com ( 5.52 (84)/Ford 1.2B) id AA16578; Tue, 4 Jun 91 14:46:53 EDT Date: Tue, 4 Jun 91 14:46:53 EDT From: curtiss@vscae.pms.ford.com (Nicholas Curtiss) Message-Id: <9106041846.AA16578@vscae.pms.ford.com> To: steve@unidata.ucar.edu Subject: Imakefile Status: RO I don't know how you have your Imakefiles set up but here is how we are using it: # # $XConsortium: Imakefile,v 1.1 89/09/18 16:41:42 jim Exp $ # OBJS = hf2gks.o SRCS = hf2gks.c HF2GKS = ./hf2gks HF2GKS_FLAGS = all:: hf2gks NormalProgramTarget($(HF2GKS), $(SRCS), $(OBJS), /**/, /**/, /**/) /* * GksFontTarget - generate rules to compile and install GKS font files. */ #ifndef GksSrcFontTarget #define GksSrcFontTarget(name,fnt) @@\ AllTarget(fnt) @@\ @@\ fnt: $(HF2GKS) hershey @@\ $(HF2GKS) hershey -fn name -o $@ $(HF2GKS_FLAGS) @@\ #endif /* GksFontTarget */ GksSrcFontTarget(simplex_roman,sr.fnt) GksSrcFontTarget(complex_roman,cr.fnt) HF2GKS_FLAGS = -use_width GksSrcFontTarget(duplex_roman,dr.fnt) GksSrcFontTarget(triplex_roman,tr.fnt) GksSrcFontTarget(complex_italic,ci.fnt) GksSrcFontTarget(triplex_italic,ti.fnt) GksSrcFontTarget(simplex_script,ss.fnt) GksSrcFontTarget(complex_script,cs.fnt) GksSrcFontTarget(simplex_greek,sg.fnt) GksSrcFontTarget(complex_greek,cg.fnt) GksSrcFontTarget(gothic_german,gg.fnt) GksSrcFontTarget(gothic_english,ge.fnt) GksSrcFontTarget(gothic_italian,gi.fnt) GksSrcFontTarget(complex_cyrillic,cc.fnt) GksSrcFontTarget(math,m.fnt) /* This Imakefile produces the gks source font files which are named with .fnt suffix. This was changed from the .src suffix just becuase. */ From curtiss@vscae.pms.ford.com Tue Jun 4 12:51:04 1991 Received: from mailgw.srl.ford.com by unidata.ucar.edu with SMTP id AA23122 (5.65b/IDA-1.4.3 for steve); Tue, 4 Jun 91 12:50:54 -0600 Received: by mailgw.srl.ford.com (5.57/Ford 1.0A) id AA13546; Tue, 4 Jun 91 14:51:38 EDT Received: by vscae.pms.ford.com ( 5.52 (84)/Ford 1.2B) id AA16596; Tue, 4 Jun 91 14:49:27 EDT Date: Tue, 4 Jun 91 14:49:27 EDT From: curtiss@vscae.pms.ford.com (Nicholas Curtiss) Message-Id: <9106041849.AA16596@vscae.pms.ford.com> To: steve@unidata.ucar.edu Subject: font.c Status: RO /* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * University of Illinois at Urbana-Champaign * Department of Computer Science * 1304 W. Springfield Ave. * Urbana, IL 61801 * * (C) Copyright 1987, 1988 by The University of Illinois Board of Trustees. * All rights reserved. * * Tool: X 11 Graphical Kernel System * Author: Gregory Scott Rogers * Author: Sung Hsien Ching Kelvin * Author: Yu Pan */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/bugs/hershey-fonts.mail,v 2.5.4.1 1993/03/10 19:43:49 steve Exp $"; #include #include #include "demo.h" Gint ws_id = 1; Gint result; Glimit w; /*MIT*/ Glimit v; /*MIT*/ Glimit wsw; /*MIT*/ Glimit wsv; /*MIT*/ main(argc,argv) int argc; char *argv[]; { double atof(); int i; char *conn = (char *)NULL; for( i=1; i?@"); tpt.y -= 0.08; gtext(&tpt, "0123456789"); tpt.y -= 0.08; gtext(&tpt, "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); tpt.y -= 0.08; gtext(&tpt, "abcdefghijklmnopqrstuvwxyz"); tpt.y -= 0.08; gtext(&tpt, "[\\]^_`{|}~"); /*MIT*/ tpt.y -= 0.08; gtext(&tpt, "The rain in Spain falls on a comma ','"); /*MIT*/ tpt.y -= 0.08; gtext(&tpt, "Yesterday Love Was Such A Lovely Game To Play."); /*MIT*/ } SetColor (hash) Gint hash; { switch (hash) { case 1 : gsettextcolorind(WHITE); return; case 2 : gsettextcolorind(RED); return; case 3 : gsettextcolorind(GREEN); return; case 4 : gsettextcolorind(BLUE); return; case 5 : gsettextcolorind(YELLOW); return; case 6 : gsettextcolorind(CYAN); return; case 7 : gsettextcolorind(SILVER); return; case 8 : gsettextcolorind(DARKGREEN); return; case 9 : gsettextcolorind(BEIGE); return; } } xgks-2.6.1+dfsg.2/src/bugs/test.cgm0000644000175000017500000000061611413611016020100 0ustar amckinstryamckinstry)XGKS CGM"fÿÿ_QPUCAR/Unidata XGKS/CGM $Revision: 2.5.4.1 $: steve@buddy 1993-02-02 14:10:41 UTC-0700gXGKS 1 ã€P"PBPdPP¢PÂPäQQ"QBQbQ„Q¤QÁQâfRffR"RLRLR¢RÂRáSS"T(ÿÿSäTDÿT< 0¨ÿÿ@@@ Picture 1 gXGKS 2 ã @xgks-2.6.1+dfsg.2/src/bugs/gqdst.f0000644000175000017500000000155511413611016017725 0ustar amckinstryamckinstry program tst c integer kxo parameter (kxo=1) integer strdev,wkty,wkcon,wkid,wkty character fstat*3,text*80 logical exist integer ix,iy,einh,ierr,id3,id4,id5,id6,slendt real help,rd1,rd2,rd5(4) character *80 sdaten(10),anf c inquire (file='graferr.dat',exist=exist) if (exist) then open (kxo,file='graferr.dat',status='OLD') rewind (kxo) endfile (kxo) rewind (kxo) else open (kxo,file='graferr.dat',status='NEW') endif c strdev = 1 wkty = 4 wkcon = 1 wkid = 1 c call gopks(kxo,-1) call gopwk(wkcon,wkid,wkty) call gacwk(wkcon) c call gqdst(wkty,strdev,1,10,ierr,id3,id4,id5,rd5,id6,slendt, $ sdaten) c call gdawk(wkcon) call gclwk(wkcon) c call gclks c close (kxo) c end xgks-2.6.1+dfsg.2/src/bugs/CVS/0000755000175000017500000000000011413611016017061 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/bugs/CVS/Entries0000644000175000017500000000146711413611016020425 0ustar amckinstryamckinstry/Makefile/2.6/Tue Aug 1 17:23:55 2000// /color/2.5.4.1/Wed Mar 10 19:43:53 1993// /color.f/2.5.4.1/Wed Mar 10 19:43:52 1993// /fgscr.f/2.5.4.1/Wed Mar 10 19:43:51 1993// /gqdst.f/2.5.4.1/Wed Mar 10 19:43:48 1993// /gscr.c/2.5.4.1/Wed Mar 10 19:43:52 1993// /gscr.c%/2.5.4.1/Wed Mar 10 19:43:52 1993// /gscrf.c/2.5.4.1/Wed Mar 10 19:43:52 1993// /gscrf.c%/2.5.4.1/Wed Mar 10 19:43:52 1993// /hershey-fonts.mail/2.5.4.1/Wed Mar 10 19:43:49 1993// /metafn.tmp/2.5.4.1/Wed Mar 10 19:43:52 1993// /offsetof.c/2.5.4.1/Wed Mar 10 19:43:51 1993// /pick.c/2.5.4.1/Wed Mar 10 19:43:52 1993// /request.c/2.5.4.1/Wed Mar 10 19:43:51 1993// /sample.c/2.5.4.1/Wed Mar 10 19:43:49 1993// /samploc.c/2.5.4.1/Wed Mar 10 19:43:51 1993// /test.cgm/2.5.4.1/Wed Mar 10 19:43:53 1993// /unicos_signals.mail/2.5.4.1/Wed Mar 10 19:43:51 1993// D xgks-2.6.1+dfsg.2/src/bugs/CVS/Repository0000644000175000017500000000001211413611016021154 0ustar amckinstryamckinstryxgks/bugs xgks-2.6.1+dfsg.2/src/bugs/CVS/Entries.Log0000644000175000017500000000001611413611016021132 0ustar amckinstryamckinstryA D/build//// xgks-2.6.1+dfsg.2/src/bugs/CVS/Root0000644000175000017500000000006111413611016017724 0ustar amckinstryamckinstry:pserver:anonymous@cvs.XGKS.sf.net:/cvsroot/xgks xgks-2.6.1+dfsg.2/src/bugs/samploc.c0000644000175000017500000000351211413611016020231 0ustar amckinstryamckinstry#include #include #include #include #include #include #include /* GKS i/o defines */ #define WS_ID 1 #define INDEV 2 #define PET 2 #define TIME_TO_SLEEP 1 static WaitForBreak(ws_id) Gint ws_id; { Gchoice init; Gchoicerec record; Glimit earea; earea.xmin = 0.0; earea.xmax = 1279.0; earea.ymin = 0.0; earea.ymax = 1023.0; init.status = GC_NOCHOICE; init.choice = 0; record.pet1.data = NULL; ginitchoice(ws_id, 1, &init, 1, &earea, &record); gsetchoicemode(ws_id, 1, GREQUEST, GECHO); for (; init.status != GC_NONE;) greqchoice(ws_id, 1, &init); } main() { static Glimit echo_area = {.0, 1280.0, 0.0, 1024.0}; Gloc loc; Gpoint xy[2]; int npts = 16; /* GKS Initialization */ gopengks(stderr, 0); gopenws(WS_ID, (char*)NULL, (char*)NULL); gactivatews(WS_ID); xy[0].x = 0.5; xy[0].y = 0.5; loc.transform = 0; while (npts-- > 0) { Gloc response; Glocrec r; unsigned remaining_sleep = TIME_TO_SLEEP; struct tms tms_time; clock_t start_time = times(&tms_time); loc.position.x = xy[0].x; loc.position.y = xy[0].y; gsetlocmode(WS_ID, INDEV, GREQUEST, GECHO); ginitloc(WS_ID, INDEV, &loc, PET, &echo_area, &r); gsetlocmode(WS_ID, INDEV, GSAMPLE, GECHO); while ((remaining_sleep = sleep(remaining_sleep)) > 0) { clock_t cur_time = times(&tms_time); if ((cur_time - start_time) / 60. > TIME_TO_SLEEP) break; } (void) gsampleloc(WS_ID, INDEV, &response); xy[1] = response.position; gpolyline(2, xy); xy[0] = xy[1]; } /* wait for break*/ WaitForBreak(WS_ID); gdeactivatews(WS_ID); gclosews(WS_ID); gclosegks(); return EXIT_SUCCESS; } xgks-2.6.1+dfsg.2/src/bugs/color.f0000644000175000017500000005165111413611016017723 0ustar amckinstryamckinstryC From: fred@niwot.scd.ucar.EDU (Fred Clare) C Date: Thu, 17 Dec 92 16:16:51 MST C To: emmerson@ncar.ucar.edu C Subject: CGM C Cc: haley@niwot.scd.ucar.EDU C C I seem to be having some very basic problems with color table C settings in a CGM output from XGKS. The following should generate C red text on a black background; what I get is white text on a C green background. I enclose a metachek output of the resultant C metafile. C C Thanks. C C Fred C C ------------------------- Begin sample code ----------------------- PROGRAM TEST C OPEN(2,FILE='test.cgm',STATUS='UNKNOWN') C C Open GKS, open and activate a CGM workstation. C CALL GOPKS(6,10000) C CALL GOPWK(1,2,2) ! metafile CALL GOPWK(1,5,4) ! X CALL GACWK(1) C C Set color index 1 to red and assign text color red. C CALL GSCR(1,0,0.,0.,0.) CALL GSCR(1,1,1.,0.,0.) CALL GSTXCI(1) C C Draw a text string. C CALL GSCHH(.05) CALL GSTXAL(2,3) CALL GTX(.5,.5,'Picture 1') C C End picture C CALL GUWK(1,0) CALL GCLRWK(1,1) C C Close things out. C CALL GDAWK(1) CALL GCLWK(1) CALL GCLKS C STOP END C ------------------------- End sample code ----------------------- C C ----------------------- Begin metachek output ------------------- C C C MetaCheck Version 2.06 -- CGM Conformance Analyzer C Copyright 1988-91 CGM Technology Software C Execution Date: 12/17/92 Time: 16:12:25 C C C Metafile Examined : junk.cgm C C Pictures Examined : All C Elements Examined : All C Bytes Examined : All C C C ======================= Trace Report ======================== C C C 1:BEGIN METAFILE Offset:0 Length:9 C P1 : Metafile Name Value: >XGKS CGM< C C 2:METAFILE VERSION Offset:12 Length:2 C P1 : Metafile Version Value: 1 C C 3:METAFILE ELEMENT LIST Offset:16 Length:6 C P1 : Number of Elements Value: 1 C P2 : Element List Value: C Drawing Set C C 4:METAFILE DESCRIPTION Offset:24 Length:84 C P1 : Metafile Description Value: >UCAR/Unidata XGKS/CGM $Re< C >vision: 1.2 $: fred@conun< C >drum 1992-12-17 16:04:42 < C >UTC-0700< C C 5:BEGIN PICTURE Offset:112 Length:7 C P1 : Picture Identifier Value: >XGKS 1< C C 6:BEGIN PICTURE BODY Offset:122 Length:0 C C 7:CLIP RECTANGLE Offset:124 Length:8 C P1 : First Corner Point Value: 0,0 C P2 : Second Corner Point Value: 32767,32767 C C 8:LINE BUNDLE INDEX Offset:134 Length:2 C P1 : Line Bundle Index Value: 1 C C 9:LINE TYPE Offset:138 Length:2 C P1 : Line Type Value: Solid (1) C C 10:LINE WIDTH Offset:142 Length:4 C P1 : Line Width Value: 1.000000 C C 11:LINE COLOUR Offset:148 Length:1 C P1 : Line Colour Value: 1 C C 12:MARKER BUNDLE INDEX Offset:152 Length:2 C P1 : Marker Bundle Index Value: 1 C C 13:MARKER TYPE Offset:156 Length:2 C P1 : Marker Type Value: Asterisk (3) C C 14:MARKER SIZE Offset:160 Length:4 C P1 : Marker Size Value: 1.000000 C C 15:MARKER COLOUR Offset:166 Length:1 C P1 : Marker Colour Value: 1 C C 16:TEXT BUNDLE INDEX Offset:170 Length:2 C P1 : Text Bundle Index Value: 1 C C 17:TEXT FONT INDEX Offset:174 Length:2 C P1 : Text Font Index Value: 1 C C 18:TEXT PRECISION Offset:178 Length:2 C P1 : Text Precision Value: String (0) C C 19:CHARACTER EXPANSION FACTOR Offset:182 Length:4 C P1 : Character Expansion Value: 1.000000 C C 20:CHARACTER SPACING Offset:188 Length:4 C P1 : Character Spacing Value: 0.0 C C 21:TEXT COLOUR Offset:194 Length:1 C P1 : Text Colour Value: 1 C C 22:TEXT PATH Offset:198 Length:2 C P1 : Text Path Value: Right (0) C C 23:TEXT ALIGNMENT Offset:202 Length:12 C P1 : Horizontal Alignment Value: Normal (0) C P2 : Vertical Alignment Value: Normal (0) C P3 : Continuous Horizontal Value: 0.0 C P4 : Continuous Vertical Value: 0.0 C C 24:CHARACTER ORIENTATION Offset:216 Length:8 C P1 : Up Vector X Value: 0 C P2 : Up Vector Y Value: 328 C P3 : Base Vector X Value: 328 C P4 : Base Vector Y Value: 0 C C 25:CHARACTER HEIGHT Offset:226 Length:2 C P1 : Character Height Value: 328 C C 26:FILL BUNDLE INDEX Offset:230 Length:2 C P1 : Fill Bundle Index Value: 1 C C 27:INTERIOR STYLE Offset:234 Length:2 C P1 : Interior Style Value: Hollow (0) C C 28:PATTERN INDEX Offset:238 Length:2 C P1 : Pattern Index Value: 1 C C 29:HATCH INDEX Offset:242 Length:2 C P1 : Hatch Index Value: Horizontal (1) C C 30:FILL COLOUR Offset:246 Length:1 C P1 : Fill Colour Value: 1 C C 31:PATTERN SIZE Offset:250 Length:8 C P1 : Height Vector X Value: 0 C P2 : Height Vector Y Value: 32767 C P3 : Width Vector X Value: 32767 C P4 : Width Vector Y Value: 0 C C 32:FILL REFERENCE POINT Offset:260 Length:4 C P1 : Fill Reference Point Value: 0,0 C C 33:ASPECT SOURCE FLAGS Offset:266 Length:60 C P1 : Aspect Pair 1 Value: Line Type , Individual C P2 : Aspect Pair 2 Value: Line Width , Individual C P3 : Aspect Pair 3 Value: Line Colour , Individual C P4 : Aspect Pair 4 Value: Marker Type , Individual C P5 : Aspect Pair 5 Value: Marker Size , Individual C P6 : Aspect Pair 6 Value: Marker Colour , Individual C P7 : Aspect Pair 7 Value: Font Index , Individual C P8 : Aspect Pair 8 Value: Text Precision , Individual C P9 : Aspect Pair 9 Value: Char Expansion , Individual C P10 : Aspect Pair 10 Value: Char Spacing , Individual C P11 : Aspect Pair 11 Value: Text Colour , Individual C P12 : Aspect Pair 12 Value: Interior Style , Individual C P13 : Aspect Pair 13 Value: Fill Colour , Individual C P14 : Aspect Pair 14 Value: Hatch Index , Individual C P15 : Aspect Pair 15 Value: Pattern Index , Individual C C 34:COLOUR TABLE Offset:330 Length:5 C P1 : Starting Index Value: 0 C P2 : Colour List Value: C ( 0) 44 0 0 C C 35:COLOUR TABLE Offset:338 Length:5 C P1 : Starting Index Value: 0 C P2 : Colour List Value: C ( 0) 44 255 0 C C 36:TEXT COLOUR Offset:346 Length:1 C P1 : Text Colour Value: 1 C C 37:CHARACTER ORIENTATION Offset:350 Length:8 C P1 : Up Vector X Value: 0 C P2 : Up Vector Y Value: 1638 C P3 : Base Vector X Value: 1638 C P4 : Base Vector Y Value: 0 C C 38:CHARACTER HEIGHT Offset:360 Length:2 C P1 : Character Height Value: 1638 C C 39:TEXT ALIGNMENT Offset:364 Length:12 C P1 : Horizontal Alignment Value: Normal (0) C P2 : Vertical Alignment Value: Normal (0) C P3 : Continuous Horizontal Value: 0.0 C P4 : Continuous Vertical Value: 0.0 C C 40:TEXT ALIGNMENT Offset:378 Length:12 C P1 : Horizontal Alignment Value: Center (2) C P2 : Vertical Alignment Value: Half (3) C P3 : Continuous Horizontal Value: 0.0 C P4 : Continuous Vertical Value: 0.0 C C 41:TEXT Offset:392 Length:16 C P1 : Text Position Value: 16384,16384 C P2 : Final Flag Value: Final (1) C P3 : Text String Value: >Picture 1< C C 42:END PICTURE Offset:410 Length:0 C C 43:BEGIN PICTURE Offset:412 Length:7 C P1 : Picture Identifier Value: >XGKS 2< C C 44:VDC EXTENT Offset:422 Length:8 C P1 : First Corner Point Value: 0,0 C P2 : Second Corner Point Value: 0,0 C C 45:BACKGROUND COLOUR Offset:432 Length:3 C P1 : Background Colour Value: R:0 G:0 B:0 C C 46:BEGIN PICTURE BODY Offset:438 Length:0 C C 47:LINE BUNDLE INDEX Offset:440 Length:2 C P1 : Line Bundle Index Value: 1 C C 48:LINE TYPE Offset:444 Length:2 C P1 : Line Type Value: Solid (1) C C 49:LINE WIDTH Offset:448 Length:4 C P1 : Line Width Value: 1.000000 C C 50:LINE COLOUR Offset:454 Length:1 C P1 : Line Colour Value: 1 C C 51:MARKER BUNDLE INDEX Offset:458 Length:2 C P1 : Marker Bundle Index Value: 1 C C 52:MARKER TYPE Offset:462 Length:2 C P1 : Marker Type Value: Asterisk (3) C C 53:MARKER SIZE Offset:466 Length:4 C P1 : Marker Size Value: 1.000000 C C 54:MARKER COLOUR Offset:472 Length:1 C P1 : Marker Colour Value: 1 C C 55:TEXT BUNDLE INDEX Offset:476 Length:2 C P1 : Text Bundle Index Value: 1 C C 56:TEXT FONT INDEX Offset:480 Length:2 C P1 : Text Font Index Value: 1 C C 57:TEXT PRECISION Offset:484 Length:2 C P1 : Text Precision Value: String (0) C C 58:CHARACTER EXPANSION FACTOR Offset:488 Length:4 C P1 : Character Expansion Value: 1.000000 C C 59:CHARACTER SPACING Offset:494 Length:4 C P1 : Character Spacing Value: 0.0 C C 60:TEXT COLOUR Offset:500 Length:1 C P1 : Text Colour Value: 1 C C 61:CHARACTER HEIGHT Offset:504 Length:2 C P1 : Character Height Value: 1638 C C 62:CHARACTER ORIENTATION Offset:508 Length:8 C P1 : Up Vector X Value: 0 C P2 : Up Vector Y Value: 1638 C P3 : Base Vector X Value: 1638 C P4 : Base Vector Y Value: 0 C C 63:TEXT PATH Offset:518 Length:2 C P1 : Text Path Value: Right (0) C C 64:TEXT ALIGNMENT Offset:522 Length:12 C P1 : Horizontal Alignment Value: Normal (0) C P2 : Vertical Alignment Value: Normal (0) C P3 : Continuous Horizontal Value: 0.0 C P4 : Continuous Vertical Value: 0.0 C C 65:TEXT ALIGNMENT Offset:536 Length:12 C P1 : Horizontal Alignment Value: Center (2) C P2 : Vertical Alignment Value: Half (3) C P3 : Continuous Horizontal Value: 0.0 C P4 : Continuous Vertical Value: 0.0 C C 66:FILL BUNDLE INDEX Offset:550 Length:2 C P1 : Fill Bundle Index Value: 1 C C 67:INTERIOR STYLE Offset:554 Length:2 C P1 : Interior Style Value: Hollow (0) C C 68:FILL COLOUR Offset:558 Length:1 C P1 : Fill Colour Value: 1 C C 69:HATCH INDEX Offset:562 Length:2 C P1 : Hatch Index Value: Horizontal (1) C C 70:PATTERN INDEX Offset:566 Length:2 C P1 : Pattern Index Value: 1 C C 71:FILL REFERENCE POINT Offset:570 Length:4 C P1 : Fill Reference Point Value: 0,0 C C 72:COLOUR TABLE Offset:576 Length:5 C P1 : Starting Index Value: 0 C P2 : Colour List Value: C ( 0) 255 0 0 C C 73:COLOUR TABLE Offset:584 Length:5 C P1 : Starting Index Value: 0 C P2 : Colour List Value: C ( 0) 255 255 0 C C 74:ASPECT SOURCE FLAGS Offset:592 Length:60 C P1 : Aspect Pair 1 Value: Line Type , Individual C P2 : Aspect Pair 2 Value: Line Width , Individual C P3 : Aspect Pair 3 Value: Line Colour , Individual C P4 : Aspect Pair 4 Value: Marker Type , Individual C P5 : Aspect Pair 5 Value: Marker Size , Individual C P6 : Aspect Pair 6 Value: Marker Colour , Individual C P7 : Aspect Pair 7 Value: Font Index , Individual C P8 : Aspect Pair 8 Value: Text Precision , Individual C P9 : Aspect Pair 9 Value: Char Expansion , Individual C P10 : Aspect Pair 10 Value: Char Spacing , Individual C P11 : Aspect Pair 11 Value: Text Colour , Individual C P12 : Aspect Pair 12 Value: Interior Style , Individual C P13 : Aspect Pair 13 Value: Fill Colour , Individual C P14 : Aspect Pair 14 Value: Hatch Index , Individual C P15 : Aspect Pair 15 Value: Pattern Index , Individual C C 75:CLIP RECTANGLE Offset:656 Length:8 C P1 : First Corner Point Value: 0,0 C P2 : Second Corner Point Value: 32767,32767 C C 76:END PICTURE Offset:666 Length:0 C C 77:END METAFILE Offset:668 Length:0 C C C ================ Element Use Summary Report ================= C C Total Delimiter Elements (Class 0). . . . . . . 8 C Begin Metafile. . . . . . . . . . . . . . . . . 1 C End Metafile. . . . . . . . . . . . . . . . . . 1 C Begin Picture . . . . . . . . . . . . . . . . . 2 C Begin Picture Body. . . . . . . . . . . . . . . 2 C End Picture . . . . . . . . . . . . . . . . . . 2 C C C Total Metafile Descriptor Elements (Class 1). . 3 C Metafile Version. . . . . . . . . . . . . . . . 1 C Metafile Description. . . . . . . . . . . . . . 1 C Metafile Element List . . . . . . . . . . . . . 1 C C C Total Picture Descriptor Elements . . . . . . . 2 C VDC Extent. . . . . . . . . . . . . . . . . . . 1 C Background Colour . . . . . . . . . . . . . . . 1 C C C Total Control Elements (Class 2). . . . . . . . 2 C Clip Rectangle. . . . . . . . . . . . . . . . . 2 C C C Total Graphical Primitive Elements (Class 4). . 1 C Text. . . . . . . . . . . . . . . . . . . . . . 1 C C C Total Attribute Elements (Class 5). . . . . . . 61 C Line Bundle Index . . . . . . . . . . . . . . . 2 C Line Type . . . . . . . . . . . . . . . . . . . 2 C Line Width. . . . . . . . . . . . . . . . . . . 2 C Line Colour . . . . . . . . . . . . . . . . . . 2 C Marker Bundle Index . . . . . . . . . . . . . . 2 C Marker Type . . . . . . . . . . . . . . . . . . 2 C Marker Size . . . . . . . . . . . . . . . . . . 2 C Marker Colour . . . . . . . . . . . . . . . . . 2 C Text Bundle Index . . . . . . . . . . . . . . . 2 C Text Font Index . . . . . . . . . . . . . . . . 2 C Text Precision. . . . . . . . . . . . . . . . . 2 C Character Expansion Factor. . . . . . . . . . . 2 C Character Spacing . . . . . . . . . . . . . . . 2 C Text Colour . . . . . . . . . . . . . . . . . . 3 C Character Height. . . . . . . . . . . . . . . . 3 C Character Orientation . . . . . . . . . . . . . 3 C Text Path . . . . . . . . . . . . . . . . . . . 2 C Text Alignment. . . . . . . . . . . . . . . . . 5 C Fill Bundle Index . . . . . . . . . . . . . . . 2 C Interior Style. . . . . . . . . . . . . . . . . 2 C Fill Colour . . . . . . . . . . . . . . . . . . 2 C Hatch Index . . . . . . . . . . . . . . . . . . 2 C Pattern Index . . . . . . . . . . . . . . . . . 2 C Fill Reference Point. . . . . . . . . . . . . . 2 C Pattern Size. . . . . . . . . . . . . . . . . . 1 C Colour Table. . . . . . . . . . . . . . . . . . 4 C Aspect Source Flags . . . . . . . . . . . . . . 2 C C C Total Escape Elements (Class 6) . . . . . . . . 0 C C C Total External Elements (Class 7) . . . . . . . 0 C C C ============= CGM Conformance Violation Report ============== C C C C No Errors Detected C C C ================ Conformance Summary Report ================= C C C C MetaCheck Version 2.06 -- CGM Conformance Analyzer C Copyright 1988-91 CGM Technology Software C Execution Date: 12/17/92 Time: 16:12:25 C C Name of CGM under test: junk.cgm C Encoding : Binary C C Pictures Examined : All C Elements Examined : All C Bytes Examined : All C C BEGIN METAFILE string : "XGKS CGM" C METAFILE DESCRIPTION : "UCAR/Unidata XGKS/CGM $Revision: 2.5.4.1 $: C fred@conundrum 1992-12-17 16:04:42 UTC-0700" C C Picture 1 starts at octet offset 112; string contains: "XGKS 1" C C C Picture 2 starts at octet offset 412; string contains: "XGKS 2" C C C C Conformance Summary : This file conforms to the CGM specification. C C C C Summary of Testing Performed and Errors Found: C C 2 Pictures Tested C 77 Elements Tested C 670 Octets Tested C C C ================================= C | No Errors Were Detected | C ================================= C C C ================ End of Conformance Report ================== C -------------------------- End metachek output -------------- C C xgks-2.6.1+dfsg.2/src/bugs/fgscr.f0000644000175000017500000006131111413611016017703 0ustar amckinstryamckinstrycc t.f c cc Plot multiple polylines. c c character*1 ans c real x(2), y(2) c integer ired(256), igrn(256), iblu(256) c cc.....Open plot. c call openplot () c cc.....Set color map. c print *, ' Give ncolors (try 16 and 17, for example): ' c read *, ncolors c ired(1) = 255 c igrn(1) = 255 c iblu(1) = 255 c do 10 i=2,ncolors c ired(i) = 0 c igrn(i) = 0 c iblu(i) = 0 c 10 continue c call setclrmap (ncolors, ired,igrn,iblu) c cc.....Plot polyline. c do 20 i=1,40 c print *, ' Plotting polyline = ', i c x(1) = 1.0 + i*0.1 c y(1) = 1.0 c x(2) = x(1) c y(2) = y(1) + 1.0 c npts = 2 c call gpl (npts,x,y) c 20 continue c cc.....Finish plotting. c print *, ' Hit CR to end...' c read '(a)', ans c call closeplot () c c stop c end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine bell c Rings the terminal bell. character bel*1 parameter (bel=char(7)) write(6,*) bel return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine closeplot c Ends gks. character saveans*2 common /saveans0/ saveans c.....Workstation identifiers. parameter (iwkx11=1, iwkmo=2, iwkwiss=3) c.....Close the X11 workstation. if (saveans.eq.'p' .or. saveans.eq.'ps') call closewk(iwkx11) c.....Close the meta-workstation. if (saveans.eq.'s' .or. saveans.eq.'ps') call closewk(iwkmo) c.....Close the WISS workstation. call closewk(iwkwiss) c.....Close GKS. call gclks return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine closewk (iwk) c Closes workstation and ends gks. c Deactivate workstation. call gdawk (iwk) c Close workstation. call gclwk (iwk) return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine errmsg (msg) c Prints an error message and rings bell. character msg*(*), mess*80 mess = msg lenm = lentrue (mess) call bell call pl ('*** ERROR - '//mess(1:lenm)) return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine fnroot (fname, root) c Returns the first part (before .) of a filename. character fname*(*), root*(*) character temp*80 root = ' ' temp = fname lenf = lentrue (temp) ibeg = 1 do 50 i = lenf,1,-1 if (temp(i:i).eq.'/' .or. & temp(i:i).eq.']') then ibeg = i + 1 goto 60 endif 50 continue 60 temp = temp (ibeg:) lenf = lentrue (temp) iend = lenf inddot = index (temp, '.') if (inddot.gt.1) iend = inddot - 1 root = temp (1:iend) return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine getfile2 (unit,quest,inout,form,suffix) c Opens files...filenames not recognized will generate c an error message and request a second try. c Giving a blank filename or CR will cause the default filename c appearing in square brackets to be used, unless the default is c itself blank. c The default filename is constructed from suffix in the c following way. If suffix starts with a '.' a filename root c is searched for in a file called 'savefn.tmp' and the new suffix c is appended. If suffix does not start with a '.', it is assumed c to be the complete filename. c Variables: c unit = io unit (Must be a variable if 'none' option is used.) c quest = query requesting file name c inout = 'in' or 'out' c form = 'unformatted' (binary) or c 'formatted' (ascii with no carriage control) or c 'fortran' (ascii with fortran carriage control). c suffix = '.dat' for example or a complete file name c Sample call: c call getfile(21,' Give input file','in','formatted','.dat') external lentrue integer unit character*(*) quest, inout, form, suffix character fname*80, dfname*80, temp*80 character root*50, suff*50 common/savefn/ fname suff = suffix call ljust(suff) call uc2lc(suff) lensuf = lentrue (suff) c Suffix does not begin with '.' ... must be a complete filename... if(lensuf.ne.0 .and. suff(1:1).ne.'.') then dfname=suff c Read filename from save-file and add suffix if not blank... else call getfn (dfname) if (lensuf.ne.0) then call fnroot (dfname, root) lenrt = lentrue (root) if (lenrt.eq.0) root = '?' call makefn (root, suff, dfname) endif endif 10 leng=lentrue(dfname) c Ask for file, giving default filename in [] if there is one. c call pl(' ') if(leng.ge.1) then c call uc2lc (dfname) call prquesd (quest, dfname) else call prques (quest) endif call rdans (fname) call ljust(fname) lenf = lentrue(fname) if (fname.eq.'none' .or. fname.eq.'n') then c File is not wanted. suffix = 'none' unit = 0 return endif if(fname.eq.' ') then fname = dfname else if(fname.ne.' ') then idot = index(fname,'.') idotd= index(dfname,'.') if (idotd.eq.0) then lendef = lentrue (dfname) else lendef = idotd - 1 endif if(idot.eq.0) then c Only a new root is given. Fix default and query again... if(idotd.ne.0) then temp = fname(1:lenf)//dfname(idotd:leng) dfname = temp else dfname=fname(1:lenf) endif fname = ' ' else if(idot.eq.1) then c Only a new suffix is given. Fix default and query again... temp = dfname(1:lendef)//fname(idot:lenf) dfname = temp fname = ' ' else c Decent new filename is probably given so continue ... endif endif c Repeat query if filename is still blank... if(fname.eq.' ') goto 10 c Save the new filename unless a full filename was given in suffix. if(lensuf.ne.0 .and. suff(1:1).ne.'.') then continue else call putfn (fname) endif c filename is in hand, so open file... call opfile (unit, fname, inout, form, *900) return c.....Error message for bad open... 900 call bell call pl (' ** Error in opening '// & fname(1:lentrue(fname))//' .... Try again.') go to 10 end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine getfn (fname) c Returns the filename in a save file. character fname*(*) character savefn*80 parameter (savefn='savefn.tmp') fname = ' ' open(91,file=savefn,form='formatted',status='old',iostat=ios) if (ios.ne.0) return read(91,'(a)',iostat=ios) fname close(91) return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine getfn2 (savefn, fname) c Returns the filename in a save file. character fname*(*) character savefn*(*) fname = ' ' open(91,file=savefn,form='formatted',status='old',iostat=ios) if (ios.ne.0) return read(91,'(a)',iostat=ios) fname close(91) return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine getmetafn (fname) c Returns the next sequential junk filename. character fname*(*) character savefn*80 parameter (savefn='metafn.tmp') fname = ' ' call getfn2 (savefn, fname) if (fname.eq.' ') then fname = 'meta1' else read (fname(5:), *) num num = num+1 write (fname,'(a4,i5)') 'meta', num call rmblanks (fname, fname, len2) endif call putfn2 (savefn, fname) return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine getopt (query,options,default,answer) c Queries user for option desired--returns lower case answer. c query = query. c options = character string with options separated by /. c default = default option to be used if a CR is the answer. c answer = option selected (or default). c c Sample call: c c call getopt('Want tic marks?','y/n','n',answer) c character*(*) query, options, default, answer character*256 ques, opts, def character ans*10, test*12 lengq=lentrue(query) lengo=lentrue(options) lengd=lentrue(default) c Add slashes to front and back of option string to aid searches. opts = '/'//options(1:lengo)//'/' call uc2lc(opts) def = default call uc2lc(def) 10 ques = query(1:lengq)//' ('//options(1:lengo)//')' call prquesd (ques, default) call rdans (ans) call ljust(ans) lenga=lentrue(ans) if (lenga .ne. 0) then test = '/'//ans(1:lenga)//'/' call uc2lc(test) lent = lentrue (test) endif if(lenga.eq.0) then answer = default else if(index(opts, test(1:lent)) .eq. 0) then call errmsg ('not an option...try again.') goto 10 else answer = ans endif return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc integer function leftend (string) c Gives position of first non-blank, non-tab, non-null c character in string. Returns 0 if no such beast in string. character*(*) string character*1 blank, tab, null parameter (blank=' ', tab=char(9), null=char(0)) leftend=0 do 100 i=1,len(string) if(string(i:i).ne.blank .and. & string(i:i).ne.tab .and. & string(i:i).ne.null) then leftend=i return endif 100 continue return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc integer function lentrue (string) c Gives position of last non-blank, non-tab, non-null character c in a string. Returns 0 if no such beast exists in the string. character*(*) string character*1 blank, tab, null parameter (blank=' ', tab=char(9), null=char(0)) lentrue=0 do 100 i=len(string),1,-1 if ( string(i:i).ne.blank & .and. string(i:i).ne.tab & .and. string(i:i).ne.null) then lentrue=i return endif 100 continue return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine ljust (string) c Left justifies a string by eliminating blanks, tabs, nulls c at left end of string. character*(*) string external leftend ifirst=leftend(string) if(ifirst.le.1) then return else l2=len(string)-(ifirst-1) string(1:l2)=string(ifirst:ifirst+l2-1) string(l2+1:len(string))=' ' endif return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine makefn (root, suff, fname) c Joins given root and suffix to make a filename. character*(*) root, suff, fname lenr = lentrue (root) if (suff(1:1).ne.'.') then fname = root(1:lenr)//'.'//suff else fname = root(1:lenr)//suff endif return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine openplot () c Open the GKS plot package. c Opens X11 workstation (iwk=#1) and/or metafile (iwk=#2) for plotting. c Sets transformation #1 from Plot-Board (PB) WCs (inches) to NDCs. character saveans*2, metaroot*100 common /saveans0/ saveans common /xllwindow0/ x11l,x11r,x11b,x11t real ndcl,ndcr,ndcb,ndct common /ndcwindow0/ ndcl,ndcr,ndcb,ndct common /pbwindow0/ pbl,pbr,pbb,pbt c.....Workstation identifiers. parameter (iwkx11=1, iwkmo=2, iwkwiss=3) c.....Workstation types. parameter (imi=1, imo=2, iwiss=3, ix11=4) c.....Workstation connections to iounits. parameter (imocon=95, ix11con=0) c.....Save plot instructions in a metafile? call getopt ( & ' >Plot, Save, or Plot-and-Save?','p/s/ps','p', saveans) if (saveans.eq.'s' .or. saveans.eq.'ps') then c Open file to save plot instructions. call getmetafn (metaroot) lenr = lentrue (metaroot) call getfile2 & (imocon,' >Save file','out','formatted', & metaroot(1:lenr)//'.gks') endif c.....Open GKS. ierror = 0 imemory = 0 call gopks (ierror,imemory) c.....Open and activate X11 workstation. if (saveans.eq.'p' .or. saveans.eq.'ps') then c Open workstation call gopwk (iwkx11,ix11con,ix11) c Activate workstation. call gacwk (iwkx11) c Inquire window size. call gqdsp (ix11, ind, iunits, rx, ry, ix, iy) c print *, ' ind =', ind c print *, ' iunits =', iunits c print *, ' rx,ry =', rx,ry c print *, ' ix,iy =', ix,iy c Figure height/width ratio. if (rx.ne.0.0) then hwratio = ry/rx else hwratio = 1.0 endif c Set X11 gks-window shape ratios. x11l = 0.0 x11r = 1.0 x11b = 0.0 x11t = hwratio c Make whole X11 gks-window the workstation window. call gswkwn (iwkx11, x11l,x11r,x11b,x11t) endif c.....Open and activate metafile "workstation". if (saveans.eq.'s' .or. saveans.eq.'ps') then c Open meta-workstation call gopwk (iwkmo,imocon,imo) c Activate meta-workstation. call gacwk (iwkmo) c Make whole X11 gks-window the workstation window. if (saveans.eq.'s') then x11l = 0.0 x11r = 1.0 x11b = 0.0 x11t = 0.8 endif call gswkwn (iwkmo, x11l,x11r,x11b,x11t) endif c.....Open and activate WISS "workstation". c Open wiss-workstation call gopwk (iwkwiss,0,iwiss) c Activate wiss-workstation. call gacwk (iwkwiss) c.....Define Normalized Device Coordinate window size from X11 window shape. ndcl = x11l ndcr = x11r ndcb = x11b ndct = x11t c.....Define a Plot-Board-World-Coord (PBWC) system in inches c with bounds based on NDC window shape. c (WCs will be xmult times larger than NDC's) xmult = 10.0 pbl = xmult * ndcl pbr = xmult * ndcr pbb = xmult * ndcb pbt = xmult * ndct c.....Set initial transformation (#1) from PBWCs to NDCs. c (PlotBoard inches will map to NDCs.) itr = 1 call gswn (itr, pbl, pbr, pbb, pbt) call gsvp (itr, ndcl,ndcr,ndcb,ndct) call gselnt (itr) c Set mapping... call setpb2ndc (pbl,pbr,pbb,pbt, & ndcl,ndcr,ndcb,ndct) return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine opfile (unit, fname, inout, form, *) c Opens files. Goes to alternate return on error. integer unit character*(*) fname, inout, form character status*8 c For INPUT, open the file with appropriate attributes... if(inout(1:2).eq.'in') then status='old' open(unit,file=fname,form=form,status=status,err=900) c For OUTPUT, open the file with appropriate attributes... else if(inout(1:3).eq.'out') then status='new' if(form.eq.'formatted') then open(unit,file=fname,form=form,status=status,err=900) else if(form.eq.'fortran') then open(unit,file=fname,form='formatted',status=status,err=900) else if(form.eq.'unformatted') then open(unit,file=fname,form=form,status=status,err=900) endif else write(6,*) ' ERROR... variable in sub OPFILE not recognized.' write(6,*) ' inout = ', inout stop endif return c.....Alternate return for bad open. c 900 call pl(' **** ERROR opening file ....') 900 return1 end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine pl (line) c Prints line of text and one CR. c Uses UNIX io sub PUTC. character line*(*) common /terminal/ iterm iterm = 6 c Find length of line lenl = lentrue (line) c Print the line do 10 i=1,lenl c call putc (line(i:i)) call fputc (iterm, line(i:i)) 10 continue c Print newline c call putc ('\n') call fputc (iterm, '\n') return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine pq (ques) c Prints question and several blanks with no CR. c Uses UNIX io sub PUTC. character ques*(*), blank*1 parameter (blank = ' ') common /terminal/ iterm iterm = 6 lenq = lentrue (ques) c Print the question do 10 i=1,lenq c call putc (ques(i:i)) call fputc (iterm, ques(i:i)) 10 continue c Print additional blank spaces do 20 i=1,2 c call putc (blank) call fputc (iterm, blank) 20 continue return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine prques (query) c Prints a query in a 'standard' format. character query*(*), ques*80, temp*80 ques = query c call lc2uc (ques) lenq = lentrue (ques) temp = ques(1:lenq)//': ' ques = temp lenq = lenq + 3 call pq (ques) return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine prquesd (query, default) c Prints a query in a 'standard' format with a default answer c in brackets (that is later to be activated by a CR response). character query*(*), ques*100, temp*100 character default*(*), def*100 ques = query c call lc2uc (ques) lenq = lentrue (ques) def = default lend = lentrue (def) if (lend .ne. 0) then temp = ques(1:lenq)//': ['//def(1:lend)//'] ' ques = temp lenq = lenq + 4 + lend + 3 else if (lend .eq. 0) then temp = ques(1:lenq)//': ' ques = temp lenq = lenq + 3 endif call pq (ques) return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine putfn (fname) c Stores a filename in a file savefn.TMP for future reference. character fname*(*), savefn*80 parameter (savefn='savefn.tmp') open(91,file=savefn,form='formatted',status='unknown',err=90) write(91,'(a)',err=90) fname (1:lentrue(fname)) close(91) 90 return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine putfn2 (savefn, fname) c Stores a filename in a file savefn.TMP for future reference. character fname*(*), savefn*(*) open(91,file=savefn,form='formatted',status='unknown',err=90) write(91,'(a)',err=90) fname (1:lentrue(fname)) close(91) 90 return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine rdans (string) c Reads an answer string. Deletes all parts of a string c after an ! (=comment). If string starts with ! will c go and get the next string. character string*(*), str*132 10 read '(a)', str c.....Delete part of string after !. indexc = index(str, '!') if (indexc .eq. 0) then string = str else if (indexc .eq. 1) then goto 10 else if (indexc .ge. 2) then lens = indexc - 1 string = str (1:lens) endif c.....Change a string consisting of a comma (alternate default answer) to a blank. str = string call ljust(str) lens = lentrue(str) if (lens.eq.1 .and. str(1:1).eq.',') string = ' ' return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine rmblanks (str1,str2,len2) c Removes all blanks from str1, returns result as str2. character*(*) str1,str2 external lentrue len1 = lentrue(str1) len2 = len(str2) j=0 do 50 i=1,len1 if(str1(i:i).ne.' ') then j=j+1 str2(j:j)=str1(i:i) endif 50 continue do 60 i = j+1, len2 str2(i:i) = ' ' 60 continue len2=j return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine setclrmap (ncolors, red, grn, blu) c Set color representation. c (Initializes color table using ncolors.) real r, g, b parameter (NCMAX=256) integer red(NCMAX), grn(NCMAX), blu(NCMAX) integer red0(NCMAX), grn0(NCMAX), blu0(NCMAX) common /clrmap0/ red0, grn0, blu0 character saveans*2 common /saveans0/ saveans c.....Workstation identifiers. parameter (iwkx11=1, iwkmo=2, iwkwiss=3) c.....Check number of colors. if (ncolors.gt.NCMAX) then print *, ' *** ERROR, ncolors > 256 in subroutine setclrmap...' stop endif c.....Save colors in common block. do 5 i = 1,ncolors red0(i) = red(i) grn0(i) = grn(i) blu0(i) = blu(i) 5 continue c.....Set color map. do 10 i = 1,ncolors r = real(red(i)/255.0) g = real(grn(i)/255.0) b = real(blu(i)/255.0) if (saveans.eq.'p' .or. saveans.eq.'ps') then call gscr (iwkx11, i-1, r,g,b) endif if (saveans.eq.'s' .or. saveans.eq.'ps') then call gscr (iwkmo, i-1, r,g,b) endif 10 continue return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine setpb2ndc & (xpbmn,xpbmx,ypbmn,ypbmx, xndcmn,xndcmx,yndcmn,yndcmx) c Sets transformation for changes of coordinates from plot-board c window (often in inches) to NDC viewport and back again. common/pb2ndcinfo/ & xpb2ndcfactor, ypb2ndcfactor, xndc2pbfactor, yndc2pbfactor, & xpb2ndcadd, ypb2ndcadd, xndc2pbadd, yndc2pbadd c.....Check that plot-boaard window does not have trivial dimensions. if((xpbmx-xpbmn .eq. 0.0) .or. (ypbmx-ypbmn .eq. 0.0)) then call pl ( & ' **** Error - plot-board-window area is 0 in sub setpb2ndc') print *, xpbmn,xpbmx,ypbmn,ypbmx stop endif c.....Check that NDC viewport does not have trivial dimensions. if((xndcmx-xndcmn .eq. 0.0) .or. (yndcmx-yndcmn .eq. 0.0)) then call pl (' **** Error - viewport area is 0 in sub setpb2ndc') stop endif c.....Calculate transform parameters. xpb2ndcfactor = (xndcmx-xndcmn) / (xpbmx-xpbmn) ypb2ndcfactor = (yndcmx-yndcmn) / (ypbmx-ypbmn) xndc2pbfactor = 1.0 / xpb2ndcfactor yndc2pbfactor = 1.0 / ypb2ndcfactor xndc2pbadd = xpbmn - xndcmn * xndc2pbfactor yndc2pbadd = ypbmn - yndcmn * yndc2pbfactor xpb2ndcadd = xndcmn - xpbmn * xpb2ndcfactor ypb2ndcadd = yndcmn - ypbmn * ypb2ndcfactor return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine pb2ndc (xd,yd,xndc,yndc) c Scales plot-board coordinates (often in inches) to NDC coordinates. c Must be set by calling subroutine setpb2ndc. common/pb2ndcinfo/ & xpb2ndcfactor, ypb2ndcfactor, xndc2pbfactor, yndc2pbfactor, & xpb2ndcadd, ypb2ndcadd, xndc2pbadd, yndc2pbadd xndc = xd * xpb2ndcfactor + xpb2ndcadd yndc = yd * ypb2ndcfactor + ypb2ndcadd return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine ndc2pb (xndc,yndc,xd,yd) c Scales NDC coordinates to plotboard coordinates (often in inches). c Scaling factors are set by calling subroutine setpb2ndc. common/pb2ndcinfo/ & xpb2ndcfactor, ypb2ndcfactor, xndc2pbfactor, yndc2pbfactor, & xpb2ndcadd, ypb2ndcadd, xndc2pbadd, yndc2pbadd xd = xndc * xndc2pbfactor + xndc2pbadd yd = yndc * yndc2pbfactor + yndc2pbadd return end cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine uc2lc (string) c Converts upper case letters to lower case... c Assumes that the codes are in sequence for a-z and A-Z character string*(*), s*1 lstr=len(string) do 20 i=1,lstr s=string(i:i) if(s.ge.'A'. and .s.le.'Z') then string(i:i)=char(ichar(s)-ichar('A')+ichar('a')) endif 20 continue return end xgks-2.6.1+dfsg.2/src/bugs/unicos_signals.mail0000644000175000017500000003432011413611016022314 0ustar amckinstryamckinstryReceived: from mustang.larc.nasa.gov by unidata.ucar.edu with SMTP id AA03996 (5.65b/IDA-1.4.3 for steve); Tue, 27 Aug 91 13:20:27 -0600 Received: Tue, 27 Aug 91 15:16:30 -0400 by mustang.larc.nasa.gov (5.64/1.2) Date: Tue, 27 Aug 91 15:16:30 -0400 From: nelson michael l Message-Id: <9108271916.AA14075@mustang.larc.nasa.gov> To: steve@unidata.ucar.edu Subject: man pages Status: R I couldn't find any libs with names with bsd in them. There is very little BSD stuff in unicos (in a sense, anyway) so the odds might not be very good that such a lib exists. I didn't have much time to search the system - both crays went down early today for backups. I'll look through some docs for something of the sort though. SIGCTL(2) NAME sigctl - Provides generalized signal control SYNOPSIS #include int sigctl (action, num, func) int action, num; int (*func)(); DESCRIPTION The sigctl system call, like signal(2), allows the calling process to specify what to do upon receipt of a signal. However, sigctl provides additional functionality and control beyond that offered by signal(2). signal is sigctl. The two primary differences with signal-catching in sigctl are the following: o Normally func does not revert to SIG_DFL; therefore, the process does not need to re-register the signal-catching function. o Further signal catching is postponed when the signal- catching function is entered (see sigon(3C)). The simplest, and most common, use of sigctl is to set num to the desired signal number and set action to one of the four bits SCTL_IGN (ignore the signal), SCTL_KIL (have the signal kill the process), SCTL_DMP (have it kill the process and produce a core file), or SCTL_REG (register to catch the signal). In the last case, func contains the address of the signal-catching function or 0. If func is set to zero, the process is awakened when the signal occurs, but no signal-catching function is called. error conditions occur: [EINVAL] The num argument is an invalid signal number, including SIGKILL. NOTES Some additional complexity is involved in returning from the signal-catching function to the point at which the process was interrupted. The C library manages this complexity, so users do not need to understand it. To return to the point of interruption, the operating system must be called to restore the last few registers. For CRAY-2 systems, the operating system has a stack (with a fixed depth of 10) to store this user context for each process. Signal catching SR-2012 5.1 1 Cray Research, Inc. SIGCTL(2) does not nest beyond this limit. For CX/1 and CEA systems, nesting is not limited. To return to the previous environment, a special action bit, SCTL_RET, is used. For CRAY-2 systems, sometimes the process chooses not to return to the point of interruption, but rather to longjmp (see setjmp(3C)) to a known point. In this case, the operating system must be told to pop one or more saved environments off the stack and throw them away. longjmp uses another special action bit, SCTL_POP, (which is not used in default mode), and it specifies the number of levels to pop in num. To provide the functionality of signal efficiently, where signal-catching usually reverts to killing the process or When registering a signal-catching function, the process may specify a second bit in addition to SCTL_REG. Before entering the signal-catching function, the status for that signal will be set to SCTL_IGN, SCTL_KILL, or SCTL_DMP, as requested, and further signal catching is not postponed. RETURN VALUE Upon successful completion, sigctl returns the previous action for the specified signal num. Otherwise, a value of -1 is returned, and errno is set to indicate the error. SEE ALSO kill(2), pause(2), ptrace(2), signal(2), wait(2) kill(1) in the UNICOS User Commands Reference Manual, publication SR-2011 setjmp(3C), sigon(3C) in the Cray C Library Reference Manual, publication SR-0136 SR-2012 5.1 2 Cray Research, Inc. SIGSET(2) NAME sigset, sighold, sigrelse, sigignore, sigpause - Provides signal management SYNOPSIS #include void (*sigset (sig, func))() int sig; void (*func)(); int sighold (sig) int sig; int sigrelse (sig) int sigignore (sig) int sig; int sigpause (sig) int sig; DESCRIPTION These functions provide signal management for application processes. The sigset system call specifies the system signal action to be taken upon receipt of the sig signal. This action is either calling a process signal-catching handler func or performing a system-defined action. The sig argument can be assigned any of the values specified by the signal(2) system call. These values are defined in . The following values for the system-defined actions of func are also defined in . Each is a macro that expands to a constant expression of type pointer to function SIG_DFL - default system action Upon receipt of the sig signal, the receiving process is to be terminated with all of the consequences outlined in exit(2). In addition, a "core image" will be made in the current working directory of the receiving process if sig is one for which an asterisk appears in the list and the following conditions are met: The effective user ID and the real user ID of the receiving process are equal. An ordinary file named core exists and is writable SR-2012 5.1 1 Cray Research, Inc. SIGSET(2) or can be created. If the file must be created, it will have the following properties: A mode of 0666 modified by the file creation mask (see umask(2)) A file owner ID that is the same as the effective user ID of the receiving process A file group ID that is the same as the effective group ID of the receiving process SIG_IGN - ignore signal Any pending sig signal is discarded, and the system signal action is set to ignore future occurrences of SIG_HOLD - hold signal The sig signal is to be held upon receipt. Any pending signal of this type remains held. Only one signal of each type is held. Otherwise, func must be a pointer to a function, the signal-catching handler, that is to be called when signal sig occurs. In this case, sigset specifies that the process will call this function upon receipt of signal sig. Any pending signal of this type is released. This handler address is retained across calls to the other signal management functions listed here. When a signal occurs, the signal number sig will be passed as the only argument to the signal-catching handler. Before calling the signal-catching handler, the system signal action will be set to SIG_HOLD. During normal return from the signal-catching handler, the system signal action is restored to func and any held signal of this type is released. If a nonlocal goto (longjmp) is taken, then and release any held signal of this type. In general, upon return from the signal-catching handler, the receiving process resumes execution at the point it was interrupted. However, when a signal is caught during a read(2), a write(2), an open(2), or an ioctl(2) system call during a sigpause system call, or during a wait(2) system call that does not return immediately due to the existence of a previously stopped or zombie process, the signal- catching handler will be executed and then the interrupted system call may return a -1 to the calling process with errno set to EINTR. The sighold and sigrelse system calls are used to establish SR-2012 5.1 2 Cray Research, Inc. SIGSET(2) critical regions of code. The sighold system call is analogous to raising the priority level and defers or holds a signal until the priority is lowered by the sigrelse system call. The sigrelse system call restores the system signal action to that specified previously by the sigset system call. The sigignore system call sets the action for signal sig to SIG_IGN (see above). The sigpause system call suspends the calling process until it receives a signal, the same as pause(2). However, if the sig signal had been received and held, it is released and the system signal action taken. This system call is useful for testing variables that are changed on the occurrence of call to block the signal first, then test the variables. If they have not changed, call the sigpause system call to wait for the signal. The sigset system call will fail if one or more of the following are true: [EINVAL] The sig argument is an illegal signal number (including SIGKILL) or the default handling of sig cannot be changed. [EINTR] A signal was caught during the sigpause system call. NOTES For portability, applications should use only the symbolic names of signals rather than their values and use only the set of signals defined in signal(2). The action for the SIGKILL signal cannot be changed from the default system action. sigctl(2), should not be used in conjunction with these routines for a particular signal type. WARNING Four signals that behave differently than the signals described above exist in this release of the system: SIGCLD Death of a child (reset when caught) SIGPWR Power fail (not reset when caught) SIGRECOVERY Recovery signal (advisory, reset when caught) SIGSHUTDN System shutdown imminent (advisory, reset when caug ht) For these signals, func is assigned one of three values: SIG_DFL, SIG_IGN, or a function address. The actions SR-2012 5.1 3 Cray Research, Inc. SIGSET(2) prescribed by these values are as follows: SIG_DFL - ignore signal The signal is to be ignored. SIG_IGN - ignore signal The signal is to be ignored. Also, if sig is SIGCLD, the child processes of the calling process will not create zombie processes when they terminate (see exit (2)). function address - catch signal If the signal is SIGPWR, SIGRECOVERY, or SIGSHUTDN, the actions to be taken are the same as those The same is true if the signal is SIGCLD, with one exception: new zombie processes of this parent will wait until the parent re-registers to handle one more zombie in the signal-catching function, or it sets the action for SIGCLD to SIG_IGN. The SIGCLD signal affects two other system calls (wait(2), and exit(2)) in the following ways: wait If the func value of SIGCLD is set to SIG_IGN and a wait is executed, the wait will block until all of the child processes of the calling process terminate; it then returns a value of -1, with errno set to ECHILD. exit If in the parent process of the exiting process the func value of SIGCLD is set to SIG_IGN, the exiting process does not create a zombie process. When processing a pipeline, the shell makes the last process in the pipeline the parent of the preceeding processes. A the parent of other processes) should take care not to set SR-2012 5.1 4 Cray Research, Inc. SIGSET(2) SIGCLD to be caught. RETURN VALUE Upon successful completion, sigset returns the previous value of the system signal action for the specified sig signal. Otherwise, a value of SIG_ERR is returned, and errno is set to indicate the error. SIG_ERR is defined in . For the other functions, upon successful completion, a value of 0 is returned. Otherwise, a value of -1 is returned, and errno is set to indicate the error. SEE ALSO setjmp(3C) in the Cray C Library Reference Manual, publication SR-0136 SR-2012 5.1 5 Cray Research, Inc. xgks-2.6.1+dfsg.2/src/bugs/request.c0000644000175000017500000000205011413611016020257 0ustar amckinstryamckinstry#include #include #include #include #include /* GKS i/o defines */ #define WS_ID 1 #define INDEV 2 #define PET 2 main() { static Glimit echo_area = {.0, 1280.0, 0.0, 1024.0}; Gloc loc; Glocrec r; /* GKS Initialization */ gopengks(stderr, 0); gopenws(WS_ID, (char*)NULL, (char*)NULL); gactivatews(WS_ID); /* initialize locator */ loc.position.x = 0.5; loc.position.y = 0.5; loc.transform = 0; ginitloc(WS_ID, INDEV, &loc, PET, &echo_area, &r); gsetlocmode(WS_ID, INDEV, GREQUEST, GECHO); for (;;) { Gqloc response; (void) greqloc(WS_ID, INDEV, &response); if (response.status == GNONE) break; (void) printf("%f %f\n", response.loc.position.x, response.loc.position.y); } /* wait for carriage return */ errno = 0; if (getchar() == EOF) perror("getchar()"); /* termination */ gdeactivatews(WS_ID); gclosews(WS_ID); gclosegks(); return EXIT_SUCCESS; } xgks-2.6.1+dfsg.2/src/bugs/color0000755000175000017500000507771611413611016017521 0ustar amckinstryamckinstry `àp¬Ô ¼ Р@’ D•* ” ”@ !Ô"ãÂb€€@ @@œ#  @@ã¿h/®â(" @K’ ¬’ \@K” €¢ €O ^€ a €Kè ` dâ h¤’€/®âH ”  –à˜@4š ¦Ò d”  –à˜@+š/®ât"@#’ ªÂ h€€ /®âHÀ’”  –à˜@š  p Àæ# |ê# €ì# „ÂbÂ# ˆ!ÂcÂ# Œ‚`dÂ#  ŸÄ’ |Çà耂 €‚ G€‚ ‘Ð €Ãà ’àÔÀ‚ ‘Ð  ‚ ‘Ð €/usr/lib/ld.so/dev/zerocrt0: no /usr/lib/ld.so &crt0: /usr/lib/ld.so mapping failure crt0: no /dev/zero 㿘@m)Çàè?ÿÿ‚c  À'¿„ Ð'¿ˆ Ð'¿!#(Ð'¿ŒÀ'¿ !#8Ð'¿”À'¿˜À'¿œÀ'¿¤À'¿¨¿„@d!#@!’cD@\!#H!’cL!”£P@4!#H@Ó!#H!’cT!”£X!–ãX!˜#X@u!#H!’cH!”£\!–ãX!˜#X@i!#H@(!#`@.!#d!’ch@g!#l!’cl!”£p– @Ÿ!#H!’cT@ß!#H!’cH@¬!#H@ž!#H@†@¹!#z’ @ €Çàè?ÿÿ‚cã€ð' Dò' H"Ð `€€ €"Ð ˆ€€€ ("Ð"``"Ð `‘* @‚e"Ð"`ˆ"Ð d€€ €"Ð |€€€ ""Ð"`d"Ð d@‚N"Ð"`|"Ð h€€ €"Ð l€€€ $"Ð"`h"Ð h‘* @‚6"Ð"`lРDÒ"Ò" t"Ð t€¢ €€$"Ð t€¢ €€"Ð t@öÐ'¿ðпðÒJ€ €€ "Ð"`„€ пð!’cÈ@•"Ð"`„€  "Ð"`„!#ÌÐ'¿ðРHÒ"Ð „@9p¿ø@Ñпø"Ð"`p"Ð p‘* @ï"Ð"`€À'¿ôпôÒ¿ø€¢ €€Ð¿ô“* "Ô €Ö¿ô™*àÚ¿üÞ@ Þ"€ пô Ð'¿ô¿ÿíпü@‚Çàè?ÿÿ‚c ã€@9t"Ð ˆ@‚"À" ˆ"À" `"Ð |@ÿ"À" |"À" d"Ð l@÷"À" l"À" h"Ð €@ï"À" €"Ð x€€€"Ð x@â"À" xÇàè?ÿÿ‚c˜ã€ð' Dò' Hô' LРLÒ€¢`€ €Ð LÒ"Ô p€¢@ €€€ Ð  ’ "Ô „@õ€wРLÒ•*`"Öà€˜À Ú?ü€ €€JРLÒ•*`"Öà€˜À Ð?ü!’cà@ô€€€Ð LÒ•*`"Öà€˜À Ð?ü!’cä@䀀€*РHÐ@&Ð'¿øÐ¿øÒJ€ €€Ð¿øÐ'¿ü€"Ð x€€€"Ð xÒJ€ €€"Ð xÐ'¿ü€Ð¿øÐ'¿ü€"Ð x€€€"Ð xÒJ€ €€"Ð xÐ'¿ü€À'¿üРLÒ•*`"Öà€˜À Ô?üÚ DÐ@Ò¿ü@:|Çàè?ÿÿ‚c ã€ð' DРDÐ@Ò¿àÃ`… !Ô¿äÅ" Ð¿àÇ É¿ü‹¡ #Ò¿àÍ` ¡H&Ô¿äÏ" Ð PÐ'¿ìпäÒ <Ò'¿èÀ'¿ôпôÒ¿ð€¢ €€Ð¿èÒ¿ìÔ@Ô"пô Ð'¿ôпìÐ'¿Üпì Ð'¿ìпèÐ'¿àпè Ð'¿è¿ÿèQÐ#¸€€€ Ð'¿Ø€À'¿ØÐ¿Ø€¢ €€Ð¿ä Ò¿ä’` Ô¿ä” Ú¿äš`0Ö¿äØà<Ö L@%пä@<åпäÐ <@uпä@tý €°Çàè?ÿÿ‚cã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ 5SÔ¢\ÿõ €cРD€€ € ’ 5SÔ¢\ÿõ €TРD@1<Ð'¿üпü€€€  ’ 5SÔ¢\ÿôñ €Aпü@1Ö€¢ €€  !’ 5SÔ¢\ÿôà !€0пü@1Å€¢ €€  #’ 5SÔ¢\ÿôÏ #€Ð¿ü@1´€¢ €€  $’ 5SÔ¢\ÿô¾ $€Ð H€€€ пüÒ&ôÔ H€¢€ €€Ð¿üÒ €¢`€€Ð¿üÒ €¢`€ € ]’ 5SÔ¢\ÿô™ ]€é#Á Ò LÅ@‰ "© À €@€#Í Ò LÑ@• (ªŠÆ €4€Ð L× ™ +#Ý`« Î €(€Ð Lß ¡ /#å`¬ Ò €€Ð Lç © 3#í`­ Ö €€Ð Lï ± 7#õ`® Ú €€  `’ 5SÔ¢\ÿôH `€˜Ð¿üÒ HÔ L@×yÐ'¿ôпô€€€  ]’ 5SÔ¢\ÿô3 ]€ƒÐ¿üÒ&ø€ €€MпüÐ&ô‘* ’“*` @s¬Ô¿üÐ"¦øÐ¿üÒ&ø€ € €!,’ 5SÔ¢\ÿô!,€bÀ'¿øÐ¿üÒ&ôÔ¿ø€¢€ €€*пüÒ&øÔ¿ø•* – —*à”€ #ù » Üû"@ пø‘* ’“*` Ô¿üÖ¦ø˜À#ý`¿ Þÿ# пø‘* ’“*` Ô¿üÖ¦ø˜À#Á`ƒ ÀÃ# пø Ð'¿ø¿ÿÒпüÒ&øÔ H•* – —*à”€ Ø LÚÚ"@ РH‘* ’“*` Ô¿üÖ¦ø˜ÀÚ LÞ`Þ# РH‘* ’“*` Ô¿üÖ¦ø˜ÀÚ LÞ`Þ# пüÒ €¢`€€Ð¿üÒ HÔ L@'t €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lö' Pô' LÀ'¿øQÐ"€€ €QÐ"€¢ €€  ’ ~SÔ¢\ÿó € Ð D€€ € ’ ~SÔ¢\ÿó€ €Ð D@/¸Ð'¿üпü€€€  ’ ~SÔ¢\ÿóm €þпü@0R€¢ €€  !’ ~SÔ¢\ÿó\ !€íпü@0A€¢ €€  #’ ~SÔ¢\ÿóK #€Üпü@00€¢ €€  $’ ~SÔ¢\ÿó: $€ËРH€€€ пüÒ&ôÔ H€¢€ €€Ð¿üÒ €¢`€€Ð¿üÒ €¢`€ € ]’ ~SÔ¢\ÿó ]€¦Ð L€€€AпüÒ&ø€ €€Ð¿üÒ&øÔ H•* – —*à”€ Å@ ‰ "#Í © Æ €€ ^Ð'¿ø€"пüÒ&øÔ H•* – —*à”€ Ø@ Ú PØ#@РH‘* ’“*` Ô¿üÖ¦ø˜ÀÚ Þ PÚ#àРH‘* ’“*` Ô¿üÖ¦ø˜ÀÚ Þ PÚ#à€^пüÒ €¢`€€Ð¿üÒ HÔ LÖ P@Ö@Ð'¿øÐ¿ø€€€  ]’ ~SÔ¢\ÿò³ ]€D€?пüÒ&ø€ €€Ð¿üÒ&øÔ H•* – —*à”€ Ï@ ‘ '#Õ ª Ê €€ _Ð'¿ø€"пüÒ&øÔ H•* – —*à”€ Ø@ Ú PØ#@РH‘* ’“*` Ô¿üÖ¦ø˜ÀÚ Þ PÚ#àРH‘* ’“*` Ô¿üÖ¦ø˜ÀÚ Þ PÚ#àпø€°Çàè?ÿÿ‚c˜ã€ð' Dò' HQÐ"€€ €QÐ"€¢ €€  ’ }SÔ¢\ÿòR €‰Ð D€€ € ’ }SÔ¢\ÿòC €zРD@.{Ð'¿üпü€€€  ’ }SÔ¢\ÿò0 €gпü@/€¢ €€  !’ }SÔ¢\ÿò !€Vпü@/€¢ €€  #’ }SÔ¢\ÿò #€Eпü@.ó€¢ €€  $’ }SÔ¢\ÿñý $€4пüÒ&ôÔ HÒ"€Ð¿üÐ&ô‘* @q|Ò HÐ"`РHÒ € €€ !,’ }SÔ¢\ÿñâ!,€À'¿øÐ¿üÒ&ôÔ¿ø€¢€ €€ РHÒ Ô¿ø—* Ø¿øØ"@ пø Ð'¿ø¿ÿï €°Çàè?ÿÿ‚c˜ã€ð' Dò' HQÐ"€€€  ’ |SÔ¢\ÿñ³ €OРD@.Ð'¿üпü€€€  ’ |SÔ¢\ÿñ  €<пü€¢ €€  '’ |SÔ¢\ÿñ‘ '€-РD@/Ò HÐ"@РHÒ€ €€  ’ |SÔ¢\ÿñ| €Ð HÒ€¢`€€À'¿ø€ Ð'¿øÐ HÒ¿øÒ" РHÒ HÔ@Ô"  €°Çàè?ÿÿ‚c€ã€ð' Dò' Hô' LÀ'¿øQÐ"€€€  ’ «SÔ¢\ÿñL €HРD@-²Ð'¿üпü€€€  ’ «SÔ¢\ÿñ9 €5пü€¢ €€  '’ «SÔ¢\ÿñ* '€&РH€€€  ]’ «SÔ¢\ÿñ ]€Ð DÐ'¿ôпô€€€# P@?Ð'¿ôÀ'¿ðÐ¿ð€¢ €€Qпð‘* ’“*` Q”¢Ö €¢ÿÿ€€Ð¿ð‘* ’“*` Q”¢ Ö Øà €£ €€€/пð‘* ’“*` Q”¢ Ö Øà€ €€Ð¿ô€€€Ð¿ð‘* ’“*` Q”¢ Ö ÐàÒ¿ô@ßÐ'¿è€ Ð'¿èп耀€€Ð¿ð Ð'¿ð¿ÿ­Ð¿ð€¢ €€$пð‘* ’“*` Q”¢ Ö Ö'¿øÐ¿øÒ&ÄÒ'¿ìпì@ÛпìÒ H@žÐ'¿ðÐ¿ð€€€Ð¿ì@Û8Ð¿ð€Ž€,пô@ÀÐ'¿ìпì@Ûп쀀€Ð¿ì@Û#?ÿ€yпìÒ H@xÐ'¿ðÐ¿ð€€€ пì@¥Ð¿ì@Ûпð€eпì@œÐ¿ì@ÛпøÒ H@Ø%‘* ’“*` #Ô 0–€ØàØ# `× `™  #Ý`8« N€#Ý`@™£N#áàH¥£ Ч Òà Lç$пøÒ H@Ø‘* ’“*` #Ô 0–€ØàØ# `é `­ #ñ`8­ŠX€#ñ`@­¥ˆX#õàH¹¥‰Ú» Üà Lû$ пøÒ H@×é‘* ’“*` #Ô 0–€ØàØ# `ý ` #Å`8¨ B€#Å`@ B#ÉàH  Ä Æà LÏ$  €°Çàè?ÿÿ‚cˆã€ð' Dò' H#Ð (Ò D€¢ € €#Ð (€€€yРDÒ „“*`” •* ’@ Ö DØàŒš Þ`(ààà'¿ôРHÒ¿ô€¢ €€  ]’ «SÔ¢\ÿïÓ ]€q#Ð 0€€€#Ð 0@oŽÐ¿ô‘* ’“*` @oI#Ð" 0#Ð 0€€€ !,’ «SÔ¢\ÿï¯#À" (!,€KÀ'¿ø#Ð 0Ð'¿ðпøÒ¿ô€¢ €€Ð¿ðÒ¿øÒ"пð’ Ò* пø Ð'¿øÐ¿ðÐ'¿ìпð Ð'¿ð¿ÿëРDÒ „“*`” •* ’@ Ö DØàŒš Þ`0Þ'¿üРDÒ¿ü#Ô 0Ö¿ô@¹Ð D#Ð"`(пô#Ð"`,€Ð H#Ò`,€¢ €€  ]’ «SÔ¢\ÿïg ]€ €°Çàè?ÿÿ‚cã€ð' DРD€€€# X@ƒÐ' DÀ'¿üпü€¢ €€Qпü‘* ’“*` Q”¢Ö €¢ÿÿ€€Ð¿ü‘* ’“*` Q”¢ Ö Øà €£ €€€/пü‘* ’“*` Q”¢ Ö Øà€ €€Ð D€€€Ð¿ü‘* ’“*` Q”¢ Ö ÐàÒ D@#Ð'¿ð€ Ð'¿ðÐ¿ð€€€€Ð¿ü Ð'¿ü¿ÿ­Ð¿ü€¢ €€Ð¿ü‘* ’“*` Q”¢ Ö ØæÄØ'¿ôпô@ÙcпôÒ „“*`” •* ’@ Ö¿ôØàŒš Þ`(ààà'¿ø€!РD@ Ð'¿ôпô@ÙNпô€€€?ÿ€Ð¿ôÒ „“*`” •* ’@ Ö¿ôØàŒš Þ`(ààà'¿øÐ¿ô@òпô@Ù\пø€°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lò' Hô' LQÐ"€¢ € €QÐ"€€€  ’ SÔ¢\ÿî“ €¥Ð D€€ € ’ SÔ¢\ÿî„ €–РD@*¼Ð'¿üпü€€€  ’ SÔ¢\ÿîq €ƒÐ¿ü@+V€¢ €€  !’ SÔ¢\ÿî` !€rпü@+E€¢ €€  #’ SÔ¢\ÿîO #€aпü@+4€¢ €€  $’ SÔ¢\ÿî> $€PРH€€€Ð H€¢ €€Ð H€¢ €€Ð H€¢ €€ 'Ð’ SÔ¢\ÿî'Ѐ/пüÒ €¢`€€Ð¿üÒ HÔ L@¹Ð¿üÒ HÒ" lпüÒ LÒ" tпüÒ t€¢`€€Ð¿üÒ x€¢`€€ пüÒ €¢`€€Ð¿ü@Ur €°Çàè?ÿÿ‚cÀ〠QÐ"cd QÐ"c\ QÐ"cX QÐ"c`BÐ!TQÐ"chBÐ!XQÐ"clBÐ!\QÐ"cpQ#˜B’bÔ@Ø`Ô" Ø" Q# B’bÔ@Ø`Ô" Ø" Q#¨B’bÔ@Ø`Ô" Ø" Çàè?ÿÿ‚cã€ð' DРD’$B”¡TØ€à Ø"`Ø à"`Ø"` Ð'¿üпü€¢ €€Ð¿ü‘* ’“*` Ô D–€˜äÚ¿ü›+`ž Ÿ+àš@!B !H¢@ä@è`ä# ä`è# ä# пü Ð'¿ü¿ÿá Ð'¿üпü€¢ €€Ð¿ü‘* ’“*` Ô D–€˜äBšaTà@ä`à# à`ä# à# пü Ð'¿ü¿ÿçÀ'¿üпü€¢ €€uпü‘* ’“*` A”¡Ð Ö¿ü—*à˜ ™+ –À AšaÒÀ @}Ð'¿øÐ¿ü‘* ’“*` Ô D–€˜åÚ¿ü›+`ž Ÿ+àš@!A !¢@ä@è`ä# ä`è# ä# пø‘* @l½Ò¿ü“*`” •* ’@ Ö D˜À Ð#% пü‘* ’“*` Ô D–€Øå € €€ !,’#óSÔ¢\ÿí!,€-À'¿ôпôÒ¿ø€¢ €€Ð¿ü‘* ’“*` Ô D–€Øå Ú¿ôŸ+`à¿ü¡, ¢£,` %A¤¡æè¿ô«- ìÀì#пô Ð'¿ô¿ÿàпü Ð'¿ü¿ÿ‰ €°Çàè?ÿÿ‚c€ã€ð' Dò' HQÐ"€¢ €€QÐ"€¢ €€  ’ SÔ¢\ÿìÍ €¸Ð D€¢ €€  d’ SÔ¢\ÿì¾ d€©@3ŠÐ'¿øÐ¿ø€€€ !,’ SÔ¢\ÿì¬!,€—пø’ Ò"пøÒ DÒ" РD‘* @l*Ð'¿ðпøÒ¿ðÒ" Ð¿ð€€€ !,’ SÔ¢\ÿì!,€zпøÒ Ò'¿üÀ'¿ôпôÒ D€¢ €€1QÐ#°‘* ’“*` Q”£Ü– Ö'¿ðпðÁÒ HÃ@… I Ô¿ðÇ ‰ ˆ#Ö¿üÉ"ÀпðË Ò HÍ`¡‰%Ô¿ðÑ  “¡È(Ö¿üÓ"àпô Ð'¿ôРHÐ'¿èРH Ð' HпèÐ'¿ìпüÐ'¿ðпü Ð'¿ü¿ÿÌпø’ Q”£X   ¤ Ø€¿ÿþØ"@пø’ 4Q”£˜Ø€à Ø"`Ø à"`à  Ø"`Ø à"` à Ø"`à"`пø@3àQÐ#¸€€€ Ð'¿ä€À'¿äп䀢 €€Ð¿øÔ Ò D @:пøÐ @kãпø@kà €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€€€  ’ +SÔ¢\ÿì €-РD€€€  \’ +SÔ¢\ÿëñ \€Ð DQÐ"cpQÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€ (Ò D@ €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€€€  ’ (SÔ¢\ÿë¾ €-РD€¢ €€  P’ (SÔ¢\ÿë¯ P€Ð DQÐ"cdQÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€ %Ò D@N €°Çàè?ÿÿ‚c˜ã€ð' Dð' DQÐ"€€€  ’ )SÔ¢\ÿë{ €6РD€€€Ð D€¢ €€Ð D€¢ €€ РD€¢ €€À' DРDQÐ"chQÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€Ð D@x €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ 3SÔ¢\ÿë' €hРD€€ € ’ 3SÔ¢\ÿë €YРD@'PÐ'¿üпü€€€  ’ 3SÔ¢\ÿë €Fпü@'ꀢ €€  !’ 3SÔ¢\ÿêô !€5пü@'Ù€¢ €€  #’ 3SÔ¢\ÿêã #€$пü@'È€¢ €€  $’ 3SÔ¢\ÿêÒ $€Ð H€¢ € €Ð H€¢ €€  P’ 3SÔ¢\ÿê½ P€þРLÒ€ €€ РLÒ€¢`€€Ð LÒ€¢`€€Ð LÒ€¢`€€  S’ 3SÔ¢\ÿê˜ S€ÙРLÒ€¢`€ €Ð LÒ€¢`€€Ð LÒ € €€  T’ 3SÔ¢\ÿêz T€»Ð LÒ€¢`€€5РLÒ€¢`€€Ð LÒ € €€ РLÒ €¢`€"€Ð LÒ€¢`€€Ð LÒ € €€ РLÒ €¢ë€ € U’ 3SÔ¢\ÿê@ U€Ð LÒ€¢`€€5РLÒ€¢`€€Ð LÒ € €€ РLÒ €¢`€"€Ð LÒ€¢`€€Ð LÒ € €€ РLÒ €¢ë€ € V’ 3SÔ¢\ÿê V€GРLÒ € €€ пüÒ&ôÔ LÖ €¢À €€Ð¿üÒ €¢`€€Ð¿üÒ €¢`€ € ]’ 3SÔ¢\ÿéß ]€ пüÒ €¢`€€Ð¿üÒ HÔ L@HРH‘* ’“*` Ô¿ü–€˜äÚ Là@ä`à# à`ä# à#  €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€€€  ’ *SÔ¢\ÿéª €-РD€€€  T’ *SÔ¢\ÿé› T€Ð DQÐ"clQÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€ 'Ò D@: €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€€€  ’ -SÔ¢\ÿéh € Q#¨Ò DÔ@Ø`Ô" Ø" QÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€@ €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€€€  ’ ,SÔ¢\ÿé3 €H#Õ ìÒ D×@ªÊª €€#Ù ìÒ DÛ`«J¬ €€  W’ ,SÔ¢\ÿé W€)РDÒQÒ"£˜#Ý ìQÝ"cœ#ß ìQß"c Ð DÒ QÒ"£¤QÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€@f €°Çàè?ÿÿ‚cˆã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ 2SÔ¢\ÿèÍ € РD€€ € ’ 2SÔ¢\ÿè¾ €ûРD@$öÐ'¿üпü€€ € ’ 2SÔ¢\ÿè« €èпü@%€¢ €€  !’ 2SÔ¢\ÿèš !€×пü@%€¢ €€  $’ 2SÔ¢\ÿè‰ $€ÆÐ H€¢ € €Ð H€¢ €€  U’ 2SÔ¢\ÿèt U€±Ð LÒ€¢`€ €Ð LÒ €¢`€€  [’ 2SÔ¢\ÿè] [€šÐ LÒ Ô LЀ@ü„Ð'¿øÀ'¿ôРLÒ Ò'¿ðпôÒ¿ø€¢ €€Ð¿ðÒ€ €€  ]’ 2SÔ¢\ÿè; ]€xпô Ð'¿ôпðÐ'¿ìпð Ð'¿ð¿ÿáРH‘* ’“*` Ô¿ü–¥˜ÀÐ?ü@gìРH‘* ’“*` Ô¿ü–¥˜Àš# Þ LàÀäàà#`ààä#`à#`пø‘* @gšÒ H“*`” •* ’@ Ö¿ü˜åš Ð#üРH‘* ’“*` Ô¿ü–¥˜ÀÚ?ü€ €€ !,’ 2SÔ¢\ÿçò!,€/À'¿ôпôÒ¿ø€¢ €€Ð H‘* ’“*` Ô¿ü–¥˜ÀÚ?üÞ¿ô¡+àâ Lä`æ¿ô©,àê€ê#@пô Ð'¿ô¿ÿåпüÒ €¢`€€Ð¿üÒ HÔ L@b €°Çàè?ÿÿ‚c˜ã€ð' Dò' HQÐ"€€€  ’ xSÔ¢\ÿç­ €<РD@$Ð'¿üпü€€€  ’ xSÔ¢\ÿçš €)пü€€€  ’ xSÔ¢\ÿç‹ €Ð¿ü€¢ €€  '’ xSÔ¢\ÿç| '€ РHÀ"РHÀ" РHÀ"  €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€€€  ’ ŒSÔ¢\ÿç\ €<РD@#ÂÐ'¿üпü€€€  ’ ŒSÔ¢\ÿçI €)пü€€€  ’ ŒSÔ¢\ÿç: €Ð¿ü€¢ €€  '’ ŒSÔ¢\ÿç+ '€  )’ ŒSÔ¢\ÿç" )€°Çàè?ÿÿ‚c ã€ð' Dô' LQÐ"€¢ €€QÐ"€¢ €€  ’ SÔ¢\ÿç €)РD€€€  d’ SÔ¢\ÿæô d€Ð L€€ €Ð L€€€  f’ SÔ¢\ÿæß f€ €°Çàè?ÿÿ‚c˜ã€QÐ"€€€ €YQÐ"€¢ €€@C]QÐ"€€€DQÐ"€¢ €€=À'¿üпü€¢ €€6пü‘* ’“*` Q”¢Ö €¢ÿÿ€€$пü‘* ’“*` Q”¢ Ö Øà€£ €€ пü‘* ’“*` Q”¢Ð ÿîúпü‘* ’“*` Q”¢Ð @!Hпü Ð'¿ü¿ÿÈ@¦ €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lò' HРH€¢ Å€€Ð H€€€ РH“* A”¡üÖ@ Ö'¿ü€Ð H€¢#瀀РH€¢#ù€€ РH“* >”¡pÖ@ Ö'¿ü€+ 4Ð'¿üРL€€€ Ð' LРD€€€À' DРD€¢ É€€#РD“* #”¡4Ö@ € €€ РL+’`TÔ¿üÖ D@ú0€Ð D“* #”¡4Ø@ +’`pРLÖ DÔ¿ü@ú"€cРD€¢!+€€)РD€¢!6€€#РD“* "”£¨Ö@ € €€ РL+’`|Ô¿üÖ D@ú€Ð D“* "”£¨Ø@ +’`˜Ð LÖ DÔ¿ü@ùõ€6РD€¢'Ï€€)РD€¢'Ô€€#РD“* ”¡@Ö@ € €€ РL+’`¤Ô¿üÖ D@ùրРD“* ”¡@Ø@ +’`ÀРLÖ DÔ¿ü@ùÈ€ РL+’`ÌÔ¿üÖ D@ù¿ €°Çàè?ÿÿ‚c ã€ð' DQÐ"€€€  ’ ySÔ¢\ÿåŒ €1РD’ Ò" @eÒ DÐ"`РDÒ € €€ !,’ ySÔ¢\ÿåt!,€Ð DÒ +Ô¡(Ô"@РDÒ +Ô¡,Ô"`РDÒ +Ô¡0Ô"`РDÒ +Ô¡4Ô"`  €°Çàè?ÿÿ‚c˜ã€ð' Dò' HQÐ"€€€  ’ ‡SÔ¢\ÿåE €VРD@!«Ð'¿üпü€€€  ’ ‡SÔ¢\ÿå2 €Cпü€¢ €€  ’ ‡SÔ¢\ÿå# €4пü€¢ €€  !’ ‡SÔ¢\ÿå !€%пü€¢ €€  $’ ‡SÔ¢\ÿå $€Ð H’ Ò"РH+Áa8Á" РH+Ãa<Ã" РH’%Ò" РH’$Ò"  €°Çàè?ÿÿ‚c˜ã€ð' Dò' HQÐ"€€€  ’ ¼SÔ¢\ÿäÙ €>РD@!?Ð'¿ü€'РH’ Ò"€0РH’ Ò"€+РH’ Ò"€&РH’ Ò"€!пü€€€  ’ ¼SÔ¢\ÿä° €€Ð¿ü" €¢ ¿ÿì‘* '’aØÐ ÂX0D €°Çàè?ÿÿ‚c˜ã€ð' Dò' HQÐ"€€€  ’ ½SÔ¢\ÿä… €<РD@ ëÐ'¿üпü€€€  ’ ½SÔ¢\ÿär €)пü€¢ €€Ð¿ü€¢ € €Ð¿ü€¢ €€  '’ ½SÔ¢\ÿäW '€Ð¿ü€¢ €€Ð H’ Ò" €°Çàè?ÿÿ‚c˜ã€ð' Dò' HQÐ"€€€  ’ šSÔ¢\ÿä3 €;РD@ ™Ð'¿üпü€€€  ’ šSÔ¢\ÿä  €(пü€¢ €€  '’ šSÔ¢\ÿä '€Ð H’ Ò"РH’ Ò" РH’ Ò" РH’ Ò" РH’ Ò" РH’ Ò" РHÀ"  €°Çàè?ÿÿ‚c˜ã€ð' Dò' HQÐ"€€€  ’ SÔ¢\ÿãâ €,РD@ HÐ'¿üпü€€€  ’ SÔ¢\ÿãÏ €Ð¿ü€¢ €€  '’ SÔ¢\ÿãÀ '€ РHÀ"РH’ Ò"  €°Çàè?ÿÿ‚c˜ã€ð' Dò' HQÐ"€€€  ’ ˜SÔ¢\ÿã  €KРD@ Ð'¿üпü€€€  ’ ˜SÔ¢\ÿã €8пü€¢ €€  '’ ˜SÔ¢\ÿã~ '€)РH’ Ò"РH’ Ò" РH’ Ò" РH’ Ò" РH’ Ò" РDÿô Ò HÐ"`РHÒ € €€  ’ ˜SÔ¢\ÿãZ € €°Çàè?ÿÿ‚c˜ã€ð' Dò' HQÐ"€€€  ’ ŸSÔ¢\ÿã? €9РD@¥Ð'¿üпü€€€  ’ ŸSÔ¢\ÿã, €&пü€¢ €€  &’ ŸSÔ¢\ÿã &€Ð H’ Ò"РH’ Ò" РH’ Ò" РH’ Ò" РH’ Ò" РH’ Ò"  €°Çàè?ÿÿ‚cã€ð' Dò' HQÐ"€€ €QÐ"€¢ €€  ’ ¾SÔ¢\ÿâé €‹Ð D€€ € ’ ¾SÔ¢\ÿâÚ €|РD@Ð'¿üпü€€€  ’ ¾SÔ¢\ÿâÇ €iпüÒ € €€À'¿ø€Ð¿üÐ @öõÐ'¿øÐ¿ø @b<Ò HÐ"@РHÒ€ €€ !,’ ¾SÔ¢\ÿâ¢!,€DпüÒ € €€Ð¿üÒ Ô HЀ@öÔпüÒ € €€À'¿ô€Ð¿üÐ @öÃÐ'¿ôпô @b Ò HÐ"`РHÒ € €€ !,’ ¾SÔ¢\ÿâp!,€Ð¿üÒ € €€Ð HÐ Ò¿üÒ`@ö¢ €°Çàè?ÿÿ‚c˜ã€ð' Dò' HQÐ"€€ €QÐ"€¢ €€  ’ ÁSÔ¢\ÿâA €MРD€€ € ’ ÁSÔ¢\ÿâ2 €>РD@jÐ'¿üпü€€€  ’ ÁSÔ¢\ÿâ €+пü@€¢ €€  !’ ÁSÔ¢\ÿâ !€Ð¿ü@ó€¢ €€  #’ ÁSÔ¢\ÿáý #€ пüÒ Ô HÒ"€ €°Çàè?ÿÿ‚c˜ã€ð' Dò' HQÐ"€€ €QÐ"€¢ €€  ’ ¿SÔ¢\ÿá× €eРD€€ € ’ ¿SÔ¢\ÿáÈ €VРD@Ð'¿üпü€€€  ’ ¿SÔ¢\ÿáµ €Cпü@š€¢ €€  !’ ¿SÔ¢\ÿᤠ!€2пü@‰€¢ €€  #’ ¿SÔ¢\ÿá“ #€!пü@x€¢ €€  $’ ¿SÔ¢\ÿá‚ $€Ð¿ü’ lÔ HØ@à`Ø" Ø`à" à` Ø" à"   €°Çàè?ÿÿ‚cˆã€ð' Dò' HQÐ"€€ €QÐ"€¢ €€  ’ SÔ¢\ÿáT €/РD€€ € ’ SÔ¢\ÿáE € РD@}Ð'¿üпü€€€  ’ SÔ¢\ÿá2 € пü@€¢ €€  !’ SÔ¢\ÿá! !€üпü@€¢ €€  $’ SÔ¢\ÿá $€ëпüÒ €¢`€€Ð¿üÒ H@Ô@'ÑÐ'¿øÐ¿ø€€€ !,’ SÔ¢\ÿàó!,€Îпø’ Ò"РH€€€À'¿ì€Ð H@õ Ð'¿ìпì @`gÐ'¿èпøÒ¿èÒ" п耀€ !,’ SÔ¢\ÿàÌ!,€§Ð H€€€Ð¿øÐ Ò H@õQÐ"Ð'¿ôÀ'¿ðÐ¿ð€¢ €€Ð¿ð‘* ’“*` +”¡– Ø¿ð™+ š ›+`˜ Qžâ| äè ä"àä è"àä"àпð Ð'¿ð¿ÿáQÐ"€¢ €€ QÐ"bÀ'¿ðÐ¿ð€¢ €€4пð‘* ’“*` Q”¢Ö Ø D€¢À €€Ð¿ð‘* ’“*` Q”¢– Q˜"|àÀäàà# ààä# à# Ð¿ð€€€ пð‘* ’“*` Q”¢|–?ÿÖ" пð Ð'¿ð¿ÿÊпø@'ýÀ'¿ðÐ¿ð€¢ €€Ð¿ð‘* ’“*` Q”¢|– Ø¿ð™+ š ›+`˜ +žá äè ä"àä è"àä"àпð Ð'¿ð¿ÿáпôQÐ"bпøÐ @_óпø@_ð €°Çàè?ÿÿ‚bã€ð' Dò' H€ø€ _À'¾àÐ¾à€¢ €€,оà‘* ’“*` Q”¢|Ö €¢ÿÿ€€Ð¾à‘* ’“*` Q”¢„Ö Øà €£ €€ оà‘* ’“*` Q”¢|Ð @D"оà Ð'¾à¿ÿÒ€ ,@<€ (РHÐ'¿üÀ'¾àÐ¾à€¢ €€+оà‘* ’“*` Q”¢|Ö €¢ÿÿ€€Ð¿üÒ€ €€À'¾Ä€ Ð'¾Äоà‘* ’“*` Q”¢|Ð Ò¾Ä@@оà Ð'¾à¿ÿÓ€ôРHÐ'¿üÀ'¾àÐ¾à€¢ €€9оà‘* ’“*` Q”¢|Ö €¢ÿÿ€€'оà‘* ’“*` Q”¢„Ö Øà €£ €€Ð¿üÒ€ €€À'¾Ä€ Ð'¾Äоà‘* ’“*` Q”¢|Ð Ò¾Ä@_Uоà Ð'¾à¿ÿÅ€²Ð HÐ'¿üпüÐ@ ©€ªÐ HÐ'¿üпüÐ@ 〢РHÐ'¿üпüÐ@!m€šÐ HÐ'¿üпüÐ@$Å€’РHÐ'¿üпüÐ@$9€ŠÐ HÐ'¿üпüÐ@$s€‚РHÐ'¿üпüÐ@M¦€zРHÐ'¿üпüÐ@Lø€rРHÐ'¿üпüÒ€ €€À'¿¬€Ð¿üÒ€¢`€€ Ð'¿¬€Ð¿üÒ€¢`€€ Ð'¿¬€ Ð'¿¬Ð¿¬@M·€IРHÐ'¿üпüÐÿó/€AРHÐ'¿üпüÒ€ €€À'¿¨€Ð¿üÒ€¢`€€ Ð'¿¨€Ð¿üÒ€¢`€€ Ð'¿¨€ Ð'¿¨Ð¿¨ÿóH€Ð HÐ'¿üпüÐÿõ€Ð HÐ'¿üпüÐÿò´€Ð HÐ'¿´Ð¿´ÒÒ'¾Ìп´Ò Ò'¾Ð¾Ìÿõt€ûРHÐ'¿¸Ð¿¸ÿõ8€ôРHÐ'¿üпüÐ@?€ìРHÐ'¿üпüÐ@:n€äРHÐ'¿üпüÐ@<€ÜРHÐ'¿øÐ¿øÒ€ €€À'¿¤€Ð¿øÒ€¢`€€ Ð'¿¤€Ð¿øÒ€¢`€€ Ð'¿¤€ Ð'¿¤À'¾àÐ¾à€¢ €€:оà‘* ’“*` Q”¢|Ö €¢ÿÿ€€(оà‘* ’“*` Q”¢„Ö Øà €£ €€Ð¿øÒ € €€ Ð'¾Ä€À'¾Äоà‘* ’“*` Q”¢|Ð Ò¿¤Ô¾ÄÿïŠÐ¾à Ð'¾à¿ÿÄ€wРHÐ'¿øÐ¿øÒÒ'¿œÐ¿øÒ € €€À'¿ €Ð¿øÒ €¢`€€ Ð'¿ € Ð'¿ ¿œ@L€VРHÐ'¿øÐ¿øÒ€ €€À'¿h€Ð¿øÒ€¢`€€ Ð'¿h€Ð¿øÒ€¢`€€ Ð'¿h€ Ð'¿hпøÒ € €€À'¿l€0пøÒ €¢`€€ Ð'¿l€%пøÒ €¢`€€ Ð'¿l€Ð¿øÒ €¢`€€ Ð'¿l€Ð¿øÒ €¢`€€ Ð'¿l€ Ð'¿l¿h@Jí€õРHÐ'¿øÐ¿øÒ Ô¿øÐ€@:w€ëРHÐ'¿øÐ¿øÒÒ'¿p¿p@F]пøÒ € €€À'¾Ä€ Ð'¾ÄоÄÐ'¿Œ’¿pпøÐ@<Œ€ÎРHÐ'¿øÐ¿øÒÒ'¿p¿p@F@пøÒ € €€À'¾À€ Ð'¾ÀоÀÐ'¿’¿pпøÐ@€€Ð HÐ'¿ÀпÀÒÒ'¿p¿p@?òпÀÒ Ò'¿”’¿pпÀÐ@6,€n €nРD€¢ _¿ÿû‘* 4’cðР¯ô°Ø¯ü±¨¶»(ÓÀÓÀÓÀÓÀÓÀ¼½hÀ0¾ÌÁ$ÓÀÓÀÓÀÓÀÓÀ²°²ÐÃà²ð³³0ijP³p·œÄHÄ|³Ä°³°¸ ´T´tµµ8µXµŒÆXµ¨ÓÀÓÀÓÀÓÀÓÀÓÀÉLÊPËTÌÀÎ@ÏôÓÀÓÀÓÀÓÀÐøÓÀÓÀÓÀÓÀÓÀÓÀÓÀÓÀÓÀÑDÒÓÀÓÀÓÀÓÀÓÀÓÀÓÀÓÀµÈ°È¹¤µèÓÀÓÀÓÀÓÀÓÀÓÀÒô¹Ìº@Óxº´ €°Çàè?ÿÿ‚cÀã€ð' DРD€€€ РD€¢ €€ €qРD€¢ €€ РD€¢ €€ €bРD€¢ €€ РD€¢ ,€€ €SРD€¢ 3€€ РD€¢ 8€€ €DРD€¢ =€€ €;РD€¢ G€ €Ð D€¢ H€€ €,РD€¢ Q€€ РD€¢ T€€ €Ð D€¢ [€€ РD€¢ _€€ €Ð D€¢ d€€ €?ÿ€°Çàè?ÿÿ‚cã€ð' Dò' Hô' Lö' PQÐ"€¢ €€QÐ"€¢ €€  ’ kSÔ¢\ÿÖ €€Ð D€€ € ’ kSÔ¢\ÿÖ €qРD@>Ð'¿üпü€€€  ’ kSÔ¢\ÿÕó €^пüÒ €¢`€€  ’ kSÔ¢\ÿÕã €Nпü@È€¢ €€  ’ kSÔ¢\ÿÕÒ €=РH€¢ d€€   ’ kSÔ¢\ÿÕà  €.РL€€€  ¡’ kSÔ¢\ÿÕ´ ¡€Ð¿ü’ Ò'¿øÐ¿øÒÔ@€¢ €€¿# Ð'¿ô€Ý#hÐ'¿ô¿ôпø’ Ô HÖ LØ PŸÀ@€°Çàè?ÿÿ‚c˜ã€ð' Dò' HQÐ"€¢ €€QÐ"€¢ €€QÐ"€¢ €€  ’ nSÔ¢\ÿÕq €pРD€€ € ’ nSÔ¢\ÿÕb €aРD@šÐ'¿üпü€€€  ’ nSÔ¢\ÿÕO €Nпü@4€¢ €€  "’ nSÔ¢\ÿÕ> "€=пüÒ Ô`€¢ €€  ¢’ nSÔ¢\ÿÕ- ¢€,пüÒ Ð` ÿþr€¢?ÿ€€Ð¿üÒ ” £Ô"`пüÒ Ô`€ €€  £’ nSÔ¢\ÿÕ £€ пüÒ ”` Ö HØ€à Ø"àà"à €°Çàè?ÿÿ‚cã€ð' Dò' Hô' LQÐ"€¢ €€QÐ"€¢ €€QÐ"€¢ €€  ’ mSÔ¢\ÿÔÜ €íРD€€ € ’ mSÔ¢\ÿÔÍ €ÞРD@Ð'¿øÐ¿ø€€€  ’ mSÔ¢\ÿÔº €Ëпø@Ÿ€¢ €€  "’ mSÔ¢\ÿÔ© "€ºÐ¿øÒ Ô` € €€Ð¿øÒ ” Ô"`пøÒ Ô`€¢ €€  ¢’ mSÔ¢\ÿÔŒ ¢€Ð¿øÒ Ô`€¢£è€€Ð¿øÒ ” Ô"` ¢’ mSÔ¢\ÿÔw ¢€ˆÐ¿øÒ Ð` ÿý¼€¢?ÿ€€Ð¿øÒ ” £Ô"`пøÒ Ô`€¢ £€€Ð H€€€  £’ mSÔ¢\ÿÔR £€cпøÒ Ô`€¢ ¥€€Ð H€€€  ¥’ mSÔ¢\ÿÔ; ¥€LРH€€€  ¦’ mSÔ¢\ÿÔ, ¦€=пøÒ Ô@€¢ €€˜"Ð'¿ô€Þ ˜Ð'¿ô¿ôпø Ò LŸÀ@Ð'¿üпü€€€Ð¿ü€Ð¿øÒ Ô@€¢ €€˜!<Ð'¿ð€Ý Ð'¿ð¿ðпø ŸÀ@Ò¿øÔ`Ð"  €°Çàè?ÿÿ‚cÀã€ð' D€A €§ €¤ €¡ €ž €› €˜ $€• €’ € 8€Œ €‰ €† €ƒ €€ €} €z €w €t €q €n?ÿ€kРD€¢ _¿ÿû‘* 8’aèÐ ÂàÈàÔàÈàÔàààìá¸á¸á¸á¸á¸àøàøáàøáá¸á¸á¸á¸á¸àÔàÔáàÔàÔàÔáàÔàÔààááàÔá(àÔàààÔàÔàÔàÔá@áLá4àÔá¸á¸á¸á¸á¸á¸áXáXádápá|áˆá¸á¸á¸á¸á”á¸á¸á¸á¸á¸á¸á¸á¸á¸á”á”á¸á¸á¸á¸á¸á¸á¸á¸àÔàÈàààÔá¸á¸á¸á¸á¸á¸á ààààá¬àà°Çàè?ÿÿ‚c ã€ð' Dò' HQÐ"€¢ €€QÐ"€¢ €€QÐ"€¢ €€  ’ oSÔ¢\ÿÓ €vРD€€€  £’ oSÔ¢\ÿÓ  £€gРDÒ € €€Ð H€€€  ¥’ oSÔ¢\ÿÒõ ¥€QРDÐÿü;€¢?ÿ€€  ¤’ oSÔ¢\ÿÒã ¤€?РDÒ€¢`d€€  §’ oSÔ¢\ÿÒÓ §€/РDÒ€¢`€ €Ð DÒ€¢`€€  ¨’ oSÔ¢\ÿÒ¼ ¨€Ð DÐÒ Hÿò•€€€  ¤’ oSÔ¢\ÿÒ© ¤€ €°Çàè?ÿÿ‚cã€ð' D Ð'¿üРD’ Ò"&ôРDÀ"&øÐ DÐ +’b¨@æÔ€€€ РD Ò DÒ`@¤øÐ'¿ø€ РD Ò DÒ`@]ýÐ'¿øÐ¿ø€€€:РDÒ Ô@€¢ €€˜!<Ð'¿ô€Ý Ð'¿ô¿ôРD ŸÀ@Ò DÔ`Ð" Ð DÒ Ô`€ €€À'¿ü€Ð DÒ Ô@€¢ €€˜ Ð'¿ð€à!lÐ'¿ð¿ðРD ŸÀ@пü€°Çàè?ÿÿ‚c˜ã€ð' DРD’ Ò"&ôРDÀ"&øÐ DÐ +’b°@æl€€€Ð DÐ +’b¸@æa€€€Ð D@¦¢Ð'¿ü€Ð D@…ÅÐ'¿üпü€€€À'¿ø€ Ð'¿øÐ¿ø€°Çàè?ÿÿ‚c˜ã€ð' DРDÒ Ô@€¢ €€˜ Ð'¿ü€à!lÐ'¿ü¿üРD ŸÀ@€°Çàè?ÿÿ‚c˜ã€ð' DРDÒ Ô@€¢ €€Ò"ÌÐ'¿ü€á tÐ'¿ü¿üРD ŸÀ@€°Çàè?ÿÿ‚c˜ã€ð' Dò' Hò' HРD’ Ò'¿üпüÒÔ@€¢ €€À"èÐ'¿ø€á!”Ð'¿øÂ¿øÐ¿ü’ Ô HŸÀ@€°Çàè?ÿÿ‚c˜ã€ð' DРD’ Ò'¿üпüÒÔ@€¢ €€Á 4Ð'¿ø€á"œÐ'¿øÂ¿øÐ¿ü’ ŸÀ@€°Çàè?ÿÿ‚c˜ã€ð' Dò' Hò' HРD’ Ò'¿üпüÒÔ@€¢ €€Á!Ð'¿ø€á#dÐ'¿øÂ¿øÐ¿ü’ Ô HŸÀ@€°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lò' Hô' LРD’ Ò'¿üпüÒÔ@€¢ €€Á!(Ð'¿ø€â lÐ'¿øÂ¿øÐ¿ü’ Ô HÖ LŸÀ@€°Çàè?ÿÿ‚c˜ã€ð' Dò' HРD’ Ò'¿üпüÒÔ@€¢ €€Á!TÐ'¿ø€â"Ð'¿øÂ¿øÐ¿ü’ Ô HŸÀ@€°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lö' PРD’ Ò'¿üпüÒÔ@€¢ €€Á"|Ð'¿ø€â#PÐ'¿øÂ¿øÐ¿ü’ Ô HÖ LØ PŸÀ@€°Çàè?ÿÿ‚c ã€ð' Dò' Hô' L+Ð"œ€€€ +"L+ÒbœÔ DÖ HØ L@§+Ð" €€€ +"t+Òb Ô DÖ HØ L@†J €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LРD’ Ò'¿üпüÒÔ@€¢ €€Â Ð'¿ø€ã!`Ð'¿øÂ¿øÐ¿ü’ Ô HÖ LŸÀ@€°Çàè?ÿÿ‚c ã€ð' Dò' H+Ð"œ€€€ +"L+ÒbœÔ DÖ H@§Ä+Ð" €€€ +"t+Òb Ô DÖ H@†b €°Çàè?ÿÿ‚cã€ð' Dò' Hô' Lö' Pø' Tú' XРD’ Ò'¿üпüÒÔ@€¢ €€Ä"ŒÐ'¿ø€ã"ÌÐ'¿øÂ¿øÐ XÐ# \Ò \Ò# `пü’ Ô HÖ LØ PÚ TŸÀ@€°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lö' Pø' Tú' X+Ð"œ€€€Ð TÐ# \Ò XÒ# `+"L+ÒbœÔ DÖ HØ LÚ P@§¾+Ð" €€€Ð TÐ# \Ò XÒ# `+"t+Òb Ô DÖ HØ LÚ P@ˆ™ €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lö' PРD’ Ò'¿üпüÒÔ@€¢ €€Ì °Ð'¿ø€ä!Ð'¿øÂ¿øÐ¿ü’ Ô HÖ LØ PŸÀ@€°Çàè?ÿÿ‚c ã€ð' Dò' Hô' L+Ð"œ€€€ +"L+ÒbœÔ DØ H– ˜ @¨+Ð" €€€ +"t+Òb Ô DØ H– ˜ @Í €°Çàè?ÿÿ‚c˜ã€ð' DРD’ Ò'¿üпüÒÔ@€¢ €€Í dÐ'¿ø€ä"pÐ'¿øÂ¿øÐ¿ü’ ŸÀ@€°Çàè?ÿÿ‚c ã€+Ð"œ€€€+"L+Òbœ@¨+Ð" €€€+"t+Òb @v €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LРD’ Ò'¿üпüÒÔ@€¢ €€Í ˆÐ'¿ø€ä#8Ð'¿øÂ¿øÐ¿ü’ Ô HÖ LŸÀ@€°Çàè?ÿÿ‚c ã€ð' Dò' H+Ð"œ€€€ +"L+ÒbœÔ DÖ H@§ì+Ð" €€€ +"t+Òb Ô DÖ H@1 €°Çàè?ÿÿ‚c˜ã€ð' Dò' HРD’ Ò'¿üпüÒÔ@€¢ €€Ï"œÐ'¿ø€å Ð'¿øÂ¿øÐ¿ü’ Ô HŸÀ@€°Çàè?ÿÿ‚c ã€ð' D+Ð"œ€€€ +"L+ÒbœÔ D@§Ù+Ð" €€€ +"t+Òb Ô D@’m €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LРD’ Ò'¿üпüÒÔ@€¢ €€Ï#ÀÐ'¿ø€å!XÐ'¿øÂ¿øÐ¿ü’ Ô HÖ LŸÀ@€°Çàè?ÿÿ‚c ã€+Ð"œ€€€ +"L+Òbœ” – @§ß+Ð" €€€ +"t+Òb ” – @’j €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hò' HРD’ Ò'¿üпüÒÔ@€¢ €€Ð!ÐÐ'¿ø€å"øÐ'¿øÂ¿øÐ¿ü’ Ô HŸÀ@€°Çàè?ÿÿ‚c ã€ð' Dð' D+Ð"œ€€€ +"L+ÒbœÔ D@§û+Ð" €€€ +"t+Òb Ô D@’£ €°Çàè?ÿÿ‚c˜ã€ð' Dò' HРD’ Ò'¿üпüÒÔ@€¢ €€Ð"°Ð'¿ø€æ PÐ'¿øÂ¿øÐ¿ü’ Ô HŸÀ@€°Çàè?ÿÿ‚c ã€ð' D+Ð"œ€€€ +"L+ÒbœÔ D@¨+Ð" €€€ +"t+Òb Ô D@’’ €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hò' HРD’ Ò'¿üпüÒÔ@€¢ €€Ð#€Ð'¿ø€æ"üÐ'¿øÂ¿øÐ¿ü’ Ô HŸÀ@€°Çàè?ÿÿ‚c ã€ð' Dð' D+Ð"œ€€€ +"L+ÒbœÔ D@¨h+Ð" €€€ +"t+Òb Ô D@’{ €°Çàè?ÿÿ‚c˜ã€ð' DРD’ Ò'¿üпüÒÔ@€¢ €€Ñ `Ð'¿ø€ç TÐ'¿øÂ¿øÐ¿ü’ ŸÀ@€°Çàè?ÿÿ‚c ã€+Ð"œ€€€+"L+Òbœ@¨y+Ð" €€€+"t+Òb @’o €°Çàè?ÿÿ‚c˜ã€ð' DРD’ Ò'¿üпüÒÔ@€¢ €€Ñ!Ð'¿ø€ç!œÐ'¿øÂ¿øÐ¿ü’ ŸÀ@€°Çàè?ÿÿ‚c ã€+Ð"œ€€€+"L+Òbœ@¨‡+Ð" €€€+"t+Òb @’W €°Çàè?ÿÿ‚c˜ã€ð' DРD’ Ò'¿üпüÒÔ@€¢ €€Ñ!ÀÐ'¿ø€ç"¤Ð'¿øÂ¿øÐ¿ü’ ŸÀ@€°Çàè?ÿÿ‚c ã€+Ð"œ€€€+"L+Òbœ@¨…+Ð" €€€+"t+Òb @’? €°Çàè?ÿÿ‚cã€ð' Dò' Hô' Lö' Pø' Tú' XРD’ Ò'¿üпüÒÔ@€¢ €€Ñ"pÐ'¿ø€è"ÐÐ'¿øÂ¿øÐ TÒ XÐ; XÒ \Ò# `пü’ Ô HÖ LØ PÚ XŸÀ@€°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LРD’ Ò'¿üпüÒÔ@€¢ €€Ñ"”Ð'¿ø€è#ìÐ'¿øÂ¿øÐ¿ü’ Ô HÖ LŸÀ@€°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LРD’ Ò'¿üпüÒÔ@€¢ €€Ñ"¸Ð'¿ø€é!˜Ð'¿øÂ¿øÐ¿ü’ Ô HÖ LŸÀ@€°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LРD’ Ò'¿üпüÒÔ@€¢ €€Ñ"ÜÐ'¿ø€é#8Ð'¿øÂ¿øÐ¿ü’ Ô HÖ LŸÀ@€°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LРD’ Ò'¿üпüÒÔ@€¢ €€Ñ#Ð'¿ø€ê ÜÐ'¿øÂ¿øÐ¿ü’ Ô HÖ LŸÀ@€°Çàè?ÿÿ‚c˜ã€ð' Dò' HРD’ Ò'¿üпüÒÔ@€¢ €€Ñ#¼Ð'¿ø€ê" Ð'¿øÂ¿øÐ¿ü’ Ô HŸÀ@€°Çàè?ÿÿ‚c ã€ð' D+Ð"œ€€€ +"L+ÒbœÔ D@ªT+Ð" €€€ +"t+Òb Ô D@‘² €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LРD’ Ò'¿üпüÒÔ@€¢ €€Ò lÐ'¿ø€ê#XÐ'¿øÂ¿øÐ¿ü’ Ô HÖ LŸÀ@€°Çàè?ÿÿ‚c ã€ð' Dò' H+Ð"œ€€€ +"L+ÒbœÔ DÖ H@ª®+Ð" €€€ +"t+Òb Ô DÖ H@‘æ €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LРD’ Ò'¿üпüÒÔ@€¢ €€Ò!èÐ'¿ø€ë!Ð'¿øÂ¿øÐ¿ü’ Ô HÖ LŸÀ@€°Çàè?ÿÿ‚c ã€ð' Dò' H+Ð"œ€€€ +"L+ÒbœÔ DÖ H@ªš+Ð" €€€ +"t+Òb Ô DÖ H@‘¡ €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lö' PРD’ Ò'¿üпüÒÔ@€¢ €€Ò" Ð'¿ø€ë#Ð'¿øÂ¿øÐ¿ü’ Ô HÖ LØ PŸÀ@€°Çàè?ÿÿ‚c ã€ð' Dò' Hò' H+Ð"œ€€€ +"L+ÒbœÔ DÖ H@ªå+Ð" €€€ +"t+Òb Ô DÖ H@‘b €°Çàè?ÿÿ‚c ã€ð' Dò' Hò' H+Ð"œ€€€ +"L+ÒbœÔ DÖ H@«+Ð" €€€ +"t+Òb Ô DÖ H@‘B €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lö' PРD’ Ò'¿üпüÒÔ@€¢ €€Ò"€Ð'¿ø€ì"0Ð'¿øÂ¿øÐ¿ü’ Ô HÖ LØ PŸÀ@€°Çàè?ÿÿ‚c ã€ð' Dò' Hô' L+Ð"œ€€€ +"L+ÒbœÔ DØ H– ˜ @ªô+Ð" €€€ +"t+Òb Ô DØ H– ˜ @÷ €°Çàè?ÿÿ‚c ã€ð' Dò' Hò' H+Ð"œ€€€ +"L+ÒbœÔ DÖ H@«+Ð" €€€ +"t+Òb Ô DÖ H@Ö €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LРLÒ€ €€ +’bÀ+”¢è–'“@ÞA @Þ,РLÒ€¢` €€ +’bô+”£–'”@Þ. @ÞРLÒ”`Ô'¿üРLÒ¿üÒ"пü’" •*`Ö H˜À Ú Dà@à# Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LРLÒ€ €€ +’c(+”£P–'¥@Þ @ÝïРLÒ€¢` €€ +’c\+”£„–'¦@Ýñ @ÝÜРLÒ•*`Ö H˜À Ø'¿üРHÒ¿ü€¢ €€Ð DÒÔ HÖ€€¢À €€€Ð H Ð' H¿ÿëРHÒ¿ü€¢ €€ +’c+”£¸–'­@ÝÁ @ݬРHÒ¿ü€¢ €€Ð¿ü" Ð'¿üРHÒ¿ü€¢ €€ РHÒ Ô HÒ"€Ð H Ð' H¿ÿòРLÒ’"`Ò"Çàè?ÿÿ‚c ã€ð' DРDÒ Ô@€ €€ РD +’bL+”¢œÿÿ5€ РD +’bt+”¢ ÿÿ+РDS’b@ÿýGРDQ’bø@0ùРDQ’c@1РDQ’c0Q”£t@15РD’ ” ÿúwРDQ’cXQ”£˜@1zРDÿû˜Ð DÿûÙРDÿüРD’ ,SÔ¢TÿùÊ €°Çàè?ÿÿ‚c ã€ð' DРDÒ Ô@€ €€ РD +’bL+”¢œÿÿ€ РD +’bt+”¢ ÿÿ €°Çàè?ÿÿ‚cÀ〠€°Çàè?ÿÿ‚c ã€ð' DРD€€€  È’ SÔ¢\ÿÈñ È€QÐ"€€€  ’ SÔ¢\ÿÈá € РD@(@2РD"Ð"`„ €°Çàè?ÿÿ‚c ã€QÐ"€¢ €€  ’ SÔ¢\ÿÈÀ €QÀ"" €°Çàè?ÿÿ‚cÀã€ð' DРDSÐ"b\ SÐ"bXÇàè?ÿÿ‚c˜ã€ QÐ"að QÐ"aô QÐ"aø QÐ"aü?ÿQÐ"c´QÀ"#¸À'¿üпü€¢ €€!пü‘* ’“*` Q”¢–?ÿÖ" пü‘* ’“*` Q”¢–?ÿÖ" пü‘* ’“*` Q”¢ À" пü Ð'¿ü¿ÿÝÀ'¿üпü€¢ €€!пü‘* ’“*` Q”¢|–?ÿÖ" пü‘* ’“*` Q”¢€–?ÿÖ" пü‘* ’“*` Q”¢„À" пü Ð'¿ü¿ÿÝ QÐ"bÿÑ£@U@ ±ÿÚW@#ð@3q@<ÿÿ.QÀ"!ÐQÀ"!ÔQÀ"!ØQÀ"!ÜQÀ"!àQÀ"!äQÀ"!è<QÐ"aìQÀ""ôÇàè?ÿÿ‚c¸ã€À'¿üпü€¢ €€Ð¿ü‘* ’“*` Q”¢Ö €¢ÿÿ€€ € пü Ð'¿ü¿ÿç €°Çàè?ÿÿ‚c¸ã€ð' DÀ'¿üпü€¢ €€1пü‘* ’“*` Q”¢Ö Ø D€¢À €€Ð¿ü‘* ’“*` Q”¢–?ÿÖ" пü‘* ’“*` Q”¢–?ÿÖ" пü‘* ’“*` Q”¢ À" €Ð¿ü Ð'¿ü¿ÿÍÇàè?ÿÿ‚c¸ã€ð' Dò' HÀ'¿üпü€¢ €€!пü‘* ’“*` Q”¢Ö Ø D€¢À €€Ð¿ü‘* ’“*` Q”¢ Ö HÖ"  € пü Ð'¿ü¿ÿÝ?ÿ€°Çàè?ÿÿ‚c¸ã€ð' DÀ'¿üпü€¢ €€ пü‘* ’“*` Q”¢Ö €¢ÿÿ€€Ð¿ü‘* ’“*` Q”¢Ö DÖ"  € пü Ð'¿ü¿ÿÞ?ÿ€°Çàè?ÿÿ‚c˜ã€'„@FåÐ'¿üпü€€€KпüÀ"пüÀ"&ÄпüÀ" пüÀ" пüÀ" пüÀ" пü’&$S”¢@Ø€à Ø"`Ø à"`à  Ø"`à"` пü’ Ò"&4пüÀ"&8пü’&HS”¢@Ø€à Ø"`Ø à"`à  Ø"`à"` пüÀ"&DпüÀ"&@пüÒ¿ü”f4Ô"&¨Ð¿üÀ"&¬Ð¿üÀ"&пüÀ"&пüÀ"&пü,Á`TÁ" пü,Ã`XÃ" $пü’ Ò" пüÀ" |пü@ªöпü€°Çàè?ÿÿ‚cˆã€ð' Dò' Hô' LQÐ"€€€  ’ SÔ¢\ÿÆñ €¸Ð D€€ € ’ SÔ¢\ÿÆâ €©Ð H€€€, `@ÛÐ' HРH€€€À'¿ð€Ð H@ÛÐ'¿ðÐ¿ð€€€  ’ SÔ¢\ÿÆ» €‚РL€€€Ð HÐ' LРL€€€À'¿ð€Ð L@ÚãÐ'¿ðÐ¿ð€€€  ’ SÔ¢\ÿÆ— €^РL@ýÐ'¿øÐ¿ø€€€  ’ SÔ¢\ÿÆ„ €KРD@¼€€€  ’ SÔ¢\ÿÆs €:РDÿþà€€€  *’ SÔ¢\ÿÆb *€)ÿþÿÐ'¿üпü€€ €!,’ SÔ¢\ÿÆP!,€Ð¿üÒ DÒ"РL€€€À'¿ð€Ð L@Ú}Ð'¿ðпð @EÄÒ¿üÐ"`пüÒ € €€ !,’ SÔ¢\ÿÆ*!,€ñРL€€€Ð¿üÐ Ò L@Ú^пüÒ¿øÒ" РH€€€À'¿ì€Ð H@ÚLÐ'¿ìпì @E“Ð'¿èпüÒ¿èÒ" п耀€ !,’ SÔ¢\ÿÅø!,€¿Ð H€€€Ð¿üÐ Ò H@Ú,РDÒ¿üÿþ(€{пü@µÐ'¿ôпô€€€Ð¿üÐ @EŸÐ¿ü@EœÐ DÿýÖпô’ SÔ¢\ÿÅÊпô€‘€jпüÿó$Ð'¿ôпô€€€Ð¿üÐ @E€Ð¿ü@E}РDÿý·Ð¿ô’ SÔ¢\ÿūпô€r€KпüÿóoÐ'¿ôпô€€€Ð¿üÐ @Eaпü@E^РDÿý˜ ’ SÔ¢\ÿŌпô€SQÐ#¸ QÐ"c¸€'QÐ#´€¢?ÿ€€  ’ SÔ¢\ÿÅu €<РDQÐ"c´€€Ð¿ø" €¢ ¿ÿû‘* F’bØÐ ÂÌTHÄQÐ"€¢ €€ QÐ"bпü@€Ð¿ü@Ûпüÿטпü@0Õпø€¢ €€Ð¿ü@ÚÃпü@: €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€¢ € €QÐ"€€€  ’ SÔ¢\ÿÅ €£Ð D€€ € ’ SÔ¢\ÿÅ €”РD@FÐ'¿üпü€€€  ’ SÔ¢\ÿÄû €Ð¿üÒ €¢`€€  ’ SÔ¢\ÿÄë €qпüÒ €¢`€€ пüÒ €¢`€€Ð¿ü@ڇпüÒ €¢`€€Ð¿ü@)ˀпü@*пü’ Ò" €"пü@»rРD’ ” @ר€'пüÿò¼€"пüÿòÕQÐ#¸" QÐ"c¸€?ÿQÐ"c´€€Ð¿üÐ " €¢ ¿ÿú‘* G’aüÐ ÂP´xŒÐ Dÿü—пüÐ @DVпüÐ @DRпü@DOÿüe€€€ QÐ"b €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hò' HQÐ"€¢ €€QÐ"€¢ €€  ’ SÔ¢\ÿÄ\ €”РD€€ € ’ SÔ¢\ÿÄM €…РD@…Ð'¿üпü€€€  ’ SÔ¢\ÿÄ: €rпü@€¢ €€  !’ SÔ¢\ÿÄ) !€aпü@€¢ €€  #’ SÔ¢\ÿÄ #€PпüÒ €¢`€€Ð¿üÒ HÿòLРH€€€ пüÒ p€ €€ €5пüÒ €¢`€€Ð¿ü@ܿпü@ºsпüÒ (€¢`€€Ð¿ü@>пüÒ €¢`€€Ð¿ü&4Ò¿ü’f¨@ HпüÀ"&¬Ð¿ü@(Ïпü@ÝпüÀ" xпüÀ" p €°Çàè?ÿÿ‚c¸ã€ð' DÀ'¿üпü€¢ €€Ð¿ü‘* ’“*` Q”¢Ö Ø D€¢À €€ пü‘* ’“*` Q”¢ Ð € пü Ð'¿ü¿ÿß €°Çàè?ÿÿ‚cã€ð' DРD€€€, h€€€ РD,’`l@טÐ'¿ü€ Ð'¿üпü€€€ €ZРD€€€, p€€€ РD,’`t@×xÐ'¿ø€ Ð'¿øÐ¿ø€€€ €:РD€€€, x€€€ РD,’`€@×XÐ'¿ô€ Ð'¿ôпô€€€ €Ð D€€€ €Ð D’ :@×m€€€ € €°Çàè?ÿÿ‚cÀã€ð' DРDÒ €¢`€€ €#РDÒ €¢`€€ €Ð DÒ €¢`€€ €Ð DÒ €¢`€€ €?ÿ€°Çàè?ÿÿ‚chã€ð' DРD’&4Ò'¿üРDÒ&Ò'¿ø¿äÒ D”f$Ø€à Ø" Ø à" à  Ø" à" пü€€€>РDÒ¿ü@¿ÔÒ D”f$Ø€à Ø" Ø à" à  Ø" à" пüÒ Ò'¿ôпôÐ'¿Ðпô" Ð'¿ôпÐÐ'¿Ìп̀€€ пøÒРD@)пøÒ Ò'¿ø¿ÿëРD’&$”¿ÔØ€à Ø"`Ø à"`à  Ø"`à"` РD@ӇпüÒ Ò'¿ü¿ÿÀРD’&$”¿äØ€à Ø"`Ø à"`à  Ø"`à"` РD@ÓtÇàè?ÿÿ‚cxã€ð' DРD’&4Ò'¿üРDÒ&Ò'¿øÐ D@Û@РD@ãРDÒ p€¢`€€ РDÒ x€¢`€€Ð D@¸ãРDÀ" pРDÀ" xРDÒ (€¢`€€Ð D@<ˆÐ DÒ&€¢`€€Ð D@(.¿èÒ D”f$Ø€à Ø" Ø à" à  Ø" à" пü€€€4РDÒ¿ü@¿ØÒ D”f$Ø€à Ø" Ø à" à  Ø" à" пø€€€ пøÒРD@(‘пøÒ Ò'¿ø¿ÿòРD’&$”¿ØØ€à Ø"`Ø à"`à  Ø"`à"` РD@ÒûпüÒ Ò'¿ü¿ÿÊРD’&$”¿èØ€à Ø"`Ø à"`à  Ø"`à"` РD@ÒèРD@Û7Çàè?ÿÿ‚c˜ã€ð' DÀ'¿üпü€¢ €€3пü‘* ’“*` Q”¢|Ö €¢ÿÿ€€!€Ð¿ü‘* ’“*` Q”¢„Ð Ò D@“€€Ð¿ü‘* ’“*` Q”¢„Ö Ðà €¢ ¿ÿç¿ÿòпü Ð'¿ü¿ÿËÇàè?ÿÿ‚c ã€ð' Dò' H€_Ò H’`РD@»¢Ð D’ Ò" p€gÒ H’`РD@½Ð D’ Ò" p€]Ò H’`РD@¬lРD’ Ò" p€SРHÒ €¢`€€ Ò H’`РD@=‚€Ð D’&$Ô H– ØÀààØ"`Øàà"`àà Ø"`à"` РD@Òc€4Ò H’`РD@ÃyРD’ Ò" p€*Ò H’`РD@ЕРD’ Ò" p€ Ò H’`РD@¢OРD’ Ò" p€€Ð HЀ¢ €‘* J’cPÐ Â)´)Ü*¨**ø*,*Ð+ Çàè?ÿÿ‚c ã€ð' Dò' HРD@Ú€_Ò H’`РD@»'РD’ Ò" p€gÒ H’`РD@¼…РD’ Ò" p€]Ò H’`РD@«ñРD’ Ò" p€SРHÒ €¢`€€ Ò H’`РD@=€Ð D’&$Ô H– ØÀààØ"`Øàà"`àà Ø"`à"` РD@Ñè€4Ò H’`РD@ÂþРD’ Ò" p€*Ò H’`РD@ÐРD’ Ò" p€ Ò H’`РD@¡ÔРD’ Ò" p€€Ð HЀ¢ €‘* K’a<Ð Â+ +È,”+ð,ä,,¼- РD@ÚÇàè?ÿÿ‚c˜ã€ð' DÀ'¿üпü€¢ €€Pпü‘* ’“*` Q”¢|Ö €¢ÿÿ€€>пü‘* ’“*` Q”¢„Ö Øà€£ €€0пü‘* ’“*` Q”¢„Ö Øà €£ €€"РDÒ€¢`€€Ð¿ü‘* ’“*` Q”¢„Ð Ò D@]€Ð¿ü‘* ’“*` Q”¢„Ð &¨Ò D@Çпü Ð'¿ü¿ÿ®Çàè?ÿÿ‚c˜ã€ð' DÀ'¿üпü€¢ €€fпü‘* ’“*` Q”¢Ö €¢ÿÿ€€Tпü‘* ’“*` Q”¢ Ö Øæ¨Ú€£`€€Ð¿ü‘* ’“*` Q”¢ Ð Ö¿ü—*à˜ ™+ –À Qšb ÞÀ Ô樔 Ò D@ÇÐ'¿ðпôÒ¿ðÒ" Ð¿ð€€€ !,’ SÔ¢\ÿ¿,!,€jпôÒ Ò'¿üÀ'¿øÐ¿øÒ D€¢ €€1QÐ#°‘* ’“*` Q”£Ü– Ö'¿ðпðÁÒ HÃ@… I Ô¿ðÇ ‰ ˆ#Ö¿üÉ"ÀпðË Ò HÍ`¡‰%Ô¿ðÑ  “¡È(Ö¿üÓ"àпø Ð'¿øÐ HÐ'¿èРH Ð' HпèÐ'¿ìпüÐ'¿ðпü Ð'¿ü¿ÿÌпô’ Q”¢ø   ¤ Ø€¿ÿþØ"@пô@QÐ#¸€€€ Ð'¿ä€À'¿äп䀢 €€Ð¿ôÔ Ò D ÿíçпôÐ @>пô@> €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€€€  ’ SÔ¢\ÿ¾­ €-РD€¢ €€  <’ SÔ¢\ÿ¾ž <€Ð DQÐ"cQÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€ Ò Dÿï= €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€€€  ’ SÔ¢\ÿ¾k €-РD€€€  ?’ SÔ¢\ÿ¾\ ?€Ð DQÐ"cQÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€ Ò Dÿîû €°Çàè?ÿÿ‚cã€ð' Dò' HÕ D× H— Ê×' DQÐ"€€€  ’ SÔ¢\ÿ¾$ €6,Ù ÌÛ D«J¬ €€  A’ SÔ¢\ÿ¾ A€#РDQÐ"c QÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€  Ý D¡ .á# `Ò `ã# `Ô `ÿî €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€€€  ’ SÔ¢\ÿ½Ù €-РD€€€  \’ SÔ¢\ÿ½Ê \€Ð DQÐ"cQÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€ Ò Dÿîi €°Çàè?ÿÿ‚cã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ 0SÔ¢\ÿ½Ž €øÐ D€€ € ’ 0SÔ¢\ÿ½ €éРDÿù·Ð'¿üпü€€€  ’ 0SÔ¢\ÿ½l €ÖпüÿúQ€¢ €€  !’ 0SÔ¢\ÿ½[ !€Åпüÿú@€¢ €€  #’ 0SÔ¢\ÿ½J #€´Ð¿üÿú/€¢ €€  $’ 0SÔ¢\ÿ½9 $€£Ð H€¢ € €Ð H€¢ €€  <’ 0SÔ¢\ÿ½$ <€ŽÐ LÒ€ €€  ?’ 0SÔ¢\ÿ½ ?€~РLÒ€¢ý€€ РLÒ€¢`€ € @’ 0SÔ¢\ÿ¼ý @€g,ã ÐÒ Lå`¬Š± €€  A’ 0SÔ¢\ÿ¼é A€SРLÒ € €€ пüÒ&ôÔ LÖ €¢À €€Ð¿üÒ €¢`€€Ð¿üÒ €¢`€ € ]’ 0SÔ¢\ÿ¼Â ]€,пüÒ €¢`€€Ð LÒ Ò# \Ô Lç © 3é# `Ø `ë# `Ú `Ö LÖÀ’ 3пüÔ HÿïËРH‘* ’“*` Ô¿ü–€˜à€Ú Là@ä`à# à`ä# à#  €°Çàè?ÿÿ‚cÀ〠QÐ"c  QÐ"c QÐ"c QÐ"cBÐ!ÌQÐ"c$,Á!QÁ"c(BÐ!ÔQÐ"c,Çàè?ÿÿ‚c¸ã€ð' DРD’!|B”¡ÌØ€à Ø"`Ø à"`Ø"` Ð'¿üпü€¢ €€Ð¿ü‘* ’“*` Ô D–€˜á|Ú¿ü›+`ž Ÿ+àš@!B !À¢@ä@è`ä# ä`è# ä# пü Ð'¿ü¿ÿá Ð'¿üпü€¢ €€Ð¿ü‘* ’“*` Ô D–€˜á|BšaÌà@ä`à# à`ä# à# пü Ð'¿ü¿ÿçÇàè?ÿÿ‚c€ã€ð' Dò' HQÐ"€¢ €€QÐ"€¢ €€  ’ SÔ¢\ÿ¼  €¨Ð D€¢ €€  d’ SÔ¢\ÿ»ü d€™@ÈÐ'¿ôпô€€€ !,’ SÔ¢\ÿ»ê!,€‡Ð¿ô’ Ò"пôÒ DÒ" РD‘* @;hÐ'¿ðпôÒ¿ðÒ" Ð¿ð€€€ !,’ SÔ¢\ÿ»Í!,€jпôÒ Ò'¿øÀ'¿üпüÒ D€¢ €€1QÐ#°‘* ’“*` Q”£Ü– Ö'¿ðпðÃÒ HÅ@‡ ‰!Ô¿ðÉ ‹ È$Ö¿øË"ÀпðÍ Ò HÏ`‘¡É&Ô¿ðÓ  •¢)Ö¿øÕ"àпü Ð'¿üРHÐ'¿èРH Ð' HпèÐ'¿ìпøÐ'¿ðпø Ð'¿ø¿ÿÌпô’ Q”£   ¤ Ø€¿ÿþØ"@пô@.QÐ#¸€€€ Ð'¿ä€À'¿äп䀢 €€Ð¿ôÔ Ò D ÿêˆÐ¿ôÐ @;1пô@;. €°Çàè?ÿÿ‚cã€ð' Dò' HÙ DÛ H› ÌÛ' DQÐ"€€€  ’ SÔ¢\ÿ»I €7,Ý! á D¥ 0¬ŠÎ €€  G’ SÔ¢\ÿ»5 G€#РDQÐ"c(QÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€  ç D© 3é# `Ò `ë# `Ô `ÿë8 €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€€€  ’ SÔ¢\ÿºý €-РD€€€  E’ SÔ¢\ÿºî E€Ð DQÐ"c$QÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€ Ò Dÿë €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€€€  ’ SÔ¢\ÿº» €-РD€€€  \’ SÔ¢\ÿº¬ \€Ð DQÐ"c,QÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€ Ò DÿëK €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€€€  ’ SÔ¢\ÿºy €-РD€¢ €€  B’ SÔ¢\ÿºj B€Ð DQÐ"c QÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€ Ò Dÿë  €°Çàè?ÿÿ‚cã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ 1SÔ¢\ÿº. €ùРD€€ € ’ 1SÔ¢\ÿº €êРDÿöWÐ'¿üпü€€€  ’ 1SÔ¢\ÿº  €×пüÿöñ€¢ €€  !’ 1SÔ¢\ÿ¹û !€ÆÐ¿üÿöà€¢ €€  #’ 1SÔ¢\ÿ¹ê #€µÐ¿üÿöÏ€¢ €€  $’ 1SÔ¢\ÿ¹Ù $€¤Ð H€¢ € €Ð H€¢ €€  B’ 1SÔ¢\ÿ¹Ä B€Ð LÒ€ €€  E’ 1SÔ¢\ÿ¹´ E€Ð LÒ€ €€ РLÒ€¢`€ € F’ 1SÔ¢\ÿ¹ F€hРLë ­ 5,ña(­ŠØ €€  G’ 1SÔ¢\ÿ¹ˆ G€SРLÒ € €€ пüÒ&ôÔ LÖ €¢À €€Ð¿üÒ €¢`€€Ð¿üÒ €¢`€ € ]’ 1SÔ¢\ÿ¹a ]€,пüÒ €¢`€€Ð LÒ Ò# \Ô Ló µ 9õ# `Ø `÷# `Ú `Ö LÖÀ’ 4пüÔ HÿìjРH‘* ’“*` Ô¿ü–€˜á|Ú Là@ä`à# à`ä# à#  €°Çàè?ÿÿ‚c˜ã€ t@8¶Ð'¿üпü€€€Ð¿üÀ" пüÀ" пü€°Çàè?ÿÿ‚c˜ã€ð' Dò' HРDÒ&¬€ €€Ð DÒ DÔf¨Ô"&°Ð D&¨Ò H@eРDÒ DÔf¨Ô"&¬€YРHÒ € €€À'¿ø€Ð HÐ @Í0Ð'¿øÐ¿ø @8wÐ'¿üпü€€€ !,’#íSÔ¢\ÿ¸ß €9РHÒ € €€Ð HÒ Ð¿ü@ÍРDÒ&¬Ð`@8”РDÒ&¬Ô¿üÔ"`РDÒ&¬Ô DÖ¦¨€¢À €€Ð DÒ&°Ô DÖ¦¬Øà Ø"` РDÒ&¨Ô DÖ¦¬Ö"` РDÒ DÔf¨Ô"&°Ð DÒ&¬À"` РDÒ DÔf¬Ô"&¨ €°Çàè?ÿÿ‚c ã€ð' Dò' HРH@±Ò DÔ@Ð"  РDÒÔ` Ö DÔ"ÀÇàè?ÿÿ‚c˜ã€ð' Dò' HРDÒ Ò'¿üпü€€€Ð¿üÒ Ò'¿øÐ¿ü@8пü@8BпøÐ'¿ü¿ÿïРD’ Ò"РDÀ" РD’?ÿÒ" РDÀ" РD’ S”¢@Ø€à Ø"`Ø à"`à  Ø"`à"` РHÒ DÒ"РDÀ" Çàè?ÿÿ‚c˜ã€ð' DQÐ"€¢ €€Ð D@Ð'¿üпü€€€€ пüÿöQ€Ð Dÿ÷€Ð DÿöIÇàè?ÿÿ‚c ã€ð' DQÐ"€¢ €€@ÕРDÿ÷ÆÇàè?ÿÿ‚cxã€ð' Dò' H€€Ð DÒ Ò'¿ôРDÒ Ò'¿üÀ'¿øÐ¿øÒ¿ô€¢ €€Ð¿üÐ'¿ðпü Ð'¿üпðÐ'¿ìРHÒ¿ì@{пø Ð'¿ø¿ÿë€rРDÒ Ò'¿ôРDÒ Ò'¿üÀ'¿øÐ¿øÒ¿ô€¢ €€Ð¿üÐ'¿èпü Ð'¿üпèÐ'¿äРHÒ¿ä@[пø Ð'¿ø¿ÿë€RРDÒ Ò'¿ôРDÒ Ò'¿üÀ'¿øÐ¿øÒ¿ô€¢ €€Ð¿üÐ'¿àпü Ð'¿üпàÐ'¿ÜРHÒ¿Ü@;пø Ð'¿ø¿ÿë€2Ò D’`РH@/Ò D’`РH@*Ò D’` РH@%Ò D’`(РH@ €€€€€Ð DЀ¢ €‘* T’bÐ ÂOðPpQØPðQpQÈQÐQàÇàè?ÿÿ‚cÀã€ð' Dò' HРDÁ Ò HÃ@¨J  €€Ð DÒ HÔ@Ô" РDÅÒ HÇ@¨Ê¢ €€Ð DÒ HÔ@Ô"РDÉ Ò HË`©J¤ €€Ð DÒ HÔ`Ô" РDÍ Ò HÏ`©Ê¦ €€Ð DÒ HÔ`Ô" Çàè?ÿÿ‚c ã€ð' D€CРDÒ € €€Ð DÐ @6þ€HРDÒ € €€Ð DÐ @6ñ€;РDÒ € €€Ð DÐ @6ä€.€,РDÐ @6ÜРDÐ @6Ø€"РDÐ @6ҀРDÐ <@6Ì€€Ð DЀ¢ €‘* U’`ˆÐ ÂS\STSÄT@SøT(TXÇàè?ÿÿ‚cPã€ð' Dÿý¶Ð'¿ìп쀀€ !,’#îSÔ¢\ÿ¶Ø €äпìÒ D˜ t˜£ Ô@ ¿ÿþÔ" €ÆÐ DÒ Ò'¿èпìÒ¿èÒ" пèÐ'¿üпü‘* @6KÐ'¿ôпô€€€ !,’#îSÔ¢\ÿ¶³ €¿Ð¿ìÒ¿ôÒ" РDÒ Ò'¿ðÀ'¿øÐ¿øÒ¿ü€¢ €€Ð¿ôÒ¿ðÔ@Ø`Ô" Ø" пø Ð'¿øÐ¿ôÐ'¿àпô Ð'¿ôпðÐ'¿äпð Ð'¿ð¿ÿ怗РDÒ Ò'¿ÜпìÒ¿ÜÒ" пÜÐ'¿üпü‘* @6 Ð'¿ôпô€€€ !,’#îSÔ¢\ÿ¶r €~пìÒ¿ôÒ" РDÒ Ò'¿ðÀ'¿øÐ¿øÒ¿ü€¢ €€Ð¿ôÒ¿ðÔ@Ø`Ô" Ø" пø Ð'¿øÐ¿ôÐ'¿Ôпô Ð'¿ôпðÐ'¿ØÐ¿ð Ð'¿ð¿ÿæ€VРDÒ Ò'¿ÐпìÒ¿ÐÒ" пÐÐ'¿üпü‘* @5ÉÐ'¿ôпô€€€ !,’#îSÔ¢\ÿ¶1 €=пìÒ¿ôÒ" РDÒ Ò'¿ðÀ'¿øÐ¿øÒ¿ü€¢ €€Ð¿ôÒ¿ðÔ@Ø`Ô" Ø" пø Ð'¿øÐ¿ôÐ'¿Èпô Ð'¿ôпðÐ'¿Ìпð Ð'¿ð¿ÿæ€Ð¿ì’ Ô D– ØÀààØ"`Øàà"`àà Ø"`à"` пìÒ DÔ`Ô" € @5Ð'¿ôпô€€€ !,’#îSÔ¢\ÿµç €óпìÒ¿ôÒ" РDÒ Ò'¿ðпôÒ¿ðÔ@Ø`Ô" Ø" РDÒ € €€À'¿Ä€Ð DÐ @Ê Ð'¿ÄÐ¿Ä @5PÐ'¿ÀпìÒ¿ÀÒ" пÀ€€€ !,’#îSÔ¢\ÿµµ €ÁРDÒ € €€Ð¿ìÐ Ò DÒ`@É瀯РDÒ € €€À'¿¼€Ð DÐ @ÉÔÐ'¿¼Ð¿¼ @5Ð'¿¸Ð¿ìÒ¿¸Ò" п¸€€€ !,’#îSÔ¢\ÿµ€ €ŒÐ DÒ € €€Ð¿ìÐ Ò DÒ`@ɲ€zРDÐ 8Ò DÒ`4@ɘÐ'¿øÐ¿ø‘* @4îÐ'¿´Ð¿ìÒ¿´Ò" <п´€€€ !,’#îSÔ¢\ÿµS €_пø" Ð'¿øÐ¿ø€€€Ð¿ìÒ <Ô¿ø—* Ø DÚ <Þ¿ø¡+àâ@â"@ пø" Ð'¿ø¿ÿíÐ¿ì’ Ô D– ØÀààØ"`à"`Ð¿ì’ Ô D– ØÀààØ"`à"`Ð¿ì’ Ô D–  ØÀààØ"`à"`Ð¿ì’ Ô D– ØÀààØ"`à"`Ð¿ì’ 0Ô D– 0ØÀààØ"`à"`пìÒ DÔ`8Ô" 8€€Ð DЀ¢ €‘* W’`dÐ ÂU,V0X€W4Z¤X8YÐ\4п쀰Çàè?ÿÿ‚cˆã€ð' Dò' HРHÒ (Ô H” ,РDÿéaРHÒ D€ €€À'¿ü€ Ð'¿üРHÒ (РD” \Ö¿üÿéœÐ HÒ H€ €€À'¿ø€ Ð'¿øÐ HÒ (РD” ]Ö¿øÿé‰Ð HÒ (Ô HÁ L…  Å# `Ô `Ç# `Ö `РDÿéøÐ HÒ P€ €€À'¿ô€ Ð'¿ôРHÒ (РD” _Ö¿ôÿéjÇàè?ÿÿ‚c ã€ð' Dò' H€zРHÔ ’ ,РDÿå%Ò H’`РD@(РHÔ Ò HÖ`’ РDÿãw€wРHÔ ’ ,РDÿåÒ H’`РD@7РHÔ Ò HÖ`’ РDÿãb€bРHÔ ’ ,РDÿäûÒ H’`(Ô H” PРD@DÒ H’`Ô H”  РDÿå„РHÒ Ô HԠРDÿ㘀EРHÔ ’ ,РDÿäÞÒ H’`Ô H” 4РD@xРHÔ Ò HÖ`’ РDÿã.€.РHÔ ’ ,РDÿäÇРH’ 0Ò# \Ö H–àÒ H’`Ô H”  Ø HÚ <Þ HØà8РDÿã·€€Ð HЀ¢ ¿ÿû‘* X’`Ð Â^^\^°_$_€_à_à_àÇàè?ÿÿ‚cpã€ð' Dò' H,!´Ò D˜ t˜£ Ô@ ¿ÿþÔ" ,Ð"(€€€,Ð"(@3º,À""(,Ð",€€€,Ð",@3­,À"",,Ð"0€€€,Ð"0@3 ,À""0€ÓРDÒ Ò'¿àпà,Ð"aÄпàÐ'¿øÐ¿ø‘* @3RÐ'¿ÜпÜ,Ð"b(п܀€€ !,’#ïSÔ¢\ÿ³· €ÊРDÒ Ò'¿ôÀ'¿üпüÒ¿ø€¢ €€1РHÇ Ò¿ôÉ`‹¡ #Ô HÍ€Ö¿ôÏÀ‘¡É&“¢%Ø HÕ —¢H*Ú¿üŸ+`!,à"(×$РHÙ Ò¿ôÛ`£I,Ô Hß Ö¿ôáÀ£¤ /¥¤H.Ø Hç ©¤ˆ3Ú¿üŸ+`!,à"(¢é$`пô Ð'¿ôпü Ð'¿ü¿ÿÌ,Ð"(,Ð"aÈ€†Ð DÒ Ò'¿ÜпÜ,Ð"aÄпÜÐ'¿øÐ¿ø‘* @2óÐ'¿ØÐ¿Ø,Ð"b(п؀€€ !,’#ïSÔ¢\ÿ³X €kРDÒ Ò'¿ôÀ'¿üпüÒ¿ø€¢ €€1РHë Ò¿ôí`¯¥‰5Ô Hñ€Ö¿ôóÀµ¦I8·¦ˆ7Ø Hù »¦È<Ú¿üŸ+`!,à"(û$РHý Ò¿ôÿ`§É>Ô HàֿôÅÀ‡ ‰!‰ È Ø HË ¡%Ú¿üŸ+`!,à"(¢Í$`пô Ð'¿ôпü Ð'¿ü¿ÿÌ,Ð"(,Ð"aÈ€'РDÒ Ò'¿ØÐ¿Ø,Ð"aÄпØÐ'¿øÐ¿ø‘* @2”Ð'¿ÔпÔ,Ð"b(пԀ€€ !,’#ïSÔ¢\ÿ²ù € РDÒ Ò'¿ôÀ'¿üпüÒ¿ø€¢ €€1РHÏ Ò¿ôÑ`“¢ 'Ô HÕ€Ö¿ô×À™¢É*›£)Ø HÝ Ÿ£H.Ú¿üŸ+`!,à"(ß$РHá Ò¿ôã`¥¤I0Ô Hç Ö¿ôéÀ«¥ 3­¥H2Ø Hï ±¥ˆ7Ú¿üŸ+`!,à"(¢ñ$`пô Ð'¿ôпü Ð'¿ü¿ÿÌ,Ð"(,Ð"aÈ€ÈРD’ ,”¡ÈØ@à`Ø" Ø`à" à` Ø" à"  РDÒ ,Ò"¡Ä€¶ @2,Ð'¿ÔпÔ,Ð"b(пԀ€€ !,’#ïSÔ¢\ÿ²‘ €¤Ð DÒ Ò'¿ôРHó Ò¿ôõ`·¦‰9Ô Hù€Ö¿ôûÀ½§I<¿§ˆ;Ø HÁ ƒ§È ,Úb(Ã#@РHÅ Ò¿ôÇ`‰ É"Ô HË Ö¿ôÍÀ¡‰%‘¡È$Ø HÓ •¢),Úb(Õ#`,Ð"(,Ð"aÄ¿ìÒ D”`Ø€à Ø" à" ¿äÒ D”` Ø€à Ø" à" РH× Ù¿ð›£ +Ò HÝ@߿졣É.£¤-Ô Hå §¤H2,ç"áÌРHé ë¿ð­¥I4Ò Hï`ñ¿ì³¦ 7µ¦H6Ô H÷ ¹¦ˆ;,ù"áÐРHû ,ýa̽§ˆ½,ý"¡ÌРHÿ ,ÁaР¿,Á"¡ÐРHà ſ臠‰!Ò HÉ@Ë¿ä¡I$¡ˆ#Ô HÑ “¡È(,Ó"áÔРHÕ ×¿è™¢É*Ò HÛ`ݿ䟣‰-¡£È,Ô Hã ¥¤1,å"áØÐ Hç ,éaÔ©¥³,é"¡ÔРHë ,íaØ­¥ˆµ,í"¡ØÐ DÒ € €€À'¿Ô€Ð DÐ @Æ4Ð'¿ÔÐ¿Ô @1{Ð'¿ÐпÐ,Ð"b,пЀ€€ !,’#ïSÔ¢\ÿ±à €óРDÒ € €€Ð DÒ ,Ð",@Æ,Ð",,Ð"aÈ€ÜРDÐ 8Ò DÒ`4@ÅôÐ'¿üпü‘* @1JÐ'¿ÔпÔ,Ð"b0пԀ€€ !,’#ïSÔ¢\ÿ±¯ €Âпü" Ð'¿üпü€€€Ð¿ü“* ,Ô¡ðÖ DØà<Ú¿üŸ+`àà"€ пü" Ð'¿ü¿ÿíРHï Ò Dñ`³¦ 7Ô Dõ Ö H÷À¹¦‰;»§9Ø Hý ¿§H>,ÿ#aÄРHÁ Ò DÃ`… I Ô HÇ Ö DÉà‹¡ #¡H"Ø HÏ ‘¡ˆ',Ñ#aÈРHÓ Ò DÕ`—¢‰)Ô DÙ Ö HÛÀ£ -Ÿ£ˆ+Ø Há ££È0,ã#aÌРHå Ò Dç`©¤É2Ô Hë Ö Dí௥‰5±¥È4Ø Hó µ¦9,õ#aÐРH÷ Ò Dù`$»§ ;Ô Dý  Ö HÿÀ§‰?ƒ =Ø HÅ ‡ H",Ç#aÔРHÉ Ò DË`$¡I$Ô HÏ Ö DÑà “¢ '•¢H&Ø H× ™¢ˆ+,Ù#aØÐ HÛ Ò DÝ`,Ÿ£‰-Ô Dá (Ö HãÀ¥¤ 1§¤ˆ/Ø Hé «¤È4,ë#aÜРHí Ò Dï`,±¥É6Ô Hó Ö Dõà(·¦‰9¹¦È8Ø Hû ½§=,ý#aàРD’ 0,”¡äØ@à`Ø" à" Ð DÒ 8,Ò"¡ì€€€Ð DЀ¢ ¿ÿû‘* [’`|Ð ÂabŒeÌdi4e„lLlD,!´€°Çàè?ÿÿ‚c˜ã€ð' Dò' HÀ'¿üпü€¢ €€Iпü‘* ’“*` Q”¢|Ö €¢ÿÿ€€7пü‘* ’“*` Q”¢„Ö Øà €£ €€)пü‘* ’“*` Q”¢„Ð ÿã˜Ð DÒ `Ò'¿øÐ¿ø€€€Ð¿øÒ Hÿü¤’пü‘* ”•*  Q–â„Ð ÿüпøÒ Ò'¿ø¿ÿèпü Ð'¿ü¿ÿµS"@ÿäœÇàè?ÿÿ‚c˜ã€ð' Dò' HРHÒ `Ò'¿üРDÿã!РDÿâÚРDÿã_пü€€€Ò H’`,пüÿüm’РDÿûÖпüÒ Ò'¿ü¿ÿîРDS’b@ÿäMÇàè?ÿÿ‚c˜ã€ð' Dò' HРHÒ `Ò'¿üРDÿã9пü€€€ РDÒ¿üÿûµÐ¿üÒ Ò'¿ü¿ÿóРDS’b@ÿä,Çàè?ÿÿ‚c ã€ð' DРDÒ€¢ÿ€€,РDÒ €¢`€€%РDQ’bø@ÊРDQ’c@éРDQ’c0Q”£t@РD’ ” ÿáHРDQ’cXQ”£˜@KРDÿâ­Ð DÿâfÇàè?ÿÿ‚c˜ã€À'¿üпü€¢ €€,пü‘* ’“*` Q”¢|Ö €¢ÿÿ€€Ð¿ü‘* ’“*` Q”¢„Ö Øà €£ €€ пü‘* ’“*` Q”¢„Ð ÿÿœÐ¿ü Ð'¿ü¿ÿÒÇàè?ÿÿ‚cã€ð' Dò' HÀ'¿üÀ'¿øÐ¿ø€¢ €€-пø“* Ô H–€ ÿàØ¿ø›+ Þ D À Á ¨ ?€€Ð¿ø“* Ô H–€ ÃàØ¿ø›+ Þ D À Å ¨Š!€€ Ð'¿ü Ð'¿øÐ¿ø Ð'¿ø¿ÿÑпü€¢ €€Ò H’`РDÐÿä5РHÒ Ô DÖ €¢À €€Ð HÒ Ô DЀÿävРHÒ Ô DÖ  €¢À €€Ð HÒ Ô DЀÿä‘РHÇ $Ò DÉ`$© #€€ РHË $ %Í# `Ò `Ï# `Ô `Ö DÐÀÿäÌРHÒ (Ô DÖ (€¢À €€Ð HÒ (Ô DЀÿäëÇàè?ÿÿ‚cpã€ð' Dò' Hô' LРH’ ÌÔ LØ@à`Ø" Ø`à" à` Ø" à"  РHÒ Ü€ €€€-РHÒ `Ò'¿üпü€€€$пüÒ€¢`€€Ò¿ü’`”¿ÔРD@¹’¿ÜРLÿ÷’’¿äРLÿ÷Ž’¿ìРLÿ÷Š’¿ôРLÿ÷†Ð¿üÒ Ò'¿ü¿ÿÚÇàè?ÿÿ‚c(ã€ð' Dò' Hô' Lö' P,Ñ"8“ ÈÓ'¿¼Ð L’ Ò'¿üРPÒÒ'¿ìРPÒ Ò'¿èÀ'¿ Ð¿üÒ”"`Ö¿ €¢À €€ÊРHÕ 8Ò¿üÔ`Ö¿ ™*àš€ ×`™¢É*Þ HÛà,à¿üâ ä¿ §, Ý@Ÿ£‰-¡£È,è Hã 4¥¤1å'¿¤Ð Hç <Ò¿üÔ`Ö¿ ™*àš€ é`«¥ 3Þ Híà0à¿üâ ä¿ §, ï@±¥É6³¦5è Hõ @·¦H:÷'¿¨Ð¿¤Ð'¿Üп¨Ð'¿ØÐ Hù 8Ò¿üÔ`Ö¿ ™*àš€ û` ½§I<Þ Hÿà,à¿üâ ä¿ §, ¨@Á ƒ  ?… H>ê HÇ`4‰ ˆ#É'¿¤Ð HË <Ò¿üÔ`Ö¿ ™*àš€ Í` ¡‰%Þ HÑà0à¿üâ ä¿ §, ¨@Ó •¢I(—¢ˆ'ê HÙ`@›¢È,Û'¿¨Ð¿¤Ð'¿Ôп¨Ð'¿ÐÝ¿Øß¿Ð«Š/€€Ð¿ìÐ'¿äпØÐ'¿à€Ká¿Üã¿Ô¬ 1€€Ð¿ÜÐ'¿äпèÐ'¿à€<å¿Üç¿Ô©¤ˆ³ë¿Øí¿Ð¯¥H¶±¥É´ñ'¿ø,ó"@õ¿ø·¦Iº÷'¿ô,ù"Hý¿øÿ¿ø§‰?…  ‰ ˆ\‹ ÄË'¿ðÍ¿ôϿ쑡‰'Ó¿øÕ¿Ü—¢I*Ù¿Ø›¢È¬Ý¿èŸ£H.¡£È(ã¿ø¥¤ 1ç¿ð©¤‰³é'¿äë¿øí¿Ü¯¥I6ñ¿Øó¿èµ¦¹·¦ˆ·ù¿ôû¿ì½§ =¿¦È¾Á¿ðƒ§É Å¿è‡ H"É¿ôË¿ì¡ % È&Ï'¿àÑ¿àÓ¿è•¢©×¿àٿ蛢Ȭ£I*ß¿äá¿ì££È°å¿äç¿ì©¤ˆ³«¥ 1­¥H.± 6ñ# `Р`ó# `Ò `@!³ Àó'¿Ìõ¿Ø÷¿Ð¹¦ˆ»û¿Øý¿Ð¿§H¾§É<ÿÜſԇ H¢É¿Ü˿ԡ¥¡‰#‘¡È • (Õ# `Р`×# `Ò `@!— À×'¿ÈÙ¿àÛ¿Ø£­ß¿àá¿Ø££È°¥¤I.ç¿äé¿Ü«¤È´í¿äï¿Ü±¥ˆ·³¦ 5µ¦H2¹ :ù# `Р`û# `Ò `@ í» Àû'¿Äý¿àÿ¿Ð§ˆ¿Ã¿àſЇ H¢‰ É Ë¿äͿԡH¦Ñ¿äÓ¿Ô•¢©—¢‰'™¢È$ ,Ý# `Р`ß# `Ò `@ ÕŸ Àß'¿Àá¿Äã¿À¥¤1å'¿¸ç¿¸é¿È¬Ê´ €€ë¿Ìí¿¸¯¥H6ñ¿Ì󿸵¦9·¦‰7¹ ;ù# `Р`û# `Ò `@ ¸» Àû'¿¸€lпÌÐ'¿¬,ý"Pý'¿°Ð Dÿ'Á¿¬ƒ  ?Ò DÅg‡ H"‰ #,Í¢X‘¡F“ HÓ# `Ö `—*à—:àÖ7¿œÐ DÕ'׿°™¢É*Ò DÛg £-Ô Dߦð¡£È®¥ 0,éâX­¤ˆT¯ Vï# `Ø `™+ ™; Ø7¿žÐW¿œ€€€ÐW¿œ’ Ò7¿œÐ¿üÒ €¢`€€Ð¿üñ ³ 8ó'¿˜€ пüÒ “*`” •* ’@ Ö D˜À õ „· :÷'¿˜ù¿˜» œû'¿´,ý"`ÿ¿´¿§É¾ÿ'¿´ÐW¿œÐ# `Á `ƒ €Å¿´¨Š¡€€,É"hÉ?¿€Ë¿Ì %Í?¿Ñ¿“ ÈÓ'¿¸Õ¿¸×¿¼ªŠ« €€Ð¿¸Ð'¿˜€Ð¿¼Ð'¿˜Ð¿˜Ð'¿¼,Ù"hÝ¿¼¡ .¬ L€€,Á"h€ п  Ð'¿ ¿þ1Á¿¼  €Çàè?ÿÿ‚cã€ð' Dò' Hô' Lö' PÀ'¿”,å"p§ Òç'¿¬Ð LÐ'¿¤Ð¿¤ Ð'¿¤Ð HÒÒ'¿ðРHÒ Ò'¿ìÀ'¿˜Ð P’" Ô¿˜€¢€ €€˜Ð Dé 8Ò Lë`­¥I4Ô Dï ,Ö LñÀ³¦ 7µ¦H6Ø D÷ 4¹¦ˆ;ù'¿œÐ Dû <Ò Lý`¿§‰=Ô DÁ 0Ö LÃÀ… I ‡ ˆ?Ø DÉ @‹ È$Ë'¿ Ð¿œÐ'¿àп Ð'¿ÜРDÍ 8Ò¿¤Ï`‘¡É&Ô DÓ ,Ö¿¤ÕÀ—¢‰)™¢È(Ø DÛ 4£-Ý'¿œÐ Dß <Ò¿¤á`£¤ /Ô Då 0Ö¿¤çÀ©¤É2«¥1Ø Dí @¯¥H6ï'¿ Ð¿œÐ'¿ØÐ¿ Ð'¿Ôñ¿Üó¿Ô® 9€€ пðÐ'¿èпÜÐ'¿ä,õ"p· Ú÷'¿°€Uù¿àû¿Ø¯ =€€ пàÐ'¿èпìÐ'¿äпàÐ'¿°€Dý¿àÿ¿Ø§ˆ¿Ã¿Üſԇ H¢‰ É É'¿ü,Ë"xÍ¿ü¡I¦Ï'¿ø,Ñ"€Õ¿ü׿ü™¢‰+ ,¡£ˆH£ Ðã'¿ôå¿øç¿ð©¤‰3ë¿üí¿à¯¥I6ñ¿Ü³¥È¸õ¿ì·¦H:¹¦È4û¿ü½§ =ÿ¿ô§‰¿Á'¿èÿüÅ¿à‡ I"É¿Ü˿졥¡ˆ£Ñ¿øÓ¿ð•¢ )—¡ÈªÙ¿ô›¢É¬Ý¿ìŸ£H.á¿øã¿ð¥¤ 1§£È2ç'¿äé¿ìë¿Ü­¥µï¿ø±¥‰7ó¿àµ¦H8õ'¿°÷¿äù¿ì»¦È¼ý¿äÿ¿ì§ˆ¿ƒ  =Å¿èÇ¿ð‰ ˆ£Ë¿èÍ¿ð¡H¦‘¡É$“¢!• )Õ# `Р`×# `Ò `@?— À×'¿ÐÙ¿ÜÛ¿Ô£­ß¿Üá¿Ô££È°¥¤I.ç¿àé¿Ø«¤È´í¿àï¿Ø±¥ˆ·³¦ 5µ¦H2¹ :ù# `Р`û# `Ò `@'» Àû'¿Ìý¿äÿ¿Ü§ˆ¿Ã¿äſ܇ H¢‰ É Ë¿èÍ¿à¡H¦Ñ¿èÓ¿à•¢©—¢‰'™¢È$ ,Ý# `Р`ß# `Ò `@Ÿ Àß'¿Èá¿äã¿Ô¥¤±ç¿äé¿Ô«¤È´­¥I2ï¿èñ¿Ø³¥È¸õ¿è÷¿Ø¹¦ˆ»»§ 9½§H6 >Á# `Р`Ã# `Ò `@÷ƒ ÀÃ'¿ÄÅ¿ÈÇ¿Ä¨Š£ €€Ð¿ÈÐ'¿€Ð¿ÄÐ'¿Ð¿Ð'¿¨É¿È˿ġ%Í'¿ÀÏ¿ÌÑ¿À©Ê¨€€Ð¿ÐÐ'¿Œ€Ó¿ÐÕ¿¨—¢H*×'¿ŒÐ¿ŒÐ'¿¨Ù¿ÜÛ¿Ô£­¡ .á# `Р`ã# `Ò `@y£ Àã'¿¼å¿ìç¿Ô©¤ˆ³­ 4í# `Р`ï# `Ò `@mÁ; hï¿ìñ¿Ü³¥È¸µ 9õ# pРp÷# pÒ p@bù h½ \¿ Þÿ'¿¸Ð¿ðÐ'¿´Á¿¼Ã¿¸¨ ¡€€Å¿´Ç¿°¨Š£€€Ð¿”’ Ò'¿ˆ€Ð¿”Ð'¿ˆÐ¿ˆÐ'¿”É¿¨Ë¿¬© ¥ €€Ð¿¨Ð'¿„€Ð¿¬Ð'¿„п„Ð'¿¬Ð¿˜ Ð'¿˜Ð LÐ'¿ˆÐ L Ð' LпˆÐ'¿ŒÐ¿¤Ð'¿Ð¿¤ Ð'¿¤¿þdп”“2 ’@’*`" €€€,Á"ˆ€Á¿¬  €Çàè?ÿÿ‚cˆã€ð' Dò' Hô' LРH’ Ò'¿üпüÐ ‘* @*ÌÐ'¿ôпô€€€ !,’#òSÔ¢\ÿ«4,Á"€ZпüÒÒ'¿ìÀ'¿ðпðҿ쀢 €€Ð¿ð“* Ô¿ô–€ Ø¿üÚ Þ¿ð¡+à¢@ä@è`ä"àè"àпð Ð'¿ð¿ÿéпüÒ Ô¿ì—* ˜@ Í?øÚ¿üÞ`ÏÀ©Ê&€€Ð¿üÒ Ô¿ì—* ˜@ Ñ?üÚ¿üÞ`ÓàªJ(€€Ð¿ì“* Ô¿ô–€ Ø¿ôàä à"àä"àпì Ð'¿ìРDÒ LÔ¿ôÖ¿ìÿýÉ• ÀÕ'¿øÐ¿ô@*¥Á¿ø  €Çàè?ÿÿ‚cPã€ð' Dò' Hô' Lö' P,Ù"˜› ÌÛ'¿èРL’ Ò'¿üРPÒÒ'¿øÐ PÒ Ò'¿ôÀ'¿ÐпüÒԿЀ¢€ €€ÅРHÝ 8Ò¿üÔ`ֿЙ*àš€ ß`¡£É.Þ Hãà,à¿üâ ä¿Ð§, å@§¤‰1©¤È0è Hë 4­¥5í'¿ÔРHï <Ò¿üÔ`ֿЙ*àš€ ñ`³¦ 7Þ Hõà0à¿üâ ä¿Ð§, ÷@¹¦É:»§9è Hý @¿§H>ÿ'¿ØÐ¿ÔÐ'¿ðпØÐ'¿ìÁ¿ìÿô… ¡Ç¿ìÉ¿ô‹ È¤¡I"Ï¿ðÑ¿ø“¡È¨Õ¿ð׿ø™¢ˆ«›£ )£H&¡ .á# `Р`ã# `Ò `@x£ Àã'¿äå¿äç¿è¬Š³ €€Ð¿äÐ'¿Ä€Ð¿èÐ'¿ÄпÄÐ'¿èпäÐ'¿Ü,é" é'¿àРDë'í¿Ü¯¥‰5Ò Dñg³¥È8µ 9,ù¢¨½¦ˆ\¿ ^ÿ# `Ö `—*à—:àÖ7¿ÈРDÁ'Ã¿à… I Ò DÇg ‰ ˆ#Ô D˦ð¡H¤‘ &,Õ⨙¢J› LÛ# `Ø `™+ ™; Ø7¿ÊпüÒ €¢`€€Ð¿üÝ Ÿ .ß'¿À€ пüÒ “*`” •* ’@ Ö D˜À á!€£ 0ã'¿ÀпÀÐ'¿ÌÐW¿ÈÒ¿Ì€¢@€€,å"°å?¿¸€ç¿è© 3é?¿¸í¿¸¯ Öï'¿è,ñ"°õ¿è¹ :¯ X€€,Á"°€ пРÐ'¿Ð¿ÿ7Á¿è  €Çàè?ÿÿ‚cHã€ð' Dò' Hô' Lö' PÒ L’`”¿ØÐ D@³Þ¿°’¿àÔ@Ø`Ô" Ø" ¿¸’¿èÔ@Ø`Ô" Ø" ¿À’¿ðÔ@Ø`Ô" Ø" ¿È’¿øÔ@Ø`Ô" Ø" ¿Ð’¿àÔ@Ø`Ô" Ø" ”¿°Ò PРH– ÿü§» Àû'¿¬Á¿¬  €Çàè?ÿÿ‚cã€ð' Dò' Hô' LРH’ Ò'¿ü (@)6Ð'¿ôпô€€€ !,’#ôSÔ¢\ÿ©ž,Á"¸€6пôÒ¿üÔ@Ø`Ô" Ø" пô’ Ô¿ü– ØÀààØ"`à"`пô’ Ô¿ü– ØÀààØ"`à"`пô’ Ô¿ü– ØÀààØ"`à"`пô’ Ô¿üØ€à Ø"`à"`РDÒ LÔ¿ô– ÿüW½ Àý'¿øÐ¿ô@)3Á¿ø  €Çàè?ÿÿ‚cã€ð' Dò' Hô' Lö' PРH’ TÒ'¿ü,Á"Àƒ ÀÃ'¿ôпü€€€o,Å"À‡ ÂÇ'¿ø€4РDÒ HÔ¿üÖ Pÿú@‰ ÀÉ'¿ø€<РDÒ HÔ¿üÖ Pÿþf‹ ÀË'¿ø€2РDÒ HÔ¿üÖ PÿÿB ÀÍ'¿ø€(РHÒ¿üÔ PÿýÙ ÀÏ'¿ø€Ð HÒ¿üÔ Pÿÿi‘ ÀÑ'¿ø€€Ð¿üЀ¢ ¿ÿû‘* c’`$Р‹4‹\‹„‹¬‹Ð‹ô‹ô‹ôÓ¿øÕ¿ôªJª €€Ð¿øÐ'¿ôпüÒ Ô LÒ"€,Ù"ÈÝ¿ô¡ .¬ L€€,Á"È€ пüÒ Ò'¿ü¿ÿÁ¿ô  €Çàè?ÿÿ‚cˆã€ð' Dò' Hô' Lö' PРDã 8Ò Lå`§¤‰1Ô Dé ,Ö LëÀ­¥I4¯¥ˆ3Ø Dñ 4³¥È8ó'¿ØÐ Dõ <Ò L÷`¹¦É:Ô Dû 0Ö LýÀ¿§‰=§È<Ø Dà @… !Å'¿Ü Ð'¿ÔРL Ð' LпÔÒ P€¢ €€bРDÇ 8Ò LÉ`‹¡ #Ô DÍ ,Ö LÏÀ‘¡É&“¢%Ø DÕ 4—¢H*š¿ØÞ¿Ô¡+à×#@РDÙ <Ò LÛ`£I,Ô Dß 0Ö LáÀ£¤ /¥¤H.Ø Dç @©¤ˆ3š¿ØÞ¿Ô¡+à¢@é$`¿ÐÒ¿Ô•*`– ëà˜¿ØÚ¿ÔŸ+` í ¯¥ˆµ¢¿Ðä¿Ô§, ñ@è Hóµ¦H¸·¦‰7ª¿Ðì¿Ô¯- °@ù ò Hû`½§H¼´¿Ðö¿Ô¹.àÿ€º¿ØÐ¿Ô“* Á@ ƒ ¿… I>¨Š» €€ €Ð¿Ô Ð'¿ÔРLÐ'¿ÌРL Ð' LпÌÐ'¿Ð¿ÿ› €°Çàè?ÿÿ‚c¸ã€ð' DРD’ •*`,–âôØ€ Ø'¿üпü€€€ €8пüÒ (Ô D€¢@ €€Ð D’ •*`,–âôØ¿üÚ àÚ"€ пüÀ" àпü€#пüÒ àÒ'¿øÐ¿ø€€€Ð¿øÒ (Ô D€¢@ €€ пüÒ¿øÔ`àÔ" àпøÀ" àпø€ пøÐ'¿ü¿ÿä €°Çàè?ÿÿ‚c˜ã€ð' Dò' HÀ'¿üпü“* Ô DÖ€ Ø H€¢À €€Ð¿ü“* Ô DÖ€ €¢ÿÿ€€ €Ð¿ü Ð'¿ü¿ÿèпü“* Ô DÖ€ €¢ÿÿ€€?ÿ€?пü€¢ €€'пü€¢ €€ пü“* Ô D–?ÿÖ"€ €Ð¿ü“* Ô D–€ ØàØ'¿øÐ¿ü“* Ô DÖ¿øÖ"€ пø€¢?ÿ€€€Ð¿ü Ð'¿ü¿ÿ×РDÒ€¢ÿ€€ РDÐ (ÿÿSÐ' DРD@'\ €°Çàè?ÿÿ‚c˜ã€ð' DРDÒ&Ò'¿øÐ¿øÐ'¿üпü€€€NпüÒ€¢ÿ€€@пüÒ¿ø€¢ €€"пüÒ Ò'¿üРDÒ&Ô¿ø€¢€ €€Ð DÒ¿üÒ"&РDÒ&Ô¿ø€¢€ €€Ð DÒ¿üÒ"&пø@'пüÐ'¿ø€Ð¿øÒ¿üÔ`Ô" РDÒ&Ô¿ü€¢€ €€Ð DÒ¿øÒ"&пü@'пøÒ Ò'¿ü€Ð¿üÐ'¿øÐ¿üÒ Ò'¿ü¿ÿ°Çàè?ÿÿ‚c ã€ð' DРD&4Ò D’f¨ÿî˜Ð DÀ"&¬Ð Dÿÿ–РDÒ p€¢`€€Ð D@РDÀ" pРDÀ" xРDÒ (€¢`€€Ð D@!B€Çàè?ÿÿ‚c8ã€ð' Dò' H”¿œÒ HРDÿ÷°Ð DÇ LÒ DÉ`P‹¡£ %,ѢЕ¡‰H— Ê×'¿°Ð DÙ TÒ DÛ`X£H¬¡ .,å¢Ð©¤ R« Ôë'¿¬í¿œï¿°±¥ˆ·ñ'¿Üó¿¤õ¿¬·¦Hº÷'¿àù¿œû¿°½§½ý'¿äÿ¿¨Á¿¬ƒ§È Ã'¿èÅ¿ Ç¿°‰ ˆ#É'¿ìË¿¨Í¿¬¡H&Ï'¿ðÑ¿ Ó¿°•¢)Õ'¿ô׿¤Ù¿¬›¢È¬Û'¿øÀ'¿üпü€¢ €€6РHÝ 8’¿ÜÔ¿ü—* ˜@ ß ¡£É.Ú Hã`,ž¿Üà¿ü£, åÀ§¤‰1©¤È0ä Hë 4­¥5¦¿´è¿ü«- í$ÀРHï <’¿ÜÔ¿ü—* ˜@ ñ ³¦ 7Ú Hõ`0ž¿Üà¿ü£, ÷À¹¦É:»§9ä Hý @¿§H>¦¿´è¿ü«- ¬Àÿ% Ð¿ü Ð'¿ü¿ÿȿԒ¿´Ô@Ø`Ô" Ø" РD@¿P’¿´Ð D@eРD@¿ÀÇàè?ÿÿ‚cˆã€ð' Dò' HРHÒ D€¢`€€€2РH’ TÒ'¿ü¿ìÒ D”f$Ø€à Ø" Ø à" à  Ø" à" пü€€€Ò H’`,пüÿòJ’РDÿåпüÒ Ò'¿ü¿ÿîРD’&$”¿ìØ€à Ø"`Ø à"`à  Ø"`à"` РD@·.Çàè?ÿÿ‚c˜ã€ð' DÀ'¿üпü“* Ô DÖ€ €¢ÿÿ€€8пü€¢ €€2пü“* Ô DÖ€ QØ#´€¢À €€"пü“* Ô DЀ ÿâQÐ'¿øÐ¿øÒ t€ €€ пøÿþ}пø’ Ò" x€ пøÒ €¢`€€Ð¿ø@ {пü Ð'¿ü¿ÿÃÇàè?ÿÿ‚c¸ã€ð' Dò' HРHÁ $Ò DÃ`$¨J €€ €BРHÒ Ô DÖ €¢À €€ €6À'¿üпü€¢ €€,пü“* Ô H–€ ÅàØ¿ü›+ Þ D À Ç ¨Ê"€€Ð¿ü“* Ô H–€ ÉàØ¿ü›+ Þ D À Ë ©J$€€ € пü Ð'¿ü¿ÿÒ €°Çàè?ÿÿ‚c˜ã€ ä@%!Ð'¿üпü€€€nпü’ Ò" Tпü’ Ò" dпü’ hS”¢@Ø€à Ø"`Ø à"`à  Ø"`à"` пüÀ" `пüÒ¿ü”`TÔ" Èпü’?ÿÒ" (пüÀ" DпüÀ" Hпü,ÍbØÍ" LпüÀ" PпüÀ" ÜпüÀ" àпü,ÏbØÏ" ØÐ¿ü,ÑbØÑ" Ðпü,ÓbÜÓ" Ôпü,ÕbÜÕ" ÌÀ'¿øÐ¿ø€¢ €€Ð¿ø“* Ô¿ü–€ ,×"Ø×"à8пø“* Ô¿ü–€ ,Ù"ØÙ"à,пø Ð'¿ø¿ÿéпü,ÛbÜÛ" <пü,ÝbÜÝ" ,À'¿øÐ¿ø€¢ €€ пø“* Ô¿ü–?ÿÖ"€ пø Ð'¿ø¿ÿòпü€°Çàè?ÿÿ‚cÀã€ð' DРDÒ DÔ`(–  ™*à,šbôÞ Þ" àРDÒ (” `—* ,˜"ôÚ DÚ"À Çàè?ÿÿ‚c˜ã€ @$‹Ð'¿üпü€€€Ð¿üÀ" пü€°Çàè?ÿÿ‚c ã€ð' Dò' HРDÒ&€ €€ ÿÿßÒ DÐ"fРDÒ DÔfÔ"&€ ÿÿÕÒ DÔfÐ" Ð DÒ DÔfÖ Ö"&РDÒ&Ô HÔ"@РD’ Ò"&Çàè?ÿÿ‚c¸ã€ð' Dò' HРDÒ&Ò'¿üпü€€€Ð¿üÒÔ H€¢@ €€Ð¿ü’?ÿÒ"РH€ пüÒ Ò'¿ü¿ÿé?ÿ€°Çàè?ÿÿ‚c¸ã€ð' Dò' Hô' LРDÒ €¢`€€€Ð DÒ&Ò'¿üпü€€€Ð¿üÒÔ H€¢@ €€Ð¿üÒ LÒ"€Ð¿üÒ Ò'¿ü¿ÿêÇàè?ÿÿ‚c¸ã€ð' DРD’ •*`,–âôØ€ Ø'¿üпü€€€Ð¿üÒ (Ô D€¢@ €€Ð¿ü€ пüÒ àÒ'¿ü¿ÿì €°Çàè?ÿÿ‚c¸ã€À'¿üпü€¢ €€€ пü“* ,”¢ôÀ"@ пü Ð'¿ü¿ÿò?ÿSÐ"bPSÀ""TÇàè?ÿÿ‚cˆã€ð' DQÐ"€¢ €€  ’ =SÔ¢\ÿ¤" €ºÐ D€¢ €€  x’ =SÔ¢\ÿ¤ x€«Ð Dÿÿš€€€  y’ =SÔ¢\ÿ¤ y€šÿþcÐ'¿üпü€€€ !,’ =SÔ¢\ÿ£ð!,€ˆQÐ#¸€€€ Ð'¿ð€À'¿ðÐ¿ð€¢ €€ QÒ DÿԒпüÒ DÒ" (РDSÐ"bPпüÿþ³À'¿øÀ'¿ôпô€¢ €€Kпô‘* ’“*` Q”¢|Ö €¢ÿÿ€€9пø“* Ô¿üÖ¿ô—*à˜ ™+ –À Qšb|ÞÀ Þ"€ пø Ð'¿øÐ¿ô‘* ’“*` Q”¢„Ö Øà €£ €€Ð¿ô‘* ’“*` Q”¢„Ð Ò Dÿþ¢Ð¿ô‘* ’“*` Q”¢„Ö Ø樚 Ú'¿ìпìÒ’`Ò"пô Ð'¿ô¿ÿ³Ð¿ø€¢ €€ пø“* Ô¿ü–?ÿÖ"€ пø Ð'¿ø¿ÿò QÐ"b €°Çàè?ÿÿ‚c˜ã€QÐ"€¢ €€  ’ >SÔ¢\ÿ£T €?ÿSÐ"bP QÐ"bQÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€ÿÓª €°Çàè?ÿÿ‚cã€ð' Dò' HQÐ"€€ €QÐ"€¢ €€  ’ ?SÔ¢\ÿ£ €~РD€¢ € €Ð H€¢ €€  x’ ?SÔ¢\ÿ£ x€iРHÿþŠ€€€  y’ ?SÔ¢\ÿ¢ò y€XРDÿú¨Ð'¿üпü€€€  z’ ?SÔ¢\ÿ¢ß z€EQÐ#¸€€€ Ð'¿ô€À'¿ôпô€¢ €€Ð DÒ Hÿ×пüÒ HÒ" (SÐ"PÒ D€¢ €€Ð HSÐ"bPпüÿýšÀ'¿øÐ¿ø“* Ô¿üÖ€ €¢ÿÿ€€Ð¿ø“* Ô¿üЀ ÿÞãÒ DÔ Hÿþпø Ð'¿ø¿ÿê €°Çàè?ÿÿ‚cã€ð' DQÐ"€€ €QÐ"€¢ €€  ’ @SÔ¢\ÿ¢~ €˜Ð D€¢ €€  x’ @SÔ¢\ÿ¢o x€‰QÐ"€¢ €€SÐ"PÒ D€¢ €€  }’ @SÔ¢\ÿ¢W }€qРDÿú Ð'¿øÐ¿ø€€€  z’ @SÔ¢\ÿ¢D z€^QÐ#¸€€€ Ð'¿ð€À'¿ðÐ¿ð€¢ €€ TÒ DÿÒæÀ'¿ôпô“* Ô¿øÖ€ €¢ÿÿ€€2пô“* Ô¿øÐ€ ÿÞYÐ'¿üпüÒ €¢`€€Ð¿üÒ DÿýIпüÒ t€ €€ пüÿúzпü’ Ò" x€ пüÒ €¢`€€Ð¿ü@ xпô Ð'¿ô¿ÿÉпø TÒ¿ø’`Èÿé]пø@!± €°Çàè?ÿÿ‚c˜ã€ð' Dò' HQÐ"€€ €QÐ"€¢ €€  ’ ASÔ¢\ÿ¡É €ÆÐ D€€ € ’ ASÔ¢\ÿ¡º €·Ð DÿÝòÐ'¿üпü€€€  ’ ASÔ¢\ÿ¡§ €¤Ð¿üÿÞŒ€¢ €€  !’ ASÔ¢\ÿ¡– !€“пüÿÞ{€¢ €€  #’ ASÔ¢\ÿ¡… #€‚РH€¢ €€  x’ ASÔ¢\ÿ¡v x€sРHÿüýÐ'¿øÐ¿ø€€€  {’ ASÔ¢\ÿ¡c {€`QÐ"€¢ €€SÐ"PÒ H€¢ €€  }’ ASÔ¢\ÿ¡K }€HпüÒпøÿùL€¢?ÿ€€  {’ ASÔ¢\ÿ¡8 {€5пüÒ €¢`€€Ð¿üÒ HÿüdпüÒ €¢`€€Ð¿ü’ TÔ HÿѴпüÒ t€ €€ пüÿù‰Ð¿ü’ Ò" x€ пüÒ €¢`€€Ð¿ü@‡ €°Çàè?ÿÿ‚cXã€ð' Dò' HQÐ"€€ €QÐ"€¢ €€  ’ JSÔ¢\ÿ æ €PРD€¢ €€  x’ JSÔ¢\ÿ × x€AРDÿü^Ð'¿üпü€€€  z’ JSÔ¢\ÿ Ä z€.РHß $¡ /,åbଠÒ €€Ð Hç $© 3,íbè­ Ö €€  ~’ JSÔ¢\ÿ £ ~€ QÐ#¸€€€ Ð'¿¼€À'¿¼Ð¿¼€¢ €€Ð¿ü (Ò Hÿðµ¿ÀÒ¿ü”`(  , ¤ Ø€¿ÿþØ"пüÒ (Ô HÒ"€Ð¿ü’ (Ô H  , ¤ Ø€¿ÿþØ"@пüï Lñ¿ä® 7€€!À'¿ìп쀢 €€Ð¿ì“* Ô¿üÖ€ €¢ÿÿ€€Ð¿ì“* Ô¿üЀ ÿÜ“Ð'¿øÐ¿ø’ Ò"&пì Ð'¿ì¿ÿäÀ'¿ô¿ÀÒ¿ü’`(ÿúV€¢ €€Ð¿üÿú Ð'¿ôпüÒ HÔ¿à€¢€ €€À'¿ð€ Ð'¿ðп܀¢ €€HпüÒ D€ €€AÀ'¿ìп쀢 €€8пì“* Ô¿üÖ€ €¢ÿÿ€€/пì“* Ô¿üÖ€ QØ#´€¢À €€Ð¿ì“* Ô¿üЀ ÿÜ?Ð'¿øÐ¿øÒ t€¢`€€Ð¿øÒ¿üÿùпüÒ H€¢`€€Ð¿øÒ¿üÿøçпì Ð'¿ì¿ÿÆ€MÐ¿ð€¢ €€GпüÒ D€ €€@À'¿ìп쀢 €€9пì“* Ô¿üÖ€ €¢ÿÿ€€0пì“* Ô¿üÖ€ QØ#´€¢À €€ пì“* Ô¿üЀ ÿÛóÐ'¿øÐ¿ô€€€Ð¿ô€¢ €€ пøÒ t€¢`€€Ð¿øÒ¿üÿøšÐ¿ì Ð'¿ì¿ÿÅ €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€€€  ’ /SÔ¢\ÿŸ €-РD€€€  a’ /SÔ¢\ÿŸr a€Ð DSÐ"bTQÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€ ,Ò DÿÐ €°Çàè?ÿÿ‚cˆã€ð' Dò' HQÐ"€¢ €€QÐ"€¢ €€  ’ BSÔ¢\ÿŸ7 €"РD€€ € ’ BSÔ¢\ÿŸ( €Ð DÿÛ`Ð'¿üпü€€€  ’ BSÔ¢\ÿŸ €QÐ#´€¢?ÿ€€QÐ#´ÿÛEÐ'¿øÐ¿ø€€€  ’ BSÔ¢\ÿžú €åпüÿÛ߀¢ €€  !’ BSÔ¢\ÿžé !€ÔпüÿÛ΀¢ €€  #’ BSÔ¢\ÿžØ #€ÃРH€¢ €€  x’ BSÔ¢\ÿžÉ x€´Ð¿øÒ&Ò'¿ðÐ¿ð€€€Ð¿ðÒÔ H€¢@ €€€Ð¿ðÒ Ò'¿ð¿ÿíÐ¿ð€€€  |’ BSÔ¢\ÿž¢ |€Ð¿ðÐÿú(Ð'¿ôÀ'¿ìпì“* Ô¿ôÖ€ €¢ÿÿ€€Ð¿ì“* Ô¿ôÖ€ Ø D€¢À €€ €qпì Ð'¿ì¿ÿçпì“* Ô¿ôÖ DÖ"€ пüÒ €¢`€€Ð¿üÒ HÿùпüÒ&¨”`Ô'¿èпèÒ’`Ò"€Ð¿ü’ QÔ HÿÎõпüÒ¿ôÿénпüÿîпüÒ¿ôÿíòпüÿΣ €<пüÒ t€ €€Ð¿ôÒ D€ €€Ð¿ü@· пôÒ (пü@¯Ð¿ü@·{пü’ Ò" x€Ð¿üÒ t€ €€ пüÿö›Ð¿ü’ Ò" x€ пüÒ €¢`€€Ð¿ü@™ €°Çàè?ÿÿ‚cpã€ð' Dò' HQÐ"€¢ €€QÐ"€¢ €€  ’ CSÔ¢\ÿø €)РD€€ € ’ CSÔ¢\ÿé €Ð DÿÚ!Ð'¿üпü€€€  ’ CSÔ¢\ÿÖ €QÐ#´€¢?ÿ€€QÐ#´ÿÚÐ'¿øÐ¿ø€€€  ’ CSÔ¢\ÿ» €ìпüÿÚ €¢ €€  !’ CSÔ¢\ÿª !€ÛпüÿÚ€¢ €€  #’ CSÔ¢\ÿ™ #€ÊпüÿÚ~€¢ €€  $’ CSÔ¢\ÿˆ $€¹Ð H€¢ €€  x’ CSÔ¢\ÿy x€ªÐ¿øÒ&Ò'¿ðÐ¿ð€€€Ð¿ðÒÔ H€¢@ €€€Ð¿ðÒ Ò'¿ð¿ÿíÐ¿ð€€€  |’ CSÔ¢\ÿR |€ƒÐ¿üÒ €¢`€€ пüÿíРHÿøÏ’пüÿì°¿ÔÒ¿ü”f$Ø€à Ø" Ø à" à  Ø" à" пü@µÿРHÿøºÐ'¿ôпô’ TÒ'¿èп耀€CпèÒ€¢`€€(пüÒ&¨Ô@€¢ €€ Ò¿è’`пüÔ&¨” Ð¿ü@'€ÿãÙÐ'¿ìÐ¿ì’ Ò"Ò¿è’`Կ씠пü@пü&¨Ò¿ìÿäX€Ò¿ô’`,пèÿèêÐ'¿äпü&¨Ò¿äÿäKпüÒ¿äÿÛ8пèÒ Ò'¿è¿ÿ»Ð¿ü@¶%пü’&$”¿ÔØ€à Ø"`Ø à"`à  Ø"`à"` пü@­Å €°Çàè?ÿÿ‚c€ã€ð' Dò' HÀ'¿äQÐ"€¢ €€QÐ"€¢ €€  ’ DSÔ¢\ÿœ± €áQÐ#´€¢?ÿ€€QÐ#´ÿØáÐ'¿üпü€€€  ’ DSÔ¢\ÿœ– €ÆÐ D€¢ €€  x’ DSÔ¢\ÿœ‡ x€·QÐ"€¢ €€SÐ"PÒ D€¢ €€  }’ DSÔ¢\ÿœo }€ŸÐ¿üÒ&Ò'¿øÐ¿ø€€€Ð¿øÒÔ D€¢@ €€€Ð¿øÒ Ò'¿ø¿ÿíпø€€€  |’ DSÔ¢\ÿœH |€xQÐ#¸€€€ Ð'¿à€À'¿àÐ¿à€¢ €€ ÿì'РDÿ÷»Ò HÿëDQÐ"€¢ €€SÐ"TÐ'¿äРDÿ÷«Ð'¿ôпô’ TÒ'¿ðÐ¿ð€€€:пðÒ€¢`€€.QÐ"€¢ €€Ð¿ðÒ SÒ"¢TпðÒ Hÿç÷ÿåÐ'¿èпè@ÁÐ'¿ìп쀀€Ð¿ìÿÚ€ пðÒ HÿçáÐ'¿ìпìÿÛ+пìÿÙôпðÒ Ò'¿ð¿ÿÄQÐ"€¢ €€Ð¿äSÐ"bT €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€¢ € €QÐ"€€€  ’ SÔ¢\ÿ›´ €wРD€€ € ’ SÔ¢\ÿ›¥ €hРDÿ×ÝÐ'¿üпü€€€  ’ SÔ¢\ÿ›’ €UпüÿØw€¢ €€  !’ SÔ¢\ÿ› !€DпüÿØf€¢ €€  #’ SÔ¢\ÿ›p #€3пüÿØU€¢ €€  $’ SÔ¢\ÿ›_ $€"пüÒ €¢`€€Ð¿üÿɸ€Ð¿ü@ÏпüÒ |€ €€ пü |Ò¿üÐ@’ ŸÀ@ €°Çàè?ÿÿ‚c˜ã€ð' DSÐ"Pÿö¾Ð'¿üРDSÒbTÒ" пü ÈÒ Dÿâ‡Ò¿ü’`ÌРDÿãРDÒ€¢`€€Ð¿ü’ Ò" ÜпüÒ D€¢`€€ € Ò¿ü’`,РDÿ瀰Çàè?ÿÿ‚c˜ã€ð' DРDÒ tÒ'¿üРDÀ" tРDÒ&€ €€"РDÒ DÔfÖ Ö"&РDÒ&Ô@€¢¿ÿ€€Ð DÒ&Ð@ÿöoÔ DÒ€ÿòçРDÐ&@£Ð DÒ DÔfÔ"&¿ÿÛРDÒ¿üÒ" tРDÒ t€ €€ РDÿó<РD’ Ò" x€ РDÒ €¢`€€Ð D@:Çàè?ÿÿ‚c˜ã€ð' DÀ'¿üпü€¢ €€€Ð¿ü“* ,”¢ôÖ@ Ö'¿øÐ¿ø€€€ РDÒпøÿò£Ð¿øÒ àÒ'¿ø¿ÿòпü Ð'¿ü¿ÿáÇàè?ÿÿ‚cã€ð' DРD@³VРDÒ&Ò'¿øÐ¿ø€€€'пøÒ€¢ÿ€€Ð¿øÐÿöÐ'¿üРDÒ&¨”`Ô'¿ôпôÒ’`Ò"пüÒ D€ €€Ð¿üÒ (РD@ÕпøÒ Ò'¿ø¿ÿ×РD@³œÇàè?ÿÿ‚c˜ã€SÐ"PÿõÚÐ'¿üпüÒ ÈÔ@€¢ €€Ð¿üÒ È”`S–â@ØÀààØ" Øàà" àà Ø" à"  €ÿáÐ'¿øÐ¿ø’ Ò"пø’ Ò" пø’ S”¢@Ø€à Ø"`Ø à"`à  Ø"`à"` пü ÈÒ¿øÿá{Çàè?ÿÿ‚cˆã€ð' DРDÀ"&РDÿò…РDÒ&Ô DÖ¦€¢À €€€zРDÒ&Ô`Ô'¿üРDÒ DÔfÔ"&РDÒ&À"`пü€€€iпüÐÿõ}Ð'¿ìРDÒ&Ò'¿øÐ¿øÐÿõuÐ'¿ðÀ'¿ôпìó LÒ¿ðõ`L®Š¹€€Ð¿ø€€€Ð¿øÐ'¿ôпøÒ Ò'¿øÐ¿ø€€€ пøÐÿõSÐ'¿ð€€¿ÿÛпø€€€Ð¿ôÒ¿üÒ" РDÒ¿üÒ"&пüÒ Ò'¿üРDÒ&À"`€Ð¿ô€€€Ð DÒ¿üÒ"&пüÒ Ò'¿üРDÒ&Ô¿øÔ"`€ пôÒ¿üÒ" пüÒ Ò'¿üпôÒ Ô¿øÔ"`¿ÿ•Çàè?ÿÿ‚cˆã€ð' Dò' HРH€¢?ÿ€€JРHÿõ Ð'¿üпüÒ D€¢`€€€=пü’ TÒ'¿ø¿èÒ D”f$Ø€à Ø" Ø à" à  Ø" à" пø€€€Ò¿ü’`,пøÿåS’РDÿקпøÒ Ò'¿ø¿ÿîРD’&$”¿èØ€à Ø"`Ø à"`à  Ø"`à"` РD@ª7пüÒ H€¢`€€Ð DÒ¿üÿò5Çàè?ÿÿ‚c ã€ð' Dò' HРDÒ Hÿò* @­uРDÒ Hÿò#Çàè?ÿÿ‚cPã€ð' Dò' Hô' Lö' Pø' TÀ'¿øÐ DÒ&Ò'¿ô,÷"ð÷'¿ÈРL’?ÿÒ" РL’?ÿÒ" пô€€€QпôÐÿô’Ð'¿üпüÒ P€¢`€€@пüÒ D€ €€9пüù Lû¿È¯ ½€€/”¿¸Ò¿üРDÿéœÐ¿¸Ð'¿ÌпÀÐ'¿Ðп¼Ð'¿ÔпÀÐ'¿ØÐ¿¼Ð'¿ÜпÄÐ'¿àп¸Ð'¿äпÄÐ'¿èп¸Ð'¿ìпÀÐ'¿ð”¿ÌÒ Hпü– ÿïò€€€ пüÒ LÒ'¿ÈпüÐ'¿øÐ LÒ¿ôÔ@Ô" пôÒ Ò'¿ô¿ÿ­Ð LÒ €¢ÿ€€Ð L’ Ò" €,РPÀ" РT€¢ €€ РPÒ (€ €€Ð DÒ¿øÿÿfРT€€€ ”¿´Ò¿øÐ DÖ Hÿï,РLÒ¿´Ò" РP’ Ò" РLÀ" €°Çàè?ÿÿ‚c ã€ð' DРD@±HРDÿñHРDÒ&€¢`€€Ð DÿþUРDÿýÝРD@±¬Çàè?ÿÿ‚c˜ã€ð' Dò' HРHÔ ’ РDÿÈïРHÔ ’ РDÿÈéРHý  >Á# `Ô `Ã# `Ö `’ РDÿÈEРHÔ ’ РDÿÈØÇàè?ÿÿ‚c˜ã€ð' Dò' HРHÔ ’ РDÿÈËРHÔ ’ РDÿÈÅРHà … !Å# `Ô `Ç# `Ö `’ РDÿÈ!РHÔ ’ РDÿÈ´Çàè?ÿÿ‚cpã€ð' Dò' Hô' LРHÔ ’ РDÿȦÒ H’`РDÿÈïРHÇ ‰ #É# `Ô `Ë# `Ö `’ РDÿÇýРHË  %Í# `Ô `Ï# `Ö `’ РDÿÇòРHÔ $’ !РDÿÈ…¿ÜQ’ct˜ $˜£ Ô@ ¿ÿþÔ" Q#tÒ L˜ $˜£ Ô@ ¿ÿþÔ" РLÒ Ð DÿÉSÒ L’`РDÿÉ™¿ÜQ’ct˜ $˜£ Ô ¿ÿþÔ"@ Çàè?ÿÿ‚c ã€ð' Dò' HРHÔ ’ %РDÿÈVРHÒ Ð DÿÉÈРHÔ ’ 'РDÿÈKРHÔ ’ (РDÿÈEÇàè?ÿÿ‚c˜ã€ð' Dò' HQÐ"€€€  ’ ™SÔ¢\ÿ—› €8РDÿÔÐ'¿üпü€€€  ’ ™SÔ¢\ÿ—ˆ €%пü€¢ €€  '’ ™SÔ¢\ÿ—y '€Ð HÀ"РH’ Ò" РHÀ" РH’ Ò" РHÀ" РH’ Ò" РHÀ"  €°Çàè?ÿÿ‚c ã€ð' DQÐ"€¢ €€  ’ œSÔ¢\ÿ—N € РDSÒbPÒ" €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€€ €QÐ"€¢ €€  ’ ²SÔ¢\ÿ—) €1РDÒ€¢`€€  x’ ²SÔ¢\ÿ— x€!РDÐÿòŸÐ'¿üпü€€€  z’ ²SÔ¢\ÿ— z€ пü’ (Ô D  , ¤ Ø@¿ÿþØ"€ €°Çàè?ÿÿ‚cã€ð' Dò' HQÐ"€€ €QÐ"€¢ €€  ’ wSÔ¢\ÿ–Û €gРD€¢ €€  x’ wSÔ¢\ÿ–Ì x€XРDÿòSÐ'¿üпü€€€  z’ wSÔ¢\ÿ–¹ z€EÀ'¿øÐ¿ø“* Ô¿üÖ€ €¢ÿÿ€€Ð¿ø Ð'¿ø¿ÿôРHÒ¿øÒ"пø‘* @+Ð'¿ôРHÒ¿ôÒ" пô€€€ !,’ wSÔ¢\ÿ–!,€À'¿øÐ HÒÔ¿ø€¢€ €€Ð HÒ Ô¿ø—* Ø¿ø›+ Þ¿üàÀ à"@ пø Ð'¿ø¿ÿì €°Çàè?ÿÿ‚cã€ð' DÀ'¿øÀ'¿ôQÐ"€€ €QÐ"€¢ €€  ’ ³SÔ¢\ÿ–V €†Ð¿ø€¢ €€€'пø“* ,”¢ôÖ@ Ö'¿üпü€€€Ð¿ô Ð'¿ôпüÒ àÒ'¿üпü€€€ пô Ð'¿ôпüÒ àÒ'¿ü¿ÿôпø Ð'¿ø¿ÿ×РDÒ¿ôÒ"пô‘* @¬Ð'¿ðРDÒ¿ðÒ" Ð¿ð€€€ !,’ ³SÔ¢\ÿ–!,€AÀ'¿ôпôÐ'¿øÐ¿ø€¢ €€€5пø“* ,”¢ôÖ@ Ö'¿üпü€€€$РDÒ Ô¿ô—* Ø¿üÚ (Ú"@ пô Ð'¿ôпüÒ àÒ'¿üпü€€€Ð DÒ Ô¿ô—* Ø¿üÚ (Ú"@ пô Ð'¿ôпüÒ àÒ'¿ü¿ÿíпø Ð'¿ø¿ÿÉ €°Çàè?ÿÿ‚cˆã€ð' Dò' HQÐ"€€ €QÐ"€¢ €€  ’ ´SÔ¢\ÿ•³ €Ð D€€ € ’ ´SÔ¢\ÿ•¤ €rРDÿÑÜÐ'¿üпü€€€  ’ ´SÔ¢\ÿ•‘ €_пüÿÒv€¢ €€  !’ ´SÔ¢\ÿ•€ !€NÀ'¿ôпüÒ&Ò'¿øÐ¿ø€€€ пøÒ Ò'¿øÐ¿ôÐ'¿ðпô Ð'¿ô¿ÿòРHÒ¿ôÒ"пô‘* @íÐ'¿ìРHÒ¿ìÒ" п쀀€ !,’ ´SÔ¢\ÿ•R!,€ À'¿ôпüÒ&Ò'¿øÐ¿ø€€€Ð HÒ Ô¿ô—* Ø¿øÚÚ"@ пøÒ Ò'¿øÐ¿ôÐ'¿ìпô Ð'¿ô¿ÿë €°Çàè?ÿÿ‚c˜ã€ð' Dò' HQÐ"€€€  ’  SÔ¢\ÿ• €/РDÿÑ‚Ð'¿üпü€€€  ’  SÔ¢\ÿ•  €Ð¿ü€¢ €€Ð¿ü€¢ €€  '’  SÔ¢\ÿ”ô '€Ð HÀ" €°Çàè?ÿÿ‚c ã€ð' DQÐ"€€€  ’ ¦SÔ¢\ÿ”Ø € РDSÒbTÒ" €°Çàè?ÿÿ‚c ã€ QÐ"c@ QÐ"c0 QÐ"c4 QÐ"c8 QÐ"c<BÐ" QÐ"cDQÀ"#HBÐ"(QÐ"cL-Á!8QÁ"cPBÐ"0QÐ"cT-Å!@‡ ÂQÇ"ct-É!@‹ ÄQË"c€-Í!8QÍ"cx-Ï!HQÏ"c|-Ñ!HQÑ"c„-Ó!8QÓ"cˆQÀ"#ŒQÀ"#QÀ"#”-!x@¨¶SÐ"b`SÐ"`€€€-!„SÐ"b`Çàè?ÿÿ‚c¸ã€ð' DРD’"xB”¢ Ø€à Ø"`Ø à"`à  Ø"`Ø à"` Ø"` Ð'¿üпü€¢ €€!пü‘* ’“*` Ô D–€˜âxÚ¿ü›+`ž Ÿ+àš@!B " ¢@ä@è`ä# ä`è# è` ä# ä`è# ä# пü Ð'¿ü¿ÿÝ Ð'¿üпü€¢ €€Ð¿ü‘* ’“*` Ô D–€˜âxBšb à@ä`à# à`ä# ä` à# à`ä# à# пü Ð'¿ü¿ÿãÇàè?ÿÿ‚cã€ð' Dò' HÕ D× H— Ê×' DQÐ"€€€  ’ !SÔ¢\ÿ” €7-Ù!PÝ D¡ .¬ Ì€€  M’ !SÔ¢\ÿ“î M€#РDQÐ"cLQÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€  ã D¥ 1å# `Ò `ç# `Ô `ÿÃñ €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hé Dë H« Ôë' DQÐ"€€€  ’ $SÔ¢\ÿ“± €3-í!Xñ Dµ 8®ŠÖ€€  N’ $SÔ¢\ÿ“ N€Ð DQÐ"ctРDQÐ"c€QÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€ÿÄÒ €°Çàè?ÿÿ‚cã€ð' Dò' Hù Dû H» Üû' DQÐ"€€€  ’ "SÔ¢\ÿ“d €#РDQÐ"cPQÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€  ý D >Á# `Ò `Ã# `Ô `ÿÃg €°Çàè?ÿÿ‚cã€ð' DQÐ"€€€  ’ %SÔ¢\ÿ“, €c-Å!`Ò DÉ@ $©ŠB€€Ð DÏ ‘ '-Õa`ª J€€  O’ %SÔ¢\ÿ“  O€BРD× Ò DÙ`›£ +Ô DÝ€Ö DßÀ¡£É.£¤-¥ 1å# `Р`ç# `Ò `@û§ Àç'¿üРDéë¿ü­¥ µQí"cxРDï ñ¿ü³¥É¸Qó"c|QÐ#|QÐ"c„Qõ#x· ºQ÷"cˆQÐ#¸€€€ Ð'¿ø€À'¿øÐ¿ø€¢ €€ÿÄ €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€€€  ’ 'SÔ¢\ÿ’´ €yРDÒ€ €€ РDÒ€¢`€€Ð DÒ€¢`€€Ð DÒ€¢`€€ 'Ð’ 'SÔ¢\ÿ’'ЀTРDÒ € €€.РDÒ €¢`€€'РDÒ €¢`€€ РDÒ €¢`€€Ð DÒ €¢`€€Ð DÒ €¢`€€ 'Ð’ 'SÔ¢\ÿ’\'Ѐ!Q#Ò DÔ@Ø`Ô" Ø" QÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€Ð DÿÄ$ €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€€€  ’ #SÔ¢\ÿ’& €-РD€€€  \’ #SÔ¢\ÿ’ \€Ð DQÐ"cTQÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€ !Ò Dÿ¶ €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€€€  ’ SÔ¢\ÿ‘ä €OРDÒ€ €€  K’ SÔ¢\ÿ‘Ô K€?РDÒ € €€Ð DÒ €¢`€€Ð DÒ €¢`€€ 'Ð’ SÔ¢\ÿ‘¶'Ѐ!Q#DÒ DÔ@Ø`Ô" Ø" QÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€Ð Dÿž €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€€€  ’ SÔ¢\ÿ‘€ €-РD€¢ €€  H’ SÔ¢\ÿ‘q H€Ð DQÐ"c@QÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€ Ò Dÿ €°Çàè?ÿÿ‚c˜ã€ð' Dð' DQÐ"€€€  ’ &SÔ¢\ÿ‘= €>РD€€€Ð D€¢ €€Ð D€¢ €€Ð D€¢ €€ 'Ð’ &SÔ¢\ÿ‘'ЀРDQÐ"cŒQÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€Ð Dÿž €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ 4SÔ¢\ÿá €Ð D€€ € ’ 4SÔ¢\ÿÒ €Ð DÿÍ Ð'¿üпü€€€  ’ 4SÔ¢\ÿ¿ €íпüÿͤ€¢ €€  !’ 4SÔ¢\ÿ® !€ÜпüÿÍ“€¢ €€  #’ 4SÔ¢\ÿ #€ËпüÿÍ‚€¢ €€  $’ 4SÔ¢\ÿŒ $€ºÐ H€¢ € €Ð H€¢ €€  H’ 4SÔ¢\ÿw H€¥Ð LÒ€ €€  K’ 4SÔ¢\ÿg K€•РLÒ€ €€ РLÒ€¢` € € L’ 4SÔ¢\ÿP L€~РLù ½ <-Áah¯ŠÀ€€  M’ 4SÔ¢\ÿ; M€iРLÒ € €€ пüÒ&ôÔ LÖ €¢À €€Ð¿üÒ €¢`€€Ð¿üÒ €¢`€ € ]’ 4SÔ¢\ÿ ]€BРLÒ € €€Ð LÒ €¢`€€Ð LÒ €¢`€€ 'Ð’ 4SÔ¢\ÿö'Ѐ$пüÒ €¢`€€Ð¿üÒ HÔ LÿÃ:РH‘* ’“*` Ô¿ü–€˜âxÚ Là@ä`à# à`ä# ä` à# à`ä# à#  €°Çàè?ÿÿ‚c˜ã€ð' Dò' H-Ã!pÃ'¿ø-Å!pÅ'¿üQÐ#°‘* ’“*` Q”£Ü– Ö'¿ÜпÜÇÉ¿ø‹¡ #Ò¿ÜÍ`¡H&Ï'¿ðпÜÑ Ó¿ü•¢I(Ò¿Ü×` ™¢ˆ+Ù'¿ôQÛ#xQÝctŸ£I.ß'¿èQá#|Qãct¥¤ 1å'¿ìQÐ#°‘* ’“*` Q”£Ü– Ö'¿ÜпÜçé¿è«¥ 3Ò¿Üí`¯¥H6Ô Dï"€Ð¿Üñ ó¿ìµ¦I8Ò¿Ü÷` ¹¦ˆ;Ô Dù" Ð Dû¿ðý½§ˆ½ý"РDÿ¿ôÁ  ¿Á" QÃ#„QÅc€‡ I"Ç'¿àQÉ#ˆQËc€¡ %Í'¿äQÐ#°‘* ’“*` Q”£Ü– Ö'¿ÜпÜÏÑ¿à“¢ 'Ò¿ÜÕ`—¢H*Ô H×"€Ð¿ÜÙ Û¿ä£I,Ò¿Üß` ¡£ˆ/Ô Há" Ð Hã¿ð奤ˆ±å"РHç¿ôé ©¥³é" Çàè?ÿÿ‚cã€ð' Dò' HQÐ"€¢ €€QÐ"€¢ €€  ’ SÔ¢\ÿ* €¼ÿÕöÐ'¿üпü€€€ !,’ SÔ¢\ÿ!,€ªÐ¿ü’ Ò" @šÐ'¿øÐ¿üÒ¿øÒ" пø€€€ !,’ SÔ¢\ÿŽÿ!,€‘РH€€€À'¿ø€Ð H@£/Ð'¿øÐ¿ø @vÐ'¿ôпüÒ¿ôÒ" пô€€€ !,’ SÔ¢\ÿŽÛ!,€mРH€€€Ð¿üÐ Ò H@£QÐ#°‘* ’“*` Q”£Ü– Ö'¿øÐ¿øëÒ Dí@¯¥‰5Ô¿øñ ³¥È8Ö¿üØàó#пøõ Ò D÷`¹¦É:Ô¿øû  ½§=Ö¿üØàý# пü Ò¿ü’` ÿþÛпü’ (Q”£0  ( ¤ Ø€¿ÿþØ"@пü’ PQ”£t  $ ¤ Ø€¿ÿþØ"@пüÿÖ<QÐ#¸€€€ Ð'¿ø€À'¿øÐ¿ø€¢ €€Ð¿üÐ Ò Hÿ½èпüÐ @@пüÐ @<пü@9 €°Çàè?ÿÿ‚cã€ð' Dò' Hô' Lö' PQÐ"€€ €QÐ"€¢ €€  ’ ·SÔ¢\ÿŽO €‰Ð D€€ € ’ ·SÔ¢\ÿŽ@ €zРDÿÊxÐ'¿üпü€€€  ’ ·SÔ¢\ÿŽ- €gпüÿË€¢ €€Ð¿üÿË €€€  '’ ·SÔ¢\ÿŽ '€NРL€€€À'¿d€Ð L@¢DÐ'¿dпd€€€  e’ ·SÔ¢\ÿø e€2 @ }Ð'¿˜Ð¿˜€€€ !,’ ·SÔ¢\ÿå!,€Ð L€€€À'¿d€Ð L@¢Ð'¿dпd @ \Ð'¿œÐ¿œ€€€ !,’ ·SÔ¢\ÿÄ!,€þРL€€€Ð¿œÒ L@¡ùQÐ#°‘* ’“*` Q”£Ü– Ö'¿dпdÿÒ HÁ@ƒ  ?Ô¿dÅ ‡ H"Ö¿˜Ç"ÀпdÉ Ò HË`¡I$Ô¿dÏ  ‘¡ˆ'Ö¿˜Ñ"à¿ ’¿¨ÿýÉ¿°Q’c0˜ (˜£ Ô@ ¿ÿþÔ" ¿ØQ’ct˜ $˜£ Ô@ ¿ÿþÔ" ’¿˜”¿hпü@—{¿hÐ'¿”РPÐ'¿QÐ#°‘* ’“*` Q”£Ü– Ö'¿dпdÓ Ò¿”Õ@—¢ˆ©Ô¿dÙ€›¢É¬Ö¿Û"ÀпdÝ Ò¿”ß`¡£È®Ô¿dã ¥¤ ±Ö¿å"àп” Ð'¿”РP’ Ò'¿QÐ#°‘* ’“*` Q”£Ü– Ö'¿dпdç Ò¿”é@«¥³Ô¿d퀯¥I¶Ö¿ï"Àпdñ Ò¿”ó`µ¦H¸Ô¿d÷ ¹¦‰»Ö¿ù"àп” Ð'¿”РP’ Ò'¿QÐ#°‘* ’“*` Q”£Ü– Ö'¿dпdû Ò¿”ý@¿§ˆ½Ô¿dÁ€ƒ§É Ö¿Ã"ÀпdÅ Ò¿”Ç`‰ È¢Ô¿dË ¡ ¥Ö¿Í"àп” Ð'¿”РP’ Ò'¿QÐ#°‘* ’“*` Q”£Ü– Ö'¿dпdÏ Ò¿”Ñ@“¢§Ô¿dÕ€—¢IªÖ¿×"ÀпdÙ Ò¿”Û`£H¬Ô¿dß ¡£‰¯Ö¿á"àп” Ð'¿”РP’ Ò'¿QÐ#°‘* ’“*` Q”£Ü– Ö'¿dпdã Ò¿”å@§¤ˆ±Ô¿d逫¤É´Ö¿ë"Àпdí Ò¿”ï`±¥È¶Ô¿d󠵦 ¹Ö¿õ"àп˜@ ”пœ@ ‘ €°Çàè?ÿÿ‚c¸ã€ð' DРD‘* ’“*` Q”£¼– Ö'¿üпüÁ Ò¿üÃ@… ¡Ô¿üÇ Ö¿üÉà‹¡£¡I¢Ø¿üÍ# пüÏ Ò¿üÑ@“¡É(Ô¿üÕ —¢ˆ©Ö¿ü×"à$пüÙ Ò¿üÛ` £H¬Ô¿üß Ö¿üáࣤ¯¥¤I®Ø¿üå# (пüç Ò¿üé`(«¥ 3Ô¿üí ¯¥ˆµÖ¿üï"à,Çàè?ÿÿ‚c ã€ð' Dð' DРD€€€0QÐ#°‘* ’“*` Q”£ÌÖ SÖ#"@QÐ#°‘* ’“*` Q”£ÐÖ SÖ#"DQÐ#°‘* ’“*` Q”£ÔÖ SÖ#"HQÐ#°‘* ’“*` Q”£ØÖ SÖ#"L€-ñ!ìSñ"bH-ó!ìSó"b@-õ!ðSõ"bL-÷!ðS÷"bDS"@ÿÔÇàè?ÿÿ‚c ã€ð' Dò' HРDÒ HÔ@Ô" ,РDÒ HÔ`Ô" 0РDÒ HÔ`Ô" 4РDÒ HÔ` Ô" 8РD’ Ò" (РDÒ t€ €€ РDÒ p€¢`€€Ð D@EРDÒ t€ €€ РDÿäwРD’ Ò" x€ РDÒ €¢`€€Ð DÿóuÇàè?ÿÿ‚c ã€ð' Dò' HРDÒ HÔ`Ô" @РDÒ HÔ@Ô" <РDÒ HÔ` Ô" HРDÒ HÔ`Ô" DРD’ Ò" (РDÒ t€ €€ РDÒ p€¢`€€Ð D@РDÒ t€ €€ РDÿä3РD’ Ò" x€ РDÒ €¢`€€Ð Dÿó1Çàè?ÿÿ‚cˆã€QÀ"#°SÀ""<-ù!ôSù"b@-û!øSû"bD-ý!ôSý"bH-ÿ!øSÿ"bLÀ'¿üпü€¢ €€ пü“* S”¡¼Ö¿üÖ"@ пü Ð'¿ü¿ÿñ-Á!ôQÁ"c¼-Ã!øQÃ"cÀ-Å!ôQÅ"cÄ-Ç!øQÇ"cÈ-É!ôQÉ"cÌ-Ë!øQË"cÐ-Í!ôQÍ"cÔ-Ï!øQÏ"cØ-Ñ!ôQÑ"cà-Ó!øQÓ"cÜ-Õ!ôQÕ"cè-×!øQ×"cä-Ù!ôÙ'¿ì-Û!øÛ'¿ð-Ý!ôÝ'¿ô-ß!øß'¿ø Ð'¿üпü€¢ €€’¿ìпü@u’¿ìпü@Ò¿ü’"`пü” @пü Ð'¿ü¿ÿéÇàè?ÿÿ‚c ã€ð' DРDÀ" lРDÀ" pРD’ Ò" tРDÀ" xРDÀ" (РD-áaüá" LРD-ãbã" PРD-åaüå" TРD-çbç" XРD-éaüé" ,РD-ëbë" 0РD-íaüí" 4РD-ïbï" 8РD-ñaüñ" \РDÒ DÔ` Ô" `РD-óaüó" dРDÒ DÔ`$Ô" hРD-õaüõ" <РDÒ DÔ` Ô" @РD-÷aü÷" DРDÒ DÔ`$Ô" HРDÒ €¢`€€ Ò D’`LРDÿþÒ D’`\РDÿþÜÇàè?ÿÿ‚c˜ã€ð' Dò' HQÐ"€€€  ’ 6SÔ¢\ÿŠ· €ˆÐ D€¢ € €Ð D€¢ €€  2’ 6SÔ¢\ÿŠ¢ 2€sРHù Ò Hû@¯J¼€€Ð Hý Ò Hÿ`¯Ê¾€€  3’ 6SÔ¢\ÿŠƒ 3€TРD‘* ’“*` Q”£ÀÖ HØàØ" РD‘* ’“*` Q”£¼Ö HØÀØ" РD‘* ’“*` Q”£ÈÖ HØà Ø" РD‘* ’“*` Q”£ÄÖ HØàØ" РDÿý–QÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€ÿ¼þÿ¼¸ÿ»Ð DQÒc°€¢ €€SÐ"<ÿý¯ €°Çàè?ÿÿ‚c˜ã€ð' Dò' HQÐ"€€€  ’ 7SÔ¢\ÿŠ €õРD€¢ € €Ð D€¢ €€  2’ 7SÔ¢\ÿŠ 2€àРHÁ Ò HÃ@¨J €€Ð HÅ Ò HÇ`¨Ê¢€€  3’ 7SÔ¢\ÿ‰å 3€Á-É"Ò HÍ@‘ &ª Ä €X€-Õ"Ò HÙ@ ,«ŠÊ €L€Ð Hß ¡ /-åb¬ Ò €@€Ð Hç © 3-íb­ Ö €4€Ð Hï ± 7-õb® Ú €(€Ð H÷ ¹ ;-ýb¯ Þ €€Ð Hÿ  ?-Åb¨  €€Ð HÇ ‰ #-Íb© Æ €€  4’ 7SÔ¢\ÿ‰| 4€XРD‘* ’“*` Q”£ÐÖ HØàØ" РD‘* ’“*` Q”£ÌÖ HØÀØ" РD‘* ’“*` Q”£ØÖ HØà Ø" РD‘* ’“*` Q”£ÔÖ HØàØ" РDÿüРDQÒc°€¢ €€SÐ"<ÿüÀQÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€ ÿ»ëÿ»¥ÿº|S"@ÿ½0 €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lô' LQÐ"€€€  ’ 8SÔ¢\ÿ‰  €›Ð D€¢ € €Ð D€€€  2’ 8SÔ¢\ÿˆ÷ 2€†Ð L€€€Ð L€¢ €€ 'Ð’ 8SÔ¢\ÿˆâ'ЀqРDÒ H€¢ €€gÀ'¿üпü“* S”¡¼Ö@ Ø D€¢À €€ €Ð¿ü Ð'¿ü¿ÿðпü€¢ €€Ð¿ü“* S”¡¼Ö¿ü™*àSšaÀÞ Þ"@ пü Ð'¿ü¿ÿíРHSÐ"b8À'¿üпü“* S”¡¼Ö@ Ø H€¢À €€ €Ð¿ü Ð'¿ü¿ÿðРL€¢ €€Ð¿ü Ð'¿ü Ð'¿øÐ¿üÒ¿ø€¢ €€Ð¿ø“* S”¡¼Ö¿ø™*àSša¸Þ Þ"@ пø" Ð'¿ø¿ÿìпü“* S”¡¼Ö DÖ"@  €°Çàè?ÿÿ‚c˜ã€ð' DQÐ"€€€  ’ 9SÔ¢\ÿˆ\ €=РD€¢ € €Ð D€€€  2’ 9SÔ¢\ÿˆG 2€(РDQÐ"c°SÐ"<ÿû»QÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€ ÿºæÿº ÿ¹wS"@ÿ¼+ €°Çàè?ÿÿ‚c˜ã€ð' Dð' DQÐ"€€€  ’ :SÔ¢\ÿˆ  €6РD€€€Ð D€¢ €€ 'Ð’ :SÔ¢\ÿ‡ô'Ѐ!РDSÐ"b<РDÿûiQÐ#¸€€€ Ð'¿ü€À'¿üпü€¢ €€S"@ÿ»ß €°Çàè?ÿÿ‚c˜ã€ð' Dò' HQÐ"€€ €QÐ"€¢ €€  ’ ;SÔ¢\ÿ‡¶ €èРD€€ € ’ ;SÔ¢\ÿ‡§ €ÙРDÿÃßÐ'¿üпü€€€  ’ ;SÔ¢\ÿ‡” €ÆÐ¿üÿÄy€¢ €€  !’ ;SÔ¢\ÿ‡ƒ !€µÐ¿üÿÄh€¢ €€  $’ ;SÔ¢\ÿ‡r $€¤Ð HÏ Ò HÑ@ª §€€Ð HÓ Ò HÕ`ªŠ©€€  3’ ;SÔ¢\ÿ‡S 3€…-Ù"Ò HÝ@¡ .¬ Ì €X€-å" Ò Hé@­ 4­ŠÒ €L€Ð Hï ± 7-õb® Ú €@€Ð H÷ ¹ ;-ýb ¯ Þ €4€Ð Hÿ  ?-Åb¨  €(€Ð HÇ ‰ #-Íb © Æ €€Ð HÏ ‘ '-Õbª Ê €€Ð H× ™ +-Ýb « Î €€  5’ ;SÔ¢\ÿ†ê 5€Ð¿üÒ €¢`€€Ð¿üÒ Hÿú©Ð¿üÒ €¢`€€Ð¿ü’ GÔ Hÿ» €°Çàè?ÿÿ‚c˜ã€ð' Dò' HQÐ"€€ €QÐ"€¢ €€  ’ <SÔ¢\ÿ†± €äРD€€ € ’ <SÔ¢\ÿ†¢ €ÕРDÿÂÚÐ'¿üпü€€€  ’ <SÔ¢\ÿ† €ÂпüÿÃt€¢ €€  !’ <SÔ¢\ÿ†~ !€±Ð¿üÿÃc€¢ €€  $’ <SÔ¢\ÿ†m $€ Ð Hß Ò Há@¬ ¯€€Ð Hã Ò Hå`¬Š±€€  3’ <SÔ¢\ÿ†N 3€-é"(Ò Hí@± 6® Ô €T€Ð¿üó Ò Hõ@®Š¹ €I€Ð H÷ ¹ ;-ýb(¯ Þ €=€Ð¿üÿ Ò HÁ`¨ ¿ €2€Ð Hà … !-Éb(¨ŠÄ €&€Ð¿üË $Ò HÍ`©Š¥ €€Ð HÏ ‘ '-Õb(ª Ê €€Ð¿ü× $Ò HÙ` « « €€  6’ <SÔ¢\ÿ…é 6€Ð¿üÒ €¢`€€Ð¿üÒ HÿùìпüÒ €¢`€€Ð¿ü’ HÔ Hÿ¹ÿ €°Çàè?ÿÿ‚c ã€ð' DРDÒ (€ €€€&РD’ LÔ D– ,ØÀààØ"`Øàà"`àà Ø"`à"` РD’ \Ô D– <ØÀààØ"`Øàà"`àà Ø"`à"` РDÀ" (РD@•ðРDS’b@@œ€Çàè?ÿÿ‚c°ã€ð' Dò' HÀ'¿üпü€¢ €€dпü“* S”¡¼Ö@ Ø HÖ#РHÒ“*`” •* ’@ Q–ãܘ@ Ø'¿ôпôÛ Ò DÝ@Ÿ£ˆ­Ô¿ôဣ£É°Ö Hã"àпôå Ò Dç`©¤È²Ô¿ôë ­¥ µÖ Hí"àРHÒ“*`” •* ’@ Q–㼘@ Ø'¿øÐ Hï Ò¿øñ@­Ê¸€€%пøó Ò Hõ`®Š¹€€Ð¿ø÷ Ò Hù`¯ »€€Ð¿øû Ò Hý`¯Š½€€€Ð¿ü Ð'¿ü¿ÿšÐ¿ü€¢ €€%РHÀ"РHÒ“*`” •* ’@ Q–ãܘ@ Ø'¿ôпôÿ Ò DÁ@ƒ ¿Ô¿ôÅ€‡ I¢Ö HÇ"àпôÉ Ò DË`¡H¤Ô¿ôÏ ‘¡‰§Ö HÑ"à?ÿ€ €°Çàè?ÿÿ‚c¨ã€ð' Dò' Hô' Lö' PÀ'¿üпü€¢ €€®Ð¿ü“* S”¡¼Ö@ Ø LÖ#РLÒ“*`” •* ’@ Q–㼘@ Ø'¿ôРHÐ'¿ðРP’" Ò'¿ìÀ'¿øÐ¿ì Ð'¿ìРLÒ“*`” •* ’@ Q–ãܘ@ Ø'¿èпèÓ Ò¿ðÕ@—¢ˆ©Ô¿èÙ€›¢É¬Ö¿ìÛ"ÀпèÝ Ò¿ðß`¡£È®Ô¿èã ¥¤ ±Ö¿ìå"àпð Ð'¿ðпø Ð'¿øÐ¿øÒ D€¢ €€.пôçÒ¿ìé@­ ³€€#пôë Ò¿ìí`­Šµ€€Ð¿ôï Ò¿ìñ@® ·€€ пôó Ò¿ìõ`®Š¹¿ÿª€Ð¿øÒ D€¢ €€1пô÷Ò¿ìù@¯ »€€&пôû Ò¿ìý`¯Š½€€Ð¿ôÿ Ò¿ìÁ@¨ ¿€€Ð¿ôà ҿìÅ`¨Š¡€€ €Cпü Ð'¿ü¿ÿPпü€¢ €€5пì Ð'¿ìРLÒ“*`” •* ’@ Q–ãܘ@ Ø'¿èпèÇ Ò¿ðÉ@‹¡£Ô¿èÍ€¡I¦Ö¿ìÏ"ÀпèÑ Ò¿ðÓ`•¢H¨Ô¿è× ™¢‰«Ö¿ìÙ"àпð Ð'¿ðпø Ð'¿øÐ¿øÒ D€¢ ¿ÿրРLÀ"?ÿ€ €°Çàè?ÿÿ‚c ã€ð' Dò' HРDÒ €¢`€€€ Ô D”¦$Ò HРD@РD@”ÝÇàè?ÿÿ‚c¨ã€ð' Dò' Hô' LРD’ LÒ'¿üРHÛ Ò¿üÝ@«J®€%€Ð Hß Ò Há` ¬ ¯€€Ð¿üã Ò Hå@¬Š±€€Ð¿üç Ò Hé`­ ³€€Ð L-ëb0ë" РL-íb0í" РL-ïb0ï" -ñ"0Ò Lñ"@€ÌРHó Ò¿üõ`®Š¹€€/РH÷Ò¿üù@¯ »€€$РHû Ò¿üý` ¯Š½€€Ð Hÿ Ò¿üÁ`¨ ¿€€Ð LÒ HÔ@Ø`Ô" Ô`Ø" Ø` Ô" Ø" €”пüà ҠHÅ`¨Š¡€€/пüÇÒ HÉ@© £€€$пüË Ò HÍ` ©Š¥€€Ð¿üÏ Ò HÑ`ª §€€Ð LÒ¿üÔ@Ø`Ô" Ô`Ø" Ø` Ô" Ø" €\РHÓÒ¿üÕ@ªŠ© €€Ð¿üÒÒ'¿ø€Ð HÒÒ'¿øÐ LÒ¿øÒ"РH× Ò¿üÙ`« « €€Ð¿üÒ Ò'¿ô€Ð HÒ Ò'¿ôРLÒ¿ôÒ" РHÛ Ò¿üÝ`«Š­ €€Ð¿üÒ Ò'¿ð€Ð HÒ Ò'¿ðРLÒ¿ðÒ" РHß Ò¿üá` ¬ ¯ €€Ð¿üÒ Ò'¿ì€Ð HÒ Ò'¿ìРLÒ¿ìÒ" €Çàè?ÿÿ‚c`ã€ð' Dò' Hô' Lö' Pø' Tú' Xå Lç P§ Òç' Lú' XQÐ"€€€  ’ pSÔ¢\ÿ‚¹ €ÞРX€€€Ð X€¢ €€ 'Ð’ pSÔ¢\ÿ‚¤'ЀÉРX€€€c-é"4é'¿ìпìÐ'¿èQÐ#°‘* ’“*` Q”£Ü– Ö'¿ÌпÌëí¿è¯¥‰5Ò¿Ìñ`³¥È8ó'¿àпÌõ ÷¿ì¹¦É:Ò¿Ìû` ½§=ý'¿äQÐ#°‘* ’“*` Q”£Ü– Ö'¿ÌпÌÿÒ DÁ@ƒ  ?Ô¿ÌÅ ‡ H"Ç'¿øÐ¿ÌÉ Ò DË`¡I$Ô¿ÌÏ  ‘¡ˆ'Ñ'¿üQÐ#°‘* ’“*` Q”£Ü– Ö'¿ÌпÌÓÒ HÕ@—¢‰)Ô¿ÌÙ ›¢È,Û'¿ðпÌÝ Ò Hß`¡£É.Ô¿Ìã  ¥¤1å'¿ôç¿àé¿ð©¥³é'¿ðë¿äí¿ô­¥ˆµí'¿ô€¿øÒ DÔ@Ø`Ô" Ø" ¿ðÒ HÔ@Ø`Ô" Ø" ï L± 7ñ# `Р`ó# `Ò `@ëíÁ?¿Øó Lµ 9õ# `Р`÷# `Ò `@ìÁ?¿ÐРT÷¹ ;ý¿Ø§ ^ƒ ÀÒ \Ã"@РTʼn "ͿБ¡ F“ ÈÒ \Ó"`РTÕ ™ *ݿС£ N¡ °£ ÐÒ \ã"` РTå © 2í¿Ø±¥ V³ ØÒ \ó"`Р\õ ÷¿ü¹¦É:Ò \û@ý¿ø¿§‰=Á¿øÃ¿ð… !‡ ˆ¿‰ È¼Ô \É" Ð \Ë Í¿ø¡‰%Ñ¿üÓ¿ô•¢)—¢ˆ§Ò \Ù`Û¿ü£I,Ÿ¢È®Ô \ß"  €°Çàè?ÿÿ‚c`ã€ð' Dò' Hô' Lö' Pø' Tú' Xá P£ Ðã' PQÐ"€€€  ’ qSÔ¢\ÿ¾ €CР\€€€Ð \€¢ €€ 'Ð’ qSÔ¢\ÿ©'Ѐ.Р\€€€c-å"8å'¿ìпìÐ'¿èQÐ#°‘* ’“*` Q”£Ü– Ö'¿ÌпÌçé¿è«¥ 3Ò¿Ìí`¯¥H6ï'¿àпÌñ ó¿ìµ¦I8Ò¿Ì÷` ¹¦ˆ;ù'¿äQÐ#°‘* ’“*` Q”£Ü– Ö'¿ÌпÌûÒ Hý@¿§‰=Ô¿ÌÁ ƒ§È Ã'¿øÐ¿ÌÅ Ò HÇ`‰ É"Ô¿ÌË  ¡%Í'¿üQÐ#°‘* ’“*` Q”£Ü– Ö'¿ÌпÌÏÒ LÑ@“¢ 'Ô¿ÌÕ —¢H*×'¿ðпÌÙ Ò LÛ`£I,Ô¿Ìß  ¡£ˆ/á'¿ôã¿àå¿ð¥¤ˆ±å'¿ðç¿äé¿ô©¥³é'¿ô€¿øÒ HÔ@Ø`Ô" Ø" ¿ðÒ LÔ@Ø`Ô" Ø" ë P­ 5í# `Р`ï# `Ò `@êòÁ?¿Øï P± 7ñ# `Р`ó# `Ò `@ëÁ?¿ÐРXó µ ¹Ò D÷`¹¦É:½ <Á¿Ð…§‰@Ô XÉ€Ö DËÀ¡I$‘ &Õ¿Ø™¢ J£BŸ ÎØ `ß#РXá £ °Ò Då`§¤‰1© 3í¿Ð±¥ VÔ Dõ  Ö X÷À¹¦‰;½ <Á¿Ø…§‰@‰ ˆX‹ ÄØ `Ë# РXÍ Ò DÏ`‘¡É&• (ٿآ‰LÔ Xá€Ö DãÀ¥¤I0© 2í¿Ð±¥ Vµ¦N· ÚØ `÷# РXù Ò Dû`½§I< >ſ؉  BÔ DÍ  Ö XÏÀ‘¡‰'• (ٿТ‰L¡£ˆD£ ÐØ `ã# РXå Ò Dç`©¤É2­ 4ñ¿Ðµ¥‰XÔ Dù Ö XûÀ½§ = >ſ؉  BÍ¿øÏ¿ð‘¡ˆ'• (™¢ˆD£ÚØ Xá ã¿ü¥¤I0© 2í¿Ð±¥ Vµ£ˆXÚ Xù@û¿ø½§I< >ſ؉  B¦ˆÄ ÆÞ `Ï#àРXÑ Ò DÓ`•¢I(™ *ݿء£ NÔ Då Ö XçÀ©¤‰3­ 4ñ¿Ðµ¥‰Xù¿üû¿ô½§= >… Z‰ ˆPØ XÍÏ¿ø‘¡É&• (ٿТ‰L¡¡ÎÚ Xå`ç¿ü©¤É2­ 4ñ¿Øµ¥‰X¹¤Ú» ÜÞ `û#à €°Çàè?ÿÿ‚cã€ð' D¿ô@”¾¿ø@”¾’¿ø”¿ô @”¼Ð D@”ŒÐ'¿ü’¿ô ” @”³Ð¿ü€°Çàè?ÿÿ‚cã€ð' Dò' H¿ô@”Ÿ¿ø@”Ÿ’¿ø”¿ô @”РDÒ H@”oÐ'¿ü’¿ô ” @”“пü€°Çàè?ÿÿ‚c˜ã€ð' D¿ø@”€¿ü@”€’¿ü”¿ø @”~РD@”~’¿ø ” @”vÇàè?ÿÿ‚c˜ã€ð' Dò' Hò' HQÐ"€€ €QÐ"€¢ €€  ’ SÔ¢\ÿ€ €¡Ð D€€ € ’ SÔ¢\ÿö €’РDÿ¼.Ð'¿üпü€€€  ’ SÔ¢\ÿ㠀пüÿ¼È€¢ €€  !’ SÔ¢\ÿÒ !€nпüÿ¼·€¢ €€  #’ SÔ¢\ÿÁ #€]пüÿ¼¦€¢ €€  $’ SÔ¢\ÿ° $€LРH€€€Ð H€¢ €€ 'Ð’ SÔ¢\ÿ›'Ѐ7пüÒ €¢`€€Ð¿üÒ Hÿ®Ð H€¢ € €Ð¿üÒ x€ €€ €Ð¿üÒ €¢`€€Ð¿üÿæõпüÒ |€ €€Ð¿ü |РD’ ŸÀ@ €°Çàè?ÿÿ‚cÀã€ð' D-Á#Å D‰ ¡ À &ƒ '€Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LÀ7¿þ¿ü’ ” Ö D@“пýÒ¿ü•*`–€Ö7¿þпþ ” Ö HÔ"Àпþ?ÿß’cÿ” Ö LÔ"ÀÇàè?ÿÿ‚c˜ã€ð' DРDÒ ’"`Ò" РDÒ $€ €€>РDÒ •2`”€ ”* ’"@ € €€Ð DÐ ’ ” @“nРDÐ ’¿øÔ D”  ÿÿ¼Ð DÒ € €€Ð¿ø€€€ -’cˆ-”£°– _@“ @’úРDÒ € ¿ÿ݀РDÒ DÔ` Ô" $¿ÿÒ DÖ`’ ” @“9РDÒ $’"`Ò" $пÿ€°Çàè?ÿÿ‚cˆã€ð' D Ð'¿ø¿þÐ'¿ôпøÐ'¿ðпø" Ð'¿øÐ¿ðÐ'¿ìп쀀€ РDÿÿŽÒ¿ôÐ*@пô Ð'¿ô¿ÿëпÿÒ¿þ•*`–€™*à™3  €‹ €€Ð¿ÿÒ¿þ•*`–€™*à™3 š?ÿž`!? #ÿ¢ ¥,`¥4 ¦ æ'¿ø€ пÿÒ¿þ•*`–€™*à™3 Ø'¿øÐ¿ø€°Çàè?ÿÿ‚cˆã€ð' D Ð'¿ø¿þÐ'¿ôпøÐ'¿ðпø" Ð'¿øÐ¿ðÐ'¿ìп쀀€ РDÿÿEÒ¿ôÐ*@пô Ð'¿ô¿ÿëпÿÒ¿þ•*`€‘* ‘2 €°Çàè?ÿÿ‚cxã€ð' Dò' Hô' LРLÐ'¿øÐ L" Ð' LпøÐ'¿üпüÐ'¿ôпô€€€m Ð'¿ì¿ñÐ'¿èпìÐ'¿äпì" Ð'¿ìпäÐ'¿àÐ¿à€€€ РDÿÿ Ò¿èÐ*@пè Ð'¿è¿ÿëпñÐ# `Ï `‘ -Õcª J€-Õc‘¢J-Ù£¢ Ì-áã-å# ©¤‰Ð­¥N¯ ÖÚ Hï#`пòÐ# `ñ `µ -ùc®Š\€-ùcµ¦ˆ\-ý£¦‰Þ-Åã-É# ¡ ‘¡ˆ@“ ÈÚ HÓ#`пóÐ# `Õ `™  -Ýc« N€-Ýc™£N-ᣥ£ Ð-éã-í# ±¥‰Ôµ¦R· ÚÚ H÷#` РH Ð' H¿ÿˆÇàè?ÿÿ‚c€ã€ð' Dò' Hô' LРDÿþ¨Ð'¿üпü€¢ ÿ€€?РLÀ"РDÿÿAÐ'¿ôпô ” Ô'¿øÐ¿ô?ÿß’cÿ” Ô'¿üпüÐ'¿ðРHÐ'¿ìпðÐ'¿èпð" Ð'¿ðпèÐ'¿äп䀀€ РDÿþ~Ò¿ìÐ*@пì Ð'¿ì¿ÿëРLÒ¿üÔ”€ Ô"пüÒ H’@Ò' HРHÀ*пø€¿ÿË€€#пüÐ'¿øÐ HÐ'¿ôпøÐ'¿ðпø" Ð'¿øÐ¿ðÐ'¿ìп쀀€ РDÿþPÒ¿ôÐ*@пô Ð'¿ô¿ÿëРHÒ¿üÀ* РLÒ¿üÒ"Çàè?ÿÿ‚cã€ð' Dò' Hô' LРLÐ'¿øÐ L" Ð' LпøÐ'¿üпüÐ'¿ôпô€€€Ð Dÿþ…ÿýù¹ ÀРHù"РDÿþ}ÿýñ» ÀРHû" РH Ð' H¿ÿÞÇàè?ÿÿ‚c ã€ð' Dò' HРHÒ H”`Ô" РHÒ Ð DÔ HÿÿWÇàè?ÿÿ‚cã€ð' Dò' H’¿øÐ D” ÿÿ»’¿ðРD” ÿÿ¶Ð HÒ¿øÒ"РHÒ¿üÒ" РHÒ¿ðÒ" РHÒ¿ôÒ" Çàè?ÿÿ‚c ã€ð' Dò' HРDÒ •:`•2 ’€ “:`Ö HÒ"ÀРHÒ H”`Ô" РHÒ Ô HԀРDÿÿÇàè?ÿÿ‚cã€ð' Dò' Hô' LРLÐ'¿øÐ L" Ð' LпøÐ'¿üпüÐ'¿ôпô€€€Ð HÐ'¿ðРH Ð' HРDÿý°Ò¿ðÐ"@¿ÿçРL“2 ’@’*`" €€€Ð DÿýŸÇàè?ÿÿ‚c€ã€ð' D Ð'¿ô¿þÐ'¿ðпôÐ'¿ìпô" Ð'¿ôпìÐ'¿èп耀€ РDÿý…Ò¿ðÐ*@пð Ð'¿ð¿ÿëпÿÒ¿þ•*`–€Ö7¿ü Ð'¿ô¿þÐ'¿ðпôÐ'¿ìпô" Ð'¿ôпìÐ'¿èп耀€ РDÿýeÒ¿ðÐ*@пð Ð'¿ð¿ÿëпÿÒ¿þ•*`–€Ö7¿úпü €Š €€Ð¿ü’?ÿ”`?–ãÿ˜ À ›+ ›3`ž Þ'¿ô€Ð¿üÐ'¿ôпúÐ# `ý ` -Åc(¨ B€-Åc0 B-É£8  Ä-Ñã8-Õ#@™¢‰È£FÁ¿ô¡ -åc(¬ R€-åc0¡¤R¤N€Çàè?ÿÿ‚cã€ð' Dò' HРDç \Ò Dé`\«¥ 3Ô Dí XÖ DïàX±¥É6³¦5µ 9õ# `Р`÷# `Ò `@ï;Ø D÷ h¹ ;½§ Àý?¿øÐ Dÿ X ?Å¿ø‰  B‹ ÄÒ DË"`XРDÍ \‘ &Õ¿ø™¢ J› ÌÒ DÛ"`\РDÝ `¡ .å¿ø©¤ R« ÔÒ Dë"``РDí d± 6õ¿ø¹¦ Z» ÜÒ Dû"`dРD’ XÔ HØ@à`Ø" à" Ð H’ Ô D– `ØÀààØ"`à"`Çàè?ÿÿ‚cHã€ð' Dò' Hô' Lô' LРHÐ'¿üРDÒ 0€¢`€€+РL€€€ РD’ 8Ò" РD’ Ò" €Ð DÒ l”`Ô'¿øÐ DÒ¿øÒ" lпüÒ¿øÒ"РDÒ¿ü” ÿýsРDÒ €¢`€€Ð DÀ" 0 €SРDÀ" 0€«Ð L€€€Ð D’?þÒ" РDÀ" €?РL€€€ РDÀ" РDÀ" РD’ Ò" €0РL€€€ РD’ Ò" РD’ Ò" €Ð¿üÀ"€Ð L€€€Ð D’?þÒ" РDÀ" €Ð L€€€Ð D’?þÒ" РDÀ" €Ð L€€€ РD’?þÒ" РD’ Ò" €Ð Dÿü—Ò¿üÐ"@пüÒ€¢`€€Ð¿üÖ-’c¸ -”£H˜ @q-#à’`@°€×РL€€€Ð D’?þÒ" РDÀ" €ÊРL€€€Ð D’?þÒ" РDÀ" €½Ð L€€€ РD’?þÒ" РD’ Ò" €Ð DÿüPÒ¿üÐ"@пüÒ€ €€Ð¿üÖ-’cü -”£H˜ @* £€˜€“РL€€€ РD’ GÒ" РD’ Ò" €Ð DÒ¿üÿýǀРL€€€ РD’ =Ò" РD’ Ò" €Ð DÒ¿üÿý³Ð D’ @Ô¿üØ€à Ø"`Ø à"`à  Ø"`à"` €`РL€€€ РD’ 8Ò" РD’ Ò" € пüÀ"РDÒ¿ü” ÿüb€IРL€€€ РD’?þÒ" РD’ Ò" €Ð DÿûÜÒ¿üÐ"@пüÒ€¢`€€Ð¿üÖ.’`( -”£H˜ @޶ £€$€Ð L€€€ РD’ =Ò" РD’ Ò" €+РDÿû²Ò¿üÐ"@пüÒ€ €€Ð D’ @Ô¿üØ@à`Ø" Ø`à" à` Ø" à"  €-ý#XÒ¿üý"@пü-ÿcXÿ" пü-Ác\Á" пü-Ãc\Ã" €æÐ L€€€Ð D’ Ò" РDÒ DÔ`—: —2à”À •: ™* š Ú" €Ð DÒ¿üÿý0€ËРL€€€Ð D’ Ò" РDÒ DÔ`—: —2à”À •: ™* š Ú" €Ð DÒ¿üÿý€°Ð L€€€Ð D’ Ò" РDÒ DÔ`—: —2à”À •: ™* š Ú" €Ð DÒ¿üÿüú€•РL€€€ РD’ Ò" РDÒ DÔ`– Ö" €Ð DÒ¿ü” ÿü‰Ð Dÿû!пüÒ¿ü”`Ô" пüÒ Ô¿ü” Ð Dÿü €pРL€€€ РD’ Ò" РDÒ DÔ`—* ˜à$Ø" €xРDÒ¿ü” ÿücÒ¿ü’`РD” ÿü]Ò¿ü’`РD” ÿüWРDÿúïÒ¿üÐ"`РDÿúêÒ¿üÐ"`РDÿúåÐ'¿øÐ¿ø€€€Ð¿ø€¢ €€ .’`T-”£HÖ¿ø˜ @¼ ¥€*РDÿúÈÐ'¿ôпô€¢ €€ .’`€-”£HÖ¿ô˜ @¥ ¥€Ð¿ü’ $Ò'¿èпüÒ¿èÒ" пèÐ'¿ðпüÐ Ò¿üÒ`@©•* Ö¿ð˜À Ø'¿ìпðҿ쀢 €€Ð¿üÔ Ò¿ðРDÿünпüÒ •*`Ö¿ð–À Ö'¿ð¿ÿí€çРL€€€ РD’ Ò" РD’ Ò" €Ð DÿúzÒ¿üÐ"@€ÒРL€€€ РD’ Ò" РD’ Ò" €Ð DÿúeÒ¿üÐ"@€½Ð L€€€ РD’ Ò" РD’ Ò" €Ð DÿüY… ÀпüÅ"€§Ð L€€€ РD’ Ò" РD’ Ò" €Ð DÿùÞÒ¿üÐ"@€’РL€€€ РD’ Ò" РD’ Ò" €Ð Dÿú%Ò¿üÐ"@€}РL€€€ РD’ Ò" РD’ Ò" €Ð DÿúÒ¿üÐ"@€hРL€€€ РD’ Ò" РD’ Ò" €Ð Dÿü‡ ÀпüÇ"€RРL€€€ РD’ Ò" РD’ Ò" €Ð Dÿù‰Ò¿üÐ"@€=РL€€€ РD’ Ò" РD’ Ò" €Ð DÿùÐÒ¿üÐ"@€(РL€€€ РD’ Ò" РD’ Ò" €Ð Dÿù»Ò¿üÐ"@РDÒ¿üÔ@Ô" PпüÒ DÔ`TÔ" € РL€€€ РD’ Ò" РD’ Ò" €Ð DÿùžÒ¿üÐ"`РDÒ¿üÔ`Ô" TРDÒ PÔ¿üÒ"€€îРL€€€ РD’ Ò" РD’ Ò" €Ð DÿûЉ ÀпüÉ"€ØÐ L€€€ РD’ Ò" РD’ Ò" €Ð Dÿût‹ ÀпüË"€ÂРL€€€ РD’ !Ò" РD’ Ò" €Ð DÿøùÒ¿üÐ"@€­Ð L€€€ РD’ "Ò" РD’ Ò" €Ð Dÿù@ÿø´ ÀРDÍ" hРDÒ¿üÿû¿€‘РL€€€ РD’ "Ò" РD’ Ò" €&РDÿù$ÿø˜ ÀРDÏ" XРDÿùÿø‘ ÀРDÑ" \РDÿùÿøˆ“ ÀРDÓ" `РDÿù ÿø€• ÀРDÕ" dРDÒ¿üÿû‹€]РL€€€ РD’ #Ò" РD’ Ò" €Ð DÿøðÒ¿üÐ"@€HРL€€€ РD’ $Ò" РD’ Ò" €%РDÿøÛÒ¿üÐ"@РDÿøÖÒ¿üÐ"`пüÒ€¢`€ €Ð¿üÒ €¢`€€  .’`°-”£H@‹¬ ¥€€Ð L€€€Ð D’?þÒ" РDÀ" €Ð L€€€ РD’ %Ò" РD’ Ò" €Ð Dÿø›Ò¿üÐ"@€óРL€€€ РD’ &Ò" РD’ Ò" €Ð Dÿø†Ò¿üÐ"@€ÞРL€€€ РD’ (Ò" РD’ Ò" €Ð DÿøÒ¿üÐ"@€ÉРL€€€ РD’ 'Ò" РD’ Ò" €Ð Dÿø\Ò¿üÐ"@€´Ð L€€€ РD’ *Ò" РD’ Ò" €Ð DÒ¿ü” ÿùª€ŸÐ L€€€Ð D’?þÒ" РDÀ" €’РL€€€ РD’ )Ò" РD’ Ò" €"РDÿø%ÿ÷™— Àпü×" РDÿøÿ÷‘™ ÀпüÙ" РDÿøÿ÷‰› ÀпüÛ"РDÿø ÿ÷ ÀпüÝ" €bРL€€€ РD’ 8Ò" РD’ Ò" €Ð Dÿ÷™Ò DÐ"`lРDÒ lÔ¿üÒ"€Ð DÒ¿ü” ÿø]РDÒ €¢`€€Ð D’ Ò" 0€:РL€€€ РD’ +Ò" РD’ 8Ò" €IÀ'¿øÐ¿ø€¢  €€ ¿°Ò¿ø•*`À" пø Ð'¿ø¿ÿóРDÒ € €€Ð Dÿ÷¶Ð'¿øÐ Dÿ÷²’¿°Ô¿ø—* Ð"@ ¿ÿîÀ'¿øÐ¿ø€¢  €€¿°Ò¿ø•*`Ö € €€ Ð'¿¬€À'¿¬Ð¿ø“* -”¢´Ö@ ™*àÚ¿üÞ¿¬Þ#@ пø Ð'¿ø¿ÿà€ãРL€€€Ð D’?þÒ" РDÀ" €ÖРL€€€ РD’ Ò" РDÒ DÔ`–  Ö" €Ð DÒ¿üÿø÷€ÀРL€€€ РD’?ÿÒ" РDÒ DÔ`Ô" €Ð DØ 8Ò DÖ`4.’`è -”£H@Š7€£Ð DÐ <" €¢#€¿ÿß–” x“2 – —*à’@ ’@’ `?™*`Ö €¢À€ €¢ÿÿ¿ÿИ ˜ !øÖ €¢À€¿ÿ÷˜ Ð ÂAPA„AÀBB<ŽOÌP<Q ‘Q`’R,€BpC$“R,”R`•R´–S—S\˜S\žS°ŸTŠCXCŒ T8¡Tø¢U˜D4EVô€W(ÿÿÿÿW€€E\ÿÿÿÿW€ÿÿÿÿW€ÿÿÿÿW€„D„…FÿÿÿÿW€ÿÿÿÿW€ÿÿÿÿW€ÿÿÿÿW€FèÿÿÿÿW€GTH,ÿÿÿÿW€ÿÿÿÿW€GÀÿÿÿÿW€HÀÿÿÿÿW€€JäK8‚KŒƒKä„L8…LŒ†Là‡M8ˆMŒ‰MàŠNT‹NÈŒO Ox €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lö' P¿þ’ ” Ö D@‰À€¢ €€ €Ð¿ÿÒ¿þ•*`–€Ö7¿üпü“2 ” `Ö HÔ"Àпü“2 ” `Ö LÔ"Àпü’ Ô PÒ"€ €°Çàè?ÿÿ‚cˆã€ð' DРDÒ € €€ €¶Ð DÒ 0€¢`€€ €¬Ð DÐ Ò DÒ`,” @‰ƒÐ DÐ Ò D’`4Ô D” 8–¿üÿÿ¬€€ €Ð D’#èÒ"  €‘РDÒ 8Ô DÖ 4™*àš Þ DÚ#à<пü€¢ €€<À'¿ôРDÐ @‰bÐ'¿ðРDÐ ’¿ø”¿ìÿõªÐ¿ìÒ¿ô’@Ò'¿ôРDÐ Ò¿ì•2`”€ ”* ’"@ Ö¿ì’À ” @‰Eпø€¿ÿè€Ð DÒ¿ôÒ" РDÐ @‰>Ò DÐ"`,РDÐ Ò¿ð” @‰0РDÐ ’¿øÔ D”  ÿõ~€Ð¿üÐ'¿øÐ DÒ¿øÒ" РDÒ¿øÒ" РDÐ @‰!Ò¿ü” Ö¿ü˜ àš€ Þ DÚ#à,РDÒ DÔ`Ô" РDÒ DÔ` Ô" $РD’ ” ÿø¬€Ð DS’bh” ÿø¤€Ð DØ 8Ò DÖ`4.’a -”£`@ˆ¯€ €Ð DÐ €¢?þ¿ÿ䀢?ÿ¿ÿé¿ÿõ¿ÿX°Çàè?ÿÿ‚cã€ð' Dò' H€  .’a@-”£h@ˆŒ €] pÿóöÐ'¿øÐ DÒ¿øÒ"пø€€€ €MРDÒÒ'¿üРH.’a|@ˆkÐ'¿ôпüÒ¿ôÒ" пô€€€Ð D@; €5пü’ Ò"пüÀ" пüÀ" 0пüÀ" пü’?ÿÒ" пü’?ÿÒ" пü’ Ò" Pпü’ Ò" T-á#x£ ÐÒ¿üã"`hпü-åc€å" Xпü-çc„ç" \пü-éc„é" `пü-ëc€ë" dпüÐ @ˆ{Ò¿üÐ"`, €°Çàè?ÿÿ‚c˜ã€ð' D Ð'¿üРD€€€8РDÒ€ €€1РDÒÔ`€ €€#РDÒÔ`ÖR €Šà €€ Ð'¿ø€À'¿øÐ DÒÐ`@ˆH€¢?ÿ€” €” Ö¿ø€ŠÀ €€À'¿üРDÐÿó™Ð DÀ"пü€°Çàè?ÿÿ‚c˜ã€ð' DРDÒÒ'¿üпüÒ ÔR`€Š €€Ð¿ü’ Ò" пü’?ÿÒ" пü’?ÿÒ"  €Ð¿üÿþg€€€Ð¿ü’ Ò" пü’?ÿÒ" пü’?ÿÒ" #è€Ð¿üÀ"  €°Çàè?ÿÿ‚c˜ã€ð' Dò' HРDÒÒ'¿üРH€€€DпüÒ H” ÿ÷€Ò¿üÐ"`пüÒ ÔR`€Š €€Ð¿ü’ Ò"  ¢’ mSÔ¢\ÿsk ¢€,пüÒ €¢`£€ €Ð¿üÒ €¢c耀  £’ mSÔ¢\ÿsT £€Ð¿üÒ €¢`¥€€  ¥’ mSÔ¢\ÿsD ¥€ €°Çàè?ÿÿ‚cˆã€ð' Dò' Hô' LРH€€€Í.Ð!ÀS’bh”" Ô'¿ô.Ð#”€€F€Ð¿ô€¢ €’ €’ .Ò"¡È.Ð!È€€€ Ð'¿ì€Ð¿ôÐ'¿ì.Ð#˜“* .Ô£œ—*  ˜À Ú¿ìž Þ7¿òпò“2 ” `ÿÔ/¿ðпò’ ÿÒ/¿ñÀ'¿üпüÒ H€¢ €€¿ðÒ¿ü•*`Ö DØÀ Ö ’ ” @‡Qпü Ð'¿ü¿ÿì .Ð"c”.Ð!È€€€0РL€€€ Ò¿ô” Ô'¿ì€Ð¿ôÐ'¿ìпìÐ7¿òпò“2 ” `ÿÔ/¿êпò’ ÿÒ/¿ëÀ'¿üпüÒ H€¢ €€¿êÒ¿ü•*`Ö DØÀ Ö ’ ” @‡Ð¿ü Ð'¿ü¿ÿìпô“2 ’@’*`" Ð'¿øÐ¿ø€€€Ð L€€€ .’c .”£È– ß@†« @†–.Ð!ÀÀ*À'¿üпüÒ H€¢ €€Ô¿ôпø”€Ò¿ü—*`Ø DÚ Ö`’ S"h@†Þпü Ð'¿ü¿ÿéS"h.Ð"aÀРL€€€.À"#”Çàè?ÿÿ‚cˆã€ð' Dò' Hô' Lö' PРPÐ'¿øÐ P" Ð' PпøÐ'¿üпüÐ'¿ôпô€€€".Ð!ÀÐ'¿ðпð’ .Ò"¡ÀРLÐ'¿ìРL Ð' LпðÒ¿ìÔ @Ô*.Ð!À.ÒaÄ€¢ €€Ð DÒ H” ÿþõ¿ÿÓÇàè?ÿÿ‚cˆã€ð' Dò' Hô' Lö' PРLÐ'¿üРP€€€ .’cÐ.”£ø–!(@†- @†Ð PÐ'¿ôРP" Ð' PпôÐ'¿øÐ¿øÐ'¿ðÐ¿ð€€€Ð¿üÒÒ7¿îпü Ð'¿üпî“2 ” `ÿÔ/¿ìÐ¿î’ ÿÒ/¿í”¿ìÒ HРD– ÿÿ¿ÿÞÇàè?ÿÿ‚cˆã€ð' Dò' Hô' Lö' PРLÐ'¿üРP€€€ /’`/” (–!C@…ì @…×РPÐ'¿ôРP" Ð' PпôÐ'¿øÐ¿øÐ'¿ðÐ¿ð€€€Ð¿üÒÒ7¿îпü Ð'¿üпî“2 ” `ÿÔ/¿ìÐ¿î’ ÿÒ/¿í”¿ìÒ HРD– ÿÿL¿ÿÞÇàè?ÿÿ‚cˆã€ð' Dò' Hô' Lö' PРLÐ'¿üРP€€€ /’`0/” X–!q@…« @…–РPÐ'¿ôРP" Ð' PпôÐ'¿øÐ¿øÐ'¿ðÐ¿ð€€€Ð¿üÒÒ7¿îпü Ð'¿üпî“2 ” `ÿÔ/¿ìÐ¿î’ ÿÒ/¿í”¿ìÒ HРD– ÿÿ ¿ÿÞÇàè?ÿÿ‚cã€ð' Dò' Hô' LРL@…Ð'¿üпü€¢ þ€€".Ð!ÀÐ'¿øÐ¿ø’ .Ò"¡ÀпøÒ¿üÒ*.Ð!À.ÒaÄ€¢ €€Ð DÒ H” ÿþРDÒ HÔ LÖ¿üÿþÙ€Z.Ð!ÀÐ'¿ôпô’ .Ò"¡Àпô’ ÿÒ*.Ð!À.ÒaÄ€¢ €€Ð DÒ H” ÿýæÐ¿ü€€€<#ÿÒ¿ü€¢ €€#ÿÐ'¿ô€Ð¿üÐ'¿ôпôÐ'¿øÐ¿øÒ¿ü’"@Ò'¿üпü€€€ Ò¿ø’@Ò'¿øÐ¿úÐ7¿òпò“2 ” `ÿÔ/¿ðпò’ ÿÒ/¿ñ”¿ðÒ HРD– ÿþ‹Ð DÒ HÔ LÖ¿øÿþ…пøÒ L’@Ò' L¿ÿÂÇàè?ÿÿ‚cXã€ð' Dò' Hô' Lö' PРLÐ'¿üРP€€€ /’``/” ˆ–!Ì@„à @„ËРPÐ'¿ôРP" Ð' PпôÐ'¿øÐ¿øÐ'¿ðÐ¿ð€€€«Ð DÐ'¿ìРHÐ'¿èпüÁ…  Å?¿àпü Ð'¿ü.É!ÐÍ¿à©ŠÄ €€ .Ñ!ØÕ¿à™¢ˆHÙ?¿Ð€Ð¿àÐ?¿ÐݿП Nß# `Р`‘* ‘: Ð7¿ÞпÞ?’cÿ” @Ô7¿ÎÐW¿ÞÐ# `á `¥ é¿à­¥Ò.ña൥‰Xõ# dРd÷# dÒ d@„æ?”£ÿ€¢€ €€?#ÿÐ'¿È€ÐW¿ÞÐ# `÷ `¹ ý¿à§ˆÜ.Åaà‰  BÉ# dРdË# dÒ d@„ËÐ'¿ÈпÈÐ7¿ÌпΓ2 ” `ÿÔ/¿ÆÐ¿Î’ ÿÒ/¿Ç”¿ÆÒ¿èÐ¿ì– ÿýïп̓2 ” `ÿÔ/¿ÆÐ¿Ì’ ÿÒ/¿Ç”¿ÆÒ¿èÐ¿ì– ÿýâÐW¿ÞÐ# `Ë ` Ñ¿à•¢Æ.ÙaЪŠÌ€€ /’`/” ¸–!Ï@„E @„0ÐW¿ÞÐ# `Û `  á¿à¥¤Î.éa謊Ô€€ /’`À/” è–!Ï@„* @„¿ÿJÇàè?ÿÿ‚cXã€ð' Dò' Hô' Lö' PРLÐ'¿üРPÐ'¿ôРP" Ð' PпôÐ'¿øÐ¿øÐ'¿ðÐ¿ð€€€Ð¿üÒÒ'¿ìпü Ð'¿ü.ë!ðí¿ì­Šµ €€c.ï!ðñ¿ì® · €€ó¿ìµ ¹õ'¿à€Ð¿ìÐ'¿à.ù!ø.ýbÿ¿à§É>…  ‰ ˆ\‹ DË# `Ô `€ €€".Í!ðÏ¿ì©Ê¦ €€Ñ¿ì“ ¨Ó'¿Ø€Ð¿ìÐ'¿Ø.Õ!ø.ÙbÛ¿Ø£I,¡ .¥¤J§ Rç# `Ô `– Ö'¿Ü€.é!ðë¿ì­J´ €€í¿ì¯ ¶ï'¿Ô€Ð¿ìÐ'¿Ô.ñ!ø.õb÷¿Ô¹¦É:½ <§ˆXƒ @Ã'¿Üпܒ Ò'¿ä€`.Å!ðÇ¿ì¨Ê¢ €€É¿ì‹ ¤Ë'¿Ð€Ð¿ìÐ'¿Ð.Í!ø.ÑbӿЕ¢I(™ *£FŸ Nß# `Ô `€ €€".á!ðã¿ì¬J° €€å¿ì§ ²ç'¿È€Ð¿ìÐ'¿È.é!ø.íbï¿È±¥É6µ 8¹¦ˆT» \û# `Ô `– Ö'¿Ì€.ý!ðÿ¿ì¯Ê¾ €€Á¿ìƒ  Ã'¿Ä€Ð¿ìÐ'¿Ä.Å!ø.Éb˿ġI$‘ &•¢B— J×'¿ÌпÌÐ'¿äпäÐ'¿è.Ù"Û¿ì«J¬€€ /’`ð/”¡–!î@ƒ' @ƒ.Ý"ß¿ì«Ê®€€ /’a /”¡H–!î@ƒ @‚ü€ /’aP/”¡x–!î@ƒ @‚îпèÐ7¿Âп“2 ” `ÿÔ/¿Àп’ ÿÒ/¿Á”¿ÀÒ HРD– ÿüv¿þ×Çàè?ÿÿ‚cXã€ð' Dò' Hô' Lö' PРLÐ'¿üРPÐ'¿ôРP" Ð' PпôÐ'¿øÐ¿øÐ'¿ðÐ¿ð€€€[пüÐ'¿ìпü Ð'¿ü.á" Ò¿ìã@¬J° €€l.å" Ò¿ìç@¬Ê² €€Ð¿ìé« ´ë'¿à€Ð¿ìÒÒ'¿à.í".ñbó¿àµ¦I8¹ :½§V¿ ^ÿ# `Ô `€ €€%.Á" Ò¿ìÃ@¨J  €€Ð¿ìŇ ¢Ç'¿Ø€Ð¿ìÒÒ'¿Ø.É".ÍbϿؑ¡É&• (™¢ˆD› LÛ# `Ô `– Ö'¿Ü€ .Ý" Ò¿ìß@«Ê® €€Ð¿ìᣠ°ã'¿Ô€Ð¿ìÒÒ'¿Ô.å".ébë¿Ô­¥I4± 6µ¦R· Z÷'¿Üпܒ Ò'¿ä€i.ù" Ò¿ìû@¯J¼ €€Ð¿ìý¿ ¾ÿ'¿Ð€Ð¿ìÒÒ'¿Ð.Á".ÅbǿЉ É" $‘¡ˆ@“ HÓ# `Ô `€ €€%.Õ" Ò¿ì×@ªÊª €€Ð¿ìÙ› ¬Û'¿È€Ð¿ìÒÒ'¿È.Ý".ábã¿È¥¤I0© 2­¥N¯ Vï# `Ô `– Ö'¿Ì€ .ñ" Ò¿ìó@®J¸ €€Ð¿ìõ· º÷'¿Ä€Ð¿ìÒÒ'¿Ä.ù".ýbÿ¿Ä§É>…  ‰ ˆ\‹ DË'¿ÌпÌÐ'¿äпäÐ'¿è.Í"Ò¿ìÏ@©Ê¦€€ /’a€/”¡¨–" @Þ @É.Ñ" Ò¿ìÓ@ªJ¨€€ /’a°/”¡Ø–" @Ç @²€ /’aà/”¢–" @¹ @¤Ð¿èÐ7¿Âп“2 ” `ÿÔ/¿Àп’ ÿÒ/¿Á”¿ÀÒ HРD– ÿû,.Õ" Ò¿ì×`ªÊª €€l.Ù" Ò¿ìÛ`«J¬ €€Ð¿ìÝ Ÿ ®ß'¿à€Ð¿ìÒ Ò'¿à.á".åbç¿à©¤É2­ 4±¥ˆP³ Xó# `Ô `€ €€%.õ" Ò¿ì÷`®Êº €€Ð¿ìù » ¼û'¿Ø€Ð¿ìÒ Ò'¿Ø.ý".Ábÿ؅ I ‰ "¡^ FÏ# `Ô `– Ö'¿Ü€ .Ñ" Ò¿ìÓ`ªJ¨ €€Ð¿ìÕ — ª×'¿Ô€Ð¿ìÒ Ò'¿Ô.Ù".Ýb߿ԡ£É.¥ 0©¤ˆL« Të'¿Üпܒ Ò'¿ä€i.í" Ò¿ìï`­Ê¶ €€Ð¿ìñ ³ ¸ó'¿Ð€Ð¿ìÒ Ò'¿Ð.õ".ùbû¿Ð½§I< >… Z‡ BÇ# `Ô `€ €€%.É" Ò¿ìË`©J¤ €€Ð¿ìÍ  ¦Ï'¿È€Ð¿ìÒ Ò'¿È.Ñ".Õb׿ș¢É* ,¡£ˆH£ Pã# `Ô `– Ö'¿Ì€ .å" Ò¿ìç`¬Ê² €€Ð¿ìé « ´ë'¿Ä€Ð¿ìÒ Ò'¿Ä.í".ñbó¿Äµ¦I8¹ :½§V¿ ^ÿ'¿ÌпÌÐ'¿äпäÐ'¿è.Á"Ò¿ìÃ`¨J €€ /’b/”¢8–" @€µ @€ .Å" Ò¿ìÇ`¨Ê¢€€ /’b@/”¢h–" @€ž @€‰€ /’bp/”¢˜–" @€ @€{пèÐ7¿Âп“2 ” `ÿÔ/¿Àп’ ÿÒ/¿Á”¿ÀÒ HРD– ÿú¿ýšÇàè?ÿÿ‚cpã€ð' Dò' Hô' Lö' PРLÐ'¿üРPÐ'¿ôРP" Ð' PпôÐ'¿øÐ¿øÐ'¿ðÐ¿ð€€€óпüÐ'¿ìпü Ð'¿ü.É"$Ò¿ìË@©J¤€€ /’b /”¢È–"4@€I @€4.Í"(Ò¿ìÏ@©Ê¦€€ /’bÐ/”¢ø–"4@€2 @€.Ñ"$Ò¿ìÓ`ªJ¨€€ /’c/”£(–"4@€ @€.Õ"(Ò¿ì×`ªÊª€€ /’c0/”£X–"4@€ @ï.Ù"$Ò¿ìÛ`«J¬€€ /’c`/”£ˆ–"4@í @Ø.Ý"(Ò¿ìß`«Ê®€€ /’c/”£¸–"4@Ö @Á.á",Ò¿ìã@¥¤I0å# `Р`@€€¢ ÿ€€ ÿÐ'¿ä€ .ç",Ò¿ìé@«¥ 3ë# `Р`@€ Ð'¿äпäÐ/¿é.í",Ò¿ìï`±¥É6ñ# `Р`@€€¢ ÿ€€ ÿÐ'¿à€ .ó",Ò¿ìõ`·¦‰9÷# `Р`@îÐ'¿àпàÐ/¿ê.ù",Ò¿ìû`½§I<ý# `Р`@• ÿ€€ ÿÐ'¿Ü€ .ÿ",Ò¿ìÁ`ƒ  ?Ã# `Р`@ÐÐ'¿ÜпÜÐ/¿ë”¿éÒ HРD– ÿøø¿ÿÇàè?ÿÿ‚cˆã€ð' Dò' Hô' Lö' PРLÐ'¿üРPÐ'¿ôРP" Ð' PпôÐ'¿øÐ¿øÐ'¿ðÐ¿ð€€€ .Ð!ÀÐ'¿ìÐ¿ì’ .Ò"¡ÀпìÒ¿üÔ@Ô*пü Ð'¿ü.Ð!À.ÒaÄ€¢ €€Ð DÒ H” ÿ÷ç¿ÿÕÇàè?ÿÿ‚cˆã€ð' Dò' Hô' Lö' PРP“2 ’@’*`" Ð'¿ü€ /’cÀ/”£è–"_@ @ РPÐ'¿ôРP" Ð' PпôÐ'¿øÐ¿øÐ'¿ðÐ¿ð€€€5РLÒ€¢`ÿ€€ /’cð0” –"b@~ý @~è.Ð!ÀÐ'¿ìÐ¿ì’ .Ò"¡ÀРLÐ'¿èРL Ð' LпìÒ¿èÔ@Ô*.Ð!À.ÒaÄ€¢ €€Ð DÒ H” ÿ÷ˆ¿ÿÀпü€€€.Ð!ÀÐ'¿ìÐ¿ì’ .Ò"¡ÀпìÀ*.Ð!À.ÒaÄ€¢ €€Ð DÒ H” ÿ÷iÇàè?ÿÿ‚c ã€ð' Dò' Hô' Lö' Pø' Tú' X.Ð#”€€€ 0’` 0” H–"x@~¢ @~РL.Ð"cœÐ P.Ð"c˜Â TРDÔÒ X”€ Ò HРDÖ \ŸÀ@РDÒ H” ÿ÷6Çàè?ÿÿ‚b˜ã€@~ÚÐ'¿ø."0Ð'¿Ü."¯Ð'¿Ø @~ÓÐ'¿Ô0 P@~˜Ð'¿Ð¿ØÒ¿Ü”" Ö¿€¢€ €€Ð¿ØÒ¿Ü”" Ô'¿ €Ð¿Ð'¿ п Ð'¿Ð¿Ü0’`|Ô¿@~]пҿܒ@Ò'¿Üпø€€€&0 ¨@~pÐ'¿Ð¿ØÒ¿Ü”" Ö¿€¢€ €€Ð¿ØÒ¿Ü”" Ô'¿ €Ð¿Ð'¿ п Ð'¿Ð¿Ü0’`´Ô¿@~5пҿܒ@Ò'¿Ü€"пø@~MÐ'¿Ð¿ØÒ¿Ü”" Ö¿€¢€ €€Ð¿ØÒ¿Ü”" Ô'¿ €Ð¿Ð'¿ п Ð'¿Ð¿ÜÒ¿øÔ¿@~пҿܒ@Ò'¿Ü¿@~f€¢?ÿ€€D0 À@~$Ð'¿Ð¿ØÒ¿Ü”" Ö¿€¢€ €€Ð¿ØÒ¿Ü”" Ô'¿ €Ð¿Ð'¿ п Ð'¿Ð¿Ü0’`ÄÔ¿@}éпҿܒ@Ò'¿Ü¿ @~Ð'¿Ð¿ØÒ¿Ü”" Ö¿€¢€ €€Ð¿ØÒ¿Ü”" Ô'¿ €Ð¿Ð'¿ п Ð'¿’¿ пÜÔ¿@}Éпҿܒ@Ò'¿Ü0 È@}âÐ'¿Ð¿ØÒ¿Ü”" Ö¿€¢€ €€Ð¿ØÒ¿Ü”" Ô'¿ €Ð¿Ð'¿ п Ð'¿Ð¿Ü0’`ÌÔ¿@}§Ð¿Ò¿Ü’@Ò'¿Ü¿Ô@}ý’¿¨˜ ,˜£ Ô ¿ÿþÔ"@ ¿Ô@}÷’¿|˜ ,˜£ Ô ¿ÿþÔ"@ ¿à–¿¨’ 0” Ð@}í¿à@}¨Ð'¿Ð¿ØÒ¿Ü”" Ö¿€¢€ €€Ð¿ØÒ¿Ü”" Ô'¿ €Ð¿Ð'¿ п Ð'¿’¿àпÜÔ¿@}nпҿܒ@Ò'¿Üп¬Ò¿€”" Ö¿°Ø¿„š"À ›+`ž Ÿ+àš#À  @ à'¿üп¼Ò¿€¢ € €Ð¿ÄÒ¿˜€¢ €€Ð¿ü% Ð'¿ü€Ð¿¼Ò¿€¢ € €Ð¿ÄÒ¿˜€¢ €€Ð¿ü"% Ð'¿üпü€€€fпü’ <@}–€€€ пü’ <@} Ð'¿ €Ð¿ü’ <@}…Ð'¿ п Ð'¿Ð¿ü’ <@}€€€ пü’ <@}x Ð'¿€Ð¿ü’ <@}pÐ'¿Ð¿Ð'¿Ð¿ü€€€ -Ð'¿€ +Ð'¿¿à0’`äÔ¿Ö¿Ø¿@}\¿à@}Ð'¾üпØÒ¿Ü”" Ö¾ü€¢€ €€Ð¿ØÒ¿Ü”" Ô'¾ø€Ð¾üÐ'¾øÐ¾øÐ'¾ü’¿àпÜÔ¾ü@|ÔоüÒ¿Ü’@Ò'¿ÜпÜÀ*."0€°Çàè?ÿÿ‚c°ã€ð' Dò' Hô' Lô' LРHÐ'¿øÐ H" Ð' HпøÐ'¿üпüÐ'¿ôпô€€€ РDÐ'¿ðРD Ð' DпðÒÔ LÔ"`¿ÿèÇàè?ÿÿ‚c˜ã€ð' Dò' HÿþÐ'¿ü.Ð#”€€€ 0’`ô0”¡–"è@|‰ @|t .Ð"cœ .Ð"c˜Ð DÒ HÔ¿üÿöûРDÒ H” ÿõ"Çàè?ÿÿ‚cXã€ð' Dò' H.Ð#”€€€ 0’a$0”¡L–"ø@|_ @|J .Ð"cœ .Ð"c˜Ð HÐ'¿øÐ H" Ð' HпøÐ'¿üпüÐ'¿ôпô€€€¤.Å"°Ò DÔ@Ö ÇàL¨Ê"€+€.É"°Ò DÔ@Ö ËàT©J$€€.Í"´Ò DÔ@Ö ÏàP©Ê&€€.Ñ"´Ò DÔ@Ö ÓàXªJ(€€kРDÒÔ`Ö LÖ'¿ìРDÒÔ`Ö TÖ'¿ð.Õ"°×¿ìªÊª €€c.Ù"°Û¿ì«J¬ €€Ý¿ìŸ ®ß'¿à€Ð¿ìÐ'¿à.á"¸.åbÀç¿à©¤É2­ 4±¥ˆP³ Xó# `Ô `€ €€".õ"°÷¿ì®Êº €€ù¿ì» ¼û'¿Ø€Ð¿ìÐ'¿Ø.ý"¸.ÁbÀÿ؅ I ‰ "¡^ FÏ# `Ô `– Ö'¿Ü€.Ñ"°Ó¿ìªJ¨ €€Õ¿ì— ª×'¿Ô€Ð¿ìÐ'¿Ô.Ù"¸.ÝbÀ߿ԡ£É.¥ 0©¤ˆL« Të'¿Üпܒ Ò'¿ä€`.í"°ï¿ì­Ê¶ €€ñ¿ì³ ¸ó'¿Ð€Ð¿ìÐ'¿Ð.õ"¸.ùbÀû¿Ð½§I< >… Z‡ BÇ# `Ô `€ €€".É"°Ë¿ì©J¤ €€Í¿ì ¦Ï'¿È€Ð¿ìÐ'¿È.Ñ"¸.ÕbÀ׿ș¢É* ,¡£ˆH£ Pã# `Ô `– Ö'¿Ì€.å"°ç¿ì¬Ê² €€é¿ì« ´ë'¿Ä€Ð¿ìÐ'¿Ä.í"¸.ñbÀó¿Äµ¦I8¹ :½§V¿ ^ÿ'¿ÌпÌÐ'¿äпäÐ'¿è.Á"Äÿì¨J €€ 0’aT0”¡|–#@{+ @{.Å"´Ç¿ì¨Ê¢€€ 0’a„0”¡¬–#@{ @{€ 0’a´0”¡Ü–#@{ @zòпèÐ7¿Âп“2 ” `ÿÔ/¿Àп’ ÿÒ/¿Á”¿À’ РD– ÿôz.É"°Ë¿ð©J¤ €€c.Í"°Ï¿ð©Ê¦ €€Ñ¿ð“ ¨Ó'¿à€Ð¿ðÐ'¿à.Õ"¸.ÙbÀÛ¿à£I,¡ .¥¤J§ Rç# `Ô `€ €€".é"°ë¿ð­J´ €€í¿ð¯ ¶ï'¿Ø€Ð¿ðÐ'¿Ø.ñ"¸.õbÀ÷¿Ø¹¦É:½ <§ˆXƒ @Ã# `Ô `– Ö'¿Ü€.Å"°Ç¿ð¨Ê¢ €€É¿ð‹ ¤Ë'¿Ô€Ð¿ðÐ'¿Ô.Í"¸.ÑbÀÓ¿Ô•¢I(™ *£FŸ Nß'¿Üпܒ Ò'¿ä€`.á"°ã¿ð¬J° €€å¿ð§ ²ç'¿Ð€Ð¿ðÐ'¿Ð.é"¸.íbÀï¿Ð±¥É6µ 8¹¦ˆT» \û# `Ô `€ €€".ý"°ÿ¿ð¯Ê¾ €€Á¿ðƒ  Ã'¿È€Ð¿ðÐ'¿È.Å"¸.ÉbÀ˿ȡI$‘ &•¢B— J×# `Ô `– Ö'¿Ì€.Ù"°Û¿ð«J¬ €€Ý¿ðŸ ®ß'¿Ä€Ð¿ðÐ'¿Ä.á"¸.åbÀç¿Ä©¤É2­ 4±¥ˆP³ Xó'¿ÌпÌÐ'¿äпäÐ'¿è.õ"Ä÷¿ð®Êº€€ 0’aä0”¢ –#@z @z.ù"´û¿ð¯J¼€€ 0’b0”¢<–#@z @yì€ 0’bD0”¢l–#@yó @yÞпèÐ7¿Âп“2 ” `ÿÔ/¿Àп’ ÿÒ/¿Á”¿À’ РD– ÿófРDÒÔ`Ö PÖ'¿ìРDÒÔ`Ö XÖ'¿ð.ý"°ÿ¿ì¯Ê¾ €€c.Á"°Ã¿ì¨J  €€Å¿ì‡ ¢Ç'¿à€Ð¿ìÐ'¿à.É"¸.ÍbÀÏ¿à‘¡É&• (™¢ˆD› LÛ# `Ô `€ €€".Ý"°ß¿ì«Ê® €€á¿ì£ °ã'¿Ø€Ð¿ìÐ'¿Ø.å"¸.ébÀë¿Ø­¥I4± 6µ¦R· Z÷# `Ô `– Ö'¿Ü€.ù"°û¿ì¯J¼ €€ý¿ì¿ ¾ÿ'¿Ô€Ð¿ìÐ'¿Ô.Á"¸.ÅbÀǿԉ É" $‘¡ˆ@“ HÓ'¿Üпܒ Ò'¿ä€`.Õ"°×¿ìªÊª €€Ù¿ì› ¬Û'¿Ð€Ð¿ìÐ'¿Ð.Ý"¸.ábÀã¿Ð¥¤I0© 2­¥N¯ Vï# `Ô `€ €€".ñ"°ó¿ì®J¸ €€õ¿ì· º÷'¿È€Ð¿ìÐ'¿È.ù"¸.ýbÀÿ¿È§É>…  ‰ ˆ\‹ DË# `Ô `– Ö'¿Ì€.Í"°Ï¿ì©Ê¦ €€Ñ¿ì“ ¨Ó'¿Ä€Ð¿ìÐ'¿Ä.Õ"¸.ÙbÀÛ¿Ä£I,¡ .¥¤J§ Rç'¿ÌпÌÐ'¿äпäÐ'¿è.é"Äë¿ì­J´€€ 0’bt0”¢œ–# @xù @xä.í"´ï¿ì­Ê¶€€ 0’b¤0”¢Ì–# @xã @x΀ 0’bÔ0”¢ü–# @xÕ @xÀпèÐ7¿Âп“2 ” `ÿÔ/¿Àп’ ÿÒ/¿Á”¿À’ РD– ÿòH.ñ"°ó¿ð®J¸ €€c.õ"°÷¿ð®Êº €€ù¿ð» ¼û'¿à€Ð¿ðÐ'¿à.ý"¸.ÁbÀÃ¿à… I ‰ "¡^ FÏ# `Ô `€ €€".Ñ"°Ó¿ðªJ¨ €€Õ¿ð— ª×'¿Ø€Ð¿ðÐ'¿Ø.Ù"¸.ÝbÀ߿ء£É.¥ 0©¤ˆL« Të# `Ô `– Ö'¿Ü€.í"°ï¿ð­Ê¶ €€ñ¿ð³ ¸ó'¿Ô€Ð¿ðÐ'¿Ô.õ"¸.ùbÀû¿Ô½§I< >… Z‡ BÇ'¿Üпܒ Ò'¿ä€`.É"°Ë¿ð©J¤ €€Í¿ð ¦Ï'¿Ð€Ð¿ðÐ'¿Ð.Ñ"¸.ÕbÀ׿Й¢É* ,¡£ˆH£ Pã# `Ô `€ €€".å"°ç¿ð¬Ê² €€é¿ð« ´ë'¿È€Ð¿ðÐ'¿È.í"¸.ñbÀó¿Èµ¦I8¹ :½§V¿ ^ÿ# `Ô `– Ö'¿Ì€.Á"°Ã¿ð¨J  €€Å¿ð‡ ¢Ç'¿Ä€Ð¿ðÐ'¿Ä.É"¸.ÍbÀϿđ¡É&• (™¢ˆD› LÛ'¿ÌпÌÐ'¿äпäÐ'¿è.Ý"Äß¿ð«Ê®€€ 0’c0”£,–# @wå @wÐ.á"´ã¿ð¬J°€€ 0’c40”£\–# @wÏ @wº€ 0’cd0”£Œ–# @wÁ @w¬Ð¿èÐ7¿Âп“2 ” `ÿÔ/¿Àп’ ÿÒ/¿Á”¿À’ РD– ÿñ4РD’ ” ÿðVРD Ð' D¿ûQÇàè?ÿÿ‚c€ã€ð' Dò' HÀ'¿üпüÒ H€¢ €€`пü“* Ô DÖ€ Øà€£ €€ 0’c”0”£¼–##@wƒ @wnпü“* Ô DÖ€ ˜à Ø'¿èпèÒ”`Ô'¿äпèÒ¿äÒ"¿ì0’cÄÔ¿ä@wÜ.Ð#”€€€ 0’cÌ0”£ô–#&@w] @wH.À"#œ .Ð"c˜Ð¿ü“* РD ”¿ì’ ÿñÍпü“* РD ’ ” ÿïñпü“* РD ’ ” ÿú{пü Ð'¿ü¿ÿÇàè?ÿÿ‚cPã€ð' Dò' HРHÐ'¿øÐ H" Ð' HпøÐ'¿üпüÐ'¿ôпô€€€p.å"Èå'¿ðРH“* Ô DÖ€ Øà€£ €$€Ð H“* Ô DÖ€ Øà€£ €€Ð H“* Ô DÖ€ Øà€£ €€ 0’cü1” $–#9@vø @vãРH“* Ô DÖ€ Øàœ€ €€Ð H“* Ô DÖ€ Øà € €€”À'¿ì.Ð#”€€€ 1’`,1” T–#G@vÐ @v» .Ð"cœ .Ð"c˜Ð¿ìÐ7¿êпê“2 ” `ÿÔ/¿èÐ¿ê’ ÿÒ/¿éРH“* РD ”¿è’ – ÿð:пìÐ7¿êпê“2 ” `ÿÔ/¿èÐ¿ê’ ÿÒ/¿éРH“* РD ”¿è’ – ÿð(РH“* Ô D–€ Ö'¿è Ð'¿äç¿ð© 3é?¿Ø.í"Ðñ¿Ø® Ö €€ .õ"Øù¿Ø½§Zý?¿È€Ð¿ØÐ?¿ÈÁ¿Èƒ @Ã# `Р`‘* ‘: Ð7¿ÖпÖ?’cÿ” @Ô7¿ÆÐW¿ÖÐ# `Å `‰ Í¿Ø‘¡ˆÄ.Õbà™¢ JÙ# dРdÛ# dÒ d@v¼?”£ÿ€¢€ €€?#ÿÐ'¿À€ÐW¿ÖÐ# `Û `  á¿Ø¥¤Î.ébà­¤‰Tí# dРdï# dÒ d@v¡Ð'¿ÀпÀÐ7¿ÄпƓ2 ” `ÿÔ/¿¾Ð¿Æ’ ÿÒ/¿¿”¿¾Ò¿äÐ¿è– ÿïÅпē2 ” `ÿÔ/¿¾Ð¿Ä’ ÿÒ/¿¿”¿¾Ò¿äÐ¿è– ÿï¸ÐW¿ÖÐ# `ï `± õ¿Ø¹¦ˆØ.ýbЯ Þ€€ 1’`\1” „–#J@v @vÐW¿ÖÐ# `ÿ ` Å¿Ø‰ ˆÀ.Íbè© Æ€€ 1’`Œ1” ´–#J@v @uëРH“* Ô D–€ Ö'¿è Ð'¿äÏ¿ð‘ 'Ñ?¿Ø.Õ"Ðٿث Ê €€ .Ý"Øá¿Ø¥¤Nå?¿È€Ð¿ØÐ?¿Èé¿È« Të# `Р`‘* ‘: Ð7¿ÖпÖ?’cÿ” @Ô7¿ÆÐW¿ÖÐ# `í `± õ¿Ø¹¦ˆØ.ýbà§ ^Á# dРdÃ# dÒ d@v?”£ÿ€¢€ €€?#ÿÐ'¿À€ÐW¿ÖÐ# `à`… É¿Ø¡Â.Ñbà•¡‰HÕ# dРd×# dÒ d@uûÐ'¿ÀпÀÐ7¿ÄпƓ2 ” `ÿÔ/¿¾Ð¿Æ’ ÿÒ/¿¿”¿¾Ò¿äÐ¿è– ÿïпē2 ” `ÿÔ/¿¾Ð¿Ä’ ÿÒ/¿¿”¿¾Ò¿äÐ¿è– ÿïÐW¿ÖÐ# `× `™  ݿء£ˆÌ.åbЬ Ò€€ 1’`¼1” ä–#K@uu @u`ÐW¿ÖÐ# `ç `© í¿Ø±¥ˆÔ.õbè® Ú€€ 1’`ì1”¡–#K@uZ @uEРH“* РD ’ ” ÿíû.Ð#”€€€ 1’a1”¡D–#O@u? @u* .Ð"cœ .Ð"c˜Ð H“* Ô DÖ€ ØàœØ7¿îпî“2 ” `ÿÔ/¿ìÐ¿î’ ÿÒ/¿íРH“* РD ”¿ì’ – ÿî¥Ð H“* Ô DÖ€ Øà Ø7¿îпî“2 ” `ÿÔ/¿ìÐ¿î’ ÿÒ/¿íРH“* РD ”¿ì’ – ÿîРH“* Ô D–€ Ö'¿ì Ð'¿è÷¿ð¹ ;ù?¿à.ý"ÐÁ¿à¨ Þ €€ .Å"ØÉ¿à¡BÍ?¿Ð€Ð¿àÐ?¿ÐѿГ HÓ# `Р`‘* ‘: Ð7¿ÞпÞ?’cÿ” @Ô7¿ÎÐW¿ÞÐ# `Õ `™  ݿࡣˆÌ.åb੤ Ré# dРdë# dÒ d@u#?”£ÿ€¢€ €€?#ÿÐ'¿È€ÐW¿ÞÐ# `ë `­ ñ¿àµ¦Ö.ùbས‰\ý# dРdÿ# dÒ d@uÐ'¿ÈпÈÐ7¿ÌпΓ2 ” `ÿÔ/¿ÆÐ¿Î’ ÿÒ/¿Ç”¿ÆÒ¿èÐ¿ì– ÿî,п̓2 ” `ÿÔ/¿ÆÐ¿Ì’ ÿÒ/¿Ç”¿ÆÒ¿èÐ¿ì– ÿîÐW¿ÞÐ# `ÿ ` Å¿à‰ ˆÀ.ÍbЩ Æ€€ 1’aL1”¡t–#T@t‚ @tmÐW¿ÞÐ# `Ï `‘ Õ¿à™¢ˆÈ.Ýbè« Î€€ 1’a|1”¡¤–#T@tg @tRРH“* Ô D–€ Ö'¿ì Ð'¿èß¿ð¡ /á?¿à.å"Ðé¿à­ Ò €€ .í"Øñ¿àµ¦Võ?¿Ð€Ð¿àÐ?¿Ðù¿Ð» \û# `Р`‘* ‘: Ð7¿ÞпÞ?’cÿ” @Ô7¿ÎÐW¿ÞÐ# `ý ` Å¿à‰ ˆÀ.Íbà‘¡ FÑ# dРdÓ# dÒ d@t}?”£ÿ€¢€ €€?#ÿÐ'¿È€ÐW¿ÞÐ# `Ó `•  Ù¿à£Ê.ábॣ‰På# dРdç# dÒ d@tbÐ'¿ÈпÈÐ7¿ÌпΓ2 ” `ÿÔ/¿ÆÐ¿Î’ ÿÒ/¿Ç”¿ÆÒ¿èÐ¿ì– ÿí†Ð¿Ì“2 ” `ÿÔ/¿ÆÐ¿Ì’ ÿÒ/¿Ç”¿ÆÒ¿èÐ¿ì– ÿíyÐW¿ÞÐ# `ç `© í¿à±¥ˆÔ.õbЮ Ú€€ 1’a¬1”¡Ô–#U@sÜ @sÇÐW¿ÞÐ# `÷ `¹ ý¿à§ˆÜ.Åbè¨ Â€€ 1’aÜ1”¢–#U@sÁ @s¬Ð H“* РD ’ ” ÿìb¿ü…Çàè?ÿÿ‚cpã€ð' Dò' HÀ'¿üпüÒ H€¢ €€=пü“* Ô DÖ€ Øà€£ €€ 1’b 1”¢4–#h@s’ @s}пü“* Ô DÖ€ ØàЖ¿ð’ ” ÿk¿€€€.Ð#”€€€ 1’b<1”¢d–#k@so @sZ .Ð"cœ .Ð"c˜¿ðÐ'¿ì.Ç"ðÒ¿ìÉ@© £€€ 1’bl1”¢”–#l@sP @s;.Ë"ôÒ¿ìÍ@©Š¥€€ 1’bœ1”¢Ä–#l@s9 @s$.Ï"ðÒ¿ìÑ`ª §€€ 1’bÌ1”¢ô–#l@s" @s .Ó"ôÒ¿ìÕ`ªŠ©€€ 1’bü1”£$–#l@s  @rö.×"ðÒ¿ìÙ`« «€€ 1’c,1”£T–#l@rô @rß.Û"ôÒ¿ìÝ`«Š­€€ 1’c\1”£„–#l@rÝ @rÈ.ß"øÒ¿ìá@£¤ /ã# `Р`@s%€¢ ÿ€€ ÿÐ'¿ä€ .å"øÒ¿ìç@©¤É2é# `Р`@sÐ'¿äпäÐ/¿é.ë"øÒ¿ìí`¯¥‰5ï# `Р`@s€¢ ÿ€€ ÿÐ'¿à€ .ñ"øÒ¿ìó`µ¦I8õ# `Р`@rõÐ'¿àпàÐ/¿ê.÷"øÒ¿ìù`»§ ;û# `Р`@r逢 ÿ€€ ÿÐ'¿Ü€ .ý"øÒ¿ìÿ`§É>Á# `Р`@r×Ð'¿ÜпÜÐ/¿ëпü“* РD ”¿é’ – ÿëüпü“* РD ’ ” ÿëпü Ð'¿ü¿þÀÇàè?ÿÿ‚c€ã€ð' Dò' Hô' Lö' P.Ð#”€€€ 1’cŒ1”£´–#}@rQ @r< .Ð"cœ ".Ð"c˜.Ð!ÀÐ'¿üпü’ .Ò"¡ÀпüÒ LÒ*.Ð!À.ÒaÄ€¢ €€Ð DÒ H” ÿêÜРPÐ'¿ü.Ã"üÒ¿üÅ@¨Š¡€€ 1’c¼1”£ä–#@r @r.Ç#Ò¿üÉ@© £€€ 1’cì2” –#@r @qî.Ë"üÒ¿üÍ`©Š¥€€ 2’`2” D–#@qì @q×.Ï#Ò¿üÑ`ª §€€ 2’`L2” t–#@qÕ @qÀ.Ó"üÒ¿üÕ`ªŠ©€€ 2’`|2” ¤–#@q¾ @q©.×#Ò¿üÙ`« «€€ 2’`¬2” Ô–#@q§ @q’.Û#Ò¿üÝ@Ÿ£‰-ß# `Р`@q ÿ€€ ÿÐ'¿ô€ .á#Ò¿üã@¥¤I0å# `Р`@qÝÐ'¿ôпôÐ/¿ù.ç#Ò¿üé`«¥ 3ë# `Р`@qÑ€¢ ÿ€€ ÿÐ'¿ð€ .í#Ò¿üï`±¥É6ñ# `Р`@q¿Ð'¿ðпðÐ/¿ú.ó#Ò¿üõ`·¦‰9÷# `Р`@q³€¢ ÿ€€ ÿÐ'¿ì€ .ù#Ò¿üû`½§I<ý# `Р`@q¡Ð'¿ìпìÐ/¿û”¿ùÒ HРD– ÿêÉРDÒ H” ÿéëÇàè?ÿÿ‚cxã€ð' Dò' HÀ'¿üпüÒ H€¢ €€pпü“* Ô DÖ€ Øà€£ €€Ð¿ü“* Ô DÖ€ Øà€£ €€ 2’`Ü2”¡–#”@q @pþпü“* Ô DÖ€ ØàÐ’¿ôÿjƒ€€€=пôÐ'¿ðпøÐ'¿ìпðÐ'¿èпð" Ð'¿ðпèÐ'¿äп䀀€)пìÒ€ €€Ð¿ü“* Ô DÖ€ ØàЖ¿ØÚ¿ìÒ@” ÿi€€€ пü“* РD –¿ØÔ¿ìÔ€’ ÿþiпì Ð'¿ì¿ÿÎпøÿÜuпü Ð'¿ü¿ÿÇàè?ÿÿ‚cHã€ð' Dò' H¿ì@w2€€€ŒÐ¿ì€¢ €€.ÿ#ÿ'¿ä.Á#Á'¿è.Ã# Ã'¿Ü.Å# Å'¿à€ пðÐ'¿äпøÐ'¿èпôÐ'¿ÜпüÐ'¿à.Ð#”€€€ 2’a 2”¡4–#È@p‡ @pr .Ð"cœ .Ð"c˜.Ç#É¿ä© £ €€c.Ë#Ϳ䩊¥ €€Ï¿ä‘ §Ñ'¿Ð€Ð¿äÐ'¿Ð.Õ#.ÙcۿУI,¡ .¥¤J§ Rç# `Ô `€ €€".é#ë¿ä­J´ €€í¿ä¯ ¶ï'¿È€Ð¿äÐ'¿È.ñ#.õc÷¿È¹¦É:½ <§ˆXƒ @Ã# `Ô `– Ö'¿Ì€.Å#Ç¿ä¨Ê¢ €€É¿ä‹ ¤Ë'¿Ä€Ð¿äÐ'¿Ä.Í#.ÑcÓ¿Ä•¢I(™ *£FŸ Nß'¿Ìп̒ Ò'¿Ô€`.á#ã¿ä¬J° €€å¿ä§ ²ç'¿À€Ð¿äÐ'¿À.é#.ícï¿À±¥É6µ 8¹¦ˆT» \û# `Ô `€ €€".ý#ÿ¿ä¯Ê¾ €€Á¿äƒ  Ã'¿¸€Ð¿äÐ'¿¸.Å#.ÉcË¿¸¡I$‘ &•¢B— J×# `Ô `– Ö'¿¼€.Ù#Û¿ä«J¬ €€Ý¿äŸ ®ß'¿´€Ð¿äÐ'¿´.á#.åcç¿´©¤É2­ 4±¥ˆP³ Xó'¿¼Ð¿¼Ð'¿ÔпÔÐ'¿Ø.õ#÷¿ä®Êº€€ 2’a<2”¡d–#É@o  @o‹.ù# û¿ä¯J¼€€ 2’al2”¡”–#É@oŠ @ou€ 2’aœ2”¡Ä–#É@o| @ogпØÐ7¿²Ð¿²“2 ” `ÿÔ/¿°Ð¿²’ ÿÒ/¿±”¿°Ò HРD– ÿèï.ý#ÿ¿è¯Ê¾ €€c.Á#ÿè¨J  €€Å¿è‡ ¢Ç'¿Ð€Ð¿èÐ'¿Ð.É#.ÍcϿБ¡É&• (™¢ˆD› LÛ# `Ô `€ €€".Ý#ß¿è«Ê® €€á¿è£ °ã'¿È€Ð¿èÐ'¿È.å#.écë¿È­¥I4± 6µ¦R· Z÷# `Ô `– Ö'¿Ì€.ù#û¿è¯J¼ €€ý¿è¿ ¾ÿ'¿Ä€Ð¿èÐ'¿Ä.Á#.Åcǿĉ É" $‘¡ˆ@“ HÓ'¿Ìп̒ Ò'¿Ô€`.Õ#׿èªÊª €€Ù¿è› ¬Û'¿À€Ð¿èÐ'¿À.Ý#.ácã¿À¥¤I0© 2­¥N¯ Vï# `Ô `€ €€".ñ#ó¿è®J¸ €€õ¿è· º÷'¿¸€Ð¿èÐ'¿¸.ù#.ýcÿ¿¸§É>…  ‰ ˆ\‹ DË# `Ô `– Ö'¿¼€.Í#Ï¿è©Ê¦ €€Ñ¿è“ ¨Ó'¿´€Ð¿èÐ'¿´.Õ#.ÙcÛ¿´£I,¡ .¥¤J§ Rç'¿¼Ð¿¼Ð'¿ÔпÔÐ'¿Ø.é#ë¿è­J´€€ 2’aÌ2”¡ô–#É@nŒ @nw.í# ï¿è­Ê¶€€ 2’aü2”¢$–#É@nv @na€ 2’b,2”¢T–#É@nh @nSпØÐ7¿²Ð¿²“2 ” `ÿÔ/¿°Ð¿²’ ÿÒ/¿±”¿°Ò HРD– ÿçÛ.ñ#ó¿Ü®J¸ €€c.õ#÷¿Ü®Êº €€ù¿Ü» ¼û'¿Ð€Ð¿ÜÐ'¿Ð.ý#.ÁcÿЅ I ‰ "¡^ FÏ# `Ô `€ €€".Ñ#ӿܪJ¨ €€Õ¿Ü— ª×'¿È€Ð¿ÜÐ'¿È.Ù#.Ýc߿ȡ£É.¥ 0©¤ˆL« Të# `Ô `– Ö'¿Ì€.í#ï¿Ü­Ê¶ €€ñ¿Ü³ ¸ó'¿Ä€Ð¿ÜÐ'¿Ä.õ#.ùcû¿Ä½§I< >… Z‡ BÇ'¿Ìп̒ Ò'¿Ô€`.É#˿ܩJ¤ €€Í¿Ü ¦Ï'¿À€Ð¿ÜÐ'¿À.Ñ#.Õc׿À™¢É* ,¡£ˆH£ Pã# `Ô `€ €€".å#ç¿Ü¬Ê² €€é¿Ü« ´ë'¿¸€Ð¿ÜÐ'¿¸.í#.ñc󿸵¦I8¹ :½§V¿ ^ÿ# `Ô `– Ö'¿¼€.Á#ÿܨJ  €€Å¿Ü‡ ¢Ç'¿´€Ð¿ÜÐ'¿´.É#.ÍcÏ¿´‘¡É&• (™¢ˆD› LÛ'¿¼Ð¿¼Ð'¿ÔпÔÐ'¿Ø.Ý#߿ܫʮ€€ 2’b\2”¢„–#Ê@mx @mc.á# ã¿Ü¬J°€€ 2’bŒ2”¢´–#Ê@mb @mM€ 2’b¼2”¢ä–#Ê@mT @m?пØÐ7¿²Ð¿²“2 ” `ÿÔ/¿°Ð¿²’ ÿÒ/¿±”¿°Ò HРD– ÿæÇ.å#ç¿à¬Ê² €€c.é#ë¿à­J´ €€í¿à¯ ¶ï'¿Ð€Ð¿àÐ'¿Ð.ñ#.õc÷¿Ð¹¦É:½ <§ˆXƒ @Ã# `Ô `€ €€".Å#Ç¿à¨Ê¢ €€É¿à‹ ¤Ë'¿È€Ð¿àÐ'¿È.Í#.ÑcÓ¿È•¢I(™ *£FŸ Nß# `Ô `– Ö'¿Ì€.á#ã¿à¬J° €€å¿à§ ²ç'¿Ä€Ð¿àÐ'¿Ä.é#.ícï¿Ä±¥É6µ 8¹¦ˆT» \û'¿Ìп̒ Ò'¿Ô€`.ý#ÿ¿à¯Ê¾ €€Á¿àƒ  Ã'¿À€Ð¿àÐ'¿À.Å#.ÉcË¿À¡I$‘ &•¢B— J×# `Ô `€ €€".Ù#Û¿à«J¬ €€Ý¿àŸ ®ß'¿¸€Ð¿àÐ'¿¸.á#.åc翸©¤É2­ 4±¥ˆP³ Xó# `Ô `– Ö'¿¼€.õ#÷¿à®Êº €€ù¿à» ¼û'¿´€Ð¿àÐ'¿´.ý#.Ácÿ´… I ‰ "¡^ FÏ'¿¼Ð¿¼Ð'¿ÔпÔÐ'¿Ø.Ñ#Ó¿àªJ¨€€ 2’bì2”£–#Ê@ld @lO.Õ# ׿àªÊª€€ 2’c2”£D–#Ê@lN @l9€ 2’cL2”£t–#Ê@l@ @l+пØÐ7¿²Ð¿²“2 ” `ÿÔ/¿°Ð¿²’ ÿÒ/¿±”¿°Ò HРD– ÿå³Ð DÒ H” ÿäÕÇàè?ÿÿ‚chã€ð' Dò' H.Ð#”€€€ 2’c|2”£¤–#Ø@l @ký .Ð"cœ !.Ð"c˜.Ù# QÛc «J¬ €€l.Ý# Qßc «Ê® €€Qá# £ °ã'¿ô€QÐ# Ð'¿ô.å#(.éc0ë¿ô­¥I4± 6µ¦R· Z÷# `Ô `€ €€%.ù# Qûc ¯J¼ €€Qý# ¿ ¾ÿ'¿ì€QÐ# Ð'¿ì.Á#(.Åc0ǿ쉠É" $‘¡ˆ@“ HÓ# `Ô `– Ö'¿ð€ .Õ# Q×c ªÊª €€QÙ# › ¬Û'¿è€QÐ# Ð'¿è.Ý#(.ác0ã¿è¥¤I0© 2­¥N¯ Vï'¿ðпð’ Ò'¿ø€i.ñ# Qóc ®J¸ €€Qõ# · º÷'¿ä€QÐ# Ð'¿ä.ù#(.ýc0ÿ¿ä§É>…  ‰ ˆ\‹ DË# `Ô `€ €€%.Í# QÏc ©Ê¦ €€QÑ# “ ¨Ó'¿Ü€QÐ# Ð'¿Ü.Õ#(.Ùc0Û¿Ü£I,¡ .¥¤J§ Rç# `Ô `– Ö'¿à€ .é# Qëc ­J´ €€Qí# ¯ ¶ï'¿Ø€QÐ# Ð'¿Ø.ñ#(.õc0÷¿Ø¹¦É:½ <§ˆXƒ @Ã'¿àпàÐ'¿øÐ¿øÐ'¿ü.Å#4QÇc ¨Ê¢€€ 2’c¬2”£Ô–#Ù@k @k.É#8QËc ©J¤€€ 2’cÜ3” –#Ù@k @jë€ 3’` 3” 4–#Ù@jò @jÝпüÐ7¿Öп֓2 ” `ÿÔ/¿Ôп֒ ÿÒ/¿Õ”¿ÔÒ HРD– ÿäe.Í# QÏc¤©Ê¦ €€l.Ñ# QÓc¤ªJ¨ €€QÕ#¤— ª×'¿ô€QÐ#¤Ð'¿ô.Ù#(.Ýc0ß¿ô¡£É.¥ 0©¤ˆL« Të# `Ô `€ €€%.í# Qïc¤­Ê¶ €€Qñ#¤³ ¸ó'¿ì€QÐ#¤Ð'¿ì.õ#(.ùc0û¿ì½§I< >… Z‡ BÇ# `Ô `– Ö'¿ð€ .É# QËc¤©J¤ €€QÍ#¤ ¦Ï'¿è€QÐ#¤Ð'¿è.Ñ#(.Õc0׿虢É* ,¡£ˆH£ Pã'¿ðпð’ Ò'¿ø€i.å# Qçc¤¬Ê² €€Qé#¤« ´ë'¿ä€QÐ#¤Ð'¿ä.í#(.ñc0ó¿äµ¦I8¹ :½§V¿ ^ÿ# `Ô `€ €€%.Á# QÃc¤¨J  €€QÅ#¤‡ ¢Ç'¿Ü€QÐ#¤Ð'¿Ü.É#(.Íc0Ͽܑ¡É&• (™¢ˆD› LÛ# `Ô `– Ö'¿à€ .Ý# Qßc¤«Ê® €€Qá#¤£ °ã'¿Ø€QÐ#¤Ð'¿Ø.å#(.éc0ë¿Ø­¥I4± 6µ¦R· Z÷'¿àпàÐ'¿øÐ¿øÐ'¿ü.ù#4Qûc¤¯J¼€€ 3’`<3” d–#Ú@iî @iÙ.ý#8Qÿc¤¯Ê¾€€ 3’`l3” ”–#Ú@i× @i€ 3’`œ3” Ä–#Ú@iÉ @i´Ð¿üÐ7¿Öп֓2 ” `ÿÔ/¿Ôп֒ ÿÒ/¿Õ”¿ÔÒ HРD– ÿã<.Á# QÃc˜¨J  €€l.Å# QÇc˜¨Ê¢ €€QÉ#˜‹ ¤Ë'¿ô€QÐ#˜Ð'¿ô.Í#(.Ñc0Ó¿ô•¢I(™ *£FŸ Nß# `Ô `€ €€%.á# Qãc˜¬J° €€Qå#˜§ ²ç'¿ì€QÐ#˜Ð'¿ì.é#(.íc0ï¿ì±¥É6µ 8¹¦ˆT» \û# `Ô `– Ö'¿ð€ .ý# Qÿc˜¯Ê¾ €€QÁ#˜ƒ  Ã'¿è€QÐ#˜Ð'¿è.Å#(.Éc0Ë¿è¡I$‘ &•¢B— J×'¿ðпð’ Ò'¿ø€i.Ù# QÛc˜«J¬ €€QÝ#˜Ÿ ®ß'¿ä€QÐ#˜Ð'¿ä.á#(.åc0ç¿ä©¤É2­ 4±¥ˆP³ Xó# `Ô `€ €€%.õ# Q÷c˜®Êº €€Qù#˜» ¼û'¿Ü€QÐ#˜Ð'¿Ü.ý#(.Ác0ÿ܅ I ‰ "¡^ FÏ# `Ô `– Ö'¿à€ .Ñ# QÓc˜ªJ¨ €€QÕ#˜— ª×'¿Ø€QÐ#˜Ð'¿Ø.Ù#(.Ýc0߿ء£É.¥ 0©¤ˆL« Të'¿àпàÐ'¿øÐ¿øÐ'¿ü.í#4Qïc˜­Ê¶€€ 3’`Ì3” ô–#Û@hÅ @h°.ñ#8Qóc˜®J¸€€ 3’`ü3”¡$–#Û@h® @h™€ 3’a,3”¡T–#Û@h  @h‹Ð¿üÐ7¿Öп֓2 ” `ÿÔ/¿Ôп֒ ÿÒ/¿Õ”¿ÔÒ HРD– ÿâ.õ# Q÷cœ®Êº €€l.ù# Qûcœ¯J¼ €€Qý#œ¿ ¾ÿ'¿ô€QÐ#œÐ'¿ô.Á#(.Åc0Ç¿ô‰ É" $‘¡ˆ@“ HÓ# `Ô `€ €€%.Õ# Q×cœªÊª €€QÙ#œ› ¬Û'¿ì€QÐ#œÐ'¿ì.Ý#(.ác0ã¿ì¥¤I0© 2­¥N¯ Vï# `Ô `– Ö'¿ð€ .ñ# Qócœ®J¸ €€Qõ#œ· º÷'¿è€QÐ#œÐ'¿è.ù#(.ýc0ÿ¿è§É>…  ‰ ˆ\‹ DË'¿ðпð’ Ò'¿ø€i.Í# QÏcœ©Ê¦ €€QÑ#œ“ ¨Ó'¿ä€QÐ#œÐ'¿ä.Õ#(.Ùc0Û¿ä£I,¡ .¥¤J§ Rç# `Ô `€ €€%.é# Qëcœ­J´ €€Qí#œ¯ ¶ï'¿Ü€QÐ#œÐ'¿Ü.ñ#(.õc0÷¿Ü¹¦É:½ <§ˆXƒ @Ã# `Ô `– Ö'¿à€ .Å# QÇcœ¨Ê¢ €€QÉ#œ‹ ¤Ë'¿Ø€QÐ#œÐ'¿Ø.Í#(.Ñc0Ó¿Ø•¢I(™ *£FŸ Nß'¿àпàÐ'¿øÐ¿øÐ'¿ü.á#4Qãcœ¬J°€€ 3’a\3”¡„–#Ü@gœ @g‡.å#8Qçcœ¬Ê²€€ 3’aŒ3”¡´–#Ü@g… @gp€ 3’a¼3”¡ä–#Ü@gw @gbпüÐ7¿Öп֓2 ” `ÿÔ/¿Ôп֒ ÿÒ/¿Õ”¿ÔÒ HРD– ÿàêРDÒ H” ÿà Çàè?ÿÿ‚chã€ð' Dò' H.Ð#”€€€ 3’aì3”¢–#é@gI @g4 .Ð"cœ .Ð"c˜.é#<Qëc¨­J´ €€l.í#<Qïc¨­Ê¶ €€Qñ#¨³ ¸ó'¿ô€QÐ#¨Ð'¿ô.õ#@.ùcHû¿ô½§I< >… Z‡ BÇ# `Ô `€ €€%.É#<QËc¨©J¤ €€QÍ#¨ ¦Ï'¿ì€QÐ#¨Ð'¿ì.Ñ#@.ÕcH׿왢É* ,¡£ˆH£ Pã# `Ô `– Ö'¿ð€ .å#<Qçc¨¬Ê² €€Qé#¨« ´ë'¿è€QÐ#¨Ð'¿è.í#@.ñcHó¿èµ¦I8¹ :½§V¿ ^ÿ'¿ðпð’ Ò'¿ø€i.Á#<QÃc¨¨J  €€QÅ#¨‡ ¢Ç'¿ä€QÐ#¨Ð'¿ä.É#@.ÍcHϿ䑡É&• (™¢ˆD› LÛ# `Ô `€ €€%.Ý#<Qßc¨«Ê® €€Qá#¨£ °ã'¿Ü€QÐ#¨Ð'¿Ü.å#@.écHë¿Ü­¥I4± 6µ¦R· Z÷# `Ô `– Ö'¿à€ .ù#<Qûc¨¯J¼ €€Qý#¨¿ ¾ÿ'¿Ø€QÐ#¨Ð'¿Ø.Á#@.ÅcHǿ؉ É" $‘¡ˆ@“ HÓ'¿àпàÐ'¿øÐ¿øÐ'¿ü.Õ#LQ×c¨ªÊª€€ 3’b3”¢D–#ê@fN @f9.Ù#PQÛc¨«J¬€€ 3’bL3”¢t–#ê@f7 @f"€ 3’b|3”¢¤–#ê@f) @fпüÐ7¿Öп֓2 ” `ÿÔ/¿Ôп֒ ÿÒ/¿Õ”¿ÔÒ HРD– ÿßœ.Ý#<Qßc¬«Ê® €€l.á#<Qãc¬¬J° €€Qå#¬§ ²ç'¿ô€QÐ#¬Ð'¿ô.é#@.ícHï¿ô±¥É6µ 8¹¦ˆT» \û# `Ô `€ €€%.ý#<Qÿc¬¯Ê¾ €€QÁ#¬ƒ  Ã'¿ì€QÐ#¬Ð'¿ì.Å#@.ÉcHË¿ì¡I$‘ &•¢B— J×# `Ô `– Ö'¿ð€ .Ù#<QÛc¬«J¬ €€QÝ#¬Ÿ ®ß'¿è€QÐ#¬Ð'¿è.á#@.åcHç¿è©¤É2­ 4±¥ˆP³ Xó'¿ðпð’ Ò'¿ø€i.õ#<Q÷c¬®Êº €€Qù#¬» ¼û'¿ä€QÐ#¬Ð'¿ä.ý#@.ÁcHÿ䅠I ‰ "¡^ FÏ# `Ô `€ €€%.Ñ#<QÓc¬ªJ¨ €€QÕ#¬— ª×'¿Ü€QÐ#¬Ð'¿Ü.Ù#@.ÝcH߿ܡ£É.¥ 0©¤ˆL« Të# `Ô `– Ö'¿à€ .í#<Qïc¬­Ê¶ €€Qñ#¬³ ¸ó'¿Ø€QÐ#¬Ð'¿Ø.õ#@.ùcHû¿Ø½§I< >… Z‡ BÇ'¿àпàÐ'¿øÐ¿øÐ'¿ü.É#LQËc¬©J¤€€ 3’b¬3”¢Ô–#ê@e% @e.Í#PQÏc¬©Ê¦€€ 3’bÜ3”£–#ê@e @dù€ 3’c 3”£4–#ê@e @dëпüÐ7¿Öп֓2 ” `ÿÔ/¿Ôп֒ ÿÒ/¿Õ”¿ÔÒ HРD– ÿÞsРDÒ H” ÿÝ•Çàè?ÿÿ‚cˆã€ð' Dò' HÀ'¿ü Ð'¿øÀ'¿ô.Ð#”€€€ 3’c<3”£d–$@dÎ @d¹ .Ð"cœ #.Ð"c˜Ð¿üÐ7¿òпò“2 ” `ÿÔ/¿ðпò’ ÿÒ/¿ñ”¿ðÒ HРD– ÿÞ;пü Ð'¿üQÐ"ø€€€Ð¿øÐ'¿ì€Ð¿ôÐ'¿ìпìÐ7¿òпò“2 ” `ÿÔ/¿êпò’ ÿÒ/¿ë”¿êÒ HРD– ÿÞпüÐ7¿òпò“2 ” `ÿÔ/¿ðпò’ ÿÒ/¿ñ”¿ðÒ HРD– ÿÞ Ð¿ü Ð'¿üQÐ"ü€€€Ð¿øÐ'¿ì€Ð¿ôÐ'¿ìпìÐ7¿òпò“2 ” `ÿÔ/¿êпò’ ÿÒ/¿ë”¿êÒ HРD– ÿÝîпüÐ7¿òпò“2 ” `ÿÔ/¿ðпò’ ÿÒ/¿ñ”¿ðÒ HРD– ÿÝßпü Ð'¿üQÐ#€€€Ð¿øÐ'¿ì€Ð¿ôÐ'¿ìпìÐ7¿òпò“2 ” `ÿÔ/¿êпò’ ÿÒ/¿ë”¿êÒ HРD– ÿÝÀпüÐ7¿òпò“2 ” `ÿÔ/¿ðпò’ ÿÒ/¿ñ”¿ðÒ HРD– ÿݱпü Ð'¿üQÐ#€€€Ð¿øÐ'¿ì€Ð¿ôÐ'¿ìпìÐ7¿òпò“2 ” `ÿÔ/¿êпò’ ÿÒ/¿ë”¿êÒ HРD– ÿݒпüÐ7¿òпò“2 ” `ÿÔ/¿ðпò’ ÿÒ/¿ñ”¿ðÒ HРD– ÿ݃пü Ð'¿üQÐ#€€€Ð¿øÐ'¿ì€Ð¿ôÐ'¿ìпìÐ7¿òпò“2 ” `ÿÔ/¿êпò’ ÿÒ/¿ë”¿êÒ HРD– ÿÝdпüÐ7¿òпò“2 ” `ÿÔ/¿ðпò’ ÿÒ/¿ñ”¿ðÒ HРD– ÿÝUпü Ð'¿üQÐ#€€€Ð¿øÐ'¿ì€Ð¿ôÐ'¿ìпìÐ7¿òпò“2 ” `ÿÔ/¿êпò’ ÿÒ/¿ë”¿êÒ HРD– ÿÝ6пüÐ7¿òпò“2 ” `ÿÔ/¿ðпò’ ÿÒ/¿ñ”¿ðÒ HРD– ÿÝ'пü Ð'¿üQÐ#0€€€Ð¿øÐ'¿ì€Ð¿ôÐ'¿ìпìÐ7¿òпò“2 ” `ÿÔ/¿êпò’ ÿÒ/¿ë”¿êÒ HРD– ÿÝпüÐ7¿òпò“2 ” `ÿÔ/¿ðпò’ ÿÒ/¿ñ”¿ðÒ HРD– ÿÜùпü Ð'¿üQÐ#0€€€Ð¿øÐ'¿ì€Ð¿ôÐ'¿ìпìÐ7¿òпò“2 ” `ÿÔ/¿êпò’ ÿÒ/¿ë”¿êÒ HРD– ÿÜÚпüÐ7¿òпò“2 ” `ÿÔ/¿ðпò’ ÿÒ/¿ñ”¿ðÒ HРD– ÿÜËпü Ð'¿üQÐ#4€€€Ð¿øÐ'¿ì€Ð¿ôÐ'¿ìпìÐ7¿òпò“2 ” `ÿÔ/¿êпò’ ÿÒ/¿ë”¿êÒ HРD– ÿܬпüÐ7¿òпò“2 ” `ÿÔ/¿ðпò’ ÿÒ/¿ñ”¿ðÒ HРD– ÿÜпü Ð'¿üQÐ#8€€€Ð¿øÐ'¿ì€Ð¿ôÐ'¿ìпìÐ7¿òпò“2 ” `ÿÔ/¿êпò’ ÿÒ/¿ë”¿êÒ HРD– ÿÜ~пüÐ7¿òпò“2 ” `ÿÔ/¿ðпò’ ÿÒ/¿ñ”¿ðÒ HРD– ÿÜoпü Ð'¿üQÐ#<€€€Ð¿øÐ'¿ì€Ð¿ôÐ'¿ìпìÐ7¿òпò“2 ” `ÿÔ/¿êпò’ ÿÒ/¿ë”¿êÒ HРD– ÿÜPпüÐ7¿òпò“2 ” `ÿÔ/¿ðпò’ ÿÒ/¿ñ”¿ðÒ HРD– ÿÜAпü Ð'¿üQÐ#X€€€Ð¿øÐ'¿ì€Ð¿ôÐ'¿ìпìÐ7¿òпò“2 ” `ÿÔ/¿êпò’ ÿÒ/¿ë”¿êÒ HРD– ÿÜ"пüÐ7¿òпò“2 ” `ÿÔ/¿ðпò’ ÿÒ/¿ñ”¿ðÒ HРD– ÿÜпü Ð'¿üQÐ#`€€€Ð¿øÐ'¿ì€Ð¿ôÐ'¿ìпìÐ7¿òпò“2 ” `ÿÔ/¿êпò’ ÿÒ/¿ë”¿êÒ HРD– ÿÛôпüÐ7¿òпò“2 ” `ÿÔ/¿ðпò’ ÿÒ/¿ñ”¿ðÒ HРD– ÿÛåпü Ð'¿üQÐ#\€€€Ð¿øÐ'¿ì€Ð¿ôÐ'¿ìпìÐ7¿òпò“2 ” `ÿÔ/¿êпò’ ÿÒ/¿ë”¿êÒ HРD– ÿÛÆÐ¿üÐ7¿òпò“2 ” `ÿÔ/¿ðпò’ ÿÒ/¿ñ”¿ðÒ HРD– ÿ۷пü Ð'¿üQÐ#\€€€Ð¿øÐ'¿ì€Ð¿ôÐ'¿ìпìÐ7¿òпò“2 ” `ÿÔ/¿êпò’ ÿÒ/¿ë”¿êÒ HРD– ÿۘРDÒ H” ÿÚºÇàè?ÿÿ‚c ã€ð' Dò' H Ð# \РDÒ H” – š˜!¼š 4ÿãC Ð# \РDÒ H” – š˜!¼š 8ÿã8 Ð# \РDÒ H” – ›˜ èš <ÿã- Ð# \РDÒ H” –  ˜# š @ÿã" Ð# \РDÒ H” – š˜!¼š Lÿã Ð# \РDÒ H” – š˜!¼š Pÿã  Ð# \РDÒ H” – ›˜ èš Tÿã Ð# \РDÒ H” –  ˜# š Xÿâö Ð# \РDÒ H” – š˜!¼š dÿâë Ð# \РDÒ H” – š˜!¼š hÿâà Ð# \РDÒ H” – ™˜#´š lÿâÕ Ð# \РDÒ H” – ›˜ èš pÿâÊ Ð# \РDÒ H” – ›˜ èš tÿâ¿ Ð# \РDÒ H” –  ˜# š xÿâ´ Ð# \РDÒ H” – œ˜ <š „ÿâ© Ð# \РDÒ H” – œ˜ <š ˆÿâž Ð# \РDÒ H” – ™˜#´š ˜ÿâ“РDÒ Hÿê Ð# \РDÒ H” – š˜!¼š ¤ÿâ„ Ð# \РDÒ H” – ™˜#´š ¨ÿây Ð# \РDÒ H” –  ˜# š ¬ÿân Ð# \РDÒ H” – š˜!¼š ¸ÿâc Ð# \РDÒ H” – š˜!¼š ¼ÿâXРDÒ HÿôèРDÒ Hÿù­Ð DÒ HÿïÊРDÒ HÿüÇàè?ÿÿ‚cã€ð' Dò' HРHÐ'¿øÐ H" Ð' HпøÐ'¿üпüÐ'¿ôпô€€€|РH“* Ô DÖ€ Øà€£ €$€Ð H“* Ô DÖ€ Øà€£ €€Ð H“* Ô DÖ€ Øà€£ €€ 3’cl3”£”–$Y@`Ä @`¯Ð H“* Ô DÖ€ Øà€£ €€FРH“* РD ’ ÿíРH“* РD ’ ÿä7.Ð#”€€€ 3’cœ3”£Ä–$^@`™ @`„.À"#œ .Ð"c˜Ð H“* РD ’ ” ÿÙ5РH“* РD ’ ” ÿã¿Ð H“* РD ’ ÿþpРH“* РD ’ ÿﵿÿyÇàè?ÿÿ‚cÀ〠€°Çàè?ÿÿ‚cˆã€ð' D Ð'¿ü€  3’cÌ.”£T@`V €ÚРD€€€ 4’`4” 0–$‡@`D @`/ ÀÿË®Ð'¿øÐ DÒ¿øÒ" пø€€€¸Ð DÒ Ò'¿ôРDÐ 4’`8@`%Ð'¿ðпôÒ¿ðÒ" Ð¿ð€€€Ð D @ €ŸÐ¿ôÒ DÒ" пô’ Ò"пôÀ" .Ð#”€€€ 4’`<4” d–$”@` @_î.À"#œ .Ð"c˜¿ô’ 4” lÿÚu¿ô’ ” ÿØœ¿ô’ ” ÿã).Ð#”€€€ 4’`x4”  –$•@_Û @_Æ .Ð"cœ .Ð"c˜ Ð7¿îпî“2 ” `ÿÔ/¿ìÐ¿î’ ÿÒ/¿í¿ô”¿ì’ – ÿÙH¿ô’ ” ÿØj.Ð#”€€€ 4’`¨4” Ð–$–@_® @_™ .Ð"cœ .Ð"c˜.Ð!¼Ð7¿îпî“2 ” `ÿÔ/¿ìÐ¿î’ ÿÒ/¿í¿ô”¿ì’ – ÿÙ¿ô.Öá¼—*à’ .”¡´ÿÙŠ¿ô’ ” ÿØ3¿ô’ ÿâä¿ô’ ÿçÞÀ'¿üпü€°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LÀ'¿üпüÒ H€¢ €€Aпü“* Ô DÖ€ Ö'¿øÐ¿øÒ €¢`€€0.Ð#”€€€ 4’`Ø4”¡–$¶@_N @_9.À"#œ .Ð"c˜¿ø’ ” ÿ×í¿ø’ ” ÿâz¿ø’ ÿç—¿ø’ ÿë„¿ø’ ÿâ¾Ð¿ü Ð'¿ü¿ÿ¼ €°Çàè?ÿÿ‚c˜ã€ð' Dò' HÀ'¿üпüÒ H€¢ €€"пü“* Ô DÖ€ Ö'¿øÐ¿øÒ €¢`€€Ð¿ü“* РD ’ ” ÿÿŽÐ¿ü“* Ô DÖ€ Ðàÿ°Vпü Ð'¿ü¿ÿÛ €°Çàè?ÿÿ‚cÀã€ô' L €°Çàè?ÿÿ‚cÀã€ô' Lö' P €°Çàè?ÿÿ‚cã€ð' Dò' Hô' LРDÐ'¿üÀ'¿øÐ¿üÒ HÿýÓ.Ð#”€€€ 4’a4”¡0–% @^À @^« .Ð"cœ .Ð"c˜Ð¿øÐ7¿öпö“2 ” `ÿÔ/¿ôпö’ ÿÒ/¿õ”¿ôÒ Hпü– ÿØ-пüÒ HÔ LÿÙ#пüÒ H” ÿ×JпüÒ H” ÿá× €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lö' Pø' TРDÐ'¿ø€ Ð'¿ü€% Ð'¿ü€! Ð'¿ü€ 4’a84”¡`–%)@^r @^] €>РL€¢ ¿ÿ〢 ¿ÿ䀢 ¿ÿå¿ÿçпøÒ Hÿý_.Ð#”€€€ 4’ah4”¡–%.@^L @^7 .Ð"cœÐ¿ü.Ð"c˜Ð¿øÒ HÔ TÖ PÿÛRпøÒ H” ÿÖäпøÒ H” ÿáq €°Çàè?ÿÿ‚c`ã€ð' Dò' Hô' Lö' P Ð'¿üРDÐ'¿øÐ¿øÒ Hÿý!.Ð#”€€€ 4’a˜4”¡À–%E@^ @]ù .Ð"cœ .Ð"c˜.Ñ#`Ò LÓ@ªJ¨ €€l.Õ#`Ò L×@ªÊª €€Ð LÙ› ¬Û'¿ì€Ð LÒÒ'¿ì.Ý#h.ácpã¿ì¥¤I0© 2­¥N¯ Vï# `Ô `€ €€%.ñ#`Ò Ló@®J¸ €€Ð Lõ· º÷'¿ä€Ð LÒÒ'¿ä.ù#h.ýcpÿ¿ä§É>…  ‰ ˆ\‹ DË# `Ô `– Ö'¿è€ .Í#`Ò LÏ@©Ê¦ €€Ð LÑ“ ¨Ó'¿à€Ð LÒÒ'¿à.Õ#h.ÙcpÛ¿à£I,¡ .¥¤J§ Rç'¿èÐ¿è’ Ò'¿ð€i.é#`Ò Lë@­J´ €€Ð Lí¯ ¶ï'¿Ü€Ð LÒÒ'¿Ü.ñ#h.õcp÷¿Ü¹¦É:½ <§ˆXƒ @Ã# `Ô `€ €€%.Å#`Ò LÇ@¨Ê¢ €€Ð LÉ‹ ¤Ë'¿Ô€Ð LÒÒ'¿Ô.Í#h.ÑcpÓ¿Ô•¢I(™ *£FŸ Nß# `Ô `– Ö'¿Ø€ .á#`Ò Lã@¬J° €€Ð Lå§ ²ç'¿Ð€Ð LÒÒ'¿Ð.é#h.ícpï¿Ð±¥É6µ 8¹¦ˆT» \û'¿ØÐ¿ØÐ'¿ðпðÐ'¿ô.ý#tÒ Lÿ@¯Ê¾€€ 4’aÈ4”¡ð–%F@] @\þ.Á#xÒ LÃ@¨J €€ 4’aø4”¢ –%F@\ü @\ç€ 4’b(4”¢P–%F@\î @\ÙпôÐ7¿ÎпΓ2 ” `ÿÔ/¿ÌпΒ ÿÒ/¿Í”¿ÌÒ Hпø– ÿÖa.Å#`Ò LÇ`¨Ê¢ €€l.É#`Ò LË`©J¤ €€Ð LÍ  ¦Ï'¿ì€Ð LÒ Ò'¿ì.Ñ#h.Õcp׿왢É* ,¡£ˆH£ Pã# `Ô `€ €€%.å#`Ò Lç`¬Ê² €€Ð Lé « ´ë'¿ä€Ð LÒ Ò'¿ä.í#h.ñcpó¿äµ¦I8¹ :½§V¿ ^ÿ# `Ô `– Ö'¿è€ .Á#`Ò LÃ`¨J  €€Ð LÅ ‡ ¢Ç'¿à€Ð LÒ Ò'¿à.É#h.ÍcpÏ¿à‘¡É&• (™¢ˆD› LÛ'¿èÐ¿è’ Ò'¿ð€i.Ý#`Ò Lß`«Ê® €€Ð Lá £ °ã'¿Ü€Ð LÒ Ò'¿Ü.å#h.écpë¿Ü­¥I4± 6µ¦R· Z÷# `Ô `€ €€%.ù#`Ò Lû`¯J¼ €€Ð Lý ¿ ¾ÿ'¿Ô€Ð LÒ Ò'¿Ô.Á#h.Åcpǿԉ É" $‘¡ˆ@“ HÓ# `Ô `– Ö'¿Ø€ .Õ#`Ò L×`ªÊª €€Ð LÙ › ¬Û'¿Ð€Ð LÒ Ò'¿Ð.Ý#h.ácpã¿Ð¥¤I0© 2­¥N¯ Vï'¿ØÐ¿ØÐ'¿ðпðÐ'¿ô.ñ#tÒ Ló`®J¸€€ 4’bX4”¢€–%F@[ê @[Õ.õ#xÒ L÷`®Êº€€ 4’bˆ4”¢°–%F@[Ó @[¾€ 4’b¸4”¢à–%F@[Å @[°Ð¿ôÐ7¿ÎпΓ2 ” `ÿÔ/¿ÌпΒ ÿÒ/¿Í”¿ÌÒ Hпø– ÿÕ8пüÐ7¿öпö“2 ” `ÿÔ/¿ôпö’ ÿÒ/¿õ”¿ôÒ Hпø– ÿÕ)пøÒ HÔ PÿÖпøÒ H” ÿÔFпøÒ H” ÿÞÓ €°Çàè?ÿÿ‚cXã€ð' Dò' Hô' Lö' Pø' Tú' X Ð'¿ü Ð'¿øÐ DÐ'¿ðпðÒ Hÿú.Ð#”€€€ 4’bè4”£–%a@[l @[W .Ð"cœ .Ð"c˜.ù#|Ò Lû@¯J¼ €€l.ý#|Ò Lÿ@¯Ê¾ €€Ð LÁƒ  Ã'¿ä€Ð LÒÒ'¿ä.Å#€.ÉcˆË¿ä¡I$‘ &•¢B— J×# `Ô `€ €€%.Ù#|Ò LÛ@«J¬ €€Ð LÝŸ ®ß'¿Ü€Ð LÒÒ'¿Ü.á#€.åcˆç¿Ü©¤É2­ 4±¥ˆP³ Xó# `Ô `– Ö'¿à€ .õ#|Ò L÷@®Êº €€Ð Lù» ¼û'¿Ø€Ð LÒÒ'¿Ø.ý#€.ÁcˆÃ¿Ø… I ‰ "¡^ FÏ'¿àÐ¿à’ Ò'¿è€i.Ñ#|Ò LÓ@ªJ¨ €€Ð LÕ— ª×'¿Ô€Ð LÒÒ'¿Ô.Ù#€.Ýcˆß¿Ô¡£É.¥ 0©¤ˆL« Të# `Ô `€ €€%.í#|Ò Lï@­Ê¶ €€Ð Lñ³ ¸ó'¿Ì€Ð LÒÒ'¿Ì.õ#€.ùcˆû¿Ì½§I< >… Z‡ BÇ# `Ô `– Ö'¿Ð€ .É#|Ò LË@©J¤ €€Ð LÍ ¦Ï'¿È€Ð LÒÒ'¿È.Ñ#€.Õcˆ×¿È™¢É* ,¡£ˆH£ Pã'¿ÐпÐÐ'¿èпèÐ'¿ì.å#ŒÒ Lç@¬Ê²€€ 4’c4”£@–%b@Zq @Z\.é#Ò Lë@­J´€€ 4’cH4”£p–%b@ZZ @ZE€ 4’cx4”£ –%b@ZL @Z7пìÐ7¿ÆÐ¿Æ“2 ” `ÿÔ/¿Äпƒ ÿÒ/¿Å”¿ÄÒ Hпð– ÿÓ¿.í#|Ò Lï`­Ê¶ €€l.ñ#|Ò Ló`®J¸ €€Ð Lõ · º÷'¿ä€Ð LÒ Ò'¿ä.ù#€.ýcˆÿ¿ä§É>…  ‰ ˆ\‹ DË# `Ô `€ €€%.Í#|Ò LÏ`©Ê¦ €€Ð LÑ “ ¨Ó'¿Ü€Ð LÒ Ò'¿Ü.Õ#€.ÙcˆÛ¿Ü£I,¡ .¥¤J§ Rç# `Ô `– Ö'¿à€ .é#|Ò Lë`­J´ €€Ð Lí ¯ ¶ï'¿Ø€Ð LÒ Ò'¿Ø.ñ#€.õcˆ÷¿Ø¹¦É:½ <§ˆXƒ @Ã'¿àÐ¿à’ Ò'¿è€i.Å#|Ò LÇ`¨Ê¢ €€Ð LÉ ‹ ¤Ë'¿Ô€Ð LÒ Ò'¿Ô.Í#€.ÑcˆÓ¿Ô•¢I(™ *£FŸ Nß# `Ô `€ €€%.á#|Ò Lã`¬J° €€Ð Lå § ²ç'¿Ì€Ð LÒ Ò'¿Ì.é#€.ícˆï¿Ì±¥É6µ 8¹¦ˆT» \û# `Ô `– Ö'¿Ð€ .ý#|Ò Lÿ`¯Ê¾ €€Ð LÁ ƒ  Ã'¿È€Ð LÒ Ò'¿È.Å#€.ÉcˆË¿È¡I$‘ &•¢B— J×'¿ÐпÐÐ'¿èпèÐ'¿ì.Ù#ŒÒ LÛ`«J¬€€ 4’c¨4”£Ð–%b@YH @Y3.Ý#Ò Lß`«Ê®€€ 4’cØ5” –%b@Y1 @Y€ 5’`5” 0–%b@Y# @YпìÐ7¿ÆÐ¿Æ“2 ” `ÿÔ/¿Äпƒ ÿÒ/¿Å”¿ÄÒ Hпð– ÿÒ–.á#|Ò Pã@¬J° €€l.å#|Ò Pç@¬Ê² €€Ð Pé« ´ë'¿ä€Ð PÒÒ'¿ä.í#€.ñcˆó¿äµ¦I8¹ :½§V¿ ^ÿ# `Ô `€ €€%.Á#|Ò PÃ@¨J  €€Ð PŇ ¢Ç'¿Ü€Ð PÒÒ'¿Ü.É#€.ÍcˆÏ¿Ü‘¡É&• (™¢ˆD› LÛ# `Ô `– Ö'¿à€ .Ý#|Ò Pß@«Ê® €€Ð Pᣠ°ã'¿Ø€Ð PÒÒ'¿Ø.å#€.écˆë¿Ø­¥I4± 6µ¦R· Z÷'¿àÐ¿à’ Ò'¿è€i.ù#|Ò Pû@¯J¼ €€Ð Pý¿ ¾ÿ'¿Ô€Ð PÒÒ'¿Ô.Á#€.ÅcˆÇ¿Ô‰ É" $‘¡ˆ@“ HÓ# `Ô `€ €€%.Õ#|Ò P×@ªÊª €€Ð PÙ› ¬Û'¿Ì€Ð PÒÒ'¿Ì.Ý#€.ácˆã¿Ì¥¤I0© 2­¥N¯ Vï# `Ô `– Ö'¿Ð€ .ñ#|Ò Pó@®J¸ €€Ð Põ· º÷'¿È€Ð PÒÒ'¿È.ù#€.ýcˆÿ¿È§É>…  ‰ ˆ\‹ DË'¿ÐпÐÐ'¿èпèÐ'¿ì.Í#ŒÒ PÏ@©Ê¦€€ 5’`85” `–%c@X @X .Ñ#Ò PÓ@ªJ¨€€ 5’`h5” –%c@X @Wó€ 5’`˜5” À–%c@Wú @WåпìÐ7¿ÆÐ¿Æ“2 ” `ÿÔ/¿Äпƒ ÿÒ/¿Å”¿ÄÒ Hпð– ÿÑm.Õ#|Ò P×`ªÊª €€l.Ù#|Ò PÛ`«J¬ €€Ð PÝ Ÿ ®ß'¿ä€Ð PÒ Ò'¿ä.á#€.åcˆç¿ä©¤É2­ 4±¥ˆP³ Xó# `Ô `€ €€%.õ#|Ò P÷`®Êº €€Ð Pù » ¼û'¿Ü€Ð PÒ Ò'¿Ü.ý#€.ÁcˆÃ¿Ü… I ‰ "¡^ FÏ# `Ô `– Ö'¿à€ .Ñ#|Ò PÓ`ªJ¨ €€Ð PÕ — ª×'¿Ø€Ð PÒ Ò'¿Ø.Ù#€.Ýcˆß¿Ø¡£É.¥ 0©¤ˆL« Të'¿àÐ¿à’ Ò'¿è€i.í#|Ò Pï`­Ê¶ €€Ð Pñ ³ ¸ó'¿Ô€Ð PÒ Ò'¿Ô.õ#€.ùcˆû¿Ô½§I< >… Z‡ BÇ# `Ô `€ €€%.É#|Ò PË`©J¤ €€Ð PÍ  ¦Ï'¿Ì€Ð PÒ Ò'¿Ì.Ñ#€.Õcˆ×¿Ì™¢É* ,¡£ˆH£ Pã# `Ô `– Ö'¿Ð€ .å#|Ò Pç`¬Ê² €€Ð Pé « ´ë'¿È€Ð PÒ Ò'¿È.í#€.ñcˆó¿Èµ¦I8¹ :½§V¿ ^ÿ'¿ÐпÐÐ'¿èпèÐ'¿ì.Á#ŒÒ PÃ`¨J €€ 5’`È5” ð–%c@Vö @Vá.Å#Ò PÇ`¨Ê¢€€ 5’`ø5”¡ –%c@Vß @VÊ€ 5’a(5”¡P–%c@VÑ @V¼Ð¿ìÐ7¿ÆÐ¿Æ“2 ” `ÿÔ/¿Äпƒ ÿÒ/¿Å”¿ÄÒ Hпð– ÿÐD.É#|Ò TË@©J¤ €€l.Í#|Ò TÏ@©Ê¦ €€Ð TÑ“ ¨Ó'¿ä€Ð TÒÒ'¿ä.Õ#€.ÙcˆÛ¿ä£I,¡ .¥¤J§ Rç# `Ô `€ €€%.é#|Ò Të@­J´ €€Ð Tí¯ ¶ï'¿Ü€Ð TÒÒ'¿Ü.ñ#€.õcˆ÷¿Ü¹¦É:½ <§ˆXƒ @Ã# `Ô `– Ö'¿à€ .Å#|Ò TÇ@¨Ê¢ €€Ð TÉ‹ ¤Ë'¿Ø€Ð TÒÒ'¿Ø.Í#€.ÑcˆÓ¿Ø•¢I(™ *£FŸ Nß'¿àÐ¿à’ Ò'¿è€i.á#|Ò Tã@¬J° €€Ð Tå§ ²ç'¿Ô€Ð TÒÒ'¿Ô.é#€.ícˆï¿Ô±¥É6µ 8¹¦ˆT» \û# `Ô `€ €€%.ý#|Ò Tÿ@¯Ê¾ €€Ð TÁƒ  Ã'¿Ì€Ð TÒÒ'¿Ì.Å#€.ÉcˆË¿Ì¡I$‘ &•¢B— J×# `Ô `– Ö'¿Ð€ .Ù#|Ò TÛ@«J¬ €€Ð TÝŸ ®ß'¿È€Ð TÒÒ'¿È.á#€.åcˆç¿È©¤É2­ 4±¥ˆP³ Xó'¿ÐпÐÐ'¿èпèÐ'¿ì.õ#ŒÒ T÷@®Êº€€ 5’aX5”¡€–%d@UÍ @U¸.ù#Ò Tû@¯J¼€€ 5’aˆ5”¡°–%d@U¶ @U¡€ 5’a¸5”¡à–%d@U¨ @U“пìÐ7¿ÆÐ¿Æ“2 ” `ÿÔ/¿Äпƒ ÿÒ/¿Å”¿ÄÒ Hпð– ÿÏ.ý#|Ò Tÿ`¯Ê¾ €€l.Á#|Ò TÃ`¨J  €€Ð TÅ ‡ ¢Ç'¿ä€Ð TÒ Ò'¿ä.É#€.ÍcˆÏ¿ä‘¡É&• (™¢ˆD› LÛ# `Ô `€ €€%.Ý#|Ò Tß`«Ê® €€Ð Tá £ °ã'¿Ü€Ð TÒ Ò'¿Ü.å#€.écˆë¿Ü­¥I4± 6µ¦R· Z÷# `Ô `– Ö'¿à€ .ù#|Ò Tû`¯J¼ €€Ð Tý ¿ ¾ÿ'¿Ø€Ð TÒ Ò'¿Ø.Á#€.ÅcˆÇ¿Ø‰ É" $‘¡ˆ@“ HÓ'¿àÐ¿à’ Ò'¿è€i.Õ#|Ò T×`ªÊª €€Ð TÙ › ¬Û'¿Ô€Ð TÒ Ò'¿Ô.Ý#€.ácˆã¿Ô¥¤I0© 2­¥N¯ Vï# `Ô `€ €€%.ñ#|Ò Tó`®J¸ €€Ð Tõ · º÷'¿Ì€Ð TÒ Ò'¿Ì.ù#€.ýcˆÿ¿Ì§É>…  ‰ ˆ\‹ DË# `Ô `– Ö'¿Ð€ .Í#|Ò TÏ`©Ê¦ €€Ð TÑ “ ¨Ó'¿È€Ð TÒ Ò'¿È.Õ#€.ÙcˆÛ¿È£I,¡ .¥¤J§ Rç'¿ÐпÐÐ'¿èпèÐ'¿ì.é#ŒÒ Të`­J´€€ 5’aè5”¢–%d@T¤ @T.í#Ò Tï`­Ê¶€€ 5’b5”¢@–%d@T @Tx€ 5’bH5”¢p–%d@T @TjпìÐ7¿ÆÐ¿Æ“2 ” `ÿÔ/¿Äпƒ ÿÒ/¿Å”¿ÄÒ Hпð– ÿÍòР`ÒÒ7¿îпî“2 ” `ÿÔ/¿ìÐ¿î’ ÿÒ/¿í”¿ìÒ Hпð– ÿÍâР`Ò Ò7¿îпî“2 ” `ÿÔ/¿ìÐ¿î’ ÿÒ/¿í”¿ìÒ Hпð– ÿÍÒпüÐ7¿îпî“2 ” `ÿÔ/¿ìÐ¿î’ ÿÒ/¿í”¿ìÒ Hпð– ÿÍÃпøÐ7¿îпî“2 ” `ÿÔ/¿ìÐ¿î’ ÿÒ/¿í”¿ìÒ Hпð– ÿʹР`Ò Ð X@T?“* Ô \–€ Ö'¿ôР\Ò¿ô€¢ €€Ð `ÖÒ HпðÔ \ÿÔãРX“* Ô \”€ Ô' \¿ÿíпðÒ H” ÿ×J €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lö' Pø' TРDÐ'¿ü€ÉÀ'¿øÐ¿øÒ H€¢ €€&пø“* Ô¿üÖ€ ñ P³ Øó"à<пø“* Ô¿üÖ€ Øà€£ €€ Ð# \Ò¿ø•*`пü ’ ” – ›˜ èš <ÿÕпø Ð'¿ø¿ÿ×€¯À'¿øÐ¿øÒ H€¢ €€&пø“* Ô¿üÖ€ õ P· Ú÷"àTпø“* Ô¿üÖ€ Øà€£ €€ Ð# \Ò¿ø•*`пü ’ ” – ›˜ èš TÿÔìпø Ð'¿ø¿ÿ×€À'¿øÐ¿øÒ H€¢ €€&пø“* Ô¿üÖ€ ù P» Üû"àpпø“* Ô¿üÖ€ Øà€£ €€ Ð# \Ò¿ø•*`пü ’ ” – ›˜ èš pÿԾпø Ð'¿ø¿ÿ×€SÀ'¿øÐ¿øÒ H€¢ €€&пø“* Ô¿üÖ€ ý P¿ Þÿ"àtпø“* Ô¿üÖ€ Øà€£ €€ Ð# \Ò¿ø•*`пü ’ ” – ›˜ èš tÿÔпø Ð'¿ø¿ÿ×€% 5’bx5”¢ –%›@S9 @S$ €Ð L" €¢ ¿ÿî‘* Í’`$Ð Â0à3À3À3À1˜3À3À3À2P3 €°Çàè?ÿÿ‚cÀ〠€°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lö' PРDÐ'¿ü€4À'¿øÐ¿øÒ H€¢ €€%пø“* Ô¿üÖ€ Ø PØ"à4пø“* Ô¿üÖ€ Øà€£ €€ Ð# \Ò¿ø•*`пü ’ ” – š˜!¼š 4ÿÔ&пø Ð'¿ø¿ÿØ€IÀ'¿øÐ¿øÒ H€¢ €€%пø“* Ô¿üÖ€ Ø PØ"à8пø“* Ô¿üÖ€ Øà€£ €€ Ð# \Ò¿ø•*`пü ’ ” – š˜!¼š 8ÿÓùпø Ð'¿ø¿ÿØ€À'¿øÐ¿øÒ H€¢ €€%пø“* Ô¿üÖ€ Ø PØ"à@пø“* Ô¿üÖ€ Øà€£ €€ Ð# \Ò¿ø•*`пü ’ ” –  ˜# š @ÿÓÌпø Ð'¿ø¿ÿØ€ïÀ'¿øÐ¿øÒ H€¢ €€%пø“* Ô¿üÖ€ Ø PØ"àLпø“* Ô¿üÖ€ Øà€£ €€ Ð# \Ò¿ø•*`пü ’ ” – š˜!¼š Lÿӟпø Ð'¿ø¿ÿØ€ÂÀ'¿øÐ¿øÒ H€¢ €€%пø“* Ô¿üÖ€ Ø PØ"àPпø“* Ô¿üÖ€ Øà€£ €€ Ð# \Ò¿ø•*`пü ’ ” – š˜!¼š PÿÓrпø Ð'¿ø¿ÿØ€•À'¿øÐ¿øÒ H€¢ €€%пø“* Ô¿üÖ€ Ø PØ"àXпø“* Ô¿üÖ€ Øà€£ €€ Ð# \Ò¿ø•*`пü ’ ” –  ˜# š XÿÓEпø Ð'¿ø¿ÿØ€hÀ'¿øÐ¿øÒ H€¢ €€%пø“* Ô¿üÖ€ Ø PØ"àdпø“* Ô¿üÖ€ Øà€£ €€ Ð# \Ò¿ø•*`пü ’ ” – š˜!¼š dÿÓпø Ð'¿ø¿ÿØ€;À'¿øÐ¿øÒ H€¢ €€%пø“* Ô¿üÖ€ Ø PØ"àxпø“* Ô¿üÖ€ Øà€£ €€ Ð# \Ò¿ø•*`пü ’ ” –  ˜# š xÿÒëпø Ð'¿ø¿ÿØ€À'¿øÐ¿øÒ H€¢ €€%пø“* Ô¿üÖ€ Ø PØ"à¤Ð¿ø“* Ô¿üÖ€ Øà€£ €€ Ð# \Ò¿ø•*`пü ’ ” – š˜!¼š ¤ÿҾпø Ð'¿ø¿ÿØ€áРP€€€-À'¿øÐ¿øÒ H€¢ €€%пø“* Ô¿üÖ€ Ø PØ"à¼Ð¿ø“* Ô¿üÖ€ Øà€£ €€ Ð# \Ò¿ø•*`пü ’ ” – š˜!¼š ¼ÿҋпø Ð'¿ø¿ÿØÀ'¿øÐ¿øÒ H€¢ €€%пø“* Ô¿üÖ€ Ø PØ"à¸Ð¿ø“* Ô¿üÖ€ Øà€£ €€ Ð# \Ò¿ø•*`пü ’ ” – š˜!¼š ¸ÿÒ`пø Ð'¿ø¿ÿØ€ƒÀ'¿øÐ¿øÒ H€¢ €€%пø“* Ô¿üÖ€ Ø PØ"à¬Ð¿ø“* Ô¿üÖ€ Øà€£ €€ Ð# \Ò¿ø•*`пü ’ ” –  ˜# š ¬ÿÒ3пø Ð'¿ø¿ÿØ€V €V 5’b¨5”¢Ð–%ó@PÙ @PÄ €GРL" €¢ ?¿ÿîÏ”¢“2 – —*à’@ —*à’@ ’@’ `™*`Ö €¢À€ €¢ÿÿ¿ÿݘ ˜ xÖ €¢À€¿ÿ÷˜ Ð Â4´5h=466Ð7„?=4888ìÿÿÿÿ=@ÿÿÿÿ=@:T 9 ;<€<=4 €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LÀ'¿üпüÒ H€¢ €€7пü“* Ô DÖ€ ˜àhÚ Là@ä`à# ä# пü“* Ô DÖ€ Øà€£ €€ Ð# \Ò¿ü•*`РD ’ ” – š˜!¼š hÿÑ¢ Ð# \Ò¿ü•*`РD ’ ” – ™˜#´š lÿєпü Ð'¿ü¿ÿÆ €°Çàè?ÿÿ‚c€ã€ð' Dò' Hô' Lö' PРL€€€¿ô’¿ìÿ¬J€¿ôÒ LÔ@Ø`Ô" Ø" ¿ìÒ PÔ@Ø`Ô" Ø" À'¿üпüÒ H€¢ €€YÁ¿øÃ¿ø…  !Ç¿ôÉ¿ô‹ É$¡H"‘ &Ñ# `Р`Ó# `Ò `@®÷“ Àпü“* Ô DÖ€ Ó"à„пü“* Ô DÖ€ Ø¿ôØ"àˆÐ¿ü“* Ô DÖ€ Ø¿øØ"àŒÐ¿ü“* Ô DÖ€ Ø¿ìØ"àпü“* Ô DÖ€ Ø¿ðØ"à”пü“* Ô DÖ€ Øà€£ €€ Ð# \Ò¿ü•*`РD ’ ” – œ˜ <š ˆÿÑ Ð# \Ò¿ü•*`РD ’ ” – œ˜ <š „ÿÑпü Ð'¿ü¿ÿ¤ €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lô' LÀ'¿üпüÒ H€¢ €€%пü“* Ô DÖ€ Ø LØ"à˜Ð¿ü“* Ô DÖ€ Øà€£ €€ Ð# \Ò¿ü•*`РD ’ ” – ™˜#´š ˜ÿÐØÐ¿ü Ð'¿ü¿ÿØ €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LÀ'¿üпüÒ H€¢ €€"пü“* Ô DÖ€ ˜àœÚ Là@ä`à# ä# пü“* Ô DÖ€ Øà€£ €€ пü“* РD ’ ÿØ)пü Ð'¿ü¿ÿÛ €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lô' LÀ'¿üпüÒ H€¢ €€%пü“* Ô DÖ€ Ø LØ"à¨Ð¿ü“* Ô DÖ€ Øà€£ €€ Ð# \Ò¿ü•*`РD ’ ” – ™˜#´š ¨ÿÐlпü Ð'¿ü¿ÿØ €°Çàè?ÿÿ‚cã€ð' Dò' HРHÐ'¿øÐ H" Ð' HпøÐ'¿üпüÐ'¿ôпô€€€Ð H“* Ô DÖ€ Ö'¿ðпðÒ €¢`€€¿ð’ ÿâÑ¿ÿá €°Çàè?ÿÿ‚cã€ð' Dò' HРHÐ'¿øÐ H" Ð' HпøÐ'¿üпüÐ'¿ôпô€€€Ð H“* Ô DÖ€ Ö'¿ðпðÒ €¢`€€¿ð’ ÿçn¿ÿá €°Çàè?ÿÿ‚cã€ð' Dò' HРHÐ'¿øÐ H" Ð' HпøÐ'¿üпüÐ'¿ôпô€€€Ð H“* Ô DÖ€ Ö'¿ðпðÒ €¢`€€¿ð’ ÿ鹿ÿá €°Çàè?ÿÿ‚cÀ〠€°Çàè?ÿÿ‚cÀ〠€°Çàè?ÿÿ‚cÀ〠€°Çàè?ÿÿ‚cÀ〠€°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lö' PРDÐ'¿øÀ'¿üпüÒ H€¢ €€Ð¿ü“* Ô¿øÖ€ Øà€£ €€ пü“* пø ’ Ô LÖ PÿÛèпü Ð'¿ü¿ÿã €°Çàè?ÿÿ‚cã€ð' Dò' HРHÐ'¿øÐ H" Ð' HпøÐ'¿üпüÐ'¿ôпô€€€Ð H“* Ô DÖ€ Ö'¿ðпðÒ €¢`€€¿ð’ ÿÝa¿ÿá €°Çàè?ÿÿ‚cã€ð' Dò' HРHÐ'¿øÐ H" Ð' HпøÐ'¿üпüÐ'¿ôпô€€€>РH“* Ô DÖ€ Ö'¿ðпðÒ €¢`€€0.Ð#”€€€ 5’bØ5”£–'8@Mç @MÒ.À"#œ .Ð"c˜¿ð’ ” ÿƆ¿ð’ ” ÿÑ¿ð’ ÿÖ0¿ð’ ÿÚ¿ð’ ÿÑW¿ÿ· €°Çàè?ÿÿ‚cÀ〠€°Çàè?ÿÿ‚cÀ〠€°Çàè?ÿÿ‚cÀ〠€°Çàè?ÿÿ‚cÀã€ö' P €°Çàè?ÿÿ‚cÀã€ö' P €°Çàè?ÿÿ‚cÀ〠€°Çàè?ÿÿ‚cÀã€ö' P €°Çàè?ÿÿ‚cã€ð' D Ð'¿üРD€€€Ð DÒ€ €€–РDÒÒ'¿øÐ¿øÒ € €€†Ð¿øÒ €¢`€€Ð¿øÒ €¢`€€Ð¿øÒ €¢`€€ 5’c5”£0–'Ç@MD @M/.Ð#”€€€ 5’c85”£`–'È@M1 @M.À"#œ .Ð"c˜¿ø’ ” ÿÅпø’ ” ÿÐ].Ð#”€€€ 5’ch5”£–'É@M @Lú.À"#œ .Ð"c˜¿ø’ ” ÿÅ®¿ø’ ” ÿÐ;пøÒ ÔR`€Š  €€ Ð'¿ô€À'¿ôпøÐ @M7€¢?ÿ€’ €’ Ô¿ô€Š€ €€À'¿üРDÐÿ¸ˆÐ DÀ"пü€°Çàè?ÿÿ‚cÀã€ð' D€A €§ €¤ €¡ €ž €› €˜ H€• €’ ,€ N€Œ ,€‰ €† €ƒ .€€ €} €z '€w ,€t H€q €n?ÿ€kРD€¢ _¿ÿû‘* Ó’b¸Ð ÂM˜M¤M˜M¤M°M¼NˆNˆNˆNˆNˆMÈMÈMÔMÈMàNˆNˆNˆNˆNˆM¤M¤MìM¤M¤M¤MìM¤M¤M°MìMìM¤MøM¤M°M¤M¤M¤M¤NNNM¤NˆNˆNˆNˆNˆNˆN(N(N4N@NLNXNˆNˆNˆNˆNdNˆNˆNˆNˆNˆNˆNˆNˆNˆNdNdNˆNˆNˆNˆNˆNˆNˆNˆM¤M˜M°M¤NˆNˆNˆNˆNˆNˆNpM°M°N|M°°Çàè?ÿÿ‚cã€ð' DРDÒ”"`Ô'¿øÐ DÒ¿øÒ"пø€€€Ð DÒ ”`Ô'¿ðРDÒ¿ðÒ" пðÒ ?ÿÒ'¿ô€Ð D@LsÐ'¿ôпôÐ'¿üпü€¢?ÿ€€ €Ð¿üÒ D@Lfпü€¢ €€ € €°Çàè?ÿÿ‚bøã€ð' Dò' Hô' Lö' P Ð'¿XРDÒR ” ÏÔ2 РH€¢ d€€/À'¿°Ð¿°Ò L€¢ €€$Ô Pп°”€6’`pРD@L7РDÒR €Š` €€#耆РPÒ¿°ÔJ €¢  €€ £€{п° Ð'¿°¿ÿÙ €s€òРPÀ*€WРPÐ'¿üРDÿÿx€€€À'¿X€JРD6’`tÔ¿ü@LÐ'¿X€AРPÐ'¿øÐ Dÿÿb€€€À'¿X€4РD6’`€Ô¿ø@KëÐ'¿XпX€€€€%РDÿÿH€€€À'¿X€Ô¿ø” 6’`ŒÐ D@KÐÐ'¿X€Ð PÐ'¿ôпôÒ P”`Ô" РDÿÿ-€€€À'¿X€ÿРD6’`˜Ô¿ô@K¶Ð'¿XпX€€€€ðРDÿÿ€€€À'¿X€åпôÔ 6’`¤Ð D@K›Ð'¿XпX€€€€ÕпôÒ ÔJ@€¢  €€À'¿X€Ê Ð'¿°Ð¿ôÒÔ¿°€¢€ €€%пôÔ Ò¿°”€ 6’`¨Ð D@KtÐ'¿XпX€€€€Ð¿ôÒ Ô¿°ÖJ@ €¢à €€À'¿X€Ð¿° Ð'¿°¿ÿ×пôÒ Ô¿°À*@ €—РPÐ'¿ðпðÒ P”`Ô" РDÿþ´€€€À'¿X€†Ð D6’`¬Ô¿ð@K=Ð'¿XпX€€€€wÀ'¿°Ð¿ðÒÔ¿°€¢€ €€DРDÿþ‘€€€À'¿X€9пðÔ Ò¿°—*`”€ 6’`¸Ð D@KÐ'¿XпX€€€€&РDÿþs€€€À'¿X€Ð¿ðÔ Ò¿°—*`”€ ” 6’`ÄРD@J÷Ð'¿XпX€€€€Ð¿° Ð'¿°¿ÿ¸€*РPÐ'¿ìпìÒ P”`Ô" РDÿþG€€€À'¿X€Ð D6’`ÐÔ¿ì@JÐÐ'¿XпX€€€€ РDÿþ-€€€À'¿X€ÿ”¿\6’`ÔРD@J¶À/¿g¿\Ô¿ì” 6’`Ü@J±Ð'¿XпX€€€€èРDÿþ €€€À'¿X€Ý”¿\6’`àРD@J”À/¿b¿\Ô¿ì” 6’`ä@JÐ'¿XпX€€€€ÆÐ Dÿý退€À'¿X€»Ð¿ìÔ 6’`èРD@JqÐ'¿XпX€€€€«Ð¿ìÒ ÔJ@€¢  €€À'¿X€  Ð'¿°Ð¿ìÒ Ô¿°€¢€ €€%пìÔ Ò¿°”€ 6’`ìРD@JJÐ'¿XпìÒ Ô¿°ÖJ@ €¢à €€À'¿X€Ð¿X€€€€Ð¿° Ð'¿°¿ÿ×пìÒ Ô¿°À*@ €mРPÐ'¿¼Ð¿¼Ò P”`$Ô" РDÿýŠ€€€À'¿X€\РD6’`ðÔ¿¼@JÐ'¿XпX€€€€MРDÿýp€€€À'¿X€BÔ¿¼” 6’`üРD@IøÐ'¿XпX€€€€2РDÿýU€€€À'¿X€'Ô¿¼” 6’aРD@IÝÐ'¿XпX€€€€Ð Dÿý:€€€À'¿X€ Ô¿¼”  6’aРD@IÂÐ'¿XпX€€€€üРDÿý€€€À'¿X€ñÔ¿¼” 6’a РD@I§Ð'¿XпX€€€€áРDÿý€€€À'¿X€ÖÔ¿¼” 6’a,РD@IŒÐ'¿XпX€€€€ÆÐ Dÿü退€À'¿X€»Ô¿¼” 6’a8РD@IqÐ'¿XпX€€€€«Ð Dÿü΀€€À'¿X€ Ô¿¼” 6’aDРD@IVÐ'¿XпX€€€€Ð¿¼Ð Ò¿¼Ò`@HäÐ'¿¬À'¿°Ð¿°Ò¿¬€¢ €€%РDÿü¤€€€À'¿X€Ð¿¼Ô Ò¿°—*`”€ 6’aPРD@I)Ð'¿XпX€€€€Ð¿° Ð'¿°¿ÿØ€\РPÐ'¿èРDÿü}€€€À'¿X€OРD6’a\Ô¿è@IÐ'¿X€FРPÐ'¿äРDÿüg€€€À'¿X€9РD6’ahÔ¿ä@HðÐ'¿XпX€€€€*РDÿüM€€€À'¿X€Ô¿ä” 6’atРD@HÕÐ'¿XпX€€€€Ð Dÿü2€€€À'¿X€Ô¿ä” 6’a€Ð D@HºÐ'¿XпX€€€€ôРDÿü€€€À'¿X€éÔ¿ä”  6’aŒÐ D@HŸÐ'¿X€ßРPÐ'¿´Ð Dÿü€€€À'¿X€ÒРD6’a˜Ô¿´@H‰Ð'¿XпX€€€€ÃРDÿû怀€À'¿X€¸Ô¿´” 6’a¤Ð D@HnÐ'¿XпX€€€€¨Ð DÿûË€€€À'¿X€Ô¿´” 6’a°Ð D@HSÐ'¿XпX€€€€Ð Dÿû°€€€À'¿X€‚Ô¿´”  6’a¼Ð D@H8Ð'¿X€xРPÐ'¿¸Ð Dÿû™€€€À'¿X€kРD6’aÈÔ¿¸@H"Ð'¿XпX€€€€\РDÿû€€€À'¿X€QÔ¿¸” 6’aÔРD@HÐ'¿X€GРPÐ'¿àÀ'¿°Ð¿°€¢ €€$РDÿûa€€€À'¿X€Ð¿°“* Ô¿à”€ 6’aàРD@GçÐ'¿XпX€€€€Ð¿° Ð'¿°¿ÿڀРPÐ'¿ÜРDÿû;€€€À'¿X€ РD6’aìÔ¿Ü@GÄÐ'¿XпX€€€€þРDÿû!€€€À'¿X€óÔ¿Ü” 6’aøÐ D@G©Ð'¿XпX€€€€ãРDÿû€€€À'¿X€ØÔ¿Ü”  6’bРD@GŽÐ'¿XпX€€€€ÈРDÿú뀀€À'¿X€½Ô¿Ü” 6’bРD@GsÐ'¿X€³Ð PÐ'¿ØÐ DÿúÔ€€€À'¿X€¦Ð D6’bÔ¿Ø@G]Ð'¿XпX€€€€—РDÿúº€€€À'¿X€ŒÔ¿Ø” 6’b(РD@GBÐ'¿XпX€€€€|РDÿúŸ€€€À'¿X€qÔ¿Ø” 6’b4РD@G'Ð'¿XпX€€€€aРDÿú„€€€À'¿X€VÔ¿Ø” 6’b@РD@G Ð'¿XпX€€€€FРDÿúi€€€À'¿X€;Ô¿Ø” 6’bLРD@FñÐ'¿XпX€€€€+РDÿúN€€€À'¿X€ Ô¿Ø”  6’bXРD@FÖÐ'¿X€Ð PÐ'¿ÔРDÿú7€€€À'¿X€ РD6’bdÔ¿Ô@FÀÐ'¿XпX€€€€úРDÿú€€€À'¿X€ïÔ¿Ô” 6’bpРD@F¥Ð'¿XпX€€€€ßРDÿú€€€À'¿X€ÔÔ¿Ô” 6’b|РD@FŠÐ'¿XпX€€€€ÄРDÿù瀀€À'¿X€¹Ô¿Ô”  6’bˆÐ D@FoÐ'¿X€¯Ð PÐ'¿ÐРDÿùЀ€€À'¿X€¢Ð D6’b”Ô¿Ð@FYÐ'¿XпX€€€€“РDÿù¶€€€À'¿X€ˆÔ¿Ð” 6’b Ð D@F>Ð'¿XпX€€€€xРDÿù›€€€À'¿X€mԿД 6’b¬Ð D@F#Ð'¿XпX€€€€]пÐÒ P”`Ô" пÐÐ Ò¿ÐÒ`@E­Ð'¿¬À'¿°Ð¿°Ò¿¬€¢ €€%РDÿùm€€€À'¿X€Ð¿ÐÔ Ò¿°—*`”€ 6’b¸Ð D@EòÐ'¿XпX€€€€Ð¿° Ð'¿°¿ÿØ€%РPÐ'¿ÌРDÿùF€€€À'¿X€Ð D6’bÄÔ¿Ì@EÏÐ'¿XпX€€€€ РDÿù,€€€À'¿X€þÔ¿Ì” 6’bÐРD@E´Ð'¿XпX€€€€îРDÿù€€€À'¿X€ãÔ¿Ì” 6’bÜРD@E™Ð'¿XпX€€€€ÓРDÿøö€€€À'¿X€ÈÔ¿Ì”  6’bèРD@E~Ð'¿X€¾Ð PÐ'¿ÈРDÿøß€€€À'¿X€±Ð D6’bôÔ¿È@EhÐ'¿XпX€€€€¢Ð DÿøÅ€€€À'¿X€—Ô¿È” 6’cРD@EMÐ'¿XпX€€€€‡Ð Dÿøª€€€À'¿X€|Ô¿È” 6’c РD@E2Ð'¿XпX€€€€lРDÿø€€€À'¿X€aÔ¿È”  6’cРD@EÐ'¿X€WРPÐ'¿ÄРDÿøx€€€À'¿X€JРD6’c$Ô¿Ä@EÐ'¿XпX€€€€;РDÿø^€€€À'¿X€0Ô¿Ä” 6’c0РD@DæÐ'¿XпX€€€€ РDÿøC€€€À'¿X€Ô¿Ä” 6’c<РD@DËÐ'¿XпX€€€€Ð Dÿø(€€€À'¿X€úÔ¿Ä”  6’cHРD@D°Ð'¿XпX€€€€êРDÿø €€€À'¿X€ßÔ¿Ä” 6’cTРD@D•Ð'¿XпX€€€€ÏРDÿ÷ò€€€À'¿X€ÄÔ¿Ä” 6’c`РD@DzÐ'¿XпX€€€€´Ð Dÿ÷×€€€À'¿X€©Ô¿Ä” 6’clРD@D_Ð'¿X€ŸÐ PÐ'¿ÀРDÿ÷À€€€À'¿X€’РD6’cxÔ¿À@DIÐ'¿XпX€€€€ƒÐ Dÿ÷¦€€€À'¿X€xÔ¿À” 6’c„РD@D.Ð'¿X€nÀ'¿X€kРH€¢ _¿ÿû‘* Ü’b,Ð ÂRHRXRHRXR°StqüqüqüqüqüUXUXW UXZqüqüqüqüqüRXRX^DRXRXRX^DRXRXR°^D^DRX^œRXR°RXRXRXRX`8aÔb˜RXqüqüqüqüqüqücLcLdèg\høk qüqüqüqül¼qüqüqüqüqüqüqüqüqül¼l¼qüqüqüqüqüqüqüqüRXRHR°RXqüqüqüqüqüqünXR°R°q8R°Ð¿X€€€Ð DÒR €Š` €€#è€ ¥€ €°Çàè?ÿÿ‚cã€ð' DРDÒÒ'¿øÐ¿øÒ Ò'¿ôпô6’c@C—пôÒR €Š`€€Ð¿ø’ Ò" пø’?ÿÒ" пø’?ÿÒ"  €ZÀ'¿üпøÒ TÔ¿ü€¢€ €€Ô¿øÐ¿ü”€” 6’c”пô@Crпü Ð'¿ü¿ÿìÔ¿ø”  6’c˜Ð¿ô@Cf€¢ €€#è€4пôÒR €Š`€€Ð¿ø’ Ò" пø’?ÿÒ" пø’?ÿÒ" #è€!пôÿö±€€€#è€Ô¿ø” 6’c¤Ð¿ô@C9€¢ €€#è€Ð¿øÀ"  €°Çàè?ÿÿ‚c0ã€@CÐ'¿ü5À*#èпü€€€5#èÒ¿ü” (@C¿—@B÷€¢?ÿ€€5#è@BµÐ'¿Ð¿€¢ ( €€Ð¿5’cè” @Ô* п Ð'¿Ð¿5’cè ’¿ Ô¿” ” (@B{5#耰Çàè?ÿÿ‚c˜ã€ @BÅÐ'¿ü¿ü@BÇ–6 ’ 6”£°@BÅ6 €°Çàè?ÿÿ‚cã€ð' Dò' Hô' Lö' Pø' T6 6’c¼6”£Ä6–ãÈ@BµÀ'¿üпüÒ H€¢ €€.пü“* Ô DÖ€ ØàØ'¿ôпô6’`Ô LÖ P@B1À'¿øÐ¿øÒ P€¢ €€Ð TÒ¿øÔJ 6’cÌпô@B!пø Ð'¿ø¿ÿîпô6’cÐ@Bпü Ð'¿ü¿ÿÏ €°Çàè?ÿÿ‚c˜ã€ð' Dò' HРDÒÒ'¿üпüÒ Ò'¿øÐ¿üÒ € €€HпüÔ Ò¿üÒ` пøÖ HÿöÔ¿üÐ" Ð¿øÒR €Š`€€Ð¿ü’ Ò"  ¢’ mSÔ¢\ÿ-Å ¢€3пüÒ €¢`£€ €Ð¿üÒ €¢c耀  £’ mSÔ¢\ÿ-® £€Ð¿üÒ €¢`¥€€  ¥’ mSÔ¢\ÿ-ž ¥€ €Ð¿ø6’cÔ@B' €°Çàè?ÿÿ‚cˆã€ð' Dò' H Ð'¿ü ˆÿ­Ð'¿øÐ DÒ¿øÒ"пø€€€ºÐ DÒÒ'¿ôРH6’cÜ@A‡Ð'¿ðпôÒ¿ðÒ" Ð¿ð€€€ŸÐ¿ôÒ Ò'¿ìпôÀ"пôÀ" пôÀ" пô’?ÿÒ" пô’?ÿÒ" À'¿èп耢 €€"Ô¿ôп蔀” 6’càпì@AÜпìÒR €Š` € €Ð¿ôÒ¿è” ÖJ €¢à €€€Ð¿è Ð'¿è¿ÿÜп耢 €€cпôÀ* À'¿èп耢 (€€"Ô¿ôп蔀” 6’cäпì@A­Ð¿ìÒR €Š` € €Ð¿ôÒ¿è” ÖJ €¢à €€€Ð¿è Ð'¿è¿ÿÜп耢 (€€4пôÀ* EÀ'¿èп耢 €€"Ô¿ôп蔀” F6’cèпì@A~пìÒR €Š` € €Ð¿ôÒ¿è” ÖJ F€¢à €€€Ð¿è Ð'¿è¿ÿÜп耢 €€Ð¿ôÀ* NÔ¿ô” P6’cìпì@AX€¢ €€÷пìÿô¹€€ñ€Ô¿ô” T6’cðпì@AD€¢ €€ãпìÿô¥€€Ý€Ô¿ô” X6’côпì@A0€¢ €€Ïпìÿô‘€€É€Ô¿ô” \6’cøÐ¿ì@A€¢ €€»Ð¿ìÿô}€€µ€Ô¿ô” `6’cüпì@A€¢ €€§Ð¿ìÿôi€€¡€Ô¿ô” d7’`пì@@ô€¢ €€“пìÿôU€€€Ô¿ô” h7’`пì@@à€¢ €€Ð¿ìÿôA€€y€Ô¿ô” l7’`пì@@Ì€¢ €€kÀ'¿èп耢 €€,пìÿô&€€€€"Ô¿ôп蔀” p7’` пì@@­Ð¿ìÒR €Š` € €Ð¿ôÒ¿è” ÖJ p€¢à €€€Ð¿è Ð'¿è¿ÿÒп耢 €€4пôÀ* {À'¿èп耢 €€"Ô¿ôп蔀” |7’`пì@@~пìÒR €Š` € €Ð¿ôÒ¿è” ÖJ €¢à €€€Ð¿è Ð'¿è¿ÿÜп耢 €€Ð¿ôÀ* ‡À'¿üпü€€€Ð D@пü€°Çàè?ÿÿ‚c˜ã€ð' D Ð'¿üРD€€€8РDÒ€ €€1РDÒÔ`€ €€#РDÒÔ`ÖR €Šà €€ Ð'¿ø€À'¿øÐ DÒÐ`@?ô€¢?ÿ€” €” Ö¿ø€ŠÀ €€À'¿üРDÐÿ«EРDÀ"пü€°Çàè?ÿÿ‚c€ã€ð' D Ð'¿üРD€€€ 7’`7” <–$@?z @?e ˆÿªäÐ'¿øÐ DÒ¿øÒ" пø€€€QРDÐ 7’`D@?^Ð'¿ôпô€€€:РDÒ Ô¿ôÔ"`РDÒ À"@ÿü¥ºÿüâ˜Ð¿ô7’`H7” `–@?H Ð# \’ Ò# `” Ô# d– Ö# hпô7’`h5ԣؖ ˜ š @?6пô7’`„5”£Ü5–ãÜ@?-пôÒR €Š` €€À'¿üпü€€€Ð D @пü€°Çàè?ÿÿ‚c˜ã€ð' D Ð'¿üРD€€€8РDÒ€ €€1РDÒÔ`€ €€#РDÒÔ`ÖR €Šà €€ Ð'¿ø€À'¿øÐ DÒÐ`@?2€¢?ÿ€” €” Ö¿ø€ŠÀ €€À'¿üРDÐÿªƒÐ DÀ"пü€°Çàè?ÿÿ‚cã€ð' Dò' Hô' Lô' L6 7’`Œ7” ”7–à˜7˜ œ@?)À'¿üпüÒ H€¢ €€#пü“* Ô DÖ€ ØàØ'¿øÐ L€€€À'¿ô€ Ð'¿ô ÿñΖпø6’`” Ø¿ô@>–пü Ð'¿ü¿ÿÚ €°Çàè?ÿÿ‚c˜ã€ð' Dò' H6 7’` 7” ¨7–à¬@>ëÀ'¿üпüÒ H€¢ €€Ð¿ü“* Ô DÖ€ ØàØ'¿ø ÿñ›–пø6’`” @>dпü Ð'¿ü¿ÿæ €°Çàè?ÿÿ‚cã€ð' Dò' Hô' Lô' L6 7’`°7” ¸7–à¼7˜ À@>µÀ'¿üпüÒ H€¢ €€#пü“* Ô DÖ€ ØàØ'¿øÐ L€€€À'¿ô€ Ð'¿ô ÿñZ–пø6’`” Ø¿ô@>"пü Ð'¿ü¿ÿÚ €°Çàè?ÿÿ‚cã€ð' Dò' Hô' Lö' Pô' Lö' PРL€€€À'¿ø€Ð L€¢ €€ Ð'¿ø€Ð L€¢ €€ Ð'¿ø€ Ð'¿øÐ P€€€À'¿ô€ Ð'¿ô6 7’`Ä7” Ð7–àÔ7˜ Ø7š`Ü@>EÀ'¿üпüÒ H€¢ €€Ð¿ü“* Ô DÖ€ ØàØ'¿ð ÿðõ–пð6’`” Ø¿øÚ¿ô@=¼Ð¿ü Ð'¿ü¿ÿä €°Çàè?ÿÿ‚cã€ð' Dò' Hô' L6 7’`à7” ì7–àð7˜ ô@>À'¿üпüÒ H€¢ €€5пü“* Ô DÖ€ ØàØ'¿øÐ L€€€À'¿ô€Ð L@=©Ð'¿ôРL€€€À'¿ð€Ð L@=œÐ'¿ð ÿð¤Ö¿ô–À–àпø6’`” Ø¿ðÚ L@=iпü Ð'¿ü¿ÿÈ €°Çàè?ÿÿ‚cˆã€ð' Dò' Hô' Lö' Pø' T6 7’`ø7”¡7–á7˜!@=¹À'¿üпüÒ H€¢ €€Ð¿ü“* Ô DÖ€ ØàØ'¿øÐ LÿðiÖ P—*à’ “*`–À “*`–À –Àпø6’`Ô LØ P@=*пü Ð'¿ü¿ÿÞ6 7’a 7”¡7–á@=ŠÀ'¿üпüÒ H€¢ €€5пü“* Ô DÖ€ ØàØ'¿ôÀ'¿øÐ¿øÒ P€¢ €€Ð TÁ …  Å# `Ø `Ç# `Ú `Ò TÇ@‰ #É# dÔ dË# dÖ d6’`пô@<òРT Ð' Tпø Ð'¿ø¿ÿàпô7’a$@<åпü Ð'¿ü¿ÿÈ €°Çàè?ÿÿ‚cxã€ð' Dò' Hô' Lö' PРP€€€À'¿ô€Ð P@<ëÐ'¿ôпôÐ'¿ø7!PÐ# \6 7’a(7”¡87–á<7˜!@7šaH@="À'¿üпüÒ H€¢ €€(пü“* Ô DÖ€ ØàØ'¿ð ÿïÒÖ¿ø–ÀРLË  %Í# \Ï# `Ò¿øÒ# dÔ PÔ# hØ LÏ‘ 'Ñ# pØ pÓ# pÚ p6’`пð” @<ŠÐ¿ü Ð'¿ü¿ÿÕ €°Çàè?ÿÿ‚cPã€ð' Dò' Hô' Lö' Pø' Tú' XР`Ò Ô `Ѐ@<…Ð'¿ð7!„Ð# \7’aŒÒ# `7”¡”Ô# d7–áœÖ# h7˜!¤Ø# l7ša¨Ú# p6 7’aT7”¡l7–áp7˜!t7ša|@<¾À'¿üпüÒ H€¢ €€uпü“* Ô DÖ€ ØàØ'¿ì ÿïnÒ¿ð•*`– Ø LÓ • )Õ# \×# `Ú T×`™ +Ù# |Û# €Þ PÛà -Ý# lß# pà `â â# ˆä T߀¡ /á# tã# xæ `èÀè# „ê Pã@¥ 1å# dç# hì L瀩 3é# Ø ë# Ú 6’`Ð¿ì” @<À'¿øÐ `Ò Ô¿ø€¢€ €€*À'¿ôпôÒ X€¢ €€Ð `ÒÔ¿ô€¢€ €€Ð¿øÒ X@<Ò¿ô” —* Ø \Ô Ð¿ì7’a¬@;èпô Ð'¿ô¿ÿàпø Ð'¿ø¿ÿÒпì7’a°@;Ùпü Ð'¿ü¿ÿˆ €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lö' Pø' T6 7’a´7”¡¼7–áÀ7˜!Ä@<)À'¿üпüÒ H€¢ €€Ð¿ü“* Ô DÖ€ ØàØ'¿øÐ Lÿîٖпø6’`Ô LØ P@;¡Ð¿ü Ð'¿ü¿ÿå €°Çàè?ÿÿ‚c˜ã€ð' Dò' H6 7’aÌ7”¡Ô7–áØ@;öÀ'¿üпüÒ H€¢ €€Ð¿ü“* Ô DÖ€ ØàØ'¿ø Rÿпø6’`” R@;oпü Ð'¿ü¿ÿæ €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lö' P6 7’aÜ7”¡ä7–áè7˜!ì@;ÀÀ'¿üпüÒ H€¢ €€Ð¿ü“* Ô DÖ€ ØàØ'¿øÐ Lÿîp–пø6’`Ô LØ P@;8пü Ð'¿ü¿ÿå €°Çàè?ÿÿ‚cã€ð' Dò' Hô' LРLÒ € €€À'¿ø€Ð LÒ €¢`€€ Ð'¿ø€ Ð'¿ø6 7’að7”¡ü7–â7˜"7šb@;qÀ'¿üпüÒ H€¢ €€Ð¿ü“* Ô DÖ€ ØàØ'¿ô ÿî!–РLØ6’`пô” Ú¿ø@:çпü Ð'¿ü¿ÿã €°Çàè?ÿÿ‚chã€ð' Dò' Hô' Lö' PРL€€€¿ô’¿ìÿ–䀿ôÒ LÔ@Ø`Ô" Ø" ¿ìÒ PÔ@Ø`Ô" Ø" 7"4Ð# \7’b<Ò# `6 7’b 7”¢7–â 7˜"$7šb,@;À'¿üпüÒ H€¢ €€)пü“* Ô DÖ€ ØàØ'¿è "ÿíÈ–ë¿ø­ 5í# \ï# `ï¿ì± 7ñ# dó# hó¿ðµ 9õ# l÷# pпè6’`” "÷¿ô¹ ;ù# xØ xû# xÚ x@:пü Ð'¿ü¿ÿÔ €°Çàè?ÿÿ‚cã€ð' Dò' Hô' Lô' LРL€€€À'¿ø€Ð L€¢ €€ Ð'¿ø€Ð L€¢ €€ Ð'¿ø€ Ð'¿ø6 7’bD7”¢L7–âP7˜"T@:±À'¿üпüÒ H€¢ €€Ð¿ü“* Ô DÖ€ ØàØ'¿ô #ÿía–пô6’`” #Ø¿ø@:)пü Ð'¿ü¿ÿå €°Çàè?ÿÿ‚cã€ð' Dò' Hô' LРLÒ€ €€À'¿ø€Ð LÒ€¢`€€ Ð'¿ø€Ð LÒ€¢`€€ Ð'¿ø€ Ð'¿øÐ LÒ € €€À'¿ô€0РLÒ €¢`€€ Ð'¿ô€%РLÒ €¢`€€ Ð'¿ô€Ð LÒ €¢`€€ Ð'¿ô€Ð LÒ €¢`€€ Ð'¿ô€ Ð'¿ô6 7’bX7”¢d7–âh7˜"l7šbp@:À'¿üпüÒ H€¢ €€1пü“* Ô DÖ€ ØàØ'¿ðпø€€ €Ð¿ô€€€ $ÿìÖпð6’`” $˜ š @9Š $ÿ췖пð6’`” $Ø¿øÚ¿ô@9~пü Ð'¿ü¿ÿÌ €°Çàè?ÿÿ‚cã€ð' Dò' Hô' Lô' LРL€€€À'¿ø€Ð L€¢ €€ Ð'¿ø€Ð L€¢ €€ Ð'¿ø€ Ð'¿ø6 7’bt7”¢|7–â€7˜"„@9°À'¿üпüÒ H€¢ €€Ð¿ü“* Ô DÖ€ ØàØ'¿ô &ÿì`–пô6’`” &Ø¿ø@9(пü Ð'¿ü¿ÿå €°Çàè?ÿÿ‚cxã€ð' Dò' H7"°Ð# \7’b¸Ò# `6 7’bˆ7”¢˜7–âœ7˜" 7šb¨@9sÀ'¿üпüÒ H€¢ €€-пü“* Ô DÖ€ ØàØ'¿ø )ÿì#–Qû#œ½ =ý# \ÿ# `Qÿc  ?Á# dÃ# hQ㤅 !Å# lÇ# pпø6’`” )QÇ#˜‰ #É# xØ xË# xÚ x@8Öпü Ð'¿ü¿ÿÐ €°Çàè?ÿÿ‚cˆã€ð' Dò' H6 7’bÀ7”¢Ì7–âÐ7˜"Ô7šbÜ@9'À'¿üпüÒ H€¢ €€#пü“* Ô DÖ€ ØàØ'¿ø *ÿë×–QË#¬ %Í# \Ï# `пø6’`” *QÏ#¨‘ 'Ñ# hØ hÓ# hÚ h@8”пü Ð'¿ü¿ÿÚ €°Çàè?ÿÿ‚c8ã€ð' Dò' H7#Ð# \7’cÒ# `7”£Ô# d7–ã Ö# h7˜#$Ø# l7šc(Ú# p7žã,Þ# t!7 #0à# x#7¢c4â# |%7¤£8ä# €'7¦ã<æ# „6 7’bä7”£7–ã7˜# 7šc@8ÄÀ'¿üпüÒ H€¢ €€Ëпü“* Ô DÖ€ ØàØ'¿øQÐ"ø€€€À'¿ô€ Ð'¿ôQÐ"ü€€€À'¿ð€ Ð'¿ðQÐ#€€€À'¿ì€ Ð'¿ìQÐ#€€€À'¿è€ Ð'¿èQÐ#€€€À'¿ä€ Ð'¿äQÐ#€€€À'¿à€ Ð'¿àQÐ#0€€€À'¿Ü€ Ð'¿ÜQÐ#4€€€À'¿Ø€ Ð'¿ØQÐ#8€€€À'¿Ô€ Ð'¿ÔQÐ#<€€€À'¿Ð€ Ð'¿ÐQÐ#X€€€À'¿Ì€ Ð'¿ÌQÐ#\€€€À'¿È€ Ð'¿ÈQÐ#`€€€À'¿Ä€ Ð'¿Ä +ÿêØ–Ð¿ìÐ# \Ò¿èÒ# `Ô¿äÔ# dØ¿àØ# hÚ¿ÜÚ# lÞ¿ØÞ# pà¿Ôà# tâ¿Ðâ# xä¿Ìä# |æ¿Èæ# €è¿Äè# „пø6’`” +Ø¿ôÚ¿ð@7‰Ð¿ü Ð'¿ü¿ÿ2 €°Çàè?ÿÿ‚cã€ð' Dò' Hô' Lö' Pø' Tú' X7#`Ð# \7’chÒ# `6 7’c@7”£P7–ãT7˜#X7šc\@7ÐÀ'¿üпüÒ H€¢ €€Ð¿ü“* Ô DÖ€ ØàØ'¿øÐ LÿꀖРXÐ# \Ò# `Ò `Ò# dпø6’`Ô LØ PÚ T@7Bпü Ð'¿ü¿ÿß €°Çàè?ÿÿ‚cxã€ð' Dò' Hô' Lö' PРPÒ € €€À'¿ø€Ð PÒ €¢`€€ Ð'¿ø€ Ð'¿ø7#Ð# \7’c”Ò# `7”£œÔ# d7–ã¤Ö# h6 7’cl7”£€7–ã„7˜#ˆ7šcŒ@7nÀ'¿üпüÒ H€¢ €€'пü“* Ô DÖ€ ØàØ'¿ô 5ÿê–РPÓ • )Õ; hÒ P×`™ +Ù; `Ô PØ Ø# pÚ¿øÚ# \Þ PÚÀ6’`пôØ L” 5@6×пü Ð'¿ü¿ÿÖ €°Çàè?ÿÿ‚cˆã€ð' Dò' Hô' Lö' PРPÒ€ €€À'¿ø€Ð PÒ€¢`€€ Ð'¿ø€Ð PÒ€¢`€€ Ð'¿ø€ Ð'¿ø7#ÈÐ# \7’cÌÒ# `6 7’c¨7”£¸7–ã¼7˜#À7šcÄ@6þÀ'¿üпüÒ H€¢ €€Ð¿ü“* Ô DÖ€ ØàØ'¿ô 6ÿ鮖РPÒ Ò# \Ô PØ Ø# `пô6’`” 6Ø LÚ¿ø@6oпü Ð'¿ü¿ÿÞ €°Çàè?ÿÿ‚cã€ð' Dò' Hô' Lö' PРPÒ Ô PЀ@6lÐ'¿ø7#ìÐ# \6 7’cÐ7”£Ü7–ãà7˜#ä7šcè@6´À'¿üпüÒ H€¢ €€>пü“* Ô DÖ€ ØàØ'¿ð 7ÿédÖ¿ø—*à’ “*`–À –ÀÔ PØ Ø# \Ú PÚ@6’`пðØ L” 7@6"À'¿ôпôÒ¿ø€¢ €€Ð PÒ Ô¿ô—* Ô@ 7’cðпð@6пô Ð'¿ô¿ÿìпð7’cô@6пü Ð'¿ü¿ÿ¿ €°Çàè?ÿÿ‚cˆã€ð' Dò' Hô' Lö' P8 Ð# \8’`$Ò# `6 7’cø8” 8–à 8˜ 8š`@6OÀ'¿üпüÒ H€¢ €€%пü“* Ô DÖ€ ØàØ'¿ø 8ÿèÿ–РPÛ  -Ý; `Ò Pß`¡ /á; hÔ P〥 1å; Xпø6’`” 8Ø LÚ X@5ºÐ¿ü Ð'¿ü¿ÿØ €°Çàè?ÿÿ‚cxã€ð' Dò' Hô' L8 TÐ# \8’`\Ò# `6 8’`,8” <8–à@8˜ D8š`L@6À'¿üпüÒ H€¢ €€-пü“* Ô DÖ€ ØàØ'¿ø =ÿ贖РLç © 3é# \ë# `Ò Lë`­ 5í# dï# hÔ Lï  ± 7ñ# ló# pØ Lóµ 9õ# xØ x÷# xÚ x6’`пø” =@5gпü Ð'¿ü¿ÿÐ €°Çàè?ÿÿ‚cxã€ð' Dò' Hô' Lö' P8 ŒÐ# \8’`”Ò# `6 8’`d8” t8–àx8˜ |8š`„@5°À'¿üпüÒ H€¢ €€-пü“* Ô DÖ€ ØàØ'¿øÐ Lÿè`–РP÷ ¹ ;ù# \û# `Ò Pû`½ =ý# dÿ# hÔ Pÿ   ?Á# lÃ# pØ PÃ… !Å# xØ xÇ# xÚ x6’`пøÔ L@5пü Ð'¿ü¿ÿÐ €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lö' P6 8’`œ8” ¨8–à¬8˜ °8š`´@5bÀ'¿üпüÒ H€¢ €€Ð¿ü“* Ô DÖ€ ØàØ'¿ø Sÿè–пø6’`” SØ LÚ P@4Ùпü Ð'¿ü¿ÿä €°Çàè?ÿÿ‚cpã€ð' Dò' Hô' Lö' P8 àÐ# \8’`èÒ# `8” ðÔ# d8–àøÖ# h8˜!Ø# l6 8’`¸8” Ì8–àÐ8˜ Ô8š`Ø@5À'¿üпüÒ H€¢ €€1пü“* Ô DÖ€ ØàØ'¿ø [ÿçɖРPÇ ‰ #É; pÒ PË` %Í; `Ô PÏ ‘ 'Ñ; hØ PÓ • )Õ; €Ú P×`™ +Ù; xÞ PÛÀ -Ý; Xпø6’`” [Ø LÚ X@4xпü Ð'¿ü¿ÿÌ €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lö' Pø' T6 8’a8”¡8–á8˜!8ša @4ÆÀ'¿üпüÒ H€¢ €€Ð¿ü“* Ô DÖ€ ØàØ'¿øÐ Pÿçv–пø6’`Ô PØ LÚ T@4=пü Ð'¿ü¿ÿä €°Çàè?ÿÿ‚cã€ð' Dò' Hô' Lö' Pö' P6 8’a$8”¡08–á48˜!88ša<@4‹À'¿üпüÒ H€¢ €€$пü“* Ô DÖ€ ØàØ'¿øÐ P€€€À'¿ô€ Ð'¿ô \ÿç0–пø6’`” \Ø LÚ¿ô@3÷пü Ð'¿ü¿ÿÙ €°Çàè?ÿÿ‚cã€ð' Dò' Hô' Lö' Pö' P6 8’a@8”¡L8–áP8˜!T8šaX@4EÀ'¿üпüÒ H€¢ €€$пü“* Ô DÖ€ ØàØ'¿øÐ P€€€À'¿ô€ Ð'¿ô ]ÿæê–пø6’`” ]Ø LÚ¿ô@3±Ð¿ü Ð'¿ü¿ÿÙ €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lö' Pø' T6 8’a\8”¡h8–ál8˜!p8šat@3ÿÀ'¿üпüÒ H€¢ €€Ð¿ü“* Ô DÖ€ ØàØ'¿ø ^ÿ毖РPÐ; Xпø6’`” ^Ø LÚ X@3tпü Ð'¿ü¿ÿâ €°Çàè?ÿÿ‚cã€ð' Dò' Hô' Lö' Pö' P6 8’a|8”¡ˆ8–áŒ8˜!8ša”@3ÂÀ'¿üпüÒ H€¢ €€$пü“* Ô DÖ€ ØàØ'¿øÐ P€€€À'¿ô€ Ð'¿ô _ÿæg–пø6’`” _Ø LÚ¿ô@3.пü Ð'¿ü¿ÿÙ €°Çàè?ÿÿ‚cã€ð' Dò' HРDÒ €¢`€€ €-РDÐ&Ä@ qРDÒ&ÄÒ'¿üРDÒ&ÈÒ'¿øÐ DÒ&ÐÒ'¿ôРDÁ'Ò HÃ@… I Ô Dǧ‰ ˆ# $8Ñáà•¡ˆH— J×# `Ø `™+ ™; Ø7¿ðРDÙ'Ò HÛ`£I,Ô Dß§ ¡£ˆ/Ö Dãæð¥¤H°© 28í!à±¥V³ Xó# `Ú `›+`›;`Ú7¿òРDõ'Ò H÷`¹¦É:Ô Dû§½§= >8Åáà‰ B‹ DË# `Ø `™+ ™; Ø7¿ìРDÍ'Ò HÏ` ‘¡É&Ô DÓ§ •¢)Ö D׿ð™¢Èª ,8á!ॣˆP§ Rç# `Ú `›+`›;`Ú7¿îРDé'Ò Hë`­¥I4Ô Dï§±¥ˆ7µ 88ùáསˆ\¿ ^ÿ# `Ø `™+ ™; Ø7¿èРDÁ'Ò HÃ`… I Ô Dǧ ‰ ˆ#Ö DËæð¡H¤‘ &8Õ!à™¢J› LÛ# `Ú `›+`›;`Ú7¿êРDÝ'Ò Hß`¡£É.Ô Dã§¥¤1© 28íáà±¥V³ Xó# `Ø `™+ ™; Ø7¿äРDõ'Ò H÷`¹¦É:Ô Dû§ ½§=Ö Dÿæð§È¾…  8É!à ˆD FÏ# `Ú `›+`›;`Ú7¿æÐ HÑ “ ˆÒW¿ðÔW¿ì–"€ Ö# `Õ `— Š™¢É©Ù'¿°Ð HÛ  ÒW¿òÔW¿î–"€ Ö# `ß `¡ £¤ ®ã'¿¬Ð Hå $§ ’ÒW¿ðÔW¿ä–"€ Ö# `é `« ”­¥I³í'¿¨Ð Hï $± —ÒW¿òÔW¿æ–"€ Ö# `ó `µ ™·¦‰¸÷'¿¤Ð HÒ Ò'¿”РHÒ $п”@2K‘* ÿ£Ð'¿ŒÐ¿Œ€€€ !,’ SÔ¢\ÿ !,€=пŒÐ'¿ˆÐ HÒ (Ò'¿„À'¿ Ð HÒ $Ô¿ €¢€ €€*À'¿œÐ¿œÒ¿„€¢ €€Ð¿œÒ¿”€¢ €€Ð¿ Ò¿„@2Ò¿œ” —* Ø HÚ ,Þ@ ࿈Þ$пˆ Ð'¿ˆÐ¿œ Ð'¿œ¿ÿàп  Ð'¿ ¿ÿÒпŒÐ'¿ˆÀ# \Ø D˜'$Ò¿ôпü” – š @2bпüÒ¿ô” @2`РHù » œý¿°¿§I>ÿ'¿€Ð HÁ ƒ €Å¿¬‡ I"Ç'¿|ÐW¿ðÐ# `É `‹ „Í¿€¡H&Ñ¿°“¡È¨Õ¿¨—¢Hª×'¿´ÐW¿òÐ# `Ù `› ŒÝ¿|Ÿ£H.Ῥ££È°å¿¤§¤H²ç'¿¸À'¿ Ð HÒ $Ô¿ €¢€ €€¾é¿€ë¿´«¥H´ë'¿´í¿|￸¯¥È¶ï'¿¸ñ¿¨ó¿´³¦H8ó'¿´õ¿¤÷¿¸·¦È:÷'¿¸À'¿œÐ HÒ Ô¿œ€¢€ €€ ù¿°û¿´»§H<û'¿´ý¿¬ÿ¿¸¿§È>ÿ'¿¸Á¿´Ã¿°… !Å'¿¼Ç¿¸É¿¬‹ È$Ë'¿ÀÍ¿¼Ï¿¨‘¡ˆ'Ñ'¿ÄÓ¿ÀÕ¿¤—¢H*×'¿ÈÙ¿´Û¿¨£-Ý'¿Ìß¿¸á¿¤££È0ã'¿ÐпˆÒÒ'¿Ð¿ˆ Ð'¿ˆÐ¿€€€ РDÒ&ôÔ¿€¢€ €€Ð DÒ €¢`€ €Ð DÒ €¢`€€ Ð'¿Ð DÒ&ô€¢`€€Ð¿€€€Ð DÒ'Ò'¿€ п€¢ €€Ð DÒ&üÒ'¿Ð DÒ¿@ã”пüÒ¿ô@1·À'¿˜Ð¿˜€¢ €€#¿´Ò¿˜•*`å § 2ç# `Ö `—*à—:à˜¿ÔÚ¿˜Ÿ+`Ö3¿´Ò¿˜•*`– éà« 4ë# `Ø `™+ ™; š¿ÔÞ¿˜¡+à¢@Ø4`п˜ Ð'¿˜¿ÿÛÀ# \–¿ÔÒ¿øÔ¿ôпü˜ š @1‰Ð¿œ Ð'¿œ¿ÿ\п  Ð'¿ ¿ÿ>пü@1пŒÿœÐ DÐ&Ä@v €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LРDÒ €¢`€€ €6РDÐ&Ä@2РDÒ&ôÒ'¿üпü€¢ €€ РDÐ&Ä@N €"РH€€ €Ð HÒ¿ü€¢ €€ РDÐ&Ä@: €Ð DÒ HÔ L@þРDÐ&Ä@. €°Çàè?ÿÿ‚cˆã€ð' Dò' Hö' Pô' LРDÒ €¢`€€ €ZРDÐ&Ä@êРDÒ&ÄÒ'¿üРDÒ H@/Ð'¿ðРDÒ&䔿ðпü@1 РDÒ&䔿ðпü@1пôÐ# `Á `… 8Éb0¨ŠD€8Éb8… ˆD8Í¢@‘ ‰Æ“ ÈÖ PÓ"ÀпöÐ# `Õ `™  8Ýb0« N€8Ýb8™£N8á¢@¥£ Ч ÒÖ Pç"àпøÐ# `é `­ 8ñb0­ŠX€8ñb8­¥ˆX8õ¢@¹¥‰Ú» ÜÖ Pû"àРDÐ&Ä@ €°Çàè?ÿÿ‚c ã€ð' DРD€€€ 8’bP8”¢x– Î@0 @0 РDÀ"'pРDÀ"'tРDÀ"'xРDÀ"'tРDÀ"'x €°Çàè?ÿÿ‚c€ã€ð' Dò' HÀ'¿üРD€€€ 8’b„8”¢¬– õ@/ö @/áРDÒ&Ä€ €€ 8’b¸8”¢à– ö@/ã @/ÎРH€€€ 8’bì8”£– ÷@/Ñ @/¼Ð D’'TÒ'¿øÐ¿ø’ Ò'¿ôпø’ $Ò'¿ðпøÒ HÔ` Ô" РHÒ €¢`€ €Ð HÒ €¢`€€mРHÒ “*`” •* ’@ Ò'¿ìпø’ Ò" пøÒ HÔ`Ô" пøÒ HÔ`Ô" пøÒ HÔ`Ô" РHÐ @ÐÒ¿øÐ"@РHÐ @ÊÒ¿øÐ"`РHÐ @ÄÒ¿øÐ"`пìÿšøÐ'¿èпôÒ¿èÒ"п耀€  8’c Ô¿ì@/w€-пìÿšâÐ'¿äпðÒ¿äÒ"п䀀€  8’c\Ô¿ì@/a€º РHÒ €§@ €€@ú'¿à‘* ’“*` Ô¿ðÖ€˜ÀÚ¿àÚ# ‘* ’“*` Ô¿ðÖ€˜ÀÚ¿àÚ# ‘* ’“*` Ô¿ðրؿàØ"À‘* ’“*` Ô¿ôÖ€˜ÀÚ¿àÚ# ‘* ’“*` Ô¿ôÖ€˜ÀÚ¿àÚ# ‘* ’“*` Ô¿ôրؿàØ"Àº`¿ÿ½Ð DÒ&ÄÔ`„•* – —*à”€ Ø DÚ&ÄÞ`Œ À Ð 4â¿øä` æ¿øÒÀ@/œè¿ôêÐ%@РDÒ&ÄÔ`„•* – —*à”€ Ø DÚ&ÄÞ`Œ À Ð 4â¿øä` æ¿øÒà@/†è¿ôêÐ%`РDÒ&ÄÔ`„•* – —*à”€ Ø DÚ&ÄÞ`Œ À Ð 4â¿øä` æ¿øÒà@/pè¿ôêÐ%`РDÒ&ÄÔ`„•* – —*à”€ Ø DÚ&ÄÞ`Œ À Ð 8â¿øä` æ¿øÒÀ@/Zè¿ôêÐ%` РDÒ&ÄÔ`„•* – —*à”€ Ø DÚ&ÄÞ`Œ À Ð 8â¿øä` æ¿øÒà@/Dè¿ôêÐ%`РDÒ&ÄÔ`„•* – —*à”€ Ø DÚ&ÄÞ`Œ À Ð 8â¿øä` æ¿øÒà@/.è¿ôêÐ%`пôÒÔ@•* – —*à”€ Ø¿ðÚÀ#@ пôÒÔ`•* – —*à”€ Ø¿ðÚž@ À#àпôÒÔ`•* – —*à”€ Ø¿ðÚž@ À#àпôÒÔ` •* – —*à”€ Ø¿ðÚÞ¿ôàÀâ â#@ пôÒÔ`•* – —*à”€ Ø¿ðÚž@ à¿ôâä`ä#àпôÒÔ`•* – —*à”€ Ø¿ðÚž@ à¿ôâä`ä#à Ð'¿ü€yпøÀ" РHÒ •*`Ô'¿ìпìÿ™¯Ð'¿èпôÒ¿èÒ"п耀€  8’c˜Ô¿ì@..€]пìÿ™™Ð'¿äпðÒ¿äÒ"п䀀€  8’cÔÔ¿ì@.€G¸ РHÒ €§ €€ø'¿àпðÒ•/ Ö¿àÖ"@ пôÒ•/ Ö¿àÖ"@ ¸ ¿ÿíРDÒ&ÄÔ`„•* – —*à”€ Ø DÚ&ÄÞ`Œ À â 4ä¿ôæ€â$ÀРDÒ&ÄÔ`„•* – —*à”€ Ø DÚ&ÄÞ`Œ À â 8ä¿ôæ€â$àпðÒÔ¿ôÖ€ØÀ›+ À"@ пôÒÔ`—* Ø¿ðÚž Þ#@  Ð'¿üпü€°Çàè?ÿÿ‚c¸ã€ð' D Ð'¿üпü€€€Ð DÒ¿ü€Š €€€Ð¿ü‘* Ð'¿ü¿ÿîпü€°Çàè?ÿÿ‚cxã€ð' Dò' Hô' LÀ'¿üРD€€€ 9’`9” 8–!Ž@-• @-€Ð H€€€ 9’`D9” l–!@-ƒ @-nРL€€€ 9’`x9”  –!@-q @-\8ý"LÒ Lÿ@§É>ƒ  Ã# `Ô `—* —2àÖ7¿ô8Å"LÒ LÇ`‰ É"‹ $Ë# `Ô `—* —2àÖ7¿ö8Í"LÒ LÏ`‘¡É&“ (Ó# `Ô `—* —2àÖ7¿øÐ DÐ&ÄÒ DÒf䔿ð@-Ù€€€¸Ð D’'TÒ'¿ìÐ¿ì’ Ò'¿èÐ¿ì’ $Ò'¿äпìÒ € €€˜Ð¿ìÒ Ð H Ô¿ìÒ€@-¿‘* –—*à Ø¿èúº@Ú¿ìÞ` пð à¿ìÒ@-°Ð'@пìÒ Ð H Ô¿ìÒ @-§‘* –—*à Ø¿èúº@º`Ú¿ìÞ`пð à¿ìÒ @-—Ð'@пìÒ Ð H Ô¿ìÒ @-Ž‘* –—*à Ø¿èúº@º`Ú¿ìÞ`пð à¿ìÒ @-~Ð'@пìÒ Ð¿ð Ô¿ìÒ€@-u‘* –—*à Ø¿äúº@Ú¿ìÞ` РH à¿ìÒ@-fÐ'@пìÒ Ð¿ð Ô¿ìÒ @-]‘* –—*à Ø¿äúº@º`Ú¿ìÞ`РH à¿ìÒ @-MÐ'@пìÒ Ð¿ð Ô¿ìÒ @-D‘* –—*à Ø¿äúº@º`Ú¿ìÞ`РH à¿ìÒ @-4Ð'@€Ð¿èÒÔ H—* Ø¿ðØ"@ пäÒÔ¿ð—* Ø HØ"@  Ð'¿ü€38Ð"H€€€ Ô¿ôÖ¿öØ¿ø 9’`¬@,{€!РDÒ H@#Ð'¿ìÀ'¿èРDÐ&ÄÒ DÒfä”¿ì– Ø¿è@-€€€  8Ð"bHРDÒ HÔ Lÿþ´Ð'¿ü8À""Hпü€°Çàè?ÿÿ‚cã€ð' Dò' HРD€€€ 9’`è9”¡–!ã@,@ @,+РH€€€ 9’a9”¡D–!ä@,. @,РD’'TÒ'¿üпü€€€ 9’aP9”¡x–!è@, @,РH€€€À' H€Ð¿üÒ Ô H€¢€ €€Ð¿üÒ ”"`Ô' HпüÒ € €€DпüÒ Ð H Ô¿üÒ @,ˆ‘* –—*à Ø¿üÚ ž@Ðàà¿üÒ @+øºâ¿üä`РH æ¿üÒà@,s‘* ¨©- ê¿üì` ®€Ðàð¿üÒ @+ã¸ò¿üô` РH ö¿üÒÀ@,^‘* ’“*` Ô¿üÖ  ÐÀØ¿üÒ@+Ïšž@Þ'¿ô€Ð¿üÒ Ô H—* Ø@ Ø'¿ôпôÐ'¿øÐ¿ø€°Çàè?ÿÿ‚cã€ð' Dò' HРD€€€ 9’a„9”¡¬–" @+– @+РD’'TÒ'¿üпü€€€ 9’a¸9”¡à–"@+ @+lпüÒ Ô H€¢€ €€Ð¿üÒ ”"`Ô' HпüÒ € €€DпüÒ Ð H Ô¿üÒ @+ù‘* –—*à Ø¿üÚ $ž@Ðàà¿üÒ @+iºâ¿üä`РH æ¿üÒà@+ä‘* ¨©- ê¿üì`$®€Ðàð¿üÒ @+T¸ò¿üô` РH ö¿üÒÀ@+Ï‘* ’“*` Ô¿üÖ $ÐÀØ¿üÒ@+@šž@Þ'¿ô€Ð¿üÒ $Ô H—* Ø@ Ø'¿ôпôÐ'¿øÐ¿ø€°Çàè?ÿÿ‚cã€ð' DРD€€€ 9’aì9”¢–",@+ @*óРD’'TÒ'¿üпü’ Ò'¿øÐ¿ü’ $Ò'¿ôпüÒ € €€Ð¿øÒ€ €€Ð¿øÐÿ–˜Ð¿øÀ"пôÒ€ €€Ð¿ôÐÿ–‹Ð¿ôÀ"€Ð¿øÒ€ €€Ð¿øÐÿ–|пøÀ"пôÒ€ €€Ð¿ôÐÿ–oпôÀ" €°Çàè?ÿÿ‚c8ã€ð' DРDÒ&ÄÒ'¿üРDÒ&ÈÒ'¿øÐ D@/_”¿œÒ¿øÐ¿ü@+BРDÁ¿¤ƒ €Ã"&ìРDÅ¿¨‡ ‚Ç"&ðРD@&ÑÀ# \пüÒ¿ø” – ˜ š @+1РDÿS‘РDÒ |€ €€ РD |Ò DÐ@’ ŸÀ@пü@+ РD@/¦ €°Çàè?ÿÿ‚cã€À'¿üпü€¢ €€‡¿ÔÒ¿ü•*`À" пü‘* ’“*` Q”¢Ö €¢ÿÿ€€qпü‘* ’“*` Q”¢ Ö € €€dпü‘* ’“*` Q”¢ Ö ØæÄ€ €€Vпü‘* ’“*` Q”¢ Ö Øà€ €J€Ð¿ü‘* ’“*` Q”¢Ö Ö'¿pпü‘* ’“*` Q”¢ Ö Ö'¿lпlÐ&Ä–¿tÒ¿p”?ÿ@*º€¢ €€*€¿ÔÒ¿ü•*`– Ö" €¿tÒ¿l@,>€€Ð¿t" €¢ ¿ÿû‘* ö’`èÐ ÂØ ظؠؠؠظظظظظØ„¿ÿÎпü Ð'¿ü¿ÿwÀ'¿üпü€¢ €€¿ÔÒ¿ü•*`Ö € €€ пü‘* ’“*` Q”¢ Ð ÿÿпü Ð'¿ü¿ÿäÇàè?ÿÿ‚c˜ã€ð' DРDÒ&ÄÒ'¿ü@*aÐ'¿øÐ¿ü€€€?ÿ€@DпüÐ Ò¿ø@fпüÐ ’ @q €°Çàè?ÿÿ‚c ã€ð' D9Ð"` 9Ð"b`9Ð"`€¢ €€ €Ð D€€€ € @РDÐ ’ @H €°Çàè?ÿÿ‚c˜ã€ð' D@*Ð'¿ü9Ð"`" 9Ð"b`9Ð"`€€€ €Ð D€€€ €ÿþãõ"ô@ùРDÐ Ò¿ü@РDÐ ’ @ €°Çàè?ÿÿ‚bÈã€ð' Dò' HРDÒ €¢`€€ €3РDÐ&Äÿÿ‘РDÒ&ÄÒ'¿üРDÒ&ÈÒ'¿øÐ DÒ&ÜÒ'¿ôРHÐ ‘* ÿ”Ð'¿Ð¿Ð'¿ŒÐ¿€€€ !,’#÷SÔ¢\ÿö!,€Ð H’ Ò'¿XпXÒ Ò'¿`п`€¢ € €Ð¿`€¢ €€ Ð'¿`пX’ Ò'¿pп`‘* ’“*` Ô D–€˜äØ'¿lпXÒ € €€Ð¿lÐ'¿h€Ð¿pÐ'¿hпhÒ Ò'¿tпt€€€ РDÒ&ôÔ¿t€¢€ €€Ð DÒ €¢`€ €Ð DÒ €¢`€€ Ð'¿tРDÒ&ô€¢`€€Ð¿t€€€Ð DÒ'Ò'¿t€ пt€¢ €€Ð DÒ&üÒ'¿tРDÒ¿tÿüO”пüÒ¿ô@näпXÒ€ €€Ð¿lÐ'¿h€Ð¿pÐ'¿hпhÒÒ'¿|пXÒ € €€Ð¿lÒ Ò'¿x€Ð¿pÒ Ò'¿xп|€¢ €€Ð¿x€€€Ð¿x€¢ €€Ð¿|€¢ €€Ð¿x€€€Ð¿x€¢?뀀п|€¢ €€Ð¿x Ð'¿x€Ð¿x" Ð'¿x€À'¿xпüÒ¿ô” – ˜ š @nпüÒ¿ô” @p4РHÒ Ò'¿dРHÒÒ'¿HÀ'¿TпTÒ¿H€¢ €€6РDÁ'Ò¿dÃ@… I Ô Dǧ‰ ˆ# $9Ñâ°•¡ˆH— J×# `Ø `™+ ™; Ú¿Ø3@РDÙ'Ò¿dÛ`£I,Ô Dß§ ¡£ˆ/Ö Dãæð¥¤H°© 29í"°±¥V³ Xó# `Ú `›+`›;`Þ¿Ú3àп Ð'¿Ð¿d Ð'¿dпT Ð'¿T¿ÿÇРHÒ Ô¿H—* ˜@ õ?øÚ HÞ`÷À®Ê:€€Ð HÒ Ô¿H—* ˜@ ù?üÚ HÞ`ûà¯J<€€ пҿŒÔR@Ô2пҿŒÔR`Ô2 пH Ð'¿Hп|€€€Ö D–ç$Ò¿ôпüÔ D@o8пüÒ¿øÔ¿ôÖ¿ŒØ¿Hš @(a€«Ð¿|€¢ €€Ö D–ç$Ò¿ôпüÔ D@o!À# \пüÒ¿øÔ¿ôÖ¿ŒØ¿Hš @(+€“п|€¢ €€OпüÒ¿ô” @(?пüÒ „“*`” •* ’@ Ö¿üØàŒš Ø`$Þ¿xŸ+à ¡, žÀâ D¤@Ô¥æ¿x§,਩- ¦Àê D¬@Ö¥Ò¿øÐ¿ü@($Ð'¿€Ð¿x‘* ’“*` Ô D–€ØåØ'¿Pпx‘* ’“*` Ô D–€ØåØ'¿LпPÒ¿L@'tÐ'¿@пx‘* ’“*` Ô D–€Øå Ø'¿\п@‘* ÿ’ÁÐ'¿„п„€€€ !,’#÷SÔ¢\ÿ)!,€AÀ'¿Dп„Ð'¿ˆÐ¿\ÒÒ'¿4п4€€€ РDÒ&ôÔ¿4€¢€ €€Ð DÒ €¢`€ €Ð DÒ €¢`€€ Ð'¿4РDÒ&ô€¢`€€Ð¿4€€€Ð DÒ'Ò'¿4€ п4€¢ €€Ð DÒ&üÒ'¿4À'¿8п8Ò¿L€¢ €€|À'¿<п<Ò¿P€¢ €€oп\ÒÒ'¿0п0€€€ РDÒ&ôÔ¿0€¢€ €€Ð DÒ €¢`€ €Ð DÒ €¢`€€ Ð'¿0РDÒ&ô€¢`€€Ð¿0€€€Ð DÒ'Ò'¿0€ п0€¢ €€Ð DÒ&üÒ'¿0п0Ò¿4€¢ €€Ð DÒ¿4ÿúY”пüÒ¿ô@lîпüÒ¿€Ô¿ôÖ¿„Ø¿Dš @'OÀ'¿Dп„Ð'¿ˆÐ¿0Ð'¿4пˆÒW¿>Ò2пˆÒW¿:Ò2 пˆ Ð'¿ˆÐ¿D Ð'¿Dп\ Ð'¿\п< Ð'¿<¿ÿŽÐ¿8 Ð'¿8¿ÿРDÒ¿4ÿú*”пüÒ¿ô@l¿Ð¿üÒ¿€Ô¿ôÖ¿„Ø¿Dš @' пüÒ¿ô” @ncпüÒ¿ôÔ¿€@m0Ö D–ç$Ò¿ôпüÔ D@mÕÀ# \пüÒ¿øÔ¿ôÖ¿ŒØ¿Hš @&ßпüÒ¿€@'п„ÿ‘ü€@п|€¢ €€:пx’ “*`” •* ’@ Ö D˜À Ô%Ú¿xž Ÿ+à ¡, žÀâ D¤@֥пüÒ¿ø˜ @&ÝÐ'¿€ Ð'¿œÀ'¿ –¿”Ò¿€Ð¿ü” @&ÜÐ'¿ðпüÒ¿ð” @&Êпx’ “*`” •* ’@ Ö D˜À Ú%Ú'¿Pпx’ “*`” •* ’@ Ö D˜À Ú%Ú'¿LпPÒ¿L@&Ð'¿@пx’ “*`” •* ’@ Ö D˜À Ú% Ú'¿\п@‘* ÿ‘hÐ'¿„п„€€€ !,’#÷SÔ¢\ÿÐ!,€èÀ'¿Dп„Ð'¿ˆÐ¿\ÒÒ'¿4п4€€€ РDÒ&ôÔ¿4€¢€ €€Ð DÒ €¢`€ €Ð DÒ €¢`€€ Ð'¿4п4€€€ Ð'¿4À'¿<п<Ò¿P€¢ €€iÀ'¿8п8Ò¿L€¢ €€\п\ÒÒ'¿0п0€€€ РDÒ&ôÔ¿0€¢€ €€Ð DÒ €¢`€ €Ð DÒ €¢`€€ Ð'¿0п0€€€ Ð'¿0п0Ò¿4€¢ €€Ð DÒ¿4ÿù&”пüÒ¿ð@k»Ð¿üÒ¿€Ô¿ðÖ¿„Ø¿Dš @&À'¿Dп„Ð'¿ˆÐ¿0Ð'¿4пˆÒW¿>Ò2пˆÒW¿:Ò2 пˆ Ð'¿ˆÐ¿D Ð'¿Dп\ Ð'¿\п8 Ð'¿8¿ÿ¡Ð¿< Ð'¿<¿ÿ”РDÒ¿4ÿø÷”пüÒ¿ð@kŒÐ¿üÒ¿€Ô¿ðÖ¿„Ø¿Dš @%íРDÒ¿tÿøæ”пüÒ¿ô@k{пüÒ¿ô” @m'пüÒ¿ôÔ¿€@k¹Ö D–ç$Ò¿ôпüÔ D@l™À# \пüÒ¿øÔ¿ôÖ¿ŒØ¿Hš @%£Ð¿üÒ¿ð@%ÏпüÒ¿€@%Åп„ÿ¼Ð¿ü@%˜Ð¿Œÿ¶Ð¿üÿû €°Çàè?ÿÿ‚bØã€ð' DРDÒ €¢`€€?ÿÐ'¿ü€zРD@ˆÐ'¿üпü€€n€Ð DÿûBÐ"˜€€€9#BÐ"b˜BÐ"˜’ /@%Ð'¿øÐ¿ø€€€BÐ"˜Ð'¿ø€Ð¿ø Ð'¿øÐ DÒ&Ä”¿ôпø@VРDÐ&ÄÿûпøÒ¿ôÔ D@¾Ð'¿üпü€€6€Ð DÐ&ÄÒ DÒfÈ@%gРDÐ&ÄÒ DÒfÈ–¿” @%bРDÐ&Ä’ @%`РDÐ&ÄÒ DÒfÈ”¿8@%/РDÁ¿@ƒ €Ã"&ìРDÅ¿D‡ ‚Ç"&ðРD@5РDÐ&ÄÒ DÒfÈÔ DÔ¦Ì@%IРDÐ&Ä’ @%AРDÐ&Äÿûпü€€€Ð¿üÐ'¿ø€À'¿øÐ¿ø€°Çàè?ÿÿ‚c€ã€ð' DÀ'¿üÀ'¿ôÀ'¿øÐ¿ø€¢ €€Uпø‘* ’“*` Q”¢Ö € €€Cпø‘* ’“*` Q”¢ Ö Øà €£ €€5пø‘* ’“*` Q”¢ Ö Ö'¿ðРDÒ € €€Ð¿ðÒ € €€ РDÐ Ò¿ðÒ`@$Ð'¿ì€ Ð'¿ìп쀀€ пðÒ D€¢ €€Ð¿ðÐ'¿ô€Ð¿ø Ð'¿ø¿ÿ©Ð¿ô€€€Ð DÒ¿ôÔfÄÔ"&ÄРDÒ¿ôÔfäÔ"&äРDÒ¿ôÔfäÔ"&è€iРDÐ @$ Ð'¿ðРDÒ¿ðÒ"&ÄÐ¿ð€€€ Ð'¿ü€WРDÒ&ÄÔ`€Ô'¿ìРDÐ ÿ†Ð¿ì€€€À'¿è€Ð¿ì@#ðÐ'¿èпè ÿ7Ð'¿äРDÒ¿äÒ" п䀀€!,Ð'¿ü€0п쀀€Ð DÐ Ò¿ì@#ÕРDÒ&ÄÔ`„•* – —*à”€ Ø DÚ&ÄÞ`Œ À â 0ä Dâ$¦äРDÒ DÔfäÔ"&èРDÒ&ÄÔ`„•* – —*à”€ Ø DÚ&ÄÞ`Œ À Ò â DÐfÄ” @$Tпü€°Çàè?ÿý‚c8ã€ð' Dò' Hô' Lö' P?ÿÐ'¿ü»üÒ D@#Ÿ9’c @$@Ò H@$=·ü9’c$@#“Ò L@$5”·ü’»ü–·¬˜·¤Ð P@$1€¢ €€a»üÒ·¨Ô·¤@#[»üÒ·¤À* »üÐ'· Ð· ÒJ€ €€Ð· ÒJ” Ö @ €Šà€€Ð· ÐJ@$Ò· Ð*@з  Ð'· ¿ÿæ»ü9’c,@#/€€,€»ü9’c0@#%€€"€»ü9’c4@#€€€»ü9’c8@#€€€»ü9’c<@#€€€ Ð'·œ€À'·œÐ·œÐ'¿üпü€°Çàè?ÿÿ‚bã€ð' Dò' Hô' LÀ'¿üРLÒ&ÄÒ'¿ôпôÒ „“*`” •* ’@ Ö¿ôØàŒš Þ`(ààâ Là$fôпôÒ „Ò'¿PпôÒ „“*`” •* ’@ Ö¿ôØàŒš Þ`(ààà'¿L”¿H–¿ø’ пô@#¡Ð'¿DпD€€ €Ð LÒ¿Dÿò¸€€€ Ð'¿ü€&Ø L˜'Ö L–æüÒ DРLÔ H@jРLÀ"&ø–¿¬Ò¿ôРDÔ H@РL¨’` Ò"&Ì Ð'¿˜Ð LÒ'РLÿöJÐ'¿tРLÒ&üРLÿöDÐ'¿|РLÒ&Ì”£O– @ Ö'¿œÐ LÒ&äÒ'¿¤Ð D9’cD9”£TÖ Hÿÿ€€€À'¿@€Ð¿ôÒ „“*`” •* ’@ Ö¿ôØàŒš Þ`D€€€À'¿<€ Ð'¿<п<Ð'¿@п@Ð'¿ˆÐ¿ôÒ „“*`” •* ’@ Ö¿ôØàŒš Þ`(Þ# hà¿ôâ „£,`¤¥, ¢@æ¿ôèàŒªì`$ì# `®¿pî# p° ð# d3²`Jò# l´ ô# \ö¿ôøà„¹/ º»/`¸Ð¿ôÒ Œ”@ҠпôÔ¿°Ö¿´Ø¿¸Ú¿¼@# Ð'¿8РLÒ¿8Ò"&Èп8€€€ Ð'¿ü€”РLÒ&ÈÒ'¿4¿¬Ð# `À# \пôÒ¿4Ô DÖ D˜ š @"ó–¿Ò DпôÔ H@ҿ4пô@"ë9#d@"!Ð'¿Ð¿€€€Ð DÐ'¿Ð DÐ'¿ ”¿Ò¿4пô@"ÚпôÒ¿4Ô L@qРLÒ&üРLÿõ”Ò LÒfÐпô@"pРLÒ'РLÿõ’”Ò LÒfÐпô@"ÂРLÀ2',РLÀ2'.РLÀ2'0РLÀ2'2РL’'4Ô L–§,ØÀààØ2`Øàà2`ààØ2`à2`РL’'<Ô L–§,ØÀààØ2`Øàà2`ààØ2`à2`РL’'DÔ L–§,ØÀààØ2`Øàà2`ààØ2`à2`РL’ Ò"'LРD9’ct9”£„Ö Hÿþ$€¢ € € Ò LÐ"g|РLÒ¿ˆ€¢`€” €” Ô"'€Ð¿D€€€Ð¿D@"rпü€°Çàè?ÿÿ‚c ã€ð' Dò' Hô' LРDÒ H” – @"0Ò LÐ"fÐРDÒ H” – @"(Ò LÐ"fÔРDÒ H” – @" Ò LÐ"fØÐ DÒ H” – @"Ò LÐ"fÜРDÒ H” – @"Ò LÐ"fàÇàè?ÿÿ‚c¸ã€ð' DÀ'¿üпü€¢ €€Ð¿ü‘* ’“*` Q”¢Ö Ø DÚ€£@ €€€Ð¿ü Ð'¿ü¿ÿæÐ¿ü‘* ’“*` Q”¢Ö DØæÈØ" Çàè?ÿþ‚c0ã€ð' Dò' Hô' Lö' PРPÀ"РP’"€Ò" РP’"Ò" РHÒ „“*`” •* ’@ Ö HØàŒš Þ` à Pâ ¤#À§< è Pæ% РHÒ „“*`” •* ’@ Ö HØàŒš Þ`à Pâ ¤#À§< è Pæ% РPÒ’` Ò"¼Ò D@!9’c”@!¹’–»°˜»¨9”£ Ð L@!´€¢ €€™¼Ò»¬Ô»¨@ Þ¼’»¤”» –»˜˜»”@!¾Ð'»œ Ò»œ€Š €€? Ò»œ€Š €€8л˜€¢ €€2РHÒ „“*`” •* ’@ Ö HØàŒš Þ` ໘€¤€€"딈¢ €€Ð HÒ „“*`” •* ’@ Ö HØàŒš Þ`à»”€¤€€ РPÒ»˜Ò" РPÒ»”Ò" РPÒ’`Ò" Ò»œ€Š €€A Ò»œ€Š €€: Ò»œ€Š €€Ð HÒ „“*`” •* ’@ Ö HØàŒš Þ` à Pâ ¤#À滤¦Àæ'»¤ Ò»œ€Š €€Ð HÒ „“*`” •* ’@ Ö HØàŒš Þ`à Pâ ¤#Àæ» ¦Àæ'» Ð PÒ»¤Ò" РPÒ» Ò" РPÒ’`Ò"Çàè?ÿþ‚c(ã€ð' Dò' Hô' Lö' Pø' TРH9’c°9”£¼Ö Lÿü´€¢ €€Ð H9’cÈ9”£ÐÖ Lÿü§€¢ €€ РPÀ"РT’ Ò"€Ð P’ Ò"РTÀ"¼Ò H@ <9’cØ@ Ý’–»°˜»¨9”£äРL@ Ø€¢ €€f¼Ò»¬Ô»¨@ РDÒ&ÄÔ`„•* – —*à”€ Ø DÚ&ÄÞ`Œ À Ò 0â DÐfÄ”¼–»œ@ Ú€€€?л Ð# `É ` 9Ñbø©ŠH€9Ñc¡ˆH9Õ£™¡‰Ê› ÌÛ'»Ð»¢Ð# `Ý `¡ 9åbø¬ R€9åc¡¤R9飭¤ Ô¯ Öï'»”л¤Ð# `ñ `µ 9ùbø®Š\€9ùcµ¦ˆ\9ý£¦‰Þƒ ÀÃ'»˜”»’ РDÿò€ –¼9’cô :” :˜ (@ ¼Ò H@Ã:’`D@ d’–»°˜»¨:” PРL@ _€¢ €€f¼Ò»¬Ô»¨@‰Ð DÒ&ÄÔ`„•* – —*à”€ Ø DÚ&ÄÞ`Œ À Ò 0â DÐfÄ”¼–»œ@ a€€€?л Ð# `Å `‰ 9Íbø© F€9Íc‰¡F9Ñ£•¡ È— Ê×'»Ð»¢Ð# `Ù `  9ábø«ŠP€9ác£ˆP9壩£‰Ò« Ôë'»”л¤Ð# `í `± 9õbø® Z€9õc±¦Z9ù£½¦ Ü¿ Þÿ'»˜”»’ РDÿñ‹€ –¼:’`` :” l:˜ ”@'Çàè?ÿþ‚c0ã€ð' Dò' Hô' Lö' PРPÀ"РP’ Ò" РPÒ’`Ò"РH:’`°:” ¸Ö LÿûŠ€¢ €€ Ð'»¤€ Ð'»¤Ð PÒ»¤Ò" РPÒ’`Ò"¼Ò H@:’`À@¿’–»°˜»¨:” ÐРL@º€¢ €€}¼Ò»¬Ô»¨@ä¼’» ”»œ–»”˜»@ÄÐ'»˜ Ò»˜€Š €€i Ò»˜€Š €€b Ò»˜€Š €€  Ò»˜€Š €€ Ò»˜€Š €€ Ò»˜€Š €€ :’`ä:” ì:–á@¥€: Ò»˜€Š €€Ð DÒ „“*`” •* ’@ Ö DØàŒš Þ` à»”¢#À¤æ» ¦Àæ'»  Ò»˜€Š €€Ð DÒ „“*`” •* ’@ Ö DØàŒš Þ`໢#À¤æ»œ¦Àæ'»œÐ PÒ» Ò" РPÒ»œÒ" РPÒ’`Ò"Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' L Ð'¿ü@O:!8@NÒ LÐ"@РDÒ LÔ H@пü€°Çàè?ÿþ‚b€ã€ð' Dò' Hô' L Ð'¿ü:!<@ZÐ'ºèк耀€:!HÐ'ºèºíÒºè@[ºí:’ad@ûºíÒ D@÷ºí@Ð'¿ðпðÒ H@РLÒ ¬€ €€ РLÐ ¬@ Ð'¿ô€»ð@=»ð:’ah@Ù»ð@Ð'¿ôпôÒ H@þ:!t@Ð'»ìл쀀€»ð@"Ð'»ìлì:’a„@½Ð»ì@Ð'ºäлìÒºä Òºä’ ’d@áлì@ØÐ'¿øÐ¿øÒ H@Öпü€°Çàè?ÿÿ‚c˜ã€ð' D:!”@纀€€Ð D’@ì€(:!œ@׺€€€@µÐ'¿ø€ @³Ð7¿þпþ@²Ð'¿øÐ¿ø€€€ пøÒ РD@ȀРDÀ*РD€°Çàè?ÿÿ‚c ã€ð' DРDÒ €¢`€€ €Ð DÐ&ÄÿóçÀ# \РDÐ&ÄÒ DÒfÈ” – ˜ š @РDÐ&Ä’ @;РDÐ&Äÿóü €°Çàè?ÿÿ‚c ã€ð' DРDÒ €¢`€€ €'РDÐ&Äÿó»Ð DÐ&ÄÒ DÒfÈ@[РDÐ&ÄÒ DÒfÈ@XРDÐ&ÄÒ DÒfÐ@РDÐ&Ä’ @РDÿò&РDÐ&ÄÿóÆ €°Çàè?ÿÿ‚cpã€ð' Dò' HРDÒ&ÄÒ'¿üРDÒ&ÈÒ'¿øÐ DÒ&ÐÒ'¿ôРDÒ €¢`€€ €jРDÐ&Äÿó{пüÒ¿ô” @"пüÒ¿ô” – ˜ š @пüÒ¿ô” @‹À'¿Üп܀¢ €€5РDÁ'Ò HÃ@… I Ô Dǧ‰ ˆ# $9Ñã•¡ˆH— J×# `Ø `™+ ™; š¿àÞ¿Ü¡+àØ3@РDÙ'Ò HÛ`£I,Ô Dß§ ¡£ˆ/Ö Dãæð¥¤H°© 29í#±¥V³ Xó# `Ú `›+`›;`ž¿àà¿Ü£, ¤ÀÚ4 Ð¿Ü Ð'¿Ü¿ÿÉ–¿àÒ¿øÔ¿ôпü˜ š @mРDÐ&Ä@NпüÒ¿ô” @ÊРDÐ&ÄÿóC €°Çàè?ÿÿ‚c8ã€ð' Dò' Hô' Lö' PРDÒ&$Ò'¿üРDÒ&(Ò'¿øÐ DÒ&,Ò'¿ôРDÒ&0Ò'¿ð¿ÔÐ'¿ÐРL“* Ô H–€ ˜"àØ'¿ÈРPÐ'¿Ä¿ÔÒ HÔ@Ø`Ô" Ø" À'¿Ü:Á!èÿðſ؇ H¢¨Ê €’ €’ Ö¿Ü•*`–*à€–À Ö/¿Ü:É!èË¿ôͿءH¦©Ê¤€’ €’ Ö¿Ü•*`”  @–*à@–À Ö/¿Ü:Ñ!èÓ¿øÕ¿Ô—¢HªªÊ¨€’ €’ Ö¿Ü•*`”   –*à –À Ö/¿Ü:Ù!èÛ¿üݿԟ£H®«Ê¬€’ €’ Ö¿Ü•*`”  –*à–À Ö/¿Ü¿à’¿ÔÔ@Ø`Ô" Ô`Ø" Ô" À'¿ìРH’ Ò'¿ÌРL“* Ô H–€ ؿ̀£ €€ ¿¨Ð'¿¤¿¨Ò¿ÌÔ@Ø`Ô" Ø" À'¿°:á!èã¿ð忬§¤H²¬Ê°€’ €’ Ö¿°•*`–*à€–À Ö/¿°:é!èë¿ôí¿¬¯¥H¶­Ê´€’ €’ Ö¿°•*`”  @–*à@–À Ö/¿°:ñ!èó¿øõ¿¨·¦Hº®Ê¸€’ €’ Ö¿°•*`”   –*à –À Ö/¿°:ù!èû¿üý¿¨¿§H¾¯Ê¼€’ €’ Ö¿°•*`”  –*à–À Ö/¿°¿´’¿¨Ô@Ø`Ô" Ô`Ø" Ô" À'¿Àп¤Ò Ô¿ÐÖ €ŠÀ €€ ¿Ô’¿¨˜ ˜£ Ô@ ¿ÿþÔ" €‘п¤Ò € €” €” Ö¿ÐØà€ €š €š €‹@ €€Ð DÁ'Ã¿à… I Ò DÇg‰ ˆ# $:ѡ𕡈H— J×# `Ö `—*à—:àØ¿ÄÖ3РDÙ'Û¿ä£I,Ò Dßg ¡£ˆ/Ô Dã¦ð¥¤H°© 2:íáð±¥V³ Xó# `Ø `™+ ™; Ú¿ÄØ3`Ð¿Ä Ð'¿ÄпÀ€€ €Ð¿ÌÒ¿È€¢ €€MРDõ'÷¿´¹¦É:Ò Dûg½§= >:Å¡ð‰ B‹ DË# `Ö `—*à—:àØ¿ÄÖ3РDÍ'Ï¿¸‘¡É&Ò DÓg •¢)Ô Dצð™¢Èª ,:áá𥣈P§ Rç# `Ø `™+ ™; Ú¿ÄØ3`РDÐ&ÄÒ DÒfÈÔ DÔ¦ÔØ¿ÄÖ P˜# ™; ˜ Ö Pš @ÚРPÐ'¿Ä¿Ô’¿¨Ô@Ø`Ô" Ô`Ø" Ô" ¿à’¿¨Ô@Ø`Ô" Ô`Ø" Ô" À'¿ì€ ¿Ô’¿¨˜ ˜£ Ô@ ¿ÿþÔ" €ïпÐÒ € €€Ð¿ÐÐ'¿ Ð¿¤Ð'¿Ðп Ð'¿¤Ð¿ÐÒ •2`€ €€Ð¿Ðé ë¿ð­¥H´Ò¿Ðï` Ô¿¤ñ  ³¦·µ¦I6Ö¿Ð÷àØ¿¤ù »§»½¦‰½Ú¿Ðÿ` ¿§È>ÿ#` пÐÒ¿ðÒ" €cпÐÒ •2`€Š €€Ð¿ÐÁ ÿô… H Ò¿ÐÇ` Ô¿¤É  ‹¡£¡I"Ö¿ÐÏàØ¿¤Ñ “¢§•¡‰©Ú¿Ð×` —¢È*×#` пÐÒ¿ôÒ" €BпÐÒ •2`€Š €€Ð¿ÐÙ Û¿ø£H¬Ò¿Ðß`Ô¿¤á £¤¯¥¤I.Ö¿Ðçà Ø¿¤é «¥³­¤‰µÚ¿Ðï`¯¥È6ï#`пÐÒ¿øÒ" €!пÐÒ •2`€Š €€Ð¿Ðñ ó¿üµ¦H¸Ò¿Ð÷`Ô¿¤ù »§»½§I:Ö¿Ðÿà Ø¿¤Á ƒ ¿…§‰¡Ú¿ÐÇ`‡ È"Ç#`пÐÒ¿üÒ" пВ Ò" пÐÀ" пÐÉ Ë¿ð¡H¤:Ïa詊§€” €” Ö¿ÐÚJà™* š+`€š@ Ú*àпÐÑ Ó¿ô•¢H¨:×a誊«€” €” Ö¿ÐÚJà™* ˜ @š+`@š@ Ú*àпÐÙ Û¿ø£H¬:ßa諊¯€” €” Ö¿ÐÚJà™* ˜ š+` š@ Ú*àпÐá ã¿ü¥¤H°:ça謊³€” €” Ö¿ÐÚJà™* ˜ š+`š@ Ú*à¿þaÐ¿Ì Ð'¿Ì¿ýñÇàè?ÿÿ‚cXã€ð' Dò' HРDÒ €¢`€€ €XРDÐ&ÄÿðoРDÒ&ÄÒ'¿ØÐ DÒ&ÈÒ'¿ÜРDÒ&ÔÒ'¿üРHБ* ÿ…oÐ'¿èпèÐ'¿äРH’ Ò'¿ÔпÔÒ Ò'¿ìп쀢 € €Ð¿ì€¢ €€ Ð'¿ìпԒ Ò'¿Ðпì‘* ’“*` Ô D–€˜à€Ø'¿ÌпÔÒ € €€Ð¿ÌÐ'¿È€Ð¿ÐÐ'¿ÈпÈÒ Ò'¿ôпô€€€ РDÒ&ôÔ¿ô€¢€ €€Ð DÒ €¢`€ €Ð DÒ €¢`€€ Ð'¿ôРDÒ&ô€¢`€€Ð¿ô€€€Ð DÒ'Ò'¿ô€ пô€¢ €€Ð DÒ&üÒ'¿ôРDÒ¿ôÿí=”пØÒ¿ü@_ÒпÔÒ € €€ пÌÐ @ÓÐ'¿Ä€Ð¿ÐÐ @ÌÐ'¿ÄпÔÒ€ €€Ð¿ÌÐ'¿È€Ð¿ÐÐ'¿ÈпÈÒÒ'¿ôпô€¢ €€Ð¿ô€¢?ý€€Ð¿ô€¢ €€À'¿øÐ¿Ä€¢ €€À'¿Ä€Ð¿ô€€€Ð¿ô Ð'¿ô€Ð¿ô Ð'¿ô Ð'¿øÐ¿ØÒ¿üÔ DÖ¿ô@_ÚпØÒ¿üÔ¿ÄÖ¿ø˜ š @_ŠÐ¿ØÒ¿ü” @a!Ö D–ç$Ò¿üпØÔ D@`РHÒ Ò'¿àРHÒÒ'¿ðРDÒ'|€ €€ РDÒ¿àÔ¿ðÖ¿äÿü^€FÀ'¿ôпôÒ¿ð€¢ €€6РDé'Ò¿àë@­¥I4Ô Dï§±¥ˆ7µ 8:ùáø½¦ˆ\¿ ^ÿ# `Ø `™+ ™; Ú¿èØ3@РDÁ'Ò¿àÃ`… I Ô Dǧ ‰ ˆ#Ö DËæð¡H¤‘ &:Õ!ø™¢J› LÛ# `Ú `›+`›;`Þ¿èÚ3àпè Ð'¿èпà Ð'¿àпô Ð'¿ô¿ÿÇпØÒ¿ÜÔ¿üÖ¿äØ¿ðš @pпØ@Rпäÿ„pРDÐ&ÄÿïI €°Çàè?ÿÿ‚cPã€ð' Dò' HРDÒ €¢`€€ €8РDÐ&ÄÿïРDÒ&ÄÒ'¿üРDÒ&ÈÒ'¿øÐ DÒ&ØÒ'¿ôРHБ* ÿ„Ð'¿ðпðÐ'¿ìÐ¿ð€€€ !,’#öSÔ¢\ÿm!,€Ð H’ Ò'¿ÐпÐÒ Ò'¿ÔпԀ¢ € €Ð¿Ô€¢ €€ Ð'¿ÔпВ Ò'¿äпԑ* ’“*` Ô D–€˜á|Ø'¿àпÐÒ € €€Ð¿àÐ'¿Ü€Ð¿äÐ'¿ÜпÜÒ Ò'¿Ìп̀€€ РDÒ&ôÔ¿Ì€¢€ €€Ð DÒ €¢`€ €Ð DÒ €¢`€€ Ð'¿ÌРDÒ&ô€¢`€€Ð¿Ì€€€Ð DÒ'Ò'¿Ì€ п̀¢ €€Ð DÒ&üÒ'¿ÌРDÒ¿ÌÿëÆ”Ð¿üÒ¿ô@^[пÐÒ € €€Ð¿àÒ Ò'¿Ä€Ð¿äÒ Ò'¿ÄпÐÒ€ €€Ð¿àÐ'¿Ü€Ð¿äÐ'¿ÜпÜÒ€ €€Ð¿ÜÒ€¢`€€Ð¿ÜÒÒ'¿è€ Ð'¿èпüÒ¿ô” – ˜ š @^7пüÒ¿ô” @_ÎÖ D–ç$Ò¿ôпüÔ D@_РHÒ Ò'¿ØÐ HÒÒ'¿ÈÀ'¿ÌпÌÒ¿È€¢ €€6РDÁ'Ò¿ØÃ@… I Ô Dǧ‰ ˆ# $:ÑâH•¡ˆH— J×# hØ h™+ ™; Ú¿ðØ3@РDÙ'Ò¿ØÛ`£I,Ô Dß§ ¡£ˆ/Ö Dãæð¥¤H°© 2:í"H±¥V³ Xó# hÚ h›+`›;`Þ¿ðÚ3àпð Ð'¿ðÐ¿Ø Ð'¿ØÐ¿Ì Ð'¿Ì¿ÿÇõ¿Ä¹ :ù# \û# `пüÒ¿øÔ¿ôÖ¿ìØ¿ÈÚ¿è@пü@ пìÿƒ(РDÐ&Äÿî €°Çàè?ÿÿ‚cã€ð' Dò' Hô' Lö' Pø' Tú' Xý \ÿ `¿ Þÿ' \€ãÁ \ƒ  … !Å'¿ŒÀ'¿œÐ¿œÒ T€¢ €€-РPÒRÒ# hÇ h‰ ƒË \¡¥ &Ï'¿”РPÒR Ò# hÑ h“ ˆÕ \—¢Hª™ +Ù'¿Ð¿ŒÐ# \À# `’bÒ# dРDÒ HÔ LÖ¿”ؿڿŒ@IРD@¿Ð P Ð' Pпœ Ð'¿œ¿ÿЀ¹Û \ ­Ÿ .ß# hРh‘* ‘: Ð7¿ðÀ7¿òá \£ 0ã# hРh‘* ‘: Ð7¿ôÀ7¿öÀ7¿øå \§ 2ç# hРh‘* ‘: Ð7¿úÀ7¿üé \« ´­ 5í# hРh‘* ‘: Ð7¿þÀ'¿œÐ¿œÒ T€¢ €€zРPÒRÒ# hï h± —ñ'¿ˆÐ PÒR Ò# hó hµ ™õ'¿„À'¿˜Ð¿˜€¢ €€U¿ðÒ¿˜•*`ÖR Ö# h÷ h¹ ›û¿ˆ½§H<¿ >ÿ# lØ l™+ ™; š¿ Þ¿˜¡+àØ3@¿ðÒ¿˜•*`– ØRàØ# hÁ hƒ €Å¿„‡ ˆ!‰ #É# lÚ l›+`›;`ž¿ à¿˜£, ¤ÀÚ4 ¿ðÒ¿˜•*`– ØRàØ# hË h …Ï¿ˆ‘¡È&“ (Ó# lÚ l›+`›;`ž¿ à¿˜£, ¤ÀÚ4 ¿ðÒ¿˜•*`– ØRàØ# hÕ h— ŠÙ¿„›£+ -Ý# lÚ l›+`›;`ž¿ à¿˜£, ¤ÀÚ4 Ð¿˜ Ð'¿˜¿ÿ©–¿ Ò HРDÔ L˜ @¨Ð D@РP Ð' Pпœ Ð'¿œ¿ÿƒ€ß \¡ ¯£ 0ã# hРh‘* ‘: Ð7¿ØÀ7¿Úå \§ 2ç# hРh‘* ‘: Ð7¿ÜÀ7¿Þ:é"Pí \± 6µ¦ T· Z÷# hÒ h“*`“:`Ò7¿à:ù"Xý \ >…  \‡ BÇ# hÒ h“*`“:`Ò7¿â:É"PÍ \ ¦‘ '•¢ D— J×# hÒ h“*`“:`Ò7¿ä:Ù"XÝ \Ÿ ®¡ /¥¤ L§ Rç# hÒ h“*`“:`Ò7¿æ:é"Pí \± 6µ¦ T· Z÷# hÒ h“*`“:`Ò7¿è:ù"Xý \¿ ¾ ?…  \‡ BÇ# hÒ h“*`“:`Ò7¿ê:É"PÍ \ ¦‘ '•¢ D— J×# hÒ h“*`“:`Ò7¿ì:Ù"XÝ \¡ .¥¤ L§ Rç# hÒ h“*`“:`Ò7¿îÀ'¿œÐ¿œÒ T€¢ €€zРPÒRÒ# hé h« ”ë'¿ˆÐ PÒR Ò# hí h¯ –ï'¿„À'¿˜Ð¿˜€¢ €€U¿ØÒ¿˜•*`ÖR Ö# hñ h³ ˜õ¿ˆ·¦ˆ9¹ ;ù# lØ l™+ ™; š¿ Þ¿˜¡+àØ3@¿ØÒ¿˜•*`– ØRàØ# hû h½ ÿ¿„§È>ƒ  Ã# lÚ l›+`›;`ž¿ à¿˜£, ¤ÀÚ4 ¿ØÒ¿˜•*`– ØRàØ# hÅ h‡ ‚É¿ˆ‹¡# %Í# lÚ l›+`›;`ž¿ à¿˜£, ¤ÀÚ4 ¿ØÒ¿˜•*`– ØRàØ# hÏ h‘ ‡Ó¿„•¢H(— *×# lÚ l›+`›;`ž¿ à¿˜£, ¤ÀÚ4 Ð¿˜ Ð'¿˜¿ÿ©–¿ Ò HРDÔ L˜ @¹Ð D@,РP Ð' Pпœ Ð'¿œ¿ÿƒ€&Ù \›£, -Ý'¿ŒÀ'¿œÐ¿œÒ T€¢ €€-РPÒRÒ# hß h¡ ã \¥¤±§ 2ç'¿”РPÒR Ò# hé h« ”í \¯¥H¶± 7ñ'¿Ð¿ŒÐ# \À# `’bÒ# dРDÒ HÔ LÖ¿”ؿڿŒ@ƒÐ D@óРP Ð' Pпœ Ð'¿œ¿ÿЀí:õ"Pù \½ <§‰Zƒ @Ã# hÒ h“*`“:`Ò7¿È:Å"XÉ \ $‘¡‰B“ HÓ# hÒ h“*`“:`Ò7¿Ê:Õ"`Ù \ ,¡£‰J£ Pã# hÒ h“*`“:`Ò7¿Ì:å"hé \­ 4±¥‰R³ Xó# hÒ h“*`“:`Ò7¿Î:õ"Pù \½ <§‰Zƒ @Ã# hÒ h“*`“:`Ò7¿Ð:Å"hÉ \ $‘¡‰B“ HÓ# hÒ h“*`“:`Ò7¿Ò:Õ"`Ù \ ,¡£‰J£ Pã# hÒ h“*`“:`Ò7¿Ô:å"Xé \­ 4±¥‰R³ Xó# hÒ h“*`“:`Ò7¿ÖÀ'¿œÐ¿œÒ T€¢ €€zРPÒRÒ# hõ h· š÷'¿ˆÐ PÒR Ò# hù h» œû'¿„À'¿˜Ð¿˜€¢ €€U¿ÈÒ¿˜•*`ÖR Ö# hý h¿ žÁ¿ˆƒ ?… !Å# lØ l™+ ™; š¿ Þ¿˜¡+àØ3@¿ÈÒ¿˜•*`– ØRàØ# hÇ h‰ ƒË¿„¡H$ &Ï# lÚ l›+`›;`ž¿ à¿˜£, ¤ÀÚ4 ¿ÈÒ¿˜•*`– ØRàØ# hÑ h“ ˆÕ¿ˆ—¢ˆ)™ +Ù# lÚ l›+`›;`ž¿ à¿˜£, ¤ÀÚ4 ¿ÈÒ¿˜•*`– ØRàØ# hÛ h ß¿„¡£È.£ 0ã# lÚ l›+`›;`ž¿ à¿˜£, ¤ÀÚ4 Ð¿˜ Ð'¿˜¿ÿ©–¿ Ò HРDÔ L˜ @¦Ð D@РP Ð' Pпœ Ð'¿œ¿ÿƒ€€Ð X" €¢ ¿ÿû‘*  ’bðÐ Â#D$(&¸*t+XÇàè?ÿÿ‚cã€À'¿ü Ð'¿ô¿ø@˜’¿ô ” @}€°Çàè?ÿÿ‚cã€ð' DÀ'¿üРDÐ'¿ô¿ø@„’¿ô ” @i€°Çàè?ÿÿ‚c ã€ð' Dò' H” H ’cРD@\€°Çàè?ÿÿ‚cã€ð' Dò' HÀ'¿ü Ð'¿øÐ H€€€¿øÐ'¿ô€¿üÐ'¿ôРD ’b}Ô¿ô@=€°Çàè?ÿÿ‚c`ã€ð' Dò' Hô' Lö' P!Ð'¿ø:Á"°Å LÇ P¨ŠÀ €€À'¿Ì€¿ÐÐ'¿ÌпÌÉ LË P‹ DË"пÌÍ‘ Õ L× P™¢ˆÈ:Ýb¸¡£ N£ PÔ¿Ìã" ¿Ø’ @ РH€€€QРH“* Ô D–€ Ö'¿ÈРDÒ¿È€¢ €€EРDÒÒ'¿ÄпÄÒ&ÄÔ`€ €€ :’bÀ:”¢è– °@Ä @¯Ð¿ÄÒ&ÄÔ`€¢¡€€ :’bð:”£– ±@° @›Ð¿ÄÒ&ÄÔ`—2 ™*àš¿Øž@ Þ'¿ÀпÄÒ&ÄÔ`–  ˜ ›+ ž à¿Àâ¢@â$РD Ð' D¿ÿ¸’¿ØÐ¿ø” – Ø¿Ì@´Ð'¿üпü€¢?ÿ€€Ð €¢ €€ Ð'¿ü€:# @¡€ пü€€€ÿèûпü€°Çàè?ÿÿ‚cã€ð' Dò' HРDÐ&ð@³;Ð"`\РHÒ (Ò'¿üРHÒ (€¢`€ €Ð HÒ (€¢`€€ Ð'¿üРHÒ €¢`€€Ð HÒ ,;Ò" d€ пü‘* ’“*` Ô D–€Øâx;Ø#`d;Ð d“* ;”  Ö@ €¢à€€$;Ð d@Ò€€€ ;Ð"`d;Ð d@Æ€€€ ;’`˜;Ô dSÖâ`@  @ôРHÒ $€¢`€€Ð HÒ <;Ò" `€ пü‘* ’“*` Ô D–€Øâˆ;Ø#``€€ РDÒ&ô;Ô `€¢€ €€Ð DÒ €¢`€€Ð DÒ €¢`€€ ;Ð"``РDÒ&ô€¢`€€;Ð `€€€Ð DÒ';Ò" `€ ;Ð `€¢ €€Ð DÒ&ü;Ò" `РDÁ'Ò HÃ`… I ;Å" ŒÐ DÇ'Ò HÉ` ‹¡ #;Ë" Ð DÍ'Ò HÏ`‘¡É&;Ñ" „РDÓ'Ò HÕ`—¢‰);×" ˆÐ HÒ €¢`€€Ð HÙ 4;Û`„›£I,;Û" „РHÝ 4;ß`ˆŸ£É.;ß" ˆ€Ð¿ü‘* ’“*` Ô D–€áâ€;ã „£¤I0;ã#`„пü‘* ’“*` Ô D–€åâ€;ç ˆ§¤É2;ç#`ˆ; l@š;Ð d“* ;” Ö@ ØRàØ# `é `« ”;í`„¯¥‰µ;ï#àl;Ð d“* ;” Ö@ ØRàØ# `ñ `³ ˜;õ`ˆ·¦‰¹;÷#àx;Ð d“* ;” Ö@ ØRà Ø# `ù `» œ;ý`Œ¿§‰½;ÿ#àp;Ð d“* ;” Ö@ ØRà Ø# `Á `ƒ €;Å`‡ ‰¡;Ç#à|РHÒ €¢`€€Ð HÒ 8;Ò" h€ пü‘* ’“*` Ô D–€Øâ„;Ø#`hÇàè?ÿÿ‚c`ã€ð' Dò' HРDÒ €¢`€€ €ùРDÐ&Äÿè[:Ð#h€¢ €€À'¿ÔпԀ¢ €€ пԓ* ;”  À"@ Ð¿Ô Ð'¿Ô¿ÿò:À"#hРDÒ&Ä;Ò" Ð DÒ&È;Ò" Ð DÒ&à;Ò" Ð DÒ Hÿþi;Ð d“* ;” Ö@ Ö'¿ìРDÉ'Ò HÔ@Ë€¡I$Ö DÏç‘¡ˆ'Ñ'¿ðРDÓ'Ò HÔ@Õ —¢‰)Ö DÙç ›¢È,Û'¿ôпð;Ð"`tпô;Ð"`€Ð HÒ Ò'¿ü:Ý#lÝ'¿è:ß#pß'¿äпüÒJ€ €€rпüÒJ•*`Ö¿ì˜À Ú ,€ €€bпüÒJ•*`Ö¿ì˜À Ú ,›+`ž Ÿ+àš@à¿ì¢ ¤d,ä'¿Ø€DпØ@¼á¿è¥ 0©¤ˆ@« Ôë'¿èпìÒR Ò# `í `¯ –;ñ h³¥É8õ¿èµ¦ˆ9õ'¿è€=пØ@ÍÁ; `пØ@ïù `½ ÜÁ¿è…  ‰ ˆ^‹ ÄË'¿èпìÒR Ò# `Í ` †;Ñ h“¡É(Õ¿è•¢ˆ)Õ'¿èпØ@Ž— @×'¿ÔÙ¿Ô› ŒÝ¿ä«J® €€ß¿Ô¡ á'¿ä€Ð HÐ X€¢ € ‘* ’cìÐ Â:¼:¼;;пü Ð'¿ü¿ÿ‹€ù€:ã#lã'¿à€:å#xé¿è« ´­ 5±¥‰Ò³ Øó'¿à€õ¿è· º÷'¿à€Ð HÐ \€¢ ¿ÿé‘* ’`˜Ð Â< < <4<\€/пìÒR "” Ô# `ù `» œû'¿Ü€6пìÒR $” Ô# `ý `¿ žÿ'¿Ü€-пìÒR &” Ô# `Á `ƒ €Ã'¿Ü€$пìÒR (” Ô# `Å `‡ ‚Ç'¿Ü€Ð¿ìÒR *” Ô# `É `‹ „Ë'¿Ü€Ð HÐ `€¢ ¿ÿë‘* ’aŒÐ Â=<°<Ô<ø==@€¢€HРHÒ ÔJ@—* Ø¿ìš Þ`,Ÿ+à ¡, žÀпì$,@ñͿ葠&•¢À— Ê×'¿à€?РHÒ ÔJ@—* Ø¿ìš Þ`,Ÿ+à ¡, žÀпì$,@Ú#:Ùcxݿ衠.¥¤ Ì©¤ˆÀ« Ôë'¿à€%РHÒ ÔJ@—* Ø¿ìš Þ`,Ÿ+à ¡, žÀпì$,@À  ­ Àí'¿à€Ð HÐ \€¢ ¿ÿè‘* ’bôÐ Â>x=´>>x€/пìÒR "” Ô# `ï `± —ñ'¿Ü€6пìÒR $” Ô# `ó `µ ™õ'¿Ü€-пìÒR &” Ô# `÷ `¹ ›ù'¿Ü€$пìÒR (” Ô# `û `½ ý'¿Ü€Ð¿ìÒR *” Ô# `ÿ ` ŸÁ'¿Ü€Ð HÐ `€¢ ¿ÿë‘* ’cèÐ Â?x? ?0?T?x?œ€ €:Ã#lÃ'¿à€:Å#xɿ䋠¤ %‘¡‰Â“ ÈÓ'¿à€Õ¿ä— ª×'¿à€Ð HÐ \€¢ ¿ÿî‘* ’`ˆÐ Â@$@@$@L€-Ù¿è› ¬Û'¿Ü€8пìÒR Ò# `Ý `Ÿ Ž;á h££É0å¿è§ ²©¤È±é'¿Ü€*:í#xñ¿è³ ¸µ 9¹¦‰Ö» Üû'¿Ü€ :ý#lý'¿Ü€Ð¿ìÒR *” Ô# `ÿ ` ŸÁ'¿Ü€Ð HÐ `€¢ ¿ÿï‘* ’atÐ ÂA@ @´@ìAA(€¨€:Ã#lÃ'¿à€:Å#xɿ䋠¤ %‘¡‰Â“ ÈÓ'¿à€Õ¿ä— ª×'¿à€Ð HÐ \€¢ ¿ÿé‘* ’bÐ ÂA°AœA°AØ€bпìÒR "” Ô# `Ù `› ŒÛ'¿Ü€iпìÒR $” Ô# `Ý `Ÿ Žß'¿Ü€`РHÒ ÔJ@—* Ø¿ìš Þ`,Ÿ+à ¡, žÀпì$,@ #:ácxå¿è© 2­¥ б¥ˆÀ³ Øó'¿Ü€FРHÒ ÔJ@—* Ø¿ìš Þ`,Ÿ+à ¡, žÀпì$,@óõ¿è¹ :½§À¿ Þÿ'¿Ü€/РHÒ ÔJ@—* Ø¿ìš Þ`,Ÿ+à ¡, žÀпì$,@Üſ艠"¡Àâ¿ìäT`*ä# `Ñ `• ™¡ˆÊ› ÌÛ'¿Ü€Ð HÐ `€¢ ¿ÿ‘* ’cÔÐ ÂB,B,BPBtBÜC8€Ð HÐ X€¢ ¿þ‘* ’`Ð Â<=¬@A”; lݿࡠ.á# `Ò `ã# `Ô `ã¿Ü¥ 1å# dÖ dç# dØ d@rÖ D–ç$;Ò`;Ð Ô D@VÆÐ D;Ò``ÿâ·”;Ð ;Ò`@UJ;Ð ;Ò`” – ˜ š @UU;Ð ;Ò`” @VêРHÒ Ò'¿øÐ¿øÒJ€ €€ÜпøÒJ•*`Ö¿ì˜À Ú ,›+`ž Ÿ+àš@пì $,@×€¨Ð¿øÒJ•*`Ö¿ì˜À Ú ,›+`ž Ÿ+àš@пì $,@à¿ìâT â# `ç `© “%;ë h­¥ 5± 6µ X· Ú÷'¿à:ù#lù'¿Ü€–пøÒJ •*`Ö¿ì˜À Ú ,›+`ž Ÿ+àš@пì $,@ã  à¿ìâT â# `û `½ %;ÿ h…§‰?‰ " Ä ÆÏ'¿à:Ñ#lÑ'¿Ü€uпøÒJ •*`Ö¿ì˜À Ú ,›+`ž Ÿ+àš@пì $,@èÁ; `à¿øâL¥,`æ¿ì¨Àê ,«-`¬­- ª@пì$,@þÕ `™ Êî¿ìðUà ð# hÝ hŸ Ž3;á`h££É0¥ 1©£R« Ôë'¿Ü:í#lí'¿à€CпøÒJ•*`Ö¿ì˜À Ú ,›+`ž Ÿ+àš@пì $,@¶Á; `à¿øâL ¥,`æ¿ì¨Àê ,«-`¬­- ª@пì$,@Ì  ñ `µ Xî¿ìðUà ð# hù h» œ3;ý`h¿§I> ?…¦ˆÀ‡ ÂÇ'¿Ü:É#lÉ'¿à€Ð HÐ X€¢ ¿ÿW‘* ’`0Ð ÂEpEðFtG<; lË¿à %Í# `Ò `Ï# `Ô `Ͽܑ 'Ñ# dÖ dÓ# dØ d@mпø Ð'¿ø¿ÿ!РDÐ&Äÿä” €°Çàè?ÿÿ‚aðã€ð' D mÐ/¿ÿÀ'¿ø¾\Ð'¿ì:Ó#€;Õ`p—¢‰):Ù£€;Ûàl£I,Ÿ£ˆ+;á t££È0¥ 1:écˆ­¤ˆT¯ V± —ñ'¿ð:ó#€;õ`|·¦‰9:ù£€;ûàx½§I<¿§ˆ;;Á €ƒ§È … !:Écˆ ˆD FÏ# `Þ `!;à \¢$â# dÑ d“ ˆ%:Õ£€ªJ*€%:Õ£“¢H*Ó'¿ôпì Ð'¿ìпø Ð'¿øÐ DÒJ€¢`e€€ØÐ¿ø€¢ d€€–¾\;Ò`;Ô ;Ð Ø¿øš @Jпø" Ð'¿ø¾\’¾\Ô¿ø—* ˜@ àä à2 ä2  Ð'¿ø€¨ÐO¿ÿ€¢ d€€ –¾\;Ò`;Ô ;Ð Ø¿øš @) mÐ/¿ÿ Ð'¿ø¾\Ð'¿ìРDÒR Ò# `× `™ ‹Ù'¿ðРDÒR Ò# `Û ` Ý'¿ô:á#ˆ;å`pç¿ô©¤‰3;ë lí¿ð¯¥I6±¥È4;óàtµ¦9¹ :½§P¿ ^ÿ# `Ø `›+ ›;`Þ¿ìÚ3ÀРDÒR Ò# `Á `ƒ €;Å |‡ ‰!;ÉàxË¿ð¡ %¡ˆ#;Ñ €“¡È(• ):Ùcˆ¢ˆLŸ Nß# dÞ d!;à \¢$ä¿ìâ4 Ð¿ì Ð'¿ì€W dÐ/¿ÿРDÒR Ò# `á `£ ã'¿ðРDÒR Ò# `å `§ ’ç'¿ô:é#ˆ;í`pï¿ô±¥‰7;ó lõ¿ð·¦I:¹¦È8;ûàt½§= >… T‡ BÇ# `Ø `›+ ›;`Þ¿ìÚ3ÀРDÒR Ò# `É `‹ „;Í |¡‰%;ÑàxÓ¿ð•¢ )—¢ˆ';Ù €›¢È, -:ácˆ¥£ˆP§ Rç# dÞ d!;à \¢$ä¿ìâ4 Ð¿ø Ð'¿øÐ¿ì Ð'¿ì€€ РDÐJ€¢ d¿ÿ²€¢ m¿ÿT¿ÿöРD Ð' D¿ÿ%пø€¢ €€ –¾\;Ò`;Ô ;Ð Ø¿øš @ t;Ð @ UÇàè?ÿÿ‚c¸ã€ð' DРDÒJ€¢`e€€€ РDÒR Ò# @Á @ €Ð DÐJ€¢ S¿ÿö€Ð D Ð' D¿ÿæ:Á#˜€Çàè?ÿÿ‚c¸ã€ð' DРDÒJ€¢`e€€€ РDÒR Ò# @Á @ €Ð DÐJ€¢ s¿ÿö€Ð D Ð' D¿ÿæ:Á# €Çàè?ÿÿ‚c¸ã€ð' DРDÒJ€¢`e€€€ РDÒR Ò# @Á @ €Ð DÐJ€¢ S¿ÿö€Ð D Ð' D¿ÿæ:Á#¨€Çàè?ÿþ‚c¨ã€ð' DРD€€ €Ð D€¢ €€?ÿ€wРD“* ;”  Ö@ €¢à€€ €j¼;’`ÌSÔ¢`Ö D@ ›¼’ ”!¤@ SÐ'¼Ð¼€€€Ð¼@ L?ÿ€P’¼Ð¼” @ G€¢ €€Ð¼@ <?ÿ€@мÿwwÐ'¼ РD“* ;” Ö¼ Ö"@ м €€€Ð¼@ &?ÿ€*РD“* ;” Ò@ мԼ@ Ö¼€¢ €€Ð D“* ;” Ð@ ÿwŒÐ¼@ ?ÿ€Ð¼@ РD“* ;”  – Ö"@  €°Çàè?ÿÿ‚cÀã€ð' D:é#°Ò Dé"@РD:ëc´ë" РD:íc´í" РD:ïc°ï" РD:ñc´ñ" РD:óc´ó"  €°Çàè?ÿÿ‚cpã€ð' Dò' Hô' Lö' Pø' Tõ H· Ú÷' Hù P» Üû' P¿èÿÿÏРHÐ'¿ðРPÐ'¿ü¿è”¿ÐÒ D@+’¿ÐРD@ €°Çàè?ÿÿ‚c¸ã€ð' Dò' HÀ'¿üпü€¢ €€Ð¿ü“* Ô DÖ¿ü™*àÚ HÞ@ Þ"€ пü Ð'¿ü¿ÿï €°Çàè?ÿÿ‚cÀã€ð' Dò' Hô' LРHý Ò Dÿ` §É>Ô HÀ֠DÅÀ‡ ‰!‰ È :Ë#¸Ú HÍ`¡‰%‘¡'Þ LÑ#ÀРHÓ Ò DÕ`—¢‰)Ô DÙ Ö HÛÀ£ -Ÿ£ˆ+:á#¸Ú Hã`¥¤I0§£È2Þ Lç#àРHé Ò Dë`­¥I4Ô Dï Ö HñÀ³¥É8µ¦H6:÷#¼Ú Hù`»§ ;½¦ˆ=Þ Lý#àРHÿ Ò DÁ` ƒ  ?Ô HÅ  Ö DÇÀ‰ É"‹¡!:Í#¸Ú HÏ`‘¡É&“¡H(Þ LÓ#à РHÕ Ò D×`™¢É*Ô HÛ  Ö DÝàŸ£‰-¡£È,:ã#¸Ú Hå`§¤‰1©¤3Þ Lé#àРHë Ò Dí`¯¥‰5Ô Hñ  Ö Dó൦I8·¦ˆ7:ù#¼Ú Hû`½§I<¿¦È>Þ Lÿ#à €°Çàè?ÿÿ‚c°ã€ð' Dò' Hô' Lö' Pø' TÀ'¿üпü€¢ €€y€eРDÒR Ò# @Á @ƒ €Ô HÅ€¨J¢ €€ РDÒR Ò# @Ç @‰ ƒÔ HÉ"€Ð DÒR Ò# @Ë @ …Ô PÏ€©Š§ €€ РDÒR Ò# @Ñ @“ ˆÔ PÓ"€Ð¿ü Ð'¿ü€CРDÒR Ò# @Õ @— ŠÔ LÙ€ªÊ¬ €€ РDÒR Ò# @Û @ Ô LÝ"€Ð DÒR Ò# @ß @¡ Ô T〬 ± €€ РDÒR Ò# @å @§ ’Ô Tç"€Ð¿ü Ð'¿ü€Ð¿ü Ð'¿ü€Ð DÐJ€¢ S¿ÿÉ€¢ e¿ÿõ€¢ s¿ÿ”€Ð D Ð' D¿ÿ… €°Çàè?ÿÿ‚cÀã€ð' Dò' Hô' LРDé ­ 4:ñcÀµ¥‰XÔ Hù Ö DûཧI<Ø HÿÚ DÁ@ƒ  ?… H>‰ "¡Z ÆÞ LÏ#ÀРDÑ • (:ÙcÀ¢‰LÔ Há Ö Dã।I0Ø Dç Ú Hé@«¤É4­¥H2± 6µ¦N· ÚÞ L÷#à €°Çàè?ÿÿ‚cHã€ð' Dò' Hô' L:Ð#h€¢ €€À'¿°Ð¿°€¢ €€ п°“* ;”  À"@ п° Ð'¿°¿ÿò:À"#hРDÒ Hÿö˜;Ð d“* ;” Ö@ Ö'¿èРDù'Ò HÔ@û€½§I<Ö Dÿ秈?Á'¿ìРDÃ'Ò HÔ@Å ‡ ‰!Ö DÉç ‹ È$Ë'¿ðпì;Ð"`tпð;Ð"`€:Í#ÈÍ'¿ÌпÌÐ'¿Ô:Ï#ÌÏ'¿ÈпÈÐ'¿ÐРHÒ Ò'¿ô:Ñ#ÐÑ'¿ä:Ó#ÔÓ'¿àпôÒJ€ €€yпôÒJ•*`Ö¿è˜À Ú ,€ €€iпôÒJ•*`Ö¿è˜À Ú ,›+`ž Ÿ+àš@à¿è¢ ¤d,ä'¿´”¿Ð’¿Ô–¿Ì˜¿Èп´ÿþ¿€Dп´ÿüÚÕ¿ä™ *£@Ÿ Îß'¿äпèÒR Ò# `á `£ ;å h§¤I2é¿ä©¥3é'¿ä€=п´ÿüëÁ; `п´ÿý í `± Öõ¿ä¹ :½§X¿ Þÿ'¿äпèÒR Ò# `Á `ƒ €;Å h‡ I"ɿ䉡#É'¿äп´ÿü¬‹ @Ë'¿°Í¿° †Ñ¿à©Ê¨ €€Ó¿°• ‰Õ'¿à€Ð HÐ X€¢ € ‘* ’ctÐ ÂZDZDZ˜Z˜Ð¿ô Ð'¿ô¿ÿ„€ù€:×#Ð×'¿Ü€:Ù#ØÝ¿äŸ ®¡ /¥¤ ̧ Òç'¿Ü€é¿ä« ´ë'¿Ü€Ð HÐ \€¢ ¿ÿé‘* ’` Ð Â[¨[¨[¼[ä€/пèÒR "” Ô# `í `¯ –ï'¿Ø€6пèÒR $” Ô# `ñ `³ ˜ó'¿Ø€-пèÒR &” Ô# `õ `· š÷'¿Ø€$пèÒR (” Ô# `ù `» œû'¿Ø€Ð¿èÒR *” Ô# `ý `¿ žÿ'¿Ø€Ð HÐ `€¢ ¿ÿë‘* ’aÐ Â\¤\8\\\€\¤\È€¢€HРHÒ ÔJ@—* Ø¿èš Þ`,Ÿ+à ¡, žÀпè$,ÿüſ䉠"¡À ÆÏ'¿Ü€?РHÒ ÔJ@—* Ø¿èš Þ`,Ÿ+à ¡, žÀпè$,ÿûø#:ÑcØÕ¿ä™ *£ È¡£ˆÀ£ Ðã'¿Ü€%РHÒ ÔJ@—* Ø¿èš Þ`,Ÿ+à ¡, žÀпè$,ÿûÞ  ¥ Àå'¿Ü€Ð HÐ \€¢ ¿ÿè‘* ’b|Ð Â^]<]˜^€/пèÒR "” Ô# `ç `© “é'¿Ø€6пèÒR $” Ô# `ë `­ •í'¿Ø€-пèÒR &” Ô# `ï `± —ñ'¿Ø€$пèÒR (” Ô# `ó `µ ™õ'¿Ø€Ð¿èÒR *” Ô# `÷ `¹ ›ù'¿Ø€Ð HÐ `€¢ ¿ÿë‘* ’cpÐ Â_^”^¸^Ü__$€ €:û#Ðû'¿Ü€:ý#ØÁ¿àƒ  … !‰ ‰Þ‹ ÄË'¿Ü€Í¿à ¦Ï'¿Ü€Ð HÐ \€¢ ¿ÿî‘* ’`Ð Â_¬_˜_¬_Ô€-ѿ䓠¨Ó'¿Ø€8пèÒR Ò# `Õ `— Š;Ù h›¢É,ݿ䟠®¡£È­á'¿Ø€*:å#Øé¿ä« ´­ 5±¥‰Ò³ Øó'¿Ø€ :õ#Ðõ'¿Ø€Ð¿èÒR *” Ô# `÷ `¹ ›ù'¿Ø€Ð HÐ `€¢ ¿ÿï‘* ’`üÐ Â`œ`(`<`t`œ`°€¨€:û#Ðû'¿Ü€:ý#ØÁ¿àƒ  … !‰ ‰Þ‹ ÄË'¿Ü€Í¿à ¦Ï'¿Ü€Ð HÐ \€¢ ¿ÿî‘* ’aœÐ Âa8a$a8a`€bпèÒR "” Ô# `Ñ `“ ˆÓ'¿Ø€iпèÒR $” Ô# `Õ `— Š×'¿Ø€`РHÒ ÔJ@—* Ø¿èš Þ`,Ÿ+à ¡, žÀпè$,ÿû+#:ÙcØÝ¿ä¡ .¥¤ Ì©¤ˆÀ« Ôë'¿Ø€FРHÒ ÔJ@—* Ø¿èš Þ`,Ÿ+à ¡, žÀпè$,ÿûí¿ä± 6µ¦À· Ú÷'¿Ø€/РHÒ ÔJ@—* Ø¿èš Þ`,Ÿ+à ¡, žÀпè$,ÿúúù¿ä½ <…§ˆÀâ¿èäT`*ä# `É ` ‘ ˆÆ“ ÈÓ'¿Ø€Ð HÐ `€¢ ¿ÿ‘* ’c\Ð Âa´a´aØaübdbÀ€Ð HÐ X€¢ ¿þ‘* ’c¤Ð Â[ ]4_a; lÕ¿Ü™ *Ù# `Ò `Û# `Ô `Û¿Ø -Ý# dÖ dß# dØ dÿû:ß#àß'¿¼Ð¿¼Ð'¿Ä:á#Ôá'¿¸Ð¿¸Ð'¿ÀРHÒ ÔJ@—* Ø¿èš Þ`,Ÿ+à ¡, žÀâ¿è¤@¦¤,æ'¿´”¿À’¿Ä–¿¼˜¿¸Ð¿´ÿü1€ïРLÒ¿ÄÒ" РLÒ¿ÌÒ" РLÒ¿äÒ" РLÒ¿ÌÒ" РLÒ¿äÒ" РLÒ¿ÈÒ" РLÒ¿ÄÒ" РLÒ¿ÈÒ" $€Ð LÒ¿äÒ"€:ã#äå¿äç¿Ä©¤ˆ³«¥ ±Ò Lë"@€Ð LÒ¿ÄÒ"€Ð HÐ \€¢ ¿ÿé‘* ’a\Ð Âdädädøe €/пèÒR "Ò# `í `¯ –Ô Lï" €6пèÒR $Ò# `ñ `³ ˜Ô Ló" €-пèÒR &Ò# `õ `· šÔ L÷" €$пèÒR (Ò# `ù `» œÔ Lû" €Ð¿èÒR *Ò# `ý `¿ žÔ Lÿ" €Ð HÐ `€¢ ¿ÿë‘* ’bPÐ Âeàete˜e¼eàf€€Á¿äƒ  Å¿À‡ H"РLÇ" РLÒ¿ÌÒ" РLÒ¿ÀÒ" РLÒ¿ÌÒ" РLÒ¿ÀÒ" РLÒ¿ÈÒ" ɿ䋠¤Í¿À¡H&РLÏ" РLÒ¿ÈÒ" $€Ð LÒ¿ÀÒ"€":Ñ#äÓ¿ä•¢I¨×¿À™¢ÈªÒ LÙ"@€Û¿ä ­ß¿À¡£ˆ/РLá"€Ð HÐ \€¢ ¿ÿõ‘* ’ctÐ Âg,fðgg,€/пèÒR "Ò# `ã `¥ ‘Ô Lå" €6пèÒR $Ò# `ç `© “Ô Lé" €-пèÒR &Ò# `ë `­ •Ô Lí" €$пèÒR (Ò# `ï `± —Ô Lñ" €Ð¿èÒR *Ò# `ó `µ ™Ô Lõ" €Ð HÐ `€¢ ¿ÿë‘* ’`hÐ ÂgøgŒg°gÔgøh€úРLÒ¿ÔÒ" РLÒ¿¼Ò" РLÒ¿ÐÒ" РLÒ¿¼Ò" РLÒ¿ÐÒ" РLÒ¿äÒ" РLÒ¿ÔÒ" РLÒ¿äÒ" $€Ð LÒ¿ÔÒ"€!:ù#Øý¿Ðÿ¿Ô§ˆ¿…  ‰ ‰Ü‹ ÄÒ LË"@€Ð LÒ¿ÐÒ"€Ð HÐ \€¢ ¿ÿì‘* ’apÐ Âihðii4€Ð LÒ¿¼Ò" €)РLÒ¿¼Ò" €$:Í#äϿ䑡ɦҠLÑ"`€Ð LÒ¿äÒ" €Ð LÒ¿äÒ" €Ð HÐ `€¢ ¿ÿó‘* ’b Ð ÂiÐiˆiœi°iÐi䀌РLÒ¿ÔÒ" Ó¿ä• ©×¿¸™¢ˆ+РLÙ" РLÒ¿ÐÒ" Û¿ä ­ß¿¸¡£ˆ/РLá" РLÒ¿ÐÒ" РLÒ¿¸Ò" РLÒ¿ÔÒ" РLÒ¿¸Ò" $€Ð LÒ¿ÔÒ"€!:å#Øé¿Ðë¿Ô­¥µ± 6µ¦ Ò· ÚÒ L÷"@€Ð LÒ¿ÐÒ"€Ð HÐ \€¢ ¿ÿì‘* ’c@Ð ÂjÔjÀjÔk€&ù¿ä» ¼ý¿¸¿§H>РLÿ" €.Á¿äƒ  Å¿¸‡ H"РLÇ" €&:É#äË¿ä¡I¤Ï¿¸‘¡È¦Ò LÑ"`€Ð LÒ¿¸Ò" €Ð LÒ¿¸Ò" €Ð HÐ `€¢ ¿ÿÙ‘* ’`Ð ÂkXkXkxk˜kÀkԀРHÐ X€¢ ¿þ‘* ’`XÐ Âd|fphˆj@À'¿°Ð¿°€¢ €€'п°“* Ô L’€ ”¿ø; lÿú°Ð DÓ'Õ¿ø—¢ˆ©Ò DÙg›¢É¬Ô¿°—* Ø LÛ# РDÝ' ß¿ü¡£È®Ò Dãg¥¤ ±Ô¿°—* Ø Lš å#`п° Ð'¿°¿ÿ× €°Çàè?ÿÿ‚cXã€ð' Dò' HРDÒ €¢`€€ € РDÐ&ÄÿÛ5РDÒ&ÄÒ'¿üРDÒ&ÈÒ'¿øÐ DÒ&ÐÒ'¿ô:ç#ìç'¿ì:é#ðé'¿ðРDë'í¿ì¯¥‰5Ò Dñg³¥È8µ 9:ù£ø½¦ˆ\¿ ^ÿ# `Ö `—*à—:àÖ7¿ØÐ DÁ' ÿð… I Ò DÇg‰ ˆ#Ô D˦ð¡H¤‘ &:Õãø™¢J› LÛ# `Ø `™+ ™; Ø7¿ÚÀ7¿ÐÀ7¿ÒРDÝ&쟠.ß# `Ò `•*`•2 Ô7¿ÔРDá&ð£ 0ã# `Ò `•*`•2 Ô7¿Öпü;’`Ô@½Ð'¿Ìп̀€€:Ð#耀€; Ü’`@¹;!’`@³ :Ð"cèРDÐ&Ä;’a@šÐ'¿ÌпÌÔ Ò¿ôпü@–РHÒ€ €€À'¿È€Ð HÐ@tÐ'¿ÈРHÒпÌÔ¿È@„Ð'¿àРDÒ'PÔ¿à€¢€ €€Ð¿àÐ'¿Ä€Ð DÒ'PÒ'¿ÄпÄÐ'¿äРDÒ¿àÒ"'PпÌÒ LÔ¿ÌÖ H˜À Ø'¿èпÌÒ HÒ'¿ÜРDÒ'РDÿ×ԔпüÒ¿ô@¨Ð¿èÐ# \ØW¿Úҿܘ# ÖW¿ØÒ¿øÔ¿ôпüÚ¿ä@SРDÒ&ô€¢`€€Ð DÒ&üРDÿ×·”пüÒ¿ô@‹€ РD’ ÿ׬”пüÒ¿ô@€À# \˜¿ÐÒ¿ôпü” – š @qРHÒ€ €€À'¿À€Ð HÐ@Ð'¿ÀпÀÐ# \ÖW¿ØÒ HÚ@ØW¿ÚÔ¿ôÒ¿øÐ¿ü@РDÐ&ÄÿÚ] €°Çàè?ÿÿ‚cã€ð' DРDÒ Ò'¿ìРDÒ $Ò'¿èРDÁ LÒ DÃ`P… H Å'¿üРDÇ TÒ DÉ`X‹¡£Ë'¿øÐ DÍ \Ò DÏ``‘¡È¦Ñ'¿ôРDÓ dÒ DÕ`h—¢ˆ©×'¿ðÙ¿ôÛ¿ü£ ­Ý'¿Ôß¿ðá¿ø££É°ã'¿Ðå¿Ôç¿Ð¬Š³ €€Ð¿ÔÐ'¿Ü€Ð¿ÐÐ'¿ÜРDÒ&ìÒ'¿äРDÒ&ðÒ'¿àé¿äë¿ì­¥ µí'¿Ô;ï!hñ¿à³¦7õ¿è·¦Iº÷'¿Ðù¿Ôû¿Ð¯ ½ €€Ð¿ÔÐ'¿Ø€Ð¿ÐÐ'¿ØÐ DÒ¿ÜÒ"&´Ð DÒ¿ÜÒ"&¼Ð Dý Lÿ¿Ü§‰?Ò DÃ`\… H Ô DÅ"¦¸Ð DÇ Tɿ܋ É$Ò DÍ`d¡ˆ¥Ô DÏ"¦ÀРDÒ¿ØÒ"'РDÒ¿ØÒ"' РD;ÑalÑ"'РD;ÓapÓ"'РDÕ'Ò D×f´™¢É*Ô DÙ"§Ð DÛ' Ò DÝf¼Ÿ£‰-Ô Dß"§Ð Dá'Ò Dãf¸¥¤I0Ô Dç§©¤ˆ3Ö Dé"çРDë' Ò DífÀ¯¥‰5Ô Dñ§³¥È8Ö Dó"ç Çàè?ÿÿ‚c¸ã€ð' DРDõ'Ò D÷f$¹¦É:Ô Dû§½§= >;Åáx‰ B‹ DË# @Ø @™+ ™; Ú DØ3g$РDÍ'Ò DÏf0‘¡É&Ô DÓ§ •¢)Ö D׿ð™¢Èª ,;á!x¥£ˆP§ Rç# @Ú @›+`›;`Þ DÚ3ç&РDé'Ò Dëf(­¥I4Ô Dï§±¥ˆ7µ 8;ùáx½¦ˆ\¿ ^ÿ# @Ø @™+ ™; Ú DÞSg$ #¢ ä Dâ4§(РDÁ'Ò DÃf,… I Ô Dǧ ‰ ˆ#Ö DËæð¡H¤‘ &;Õ!x™¢J› LÛ# @Ú @›+`›;`Þ DàSç&¢#@¤`æ Dä4ç*Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lö' Pø' Tô' L ÿn,Ð'¿üпü€€€ !,’#éSÔ¢\þî”!,€.пüÒ TÒ" пüÒ DÒ" пüÒ HÒ" пüÒ LÒ" пüÒ PÒ" пüÀ"QÐ!Ѐ€€ пüQÐ"aÐпüQÐ"aÔ€ QÐ!ÔÒ¿üÒ"пüQÐ"aÔ;À"!È €°Çàè?ÿÿ‚cXã€ð' Dò' Hô' LÁ DàHƒ ÀÃ' D¿ÐÐ'¿ÌQÐ"€€ €QÐ"€¢ €€  ’ cSÔ¢\þîB €);Å!ÀÉ D $©ŠÂ €€  —’ cSÔ¢\þî. —€QÐ!Ѐ€€#Q!ØQÒaÐÔ@Ø`Ô" Ô`Ø" Ø` Ô" Ô`Ø" Ø`Ô" Ø" РLQ’aÜÔ@Ø`Ô" Ô`Ø" Ô" QÐ!ÐÒQÒ"¡Ð €í;Ñ!ÀÕ D™ *« H€€ QÀ"!äРLÀ"  €ÛÀ'¿üпü€¢ €€`пü‘* ’“*` Q”¢Ö €¢ÿÿ€€Nпü‘* ’“*` Q”¢ Ö Ö'¿ÀпÀÒ& Ò'¿ÄпĀ€€Ð¿ÄÒ € €€€Ð¿ÄÒ Ò'¿Ä¿ÿîпĀ€’ €’ Ò'¿ÈпȀ€€¿øÒ¿Ì€¢@ €€ ;’aÐ;”¡ø– ©@¹ @¤Ð¿ÀÐ&ÄÿØÐ¿ÌÒ¿ÀÒ"Ð¿Ì Ð'¿Ìпü Ð'¿ü¿ÿž¿ÐÒ¿Ì”"@—: Ö'¿ø ;Ð"aÈ;Ð!È€¢ €€¿ÐÒ¿øÛ D -Ý# `Ô `ß# `Ö `ÿíx€€€¿ÿê¿ÐÐ'¿Ì¿ÐÒ¿ø•*`– ؿ̀£ €€ пÌÒÐfÄÿØÐ¿Ì Ð'¿Ì¿ÿîQÐ!Ѐ€€2Q!ØQÒaÐÔ@Ø`Ô" Ô`Ø" Ø` Ô" Ô`Ø" Ø`Ô" Ø" РLQ’aÜÔ@Ø`Ô" Ô`Ø" Ô" QÐ!ÐÒ € €€QÐ!ÐÐ ÿlòQÐ!ÐÿlîQÐ!ØQÐ"aЀQÀ"!äРLÀ"  €°Çàè?ÿÿ‚cã€ð' Dò' Hô' Lò' HQÐ"€€ €QÐ"€¢ €€  ’ dSÔ¢\þìú €ÂРD€€ € ’ dSÔ¢\þìë €³Ð Dÿ)#Ð'¿üпü€€ € ’ dSÔ¢\þìØ € Ð¿üÿ)½€¢ €€Ð¿üÿ)µ€¢ €€  &’ dSÔ¢\þì¿ &€‡Ð H€€€Ð L€¢ €€  Œ’ dSÔ¢\þìª Œ€rQÐ!ÐÐ'¿øÀ'¿ôпø€€€eРH€€€ пøÒ Ô D€¢@ €€Ð¿øÒ Ô D€¢@ €€HпøÒ Ô H€¢@ €€@пøÒ Ô L€¢@ €€8пøQÒaЀ¢ €€Ð¿øÒQÒ"¡ÐпøÒ € €€Ð¿øÐ ÿl)пøÿl&QÐ!ÐÐ'¿ø€Ð¿ôÒ¿øÔ@Ô"пøÒ € €€Ð¿øÐ ÿlпøÿlпôÒÒ'¿ø€Ð¿øÐ'¿ôпøÒÒ'¿ø¿ÿ™ €°Çàè?ÿÿ‚c ã€ð' DQÐ"€€ €QÐ"€¢ €€  ’ ŽSÔ¢\þì € РDÀ"РDÀ"  ”€°Çàè?ÿÿ‚c ã€ð' DQÐ"€€ €QÐ"€¢ €€  ’ ›SÔ¢\þë÷ €QÐ!Ѐ€€QÐ!ÐÒ Qԡ쀢€ €€Ð D’ Ò"€Ð DÀ" €°Çàè?ÿÿ‚c ã€ð' DQÐ"€€ €QÐ"€¢ €€  ’ eSÔ¢\þë¾ €QÐ!䀢 €€  –’ eSÔ¢\þë® –€Ð DQÒaèÔ@Ø`Ô" Ô`Ø" Ô"  €°Çàè?ÿÿ‚c ã€ð' DQÐ"€€ €QÐ"€¢ €€  ’ fSÔ¢\þë„ €QÐ!䀢 €€  –’ fSÔ¢\þët –€Ð DQÒaèÔ@Ø`Ô" Ô`Ø" Ô"  €°Çàè?ÿÿ‚c ã€ð' DQÐ"€€ €QÐ"€¢ €€  ’ hSÔ¢\þëJ €QÐ!䀢 €€  –’ hSÔ¢\þë: –€ РDQÒaèÔ@Ø`Ô" Ø"  €°Çàè?ÿÿ‚c ã€ð' DQÐ"€€ €QÐ"€¢ €€  ’ iSÔ¢\þë €QÐ!䀢 €€  –’ iSÔ¢\þë –€Ð DQÒaèÔ@Ø`Ô" Ô`Ø" Ô"  €°Çàè?ÿÿ‚c ã€ð' DQÐ"€€ €QÐ"€¢ €€  ’ gSÔ¢\þêØ €QÐ!䀢 €€  –’ gSÔ¢\þêÈ –€ РDQÒaèÔ@Ô" €°Çàè?ÿÿ‚c ã€ð' DQÐ"€€ €QÐ"€¢ €€  ’ jSÔ¢\þê¢ €!QÐ!䀢 €€  –’ jSÔ¢\þê’ –€QÐ!耀€Ð DQÒaè@þÅ €°Çàè?ÿÿ‚c`ã€ð' DРDÀ"& РDÒ €¢`€€Ð DÐ&Ä’ "@ÿÊÐ'¿üРDÐ&ÄÒ DÒfÈ–¿Ä@ÿÄÇàè?ÿÿ‚cÀã€ð' Dò' HРHÒ DÔf Ô" РDÒ HÒ"& Çàè?ÿÿ‚c˜ã€ð' DРDÒ& Ò'¿üпü€€€H€(РDÒ¿ü@ó€3РDÒ¿ü@7­€-РDÒ¿ü@D‰€'РDÒ¿ü@Sž€!РDÒ¿ü@ô€Ð DÒ¿ü@'È€€Ð¿üÐ" €¢ ¿ÿú‘* "’`Р‡P‡h‡€‡˜‡°‡ÈРDÒ& Ô`Ô'¿üРDÐ& ÿiÍРDÒ¿üÒ"& ¿ÿ¶Çàè?ÿÿ‚c˜ã€ Œÿi‚Ð'¿üпü€€€Ð¿üÀ"пü’?ÿÒ" пüÀ" пüÀ" пüÀ" пüÀ" пü€°Çàè?ÿÿ‚c¸ã€ð' Dò' Hô' Lô' LРDÒ& Ò'¿üпü€€€Ð¿üÒÔ L€¢@ €€ пüÒ Ô H€¢@ €€Ð¿ü€ пüÒ Ò'¿ü¿ÿä €°Çàè?ÿÿ‚cpã€ð' Dò' HРDÐ'¿àРHÒ € €€€l€ZпàÒ Ò7¿èпàÒ $Ò7¿êРHÁ'ÒW¿èÒ# `à`… ‡ ˆ Ô Hɧ‹ É¤Ë'¿ìРHÍ&ðÒW¿êÒ# `Ï `‘ ‡“¡ˆ¨Ô HÕ§—¢HªÖ HÙç ›¢É¬Û'¿ðРDÒ€¢`€€"–¿ô’ РD” ˜ @þÕпô?’c€¢ € €Ð¿ô?’ck€¢ €€ Ð'¿Ü€À'¿ÜпÜÐ'¿ø€À'¿øFÐ!¨’ Ò'¿ÜпÜFÐ"a¨Ð¿Ü’cÿ€¢ €€FÀ"!¨Ð HÒ& Ò'¿üпü€€€õпüÒ € €€€ç€Ôпü’ 4Ò'¿äпäÝß¿ì«Ê®€€;пäá ã¿ì¬J°€€1пäå ç¿ð¬Ê²€€'пäé ë¿ð­J´€€Ð¿ø€€€Ð¿ü’ Ò" €Ð DÒ€¢`€€ –¿ìÒ¿ü” РHØ¿àFÚa¨@ö€Ð¿ü’ 0Ò'¿äпäíï¿ì­Ê¶€€]пäñ ó¿ì®J¸€€Sпäõ ÷¿ð®Êº€€Iпäù û¿ð¯J¼€€?пø€€€Ð¿ü’ Ò" €4пüÒ ,€¢`€€ РDÒ€¢`€ €Ð¿üÒ ,€¢`€€ РDÒ€¢`€€Ð¿üÒ ,€¢`€€Ð DÒ€¢`€€ РHÒ¿ü” Ö¿àFØ!¨@N€3пü’ ,Ò'¿äпäýÿ¿ì¯Ê¾€€;пäÁ ÿì¨J €€1пäÅ Ç¿ð¨Ê¢€€'пäÉ Ë¿ð©J¤€€Ð¿ø€€€Ð¿ü’ Ò" €Ð DÒ€¢`€€ –¿ìÒ¿ü” РHØ¿àFÚa¨@>I€ëпü’ <Ò'¿äпäÍÏ¿ì©Ê¦€€:пäÑ Ó¿ìªJ¨€€0пäÕ ×¿ðªÊª€€&пäÙ Û¿ð«J¬€€Ð¿ø€€€Ð¿ü’ Ò" €Ð DÒ€¢`€€ ”¿ìÒ¿üРHÖ¿àFØ!¨@Ú€¤Ð¿ü’ ,Ò'¿äпäÝß¿ì«Ê®€€:пäá ã¿ì¬J°€€0пäå ç¿ð¬Ê²€€&пäé ë¿ð­J´€€Ð¿ø€€€Ð¿ü’ Ò" €Ð DÒ€¢`€€ РHÒ¿ü” Ö¿àFØ!¨@!€]пü’ 4Ò'¿äпäíï¿ì­Ê¶€€;пäñ ó¿ì®J¸€€1пäõ ÷¿ð®Êº€€'пäù û¿ð¯J¼€€Ð¿ø€€€Ð¿ü’ Ò" €Ð DÒ€¢`€€ –¿ìÒ¿ü” РHØ¿àFÚa¨@0Û€€Ð¿üÐ" €¢ ¿ÿú‘* $’c Р‹˜‘¸Ž`Œ¸€œÐ¿üÒ Ò'¿ü¿þ €€Ð DÐ" €¢ ¿ÿú‘* $’ctР‰è“@‰è‰è‰èÇàè?ÿÿ‚c˜ã€ð' DFÐ!¬ FÐ"a¬Ð DÒ €¢`€€€eFÐ!¬€¢ €€€\РDÐ&ÄÿёРDÒ& Ò'¿üпü€€€OпüÒ € €€€A€.пüÒ € €€ РDÒ¿ü” – ˜ š?ÿ@ ü€.€,€*€(€&пüÒ € €€ РDÒ¿ü” – ˜ š?ÿ@0P€€Ð¿üÐ" €¢ ¿ÿú‘* %’a8Р”\”À”°” ”¨”¸Ð¿üÒ Ò'¿ü¿ÿ¯Çàè?ÿÿ‚cã€ð' DFÐ!¬" FÐ"a¬Ð DÒ €¢`€€€©FÐ!¬€€€€ Ð DÒ& Ò'¿üпü€€€“пüÒ € €€€…€rпüÒ € €€ РDÒ¿ü” – ˜ š?ÿ@ ‰€rпüÒ € €€ РDÒ¿ü” – ˜?ÿ@Kï€bпüÒ (€ €€ Ô¿ü” Ò¿üРD– ˜?ÿ@E€QпüÒ € €€Ð¿üÒ \Ò'¿øÐ¿øÐ'¿ô–¿ôÒ¿ü” РD˜ š?ÿ@РXÒ€¢`€€ÃРXÒ €¢`€€Ð XÒ € €€ 'Ð’ KSÔ¢\þã 'Ѐ РXÒ €¢`€€Ð XÒ € €€ 'Ð’ KSÔ¢\þâò'Ѐ РXÒ €¢`€€Ð XÒ € €€ 'Ð’ KSÔ¢\þâÛ'ЀòРXÒ €¢`€ €Ð XÒ €¢`€€  <’ KSÔ¢\þâÄ <€ÛРXÒ € €€  ?’ KSÔ¢\þâ´ ?€ËРXÒ €¢ý€€ РXÒ €¢`€ € @’ KSÔ¢\þâ @€´Ð XÒ € €€ пüÒ&ôÔ XÖ €¢À €€Ð¿üÒ €¢`€€Ð¿üÒ €¢`€ € ]’ KSÔ¢\þâv ]€Ð Xé ­ 4Fñb@­ŠØ €€  A’ KSÔ¢\þâa A€x€Ð XQÒbøÒ" РXQÒbüÒ" РXQÒcÒ" РXQÒcÒ" РX’ Q”£Ø€à Ø"`Ø à"`Ø"` Ð'¿œÐ XÒ € €€Ð XÒ “*`” •* ’@ Ö¿ü˜À Ú ˆÚ'¿”€Ð XÒ Ò'¿”п”Ð'¿¤€€ пüÒ&ôÔ¿¤€¢€ €€Ð¿üÒ €¢`€€Ð¿üÒ €¢`€€Ð¿üÒ&üÒ'¿¤Ð¿üÒ'Ò'¿¨Ð XÒ € €€Ð XÒ “*`” •* ’@ Ö¿ü˜À Ú „Ú'¿€Ð XÒ Ò'¿ó¿µ 9õ'¿¬Ð XÒ € €€Ð XÒ “*`” •* ’@ Ö¿ü˜À Ú €Ú'¿Œ€Ð XÒ Ò'¿ŒÐ¿ŒÐ'¿°Ð¿°Ð'¿˜Ð¿˜€€€Ð¿˜ Ð'¿˜€ п˜€€€Ð¿˜ Ð'¿˜Ð¿°€¢ €€À'¿ˆ€ Ð'¿ˆÐ¿ˆÐ'¿°€ýРXÒ € €€Ð XÒ €¢`€€ 'Ð’ KSÔ¢\þáž'ЀµÐ XÒ€ €€Ð XÒ€¢`€€ 'Ð’ KSÔ¢\þá‡'ЀžÐ XÒ€ €€tРXÒ €¢`€€ÃРXÒ €¢`€€Ð XÒ € €€ 'Ð’ KSÔ¢\þáb'ЀyРXÒ €¢`€€Ð XÒ € €€ 'Ð’ KSÔ¢\þáK'ЀbРXÒ €¢`€€Ð XÒ € €€ 'Ð’ KSÔ¢\þá4'ЀKРXÒ €¢`€ €Ð XÒ €¢`€€  <’ KSÔ¢\þá <€4РXÒ € €€  ?’ KSÔ¢\þá  ?€$РXÒ €¢ý€€ РXÒ €¢`€ € @’ KSÔ¢\þàö @€ РXÒ € €€ пüÒ&ôÔ XÖ  €¢À €€Ð¿üÒ €¢`€€Ð¿üÒ €¢`€ € ]’ KSÔ¢\þàÏ ]€æÐ X÷ ¹ ;Fýb@¯ Þ €€  A’ KSÔ¢\þຠA€Ñ€Ð XQÒbøÒ" РXQÒbüÒ" РXQÒcÒ" РXQÒcÒ" РX’ Q”£Ø€à Ø"`Ø à"`Ø"` Ð'¿œÐ XÒ € €€Ð XÒ “*`” •* ’@ Ö¿ü˜À Ú ˆÚ'¿„€Ð XÒ Ò'¿„п„Ð'¿¤€€ пüÒ&ôÔ¿¤€¢€ €€Ð¿üÒ €¢`€€Ð¿üÒ €¢`€€Ð¿üÒ&üÒ'¿¤Ð¿üÒ'Ò'¿¨Ð XÒ € €€Ð XÒ “*`” •* ’@ Ö¿ü˜À Ú „Ú'¿€€Ð XÒ Ò'¿€ÿ¿€ ?Á'¿¬Ð XÒ € €€Ð XÒ “*`” •* ’@ Ö¿ü˜À Ú €Ú'¿|€Ð XÒ Ò'¿|п|Ð'¿°Ð¿°Ð'¿˜Ð¿˜€€€Ð¿˜ Ð'¿˜€ п˜€€€Ð¿˜ Ð'¿˜Ð¿°€¢ €€À'¿x€ Ð'¿xпxÐ'¿°€CРXÒ€¢`€€<РXÒ €¢`€€ßРXÒ €¢`€€Ð XÒ € €€ 'Ð’ KSÔ¢\þßé'ЀРXÒ €¢`€€Ð XÒ € €€ 'Ð’ KSÔ¢\þßÒ'ЀéРXÒ €¢`€€Ð XÒ € €€ 'Ð’ KSÔ¢\þß»'ЀÒРXÒ € € €Ð XÒ €¢`€€  P’ KSÔ¢\þߤ P€»Ð XÒ € €€ РXÒ €¢`€€Ð XÒ €¢`€€Ð XÒ €¢`€€  S’ KSÔ¢\þß S€–РXÒ €¢`€€Ð XÒ € €€ РXÒ €¢`€"€Ð XÒ €¢`€€Ð XÒ € €€ РXÒ €¢ë€ € U’ KSÔ¢\þßL U€cРXÒ € €€ пüÒ&ôÔ XÖ  €¢À €€Ð¿üÒ €¢`€€Ð¿üÒ €¢`€ € ]’ KSÔ¢\þß% ]€<€Ð XQÒcXÒ" РXQÒc\Ò" РXQÒc`Ò" РXQÒcdÒ" РX’ Q”£hØ€à Ø"`Ø à"`Ø"` Ð'¿œÐ XÒ € €€Ð XÒ “*`” •* ’@ Ö¿ü˜À Ú$$Ú'¿„€Ð XÒ Ò'¿„п„Ð'¿¤€€ пüÒ&ôÔ¿¤€¢€ €€Ð¿üÒ €¢`€€Ð¿üÒ €¢`€€Ð¿üÒ&üÒ'¿¤Ð¿üÒ'Ò'¿¨À'¿¬À'¿°€€Ð P" €¢ ¿ÿû‘* -’alР£@£@£@£p©”пüÒ H” ÿô×Ð'¿øÐ¿ø€€€_ÿô®Ð'¿øÐ¿ø€€€ !,’ KSÔ¢\þÞœ!,€³Ð¿ø’ Ò"пøÒ HÒ" пøÀ" п°€€€ ﬈¢ €€Ð¿¬" Ð'¿¬Ð¿üÐ&ÄÒ¿üÒfÈ–¿œ” =@óLÔ¿øÐ" Ð¿°€¢ €€Ð¿üÐ&ÄÒ¿øÒ`Ô¿˜•* – —*à”€ B˜"œØ€ Ö¿˜—*àš ›+`–À Bžâ –À” @óÃпøÀ" пøÀ" пøÒ¿üÔf Ô" пüÒ¿øÒ"& €FпøÒ € €€  ’ KSÔ¢\þÞA €Xп°€€€ ﬈¢ €€Ð¿¬" Ð'¿¬Ð¿üÐ&ÄÒ¿øÒ`–¿œ” =@ó’п°€¢ €€Ð¿üÐ&ÄÒ¿øÒ`Ô¿˜•* – —*à”€ B˜"œØ€ Ö¿˜—*àš ›+`–À Bžâ –À” @órпø’ $Ô LØ€à Ø"`Ø à"`Ø"`пøÒ PÒ" 0пø’ 4Ô TØ€à Ø"`Ø à"`à  Ø"`à"` пø’ DÔ X  ( ¤ Ø€¿ÿþØ"@ €°Çàè?ÿÿ‚c0ã€ð' Dò' Hô' Lö' Pô' Lö' PQÐ"€€ €QÐ"€¢ €€  ’ QSÔ¢\þÝÈ €OРD€€ € ’ QSÔ¢\þݹ €@РDÿñÐ'¿üпü€€ € ’ QSÔ¢\þݦ €-пüÿ‹€¢ €€Ð¿üÿƒ€¢ €€  &’ QSÔ¢\þÝ &€Ð H€¢ €€  Œ’ QSÔ¢\þÝ~ Œ€Ð L€€€Ð L€¢ €€Ð L€¢ €€Ð P€€€Ð P€¢ €€ 'Ð’ QSÔ¢\þÝW'ЀÞпüÒ H” ÿótÐ'¿øÐ¿ø€€€\ÿóKÐ'¿øÐ¿ø€€€ !,’ QSÔ¢\þÝ9!,€Àпø’ Ò"пøÒ HÒ" пøÀ"  Ð'¿œÐ¿üÒ&üÒ'¿¤Ð¿üÒ'Ò'¿¨À'¿¬À'¿°Ð¿üÐ&ÄÒ¿üÒfÈ–¿œ” =@ñîÔ¿øÐ" Ð¿øÀ" пøÀ" пøÀ" $пøFÃbHÃ" (пøFÅbHÅ" ,пø’ Ò" 0пøFÇbLÇ" 4пøÒ¿üÔ` Ô" 8пøFÉbLÉ" <пøÒ¿üÔ`$Ô" @пøÀ" DпøÒ¿üÔf Ô" пüÒ¿øÒ"& €Ð¿øÒ €¢`€€Ð¿øÒ € €€ пüÒ¿ø” – ˜ š?ÿ@ãпøÒ LÒ" пøÒ PÒ" РL€¢ € €Ð L€¢ €€KпøÒ $“*`” •* ’@ Q–ãܘ@ Ø'¿Ð¿øË (Ò¿Í@¡I&Ô¿Ñ “¡È(Ó'¿”Ð¿Õ Ò¿ø×`,™¢É*Ô¿Û  £-Ý'¿˜Ð¿üß&´á¿”£¤ /Ò¿üåf¸§¤H2Ô¿øç" lпüé&¼ë¿˜­¥I4Ò¿üïfÀ±¥ˆ7Ô¿øñ" pпø’ tÔ¿ø– lØÀààØ"`à"`пø’ Ò" РP€€€ пüÒ¿ø” – ˜ š?ÿ@Š€Ð¿øÀ"  €°Çàè?ÿÿ‚c0ã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ WSÔ¢\þÜ[ €iРD€€ € ’ WSÔ¢\þÜL €ZРDÿ„Ð'¿üпü€€ € ’ WSÔ¢\þÜ9 €Gпüÿ€¢ €€Ð¿üÿ€¢ €€  &’ WSÔ¢\þÜ  &€.РH€¢ €€  Œ’ WSÔ¢\þÜ Œ€Ð D’ ÿ[íпüÒ H” ÿò*Ð'¿øÐ¿ø€€€\ÿòÐ'¿øÐ¿ø€€€ !,’ WSÔ¢\þÛï!,€ýпø’ Ò"пøÒ HÒ" пøÀ"  Ð'¿œÐ¿üÒ&üÒ'¿¤Ð¿üÒ'Ò'¿¨À'¿¬À'¿°Ð¿üÐ&ÄÒ¿üÒfÈ–¿œ” =@ð¤Ô¿øÐ" Ð¿øÀ" пøÀ" пøÀ" $пøFóbPó" (пøFõbPõ" ,пø’ Ò" 0пøF÷bT÷" 4пøÒ¿üÔ`$Ô" 8пøFùbTù" <пøÒ¿üÔ`$Ô" @пøÀ" DпøÒ¿üÔf Ô" пüÒ¿øÒ"& €Ð¿øÒ € €€  ’ WSÔ¢\þÛ— €¥Ð¿øÒ $“*`” •* ’@ Q–ãܘ@ Ø'¿Ð¿øû (Ò¿ý@¿§I>Ô¿Á ƒ§È Ã'¿”пŠҿøÇ`,‰ É"Ô¿Ë  ¡%Í'¿˜Ð¿üÏ&´Ñ¿”“¢ 'Ò¿üÕf¸—¢H*Ô¿ø×" lпüÙ&¼Û¿˜£I,Ò¿üßfÀ¡£ˆ/Ô¿øá" pпø’ tÔ¿ø– lØÀààØ"`à"`пøÒ € €€ пüÒ¿ø” – ˜ š?ÿ@Zпø’ Ò" пüÐ&ÄÿÅÅпøÀ" пøÀ" пøÒ € €€Ð¿øÒ € €€ ¿üFÔ¢X’ ÿÛ5¿ÿìпüÐ&ÄÿÅÐпøÀ" пøÒ € €€ пüÒ¿ø” – ˜ š?ÿ@$пøÒ €¢`€€Ð L’ Ò"€Ð LÀ"пüã&¸Ò¿øå`t§¤ˆ±Ô¿ü馴«¤É´ë'¿”пüí&ÀÒ¿øï`x±¥È¶Ô¿ü󦼵¦ ¹õ'¿˜¿”Ò L’`ÿU` €°Çàè?ÿÿ‚cã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ ]SÔ¢\þÚÔ €…РD€€ € ’ ]SÔ¢\þÚÅ €vРDÿýÐ'¿üпü€€€  ’ ]SÔ¢\þÚ² €cпüÿ—€¢ €€Ð¿üÿ€¢ €€  &’ ]SÔ¢\þÚ™ &€JРH€¢ €€  Œ’ ]SÔ¢\þÚŠ Œ€;пüÒ H” ÿð§Ð'¿øÐ¿ø€€ €Ð¿øÒ €¢`€€  Ž’ ]SÔ¢\þÚn Ž€Ð D’ ÿZJпü÷&¸Ò¿øù`t»§»Ô¿üý¦´¿§I¾ÿ'¿ðпüÁ&ÀÒ¿øÃ`x… H Ô¿üǦ¼‰ ‰£É'¿ô¿ðÒ LÿT½ €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lö' Pô' LQÐ"€€ €QÐ"€¢ €€  ’ “SÔ¢\þÚ/ €Ð D€€ € ’ “SÔ¢\þÚ  €ŽÐ DÿXÐ'¿üпü€€ € ’ “SÔ¢\þÚ  €{пüÿò€¢ €€Ð¿üÿꀢ €€  &’ “SÔ¢\þÙô &€bРL€€€Ð L€¢ €€ 'Ð’ “SÔ¢\þÙß'ЀMРH€¢ €€  Œ’ “SÔ¢\þÙÐ Œ€>пüÒ H” ÿïíÐ'¿øÐ¿ø€€€'РPÀ"РPÀ" РPÀ" РPFËb`Ë" РPFÍb`Í" РP’ Ò" РPFÏbdÏ" РPÒ¿üÔ` Ô" РPFÑbdÑ" РPÒ¿üÔ`$Ô" $РPÀ" (€ пø’ Ô P  P ¤ Ø@¿ÿþØ"€ €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LQÐ"€€€  ’ ‚SÔ¢\þÙ{ €€Ð DÿáÐ'¿üпü€€€  ’ ‚SÔ¢\þÙh €mпü€¢ €€  &’ ‚SÔ¢\þÙY &€^РH€¢ €€  Œ’ ‚SÔ¢\þÙJ Œ€OFÓ"hÒ LÓ"@РLFÕbhÕ" РL’ Ò" РLÐ ‘* ÿXÂÒ LÐ"` РLÒ € €€Ð LÿXô!,’ ‚SÔ¢\þÙ%!,€*À'¿øÐ¿ø€¢ €€Ð LÒ Ô¿ø—* Ø¿øš Ú"@ пø Ð'¿ø¿ÿðРLF×bl×" РLFÙbpÙ" РLFÛblÛ" РLFÝbtÝ" РLÀ"  €°Çàè?ÿÿ‚c`ã€ð' Dò' Hô' Lö' Pø' Tú' Xô' LÀ7¿ìÀ7¿îРDß&ì¡ /á# `Ò `•*`•2 Ô7¿ðРDã&ð¥ 1å# `Ò `•*`•2 Ô7¿òÀ# \РDÐ&ÄÒ HÒ`˜¿ì” – š @íl€l€€#РDç'Ò Hé`t«¥ 3Ô Dí§¯¥H6± 7Fõâx¹¦Z» \û# `Ø `™+ ™; Ø7¿ØÐ Dý' Ò Hÿ`x§É>Ô Dç… !Ö DÇæð‰ È¢ $FÑ"x•¡ˆH— J×# `Ú `›+`›;`Ú7¿ÚÀ7¿ÜÐW¿ÚÐ7¿ÞРDÙ&ì› ,Û# `Ò `“*`“:`Ò7¿àÐW¿ÚÐ7¿âÐW¿ØÐ7¿äÀ7¿æÐW¿ØÐ7¿èРDÝ&ðŸ .ß# `Ò `“*`“:`Ò7¿êРDÐ&ÄÒ DÒfÈÔ HÔ –¿Ü˜ @í±€ÖРDá'Ò Hã`l¥¤I0Ô Dç§©¤ˆ3­ 4Fñâxµ¥ˆX· Z÷# `Ø `™+ ™; Ø7¿ÔРDù' Ò Hû`p½§I<Ô Dÿ§§ˆ?Ö DÃæð… H ‰ "FÍ"x‘¡F“ HÓ# `Ú `›+`›;`Ú7¿ÖÐW¿ÔÐ7¿ÌÐW¿ÖÐ7¿ÎРDÕ'Ò H×`t™¢É*Ô DÛ§£-¡ .Fåâx©¤R« Të# `Ø `™+ ™; Ø7¿ØÐ Dí' Ò Hï`x±¥É6Ô D󧵦9Ö D÷æð¹¦Èº½ <FÁ"x…§ˆ@‡ BÇ# `Ú `›+`›;`Ú7¿ÚÐW¿ØÐ7¿ÐÐW¿ÚÐ7¿ÒРDÐ&ÄÒ DÒfÈÔ HÔ –¿Ì˜ š @ì߀sРDÉ'Ò HË`l¡I$Ô Dϧ‘¡ˆ'• (FÙâx¢ˆLŸ Nß# `Ø `™+ ™; Ø7¿ÔРDá' Ò Hã`p¥¤I0Ô Dç§©¤ˆ3Ö Dëæð­¥H´± 6Fõ"x¹¦Z» \û# `Ú `›+`›;`Ú7¿ÖРDý'Ò Hÿ`t§É>Ô Dç… !‰ "FÍâx‘¡F“ HÓ# `Ø `™+ ™; Ø7¿ØÐ DÕ' Ò H×`x™¢É*Ô DÛ§£-Ö Dßæð¡£È®¥ 0Fé"x­¤ˆT¯ Vï# `Ú `›+`›;`Ú7¿ÚÐW¿ÖÒW¿Ú”"@Ô# \Ö DÐæÄØ DÒ&ÈÚ HÔ`ÞW¿ÔÚW¿Øš#@ØW¿ÖÖW¿Ô@í)€Ð HÐ 0" €¢ ¿þé‘* 4’a¤Ð ÂÍ,Í4Í,ÎhÏô€Q€€#РDñ'Ò Hó`tµ¦I8Ô D÷§¹¦ˆ;½ <FÁâx…§ˆ@‡ BÇ# `Ø `™+ ™; Ø7¿ØÐ DÉ' Ò HË`x¡I$Ô Dϧ‘¡ˆ'Ö DÓæð•¢H¨™ *FÝ"x¡£N£ Pã# `Ú `›+`›;`Ú7¿ÚÀ7¿ÜÐW¿ÚÐ7¿ÞРDå&ì§ 2ç# `Ò `“*`“:`Ò7¿àÐW¿ÚÐ7¿âÐW¿ØÐ7¿äÀ7¿æÐW¿ØÐ7¿èРDé&ð« 4ë# `Ò `“*`“:`Ò7¿êРDÐ&ÄÒ DÒfÈÔ HÔ –¿Ü˜ @슀ÖРDí'Ò Hï`l±¥É6Ô D󧵦9¹ :Fýâx§^ƒ @Ã# `Ø `™+ ™; Ø7¿ÔРDÅ' Ò HÇ`p‰ É"Ô D˧¡%Ö DÏæð‘¡È¦• (FÙ"x¢ˆLŸ Nß# `Ú `›+`›;`Ú7¿ÖÐW¿ÔÐ7¿ÌÐW¿ÖÐ7¿ÎРDá'Ò Hã`t¥¤I0Ô Dç§©¤ˆ3­ 4Fñâxµ¥ˆX· Z÷# `Ø `™+ ™; Ø7¿ØÐ Dù' Ò Hû`x½§I<Ô Dÿ§§ˆ?Ö DÃæð… H ‰ "FÍ"x‘¡F“ HÓ# `Ú `›+`›;`Ú7¿ÚÐW¿ØÐ7¿ÐÐW¿ÚÐ7¿ÒРDÐ&ÄÒ DÒfÈÔ HÔ –¿Ì˜ š @븀sРDÕ'Ò H×`l™¢É*Ô DÛ§£-¡ .Fåâx©¤R« Të# `Ø `™+ ™; Ø7¿ÔРDí' Ò Hï`p±¥É6Ô D󧵦9Ö D÷æð¹¦Èº½ <FÁ"x…§ˆ@‡ BÇ# `Ú `›+`›;`Ú7¿ÖРDÉ'Ò HË`t¡I$Ô Dϧ‘¡ˆ'• (FÙâx¢ˆLŸ Nß# `Ø `™+ ™; Ø7¿ØÐ Dá' Ò Hã`x¥¤I0Ô Dç§©¤ˆ3Ö Dëæð­¥H´± 6Fõ"x¹¦Z» \û# `Ú `›+`›;`Ú7¿ÚÐW¿ÖÒW¿Ú”"@Ô# \Ö DÐæÄØ DÒ&ÈÚ HÔ`ÞW¿ÔÚW¿Øš#@ØW¿ÖÖW¿Ô@ì€Ð HÐ 0" €¢ ¿þé‘* 5’b@Ð ÂÑÈÑÐÑÈÓÔ€*РDý&¸Ò Pÿ@§È¾Ô Dæ´…  ¡Å'¿øÐ DÇ&ÀÒ PÉ`‹¡£Ô Dͦ¼¡I¦Ï'¿üРDÑ&¸Ò PÓ@•¢H¨Ô Dצ´™¢‰«Ù'¿øÐ DÛ&ÀÒ PÝ`Ÿ£ˆ­Ô Dᦼ££É°ã'¿üРDå Lç¿ø¬Ê² €"€Ð Dé Pë¿ø­J´ €€Ð Dí Tï¿ü­Ê¶ €€Ð Dñ Xó¿ü®J¸ €€ €â€eРH’ tÔ PØ€à Ø"`à"`€lРDõ'Ò H÷`t¹¦É:Ô Dû§½§= >FÅâx‰ B‹ DË# `Ø `™+ ™; Ø7¿ØÐ DÍ' Ò HÏ`x‘¡É&Ô DÓ§•¢)Ö D׿ð™¢Èª ,Fá"x¥£ˆP§ Rç# `Ú `›+`›;`Ú7¿ÚÀ7¿ÜÐW¿ÚÐ7¿ÞРDé&ì« 4ë# `Ò `“*`“:`Ò7¿àÐW¿ÚÐ7¿âÐW¿ØÐ7¿äÀ7¿æÐW¿ØÐ7¿èРDí&ð¯ 6ï# `Ò `“*`“:`Ò7¿êРHÒ € €€ РDÐ&ÄÒ DÒfÈÔ HÔ –¿Ü˜ @ëРH’ tÔ PØ€à Ø"`à"`РDñ'Ò Hó`tµ¦I8Ô D÷§¹¦ˆ;½ <FÁâx…§ˆ@‡ BÇ# `Ø `™+ ™; Ø7¿ØÐ DÉ' Ò HË`x¡I$Ô Dϧ‘¡ˆ'Ö DÓæð•¢H¨™ *FÝ"x¡£N£ Pã# `Ú `›+`›;`Ú7¿ÚÀ7¿ÜÐW¿ÚÐ7¿ÞРDå&ì§ 2ç# `Ò `“*`“:`Ò7¿àÐW¿ÚÐ7¿âÐW¿ØÐ7¿äÀ7¿æÐW¿ØÐ7¿èРDé&ð« 4ë# `Ò `“*`“:`Ò7¿êРHÒ € €€ РDÐ&ÄÒ DÒfÈÔ HÔ –¿Ü˜ @ê­€¿Ð Dí'Ò Hï`l±¥É6Ô D󧵦9¹ :Fýâx§^ƒ @Ã# `Ø `™+ ™; Ø7¿ÔРDÅ' Ò HÇ`p‰ É"Ô D˧¡%Ö DÏæð‘¡È¦• (FÙ"x¢ˆLŸ Nß# `Ú `›+`›;`Ú7¿ÖÐW¿ÔÐ7¿ÌÐW¿ÖÐ7¿ÎРDá'Ò Hã`t¥¤I0Ô Dç§©¤ˆ3­ 4Fñâxµ¥ˆX· Z÷# `Ø `™+ ™; Ø7¿ØÐ Dù' Ò Hû`x½§I<Ô Dÿ§§ˆ?Ö DÃæð… H ‰ "FÍ"x‘¡F“ HÓ# `Ú `›+`›;`Ú7¿ÚÐW¿ØÐ7¿ÐÐW¿ÚÐ7¿ÒРHÒ € €€ РDÐ&ÄÒ DÒfÈÔ HÔ –¿Ì˜ š @éÔРH’ tÔ PØ€à Ø"`à"`РDÕ'Ò H×`l™¢É*Ô DÛ§£-¡ .Fåâx©¤R« Të# `Ø `™+ ™; Ø7¿ÔРDí' Ò Hï`p±¥É6Ô D󧵦9Ö D÷æð¹¦Èº½ <FÁ"x…§ˆ@‡ BÇ# `Ú `›+`›;`Ú7¿ÖÐW¿ÔÐ7¿ÜÐW¿ÖÐ7¿ÞРDÉ'Ò HË`t¡I$Ô Dϧ‘¡ˆ'• (FÙâx¢ˆLŸ Nß# `Ø `™+ ™; Ø7¿ØÐ Dá' Ò Hã`x¥¤I0Ô Dç§©¤ˆ3Ö Dëæð­¥H´± 6Fõ"x¹¦Z» \û# `Ú `›+`›;`Ú7¿ÚÐW¿ØÐ7¿àÐW¿ÚÐ7¿âРHÒ € €€ РDÐ&ÄÒ DÒfÈÔ HÔ –¿Ü˜ @éÕ€çРDý'Ò Hÿ`l§É>Ô Dç… !‰ "FÍâx‘¡F“ HÓ# `Ø `™+ ™; Ø7¿ÔРDÕ' Ò H×`p™¢É*Ô DÛ§£-Ö Dßæð¡£È®¥ 0Fé"x­¤ˆT¯ Vï# `Ú `›+`›;`Ú7¿ÖРDñ'Ò Hó`tµ¦I8Ô D÷§¹¦ˆ;½ <FÁâx…§ˆ@‡ BÇ# `Ø `™+ ™; Ø7¿ØÐ DÉ' Ò HË`x¡I$Ô Dϧ‘¡ˆ'Ö DÓæð•¢H¨™ *FÝ"x¡£N£ Pã# `Ú `›+`›;`Ú7¿ÚРHÒ € €€ÐW¿ÖÒW¿Ú”"@Ô# \Ö DÐæÄØ DÒ&ÈÚ HÔ`ÞW¿ÔÚW¿Øš#@ØW¿ÖÖW¿Ô@é©Ð H’ tÔ PØ€à Ø"`à"`РDå'Ò Hç`l©¤É2Ô Dë§­¥5± 6Fõâx¹¦Z» \û# `Ø `™+ ™; Ø7¿ÔРDý' Ò Hÿ`p§É>Ô Dç… !Ö DÇæð‰ È¢ $FÑ"x•¡ˆH— J×# `Ú `›+`›;`Ú7¿ÖРDÙ'Ò HÛ`t£I,Ô Dß§¡£ˆ/¥ 0Féâx­¤ˆT¯ Vï# `Ø `™+ ™; Ø7¿ØÐ Dñ' Ò Hó`xµ¦I8Ô D÷§¹¦ˆ;Ö Dûæð½§H¼ >FÅ"x‰ B‹ DË# `Ú `›+`›;`Ú7¿ÚРHÒ € €€ÐW¿ÖÒW¿Ú”"@Ô# \Ö DÐæÄØ DÒ&ÈÚ HÔ`ÞW¿ÔÚW¿Øš#@ØW¿ÖÖW¿Ô@é<€Ð HÐ 0" €¢ ¿ý™‘* 8’aXÐ Â× ×Ä× ÚxÝØ€GРTÒ€¢`€€€KРH’ Ò" РDÐ&Ä’ @é€A€?РTÒ€¢`€€€6 ÿS$Ð'¿ôпô€€€ !,’#êSÔ¢\þÓŒ!,€:РDÐ&Ä’ @èõ¿øÒ¿ôÿMìРHÒ Ô DЀ” Ö¿ôØ Xÿä̀РHÐ €¢ ¿ÿ¸€¢ ¿ÿÈ€¢ ¿ÿÇ¿ÿ°€€Ð L€¢ ¿ú”€¢ ¿û¸€¢ ¿üÜ¿ÿôРDÐ&Ä@çü €°Çàè?ÿÿ‚c ã€ð' Dò' HРDÐ&ÄÒ HÒ`@èÇàè?ÿÿ‚c8ã€ð' Dò' Hô' Lö' Pø' Tú' XQÐ"€€ €QÐ"€¢ €€  ’ OSÔ¢\þÓ$ €5РD€€ € ’ OSÔ¢\þÓ €&РDÿMÐ'¿üпü€€ € ’ OSÔ¢\þÓ €Ð¿üÿ瀢 €€  %’ OSÔ¢\þÒñ %€Ð TÁ Ò TÃ@¨J €€Ð TÅ Ò TÇ`¨Ê¢€€  3’ OSÔ¢\þÒÒ 3€ãРH€¢ €€  Œ’ OSÔ¢\þÒà Œ€ÔРP€¢ €€Ð P€¢ € € ’ OSÔ¢\þÒ® €¿FÉ"ÀÒ TË@©J¤ €%€Ð¿üÍ Ò TÏ`©Ê¦ €€FÑ"ÀÒ TÓ`ªJ¨ €€Ð¿üÕ $Ò T×` ªÊª €€  ‘’ OSÔ¢\þÒy ‘€ŠÐ LÒ €¢`€€  ˜’ OSÔ¢\þÒi ˜€zРLÒ€ €€Ð LÒ€¢`€€Ð LÒ€¢`€€ 'Ð’ OSÔ¢\þÒK'Ѐ\пüÒ H” ÿèhÐ'¿øÐ¿ø€€€! Ð'¿œÿè=Ð'¿øÐ¿üÐ&ÄÒ¿üÒfÈ–¿œ” @çÔ¿øÐ" Ð¿ø’ Ò"пøÒ HÒ" пøÀ" $пøÀ" (пüÒ¿øÿçÁ€Ð¿øÒ $€ €€  ’ OSÔ¢\þÒ €!пø’ ,Ô LØ€à Ø"`Ø à"`Ø"`пøÒ PÒ" 8пø’ <Ô TØ€à Ø"`Ø à"`à  Ø"`à"` пø’ LÔ XØ€Ø"` €°Çàè?ÿÿ‚c8ã€ð' Dò' Hô' Lö' Pô' Lö' PQÐ"€€ €QÐ"€¢ €€  ’ USÔ¢\þÑÎ €ÊРD€€ € ’ USÔ¢\þÑ¿ €»Ð Dÿ ÷Ð'¿üпü€€ € ’ USÔ¢\þѬ €¨Ð¿üÿ‘€¢ €€  %’ USÔ¢\þÑ› %€—РH€¢ €€  Œ’ USÔ¢\þÑŒ Œ€ˆÐ L€€€Ð L€¢ €€Ð L€¢ €€Ð P€€€Ð P€¢ €€ 'Ð’ USÔ¢\þÑe'ЀaпüÒ H” ÿç‚Ð'¿øÐ¿ø€€€=ÿçYÐ'¿øÐ¿ø’ Ò"пøÒ HÒ"  Ð'¿œÐ¿üÐ&ÄÒ¿üÒfÈ–¿œ” @æÔ¿øÐ" Ð¿øÀ" $пøÀ" (пø’ Ò" 8пø’ Ò" ,пø’?ÿÒ" 0пø’?ÿÒ" 4пøFÙbÄÙ" <пøÒ¿üÔ` Ô" @пøFÛbÄÛ" DпøÒ¿üÔ`$Ô" HпøÀ" LпüÒ¿øÿæ½Ð¿øÒ LÒ" $пøÒ PÒ" (РL€¢ € €Ð L€¢ €€Ð¿ø’ Ò"  €°Çàè?ÿÿ‚c8ã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ [SÔ¢\þÐæ €ÝРD€€ € ’ [SÔ¢\þÐ× €ÎРDÿ Ð'¿üпü€€ € ’ [SÔ¢\þÐÄ €»Ð¿üÿ ©€¢ €€  %’ [SÔ¢\þг %€ªÐ H€¢ €€  Œ’ [SÔ¢\þФ Œ€›Ð¿üÒ H” ÿæÁÐ'¿øÐ¿ø€€€?ÿæ˜Ð'¿øÐ¿ø’ Ò"пøÒ HÒ"  Ð'¿œÐ¿üÐ&ÄÒ¿üÒfÈ–¿œ” @åTÔ¿øÐ" Ð¿øÀ" $пøÀ" (пø’ Ò" 8пø’ Ò" ,пø’?ÿÒ" 0пø’?ÿÒ" 4пøFÝbÈÝ" <пøÒ¿üÔ` Ô" @пøFßbÈß" DпøÒ¿üÔ`$Ô" HпøÀ" LпüÒ¿øÿåü€Ð¿øÒ $€ €€  ’ [SÔ¢\þÐK €Bпüÿ Éпø’ Ò" пüÐ&Äÿº»Ð¿øÀ" пøÀ" пøÒ € €€Ð¿øÒ € €€ ¿üFԢВ ÿÐ+¿ÿìпüÐ&ÄÿºÆÐ¿øÀ" пø’ ,Ô LØ@à`Ø" Ø`à" Ø" Ð¿øÒ €¢`€€Ð L’ Ò" €°Çàè?ÿÿ‚cã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ aSÔ¢\þÏë €ŠÐ D€€ € ’ aSÔ¢\þÏÜ €{РDÿ Ð'¿üпü€€ € ’ aSÔ¢\þÏÉ €hпüÿ ®€¢ €€  %’ aSÔ¢\þϸ %€WРH€¢ €€  Œ’ aSÔ¢\þÏ© Œ€HпüÒ H” ÿåÆÐ'¿øÐ¿ø€€ €Ð¿øÒ $€¢`€€  Ž’ aSÔ¢\þÏ Ž€,РD’ ÿOiпøÒ €¢`€€ €Ð¿üá&¸Ò¿øã`¥¤H°Ô¿ü禴©¤‰³é'¿ðпüë&ÀÒ¿øí` ¯¥ˆµÔ¿üñ¦¼³¥É¸ó'¿ô’¿ðпüÔ LÖ¿ø˜ ÿ6A €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lö' Pô' LQÐ"€€ €QÐ"€¢ €€  ’ §SÔ¢\þÏA €”РD€€ € ’ §SÔ¢\þÏ2 €…РDÿ jÐ'¿üпü€€ € ’ §SÔ¢\þÏ €rпüÿ €¢ €€  %’ §SÔ¢\þÏ %€aРL€€€Ð L€¢ €€ 'Ð’ §SÔ¢\þÎù'ЀLРH€¢ €€  Œ’ §SÔ¢\þÎê Œ€=пüÒ H” ÿåÐ'¿øÐ¿ø€€€&РPÀ"РPÀ" РP’ Ò" РP’ Ò" РP’?ÿÒ" РP’?ÿÒ" РPFõbØõ" РPÒ¿üÔ` Ô" РPF÷bØ÷" РPÒ¿üÔ`$Ô" $РPÀ" (€ пø’ $Ô P  , ¤ Ø@¿ÿþØ"€ €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LQÐ"€€€  ’ ƒSÔ¢\þΖ €xРDÿ üÐ'¿üпü€€€  ’ ƒSÔ¢\þ΃ €eпü€¢ €€  &’ ƒSÔ¢\þÎt &€VРH€¢ €€  Œ’ ƒSÔ¢\þÎe Œ€GРL’ Ò"РLБ* ÿMåÒ LÐ"`РLÒ € €€Ð LÿN!,’ ƒSÔ¢\þÎH!,€*À'¿øÐ¿ø€¢ €€Ð LÒ Ô¿ø—* Ø¿øš Ú"@ пø Ð'¿ø¿ÿðРLFùbÜù" РLFûbàû" РLFýbÜý" РLFÿbäÿ" РLÀ"  €°Çàè?ÿÿ‚c€ã€ð' Dò' Hô' Lö' PÀ7¿ìÀ7¿îРDÁ&샠 Ã# `Ò `•*`•2 Ô7¿ðРDÅ&ð‡ "Ç# `Ò `•*`•2 Ô7¿òÀ# \РDÐ&ÄÒ HÒ`˜¿ì” – š @â’РDÉ&¸Ò LË@¡H¤Ô DϦ´‘¡‰§Ñ'¿ôРDÓ&ÀÒ LÕ`—¢ˆ©Ô DÙ¦¼›¢É¬Û'¿ø€˜Ð P€€ €Ð PÒ€¢`€€€–РH’ Ò" РHÒ €¢`€€Ð H’ Ò" ,€ Ô H” ,’¿ôРDÖ H˜ ÿ4š€}РH’ Ô LØ€à Ø"`à"`РP€€ €Ð PÒ€¢`€€€gÔ H” ,’¿ôРDÖ H˜ ÿ4z€]РP€€ €Ð PÒ€¢`€€€N ÿMÐ'¿üпü€€€ !,’#ìSÔ¢\þÍ{!,€BРHÒ €¢`€€Ð¿ü’ Ò"€’¿ôРDÔ¿üÖ H˜ ÿ4C€€€Ð¿üÀ"€Ð¿ü’ Ò"РHÒ Ô DЀ” Ö¿ü˜?ÿÿÞ¥€€Ð HÐ $€¢ ¿ÿg€¢ ¿ÿŒ€¢ ¿ÿ©¿ÿóРDÐ&Ä@áã €°Çàè?ÿÿ‚c ã€ð' Dò' HРDÐ&ÄÒ HÒ`@áÿÇàè?ÿÿ‚c@ã€ð' Dò' Hô' Lÿã$Ð'¿üпü€€€ €¨Ð¿ü’ Ò"пüÒ HÒ" пüÀ"  Ð'¿ Ð DÒ&üÒ'¿¨Ð DÒ'Ò'¿¬À'¿ÀFÐ#(€€€9РDÐ&Äÿ·vРDÐ&ÄF’cX@âCFÐ"c(FÐ#(€€€"FÐ#,€€€ F’c`F”£ˆ@àöF#’`@á5 FÐ"c,РDÐ&ÄF’c¨@âFÐ"c(РDÐ&Äÿ·lFÐ#(Ò Ò'¿ÜРDÐ&ÄÒ DÒfÈ–¿ ”¡ @á‹Ô¿üÐ" Ð¿üÀ" пüÀ" пüÀ" $пü’ Ò" (пüFÁc0Á" ,пüÒ DÔ` Ô" 0пüFÃc0Ã" 4пüÒ DÔ`$Ô" 8пü’$Ò" <пüÀ" @пüÀ" D$ÿLÒ¿üÐ"`HпüÒ H€ €€ €Ð¿üÒ HÀ*@пüÀ" LпüÀ2 PпüFÒc(Ô`HÔ2 RпüÒ DÔf Ô" РDÒ¿üÒ"& РLÒ¿üÒ" €°Çàè?ÿÿ‚cã€ð' Dò' Hô' Lö' Pø' Tú' XQÐ"€€ €QÐ"€¢ €€  ’ PSÔ¢\þÌO €±Ð D€€ € ’ PSÔ¢\þÌ@ €¢Ð DÿxÐ'¿üпü€€ € ’ PSÔ¢\þÌ- €Ð¿üÿ €¢ €€Ð¿üÿ €¢ €€  &’ PSÔ¢\þÌ &€vРTÅ Ò TÇ@¨Ê¢€€Ð TÉ Ò TË`©J¤€€  3’ PSÔ¢\þËõ 3€WРH€¢ €€  Œ’ PSÔ¢\þËæ Œ€HРP€¢ €€  ’ PSÔ¢\þË× €9FÍ#4Ò TÏ@©Ê¦ €%€Ð¿üÑ Ò TÓ`ªJ¨ €€FÕ#4Ò T×`ªÊª €€Ð¿üÙ $Ò TÛ` «J¬ €€  ‘’ PSÔ¢\þË¢ ‘€Ð XÒ€ €€  ’’ PSÔ¢\þË’ ’€ôРXÒ € €€  ’’ PSÔ¢\þË‚ ’€äРL€€€À'¿ô€Ð L@ß²Ð'¿ôпô’ Ô XÖ €¢À €€  ’’ PSÔ¢\þËc ’€ÅРL€€€À'¿ô€Ð L@ß“Ð'¿ôРXÒÔ¿ô€¢€ €€  š’ PSÔ¢\þËE š€§Ð¿üÒ H” ÿábÐ'¿øÐ¿ø€€€”¿øÒ Hпüÿþ €€€ !,’ PSÔ¢\þË&!,€ˆ€Ð¿øÒ € €€  ’ PSÔ¢\þË €vпøÒ $€ €€Ð¿øÐ $ÿJÏРL€€€À'¿ô€Ð L@ß9Ð'¿ôпô ÿJ€Ò¿øÐ"`$пøÒ $€ €€ !,’ PSÔ¢\þÊæ!,€HРL€€€Ð¿øÐ $Ò L@ßпøÒ PÒ" (пø’ ,Ô TØ€à Ø"`Ø à"`à  Ø"`à"` пø’ <Ô XØ€à Ø"`Ø à"`Ø"`пøÒ @’"`Ò" @пøÐ HÿJ‚пøÐ <ÿJ@Ò¿øÐ"`HпøÒ H€ €€ !,’ PSÔ¢\þʦ!,€Ð¿øÒ HÀ*@ €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' Lö' Pô' Lö' PQÐ"€€ €QÐ"€¢ €€  ’ VSÔ¢\þÊ} €ãРD€€ € ’ VSÔ¢\þÊn €ÔРDÿ¦Ð'¿üпü€€ € ’ VSÔ¢\þÊ[ €Áпüÿ@€¢ €€Ð¿üÿ8€¢ €€  &’ VSÔ¢\þÊB &€¨Ð H€¢ €€  Œ’ VSÔ¢\þÊ3 Œ€™Ð L€€€Ð L€¢ €€Ð L€¢ €€Ð P€€€Ð P€¢ €€ !ô’ VSÔ¢\þÊ !ô€rпüÒ H” ÿà)Ð'¿øÐ¿ø€€€”¿øÒ HпüÿüÓ€€€ !,’ VSÔ¢\þÉí!,€S€Ð¿øÒ €¢`€€Ð¿øÒ € €€ пüÒ¿ø” – ˜?ÿ@7пøÒ LÒ" пøÒ PÒ" РL€¢ € €Ð L€¢ €€%пøÒ $€ €€Ð¿øÐ HÒ¿øÒ`$@ÝöпøÒ¿øÔ`@Ô" Lпø’ Ò" РP€€€ пüÒ¿ø” – ˜?ÿ@€Ð¿øÀ"  €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ \SÔ¢\þÉ| €óРD€€ € ’ \SÔ¢\þÉm €äРDÿ¥Ð'¿üпü€€ € ’ \SÔ¢\þÉZ €Ñпüÿ?€¢ €€Ð¿üÿ7€¢ €€  &’ \SÔ¢\þÉA &€¸Ð H€¢ €€  Œ’ \SÔ¢\þÉ2 Œ€©Ð¿üÒ H” ÿßOÐ'¿øÐ¿ø€€€”¿øÒ Hпüÿûù€€€ !,’ \SÔ¢\þÉ!,€Š€Ð¿øÒ € €€  ’ \SÔ¢\þÉ €xРD’ ÿHÝпøÒ $€ €€Ð¿øÐ HÒ¿øÒ`$@Ý/пøÒ¿øÔ`@Ô" LпøÒ € €€ пüÒ¿ø” – ˜?ÿ@?пø’ Ò" пüÐ&Äÿ³QпøÀ" пøÀ" пøÒ € €€Ð¿øÒ € €€ ¿üFÔ£8’ ÿÈÁ¿ÿìпüÐ&Äÿ³\пøÀ" пøÒ € €€ пüÒ¿ø” – ˜?ÿ@ пøÒ €¢`€€Ð L’ Ò"€Ð LÀ"пøÒ H€ €€Ð LÐ Ò¿øÒ`H@ÜÍ €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ bSÔ¢\þÈk €{РD€€ € ’ bSÔ¢\þÈ\ €lРDÿ”Ð'¿üпü€€ € ’ bSÔ¢\þÈI €Yпüÿ.€¢ €€Ð¿üÿ&€¢ €€  &’ bSÔ¢\þÈ0 &€@РH€¢ €€  Œ’ bSÔ¢\þÈ! Œ€1пüÒ H” ÿÞ>Ð'¿øÐ¿ø€€ €Ð¿øÒ €¢`€€  Ž’ bSÔ¢\þÈ Ž€Ð D’ ÿGáпøÒ H€ €€Ð¿øÒ HРL@Ü4 €°Çàè?ÿÿ‚cã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ µSÔ¢\þÇÒ €¬Ð D€€ € ’ µSÔ¢\þÇà €Ð DÿûÐ'¿üпü€€ € ’ µSÔ¢\þǰ €ŠÐ¿üÿ•€¢ €€Ð¿üÿ€¢ €€  &’ µSÔ¢\þÇ— &€qРH€¢ €€  Œ’ µSÔ¢\þLj Œ€bпüÒ H” ÿÝ¥Ð'¿øÐ¿ø€€€”¿øÒ HпüÿúO€€€ !,’ µSÔ¢\þÇi!,€Cпø’ Ô L  , ¤ Ø@¿ÿþØ"€Ð LÒ $’`Ò" $пøÒ $€ €€À'¿ô€Ð¿øÐ $@Û‹Ð'¿ôпô ÿFÒÒ LÐ"`РLÒ € €€ !,’ µSÔ¢\þÇ8!,€Ð¿øÒ $€ €€Ð LÐ Ò¿øÒ`$@Ûj €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LQÐ"€€€  ’ „SÔ¢\þÇ €mРDÿuÐ'¿üпü€€€  ’ „SÔ¢\þÆü €Zпü€¢ €€  &’ „SÔ¢\þÆí &€KРH€¢ €€  Œ’ „SÔ¢\þÆÞ Œ€<РL’$Ò"РL’ Ò"  ÿF]Ò LÐ"`РLÒ € €€ !,’ „SÔ¢\þÆÃ!,€!РLÒ ” Ô"@РLFÝc@Ý" РLFßcDß" РLFác@á" РLFãcHã" РL’$Ò" РL’ Ò" РLÀ" $ €°Çàè?ÿÿ‚cXã€ð' Dò' Hô' Lö' Pø' Tô' LРHÒ ,Ò'¿øÐ HÒ 8Ò'¿üРDå'ç¿ø©¤É2Ò Dëg­¥5± 6Fõ£P¹¦Z» \û# `Ö `—*à—:àÖ7¿ôРDý' ÿ¿ü§É>Ò DÃg… !Ô DǦð‰ È¢ $FÑãP•¡ˆH— J×# `Ø `™+ ™; Ø7¿öÐW¿ôÐ7¿ìÐW¿öÐ7¿îРHÒ 0Ò'¿øÐ HÒ 4Ò'¿üРDÙ'Û¿ø£I,Ò Dßg¡£ˆ/¥ 0Fé£P­¤ˆT¯ Vï# `Ö `—*à—:àÖ7¿ôРDñ' ó¿üµ¦I8Ò D÷g¹¦ˆ;Ô Dû¦ð½§H¼ >FÅãP‰ B‹ DË# `Ø `™+ ™; Ø7¿öРHÔ <” F’c°FÐ#(@ÛˆÒW¿ìÔW¿ô–"€ €¢À€€Ð HÔ <” F’c´FÐ#(@ÛwÐ'¿Ð€ÐW¿ìÒW¿ô”"@Ô'¿ÐпÐÐ7¿ðÐW¿îÒW¿ö”"@Ô7¿òÀ# \РDÐ&ÄÒ HÒ`˜¿ì” – š @Ú¥€–РDÒ'РDÿ­Ë”Ò DÐfÄÖ HÒà@ÚFÐ#(Ò LFÔ£(Ö H˜À š Ú# \Þ DÐæÄà DÒ&Èâ HÔ`ÖW¿ìØW¿îÚ¿ð@Û@РDÒ&üРDÿ­«”Ò DÐfÄÖ HÒà@Ú}FÐ#(Ò LFÔ£(Ö H˜À š Ú# \Þ DÐæÄà DÒ&Èâ HÔ`Ú¿ðš#`ØW¿îÖW¿ì@Û4РHÒW¿ì”`Ô2 PРHFÒc(Ô`HÖW¿î˜À š Ú2 RРHÒ H€ €€À'¿Ì€Ð HÐ H@ÙëÐ'¿ÌпÌÐ# \Ò DÐfÄÔ DÒ¦ÈÖ HÔàØ HÖS PÚ HØS`RÞ HÚàH@Ú÷РHÒ HÔ HÔ LFÐ#(@Úé»* »?`Ö HØRàPšÚ2àPFÐ#(Ò LFÔ£(Ö H˜À Ø# \FÚc(Þ`Hà HØT R˜#â DÒfÈä DÐ¦Äæ HÔàè HÖU P+Fêc(ÚU`<@ÚËРDÒ'РDÿ­6”Ò DÐfÄÖ HÒà@ÚРHÒ H€ €€À'¿È€Ð HÐ H@Ù—Ð'¿ÈРHÒ LÔ¿È€¢@ €€ Ð# \Ò HÔ`LÖ HÚàHš@ Ø DÒ&ÈÞ HÖSàPà HÔ â HØT`Rä DЦÄ@Ú˜€ÕРDÒ'РDÿ¬þ”Ò DÐfÄÖ HÒà@ÙÐFÐ#(Ò LFÔ£(Ö H˜À š Ú# \Þ DÐæÄà DÒ&Èâ HÔ`ÖW¿ìØW¿îÚ¿ð@Ús€³Ð HÒ € €€5РDÒ'РDÿ¬Õ”Ò DÐfÄÖ HÒà@Ù§FÐ#(Ò LFÔ£(Ö H˜À Ø# \FÚc(Þ`Hà HØT R˜#â DÒfÈä DÐ¦Äæ HÔàè HÖU P+Fêc(ÚU`<@ÚCРDÒ&üРDÿ¬®”Ò DÐfÄÖ HÒà@Ù€’¿æ–¿èРP” ˜ @Ú<Ð'¿ÜÀ/¿çпè?’c€¢ € €ÐO¿æ€¢ €€SРHÒ L€ €€JРHÒ L”"`Ô'¿ÄРHÒ¿ÄÒ" LРHÒ HÔ¿Ä’@ FÐ#(” @ÚÐ'¿ØÐ HÒR PÔW¿Ú–"@ Ö2 PРHÒ € €€- Ð# \Ò HÔ`LÖ HÚàHš@ š`Ø DÒ&ÈÞ HÖSàPà¿Ø–Àâ HÔ`ä HØT Ræ DÐæÄ@ÙéFÐ#(Ò LFÔ£(Ö H˜À š Ú# \Þ DÐæÄà DÒ&Èâ HÔ`Ú¿ðš#`ØW¿îÖW¿ì@Ùæ€Ð¿è?’cÿ€¢ €€¡Ð HÒ LÒ'¿ÔРHÒ H€ €€À'¿Ä€Ð HÐ H@ØœÐ'¿ÄпÔÒ¿Ä€¢ €€Ð HÒ HÔ¿ÔÖ HØàHÚ¿Ôž àKàà*@ Ð¿Ô Ð'¿Ô¿ÿÞРHÒ € €€qРDÒ'РDÿ¬”Ò DÐfÄÖ HÒà@ØÖFÐ#(Ò LFÔ£(Ö H˜À Ø# \FÚc(Þ`Hà HØT R˜#â DÒfÈä DÐ¦Äæ HÔàè HÖU Pê HìU`PÚW¿ôš#@š#`@ÙpРDÒ&üРDÿ«Û”Ò DÐfÄÖ HÒà@حРHÒ H€ €€À'¿À€Ð HÐ H@Ø<Ð'¿ÀРHÒ LÔ¿À–"€ Ö# \Ø HÚ LÞ HààHš â DÒfÈä HÖT Pæ HÔàè HØU Rê DÐfÄ@ÙBFÐ#(Ò LFÔ£(Ö H˜À š Ú# \Þ DÐæÄà DÒ&Èâ HÔ`Ú¿ðš#`ØW¿îÖW¿ì@Ù?€öпè?’c €¢ €€Ð¿è?’c €¢ €€Ð¿Ü€€€jÐO¿æ€¢ € €ÐO¿æ€¢ €€^€MРH’ Ò" РDÐ&Ä’ @Ù€P€NРHÒ H€ €€À'¿Ä€Ð HÐ H@×ÐÐ'¿ÄÐ¿Ä ÿCÐ'¿àÐ¿à€€€ !,’#ëSÔ¢\þÃ!,€ РDÐ&Ä’ @ØèРHÒ H€ €€Ð HÒ Hпà@׭РHÒ Ô DЀ” Ö¿àØ TÿÔ·€Ð HÐ €¢ ¿ÿ²€¢ ¿ÿ¹€¢ ¿ÿ¸€€xпè?’ck€¢ €€€nпè?’c €¢ €€€dп܀€€^FÐ#(ÒR <Ô HÖR P˜À š ÞW¿ô€£@€ €Ð HÒ <Ô HÖ L€¢À €€ РDÐ&Ä’ @Ø€AРHÒ HÔ HÖ LØJ@ € €€Ð HÒ LÔ HÖ H˜À À+ РHÒ L”`Ô'¿ÄРHÒ¿ÄÒ" LРHÒ HÔ¿Ä–" ØO¿æØ*@ РHÒ € €€ Ð# \Ò DÐfÄÔ DÒ¦ÈÖ HÔàØ HÖS PÚ HØS`Rš¿æ@ØC’¿æFÐ#(” @Ø7»* »?`РHÒR P”@Ô2 PРHÒ € €€_РDÒ&üРDÿª˜”Ò DÐfÄÖ HÒà@×jFÐ#(Ò LFÔ£(Ö H˜À Ø# \FÚc(Þ`Hà HØT R˜#â DÒfÈä DÐ¦Äæ HÔàè HÖU P+Fêc(ÚU`<@ØÐ DÒ'РDÿªq”Ò DÐfÄÖ HÒà@×CРHÒ H€ €€À'¿Ä€Ð HÐ H@ÖÒÐ'¿ÄРHÒ LÔ¿Ä€¢@ €€ Ð# \Ò HÔ`LÖ HÚàHš@ Ø DÒ&ÈÞ HÖSàPà HÔ â HØT`Rä DЦÄ@×Ó€€Ð L€¢ ¿üj€¢ ¿ý4€¢ ¿ýS¿ÿô Ð/¿æÐ DÐ&Ä@×  €°Çàè?ÿÿ‚c ã€ð' Dò' HРDÐ&ÄÒ HÒ`@×%РHÐ HÿBРHÒ $€ €€Ð HÐ $ÿB Çàè?ÿÿ‚c@ã€ð' Dò' Hô' LÿØ<Ð'¿ Ð¿ €€€ €„п ’ Ò"п Ò HÒ" п À"  Ð'¿¤Ð DÒ&üÒ'¿¬Ð DÒ'Ò'¿°À'¿´À'¿¸À'¿ÄРDÐ&ÄÒ DÒfÈ–¿¤”!=@ÖäÔ¿ Ð" Ð¿ À" п À" п À" $п À" (п À" ,п ’ Ò" 0п FÁcøÁ" 4п Ò DÔ` Ô" 8п FÃcøÃ" <п Ò DÔ`$Ô" @п ’ @Ò" Dп ’ Ò" HGÅ ‡ ÂÒ¿ Ç"`LGÉ ‹ ÄÒ¿ Ë"`Pп FÍcøÍ" Tп À" X"ÿAeÒ¿ Ð"`|п Ò |€ €€ €%п Ò |GÏ Ï"@п Ò |GÑ Ñ"`GÕ — ÊÒ¿ ×"`€GÙ › ÌÒ¿ Û"`„п À" ˆÐ¿ Ò DÔf Ô" РDÒ¿ Ò"& РLÒ¿ Ò" €°Çàè?ÿÿ‚cã€ð' Dò' Hô' Lö' Pø' Tú' XQÐ"€€ €QÐ"€¢ €€  ’ LSÔ¢\þÁ‹ €¨Ð D€€ € ’ LSÔ¢\þÁ| €™Ð Dþý´Ð'¿üпü€€ € ’ LSÔ¢\þÁi €†Ð¿üþþN€¢ €€Ð¿üþþF€¢ €€  &’ LSÔ¢\þÁP &€mРTÝ Ò Tß@«Ê® €€Ð Tá Ò Tã`¬J° €€  3’ LSÔ¢\þÁ1 3€NРH€¢ €€  Œ’ LSÔ¢\þÁ" Œ€?РP€¢ €€Ð P€¢ €€Ð P€¢ €€  ’ LSÔ¢\þÁ €$Gå Ò Tç@¬Ê² €%€Ð¿üé Ò Të`­J´ €€Gí Ò Tï`­Ê¶ €€Ð¿üñ $Ò Tó` ®J¸ €€  ‘’ LSÔ¢\þÀÒ ‘€ïРXÒ€¢`€€  ’’ LSÔ¢\þÀ ’€ßРXÒ €¢`€€  ’’ LSÔ¢\þÀ² ’€ÏРXÒ Ô XÖ€€¢@ €€  ’’ LSÔ¢\þÀ  ’€½Ð Xõ ¹ :Gý` ¯ Þ €€  ’’ LSÔ¢\þÀ‹ ’€¨Ð LÒ € €€  ˜’ LSÔ¢\þÀ{ ˜€˜Ð LÒ Ô XÖ€€¢@ €€  ™’ LSÔ¢\þÀi ™€†Ð LÒ€ €€  2’ LSÔ¢\þÀY 2€vРLÒ€¢`€€  2’ LSÔ¢\þÀI 2€fРLÒ ”`Ö XØà€£ €€  ˜’ LSÔ¢\þÀ6 ˜€SРLÒ“*`” •* ’@ Q–㼘@ GØ#`РLÒ GÒ"   GÐ"`РLÒ GÔ €¢€ €€OGÐ ÿGÒ` Á@¨ ¿ €+€GÐ Ã GÒ` Å@¨J¢ €€GÐ Ç GÒ` É`© £ €€GÐ Ë GÒ`Í` ©Š¥ €€  ’’ LSÔ¢\þ¿Þ ’€ûGÐ  GÐ"` GÐ Ð'¿„п„’ GÒ" Ð¿„Ð'¿ˆ¿ÿ¬À'¿Œ€€%РXÒ €¢`€€nРXÒ $€¢`€ €Ð XÒ $€¢`€€  B’ LSÔ¢\þ¿« B€ÈРXÒ (€ €€ РXÒ (€¢`€ € E’ LSÔ¢\þ¿” E€±Ð XÏ ,‘ 'GÕ` ª Ê €€  G’ LSÔ¢\þ¿ G€œÐ XÒ 0€ €€ пüÒ&ôÔ XÖ 0€¢À €€Ð¿üÒ €¢`€€Ð¿üÒ €¢`€ € \’ LSÔ¢\þ¿X \€u€Ð XQÒcÒ" РXQÒcÒ" РXQÒcÒ" РXQÒc Ò" $РX’ (Q”£$Ø€à Ø"`Ø à"`Ø"`РXÒ € €€ РXÒ XÔ`$•* – —*à”€ Ø¿üš Þa|Þ" (РXÒ € €€ РXÒ XÔ`$•* – —*à”€ Ø¿üš Þa€Þ" ,РXÒ € €€ РXÒ XÔ`$•* – —*à”€ Ø¿üš Þa„Þ" 0 Ð'¿œÐ XÒ 0Ò'¿¤€€ пüÒ&ôÔ¿¤€¢€ €€Ð¿üÒ €¢`€€Ð¿üÒ €¢`€€Ð¿üÒ&üÒ'¿¤À'¿¬À'¿°€<РXÒ €¢`€€~РXÒ $€¢`€ €Ð XÒ $€¢`€€  <’ LSÔ¢\þ¾Â <€ßРXÒ (€ €€  ?’ LSÔ¢\þ¾² ?€ÏРXÒ (€¢ý€€ РXÒ (€¢`€ € @’ LSÔ¢\þ¾› @€¸Ð X× ,™ +GÝ` « Î €€  A’ LSÔ¢\þ¾† A€£Ð XÒ 0€ €€ пüÒ&ôÔ XÖ 0€¢À €€Ð¿üÒ €¢`€€Ð¿üÒ €¢`€ € \’ LSÔ¢\þ¾_ \€|€Ð XQÒbøÒ" РXQÒbüÒ" РXQÒcÒ" РXQÒcÒ" $РX’ (Q”£Ø€à Ø"`Ø à"`Ø"`РXÒ € €€ РXÒ XÔ`$•* – —*à”€ Ø¿üš Þ`€Þ" (РXÒ € €€ РXÒ XÔ`$•* – —*à”€ Ø¿üš Þ`„Þ" ,РXÒ € €€ РXÒ XÔ`$•* – —*à”€ Ø¿üš Þ`ˆÞ" 0 Ð'¿œÐ XÒ (Ò'¿°Ð¿°Ð'¿ŒÐ¿Œ€€€Ð¿Œ Ð'¿Œ€ пŒ€€€Ð¿Œ Ð'¿ŒÐ¿°€¢ €€À'¿€€ Ð'¿€Ð¿€Ð'¿°Ð Xß ,¡ /á'¿¬Ð¿°€€€ ﬈¢ €€À'¿¬Ð XÒ 0Ò'¿¤€€ пüÒ&ôÔ¿¤€¢€ €€Ð¿üÒ €¢`€€Ð¿üÒ €¢`€€Ð¿üÒ&üÒ'¿¤€Ð P€¢ ¿ý倢 ¿ý䀢 ¿þÊ¿ýÝпüÒ H” ÿÓÃÐ'¿øÐ¿ø€€€”¿øÒ HпüÿûU€€€ !,’ LSÔ¢\þ½‡!,€¤€Ð¿øÒ € €€  ’ LSÔ¢\þ½u €’пüÒ'Ò'¿¨Ð¿üÐ&ÄÒ¿øÒ`–¿œ” =@ÒÒпøÒ ,€ €€Ð¿øÐ ,ÿ=%пø’ $Ô LØ€à Ø"`Ø à"`Ø"`РLÐ ‘* ÿ<ÙÐ'¿€Ð¿øÒ¿€Ò" ,п€Ð'¿”€€ !,’ LSÔ¢\þ½<!,€YÀ'¿Ð LÒ Ò'¿˜Ð LÒ Ô¿€¢€ €€Ð¿”Ò¿˜Ô@Ø`Ô" Ø" п Ð'¿Ð¿˜Ð'¿xп˜ Ð'¿˜Ð¿”Ð'¿|п” Ð'¿”¿ÿåпøÒ PÒ" 0пø’ 4Ô TØ€à Ø"`Ø à"`à  Ø"`à"` пø’ DÔ X  8 ¤ Ø€¿ÿþØ"@п°€¢ €€Ð¿üÐ&ÄÒ¿øÒ`Ô¿Œ•* – —*à”€ B˜"œØ€ Ö¿Œ—*àš ›+`–À Bžâ –À” @ÒM €°Çàè?ÿÿ‚c`ã€ð' Dò' Hô' Lö' Pô' Lö' PQÐ"€€ €QÐ"€¢ €€  ’ RSÔ¢\þ¼Â €¦Ð D€€ € ’ RSÔ¢\þ¼³ €—РDþøëÐ'¿üпü€€ € ’ RSÔ¢\þ¼  €„пüþù…€¢ €€Ð¿üþù}€¢ €€  &’ RSÔ¢\þ¼‡ &€kРH€¢ €€  Œ’ RSÔ¢\þ¼x Œ€\РL€€€Ð L€¢ €€Ð L€¢ €€Ð P€€€Ð P€¢ €€ 'Ð’ RSÔ¢\þ¼Q'Ѐ5пüÒ H” ÿÒnÐ'¿øÐ¿ø€€€”¿øÒ Hпüÿú€€€ !,’ RSÔ¢\þ¼2!,€€Ð¿øÒ €¢`€€Ð¿øÒ € €€ пüÒ¿ø” – ˜ š?ÿ@пøÒ LÒ" пøÒ PÒ" РL€¢ € €Ð L€¢ €€çпøÒ |€ €€Ð¿øÐ |ÿ;ÃпøÐ D‘* ÿ;€Ð'¿ØÐ¿øÒ¿ØÒ" |пØÐ'¿ðÐ¿ð€€€ !,’ RSÔ¢\þ»ã!,€ÇÀ'¿ÜпøÒ ,Ò'¿ôпøÒ (Ô¿Ü€¢€ €€?пøÒ $“*`” •* ’@ Q–ãܘ@ Ø'¿ÔпÔãÒ¿ôå@§¤‰1Ô¿Ôé «¤È4ë'¿èпÔí Ò¿ôï`±¥É6Ô¿Ôó  µ¦9õ'¿ìпü÷&´ù¿è»§ ;Ò¿üýf¸¿§H>Ô¿ðÿ"€Ð¿üÁ&¼Ã¿ì… I Ò¿üÇfÀ‰ ˆ#Ô¿ðÉ" Ð¿Ü Ð'¿ÜпôÐ'¿Ðпô Ð'¿ôпðÐ'¿Ôпð Ð'¿ð¿ÿ½Ð¿øÒ $“*`” •* ’@ Q–ãܘ@ Ø'¿ÌпøË LÒ¿ÌÍ@¡I&Ô¿ÌÑ “¡È(Ö¿øÓ"à€Ð¿ÌÕ Ò¿ø×`P™¢É*Ô¿ÌÛ  £-Ö¿øÝ"à„Gß (ß'¿àGá (á'¿äпøÒ $“*`” •* ’@ Q–ãܘ@ Ø'¿ÌпÌãå¿à§¤‰1Ò¿Ìé`«¤È4ë'¿èпÌí ï¿ä±¥É6Ò¿Ìó` µ¦9õ'¿ìпø÷ €ù¿è»¦È¼½ =ý# `Р`ÿ# `Ò `@% ¿ ÀÒ¿øÿ"`€Ð¿øÁ „ÿ셠¡‰ "É# `Р`Ë# `Ò `@$û‹ ÀÒ¿øË"`„пøÒ¿øÔ`H–" Ö" ˆÐ¿ø’ Ò" РP€€€Ð¿øÒ ˆ•*`Ö¿øÖà|–À Ò¿ø” пü˜ š?ÿ@š€Ð¿øÀ"  €°Çàè?ÿÿ‚cXã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ XSÔ¢\þºþ €Ð D€€ € ’ XSÔ¢\þºï €÷РDþ÷'Ð'¿üпü€€ € ’ XSÔ¢\þºÜ €äпüþ÷Á€¢ €€Ð¿üþ÷¹€¢ €€  &’ XSÔ¢\þºÃ &€ËРH€¢ €€  Œ’ XSÔ¢\þº´ Œ€¼Ð¿üÒ H” ÿÐÑÐ'¿øÐ¿ø€€€”¿øÒ Hпüÿøc€€€ !,’ XSÔ¢\þº•!,€€Ð¿øÒ € €€  ’ XSÔ¢\þºƒ €‹Ð D’ ÿ:_пøÒ |€ €€Ð¿øÐ |ÿ::пøÐ D‘* ÿ9÷Ð'¿ÔпøÒ¿ÔÒ" |пÔÐ'¿ðÐ¿ð€€€ !,’ XSÔ¢\þºZ!,€bÀ'¿ØÐ¿øÒ ,Ò'¿ôпøÒ (Ô¿Ø€¢€ €€?пøÒ $“*`” •* ’@ Q–ãܘ@ Ø'¿ÐпÐÍÒ¿ôÏ@‘¡É&Ô¿ÐÓ •¢)Õ'¿èпÐ× Ò¿ôÙ`›£ +Ô¿ÐÝ  Ÿ£H.ß'¿ìпüá&´ã¿è¥¤I0Ò¿üçf¸©¤ˆ3Ô¿ðé"€Ð¿üë&¼í¿ì¯¥‰5Ò¿üñfÀ³¥È8Ô¿ðó" Ð¿Ø Ð'¿ØÐ¿ôÐ'¿Ìпô Ð'¿ôпðÐ'¿Ðпð Ð'¿ð¿ÿ½Ð¿øÒ $“*`” •* ’@ Q–ãܘ@ Ø'¿Èпøõ LÒ¿È÷@¹¦‰;Ô¿Èû ½§=Ö¿øý"à€Ð¿Èÿ Ò¿øÁ`Pƒ  ?Ô¿ÈÅ  ‡ H"Ö¿øÇ"à„GÉ ,É'¿ÜGË ,Ë'¿àпøÒ $“*`” •* ’@ Q–ãܘ@ Ø'¿ÈпÈÍϿܑ¡É&Ò¿ÈÓ`•¢)Õ'¿èпÈ× Ù¿à›£ +Ò¿ÈÝ` Ÿ£H.ß'¿ìпøá €ã¿è¥¤±© 2é# `Р`ë# `Ò `@#€« ÀÒ¿øë"`€Ð¿øí „ï¿ì±¥ˆ·µ 8õ# `Р`÷# `Ò `@#r· ÀÒ¿ø÷"`„пøÒ¿øÔ`H–" Ö" ˆÐ¿ø’ Ò" пøÒ € €€Ð¿øÒ ˆ•*`Ö¿øÖà|–À Ò¿ø” пü˜ š?ÿ@пüÐ&Äÿ¤Ð¿øÀ" пøÀ" пøÒ € €€Ð¿øÒ € €€ ¿üGÔ 0’ ÿ¹¿ÿìпüÐ&Äÿ¤Ð¿øÀ" пøÒ € €€ пüÒ¿ø” – ˜ š?ÿ@ÝпøÒ €¢`€€Ð L’ Ò"€aРLÀ"пøÐ ˆ‘* ÿ8ÝÐ'¿äпäÐ'¿ôпô€€€ !,’ XSÔ¢\þ¹C!,€KÀ'¿ØÐ¿øÒ |Ò'¿ðпøÒ ˆÔ¿Ø€¢€ €€%пüù&¸Ò¿ðû@½§H¼Ô¿üÿ¦´§‰¿Ö¿ôÁ"ÀпüÃ&ÀÒ¿ðÅ`‡ ˆ¡Ô¿üɦ¼‹ É¤Ö¿ôË"àÐ¿Ø Ð'¿ØÐ¿ôÐ'¿Äпô Ð'¿ôпðÐ'¿Èпð Ð'¿ð¿ÿ×пøÒ ˆ€ €€ пøÐ ˆÔ L” Ò LÖ` Ò¿äÿ4 РLÒ¿øÔ`ˆÔ" пäÿ8à €°Çàè?ÿÿ‚c€ã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ ^SÔ¢\þ¸Ú €ËРD€€ € ’ ^SÔ¢\þ¸Ë €¼Ð DþõÐ'¿üпü€€ € ’ ^SÔ¢\þ¸¸ €©Ð¿üþõ€¢ €€Ð¿üþõ•€¢ €€  &’ ^SÔ¢\þ¸Ÿ &€Ð H€¢ €€  Œ’ ^SÔ¢\þ¸ Œ€Ð¿üÒ H” ÿέÐ'¿øÐ¿ø€€ €Ð¿øÒ €¢`€€  Ž’ ^SÔ¢\þ¸t Ž€eРD’ ÿ8PпøÐ ˆ‘* ÿ7óÐ'¿ìпìÐ'¿ôпô€€€ !,’ ^SÔ¢\þ¸Y!,€JÀ'¿èпøÒ |Ò'¿ðпøÒ ˆÔ¿è€¢€ €€%пüÍ&¸Ò¿ðÏ@‘¡È¦Ô¿üÓ¦´•¢ ©Ö¿ôÕ"Àпü×&ÀÒ¿ðÙ`›£«Ô¿üݦ¼Ÿ£I®Ö¿ôß"àпè Ð'¿èпôÐ'¿àпô Ð'¿ôпðÐ'¿äпð Ð'¿ð¿ÿ×пøÒ ˆ€ €€ пøÐ ˆÒ LÖ`Ò¿ìÔ Lÿ3!РLÒ¿øÔ`ˆÔ" пìÿ7Ú €°Çàè?ÿÿ‚c€ã€ð' Dò' Hô' Lö' Pô' LQÐ"€€ €QÐ"€¢ €€  ’ ¶SÔ¢\þ·ï €ÇРD€€ € ’ ¶SÔ¢\þ·à €¸Ð DþôÐ'¿üпü€€ € ’ ¶SÔ¢\þ·Í €¥Ð¿üþô²€¢ €€Ð¿üþôª€¢ €€  &’ ¶SÔ¢\þ·´ &€ŒÐ H€¢ €€  Œ’ ¶SÔ¢\þ·¥ Œ€}РL€€€Ð L€¢ €€ 'Ð’ ¶SÔ¢\þ·'ЀhпüÒ H” ÿÍ­Ð'¿øÐ¿ø€€€”¿øÒ Hпüÿõ?€€€ !,’ ¶SÔ¢\þ·q!,€Iпø’ Ô P  ` ¤ Ø@¿ÿþØ"€Ð PÐ ‘* ÿ6ìÐ'¿èРPÒ¿èÒ" пèÐ'¿ðРPÒ € €€ !,’ ¶SÔ¢\þ·N!,€&À'¿ìпøÒ ,Ò'¿ôРPÒ Ô¿ì€¢€ €€Ð¿ðÒ¿ôÔ@Ø`Ô" Ø" пì Ð'¿ìпôÐ'¿àпô Ð'¿ôпðÐ'¿äпð Ð'¿ð¿ÿå €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LQÐ"€€€  ’ …SÔ¢\þ· €ƒÐ DþówÐ'¿üпü€€€  ’ …SÔ¢\þ¶þ €pпü€¢ €€  &’ …SÔ¢\þ¶ï &€aРH€¢ €€  Œ’ …SÔ¢\þ¶à Œ€RРL’ @Ò"РL’ Ò"  ÿ6_Ò LÐ"`РLÒ € €€ !,’ …SÔ¢\þ¶Å!,€7РLÒ ” Ô"@РLÒ ” Ô"`РLÒ ” Ô"`РLGá`8á" РLGã`<ã" РLGå`8å" РLGç`@ç" РL’ @Ò" РL’ Ò" Gé H« ÔÒ Lë"`$Gí H¯ ÖÒ Lï"`(РLGñ`8ñ" ,РLÀ" 0 €°Çàè?ÿÿ‚c@ã€ð' Dò' Hô' Lö' Pø' Tú' Xô' LÀ7¿ØÀ7¿ÚРDó&ìµ 9õ# hÒ h•*`•2 Ô7¿ÜРD÷&ð¹ ;ù# hÒ h•*`•2 Ô7¿ÞÀ# \РDÐ&ÄÒ HÒ`˜¿Ø” – š @Êÿ€¿Ð HÐ ˆ‘* ÿ5çÐ'¿ÐÀ'¿ÌРHÒ |Ò'¿ìпÐÐ'¿ÔРHÒ ˆÔ¿Ì€¢€ €€:РDû'Ò¿ìý@¿§‰=Ô DÁ§ƒ§È … !GÉàP ˆD FÏ# hØ h™+ ™; Ú¿ÔØ3@РDÑ' Ò¿ìÓ`•¢I(Ô D×§™¢ˆ+Ö DÛæð£H¬¡ .Gå P©¤R« Të# hÚ h›+`›;`Þ¿ÔÚ3àÐ¿Ì Ð'¿ÌпìÐ'¿Äпì Ð'¿ìпÔÐ'¿ÈÐ¿Ô Ð'¿Ô¿ÿ€-€8РHí p± 6ñ# \ó# `Ò DÐfÄÔ DÒ¦ÈÖ HÔàØ HÚ lÞ HØàˆÖ¿Ðÿ²¬€$РHÒ ˆ€¢`€€Ð DÐ&ÄÒ DÒfÈÔ HÔ Ö HØàˆÖ¿Ðš @ƀРHÐ 0€¢ ¿ÿÒ€¢ ¿ÿÑ€¢ ¿ÿâ¿ÿÊпÐÿ5¡€@РHÐ ˆ‘* ÿ5\Ð'¿ÐÀ'¿ÌРHÒ |Ò'¿ìпÐÐ'¿ÔРHÒ ˆÔ¿Ì€¢€ €€:РDó'Ò¿ìõ@·¦‰9Ô Dù§»¦È<½ =GÁàP…§ˆ@‡ BÇ# hØ h™+ ™; Ú¿ÔØ3@РDÉ' Ò¿ìË`¡I$Ô Dϧ‘¡ˆ'Ö DÓæð•¢H¨™ *GÝ P¡£N£ Pã# hÚ h›+`›;`Þ¿ÔÚ3àÐ¿Ì Ð'¿ÌпìÐ'¿¼Ð¿ì Ð'¿ìпÔÐ'¿ÀÐ¿Ô Ð'¿Ô¿ÿ€-€8РHå p© 2é# \ë# `Ò DÐfÄÔ DÒ¦ÈÖ HÔàØ HÚ lÞ HØàˆÖ¿Ðÿ²!€$РHÒ ˆ€¢`€€Ð DÐ&ÄÒ DÒfÈÔ HÔ Ö HØàˆÖ¿Ðš @;€Ð HÐ 0€¢ ¿ÿÒ€¢ ¿ÿÑ€¢ ¿ÿâ¿ÿÊпÐÿ5€µÐ Dë&¸Ò Pí@¯¥ˆµÔ Dñ¦´³¥É¸ó'¿ðРDõ&ÀÒ P÷`¹¦ÈºÔ Dû¦¼½§ ½ý'¿ôРDÿ LÁ¿ð¨ ¿ €"€Ð Dà Pſ𨊡 €€Ð DÇ TÉ¿ô© £ €€Ð DË XÍ¿ô©Š¥ €€ €Ð HÒ ˆ€ €€Ð HÒ ˆ•*`Ö HØà|š ÏøÞ DÑ渓¡È¨à DÕ&´—¢Iª×'¿øÐ HÒ ˆ•*`Ö HØà|š ÙüÞ DÛæÀ£­à Dß&¼¡£‰¯á'¿üРHÒ ˆ€ €,€ã¿ðå¿ø§¤H²© 3é# hРhë# hÒ h@•РHë €­ 5¨ Ö€€ï¿ôñ¿ü³¥È¸µ 9õ# hРh÷# hÒ h@РH÷ „¹ ;¨ Ü€€\РHÐ ˆ ‘* ÿ4AÐ'¿ÐÀ'¿ÌРHÒ |Ò'¿ìпÐÐ'¿ÔРHÒ ˆÔ¿Ì€¢€ €€:РDû'Ò¿ìý@¿§‰=Ô DÁ§ƒ§È … !GÉàP ˆD FÏ# hØ h™+ ™; Ú¿ÔØ3@РDÑ' Ò¿ìÓ`•¢I(Ô D×§™¢ˆ+Ö DÛæð£H¬¡ .Gå P©¤R« Të# hÚ h›+`›;`Þ¿ÔÚ3àÐ¿Ì Ð'¿ÌпìÐ'¿´Ð¿ì Ð'¿ìпÔÐ'¿¸Ð¿Ô Ð'¿Ô¿ÿ€ýРHÒ DÔ HÖ ˆ€¢À €€Ð HÒ ˆ•*`Ö HØà|š Þ PàÀäàà#`ä#`РHÒ ˆ’`Ò" ˆ€ðРHÒ DÔ HÖ ˆ€¢À €€gРHÒ ˆ•*`Ö HØà|š Þ PàÀäàà#`ä#`РHÒ |Ô HÖ ˆ™*àí@ Ú Dïg±¥‰7Þ Dó給9¹ :!Gý P§^ƒ @Ã# hâ h£,`£<`ä Hæ ˆ©,àê¿Ðâ5@РHÒ ˆ•*`Ö HØà|š Å`Þ DÇç ‰ ‰#à DË'¡%â DÏfð‘¡È¦• (%GÙ P¢ˆLŸ Nß# hæ h§,à§<àè Hê ˆ­-`î¿Ð°Àæ6 РHÒ ˆ’`Ò" ˆÐ HÒ € €€Ð Há p¥ 0å# \ç# `Ò DÐfÄÔ DÒ¦ÈÖ HÔàØ HÚ ˆŸ+`ֿЖÀ–"àà HÚ l˜ ÿ°’€€Ð HÒ DÔ HÖ ˆ€¢À €€hРHÒ ˆ•*`Ö HØà|š Þ PàÀäàà#`ä#`РHÒ |Ô HÖ ˆ™*àç@ Ú Dég«¤É4Þ Dí篥H6± 7!Gõ P¹¦Z» \û# hâ h£,`£<`ä Hæ ˆ©,àê¿Ðâ5@РHÒ ˆ•*`Ö HØà|š ý`Þ Dÿç §‰?à DÃ'… !â DÇfð‰ È¢ $%GÑ P•¡ˆH— J×# hæ h§,à§<àè Hê ˆ­-`î¿Ð°Àæ6 РHÒ ˆ’`Ò" ˆÐ HÒ € €€Ð HÒ ˆ€¢`€€Ð DÐ&ÄÒ DÒfÈÔ HÔ Ö HØàˆ›+ ֿЖÀ –"à˜ š @P€Ð HÐ 0€¢ ¿ÿ€¢ ¿ÿ€¢ ¿ÿ†¿þúпÐÿ3+€­Ð TÒ€¢`€€€±Ð H’ Ò" РDÐ&Ä’ @ÈÀ€§€¥Ð TÒ€¢`€€€œ ÿ2ÊÐ'¿àÐ¿à€€€ !,’#ðSÔ¢\þ³2!,€ Ð DÐ&Ä’ @țРHÐ ˆ‘* ÿ2°Ð'¿ìпìÐ'¿èРHÐ ˆ‘* ÿ2¨Ò¿àÐ"`п耀 €Ð¿àÒ € €€ !,’#ðSÔ¢\þ³!,€vÀ'¿ÌРHÒ |Ò'¿äРHÒ ˆÔ¿Ì€¢€ €€%РDÙ&¸Ò¿äÛ@£H¬Ô Dߦ´¡£‰¯Ö¿èá"ÀРDã&ÀÒ¿äå`§¤ˆ±Ô D馼«¤É´Ö¿èë"àÐ¿Ì Ð'¿ÌпèÐ'¿´Ð¿è Ð'¿èпäÐ'¿¸Ð¿ä Ð'¿ä¿ÿ×РHÒ ˆ€ €€ РHÐ ˆÒ¿àÖ`Ò¿ìÔ¿àÿ-ÐпàÒ HÔ`ˆÔ" пìÿ2‰Ð HÒ Ô DЀ” Ö¿àØ XÿÄ €Ð HÐ €¢ ¿ÿR€¢ ¿ÿb€¢ ¿ÿa¿ÿJ€€Ð L€¢ ¿üA€¢ ¿üÉ€¢ ¿ýQ¿ÿôРDÐ&Ä@Ç< €°Çàè?ÿÿ‚c ã€ð' Dò' HРDÐ&ÄÒ HÒ`@ÇXРHÒ ,€ €€Ð HÐ ,ÿ2A€6РHÒ X€ €€Ð HÐ Xÿ24€8РHÒ X€ €€Ð HÐ Xÿ2'€+РHÒ x€ €€Ð HÐ xÿ2€Ð HÒ x€ €€Ð HÐ xÿ2 €Ð HÐ 0" €¢ € ‘* Y’c€Ð Âf„f¸fìg РHÒ |€ €€Ð HÐ |ÿ1ñÇàè?ÿÿ‚cã€ð' Dò' Hô' Lö' Pø' Tú' XРT€¢ €€‹Ð X€€€- Ð'¿üпüÒ T€¢ €€$пü“* Ô P–€ Ö'¿øÐ¿ü“* Ô P–€ ØRÿüÚ¿øÞS@ À à3@пü“* Ô P–€ ˜àØ'¿ôпü“* Ô P–€ ØRÿþÚ¿ôÞS@ À à3@пü Ð'¿ü¿ÿÙ Ð'¿üпüÒ T€¢ €€ пü“* Ô P–€ ØRàØ# \Ú¿üŸ+`à P¢ÖTüä¿ü§, è PÚUê¿ü­-`î P°ÀØV?þÔ LÒ HРD@Ç8пü Ð'¿ü¿ÿÝРX€€€-РT’" Ò'¿üпü€€€$пü“* Ô P–€ Ö'¿øÐ¿ü“* Ô P–€ ØRÿüÚ¿øÞS@ #À à3@пü“* Ô P–€ ˜àØ'¿ôпü“* Ô P–€ ØRÿþÚ¿ôÞS@ #À à3@пü" Ð'¿ü¿ÿÚÇàè?ÿÿ‚c°ã€ð' DРD’ Ò'¿ü€"РDÒ Ò'¿øÐ DÒ $Ò'¿ô€'РDÒ Ò'¿øÐ DÒ $Ò'¿ô€Ð DÒ Ò'¿øÐ DÒ $Ò'¿ô€GÁ œÁ'¿øGà  Ã'¿ô€Ð DÐ €¢ ¿ÿÝ€¢ ¿ÿ• ¿ÿç¿ÿíпüÅ Ò¿üÇ` ‰ È¢Ô¿üË Ö¿üÍÀ¡H¦©Ê¤€€rРDÀ" ,пüÑ Ò¿üÓ` •¢H(™ *GÝ ¨¡£ N£ Ðã'¿ðРDÒ¿ðÒ" PРDÒ¿ðÒ" Hпüå Ò¿üç` ©¤È²­ 4Gñ °µ¥‰X· ÚÖ D÷"à<пüù Ò¿üû@½§½ >GÅ ¸‰  B‹ ÄÖ DË"à8РDÍ 8‘ &GÕ`À™¢ JÔ¿üÝ€¡ .¥¤L§ ÒÖ Dç"àDРDé 8­ 4Gñ`Àµ¥‰XÔ¿üù ½ <§ˆÚƒ ÀÖ DÃ"àLРDÅ 8‰ "GÍ`¨‘¡ F“ ÈÔ DÓ" 8РDÕ DÒ D×`L™¢ÈªÛ¿ôÝ¿øŸ£H®¡£É¬Ô Dá" 0РDã 0Ò Då`D§¤‰1é¿ø«¤È´Ô Dë" 4РDí ï¿ø±¥ˆ·Ò Dó`0µ¦ ¹Ô D÷ D¹¦ˆ;Ö Dù"à@€qРD’ Ò" ,пüû Ò¿üý@¿§H> ?GÅ ¨‰  B‹ ÄË'¿ðРDÒ¿ðÒ" LРDÒ¿ðÒ" DпüÍ Ò¿üÏ@‘¡ˆ§• (GÙ °¢‰LŸ ÎÖ Dß"à8пüá Ò¿üã` ¥¤H°© 2Gí ¸±¥ V³ ØÖ Dó"à<РDõ <¹ :Gý`À§ ^Ô¿üÅ ‰ "¡@ ÆÖ DÏ"àHРDÑ <• (GÙ`À¢‰LÔ¿üá  ¥ 0©¤ˆÎ« ÔÖ Dë"àPРDí <± 6Gõ`¨¹¦ Z» ÜÔ Dû" <РDý HÒ Dÿ`P§È¾Ã¿ôÅ¿ø‡ H¢‰ É Ô DÉ" 0РDË 0Ò DÍ`H¡‰%Ñ¿ø“¡È¨Ô DÓ" 4РDÕ ×¿ø™¢ˆ«Ò DÛ`0£ ­Ô Dß H¡£ˆ/Ö Dá"à@РDÒ DÔ`@Ô" Çàè?ÿÿ‚c8ã€ð' Dò' Hô' Lö' Pø' Tú' Xå Lç P§ Òç' LQÐ"€€ €QÐ"€¢ €€  ’ MSÔ¢\þ°> €ÍРD€€ € ’ MSÔ¢\þ°/ €¾Ð DþìgÐ'¿üпü€€ € ’ MSÔ¢\þ° €«Ð¿üþ퀢 €€Ð¿üþìù€¢ €€  &’ MSÔ¢\þ° &€’РXé Ò Xë@­J´€€Ð Xí Ò Xï`­Ê¶€€  3’ MSÔ¢\þ¯ä 3€sРH€¢ €€  Œ’ MSÔ¢\þ¯Õ Œ€dРT€¢ €€Ð T€¢ € € ’ MSÔ¢\þ¯À €OGñ ÈÒ Xó@®J¸ €%€Ð¿üõ Ò X÷`®Êº €€Gù ÈÒ Xû`¯J¼ €€Ð¿üý $Ò Xÿ` ¯Ê¾ €€  ‘’ MSÔ¢\þ¯‹ ‘€€¡Ð \Á Ò \Ã@¨J  €€  ’’ MSÔ¢\þ¯u ’€Ð \Å Ç L¨Ê¢ €€Ð \ÉË L©J¤ €€  ˜’ MSÔ¢\þ¯X ˜€çР\À" €xР\Í Ò \Ï@©Ê¦ €€  ’’ MSÔ¢\þ¯@ ’€ÏР\Ñ Ó LªJ¨ €€Ð \Õ× LªÊª €€  ˜’ MSÔ¢\þ¯# ˜€²Ð \À" €CР\Ù Ò \Û@«J¬ €€  ’’ MSÔ¢\þ¯  ’€šÐ \Ý ß L«Ê® €€Ð \áã L¬J° €€  ˜’ MSÔ¢\þ®î ˜€}Р\À" €Ð T€¢ ¿ÿ_€¢ ¿ÿ‘€¢ ¿ÿÀпüÒ H” ÿÄûÐ'¿øÐ¿ø€€€0 Ð'¿œÐ¿üÒ&üпüÿ–‘Ð'¿¤Ð¿üÒ'пüÿ–‹Ð'¿¨À'¿¬À'¿°À'¿¼ÿÄÁÐ'¿øÐ¿üÐ&ÄÒ¿üÒfÈ–¿œ”!=@Ã…Ô¿øÐ" Ð¿ø’ Ò"пøÒ HÒ" пøÀ" пøÀ" пüÒ¿øÿÄE€Ð¿øÒ € €€  ’ MSÔ¢\þ®” €#пøÒ LÒ" $пøÒ TÒ" (пø’ ,Ô XØ€à Ø"`Ø à"`à  Ø"`à"` пø’ <Ô \Ø€à Ø"`Ø à"`Ø"`пø ÿüê €°Çàè?ÿÿ‚c0ã€ð' Dò' Hô' Lö' Pô' Lö' PQÐ"€€ €QÐ"€¢ €€  ’ SSÔ¢\þ®P €Ð D€€ € ’ SSÔ¢\þ®A €òРDþêyÐ'¿üпü€€ € ’ SSÔ¢\þ®. €ßпüþ뀢 €€Ð¿üþë €¢ €€  &’ SSÔ¢\þ® &€ÆÐ H€¢ €€  Œ’ SSÔ¢\þ® Œ€·Ð L€€€Ð L€¢ €€Ð L€¢ €€Ð P€€€Ð P€¢ €€ 'Ð’ SSÔ¢\þ­ß'ЀпüÒ H” ÿÃüÐ'¿øÐ¿ø€€€Q Ð'¿œÐ¿üÒ&üпüÿ•’Ð'¿¤Ð¿üÒ'пüÿ•ŒÐ'¿¨À'¿¬À'¿°À'¿¼ÿÃÂÐ'¿øÐ¿üÐ&ÄÒ¿üÒfÈ–¿œ”!=@†Ô¿øÐ" Ð¿ø’ Ò"пøÒ HÒ" пøÀ" пøÀ" пøGå`Ìå" $пø’ Ò" (пøGç`Ðç" ,пøGé`Ôé" 0пøGë`Øë" 4пøGí`Üí" 8пøGï`àï" @пøGñ`äñ" <пø ÿûüпüÒ¿øÿÃ#пøÒ LÒ" пøÒ PÒ" РL€¢ € €Ð L€¢ €€Ð¿øÒ¿øÔ`$Ô" \пø’ Ò" РP€€€Ð¿øÒ \Ò'¿˜Ð¿˜Ð'¿”–¿”Ò¿ø” пü˜ š?ÿ@e€Ð¿øÀ"  €°Çàè?ÿÿ‚c0ã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ YSÔ¢\þ­1 €%РD€€ € ’ YSÔ¢\þ­" €Ð DþéZÐ'¿üпü€€ € ’ YSÔ¢\þ­ €Ð¿üþéô€¢ €€Ð¿üþé쀢 €€  &’ YSÔ¢\þ¬ö &€êРH€¢ €€  Œ’ YSÔ¢\þ¬ç Œ€ÛпüÒ H” ÿÃÐ'¿øÐ¿ø€€€S Ð'¿œÐ¿üÒ&üпüÿ”šÐ'¿¤Ð¿üÒ'пüÿ””Ð'¿¨À'¿¬À'¿°À'¿¼ÿÂÊÐ'¿øÐ¿üÐ&ÄÒ¿üÒfÈ–¿œ”!=@ÁŽÔ¿øÐ" Ð¿ø’ Ò"пøÒ HÒ" пøÀ" пøÀ" пøGó`èó" $пø’ Ò" (пøGõ`ìõ" ,пøG÷`ð÷" 0пøGù`ôù" 4пøGû`øû" 8пøGý`üý" @пøGÿaÿ" <пø ÿûпüÒ¿øÿÂ+€Ð¿øÒ € €€  ’ YSÔ¢\þ¬z €nРD’ ÿ,VпøÒ¿øÔ`$Ô" \пøÒ € €€Ð¿øÒ \Ò'¿˜Ð¿˜Ð'¿”–¿”Ò¿ø” пü˜ š?ÿ@kпø’ Ò" пüÐ&Äÿ–ÑпøÀ" пøÀ" пøÒ € €€Ð¿øÒ € €€ ¿üGÔ¡’ ÿ¬A¿ÿìпüÐ&Äÿ–ÜпøÀ" пøÒ € €€Ð¿øÒ \Ò'¿˜Ð¿˜Ð'¿”–¿”Ò¿ø” пü˜ š?ÿ@0пøÒ €¢`€€Ð L’ Ò"€Ð LÀ"РLÒ¿øÔ`tÔ"  €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ _SÔ¢\þ«î €sРD€€ € ’ _SÔ¢\þ«ß €dРDþèÐ'¿üпü€€ € ’ _SÔ¢\þ«Ì €Qпüþè±€¢ €€Ð¿üþè©€¢ €€  &’ _SÔ¢\þ«³ &€8РH€¢ €€  Œ’ _SÔ¢\þ«¤ Œ€)пüÒ H” ÿÁÁÐ'¿øÐ¿ø€€ €Ð¿øÒ €¢`€€  Ž’ _SÔ¢\þ«ˆ Ž€ РD’ ÿ+dпøÒ tÔ LÒ"€ €°Çàè?ÿÿ‚cã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ »SÔ¢\þ«] €ÎРD€€ € ’ »SÔ¢\þ«N €¿Ð Dþç†Ð'¿üпü€€ € ’ »SÔ¢\þ«; €¬Ð¿üþè €¢ €€Ð¿üþ耢 €€  &’ »SÔ¢\þ«" &€“РH€¢ €€  Œ’ »SÔ¢\þ« Œ€„пüÒ H” ÿÁ0Ð'¿øÐ¿ø€€€)РLÀ"РLÀ" РL’ Ò" РLGÁaÁ" РLGÃaÃ" РLGÅaÅ" РLGÇaÇ" РLGÉa É" РLGËa$Ë" $РLGÍa(Í" РLÀ" (€Nпø’ Ô L  , ¤ Ø@¿ÿþØ"€€Ð¿øÒ <Ò'¿ô€Ð¿øÒ <Ò'¿ô€Ð¿øÒ <Ò'¿ô€GÏ!(Ï'¿ô€Ð¿øÐ (€¢ ¿ÿ逢 ¿ÿ뀢 ¿ÿí¿ÿðпøÒ H€ €€Ð¿øÑ `Ò LÓ`•¢H¨Ô¿ø× L™¢‰+Û¿ô£-Ö LÝ"à€Ð¿øß dÒ Lá`£¤¯Ô¿øå L§¤I2é¿ô«¤È4Ö Lë"à €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LQÐ"€€€  ’ †SÔ¢\þªx €‚РDþæÞÐ'¿üпü€€€  ’ †SÔ¢\þªe €oпü€¢ €€  &’ †SÔ¢\þªV &€`РH€¢ €€  Œ’ †SÔ¢\þªG Œ€QРL’ Ò" РLÐ ‘* ÿ)ÇÒ LÐ"`РLÒ € €€Ð Lÿ)ù!,’ †SÔ¢\þª*!,€4À'¿øÐ¿ø€¢ €€Ð LÒ Ô¿ø—* Ø¿øš Ú"@ пø Ð'¿ø¿ÿðGí!,Ò Lí"@РLGïa0ï" РLGña4ñ" РLGóa8ó" РLGõa<õ" РLG÷a@÷" РLGùaDù"  €°Çàè?ÿÿ‚c8ã€ð' Dò' Hô' Lö' Pø' Tú' Xô' LРHÒ ,Ò'¿ðРHÒ 8Ò'¿ôРDû'ý¿ð¿§‰=Ò DÁgƒ§È … !GÉ¡H ˆD FÏ# `Ö `—*à—:àÖ7¿ÄРDÑ' Ó¿ô•¢I(Ò D×g™¢ˆ+Ô DÛ¦ð£H¬¡ .GåáH©¤R« Të# `Ø `™+ ™; Ø7¿ÆÐW¿ÄÐ7¿ØÐW¿ÆÐ7¿ÚРHÒ 0Ò'¿ðРHÒ 4Ò'¿ôРDí'ï¿ð±¥É6Ò Dógµ¦9¹ :Gý¡H§^ƒ @Ã# `Ö `—*à—:àÖ7¿ÄРDÅ' Ç¿ô‰ É"Ò DËg¡%Ô DϦð‘¡È¦• (GÙáH¢ˆLŸ Nß# `Ø `™+ ™; Ø7¿ÆÐW¿ØÒW¿Ä”"@Ô7¿ÜÐW¿ÚÒW¿Æ”"@Ô7¿ÞРHÒ H€¢`€€+РHá lÒ Pã`¬J° €€Ð HÒ lÒ'¿´€Ð Hå dÒ Pç`¬Ê² €€Ð HÒ dÒ'¿°€Ð PÒ Ò'¿°Ð¿°Ð'¿´Ð¿´Ð'¿¸€)РHé hÒ Pë@­J´ €€Ð HÒ hÒ'¿¬€Ð Hí `Ò Pï@­Ê¶ €€Ð HÒ `Ò'¿¨€Ð PÒÒ'¿¨Ð¿¨Ð'¿¬Ð¿¬Ð'¿¸Ð¿¸Ð'¿øÐ HÒ € €€ö€è€Ð DÒ&üРDÿæ”Ò DÐfÄÖ HÒà@½¸Ð¿ÞÐ# \Ò DÐfÄÔ DÒ¦ÈÖ HÔàÖW¿ØØW¿ÚÚ¿Ü@¾bРDÒ'РDÿ͔ҠDÐfÄÖ HÒà@½ŸÐ HÒ H€¢`€€ РHÒ `Ò'¿¤Ð HÒ \Ò'¿ €Ð HÒ \Ò'¿¤Ð HÒ dÒ'¿ Ð Hñ T󿤵¦H¸õ'¿èРH÷ Xù¿ »§;û'¿ìРDý'ÿ¿è§É>Ò DÃg… !‰ "GÍ¡H‘¡F“ HÓ# `Ö `—*à—:àÖ7¿ÀРDÕ' ׿왢É*Ò DÛg£-Ô Dߦð¡£È®¥ 0GéáH­¤ˆT¯ Vï# `Ø `™+ ™; Ø7¿ÂÐW¿ÀÐ7¿ÈÐW¿ÂÐ7¿ÊРHñ T󿤵¦H8õ'¿àРH÷ Xù¿ »§»û'¿äРDý'ÿ¿à§É>Ò DÃg… !‰ "GÍ¡H‘¡F“ HÓ# `Ö `—*à—:àÖ7¿¼Ð DÕ' ׿䙢É*Ò DÛg£-Ô Dߦð¡£È®¥ 0GéáH­¤ˆT¯ Vï# `Ø `™+ ™; Ø7¿¾ÐW¿ÈÒW¿¼”"@Ô7¿ÌÐW¿ÊÒW¿¾”"@Ô7¿ÎРDñ'Ò Hó``µ¦I8Ô D÷§¹¦ˆ;½ <GÁáH…§ˆ@‡ BÇ# `Ø `™+ ™; Ø7¿ÀРDÉ' Ò HË`d¡I$Ô Dϧ‘¡ˆ'Ö DÓæð•¢H¨™ *GÝ!H¡£N£ Pã# `Ú `›+`›;`Ú7¿ÂРDå'Ò Hç`h©¤É2Ô Dë§­¥5± 6GõáH¹¦Z» \û# `Ø `™+ ™; Ø7¿¼Ð Dý' Ò Hÿ`l§É>Ô Dç… !Ö DÇæð‰ È¢ $GÑ!H•¡ˆH— J×# `Ú `›+`›;`Ú7¿¾ÐW¿¾Ð# \Ò DÐfÄÔ DÒ¦ÈÖ HÔàÖW¿ÀØW¿ÂÚW¿¼@½—пÎÐ# \Ò DÐfÄÔ DÒ¦ÈÖ HÔàÖW¿ÈØW¿ÊÚ¿Ì@½o€€ РHÐ (€¢ ¿þ퀢 ¿þê¿ÿö€Ö€Ð DÒ'РDÿȔҠDÐfÄÖ HÒà@¼šÐ¿ÞÐ# \Ò DÐfÄÔ DÒ¦ÈÖ HÔàÖW¿ØØW¿ÚÚ¿Ü@½D€€ РHÐ (€¢ ¿ÿà€¢ ¿ÿÝ¿ÿö€«€Ð DÒ&üРDÿ”Ò DÐfÄÖ HÒà@¼oРHÒ H€¢`€€ РHÒ `Ò'¿¤Ð HÒ \Ò'¿ €Ð HÒ \Ò'¿¤Ð HÒ dÒ'¿ Ð HÙ TÛ¿¤£H¬Ý'¿èРHß Xá¿ £¤/ã'¿ìРDå'ç¿è©¤É2Ò Dëg­¥5± 6Gõ¡H¹¦Z» \û# `Ö `—*à—:àÖ7¿ÀРDý' ÿ¿ì§É>Ò DÃg… !Ô DǦð‰ È¢ $GÑáH•¡ˆH— J×# `Ø `™+ ™; Ø7¿ÂÐW¿ÀÐ7¿ÐÐW¿ÂÐ7¿ÒРHÙ TÛ¿¤£H,Ý'¿àРHß Xá¿ £¤¯ã'¿äРDå'ç¿à©¤É2Ò Dëg­¥5± 6Gõ¡H¹¦Z» \û# `Ö `—*à—:àÖ7¿¼Ð Dý' ÿ¿ä§É>Ò DÃg… !Ô DǦð‰ È¢ $GÑáH•¡ˆH— J×# `Ø `™+ ™; Ø7¿¾ÐW¿ÐÒW¿¼”"@Ô7¿ÔÐW¿ÒÒW¿¾”"@Ô7¿ÖРHÒ H€¢`€€ РHÒ `Ò'¿¤Ð¿øÐ'¿ €Ð¿øÐ'¿¤Ð HÒ dÒ'¿ Ð HÙ TÛ¿¤£H¬Ý'¿èРHß Xá¿ £¤/ã'¿ìРDå'ç¿è©¤É2Ò Dëg­¥5± 6Gõ¡H¹¦Z» \û# `Ö `—*à—:àÖ7¿ÀРDý' ÿ¿ì§É>Ò DÃg… !Ô DǦð‰ È¢ $GÑáH•¡ˆH— J×# `Ø `™+ ™; Ø7¿ÂÐW¿ÀÐ7¿ÈÐW¿ÂÐ7¿ÊРHÙ TÛ¿¤£H,Ý'¿àРHß Xá¿ £¤¯ã'¿äРDå'ç¿à©¤É2Ò Dëg­¥5± 6Gõ¡H¹¦Z» \û# `Ö `—*à—:àÖ7¿¼Ð Dý' ÿ¿ä§É>Ò DÃg… !Ô DǦð‰ È¢ $GÑáH•¡ˆH— J×# `Ø `™+ ™; Ø7¿¾ÐW¿ÈÒW¿¼”"@Ô7¿ÌÐW¿ÊÒW¿¾”"@Ô7¿ÎРDÙ'Ò HÛ``£I,Ô Dß§¡£ˆ/¥ 0GéáH­¤ˆT¯ Vï# `Ø `™+ ™; Ø7¿ÀРDñ' Ò Hó`dµ¦I8Ô D÷§¹¦ˆ;Ö Dûæð½§H¼ >GÅ!H‰ B‹ DË# `Ú `›+`›;`Ú7¿ÂРDÍ'Ò HÏ`h‘¡É&Ô DÓ§•¢)™ *GÝáH¡£N£ Pã# `Ø `™+ ™; Ø7¿¼Ð Då' Ò Hç`l©¤É2Ô Dë§­¥5Ö Dïæð±¥È¶µ 8Gù!H½¦ˆ\¿ ^ÿ# `Ú `›+`›;`Ú7¿¾Ð¿ÖÐ# \Ò DÐfÄÔ DÒ¦ÈÖ HÔàÖW¿ÐØW¿ÒÚ¿Ô@»ÏРDÒ'РDÿŽ:”Ò DÐfÄÖ HÒà@» ÐW¿¾Ð# \Ò DÐfÄÔ DÒ¦ÈÖ HÔàÖW¿ÀØW¿ÂÚW¿¼@»ÑпÎÐ# \Ò DÐfÄÔ DÒ¦ÈÖ HÔàÖW¿ÈØW¿ÊÚ¿Ì@»©€€ РHÐ (€¢ ¿þp€¢ ¿þm¿ÿö€€Ð L€¢ ¿ý€¢ ¿þ3€¢ ¿þ[¿ÿôРL€¢ €€xРHÒ¿øÒ" \€fРT€€ €Ð TÒ€¢`€€€dРH’ Ò" РHÁ Lÿø… I Ò HÇ`P‰ ˆ£Ô HÉ" tРHÀ" p€TРHË LÍ¿ø¡‰%Ò HÑ`P“¡È¨Ô HÓ" tРHÀ" p€GРT€€ €Ð TÒ€¢`€€€8 ÿ%tÐ'¿üпü€€€ !,’#ñSÔ¢\þ¥Ü!,€,РHÕ L׿ø™¢É*Ò HÛ`P£­Ô¿üÝ"€Ð HÒ Ô DЀ” Ö¿üØ Xÿ·€€Ð HÐ €¢ ¿ÿ™€¢ ¿ÿµ€¢ ¿ÿ¿¿ÿóРDÐ&Ä@ºZ €°Çàè?ÿÿ‚c ã€ð' Dò' HРDÐ&ÄÒ HÒ`@ºvÇàè?ÿÿ‚c ã€ð' Dò' Hô' LРHÒ Ô L€¢@ €€Ð DÒ HÔ L@º.Çàè?ÿÿ‚c ã€ð' Dò' Hô' Lö' Pø' Tú' XРHÒ $Ô L€¢@ €€Ð HÒ (Ô P€¢@ €€Ð HÒ ,Ô T€¢@ € €Ð HÒ 0Ô X€¢@ €€ РDÒ HÔ LÖ PØ TÚ X@º…Çàè?ÿÿ‚c ã€ð' Dò' Hô' LРHÒ DÔ L€¢@ €€Ð DÒ HÔ L@º»Çàè?ÿÿ‚c ã€ð' Dò' Hô' Lö' PРLÒ'LÔ P€¢€ €€Ð P‘* ’“*` B”¢œØ Ö P—*àš ›+`–À Bžâ –ÀÒ HРD” @º†Çàè?ÿÿ‚c ã€ð' Dò' Hô' LРHÒ @Ô L€¢@ €€Ð DÒ HÔ L@ºƒÇàè?ÿÿ‚c ã€ð' Dò' Hô' LРHÒ dÔ L€¢@ €€Ð DÒ HÔ L@¹ºÇàè?ÿÿ‚c ã€ð' Dò' Hô' Lö' PРLÒR',Ô PÖR€€¢À €€Ð LÒR'.Ô PÖR €¢À €€Ð LÒ'0Ô PÖ €¢À € €Ð LÒ'2Ô PÖ €¢À €€À# \РDÒ H” – Ø Pš @¹ZРL’',Ô PØ€à Ø2`Ø à2`à Ø2`à2`Çàè?ÿÿ‚c ã€ð' Dò' Hô' Lö' PРLÒR'4Ô PÖR€€¢À €€Ð LÒR'6Ô PÖR €¢À €€Ð LÒ'8Ô PÖ €¢À € €Ð LÒ':Ô PÖ €¢À €€À# \РDÒ H” – Ø Pš @¹Ð L’'4Ô PØ€à Ø2`Ø à2`à Ø2`à2`Çàè?ÿÿ‚c ã€ð' Dò' Hô' Lö' PРLÒR'<Ô PÖR€€¢À €€Ð LÒR'>Ô PÖR €¢À €€Ð LÒ'@Ô PÖ €¢À € €Ð LÒ'BÔ PÖ €¢À €€À# \РDÒ H” – Ø Pš @¸ØÐ L’'<Ô PØ€à Ø2`Ø à2`à Ø2`à2`Çàè?ÿÿ‚c ã€ð' Dò' Hô' Lö' PРLÒR'DÔ PÖR€€¢À €€Ð LÒR'FÔ PÖR €¢À €€Ð LÒ'HÔ PÖ €¢À € €Ð LÒ'JÔ PÖ €¢À €€À# \РDÒ H” – Ø Pš @¸—РL’'DÔ PØ€à Ø2`Ø à2`à Ø2`à2`Çàè?ÿÿ‚c ã€ð' Dò' Hô' LРHÒ 4Ô L€¢@ €€Ð DÒ HÔ L@¸zÇàè?ÿÿ‚bàã€ð' Dò' Hô' Lö' Pø' Tú' XQÐ"€€ €QÐ"€¢ €€  ’ NSÔ¢\þ£¼ €±Ð D€€ € ’ NSÔ¢\þ£­ €¢Ð DþßåÐ'¿üпü€€ € ’ NSÔ¢\þ£š €Ð¿üþà€¢ €€Ð¿üþàw€¢ €€  &’ NSÔ¢\þ£ &€vРTÁ Ò TÃ@¨J  €€Ð TÅ Ò TÇ`¨Ê¢ €€  3’ NSÔ¢\þ£b 3€WРH€¢ €€  Œ’ NSÔ¢\þ£S Œ€HРP€¢ € €Ð P€¢ €€  ’ NSÔ¢\þ£> €3GÉ!ØÒ TË@©J¤ €%€Ð¿üÍ Ò TÏ`©Ê¦ €€GÑ!ØÒ TÓ`ªJ¨ €€Ð¿üÕ $Ò T×` ªÊª €€  ‘’ NSÔ¢\þ£  ‘€þ€˜Ð LÒ€ €€Ð LÒ €¢`€€  ˜’ NSÔ¢\þ¢ð ˜€å€ŽÐ XÒ€¢`€€  ’’ NSÔ¢\þ¢Þ ’€ÓРLÒ€ €€Ð LÒ €¢`€€  ˜’ NSÔ¢\þ¢Ç ˜€¼Ð LÒ€ €€Ð LÒ •*`Ö XØàš Þü€€€  ˜’ NSÔ¢\þ¢« ˜€ €IРXÒ€¢`€€  ’’ NSÔ¢\þ¢™ ’€ŽÐ LÒ€ €€Ð LÒ Ô XÖ€€¢@ € €Ð LÒ €¢`€€  ˜’ NSÔ¢\þ¢y ˜€n€€€€Ð P" €¢ ¿ÿû‘* i’bÌР¤L¤°¥Ä¦Œ¦”РP€€€UРP€¢ €€O Ð'¿œÐ¿üÒ&üÒ'¿¤Ð¿üÒ'Ò'¿¨À'¿¬À'¿°À'¿¼GÐ!Ѐ€€9пüÐ&ÄÿŒºÐ¿üÐ&ÄG’b@·‡GÐ"aÐGÐ!Ѐ€€"GÐ!Ô€€€ G’b G”¢H@¶:G"P’`@¶y GÐ"aÔпüÐ&ÄG’bh@·`GÐ"aÐпüÐ&ÄÿŒ°GÐ!ÐÒ Ò'¿ØÐ¿üÒ H” ÿ¸&Ð'¿øÐ¿ø€€€4ÿ·ýÐ'¿øÐ¿ø€€€ !,’ NSÔ¢\þ¡ë!,€àпø’ Ò"пøÒ HÒ" пøÀ" пüÐ&ÄÒ¿üÒfÈ–¿œ”¡=@¶©Ô¿øÐ" Ð¿øÀ" пøÀ" пøÒ¿üÔf Ô" пüÒ¿øÒ"& €Ð¿øÒ € €€  ’ NSÔ¢\þ¡» €°Ð¿üÐ&ÄÒ¿øÒ`–¿œ”¡=@·Ð¿ø’ $Ô LØ€à Ø"`à"`пøÒ PÒ" ,пø’ 0Ô TØ€à Ø"`Ø à"`à  Ø"`à"` пø’ @Ô XØ€à Ø"`Ø à"`à  Ø"`à"` €s€€Ð XÒÒ'¿ŒÐ¿Œ‘* ÿ!Ð'¿dпøÒ¿dÒ" DпdÐ'¿˜Ð¿˜€€€ !,’ NSÔ¢\þ¡r!,€gÀ'¿ˆÐ¿ˆÒ¿Œ€¢ €€Ð¿ˆ“* Ô¿˜Ö XØàÚ¿ˆŸ+`àà"€ пˆ Ð'¿ˆ¿ÿí€L€JРXÒÒ'¿ŒÐ¿Œ‘* ÿ ÙÐ'¿`пøÒ¿`Ò" Dп`Ð'¿”€€ !,’ NSÔ¢\þ¡<!,€1À'¿ˆÐ XÒ Ò'¿Ð¿ˆÒ¿Œ€¢ €€CпҀ €€À'¿\€Ð¿Ð@µ_Ð'¿\п\ ÿ ¦Ò¿”Ð"@п”Ò€ €€ !,’ NSÔ¢\þ¡ !,€Ð¿Ò€ €€Ð¿”ÐÒ¿Ò@@µ>пˆ Ð'¿ˆÐ¿”Ð'¿Xп” Ð'¿”пÐ'¿\п Ð'¿¿ÿºÐ¿øÒ 0Ò'¿tпøÒ <Ò'¿xпüÙ'Û¿t£I,Ò¿üßg¡£ˆ/¥ 0Gé¡à­¤ˆT¯ Vï# `Ö `—*à—:àÖ7¿hпüñ' ó¿xµ¦I8Ò¿ü÷g¹¦ˆ;Ô¿üû¦ð½§H¼ >GÅáà‰ B‹ DË# `Ø `™+ ™; Ø7¿jÐW¿hÐ7¿lÐW¿jÐ7¿nпøÒ 4Ò'¿tпøÒ 8Ò'¿xпüÍ'Ï¿t‘¡É&Ò¿üÓg•¢)™ *GݡࡣN£ Pã# `Ö `—*à—:àÖ7¿hпüå' ç¿x©¤É2Ò¿üëg­¥5Ô¿üï¦ð±¥È¶µ 8Gùáསˆ\¿ ^ÿ# `Ø `™+ ™; Ø7¿jÐW¿lÒW¿h”"@Ô7¿pÐW¿nÒW¿j”"@Ô7¿rРXÒ Ò'¿|п|Ò€ €€À'¿T€Ð¿|Ð@´¹Ð'¿Tп|ÒGÐ!ÐÔ¿T@µÈÐ'¿„ Ð'¿ˆÐ¿|Ð'¿Pп| Ð'¿|пˆÒ¿Œ€¢ €€,п|Ò€ €€À'¿L€Ð¿|Ð@´”Ð'¿Lп|ÒGÐ!ÐÔ¿L@µ£Ð'¿€Ð¿€Ò¿„€¢ €€Ð¿€Ð'¿„пˆ Ð'¿ˆÐ¿|Ð'¿Lп| Ð'¿|¿ÿÑпøÒW¿lÒ2 TпøÒW¿nÒ2 VGÐ!ÐÒ LGÔ¡ÐÖ H˜À š Þ¿øÚ#àXпøÐ XÒ¿Œ@´TÒ¿øÐ"``пøÒ¿„”`Ô" \€Ð P" €¢ ¿þŒ‘* l’`Рª(ª0««« €°Çàè?ÿÿ‚c8ã€ð' Dò' Hô' Lö' Pô' Lö' PQÐ"€€ €QÐ"€¢ €€  ’ TSÔ¢\þŸê €YРD€€ € ’ TSÔ¢\þŸÛ €JРDþÜÐ'¿ Ð¿ €€ € ’ TSÔ¢\þŸÈ €7п þÜ­€¢ €€Ð¿ þÜ¥€¢ €€  &’ TSÔ¢\þŸ¯ &€Ð H€¢ €€  Œ’ TSÔ¢\þŸ  Œ€Ð L€€€Ð L€¢ €€Ð L€¢ €€Ð P€€€Ð P€¢ €€ 'Ð’ TSÔ¢\þŸy'Ѐèп Ò H” ÿµ–Ð'¿œÐ¿œ€€€œÿµmÐ'¿œÐ¿œ€€€ !,’ TSÔ¢\þŸ[!,€Êпœ’ Ò"пœÒ HÒ" пœÀ"  Ð'¿¤Ð¿ Ò&üÒ'¿¬Ð¿ Ò'Ò'¿°À'¿´À'¿¸À'¿ÄGÐ!Ѐ€€9п Ð&Äÿ‰·Ð¿ Ð&ÄG’bp@´„GÐ"aÐGÐ!Ѐ€€"GÐ!耀€ G’bxG”¢ @³7G"¨’`@³v GÐ"aèп Ð&ÄG’bÀ@´]GÐ"aÐп Ð&Äÿ‰­GÐ!ÐÒ Ò'¿àп Ð&ÄÒ¿ ÒfÈ–¿¤”¡=@³ÌÔ¿œÐ" Ð¿œÀ" пœÀ" пœ’ Ò" $пœ’ Ò" (пœ’ Ò" ,пœGÁaìÁ" 0пœÒ¿ Ô` Ô" 4пœGÃaìÃ" 8пœÒ¿ Ô`$Ô" <пœÀ" @пœÒ¿ Ôf Ô" п Ò¿œÒ"& €Ð¿œÒ €¢`€€Ð¿œÒ € €€ п Ò¿œ” – ˜?ÿ@<пœÒ LÒ" пœÒ PÒ" РL€¢ € €Ð L€¢ €€Ð¿œÀ" Pпœ’ Ò" РP€€€ п Ò¿œ” – ˜?ÿ@€Ð¿œÀ"  €°Çàè?ÿÿ‚c8ã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ ZSÔ¢\þžs €mРD€€ € ’ ZSÔ¢\þžd €^РDþÚœÐ'¿ Ð¿ €€ € ’ ZSÔ¢\þžQ €Kп þÛ6€¢ €€Ð¿ þÛ.€¢ €€  &’ ZSÔ¢\þž8 &€2РH€¢ €€  Œ’ ZSÔ¢\þž) Œ€#п Ò H” ÿ´FÐ'¿œÐ¿œ€€€œÿ´Ð'¿œÐ¿œ€€€ !,’ ZSÔ¢\þž !,€Ð¿œ’ Ò"пœÒ HÒ" пœÀ"  Ð'¿¤Ð¿ Ò&üÒ'¿¬Ð¿ Ò'Ò'¿°À'¿´À'¿¸À'¿ÄGÐ!Ѐ€€9п Ð&Äÿˆgп Ð&ÄG’bÈ@³4GÐ"aÐGÐ!Ѐ€€"GÐ!ð€€€ G’bÐG”¢ø@±çG#’`@²& GÐ"aðп Ð&ÄG’c@³ GÐ"aÐп Ð&Äÿˆ]GÐ!ÐÒ Ò'¿àп Ð&ÄÒ¿ ÒfÈ–¿¤”¡=@²|Ô¿œÐ" Ð¿œÀ" пœÀ" пœ’ Ò" $пœ’ Ò" (пœ’ Ò" ,пœGÅaôÅ" 0пœÒ¿ Ô` Ô" 4пœGÇaôÇ" 8пœÒ¿ Ô`$Ô" <пœÀ" @пœÒ¿ Ôf Ô" п Ò¿œÒ"& €Ð¿œÒ € €€  ’ ZSÔ¢\þs €mРD’ ÿOпœÀ" PпœÒ € €€ п Ò¿œ” – ˜?ÿ@Ýпœ’ Ò" п Ð&Äÿ‡ÒпœÀ" пœÀ" пœÒ € €€Ð¿œÒ € €€ ¿ GÔ¡ø’ ÿB¿ÿìп Ð&Äÿ‡ÝпœÀ" пœÒ € €€ п Ò¿œ” – ˜?ÿ@¨Ð¿œÒ €¢`€€Ð L’ Ò"€Ð¿œÒ P€ €€ Ð'¿˜€À'¿˜Ð LÒ¿˜Ò"РLÒ¿œÔ`PÔ"  €°Çàè?ÿÿ‚cã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ `SÔ¢\þœè €‚РD€€ € ’ `SÔ¢\þœÙ €sРDþÙÐ'¿üпü€€ € ’ `SÔ¢\þœÆ €`пüþÙ«€¢ €€Ð¿üþÙ£€¢ €€  &’ `SÔ¢\þœ­ &€GРH€¢ €€  Œ’ `SÔ¢\þœž Œ€8пüÒ H” ÿ²»Ð'¿øÐ¿ø€€ €Ð¿øÒ €¢`€€  Ž’ `SÔ¢\þœ‚ Ž€Ð D’ ÿ^пøÒ P€ €€ Ð'¿ô€À'¿ôРLÒ¿ôÒ"РLÒ¿øÔ`PÔ"  €°Çàè?ÿÿ‚cpã€ð' Dò' Hô' LQÐ"€€ €QÐ"€¢ €€  ’ zSÔ¢\þœH €8РD€€ € ’ zSÔ¢\þœ9 €)РDþØqÐ'¿üпü€€ € ’ zSÔ¢\þœ& €Ð¿üþÙ €¢ €€Ð¿üþÙ€¢ €€  &’ zSÔ¢\þœ  &€ýРH€¢ €€  Œ’ zSÔ¢\þ›þ Œ€îпüÒ H” ÿ²Ð'¿øÐ¿ø€€€#РLÀ"РLÀ" РL’ Ò" РL’ Ò" РL’ Ò" РLGÉbÉ" РLÒ¿üÔ` Ô" РLGËbË" РLÒ¿üÔ`$Ô" РLÀ" $€¾Ð¿ø’ Ô L  4 ¤ Ø@¿ÿþØ"€€¤€²Ð¿øÒ @Ò'¿èпè‘* ÿFÐ'¿àРLÒ¿àÒ" (пàÐ'¿ôпô€€€ !,’ zSÔ¢\þ›©!,€™À'¿äпäҿ耢 €€Ð¿ä“* Ô¿ôÖ¿øØàDÚ¿äŸ+`àà"€ пä Ð'¿ä¿ÿí€~€|пøÒ @Ò'¿èпè‘* ÿÐ'¿ÜРLÒ¿ÜÒ" (пÜÐ'¿ìпøÒ DÒ'¿ðп쀀€ !,’ zSÔ¢\þ›p!,€`À'¿äпäҿ耢 €€CпðÒ€ €€À'¿Ø€Ð¿ðÐ@¯–Ð'¿ØÐ¿Ø ÿÝÒ¿ìÐ"@пìÒ€ €€ !,’ zSÔ¢\þ›C!,€3пðÒ€ €€Ð¿ìÐÒ¿ðÒ@@¯uпä Ð'¿äпìÐ'¿Ôпì Ð'¿ìпðÐ'¿ØÐ¿ð Ð'¿ð¿ÿº€Ð¿øÐ ," €¢ ¿ÿZ‘* q’`Ð ÂÁLÁTÂ,Â$Â$ €°Çàè?ÿÿ‚c˜ã€ð' Dò' Hô' LQÐ"€€€  ’ €SÔ¢\þšù €tРDþ×_Ð'¿üпü€€€  ’ €SÔ¢\þšæ €aпü€¢ €€  &’ €SÔ¢\þš× &€RРH€¢ €€  Œ’ €SÔ¢\þšÈ Œ€CРL’cÿÒ"РL’ Ò"  ÿFÒ LÐ"`РLÒ € €€ !,’ €SÔ¢\þš¬!,€'РLÒ ” Ô"@РLÒ ” Ô"`РLÒ ” Ô"`РLGÍbÍ" РLGÏbÏ" РLGÑbÑ" РLGÓb Ó" РLÀ" РLÀ" РLÀ" $ €°Çàè?ÿÿ‚c`ã€ð' Dò' Hô' Lö' Pø' Tô' LРHÒ 0Ò'¿øÐ HÒ <Ò'¿üРDÕ'׿ø™¢É*Ò DÛg£-¡ .G墩¤R« Të# `Ö `—*à—:àÖ7¿ìРDí' ï¿ü±¥É6Ò Dógµ¦9Ô D÷¦ð¹¦Èº½ <GÁâ…§ˆ@‡ BÇ# `Ø `™+ ™; Ø7¿îÐW¿ìÐ7¿ðÐW¿îÐ7¿òРHÒW¿ðÒ2 TРHÒW¿òÒ2 VРHÒ 4Ò'¿øÐ HÒ 8Ò'¿üРDÉ'Ë¿ø¡I$Ò DÏg‘¡ˆ'• (GÙ¢¢ˆLŸ Nß# `Ö `—*à—:àÖ7¿ìРDá' ã¿ü¥¤I0Ò Dçg©¤ˆ3Ô Dë¦ð­¥H´± 6Gõ⹦Z» \û# `Ø `™+ ™; Ø7¿îÐW¿ðÒW¿ì”"@Ô7¿ôÐW¿òÒW¿î”"@Ô7¿öÀ# \РDÐ&ÄÒ HÒ`˜¿ð” – š @®¡€^€í€øÐ HÒ @Ò'¿àРDÒ&üРDÿÀ”Ò DÐfÄÖ HÒà@®’РHÒ `”`Ô# \Ö DÐæÄØ DÒ&ÈÚ HÔ`Þ HÖSàTà HØT Vâ HÚ`\š`@¯6РHÒ DÒ'¿ÜРHÒR T”`Ô7¿èРHÒR V”`Ô7¿êÀ'¿äпäÒ¿à€¢ €€²Ð¿ä’ Ô HÖ P€¢À €€NРDÒ&üРDÿ…”Ò DÐfÄÖ HÒà@®WРHÒ XÒ# \Ô DЦÄÖ DÒæÈØ HÔ Ú HÚ`\ØW¿êÖW¿è@®ÿРDÒ'РDÿj”Ò DÐfÄÖ HÒà@®<пÜÒ€ €€ пÜÐ@­ÎÐ'¿Ì€À'¿ÌпÌÐ# \Ò DÐfÄÔ DÒ¦ÈÖ HÔàÖW¿è–àGØ!ÐÚ HØW¿ê˜ ˜ Þ¿ÜÚÀ@®Ó€LРDÒ'РDÿ9”Ò DÐfÄÖ HÒà@® РHÒ XÒ# \Ô DЦÄÖ DÒæÈØ HÔ Ú HÚ`\ØW¿êÖW¿è@®³Ð DÒ&üРDÿ”Ò DÐfÄÖ HÒà@­ðпÜÒ€ €€ пÜÐ@­‚Ð'¿Ì€À'¿ÌпÌÐ# \Ò DÐfÄÔ DÒ¦ÈÖ HÔàÖW¿è–àGØ!ÐÚ HØW¿ê˜ ˜ Þ¿ÜÚÀ@®‡Ð¿ä Ð'¿äРHÒ XÔW¿ê”€ •* •: Ô7¿êпÜÐ'¿ÌÐ¿Ü Ð'¿Ü¿ÿK€€Ð HÐ ,€¢ ¿ÿ€¢ ¿ÿ€¢ ¿ÿ¿ÿó€n€'€2РDÒ'РDÿ€Ç”Ò DÐfÄÖ HÒà@­™Ð HÒ `”`Ô# \Ö DÐæÄØ DÒ&ÈÚ HÔ`Þ HÖSàTà HØT Vâ HÚ`\š`@®=€€Ð HÐ ,€¢ ¿ÿØ€¢ ¿ÿÕ€¢ ¿ÿÔ¿ÿó€8À'¿Ð€ŸÐ PÒ€¢`€€$–¿Ô’ РP” ˜ @®%пÔ?’c¾€¢ €€Ð¿Ô?’cà€¢ €€ РHÒ¿Ô?”£½–"@ Ö" P Ð'¿Ð€À'¿Ð€Ð PÒ€¢`€€9–¿Ô’ РP” ˜ @­úпÔ?’c¾”" Ô'¿äпÔ?’c¾€¢ €€$пÔ?’cà€¢ €€Ð HÒ @Կ䀢€ €€Ð HÒ DÔ¿ä—* Ø@ €£ €€ РHÒ¿ä”`Ô" P Ð'¿Ð€À'¿Ð€AРHÒ @Ò'¿àРHÒ DÒ'¿ÜРHÒR T”`Ô7¿èРHÒR V”`Ô7¿ê?ÿÐ'¿äпäÒ¿à€¢ €€Ð PÒ $ÔW¿ê€¢@ €€€Ð¿ä Ð'¿äРHÒ XÔW¿ê”€ •* •: Ô7¿ê¿ÿåÐ¿ä’ Ô HÖ P€¢À €€€ РHÒ P€ €€kРHÐ P" Ò HÒ`X@¬MÔ HÖR V˜Àš Ú7¿êРHÒ € €€XРDÒ'РDÿÕ”Ò DÐfÄÖ HÒà@¬§Ð HÒ XÒ# \Ô DЦÄÖ DÒæÈØ HÔ Ú HÚ`\ØW¿êÖW¿è@­OРDÒ&üРDÿº”Ò DÐfÄÖ HÒà@¬ŒÐ HÒ P•*`ֿܘÀ Ú?ü€ €€ РHÒ P•*`ֿܘÀ Ð?ü@¬Ð'¿Ì€À'¿ÌпÌÐ# \Ò DÐfÄÔ DÒ¦ÈÖ HÔàÖW¿è–àGØ!ÐÚ HØW¿ê˜ ˜ Þ HààP£, ä¿Ü¦€Úÿü@­Ð¿ä€€ €Ð¿äÒ¿à€¢ €€À'¿Ì€Ð¿ä’ Ò'¿ÌРHÒ¿ÌÒ" PРHÒ P€ €€kРHÐ P" Ò HÒ`X@«ÇÔ HÖR V˜Àš Ú7¿êРHÒ € €€XРDÒ&üРDÿO”Ò DÐfÄÖ HÒà@¬!РHÒ XÒ# \Ô DЦÄÖ DÒæÈØ HÔ Ú HÚ`\ØW¿êÖW¿è@¬ÉРDÒ'РDÿ4”Ò DÐfÄÖ HÒà@¬Ð HÒ P•*`ֿܘÀ Ú?ü€ €€ РHÒ P•*`ֿܘÀ Ð?ü@«Ð'¿È€À'¿ÈпÈÐ# \Ò DÐfÄÔ DÒ¦ÈÖ HÔàÖW¿è–àGØ!ÐÚ HØW¿ê˜ ˜ Þ HààP£, ä¿Ü¦€Úÿü@¬‘€€Ð HÐ ,€¢ ¿þ`€¢ ¿þˆ€¢ ¿þÅ¿ÿó€lРPÒ€¢`€€Ð PÒ€¢`€€Ð¿Ð€¢ €€ РH’ Ò" РDÐ&Ä’ @¬w€[€YРPÒ€¢`€€Ð PÒ€¢`€€<пЀ¢ €€6 ÿvÐ'¿ØÐ¿Ø€€€ !,’#èSÔ¢\þ–Þ!,€IРDÐ&Ä’ @¬GРHÒ P€ €€ Ð'¿Ì€À'¿ÌпØÒ¿ÌÒ"пØÒ HÔ`PÔ" РHÒ Ô DЀ” Ö¿ØØ Tÿ¨€Ð HÐ €¢ ¿ÿ“€¢ ¿ÿ®€¢ ¿ÿ­¿ÿ‹€€Ð L€¢ ¿ü¢€¢ ¿ý›€¢ ¿ýοÿôРDÐ&Ä@«? €°Çàè?ÿÿ‚cã€ð' Dò' HРDÐ&ÄÒ HÒ`@«[€,€9РHÐ DÿG€3РHÒ DÒ'¿øÀ'¿üРHÒ @Ô¿ü€¢€ €€Ð¿øÐÿ5пü Ð'¿üпøÐ'¿ôпø Ð'¿ø¿ÿìРHÐ Dÿ'€€Ð HÐ ," €¢ ¿ÿú‘* u’c Ð ÂÖLÖTÖlÖlÇàèÃà * Ð; HÃàÁ H * ” € €Ð; HÃàÁ Hã¿@! ¢.%úH¤¡û€¤@€’”@V–Çàè!ü€¤@€”¿ðð?¿øÁ¿ø¿ÿø À@   ¡, пð%u¤£ìÄ€@AÔ¿ø¿ÿë@9Ô¿ø¿ÿç  @9Ô¿ø¿ÿã  @1Ô¿ø¿ÿßã¿@! ¢.%úH¤¡û€¤@€’”@"–Çàè!ü€¤@€”¿ðð?¿øÁ¿ø¿ÿø À@p  ¡, пð%v¤ ¬Ä€@ Ô¿ø¿ÿë@ Ô¿ø¿ÿç@Ô¿ø¿ÿã  @Ô¿ø¿ÿß  ã¿@ð?¿ø+ ¢.Á¿ø!G #È%ñ€¤@€%€¤@6€…  @‰ @€EÁ %È€¤@&€ Õ Õ 0• ‰JÑ (•¢J• ‰JÍ •¡ˆJ• ‰JÑ •¢Jô?¿ð• ‰JÉ €2¡J@ÿà @À'¿ìÐ'¿èñÉ¿è’" “2`   €®€€ Äô?¿ðÉ¿ð€6€ D Ä…  @{”¢xÕ @• ‰JÑ 8•¢J|–àЕ ‰JÝ  ‰NÙ £N|˜#H ‰NÍ ¡ˆNÑ€   N•¢ JÍ ¡‰N•£ˆÊÙÀ •£Ê¢JÇàèã¿@ !H  8¢.úH!û€¤@ð>€4€ â&€&€À&  !€¦@8€â&€À& À&  €Ê° ¶!|+Hªa¨€¤@€$ê@ €¥`€Á€4€Å (Å 0‰ ÂþH”¡û€¤@ "€Í HÍ 8¥¡Æ…¡Ò€©© ˆÆ‰¡ÆÕ P¥¡Ê…¡Ò€£© ˆÊ¥ Â€ é Å 0 ÂÉ H¥ Ä… Ò€™© ˆÄNH!û€¤@4€QüÁ€Å …  BÉ … ˆD B“4`‘ Õ 0•¢ JÍ'¿ø• Ê€¥`4€<Ù @"€:Ù HÙ 8™¢ L¥¢ˆÌå&€Ô€•2 ” §ÿ”"@ €¢ €1€¢ #€ á H *ƒ +¡¢ P• Й Ê™£ÐÝ P¢ N™£ˆÌ€$¥¢ˆÌ¡¢ P•¢ˆÐÝ P™¢ N¥¢ˆÌå&€Ô€•2 ” §ÿ”"@ €¢ 1€€¢ D€ á X *ƒ +¡¢ P• РÊ™£ˆÐÉ `‰¢ D™¡Ì€ ¥¢ˆÌ¡¢ P•¢ˆÐÝ `™¢ N€¥¢ˆÌ™¢ L¥¢ˆÌ¡¢ˆÒпø€E©¤Ì€¤@€•4`Á€ ÀÁ>€Á> €D° ”"¤“* ’$@ Ò&€Á€… @í ‰  ÄÑ •¢ FÉ?¿à… J‰ ¢ˆÄ¢ FÉ?¿è¨ V€ – © V€€– Á?¿ð– '  ’˜ €¥`€w€šaì€w€šbôwšcü@耀°° Ò€Ô  ’@ ”€ Ò&€€ Ô& €€°¥ ²© ´° å>€é> Çàè@(#)_TBL_ipio2.c 1.4 91/02/11 SMI¢ùƒnND)ü'WÑõ4ÝÀÛb•™<CAþQc«Þ»Åa·$n:BMÒàI.ê Ñ’þë±)§>è‚5õ.»D„éœp&´_~A9‘Ö9ƒS9ôœ„_‹½ù(;ø—ÿÞ˜ï/‹Z mm6~Ï'Ë ·OF?fž_ê-u'ºÇëåñ{=9÷ŠR’êkû_±]V0Fü{k«ðϼ šô6©ã‘a^æe™…_ h@ÿØ€Ms'1VÊs¨É`â{ÀŒk¢ùƒnND*+Ä ¢v¾ÔÁýù\Õºv|ì€ÖÂ`S:p|*öŽéh{z¹ª8ÞK–Ïó’s^‹4ö[ü'øŽ©>Å9X¥>]U¨[J‹¤.Ñ5X ö#GE ¹‹Ê÷褢åÕi¼Rð8 ˆþ‡g5»}MÆöB²~€a‘¿¶·PRwnÖÐ`}Ìh¿¯íiün³ÒU}%½û>J¡„G-‹v÷w@ÒßìŒE¥ÃaïÅçèØœö!D)„(n]¢ùƒnNDóÄêiµÓá1`áÒט*À1õÖ{Ìýu`‘›? »a*»qO›ÚŠÀYHÐ#ôZú7QcÍzÀGJö¦óRá\9':ÚEN-µdèÄ'J[·JÜe‘("¾Gqõ¦?ƒ½5$ˆÊá¾BÂh%i*û‘h­áJBå›ãW·–uÎ™Šƒ¯‹æEæß‰ž—Gªÿ5Œ?¯1Ar£÷+ñÔó­–}uŸ%Î)ûi±´,Ã-ጠ½1ì/” &…Üçe?óo§ z_ã½HHð' D” Äò' Hø' T¹/ ú' XÐ!¨è €€€¢ € €¢ "€ H€’ H Ø €Ð'¿üH€!!0  Ð'¿ü’ @¨7& €¸&à€Ð'¿øÀ'¿øÐ¿ø°‡‘* “*   ´&€ô'¿ôô¿ø¶ €´&€Ð X³. ²º¿P€6€Á@H!Hý€ÿ ½ ¶à€¦Àý'@´ ²`ÿ'`¿ÿñº`€æ D€@² Hù!h½ <€´ €1¿ = €¢¶€º’'@“*`”¿P”@ ̀ϠÓàÑÀ‘¢ F’ ’'@ “*`–¿P–@ ½§ˆHÙÀÛàßà ÝࣉL´  €¢¶à¿ÿè½§ˆN€¦€4€“.`’'@“*`”¿P”@ å€ç ëàéÀ©¥ R¶à´ ¿ÿò½§ˆT“.`¾°’@ý"@²`€¦@¿ÿÆÿ"`Hõ!hHù!pù?½¸Hý!xý?½°HÁ!€@Ð'½¤?ÿ#ÿÐ'½ ÿ#ÿÐ'½œÿ#ÿÐ'½˜Ò¿ô " Ð'½” " Ð'½¤Á?½¨“, ¾°’@ù@û`€€´¶¾`H!`ÅÇ … ‰\H!XÑÓ ‹ B¾¨“. ½ ’@´& ‘¢ ^€¹§È› \Û&ÀÝ@ß`¹£ˆ^¿ÿé¶àù; xРxÒ |Ô¿ôõ; `@˜ý; p齸©  T° é# xРxë# xÒ x@äÁ; hí½°­¥‰@ù hõ `­§Öƒ VÃ# pî pî# pÅ p½ Ð¿ô€€½¥ˆÞµ, ¾\´€ö€Ò½Ô€·>À “.À ”"€ Ô&€ô€ð½”®À€±>€Ð¿ô€2€Í½¨±, ¾\ð€±> ¯ŠÆ7€° €$€GH€´ ² €®à». ¾`º@ö@€2€Ð½ €"€´ Ð½¤² "Ð'@´ €¦€&¿ÿñ». Ð¿ô€$€€¦ пô€¢ €€¢ "€ µ, €€¦ µ, ¾\´€€Ð½˜¾\´€Ð½œÒ€’ @Ò&€€¦ 2€HH!PÑÓ ½¢Þ€"€HH’aPÐ@Ò`Ô¿ôõ; `@ ý; pý p½§ˆÀõ `H!HÙÛ ¯ŠL#€rH´$ €¦€€ ¶ “. ¾`Ò@´& €¦€¿ÿû¶À €2€dH° %‘* ”¾`Ð €2€ пø° %‘* ”¾`Ð €"¿ÿû° пø² ´ê X·* µ. ».`¬¿P®¾°®@¬€ª@¢€€¦@€A½ :Û@€  ´ Ý%€¿ ;€1ß%  €¢¶€º’'@“*`”¿P”@ á€ã çàåÀ¥¤‰P’ ’'@ “*`–¿P–@ ½§ˆRíÀïàóà ñ౦ V´  €¢¶à¿ÿè½§ˆX€¦€4€²`’'@“*`”¿P”@ Á€Ã ÇàÅÀ… ‰@¶à´ ¿ÿò½§ˆB²`¬ ý%Àª`ÿ%à¿ÿÀ®à¿þ椀Í!h¯ŠF#€Ô¿ôпô¤$ " Ð'¿ô¾`“, Ò@€ 2€1H¿ÿ÷пôý; hРhÒ l@” ¿ !H!X½  ÑÓ ¯ŠÈ'€¯ ^H!`Õ× •¢‰^H!Xáã › J•, ’¾`¤   ¡¤ N­ N½§ˆÐ« ^ë"€ пô“,  Ð'¿ô¾`€í"@“, ¾`ï"@H’aPÐ@Ò`@bÔ¿ô¿ !€´€½  “. ¾`ñ@µ —. ”¾°˜À ¹§‰ZH!`´¦ ù# û# Á à ¿ÿñ½§‰@€€&²HÅ!h» #¹ "½ <´ €¦€¾°¿ =».`ö¿üº@€¸$€€¦€4€”$€Ï`Í@ËàÉÀ‘¡ F´ €¦€¶àº`¿ÿô½§ˆH”$€•* –½À–€ ý"À²¦`¿ÿâÿ"àРT€¢ €­‘* z’b<Ð ÂêLê ê ëTHý!h€€ ´“. ½À’@Ù@Û`½§ˆL´¦ <¿ÿú“. €2€½ ¾Ð Hý"€ÿ" Hý!h€€ ´“. ½À’@å@ç`½§ˆR´¦ <¿ÿú“. €2€¹ ¾¹ >€» ?» ?РH€¤ ù"û" í½À½¥ˆÞ€ ´ ¶½À¶à÷àõÀ½§ˆZ´ €¦€¿ÿû¶à€2€½ ¾Ð Hý" €bÿ" €€´¶½¸». ¶@½Àº@Å@Ç`ÁÀÃའBÍÀÏࡈÞÕ@×`•¢ˆF´& Õ'@€×'`ý&À¿ÿëÿ&à€¤ €´¶½¸». ¶@½Àº@Ý@ß`ÙÀÛལNåÀç।ˆÞí@ï`­¥ˆR´& í'@€¦ ï'`ý&À¿ÿëÿ&àHý!h€¤ € ´“. ½À’@õ@÷`½§ˆZ´& €¦ 6¿ÿù“. €2€… ¾Ô½ÀРHÔ"Ö" Ô½ÈРHÔ" Ö" РHý" €ÿ" ù½À¹ ¼Ð Hù"‡ ?û" Á½È  Ð HÁ" Ã" РHÅ" Ç" ° àÇàèã¿@ð?¿ø+ ¢.Á¿ø!H !Ð%ò@€¤@€%€¤@6€…  @€N‰ @%È€¤@&€ Õ Õ 0• ‰JÑ (•¢J• ‰JÍ •¡ˆJ• ‰JÑ •¢Jô?¿ð• ‰J€®€•  J"€: JÉ¿ð•¡J€6 J@ÿà @À'¿ìÐ'¿èñÉ¿è’" “2`   €®€€ Äô?¿ðÉ¿ð€6€ D Ä…  @|”£HÕ @• ‰JÑ 8•¢J}–á • ‰JÝ  ‰NÙ £N{˜"x ‰NÍ ¡ˆNÑ€   N•¢ JÍ ¡‰N•£ˆJÙÀ •£J€6€¢J‘ ¨¢ÊÇàè@(#)_TBL_cos.c 1.5 91/02/11 SMI?ïœ4 |Ä(?ï—)píp?ï‘ÿ@7M?}„‹6?ï‡L.ìö?ïÃWoÁ2?ï|þÿÞ$?ïvS*w›Ã?ïpkßžÎ?ïje$\¿‰?ïd>þ¸*Í?ï]ùt×5 ?ïW”Œÿg—?ïQM•©È?ïJl½:y?ïC©â<©–?ï<ÇóÑn?ï5ÆheÏø?ï.¥×Sÿí?ï'fžñÇ?ï 0†dŸ?ï‰)i>ò?ïì Ň;?ï /Ù8\~?ïTŸ}î¡?îñA0 /&?îà±ûÀñ?îϧDÕï¡?î¾!Ovï¨?î¬ a»¯O?ç̓?¿)©í?îs> =@?î_T´6éÐ?îJñK*Dœ?î6¶€Ö¥?î ¿I¬ÖÁ?î ñZÛÎ?íô«>½‡^?íÝíPò(Ö?íÆ·ë™Y?í¯ kˆŽƒ?í–è/q©Ü?í~N—á{J?íe?>@@?íK¹áÆà?í1¿|?íPr}”ð?ìülúR­Ÿ?ìáš‚å?ìÅJ¢²—.?ì© ŸÆ} ?ìŒ[øÎ„?ìo9 ‹å;?ìQ¤‹‹^?ì3ž°Ý?ì([}P?ëÖê1”õ?ë–îïX„?ëU:A N?ëÐAb¤Æ?ê̵&öå?ê…íCsà-?ê=}R½Ï?éóhí‘/…?é§µ£je?éZgà ±ý?é „xMÚ÷?è»Z]É?èiw¦Æ?èŠ1‘m]?çÀ‚ åO?çiþÆU!?ço§vx?渘úžû]<Œ[k;tb<ˆ-Fÿ”;¼gÐ?M:žL¼>(Êe$̘¼Œeá3+¼z!r(¼xõ[Äu@±¼|¶a÷>¼†˜È 6Ü´<‚Ñî$±Ô¼¼gÔ$70<=ðí®»W¼Œy‘÷Bæ¼b:ÒŠ4”<‡Í¤?îø<ŒÄ!_VÕ‚¼b“/‰‡¼¶<{”Á˜K¼ˆen©LΔe¼‚&KÅ<è<‰9zý»X¦¼†B‹5FÎ<‡ëÐ/ȼ¼†Œ .Šh3¼rw“ªR7¼V`®Çïck<_èçw漎-Š~g6ļn€ÈÔ+¢¿”tÀR¯6?Ò¸ÝÄ>´Ÿ?Ó3”Ÿ‡?Ó­—iÓØ?Ô&·æžæ–?Ô  ›= ?ÕÏh§z?Õ‘¼Ÿ¢õ—?Ö )‡u?Ö‚Š8×÷?Öù¸ã:U?×qUvB?×çîÈmN?Ø^z‚iI?ØÔ¤§t™/?ÙJkéõFÅ?Ù¿Îè?Ú4ÉÅ Ê?Ú©[c ’w?Ûƒ2?Û‘>0Û¬C?Ü‹±@£?ÜwgìÑž?ÜéÒãÔ¥?Ý[Ê4va?ÝÍL2œš?Þ>VÁX*i?Þ®ètKð?ߎ™çj¼—?à6)9Æ™U?ञ?áÐĶœ;?á|Ž_.í°?áç426WL?âP»“x‹»?â¹êˆB?ã T±H¼O?ã†YtV(+?ãë%ÓlÕ:?äN³Ï8k?ä°üFª·a?åùý{5?åq¦–mY³?åÏü¿ ?æ,ô™!¬y?戊NK/h?X±<¼zâBË™õ¼~8­/l?ñ`Ô'¿ü€Ž`€Á¿ø… ¢ B€”€ü?€¦@ ¿ÿò” €¢€ € ”. €’€€‡€€ˆÅ Á¿ø  BÁ?¿èпèÿÿÐÅ   B€x€€z€¢€ €uÁ/¿àÔ¿à?à”*€ ”€ Ô'¿ÜÀ'¿ØÁ¿ØÁ¿øÅ …  B‘6 ú"@” 8“2 ’ `ü”€ Ö€" Ð'¿ðÕ¿ð‰ ‰J¢‰DÑ (¢Ɖ¢‰F  DÉ?¿èÖ¿è–"À Ö'¿èѿ葢 FÕ (‘¢ˆÈ‰¡‰H ‰Ä &Ø¿à !Ð'¿Ø—3 <˜+ ˜ ˜ ˜ Ø'¿ÜÉ?¿èпè" Ð'¿èտ艡ˆJÁ¿Ü ‰Ä  É?¿èпè" Ð'¿èſ蒂`BÐ?¿èÉ 0˜ Á?¿øÁ/¿Ü‰  Dп܊ €¨ B€ Á¿à @€ $ƒ %É?¿ø€Šà€ Ø¿øÔ¿ü”‚ ˜CØ'¿øÔ'¿ü€Šà€Á¿øÅ¿è BÁ¿ØÇàèÁ¿ø¿ÿý @Á¿øÐ¿ø?ü– €¢À €* €’ €¿ÿñ @пø”– ˜ @¿ÿéã¿`ð' D’ò' HÐ?¿è’ô' Lö' PÐ?¿ð' €¢ €³‘* ’cÐÐ Â8Œà¤è,xÄtÌ$|ÔpÈ xÐä¨ ` ¸  Ð'¿àI!Ð'¿äIÐ Ø” ’@Œ Á?¿ø@–¿à€2€„Á¿øI’a €y  Ð'¿àI!!Ð'¿äIÐ Ø” ’@w Á?¿ø@¿à€2€oÁ¿øI’a&€d Ò PРLIÐ?¿èРDÒ HÔ DÐ?¿ð Ð'¿àI!: Ð'¿äÐ Ø” € *  Ð; Hý HÁ دŠ@#€Iÿ P€ ý L’`€Ð@Ô L ” € * Ò` Ð; Hý Hý?¿ø@Q¿à€2€?Á¿øI’a@” €4  Ð'¿àI!UÐ'¿äI’`hÐ@Ò`Ð?¿ø@=¿à€2€+Á¿ø€& " Ð'¿àI![Ð'¿äI’`hÐ@Ò`Ð?¿ø@,¿à€2€Á¿ø€ " Ð'¿àI!`Ð'¿äIÐ Ø” ’@ Á?¿ø@¿à€2€Á¿ø€ " Ð'¿àI!dÐ'¿äIÐ Ø” ’@ü Á?¿ø@¿à€2€ôÁ¿ø€ï " Ð'¿àI!hÐ'¿äIÐ à” ’@é Á?¿ø@ó¿à€2€áÁ¿øI’ak” €Ö  Ð'¿àI!{Ð'¿äIÐ Ø” ’@Ó Á?¿ø@Ý¿à€2€ËÁ¿øI’a~” €À  Ð'¿àI!Ð'¿äIÐ à” ’@½ Á?¿ø@Ç¿à€2€µÁ¿øI’a“” €ª  Ð'¿àI!£Ð'¿äIÐ Ø” ’@§ Á?¿ø@±¿à€2€ŸÁ¿øI’a¦” €”  Ð'¿àI!¸Ð'¿äIÐ à” ’@‘ Á?¿ø@›¿à€2€‰Á¿øI’a»” €~  Ð'¿àI!ËÐ'¿äIÐ Ø” ’@{ Á?¿ø@…¿à€2€sÁ¿øI’aΔ €h  Ð'¿àI!àÐ'¿äI’`hÐ@Ò`Ð?¿ø@q¿à€2€_Á¿ø€Z " Ð'¿àI!æÐ'¿äIÐ Ø” ’@T Á?¿ø@^¿à€2€LÁ¿øI’aì” €A  Ð'¿àI!ÿÐ'¿äIÐ à” ’@> Á?¿ø@H¿à€2€6Á¿øI’b” €+  Ð'¿àI"Ð'¿äIÐ Ø” ’@( Á?¿ø@2¿à€2€ Á¿øI’b” €  Ð'¿àI"+Ð'¿äIÐ à” ’@ Á?¿ø@¿à€2€ Á¿øI’b1” €ÿ  Ð'¿àI"DÐ'¿äIÐ Ø” ’@ü Á?¿ø@¿à€2€ôÁ¿øI’bJ” €é  Ð'¿àI"_Ð'¿äIÅ ØÅ?¿ø@ô¿à€2€âÁ¿øI’bc” €×  Ð'¿àI"{Ð'¿äI’`hÐ@Ò`Ð?¿øÐ D‘2 €€Ò P@ РLÉ LË P¨ D€IÕ èÓ PÑ L•¢‰HÕ# pРp×# pÒ p@úÁ; ` @ù `¯ @€Ò¿ø ’@Ò'¿ø@¾¿à€2€¬Á¿ø€§ " Ð'¿àI"Ð'¿äIÝ ðРDÝ?¿ø‘2 €€Ò P@ÙРLá Lã P¨ P€Ií èë Pé L­¥‰Tí# pРpï# pÒ p@ÉÁ; ` @ù `¯ @€Ò¿ø ’@Ò'¿ø@¿à€2€{Á¿ø€v " Ð'¿àI"ƒÐ'¿äI’`hÐ@Ò`Ð?¿øÐ D‘2 €€IÔ øÒ P@wРLÁ?¿ØÐ¿Ø‘* ‘2 Ð; HIõ ØÁ H¨ Z€I hùû ¹ ¼ù?¿ø@b¿à€2€PÁ¿øI’b‡” €E  Ð'¿àI"ŸÐ'¿äIÐ Ø” ’@B Á?¿ø@L¿à€2€:Á¿øI’b£” €/  Ð'¿àI"ÄIÐ'¿ä’`hÐ@Ô D ” € * Ò` Ð; HÁ HÁ?¿ø@1¿à€2€Á¿ø€ " Ð'¿àI"ÉÐ'¿äIÐ Ø” ’@ Á?¿ø@¿à€2€ Á¿øI’bÎ ” @ž÷ !Ð"`Á¿øÇàè㿘àÁ+ DРD’˜* ò' H’@ ‘2 ºŠ Ò# HÁ  H€ ô' LÁ+ DРDà’`“*`* ’@Ò# HÁ  Hs–âhÐ"À0Á+ DРD’”* ’@ ‘2 Ò# DÁ  D¸Š "€€¦ s–âh Ð"ÀÁ+ DÔ D0”*€ ‘*  Ð# DÁ  D€¦ €Ô‘. ‚’c|Ð Â Œ \ ,€`2€$Ô H Ð# Á+ DРD’”*#à’@ Ò# D‘2 Á  D  Ð# “* Á+ DРDÔ H*#à’@Ò# DI’`hÐ@ ” € * Ò` Ð; Hý H€¦Á  DI’` Ð@ ” € * Ò` Ð; HIÁ!ý H½§‰À€—½ >€`2€%Ô H€2€"Ô H Ð# Á+ DРD’”*#à’@ Ò# D‘2 Á  D  Ð# “* Á+ DРDÔ H*#à’@Ò# DIÐ! ” € *  Ð; Hý H€qÁ  DI˜ ¨Ð ” € * Ò  Ð; Hý HÅÇ €c½§‰B€`2€'Ô H€2€$Ô H Ð# Á+ DРD’”*#à’@ Ò# D‘2 Á  D  Ð# “* Á+ DРDÔ H*#à’@Ò# DI’`hÐ@ ” € * Ò` Ð; Hý H€;Á  DI˜  Ð ” € * Ò  Ð; Hý HÉË €-½§‰D€`2€$I Ð# Á+ DРD’”*#à’@ Ò# D‘2 Á  D  Ð# “* Á+ DРDÔ H*#à’@Ò# DI’`XÐ@ ” € * Ò` Ð; Hý H€Á  D’`hÍ@‘ &Ï`“ '½¡ˆÈ >ƒ ?ÇàèÃà ã¿€!I #0# ´.€¸°.ð?¿øô?¿ðÁ¿øÅ¿ð¨ B%ü€D€¦€B€–€€@'÷ÿ¦ãÿ € €¦€€ … ˆBÅ?¿èÔ¿è@B’Å¿ðÁ?¿øð¿ø)€¦€€‰ @€¦€€¦@€.© B€ ‰ @© B €€ ÂÉ ‰¡ B€¦€€¦@€¨ D€  ¨ D € €&€  Çàè’”@ –¿ÿù€Á &¿ÿõ  ¿ÿóã¿€# .”.€%ü€¢€¿€’€€½€¢€€ €¹€€·ð?¿ø€•Á¿ø€¢ €¿ÿú€¦@ ¿ÿø€Ž9Ø€¢€€¨ª€¬%­5 '*”*€À”À ®  ­5 ’–€€4š¢@ ˜â &€ ’‚@ ’ƒ@ €à €š¢@ €qBš¢@ ˜â &€ ’‚@ ’ƒ@ €à €š¢@ €eBš¢@ ˜â &€ ’‚@ ’ƒ@ €à €š¢@ €YBš¢@ ˜â &€ ’‚@ ’ƒ@ €à €¬¥ €MB¬¥ 4¿ÿК¢@ ®¥à€*š¢@ ˜â &€ ’‚@ ’ƒ@ €à €®¥à€<B®¥à€š¢@ ˜â &€ ’‚@ ’ƒ@ €à €®¥à€.B®¥à€š¢@ ˜â &€ ’‚@ ’ƒ@ €à €š¢@ € Bš¢@ ˜â € ’ €’ 2€Ð?¿ø€Á¿ø€Š€’‚@ B€Š¿ÿýª%@¸ª@*@Ð?¿øÁ¿øÇàè˜Ø'¿øÀ'¿ü¿ÿûÁ¿ø’–!I #`Å Ô?¿ðÁ¿ð  BÁ?¿ðÔ¿ðÿÿHÅ  ‰@Ô¿ðÁ?¿øÐ¿øÿÿAÅ   B¿ÿãð?¿øô?¿ðÁ¿øÅ¿ð  B  À  ¿ÿÚã¿€!I #ð?¿ø) ´.Á¿ø+Ì€¦€€€Å  B€6€Å Å  B¨ B€€6€Á €Á ( ÂÇàèã¿ !s@ÒÀ$"p¿Ü’@ ú” ¿¸’@ ö” ¿Ü’¿¸@’”¿”¿”’¿„@ ~” @”Ð"p°¿„@œ}’ ã¿h!sð' Dò' H¿Ü’ D” @ ßÀ$"p¿Ü’¿Ì@ k” @Ð"p¿Ì@œk’ ã¿€Ô Ø Ô# `Ô Ø# dð Ô# h `ð# là`ä`à# pà`ä# tò` à# x’ p@Žò# |€2€  Çà‘èã¿€Ô Ø Ô# `Ô Ø# dð Ô# h `ð# là`ä`à# pà`ä# tò` à# x’ p@tò# |€"€  Çà‘èã¿€Ô Ø Ô# `Ô Ø# dð Ô# h `ð# là`ä`à# pà`ä# tò` à# x’ p@nò# |€¢ 2€  Çà‘èã¿€Ô Ø Ô# `Ô Ø# dð Ô# h `ð# là`ä`à# pà`ä# tò` à# x’ p@Tò# |€¢ €€2€° ° Çàèã¿€Ô Ø Ô# `Ô Ø# dð Ô# h `ð# là`ä`à# pà`ä# tò` à# x’ p@8ò# |€¢ 2€  Çà‘èã¿€Ô Ø Ô# `Ô Ø# dð Ô# h `ð# là`ä`à# pà`ä# tò` à# x’ p@ò# |€¢ €€2€° ° Çàèã¿X!s¿Ü’À$"p@ /” ¿¸’@ +” ¿Ü’¿¸@}” °@ÌÐ"pÇàèã¿X!s¿Ü’À$"p@ ” ¿¸’@ ” ¿Ü’¿¸@i” °@¸Ð"pÇàèã¿h¿Ü’ D” @ ð' D¿Ü’¿Ì@ ”” @ª ¿Ì@›”’ ã¿ !s@ÎÀ$"p¿Ü’@ ö” ¿¸’@ ò” ¿Ü’¿¸@v”¿”¿”’¿„@ z” @Ð"p°¿„@›y’ 㿈JÁ ÈÁ?¿èÔ Ø Ô'¿ðÔ Ð¿èØ'¿ôÒ €Ô'¿øº¿ð€Ò'¿üÒ@ ’@€Ò'@Ò`  ’@Ò'` @q ¿ð@›[’ ã¿h!s@–À$"p¿Ü’@ ¾” ¿Ü’¿Ð@ J” @`Ð"pÁ¿ÐÇàèã¿x!sÀ$"p sÐ"bh¿Ü’@ ª” ¿Ü’¿Ø@ 6” @LÐ"pð¿ØÇàèã¿h!sð' D¿Ü’ D” @ ˜À$"p¿Ü’¿Ì@ $” @:Ð"p¿Ì@›$’ ã¿ !s@^À$"p¿Ü’@ †” ¿¸’@ ‚” ¿Ü’¿¸@Å”¿”¿”’¿„@ ” @ Ð"p°¿„@› ’ ã¿ !s@DÀ$"p¿Ü’@ l” ¿¸’@ h” ¿Ü’¿¸@¡”¿”¿”’¿„@ð” @Ð"p°¿„@šï’ ã¿€J!€ñó J!xõ÷ J!pùû €2€€Ž €½§Ü2€½§ ܽ >€Ž 2€½¦ X€Ž 2€½¦‰Z€Ž 2€½¦‰Ü½ >€Ž "€ý; h½¦Zý; hРh@Ò lÇà‘è Ãà 0s–âhÁ+ DРD’ “2`Ò"Às–âl ’ “2`ÃàÒ"Àã¿ Ð Ò`€¢ 6€Ð º²°Ð €¢ €‘* †’cØÐ Âðððð˜ $’˜£ Ô@ ¿ÿþÔ" €IÐ`€2€ Ò`˜ $’˜£ Ô@ ¿ÿþÔ" €<Ð €¢ 6€Ð º²°Ð Ð& ÐÐ&€Ð Ð& À&  À& ú`Ð €¢"€ Ô`Ò @ ‰’"@Ð`Ð& Ð` Ð&  Ô`Ò – @ ï –Ò Ô`@ ê –Ò Ô`@ å –Ò Ô` @ à  Ð  €€¢ €’ @ jР Ð& Çàèã¿ Ð Ò`€¢ 6€˜ $º²°˜ $’˜£ Ô@ ¿ÿþÔ" Р€¢ € ‘* ‡’aœÐ Â༴´€Îò`€¦`€Ê@ ž €ÅÐ& sÐ"h€¢ 2€’ ’ €½Ò&€Ð`€€¹Ò`Ð €¢ 6€Ð º²°Ð º  Ð& ÐÐ&€Ð Ð& À& À&  Ð Ò`€¢ 2€BÐ`Ô`Ò – @ –` –Ò Ô`@ ‘`–Ò Ô`@ Œ`–Ò Ô` @ ‡Ð@Ò`Ö` Ú`  €’ 2€ Ð@sÐ"h€¢ 2€’ ’ Ò&€€}À& €€¢ *€°ò@” ò&€Ò` @ ~` ”Ò`@ z`”Ò`@ v`²Ò@@ q”°@ tèÒ ’"@’"`@ Ôø`ì` @ Ï’ î`€"€ª—€2€  ¸ª—"€À€2€  ®À€’"€’ ’ – Ò Ô`@ 6` –Ò Ô`@ 1`–Ò Ô`@ ,`–Ò Ô` @ 'Ð@@€¢ *€ì&  ê&  €'î& ø& Ð`Ø@! ‘2 ™+ ˜Ø&  Ú`Ø`š @›3`™+ š Ú& Þ` Ø`ž ÀŸ3à™+ žÞ& Ð` ‘* Ð& Ð @" Ð& ú@€§@ €°@ èÇàèã¿ ÐÒ@€¢ €ÿþ¡èÿÿ èã¿ Ò@ " Ð&@ÐÒ@€¢ €ÿþ“èÿþûèã¿ ú €§`"€ €ø`€§ €€§`€€§ 2€ €€€@ ¤ €5º 2€ô@€2€ô@€.º ö€¦À&€*º 4€(º €§@4€º 6€€§`€º "€º ú`ø €§4€º 6€” € º ’` @ Ì º4€º 6€º º ð€€ €§`€€§`"€º €º Çà‘èã¿’˜ $ô' L˜£ Ô@ ¿ÿþÔ" Ô@Д Ô&€ø`€§ €€§ 2€ ö ˜ $’˜£ Ô@ ¿ÿþÔ" €>€¦à€%‘.àˆ’cÐ Â#0#ˆ#P#0#(#(€.€¦À€+@ B €&Ð& €€€§ € € Ð @ /  €Ð& €À& Ð ¸` Ð'¿ðÐ ’Ð'¿ôÐ Ð'¿øÐ ” Ð'¿ü@ i¿ð€€ò`ð €°&ð °&°& 3 ;@ð& ° ” ’@ X¿ð€€±. Ô Ò¿ü– @ -¿ü–Ò¿øÔ @ (¿ø–Ò¿ôÔ @ #¿ô–Ò¿ðÔ @ ¿ð° Ø¿ôֿ𘠙3 —*à˜À Ø'¿ðØ¿øÖ¿ô˜ ™3 —*à˜À Ø'¿ôпüÖ¿ø˜ ™3 —*à˜À Ø'¿ø‘* €¦ ¿ÿÍÐ'¿ü7 ² ð&  ° º€6²&`” ’@ ¿ð€€±. Ô Ò¿ü– @ñ¿ü–Ò¿øÔ @ì¿ø–Ò¿ôÔ @ç¿ô–Ò¿ðÔ @â¿ð° Ø¿ôֿ𘠙3 —*à˜À Ø'¿ðØ¿øÖ¿ô˜ ™3 —*à˜À Ø'¿ôпüÖ¿ø˜ ™3 —*à˜À Ø'¿ø‘* ¿ÿËÐ'¿ü7 ² ð& ° º€6²&`” ’@á¿ð€€±. Ô Ò¿ü– @¶¿ü–Ò¿øÔ @±¿ø–Ò¿ôÔ @¬¿ô–Ò¿ðÔ @§¿ð° Ø¿ôֿ𘠙3 —*à˜À Ø'¿ðØ¿øÖ¿ô˜ ™3 —*à˜À Ø'¿ôпüÖ¿ø˜ ™3 —*à˜À Ø'¿ø‘* ¿ÿËÐ'¿ü7 ² ð& ° º€6²&`” ’@¦¿ð€€±. Ô Ò¿ü– @{¿ü–Ò¿øÔ @v¿ø–Ò¿ôÔ @q¿ô–Ò¿ðÔ @l¿ð° Ø¿ôֿ𘠙3 —*à˜À Ø'¿ðØ¿øÖ¿ô˜ ™3 —*à˜À Ø'¿ôпüÖ¿ø˜ ™3 —*à˜À Ø'¿ø‘* ¿ÿËÐ'¿üð& Ð¿ðÒ¿ôÖ¿ø Ú¿ü €’ 2€ À& € À&  Ð&  ¿ð” @d’€€ Ð& Çàèã¿€’˜ $ò' H˜£ Ô@ ¿ÿþÔ" Ð €¢ €!‘* Š’`0Ð Â(H(˜(t(P(H(H€sð€¦ €o@ù €jÐ&`Ѐ¢ 2€º @ð €aÐ&`º 𠀎 "€!“6 °& “6 ’@“:`Ò&`Ð`Ø@! ‘2 ™+ ˜Ø'@Ú`Ø`š @›3`™+ š Ú'`Þ` Ø`ž ÀŸ3à™+ žÞ'`Ð` ‘* €Ð'` ’@“:`Ò&`Ð'¿è1@Ð'¿ä€Ð'¿à´ Ð'¿üÐ'¿øÐ'¿ôÐ'¿ð€,À'¿ì7 пðÐ'¿àÒ@€¢ 8€ Ø`пà’Ò'¿ðÒ@´€’"@Ò'@Ø`Ö@˜ ™3 —*à˜À Ø'@Ø`Ö`˜ ™3 —*à˜À Ø'`Ø` Ö`˜ ™3 —*à˜À Ø'`Ð` ±6 ‘* €¿ÿÙÐ'` 1 €ô&` €?´ 7 пô” Ð'¿äпð’Ð'¿à@Å¿à€4€Ø`Ò¿ä– ”@‡¿ô–Ò¿à¿ð@‚” Ò`Ô¿ä`@– –Ò@Ô¿à@‹´€Ø`Ö@˜ ™3 —*à˜À Ø'@Ø`Ö`˜ ™3 —*à˜À Ø'`Ø` Ö`˜ ™3 —*à˜À Ø'`Ð` ±6 ‘* €¿ÿÆÐ'` 1 €ô&`€K´ 7 пøÐ'¿èпô” Ð'¿äпð’Ð'¿à@¿à€4€"Ø`Ò¿è– ”@C¿ø–Ò¿ä¿ô@>” –Ò¿à¿ð@9” Ò`Ô¿è`@G– –Ò`Ô¿ä@B`–Ò@Ô¿à@=´€Ø`Ö@˜ ™3 —*à˜À Ø'@Ø`Ö`˜ ™3 —*à˜À Ø'`Ø` Ö`˜ ™3 —*à˜À Ø'`Ð` ±6 ‘* €¿ÿºÐ'` 1 €ô&`€W´ 7 пüÐ'¿ìпø” Ð'¿èпôÐ'¿äпð’Ð'¿à@1¿à€4€,Ø`Ò¿ì– ”@ó¿ü–Ò¿è¿ø@î” –Ò¿ä¿ô@é” –Ò¿à¿ð@ä” Ò` Ô¿ì` @ò– –Ò`Ô¿è@í`–Ò`Ô¿ä@è`–Ò@Ô¿à@ã´€Ø`Ö@˜ ™3 —*à˜À Ø'@Ø`Ö`˜ ™3 —*à˜À Ø'`Ø` Ö`˜ ™3 —*à˜À Ø'`Ð` ±6 ‘* €¿ÿ®Ð'` ô&`Ð@Ò`Ö` Ú`  €’ 2€ À&`€ À&` Ð&` ¿ð” @Ø’€6€À&` Ð&`Çàè㿪¬ð' Dò' Hô' LÐ`Ò €¢ 6€î L¶ª¬î L˜ $’˜£ Ô@ ¿ÿþÔ" Ô€Ð@” Ô%ÀÐ`€¢ €‘* ‹’b¬Ð Â.Ä/.ð.Ì.Ä.Ä€Kì €€G@Z €BÐ%àР€2€´€<À%à´²ô'¿ø¶` ô'¿ôô'¿ðÀ'¿üð €"€7𠸠пøÖ¿ü ²@ô¿ü‘* —2à Ð'¿üпôÖ¿ø ‘* —2à Ð'¿øÐ¿ðÖ¿ô’ “*`—2à’@ Ò'¿ô‘2 €´ €Ð'¿ðÔà Ò¿ü– @3¿ü–Ò¿øÔà@.¿ø–Ò¿ôÔà@)¿ô–Ò¿ðÔà@$¿ð¸‡2¿ÿÐпøð €"€8ÿÿ¸ пøÖ¿ü ²@ô¿ü‘* —2à Ð'¿üпôÖ¿ø ‘* —2à Ð'¿øÐ¿ðÖ¿ô’ “*`—2à’@ Ò'¿ô‘2 €´ €Ð'¿ðÔà Ò¿ü– @û¿ü–Ò¿øÔà@ö¿ø–Ò¿ôÔà@ñ¿ô–Ò¿ðÔà@ì¿ð¸‡2¿ÿÐпø€ð Ð¿ü’cÿ’ ´€  ²@µ2 пøÐ'¿üпôÐ'¿øÐ¿ðÀ'¿ðÐ'¿ôð €"€8ÿÿ¸ пøÖ¿ü ²@ô¿ü‘* —2à Ð'¿üпôÖ¿ø ‘* —2à Ð'¿øÐ¿ðÖ¿ô’ “*`—2à’@ Ò'¿ô‘2 €´ €Ð'¿ðÔà Ò¿ü– @²¿ü–Ò¿øÔà@­¿ø–Ò¿ôÔà@¨¿ô–Ò¿ðÔà@£¿ð¸‡2¿ÿÐпø€ð  пü’cÿ’ ´€  ²@µ2 пøÐ'¿üпôÐ'¿øÐ¿ðÀ'¿ðÐ'¿ôð  ¸ пøÖ¿ü ²@ô¿ü‘* —2à Ð'¿üпôÖ¿ø ‘* —2à Ð'¿øÐ¿ðÖ¿ô’ “*`—2à’@ Ò'¿ô‘2 €´ €Ð'¿ðÔà Ò¿ü– @l¿ü–Ò¿øÔà@g¿ø–Ò¿ôÔà@b¿ô–Ò¿ðÔà@]¿ð¸€§(¿ÿÏпøÐ¿ð€€¢ €#ì ê`²@ª@ª`ê%àò%à пü Ð%àпøÖ¿ü ‘* —2à Ð%àпôÖ¿ø ‘* —2à Ð%àпðÖ¿ô ‘* —2à Ð%àпð€‘2 ê`ª@ê%àò%à ô%àпüÐ%àпøÐ%àпôÐ%àпðÐ%à ÇàèsÔ¢h€¢ €•* ’` Ô€ €40484@4P€ € €2€  Ãàã¿ Ð ú º’€]@î sÐ"h€¢ €#‘* ’` Ð Â4°4¸4À4è€ú €º €"€  Ò€ 2€ ” € ” €"€  Ò€ "€” ” º €€"€%sÐ  Ð& Ð €2€sÐ  Ð& Ð €2€sÐ  Ð& Ð €2€sÐ € Ð& Ð €¢ 2€sÐ  Ð& @Ð& sÐ"h€€ Ð €€€€Ð  ?þÐ& Çàèã¿ Ð €¢ €>‘* ’b Ð Â6$6è6,6¬6¬6¬€1À&@ú €§` 6€ð’ p’"@@ ÿÿƒú  €§@*€ ú&@Ѐ"€ð €§@8€ ðú&@ð€€Ð@ €Ð&@ð€"€ÿÿ€ #ÿÐ&@sÐbp°  ?þÐ"bp@RèÇàèã¿ ÐÔ@‘* ”* €”€Ô.@Ð €¢ €™‘* ’c0Ð Â7H9x7ì7p7˜7˜’c€Ð@* Ð6@Ð@?à €„Ð&@’c€Ð@ Ð6@Ð@?à €zÐ&@’ Y@Ê’c€Ð@ Ð6@ð ÿ’cÿ° à@° ?à°.   €eà&@’ Y@µÐ  Ð& Ð €€%’c€Ð@* Ð6@Ð ’ ’"@@¥ÿÿÐ  €¢ 2€ s’c€Ð@*  €Ð6@Ð@?à €@Ð&@Ð"p€Š "€3ÿ@æ €/ÿÿþîÐ @€¢ 2€ú  Ð& Ð  Ð& ú €§`ÿ&€@Ò @Ð ÿþÂЀ2¿ÿž”£€Ð@?à* ”¿€ Ð6@Ð@2 €Ð&@’c€»/`Ô@º@ ”*€ ”€Ô6@ÿð ’cÿÚ@° ?à°. š @ š@Ú&@Çàèã¿ ÐÔ@‘* ”* €”€Ô.@Ð €¢ €£‘* Ž’aÀÐ Â9Ø<0:„::0:0’cðÐ@* Ð6@Ð@?ü Ð&@€À&€’cðÐ@ Ð6@Ð@?ü Ð&@€‚À&€’ <@$’cðÐ@ Ð6@Ð ÿ’cÿ à@ ?ü*   €kà&@’ <@Ð #ÿÐ& Ð €€*’cðÐ@* Ð6@Ð ’ ’"@@ÿÿþbÐ €¢ 2€s’cðÐ@*  Ð6@Ð@?ü Ð&@€GÀ&€Ð"p€Š "€@? ’cðÐ@* €/Ð6@ÿþCÐ €¢ 2€ú Ð& Ð  Ð& ú €§gÿ&€@' @% ÿþЀ2¿ÿ˜”£ðÐ@?ü* ”¿ð Ð6@Ð@2 Ð&@€?ÿ’cð»/`Ô@º@ ”*€ ”€Ô6@ÿÐ ’cÿÚ@ ?ü* š @ š@Ú&@Ð Ð&€Çàèã¿ ÐÔ@‘* ”* €”€Ô.@Ð ®?ÿ€¢ €v‘* ’`|Ð Â<”>8<ü<¸<Ü<Ü?ÿàÐ@ Ð6@À6`À&ÀÀ&€€bÀ'?ÿàÐ@2 Ð6@À6`À&ÀÀ&€€YÀ'?ÿàÐ@2 Ð6@Ð  €J Ò #ÿ’@Ò& ú €€’ ’"@@hÿýËÐ @€¢ :€ ?ÿàsÐ"p€Š "€?ÿà@³ ?ÿàÐ@€ Ð@  €&Ð6@ÿý´ú #ÿ€§@&€?ÿà@  @ž ÿýЀ¿ÿ¾?ÿàÐ@ ’cþ Ð6@Ð`?ÿÀ2 Ð6`î&€î&À€î'Ô@º/@ ” € ”€Ô6@Ð Ð6`Ð Ð&€Ð Ð&Àð ð'Çàèã¿@€¦ €{‘. ’bdÐ Â>t>ˆ> >ì’ÿýÛ€mÿþ’¿üпü€gÐ&@JÁ!¨Á?¿ðпð€"€º º €´ ´ »/`”@ÿþª’¿ìÒ¿ì€S‘. sÐ"l€¢ €€¢ €€¢ "€€/Jÿýõ’¿èп谿ÄÐ# `@c’ `€$J”¿¼ÿþ’¿ÀпÀ°¿ÄÐ# `Ô¿¼@•’ `€Jô ’cÿ´†€ ,€ 1€´ 1´"’ 1@Êÿý-À& À& Ð Ð& @\JÅ!¨Å?¿°Ð¿°€"€¶ ¶ ¸ º €´ ¸ º ´ ·.à¹/ »/`”@–@˜@ÿÿ’¿¬Ò¿¬‘. Ò&@Çàèã¿ €À& €À& À&€À& 6€  Ð& Ð&  €€Ð& ² ‘6`Ð& #ÿ²@³.`ò& À& À& @ èÇàèã¿ À& À& ú@¹/` »7`ú&À& ¹7 ¶ À& À& ú@³7`²Ž`ÿ2€€¦`ÿ‘/` ‘2 €2€ €'À& Ð& ?{Ð& ø& @è2€²&`»/` »7` €2€ €Ð& €"€ €ö& Ð& @¬ `€‘7  ò& @Ð& ‘7  ¸ Ð& ¹/ ø& Çàèã¿ À& À& ø@»/ ¹7 ø&ô& »7` ¶ À& À& ø@³7 ²Žgÿ2€€¦gÿ¹/ ¹7 €2€ €2€ €*À& Ð& ;þÐ& ú& @¾è2€²&cÿ€—@2€ €Ð& €@"€ €ö& Ð& @l `€‘7` ò& @Ð& ‘7` º`»/`Ð& •6 º@ ú& ´ µ. ô& Çàèã¿ À& À& ú@ ¯/`»7`ú&Ð& Ð@‘* ‘2 –ãÿ" Ð& Ð@¯5à‘* ‘2 €€¬ €º@ºÀú& ô& #ÿö& ø& ò@³.`³6`€¦@:€¶ÀÔ ¶À¶À€–À 2€€€À& €@gÐ  €Ð& ¶À€–À2€  €Ð& €À"€ €ì& Ð& @ Ò  ’@Ò& Çàèã¿p€¦ €H‘. ‘’`$Ð ÂD4D@D`D¸ò@ÿÿèò@ò'¿ü’ `ÿÿò# `€4JÁ!°Á?¿ðпð€"€º º €´ ´ µ. ô@»/`ô'¿ì’ `ô# `ÿÿEÔ@€JÅ!°Å?¿àпà€"€¶ ¶ ¸ º €´ ¸ º ´ µ. ô@·.àô'¿Ü¹/ »/`’ `ô# `Ô@Ö@ÿÿlØ@Çàèã¿ÀÐ î €¢ ö ô €]ò À€’2€€€VÀ& 2€ €Ð ®" ¶´² ¿ÿúÐ& €€¥À*€"@€»5à€§@ €¸ -€»7`€§@¿ÿþ¸  ‘*’" Ð ª Ð& ‘6@²€ ª%@³.@²@‘6€® À ¯-À´À ¹6À¶Àµ.€´€€$®€¥À:€"î& @»-à€§@€¸ -@»/`€§@ ¿ÿþ¸ º º'@ ‘*’ Ð ¯-À"Ð& À ‘2®À€ ’@ “2@‘2µ.€·.À¶À´€ ³.@î& ö& ô& ò& Çàèã¿À€¦`q€º Ò Ð Ö  Ú  €’ 2€À& €JÀ& ú& À& À& À& €DÀ& €¦` &€€ÿÿº#ÿÐ Ô  Ø ”€˜ Ø& Ð ²&` ‘2 Ð& Ð Ð& Ð €¦` Ð& Ð Ð& ¿ÿîÀ& €€(¨ ª&`©-Ô ¨% Ò ¨ €Ö ’@º ì î ô »/@–À Ö& º'` €‘2¶ Ð& ¶&À’ €“*@•2€”@ Ô& ’ À“*@­5€’@Ò& º€»/@¯5Àº@ú& µ6€ô& Çàè’ ‘*@sÖbp–ÀÃàÖ"bpã¿ ÿÿø Ðÿÿ”£ÿ‘*  Ð& º?ÿú& ú& ú& Çàè€ € ’@ Ò"Ѐ¢ :€ ˜ € ˜ ’`Ò" Ѐ¢ 8€˜ ˜ Ãà € € ”"@ Ô"Ѐ¢ (€ ˜ € ˜ ”" Ô"Ѐ¢ *€˜ ˜ Ãà € € ’ Ò"Ѐ"€– – € ’"`Ò" Ãà€ €š Ø@Ö€¢À 8€ š :€š`€š?ÿ€£@  ¿ÿõ’`š Ãà ã¿À'¿üÐÐ'¿øÐ¿ø‘2 Ð& @_›Ð&€Ð€€¢ €€¢ 2€ пüÁ …  –”˜¿üÅ# `Р`Ç# `@9RÒ `пüÐ&ÀÇàèã¿À'¿üÐÒ Ð?¿ðпð‘2 Ð& @`âÐ&€Ð€€¢ €€¢ 2€ пüÒ Ð –”@97˜¿üпüÐ&ÀÇàè㿘À'¿üú»7`ú& @aRÐ&€Ð€€¢ €€¢ 2€Ð¿ü”’@;Ä–¿üпüÐ&ÀÇàèà“* Á+ DРD’ @ ”* ’@ Ò# DÁ  D Ãà‘2 ˜#à–àÐ"À“* Á+ DРD’ @ ”* ’@ Ò# DÁ  D Ãà‘2 0s–âhÐ"À“* Á+ DРD’ @ ”* ’@ Ò# DÁ  D Ãà‘2  s–âlÐ"À“* Á+ DРD’ @ ”* ’@ Ò# DÁ  D Ãà‘2 ü @€¢ 2€  Ãà㿈JÁ"\@YèÁ'¿ü¿ü’ ”¿ø–¿ô@.³˜¿è€€(@.®@.Ù@/ @/ñ@:Q@0Ó@@:@ZÄ@ò@à@K@@ >@$Þ@%@$3@`|@_!Çàèã¶(¤ ð' D° @Žbò' HÐÒ HÐJÀ'¿øú DÐ/¿ÿÒ'¿èÒ'¿ìÒ'¿ðÒ'¿ôöO@º`¸€ÐV  €¢ €Ð €€Ò Ð €¢ 2€ê€Ð€€2€ê€ÐV €Š „2€ ê€@Ž>²"€ê€€º?ÿ€º ì  Ð/¶» 0Ð/¶º -¦ Ð/¶¹ 0Ð/¶¸€Ð'¶´  # Ð/¶­ Ð/¶¬ Ð/¶« Ð/¶ª Ð/¶© Ð/¶¨ Ð/¶§ÿÿ#ÿÐ'¶  EÐ/¶Ÿ 0Ð/¶ž 0Ð/¶ 0Ð/¶œ Ð/¶š Ð/¶™ Ð/¶˜ 0Ð/¶— Ð/¶– Ð/¶• 0Ð/¶” 0Ð/¶“À/¶³À/¶²À/¶±À/¶°À/¶¯À/¶®À/¶›€§ %"€¶ª¥`<€¶àÿÐV €Š „"€Ò  €¢ &€ ¶àÿ@êì& ê€ì ª%`¶àÿ¦àö-€€¬ öNàº`&àD€¢ 4€¢““2 “*`’@’ `™*`”£lÖ €¢À"€ ˜ €¢ÿÿ"€–ÐO¶³˜ ˜ xÖ €¢À2¿ÿú€¢ÿÿ˜ Ð ÂPøP„,TtQp Pø/OôT$1Qp$Oì%Pø4Tt TÄ(OìÿÿÿÿUÿÿÿÿU+TÄ¿ÿöпìî €€Ð'¿ì/Jîâ`öMÀ®à€"€ÌöO@ª¥`<€¶àÿÐV €Š „"€Ò  €¢ &€ ¶àÿ@‡ì& ê€ì ª%`¶àÿ¦àö-€¿ÿ欠пìö ·.àÐ'¿ì·>થ`<€¶àÿÐV €Š „"€Ò  €¢ &€ ¶àÿ@jì& ê€ì ª%`¶àÿ¦àö-€€—¬ Ð¿ìö €€Ð'¿ìª¥`<€Ð¶¹ÐV €Š „"€Ò  €¢ &€ ж¹@Mì& ê€ì ª%`ж¹¶ ¦àÐ-€€¬ Ð¿ìö Ð'¿ì€€¸»çÐO¶¸®' €ÞÐ-Àж´€¦À*€:€¦À’@5‘* ‘2 ‘* ™2 ‘3 Д¡4  ÖJ˜ – —*à—:à˜ ¸' ’€£ 9š`€ " ˜# Ø+@ÖJ" –à—*à—:à˜ €£ 9¿ÿ÷š#`Ö+@š#`€£@ *€ ’ÔJ" Ô+@š#`€£@ :¿ÿüÔJ’@Œ+¶Ð¶´€¦À:¿ÿÌ’€¦À*€5·.à@W\’»Ú¶Ð»ÚБ* ™2 ‘3  ”¡4 ÖJ˜ – —*à—:à˜ ¸' ’€£ 9š`€ " ˜# Ø+@ÖJ" –à—*à—:à˜ €£ 9¿ÿ÷š#`Ö+@š#`€£@ *€ €¦ÀÔJ" Ô+@š#`€£@ :¿ÿüÔJ€¦À:¿ÿÑ·.à·6à·.à·6à‘6àД¡4  ÖJ¶à–À —*à—:à˜ ®' ’€£ 9š`€ " ˜# Ø+@ÖJ" –à—*à—:à˜ €£ 9¿ÿ÷š#`Ö+@š#`€£@ *€ ÐMÀÔJ" Ô+@š#`€£@ :¿ÿüÔJÐMÀ€¢ 02€?¨»ç¿ÿü®àпì9Jöø"h €®»ç€RÐ'¿ì"€2¨»çà·6à€ÐO®%à¿ÿûÐ-À€)¨»çпì9Jöø"d €®»ç€>Ð'¿ì"€¨»çà·6à€ÐO®%à¿ÿûÐ-À€¨»çпì9Jöø"d €®»ç€*Ð'¿ì"€ ¨»çà·6à€ÐO®%à¿ÿûÐ-À¨»ç€¥À:€öO@ª¥`öMÀ€®àÐV €Š „"€Ò  €¢ &€ ¶àÿ@ŒIì& ê€ì ª%`¶àÿ€¥À¦àö-€ ¿ÿ鬠€töO@¿þÅöO¶ºÐO¶³Ð/»ÙÐO¶²º'`Ð/»ØÐO¶±Ð/»×ÐO¶°Ð/»ÖÐO¶¯Ð/»ÕÐO¶®Ð/»Ôº`ÐO`€¢ €€¢ #€€¢ +€€¢ -€ €¢ 0€€œÐO@ÐO¶©¿ÿðÐ/»ØÐO¶ª¿ÿíÐ/»×ÐO¶«¿ÿêÐ/»ÖÐO¶¬¿ÿçÐ/»Õ¿ÿäÐO¶­Ô»ÐРDÒ'¿ô@’¿ôпôö €€&Ð'¿ôÐO¶¨¶ €"Ð/»×ö €€Ð'¿ìÐO¶§¶ Ð/»×€º’`ÐO@° ÐJ ¶ €Š "€ÐO@·.à“.à¶À øO@º`’`ÐO`¸' 0ÐJ ¶À€Š ¿ÿô°ÐO@€¢ .2€?¸?ÿº`ÐO`€¢ *2€+¸ ²`@x’»º"€Ð¿ì€"€Ð»Ð DÒ¿è@!”»¤ л€¢ 24€ Ò»ÌÔ»–»•* –€ Öà€Ö'¿ðԻРDÒ'¿ð@Í’¿ðÐ¿ðø €Ð'¿ðºø €Ð'¿ì’`ÐO@ÐJ €Š "€ ÐO@¹/ “/ òO@¸ ²&`0¸¿ÿóº`ÐO@€¢ $2€7J€"€€¦ 2РDÒ¿è@ì”»¤ €¦ 24€Ò»Ì›. ’»š@ Ú`€Ú'¿ìРDÒ'¿ì’¿ì@š”º`ÐO@€¢ *2¿ÿŒ¸`@!’»Ðº"¿ÿ{пì€"€Ð»ÐРDÒ¿è@Ê”»¤ лЀ¢ 24¿ÿ`Ò»ÌԻЖ»•* –€ Öà¿ÿ^Ö'¿ô"©Ð'ºü¢ Ð'ºøÀ'»²ÐN`º`Ð/ºöÐOºö–€¢ x€›Ð'¶Œ“2 “*`—*`’@ —*à’@ ’@’ `™*`”¡€Ö €¢À"€ ˜ €¢ÿÿ"€‹ºö˜ ˜ øÖ €¢À2¿ÿú€¢ÿÿ˜ Ð ÂgdUZ”ÿÿÿÿgxÿÿÿÿgxXZ¤cf¨dZ”e_8fb|gdÌhZ€iZ”ÿÿÿÿgxÿÿÿÿgxlZ€ÿÿÿÿgxDZ”E_8nglGdÌoZœsfÄÿÿÿÿgxuZ”LZˆÿÿÿÿgxxZ¤OZœÿÿÿÿgxÿÿÿÿgxÿÿÿÿgxÿÿÿÿgx¿ÿ²ÐO¶–¿ÿ™Ð/»Ù€ÐO¶˜€ÐO¶™ÐO¶š€€Ð/º÷¸ пìò Ð'¿ìжŒ€¢ d"€ €Ð¶Œ€¢ D"€€Ð¶Œ€¢ i2€ÐO»Ô€6€ÐO»ØJ"ª² €Ð'ºü€"€ÐO»ÖJ€"¬€"€ÐO»ÔJ"®Ð'ºüÐO»Ô€"€ ÐOºö@‰~кü&À€¢4€¸ÐOºö€¢ X2€)J)J€è"hè"dÐOº÷®»ç€¢ € €¢ €€€®»çÐO¶—®%à€¾Ð-À€"€¼¨»ç`³6`€ÐM®%à¿ÿûÐ-À€³¨»ç"€±¨»ç`³6`€ÐM®%à¿ÿûÐ-À€¨¨»çж´€¦@*€:€¦@’@Š”‘* ‘2 ‘* ™2 ‘3 Д¡4  ÖJ˜ – —*à—:à˜ ®%à’€£ 9š`€ " ˜# Ø+@ÖJ" –à—*à—:à˜ €£ 9¿ÿ÷š#`Ö+@š#`€£@ *€ ’ÔJ" Ô+@š#`€£@ :¿ÿüÔJ’@‰Š²Ð¶´€¦@:¿ÿÌ’€¦@*€5³.`@T»’ºô²ÐºôБ* ™2 ‘3  ”¡4 ÖJ˜ – —*à—:à˜ ®%à’€£ 9š`€ " ˜# Ø+@ÖJ" –à—*à—:à˜ €£ 9¿ÿ÷š#`Ö+@š#`€£@ *€ €¦@ÔJ" Ô+@š#`€£@ :¿ÿüÔJ€¦@:¿ÿѳ.`³6`³.`³6`‘6`Д¡4  ÖJ²`–@ —*à—:à˜ ®%à’€£ 9š`€ " ˜# Ø+@ÖJ" –à—*à—:à˜ €£ 9¿ÿ÷š#`Ö+@š#`€£@ *€ÐMÀÔJ" Ô+@š#`€£@ :¿ÿüÔJÐMÀ€¢ 02€¨»ç®àÐMÀ€¢ 0"¿ÿþ®à¨»ç%ÀÐ'»ÐO»Õ€€.€¥À"€-€ÐOºö€¢ X€€¢ o€€¢ x"€ J€#€Ð»€¢ 6€€ €Ð'»€"°J"³€Ð'ºü€&€¸ ÐO»Ù€2€Ò¿ìп욶àÒÔ Ò'ºè ˜ºà–ºäÐ'¿ìÔ'ºìкè@-X” €²Ð¿ìÒ` Ú`Þ`Ú'¶ÐÚ`Þ'¶ÔÒ` Ú'¶ØÒ'¶ÜÐ'¿ì˜¶à–ºà”ºä’ @!ð¶Ð²Ðºà€"€ÐO»ØJ€ "¶€"€ÐO»ÖJ€"¸€"€ÐO¶àJ"ºÐ'ºüÐO¶à€¢ 9$€ ÐN`®¶à¨àÐM€"€yÐO»×¿ÿü¨ ¨»Ü€"€® 0îN@²`€î-€® ÐO»Õ€"€¢ÐO¿ÿÐ-À®à¢$€ÐO¶àÐN@€"€ ÐO¶àÐN@¢$`€²`Ð-À¿ÿ÷®àÐO¶à¨€¢ 0€®»Üøºä€¸' ¸ €&€¸ ‘/ ‘2 ‘* ™2 ‘3 Д¡4  ÖJ ˜ – —*à—:à˜ €£ 9’¶Êš`€ " ˜# Ø+@ÖJ" –à—*à—:à˜ €£ 9¿ÿ÷š#`Ö+@š#`€£@ *€ €§ dÔJ" Ô+@š#`€£@ :¿ÿüÔJ€§ dÐO¶›€Ð/¶Î € ¸¶Ì€§#è6€  €¸¶Ë¸¶ÊÐ'¶Äкä²' €€ÐO¶à€¢ 02€¸ -¸ +ø.@²&`ÒOºöò'ºøÒ.@ÐO»×€2€¸ ¸ ÐO»Ô€Š"€Q€@‡Áкüضĸ»Ü%¸¸¸ ¸&À€Dø'»€&€¸ ÐO»Ù€2€Ò¿ìп욶àÒÔ Ò'ºè ˜ºà–ºäÐ'¿ìÔ'ºìкè@,Ê”€®Ð¿ìÒ` Ú`Þ`Ú'¶ÐÚ`Þ'¶ÔÒ` ˜¶àÒ'¶Ü’–ºà”ºäÐ'¿ìÚ'¶Ø@!`¶Ð®ÐO¶à€"¿ÿ'˜¶àкà€"€ÐO»ØJ€ "¼€"€ÐO»ÖJ€"¾€"€ÐO¶àJ"ÀÐ'ºüÐO¶à€¢ 9$€ èºä®¶à¨àÐM€"€û€¿ÿü¨ ²»Ü€4€ÐMÀÐO¶žÐ.@€²`ÐMÀ€2€ÐMÀÐO¶€Ð.@®àÐ.@¨¥ ¿ÿö²`ÐO»Õ€2€ÐO¿ÿ€$€¢'ÐO¿ÿÐ.@²`¢'¨¨¥ ,€ÐO»×Ðºä €€Ð'ºäÐMÀ€2€ÐMÀÐO¶œÐ.@¿ÿò²`®àÐ.@¿ÿî²`€2€¸ ¸ ÐO»Ô€Š"€ ®»Ü@‡-кü¸»Ü&@¸¸¸&Àø'»®»Ü€°¨€&€¸ "€¸ ÐO»Ù€2€Ò¿ìпìÖO»ÕÒÔ Ò'ºè ˜¶àÐ'¿ìÔ'ºìкè@°”€ÐO¶àпìÒ` Ú`Þ`Ú'¶ÐÚ`Þ'¶ÔÒ` ÔO»ÕÒ'¶Ü’–¶àÐ'¿ì¶Ð@!Ú'¶ØÐO¶à®¶à€¢ -2€ÐO»ØJ"®à€Ð'ºü€"€ÐO»ÖJ€"Ä€"€J"ÆÐ'ºü’`ÐOºöÐJ €Š €¨ÐM€€ ÐM€¢ e"€ÐM¨ ÐM €¿ÿúÐM€¢ e2€ÐMÐO¶ŸÐ-ÐM€"€ÐO»×¿ÿü¨ ÐM€"€ÐO»×¨ ÐM €2¿ÿþ¨ ÐO»×¢ €2€¸ ¸ ÐO»Ô€Š"€B€@†²Ðºü¸%¸¸&À€9ø'»Ð¿ìÒ Ò/»ÜÐ'¿ì€0»Üпì€ò €Ð'¿ìø¶ €2€èN@3Jòb`èN@²`€€ ® €¥À6€ÐO»×èN`²`€¿ÿú®àÐO»×€2€¸ ¸ ÐO»Ô€Š"€²&`&ÀÐ'»²&`¨€ ®&@€ì&  €Ð'¿øºö®¨à€6€¸¸ л€6€ò»² @†jкø¶&ÀÐ'¶À@†fкüÚ¶ÀÐ'¶¼%š&À š#@ÐO»×Þ¶¼€š#@€¶#@¶¦à,€Ðºüª%`€6€Ð¶•ÐV €Š „"€Ò  €¢ &€ ж•@‡’ì& ê€ì ª%`敦àÐ-€¿ÿ笠кüÐJ€"€Ð»ª¥`<€ÐºüÐV €Š „"€Ò  €¢ &€ кü@‡vì& ê€ì ª%`кü¦àÐJ ÿÐ-€Ðºü¬  ¿ÿáÐ'ºüл¢  €Ð'»ª%`€6€Ð¶”ÐV €Š „"€Ò  €¢ &€ ж”@‡Uì& ê€ì ª%`攦àÐ-€¿ÿ欠€¥À:€¢¤`ª¥`<€ÐMÀÐV €Š „"€Ò  €¢ &€ ÐMÀ@‡;ì& ê€ì ª%`ÐMÀ®à ÿ€¥À¦àÐ-€ ¿ÿ謠¢¤`,€Ðºøª%`€6€Ð¶“ÐV €Š „"€Ò  €¢ &€ ж“@‡ì& ê€ì ª%`擦àÐ-€¿ÿ笠кøÐJ€"€ÐO»×ª¥`<€ÐºøÐV €Š „"€Ò  €¢ &€ кø@‡ì& ê€ì ª%`кø¦àÐJ ÿÐ-€Ðºø¬  ¿ÿáÐ'ºø€"€Ð¿ø¶¦à,€Ð¿øª%`€6€Ð¶»ÐV €Š „"€Ò  €¢ &€ ж»@†Þì& ê€ì ª%`滦àÐ-€¿ÿ笠€¢ 2€ öO@пìö Ð'¿ìæ&ÀÀ'¿øöO@º`¸2¿øÏ€§ %ì& ê&€ÐV €Š „"€ôV ÐV €Š € ԠР”%€ @†¿’ €"€ôV @†´ôV €Ž  "€ºº?ÿÇà‘èã¾Ø¿8’ ” È®?ÿ@†¯ô' L¶ ’ %@…a€"€u€JÒbl° @†¦ºÐO@€¢ $2€´¿8@†¢¶" °`´¿8».à´@¸ JÒbp@†•º¬ÐM °`" %€¢ N€R›“2 “*`—*`’@ ’@’ `™*`” ¼Ö €¢À2€G€ ˜ Ð Âm<Im¨ÿÿÿÿm¼Km ÿÿÿÿm¼mLNm˜ÿÿÿÿm¼@mAmBmÿÿÿÿm¼ mÿÿÿÿm¼"mGmD¿ÿ­’ %¿ÿ¸ ¸ º €€€¦à26€€ €¥À€ú&€®€ ¶à¿ÿ›´ ¿ÿ±¸ ¿ÿñº ¿ÿïº ¿ÿíº € 2¿ÿêº ¿ÿèº € "¿ÿåº ¿ÿ㺠€:¸ ê Lº¿8¶Ô@Ô&àÐ@€2€Ð@ Ð'@Ð@" €¢ €%‘* ›’b,Ð ÂnLnTn\ndn|n”n”n”€Ð@€Ð@€Ð@Ð@° ð&`Ò € Ð Ð@° ð&`Ò €Ð Ð@° ð&`Ð ¸ €§¶à¿ÿͺ`Çàèã¿ ª¶ 2ô' Lì L´ 2® ¸€¦€"€w€’ %@„¡€"€q€JÒbt¸ @…æ°ÐN €¢ $2€€¦€@…ⶸ €¦€"€° ¿ÿæ¶à® JÒbx@…Ó¸ºÐO`¸ " %€¢ N€G›“2 “*`—*`’@ ’@’ `™*`”£ÄÖ €¢À2€<Ð@˜ Ð ÂpDIp„ÿÿÿÿp˜Kp|ÿÿÿÿp˜pTNptÿÿÿÿp˜@p\Ap\Bp\ÿÿÿÿp˜ p\ÿÿÿÿp˜"p\GpL¿ÿ¨€¦€¿ÿ° €° Ð@º ú&`Ð €úü€ Ð@€Ð@€Ž "€Ð@€Ð@Ð@º ú&`Ð €Ž ¶à¿ÿŒ´ ¿ÿ§° € €¦€"€ €Ð@® ° ð&`Ð ¶à´ €2¿ÿ{® Çàèã¿À´ úN¸ ÐO@¶ €Š "€€¹/ “/ ¸ ¸° úN ¸' 0ÐO@¶à€Š 2¿ÿ÷¹/ €€€§`$2€° ° €ø&@° Çàèã¾ ô' Lsö' P® ø' Tú' XÀ"# sÀ"#¤ÿÿ¬#ÿú@²`€2€J€Ü°# ÐO@€"€1€§`%sÐ#¤€2¿ÿòú@sÐc  Ð"c Ò’¢` €Ò&Ð º ú& €Ð @„ºJ# ÐO@€2¿ÿís€§ÿ€sÐc " € Ð"c Ðc " Ð"c @„’€¢?ÿ2¿ÿÌú@s ¿ÿÇÐ"c¤2€sú@²`€§`%2€*€§`*sÐc  Ð"c Ò’¢` €Ò&Ð ¸ ø& €Ð @ƒå¸€§¿ÿ­€§?ÿ€ sÐc " Ð"c @ƒÜ’€¢?ÿ"€€€°Ðc " Ð"c €"€{°?ÿ€y°2€¶ ú@²`¶  ÐO@¸ €Š "€€¹/ “/ ¸ ¸ ú@²`ÐO@¸' 0€Š 2¿ÿö¹/ €"€¸€§`l´€€§`h€€§`L2€€ú@²`€€O€§`[2€ @ù’¿²"€H°?ÿ ÐO@€Š "€€§`[@ƒóº´ l€§`[€€§`c€€§`n€€§`s2€˜’”š L@–¿º6€€¿ÿ®€€¦ h€Ð LsÔ£ Ð€Ô2sÔ£ ÐÔ"РL ¿ÿ8Ð' L˜”–’@š Lº&¿ÿ•€€"€s¿ÿ*®ÀÐ#¤€€€"€°?ÿ€°°?ÿÇàèã¹ ®¿À¦ ò' Hä H² ð' D$ d€¢ ‘* ö' P°   €#ú' X’a”Ð Âuìuèuèuèvuìvvvvvuôvvvvvuìvvuü¦ €¬ €¬ €¬ €´² sÐ#¤€€sÐc  Ð"c Ò’¢` €Ò'Ð º ú' €Ð @ƒ¶J# ºöNÀ€2¿ÿìs€€§ÿÐc  Ð"c Ò’¢` €Ò'Ð º ú' €Ð @‚öº€§ÿ2€€sÐc ²?ÿ" €Ð"c ê Dè X€uâ P»¼Ð'¿¼sÐc " Ð"c @‚â’€¦¤4€´$¹œ” ’š¹ Ð# `¿¼˜¹¤ø# \@ Z–¹¨€"€)s餈"€%ssÐ"h€¤`l€ Ð'¹Ð–¹Œ² ’¹ò% Ð @*”¹¨€s€¤`L€ Ж¹Œ² ’¹ò% Ð @³”¹¨€ s–¹Œ² ò% Ð ’¹@r”¹¨sÒ£ Ð¹œ’@Ò"£ ò¿¼òN@€€ºsÐc  Ð"c Ò’¢` €Ò'Ð ² ò' €Ð @‚²º€§ÿ€sÐc " € Ð"c Ðc " Ð"c @‚„’€¢?ÿ2€Ð¹¤s Ð"c¤Ð¹¤€"€ ² €² €§`+€ €§`-€€§`0"€€¤ i€€€¤ u€}  ´& €$€z€sÐc  Ð"c Ò’¢` €Ò'Ð º ú' €Ð @‚V€¢ 0€gº€¤ i€d€¦ $€c€sÐc  Ð"c Ò’¢` €Ò'Ð ¶ ö' €Ð @‚?‘* §: €¤àx€€¤àX2€EsÐW €Š @2€sЀ"€” sÐc  Ð"c Ò’¢` €Ò'Ð ¶ ö' €Ð @‚!‘* € ·: ’@‚ÛÐO €¢ 2€¶?ÿöMÀsУ  Ð"£  ÐNÀ€Š @"€s€¦ € ¬ sÐc ´& " Ð"c €´& €ºÐc " Ð"c @ü’sÐc €Ðc ¬ " Ð"c @ñ’€€€¤ u"€M€´¦ ,€J€¿þ€¥À(€ "² €pÐ"` ¶@ÐNÀ€Š "€€¥ €¥ ¶'`0€€¦à€5€"€s€‘.`€€€¥  2€‘.`‘.`²³.`€²@2€%€ÐNÀ€Š @"€!€öNÀ€Žà"€¶ W¶ 7€€¶'@‘.`²sú-àÐc ®à Ð"c Ò ° ’"`€ €Ò' Ð º ú' ¿ÿ»ú @ ¿ÿ·º"€€§ÿ€"€€§ÿ€"€€¤`l €¦@2€² €¤`l€ €¤`h€Ð¶ ö% Ð €ò2ж ö% Ð ò"€§ÿ€sÐc " € Ð"c Ðc " Ð"c @y’€¢?ÿ2€²s Ð"c¤²Çà‘èã¿ ð' D€ò' H€ö' Pì@¶ ö'`€ì ¬ ê Hº€¥`s2€T€¥`csÐ#¤€€sÐc  Ð"c Ò’¢` €Ò'Ð ¶ ö' €Ð @I²J# ¶òN@€2¿ÿìs€€¦ÿÿÐc  Ð"c Ò’¢` €Ò'Ð ¶ ö' €Ð @1¶€¦ÿÿ2€€¦ÿÿ€„¸?ÿ€¦ÿÿ"€a€¦ÿÿJ# ÐNÀ€2€[€¦ÿÿ€2€ö/@´& €€Sº`sÐc  Ð"c Ò’¢` €Ò'Ð ¶ ö' ¿ÿåö @ ¿ÿá¶2€"î Pÿÿ#ÿ€¦€"€´ sÐc  Ð"c Ò’¢` €Ò'Ð ¶ ö' €Ð @€ô€¢?ÿ€)¶€2€Ð/@´& €¿ÿéº`€!€¦ÿÿsÐc  Ð"c Ò’¢` €Ò'Ð ¶ ö' €Ð @€Ù²€¦ÿ€ ¶ÐMÀ€2€ €¦ÿÿ€2€ò/@´& €¿ÿäº`€¦ÿÿ2€€sÐc " €Ð"c $€€§@sÐc " Ð"c @€¼’€¢?ÿ2€€§@s Ð"c¤€§@2€€€¸ €€¥`c2€À/@¸ Çà‘è㿠д €¢ ^2€€° ´ €2€º º ”!’@œú€§`]€€§`-2€¯. ° ô.@¯. ¯=àú° €§`]€€2€€§`-€° €ø€§ ]€ ö?þ€¦À€¸'” ’@{@¿ÿé° ¿ÿçî.@Çàèã½@!Ð7½ø˜½ø–½ô’@딽ø@—’нô€€SÔ½ô–’ @5t˜½ðÐ½ð€¢ 2€€#ÿ€EÐ7 2€ €¢Ô½ôK’`@@€H½ ’½ @5Q €9€7¶à·6à´à€€¶ ° ºò½ðž `ò`²À²&@³.`Ð¶à€¦ÀÐ3À¿ÿõ° н𰠶 Ð €2€ нð¶àÐà° €"¿ÿý¶àнð²Ð "€¦:€ô7 Ð  Ð7 ô7 ö½ðÖàöVà–"À—*à–À Ö7 @5нðÇàèã½@!Ð7½ø–½ø’@C”Ô’bj@¡ ‘2 ºàº@’a@šà‘2 – ½ø’ ”@5 ˜½ôнô€¢ 2€€€R#ÿ2€ ö½ôK’`V”@⽤’½¤@4ë ö½ôôVà€¦¿ü4€9нô´ “> “2`’@³:`´ €¦€€ ¶àÐÀ€2€€¦€´ €¦€¿ÿú¶à€¦€6€ ö½ôнô•.` ” Ѐ Ð2€ö½ô´Ðà±.`€¦€:€Òà&€¶àÔÀ‘* Ô6Àö½ô´ Ðà° €¦€*¿ÿ÷&€Òà’"@Ò6àô½ô³.`ÒV ’@Ò6 Ð½ô@×’Ò½ô½ø€¢@"€ @4£ Ð7 Çàèã»ô' LÐ`Ð& Ð`¬½øÐ& ú €§`€€§`€ ¸` º ÐO€"€€º`ÐO€2¿ÿþº`€2€ø`€úÀ& €&€´ ª®º ¸ €¶ €§@8€®@¸º&€¶ ª €® ¶´` ÐN€¸ €¢ 0º € ª €"€ €¶àÐN€º`€¢ 0¿ÿù¸' €€è L!”Ð7½ø` –’ÿþà˜½ø’cÿÐW½ü€¢ 2€ô½úÿÿ#ÿÐ&  €ÀÐ& ÐW½ü´€´& µ. €6€ €€´ À7½üÀ7½þÀ7½ú´ €´%– €À7»ò€ $€ €!”Ð7»ð` ’ÿÿ˜»ð€ ö½ú€"€ö½úнþ Ð7½þö½ú€2€ú»ò’cÿÐW»ô€¢ €  Ð&  €ŒÐ& €ƒ¬»ð€"€òb ¨ ©5 '`‘* ´ ÔW»ô€¦À”€øW½ü €¸' нþ €qÐ7½þ“? “2`’@’*`’' ¶ ¶&À €$€ ¸“.à“2`@ç»ð»/`¸ú»ò‘/`¸'¸‘? ‘2 ¸î½ú¹? ¶¦€€¸' ¶ º@€¦À8€¶€2€®%à€º?ÿºÀ€§@&€€›/`'@‘* º'`”½þÐ €§@˜½þ¿ÿøÐ3@ €&€€€$€ €“/`½þº'`¸' À2@€6¿ÿø€€€´¸Ð»ò£/`@" "‘* š»öÐ º§` ½þ¿ÿöÐ4@ú»ò»öº'`º'@“/`Ò@€ 2€ €º'`“/`»öÒ@€ "¿ÿüº'`€&€Ò½úнþ Ð7½þÒ½ú’@Ò7½úÒW½ü·.à’"@Ò7½üòb Ò ’@Ò5 @5’Çàèã¿`ò@Õ€€º¬ è@IR¿øî¢ú €¥à4€®%฀² º@¸ ² ’”¿ô@ˆ  » !пô¹  €2€²`ô €¦ "€¹ ¼ &"€§@4€*€§ÿ€€&€§`4€²`€€»/`º@Å@Ç`€X¹§ Bº@Ô@Ö`ù; hРhÒ l˜¿ôÐ; HÁ HÔ; PÅ P  BÁ+ DРDŠ 2€ ¹  Ð#» !пô€"€Aù; ˆ€>²`€§ÿ€6€§ &€¸ $€¸?ϸ €§@&€/€º €§`4€²`€$€ »/`¦’c»/`º@ É@Ë`€$¹§ Dº@Ô@Ö`ù; hРhÒ lÀ# DÁ  D˜¿ôÐ; HÁ HÔ; PÅ P    Á+ DРDŠ#à2€ ¹  Ð#» !пô€"€ ù; ˆ€²`€€7€€5ù; ˆÐ ˆÒ ŒÐ; HÁ H…  ’`Ò# LÇ L ÂKõ 8  µ  Z‘§Zµ§Ú¯ È™ Ú­Ê,€½ 7€$€¯Š\¯ŠÈ€®ŠÞ9€ ² € €€² #€² ² ¿øò&À² @H¦ï&€@H¢¿ø² Çà‘èã¿€ò@º €2€‰´ ò¢€¦`6€…´ @H¿øø €§ €,€§ &€+® ’”¿ô@È  ¿ !пô½  €€pР€¢ "€½ ¾ô Õ” èµ. ´€ Ô€Ö ý; hРhÒ l˜¿ôÐ; HÁ HÔ; PÅ P  BÁ+ DРDŠ 2€ ½  Ð#¿ !€Dú¿ô® €¥à€0€¥à&€/€’”¿ô@š  ¿ !пô½  €€BР€¢ "€½ ¾ô Õ´ µ. –àè–€ ÔÀÖàý; hРhÒ lÀ# DÁ  D˜¿ôÐ; HÁ HÔ; PÅ P    Á+ DРDŠ#à2€ ½  Ð#¿ !€ú¿ô€€’”¿ô@l  ¿ !пô½  €€ô €¦ "€½ ¾€§`€ €ý&€ÿ& €´ ´ @H¿øô&À€´ @H¿ø´ Çà‘èã¿€ò@€2€‡´ @H¿øò ú¢€¦`4€1€¦ÿ€$€.€¦ÿ’”¿ô@<  ¿ !пô½  €€pР€¢ "€½ ¾ô Õ” èµ. ´€ Ô€Ö ý; hРhÒ l˜¿ôÐ; HÁ HÔ; PÅ P  BÁ+ DРDŠ 2€ ½  Ð#¿ !пô€"€I¿ø€N€4€¦ê&€3€’”¿ô@   ¿ !пô½  €€@Р€¢ "€½ ¾ô Õ´ µ. –àè–€ ÔÀÖàý; hРhÒ lÀ# DÁ  D˜¿ôÐ; HÁ HÔ; PÅ P    Á+ DРDŠ#à2€ ½  Ð#¿ !пô€"€¿ø€€€’”¿ô@Ú  ¿ !пô½  €€ô €¦ "€½ ¾¿øý&´ ÿ& @G‹À&À€@G‡¿ø´ Çà‘èã¿pò' Hö' PÀ'¿üø €"€º º Ѐ ”»/`”*€ ”€€¢ ê P‘* €"º ¤’`\Ð ÂtÈȈœ°ÿÀº/@ ¶ €|¸ ÿÀº@ ¶ €w¸ ÿÀº@ ¶?ÿ€r¸?ÿÿÿÿÀº@ ¸#ÿ€l¶?ÿ ö  *€¦À€ì H€2€º º  Ð'¿àÿ#ÿÐ'¿ä Ð'¿è€Bú'¿Ü?ÿó#Ö€¦À6€.”?ÿó!Ö€¦À$€ô øN   €® *²  € º "€§@6€  ¸@øO º`€2¿ÿø  ’`*¶ ¶&À €§@6€”ô €2€º º  Ð'¿à?ü Ð'¿ä Ð'¿è€ú'¿Ü’–¿üÿþú¿Ð€¢ 2€” @’¿Ð@O*¿Ü€!s’ÿüˆ¿Ü!sÀ$"pì€sì"b”sÀ""¿Ü@+’à"pÒ¿ü’@Ò'¿üÒ%@пü€€ @*пü€ú&ø& ö& пüÐ%@Çàèã¿`ò' Hö' PÀ'¿üР€"€º º Ò¿ì‘/`’*`€’@Ò/¿ìЀê P€¢ €@‘* ¤’bìР““ГГ(“L“ˆ?ÿàÀ7¿îпìÀ'¿ø Ð7¿ìÀ'¿ô€•À'¿ð?ÿàÀ7¿îпìÀ'¿ø2 Ð7¿ìÀ'¿ô€ŒÀ'¿ð?ÿàпì2 Ð7¿ìпî?ÿÀ2 Ð7¿î?ÿÐ'¿ð?ÿÐ'¿ô?ÿ€}Ð'¿ø?ÿàпì2 Ð7¿ìпî?ÿÀ ’cÿ Ð7¿î?ÿÐ'¿ð?ÿÐ'¿ô?ÿ€kÐ'¿ø ö  *€¦À€ì Hô €2€º º  Ð'¿Ðÿ#ÿÐ'¿Ô Ð'¿Ø€Bú'¿Ì?ÿó#Ö€¦À6€.”?ÿó!Ö€¦À$€ô øN   €® *²  € º "€§@6€  ¸@øO º`€2¿ÿø  ’`*¶ ¶&À €§@6€”ô €2€º º  Ð'¿Ð?ü Ð'¿Ô Ð'¿Ø€ú'¿Ì’–¿üÿþ7¿À€¢ 2€” q’¿À@Ng¿Ì€!s’ÿûÅ¿Ì!sÀ$"pì€sì"b”’@å¿Ìà"pÒ¿ü’@Ò'¿üÒ%@пü€€@)Yпü€¶¿ì¸ º ÐÀº`€§`¶àÐ&¿ÿû¸ пüÐ%@Çàèã¿xÀ'¿üР€"€º º Ò¿ø‘/`’*`€’@Ò/¿øÐ€€¢ €8‘* ¥’bР––Ä–Ä–@–h–’c€Ð¿ø* Ð7¿øÐ¿ø?à €tÐ'¿ø’c€Ð¿ø Ð7¿øÐ¿ø?à €jÐ'¿ø’c€Ð¿ø Ð7¿øÐ¿ø?à2 €`Ð'¿ø’c€Ð¿ø Ð7¿øÐ¿ø?à ÿ’cÿ €SÐ'¿øî €¥àa$€€¥ÿŸô €2€º º  Ð'¿Üÿ#ÿÐ'¿à Ð'¿ä€5ú'¿Ø€'€¥ýŸ$€ô øN  ¬  €€ º " a€§@6€ ® ¸€øO º`€2¿ÿø ® ®%àa€§@6€”ô €2€º º  Ð'¿Ü?ü Ð'¿à Ð'¿ä€ú'¿Ø”’ÿü5–¿ü€¢ "€Ð¿ü” ’ÿû¿Ø!sÀ$"pò@sò"b”’¿ø@a¿Øà"pÒ¿ü’@Ò'¿üпøÐ&пüÐ&Àпü€€@(¨Ð¿üÇàèã¿pÀ'¿üР€"€º º Ò¿ð‘/`’*`€’@Ò/¿ðЀ€¢ €>‘* ¦’`ŒÐ ˜¤™h™h˜Ð˜ü™,’cðпðÀ'¿ô* Ð7¿ðпð?ü €yÐ'¿ð’cðпðÀ'¿ô Ð7¿ðпð?ü €nÐ'¿ð’cðпð Ð7¿ðпð?ü2 Ð'¿ð?ÿ€bÐ'¿ô’cðпð Ð7¿ðпð?ü ÿ’cÿ Ð'¿ð?ÿ€SÐ'¿ôî €¥ã$€€¥üýô €2€º º  Ð'¿Ôÿ#ÿÐ'¿Ø Ð'¿Ü€5ú'¿Ð€'€¥úý$€ô øN  ¬  €€ º "#€§@6€ ® ¸€øO º`€2¿ÿø ® ®%〧@6€”ô €2€º º  Ð'¿Ô?ü Ð'¿Ø Ð'¿Ü€ú'¿Ð”’ÿüM–¿ü€¢ "€Ð¿ü” 5’ÿún¿Ð!sÀ$"pò@sò"b”’¿ð@_¿Ðà"pÒ¿ü’@Ò'¿üпðÐ&Ò& пüÐ&Àпü€€@'þпüÇàè@(#)__tbl_ntens.c 1.5 91/02/11 SMI?ð?¹™™™™™š?„záG®{?PbMÒñ©ü?6âëC->äøµˆãhñ>°Æ÷ µí>z×òš¼¯H>EyŽâ0Œ:>. è&Ö•=Û|ßÙ×½»=¥ýáyd•=q—™-ê=<%ÂhIv‚=„›†¡+›<Ò¯žçV<œÒ²—؉¼ƒ ?Çàèã¿€ð' Dò' H² ô' Lö' Pö \ø' Tú' Xô & ô'¿üÐÀ¢  €Ð&ÀÐຠú&à€Ð @vcºÐ.€Ð T’ À"РXÀ"РP¨ Ò"РP¬ À" РPÀ" РP® À"" â L€2€ .@wA¸ÐÐJä HÐ/¿û ÐO@€Š "€€¤`€¦@€Ðà´ ¢  €Ð&àÐຠú&à€Ð @v1¸º²`¿ÿèø.€¿ÿæº &€€§`+РT’ Ò"’`ÐN€ÐJ €Š "€ &  €¦@&€€§`+€2€€§`+РP€,À"€€¦@6€-º Ðà´ ¢  €Ð&àÐຠú&à€Ð @v¸º²`€ø.€€§`-2€?ÿРP’ €¦@€Ò" Ðà´ ¢  €Ð&àÐຠú&à€Ð @u븺²`€ø.€º ?ÿ€§`1Ð'¿ô€"€§`94€!€§` РT’ Ò" €¦@® Ð'¿ôРP €ú* Ðà´ ¢  €Ð&àÐຠú&à€Ð @uǸº²`€cø.€€aº €§` €€§`0€€§`I€H€§`N€ €§`i€D€§`n"€€¦@ÐO¿û€§@€Ç€¦@€LÐà´ ¢  €@Ð&àÐຠú&à€=Ð €¤`&€¹€¤`РT’ Ò"€§`0€€¤`€€§` 2€ÐN€€¦@€Ðà´ ¢  €Ð&àÐຠú&à€Ð @u‡¸º²`¿ÿçø.€¿ÿåº ÐN€€¢ 0€€¤`&€ & ÐN€€¢ 2€ &  €À'¿ô€¦@6€º Ðà´ ¢  €Ð&àÐຠú&à€Ð @ud²`ºÐ.€¸ €§`a€€§`z4€¬€¬'` ¬KÐ!¨ÐM€¥€€€§ €€¦@6€º Ðà´ ¢  €Ð&àÐຠú&à€Ð @uA²`ºÐ.€¿ÿÞ¸ €§`a€€§`z4€¬€¬'` ¬èM€¥€2€¬¬ €¥ ¸ €C€¥ €Ð T¸'  &€€’ ¸'  &€’ Ò" sÐ"bŒÐ P’ Ò"€1ì'¿ô€¦@6€º Ðà´ ¢  €Ð&àÐຠú&à€Ð @u ²`ºÐ.€¨ ¸ €§`a€€§`z4€¬€¬'` ¬KÐ!ÐJ€¥€€€¦@6€º Ðà´ ¢  €Ð&àÐຠú&à€Ð @té²`ºÐ.€¸ ¿ÿ਀§ 2€€§ РT’ Ò" sÐ"bˆÐ P’ Ò"  & Ð'¿ô€§ 2€ꀤ`РT’ Ò"РP’ Ò" è P & ¨ ¸Ð'¿ô€€€§`)€€¥áÿ6€€€¦@ú/¸¸ €®àÐà´ ¢  €Ð&àÐຠú&à€Ð @t¬²`º¿ÿåÐ.€¿ÿ㺠€€€§`)€€§ÿ"€€§`)РP’ €¦@€Ò"" Ðà´ ¢  €Ð&àÐຠú&à€Ð @t޲`º¿ÿæÐ.€¿ÿäº €§`)2€Ð T€¦@€ Ðà´ ¢  €Ð&àÐຠú&à€Ð @tv²`º€Ð.€º РT’ Ò" s€‚Ð"bˆ@th¸º²`€9ø.€€7º  0Ð/¿ëРPÀ/¿ê Ð'¿ä€§`1€€€§`94€'` À €¢"&€€Ð P¬ Ô ’ ”€Ô" РPÒ"" пäÒO¿êÒ*€®!ÿ€ ¸ ð¿ä°ÐO¿ë¸ Ð.п䀧° ¿ÿù®àпäú*®àРT’ Ò" €¦@¬ €Ð'¿ôÐà´ ¢  €Ð&àÐຠú&à€Ð @t ¸º²`€ø.€º !ý"€Ð'¿ð€.€§`1€,€§`94€+€§`0æ¿äª ¦Àæ'¿ìú,Àæ¿ì€¦@¦À°`ª€¦àÐà´ ¢  €Ð&àÐຠú&à€Ð @sø¸º²`€ø.€º €§`1€€§`94€®Àпð€¦&¿ÿàú,À®À€§`0"€f€§`0ÐN€ €¢ 1€ÐN€€¢ 9$¿ÿ„€§`1¿ÿ & '` €¢ Q€‹¬“2 ’@’ `™*`”£Ö €¢À"€ ˜ €¢ÿÿ"€€ÐO¿û˜ ˜ xÖ €¢À2¿ÿú€¢ÿÿ˜ Р´´|ÿÿÿÿµ\ÿÿÿÿµ\1µPÿÿÿÿµ\$µP%µDµPEµQµP µPÿÿÿÿµ\ µPÿÿÿÿµ\ÿÿÿÿµ\€¤`&€lпô2€Ð T€¦@€Ðà´ ¢  €Ð&àÐຠú&à€Ð @sŒ¸º²`¿ÿ.ø.€¿ÿ,º РT’ Ò"€§`0€€§` 2¿ÿ%€§`1€§` €€¤`&€F & "€¬% €¦@¬ € Ðà´ ¢  €Ð&àÐຠú&à€Ð @sf¸º²`¿ÿáø.€¿ÿߺ РXô"пô€¢?ÿ"€r€¤`пô€$€¢€§`+РPÒ ’@€œÒ" €2¿ÿñРXÐO¿û€§@€€¦@€Ðà´ ¢  €Ð&àÐຠú&à€Ð @s;¸º²`€ ø.€€ º пô€$€I€¤`РPÒ €C’@пô€&€ РT & ÐLÒO¿û€¢ 2€  РTЀ€€¢ €€¢ "€Ð T€ 0РT€’ ’ Ò" 0Ð/¿éРPÀ/¿è Ð'¿ä€§`1€›€§`94€š'` РTЀ¢ 2€Ð¿ôРT’ Ò"пô €¢ 6€ À ¨ Ð'¿ôÐ¿ä” ú*РP€(®à €¢"&€°€Ð PÒ ’@Ò" РP’ Ò"" пäÒO¿èÒ*€®!ÿì¿ä¸ €§€ ¬€ÐO¿é¸ Ð-€Ð¿ä€§¬ ¿ÿù®àÐ¿ä¨ ú*РP®àÔ ”"€Ô" €¦@¨ €¬ Ðà´ ¢  €Ð&àÐຠú&à€Ð @rº¸º²`€ø.€º !ý"€Ð'¿ð€;€§`1€9€§`94€8€§`0à¿äª  ¦€¦@°`ú,À¦¦à€ªÐà´ ¢  €Ð&àÐຠú&à€Ð @r“¸º²`€ø.€º €§`1€€§`94€ÐN€Ð¿ð€¦&¿ÿဦ@ÐN€ €¢ 1&€ & ÐN€€¢ 9$€Ð P & Ð P®ÀÒ ’"@Ò" €§`02¿ÿi€§`1€h€¦@'` €¢ Q€°®“2 ’@’ `™*`”¡8Ö €¢À"€ ˜ €¢ÿÿ"€¥Ð¿ô˜ ˜ xÖ €¢À2¿ÿú€¢ÿÿ˜ Р¹¸º4ÿÿÿÿ»˜ÿÿÿÿ»˜1»Œÿÿÿÿ»˜$»Œ%»PD»ŒE»PQ»Œ »Œÿÿÿÿ»˜ »Œÿÿÿÿ»˜ÿÿÿÿ»˜€¤`&€xпô2€Ð Tпô€¢?ÿ"€À'¿ô€¦@€Ðà´ ¢  €Ð&àÐຠú&à€Ð @r¸º²`¿ÿø.€¿ÿ º РTЀ¢ 2€Ð¿ôРT’ Ò"пô€¢?ÿ"€À'¿ô€¦@€¨ Ðà´ ¢  €Ð&àÐຠú&à€Ð @qü¸º²`€ø.€º €§`0€€§` 2€ÐN€€§` €€¤`&€0 & "€¨% €¦@¿ÿò¨ Ðà´ ¢  €Ð&àÐຠú&à€Ð @qÛ¸º²`¿ÿâø.€ €¢ 0"¿þÉ€§`1¿þÆ & Ð Xô"пô€¢?ÿ"€ã€¤`пô€$€€§`+РPÒ ’@€ Ò" €2¿ÿñРXпô€$€Ó€¤`РPÒ €Í’@€§`+¸ ° €1€§`-€/€¦@6€º Ðà´ ¢  €Ð&àÐຠú&à€Ð @q¡¬º²`ì.€€¤`€€§` 2€€§`+€¦@6€º Ðà´ ¢  €Ð&àÐຠú&à€Ð @q‰¬º²`ì.€€§` "¿ÿ퀦@€§`+€€¦@€Ðà´ ¢  €Ð&àÐຠú&à€Ð @qq¬º²`€ì.€€º €§`-€€¦@6€º Ðà´ ¢  €Ð&àÐຠú&à€Ð @qY¬º²`ì.€° )õဧ`0€€§`9$€€§` €§` 2€[€¦ €§` €€¤`&€V€¦ 2€º 0€¦@€Ðà´ ¢  €Ð&àÐຠú&à€Ð @q5¬º²`¿ÿßì.€¿ÿݺ €§€ ¹/ •/ ” ”€–" 0¸ €¦@6€º Ðà´ ¢  €Ð&àÐຠú&à€Ð @q¬º²`ì.€Ð TÐ" €¢ ¿ÿ»‘* ¯’btР¾ˆ¾ˆ¾˜¾¨¾¸Ð T’ ¿ÿ­Ò"РT’ ¿ÿ©Ò"РT’ ¿ÿ¥Ò"РT’ ¿ÿ¡Ò"€Ð PÒ €’"@Ò ’@Ò" €¤`&€"пô& €¤"€  €§` 2€€€¦@6€¬ Ðà´ ¢  €Ð&àÐຠú&à€Ð @pѲ`¬Ð.€€¥  "¿ÿ@€"€ & Ð¿ô€¢ €Ð PÀ"РP À*РPî""пü€¤*€Ð TÒ D  € à"`À"РDÒ¿üÒ"РP’ À" РPÒ"€¦@6€À. Ð DЀ¦€*€À. ÐN€€¢?ÿ"€ ²&`’@p¡ÐN€€¢?ÿ"€À. ²&`¿ÿð´& Ð `ò"Çàè㿨Kð' Dý Dò' HÁ!Øÿ HÁ?¿øÐ¿ø¶¿ð€€ý?¿ð€º º ¹/`øÀü´2€üš š#@›+`ÿÿ˜#ÿÚÀ ¸ š— "€º €º €¦€"€š €º š#@›+`ÿ˜#ÿÚÀ ˜ š“ 2€€º €"€º º Çà‘è㿸ð' Dò' HàHÁ Dƒ @Ã# @ð @Çàè㿈ð' Dö' P \® ø' Tú' Xø° ŸÀ@ø'¿üºú/РT’ €À"РX¤' À"РPª Ò"РP¨ À" РPÀ" РP€À"" € .@q%¶ÐÀÐJÐ/¿û ÐO@€Š "€€¦ €¦€  \¸ ŸÀ@° º¿ÿòú/ ¿ÿðº &€€§`+РT’ Ò"’`ÐOÐJ €Š "€¤' ¤€¦&€€§`+€2€€§`+РP€À"€ €¦6€º  \¸ ŸÀ@° º€ú/ €§`-2€?ÿРP’ €¦€ Ò"  \¸ ŸÀ@° º€ú/ º ?ÿ€§`1Ð'¿ô€€§`94€€§` РT’ Ò" €¦® Ð'¿ôРP¤€ ú*  \¸ ŸÀ@° º€ú/ €º €§` €€§`0€€§`I€;€§`N€€§`i€7€§`n"€~€¦ÐO¿û€§@€¿€¦€ù \¸ ŸÀ@° º€îú/ €¦ &€´€¦ Ð T’ Ò"€§`0€€¦ €€§` 2€ÐO€¦€  \¸ ŸÀ@° º¿ÿñú/ ¿ÿïº ÐO€¢ 0€€¦ &€¤' ÐO€¢ 2€¤' ¤€ÎÀ'¿ô€¦6€º  \¸ ŸÀ@° ºú/ ª €§`a€€§`z4€¨€¨'` ¨KÐ"¶ÐNÀ€¥€€¥`€ €¦6€º  \¸ ŸÀ@° ºú/ ¿ÿçª`€§`a€€§`z4€¨€¨'` ¨öNÀ€¥2€¨¨`€¥ ª`€Z€¥ €Ð Tª%`¤'€’ ª%`¤'’ Ò" sÐ"bŒÐ P’ Ò"€Hè'¿ô€¦6€º  \¸ ŸÀ@° ºú/ ¶ ¨ €§`a€€§`z4€ª€ª'` ªKÐ" ÐJ€¥@€ €¦6€º  \¸ ŸÀ@° ºú/ ¨ ¿ÿé¶€¥ 2€€¥ РT’ Ò" sÐ"bˆÐ P’ Ò" ¤' Ð'¿ô€¥ 2€€¦ Ð T’ Ò"РP’ Ò" è P¤' ¨ ªÐ'¿ô€€€§`)€€¥áÿ6€€€¦ú-@ªª`€ ®à \¸ ŸÀ@° º¿ÿîú/ ¿ÿìº €€€§`)€€§ÿ"€€§`)РP’ €¦€ Ò""  \¸ ŸÀ@° º¿ÿïú/ ¿ÿíº €§`)2€Ð T€¦€ ¤Â \¸ ŸÀ@° º€ú/ º РT’ Ò" s€ÆÐ"bˆ€üº â P 0Ð/¿ï¢` À/¿î€§`1€f€§`94€e'` À €¢"&€€Ð Pª`Ô ’ ”€Ô" РPÒ"" ÐO¿îÐ,@€®!ÿ€ ¶ ¬@ÐO¿ï¶à€¦ÀÐ-€¬@¬ ¿ÿú®àú,@®àРT’ Ò" €¦ª € Ð'¿ô \¸ ŸÀ@° º€ú/ º !ý"€Ð'¿ð€"€§`1€ €§`94€€§`0 @¦¬ €¦¶ ú,À¦¦à€ ¬Â \¸ ŸÀ@° º€ú/ º €§`1€€§`94€®Àпð€¦À&¿ÿ뀦®À€§`0"€\€§`0ÐO¤€¢ 1€ÐO€¢ 9$¿ÿž€§`1¿ÿ›¤' '` €¢ Q€w²“2 ’@’ `™*`”¡¤Ö €¢À"€ ˜ €¢ÿÿ"€lÐO¿û˜ ˜ xÖ €¢À2¿ÿú€¢ÿÿ˜ Ð ÂÊ$ÊhÿÿÿÿË ÿÿÿÿË 1ËÿÿÿÿË $Ë%ÊØDËEÊØQË ËÿÿÿÿË ËÿÿÿÿË ÿÿÿÿË €¦ &€Nпô2€Ð T€¦€  \¸ ŸÀ@° º¿ÿRú/ ¿ÿPº РT’ Ò"€§`0€€§` 2¿ÿI€§`1€§` €€¦ &€2¤' "€ª%`€¦ª`€ ¤Â \¸ ŸÀ@° º¿ÿëú/ ¿ÿéº Ð Xø"пô€¢?ÿ"€쀦 Ð¿ô€$€X€§`+РPÒ ’@€RÒ" €2¿ÿñРXÐO¿û€§@€ €¦€  \¸ ŸÀ@° º€ ú/ €º пô€$€Í€¦ €ÇРPпô€&€ РT¤' ÐL€ÒO¿û€¢ 2€¤ Ð TЀ€€¢ €€¢ "€Ð T€â PРT€’ ’ Ò"â P 0Ð/¿í¢` À/¿ì€§`1€~€§`94€}'` РTЀ¢ 2€Ð¿ôРT’ Ò"пô¤€¢ 6€ À ¨ ” Ð'¿ôú,@РP€$®à €¢"&€ ¬@РPÒ ’@Ò" РP’ Ò"" ÐO¿ìÐ,@€®!ÿ¶ €¦À€ ª@ÐO¿í¶à€¦ÀÐ-@ª@ª`¿ÿú®àú,@РP¨ Ô ®à”"€Ô" €¦¨ € ª  \¸ ŸÀ@° º€ú/ º  !ý $€€.€§`1€,€§`94€+€§`0¤@¦¬ €¦¶ ú,À¦€¦à€ ¬Â \¸ ŸÀ@° º€ú/ º €§`1€€§`9€€¦À&¿ÿ퀦ÐO¤€¢ 1&€¤' ÐO€¢ 9$€Ð P¤' РP®ÀÒ ’"@Ò" €§`02¿ÿ†€§`1€^€¦'` €¢ Q€’³“2 ’@’ `™*`”¢TÖ €¢À"€ ˜ €¢ÿÿ"€‡Ð¿ô˜ ˜ xÖ €¢À2¿ÿú€¢ÿÿ˜ Ð ÂÎÔÏ(ÿÿÿÿÐ<ÿÿÿÿÐ<1Ð0ÿÿÿÿÐ<$Ð0%ÏôDÐ0EÏôQÐ0 Ð0ÿÿÿÿÐ< Ð0ÿÿÿÿÐ<ÿÿÿÿÐ<€¦ &€Zпô2€Ð Tпô€¢?ÿ"€À'¿ô€¦€  \¸ ŸÀ@° º¿ÿ6ú/ ¿ÿ4º РTЀ¢ 2€Ð¿ôРT’ Ò"пô€¢?ÿ"€À'¿ô€¦€ ¨  \¸ ŸÀ@° º€ú/ º €§`0€€§` 2€ÐO€§` €€¦ &€&¤' "€¨% €¦¿ÿò¨  \¸ ŸÀ@° º¿ÿìú/ ¤€¢ 0"¿ÿ€§`1¿ÿ¤' РXø"пô€¢?ÿ"€¥€¦ Ð¿ô€$€€§`+РPÒ ’@€ Ò" €2¿ÿñРXпô€$€•€¦ €Ð P€§`+ª ¶ €€§`-€€¦6€º  \¸ ŸÀ@° ºú/ €¦ €€§` 2€€§`+€¦6€º  \¸ ŸÀ@° ºú/ €§` "¿ÿ÷€¦€§`+€ €¦€  \¸ ŸÀ@° º€ú/ €º €§`-€ €¦6€º  \¸ ŸÀ@° ºú/ ¶ )õဧ`0€€§`9$€€§` €§` 2€G€¦à€§` €€¦ &€B€¦à2€º 0€¦€  \¸ ŸÀ@° º¿ÿéú/ ¿ÿçº €¥@€¤«-`•-`”@ ”€–" 0ª €¦6€º  \¸ ŸÀ@° ºú/ РTÐ" €¢ ¿ÿÏ‘* ´’b Ð ÂÒ4Ò4ÒDÒTÒdРT’ ¿ÿÁÒ"РT’ ¿ÿ½Ò"РT’ ¿ÿ¹Ò"РT’ ¿ÿµÒ"€Ð PÒ €’"@Ò ’@Ò" €¦ &€Ð¿ô' €¤€"€¤ €§` 2€€€¦6€º  \¸ ŸÀ@° ºú/ €§` "¿ÿ÷€¦€"€¤' пô€¢ €Ð PÀ"РP À*РPî""пü€¤€*€Ð TÒ D¤ € ä"`À"РDÒ¿üÒ"РP’ À" РPÒ"€¦6€À/ Рd€"€À/ РDЀ§*€À/ ÐO€¢?ÿ"€ °&  dŸÀ@ÐO€¢?ÿ"€À/ °& ¿ÿð¸' Р`ð"Çàèã½x;s ð' D’¿ô”½àò' Húbh–½ÜÐ'¿ø Dú'¿ô@aô'¿ü’½à”@–Çà‘èã¿ – ¸¶ ÿÿçèã¿ @øèã¿ @º ¸€ "€2sK’bH@kK’b‰@k€ €º K’bÁ@k€ "€€ K’bÌ@k€ "€€ K’bà@jú€ "€€ K’bí@jó€ "€KK’bù@jìK’c @jèsÐ"Œ€"€sK’c@jߺ sÐ"ˆ€"€sK’cn@jÕº sÐ"x€"€sK’cÈ@j˺ sÐ"t€€L’`!@jº @®€¢ €€¢ € €¢ "€ L€L’`t€L’`±€’`òº @j©@€¢ €€¢ 2€ HL’a3€L’awº @j˜HÐ!¨€€€¢ "€L€ KL’a»€’bº @j†KÐ"D€€ L’bT@j~L’bŒ€<@Y¸€,L’bÌ@jr€ €º L’c@jk€ "€€ L’c#@jd€ "€€ L’c0@j]€ "€€ L’c<@jV€ "€LL’cP@jOL’cc@jK@#€"€ €§`L’ce@jBL’c™º @j<€§`€ L’c×@j6M’`@j2@k°èÇàèã¿ ° ÿÿ è㿘Á+ @ð @±> ° Çàè㿘Á+ @ð @±> ° Çàè㿘Á+ @ð @±> ° Çàè㿘Á+ @ð @±> ° Çàè㿘°ÇàèM Ðý >ÿ Ãàƒ ?M àý >ÿ Ãàƒ ?M Øý >ÿ Ãàƒ ?M Èý >ÿ Ãàƒ ?M ý >ÿ Ãàƒ ?M €ý >ÿ Ãàƒ ?M ˆý >ÿ Ãàƒ ?ÐàšŠ 2€ àÿÿ’cÿ€Š "€ € €£@ "€ÿ€  ’cÿ’Š 2€€ €Š "€  Ãàã¿À€¦` €¶  ¸ к €€ €§`6€ €§` ¸ к`€¿ÿù€§`&€¸ €:À& º  º`€§`À"¿ÿü¸ €1ö& €¦` &€€¦`Ð €"€º Ð  Ð& º “/` ’ Ð@º§`¿ÿûÐ"`²&` €¦` ¿ÿïÀ& €¦`€ª ª%@¸ º ®  öº`­6À®À·.À€§`î"®¿ÿö¸ €€Ð  Ð& ÇàèsÔ¢”€¢ €•* ¶’cXÔ€ €ÛhÛpÛxÛˆ€ € €2€  Ãàã¿ º`€§`€5 ¹/` Ѐ"€ º`“.` ’ Ð@ €Ð"@€§`¿ÿó¸ ».` ºÐ@€€]@Ѐ2¿ÿ””£ðпø?ü* ”¿ð Ð7¿øÐ¿ø2 Ð'¿ø€?ÿ’cð»/`Ô¿øº@ ”*€ ”€Ô7¿øÿÐ ’cÿÚ¿ø ?ü* š @ š@Ú'¿øÐ Ð'¿üпøÐ&@Ò&`Çàèã¿Ð º/@ ‘* –@Ð º €¢ €m‘* ¸’c Ð Âã4ä¸ã€ãHã\ÿÀº/@ ° €^¸ ÿÀº@ ° €Y¸ ÿÀº@ ÿÿø ’cÿ¸ €O¸ sÐ"€¢ €€¢ "€ €Ò ÿþs’¿ü’¿ü@9b€Ò ÿÿ’¿ð’¿ð@:´Ò #ÿ’@Ò& ø €4€’ ÿÀº/@ ’ ÿýxÿýß’ sÐ"p€Š "€ÿÀ@:_ ÿÀ€º/@ ÿýÓø #ÿ€§&€¹/ @:R @:P ÿý¯Ð€¿ÿ³ÿÀº/@ ÿ€º@ °?ÿ€¸?ÿÿÀ¸ º/@ º@ø ð ú&@ø&`ð&`Çàèã¿ÐÔ¿ð‘* ”* €”€Ô/¿ðÐ €¢ €œ‘* ¹’a Ð Âå ç`å åDåh?ÿàÀ7¿òпðÀ'¿ü Ð7¿ðÀ'¿ø€‰À'¿ô?ÿàÀ7¿òпðÀ'¿ü2 Ð7¿ðÀ'¿ø€€À'¿ô?ÿàпð2 ’ Ð7¿ðÿýÐ ?’cÿ  €k ’ ÿýÒ #ÿ’@Ò& Ð €4€+’ ?ÿàпð Ð7¿ðÐ ’ ’"@ÿüÿÿýf’ Ð @€¢ 2€s?ÿàÀ7¿òпðÀ'¿ü  Ð7¿ð À'¿ø@9ÝÀ'¿ô€I¸¿ðÐ"p€Š "€?ÿà@9Õ ?ÿàпð €2Ð7¿ðÿýGÐ €€¢ 2€@Ð& Ð  Ð& ú #ÿ€§@&€?ÿà@9¼ @9º ÿýЀ¿ÿœ?ÿàпð ’cþ Ð7¿ðпò?ÿÀ2 Ð7¿ò?ÿÐ'¿ô?ÿÐ'¿ø€?ÿÔ¿ðº/@ ” € ”€Ô7¿ð?Ð ’cÿ Ð7¿òÐ Ð'¿ôÐ Ð'¿øÐ Ð'¿ü¸¿ðº ° а €¦ ¸ Ð&@¿ÿûº`Çàèã½x/sîâh Ð'¿ø”½à’¿ôî'¿ôò'¿ü@¦–½ÜÐ½äº Ð&ÀÐ½à€€€¢ €€¢ 2€&”нè€Ð&€€´ º½ì¶úO@° €¦ú.Àº½ìº€¶¶à´¿ÿ÷º`€À/€° € ú&€¶º 0´ €¦€ú.À¶¶à¿ÿû°€À/À&€Ð½à@ ù’Çà‘èã½x;súbhÀ'¿ø”½à’¿ôú'¿ô–½Üò'¿ü@fнäÐ&ÀÀ&€Ð½Ü€Š "€Ð½à€3À/€€€¢ €€¢ 2€*”€€Ð¿ð"¶½ìÐ&€Ð¿ð´ €¦€€ °öNÀö.¶½ì¶€°Ð¿ð´ €¦€° ¿ÿ÷¶à€À/€¦` 0° € Ð/¶ º 0´ €¦€ú.À¶¶à¿ÿû°€À/@ ²’Çà‘èã½x;súbh Ð'¿ø”½à’¿ô–½Üú'¿ô@ò'¿ü’½à”@ –Çà‘è㿈Á…  Å# hРhÇ# h@hÒ h‡ ÀÇ'¿øÁ¿øÇàè㿈É $Í# hРhÏ# h@ËÒ h ÀÏ'¿øÁ¿øÇàè㿈Ñ@• (ÐÕ# hÒ h×# h@/Ô h— À×'¿øÁ¿øÇàè㿈Ù ,Ý# hРhß# h@ÂÒ hŸ Àß'¿øÁ¿øÇàè㿈ᥠ0å# hРhç# h@5Ò h§ Àç'¿øÁ¿øÇàè㿈é@­ 4Ðí# hÒ hï# h@£Ô h¯ Àï'¿øÁ¿øÇàèã¿h€ò' Hô' L€í H­ ¶° €2€€¦ í; pð pò t@è2€­ŠVí; pð pò t@yè3€M€~½¥ˆVÉ!p­ŠD3€Müí; hРhí; ` €¢ €  í `€2€ð# hM€iý!pÏ h‘ ª Ö-€(¹¥‰Ví; xРxÒ |@äí; `í `í; xРxÒ |º @MÁ; h¿ !í `½  õ h€¦ $€Q >Mñ!x¹ >ú# ˆ× ˆ™  º`™¦ L» ?€§@™£ Ö™ ,½£ ^½§ˆÚ· =¿ÿóµ <€> >Mý!pº €§@€Mõ!xú# €Ã €… …¦‰Bº'`½ ˆÞ€§@½§ Þ¿ÿø½ >Mñ!xð# €Ù €©  Mº& ©¦ T€©¥Þ©¥‰Ô© 4ý!€· 5€µ 4¹ >ú# Ã … º'`…¦ B» ?€… ‰Ö… "½ ‰^½§ˆÚ· =¿ÿóµ <í; €Ð €Ò „é; `@ý; xé `©¥ @ý x½¥ Þ½ > >ƒ ?Çàèã¿pò' Hô' Lí H­ŠV3€M€u½¥ˆVå!ˆ­ŠÒ+€€€ð# pë p± ¸ ñ# tð tó# tò tí; xô xö |ÿÄYèó pµ ¸ õ# tð t÷# tò tí; xô xö |ÿÄMè€ ¸ ° “6 ’@’*`’& €¢`"€¸?ÿ€2€€¦ í; pð pò t@Ëè2€ üí; pРpÒ t@Dý; hø# h÷ h½ €8½  ^í; hРhí; ` €¢ €  í `€2€í; xM€)ý!ˆÐ xÒ |@¬í; `í `í; xРxÒ |º @%Á; h¿ !í `½  õ h€¦ $€ø# hMñ!¹ >ú# ˆÇ ˆ‰ º`‰¦ D» ?€§@‰¡ Ö‰ $½¡ ^½§ˆÚ· =¿ÿóµ <ø# hÛ h  ½§‰N >ƒ ?Çàèã¿pMü– ´"ð' DM€¢À ?ü¶!Ѐò' H”. €’€€  €"€MàH‡ !Á D…  €f½ BÍ#ÐÓ HÑ Dª Æ9€› ) °ð' D› )MÕ#ØÙ D« Ê=€:Ÿ -ü° €¦ €  €2€Ò HM€Hý#Ð@ìРDM!Èåç á D± 0ã HM¥¤Ò!À³ 1å?¿øíï µ¥‰Øµ :õ# hРh÷# hÿÂßÒ hпøÿ¹žÁ?¿ðпøÿ¹ËÁ?¿èssÉ¿è’c¨#°ùû ¹§ @Å@Ç`… ‰Dý¿ð… ˆÜ€½§‰Bº M ,£ /¡ .½ &µ£‰P¿ '¹ >» ?¹§ Z¹/`¸Í½§‰ZÏ ¹§FÁà ½§ˆ@º§`<¿ÿõ¹§ Z½§‰Ü½ > >ƒ ?Çàèã¿hMü– ´#ˆð' DM€¢À ?ü¶#@€ò' H”. €’€€  €"€M× H› +Õ D™ *€†½¢ˆLá#àç Hå D¬ŠÐ+€M¯ 3­ 2­ŠP#€ò H¸ ¶´ÿÃFèð D¶´¸ ÿÃ@èñ#è÷ Hõ D®ŠØ=€;ƒ ;РDü €¢ €  €2€Ò HM€Zý#à@\РDM!ÈÅÇ Á D‘  àHM… Â!À“ !Å?¿øÍÏ •¡‰È• *Õ# hРh×# hÿÂOÒ hпøÿ¹>Á?¿ðпøÿ¹ Á?¿èsså¿è’c¨#°ÙÛ ™£ @á@ã`¡¤ Rý¿ð¡¤L€.½§‰PMýcà :º ‡ !…  » ?µ  B¹ >¹§ Z¹/`¸å½§‰Zç ¹§RÙÛ ½§ˆLº§`<¿ÿõ¹§ ZÒ HРDù; hÿþòý; pРDÒ H@7<Á?¿àù hý p½§‰Ü½ >Mñ¿à!Àíï ­¥‰X¥‰@½§ˆ@ >ƒ ?Çàèã¿ ð' DMò' H°#Mó Hñ D‘¦ X²"ÐM´"˜M¶"`Mõ#𵦉ȵ :Mýcøº » ?¹ >¹§ Z¹/`¸Å½§‰ZÇ ¹§Béë ½§ˆTº§`<¿ÿõ¹§ Z§‰Ü &s#¨Mº Í"Ï" ýcø» ?¹ >¹§ Z¹/`¸é½§‰Zë ¹§TÝß ½§ˆNº§`<¿ÿõ¹§ Z½§‰Ü½ >Nõ s’c°µ¦‰Øµ :‰¦‰^É"@Ë"`Çàèã¿pNü– ´ ˆð' DN€¢À ?ü¶ @€ò' H”. €’€€  €"€ÿ HàH‡ !Á D…  €v½ B“ ?ý D‘ >NÍ"Pª Æ9€N— ?• >¿ +½ ªNÙ"X¯ŠÌ=€Jµ§‰^ü° €¦  €ý; ` ý `€2€ ý; hNý"`ã Há D½§‰Ð€Q½ >РhÒ l@ý; `NNé"h’`8í@ï`©¥ VÁ `N 0© Ôé?¿øùû § À  Á# hРhÃ# hÿÁfÒ hпøÿ¸%Á?¿ðпøÿ¸RÁ?¿ès#ÀÅÇ … ‰@sÑ¿è’c¸Í@Ï`¡‰HNå"Pý¿ð¡ˆÂé Dë H­ Ò€½§‰F€½ ¾¿ 'º N½ &¹ &» '¹§ Z¹/`¸Ù½§‰ZÛ ¹§LÍÏ ½§ˆFº§`<¿ÿõ¹§ Zã Há D½¤ ^½§‰Ü½ > >ƒ ?Çàèã¿hNü– ´"ð' DN€¢À ?ü¶!°€ò' H”. €’€€  €"€Nï H³ 7í D± 6€“½¥ˆXù"pÿ Hý D¯ŠÜ+€N‡ ?… >¨Š\#€ò H¸ ¶´ÿÁÆèð D¶´¸ ÿÁÀèÉ"xÏ HÍ D©ŠÄ=€>› 'РDü €¢ €  €2€Ò HN€gý"p@iРDNNÕ"€’`8Ù@Û`•¢‰Lá D­ 0ã HN•¤Ê 0¯ 1Õ?¿øéë ±¥ Ö± 8ñ# hРhó# hÿÀÌÒ hпøÿ·»Á?¿ðпøÿ·ˆÁ?¿ès#Àõ÷ µ¦‰@sÅ¿è’c¸ý¿ðÁ@Ã`  B Z€8½§‰@Nýbp™ &º Ÿ - ,» ?µ£ N¹ >¹§ Z¹/`¸É½§‰ZË ¹§Dñó ½§ˆXº§`<¿ÿõ¹§ ZÒ HРDù; hÿþßý; pРDÒ H@5¹Á?¿àNá"ˆÕ D± *× H¡¤ Ê¡ 0ý pù hݿೠ+N’`0é@ë`£‰@½¦ ^¡£ˆÐ½§‰Ü½ >©¥ P½§ˆT >ƒ ?Çàèã¿ ð' DNò' H°!xNó Hñ D¦ X²!@N´!N¶ ÐNõ"µ¦‰Æµ :Nýb˜º » ?¹ >¹§ Z¹/`¸Á½§‰Zà ¹§@åç ½§ˆRº§`<¿ÿõ¹§ Z‰§‰Ü‰ $s#¸Nº É"Ë" ýb˜» ?¹ >¹§ Z¹/`¸å½§‰Zç ¹§RÙÛ ½§ˆLº§`<¿ÿõ¹§ Z½§‰Ü½ >Ní" s’cÀ­¥‰Ø­ 6…¥‰^Å"@Ç"`Çàèã¿€Nð' Dò' HÁ"øNÁ?¿øÅ#пø² D€¶¿ð€Å?¿ð€´ ´ ». ¸@ðü° €¦ 2€NNý#Ï HÍ D€i½¡‰^Õ#Û HÙ D« J#€î¿ -€_½ ,Ð ® À €€Ð'Ô¸ÀÐ'á¿ðÝ Dß H¡¤ N’ á?¿ð@a£ÐNÒbÈ € Ð'Ð@@a›’ NÒbÄ Ð&Àõ¿ð½¦‰Zó Hñ DN½§‰Ø½ >"ÐÉË N"ØÑÓ N’bàÙ@Û`N”¢èå€ç ½§‰Z‰¡^‘¢ Ä‘ (‰¡LN–âðíÀïà "‘* ºÀ‰¡H¥¤‰Ä¥ 2­¥ˆRµ¦‰Võ?¿ðÀ&ÀÐ@ Ð'`ù¿ð½§ \Í DÏ H½¡‰Þ½ >•§\•¢ˆ^½§ˆÜ½§‰Ê½ >½§ ^¹§^ù?¿ðÐ@Ð'@ý¿ð >ƒ ?Çàè㿈Á…  Å# hРhÇ# h@Ò h‡ ÀÇ'¿øÁ¿øÇàè㿈É $Í# hРhÏ# h@§Ò h ÀÏ'¿øÁ¿øÇàèã¿ü ð' D° €¦ €ò' H €2€Ð DàHÁ D…  ‡ !¨ B3€O‹ !‰   % $€„½¡FÐ  Ô D ” € *  Ð; H€{ý HÒ H‘* ‘2 Ð; HOÕ ¨ý H¯ŠÊ+€NON’c`Ù@Û`™£^á@ã`¬ L#€ ½§‰^N#håç ë Hé D€]½¤‰TNN#¸˜#˜áã ¡§‰Pñó ±¦^Nšcé@±§‰Xë`©¥PN’c°Á@©§‰TÃ` XNžãˆõÀ§‰@÷൦ˆTN”£¨Í€µ§‰ZÏ ¡ˆ@!N #€Å§‰FÇ … ˆZ#NN–ã ½§‰B¢cxÑ@Ó`½¢^ÙÀÛà™£Fß H½§‰Ì½ >Ý D€$½§‰Ná °¯ŠÐ=€ý; hN#Xý€ÿ Рh@Ò l¿ !½  N#Péë ç Hå D¬ŠÔ€N#`íï €½¥ˆÞ#`õ÷ ½§ˆÚ >ƒ ?Çàèã¿pü ð' D° €¦ €ò' H €2€Ð DàHÁ D…  ‡ !¨ B3€— !‹ !‰   % $€8½¡FN#P•  ÙÛ ªŠÌ=€O¿ -€,½ ,€*ý ¸Ò H‘* ‘2 Ð; HOá Àý H¯ŠÐ+€ OÒ Hÿÿ,РD¿ !N#`å½  €ç í ȯŠÖ+€iNO ñó ±¦^O’`É@±§‰XË`O” Õ€‰¡X× O‰§‰D–à áÀãà•¢ˆDOO˜ (•§‰J åç ¡¤J¥§‰Ríï N¡§‰P’cÀOš`0Å@¡¥ˆPÇ`N¡§‰Pí@ï`­¥ˆR”£ÈOžà8¡ ˆP­§‰VÑÀÓàÅ€¡§‰PÇ … ˆVN–ãÐ!O¡¢P…§‰B  @ÝÑÀ¡§‰PÓà‘¢Bß N¡£ˆP‘§‰H˜#ØNšcàÝß £ˆHé@ë`§‰NNžãèÁÀ©¥NÃà©§‰T!N #ðÍ TÏ §‰@#N¢cø¡ˆ@Ù@§‰FÛ`™£F™£ Й ,€vÙ?¿ø#Péë ç Hå D¬ŠÔ9€OOí ЯŠÖ=€ ONOý ¸’cXõ@÷`€’½§ˆÚÁ دŠÀ=€ ¹§‰^N’cXÅ@‰ "Ç`‹ #€…½ ‰DN#`Õ× ¹¢‰Ü¹ <O xÝß O påç O’`€é@ë`O’`Hí@ï`O¥§ R£ˆ\” ˆÅ€Ç ­¥ˆR§ NO” Pɀˠ­§ V©¥NO–àÑÀÓà‰¡V©§ TO–àXÕÀ×à‰§ D… ˆTO˜ ˜Ýß •¢ˆD…§ BO˜ `áã •§ J‘¢BOš`hí@ï`¡¤J‘§ HN#p¡§ P£ˆHÍ­¥ˆP­¥‰Î­ 6Ï ¹§ V¡ˆÜ¡‰Þ &Í?¿øOÙ à™§‰LOŸ Lß# pá èú pú# på p© ©¥ P· 5µ ´µ¦‰Tõ# pРp÷# pÒ pé; `@7¡ý; hù `É hÁ?¿ð¡܉¡\  ‰  DÉ# pРpË# p@7•Ò pÍ¿ð¡‰@N#Páã ý¿ø½§‰FÝ Dß H«ŠÐ-€ >Oå ¸½¤ˆÞ >ƒ ?Çàè㿨 Ð'¿ðÁ¿ðÐ'¿üÇàè㿨ÿ#ÿÐ'¿ðÁ¿ðÐ'¿üÇàè㿨 Ð'¿ðÁ¿ðÐ'¿üÇàè㿨ßÿ#ÿÐ'¿ðÁ¿ðÐ'¿üÇàè㿨àÐ'¿ðÁ¿ðÐ'¿üÇàè㿨ÿÿ#ÿÐ'¿ðÁ¿ðÐ'¿üÇàè㿨à Ð'¿ðÁ¿ðÐ'¿üÇàèã½x/sîâh Ð'¿ø”½à’¿ôî'¿ôò'¿ü@?–½ÜÐ½äº Ð&ÀÐ½à€€€¢ €€¢ 2€”нè”Ð&€@_ß’½ì€ À/”’ 0@_Ìú&€€À/À&€Ð½à@9’Çà‘èã½x;súbhÀ'¿ø”½à’¿ôú'¿ô–½Üò'¿ü@нäÐ&ÀÐ½à€€€¢ €€¢ 2€”€€Ð¿ð"Ð&€Ô¿ð@_²’½ìпð€À/€¦` 0À&€€Ð/”’ 0@_š€ À/ 0Ð/€À/ À&€Ð½à@’Çà‘èã½x;súbh Ð'¿ø”½à’¿ô–½Üú'¿ô@Üò'¿ü’½à”@à–Çà‘è㿘ð ð'¿üÀ6`?–ãÿÀ6`пü‘* ‘2 Ð6 Ð¿ü‘* ‘2 ‘2 Ð6  Ð6 Ð¿ü‘2 €Š ÿ2€Ð ÐV  Ð6 ò  ’&`“*`Ð €€²&`¿ÿøò6  €Ð6 @ñÇàè㿘ð ” ð'¿üúV`? " •*€º`ú6` Ð6`пü”" ‘* ‘2 žãÿ¸+À ‘2 ¸¸ €ø6` Ð6 Ð¿ü‘* ‘2 Ð6 Ð¿ü‘* ‘2 ‘2 ” €@ÉÔ6 Çàè㿘ð ð'¿üÐV`°  ±.?#ÿ°& ”* Ð6`пü‘* ‘2 ” Ô6`пü‘* ‘2 ‘2  €Ð6`@­ Ð6 Ð¿ü‘* ‘2 Ð6 @¤Çàè㿘ð  ð'¿üÀ6 ?–ãÿÀ6 Ð6`пü‘* ‘2 Ð6`пü‘* ‘2 ‘2  €Ð6`@ŒÇàè㿘ðð'¿üð¿ü±6 ° ÿ°& & ‘* ‘: Ð6`Ð6 !€¦ Ð6@!€Ð6€€€”’ÿÿZ¿ü€ôV`’ÿÿ€¿ü€ôV`€¦ €”’ÿÿ ¿ü€ôV`’ÿÿÀ¿üôV`€€Ð`€€´ µ. “6 @'Š”¿úÀ6`ô``’& “*`Ð €€´& ô6`Çàèã¿À'¿üÐÐ'¿øÐ¿ø‘2 Ð& @/Ð&€Ð€€¢ €€¢ 2€Ð¿üÁ …  –”˜¿üÅ# `Р`Ç# `@»Ò `пü€"€Ð¿ü@ “пüÐ&ÀÇàèã¿!Ð6@!Ð6€î¯-à¯5à#ÿú ®%À€¥ÿÿ€(ð ?”£ÿ À6`±6 Ð6 ”@ »7` ®%à?ð6 Ô6  ú6  Ð6  î6 Ò ’"`“*`Ð €€ Р" Ð6 Ò  ’"`“*`Ð €"¿ÿøÐ @ð€€¥à?&€¶ >®%à??î6` ”£ÿÐ6` ±6 ”@ »7`À6 Ð6`ð6`Ô6` @Úú6` €w¶&À·>à‘.à¸%à?Ð6` "ø6 ?”£ÿ€Ð6`àÐ6  ”@ »7`±6 ú7¿þº ð7¿úÔ7¿ü€ Ð7¿ø¸¿ø° º`Ò  €§@¸ Ò2¿ÿú°  >"  ‘* “2  ‘* " °¿ø¹.à°‘* •2 Ò  ’ @ Ò2ðºà€§`°. €ð6`¿ø±/`°’'@º`€§`“*`Ö `° ¿ÿùÖ2 Ò  ’"`“*`Ð €2€ÐV`Р" Ð6 Ò  ’"`“*`Ð €"¿ÿøÐ ÐV`€€Ð`€€ÒV`’ “*`“2`@&¦”¿öÀ6`Ò``’"`“*`Ð €€Ð`" Ð6`Çàè㻈À'¿üú»7`ú& @.@Ð&€Ð€€¢ €€¢ 2€Ð¿ü”»ìÿÿ.’½ô½ô’»ì”–@,˜¿üпü€"€Ð¿ü@ ¯Ð¿üÐ&ÀÇàè㿘ð' D@]Œô' LкîJÐ`€"€Ð@ -ºàÐ.ÀÐ@ô D€ì L€ €¢ €€¢ "€Ð`Ð@”@ö’Çàè 0€Ð/@€º`¸& ¶ €¦À² 0î/@€º`¶à€¦Àò/@¿ÿýº`¿ÿíÀ/@Ð`€4€ ÐN` Ô`  €¢€6€|Ô`ÐN` ¸` Ð/@º`¶ ¸î/`ÐO º`€"€ €øO¶àø/@¸` ¸ÐO º`€2¿ÿùøO€2€  eº'`ÐO@€¢ 0"¿ÿþº'`ÐO@€¢2€º` eÐ/@ò`º`¶@¶¦à,€ - +€¶ Ð/@º`·.à·6à·.à·6à‘6àД¡4  ÖJ ¶à–À —*à—:à˜ €£ 9’¿üš`€ " ˜# Ø+@ÖJ" –à—*à—:à˜ €£ 9¿ÿ÷š#`Ö+@š#`€£@ *€ ÒO¿üÔJ" Ô+@š#`€£@ :¿ÿüÔJÒO¿ü¶ €¢`02€ €¦à¿üÀÐJ ¶à€¢ 0"¿ÿü¿ü€¦à4€¶ €¦à€h¸¿ü¸ÀøO²àø/@¸¿ü¸À€¦`¸ ¶¿ÿøº`€[ "€¢€&€% 0Ð`¶ €€¦À€ ` ÐJ¶àÐ/@Ð`º`€€¦À¿ÿù` î/@ÐJº`€€5€¦À6€4€°` ÐJ¸à€§°¶Ð/@¿ÿùº`€(€Ð/@º`î/`Ð`¶  €¦Àº`€ ¸ 0ø/@Ð`¶à €¦À¿ÿúº`¶` ´ ¶ÀÐNÀ¸ €"€ €öNÀ¸ ö/@¶` ¶ÀÐNàº`€2¿ÿùöNÀ€€ º'`ÐO@€¢ 0"¿ÿþº'`ÐO@€¢2€º`¿ÿÀ/@ã¿ €¦ €€¦`6€OO’a” €’a” @\‹ s€ Ð"bxO’a%” @\‚ sÐ"btÇàèã½x ð' D1sò' Hð"h’¿ôÐ'¿ø D”½àð'¿ô–½Ü@ô'¿üÐ½ä² Ð'Ð½à€€€¢ €€¢ 2€&”нè€Ð&À€¶ °½ì²ðN¸à€§ð.@°½ì°À²@²`¶¿ÿ÷° €À/@€¸ € ò&À²° 0¶ €¦Àð.@²@²`¿ÿû¸€À/@À&Àнàÿÿ£’Çà‘èã½xò' H3sð' Dòbh Dò'¿ô’¿ô”½àÀ'¿øô'¿ü@Ý–½ÜнäÐ'Ð½à€€€¢ €€¢ 2€+”€€Ð¿ð"²½ìÐ&Àп𶠀¦À€ ¸òN@ò/²½ì²À¸@пð¶à€¦À¸ ¿ÿ÷²`€À/@€¦  0¸ À&À€ Ð/@²`° 0¶ €¦Àð.@²@²`¿ÿû¸€À/@À&Àнàÿÿ]’Çà‘èã¿À·.à·>à€¦à0€º €"€eÐbЀ Ð&€Ð€¢ €0‘* Å’c\Ð ÂløÈà€¦à5&€RÐb4€#öb€€ öb€$€JÐb¶&à` ÐJ" 0“2 ’@’*`¢ 2€öb€>ÐbÐ`€"€ öb€8ÐbÐ`€2€öb€2Ðb€0Ðböb´` ¶&à´€ÐN€¸ 0€¢ 9€ €&€ €ø.€´` ¶&à´€ÐN€€¢ 9¿ÿø€&€ 1` ¶ÐNÀ €Ð.àÐ.` 𠀦 2€öbÐ` €Ð&`€$€Ðb’ 0` Ò*Ðb €Ð&b€4€`  0Ð.` ú&b` òbÀ*Çàèã¼ð!Ð7½øø' TúV ’½ø@%À6 €4€”½ø€Ð'½ô–’ ˜½ô@q½øÐ½ô€¢ 2€ €O’a@”@ZK½¤’½¤€  "2€ ú½ôO’aU”@ZA½T’½T @Iú½ôÐ`ú`”¡4º'`»/`Ð’½P‘* ™2 ‘3   ÖJ ˜ – —*à—:à˜ €£ 9" € š`˜# Ø+@ÖJ" –à—*à—:à˜ €£ 9¿ÿ÷š#`Ö+@š#`€£@ *€ ÒO½PÔJ" Ô+@š#`€£@ :¿ÿüÔJÒO½Pº €¢`02€ €§`½P@ÐJ º`€¢ 0"¿ÿü½P€§`€ ° ½PÐO@º`€§`Ð.€¿ÿû° ú½ôú`º§`,€5À.€²Ð½ô•/` Ô ’€•* ™2 ‘3 Д¡4  ÖJ˜ – —*à—:à˜ €£ 9" € š`˜# Ø+@ÖJ" –à—*à—:à˜ €£ 9¿ÿ÷š#`Ö+@š#`€£@ *€ º§`ÔJ" Ô+@š#`€£@ :¿ÿüÔJº§`° ¿ÿѲÀ.€ø Tð'нôÐR Ð&ÀÒ½ô½ø€¢@€@½ Çàèã¼è¬ð' Dªö' Pø' Tú' XÀ%€î DÐà€€ €¦@(€²”’ 0@Z§€%ò%@!Ð7½øÐUà’ "@Ôà•* " @Y5’a‘2 °@€¦*€°€¦@8€´Ô’bj@Y,©’`Ô ‘: – ’ ”@™˜½ôнô€¢ 2€ €O’aj”@Ys½¤’½¤€  "2€ ú½ôO’a€”@Yi½T’½T @qú½ôÐW`€¢?ð4€Cò½ôÐW` •: •2 ”€¹: Ð`€§*€²  1´ €ÐÐ.À€¦@€ ´ `Ѐ2€€¦@²`€¦@¿ÿù´ €¦@6€ ò½ôнô•/  ” Ѐ Ð2€ò½ô´Ð`»/ €¦€:€Ò``²`’&€“*`ò@´ ò2 ò½ôº`Ð`€¦€*¿ÿö`Ò`’"@Ò6`ò½ô¹/ ÒV`’@Ò6`ò½ôÐV`€6€Ð½ôÒV`’ “*`“2`@"ò”½RнR€"€Ð½ôò½ôÐ` Ð6`нô@#­’½øú½ú½þº'`“/`Ò@€ 2€ “/`º'`“/`½þÒ@€ "¿ÿüº'`“/`½þÐ@Б* ™2 ‘3  ”¡4 ÖJ ˜ – —*à—:à˜ €£ 9’½Lš`€ " ˜# Ø+@ÖJ" –à—*à—:à˜ €£ 9¿ÿ÷š#`Ö+@š#`€£@ *€ ÒO½LÔJ" Ô+@š#`€£@ :¿ÿüÔJÒO½L² €¢`02€ €¦`½L@ÐJ ²`€¢ 0"¿ÿü½L€¦`€ ´ ½LÐN@²`€¦`Ð.À¿ÿû´ ²§`,€4À.Àº“.`½þÐ@Б* ™2 ‘3  ”¡4 ÖJ˜ – —*à—:à˜ €£ 9’Àš`€ " ˜# Ø+@ÖJ" –à—*à—:à˜ €£ 9¿ÿ÷š#`Ö+@š#`€£@ *€ ²¦`ÔJ" Ô+@š#`€£@ :¿ÿüÔJ²¦`´ ¿ÿÒºÀ.Àô%@°&ð%€Ð½ô€¢€@ ƒÇàè㻨ò' H²¬ 0ð' Dª ô' Lö' Pø' TÐ`¸ €¢"6€ ÐÐ`€¢ 2€ ¶Ð`€¢ 6€¶Ð €Ð%Ðà€"€À'½üÐ`€¢ 2€º!ÿú`º`’˜½ø–½üÿý甾€ú½üÀ'½øú½üнøæ HºÐà´ €"€’ ’ Ð`® €2€Ð`Ð`€€ Ð`€¢ 2€"Ð`Ð` €¢€Ð`€¢ 2€ ô`ö`¶à¶&À€¦â8€¶"€´ ¶ ´ €¦¢8€´"’”˜»ôš»ðÿþh–»øÐ»ôô»ð´Ð`ð P€¢ €ÕÐ`ö½ø€¦À4€ö`€$€ö½ü”’¾@Y ¸ö½üнø¶Ð`€¦À4€ö`€¦À$€ Ð` ’ 0@Xý”&À¸Ð`€§2€Eî`'@€§ø&"€!Ð& нø€§:€¬ 0¬¾ìO¸ ¾ÐJ€¢ 0€ нø€§:€ нø¾ÐJ ¸ €¢ 0¿ÿøÐ½ø€§*€ª €"€Œ˜€‰ª €"€‡˜Ð»ô€$€º º €¬ 0ìO»ø»ø¸º@úO@€§`0€ €§6€ €§»øÐJ ¸ €¢ 0¿ÿù€§6€m˜€jª €€®%ÀÒO»øº €¢`02€ Ò»ô»ø@ÐJ º`€¢ 0"¿ÿü»øÒ»ô®@®À €º@ º €¥À4€® Ð& ö»ô€¦À6€¶€€¦À€¦À$€ ®%À ¶&À”@XŒ’ 0¸º@®%À€$€ лôÒ»ô»ø’'@ ’@ @XŠ”¸º@лôº'@лð€§@6€ ú`€6€¬»ø€¬ 0ìO@º‡`,€º »ø@ÐJ€¢ 0€ лð€§@6€ лð»ø@ÐJ º`€¢ 0¿ÿøÐ»ð€§@6€ø&"€ ª º'@€$€ ø&" ”@XO’ 0¸ø&"˜”’ÿüb–€â€&€uö`Ð`@€¢"6¿þ×Ðö½ø€$€”'@”’¾@XA ¸”'@€ $€Ð` @X,’ 0¸Ð`®€¦€4€î`ô»ô€¦€6€´€€€€ ¶  ”@X’ 0¸¶´%À€$€ ô`Ò»ô»ø’&À ’@ @X”¸¶ô`´&€€$€ º'@ ”@Wþ’ 0ö`¸º'@ø&"ú& ø»ôлð¸&À€§6€˜€6€¬»ø€¬ 0ìO¸‡ ,€¸ »øÐJ€¢ 0€ лð€§6€ лð»øÐJ ¸ €¢ 0¿ÿøÐ»ð€§&€ª ˜”’ÿûì–€l€§b¶ ¿þd€¦â¿þb€§@4€ô½ø2€¸ ¸ €ìO¾¬ 0¾ÐJ€¢ 0€ нø€§:€ нø¾ÐJ ¸ €¢ 0¿ÿøÐ½ø€§*€ª €1À&"´&€€$€º'@”’¾@W° ¸º'@º'@€$€ ø&" ”@W™’ 0¸ø&"нø€§:€€¬¾ìO¸ ¾ÐJ €¢ 0€ нø€§:€ нø¾ÐJ ¸ €¢ 0¿ÿøÐ½ø€§*€ª €2€ª ˜”’ÿû–€$€ À& Ò"  ’ 0@Wk”ø"¸À& ø&"° À.Çàèã¿ÀÐ ö €¸ €º º`Ð`¸ €"¿ÿýº`´¦À,€´ €$€ô6 €$€ô6 ÒV ‘/ ’@€º €Ò6 ²¶ ¸³.`¶Àº`ÐÀ€§@¶àÐ7¿ÿû¸ ô6 Çàè㿘Ô ð Ô'¿øð'¿ü?À6`À6`пü–ãÿ Ð6 Ð¿ü‘2 Ð6 Ð¿ø‘* ‘2 Ð6  пø‘* ‘2 ‘2 Ð6   Ð6 Ð¿ø‘2 €Š'ÿ2€Ð  ÐV  Ð6 ò  ’&`“*`Ð €€²&`¿ÿøò6  Ð6  ÿÿ¥Çàè㿘Ô ð Ô'¿øð'¿üúV`”  " 0•*€º`0ú6` Ð6`пø?‘* ‘2 žãÿ”" ¸+À ‘2 ¸¸ ø6` Ð6 Ð¿ü Ð6 Ð¿ü‘2 Ð6 Ð¿ø‘* ‘2 Ð6  пø‘* ‘2 ‘2 ” €ÿÿuÔ6  Çàè㿘Ô ð Ô'¿øð'¿üúV`°  " ±.º` ú6` Ð6`пø!? #ÿ‘* °& ¸,‘2 ¸ø6`пø‘* ‘2 ‘2  Ð6`ÿÿT Ð6 Ð¿ü Ð6 Ð¿ü‘2 Ð6 Ð¿ø‘* ‘2 °ÿÿEð6  Çàè㿘Ô ð Ô'¿øð'¿üúV`°  " ±.º`ú6` Ð6`пü!? #ÿ°& ¸,‘2 ¸ø6`пø‘* ‘2 Ð6`пø‘* ‘2 ‘2  Ð6` ÿÿ  Ð6 Ð¿ü Ð6 Ð¿ü‘2 °ÿÿð6 Çàè㿘Ô ð Ô'¿øð'¿üÐV`°  ±. Ð6`?–ãÿпü°& º*À Ð6`пü‘2 Ð6`пø‘* ‘2 Ð6` пø‘* ‘2 ‘2  Ð6` ÿþñ Ð6 Ð¿ü Ð6 ÿþêÇàè㿘Ô ð Ô'¿øð'¿ü ?À6 À6 –ãÿÐ6`пü Ð6`пü‘2 Ð6`пø‘* ‘2 Ð6` пø‘* ‘2 ‘2  Ð6` ÿþÊÇàèã¿ÐÒ Ð?¿øð¿ø±6 °'ÿ°&#ÿ& 4‘* ‘: Ð6`Ð6 !€¦ Ð6@!€Ð6€€6€€¦ ”’ÿþÚ¿ø€"ôV`€”’ÿÿ¿ø€ôV`’ÿÿ1¿ø€ôV`€¦ #4€€¦ 4”’ÿÿX¿ø€ ôV`€”’ÿÿ¬¿ø€ôV`’ÿÿ|¿øôV`€€Ð`€€´ µ. “6 @·”¿öÀ6`ô``’& “*`Ð €€´& ô6`Çàèã»8º ð' Dò' HЀ€2€~”»°Ð €&€z”»°Ð €€ªÐ €¢ 1€8Р€$€5Р@¿øÐ €¢ €Ð DÒ H‘* ‘2 Ð; HРՔ è‘* ý H Áà ½§‰@€,º Ò H‘* ‘2 Ð; HÁ HÁ?»¨Ð Õ” è‘*  ÔÖ Ð»¨Ô; PÅ PÐ; HÁ H˜¿ì  BÁ+ DРDŠ 2€ ½  Ð#¿ !€ú¿ì€2€:”»°±. ‘6 ’Ð; HÁ HÁ; `@T¿øý `OÅ!0¯ŠÂ €(”–¿ìý; hРh@mÒ l¿ !п콠 €¢ €OÉ!8¯ŠD#€–¿ÌР€&€ò €ò ² €€ºº ²à ”@UZ’ 0Ð¿ì €5Ð'¿ìý; hРhÒ l@|”¿çÒ¿Ì " –¿ÐÐJ €¢ 02€ €¢`’"` " Ò'¿Ì–¿ÐÐJ €¢ 0"¿ÿú’"`€¢`6€Ò  Ð'¿ÌҠп̀¢ 6€ º Ò¿ÌÔ à ”"€ @U0’ 0Рú¿Ìº"Ô¿Ì’ ’"@ ¿Ð’@²à @U1@п̺@ú&âô ´ ô&à€ÀЕ &€Ë”»°Ð €¢ 4€Ç”»°@ç¿øÐ DÒ H‘* ‘2 Ð; HÁ HÁ?¿ðпðÐÐ?¿Àà¿À‘* ¡4   'ÿ $#ÿ£,  £,` £,`‘2 ‘2  £,`‘* š` Ð  ú  ¡< º'`º'@® €² €%€§`1€#€§`€ Õ’`è‘/`ý¿ð ÍÏ ½§‰F€G² ’`è‘/` Ö ÔпðÔ; PÅ PÐ; HÁ H˜¿ì  BÁ+ DРDŠ 2€ ½  Ð#¿ !€1ò¿ì° €€)€¦ 1€'€¦ € Õ’`è±. ý¿ð° ÙÛ ½§‰Ì½ >€² ’`è±. ° пðÖ ÔÀ# DÁ  D˜¿ìÐ; HÁ HÔ; PÅ P    Á+ DРDŠ#à2€ ½  Ð#¿ !€ò¿ì€€Ký¿ð”–¿ìý; hРh@ŽÒ l¿ !п콠 €¢ €>РՔ à‘*  åç ¬ŠÞ=€Ð €€0º`¿ÿ® ” ‘*  éë ¯ŠÔ'€ý; h€€"º'`¿ÿ‚® РhÒ l–¿Ì@˜”¿çÔ ’ ’"@ ¿Ð’@Ô ²à @TpРÐ&⺠ú&àРÀ.@пì€2€º º ¿ø@/ú'€@+¿ø”»°’½¸ÿþ' D½¸’»°”–ÿúʘÇàèã¿À'¿üÐÒ Ð?¿ðпð‘2 Ð& @&Ð&€Ð€€¢ €€¢ 2€Ð¿üÒ Ð –”ÿþ\˜¿üпü€"€Ð¿ü@4пüÐ&ÀÇàèã¿x!Ð6@!Ð6€Ô Ø –ãÿÔ'¿ðÔ î¿ðØ'¿ôð ¯-à¯5àÔ'¿ø®%À €¥ÿÿ€8ð'¿üÀ6`пü?–ãÿ Ð6 Ð¿ü‘2 Ð6 Ð¿ø Ð6  пø‘2 Ð6  пô Ð6 Ð¿ô‘2 Ð6 Ð¿òÐ6 Ð¿ð‘* ‘2 €2€  Ð6 ®%àoî6 Ò  ’"`“*`Ð €€ Р" ¿ÿöÐ6 Ð6 ®%àpî6  Ð6 ÿü{€©€¥àp&€#¶ o®%àp î6`Ð6`?–ãÿÀ6 Ð¿ü Ð6`пü‘2 Ð6`пø Ð6` пø‘2 Ð6` пô Ð6`пô‘2 Ð6`пòÐ6` Ð6`ÿüW€…¶&À·>à‘.à°%àpÐ6` "ð6 ?–ãÿ€Ð6`àÐ6 Ð¿ü Ð7¿àпü‘2 Ð7¿âпø Ð7¿äпø° ‘2 Ð7¿æÐ¿ô Ð7¿èпô‘2 Ð7¿êпòÐ7¿ì € Ð7¿î¸¿àº ° Ò  €¦¸ Ò2¿ÿúº` o"  ‘* “2  ‘* " º¿à¹.ຑ* •2 Ò` ’ @ Ò2ú@°à€¦ º/@ €ú6`¿à». º@’&° €¦ “*`Ö``º`¿ÿùÖ2 Ò  ’"`“*`Ð €2€ÐV`Р" Ð6 Ò  ’"`“*`Ð €"¿ÿøÐ ÐV`€€Ð`€€ÒV`’ “*`“2`@”¿ÞÀ6`Ò``’"`“*`Ð €€Ð`" Ð6`Çàè㻈À'¿üú»7`ú& @%}Ð&€Ð€€¢ €€¢ 2€ пü”»ìÿþü’½ô½ô’»ì”–ÿù›˜¿üпüÐ&ÀÇàè㿘À'¿üú»7`ú& @%aÐ&€Ð€€¢ €€¢ 2€Ð¿ü”’ÿÿÓ–¿üпü€"€Ð¿ü@пüÐ&ÀÇàè㿘€¦ 2€€Ž O€Á!À"€€Ž ’ ü€ "€€Ž O€ ý!È€ ’ Ð; HÁ H½  ¿ !‰§‰^s"€É"Ë" Çàè㿈Oð' Dò' HÍ!Ðÿ Hý D¯ŠÆ° €!¸ OÑ!Ø‘§‰H— HO×# hÙ!àð hð# hÝ h¡ ™£ P² ½§ˆÌ« ^ë# lú l€€æ²"º@€1°& "€§@&€./€° €*º'@Oí!诊Ö=€!‘ ^Oñ!𱧉X· XO÷# hù!øð hð# hÁ h… ¹§ B² ½§ˆÜ ^Ï# lú l€€}x!º@€ °& !€§@&€ /€° €º'@² Ñ# hú h/€€§@&€2€@æ’¿þºÐ¿þБ* ™2 ‘3  ”¡4 ÖJ˜ – —*à—:à˜ ¸' ’€£ 9š`€ " ˜# Ø+@ÖJ" –à—*à—:à˜ €£ 9¿ÿ÷š#`Ö+@š#`€£@ *€ €ÔJ" Ô+@š#`€£@ :¿ÿüÔJ€$€5º&€@§’¿üºÐ¿üБ* ™2 ‘3  ”¡4 ÖJ˜ – —*à—:à˜ ¸' ’€£ 9š`€ " ˜# Ø+@ÖJ" –à—*à—:à˜ €£ 9¿ÿ÷š#`Ö+@š#`€£@ *€ €ÔJ" Ô+@š#`€£@ :¿ÿüÔJ€4¿ÿѺ&€`€Ð&à€ €§@6€¸&€¸'”’ 0@R&€¸&€² ¿ÿŠºÇàèã¿€€ð' D±. ‘6 ’Ì– Ô; PÅ PÐ; HÁ H B¸ º ò' H€   Û HÁ?¿øÙ D Ì€Á?¿èпè* €Ð/¿èпèÐ?¿ð€€¦ €&пøÐ; HÁ H…  ’`Ò# LÇ L ÂOÍb  Oſ𽠠¿ !Á"¡‰^ ©ŠÀ€Oá"å¿ð¬ŠP#€O€À&Àé"¬ŠÔ-€ø&À€ú&Àõ¿ðÐ; HÁ H…  ’`Ò# LÇ L ÂOñ"±¦Ú  ¨ Ø9€´ ´ ô&ÀÁ¿øÇàè@(#)__tbl_baselg.c 1.5 91/02/11 SMI"0=KXerŒ™¦²¿ËØäðü ,8COZfq|‡’ž©³¾ÉÔÞéôþ'1<FPZcmwŠ”ž§±ºÃÍÖßèñú '09AJS[dlu}†Ž–Ÿ§¯·¿ÇÐØàçï÷ÿ&-5=DLS[biqx‡Ž•œ£ª±¹ÀÇÎ@(#)__tbl_fdq.c 1.5 91/02/11 SMI00000008001600240032004000480056006400720080008800960104011201200128013601440152016001680176018401920200020802160224023202400248025602640272028002880296030403120320032803360344035203600368037603840392040004080416042404320440044804560464047204800488049605040512052005280536054405520560056805760584059206000608061606240632064006480656066406720680068806960704071207200728073607440752076007680776078407920800080808160824083208400848085608640872088008880896090409120920092809360944095209600968097609840992100010081016102410321040104810561064107210801088109611041112112011281136114411521160116811761184119212001208121612241232124012481256126412721280128812961304131213201328133613441352136013681376138413921400140814161424143214401448145614641472148014881496150415121520152815361544155215601568157615841592160016081616162416321640164816561664167216801688169617041712172017281736174417521760176817761784179218001808181618241832184018481856186418721880188818961904191219201928193619441952196019681976198419922000200820162024203220402048205620642072208020882096210421122120212821362144215221602168217621842192220022082216222422322240224822562264227222802288229623042312232023282336234423522360236823762384239224002408241624242432244024482456246424722480248824962504251225202528253625442552256025682576258425922600260826162624263226402648265626642672268026882696270427122720272827362744275227602768277627842792280028082816282428322840284828562864287228802888289629042912292029282936294429522960296829762984299230003008301630243032304030483056306430723080308830963104311231203128313631443152316031683176318431923200320832163224323232403248325632643272328032883296330433123320332833363344335233603368337633843392340034083416342434323440344834563464347234803488349635043512352035283536354435523560356835763584359236003608361636243632364036483656366436723680368836963704371237203728373637443752376037683776378437923800380838163824383238403848385638643872388038883896390439123920392839363944395239603968397639843992400040084016402440324040404840564064407240804088409641044112412041284136414441524160416841764184419242004208421642244232424042484256426442724280428842964304431243204328433643444352436043684376438443924400440844164424443244404448445644644472448044884496450445124520452845364544455245604568457645844592460046084616462446324640464846564664467246804688469647044712472047284736474447524760476847764784479248004808481648244832484048484856486448724880488848964904491249204928493649444952496049684976498449925000500850165024503250405048505650645072508050885096510451125120512851365144515251605168517651845192520052085216522452325240524852565264527252805288529653045312532053285336534453525360536853765384539254005408541654245432544054485456546454725480548854965504551255205528553655445552556055685576558455925600560856165624563256405648565656645672568056885696570457125720572857365744575257605768577657845792580058085816582458325840584858565864587258805888589659045912592059285936594459525960596859765984599260006008601660246032604060486056606460726080608860966104611261206128613661446152616061686176618461926200620862166224623262406248625662646272628062886296630463126320632863366344635263606368637663846392640064086416642464326440644864566464647264806488649665046512652065286536654465526560656865766584659266006608661666246632664066486656666466726680668866966704671267206728673667446752676067686776678467926800680868166824683268406848685668646872688068886896690469126920692869366944695269606968697669846992700070087016702470327040704870567064707270807088709671047112712071287136714471527160716871767184719272007208721672247232724072487256726472727280728872967304731273207328733673447352736073687376738473927400740874167424743274407448745674647472748074887496750475127520752875367544755275607568757675847592760076087616762476327640764876567664767276807688769677047712772077287736774477527760776877767784779278007808781678247832784078487856786478727880788878967904791279207928793679447952796079687976798479928000800880168024803280408048805680648072808080888096810481128120812881368144815281608168817681848192820082088216822482328240824882568264827282808288829683048312832083288336834483528360836883768384839284008408841684248432844084488456846484728480848884968504851285208528853685448552856085688576858485928600860886168624863286408648865686648672868086888696870487128720872887368744875287608768877687848792880088088816882488328840884888568864887288808888889689048912892089288936894489528960896889768984899290009008901690249032904090489056906490729080908890969104911291209128913691449152916091689176918491929200920892169224923292409248925692649272928092889296930493129320932893369344935293609368937693849392940094089416942494329440944894569464947294809488949695049512952095289536954495529560956895769584959296009608961696249632964096489656966496729680968896969704971297209728973697449752976097689776978497929800980898169824983298409848985698649872988098889896990499129920992899369944995299609968997699849992@(#)__tbl_tens.c 1.5 91/02/11 SMI?ð@$@Y@@@È@øjA.„€AcÐA—ׄAÍÍeB _ B7HvèBm”¢B¢0œå@BÖ¼ÄC kõ&4CAÃy7à€Cv4W…Ø C«ÁmgNÈCáXä`‘=D¯xµŒ@DKäÖâïPD€ðÏMÕ’Dµ-ÇáJöDêxCyÙ´E ‹*,(‘ET­ô·25E‰Ùqäþ„EÀ'ç/Eô1àúæ×!F)>Y9 ŒêF_$F“¸µµnFȦã"FÉœFþЛêØ|G3BarÇM‚GhùÏy ãGž¸CWiGÒÎÓ*¡±H‚‡ôœJH=c)ñÃ\¥Hr]ú7çH¦õxÄà aHܲÖöÈyIïÆYÏ}LIFk·ðC\žI|¥ìT3ÆI±„'³´ \Iåå1 ¡ÈsJ^~Ê:ã¿ µ. µ6 €€µ. @LèÇàèã¿ @JÃèã¿OOð" ¿`”¢j’b@– 2@Jë˜@K£¿`@KþÇàèã¿`€¦`ø' T€Fð'¿üç!”“>à“2`’@Ð'¿ðé#X“:`’`“*`€¦ °¹2`® €Ð'¿ä  €ˆô7¿ÜÝ#¼Ð'¿ôá 8€¦«€ Ð'¿è’ °@J¿Ð7¿Ü@J¸’ °  €vÐ7¿Þá „Ð'¿øç!`Ð'¿ì"€¦€6€bO’ °@JªÐ7¿Ü@J£’ °“: “2`’@’*`’" Ò7¿Þ“: “2`’@“:`  €WÒ7¿àÒV Ý’@Ò6  „“>à“2`’@Ð'¿ðÝ#“:`’`“*`€¦ @¹2`® €Ð'¿ä  €Aô7¿Ü×#”Ð'¿ôÚ `€¦¤€Ð'¿è“> “2`’@’*`?’&€ Ò7¿Ü“> “2`’@“:`  €,Ò7¿ÞÚ ¬Ð'¿øÝ PÐ'¿ì€¦€6€O“> “2`’@’*`?‘> ‘2 ’&€ ´Ò7¿Üµ> “> “2`’@’*`’&€ Ò7¿Þ“> “2`’@“:`  € Ò7¿à"v˜Ö¿àÒ¿Ü@KdÔ¿ÞРT€’ €´ €ú ³. ¿ä²@¿Ü·. ¶ÀÐÀÔ@öÀò@¶à·.à‘* Ô€ò@´ ²&@ º@»/`€¦€¿ÿì»7`€§@*€¸Ð€§@8€'aРT€ð"‘* @I½"´€Ð T€VÀ"’ ô"РTÔ Ðÿÿ РTÔ ÐÔ2 РTðV Ðð2 ð Tðú6€€(¦  #¸ Ð'¿Ì?#ÿ¤¿ðÐ'¿È¨¿äª¿Ü¢ø'¿ÄÐ@€"€¦àØ@ÔÐ@˜ ‘* ìÔ€™+ ì€ Ð ¬%€ €¥ Ð'¿Ø€€¤` 2€Ò€@CÒ@€ý¦àÐ@” ‘* Ò@@€õ¦à€¢ 2€€¤ÀÖ Ò`”“*`ÖÀ Ò —*à’@  ÿþÉô €¤` €ì6 @¼’€ß¦à” @æ’€Ù¦à€ €¤`2€ô¿Ìô¿È€¢:€¶¶´&€ô7¿Öº’'`“*` ´§` €À2 î¿Ø®%àÔ Ð`ø ‘* Ô€€¦€•* ¶&€¶à¸ €²²€&€¶ €¤`€1&@ ²&€³.`‘* ·.à’ ’@‘2 ”@o–¿Ðö¿Ô€"€ö¿Ò‘. ’ ’@’`€” ‘2 Ô2@’`€¿ÿûÔ@ö¿Ò€"€1·. ‘. ’ ’@’`€” ‘2 Ô2@’`€¿ÿûÔ@€"·.  ²&€³.`‘* ·.à’ ’@‘2 ”@n–¿Ðö¿Ô€"€ ö¿Ò‘. ’ ’@’`@Ùö¿Ò€"€ ·. ‘. ’ ’@’`@Ï·.  ¶Ð¿Ð€¤À€#Ð6À“/`’"` Ð ²€"€²'`пIJ&@€¦€4€´¦ Ò¿ÖÐà€¢ 8€´¦ ÐÀöà€–À"€ ´¦ ´ µ. µ6 “.  ’ Ð@ €Ð2@´¦ <¿ÿwÔ ´ пØÐ6 Ò  ’"`“*`Ð €2€·. Ð ·. " Ð6  ¶ÐÀ€2€ ²´ µ. µ6 ·.  ¶ÐÀ€"¿ÿù´ ²"€¦àÔ ’”"€ÿýó Ð €¤`"€Ð6 €´ ´ ’@HŒÒV ’@Ò6 ¦à€¤Àª`¨ ¿þ褠пü€¢€Ô Ò€¢€ €Ò Ò2 пüÒV Ò2 пü’  ÿýÌÔ Ð TÿýÓÐРTÒ¿üÒ"Çàè@(#)__tbl_10_b.c 1.4 91/02/11 SMI¿jídn8—íÚ§ùôé?O>.•™ ß8ýä/#tõìÓÏÜİڼͦ3&éN]¬~©áá%d»~v Fñ¸<€þ§ÏLæ¢Ðs­ŒìÖ8b‰ÃÄÅýø”¡nÕZNI=ã8|˜.‡[¾ÓŸrØÙ/‡PÆkÞnpÏJØÕ•qn&²f°­Æ6$ÓZÏê%/"²û.¼QO]–áí¬¿£W®2œqSçü•Ãü$…©c^ù_Žà²­ä“«s*fw\”I[i¾¯¬sC¼°™FE§—H¢isŒ°Š Š—Œ«8ÙÁÒÔc4ß©„ò’¶Ä—1@Ðû~â1ë3ÕÆ4<£-΃ýЛ¬*aê3€Ó¯'³ÄÔ’@óålÅœµé¥ÈÛÃîÌ¡ÒAkn¦Äl%å;và;ø71Š>CË@ž ŽÜ·' '@âGÙÌ;ç·4ÞH:ß «ì¾$¥¿ÏRËn9·¡ÉçLG~`X‰)ÍKâ&Ïm“ü¯;óžW%­î²6çru²êFépVV‹ë)-‚·LH±Á $IÅfVq€Ùð£.wÚ©} û­\e×$f¸6RXf„¿÷5uoòƒgôÆrùnÂ]r3û^D _nÝ¿¤ÁáMÊ¢Û쎤®óæúzc’Žéáš'Ok…X‹/ûéžpN¼khоse½:&¶‹ ø4·ÇÚbÈÚô•JüÌÏEo%ÅâùÖíÍ=Žp¥ ‚ÓòQB°š’cë—{†‚é±áåDt‡ ‘íj\üxP8Õt컎܌DÛž·ºzÌ¢‡òcäÞzL(³œzt&6_ô¿ÆpÍ·éiáX&†Ùø®q¹£YÔcžT¸2³<¦ÑIŠ“ã]~;dYÌ'ç('D¿âãIÆîDQ:üÒŠUíƒîéÞF^ßùß…œT“a»Ð6)ºl”×t•CbWfš1w n?ÝïÄ÷¥"OoòìTÌ4kÄ+,}oŠ;!°Äø¼vþ4tO–=ƒMÛ»Þº UUy6qÞkíKM|w4Bg׺æ°ÊmÊ?Œl¦¨Í?œ—“g1n§ˆECÀeH©™– À'zÞM„g|–ZêV)-çÞ¦kí_Œ绨±Ú#nkXÛú”6k¤¿=„|2 êÏÂ'zJ½Ô"p濎mH÷Ó×jm‹¯³]„ø"Õ‰ó+x–½& (tN—à)|'¤pÉ"«¬Ø,1ô|'œ"AsÇá–?¤6;PžØ¹Þw~ªÅ9C¼¤*P ÙõeŽ!kRj3\) ëÒ ƒfq¦“NAOàsKêWoïKõj•çTµ[85´¬µ"`ÓZÌfâ17ð¸×¥ \²h5.jȈJ²ƒ™ëmEêVxÜÈÔÍ®T¶CS¦åʘð¤O¾#€ÕÈ Â {³sDþ’AÔ«cN„¥@‚CÆOù÷ÖþB|F=™‡–3ìÑ2ô™ebÜÔ¤j”ùíîýÐß àSôv=Ôö/?n_^דÛîårµÛj¾ŸNuJCøÐåó‡e€fw /‘bÏ¢Ìn-0·FûçÂt‚¢ÍŒ• ‚y÷ƒƒÏô•Æ4µ¼ŸšŸ°ÓùÔ“ò†ï¯¯w$­jÉ.[AºSv%ô Xî8oÌ¥ZÓ¹újy\ÖÿñŠ^&‡üèv©Ý »à¢néj½UúÓ΂_jG;·ÓÇ«VY]Ñ&`—bl8ÇçgâCì"”1W5é[ìCäQiÀX“2gPÝËŠéj;¹^"0ϳ`æ’}¼ìWÔ޹Ɠ¶Û¥¯?½äpR´,SjÙ”ÀýüàЈÞêFÞI2lý¤~„-5K2¿ò rs”$¨Ex ÎÖ(g§ 3r#ÞìÉ[Àm"'Bé”Å­/ù=üד³®À·6óg³+x§OÚÙ6>ð5Æ1Uî@e4?à=ûáçïŒÙ¸2wg%;‡¾,1AfvǨ4ãëßï|+z¤Ó“ŠÍ¤c`ïÂãl>tW÷;AI®â^ i"†bª ûÙœ›µJ¼Q·MôÕC.žMZ ©ôrK³Êƒ&™! :`Ç T¨lÜUØd@(#)__tbl_10_h.c 1.4 91/02/11 SMIð)+rõ[![n|Ÿ†ÂN‡™ˆÅÅ5 L}ØÌ,DÑ4î‰flû}áöCƒ}ŸÎ+œ#UÇ#>`×eÜ!‹ôQÑ4\Y†Éc»Ÿ’+”1§è*ŸŸiZb¾BÄŽzt[ã¾"¥ŠØÄº4µØÞ³¿?Å–¼±¸îìõmký1ûeK¶ô6•ûkuGþÜ€‰€Ù¥¥€½(‚š f1ëü3—j{~âj6Šßh ¸<ãbÎŽBQ¢u£¶Él°uƒDYe?1µãŠÃV«¦5úû íRŸÄIˆ¼J@€A[#^ôóFIÞ6¨SIsŽ*§æ— Á¦p”GIïÒÛ?[’l Ô®b9I-C£Æ4ô]”Ô0ÙÖ%à3heã M?²}ÏIâG!ì.ãTî‡u„¶Š»6‹¡‘¥åmU.Õwsý‚ÑBêP²Q·,ž˜4Ú¼ÈPÖñ†n,4I‡’yiÂÒø.Jf‘ýqÇ„-W§Rë#UíÌûàó†œá8 ´I—44ÁTÞŒl(œ§¨fC-»dóãËÿ€t.é㉔Áo’¨ñÖ¨(»³–z@Zûí™RD´ ïæ¤¢¼‚ñd´ûÉt‘ºÖ«ÖÇÿ5ŽH½CDVeĦUh^L63U†—«I!þ ½I<þ¤f˜-L§Ëê {žkŠyÅ G_Å.„ØôD© A\è)\ô‹=_'jDµzøÛpÊìŠØ|4²è’EŠl¾ÝÞàÇÉ}V¬ú*Ó@àÞg|÷u Õñ½"’¾¹‡ú¤Îo©ÒÃp$?o¯b°(UîxIÖØ>ÅÜNú«çŒkwÍ;} u´ ù6#Œ˜0'å'q”"âÖ(æ÷é\¦òî¹<a–+ë²–HË¡Î+qT4÷¾0{¾£å&)¬ŒãtÒÞJSÕµÜè³ Ð¾MDÈïï‘$éW5åû„”|Ü¡!ë?óSáb,ß§Ã…CbQ¯l?ßNOž&w¥ð¿ø«CF¿½ÇQ†Ìm5o˜>GqâM{C 0¬]¬:5{”@´+°¿<^°®NdŽ|SjËÜŒ"õùGñÀ£å¸eøâb GCÄh¡Ûå›°ŽNõ4`Š ¦† (Øl;ÁH3`Ïåv'Aµ}úÀCàÛã×Y'3óøDªd^rSáñ÷–½þ9Ä ¹©-Æú÷*-UrÍž¯µ†u«P¨—Rö¥‡Qí/åeS ß? L$ †r“0gÐÒ~ëkï”xr%FJƒƒxõ)!産yµ–'óý„ü‘štȸôóZ:cÅè~ÏIw‘¤„KßkBi|ã%A£cù¸Üd³Olæ‹s¡À0Æ…jCw¸ä ÔøŒ}àîÒJÅeÝÐ DrüÝ2„§F—Q¸`ªlME2eÄÚ[±B«ØŸá“8¦ÐJÏ·¦„_¥q'5ªÚдv-E<„yjïçRë™Øð²îˆ"ŠB2S‡˜ü‹EO 2ÍCăáEoßÕù» –•VŽƒÏÕªÅü »¿Ktµ.ÃÜÆ²“ˆî^õ³—hÞ4CA™(êqä[ƒôJ”„Ý"³ÂÔ·Ñ1UçG bir#³ŒìºJ¼8t¢ ¿²(”Ý jkâ V‘ƒƒ~ÛÚ(ç© NHž_ÛÜýΉ>ÏDgr¬èË Ó…¦ü•-Çñ—ã$8aH9É2šô£ÃŸºбqbH}~¨WOª3çյϡE}Œ¸}hy¹l Pd‚Ìþ-@Nrèã¹Öâs(Q‚p'G #È¥T<¯|F'U>—ÑõgÃ9 ¼‰´iVp·bûÿˆÁ µaºT".7Xf(Õr·ÿd˜#8’‹U nºîg’¿âÞÎBj¾Ä=(y¼žL“ÅÐg‹X2ŒEªõ—ï‘OŪÓjüª§@C%@!W–*¯ˆ·ˆ­R]qhqñøòóªecy |’w5˜à)Õ,5 ëh’­lÀÂ6)Á×ï…c :®µ-î1]V‘+ž» *¬‰g«ã˜d6clÑÎ/6ÚVlù„.tz‡¯ÁžT-íMµÐìùêu”b ßÅ<¡4 ®Ô97¢.ŠÈú2~!¸'n{ -$àP¾Ô¸X“+¹«1#"+?%D ~Þ¿bljrÚ¸•¶~*xx³ð†Þz«oîsô»“õ{'ìµ~÷ØjŸü¢èÒ=ËÉß‚j1r|ÍžØà¨ü”—²ÃAÙ0v9ÁÉÄÏ&Ç¿¶Ñj~=2æî¯â_Ž0+îcm—-þX%—<Ääb| €µš«7Èžêûwé ÏÊ5,žãÈP6Ö‚þxnPx [Ѥ·µ4?ìE ³,8W ÃÏÚ¦éôÎ9q‡HIÛ•¡šíŠ´’¦¨•¬lÙMÍ#Pϱ*ûèwŒg:Ì8룃Ã-j±û@¨ ?õFí[G$éÎtýLJ0Øs¡-Ù–ÖÁ¢ëo딫;|o#`€IšsŽ{‘KŒù™Ò˜6µ5èÞÿ©m›1–Ù¼k ?ÆÌfû(%‚çr¸Ÿ;Öv4=¦tP›üw‰Ü¿j?Ö&Aý®–TN‰4• S@×ZŽ 3Eåµ­‰¼‹ÉTA¤+cà;=C{펗¬fpËÖÂ,U¼ie.ð\Oö¿O¢ß™…ÝžŸ­Ò9^ØX2%X¹ãåñÔô-šVÀøŒNŠÁ ÈývqæÒ4ô§ÂvÌ=òÐ×ú‰M‹ÍTOà²+\}· þIý†?Aß7•»!DWý„èÕÓü¾–GD¤ºÉ‚èÊžn®Âp8‡ì¥p3;®îä,ÿfk%Šýö;´‘ܽyÙÇZ¸hN.ÔlHt” ¯cI/Ü~Ͱ=™oétgù¬x‡!RìJ¼Ý-ŽÝÞ5WYøAÇÔ¹9V ò§TØ¡<«¶!â>{b;.¢’•_w¼£¥ ´W5üÆä¶¹(÷N T=]!‡ÌoIdB@®²uØh´–‹ÒcôUØõÂ4épøhÿù䢮{3î'Ù"»I2%%ŸÀ¦ ÍdKE0)b–À~Ñ@(#)__tbl_10_s.c 1.4 91/02/11 SMI}q 5= 1-õáÍeù•ÝéJQs•HÂAékÌIýoÁ†ò#.Å¢¼±éÙ-¬x‘=ä`XÖ1uâV¼.õMn±®êɃ&xg•íÂZ*í¡ÎÌÂÓ¤% Ê‹"4¹2ô·­úÇ“ge&âPåãü¾Uk}sð ·©ÓsA|²2–M"@Eo|üï…¬A[-mî­…œ`FÉã"¦c™ ãaðo«{BñýEpé°.XhL¹ñ[4qç¼ | ¡µÈÒ6†®/p<(‰è&¡jí2,Ê­ˆ¾‡Y'¡ýàõa«¹¤¿Ã\)ñcÊåZ¡7¾ÐÏѸ’ïöyÅ(· œÞ¯Ð]ÙÌq–d<{ YkÑA7òõ.g=¿GYE»Éç5»f½iYv¨ñƒ ©{³ ½QI·‘i@Og#A±+–p•ÖC¯)|EuÙð3í0GQÁkÏmYM?±¡ôd™Å~"½‚=u)Ç÷Ûw‡IU­±‹1I ÐåÓIW¤q«du·øm¢zn·66ZöI—Ù$-fd›)“)ÃÏm÷A´ãÿôeÏâKPÐÏ !ÔIˆsÿÇ$ýjx” A¥%mªCþå¸õMZäd>H9»"SOú|œÍ]Æuõ7ei§« Žäm†ÔàKÊý ‘FY"Év$P¢$ayòr ôCÕ_½­îN´“*µç`¼;1ÈS)Þ²e§‰‡ÒàÕ‹„à­+øëŸÍY{üG¯¤b+»˜daÙÜš !$'*.26:>BFKPUZ_diou{‡“𡍝¶½ÄÌÔÜäìôü )2;E@(#)__tbl_2_b.c 1.5 91/02/11 SMI?Ÿ ]"ï#ì%ÄIu›%ñ” !0 £ ˆý ð$³ z áV ‘K&ä!±Ï ›¸ +!œ%‚oç[P « Cõ³ð’ü"/vG²$°r'ÒÄ—+#'2XM*ùœ —1 )  æè³>1nàR´ÒbÜš ó‡Ô ú&ȧ®1Âö”?â"“©k%Ÿñ>äJ ÝÛè#‹$ä%üצ!<JÂä!nãå—~ àP$«H µ¨$»‘ WŽUÕ<Æ ^ß" @¨ØdOá „­peTí´~ò¿ “Ä%Ìá&wÝk"7cm ##B a!³yÖ·v ñ ’FÁ ™c@ý!¾§ê¾"ž.  Ŷ%È×m!t!%!óâX‚  /Óê!n#~ µõW"3´¥í ¡!BŠ$'V&/õM ÿ3@€J&I §Myl {»"$ L B € mô#êu¥ –7M$P ë@ R Èö ¦ó Us9ʪQÆ ¹Ý#ÀE¡øùí¶ ™h·>' [› zÝ&æ$z…±Ü%N%´ü*$eñòÔ 1ì_ ·Bà ò#&u$µ5.+ J)UNñz&¡Å ð÷!,5 VË“^ö ã  fïÜ¢")"ÀÍY2|Õ)íl“ ¦¾!9™%\ÅC’!Î]#áŒ"Oô/üö­$iÑ´  ¦> °!lÀ`&rþÃÞ4&Vj @ƒO Û!Q¦ž Ù] Û T²ƒ^ * kîæ ï ¿@%`2„}ºèk¤Ey ÏÁ—¾† œ«"p .Ý*!r×#Î&d Z!3»%o§t$‡Hâ%ï…$'wþ ¯$è”æ™ˆgêj – 5‹!<‘é!š5ùËX« ~wÅÇÃHo%€¹Ò<v Žû °é" þ²) †5$«ÒÒzS“IÄ ÷TX$bèL!t– ùfˆ´ OM.Ñd$Àà P\Ó B ÁK -2#4 ;&gî  J¤#¯é?&o——ªe£Ž"ûª'n"T© >×Ç ÏÚ¸ r®´+ Ö³‚äåáK"Da "!†àâ&ò Í D'- (éIÔ ¿!"í&Œ±òÜâ$¢WéV >+ ‚¼c`–Äá § h&*²o‚°!Ö} t$YÊÔ &Ñ» R!Ÿ„#¬ú Ž{ #®#£:ÌÙ"[\v]4`Á$è&Z@à "m&f©O Ì  8 ­nM ‹&ÆôøY´É ¸¨#¦×L êñ$‚ ©¦›„%‘ÓG!$TFb¶³!¢€ ËÚ±B#~0&‚UÊ"\%§»‘"‰$y åÎj!0´!6ëÍ ‘½$júŽ$Ø'ÍŽ ‘&Õ éÖƒ&¹8cú¹ îøD d'h~ Ñ%M ™J8Œ&ß$ˆ ´RíV º!‡j”# “ y C5 È/öñ[!râÀƒ$s5‚У%é¼n`º®oD¨ bŸ ‘óÒÓ!À!¶$Ì5Æ dLÈ{!1=¶[9÷`)Õ [ÆšµÇ†ûà!E` –!:ÅÇ{#•"Ì$  ˜UP  8Έ  '&õÓ#ºP"d!O ¸“…"r/È $ 5ÏÉc,! ïã!PzPÉ&\ M †ÎB' µûª„t$E Ć»ä ?xf' îP$ÙÿúÁ$c=Ë5 ‹¹c9 Bâ % 9ö ±‡šB[ L •"Fž &¿áI ð1Zµˆ&‚e+#¥ Ä#Æ'µë6 ¥ ( …!²P"þ#¥$¬õzÐ O&Ò>ë ©ß¼ "E&Æ&õ¿‘ÒB•úU q¨9Ñ žÕ $g$Õ5 Ç ñl!Ø @%†B $ûf* 4@6üb!qn°BÄçk Ä"\! #¥ˆ 0%_$u#Ò ú!àѵߚ$î$~_¤ÌÔ#V'0t##€&hÏ"š ÿù&ôïB÷Ð Í û ì¾ ?wÎ#¥#ß ”S ³#¤ÍÉ&ú U Ÿ _³‰: ^R ãå&{6 »ð ÑF L¤Vh_!Eï ª„ö¾{DÇŠ#—d 7 ‹ x4 ƒ&±ÞÊ9ù%Ppñ‚ ¥G#ý#x#É ë«&åWb ®ô+r±ú"дpëØ#WC ­–#3%â!¬"6b®—.°ŠÅGij Ÿ>ºDü x"ððô V ȘR f&äHÚ g ï Û "e.ƒRmÛc0ÿõ%ùóúWZÖ 2¼""¯%.½˜ø >"ç7#Cn$}• ,%;ª Ê®ýË Ï ® ÷ýµ$ˆ =Ó YðY­ ˜%A «ZÏ šw¥qõ6ÀDæºRãÄ!#¹" ª´Ò=! ð fÃ3 õ %‚ #*#Ót‡!iÇãŒqa y!y-ÿWïó. Ìš4† £@ð!ÏL"íL“}Æý s&M!Ïj—Ó GÄn #’&i+ € '%¬ øê%ê‚$é&ïé!÷ÅQ=Ú!¢!¹5&;¸ù;#""n"pN ÛÃ…Á|  $ow{ ² þ&ù¿î}¦#=0 ^únª$Ë!å ‚‚Gl c Ȥ% Ãæ£"§½`&# vúié . @D˜Žh¯%pÑ#G¼è ä Jd’ µp~ (?båHÙ>$Ċ௠ V *R‡ÊwáYÞp¼v=@(#)__tbl_2_h.c 1.5 91/02/11 SMI Г” nÈõð ¯ ÜJáè W ® H³C”$äE¨%ú)ï¬!œ BÔ•+ ;c%ú#V!%S%#['þ_"Ž™f½Ï›à"#‘ )&aiðN ›³|ô¡ ÒØO&?îÉ .X$k!tå/ ÐŽd"è5[¾#„Áðá$íxÉn5=& ÓU 3ë$ù!/€. ¿ã£.í<š=Bb›#{ lg ¦ ‰ Í ³’KºøMù C ë# @q ëwŽ!Ç ¯Õäð‰%à#T"!±&Îôý É"ÏŒŽÂ vu # Ñ Î#¢Ãæ ê  ¢$€„ â rýf^  oX £EcØ &p‘!|!7£Ôm ”Û °™ à b ß ƒ ó$­Ú‰Öä#:&_·è!ë.$ê Äà üU©!qÓ)¨è îlÅ$ s#h$AhUÈ Ì ¦õ < çmmÁ)‘÷÷ÞêE^ž ù3!2Q%¸^…z4 Z W µç:%ž¼Eà&Ûè bL†!±%'"Ò¨"ÃÇ l0S Nø®iåŽÈ°$ö#9$U Š&Ms#A!K!é$ l À /"W²8¨û…'!Ìõi4áíõJ%O \€0#Â{σ °X‹&­ ½îÒÑþ _µ!âö2í ûì5Ì"Ð s º"h› h%e <  DŸŒ !àô%Æ#Û ÞÇÿQ ï#`À“ ‘ã&´¼G.ÎýQW ¾²Šž ™ Ï”/$)› ³ F"´Å$Ñ,Ò†$< Ò JÌöl_&Q#U¬Qt$ä `^#! F™½˜"NM$3¥¼¡ ]A¡#½%ÚK!Á$ &¤ d f„ ¿ È! Ô Û%‰> ›!F"lìn!}¶ ª›uÇ}š ]ñ&Ρ Ë*%UöoÅ ‹”-"Å&tò–³V¹#H"ê ÉëFK É•"͈,Ë^ ÖÖ# r f"‘i#Íšëú ‹#) å ´&û ú/c !bp ð"¬ù$«!àžÞ Õ›­PÒ&ût¢·ã r æj"³føä!®%ë€-%Î¯Õ ¶ ?!6× ´ãKUD»Áf • ÀR œ$« jyÉ»:ZÀ V&Ô Ú Õ0 m&Ì V&`+ `!?!ëÚ¥<#j ý©Qñ UR à×j˜ #)"¶%8%2H l"£Êt!  èæG#ä Œ%}"ò3M¡  ~FÑ ŒÐ -Q"ÛßRe_Q à4ƒ QÉJä¨"=“Ó‡ ·‹MIê 0 Xf !ÁŽ+8c ¡þl àß­#€ÎSÀ9 E¬Q[.Ä Ió Z œŒm!Ú f]„ ·rY#¼‰Àô$ì«€§&ÅPù°Sj!Ñ$±&–&š6'&¥÷ î€T^š«D” Ä!™#˜5VÑ,°%î:þ$ù%Ïë$Û-•&ÅXµ H å E TôKV²òc„!"°Ûoñ y b¬z ' ·"¾"·O%“ ÿ »&£ {¦!="Š@òØ$†Í žB_.&Ô%¨ °½…Åjz%Ð 7L%…Å­°"Š"|\8#”<Tò*Ø ‰óqŸ%V }$!—&ØÖG!»šèbgÏÊ”¼>¿"lò %± JY î~½#8 u¦_' Ó7$"¦~%ˆ"^R;(- õ Nû•ÁEX"< e¦_>§ÁC& »#¨R$R -É)"¦ P  dºüûË > ú"Ü‚'!A;„šYõ †–!'š×&vÑ$¹h Ç$çÁ„Ãhÿí£$-!j%Ê +ª] Ç%¨õü ±h×›¨«&Ù# S#Q&o V$,!/g#N´ W f&EŪ"+/¡â@< %ŸÕ <&GÛt |@ Þ$=å F#þiUÒ j·Oç!AôÅU7&A! 7  ãå # #à!¼ Ë4J#%š|b| 6 áòÙ¤ž-HÓ‚¿ åÄ A°Hµ> J$J ©¯ GÌ g#`´gp ¶%³J}c <e"ëA7*†";=ç!† É õîuÝOï : ¢¾ [!^—Œ€&[¦sYá C#è ¥è0`¢$É„û&g»t#¯Ø"'Ú ÅH»&7.:$™¨=fÀ#Á&í^ί!!4÷ „¿ o%" x› Ë]*ÉËšRí „"Oï žvþî•$%×P¦&à<Žœ!8—cØ-_ Ü]8" ^ ˆ­& &ø#ÅÛ×Y×Ä›&ÆÓÚ"lÉ" "ã ø ¨©"iå Á¼ƒØ†#©& ò±Þ&ÓÅE 4©"ªzÍ‘je m„E½Ò]®· íì%е Õu %z ŒìõP &Lw 0-D Ð;c¢½!!gdqŸ l ÍLy#‡ ½ò’°ÝKz%ú"ÎÈmtý#&˜ v— V+± Á™Œ ‰r™á dlÈt¾ &#Œ’Œ!0G (½ V ¿#PÈ$ÿ:!‡’êѸ%ì:!#Á#š!› l#¼ \ š? ¡ö´³²ÔZ#íªb®j#-!Ã È S‡$ö gÁ, û7LM :&B —é "2÷Z˜!. |¹üyuñ @ždö$çú =ð«)§<E!`•$£$昤?¼º¯ ¤o#»!ø9 z ñú1$! S«Ù,®%÷†  š#N1%J uXÉ`' ë #fT ŠŠà X NÑ…å)õ&ÿ%ä‰dFþX£¯r$#ôÈ4ú~>#Iùw"žÂö‡D Ž9Ù Ž¯:$[ÏÖ9%@ €&· |?#à&ê ?èÍŠ0ÏÞÍ %‹Óà ÃMcç;!Bºjé Wm a"j$ìº  ·ò,Ð÷ b ßWž g ®R2!m%Wò9&$˜&=É ãü&©¾ ¢ä6 û <œ È#‹#Y¥iY‚¸™ ³ôYShýÁ/ Ÿ3jL&‚ ž :‚$†ã¼º’ ˆ x x"lÖ {&¶;‘ &&± ɦoyw!H !¡Mi%ª$8m~ î$Ð"¹"j¹a ÖT$#¡• f1) ,;PÄ ¼ k bX‚! lê&_ Nú )%ªYƒ#èÿä9åEz'ý"Gå ¿´{ Õ%<0ìÞ >T» ÔMÜvOi—†$À#‹v±‚% ¤ÀùJì7²znwB?õ&gí3Ý$FH¨¬ Z#]G±)T ¥ ò Ï'#¢¡D ($€ W 2 Ð% 6g ? 1 ΂† 1$4ë&"~ úÝÒ"{¯Žž Û!\9 Ä(%Bæb<J#>J‡%P r 5¹€Ô$¶!ú™ Qc#¦8B+Ú  ”ñ !³î#Çš° ~×B*#J ÿ}? l%u&+š z#ô *Ãðÿ#ÙûÒ €+ =$ÿ  Ò! Á&ö ÿŽ&   #Æ!Ö(!‚n … Ѻ¬ ÄÌ̳!ˆ%• C Vd[ ¹#Dÿà˜a ó• 7"K!Ê# Â4 @ ¦_uÎ :"ß&á$š öY{LO Ü¢l­´ÓÈ!CHƒNT¾&˜åve½#a~ • &6š Ï_ ”Oj5ûÖÄÉs\g#ˆ†r +  I ô#y y %ø!/ejþ#l¦=Ô :©« q´ø $P ‚ <¼{&û*læ#Yú±!²¦ ¯ ß$± hØsO6 J³"É Üt]% ^%$ ‰!M ­;4«$Ð&Š"×#ÿ @æ^ÒaP$Í%.DÁÒV Š3âÂMƒ!È%»#hÏoØ" ÷ =- "".'~&r$ dÙ$hÑü á ¡¹%R#½6&7Øc { Î&Ŭ{"&o#è??XþÉ€>_r ž Ä ýLš’ Œ&Þ¾ j‚Ï "@"/$&ÆÔ3>œŽ$Ô8Ar%Ó$r&\¯žI¬+úÔñš#X±â´Î› ?Ëp&Ã-#¥[$º|÷¿rX +£# SãNe$(Bãe¥Ð&Ç'Ð%6 ò | "Ûï |l$/!áê& "•mg1Áú!@':Ôt’QÎU…P öu!´# &£x]ãh&æ&¢#V _— [}­.º'U Ñ"O8@&¸-A"4Ï%´  ‚3Ô$ÁܦÕ= •ý, B¾ «$/Û V}v$¤sE$m÷"íÜG* š ¨Ük}Ê H!« %wè" Ýâ{¯1ÄBå­Þ¸&q0 k‡¡&þ –#$MSMeÈ!î)%$ w%€ È G'˜_» €´-‘ ‰M^7l¶#7 Ê%ûº!¾",$Èx%Ÿ ’VŸ ¯H ›¦FÇÀ’ m&w Vv¶ « Á!ü‡C|: ü!èß"j$æÈ Ø« †·’q D Õ ù"nV#… %l°(¯"Ap a…"Ý^ ¸«T 'eɇNõÜ æ‘%mÖ £&5ç½ õ L‡ / ð sU)$!/) ±w h”ë Àã$†ý2$ i·Y<…$\ !%rl•©—§1Üß%Ûlº # ¿‹ùœãi¸4›€ bðVï ÕÛ&¤# ø Õ$m‚" -' %!ñ"¿Žô$’1#© °ˆ1 ° ·vÖ< "6 ‡ãÏ-ý5v nÒÁ!¼%›t%U #îàwÑØ ’!`3=6"Sžøˆ b 7 ¶ ÎQ½—ç» a0^R?&]³È$ÿ% i!rì° bbLl êÓ?#õ#1š~]Ã#ƒó#å"Ö%u$©4 Àœy @&Ë€W ö ÅÒ ä c7« O|]µ@"ðÝI.<¢Š–6G(lã!¨ §ØMj 1ë" Õ>$y ""!Û* 4è$ÿ Âv÷Bç ›D ÌÆ ñO7"">!î%õ Eœ#žŒº#o &W #&K] HJì®Å&¾%(ÐH¥ý'"Ä|¯•5 ù Y!‡ xï3 &S %¯"Ê%Û¬ùŒ„³å: -$£ W ÿ > œ"€$Üç5Àol9#~šK"H%Øå\+ FíÀ oC\òÐ#áü¼N Þ‚°¯L"ËWSV›(³‰c‚$ãÖàî%߆$ —¦ b š!¿Z™!õ%ˆ® F„ @ õI oy"Çì&÷ û%Â*GB€3Û7‘ )!3lÊ6†@&a ï#ªÞ˜ ]yvH"*T,½Ë#G!Ô( l "ËŽ‘þ#Q%È wÁ½!' b z Ôi÷`Í ¾ÊJ 7 j¨¡7$ì º¹Ë ®·’pºZO Kú»ª«…Âwkô `v„ÎI o'  ü"Æ"¿ ¨Ô‚—Û¨%µð&!ã’ÐÜ ‚•( ‰ ˜­!ÕÛ¼Ú$Š=Õ}ùI m@(#)__tbl_2_s.c 1.5 91/02/11 SMI @€ ð Р0 `À4!€hðÑУ! F0P " 60 ]P»g Î @Œ€%*ð#!U#à2« °UWP›¯ 7^ n ¼0Íy`Šã° ÆP+Œ $V@!œ!"€(3#ðAgFÐ"ƒÎŒ÷ Þ%2 @¬#'e€X>Ëð ±l—àbÈ#/À´‘N€h"ŒÐ4 ð¡XÐ3± &  Vc<9@¬¶ ispY\Óæà ²¸–Ͱep ,šP»áX4  v  i@ì „@Ò pÙp•à¢á%*°5²#E `jT{ ÀÔü ©æp©!øR¼/à#Rà •y^°•±+"ò¼%`%cFÕy#° %#·šó PK ^$ç$—¬' I Î " I&O’œ .“%Ž ) 0M $ +R`&š.! G ¥$À&$M: "p%9›ú dÐ#c7ô >È&· oØ}€M_ß ëš ®¯AÖò5@\^ ‚¬%äj€&¸ ¼X$¸Õ!&`yø±"` «ð%±ãñR±WÐ$SÇ â”S&¯ !–Ä (–&O0xQ,%ŽP+/ñ’Y$  "VN!ã $ ²!@œ¶Id €(;\ƒ ¹ñ?@g$¹ râ~ð&Î"b Ôµýà&Œµ ©Zû À &[ R´ö€%§/” iìð"ñONÓØàÒŸœ2%¦°À” ?8 d$<Qp  p¸!i “ Ð 0 îá `Ã'  &`ܲÁv&O 0= ±©e r í%Ž` jc!R ÊäÊ$ 3ÀÔ&Æ”•¸…! g€˜&}q Ï 0%ê 36 âýŸ`$ÄWmÄ&ú> °"y Ÿ Ûx%å}`â?¦ñ"ò» ûð±µo=ãÔwöàbZßz#Ƙ ï Ü#À´µ¾ä }!߸ pY kl#Éê C® aгÖÈ ƒ Ň \ !g%¬ö‹ þ¹ t ¾$I! Ü ý%rè* 0m!ƒC¸ê#ÕÁU` Úö‡ ` Õ šƒª°¥ÝÿÁª$ T `:!»#þ r$5T 8¨Àtf íå!Z©pQpٽ˻¥S Ð  ¢ à#²#z†w:—¡:DÀ Tå î t3ey p™» ÝØ= fÊòà " g&ª ¡{¼• ä °EÎ% UBö h +È` z#-« tíÐV€°õJ%WèÚ !"`%ê 4„#ŸÁµ :òEÀ$Äiø / ƒj0uÔ‹€"xÃñNÔ`Ú©ðá‡â Œÿ™ Á ´B-г´þ"ƒht[ V X#í E öÁé¶@¬>°FÊ‹ì‚Òl€ XlQ” É ¤"Ø °"Ø¢ ) ’úI %`  E$R#%äƒ1 ð#±1‹!•: ÉRà RS% +"d“ ¤ °• §#1WD¸ I` O,cž‰p .ƒ9 °5ŽI· =!àLr` Z‚_{± ‰  ä°µ:¾æSÈ`%jt| Ì2 ¦ !‘À#ÄÙ"ù˜TM,:"B"p y#³òã!™ ‹Y$ttEÐã Wå¶C2¢!ÙÙ‹   ¶Ÿ Ë\ ‡d#E¢£@l .— ¸þÉ8z5G$p É]q ìƒqä$kŽ! à’ ª= ÒÙ%Ò¹!Ç ÀU z¤ ¢"ý#¥r~ ;p)&ªä9Eê ;"åìw.Ð S&D ¹s zÅg»#ÙÞñ] –%ys æôz ¿g £½Ò»@ #ã ×½Ù õ~¾7{¤v€8 ¶¯j ³êì } ^÷ Hì `]OÕf ÄÙú¼îØðÁ ªŸš½‰²äiÍ ±%à%‚T!>%4z U ÉÒŠ #b$°#õ™m#Yå š“”F´"P Û3Ê£»û5%) * |i§W•6wö&j ,#BUøÒ  "$&(+.147:=@CFILOSW[_cgkosw{ƒ‡Œ‘–› ¥ª¯´¹¾ÃÈÎÔÚàæìòøþ $+29@GNU\cjqx€ˆ˜ ¨°¸ÀÈÐØàéòû (1:CLU_is}‡‘›¥¯¹ÃÍ×âíø$/:EP[fq}‰•¡­¹ÅÑÝéõ '4AN[hu‚œ©¶ÄÒà㿘±. ³.`“6`@6‘6 @Ë’¿þ°Ð¿þ±. °Çàè㿘±. ³.`³6`±6 ±.@¼’¿þ°Ð¿þ±. °Çàè㿘î ¶ €¦À³.`?´#ÿ³6`º €¸ ”’ÿÿäжàº@€¦ÀÐ7¸  ¿ÿö»?`€"€ö6 ³.ภ?´#ÿ¸@”’¿þÒ¿þ‘* ’ @»:`€Ð7¸ ¿ÿõ¶àö6 Çàèã¿Àø ³.`¸§ ³6` €º ?¶#ÿ ²"® ±/ °Àл/`‘*º‘7`¸§ º@¿ÿ÷Ð6ú6€Çàè㿘?´#ÿÐ ¶ €¦À³.`³6`º €¸ ”’ÿÿŒÐ¶àº@Ð7Ð ¸ €¦À ¿ÿõ»?`€"€ö6 ³.ภ?´#ÿ¸@J’¿þÒ¿þ‘* ’ @»:`€Ð7¸ ¿ÿõ¶àö6 Çàèã¿ ö ¸ €§³.`?®#ÿ³6`€$º Ð@¸ ‚‘"‘"‘"‘"‘"‘"‘"‘"‘"‘"‘"‘"‘"‘"‘"‘"‘"“@“2`‘* @´€€§Ð7@º` ¿ÿàµ6 €"€ ø6 ?”£ÿ´€ “/  ¸ ô2 ø6 Çàè㿘î ¶ €¦À³.`?´#ÿ³6`º €¸ ”’ÿÿ2жàº@€¦ÀÐ7¸  ¿ÿö»7`€"€ö6 ³.ภ?´#ÿ¸@â’¿þÒ¿þ‘* ’ @»2`€Ð7¸ ¿ÿõ¶àö6 Çàèã¿ ø€”@ ’°"€ ø6€»/ @È’@°º`¿ÿû¸ ø6€Çàèã¿ Ð ¶ " ‘* ¸`’@¸ÐÀÐ6`Ð`€2€  Ð6`ú º§`,€ øV ‘/`ÐÀ’ÿÿÕ”`º§`<¿ÿû‘/`øV º ' €§@€ ¶` ’ÿÿÈ”`øV º`' €§@$¿ÿù €§$€À6`¸'¹/ “7 ÿþÙÀ6`ÇàèÁ*À# HÁ  HÃàÁ Ãàã¿ ±. ±6 ¢ °°¦ €"  Ð@‚Ò€€‘" ‘" ‘" ‘" ‘" ‘" ‘" ‘" ‘" ‘" ‘" ‘" ‘" ‘" ‘" ‘" ‘"“@‘* “2`¢‚ D¢‚@ D°¦ 6¿ÿâ²`â6À£4`â6àà6àÇàèã¿ ±. ±6 #,´¢b ” °°¦ €&  Ð@‚Ò€€‘" ‘" ‘" ‘" ‘" ‘" ‘" ‘" ‘" ‘" ‘" ‘" ‘" ‘" ‘" ‘" ‘"“@‘* “2`  €¢*€”  ”" °¦ 6¿ÿÞ²`% ¤£@4ã’€ &€–À Ö6À@4Ý’€ &€–À Ö6দÀÐ6àÇàèã¿ “.`@4Γ2`€ &€–À Ö6€‘* ±2 Çàèã¿  ’c@4Á€ &€–À Ö6@‘* ±2 Çàèã¿  ’c@4´€ &€–À Ö6@°Çàè‘* ‘2   @4§’c€ &€–À ‘* Ãà ã¿ !  #†2€Ö@Çàè’@4– € &€–À Ö6@²`€2¿ÿ÷Ö@Çàèã¿ €€ºÐ@’‘* ° ’c@4€ &€–À Ö6@‘* º'`€²`¿ÿï±2 Çàèã¿ €¦`À€€¦`Ä€€¦`È€€¦`Ì€€¦`Ѐ€¦`Ô€€¦`Ø2€OO€ #@O€ #PO€#XO€#iO#sºO ’c|˜–@3µ”@59èã¿ O¸#º Ѐ¦@"€€§` º`€§` ¿ÿú¸ €§` 6€º s’cÈ»/`ú@ €€€§`€6€§`€ŸÇ@耦`À€€¦`Ä€€¦`È€€¦`Ì€€¦`Ѐ€¦`Ô€ €¦`Ø€ € º € º €º €º €º @5è’`»/`º@ Ð@€€€¢ € €¢ €€ú@ÿÿ’è@4ðú@ŸÇ@èÇàè㿈ì!üÐ'¿ô sÀ'¿ø”¿èÀ'¿üÐ"cü’¿ô@4ä Çà‘èã¿ sÐ#ü€2€;sÿÿëèðcüÇàèã¿ ÿÿôº O€§` € ¸#Ѐ¦"€€§` º`€§` ¿ÿú¸ €§` &€s º?ÿ€Ð"`’cÈ»/`’@ ú@ò"@Çà‘èã¿€ü ð' D€¢  €ò' H €2€Ð DàH‡ !Á D…  €Ä½ ÂÒ H‘* ‘2 Ð; HÁ HÁ?¿øOÍ#ð¨ Æ9€Ð¿øO#ØÕ× Û HÙ D¢‰LOÔ£ø¶ Ý# hð hß# hò h´ ÿŽèÿÉø D£ !å¿ø¡  ¹7 Á?¿ð¬ R3€OPé í¿ø­¥‰Tí?¿øÿ¹Ð¿øñ¿øµ¦ÀPù § Z¿ !PÅ ½  ‰§‰B‹ DË# h€'ú hÍ¿ð#èÑÓ ©ŠÈ'€OOÕ#ø¿ +º €½ *Ù¿ð#àÝß « Î9€ пôOá¿ø#àåç ©¤Ré?¿ðпô Ð# hë h­ »* ¿ 7½ 6€§`€I‘/`í’bР¶$¶T¶T¶˜¶˜¶È¶ÈO#Øñó µ¦ ^OÔ£øõ# hРh÷# h€?Ò hPÉ ‰¡ÞO#ØÅÇ ‰ ‰DOÉ# hРhË# hÔ£øÿˆšÒ h€1½  PÙ ™£ÞO#ØÕ× ™¢‰LÙ# hРh€Û# hPé ©§ˆÔO#Øåç ©¤‰TOé# hРhë# hÔ£øÿˆ}Ò h¿ !€½  PÁ §ˆÀO#Øùû § @Á# hРhÃ# hOÔ£øÒ hÿf½  ¿ !€"€ >½ ¾ >ƒ ?Çàè㿈ð' Dö' P’ €® ø' Tú' XøÐ Tø'¿üúOÀ"РX° À"РP¤' Ò"РPª À" РP¨ À" РP€À"" € .@3œ¶ÐÀÐJÐ/¿û ÐO@€Š "€ €¦ €¦€¸ úO ¿ÿõ° ¿ÿóº &€€§`+РT’ Ò"’`ÐOÐJ €Š "€¤' ¤€¦&€€§`+€2€€§`+РP€³À"€€¦6€º ¸ úO €° €§`-2€ ?ÿРP’ €¦€Ò" ¸ úO €° º ?ÿ€§`1Ð'¿ô€€§`94€€§` РT’ Ò" €¦® Ð'¿ôРP¤€ú* ¸ úO €ö° €ôº €§` €€§`0€€§`I€5€§`N€u€§`i€1€§`n"€r€¦ÐO¿û€§@€u€¦€ß¸ úO €Ȱ €¦ &€m€¦ Ð T’ Ò"€§`0€€¦ € €§` 2€ ÐO€¦€¸ úO ¿ÿô° ¿ÿòº ÐO€¢ 0€€¦ &€¤' ÐO€¢ 2€¤' ¤€ºÀ'¿ô€¦6€º ¸ úO ° ª €§`a€€§`z4€¨€¨'` ¨PÐ (¶ÐNÀ€¥€ €¥`€ €¦6€º ¸ úO ° ¿ÿêª`€§`a€€§`z4€¨€¨'` ¨öNÀ€¥2€¨¨`€¥ ª`€€¥ €Ð Tª%`¤'€’ ª%`¤'’ Ò" sÐ"bŒÐ P’ Ò"€ è'¿ô€¦6€º ¸ úO ° PÐ ,¨ ¶ €§`a€€§`z4€ª€ª'` ªöNÀ€¥@€ €¦6€º ¸ úO ° PÐ ,¶ ¿ÿë¨ €¥ 2€€¥ РT’ Ò" sÐ"bˆÐ P’ Ò" ¤' Ð'¿ô€¥ 2€Ø€¦ Ð T’ Ò"РP’ Ò" è P¤' ¨ ªÐ'¿ô€€€§`)€€¥áÿ6€€€¦ú-@ªª`€®à¸ úO ¿ÿñ° ¿ÿïº €€€§`)"€€§`)РP’ €¦€Ò"" ¸ úO ¿ÿô° ¿ÿòº €§`)2€ РT€¦€¤¸ úO €° º РT’ Ò" s€–Ð"bˆ€íº â P 0Ð/¿ï¢` À/¿î€§`1€`€§`94€_'` À €¢"&€€Ð Pª`Ô ’ ”€Ô" РPÒ"" ÐO¿îÐ,@€®!ÿ€ ¶ ¬@ÐO¿ï¶à€¦ÀÐ-€¬@¬ ¿ÿú®àú,@®àРT’ Ò" €¦ª €Ð'¿ô¸ úO €° º !ý"€Ð'¿ð€€§`1€€§`94€€§`0 @¦¬ €¦¶ ú,À¦¦à€¬¸ úO €° º €§`1€€§`94€®Àпð€¦À&¿ÿ®À€§`0"€Y€§`0ÐO¤€¢ 1€ÐO€¢ 9$¿ÿ¤€§`1¿ÿ¡¤' '` €¢ Q€qï“2 ’@’ `™*`”£Ö €¢À"€ ˜ €¢ÿÿ"€fÐO¿û˜ ˜ xÖ €¢À2¿ÿú€¢ÿÿ˜ Р¿˜¿ÐÿÿÿÿÀ|ÿÿÿÿÀ|1ÀpÿÿÿÿÀ|$Àp%À4DÀpEÀ4QÀp ÀpÿÿÿÿÀ| ÀpÿÿÿÿÀ|ÿÿÿÿÀ|€¦ &€Eпô2€ РT€¦€¸ úO ¿ÿ[° ¿ÿYº РT’ Ò"€§`0€€§` 2¿ÿR€§`1€§` €€¦ &€,¤' "€ª%`€¦ª`€¤¸ úO ¿ÿî° ¿ÿìº Ð Xø"пô€¢?ÿ"€È€¦ Ð¿ô€$€F€§`+РPÒ ’@€@Ò" €2¿ÿñРXÐO¿û€§@€ €¦€¸ úO € ° €º пô€$€¬€¦ €¦Ð Pпô€&€ РT¤' ÐL€ÒO¿û€¢ 2€¤ Ð TЀ€€¢ €€¢ "€Ð T€â PРT€’ ’ Ò"â P 0Ð/¿í¢` À/¿ì€§`1€x€§`94€w'` РTЀ¢ 2€Ð¿ôРT’ Ò"пô¤€¢ 6€ À ¨ ” Ð'¿ôú,@РP€$®à €¢"&€ ¬@РPÒ ’@Ò" РP’ Ò"" ÐO¿ìÐ,@€®!ÿ¶ €¦À€ ª@ÐO¿í¶à€¦ÀÐ-@ª@ª`¿ÿú®àú,@РP¨ Ô ®à”"€Ô" €¦¨ €ª ¸ úO €° º  !ý $€€+€§`1€)€§`94€(€§`0¤@¦¬ €¦¶ ú,À¦€¦à€¬¸ úO €° º €§`1€€§`9€€¦À&¿ÿð€¦ÐO¤€¢ 1&€¤' ÐO€¢ 9$€Ð P¤' РP®ÀÒ ’"@Ò" €§`02¿ÿŒ€§`1€[€¦'` €¢ Q€‰ð“2 ’@’ `™*`”£ŒÖ €¢À"€ ˜ €¢ÿÿ"€~пô˜ ˜ xÖ €¢À2¿ÿú€¢ÿÿ˜ Ð ÂÄ ÄTÿÿÿÿÅPÿÿÿÿÅP1ÅDÿÿÿÿÅP$ÅD%ÅDÅDEÅQÅD ÅDÿÿÿÿÅP ÅDÿÿÿÿÅPÿÿÿÿÅP€¦ &€Qпô2€Ð Tпô€¢?ÿ"€À'¿ô€¦€¸ úO ¿ÿ?° ¿ÿ=º РTЀ¢ 2€Ð¿ôРT’ Ò"пô€¢?ÿ"€À'¿ô€¦€¨ ¸ úO €° º €§`0€€§` 2€ÐO€§` €€¦ &€#¤' "€¨% €¦¿ÿò¨ ¸ úO ¿ÿï° ¤€¢ 0"¿ÿ€§`1¿ÿ¤' РXø"пô€¢?ÿ"€“€¦ Ð¿ô€$€€§`+РPÒ ’@€ Ò" €2¿ÿñРXпô€$€ƒ€¦ €}РP€§`+ª ¶ €€§`-€€¦6€º ¸ úO ° €¦ € €§` 2€ €§`+€¦6€º ¸ úO ° €§` "¿ÿú€¦€§`+€ €¦€¸ úO € ° € º €§`-€€¦6€º ¸ úO ° ¶ )õဧ`0€€§`9$€€§` €§` 2€A€¦à€§` €€¦ &€<€¦à2€ º 0€¦€¸ úO ¿ÿì° ¿ÿêº €¥@€¤«-`•-`”@ ”€–" 0ª €¦6€º ¸ úO ° РTÐ" €¢ ¿ÿÕ‘* ñ’bìÐ ÂÇÇÇÇ Ç0РT’ ¿ÿÇÒ"РT’ ¿ÿÃÒ"РT’ ¿ÿ¿Ò"РT’ ¿ÿ»Ò"€Ð PÒ €’"@Ò ’@Ò" €¦ &€Ð¿ô' €¤€"€¤ €§` 2€ €€¦6€º ¸ úO ° €§` "¿ÿú€¦€"€¤' пô€¢ €Ð PÀ"РP À*РPî""пü€¤€*€Ð TÒ D¤ € ä"`À"РDÒ¿üÒ"РP’ À" РPÒ"Çàè㿸ðð'¿üð¿ü±6 °Ž ÿ2€ €¦ ÿпü‘* ‘2 €"€° €° 2€° ð¿ü±. ±6 €2€€° €¦:€° ° ÇàèØÚ ™+ ™3 € € Ð € €€"€ € ’cÿ€£ 2€ ÿÿ’cÿš‹@ 2€€2€€ €£@ :€  Ãà㿘ò@¸ ò'¿üпü² ‘2 º Ð& ²`€¦`À"¿ÿüº`ò¿ü³6`²Ž`ÿ2€€¦`ÿò¿ü³.` ³6` €2€ €*À& Ð& ?Ð& ‘.` Ð& @fè2€²&`ò¿ü³.` ³6` €2€ €Ð& €Ž@"€ €ø& @éø& ³.`²@ € ò& ò&  Ð& пü ‘* ‘2 ‘*  Ð& Çàèã¿ ö@ø`ô`‘6àÐ&¬ ‘.àì& ”£ÿ‘2 " Ð& ² ® ø& º ô&  ²`€¦`À"¿ÿüº`·.à·6à”£ÿ€¦À 2€ ÿÿ#ÿ€2€€2€ €Ð& €"€î& €î& ° @¥è€§€ €2€ì& €2€ì& €À& @èÇàèã¿ÀÐ €¢ €’ Ð ¸ €2€²€§ :€ ²¸ ¹/ ¹7 “/  Ð €"¿ÿ÷€§ ²€¦`*€€€xÀ& "€.º ® º ´®%À€¦€€ ¶ ´€µ.  И º`´€¦€Ð# ¿ÿ÷¶à€§`6€ Ò ·/` º`€§`À"¿ÿü¶àÒ ‘/ ’"@º Ò& º'@“/` Ð €2€?¸ ¹/ ¹7 º º'@“/` Ð €"¿ÿø¸ ?ø #ÿ€§€® ® ¹/ ?ÿ#ÿ€§8€ÿÿ®à¯-à¯5à¹/ ÿÿ#ÿ€§8€ÿÿ®à¯-à¯5à¹/ ÿÿ#ÿ€§8€ÿÿ®à¯-à¯5à¹/ ÿÿ#ÿ€§8€Ò ®à¯-à¯5àÒ €¥à’"@ €Ò& €¸€´ ¬ ¬%€“/   ú¸§ ³/@´€»7@ô"¿ÿ÷´Çàè’ ‘*@sÖbp–ÀÃàÖ"bp㿸ÐÒ Ð?¿øð¿ø±6 °Ž'ÿ2€ €¦'ÿ‘* ‘2 €€€ "€° €° 2€° ‘* ±2 €2€€ 2€€° €¦:€° ° Çàèã¿À® ®%À¶ º ¬ ‘/`€ðº§`µ.¶À±6ö"¿ÿø¶Çàè㿘Ð@Ò`² Ð?¿øÐ¿ø¶ ‘2 Ð&пü¸ º Ð&  ²`€¦`À"¿ÿüº`ò¿ø³6`²Žgÿ2€€¦gÿò¿ø³.` ³6` €2€< пü€2€< €.À& ø& Ð& ò& ÿÿè2€²&cÿò¿ø³.` ³6` €2€ пü€2€ €Ð& €Ž@"€ €ö& ÿÿ†ö& ²@ò& ² ÿÿ«èò& ø& пø‘* ‘2  Ð& ² ÿÿ èÇàèã¿°º ¸ ¶¿ðк`€§`¸ Ð&À¿ÿû¶àú¿ð»/`»7`€2€Ð¿ò€€Ð¿ô€€ пø€€Ð¿ü€"€!º €º #ÿ€§@2€º ú¿ò€2€?пô€2€ ?пø€2€?пü€2€?€ º #ÿº@ €§@ :€º º Çà‘èã¿€ð?¿ø!P  `ª Á¿ø#ûƒ¢cŽ€¦%üB4€)¤ B#€#€¦€\# .€–@€ €€É (  Dª?ÌÁ?¿ø€Qð¿ø’”–ÿ‹‚˜ €#?ü€¦6€™ ÀÅ ’”–ÿ‹u˜ €€¦&€ Å # à€¦€f#ü€¦€2€„ @‰ Â * #ü€¢2€Å ’&€’@"€yÁ ¡ DÅ ‘ ‰DÕ ‘¢ˆÈ‘¡‰H€q¡È‘ ˆDûø‘¡ È‘ (ü’cÿ”&–"@˜’€ ¢ H6€ Õ `Õ p•¡‰JÝ h•£ˆJ•¡‰JÙ `•£J•¡‰JÝ X•£ˆJ•¡‰J•¡Ê•¢ J€V¡Ê'¤‘4 "#ÿª@#?ü°.#ü°ð'¿ø¤#?ÿàÁ¿ø €’ Ð?¿ðÅ¿ð‰ Âê'¿è B¥4  ¡ Æ &á¿è¤  øP Ø‘¡‰F¡ Õ P•¢ JÙ H•£J•¢ JÝ @•£ˆJ•¢ JÙ •£J•¡‰JÝ 8¤ N¢ˆNÙ£NÕ 0•¤ J€%£ˆJ?ÿà”” € – Ô?¿ðÅ¿ð‰ Âíð B&¡ Æ &‘2 * ÷’`õ” ‘¡‰FÕ P•¢ JÙ H•£J•¢ JÝ @•£ˆJ•¢ JÙ •£J•¡‰JÉ@•¡JÅ€ ˆJÇàèÀïÞbFæÀŤ€¨ÀœDæ«Àsµ¾b[ÀKñYÀ$îUŰÀþ¦EðïOÀÙ =uÀ´+'^)»ÀëzWͨÀlM2&uÀÀIJÊ$¯iÀ&ßèDÀçŽ*@Àã·µcH„ÀÂòëìÒ$À¢²?;«sÀc­ » À&‰|;eé¿ÿÖWUÉ2¿ÿbô”§¸¿þòºsXB¿þ…~pbdl¿þ*ØÌ¿ý³e…„£¿ýNApË!¿üëSŒmc¿ü‹+Ï¿›¿ü-ð?6¿ûÐõ¡Tt¿ûvî€Èbå¿ûלÇP¿úÈ›ƒGpÔ¿út&Ÿ„3¿ú!fŒ°^¿ùÐIýFå¿¿ù€À¦‹•,¿ù2»+¤ng¿øæ+ dÁ¥¿ø›”üëò¿øQ4Ï?6¿øµu2~Y¿÷ÁxäÏΈ¿÷{tÌAÚ¿÷6œŠT¿öòèOŸ7‰¿ö°MëIt¿önÄX\‡P¿ö.Bþú9ï¿õ°8’ÀY#¿õ5ñxù®Ú¿ô¿5ÖKã:¿ôKÒˆŠÁ¿óÛ˜Ÿö;K¿ón\ðåGu¿ó÷«[¯¿òœDæ«¿ò7ñNr*¿ñÔkÔPl¿ñt PAò£¿ñàs"?¿ð¹Ó$7}¿ð_ÍKEî¿ð¶IéY¿ïbô”§¸¿îº @,-¿îŠ'&οírPû“‘Ž¿ìÓ>Nðh¿ì73XN¢à¿ëžÏI\¿ëÂ*ÿõ¿êt&Ÿ„3¿éã'ëjÂÿéT®Ê¥c ¿èÈ¥*žIÅ¿è>ö®0¿ç· D5#¿ç2Xט®3¿æ¯E±¾Ô±¿æ.Bþú9ï¿å2.&†xW¿ä=Ÿòù#Å¿ãP(­Œ†¿âib4Û’¿áˆî@ò<¦¿à®vâÐTú¿ß³X¯zH„¿ÞŠ'&οÜùÇETÉ¿Úõ)RHÍпÙs£CV®¿×úú;ؿ֊È>œj¿Õ"®8£Ø¿ÓÂRw31„¿Òib4Û’¿ÑŽ‚'ä|¿Ï™l³³y¿Í7òe^{¿Ê“í<ŠÙã¿È#ÁeQ£Â¿Å¿@kT=²¿Ãeü°¿ÁŽ‚'ä|¿½§'c„F¢¿¹3^]YI‰¿´Ó] ~¬¿°…˜µž:¿¨”ªŸ³C¿ A]‰çDD¿ VX“XG?Ÿ‚›x3?¯ 0Àb¦?¶ðÒŠåkL?¾'n*òæ?•Røõ#?Åÿ0p§“Ô?ÉRZœôV´?Ì÷Çšš"?Ϲm^>+?Ñg\««¦?Òèâºá1?Ôa‹Â^Â?Õѽ¿X Ê?×9×ö»Ð?Øš3†ÁB[?Ùó#쿘L?ÛD÷{Ìc?Ü÷Çšš"?ÝÔjÁÄ¡?ß_¯í?à%R¥¥Ðÿ?à¾rä%*ƒ?áTÃÒôÕê?áè_^p@Ð?ây^‰±?ã×3O¾?ã“àÓV*?äèFr®?䤸]°>»?å*-&[Å«?å­@L5Ÿ-?æ.Bþú9ï?ç*W×mû‡?èæ ûP?é ]PVçY?éó#쿘L?êÓ—½78?ë®$ä?ì‚Ù¦7Oœ?íR@ðààx?î‰QÉz?îáñTÐ ö?\jȈ?ð/„p4¨?ð‹ïSj?ðå—},ù?ñ=®a-mŽ?ñ“êz­ ?ñè_^p@Ð?ò;qcÀ?òŒ<­Ž ?òÛÅWhÞ³?ó)ÊÒPw?óvZñ²9?óÁƒh÷‡ì?ô Q.µ=`?ôSЈÁõ…?ô› $¥W?ôáé(2?õ%és VO?õi®U%t@µø°Ó¿@á¼Óž}@ Q.µ=`@4±8.þ¸@]?Óä@…+1ŒQ@¬è¥³@ÒNøDö@÷ã3øàî@Ê×»§@A ÃÞº@d¨ o£@‡ªt5ú@ª9MH@ËðV§»"@í=ˆÒœÞ@RI?@.Bþú9ï@mH5*U@ªkÁúz@åÉ“QeJ@{:k‘†@W˜.|9A@Ž6³,@Ãh¨ÉZ@÷B{sã‘@)Ô…ÐÒ@[.”o®±@‹_VV]•@ºtw=ÅÈ@èz¶å;(@ }ýѳð@ A‰oÒb;<¢7eN¹ã<Œ¡>ê1E;öýÖ¾ñ«¼œw¡ß\Ç<¨<”ÿëØÈ<¯ wx;.`<® :^}à<šuH99K†¼’ÿ{Ƽ®¦Ë)Á)˜<¤ ì‚–N<š{êÍ[¤<¨çü®’…â¼­;Ó)"Q\¼®vÒ’«dðØ+¬9<˜µ‚æw½§¼vw‘ ¯"¼œeÌŒk˜5¼™­GÈãx¼•Éלç&¼[m(ÁZj<™S¸ŒwμŸ¢Ìy c‰¼“Óª/Á<•µUå=0R¼ˆy}ñßØÐ¼Ž ;–èn¼„~£ÎVåà¼f H´8Ü<†;äU÷§«¼†ƒ£yš¼™K*{ð4<—àë½Þ±¬<—(Qަ ¼›9逻C/¼:cµ¤0}–ˆiм”¨AW­¼¼Š¼ž;9€?¼Š"¬CðƼCj±W?ñï#«ˆ7¼xô͹^½ù<BÞÍìϼï\ýXËÖ¼–ºŽîà€¢Ê€¦€€)ŒÅ … B€¦€€É @€6 DÍ H  F¡F  F€0¡F¸ º …  @¹/ É Љ ‰DÍ ȉ¡ˆD#P¢bЉ ‰D%Q¤ Ð‰ ÄÍ 8‰¡ÆÑ€‘  H'P¦ãЉ¢ ĉ $ÍÀ‰¡ÆÑ@¢Ä€€€§|&€ º`6»/`Á'¿ðè¿ð¨@è'¿ð€ Á¿ð»/`Á'¿ðè¿ð¨@è'¿ðÁ¿ðÅ € ‰@Çàè”’ÿ†–¿ÿù+€@¿ÿõ°@Á/¿ðè¿ð+3à€€ ª"¨@è'¿ðÁ¿ðð'¿ø¿ÿçÁ¿ø¿ÿå @€l–ÿÿÿ¼€x –ÿÿÿ´€„–ÿÿÿ¬€–ÿÿÿ¨€œ–ÿÿþ8&08ˆ(&48‹(€¨'–ÿÿþ4&l8ˆ(&p8‹(€´>–ÿÿû¤-`8ˆ(-d8‹(€À9–ÿÿ÷-à8ˆ(-ä8‹(€Ì#–ÿÿõŒˆ„8‚(€ØI–ÿÿÿ|€äH–ÿÿÿ$€ðV–ÿÿÿœ€üN–ÿÿÿtX–ÿÿý<a–ÿÿüL ¦–ÿÿï„,¬–ÿÿí|8¢–ÿÿíD«–ÿÿéH—„8ˆ(—ˆ8‹(PÊ–ÿÿôl\Ë–ÿÿóÜhT–ÿÿÉÀ 8ˆ(¤8‹(ì8ˆ(ð8‹(”8ˆ(˜8‹(à8ˆ(ä8‹(  8ˆ( ¤8‹(t–ÿÿ쀖–ÿÿôŒ²–ÿÿÿ옰–ÿÿÿऱ–ÿÿÿ̰¯–ÿÿþȼ³–ÿÿÿ˜È´–ÿÿþÐ4h8ˆ(4l8‹(Bè8ˆ(Bì8‹(C 8ˆ(C8‹(Ô¶–ÿÿïÌD8ˆ(D8‹(EÔ8ˆ(EØ8‹(I°8ˆ(I´8‹(J 8ˆ(J8‹(Qø8ˆ(Qü8‹(WÔ8ˆ(WØ8‹(ൖÿÿÖˆ]ô8ˆ(]ø8‹(^x8ˆ(^|8‹(츖ÿÿÒøÖÿÿþ¼eø8ˆ(eü8‹(gð8ˆ(gô8‹(hô8ˆ(hø8‹(iø8ˆ(iü8‹(m$8ˆ(m(8‹(‚¼–ÿÿõo8ˆ(o”8‹(oü8ˆ(p8‹(t8ˆ(t 8‹(t`8ˆ(td8‹(t˜8ˆ(tœ8‹(y,8ˆ(y08‹(yˆ8ˆ(yŒ8‹(yÀ8ˆ(yÄ8‹(}Ð8ˆ(}Ô8‹(~,8ˆ(~08‹(~d8ˆ(~h8‹(€8ˆ(„8‹(Ü8ˆ(à8‹(€88ˆ(€<8‹(€”8ˆ(€˜8‹(€ð8ˆ(€ô8‹(L8ˆ(P8‹(‚»–ÿÿáØ„(8ˆ(„,8‹(„°8ˆ(„´8‹(†8ˆ(† 8‹(‚½–ÿÿܼ‚(À–ÿÿÜ”‚4Å–ÿÿÚÔ‚@–ÿÿÙ$‚LÄ–ÿÿÙ‚XÁ–ÿÿØÌ‚dÆ–ÿÿ×d‚pº–ÿÿׂ|¿–ÿÿÖdŽ€8ˆ(Ž„8‹((8ˆ(,8‹(“ø8ˆ(“ü8‹(”P8ˆ(”T8‹(”ˆ8ˆ(”Œ8‹(˜H8ˆ(˜L8‹(˜ 8ˆ(˜¤8‹(˜Ø8ˆ(˜Ü8‹(œÀ8ˆ(œÄ8‹(8ˆ(8‹(P8ˆ(T8‹(¡8ˆ(¡8‹(¡h8ˆ(¡l8‹(¡ 8ˆ(¡¤8‹(¢˜8ˆ(¢œ8‹(£08ˆ(£48‹(¤Ä8ˆ(¤È8‹(¥d8ˆ(¥h8‹(¨88ˆ(¨<8‹(¨¤8ˆ(¨¨8‹(ªÐ8ˆ(ªÔ8‹(«<8ˆ(«@8‹(«¨8ˆ(«¬8‹(®œ8ˆ(® 8‹(¯8ˆ(¯ 8‹(±48ˆ(±88‹(± 8ˆ(±¤8‹(²\8ˆ(²`8‹(²è8ˆ(²ì8‹(³d8ˆ(³h8‹(³À8ˆ(³Ä8‹(´8ˆ(´ 8‹(´x8ˆ(´|8‹(´Ô8ˆ(´Ø8‹(µ08ˆ(µ48‹(·`8ˆ(·d8‹(¸<8ˆ(¸@8‹(¸˜8ˆ(¸œ8‹(¸ô8ˆ(¸ø8‹(¹P8ˆ(¹T8‹(¹¬8ˆ(¹°8‹(º8ˆ(º 8‹(¼X8ˆ(¼\8‹(¾ˆ8ˆ(¾Œ8‹(Â$8ˆ(Â(8‹(Â|8ˆ(€8‹(´8ˆ(¸8‹(Æt8ˆ(Æx8‹(ÆÌ8ˆ(ÆÐ8‹(Ç8ˆ(Ç8‹(ÊÄ8ˆ(ÊÈ8‹(Ë8ˆ(Ë 8‹(ËT8ˆ(ËX8‹(Ï8ˆ(Ï8‹(Ïl8ˆ(Ïp8‹(Ϥ8ˆ(Ϩ8‹(Ð\8ˆ(Ð`8‹(ÔH8ˆ(ÔL8‹(Ô¤8ˆ(Ô¨8‹(ÔÜ8ˆ(Ôà8‹(Øì8ˆ(Øð8‹(ÙH8ˆ(ÙL8‹(Ù€8ˆ(Ù„8‹(Ý8ˆ(Ý”8‹(Ýì8ˆ(Ýð8‹(Þ$8ˆ(Þ(8‹(â48ˆ(â88‹(â8ˆ(â”8‹(âÈ8ˆ(âÌ8‹(ã€8ˆ(ã„8‹(çl8ˆ(çp8‹(çÈ8ˆ(çÌ8‹(è8ˆ(è8‹(ì8ˆ(ì8‹(ìl8ˆ(ìp8‹(ì¤8ˆ(ì¨8‹(íl8ˆ(íp8‹(ý”8ˆ(ý˜8‹(þ@8ˆ(þD8‹(ÿP8ˆ(ÿT8‹(ÿ”8ˆ(ÿ˜8‹(˜8ˆ(œ8‹(88ˆ(<8‹(ì8ˆ(ð8‹(l8ˆ(p8‹(¤8ˆ(¨8‹(Ü8ˆ(à8‹(t8ˆ(x8‹(l8ˆ(p8‹( X8ˆ( \8‹( ´8ˆ( ¸8‹( ì8ˆ( ð8‹(ü8ˆ(8‹(X8ˆ(\8‹(8ˆ(”8‹(ô8ˆ(ø8‹(à8ˆ(ä8‹(<8ˆ(@8‹(t8ˆ(x8‹(„8ˆ(ˆ8‹(à8ˆ(ä8‹(8ˆ(8‹( (8ˆ( ,8‹( „8ˆ( ˆ8‹( ¼8ˆ( À8‹($Ì8ˆ($Ð8‹(%(8ˆ(%,8‹(%`8ˆ(%d8‹()p8ˆ()t8‹()Ì8ˆ()Ð8‹(*8ˆ(*8‹(.8ˆ(.8‹(.p8ˆ(.t8‹(.¨8ˆ(.¬8‹(3À8ˆ(3Ä8‹(=@8ˆ(=D8‹(I8ˆ(I 8‹(K”8ˆ(K˜8‹(Kà8ˆ(Kä8‹(Lh8ˆ(Ll8‹(‚ˆÉ–ÿÿüÄ‚”Ë–ÿÿü„‚ È–ÿÿû¼‚¬Ê–ÿÿõ˜‚¸Ç–ÿÿ×4‚¼8ˆ(‚À8‹(‚ÄÏ–ÿÿû‚ÐÌ–ÿÿúð‚ÜΖÿÿø@‚èЖÿÿ÷|‚ôÍ–ÿÿ÷HƒÕ–ÿÿþ`ƒ Ô–ÿÿþHÀ,8ˆ(À08‹(ÀÌ8ˆ(ÀÐ8‹(Á8ˆ(Á8‹(Á`8ˆ(Ád8‹(ÂÐ8ˆ(ÂÔ8‹(Ã(8ˆ(Ã,8‹(ƒÓ–ÿÿøÇô8ˆ(Çø8‹(ÈL8ˆ(ÈP8‹(ÊP8ˆ(ÊT8‹(ʘ8ˆ(Êœ8‹(Êà8ˆ(Êä8‹(ÎÄ8ˆ(ÎÈ8‹(ƒ$×–ÿÿî Ϥ8ˆ(Ϩ8‹(Ïì8ˆ(Ïð8‹(Ð@8ˆ(ÐD8‹(ÒL8ˆ(ÒP8‹(Ò 8ˆ(Ò¤8‹(Ô„8ˆ(Ôˆ8‹(ƒ0Ù–ÿÿÿÀƒ<Ý–ÿÿÿpƒHÜ–ÿÿýˆƒTà–ÿÿüƒ`ç–ÿÿùäƒlð–ÿÿùPƒxæ–ÿÿøØƒ„í–ÿÿõxƒì–ÿÿôDƒœä–ÿÿ󔃨ê–ÿÿïTƒ´÷–ÿÿÿXƒÀú–ÿÿþ¬ƒÌ –ÿÿþŒƒØ –ÿÿþxƒä –ÿÿþƒð –ÿÿùàƒüý–ÿÿù˜ó ˆó¤‹„ø–ÿÿù„þ–ÿÿ÷@„ ö–ÿÿôà„,–ÿÿôp„8–ÿÿôD„Dõ–ÿÿóô„Pü–ÿÿóˆ„\–ÿÿò<„h–ÿÿï`„t–ÿÿëÄ(8ˆ(,8‹( 8ˆ(8‹( 8ˆ(8‹(„€ô–ÿÿ匄Œñ–ÿÿå|„˜–ÿÿä°„¤ù–ÿÿ䜄°–ÿÿ㤄¼ó–ÿÿâè„È–ÿÿâÔ„Ôò–ÿÿâÄ„à –ÿÿá\„ìÿ–ÿÿáD„ø–ÿÿà`…–ÿÿà@…–ÿÿùü…–ÿÿ÷l…(–ÿÿòÌ…4–ÿÿÿÐ…@–ÿÿÿ@…L–ÿÿýø1”8ˆ(1˜8‹(1ä8ˆ(1è8‹(…X–ÿÿüˆ2¬ˆ2°‹…d–ÿÿü04|8ˆ(4€8‹(…p–ÿÿã…|–ÿÿâÜ…ˆ!–ÿÿâ¼…”#–ÿÿĈnè8ˆ(nì8‹(o8ˆ(o8‹(… &–ÿÿÃà…¬ –ÿÿÃŒ…¸"–ÿÿ¼…Ä%–ÿÿÁÀyÀ8ˆ(yÄ8‹(…Ð9–ÿÿÿÀ…ÜC–ÿÿÿœ…è8–ÿÿûÔ…ôK–ÿÿç`†I–ÿÿæ† M–ÿÿÌà†Q–ÿÿ¼˜üÐ8ˆ(üÔ8‹(üø8ˆ(üü8‹(†$_–ÿÿ¾†0m–ÿÿþœ†<n–ÿÿý°§À8ˆ(§Ä8‹(§è8ˆ(§ì8‹(³Ì8ˆ(³Ð8‹(³ô8ˆ(³ø8‹(¹ 8ˆ(¹8‹(¹48ˆ(¹88‹(†H“–ÿÿõ xˆ |‹ ˜”ˆ  ”‹ Ì”‹ t”ˆ |”‹ ¨”‹ D”ˆ L”‹ x”‹”ˆ”‹D”‹†T–ÿÿÿ K”ˆK ”‹†`ö–ÿÿÿð†lð–ÿÿÿT†xù–ÿÿýø†„í–ÿÿûVœ‹VЈVÔ‹W¼ˆWÀ‹Xpˆe´ˆeĈeÈ‹†ô–ÿÿá4†œõ–ÿÿà膨ø–ÿÿฆ´÷–ÿÿàœqˆq‹stˆsx‹s ˆs¤‹tˆt$ˆt(‹zDˆzH‹{ˆ{ˆ{‹{‹©xˆ©|‹©üˆª‹ÁäˆÁè‹Â@ˆÂD‹†À–ÿÿüPØ8ˆ(Ø8‹(†ÌI–ÿÿÿV°ˆV¼‹†Øj–ÿÿÿ˜†ät–ÿÿý$±Ø8ˆ(±Ü8‹(²Øˆ²Ü‹†ðƒ–ÿÿýø³äˆ³ô‹¸ˆ¸ ‹¸Xˆ¸\‹¥€2Ò©†„o/)Ù¦”öÁŠ#()›6&rùª+W|ói*pûŒ½gÝŒÞW·SöÈKk—„ȃuQobä³'çw}Çlå@ «¨/žj´œÑdwûR$ÂÎZU“s‚"‘¶š¤I”•-Bˆ_vA<kCÁZã]—a…4’su»QÇãLU Ÿ#ç=í¶W`êzèéå â¿ËcÄ;g‹²\Æ)$ÿ&I äæìNï0t|À9 þd¾ë¿OŽ"mKŸBm~Ê ¼.æ÷¯yò·3q‹P´âÂ ÎØ‰01gÌÅz§: ò!côOQÎÆÄ ô3t–Ùñ^|jñ¦óR±ÃôɃú4êøz úäŸßrÔTG`¦*džS¯E2éhnµTʃM…·–LñV¼VÀ%˜9`A!„û²†Úü0¢©Õlt6r<ŽhÅØ*_>½ÔÇUXô6Æ15ùï€ Æx™ÄnÏóYâFJêìÛÕÞ ›ÑóÿÿÿÿÎx:I?ò¸~\I¶^i™i‚£'¹(Ce«H¶,(§we7èìí,ð078¥<Ê>hDüEzGîJ-P V/[õ_a)bëfjm2p y{eý€%†5‡³ˆF‰ Š+‹“K–;˜}š º B¡k¢Œ£¿¨ª@¬¤­*®N°{µ=·=¹•º.»_¼D¾ÂdÃGÉ>Ë"ÌPÍ&Ï?Ð1ÒÓ֡תÙYÚÜHÝ3ÞàLá´ãùåXæïç]é8ëCìOí&îDïqð3õÿö®÷pøúoû‹ü[ýþþMÿɬ™øg›   . ß\œñf­^bÚv!º#²$%&.'ˆ+k,î-.s/š1Y4î56Ì78µ9Í:*;Ô=>ò?‘@{AwB}C DžEàF HðJRK’LMN$O¾RSPTÖW–XYØZS[‡\°]^7_¸`ÿac…dòefgiüjSkÀlçmOnop£qrÏsçuÛv w±x»yz{Ü|á}<~È?€¼Ð‚æƒl…ㆇ戯‰˜Šå‹rŽä‘;’“%”•—#˜±™šKœ+Ÿ\ ¡ë¢Z£¤¥¦Ó§Ä¨"©ª«×¬÷­?®W°M±8²è³ù´ÈµÃ¸ ¹«º$» ¼ú½ø¾õÀÁ:ÃÝÅQǰÊ÷ËAÌÍvÏÐuÑ]Ò‡ÓÔŒÕ-ÖGׂÙýÛÜÝ¥ßàá@âíãä(å]èUé5ê'ëŠìˆíîðcó9ôTõ ö÷ø,ù úû4üÒýbþ5ÿ2É‘!+ 0 Ñ 8 Ž •haE} >öHN ‰!Ö"~#V$Û%J'H(1)[*‡+,¦-ñ._/12F3®4q5:6e78D9: ;<¹=>y?f@“ABBxCÏD¡EXFGH¸IJ‰K­LtMÕNOPÞQ”R¨SyTUVïX¿YÓZn[]›^ `áaÜbxcd„efghni j/kœlmnÁop’qˆrUs§t<uvxys{‚|}¬~³Í€P‚oƒ¯„…\†Ø‡2‰ËŠ—Œõ;ŽÅ¤‘ž’“”•–—˜¢™š›©œN^žŸ¡7¢C£¤¥§¨©ªà«T¬F­"®¯è°±Ð²!³é´µ¶½·¸¹€º»×½E¾¿ ÀßÁêÂÃ-ÄÚÅÆÇÈÉÊËÌûÍþÎ)ÐÑ0ÒÓâÔÕ9Ö×ýØÙ#ÚÛIÜÝÞ'ßRàáâ&ãðäåæ(çèéêuë,ìiíîqïð4ñ òóôzõöc÷øùúüýþVÿfpY%Q †  G  @6wAMJƒ !"#3$%&'=(t)*L+,-./01h2j34l5X6789:;b<=`>?„@WABCDEFGHIJKLMvNOPQRSTUVZWaXY[Z[\]^_`ma…bcd|efg{hijklmno~pqrstuvwxyz{|}~€‚ƒ„…†‡ˆŒ|àá EÐ Ì Ð ›"¨ b",â3~9r‡B9€L Ru×8`ü"¤j©6€pÍ+˜w{AL~ʆ '@Ž+*l–ã*¼ž¡D€¦Ã*”® (¶ë$ˆ¾7*äÇ‘E|ГDXÙ°áñˆ€é¦ˆ|󭪨ý­„ ˆ³ Xˆd)Í2÷.€;ÝÁ,Iˆˆ„PtWv.H^,PeÑ™èwˆt‚A/à9 ˜1.ø¢´ˆx³R(ÂÓ/4Ê/xÑ刈ݼ0Téì1àõ¿ˆ`ˆp.¤Ëˆl(/+p1—L:ªˆhGOQO°\~u iQ–¤t0œ}U0؆—08•£B1¯52 ¸sÀ±È7:ÌÎC90Ôƒ4äÚ3Hà7é;XðÙ7Ð÷à“ìþ¬óP|ı2TyV€'«/þ?Ì<ôBš[¨QüG<`>ìh±>,p}=Px1<è€-<€ˆÍŒÀ”z™XƒX¦Xìp³À9¼ÀÄE,ÕE6lãbë ñ ŠxÿLÄ•B” —Aàèˆ&Ú‰p8}‚(JÞF4Y7âthò7twlåH†Øßü•¹GdŸFl¥yDü­kC µBl½$A¸ÅÚ€ØVç€ë8´þ¥² $ãh‰Bà&½D$6(á@FÑMOùLœXûG<a;Gj'F”sYD¼|QD…eCàŽ­CH—ûBø ïB¼©óBD²?B»–THÄ: Ñ:êÞ¢5dë‹‹Lø ‚ EÐÄ!L$#Á ¤7Ë PIjUÐYdüXg%ïdxK˜†ÝNü˜¶¾T« ½8¾êiHÏšÚHÞÇíuräý°a¬ {ÿ\ `(ÊjÜ;”f°N2Úì\ýÏxjÙx †2"˜™ë§Î\¸ˆó@Î Ú“ùñ¦ ýîûHøþÈmyŒ4üx¸IÊìÄ^ Tkãú8}0þ4ë‘`Ò’¨¦‘ ü°Q¢Ì»D É<¦ôÓò¨œèç›þ’ŸH I¡” n£ 3 ¤T Cc Œ SEœ° c$ k! sAž €çëœ “šü Ÿ÷‘ ¯=†œ ¿T˜P Ï”“8 ß ³$ ïðˆl ø …” í4d éa<  b (\Hl 5ëðä K»Ñ0 aàüä wÚ„  ù´ £%Ú ­2| ¼ é\ Ëèä Úèl é„” ö]¬¨ ½²0 Šwh z¨Ü *z§8 7•X DͰ Q§ŽÌ ^C€ o}0° €&4 ‘ÛB° ¢4ˆ ³§J¤ Ä/ò¬ ÞÁðH øb( ~è — öÈ - Ïì @£Ï\ S#ÎÌ fà ykÿ𠌋P .± ®î ºù‡d Äž¤ Îh‚Œ Øz$ âð>œ ðÉIÄ þ)J€ õÿ æG (æFÜ 6‡?À D9J0 RŒ `üh fL }qö8 ”sÜh Ÿ§ò ¯Ñít ¿9êp ϵ ß…œT íø­ ûÒ¥˜ ң쒯%™|7:JXIÕøˆd?oNEÀz®ÿ0…N^\¦éì¤n÷ð¸çñœÌ&¢ÐÞ/Šé‡„tôÇlÿzª  ¿D`2Iè( F¸7 F”FÌJ U÷dmôp~¯£˜Š›Ÿ–Cל¢ãt®Û¨¿< ÐõœáŠOŒòK üÄV–ø#œ2 FpEò`M»TYJÌeS`qG¼}B4Õp¢£úÄ·ÿõ̧óäáeî¬öZÈ û 4£¦"¥ç„0%åÜ>8’pJ3tVñx˜b¦«XnhAÐ~ˆEŽb–ì(¯ú¸˜¬`ÅTÓXÒ0ý äÞûÔöÝ0  Ý0ŽŸ$/®>D“¨Vr’(l Ê0{*&dŠí$È™'´@©_|·c-pÊ¡1Ýv ÀðìÐýÕ•l ™‡W( - t$>øèO·8gñ luî ƒ“”ÀÅ„¥MÔ¶·NÇÞŒØGKôí>ŒÞÇø—m0"æ8˜-+x;i)˜I|†hW _µÀf½ÛÀu¹H„=ÄL–€.ܨ‚ \ºõ°Ì> Ù ÌæìOÔü§Ç Ãx#_T°78R8D=×@JÒà[¬ ôk€Öœy²X@O¨Ô˜ùܸ§…Û¤¶½U½0É-¸Õ¨ËÌæ±Æ$÷@ѨåÙ,Ë„%ˆÔŒ2e³?€ñ$O§ö´_‡ lØ0qøð{r°‰% ”U¨Ÿs¯‡ ÜÅËxÙÖ×pÞ)êß8ö q˜yF‰'Ž4N;eB|I³PÚ:œZb ö Nhkopèw×~"ˆhš¨’F›Õ¡Ó«?¶[¾ÝÆ'ÍHÒªÛxãþìôEüï Œ*#)7EöÒ T Àœ\Âbo|†Ê‰5–‘Ô\Ÿ³l/¼;ÖôÌðߣë2Ù´üpi/ì#>/¬.ã/\6ÉAÏ ¤TcEoL™àƒ#š4›Á¤Ý›µÂAÏžœï‘›ìý+ £!Ð+±5aDS‘bÖkHt"‡Ï“Ò ˜­½óÍaÝýí1O„‚*²7÷OÇXpfŽtZ‚œ˜ßŸL¦e³o›TÙœ”à™ïG˜'#^)3:˜AH40hXc¢k‰s;z€„Œœ’1¢²CŸ Î ÛçåCƒ´ï“Œß‚ÔßìÏ…t&€ 6;?M„œH”vÔU•u¨gà œs]&ð‚Yûˆ‘wÖ û™¬¯f$¾Yã$ÍYÜCïÙˆèÿÐ†Ü ˆhrV4.mäC–÷ôXÖˆ”mºÆX‚èÌ€—p°­œ$ÁK˜XÒ7˜Ðà4™°ë‚œ˜÷5ožH ÚÇ0#õ3jÊ$?3ĤK¾ˆT [÷¸ÈhÓì\rÍè°€RãX‹&òè—§õ¸¤ÙðH±"¬¿#ÔÎëHÝq é½ôùiþ¬ i ^P0 gÄ /3SÌ >ÿLŒ M‚Cü Y¾<à iz)¼ v„nà €.‚€ ‹~†0 —H€< £”{0 ¬Gv¨ ¹% Æ, Лœ@ âý¾Ô ð3Ä, ÿû¼T!¶(!u°@!*} ø!7×T!A˜ìà!HmØð!OÚH![îx!h‹óH!uðÐ!‚I !¨!‰Åßü!˜ÊÞô!§˜Ýì!·üá!ÄN÷ø!Ê%ú¤!Ò•õ !ßøˆ!æ¶ùl!ì×€!ò¸ùH!ù|ùì"Dü`"0ùÄ"€ú<" ²ù"'µú"/xÿ€">€À"G ¢ Îh"UªÈ"`•"g"~xH"„ýP"’Æ "¤ \ Îl"²j"ºéD"Æ"€"Ï ¡ Îp"çè"ï‘>@"ùch#gÀ# ]è#k#l0#"f°#*vX#2m€#:6€#C%!X#P‹Ð#Y#a9. #j{x#r¾ð#{Ã8#„܈#ªÐ#•F!#žB8#¦ß ô#¯fE0#¾VHD#Í;I#Ù·HÌ#åwH€#ñ£FÄ$UIX$ H($'è$)A¼$7Û@À$EL/P$Z¬J $sRI¨$Œ n Ît$› n Îx$ª n ΀$ÏÙÏè$â L Έ$î  ÎŒ$ú ´ Î% x Δ%(ŸÍÈ%8È0%H9à%`JŒ%|öKT%…ÿJè%ŽK%—ðK% [KÐ%¨žÁH%¹¨¨%Êvø%ß²œ%ô/Ýt&Ôà&±Kð&÷•¬&0›˜8&C–5Œ&V:qˆ&_~LÈ&hšl&s”&~›à&‰¸âà&šNÉ<&«éΠ&¼¯³œ&Ä·x&×= &êà&ôˆì&þjÓØ'kÌ'°'"é'(WA4'CnÀ'LÝ'Ušé°'`è”'kšç'vÐ'~ '†P'’q'˜V' >'ª¹’Œ'ÀŒœ˜'à¨Vð'ù$V¬(>äÌ($Ç‹Œ(6#ˆˆ(Hx®(Z=­è(l¡V (~4È(È€Ð(­D£T(Ê(ët:È) ¶¥L)&΂\)D…Tè)P–„,)g¦t)~ì¦ü)’Í›)Ÿe«)´D¢¤)ÆËX)Ö“¯Ô)àP¢x)õÀ@)ÿpÁ *wÔ,* ÁÔD*'²(*3äØ*HØØ`*WµØ(*jM*r` .D*‚DØD*ªؘ* íØ|*±ÔP*Å”Ù*ÏŽÙ4*ÚÜØÄ*é¡ب*ø@ÙP+|Øü+…Øà+aÙp+-/ͬ+AÙè+Ræh+bœ:P+x‰ï¸+|‚õx+€¾ë@+„ßë+‹bêÔ+’_ê +™Ÿêh+ &ê4+§#ê+®žñÀ+²Ÿ÷À+¶Üí°+ºñÐð+¿Jû¨+ųþ+Î×þ8+ÓõýÐ+Ûr¸+áõä+æ€+óœ, ¼,~$,%É,7¡`,FD,Uð,]• ø,r«¸,„7 ,–8 ˜,¨†Ȱ,º  ¤,Ô› ”,ëo),ûà©ô-Š d-$¯.-9‡@ -Gú,Ô-Yi)È-kþ-€-} ,-+T-¡|­ -¾ïä-Û&>|-ê#¼.È;H.Ÿ6.4²*”.Eb.VÁ°<.i@ª\.~ _”.“¸„„.¨ötP.½ã§X.ÒåVx.ëØ.ò>h¬/”/hw/4Ô„8/Gô°œ/^¿t„/uùw¼/‰h`/ä`/±/¹¥¬/ÕZ®È/ñž®0  ¬¼0ú©806?¨À0F†°ð0VP¨ü0gà°l0zÚ³p0ܱX0¨Ž³40¿0Îf±ü0Þ×0æ´0íÔÊT1|ÎX1ÉÔ1ØÜ_etext_edata_endstart_MAIN_start_float__exit_main_environ__DYNAMIC_exit___start_libmcg87_used_gtx__guwk__gscr__f_open_gclks__gclwk__gdawk__gschh__gacwk__gopwk__gopks__gclrwk__gstxal__gstxci__s_stop_wtypes_forttext_gmessage_gclearws_gclosews_gopengks_currforttext_strncpy_umalloc_gredrawsegws_errfp_fopen_gmsg__gsds__ginqavailwstypes_error_lun_gupdatews_gclosegks_urealloc_xgks_connection_gdeactivatews_gmsgs__ufree_fortpoints_gerrorhand_getlunname_currfortpoints_NUMWTYPES__iob_fprintf_fortint_grsgwk__gopenws_currfortint_strcmp_gactivatews_gsetdeferst_gerrorlog_gerlog__gerhnd__geclks__gemergencyclosegks_set_fname__inqlun__f_clos_f_inqu_gca__gfa__gpm__gpl__realloc_ggdp__gtxs__g_gdp_gtext_gfillarea_gpolyline_gcellarray_malloc_gpolymarker.umul_gsetcolourrep_gsetmarkerrep_gspar__gsfar__gstxr__gspmr__gsplr__gsetpatrep.mul_gsetfillrep_gsettextrep_gsetlinerep_gsetmarkercolourind_gsetlinetype_gsettextpath_gsetpatrefpt_gspa__gsmk__gsln__gsettextfontprec_gsetfillstyleind_gsetfillintstyle_gsetmarkerind_gsetcharspace_gsetlinewidth_gsettextalign_gsetcharexpan_gsasf__gsfai__gstxp__gstxi__gspmi__gspli__gsetfillcolourind_gsettextcolourind_gsetlinecolourind_gsetpickid_gsetcharup_gsetmarkersize_gsetmarkertype_gsetcharheight_gsparf__gspkid__gsfaci__gsfasi__gsfais__gschup__gschsp__gschxp__gstxfp__gspmci__gsmksc__gsplci__gslwsc__gsetasf_gsetfillind_gsettextind_gsetlineind_gsetpatsize_xgks_state_XgksValidWsId_XgksWsCategory_XgksMoDeactivateWs_XgksMoActivateWs_XgksInitGksAsf_XgksMoSetAsf_XgksMoCellArray_XgksNewPrimi_XgksProcessPrimi_xXgksInqColourRep_xXgksSetColourRep_ginqcolourfacil_XgksSIGIO_OFF_XCloseDisplay_XgksMaxColours_ginqcolourrep_XgksMoSetColourRep_getenv_ginqpredcolourrep_ginqcolourindices_XgksSIGIO_ON_XcPixelValue_XQueryColors_XOpenDisplay_XgksWsTypeToEnum_XgksMoDeferWs_XgksReDrawSegWs_XgksMoSetGraphicAttr_xgks_xpttn_XgksMoSetFillIntStyle_def_ptattr_XgksMoSetPatRef_XgksMoSetPatRep_XgksInitWssFillArea_XgksInitGksFillArea_XgksMoGraphicOutput_def_flbundl_XgksMoSetPatSize_XgksMoSetFillRep_ginqavailgdp_ginqgdp_procname_gcloseseg_procname1000_ginqwsst_ginqwsdeferupdatest_ginqdisplayspacesize_ginqmodwsattr_ginqmaxwssttables_ginqnumavailinput_ginqwsconntype_ginqdefdeferst_ginqwscategory_strlen_strcpy_ginqwsclass_XgksMoMessage_GMsetFillStyle_GMsetGraphSize_GMredrawAllSeg_GMsetTextAlign_GMsetGraphAttr_GMsetSegDetect_GMdefer_GMclear_CGMcloseSeg_CGMnextItem_CGMreadItem_CGMsetLimit_XgksMoSetGraphicSize_XgksSetFillPatAttrMo_XgksMoSetLineMarkRep_XgksMoSetSegAttrOnWs_XgksMoSetPatSizeOnWs_ggetgksm_XgksMoSetClip_XgksMoClearWs_XgksMoCloseWs_XgksMiCloseWs_GMsetTextFP_GMrenameSeg_GMsetSegPri_GMwriteItem_GMsetColRep_GMsetPatRep_GMsetCharUp_GMsetSegVis_GMcellArray_CGMsetFillStyle_CGMsetGraphSize_CGMredrawAllSeg_CGMsetTextAlign_CGMsetGraphAttr_CGMsetSegDetect_XgksMoSetGraphicAttrOnWs_XgksMoSetGraphicSizeOnWs_CGMdefer_CGMclear_gsetwswindow_XgksMoSetTextPath_XgksSetTextAttrMo_XgksSetMarkAttrMo_XgksSetLineAttrMo_XgksMoSetSegTrans_XgksMoSetClipOnWs_GMoutputGraphic_GMsetSegHilight_XgksMoText_GMupdate_GMsetAsf_GMmoOpen_GMmiOpen_CGMsetTextFP_CGMrenameSeg_CGMsetSegPri_CGMwriteItem_CGMsetColRep_CGMsetPatRep_CGMsetCharUp_CGMsetSegVis_CGMcellArray_sqrt_XgksMoSetSegTransOnWs_XgksMoSetTextPathOnWs_greadgksm_XgksMoCloseSeg_XgksMoTextToWs_XgksMoUpdateWs_XgksMoSetLimit_GMsetPatSize_GMsetSegTran_GMsetFillRep_GMsetTextRep_GMsetSegAttr_CGMoutputGraphic_CGMsetSegHilight_XgksMoSetFillIntStyleOnWs_CGMupdate_CGMsetAsf_CGMmoOpen_CGMmiOpen_XgksMoReDrawAllSeg_XgksMoSetTextAlign_XgksMoCloseSegOnWs_GMsetLineMarkRep_GMmessage_GMmoClose_GMmiClose_GMsetClip_CGMsetPatSize_CGMsetSegTran_CGMsetFillRep_CGMsetTextRep_CGMsetSegAttr_XgksMoSetTextAlignOnWs_XgksMoSetTextFP_grenameseg_gcreateseg_gwritegksm_ginterpret_XgksMoRenameSeg_XgksMoSetSegPri_XgksMoSetCharUp_XgksProcessClip_XgksMoSetSegVis_XgksMoSetSegDet_GMsetTextPath_GMsetPatRefpt_CGMsetLineMarkRep_GMtext_CGMmessage_CGMmoClose_CGMmiClose_CGMsetClip_gsetwsviewport_XgksMoSetSegPriOnWs_XgksMoSetPatRefOnWs_XgksMoSetCharUpOnWs_XgksMoSetTextFPOnWs_XgksMoCellArrayToWs_XgksMoSetSegHiLight_XgksInitGksM_gdelseg_XgksMoOpenWs_XgksMiOpenWs_GMcloseSeg_GMnextItem_GMreadItem_GMsetLimit_CGMsetTextPath_CGMsetPatRefpt_strstr_XgksMoGraphicOutputToWs_CGMtext_gsetsegattr_ginqsegattr_XgksMoSetTextRep_XgksMoSetAsfOnWs_XgksInitGksPlines_XgksInitGksText_XgksInitGksSegments_XgksInitGksPmarkers_XgksInitGksTrans_XgksCleanUpWsSegList_XgksReDrawSeg_XgksGReDrawWs_XgksXReDrawWs_xXgksCellarray_gflushevents_XgksAppendWsPrimi_XgksInitWssPlines_XgksWsWinInterset_xXgksOpenWs_XgksIDevEnable_XgksIDevDelete_XgksOutputToWs_xXgksUpdateClip_xXgksPolyMarker_XgksUnpendPendingTrans_xXgksClearWs_xXgksCloseWs_XgksIDevDisable_XgksDelAllMoSeg_XgksInsertPrimi_XgksDeletePrimi_XgksInitWssText_XgksInsertMesgPrimi_XgksInitWssPmarkers_XgksUpdateWsSegList_xXgksMesg_xXgksText_XgksDrawToWs_XgksReDrawWs_XgksInitIDev_strchr_XcNew_xXgksFillArea_xXgksPolyLine_XgksDeleteAllSeg_XgksAppendWsClip_XgksUpdateWsClip_XgksInitWssTrans_def_lnbundl_def_mkbundl_XgksUpdatePrimiBound_XgksAppendSegClip_XgksAppendSegPrimi_XgksDuplicatePrimi_XgksMiniMax_fabs_ginqnameopenseg_xXgksHighLight_ginqsegnames_xXgksInqTextExtent_gdelsegws_ginqcurpickid_ginqnumsegpri_sleep_ginsertseg_gcopysegws_XgksFindPickSeg_XgksDrawSegToWs_ginqmodsegattr_ginqsegnamesws_XgksShowPick_ginqassocws_gassocsegws_XgksComputeVec_ginqtextextent_def_txbundl_sin_gsetclip_gsetviewport_gevaltran_gselntran_XgksFindNTrans_gsetviewportinputpri_XgksFindNTransNpts_cos_gaccumtran_gsetwindow_xXgksUpdateTrans_free_sigfillset_sigprocmask_sigemptyset_fread_fseek_ftell_fputs_mi_point_fclose_cgm_buf.rem__ftou__dtou_getlogin_ginqclip_sprintf_time_strftime_localtime_fwrite_gmtime_uname.div_strncat_fscanf__filbuf_sscanf_ungetc_XSetFillStyle_XFlush_XSetForeground_XSetClipRectangles_XFillPolygon_XcColourIndex_XcInit.udiv_XAllocColor_XQueryColor_XcSetColour_XFreeColors_XcEnd_XGetWindowAttributes_sio_off_xProcessEvents_XCheckWindowEvent_XClearArea_xXgksSIGIOStart_XgksIProcessXEvent_getpid_sockasync_sockspgrp_sio_on_XCreateGC_xXgksSetFillStyle_XCreatePixmap_XDrawLines_xXgksSetForeground_xXgksSetLineAttributes_XFreeGC_xXgksSetStipple_XFreePixmap_XDrawPoints_xXgksSetFillAreaClipRectangles_xXgksSetTile_XSetClipMask_XrmGetStringDatabase_getpwuid_getpwnam_XrmInitialize_XSetClassHint_XCreateWindow_strrchr_tolower_XrmMergeDatabases_XMapWindow_progname_XSetBackground_XrmGetResource_XGetVisualInfo_XDestroyWindow_XParseGeometry_XrmGetFileDatabase_XSetLineAttributes_getuid_XParseColor_XSetWMHints_XSetStandardProperties__ctype__XSetFunction_XSelectInput_XWindowEvent_XUnmapWindow_strcat_XSync_XFree_gethostname_xXgksSetDashes_xXgksSetPlineClipRectangles_XDrawSegments_xXgksSetPmarkerClipRectangles_XgksDrawMarkers_XDrawArc_XFillArc_bzero_errno_ioctl_XgksAwaitEvent_sigaction_perror_select_close_open_XTextWidth_read_XFillRectangle_XLoadQueryFont_xXgksSetTextClipRectangles_XDrawString_XSetFont_ggetpick_ginqinputoverflow_ggetchoice_ggetstroke_ggetstring_ginqmoreevents_ggetloc_ggetval_gawaitevent_XgksEnqueueEvent_xgksDASHES_XgksStrDelete_XgksPicDelete_XgksChoDelete_XgksValDelete_XgksStkDelete_XgksLocDelete_XLookupString_XCreateFontCursor_XgksIDevLookup_XgksIDevAdd_XgksIDevNew_XgksStkUpdatePrompt_XgksStrUpdatePrompt_XgksPicUpdatePrompt_XgksValUpdatePrompt_XgksChoUpdatePrompt_XgksLocUpdatePrompt_XChangeWindowAttributes_ginqmaxntrannum_ginqcurntrannum_ginqntrannum_ginqntran_ginqwstran_XChangeGC_ginitloc_XSetDashes_ginqlocst_XDrawRectangle_ginqdefloc_gsampleloc_greqloc_XBell_gsetlocmode_greqpick_gsetpickmode_ginitpick_ginqpickst_ginqdefpick_gsamplepick_ginqstringst_ginqdefstring_gsamplestring_greqstring_gsetstringmode_ginitstring_XDrawLine_ginqstrokest_XgksXDrawLines_ginqdefstroke_gsamplestroke_greqstroke_gsetstrokemode_ginitstroke_ginitval_ginqvalst_ginqdefval_gsampleval_greqval_gsetvalmode_XSetStipple_XSetTile_xXgksSetClipMask_ginqchoicest_ginqdefchoice_gsamplechoice_greqchoice_gsetchoicemode_ginitchoice_copysign___sin___cos___rem_pio2__TBL_cos_hi__TBL_sin_hi__TBL_cos_lo_fp_pi__TBL_ipio2_53__TBL_ipio2_66__TBL_ipio2_inf___rem_pio2m_aint_scalbn__TBL_sin_lo_anint_nint_rint_irint_issubnormal_signbit_isnormal_ilogb_isinf_iszero_SVID_libm_err_matherr_fp_direction_remainder_write_fp_accrued_exceptions_fmod__Q_get_rp_rd__Q_set_exception_fp_precision__Q_div__fp_unpack__fp_div__fp_current_exceptions.stret4__fp_pack__Q_dtoq__Q_fle__Q_fge__Q_fne__Q_cmp__Q_feq__Q_flt__Q_fgt__Q_cmpe__fp_compare__Q_itoq__Q_mul__fp_mul__Q_neg__Q_qtod__Q_qtoi__Q_stoq__Q_sub__fp_sub__Q_add__fp_add_fpu_normalize_fpu_error_nan_fpu_neg2wc_fpu_sub3wc_fpu_add3wc_fpu_rightshift_fpu_cmpli_fpu_set_exception__fp_sqrt_unpackdouble_unpacksingle___double_to_decimal___nox_double_to_decimal___nox_single_to_decimal___nan_written___inf_written___base_conversion_write_only_double___class_quadruple___nan_read___inf_read__fp_current_precision__fp_current_direction___class_double___class_single___quadruple_to_decimal___nox_quadruple_to_decimal__swapRD__swapTE__swapRP__swapEX_finite_func_to_decimal_file_to_decimal_decimal_to_extended_extended_to_decimal___pack_single___pack_double_fix_libc__decimal_to_single_decimal_to_double_double_to_decimal__doscan__doprnt_sgconvert_sfconvert_seconvert___pack_extended___unpack_single___unpack_double_sigfpe_string_to_decimal_single_to_decimal_econvert_fconvert_gconvert__mkarglst___quorem10000.urem___four_digits_quick_table__getarg__wrtchk_qgconvert_qfconvert_qeconvert_memchr_memset_localeconv_atoi_strspn__xflsbuf_decimal_to_quadruple___integerstring_to_big_decimal___big_float_times_power___base_conversion_abort___pack_quadruple___inrange_double___inrange_single___set_ieee_flags___get_ieee_flags___free_big_float___inrange_quadex___decimal_to_binary_integer___big_decimal_to_big_binary___fractionstring_to_big_decimal___base_conversion_set_exception___big_binary_to_unpacked___decimal_to_binary_fraction___tbl_tens___decimal_to_unpacked___left_shift_base_two___digits_to_double___tbl_ntens___multiply_base_two___mul_10000short___fp_normalize___quorem___prod_10000_b65536_fp_class__fp_convert_double_to_int_gcvt__gcvt___gconvert_ieee_retrospective____get_accrued___get_nonstandard_fflush___fnonstd_used___get_traps___get_precision___get_direction_ieee_retrospective_infinity_quiet_nan_max_subnormal_min_subnormal_signaling_nan_max_normal_min_normal_ir_fp_class____fp_set_exception___fp_rightshift___infnanstring_quadruple_to_decimal_j0_j1_jn_r_yn__r_y1__r_y0__r_jn__r_j1__r_j0__y0_y1_yn_log_cbrt_r_erfc__erf_r_erf__erfc_exp_r_infinity__r_quiet_nan__r_signaling_nan__r_max_subnormal__r_min_subnormal__r_max_normal__r_min_normal__memcpy___unpack_single_two__split_single_m1__split_single_22__split_single_23___class_extended__unpacked_to_decimal_two___unpack_extended_two__split_shorten___right_shift_base_two__split_single_6___unpack_double_two___tbl_baselg__split_double_51__split_double_m1__split_double_52__split_double_35__split_double_19___big_binary_to_big_decimal___binary_to_decimal_integer___arint_set_n___binary_to_decimal_fraction___double_to_digits___unpack_quadruple_two__split_double_3___decimal_round___longquorem10000___multiply_base_ten___tbl_10_big_digits___tbl_2_huge_digits___tbl_10_huge_start___tbl_2_small_start___copy_big_float_digits_abort___tbl_10_huge_digits___tbl_2_small_digits___tbl_10_small_start___tbl_2_big_start___carry_propagate_ten___tbl_10_small_digits___tbl_2_big_digits___tbl_10_big_start___tbl_2_huge_start_printf___multiply_base_ten_by_two___multiply_base_ten_vector___multiply_base_two_vector___mul_65536short___left_shift_base_ten___prodc_b10000____mul_65536_n___lshift_b10000___carry_in_b10000__test_sigfpe_master__default_sigfpe_handler__enable_sigfpe_master_ieee_handlers__sigfpe_master_sigvec_sinpi___unpack_extended___fp_leftshift__tbl_log_hi__tbl_log_lo../src/lib:/usr/local/ldm/lib:/usr/local/lang/SC1.0/cg87:/usr/local/lang/SC1.0\°€ \€\´€\\¸€\ \º€X11F77cdl€ €$\p\ €\€`Çä4„â*ð10`œ€À`ã¿ ÿÿüã¿ ÿÿùã¿ ÿÿöã¿ ÿÿóã¿ ÿÿðã¿ ÿÿíã¿ ÿÿê ã¿ ÿÿç ã¿ ÿÿäã¿ ÿÿáã¿ ÿÿÞã¿ ÿÿÛã¿ ÿÿØã¿ ÿÿÕã¿ ÿÿÒã¿ ÿÿÏã¿ ÿÿÌã¿ ÿÿÉã¿ ÿÿÆã¿ ÿÿÃã¿ ÿÿÀã¿ ÿÿ½ ã¿ ÿÿº+ã¿ ÿÿ·,ã¿ ÿÿ´-ã¿ ÿÿ±.ã¿ ÿÿ®/ã¿ ÿÿ«0ã¿ ÿÿ¨1ã¿ ÿÿ¥2ã¿ ÿÿ¢9ã¿ ÿÿŸFã¿ ÿÿœKã¿ ÿÿ™Lã¿ ÿÿ–Wã¿ ÿÿ“zã¿ ÿÿã¿ ÿÿ‚ã¿ ÿÿŠƒã¿ ÿÿ‡„ã¿ ÿÿ„…ã¿ ÿÿ†ã¿ ÿÿ~‡ã¿ ÿÿ{ˆã¿ ÿÿx‰ã¿ ÿÿuzã¿ ÿÿr{ã¿ ÿÿo|ã¿ ÿÿl}ã¿ ÿÿi~ã¿ ÿÿfã¿ ÿÿc‚ã¿ ÿÿ`ƒã¿ ÿÿ]„ã¿ ÿÿZ…ã¿ ÿÿW†ã¿ ÿÿT‡ã¿ ÿÿQ”ã¿ ÿÿN¡ã¿ ÿÿK®ã¿ ÿÿH¯ã¿ ÿÿE°ã¿ ÿÿB±ã¿ ÿÿ?²ã¿ ÿÿ<³ã¿ ÿÿ9´ã¿ ÿÿ6µã¿ ÿÿ3¶ã¿ ÿÿ0·ã¿ ÿÿ-¸ã¿ ÿÿ*¹ã¿ ÿÿ'ºã¿ ÿÿ$»ã¿ ÿÿ!¼ã¿ ÿÿ½ã¿ ÿÿ¾ã¿ ÿÿ¿ã¿ ÿÿÂã¿ ÿÿÃã¿ ÿÿÄã¿ ÿÿ Åã¿ ÿÿ Æã¿ ÿÿÇã¿ ÿÿÈã¿ ÿÿÉã¿ ÿþýÊã¿ ÿþúËã¿ ÿþ÷Òã¿ ÿþôÓã¿ ÿþñÔã¿ ÿþîÕã¿ ÿþëÖã¿ ÿþè×ã¿ ÿþåØã¿ ÿþâÙã¿ ÿþßÚã¿ ÿþÜÛã¿ ÿþÙÜã¿ ÿþÖÝã¿ ÿþÓÞã¿ ÿþÐßã¿ ÿþÍàã¿ ÿþÊáã¿ ÿþÇâã¿ ÿþÄãã¿ ÿþÁèã¿ ÿþ¾ëã¿ ÿþ»îã¿ ÿþ¸ïã¿ ÿþµðã¿ ÿþ²ñã¿ ÿþ¯öã¿ ÿþ¬÷ã¿ ÿþ©øã¿ ÿþ¦ùã¿ ÿþ£üã¿ ÿþ ýã¿ ÿþþã¿ ÿþšÿã¿ ÿþ—ã¿ ÿþ”ã¿ ÿþ‘ã¿ ÿþŽã¿ ÿþ‹ã¿ ÿþˆ ã¿ ÿþ…ã¿ ÿþ‚%ã¿ ÿþ(ã¿ ÿþ|)ã¿ ÿþy*ã¿ ÿþv+ã¿ ÿþs5ã¿ ÿþp6ã¿ ÿþm7ã¿ ÿþj8ã¿ ÿþgPã¿ ÿþdSã¿ ÿþaVã¿ ÿþ^Wã¿ ÿþ[\@(#)_crt1.S 1.6 91/02/11 SMItest.cgmUNKNOWN'?€=LÌÍ?Picture 1$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $wMIMOerror unknown defmod error unknown regmod $__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $ÿÿÿÿ$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $$__Header$$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $?ðÀ#úáG®{Að@ïÿàDISPLAYDISPLAY$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $È‘‘8‘p‘Ä’’h’¼’è““<“h“ˆ“¬“Ô””@”`”„”¬”Ø••,•X•œ•Ì––d–¤——L—”—¸—ؘ˜l˜¤˜À™™|™˜™Ð™üššxšØšø›4›`›x›Ðœ,œHœ œÜ 4P¬ž žTž„ž¨žäŸŸdŸÄ  ( H ` ¼¡¡8¡T¡p¡ˆ¡¼¡ü¢`££$£P£t£°£ü¤¤D¤|¤ ¤Ä¥¥L¥p¥œ¥¸¦$¦l¦°¦Ä¦à§(§h§§¨§Ð§ì¨¨T¨€¨ ¨Ü©©<©h©ˆ©°©äªªDªˆªÐ««`«€«°«Ð«ô¬ GKS not in proper state: GKS shall be in the state GKCLGKS not in proper state: GKS shall be in the state GKOPGKS not in proper state: GKS shall be in the state WSACGKS not in proper state: GKS shall be in the state SGOPGKS not in proper state: GKS shall be either in the state WSAC or in the state SGOPGKS not in proper state: GKS shall be either in the state WSOP or in the state WSACGKS not in proper state: GKS shall be in one of the states WSOP, WSAC or SGOPGKS not in proper state: GKS shall be in one of the states GKOP, WSOP, WSAC or SGOPSpecified workstation identifier is invalidSpecified connection identifier is invalidSpecified workstation type is invalidSpecified workstation type does not existSpecified workstation is openSpecified workstation is not openSpecified workstation cannot be openedWorkstation Independent Segment Storage is not openWorkstation Independent Segment Storage is already openSpecified workstation is activeSpecified workstation is not activeSpecified workstation is of category MOSpecified workstation is not of category MOSpecified workstation is of category MISpecified workstation is not of category MISpecified workstation is of category INPUTSpecified workstation is Workstation Independent Segment StorageSpecified workstation is not of category OUTINSpecified workstation is neither of category INPUT nor of category OUTINSpecified workstation is neither of category OUTPUT nor of category OUTINSpecified workstation has no pixel store readback capabilitySpecified workstation type is not able to generate the specified generalized drawing primitiveMaximum number of simultaneously open workstations would be exceededMaximum number of simultaneously active workstations would be exceededTransformation number is invalidRectangle definition is invalidViewport is not within the Normalized Device Coordinate unit squareWorkstation window is not within the Normalized Device Coordinate unit squareWorkstation viewport is not within the display spacePolyline index is invalidA representation for the specified polyline index has not been defined on this workstationA representation for the specified polyline index has not been predefined on this workstationLinetype is equal to zeroSpecified linetype is not supported on this workstationLinewidth scale factor is less than zeroPolymarker index is invalidA representation for the specified polymarker index has not been defined on this workstationA representation for the specified polymarker index has not been predefined on this workstationMarker type is equal to zeroSpecified marker type is not supported on this workstationMarker size scale factor is less than zeroText index is invalidA representation for the specified text index has not been defined on this workstationA representation for the specified text index has not been predefined on this workstationText font is equal to zeroRequested text font is not supported for the specified precision on this workstationCharacter expansion factor is less than or equal to zeroCharacter height is less than or equal to zeroLength of character up vector is zeroFill area index is invalidA representation for the specified fill area index has not been defined on this workstationA representation for the specified fill area index has not been predefined on this workstationSpecified fill area interior style is not supported on this workstationStyle (pattern or hatch) index is equal to zeroSpecified pattern index is invalidSpecified hatch style is not supported on this workstationPattern size value is not positiveA representation for the specified pattern index has not been defined on this workstationA representation for the specified pattern index has not been predefined on this workstationInterior style PATTERN is not supported on this workstationDimensions of colour array are invalidColour index is less than zeroColour index is invalidA representation for the specified colour index has not been defined on this workstationA representation for the specified colour index has not been predefined on this workstationColour is outside range [0,1]Pick identifier is invalidNumber of points is invalidInvalid code in stringGeneralized drawing primitive identifier is invalidContent of generalized drawing primitive data record is invalidAt least one active workstation is not able to generate the specified generalized drawing primitiveAt least one active workstation is not able to generate the specified generalized drawing primitive under the current transformations and clipping rectangleSpecified segment name is invalidSpecified segment name is already in useSpecified segment does not existSpecified segment does not exist on specified workstationSpecified segment does not exist on Workstation Independent Segment StorageSpecified segment is openSegment priority is outside the range [0,1]Specified input device is not present on workstationInput device is not in REQUEST modeInput device is not in SAMPLE modeEVENT and SAMPLE input mode are not available at this level of GKSSpecified prompt and echo type is not supported on this workstationEcho area is outside display spaceContents of input data record are invalidInput queue has overflowedInput queue has not overflowed since GKS was opened or the last invocation of INQUIRE INPUT QUEUE OVERFLOWInput queue has overflowed, but associated workstation has been closedNo input value of the correct class is in the current event reportTimeout is invalidInitial value is invalidNumber of points in the initial strokes is greater than the buffer sizeLength of the initial string is greater than the buffer sizeItem type is not allowed for user itemsItem length is invalidNo item is left in GKS Metafile inputMetafile item is invalidItem type is not a valid GKS itemContent of item data record is invalid for the specified item typeMaximum item data record length is invalidUser item cannot be interpretedSpecified function is not supported in this level of GKSSpecified escape function is not supportedSpecified escape function identification is invalidContents of escape data record are invalidSpecified error file is invalidStorage overflow has occurred in GKSStorage overflow has occurred in segment storageInput/Output error has occurred while readingInput/Output error has occurred while writingInput/Output error has occurred while sending data to a workstationInput/Output error has occurred while receiving data from a workstationInput/Output error has occurred during program library managementInput/Output error has occurred while reading workstation description tableArithmetic error has occurredCharacter string does not match any known valueEnumeration type out of rangeOutput parameter size insufficientList element or set member not availableInvalid data recordInvalid function name/number%s %d %s %4d %s %s %d %s %4d %s %s %d %s %4d %s %s %d $__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $­@­D­HD D€MIMOWISS$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $$__Header$.cgm.cgm.CGMAssertion failed: file "%s", line %d metafile.cAssertion failed: file "%s", line %d metafile.cAssertion failed: file "%s", line %d metafile.cAssertion failed: file "%s", line %d metafile.cAssertion failed: file "%s", line %d metafile.c$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $D D€DISPLAYMIMIMOMOWISSWISS$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $?€$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $D¯xµŒ@?€?ð?à@D¯xµŒ@?€?ð@rÀD¯xµŒ@?à@rÀD¯xµŒ@?„záG®{?€?ð¿€$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $?„záG®{?€XGKSFontDir/usr/local/ldm/lib/xgksfonts$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $?€?€?€?ð?ð$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $ @ßÿÀAð@p?àAð@ð?àmi_parameters?€mi_itemCGMmiOpen()?„záG®{?€Assertion failed: file "%s", line %d cgmi.c%s(): metafile version is %d (I'm %d) This might cause problems %s(): color selection mode is %d (I'm %d) %s(): VDC integer precision is %d (I'm %d) %s(): local color precision is %d (I'm %d) %s(): local cell representation is %d (I'm %d) %s(): can't handle continuous text alignment request %s(): can't decode class=%d, id=%d element %s(): element ignored (class=%d, id=%d) %s: I can't work on platforms where CHAR_BIT != 8. Sorry. r$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $ÿÿÿÿ Nh Îf¿ð@ð?ð?àFÿþ¿€?€?àFÿþ¿€?€?€C€?€?àFÿþ¿€¿ð@ð?ð?€C€?€C€?€?àFÿþ¿€?àFÿþ¿€?€?àFÿþ¿€?€CGMmoOpen()?àFÿþ¿€?€?àFÿþ¿€?€Assertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cUCAR/Unidata XGKS/CGM $Revision: 2.5.4.1 $: UCAR/Unidata XGKS/CGM $Revision: 2.5.4.1 $: @@ %Y-%m-%d %H:%M:%S UTC%c%02d%02dAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cXGKS %dAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.c%s: I can't work on platforms where CHAR_BIT != 8. Sorry. Assertion failed: file "%s", line %d cgmo.cwAssertion failed: file "%s", line %d cgmo.cXGKS CGMAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.cAssertion failed: file "%s", line %d cgmo.c$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $dummy info.%c %d%*[ ] %d%*[ ] %d%*[ ] %d%*[ ]%c%c %d%*[ ] %f%*[ ] %f%*[ ]%f%11c%f%6c%d%c%c %f%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %d%*[ ] %d%*[ ] %d%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %d%*[ ] %d%*[ ] %d%*[ ] %f%*[ ] %d%*[ ] %d%*[ ] %d%*[ ] %d%*[ ] %f%*[ ] %f%*[ ] %d%*[ ] %d%*[ ] %d%*[ ] %d%*[ ] %d%*[ ] %d%*[ ] %d%*[ ] %d%*[ ] %d%*[ ] %d%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %d%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %f%*[ ] %d%*[ ] %f%*[ ] %c %d%*[ ] %d%*[ ]%y/%m/%d%s%s%3d%6d%c %*[^ ]r%c%c%c%2d%2d%2d%2d%2d%2d%2d%2d%c%cAssertion failed: file "%s", line %d gksm.cw%-4.4s%-40.40s%-8.8sGKSM%2d%2d%2d%2d%2d%2d%2d%2d%s%s %s%s%s %3d%6d%6d%s%s %3d%6d%s%s%s %3d%6d%6d%s%s%s%s %3d%6d%6d%6d%s%s%s%%s %3d%6d%6d%s%s%s%3d%6d%6d%s%s%11.5f%11.5f %s%s%s%s%s%%s %3d%6d%11.5f%11.5f%6d%s%s%s%s%s%s%s%s%s%s%3d%6d%11.5f%11.5f%11.5f%11.5f%11.5f%11.5f%6d%6d%6d %s%s%s %3d%6d%11.5f%s%s %3d%6d%s%s%s %3d%6d%6d%s%s%s%s %3d%6d%6d%6d%s%s%s%s%s%s %3d%6d%11.5f%11.5f%11.5f%11.5f%s%s%s %3d%6d%6d%s%s%s%s %3d%6d%6d%6d%s%s%s %3d%6d%6d%s%s%s%s%s%s %3d%6d%11.5f%11.5f%11.5f%11.5f%s%s%s%s %3d%6d%11.5f%11.5f%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s %3d%6d%6d%6d%6d%6d%6d%6d%6d%6d%6d%6d%6d%6d%6d%s%s%s%s%s%s %3d%6d%6d%6d%11.5f%6d%s%s%s%s%s%s%s%s %3d%6d%6d%6d%6d%11.5f%11.5f%6d%s%s%s%s%s%s %3d%6d%6d%6d%6d%6d%s%s%s%s%s%3d%6d%6d%6d%6d%6d %s%s%s%s%s%s %3d%6d%6d%11.5f%11.5f%11.5f%s%s%s%s%s%s %3d%6d%11.5f%11.5f%11.5f%11.5f%s%s%s%s%s%s %3d%6d%11.5f%11.5f%11.5f%11.5f%s%s%s%s %3d%6d%6d%6d%s%s%s%s%s%s%s%s%s %3d%6d%6d%11.5f%11.5f%11.5f%11.5f%11.5f%11.5f%s%s%s%s %3d%6d%6d%6d%s%s%s%s %3d%6d%6d%6d%s%s%s%s %3d%6d%6d%6d%s%s%s%s %3d%6d%6d%11.5f%s%s%s%s %3d%6d%6d%6d$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $?à$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $Að@ïÿàGÿAssertion failed: file "%s", line %d xcolours.cAssertion failed: file "%s", line %d xcolours.cAssertion failed: file "%s", line %d xcolours.cAssertion failed: file "%s", line %d xcolours.cXcInit: Couldn't allocate %u-bytes for GKS-to-X RGB-map. XcInit: Couldn't allocate %u-bytes for X-to-GKS RGB-map. XcInit: Couldn't allocate %u-bytes for GKS-to-X color-map. XcInit: Couldn't allocate %u-bytes for X-to-GKS color-map. Assertion failed: file "%s", line %d xcolours.cAssertion failed: file "%s", line %d xcolours.cAssertion failed: file "%s", line %d xcolours.cXcSetColour: Couldn't allocate X color: RGB = %u %u %u. Assertion failed: file "%s", line %d xcolours.cAssertion failed: file "%s", line %d xcolours.cAssertion failed: file "%s", line %d xcolours.cAssertion failed: file "%s", line %d xcolours.cAssertion failed: file "%s", line %d xcolours.cAssertion failed: file "%s", line %d xcolours.c$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $?à$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $Að@ïÿà?àXGKS.Xgks.on1yessettruebackingstoreBackingstoreRESOURCE_NAMEsoftclippingSoftclipping.geometryXgks.GeometryinvertmonoInvertmonoreverseReverse.backgroundXgks.Background%s"%s"%s AllocGroundColors: Background color not known. Using default..foregroundXgks.Foreground%s"%s"%s AllocGroundColors: Foreground color not known. Using default.iconicIconic.icon.geometryXgks.Icon.Geometry%s%s GetWMHints: Negative X (Y) icon position requires height (width) spec.XAPPLRESDIR/usr/lib/X11/app-defaults//.XdefaultsXENVIRONMENT/.Xdefaults-HOMEUSER$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $?à?à$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $?à?à?ë¶E¡ÊÀƒ¿à¿ë¶E¡ÊÀƒ$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $A.„€Assertion failed: file "%s", line %d xport.cAssertion failed: file "%s", line %d xport.cselect$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $Æ<@?àO€?€?€?ðD»€Ä»€Æ<@F<@CCH?àXGKS: can't load font %d from path '%s' - aborting %s/%d6x10xXgksMesg(): Can't load font "6x10". Trying "fixed"... fixed$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $¿€?€?à$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $Assertion failed: file "%s", line %d event.cîî@î€îÀïï@ï€ïÀðð@ð€ðÀñòóôõùý î ”   ¬ ¸ Ä Ô ä ð  ( < P ` t „   ¨ ´ Ä Ì Ü ì ü  4 H ` p „ ” ¤ ¸ Ì Ü ì ü   4 H X h t „ ” ¤ ´ Ä Ô ä ô   ( 4 D X h t „  œ ¬ ¼ Ì Ü è ø   $ 0 @ L \ h x ˆ œ ¬ À Ð ä ð    ( 8 H X h x ˆ ˜ ¨ ¸ Ä Ô à ð ü   , 8 D T ` p ˆ ˜ ¤ ´ À Ð à ô   $ 8 H \ l €    ° À Ð è ü   0 < L ` p € ” ¤ ° Ä Ø è ü  $ 4 H \ l x Œ œ ¬ ¸ È Ü ì ü   , @ T h |  ¤ ¸ È Ø è ü   0 @ T d p „ ” ¨ À Ð Ü ì ô ü  ( @ X p ˆ   ´ Ì ä ø  $ 4 D Pÿÿÿÿÿÿÿö?€?€?€?€@ @À@À@À@À@À?€?€?€>™š?€>™š?€>LÌÍ?€>™š?€=ÌÌÍ?€=ÌÌÍ   ((((((((((((((((gopengks()gclosegks()gopenws()gclosews()gactivatews()gdeactivatews()gclearws()gredrawsegws()gupdatews()gsetdeferst()gmessage()gescredrawnotify()gescsetcolourmask()gescsetdcsize()gescstoreprimi()gescinqxattr()gpolyline()gpolymarker()gtext()gfillarea()gcellarray()ggdp()gsetlineind()gsetlinetype()gsetlinewidth()gsetlinecolourind()gsetmarkerind()gsetmarkertype()gsetmarkersize()gsetmarkercolourind()gsettextind()gsettextfontprec()gsetcharexpan()gsetcharspace()gsettextcolourind()gsetcharheight()gsetcharup()gsettextpath()gsettextalign()gsetfillind()gsetfillintstyle()gsetfillstyleind()gsetfillcolourind()gsetpatsize()gsetpatrefpt()gsetasf()gsetpickid()gsetlinerep()gsetmarkerrep()gsetpatrep()gsetfillrep()gsettextrep()gsetcolourrep()gsetwindow()gsetviewport()gsetviewportinputpri()gselntran()gsetclip()gsetwswindow()gsetwsviewport()gcreateseg()gcloseseg()grenameseg()gdelseg()gdelsegws()gassocsegws()gcopysegws()ginsertseg()gsetsegtran()gsetvis()gsethighlight()gsetsegpri()gsetdet()gsetsegattr()ginitloc()ginitstroke()ginitval()ginitchoice()ginitpick()ginitstring()gsetlocmode()gsetstrokemode()gsetvalmode()gsetchoicemode()gsetpickmode()gsetstringmode()greqloc()greqstroke()greqval()greqchoice()greqpick()greqstring()gsampleloc()gsamplestroke()gsampleval()gsamplechoice()gsamplepick()gsamplestring()gawaitevent()gflushevents()ggetloc()ggetstroke()ggetval()ggetchoice()ggetpick()ggetstring()gwritegksm()ggettypegksm()greadgksm()ggetgksm()ginterpret()gevaltran()gaccumtran()gemergencyclosegks()gerrorhand()gerrorlog()ginqactivews()ginqasf()ginqassocws()ginqavailgdp()ginqavailwstypes()ginqchoicest()ginqclip()ginqcolourfacil()ginqcolourindices()ginqcolourrep()ginqcurntrannum()ginqdefchoice()ginqdefdeferst()ginqdefloc()ginqdefpick()ginqdefstring()ginqdefstroke()ginqdefval()ginqdisplayspacesize()ginqdisplaysize()ginqfillfacil()ginqfillindices()ginqfillrep()ginqgdp()ginqindivattr()ginqinputoverflow()ginqlevelgks()ginqlinefacil()ginqlineindices()ginqlinerep()ginqlocst()ginqmarkerfacil()ginqmarkerindices()ginqmarkerrep()ginqmaxntrannum()ginqmaxwssttables()ginqmodsegattr()ginqmodwsattr()ginqmoreevents()ginqnameopenseg()ginqntrannum()ginqntran()ginqnumavailinput()ginqnumsegpri()ginqopenws()ginqopst()ginqpatfacil()ginqpatindices()ginqpatrep()ginqcurpickid()ginqpickst()ginqpixel()ginqpixelarray()ginqpixelarraydim()ginqpredcolourrep()ginqpredfillrep()ginqpredlinerep()ginqpredmarkerrep()ginqpredpatrep()ginqpredtextrep()ginqprimattr()ginqsegattr()ginqsegnames()ginqsegnamesws()ginqstringst()ginqstrokest()ginqtextextent()ginqtextfacil()ginqtextindices()ginqtextrep()ginqvalst()ginqwscategory()ginqwsclass()ginqwsconntype()ginqwsdeferupdatest()ginqwsmaxnum()ginqwsst()ginqwstran()gurec()gprec()XgksChoUpdatePrompt()XgksEnqueueEvent()XgksLocUpdatePrompt()XgksStrUpdatePrompt()XgksPicUpdatePrompt()XgksInsertMesgPrimi()XgksDuplicatePrimi()XgksSegPrimiTran()XgksStkUpdatePrompt()XgksValUpdatePrompt()XgksDistFillarea()XgksInitWssFillArea()XgksDistCellarray()XgksExecData()xPolyMarker()xFillArea()xInqPixelarray()$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $??¿ð??D D€?à$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $¿ðD D€$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $¿ðD D€?à8x13ginitchoice(): Can't load font "%s".8x13 Trying "fixed"... fixedWW$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $?PbMÒñ©ü?¿ðD D€?PbMÒñ©ü?à$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $?€?à?Ù™™™™™š?©™™™™™š?ã333333?CHDHBHBÈ?€?CHDHBHBÈ?€¿ð?CHDHBHBÈ?€?CHDHBHBÈ?€?à$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $$__Header$$Id: color,v 2.5.4.1 1993/03/10 19:43:53 steve Exp $?à¿ðD D€?à8x13ginitchoice(): Can't load font "%s".8x13 Trying "fixed"... fixed8x13gsetchoicemode(): Can't load font "%s".8x13 Trying "fixed"... fixed8x13gsetchoicemode(): Can't load font "%s".8x13 Trying "fixed"... fixed@(#)_crt2.c 1.4 91/02/11 SMI@(#)fabs.S 1.11 91/02/11 SMI@(#)cos.S 1.5 91/02/11 SMI?ð@(#)sin.S 1.6 91/02/11 SMI@(#)__cos.S 1.6 91/02/11 SMI?ð¿ÅUUUQü(?bêÌ¿ßÿÿÿÿÿ…?¥UUUO[5¿VÁkºU%i>ùý9”)9@¿ßÿÿÿÿc(?¥UQ_zÏ @(#)__rem_pio2.S 1.5 91/02/11 SMI?àAp?ä_0mÉȃ?é!ûTD-?ù!ûTD-?ù!ûT@=дabc1=д`=дa`;£Š.ps;£Š.9{ƒš% IÁ@(#)__rem_pio2m.c 1.6 91/02/11 SMI?ù!û@>tD-<øF˜€;xÌQ`9ðƒ€8z% @6ã‚"€5ió?ù!û@>tD-<øF˜?ù!û@>tD-<ø?ðAp>p?À@ ?à@(#)__fp_pi.c 1.4 91/02/11 SMI@(#)__sin.S 1.6 91/02/11 SMI?ð¿ÅUUUQü(?bêÌ¿ÅUUUUTÐ?Ç¿*ŸuîKá>Ç㦗'…¿ßÿÿÿÿc(?¥UQ_zÏ @(#)rndint.S 1.4 91/02/11 SMIC0Ã0?à¿à€?ð@(#)ieee_func.S 1.17 91/02/11 SMICP<à@(#)sqrt.S 1.14 91/02/11 SMI<`CP>@?à?ð?ø?ïÿÿÿÿÿÿ.øMgk‡¾£•¾zØfñJ Í5RI™\˜n4~_š¥E®ŠµÄ»¿ÞÂÂÞÀÛº~±¤µ•=‚fkàh>yØŠM™’§‰´E¿aɉÑm×{Ýßâ­å¿æèæTãÍß*Ö5˾,®N›Þ†Žn.R3JQéQ¾Ž Y$Ý@(#)__SVID_error.c 1.14 91/02/11 SMI?æ.Bþú9ï?æ.Bþà=ê9ï5yÇHuö·AËõ9á¡í@£j‹:EµÅAT“E^ìAgˆÇJ§ßA`z!žÂaA>æjÍ3³GA ÒQ;Æ@¤ofÆý\6?ðÀ¯!<KrÖÀÄFµ_ØŒ°ÀÀˆ|õÕûÀ¢{é7cRÀlHk™hÉÀŒ}ÿ˜­=A!<KrÖA$XòÙ œãA FVºh`A ªºXå@άr*F˜†@yŒWî2Ý}?ðÃ÷ÚÜúÜRD ‘ƒcoÃÒ4T–"ÙëC~‹„Øe\Ãm—Ðn—B¢§t!Šÿã yEË”°AŒ4¸5AD{Àä3K[ýpD43€! €CÍ:‹WeõCU@É?}ýBÔÕ\ƒ÷BNkŠõH ×AÁESäø'A.‘ÍHWÿ@” Ï£–·;?ð@ @ @P@ @(#)j1.c 1.4 91/02/11 SMI?ä_0mÉȃ?é!ûTD-D?Âå#h=Ä ï†½í™™CÀÐǼêÃ_àà ¡aBðˆÚ­z÷YÂs@]ÀÂAén:@ɧˆÁQé²aö @¥>ÓöJÉDOÂå#h=Cä‘á9®u"Ck ß8ŠYöBçªnxq©B^…¼¸J0õAÎ7*--éA6êa˜QÓÊ@™¹îf>?ðÁPëËtFZáÁböœÐ)˜–ÁY0›Oå6Á7?IYçÌÀúÐãb`À™.wqœÜÁPëËtFZáÁbò¥ŒzXÁYþÞ³ÈwÁ7²ÆÀÀú/ýÂ2©À–¼ ª°uÌ?ð@à8:§O@ôÉ’’ M@ð(-b£ ë@ÒÒê6à@š©€pw¬@A¡ïçè.¦A% Ñ£‰¾ÅA;ÃB Ѐ«A5¨Ä«k&CAn™¾HLF@â€GZÎ@@Šþ±¸{?ðĵ\ŽÓÊHD–~$/waÄPn†çËCó­0øÐZÃ…Ócb£(bC 3 iû C‚ÆäíÙ“œAëÆƒ÷ÓÁ@×Å# DÚç|PG'gDrjaXh·Cù¡d+p²JCxí k¬"Bðë‘àÃ{BbÑ è·ÐâAÐÑ™=JØ$A7Ú’ÁAR@™1q±Ã~k?ð@ ?ð@@ @?ð@P@ @(#)cbrt.c 1.9 91/02/11 SMI*Ÿx“)x“?á_ñ_ñ¿æ‘Þ%2È4?ö ê ê?ù¶Ûm¶Ûn?ÖÛm¶Ûm·?ð?ñ™™™™™š@(#)r_erf_.c 1.6 91/02/11 SMI@(#)erf.c 1.8 91/02/11 SMI¥nÂøóY?ð?ò ×PB›m?â ×PB›m@©ÁS]@w—È—R‹@\wNM6]£@ Iû>ÔCé?ÇÇZ1Ã"@¦8yB;‡­@” wRœ­È@n€ÉÕ~U¸@7™î4/²Þ?â Õë>@!Ä,5¸¼@P‡ ÑÄ Ð@rª)†«¤b@‹ž&+Ÿ£@šÀ0Á]È×@ (!#ok@“9[ÒüŽ>Wp<_X@/}fô†ÞÕ@]li°ÿÍç@€Éråˆtž@™UŽì¢'@©µ™5m@± ž|±†@ªÞ¼?É ½@“9[Ó_a?ÓŠx¹ðeö?×ä$%¸?À˜ „/?xDŒÖŵ?E•ý qã,9?®üB‘}}ç?c!G ºÑ?ð?Þ@$@?Þ@@$@<@0?°@(#)r_ieee_vals_.c 1.6 91/02/11 SMIInfInfinityNaNC½Ídÿÿÿÿ binary exponent %d binary exponent %d decimal exponent %d decimal exponent %d @(#)__floatprint.c 1.6 91/02/11 SMI?ïÿÿþeoÿÿþCAÃy7à€>. è&Ö•AÍÍeAßÿÿÿÀ>EyŽâ0Œ:A—ׄ?à@@(#)__x_power.c 1.7 91/02/11 SMI libc base conversion file %s line %d: %s__x_power.c _times_power failed due to exponent %d %d %d leftover: %d @(#)_sprintf_sup.c 1.11 91/02/11 SMI@(#)_base_il4.S 1.5 91/02/11 SMIÀÄÈÌÐÔØinvalid operandinexactdivision by zerounderflowoverflowFloating point exception %x, %s, occurred at address %x @(#)sinpi.c 1.6 91/02/11 SMI@ !ûTD-C0C@?Ð?à@@?ð?ø @0 @9INFINITYNAN(@(#)log.S 1.18 91/02/11 SMI?ÕUUUUUU?à?ð@C0?æ.Bþà=ê9ï5y+?Ñg\««¦?Òèâºá1?Ôa‹Â^Â?Õѽ¿X Ê?×9×ö»Ð?Øš3†ÁB[?Ùó#쿘L?ÛD÷{Ìc?Ü÷Çšš"?ÝÔjÁÄ¡?ß_¯í?à%R¥¥Ðÿ?à¾rä%*ƒ?áTÃÒôÕê?áè_^p@Ð?ây^‰±?ã×3O¾?ã“àÓV*?äèFr®?䤸]°>»?å*-&[Å«?å­@L5Ÿ-@(#)exp.S 1.15 91/02/11 SMI@†.Bþú9ï@‡IÕ-0Q?ð¢²?;«s?æ.Bþú9ï?Ö.Bþú9ï?æ.Bþà=ê9ï5y¿fÁl¾½“?Vj¯%Þ,¾»½AÅÒkñ>f7ir¾¤Ð?÷Ge+‚þ<F)>Y9 Œê?†.Bþú9ï?–.Bþà=š9ï5yÐ>0?ÅUUUU)¿fÁfJ7 ¨?ð?ðY°Ó…t?ðµXlù‰?ñÐ[Q?ñr¸<}Q{?ñÔ‡1h¹ª?ò8znub8?òžõÞá?óþ 1·?óq§7:©Ë?óÞ¦L4"?ôN`a‰-?ô¿ÚÕ6*'?õ4+VO‚?õ«ÝHT)?ö$~°:U…?ö žf;Í?÷uèì_t?÷¡së‡?ø%‰™LÎ?ø¬åB* Û?ù77°ÍÅå?ùÄ‘‚£ð?úU²>%]?ú蟙ZÓ­?ûvòû^G?ü›Ý…Rœ?ü· Üïi?ýXÜû¤‡?ýü—3{›_?þ¤¯¢¤Ú?ÿPv[nE@%]@ 蟙ZÓ­@ vòû^G@ ›Ý…Rœ@ · Üïi@ XÜû¤‡@ ü—3{›_@¤¯¢¤Ú@Pv[nE@€ ""¨%d"¨Kd"¨S q ™ © Å Ø õ   7 H Y$"¨D"¼D#D# D#@D#PD #€D!#°D%#ÀD&#ÐD'#èD+$ D,$$D0$<D1$LD2$\D4$dD5$xb$ˆl‡€s‡‹zd$ˆ§d$ˆ±€Û€õ€€B€e€‹€¬€΀ò€€N€€›€¶€×€ë‚Ó€@¢‚)‚¢>‚7sl€@|€ ‹€ €›€ §€@´€"€Ñ€€à€€î€@ü€@ €€€N€[€€¢¢›‚UÛ´‚¢Ђ¢í€ û€" € € €%€"3€ ?€t€Œ€À€Ï€€€€ €6€ €C€P€€]€"j€"w€€„€’€€¡€ Ü€ ¢ê‚9º‚¢€@Ë€@ ƒ€@¢ ®‚ Ç‚¢ ä‚NÜ þ‚þ €@¢ -€  ‘€ ΀` „€`  $€ ¢ ¢ ¦‚ ºÂ Ï‚¢¢ ý‚¢ )‚ á 7‚ñ b€ 뀀¢ ù€@€@€V€g€t€ ƒ€¨€¸€à€í€€#€4ã€4Z€4h€¨€·€é€ø€2€B€g€x€œ€ ò€ G€ •€ò€f€z€«€»€Þ€ì€H€X€4ç€4ú€€-€h€z€ª€¼€é€û€ G€ Y€ ®€ ¾€è€ú€€&€,‘€,¥€Ú€ì€€,€k€{€¬€¼€ì€ý€ J€ \€Ѐက €\€n€ ½€ Ï€D€U€y€€Á€$ €C€(¢€Ç€(K€(\€HÈ€HÙ€þ€#€H€”€¦€ú€ € Z€ …€ ™€( €( €  b€  t€ ç€ ø€!p€!è€8"…€8#"€8#‡€8#›€T$€T$€ $b€ $«€ $ô€ %@€ %Q€(%·€(%È€%÷€& €&^€&p€&š€&¬€&Ò€&ø€'4€'D€'j€'€'Í€'Þ€(;€(L€ (“€ (£€()€()%€)3€)‹€)›€)Þ€)ï€ *U€ *g€*€*³€*ð€+€+9€+J€+z€+‹€+Á€+Ѐl,ˆ€l-€l-!€-I€-[€-k€-Œ€-œ€-Ä€-Ö€.%€.C€.T€.Ü€.í€ /-€ /<€P/È€P/Ù€0`€0q€0•€0¨€1j€1|€2#€24€2V€2h€2y€3€3€3O€3]€3€3 € 3í€ 3ý€,4Š€,4œ€4Ü€4î€53€5D€5œ€5­€5é€5ü€L6¶€L7'€L7:€ 7w€ 7Š€7É€7Ü€8€8(€8f€8y€ 8Ù€ 8ë€9-€9@€9z€9‹€9Ä€9Ô€: €:€:E€:V€:‰€:›€:È€:Ù€;€;€,;Ñ€,;ä€< €€>0€(>º€(>Ì€$?€$?ª€$?»€,@C€,@T€@z€@Š€@Ú€@ë€A€A1€Af€Av€Aã€Aô€ B?€ BP€B|€B€C€C$€CQ€Cb€ C›€ C­€DD€DD€D €E<€E½€Fh€G€G¬€HA€H×€I_€Iä€J|€K€K–€L%€L½€Mk€N€N¾€Ol€P€P¹€Qq€R€RÅ€Rý€S€T€TÅ€TÞ€¢Tô‚Ž U € US€ Ua€U§€U·€(V‚€(Vª€(V¸€W€W$€WJ€W[€W…€W–€W×€Wë€$Xy€$X‰€Xà€¢Xð‚·€Xý‚¢Y(‚¢Y4€Y]€Yq€Y €Yµ€Yã€Yõ€Z$€Z6€Z€Z•€ZÀZØ€[€[(€[V€[h€[–€[©€[Ù€[ð€\ €\7€\g€\~€\©€\¼€]€]€]K€]b€]’€]¦€]ò€^ €^8€^P€^€€^—€_ €_"€__€_u€_£€_º€_Ï€`€`,€`£€`Õ€`ê€a€a-€aX€an€aƒ€aØ€aê€b1€bG€b“€b¨€c€c#€cS€ch€c˜€c®€cÞ€có€d"€d8€dg€d€d¯€dÀe$€e9€ew€eŽ€e¾€eÕ€f€¢f& ‡€f:&<‡‹f[ fj Dfz HÀf‰€ÿÿÿøf™€ÿÿÿôf¡€ÿÿÿðD{$œÀLD|$ÔD}$ààtD$üD‚$üÀ¬Dƒ%4D„%@àÐD…%XDˆ%XÀD‰%DŠ%œà0D‹%¸D%¸D‘%ÈÀxD—&D™&À¨Dš&0à¸D›&@ÀÀDœ&HàÜD&dàÜDž&dÀäDŸ&lD &|àD¡&ˆD¥&ˆD¨& D«&¬D¬&¸D®&ÔD®&ØÀlD¯&ôàD±'D±'D´',à°Dµ'8f­ ÀÄDÅ'LDÈ'TDÉ'dDÊ'lDÌ'tDÍ'„DÎ'ŒDÐ'”DÑ'¤DÒ'¬DÔ'´DÕ'ÄD×'ÌÀ`DØ'èDÙ'øàxDÚ(àxDÛ(f¼ fË DfØ Hfæ LÀ˜fô€ÿÿÿüD÷( ÀØD÷(`D÷(hD÷(pD÷(ˆàD÷(Dû(À¸g€ÿÿÿøD)@D)TÀèD)pàðD)xÀøD )€À4D )¼à@D)ÈÀHD)ÐàPD)ØàPD)ØàPD)ØÀXD)àÀ”D*à D*(À¨D*0à¬D*4à¬D*4D"*4àÜD#*dg g  DÀôD5*|àD6*Œg- g< DÀDH*¤à,DI*´gI gX DÀDD[*ÌàTD\*Üge gu Dg‚ HÀpDo*øÀ¨Do+0Do+HàÈDo+PDq+PààDr+hg gŸ DÀøD„+€àD…+g¬ gº DgÇ HÀ$D˜+¬À\D˜+äD˜+üà|D˜,D›,gÕ€ÿÿÿüàÀDœ,Hgá gï Dgü Hh  LÀàh€ÿÿÿüh+€ÿÿÿøD´,hÀD´, D´,¸à8D´,ÀDµ,ÀÀpDµ,øDµ-àDµ-D·-À˜D¹- Dº-$D¼-,D½-4D¿-<DÀ-DDÂ-LDÃ-TDÅ-\DÆ-`àðDÇ-xDÇ-€DÉ-¸À 8DË-ÀDÌ-ÄDÎ-ÌDÏ-ÔDÑ-ÜDÒ-àà pDÓ-øDÓ.DÔ.(à ¸DÕ.@h< hJ DhW Hhc LÀ ØDê.`À øDì.€Dí.œÀ 0Dî.¸Dï.ÐDð.Øà XDñ.àÀ XDò.àà dDó.ìà dDô.ìDõ.ìDö/Dú/à ¤Dû/,hs h‚ Dh Hhœ Lh¨ PÀ ÄD/LÀ èD/pD/À $D/¬D/ÄD/Ìà LD/ÔÀ LD/Ôà \D/äà \D/äD/äD0D"0à ¤D%0,h¸08hÀˆhLj#hÎd08hûd08i€i-€iG€ii€i”€i·€iÝ€iþ€j €jD€jn€j €jÓ€jí€k€k)€k=ÂÓkR‚9”k}€l€@l€ l"€ €l2€ l>€@lK€"lY€lh€€lw€€l…€@l“€@l¤€€l³€€¢lÁÂlÕÂlêÂm‚ m&ÂmQ€@m]€@mj€m¬€m¼€mÉ€ mØ€mü€n €n2€n>€nf€nr€4o)€4o›€4o¨€oç€oõ€p&€p4€pl€p{€pŸ€p¯€pÚ€ q.€ qƒ€ qЀr,€rš€r­€rÝ€rì€s€s€sv€s…€4t€4t €tC€tQ€t‰€tš€tÉ€tÚ€u€u€ ub€ us€ uÆ€ uÕ€uþ€v€v,€v9€,v €,v³€vç€vø€w%€w6€wr€w€w±€wÀ€wï€wÿ€ xK€ x\€xË€xÛ€y €y€yS€yd€ y±€ y€z2€zB€zf€zŠ€z®€$zõ€{*€({…€{ª€(|'€(|7€H|ž€H|®€|Ó€|ø€}€}e€}v€}Æ€}×€ ~%€ ~N€ ~a€(~Æ€(~Ù€ $€ 5€£€³€€*€€¡€8;€8Õ€8‚5€8‚H€T‚®€T‚Á€ ƒ € ƒS€ ƒœ€ ƒä€ ƒô€(„V€(„f€„”€„¦€„ö€…€…0€…A€…f€…‹€…Ä€…Ó€…ø€†€†W€†g€†Ã€†Ó€ ‡€ ‡'€(‡’€(‡¢€‡¯€ˆ€ˆ€ˆS€ˆc€ ˆÅ€ ˆÖ€ˆû€‰ €‰Z€‰j€‰¡€‰±€‰à€‰ð€Š$€Š2€lŠè€l‹m€l‹~€‹¥€‹¶€‹Å€‹æ€‹ö€Œ€Œ.€Œ|€Œš€Œª€0€@€ ~€ Œ€PŽ€PŽ"€ާ€Ž·€ŽÚ€Žì€¦€·€V€f€‡€˜€¨€‘2€‘C€‘{€‘ˆ€‘¹€‘É€ ’€ ’#€,’ª€,’»€’ú€“ €“O€“_€“¶€“Æ€“ÿ€”€L”Ç€L•4€L•F€ •€€ •’€•΀•à€–€–)€–g€–y€ –Ö€ –瀗'€—9€—q€—€—¹€—È€—û€˜ €˜4€˜D€˜v€˜‡€˜³€˜Ã€˜ï€™€,™³€,™Å€™í€š€,š‰€,šœ€šÙ€šë€`›w€`›Š€›ë€›ý€(œ€(œ’€$S€$m€$}€,ž€,ž€ž5€žD€ž“€ž£€žÕ€žç€Ÿ€Ÿ,€Ÿ”€Ÿ¤€ Ÿî€ Ÿþ€ )€ ;€ »€ Î€ ú€¡ € ¡@€ ¡Q€D¡§€D¡¶€¢>€¢Ú€£[€¤€¤¬€¥J€¥ß€¦u€¦ý€§‚€¨€¨¢€©4€©Ã€ª[€« €«³€¬\€­ €­»€®W€¯€¯·€°c€°›€°¬€±€²a€²z€¢²Â·€²œÂ²Ç²Ó& ˆ²ô&:ˆ#³ À DB0DàDC0L³$ ³6 D³C H³R LÀ4D_0lDc0„Dc0ˆàXDd0³e ³t D³ H³Ž LÀxD}0°à˜D0г™0س§d0سÔd0س‴ €´&€´H€´s€´–€´¼€´Ý€´ÿ€µ#€µM€µ€µ²€µÌ€µç€¶€¶Â9”¶G ¶U¶€ ¶– ¶ª ¶½ ¶Ì ¶Ý ¶î · · ·& ·; ·O0Ø·XˆË·_ˆ·fd0Ø·“d0Ø·œ€·Æ€·à€¸€¸-€¸P€¸v€¸—€¸¹€¸Ý€¹€¹9€¹l€¹†€¹¡€¹Â€¹Ö&;ˆ¹÷& ˆËºÂÓº- º;Â9”ºf·€ºsºžÂºª º¹ DºÆ HºÓ LÀD:0ðà,D;1ºá1ºî‰ºõ‰"ºüˆØ»d1»0d1»=€»g€»€»£€»Î€»ñ€¼€¼8€¼Z€¼~€¼¨€¼Ú€½ €½'€½B€½c€½wÂÓ½ŒÂ½¸‚½Ì½á‚&£¾€@¾€ ¾.€ €¾>€ ¾J€@¾W€"¾e€¾t€€¾ƒ€€¾‘€@¾Ÿ€@¾°€€¢¢¾¿Â¾Ó¾è‚п€¿H€¿U€¿‡€¢¿•¿©Â¿¾Â¿ì·€¿ùÂñÀ$ÂÀ0&?ˆØÀQ& ‰Àr À… DÀ™ HÀÀ©€ÿÿÿüÀ´€ÿÿÿøD$1$À¾€ÿÿÿôD&1\D&1`D)1°D*1ÈàÈD+1ØÀÊ ÀÝ DÀàD61ðD71øD92D92 àD:2Àè&‰"Á 2 Á ΘÁ3HÁ%Š(Á,Š3Á3d3HÁ`d3HÁi€Á“€Á­€ÁÏ€Áú€Â€ÂC€Âd€Â†€Âª€ÂԀÀÃ9€ÃS€Ãn€Ã€Ã£ÂÓøÂÃÌÂÃá‚&£Ä€@Ä€ Ä.€ €Ä>€ ÄJ€@ÄW€"Äe€Ät€€Äƒ€€Ä‘€@ÄŸ€@İ€€¢Ä¿ÂÄÓÂÄèÂÐÅ Å$ÂñÅO·€Å\ÂŇÂÅ“& Š(Å´&6Š3ÅÕ Åâ DÅë HÅþ LÀÆ €ÿÿÿüD\3`À<D]3„Æ€ÿÿÿøD_3ìÀÀD`4Da4 Db4(àèDc40ÀèDd40àøDe4@àøDf4@Dg4@Dg4DÀDh4dDi4ˆàhDj4°Dj4°Dl4Äà”Dm4ÜÆ Æ+ DÆ4 HÆ? LÀ´ÆJ€ÿÿÿüD‡4üÀØDˆ5 ÆR€ÿÿÿøDŠ5ˆÀ\D‹5¤DŒ5¼D5Äà„DŽ5ÌÀ„D5Ìà”D5Üà”D‘5ÜD’5ÜD’5àÀ¸D“6D”6$àD•6LD•6LD—6`à0D˜6xÆ_ Æl DÆw HÆ‚ LÆ PÀTÆ¡€ÿÿÿøDµ6œÀxD¶6ÀƱ€ÿÿÿôD¸7 ÀôD¹7<Dº7TD»7\àD¼7dÀD½7dà,D¾7tà,D¿7tDÀ7tDÁ7ŒDÅ7œDÆ7¨DÈ7´à€DÉ7ÈÆ¾ ÆÌ DÆ× HÆâ LÆî PÆü TÀ¤Ç €ÿÿÿøDè7ìÀÌDé8Ç€ÿÿÿôDë8|ÀPDì8˜Dí8°àpDî8¸ÀpDï8¸à„Dð8Ìà„Dñ8ÌDò8ÌDó8èD÷8üDø9Dú9ààDû9(Ç* Ç7 DÇ@ HÇK LÀÇV€ÿÿÿüD9HÀ$D9lÇ^€ÿÿÿøD9ÔÀ¨D9ðD:D:àÐD:ÀÐD:ààD:(ààD:(D :(D :,ÀD!:LD":pàPD#:˜D#:˜D%:¬à|D&:ÄÇk Çx Dǃ HÇŽ LÇ™ PǤ Tǰ XǼ \ÇÇ `ÇÒ dÇÜ hÇæ lÀ¤Çó€ÿÿÿðÈ€ÿÿÿèDS:ìDT:øDU;DV;DX;DY;(D`;4àDa;PÈ È% DÈ. HÈ: LÈF PÈT TÈ_ XÈo \À0È‚€ÿÿÿüÈ‘€ÿÿÿøÈ €ÿÿÿôÈ´€ÿÿÿðD‚;xDƒ;À`D„;¨D…;Àà€D†;ÈDˆ;ÈDˆ;ÌÀ¤D‰;ìDŠ< àèD‹<0D‹<0Dà¤D¨>$ÍŽ Íœ Dͨ Hͳ LÍ¿ PÍÌ TÀÌÍØ€ ÿÿÿôDÄ>LÀDÄ>„DÄ>œà$DÄ>¤DÅ>¤DÆ>°DÇ>¼DÉ>ÈàdDÊ>äÍã Íñ DÍý HΠLΠPÎ  TÎ+ XÎ6 \Î@ `ÎJ dÀŒÎW€ ÿÿÿôÎc€ÿÿÿðÎp€ÿÿÿìDå? Dæ? Dé?4Dê?TÀôDí?t΃€ÿÿÿèDî?ÌÀhDñ?èDò@àˆDó@Dô@à”Dõ@Dö@À Î€ÿÿÿèΘ€ÿÿÿäΠ€ÿÿÿàD@ D@\D@`D@€D@„D@¤à DA DA D A(àÄD ADΰ ν DÎÉ HÎÓ LÎÞ PÎé TÀìÎô€ ÿÿÿôD'AlD(AxD)A„D+Aà,D,A¬ÎÿA¸Ï аÏŠ»ÏdA¸ÏGdA¸ÏT€Ï~€Ï˜€Ïº€Ïå€Ð€Ð.€ÐO€Ðq€Ð•€Ð¿€Ðñ€Ñ$€Ñ>€ÑY€Ñz€ÑŽÂÓÑ£ÂÑ·ÂÑÌÂ7sÑú ÒÂñÒ3·€Ò@ÂÒkÂÒw& Š°Ò˜&:Š»Ò¹ ÒÇ DÀDFAÈà DGAØÒÒ Òß DÀ8DYAðàHDZBÒì Òû DÀ`DlBà„DmB<Ó Ó! DÀœDBTà¬D€BdÓ- Ó; DÀÄD’B|àÔD“BŒÓF ÓS DÀìD¥B¤àüD¦B´Ó` Óo DÀD¸BÌà8D¹BðÓ} ÓŒ DÀPDËCà`DÌCÓ˜ Ó¦ DÀxDÞC0àˆDßC@Ó± ÓÀ DÓÌ HÀ¤ÓØ€ÿÿÿøDõC\DöChÀèDöC DöC¸àDöCÀD÷CÀDùCÌà DúCØÓä Óó DÀ8D Cðà\D DÔ Ô DÀtDD,à˜D DPÔ Ô+ DÀ°D2DhàÀD3DxÔ7 ÔE DÀØDEDàüDFD´ÔQ Ô` DÔm HÀÔz€ÿÿÿøD\DÐD]DÜD_Dèà<D`DôÔˆ Ô– DÀTDrE ÀŒDrEDDrE\à¬DrEdDsEdà¼DtEtÔ¡ Ô° DÔ½ HÀØÔÊ€ÿÿÿøDŠEÀDŠEÈDŠEàà0DŠEèD‹EèDŒEôÀtDŒF,DŒFDà”DŒFLDFLDFXà¬DFdÔÚ Ôè DÀÄD¢F|àÔD£FŒÔó Õ DÀìDµF¤À$DµFÜDµFôàDDµFüD¶FüàTD·G Õ Õ DÀlDÉG$à|DÊG4Õ* Õ9 DÀ”DÜGLà¤DÝG\ÕE ÕS DÀ¼Õ_€4ÿÿÿÌDðGtÀôDðG¬DðGÄàDðGÌDñGÌDòGØÀXDòHDòH(àxDòH0DóH0DôH<À¼DôHtDôHŒàÜDôH”DõH”DöH À DöHØDöHðà@DöHøD÷HøDøIÀ„DøI<DøITà¤DøI\DùI\DúIhÀèDúI DúI¸àDúIÀDûIÀDüIÌÀLDüJDüJàlDüJ$DýJ$DþJ0À°DþJhDþJ€àÐDþJˆDÿJˆDJ”À DJÌDJäà 4DJìDJìDJøÀ xDK0DKHà ˜DKPDKPDK\À ÜDK”DK¬à üDK´DK´DKÀÀ @DKøDLà `DLDLDL$À ¤DL\DLtà ÄDL|D L|D Lˆà ÜD L”Õj Õy DÀ ôDL¬à DL¼Õ… Õ’ DÕž HÀ Õª€ÿÿÿøD3LØD4LäD6Lðà DD7LüÕ¶ ÕÅ DÕÑ HÀ `ÕÝ€ÿÿÿøDPMDQM$DSM0à „DTM<ÕèMHÕñŠøÕøMÜÖ MHÖNÀÖ/‹Ö6dMHÖ_dMHÖh€Ö’€Ö¬€Ö΀Öù€×€×B€×c€×…€×©€×Ӏ؀Ø8€ØR€Øm€ØŽ€Ø¢& ŠøØÃ&4‹ØäÂÓØù‚Ù‚ ‚PÙ(ÂUÛÙA‚&£Ù]€@Ùm€ Ù|€ €ÙŒ€ Ù˜€@Ù¥€"Ù³€Ù€€ÙÑ€€Ù߀@Ùí€@Ùþ€"¢Ú ÂÚ*‚&wÚG€ €ÚR€ €Ú`€ €Úp€ €Ú|€ €ÚŠ€ €Ú˜€ €Ú¨€ €Ú¸€ €ÚÆ€ €ÚÒ€ €ÚÞ€ €Úî€ €Úú€ ¢Û €Û‰€Û™€Ü €Ü€<Ý>€<ÝÊ€<ÝÝ€ Þ6€ ÞR€\߀\ßЀ\à‡€\à™€pá€á1€ á÷€ †â]€ âk€Pã2€Pãö€Pä_€Pän€äÜ€äñ€<åÛ€<攀<æ±€\çY€\è €\èí€\é€ éT€ éi€ê}€Xë>€Xëü€Xì€Xì€캀ìÑ€ íJ€ íY€í¨€í¹€íè€í÷€îK€î^€ îÙ€ îæ€ ︀ ïÑ€8ð²€8ðÉ€ñ €ñ€ñi€ñ€ò5€ ò£€äós€äôX€äõ*€äö€äöÖ€ä÷¾€äøù€äù€äù%€<ùØ€<úa€<ús€<úŒ€<ú¦€<ûY€<ûá€<ûö€<ü€<ü/€<üâ€<ýj€<ý€<ýš€DþM€Dþç€Dþü€Dÿ€Dÿ-€DÿG€ÿå€ÿÿ€€,€4Ñ€4æ€(€(¹€(Ï€0{€0Ô€0ò€€µ€A€[€0€0h€0„€€-€Õ€ê€•€¨€5€O€(þ€( .€( F€4 ð€4 e€4 ~€  (€  ?€ ߀ ü€8 §€8 )€8 I€ 耀¡€Á€ q€ ‰€+€I€(€(-€(M€$ €$€$7€ ê€ €€0;€0X€ € +€×€ì€e€x€`.€`û€`Ó€`›€`€`Ò€d€d!€ °€ Å€ý€€Pè€P¿€PÔ€1€D€y€Š€ò€€š€°€@×€@¢‚¢!‚B€p€H €H à€H ò€$!³€$!Ï€$!߀"@€"U€"ñ€#€#?€#Q€#€#³€#΀($ˆ€($¿€($Ó€(%˜€(%Ä€(%Þ€@¢%î‚ á%÷‚´&"€&¤€€¢&²€@&¾€@&Ë€'€' €'-€ '<€'a€'q€'™€'¦€'Ï€'Ü€4(œ€4)€4)!€)a€)p€)¢€)±€)ë€)û€* €*1€*V€ *­€ +€ +R€+°€,$€,8€,i€,y€,œ€,ª€-€-€4-¥€4-¸€-Ü€-ë€.&€.8€.h€.z€.§€.¹€ /€ /€ /l€ /|€/¦€/¸€/Ö€/ä€,0O€,0c€0˜€0ª€0Ø€0ê€1)€19€1j€1z€1ª€1»€ 2€ 2€2Ž€2Ÿ€2Ï€2Þ€3€3,€ 3{€ 3€4€4€48€4]€4‚€$4Ì€5€(5c€5ˆ€(6 €(6€H6‰€H6š€6¿€6ä€7 €7U€7g€7»€7Í€ 8€ 8F€ 8Z€(8À(8×€ 9#€ 95€9¨€9¹€:1€:©€8;F€8;ã€8€ >€(>x€(>‰€>¸€>Ë€?€?1€?[€?m€?“€?¹€?õ€@€@+€@Q€@Ž€@Ÿ€@ü€A € AT€ Ad€(AÕ€(Aæ€Aô€BL€B\€BŸ€B°€ C€ C(€CN€Ct€C±€C€Cú€D €D;€DL€D‚€D‘€lEI€lEЀlEâ€F €F€F,€FM€F]€F…€F—€Fæ€G€G€G€G®€ Gî€ Gý€PH‰€PHš€I!€I2€IV€Ii€J+€J=€Jä€Jõ€K€K)€K:€KÅ€K×€L€L€LP€La€ L®€ L¾€,MK€,M]€M€M¯€Mô€N€N]€Nn€Nª€N½€LOw€LOè€LOû€ P8€ PK€PŠ€P€PÙ€Pé€Q'€Q:€ Qš€ Q¬€Qî€R€R;€RL€R…€R•€RË€RÛ€S€S€SJ€S\€S‰€Sš€SÇ€SÙ€,T’€,T¥€T΀Tâ€,Uo€,Uƒ€U€UÕ€`Vg€`V{€VÞ€Vñ€(W{€(W€$XQ€$Xk€$X|€,Y€,Y€Y;€YK€Y›€Y¬€Y߀Yò€Z'€Z7€Z¤€Zµ€ [€ [€[=€[P€[Ñ€[å€\€\#€ \\€ \n€D\È€D\Ø€]a€]ý€^~€_)€_Ï€`m€a€a˜€b €b¥€c=€cÅ€dW€dæ€e~€f,€fÖ€g€h-€hÞ€iz€j2€jÚ€k†€k¾€kЀl€m†€mŸ€¢mµ‚ÎmÅ€ n€ n€n\€nl€(o7€(o_€(om€oÍ€oÙ€p€p€p<€pM€p€p¡€$q0€$q@€q˜€¢q¨‚’üq¶€$r €$r€$rq€$r‚€r©€r¹€dsV€dsf€<sÏ€<sä€0t|€0t’€t΀tâ€u€u€duÈ€tvE€t¢vX‚ªUvb€Hvò€Hw€`w\€`wn€4w¯€4w¾€8x(€8x9€pxª€px»€\y§€\yº€pz7€Œzò€Œ{€{l€{}€{¶€¢{Ì‚¢{Ô‚Ì-{߀|D€|U€|€| €|ë€|ü€Ä}Ä€Ä~w€Än€Äå€Äõ€€€€+€€¬€€¼€^€p€„‚4€„ƒw€„„u€„…:€„…ÿ€„†é€„‡§€‡¼€„¢‡Ó‚“,‡ß€ ˆ&€ ˆ7€0ˆ€0ˆ’€”‰¢€”Š~€”‹‚€”‹»€”¢‹Ò‚¢‹á‚¢‹ë‚]‹ø€ŒË€m€Ž>€€û€ì€‘¹€‘耑ý€’"€’3€’k€’|€’¶€’È€“€“€“h€“z€$“ë€$”€”(€”:€”s€”ˆ€8”Ä€8”Ö€•3€•G€•Ë€•ဖA€–W€–£€–¸€—€—,€—V€—j€—΀—䀘€˜0€˜j€˜€˜¦€¢¢˜»&ŠøÀ ˜Ñ€ÿÿÿüD>MTD>MXD?MpD@M¤D@M¨DAMÄDAMÈàˆDBMИÙ&‹Œ˜ò D˜ÿ HÀ¨™ €ÿÿÿüDVMðDVMôDWN ÀøDXN@DYNdDZNˆDZNŒàLD[N”D\N¨D\N¬àlD]N´™&Œp™- DÀˆ™:€ÿÿÿüDnNÐDnNÔÀ¤DoNìÀÜDpO$DqOHDrOlDsOŒàLDtO”àLDuO”DuO”à`DvO¨™B ™U DÀx™b€ÿÿÿüÀxD‹OÀÀ°D‹OøD‹PD‹PàÔD‹PàÔD‹PÀÔDPÀìDP4DPLDPPàDPXàDPXÀD’PXÀ8D’P€D’P˜D’Pœà\D’P¤à\D’P¤À\D•P¤ÀxD•PÀD•PØD•PÜàœD•PäàœD•PäÀœD˜PäÀ¼D˜QD˜QD˜Q ààD˜Q(ààD˜Q(ÀàDšQ(ÀDšQHDšQ`DšQdà$DšQlà$DšQlDœQlÀ0DŸQxÀTDŸQœDŸQ´DŸQ¸àxDŸQÀàxDŸQÀD¡QÀD¢QÜD¥QèD¦RD¨RD¨RàÔD©R™l ™ DÀ𙎀ÿÿÿüÀðD¿R8À D¿RTD¿RlD¿Rpà0D¿Rxà0D¿RxÀ0DÂRxÀHDÂRDÂR¨DÂR¬àlDÂR´àlDÂR´ÀlDÅR´À”DÅRÜDÅRôDÅRøà¸DÅSà¸DÅSÀ¸DÈSÀÔDÈSDÈS4DÈS8àøDÈS@àøDÈS@ÀøDËS@ÀDËS`DËSxDËS|à<DËS„à<DËS„À<DÍS„À\DÍS¤DÍS¼DÍSÀà€DÍSÈà€DÍSÈDÐSÈDÑSäDÓSðDÔSøDÕTDÖT DØT,DØT0àðDÙT8™˜TH™§‹8™®‹C™µdTH™ÞdTH™í€š€š1€šS€š~€š¡€šÇ€šè€› €›.€›X€›Š€›½€›×€›ò€œ€œ'& ‹8œH&:‹CœiÂÓœ~œ ‚Pœ­ÂUÛœÆÂ&£œâœÿÂ&wÂ=Â^ ág´’Â΢’ü°ÂªUºÂÂÂÌ-Í“,ÙÂèÂòÂ]ÿ ž DÀÀD?TXÀ,D?TtD?TŒD?TàPD?T˜àPD?T˜DBT˜DCT¨DDT¸DETÈDFTØDGTèDHTøDIUDJUDKU(DLU8DMUHDNUXDPUhž"€ÿÿÿüDQU°DSU¸DSU¼à|DTUÄž. À”D\UÜD]UèD^UôD_VD`V DaVDbV$DcV0DdV<DeVHDfVTDgV`DhVlà0DiVxžDV€žP‹€žW‹‹ž^dV€ž‡dV€ž“€ž½€ž×€žù€Ÿ$€ŸG€Ÿm€ŸŽ€Ÿ°€ŸÔ€Ÿþ€ 0€ c€ }€ ˜€ ¹€ ÍÂÓ â ö¡ Â7s¡9¡H ‚P¡hÂUۡ¡¡ºÂ&w¡×¡øÂ¢ á¢"´¢MÂ΢]Â’ü¢kªU¢u¢}ÂÌ-¢ˆÂ“,¢”¢£Â¢­Â]¢º& ‹€¢Û&7‹‹¢ü £ D£% H£: L£E PÀ£T€ÿÿÿø£`€ÿÿÿô£h€ÿÿÿð£r€ÿÿÿì£|€ÿÿÿ裆€ÿÿÿäÀDKVœÀTDKVÔDKVìDKVðàxDKVøàxDKVøÀxDOVøÀ°DOW0DOWHDOWLàÔDOWTàÔDOWTÀÔDRWTÀøDRWxDRWDRW”àDRWœàDRWœDTWœDUW¨DVWÄDXWÐÀhD[W裓€ÿÿÿàÀ D[X D[X8D[X<àÄD[XDàÄD[XDD`XDÀÜ£ €ÿÿÿàDaX\DaX„DaX¨àLDaXÌDbXÌÀh£³€ÿÿÿàDcXèDcYDcY4àØDcYXDdYXDeYdÀ𣽀ÿÿÿàDfYpDfY˜DfY¼à`DfYàDgYàDhYìÀx£Ç€ÿÿÿàDiYøDiZ DiZDàèDiZhDkZhDlZpDmZ|DmZ€DnZœ£Ñ€ÿÿÿà£Þ€ÿÿÿÜDpZè£ë€ÿÿÿØDv[0Dy[dDz[pD{[€D}[ŒD}[àD~[˜£÷[¨¤‹È¤Œ(¤Œ,¤p\¤(‹Ó¤/Œ0¤9d[¨¤bd[¨¤l€¤–€¤°€¤Ò€¤ý€¥ €¥F€¥g€¥‰€¥­€¥×€¦ €¦<€¦V€¦q€¦’€¦¦ÂÓ¦»Â¦Ï¦äÂ7s§Â§! ‚P§AÂUÛ§Z§v§“Â&w§°Â§Ñ§ò á§û´¨&ÂΨ6Â’ü¨DªU¨N¨VÂÌ-¨a“,¨m¨|¨†Â]¨“& ‹È¨´&5‹Ó¨Õ ¨ê D¨÷ H© LÀ©€ÿÿÿü©€ÿÿÿø© €ÿÿÿôÀDO[ÀÀPDO[øDO\DO\àtDO\àtDO\ÀtDS\ÀŒDS\4DS\LDS\Pà°DS\Xà°DS\XÀ°DW\XÀØDW\€DW\˜DW\œàüDW\¤àüDW\¤ÀüDZ\¤ÀDZ\ÄDZ\ÜDZ\àà@DZ\èà@DZ\èÀ@D[\èÀ`D[]D[] D[]$à„D[],à„D[],À„D\],À¤D\]LD\]dD\]hàÈD\]pàÈD\]pÀÈD_]pÀ8D_]àD_]øD_]üà\D_^à\D_^À\Db^À|Db_$Db_<Db_@à Db_Hà Db_HDg_HÀ¸Dh_`ÀÐDh_xDh_Dh_”àôDh_œàôDh_œDn_œÀDs_¸À8Du_àÀTDu_üDu`Du`àxDu` àxDu` Dv` Dv`$ÀœDw`DDx`pDy` à(Dz`ÐDz`Ðà<D{`äD~`äDa D€a8D‚adDƒa€D…a”D…a˜àøD†a ©- ©B D©O H©Z L©h PÀ$©t€ÿÿÿü©~€ÿÿÿøDœaÌÀ(DŸaÐÀ`DŸbDŸb DŸb$à„DŸb,à„DŸb,À„D£b,ÀœD£bDD£b\D£b`àÀD£bhàÀD£bhÀÀD§bhÀèD§bD§b¨D§b¬à D§b´à D§b´À Dªb´À,DªbÔDªbìDªbðàPDªbøàPDªbøÀPD«bøÀpD«cD«c0D«c4à”D«c<à”D«c<À”D¬c<À´D¬c\D¬ctD¬cxàØD¬c€àØD¬c€ÀØD¯c€ÀHD¯cðD¯dD¯d àlD¯dàlD¯dD±dÀ„Dµd,ÀèD¶dàðD·d˜ÀøD¸d D¹dÈDºdôà xD»e à xD¼e À €DÀe(À œDÁeDÀ ¸DÂe`À ÐDÂexDÂeDÂe”à ôDÂeœà ôDÂeœà ôDÃeœÀ üDÉe¤À `DÊfà hDËfÀ pDÌfDÍf@DÎflà ðDÏf˜à ðDÐf˜à ðDÑf˜DÓf˜DÓfœà üDÔf¤©‹ ©¤ D©± HÀ ©É€ÿÿÿü©Ó€ÿÿÿøÀ DæfÄÀ TDæfüDægDægà xDæg à xDæg À xDêg À Dêg8DêgPDêgTà ´Dêg\à ´Dêg\À ´Díg\À ÜDíg„DígœDíg à Díg¨à Díg¨À Dðg¨À DðgÈDðgàDðgäà DDðgìà DDðgìÀ DDñgìÀ dDñh Dñh$Dñh(à ˆDñh0à ˆDñh0À ˆDòh0À ¨DòhPDòhhDòhlà ÌDòhtà ÌDòhtDôhtDõh„À øDöh À Döh¼DöhÔDöhØà 8Döhàà 8DöhàD÷hàD÷häDøiDúi0Dúi4à ”Dûi<©Û ©ò Dª HÀ ´ª€ÿÿÿüÀ ´D i\À ÐD ixD iD i”à ôD iœà ôD iœDiœÀDi¬ÀDiÄDiÜDiàà@Dièà@DièÀ@DièÀXDjDjDjà|Dj$à|Dj$Dj$ÀDj8À¬DjTDjlDjpàÐDjxàÐDjxDjxª%€ÿÿÿøDj´DjÄDjÈà(DjЪ1&Œ(ªB&Œ,ªS&Œ0ªl ª… Dª” Hª¡ LÀLª­€ÿÿÿüª¼€ÿÿÿøD0jôªÆ€ÿÿÿôªÓ€ÿÿÿðªÛ€ÿÿÿìÀPD7jøÀlD7kD7k,D7k0àD7k8àD7k8D:k8À D;kHÀ¸D;k`D;kxD;k|àÜD;k„àÜD;k„ÀÜD>k„ÀôD>kœD>k´D>k¸àD>kÀàD>kÀÀDAkÀÀ0DAkØDAkðDAkôàTDAküàTDAküDEküDFlDIl0DIl4À¤DKlLDLl¸DMlÀªæ€ÿÿÿèDNmlàÌDOmtDOmtDTmˆÀøDUm DVmÐDWmÜÀ`DXnDYnDYnàxDZn àxD[n À€D\n(D]n8D^nDÀ´D_n\D`nhD`nlàÌDantDbntÀøDcn Ddn¬Den¸Den¼àDfnÄDgnÄà(DhnÐDinÐDqnÜDroTDsoÌDupDDupHà¨DvpPªò& |« D« HÀÈ«€ÿÿÿü«'€ÿÿÿø«/€ÿÿÿô«>€ÿÿÿðD‚ppÀDƒp¬D„pÜÀPD†pøD‡qD‡qàtDˆqD‰qDŠq8D‹qHDŒqlÀàDŽqˆDq Dq¨Dq¬à D‘q´D’q´D’qÄÀ8D“qàD”qìàPD•qøD•qø«I€ÿÿÿìD–r D—rLD˜rhD™rtàØDšr€ÀàD›rˆÀDr¨DžrÀDžrÄà$DŸrÌà$D rÌD¡rÌD¡rÐà0D¢rØ«V «l DÀL«z€ÿÿÿü«‚€ÿÿÿø«€ÿÿÿôD´rôDµs D¸s D¸s$À”Dºs<D»s¨D¼s°«›€ÿÿÿðD½t\à¼D¾tdD¾tdD¿txÀèDÀtDÁt¸DÂtÄàLDÃtôÀTDÄtüDÅu DÆuDÇu0DÇu4DÈu<DÉulàÐDÊuxDÌuxDÎu„DÎuˆàèDÏu«§u «µŒ`«¼Œk«Ãdu «ìdu «ú€¬$€¬>€¬`€¬‹€¬®€¬Ô€¬õ€­€­;€­e€­—€­Ê€­ä€­ÿ€® €®4& Œ`®U&9Œk®vÂÓ®‹Â®šÂ ‚P®ºÂUÛ®ÓÂ&£®ï¯ Â&w¯)¯J¯k á¯t´¯ŸÂί¯Â’ü¯½ÂªU¯Ç¯ÏÂÌ-¯Ú“,¯æÂ¯õ¯ÿÂ]° ° D°, H°C LÀ °W€ÿÿÿüÀ DFuÀÀXDFuøDFvDFvà|DFvà|DFvÀ|DJvÀ”DJv4DJvLDJvPà¸DJvXà¸DJvXÀ¸DNvXÀàDNv€DNv˜DNvœàDNv¤àDNv¤ÀDQv¤À$DQvÄDQvÜDQvààHDQvèàHDQvèÀHDRvèÀhDRwDRw DRw$àŒDRw,àŒDRw,ÀŒDSw,À¬DSwLDSwdDSwhàÐDSwpàÐDSwpÀÐDVwpÀ0DVwÐDVwèDVwìàTDVwôàTDVwôDZwôD[xD_x$D`x0Dcx<DdxDfxœDfx àDgx¨°ax¸°lŒ¨°sŒ³°zdx¸°£dx¸°®€°Ø€°ò€±€±?€±b€±ˆ€±©€±Ë€±ï€²€²K€²~€²˜€²³€²Ô€²è& Œ¨³ &6Œ³³*ÂÓ³?³S³hÂ7s³–³¥Â ‚P³ÅÂUÛ³Þ³ú´Â&w´4´U´v á´Â´´ªÂδºÂ’ü´ÈªU´Ò´ÚÂÌ-´å“,´ñµµ Â]µ‚¢µ$ À DKxÄDLxÐDMxÜDNxèDQxôDRyDSyDUy$DVyDDWydàÌDXy„µ? µZ DÀäµe€ÿÿÿüµm€ÿÿÿøµu€ÿÿÿôDeyœDhyÄDhyÌDjyäDmzPDmzXDnzpDszÄDszÈÀ(DtzàDu{,Dv{„ÀüDw{´À0Dw{èDw|Dw|àTDw| àTDw| Dz| Dz|D{|,ààD||˜D||˜D}|¬D}|°àD~|¸µ} µŽ Dµ HÀ µ«€ÿÿÿüµ»€ÿÿÿøµÊ€ÿÿÿôÀ D”|ØÀXD”}D”}(D”},à|D”}4à|D”}4À|D˜}4À”D˜}LD˜}dD˜}hà¸D˜}pà¸D˜}pÀ¸D›}pÀÜD›}”D›}¬D›}°àD›}¸àD›}¸D}¸Dž}ÄÀD¡}еԀÿÿÿðÀPD¡~D¡~ D¡~$àtD¡~,àtD¡~,D¥~,D¨~8D¨~<À µã€ÿÿÿðD©~XD©~€D©~¨àD©~ÐD©~еö€ÿÿÿð¶€ÿÿÿì¶€ÿÿÿèD«D¬8D®xD°„¶#€ÿÿÿäD±ÌD³äD´ôD¶€D¶€àTD·€ ¶/ ¶H DÀpÀpDÇ€(ÀŒDÇ€DDÇ€\DÇ€`à°DÇ€hà°DÇ€hÀ°DÊ€hÀÈDÊ€€DÊ€˜DÊ€œàìDÊ€¤àìDÊ€¤DÍ€¤DÏ€°¶V€ÿÿÿüDЀøDÒDÒ à\DÓ¶b ¶u DÀxÀxDã0À”DãLDãdDãhà¸Dãpà¸DãpÀ¸DæpÀÐDæˆDæ Dæ¤àôDæ¬àôDæ¬Dé¬D븶€€ÿÿÿüDì‚Dî‚Dî‚à dDï‚¶Œ ¶¤ DÀ „À „D‚<À  D‚XD‚pD‚tà ÄD‚|à ÄD‚|D‚|D‚ÜD‚àD ‚ì¶³€ÿÿÿüD ƒ4D ƒ@D ƒDà ”D ƒL¶¿ ¶Ò D¶ß H¶ê LÀ ¸¶ÿ€ÿÿÿüÀ ¸D#ƒpÀ ðD#ƒ¨D#ƒÀD#ƒÄà D#ƒÌà D#ƒÌÀ D'ƒÌÀ ,D'ƒäD'ƒüD'„à PD'„à PD'„À PD*„À xD*„0D*„HD*„Là œD*„Tà œD*„TÀ œD-„TÀ ¼D-„tD-„ŒD-„à àD-„˜à àD-„˜À àD.„˜À D.„¸D.„ÐD.„Ôà $D.„Üà $D.„ÜÀ $D/„ÜÀ DD/„üD/…D/…à hD/… à hD/… À hD2… À ˜D2…PD2…hD2…là ¼D2…tà ¼D2…tÀ ¼D5…tÀ ,D5…äD5…üD5†à PD5†à PD5†D:†À ˆD;†@À ¤D;†\D;†tD;†xà ÈD;†€à ÈD;†€D>†€À äD?†œÀŒD?‡DD?‡\D?‡`à°D?‡hà°D?‡hDB‡hÀÌDC‡„ÀtDCˆ,DCˆDDCˆHà˜DCˆPà˜DCˆPÀ˜DFˆPÀDFˆÈDFˆàDFˆäà4DFˆìà4DFˆìDHˆìDI‰DL‰DN‰XDN‰\à¬DO‰d· ·! DÀÈÀÈD_‰€ÀäD_‰œD_‰´D_‰¸àD_‰ÀàD_‰ÀÀDb‰ÀÀ Db‰ØDb‰ðDb‰ôàDDb‰üàDDb‰üDe‰üDgŠ·,€ÿÿÿüDhŠPDjŠ`DjŠdà´DkŠl·8 ·L DÀÐÀÐD|ŠˆÀìD|ФD|мD|ŠÀàD|ŠÈàD|ŠÈDŠÈDŠä·Z€ÿÿÿüD‚‹,D„‹4D„‹8àˆD…‹@·f ·y DÀ¤À¤D•‹\ÀÀD•‹xD•‹D•‹”àäD•‹œàäD•‹œÀäD˜‹œÀ<D˜‹ôD˜Œ D˜Œà`D˜Œà`D˜ŒD›ŒDœŒ(DŒ8DžŒHD ŒX·‡€ÿÿÿüD¡Œ D£Œ¨D£Œ¬àüD¤Œ´·” ·¦ D·³ H·¾ LÀ ·Ô€ÿÿÿü·Þ€ÿÿÿø·æ€ÿÿÿô·î€ÿÿÿðÀ D¼ŒØÀXD¼D¼(D¼,à|D¼4à|D¼4À|DÀ4À”DÀLDÀdDÀhà¸DÀpà¸DÀpÀ¸DÃpÀàDØDðDôàDüàDüÀDƼÀ$DÆÜDÆôDÆøàHDÆŽàHDÆŽÀHDÇŽÀhDÇŽ DÇŽ8DÇŽ<àŒDÇŽDàŒDÇŽDÀŒDÊŽDÀ¼DÊŽtDÊŽŒDÊŽààDÊŽ˜ààDÊŽ˜ÀàDÍŽ˜ÀDÍŽÐDÍŽèDÍŽìà<DÍŽôà<DÍŽôDÐŽôDÑDÑ À„DÒ<À DÒXDÒpDÒtàÄDÒ|àÄDÒ|·ú€ÿÿÿìDܤDÝÐDÞÀŒDßDÀÄDß|Dß”DߘàèDß àèDß Dá Dá¤DâÀDä‘Då‘4Dç‘HDç‘LàœDè‘T¸‘`¸d‘`¸7d‘`¸=€¸g€¸€¸£€¸Î€¸ñ€¹€¹8€¹Z€¹~€¹¨€¹Ú€º €º'€ºB€ºc€ºwÂÓºŒÂº›Â ‚Pº»ÂUÛºÔÂ&£ºð» Â&w»*»K»l á»u´» Âλ°Â’ü»¾ÂªU»È»ÐÂÌ-»Û“,»ç»ö¼Â]¼ ¼! D¼- HÀ¼C€ÿÿÿüÀD;‘tÀ0D;‘D;‘¨D;‘¬àTD;‘´àTD;‘´D@‘´ÀdDA‘ÄÀ|DA‘ÜDA‘ôDA‘øà DA’à DA’À DB’À¸DB’DB’0DB’4àÜDB’<àÜDB’<ÀÜDE’<ÀôDE’TDE’lDE’pàDE’xàDE’xDH’xDI’€DJ’ˆDL’DL’”à<DM’œ¼R ¼a D¼m H¼} LÀX¼’€ÿÿÿüÀXDe’¸ÀtDe’ÔDe’ìDe’ðà˜De’øà˜De’øDj’øÀ¨Dk“ÀÀDk“ Dk“8Dk“<àäDk“DàäDk“DÀäDl“DÀüDl“\Dl“tDl“xà Dl“€à Dl“€À Do“€À8Do“˜Do“°Do“´à\Do“¼à\Do“¼Du“¼Dv“ÔDv“Øà€Dw“༡ ¼® D¼½ H¼Î L¼Þ PÀ À D‹”ÀØD‹”8D‹”PD‹”TàüD‹”\àüD‹”\ÀüD”\ÀD”tD”ŒD”à8D”˜à8D”˜À8D–”˜ÀhD–”ÈD–”àD–”äàŒD–”ìàŒD–”ìD¢”ìD¢”ðà˜D£”ø¼ô•½Œð½4½€½;Œû½BX½\d•½…d•½‘€½»€½Õ€½÷€¾"€¾E€¾k€¾Œ€¾®€¾Ò€¾ü€¿.€¿a€¿{€¿–€¿·€¿Ë& Œð¿ì&7ŒûÀ ÂÓÀ"ÂÀ1 ‚PÀQÂUÛÀjÂ&£À†ÂÀ£Â&wÀÀÂÀáÂÁ áÁ ´Á6ÂÎÁFÂ’üÁTªUÁ^ÂÁfÂÌ-Áq“,Á}ÂÁŒÂÁ–Â]Á£‚GÁ±&$4Áä&(XÂ&€¢ÂL À Âf€ÿÿÿüDE•DG•0DG•4DI•<DJ•XDM•`ÀDN•˜DN•œDO•´ÀàDP•èDQ– DR–HàhDS–pà|DT–„DU–„DW–ŒDW–àDX–˜Ân  D H  LÀ¸²€ÿÿÿüDm–ÀDn–ðDo—Dp—@Dr—`Dt—lDu—„Dw—Dx—¨Dz—¬D{—ÄD}—ìD€˜D˜HD‚˜xD„˜ D‡˜ÄDˆ˜üD‰™,D‹™TDŽ™xD™°D’™ÌD’™ÐàÐD“™Ø¾™èÂǬèÂάóÂÕd™èÂþd™èÀÃ1€ÃK€Ãm€Ø€û€Ãá€Ä€Ä$€ÄH€Är€Ĥ€Ä×€Äñ€Å €Å-€ÅAÂÓÅVÂÅjÂÅÂ7sÅ­ÂÅÁÂÅÖÂÆÂÆ ‚PÆ3ÂUÛÆLÂÆhÂÆ…Â&wÆ¢ÂÆÃÂÆä áÆí´ÇÂÎÇ(Â’üÇ6ªUÇ@ÂÇHÂÌ-ÇS“,Ç_ÂÇnÂÇxÂ]Ç…& ¬èǦ&4¬óÇÇ Çß DÀÇù&­(ÀDF™øÀ,DFšDFš,DFš0àPDFš8àPDFš8DHš8DIšDÀpDJšXÀŒDJštDJšŒDJšà°DJš˜à°DJš˜DKš˜DLš¬DMšÀDNšÔDPšèDPšìà DQšôÈ È8 DÈH HÀ,È_€ÿÿÿüÀ,De›ÀHDe›0De›HDe›LàlDe›TàlDe›TDh›TÀ|Di›dÀ”Di›|Di›”Di›˜à¸Di› à¸Di› À¸Dj› ÀÐDj›¸Dj›ÐDj›ÔàôDj›ÜàôDj›ÜÀôDk›ÜÀ Dk›ôDkœ Dkœà0Dkœà0DkœÀ0DlœÀHDlœ0DlœHDlœLàlDlœTàlDlœTDoœTDpœ`DqœpDrœ€DsœŒDuœ˜Duœœà¼Dvœ¤Èn È„ DÈ” HÀÜȪ€ÿÿÿüÀÜD‹œÄÀøD‹œàD‹œøD‹œüàD‹àD‹DŽD‘À4D“D”(D–0D—<D™DDšPDœXDdÀ„DŸlÀœDŸ„DŸœDŸ àÀDŸ¨àÀDŸ¨D ¨àÈD¡°D¡°D¢èD¢ìà D£ôȹ ÈÌ DÈÜ HÀ,Èô€ÿÿÿüÀ,D·žÀHD·ž0D·žHD·žLàlD·žTàlD·žTDºžTÀ|D»ždÀ”D»ž|D»ž”D»ž˜à¸D»ž à¸D»ž À¸D¼ž ÀD¼žèD¼ŸD¼Ÿà$D¼Ÿ à$D¼Ÿ DÀŸ DÁŸ$DŸ0DŸ4àTDß<É É DÉ( HÀtÉ>€ÿÿÿüÀtDÙŸ\ÀDÙŸxDÙŸDÙŸ”à´DÙŸœà´DÙŸœDÜŸœÀÄDÝŸ¬ÀÜDÝŸÄDÝŸÜDÝŸààDÝŸèàDÝŸèÀDÞŸèÀDÞ DÞ DÞ à<DÞ $à<DÞ $Dá $Dâ 0Dã <Dä HDå TDæ `Dç lDè tDè xà˜Dé €ÉM Éc DÉs HÀ¸Ɉ€ÿÿÿüÀ¸Dý  ÀÔDý ¼Dý ÔDý ØàøDý ààøDý àD àÀD ðÀ D¡D¡ D¡$àDD¡,àDD¡,ÀDD¡,À\D¡DD¡\D¡`à€D¡hà€D¡hD¡hD¡pD¡|D¡€à D ¡ˆÉ— ɰ DÉÀ HÀÀÉÙ€ÿÿÿüÀÀD¡¨ÀÜD¡ÄD¡ÜD¡ààD¡èàD¡èD!¡èÀD"¡øÀ(D"¢D"¢(D"¢,àLD"¢4àLD"¢4ÀLD#¢4ÀdD#¢LD#¢dD#¢hàˆD#¢pàˆD#¢pD&¢pD'¢|D(¢ˆD)¢”D*¢ D+¢¬ÀØD-¢ÀÀôD-¢ÜD-¢ôD-¢øà D-£à D-£D/£D/£à $D0£ Éè Ê DÊ HÀ DÊ'€ÿÿÿüÀ DDE£,À `DE£HDE£`DE£dà „DE£là „DE£lDH£lÀ ”DI£|À ¬DI£”DI£¬DI£°à ÐDI£¸à ÐDI£¸À ÐDJ£¸À èDJ£ÐDJ£èDJ£ìà DJ£ôà DJ£ôDM£ôDN¤DO¤ DP¤DQ¤$DR¤0DT¤<DT¤@à `DU¤HÊ6 ÊL DÊY HÀ €Ên€ÿÿÿüÀ €Dp¤hÀ ¸Dp¤ Dp¤¸Dp¤¼à ÜDp¤Äà ÜDp¤ÄÀ ÜDt¤ÄÀ ôDt¤ÜDt¤ôDt¤øà Dt¥à Dt¥À Dw¥À @Dw¥(Dw¥@Dw¥Dà dDw¥Là dDw¥LDz¥LÊx€ÿÿÿøÀ ¸D{¥ À ÔD{¥¼D{¥ÔD{¥Øà øD{¥àà øD{¥àÀ øD|¥àD|¥üà ,D|¦D~¦Ê„€ÿÿÿôÀ €D¦hÀ œD¦„D¦œD¦ à ÀD¦¨à ÀD¦¨À ÀD€¦¨D€¦Äà ôD€¦ÜD‚¦ÜD‚¦àà Dƒ¦èÊ Ê  DÊ­ HÀ ÊÅ€ÿÿÿüÀ D—§À XD—§@D—§XD—§\à |D—§dà |D—§dÀ |D›§dÀ ”D›§|D›§”D›§˜à ¸D›§ à ¸D›§ À ¸Dž§ À àDž§ÈDž§àDž§äàDž§ìàDž§ìÀD¡§ìÀ$D¡¨ D¡¨$D¡¨(àHD¡¨0àHD¡¨0ÀHD£¨0ÀhD£¨PD£¨hD£¨làŒD£¨tàŒD£¨tD¦¨tD¨¨„D¨¨ˆà¨D©¨ÊÏ Êê DÊ÷ HÀÈË €ÿÿÿüÀÈD¾¨°ÀD¾¨èD¾©D¾©à$D¾© à$D¾© À$D© À<D©$D©<D©@à`D©Hà`D©HÀ`DÅ©HÀˆDÅ©pDÅ©ˆDÅ©Œà¬DÅ©”à¬DÅ©”À¬DÈ©”ÀÌDÈ©´DÈ©ÌDÈ©ÐàðDÈ©ØàðDÈ©ØÀðDÊ©ØÀDÊ©øDʪDʪà4Dʪà4DʪÀ4D̪ÀTD̪<D̪TD̪XàxD̪`àxD̪`DϪ`DѪŒDѪà°DÒª˜Ëª¨Ë ­PË'­Ë0­[Ë7dª¨Ë`dª¨Ëj€Ë”€Ë®€ËЀËû€Ì€ÌD€Ìe€̇€Ì«€ÌՀ̀Í:€ÍT€Ío€Í€ͤÂÓ͹ÂÍÍÂÍâÂ&£ÎÂÎ$ÂÎ9ÂÐÎgÂÎv ‚PΖÂUÛίÂÎËÂÎèÂ&wÏÂÏ&ÂÏG áÏP´Ï{ÂÎϋ’üϙªUÏ£ÂÏ«ÂÌ-϶“,ÏÂÂÏÑÂÏÛÂ]Ïè& ­PÐ &5­[Ð* Ð: DÐG HÀÐV€ÿÿÿüÐ`€ÿÿÿøÐm€ÿÿÿôÐ}€ÿÿÿðÀDVª¼ÀLDVªôDV« DV«àpDV«àpDV«ÀpDZ«ÀˆDZ«0DZ«HDZ«Là¬DZ«Tà¬DZ«TÀ¬D\«TÀÔD\«|D\«”D\«˜àøD\« àøD\« ÀøD_« ÀD_«ÀD_«ØD_«Üà<D_«äà<D_«äÀ<Da«äÀ\Da¬Da¬Da¬ à€Da¬(à€Da¬(Dc¬(Dd¬DÀ¬Dg¬TÀÐDg¬xDg¬Dg¬”àôDg¬œàôDg¬œDi¬œÀDl¬¨Ð…€ÿÿÿìБ€ÿÿÿèÀlDl­Dl­,Dl­0àDl­8àDl­8ÀDq­8Dq­Pà¼Dq­dD{­dD|­pD|­tD}­ŒD­øD€®D‚® D‚®$À”Dƒ®<D„®tD…®´D†®ÌàHD‡®ðD‡®ðD‰¯D‹¯D‹¯DŒ¯,D¯˜D¯¤D¯´D’¯ÀD’¯Äà$D“¯ÌО&x­ÐÁ¯ØÐÌ®LÐÚà°Ðã®>ÐêÕˆÐý® ÑlѮѮœÑ!`Ñ,®tÑ9¯ØÑGd¯ØÑpd¯ØÑ{€Ñ¥€Ñ¿€Ñá€Ò €Ò/€ÒU€Òv€Ò˜€Ò¼€Òæ€Ó€ÓK€Óe€Ó€€Ó¡€ÓµÂÓÓÊÂÓÞÂÓóÂ7sÔ!‚"—ÔK€,Ôú€,¢ÕE‚UžÕ^ÂÕzÂÕ—€ Õ¥€"Õ´€ ÕÁ€ €ÕÏ€"ÕÝ€ Õé€Ö€Ö6€Öj€Öy€Ö­€Ö»€€ÖÊ€ÖÙ€ €Öæ€Öó€€×€"× €"×€€×'€×5€€×D€ ×~€ ¢׌‚ע¢×»Â×ÏÂ×äÂØ‚#TØ<€ Ø®€Øä€Ù%€¢Ù4‚¢Ù_‚¢Ù‹Âٚ ‚PÙºÂÙÓÂ&wÙðÂÚÂÚ2 áÚ;´ÚfÂÎÚvÂ’üڄªUÚŽÂÚ–ÂÌ-ڡ“,Ú­ÂÚ¼ÂÚÆÂ]ÚÓ‚¢Úá‚¢Úí&6®Û& ®>Û/&®ÛC DÛO HÀÛ]€ÿÿÿüÛq€ÿÿÿøÛ…€ÿÿÿôÛ˜€ÿÿÿðÛ­€ÿÿÿìÛÁ€ÿÿÿèÛÕ€ÿÿÿäÛè€ÿÿÿàÛü€ÿÿÿÜÜ€ÿÿÿØÜ(€ÿÿÿÔÜ>€ÿÿÿÐÜU€ÿÿÿÌÜk€ÿÿÿÈÜ€ÿÿÿÄÜ–€ÿÿÿÀܪ€ÿÿÿ¼ܾ€ÿÿÿ¸ÜÕ€ÿÿÿ´Üì€ÿÿÿ°Üú€ÿÿÿ¬Ý€ÿÿÿ¨Ý€ÿÿÿ¤Ý&€ÿÿÿœÝ3€,ÿÿÿpÝD€ÿÿÿhÝU€ ÿÿÿ\Ýc€ ÿÿÿPÝq€ÿÿÿ<Ý‚€ ÿÿÿ0Ý’€ ÿÿÿ$Ý¡€ ÿÿÿݳ€4ÿÿþäÝ¿€ÿÿþàÝÉ€ÿÿþÜÝÑ€ÿÿþØÝÙ€ÿÿþÔÝæ€ÿÿþÌÝò€ÿÿþÈDȯìÀD˯ôDϯüDϰÀ@DаÀtDÒ°LÀ¬DÓ°„àÔDÔ°¬àÔDÕ°¬àÔDÖ°¬DÖ°¬D×°ÀDܰÈDݰÐDà°ØDã°àDã°äÀ$Dä°üÀXDæ±0Þ€ÿÿþÄà´D籌à´D豌D豌Dé± D뱨Dî±°Dî±´ÀôDï±ÌÀ(Dñ²À`Dó²8Þ €ÿÿþÄà¼Dô²”à¼Dõ²”à¼Dö²”Dö²”D÷²¨Dù²°Dú²¸Dû²ÈDý²ÐDþ²ØDÿ²èD²ðD²øD³D³D³D³(D ³0D ³8D ³HD ³PD³XD³hD³pD³xD³ˆD³D³˜D³¨D³°D³¸D³ÔD³àD³üD´ D´(D!´8D"´@D#´LD%´TD&´\D'´lD)´tD*´|D+´˜D,´¤D-´ÀD.´ÐD/´ìD1´üD2µD3µD5µD6µ D7µ0D9µ8D:µ@D;µPD=µXD>µ`D?µlD@µxDAµ„DCµŒDDµ”DEµ DGµ¨DHµ°DIµÀDKµÈDLµÐDMµàDOµèDPµðDQ¶DT¶DU¶DV¶,DW¶8DX¶TDY¶dDZ¶€D\¶D_¶˜D_¶œÀÜD`¶´ÀDb¶èÀHDg· Þ€ÿÿþÄà¨Dh·€à¨Di·€à¨Dj·€Dj·€Dk·”Dm·œDn·¤Do·°Dp·ÌDq·ØDr·ôDt¸Du¸ Dv¸Dx¸ Dy¸(Dz¸DD{¸PD|¸lD}¸|D~¸˜D€¸¨D¸°D‚¸ÌDƒ¸ØD„¸ôD…¹D†¹ D‡¹0Dˆ¹LD‰¹\DйxDŒ¹ˆD¹D޹œD¹¤D‘¹¬D’¹ÄD”¹ÌD•¹ÔD–¹àD—¹ìÞ$€ÿÿþÄD˜º$D™º8D›º@DœºHDºTDžº`Þ0€ÿÿþÀDŸº˜D º¬D¢º´D£º¼D¤ºÈD¥ºÔÞ<€ÿÿþ¼D¦» D§» Dª»(D­»0D­»4À tD®»LÀ ¨D°»€À àD²»¸à D³»èà D´»èà Dµ»èDµ»èD¶»üD¹¼À 4Dº¼ À dDº¼<Dº¼TDº¼Xà ˆDº¼`à ˆDº¼`D¾¼`D¾¼dÀ ¬ÞH€ÿÿþ¸D¿¼„D¿¼¬D¿¼èà TD¿½,D¿½,DÀ½@DÁ½TD½`DĽhÀ ˜DŽpÀ ÈDŽ DޏD޼à ìDŽÄà ìDŽÄDɽÄDɽÈÀÞ[€ÿÿþ¸DʽèDʾDʾLà¸DʾDʾD˾¤D̾¸D;ÄDϾÌÀüDоÔÀ,DпDпDп àPDп(àPDп(DÔ¿(DÔ¿,ÀtÞe€ÿÿþ¸DÕ¿LDÕ¿tDÕ¿°àDÕ¿ôDÕ¿ôDÖÀD×ÀDØÀ(DÛÀ0À`DÜÀ8ÀˆDÜÀ`DÜÀxDÜÀ|à¬DÜÀ„à¬DÜÀ„À¬Þo€ÿÿþ¸DÞÀ„DÞÀ¬DÞÀÔà$DÞÀüDßÀüDàÁDáÁDäÁ$ÀTDåÁ,ÀxDåÁPDåÁhDåÁlàœDåÁtàœDåÁtDæÁtDçÁ€DéÁ DêÁ°ÀôDëÁÌÞy€ÿÿþ¸À,DëÂDëÂDë àPDëÂ(àPDëÂ(DïÂ(DðÂDDñÂdDò„Dó¬DôÂÔDôÂØDõÂôDöÃ0D÷Ã<Þ†€ÿÿþ¸DýÄDþüDÿÃÌDÃØDÃàDÃèDÄ DÄDÄD Ä@D ÄHD ÄPD ÄtDÄ|DÄ„DĨDİÀàÞ’€ÿÿþ´DĸDÄàDÄøà8DÅDÅDÅPDÅdDÅxÀ¬Þœ€ÿÿþ´DÅ„DŬDÅÄàDÅÜDÅÜDÆDÆ0DÆDDÆPD"ÆXD#Æ`Þ¦€ÿÿþ´D$ƘÞ²€ÿÿþ°D%ÆÐÞ¾€ÿÿþ¬D&ÇÞË€ÿÿþ¨D'Ç@ÞØ€ÿÿþ¤D(ÇxÞå€ÿÿþ D)ǰÞò€ÿÿþœD*ÇèÞÿ€ÿÿþ˜D+È ß €ÿÿþ”D,ÈX߀ÿÿþD-Èß&€ÿÿþŒD.ÈÈß3€ÿÿþˆD/Éß@€ÿÿþ„D0É8D1ÉDD4ÉLD5ÉTD6É`D7ÉlD:ÉxD:É|À¼D;É”ÀðD=ÉÈÀ(D?Êà\D@Ê4à\DAÊ4à\DBÊ4DBÊ4DCÊHDEÊPDFÊXDGÊdDHÊpDKÊ|DKÊ€ÀÀDLʘÀôDNÊÌÀ,DPËà`DQË8à`DRË8à`DSË8DSË8DTËLDWËTDXË\DYËhDZËtD[Ë€D\ËŒD]˨D^Ë´D_ËÐDaËàDdËèDdËìÀ,DeÌÀ`DgÌ8À˜DiÌpàÌDj̤àÌDk̤àÌDl̤Dl̤Dm̸DpÌÀDqÌÈDrÌÔDsÌàDtÌüDuÍDvÍ$DwÍ4DxÍPDzÍ`D}ÍhD}ÍlÀ¬D~Í„ÀàD€Í¸ÀD‚ÍðàLDƒÎ$àLD„Î$àLD…Î$D…Î$D†Î8D‰Î@DŠÎHD‹ÎTDŒÎ`ÀœDÎtÀÈDΠDθDμàìDÎÄàìDÎÄD‘ÎÄD‘ÎÈD’ÎäD•ÏD•Ï À`D–Ï8À”D™ÏlÀÌD›Ï¤à DœÏØà DÏØà DžÏØDžÏØDŸÏìD¢ÏôD£ÏüD¤ÐD¥ÐD¨Ð D¨Ð$À dD©Ð<À ˜D¬ÐpÀ ÐD®Ð¨à!D¯ÐÜà!D°ÐÜà!D±ÐÜD±ÐÜD²ÐðDµÐøD¶ÑD·Ñ,D¸Ñ<D»ÑDD¾ÑLD¾ÑPÀ!D¿ÑhÀ!ÄDÂÑœÀ!üDÄÑÔà"(DÅÒà"(DÆÒà"(DÇÒDÇÒDÈÒDÊÒDÍÒ$DÍÒ(À"hDÎÒ@À"œDÐÒtÀ"ÔDÒÒ¬à#DÓÒØà#DÔÒØà#DÕÒØDÕÒØDÖÒìDÙÒôDÚÒüDÛÓDÜÓDÝÓ DÞÓ,DßÓ8DàÓDDáÓPDâÓ\DãÓpDæÓxDçÓ€DèÓŒDéÓ˜DêÓ¤DëÓ¸DîÓÀDîÓÄà#ôDïÓÌDïÓÌDðÕpDðÕtà%¤DñÕ|ßM&Ó¸ßf DÀ%ÀDûÕ˜DüÕÈDüÕÌDýÕÔDþÖDþÖDÿÖDÖ@DÖDDÖLDÖ|DÖ€DÖˆDÖ DÖ¤DÖ¬DÖÜDÖàDÖèD×D×D ×$D ×TD ×XD ×`D ×xD ×|DׄD׈à'¸D×ßr ß„ Dß‘ Hß Lß« PÀ'àß·€ÿÿÿüßÁ€ÿÿÿøÀ'àD׸À(D×ðDØDØ à(<DØà(<DØÀ(<D"ØÀ(TD"Ø,D"ØDD"ØHà(xD"ØPà(xD"ØPÀ(xD%ØPÀ( D%ØxD%ØD%Ø”à(ÄD%Øœà(ÄD%ØœÀ(ÄD'ØœÀ(àD'ظD'ØÐD'ØÔà)D'ØÜà)D'ØÜÀ)D)ØÜÀ)$D)ØüD)ÙD)Ùà)HD)Ù à)HD)Ù À)HD+Ù À)`D+Ù8D+ÙPD+ÙTà)„D+Ù\à)„D+Ù\À)„D-Ù\À)œD-ÙtD-ÙŒD-Ùà)ÀD-Ù˜à)ÀD-Ù˜D/Ù˜D1Ù¤ßÔ€ÿÿÿôD1Úà*4D2Ú ßñ à Dà HÀ*Tà&€ÿÿÿüÀ*TD?Ú,À*¨D?Ú€D?Ú˜D?Úœà*ÌD?Ú¤à*ÌD?Ú¤À*ÌDEÚ¤À*äDEÚ¼DEÚÔDEÚØà+DEÚàà+DEÚàÀ+DGÚàÀ+0DGÛDGÛ DGÛ$à+TDGÛ,à+TDGÛ,À+TDIÛ,À+tDIÛLDIÛdDIÛhà+˜DIÛpà+˜DIÛpÀ+˜DKÛpÀ+¸DKÛDKÛ¨DKÛ¬à+ÜDKÛ´à+ÜDKÛ´DMÛ´DNÛÜÀ,DOÛìÀ,4DOÜ DOÜ$DOÜ(à,XDOÜ0à,XDOÜ0DQÜ0DSÜPDSÜTà,„DTÜ\à0 àA DàN Hà\ LÀ,¨àj€ÿÿÿüàv€ÿÿÿøÀ,¨D}Ü€À,üD}ÜÔD}ÜìD}Üðà- D}Üøà- D}ÜøÀ- DƒÜøÀ-8DƒÝDƒÝ(DƒÝ,à-\DƒÝ4à-\DƒÝ4À-\D…Ý4À-„D…Ý\D…ÝtD…Ýxà-¨D…Ý€à-¨D…Ý€À-¨D‡Ý€À-ÈD‡Ý D‡Ý¸D‡Ý¼à-ìD‡ÝÄà-ìD‡ÝÄD‰ÝÄDŠÝäÀ.DŒÝôÀ.<DŒÞDŒÞ,DŒÞ0à.`DŒÞ8à.`DŒÞ8DŽÞ8À.€DÞXDÞhD‘Þ€D‘Þ„à.´D’ÞŒD“ÞŒD”Þ´À.ìD–ÞÄÀ/$D–ÞüD–ßD–ßà/HD–ß à/HD–ß À/HD™ß À/€D™ßXD™ßpD™ßtà/¤D™ß|à/¤D™ß|À/¤Dœß|À/¼Dœß”Dœß¬Dœß°à/àDœß¸à/àDœß¸Džß¸à€€ÿÿÿôDŸà,DŸà0D¡à8à€ÿÿÿðD£à˜D£àœà0ÌD¤à¤àº&ÞààÉ DÀ0èD²àÀÀ0ðD·àÈD·àÌDËàÔDËàØDÔààDÔàäD×àìD×àðDÜàøDÜàüDßáDßáDâáDâáDèáDèá Dëá(Dëá,Dîá4Dîá8Dñá@DñáDDôáLDôáPDøáXDøá\DûádDûáhDþápDþátDá|Dá€DáˆDáŒD á”D á˜D á D á¤Dá¬Dá°Dá¸Dá¼à1ìDáÄDáÄà3DãhàÕ àç Dà÷ HÀ3°À3°DãˆÀ4DãÜDãôDãøà4(Däà4(DäÀ4(D$äÀ4@D$äD$ä0D$ä4à4dD$ä<à4dD$ä<À4dD&ä<À4˜D&äpD&äˆD&äŒà4¼D&ä”à4¼D&ä”À4¼D2ä”À4àD2ä¸D2äÐD2äÔà5D2äÜà5D2äÜÀ5D:äÜÀ5 D:äøD:åD:åà5DD:åà5DD:åÀ5DD<åÀ5|D<åTD<ålD<åpà5 D<åxà5 D<åxÀ5 D>åxÀ5ÈD>å D>å¸D>å¼à5ìD>åÄà5ìD>åÄD@åÄD@åÈà5øDAåÐá á DÀ6á"€ÿÿÿüDKåìDNåôDOæDTæá/€ÿÿÿøÀ6´DVæŒá<€ÿÿÿôDXæìÀ74DYç à78DZçÀ7@D[çáJ€ÿÿÿðà7”D\çlà7”D]çlD_çlD_çpà7 D`çxág á{ DÀ7¼Djç”Dkç Dsç¨ᆀÿÿÿüá“€ÿÿÿøDsèXà8ˆDtè`á  áµ DÀ8¤D~è|áÀ€ÿÿÿüD~èÐà9DèØáÎ áã DÀ9D‰èôáî€ÿÿÿüD‰éHà9xDŠéPâ â  Dâ+ HÀ9œâ9€ÿÿÿüD•étD—é€âC€ÿÿÿøD—éØà:D˜éàâZ ât DÀ:$â€ÿÿÿüD¢éüD¤ê≀ÿÿÿøD¤ê\à:ŒD¥êd⦠â¼ DâÇ HÀ:°âÛ€ÿÿÿüD°êˆD²ê”âå€ÿÿÿøD²êìà;D³êôã ã Dã" Hã6 LÀ;HãJ€ÿÿÿüD¿ë DÁë,ãT€ÿÿÿøDÁëˆà;¸DÂëãq ㆠDã‘ HÀ;Ø㟀ÿÿÿüDÍë°DÏë¼ã©€ÿÿÿøDÏìà$Díüäå ä÷ Då HÀ>DD îD î8DîXDîtDî”Dî˜à>ÈDî å å- Då8 HåE LåR På_ Tåj Xåy \À>ø厀ÿÿÿüDîÐD!îÜ嘀ÿÿÿøD!ïPà?€D"ïXåµ åÌ DåÙ Håæ Låó Påþ Tæ  XÀ?°D.ïˆD0ï¤D1ïÜD3ïøD5ð0D5ð4à@dD6ð<æ æ9 DæD HæP LÀ@Œæ]€ÿÿÿüDBðdDDðpæg€ÿÿÿøDDðÐàADEðØæ„ æ  D欠HÀA$DPðüDQñDRñ@DSñ\DUñ„DUñˆàA¸DVñæ¹ æÓ DÀAÔæÞ€ÿÿÿüD`ñ¬Dbñ¸æè€ÿÿÿøDbò àB<Dcòç ÀBTDlò,DmòHDnò`Doò|Dqò”Dqò˜àBÈDrò ç ç; DçF HçR LÀBìç^€ÿÿÿüD~òÄD€òÐçh€ÿÿÿøD€ó,àC\Dó4ç… ç¡ Dç­ HÀC|DŒóTDópDŽóDó¬D‘óÌD‘óÐàDD’óØç¹ çÔ Dçß HÀD çî€ÿÿÿüDóøDŸôçø€ÿÿÿøDŸô\àDŒD ôdè è, DÀD¨Dªô€D«ôœD¬ô¸D­ôÔD¯ôðD¯ôôàE$D°ôüè; èV Dèa Hèn LÀEHè}€ÿÿÿüD»õ D½õ,臀ÿÿÿøD½õˆàE¸D¾õè¤ ÀEÐDÇõ¨DÉõÄDÊõäDÌöDÎö DÎö$àFTDÏö,è» èØ Dèã HÀFxèò€ÿÿÿüDÚöPDÜö\èü€ÿÿÿøDÜö´àFäDÝö¼é é2 DÀGDçöÜDèöøDé÷Dê÷0Dì÷LDì÷PàG€Dí÷XéA é_ Déj HÀG é‚€ÿÿÿüDø÷xDú÷„錀ÿÿÿøDú÷ÜàH Dû÷äé© éàDÀH(DøDøDø8DøTD øpD øtàH¤D ø|éÑ éò Déý HÀHÈê €ÿÿÿüDø Dø¬ê€ÿÿÿøDùàI4Dù ê3 êP DÀITD#ù,D$ùHD%ùdD&ù€D(ùœD(ù àIÐD)ù¨ê_ ê{ DÀIìꆀÿÿÿüD3ùÄD5ùÐê€ÿÿÿøD5ú$àJTD6ú,ê­ ÀJlD?úDD@ú`DAúxDBú”DDú¬DDú°àJàDEú¸êÅ êà DÀJüêë€ÿÿÿüDOúÔDQúàêõ€ÿÿÿøDQû4àKdDRû<ë ÀK|D[ûTD\ûpD]ûˆD^û¤D`û¼D`ûÀàKðDaûÈë) ëA DÀL ëL€ÿÿÿüDkûäDmûðëV€ÿÿÿøDmüDàLtDnüLës ÀLŒDwüdDxü€Dyü˜Dzü´D|üÌD|üÐàMD}üØë‡ 룠Dë® H뺠LëÅ PëÑ TëÞ \ÀM0ëì€ÿÿÿüDŠýDŒýëö€ÿÿÿøDŒýŒàM¼Dý”ì ì+ Dì6 HìA LÀMàìW€ÿÿÿüD™ý¸D›ýÄìa€ÿÿÿøD›þ àNPDœþ(ì~ ì– Dì¡ H쬠LÀNtìÁ€ÿÿÿüD¨þLDªþXìË€ÿÿÿøDªþ´àNäD«þ¼ìè ìÿ Dí  Hí LÀOí+€ÿÿÿüD·þàD¹þìí5€ÿÿÿøD¹ÿHàOxDºÿPíS ím Díx H탠LÀOœí€ÿÿÿüDÆÿtDÈÿ€홀ÿÿÿøDÈÿÜàP DÉÿäí¸ íÑ DíÜ HÀP,íé€ÿÿÿüDÔDÖíó€ÿÿÿøDÖhàP˜D×pî î' DÀP´DáŒDâ¨DãÄDäàDæüDæàQ0Dçî4 îJ DîU Hîa LÀQTîn€ÿÿÿüDó,Dõ8îx€ÿÿÿøDõ”àQÄDöœî— î® Dî¹ HÀQäD¼DØDøDD4D8àRhD@îÄ îá Dîì Hîø LÀRŒï$€ÿÿÿüDdDpï.€ÿÿÿøDÌàRüDÔïM ïf Dïr HÀSD ôD!D"0D#LD%lD%pàS D&xïž ﺠDïÅ HïÑ LïÝ PÀSÈïé€ÿÿÿüD1 D3¬ïó€ÿÿÿøD3 àT<D4ð ð) Dð5 HÀT`D?8D@TDAtDBDD°DD´àTäDE¼ðC ð^ Dðj HÀUDPàDQüDRDS8DUXDU\àUŒDVdð| ð— Dð¢ Hð® LÀU´ðº€ÿÿÿüDbŒDd˜ðÄ€ÿÿÿøDdøàV(Deðã ðú Dñ HÀVLDp$Dq@DrhDs„Du¬Du°àVàDv¸ñ ñ) Dñ5 HÀWDÜD‚øDƒD„4D†TD†XàWˆD‡`ñC& œñR Dñ] Hñj LÀW¬ÀW¬D“„ÀWÈD“ D“ÄàWøD“ÐàWøD“ÐÀWøD”ÐÀXD”ìD”àXDD”àXDD”D–ñv€ÿÿÿüàX€D—Xñƒ& ñ• Dñ  Hñ­ LÀX ñ¹€ÿÿÿüÀX D¥xÀX¼D¥”D¥¸àXìD¥ÄàXìD¥ÄÀXìD¦ÄÀYD¦àD¦ àY8D¦ àY8D¦ D© D© (Dª DD« hÀY¬D­ „ÀYÈD­  D­ ÄàYøD­ ÐàYøD­ ÐD¯ ÐÀZD² ìD² øD³ Dµ 8àZpD¶ HàZpD· HñÅ ñÝ DÀZˆD `ÀZ¨Dà €àZÈDÄ  ÀZÐDÅ ¨àZðDÆ ÈDÈ ÈDÊ ÜDË ðDÌ DÍ DÎ 4DÐ PDÑ \DÒ hDÓ tDÕ ŒDÕ à[ÀDÖ ˜ñè ò DÀ[ÜDá ´À[üDâ Ôà\Dã ôÀ\$Dä üà\DDå Dç Dç à\PDè (ò À\hDñ @Dñ Dà\tDò Lò!&(®LòK&(®tòt&®œò…&® ò• Xò  ¸ò¶¯Èò½ ˆòدÓòßd Xód Xó€ó=€óW€óy€ó¤€óÇ€óí€ô€ô0€ôT€ô~€ô°€ôã€ôý€õ€õ9€õMÂÓõbÂõq ‚Põ‘ÂUÛõªÂ&£õÆÂõãÂ&wöÂö!ÂöB áöK´övÂÎö†Â’üö”ªUöžÂö¦ÂÌ-ö±Â“,ö½ÂöÌÂöÖÂ]öãÂöð‚¢öù‚¢÷‚¢÷& ¯È÷8&<¯Ó÷Y ÷i D÷{ HÀÀDT hÀ(DT €DT ˜DT œàLDT ¤àLDT ¤ÀLDW ¤ÀhDW ÀDW ØDW ÜàŒDW äàŒDW äDY äDZ ðD_ øDa Da à¸Db ÷‰ ÀÐÀÐDq (ÀìDq DDq \Dq `àDq hàDq hDs hDt pDt tà$Du |÷š&°ø÷¼ DÀ@D ˜D‚ ¤àXD„ °÷Î&±(Àl÷ë€ÿÿÿüD— ÄDš ÐD› ÜDœ èDž ôD¤D§D§ ÀÌD¨$D©HDªlà4D«ŒD«ŒD¬ D¬¤ÀdD­¼D®àD¯àÌD°$D°$D²8D³DD´LDµTD·\D¸dDºlD»tD¾|DÀ„DÁŒDÔDÄœDŤDƬDÇ´DȼDÉÈàxDÊÐ÷ó ”øØøÜøØø*°ø1 øA°øH\øVløhdØø‘dØø›€øÅ€øß€ù€ù,€ùO€ùu€ù–€ù¸€ùÜ€ú€ú8€úk€ú…€ú €úÁ€úÕÂÓúêÂúþÂûÂ&£ûAÂûUÂûjÂÐû˜Âû§Â ‚PûÇÂUÛûàÂûüÂüÂ&wü6ÂüWÂüx áü´ü¬ÂÎü¼Â’üüʪUüÔÂüÜÂÌ-üç“,üóÂýÂý Â]ý& °ý:&6°ý[&°À ýp€ÿÿÿüDDäDDèÀ(DEDF4DF8àhDG@DG@DHTDHXàˆDI`ýx&°¤ý‘ DÀ¤ýž€ÿÿÿüDY|DY€ÀÀDZ˜ÀøD[ÐD\ôD]D^8àhD_@àhD`@D`@à|DaTý¦&±”ýº DýÇ HÀ˜ýÒ€ÿÿÿüDrpDrtDsŒÀìDtÄDuèDuìàDvôDwDw à<DxýÚ&²Xýð DÀXýý€ÿÿÿüDŠ0DŠ4D‹LÀ¨DŒ€D¤D¨àØDްDÄDÈàøDÐþ&³Àþ€ÿÿÿüDŸèÀ8D D¡D¢ D£(D¤0D¥8D¦@D§pD¨|D©„Dª´D«¼D¬ÄD­ÔD¯ÜD°äD±ìD²ôD³D´Dµ D¶(à\D¸4D¹4D¹8àhDº@þ" þ1 Dþ> HþQ LÀŒþa€ÿÿÿüþk€ÿÿÿøþz€ÿÿÿôÀŒDÓdÀ¨DÓ€DÓ˜DÓœàÌDÓ¤àÌDÓ¤ÀÌDÖ¤ÀäDÖ¼DÖÔDÖØàDÖààDÖàDÙàDÚøÀ4DÜ þ‡€ÿÿÿðÀ€DÜXDÜpDÜtà¤DÜ|à¤DÜ|Dá|Dâ”ÀÄDäœþ“€ÿÿÿðÀDäèDäDäà4Dä à4Dä Dæ ÀDDçÀ\Dç4DçLDçPà€DçXà€DçXÀ€DêXÀ DêxDêDê”àÄDêœàÄDêœÀÄDíœÀäDí¼DíÔDíØàDíààDíàÀDðàÀ,DðDðDð àPDð(àPDð(Dò(Dó4þŸ€ÿÿÿðÀ¨Dô€ÀÄDôœDô´Dô¸àèDôÀàèDôÀÀèDõÀDõØàDõìDöìÀ Døøþ«€ÿÿÿìþ·€ÿÿÿèÀŒDødDø|Dø€à°Døˆà°DøˆÀ°DûˆDû àÜDû´Dþ´DÿÄÀôDÌÀ DôDDDD4D8à hD@D @D HÀ ˜D pD €DŒD˜D°D´à äD¼D¼DÄÀ DìDüDDD,D0à `D8D8DLÀ |D!TÀ ˜D!pD!ˆD!Œà ¼D!”à ¼D!”D"”D# D%¨à ØD&°D&°D(èD)D+D,D-(D.4D1@D2XD5dD7pD7tà ¤D8|þÄ þÔ DÀ Àþá€ÿÿÿüÀ ÀDL˜À øDLÐDLèDLìà DLôà DLôÀ DPôÀ 4DP DP$DP(à XDP0à XDP0À XDS0À €DSXDSpDStà ¤DS|à ¤DS|À ¤DV|À ÀDV˜DV°DV´à äDV¼à äDV¼De¼DfôDqDrDt0D}<D€HÀ xDƒPD†\D‡pD‰xDŠ„DŒŒD˜DެD´D‘ÀD“Èà øD”ÐD”ÐD— D™Dš(D›8DžDD `D¤lD¤pà D¥xþë þû Dÿ HÀÄÿ€ÿÿÿüÀÄD¹œÀüD¹ÔD¹ìD¹ðà D¹øà D¹øÀ D½øÀ8D½D½(D½,à\D½4à\D½4À\DÀ4À„DÀ\DÀtDÀxà¨DÀ€à¨DÀ€À¨DÀÀÈDàDøDüàìDÃÄàìDÃÄÀìDÅÄÀ DÅäDÅüDÅ à0DÅ à0DÅ DÇ DÈ $DË 4DÌ hDÌ lDÎ tÀ¸DÏ DÐ œàÐDÑ ¨DÒ ¨DÓ ÄDÕ ÐÀDÖ ìD×!DÙ! DÚ!àLDÛ!$DÜ!$DÝ!,Dß!4Dß!8àhDà!@ÿ( ÿ> DÀ„ÿK€ÿÿÿüDñ!\Dñ!`Dò!xDó!°Dó!ÐDõ!ìDõ!ðà Dö!øÿS ÿl DÀ<D"ÿ|€ÿÿÿüÀ°D"ˆD"Œà¼D"”D"”ÿˆ€ÿÿÿøÀ0D#D# à<D#D#ÿ”€ÿÿÿôÀ°D#ˆD#Œà¼D#”D#”ÀÔD#¬D#°ààD#¸D#¸ÀD #ÜD #ààD #èÀD #èD #ìàD #ôàD #ôÿ  ÿ¹ DÀ8D$D$,D$0D$8D$TD$XD$`D$|D$€D$ˆD $¤D $¨D"$°D"$´àäD#$¼ÿÄ ÿÙ DÀÿä€ÿÿÿüD-$Øÿò€ÿÿÿøD.$ä€ÿÿÿô €ÿÿÿä€ÿÿÿÔD5$ðD7%À\D8%4D9%DD;%pD<%|5€ÿÿÿÐA€ÿÿÿÌÀØD=%°D>%ÄàøD?%ÐD@%ØDB&DC&àDDD&DE&$DG&Pà„DH&\M b DÀœm€ÿÿÿüD_&t{€ÿÿÿøD`&€Š€ÿÿÿèDc&ŒDf&˜Dl&¤Dm&ÜDp&èDq&ðDt&øDu'Dx' Dy'<D{'HD}'tÀ´€ÿÿÿØD€'ŒD'œDƒ'ÈÀD„'àD…'ôà(D†(D‡(D‰(4DŠ(@àtD‹(LDŒ(TDŽ(€D(ŒàÀD‘(˜´ Ê DÀØÙ€ÿÿÿüDŸ(°DŸ(´ÀôD¡(ÌÀ(D¢)À0D¤)D¥)4D§)<àlD¨)DD¨)Dà¤D©)|à¤Dª)|Dª)|à¸D«)ã ÷ D HÀÔD¹)¬ÀÜD»)´D¼)ÈD½)ÔD¿)ÜDÀ)ðDÁ)üDÃ*DÄ*DÅ*$DÇ*,ÀpDÈ*Hà„DÉ*\ÀŒDÊ*dDË*”àÈDÌ* DÍ* DÏ*¨DÐ*¼DÑ*ÈDÓ*ÐDÔ*äDÕ*ðD×*øDØ+ DÙ+DÛ+ àPDÜ+(DÜ+(à˜DÝ+p % D0 HÀ´Dë+ŒDì+˜ÀÈDî+ Dï+´Dð+ÀDò+ÈDó+ÜDô+èDö+ðD÷,Dø,Dú,À\Dû,4àpDü,HÀxDý,PDþ,€à´Dÿ,ŒD,ŒD,”D,¨D,´D,¼D,ÐD,ÜD ,äD ,øD -D- à<D-D-D-\àD-h? X DÀ¨g€ÿÿÿüD-€D-„ÀÄD#-œD$.@D%.\D).àèD*.ÀD*.ÀàüD+.Ôq ‰ DÀž€ÿÿÿü¨€ÿÿÿøD9.ìD9.ðÀ0D:/ÀdD</<À D@/xàôDA/ÌÀüDB/ÔDC/àDD/ìDF/ôDH0(à €DI0XDK0Xà ¬DL0„à ¬DM0„DM0„à ÀDN0˜µ0 Á°ˆÈ°“Ïd0 ød0 €.€H€j€•€¸€Þ€ÿ€!€E€o€¡€Ô€î€ €*€>ÂÓSÂgÂ|Â7sªÂ¹Â ‚PÙÂUÛòÂÂ+Â&wHÂiŠ á“´¾ÂÎÎÂ’üܪUæÂîÂÌ-ù“,ÂÂÂ]+Â9& °ˆZ&7°“{ À DF0¬DG0¸DH0ÄDI0ÐDL0ÜDM0ìDN0üàlDO1 ” ­ DÀ„¸€ÿÿÿüD[1$D^1LD^1TD`1lDc1ØDc1àDd1øà¬De2LÀ Ñ Dà HÀÈî€ÿÿÿüþ€ÿÿÿø€ÿÿÿôÀÈD{2hÀD{2 D{2¸D{2¼à$D{2Äà$D{2ÄÀ$D2ÄÀ<D2ÜD2ôD2øà`D3à`D3À`D‚3À„D‚3$D‚3<D‚3@à¨D‚3Hà¨D‚3HD„3HD…3PÀ¼Dˆ3\€ÿÿÿðÀôDˆ3”Dˆ3¬Dˆ3°àDˆ3¸àDˆ3¸DŒ3¸D3ÄD3ÈÀD$€ÿÿÿðD3äD4 D44à¼D4\D4\7€ÿÿÿðF€ÿÿÿìU€ÿÿÿèD“4 D”4ÄD–4Ðd€ÿÿÿäD—5D™50Dš5@Dœ5LDœ5Pà¸D5Xp ƒ DÀÔÀÔD­5tÀðD­5D­5¨D­5¬àD­5´àD­5´ÀD°5´À,D°5ÌD°5äD°5èàPD°5ðàPD°5ðD³5ðDµ5üŽ€ÿÿÿüD¶6DD¸6TD¸6XàÀD¹6`š ® DÀÜÀÜDÊ6|ÀøDÊ6˜DÊ6°DÊ6´àDÊ6¼àDÊ6¼ÀDÍ6¼À4DÍ6ÔDÍ6ìDÍ6ðàXDÍ6øàXDÍ6øDÐ6øDÒ7º€ÿÿÿüDÓ7LDÕ7\DÕ7`àÈDÖ7hÆ Û DÀøÀøDç7˜ÀDç7´Dç7ÌDç7Ðà8Dç7Øà8Dç7ØÀ8Dê7ØÀ`Dê8Dê8Dê8à„Dê8$à„Dê8$Dí8$Dï80é€ÿÿÿüDð8xDò8œDò8 àDó8¨õ  DÀ$À$D8ÄÀ@D8àD8øD8üàdD9àdD9ÀdD9À|D9D94D98à D9@à D9@D 9@D 9L€ÿÿÿüD 9”D9¤D9¨à D9°% 8 DE HP LÀ 4e€ÿÿÿüÀ 4D&9ÔÀ lD&: D&:$D&:(à D&:0à D&:0À D*:0À ¨D*:HD*:`D*:dà ÌD*:là ÌD*:lÀ ÌD-:lÀ ôD-:”D-:¬D-:°à D-:¸à D-:¸À D0:¸À 8D0:ØD0:ðD0:ôà \D0:üà \D0:üÀ \D2:üÀ |D2;D2;4D2;8à  D2;@à  D2;@À  D4;@À ÀD4;`D4;xD4;|à äD4;„à äD4;„À äD7;„À D7;´D7;ÌD7;Ðà 8D7;Øà 8D7;ØÀ 8D:;ØÀ TD:;ôD:< D:<à xD:<à xD:<À xD<<À °D<à hDK>o>}°Ø„°ã‹d>´d>€ì€ € (€ S€ v€ œ€ ½€ ߀ € -€ _€ ’€ ¬€ Ç€ è€ üÂÓ Â % :Â7s h w ‚P —ÂUÛ °Â Ì éÂ&w  ' H á Q´ |ÂÎ ŒÂ’ü šÂªU ¤Â ¬ÂÌ- ·Â“, àҠÜÂ] é ù& °Ø &9°ã ; À DF>$DG>0DH><DI>HDL>TDM>dDN>tàlDO>„ V  q DÀ„ |€ÿÿÿüD\>œD_>ÄD_>ÌDa>äDd?PDd?XDe?pà¬Df?Ä „  — D ¦ HÀÈ ´€ÿÿÿü ¾€ÿÿÿø ΀ÿÿÿôÀÈD|?àÀD|@D|@0D|@4à$D|@<à$D|@<À$D€@<À<D€@TD€@lD€@pà`D€@xà`D€@xÀ`Dƒ@xÀ„Dƒ@œDƒ@´Dƒ@¸à¨Dƒ@Àà¨Dƒ@ÀD…@ÀD†@ÌÀÀD‰@Ø Ü€ÿÿÿðÀøD‰AD‰A(D‰A,àD‰A4àD‰A4DŽA4DA@DADÀH ë€ÿÿÿðDA`DAˆDA°àÀDAØDAØ þ€ÿÿÿð €ÿÿÿì€ÿÿÿèD“BD•B@D—BL+€ÿÿÿäD˜B”DšB¬D›B¼DBÈDBÌà¼DžBÔ7 M DÀìÀìD®CÀD®C D®C8D®C<à,D®CDà,D®CDÀ,D±CDÀXD±CpD±CˆD±CŒà|D±C”à|D±C”D´C”D¶C Z€ÿÿÿüD·CèD¹D D¹DàDºDf | DÀÀDÊD4À8DÊDPDÊDhDÊDlà\DÊDtà\DÊDtÀ\DÍDtÀtDÍDŒDÍD¤DÍD¨à˜DÍD°à˜DÍD°DÐD°DÒD¼ˆ€ÿÿÿüDÓEDÕEDÕEàDÖE ” ¯ DÀ$À$DæE<À@DæEXDæEpDæEtàdDæE|àdDæE|ÀdDéE|À|DéE”DéE¬DéE°à DéE¸à DéE¸DìE¸DîEĽ€ÿÿÿüDïF DñFDñF àDòF(É Þ DÀ,À,DFDÀHDF`DFxDF|àlDF„àlDF„ÀlDF„À„DFœDF´DF¸à¨DFÀà¨DFÀDFÀD FÌé€ÿÿÿüD GD G$D G(à DG0õ   D H" LÀ <7€ÿÿÿüÀ <D$GTÀ tD$GŒD$G¤D$G¨à ˜D$G°à ˜D$G°À ˜D(G°À °D(GÈD(GàD(Gäà ÔD(Gìà ÔD(GìÀ ÔD+GìÀ üD+HD+H,D+H0à D+H8à D+H8À D.H8À @D.HXD.HpD.Htà dD.H|à dD.H|À dD0H|À „D0HœD0H´D0H¸à ¨D0HÀà ¨D0HÀÀ ¨D2HÀÀ ÈD2HàD2HøD2Hüà ìD2Ià ìD2IÀ ìD5IÀ D5I4D5ILD5IPà @D5IXà @D5IXÀ @D8IXÀ \D8ItD8IŒD8Ià €D8I˜à €D8I˜À €D:I˜À ¸D:IÐD:IèD:Iìà ÜD:Iôà ÜD:IôÀ ÜD=IôÀ D=J$D=J<D=J@à 0D=JHà 0D=JHÀ 0D@JHÀ ¨D@JÀD@JØD@JÜà ÌD@Jäà ÌD@JäDBJäDCKDFKDDGK€DGK„à tDHKŒAK˜I±0P±;WSDldK˜•dK˜€Ç€á€€.€Q€w€˜€º€Þ€€:€m€‡€¢€À×ÂÓìÂÂÂ7sCÂWÂlš© ‚PÉÂUÛâÂþÂÂ&w8ÂYÂz áƒÂ´®Âξ’ü̪UÖÂÞÂÌ-é“,õÂÂÂ]& ±0<&3±;] À s€ÿÿÿüDSK¤À4DTKÌDUKÔàDDVKÜDWKÜDWKààPDXKè š D¥ HÀp´€ÿÿÿüDoLÀŒDpL$DrL4DtLHàÀDvLXÀÈDxL`¿€ÿÿÿøÀ0D{LÈD|LàD|LäàTD}LìÀTD~LìD~Mà„D~MD€MDƒM0D…M@ÀÌDˆMdD‹M|DŽMDM DM¬à$D’M¼à$D“M¼D”M¼D”MÀà0D•MÈË â Dý HÀPD§MèD¨Nà|D©N ! D/ HÀ˜A€ÿÿÿüM€ÿÿÿøD·N0D¹N<À¼DºNTD»N`D¼NlD½NxàèD¾N€D¿NˆDÀN”DÁNœDÂN¨DÃN°DÄNàDÅNìà\DÆNôZ r DÀt€ÿÿÿüDÔO ÀDÖO(D×OPDÙOXDÚOdàÔDÛOlDÜOlDÞOxàìDàO„ ¤ DÀDîOœDïO¸DðOÀà4DòO̹ Õ Dä HÀPò€ÿÿÿü€ÿÿÿø €ÿÿÿôDOèÀXDOðDOüDPDP DP(€ÿÿÿð)€ÿÿÿìDPhDPpDP|D PˆD PŒD!P¨8€ÿÿÿèG€ÿÿÿäD"PèD$PðD%PüD&QD&Q D'Q(V€ÿÿÿàe€ÿÿÿÜD(QhD*QpD+Q„D,Q˜D-Q¬D.QÀD0QÈD2QÐD4QØD6QààPD7QèD7Qèà˜D8R0t ‡ D• HÀ´DFRLDGRxDHRˆDIR´DJRÄDKRðDLSDMS,à¤DNS<¢&¸Ü¾ DÀ¼DZSTÀÄD\S\D]SxD^SˆD`SDaS¬DbS¼DdSÄDeSàDfSðDhSøDjTDkTDlT DnT(DoT8DqT@DrTPDtTXàÈDuT`DuT`à DvT¨Í é DÀ (ø€ÿÿÿü€ÿÿÿø€ÿÿÿô!€ÿÿÿð2€ÿÿÿìD…TÀÀ LD‡TäDˆTüDˆUà pD‰UDŠUDŒU$À ”DŽU,D€ÿÿÿèDULÀ àD’UxD“UD“U”à D”UœD•UœD–U¨D—U´D—U¸D˜UÔP€ÿÿÿä_€ÿÿÿàD™V(D›V0n€ÿÿÿÜDVPÀ äDŸV|D V”D V˜à D¡V D¢V D£V¬D¤V¸D¤V¼D¥VØ{€ÿÿÿØ‹€ÿÿÿÔD¦W,D©W4›€ÿÿÿÐDªWTÀ èD­W€D®W˜D®Wœà D¯W¤D°W¤D±W°D²W¼D²WÀD³Wܨ€ÿÿÿ̸€ÿÿÿÈD´X0D¶X8D·XhD¸XxDºX€À D¼X¨D½XÀD½XÄà 4D¾XÌD¿XÌDÀXØDÁXäDÂXüÈ€ÿÿÿÄÕ€ÿÿÿÀÀ ØDÅYpDÆYˆDÆYŒà üDÇY”À üDÈY”DÈY°à0DÈYÈDÉYÈDËYÐã€ÿÿÿ¼ð€ÿÿÿ¸À¬DÎZDDÏZ\DÏZ`àÐDÐZhÀÐDÑZhDÑZ„àDÑZœDÒZœDÔZ¤DÕZÀþ€ÿÿÿ´À`DØZøDÙ[DÙ[à„DÚ[DÛ[DÜ[(À¨DÞ[@Dß[hàÜDà[tDá[|Dâ[œDã[¼Dä[ÜDå[üDæ\Dç\,Dé\4à¤Dê\<Dê\<Dì\„Dì\ˆàøDí\ \ Œè"tD1–|@DO…^nm\ |±pƒ—|–‰€©˜”µ™ìÁ{ôÍs(äp,ûl¸›è"x2²ô<oPWžˆd±{k“œx؉<šœ˜«œD¹ˆœÇƒÙŠÌë`8ýnÌ]ì!q3”HEd\ nd\ y€£€½€߀ €-€S€t€–€º€ä€€I€c€~€Ÿ€³ÂÓÈÂÜÂñÂ&£Â5ÂUÛNÂj‡›°ÂÐÞÂòÂÂ5Â#T_Ân ‚PŽÂ§Â&wÄÂå á´:ÂÎJÂ’üXªUbÂjÂÌ-u“,šÂ]§& ±pÈ&7±{é€ä Ì€ â€ä ú&±p! D! HÀD¯\´D±\Ð!'€ÿÿÿüD³]!3€ÿÿÿøD´]hD¶]˜!?€ÿÿÿôàDD·]ä!K&²¼!d D!o HÀ`D¿^ÀhDÁ^DÂ^ DÄ^4DÅ^TDÇ^\DÈ^tDÊ^ˆDË^¨DÍ^°DÏ^ÈDÑ^äDÓ_DÔ_DÖ_$DØ_<DÚ_XDÛ_xDÝ_€Dá_˜Dâ_ØDç_ààHDè_èDè_èàDé`0!~&µ!˜ D!§ HÀ¬!Ñ€ÿÿÿü!Û€ÿÿÿø!é€ÿÿÿô!ù€ÿÿÿì"€ÿÿÿä"&t±´",&²("?&²,"M&²0Dý`LD`lÀèD`ˆD `˜àD ` D ` ÀD `¼D `Ìà4D`ÔD`ÔÀPD`ðDaàhDaDaÀpDa"\€ÿÿÿàÀDa0"h€ÿÿÿÜÀÈDahDa€Da„àìDaŒàìDaŒDaŒDa˜DaœÀÀDa¸Dbà´DbTDbTàÀDb`Db`DbtDb„D bŒ"w€ÿÿÿÜÀ D!b¬"ƒ€ÿÿÿØÀDD!bäD!büD!càhD!càhD!cD#cD$cD$cÀ”À”D%c4D%c€à0D%cÐD&cÐà<D'cÜD'cÜD(cðD)dD,d"’€ÿÿÿØÀˆD-d("ž€ÿÿÿÔÀÀD-d`D-dxD-d|àäD-d„àäD-d„D/d„D0dD0d”ÀÀD1d°D1düà¬D1eLD2eLà¸D3eXD3eXD4elD5e|D7e„D8e´D9eÄÀ ,D;eÌ"­€ÿÿÿÔÀ `D;fD;fD;fà „D;f$à „D;f$D?f$À D@f0D@ftà D@f¸DAf¸DCfÈDDfäÀ `DIgDIg8à ÐDIgpDJgpDKgŒÀ DLg¨DLgàà xDLhDMhDNh4À °DPhP"¼€ÿÿÿÔ"É€ÿÿÿÐÀ $DPhÄDPhÜDPhàà HDPhèà HDPhèÀ HDRhèDRià |DRiDSiDTi,DWi4À °DXiP"Ö€ÿÿÿÔÀ èDXiˆDXi DXi¤à DXi¬à DXi¬DZi¬D[i¸À 0D]iÐD^iøà dD_jÀ lD`j D`jLà ìD`jŒÀ ìDbjŒDbjÌàlDbk ÀlDdk DdkLàìDdkŒÀìDfkŒDfkÌàlDfl Dhl Dil,Djl<DllDDnlLà´DolTDolTDplœDpl¤à Dql¬"ä&Áˆ# D# HÀ,#8€ÿÿÿü#D€ÿÿÿøD|lÌD|lÐÀHD~lèÀ´DmTD€m|DmˆÀDƒm D„mÜàHD…mèàPD†mðàPD‡mðD‡mðDˆnàtD‰n#R&Âì#h D#s HÀ#€ÿÿÿüD‘n0D“n<D”nHD•nTD–n`ÀØD—nxD˜nœàD™n¨Dšn°à$D›nÄ#&Ü#¦ D#± HÀ@#½€ÿÿÿüD£nàD¥nìD¦nøÀpD§oD¨o àŒD©o,Dªo4à¨D«oH#Ë&Ä #í DÀÀD²o`ÀøD³o˜D´o¬D¶oÀD·oÜD¹oðDºp D»pà„D¼p$à„D½p$#ø&ÄüÀ˜$€ÿÿÿüDÅp8DÅp<DÇpTDÈpÀà\DÉpü$ &ÅÔ$9 D$O HÀx$[€ÿÿÿü$j€ÿÿÿøDÒqDÔqDÔq DÖq8À D×qÀDØqÈà0DÙqÐDÚqäDÛqüDÝrDÞr8DàrPDártDãrŒDär¸DæräDçsà€Dès $r&Çø$ D$› H$§ LÀ $Àÿÿÿü$Ñ€(ÿÿÿÔDøs@DúslDûsˆDýsDþsœÀDÿs´À0DsÐDsèDsøDtDtàˆDt(Dt(à”Dt4àœDt<$÷&É%  D% H%$ L%3 PÀÀ%@€ÿÿÿü%T€ÿÿÿø%]€ÿÿÿô%g€ÿÿÿð%q€ÿÿÿì%z€ÿÿÿè%ƒ€ÿÿÿä%Œ€ÿÿÿà%•€ÿÿÿÜ%Ÿ€ÿÿÿØ%ª€ÿÿÿÔ%´€ÿÿÿÐ%¾€ÿÿÿÌ%È€ÿÿÿÈ%Ò€ÿÿÿÄ%Ý€ÿÿÿÀ%è€ÿÿÿ¼%ô€ÿÿÿ¸&€ÿÿÿ´& €ÿÿÿ¬&€ÿÿÿ¤&"€ÿÿÿ &*€ÿÿÿœD-t`D.tpD/t|D0tˆD1t”D1t˜ÀÀD2t¼D2uàÌD2ulD3ulD4utÀÜD5u|D5uØà”D5v4D6v4D7v<D8vDÀÈD9vhD:vpàØD;vxD=v€ÀD>v¤D?v¬àD@v´ÀDCv¼DDvÜDEvðDFwDGwTàDHw¤DOw¤DSxDWxdD[xÄD]y$D_yXÀDay Dby¨ÀDcy´Dcyøà¨DczHDdzHDez`Dhzl&6€ÿÿÿ˜DizØDjzì&C€ÿÿÿà¨Dk{HD€{H&Q€ÿÿÿ˜D{ŒD‚{¸D‚{Àà(Dƒ{ÈDƒ{ÈD„{ÜD„{äàLD…{ì&_&ÐÄ&r D&~ H&‹ L&˜ PÀp&¡€ÿÿÿü&ª€ÿÿÿø&´€ÿÿÿô&¾€ÿÿÿð&Ç€ÿÿÿì&Ѐÿÿÿè&Ù€ÿÿÿä&â€ÿÿÿà&ì€ÿÿÿÜ&÷€ÿÿÿØ'€ÿÿÿÔ' €ÿÿÿÐ'€ÿÿÿÌ'€ÿÿÿÈ'*€ÿÿÿÄ'5€ÿÿÿÀ'?€ÿÿÿ¼'J€ÿÿÿ¸'U€ÿÿÿ´'`€ÿÿÿ°'k€ÿÿÿ¬'w€ÿÿÿ¨'ƒ€ÿÿÿ¤'€ÿÿÿœ'š€ÿÿÿ˜'¢€ÿÿÿ”Dž|DŸ|D |$D¡|,D¢|8D£|DD¤|PD¤|TÀÔÀÔD¥|tD¥|°à LD¥|ìD¦|ìD§|ôÀ \D¨|üD¨}8à ÔD¨}tD©}tDª}|D«}„À!D¬}¨D­}°D®}¸à!(D¯}ÈD¯}ÐÀ!TD°}ôD±}üD²~à!lD³~ À!tD´~Dµ~4D¶~HD·~lD¸~¬D¹~üà"|DºD»D½|D¿ÜDÁ€<D€œ'¬€ÿÿÿDÀàDÄ€ð'º€ÿÿÿŒDÅ<DÆlDÇÐDÈØ'È€ÿÿÿˆDÉ‚D'Õ€ÿÿÿ„à%èDÊ‚ˆDÊ‚ˆ'ã€ÿÿÿ'ó€ÿÿÿŒ(€ÿÿÿˆDË‚ÌDÌ‚ôDÌ‚üD̓D̓ à&tD΃(&×ì(, D(8 H(G LÀ&”(T€ÿÿÿü(h€ÿÿÿø(t€ÿÿÿô(€€ÿÿÿð(ˆ€ÿÿÿìDäƒ4Dåƒ@À&¼Dçƒ\À&ÔDçƒtD烌D烔à&üD烜à&üD烜D胜D部D郬DêƒÈDì„À'ðDí„Dî„´à( Dï„ÀDð„ÀDñ„àDò„ìDò„ôà(\Dó„ü(&ÙÔ(¦ D(± H(½ L(Ì PÀ(€(Ù€ÿÿÿü(í€ÿÿÿø(ö€ÿÿÿô(ÿ€ÿÿÿð) €ÿÿÿì)€ÿÿÿè) €ÿÿÿä),€ÿÿÿÜ)7€ÿÿÿÔ)A€ÿÿÿÐ)I€ÿÿÿÌ)T€ÿÿÿÈD… D…0D…<D…HD…TD…XÀ(ØÀ(ØD…xD…Ðà)ˆD†(D†(D†0D†8D†˜)`€ÿÿÿÄD†ÜD†äÀ*PD†ðD‡4à*äD‡„D!‡„)n€ÿÿÿÀD"‡ì){€ÿÿÿ¸D#ˆ4D$ˆ`D$ˆhà+ÐD%ˆpD%ˆpD&ˆ„D&ˆŒà+ôD'ˆ”)‰&Ýl)ž D)© H)µ L)Ä PÀ,)Ñ€(ÿÿÿØ)ó€(ÿÿÿ°*€ÿÿÿ¬D<ˆ¸D=ˆÐD>ˆèD?‰D@‰DA‰0DB‰HDC‰hDC‰pà,ØDD‰x*&ÞP*8 D*D H*S LÀ,ø*`€ÿÿÿü*t€ÿÿÿø*€€ÿÿÿôDX‰˜DY‰¤À-DZ‰´À-,DZ‰ÌDZ‰äDZ‰ìà-TDZ‰ôà-TDZ‰ôD[‰ôD\Š D]Š,D^ŠLD_ŠlD`ŠˆDaЍDbŠ´Dbмà.$DcŠÄ*Œ&ßœ*¥ D*° H*¼ L*È PÀ.H*Õ€ÿÿÿü*ã€ÿÿÿø*õ€ÿÿÿôDyŠèD{ŠôD|‹À.|D}‹D~‹,À.”D€‹4D†‹TDˆ‹\DŽ‹|D‹„D–‹¤D˜‹¬Dž‹ÈD ‹ÐD§‹ìD¬‹ôà/\D­‹üD­‹üD®ŒDÀ/ÈD¯ŒhD°Œpà/àD±Œ€D²Œ€D³Œ¬D³Œ´D´Œ¼à0(DµŒÈD¶ŒÐD¶ŒØà0@D·Œà+&á¸+ D+$ H+1 L+> PÀ0d+G€(ÿÿÿØ+h€ÿÿÿÔÀ0dDáDá@à0ÜDá|Dè|DèÀ1 À1 Dé¬Déôà1 DéŽ@DîŽ@DïŽðDïŽôà2\DðŽüDðŽü+p€ÿÿÿÐ+€€ÿÿÿÌDò,Dò0à2˜Dó8+&ä+¦ DÀ2´+²€ÿÿÿü+½€ÿÿÿøDTDˆDŒD”À3D´DÔDÜDàà3HD èD èÀ3lD  À3ŒD ,D <DDDHà3°DPDPà3¸DXD`Ddà3ÌDl+È&åH+Þ D+ê HÀ3ì+÷€ÿÿÿüD&ŒD&D'ÜD)øD*‘D*‘ D-‘(À4 D.‘@À4¸D/‘XD0‘là4ÔD1‘tD2‘t+ÿ€ÿÿÿøD3‘¸D4‘Àà5,D5‘ÌD;‘ÔÀ5PD<‘ðD=’à5pD>’D?’D?’à5|D@’, ,) DÀ5˜,4€ÿÿÿü,?€ÿÿÿøDI’8DJ’LÀ5ÄDK’dÀ5àDL’€À5üDM’œDQ’¨À6(DR’Èà64DS’ÔDX’ÔDY’ôD[“D\“ à6tD]“À6|D^“Dd“,De“LDg“XDh“dà6ÐDi“pà6ÐDj“pÀ6ØDk“xDl“€à6ìDm“Œà6ìDn“Œà6ôDo“”,J&èl,^ DÀ7 D|“¬D“ÄD‚“ÌD…“ØD†“ôD‰”DŠ”D”DŽ”,D”8à7 D‘”@,i&é, D,Œ HÀ7¼,˜€ÿÿÿü, € ÿÿÿÜ,¿€(ÿÿÿ´,à€ÿÿÿ°,í€ÿÿÿ¬,ú€ÿÿÿœD¢”\D¥”pD¦”œD©”ÈDª”ØD«”èD¬”øD­•D®•D¯•(D°•8D³•HD³•LÀ8ÄD´•dD´•Àà9€D´– D´– D¶–4D¹–LDº–XD»–hà9ÔD¼–t- &ëL-" D-- HÀ9ð-9€ÿÿÿü-G€ÿÿÿìDË–DÌ–¬DÍ–´DΖÀDЖìÀ:dDÑ—DÒ—(à:”DÓ—4DÔ—<DÖ—hà:ÔD×—t-X&ìL-q DÀ:ì-}€ÿÿÿü-…€ÿÿÿøDç—ŒDç—À;,Dè—ÌÀ;XDé—øÀ;tDê˜À;Dê˜0Dê˜<à;¨Dê˜HDê˜PÀ;ÌDê˜là;ØDê˜xà;ØDê˜xà;ØDë˜xà;ØDì˜xDì˜xà;ìD혌-&íd-¡ D-­ HÀ<-¹€ÿÿÿüDþ˜¨Dÿ˜ÔDÿ˜ØD˜àD™D™D™D™D™,D™´D™¸D ™ÔD ™Øà=@D ™à-Á&î¼À=X-Ô€ÿÿÿü-߀ÿÿÿøD™øÀ=€Dš Dš,Dš8DšhDšpDš€DšŒDš”D šœD!š¬D"š´D#š¼D$šÄD%šäD&›D&›D'› D(›lD)›ŒD)›D*›¨à?0D+›ÐD,›ÐD,›Ôà?<D-›Ü-ç&ð¸-ý DÀ?XD8›øD9œà?œD:œ<. &ñÀ?°.€ÿÿÿüDFœPDGœxDHœ€DHœ„à?ìDIœŒ.)&ñh.@ D.K HÀ@ DYœ¬À@(DZœÈD[œØà@HD\œèÀ@PD]œðD^à@xD_D`Dc(à@”Dd4.Y&ò .p D.{ HÀ@°.‰€ÿÿÿüDuPDv\À@ÔDwtÀ@ôDx”Dy Dy¤àA Dz¬D{¬àAD|¸D}ÀD}ÄàA,D~Ì.”&ò¨.« D.¶ H.Á LÀAP.Ì€ÿÿÿüDŒðDž DžDž ÀA˜D‘ž8ÀA¸D’žXD“ždàAÌD”žlD•žlàAØD–žxàAàD—ž€.×&óX.ë DÀAø.÷€ÿÿÿüD¨ž˜D©ž´ÀB,DªžÌD«žìD«žðD¬žøàBdD­ŸD®Ÿ D®ŸàBxD¯Ÿ/ ÀB/€ÿÿÿüD¹Ÿ0D¹Ÿ4DºŸLD»ŸtD¼Ÿ€àBèD½Ÿˆ/& /8 DÀC/D€ÿÿÿü/O€ÿÿÿø/W€ÿÿÿôÀCDÑŸ ÀCDÑŸ¼DÑŸÔDÑŸØàC@DÑŸààC@DÑŸàÀC@DÔŸàÀCXDÔŸøDÔ DÔ àC|DÔ àC|DÔ ÀC|D× ÀCœD× <D× TD× XàCÀD× `àCÀD× `ÀCÀDÚ `ÀCäDÚ „DÚ œDÚ  àDDÚ ¨àDDÚ ¨DÜ ¨/c€ÿÿÿðDÝ ðDß¡Dâ¡Dè¡$Dé¡(Dé¡,Dê¡DÀDØDë¡xDì¡´ÀELDí¡ìDî¢/p€ÿÿÿìàE´Dï¢TàE´Dð¢TDñ¢hDò¢€Dõ¢¨D÷¢´D÷¢¸àF Dø¢À/~ ÀF8ÀF8D¢ØÀFTD¢ôD£ D£àFxD£àFxD£D£D £$D £0/€ÿÿÿüD£xD£€D£„àFìD£Œ/œ /® D/¹ HÀG /Ä€ÿÿÿü/Ï€ÿÿÿøÀG D&£¬ÀGDD&£äD&£üD&¤àGhD&¤àGhD&¤ÀGhD*¤ÀG˜D*¤8D*¤PD*¤TàG¼D*¤\àG¼D*¤\ÀG¼D-¤\ÀGÜD-¤|D-¤”D-¤˜àHD-¤ àHD-¤ ÀHD2¤ ÀH(D2¤ÈD2¤àD2¤äàHLD2¤ìàHLD2¤ìD4¤ì/×€ÿÿÿôD5¥4D;¥DDA¥PDB¥pDC¥|DF¥ˆDF¥ŒDG¥°DI¥ìDI¥ðàIXDJ¥ø/ä /ó DÀIt/ÿ€ÿÿÿü0 €ÿÿÿø0€ÿÿÿôÀItD_¦ÀI¬D_¦LD_¦dD_¦hàIÐD_¦pàIÐD_¦pÀIÐDc¦pÀIèDc¦ˆDc¦ Dc¦¤àJ Dc¦¬àJ Dc¦¬ÀJ Df¦¬ÀJHDf¦èDf§Df§àJlDf§ àJlDf§ ÀJlDk§ ÀJ”Dk§4Dk§LDk§PàJ¸Dk§XàJ¸Dk§XDm§X0 €ÿÿÿðDn§ Dt§°Dt§´ÀK8Du§ØDv§ôÀKpDw¨ÀK€Dx¨ ÀKœDx¨<Dx¨HàK´Dx¨TDx¨\ÀKØDx¨xàKäDx¨„àKäDx¨„àKäDy¨„àKäDz¨„Dz¨„D}¨˜D~¨°D€¨¼D€¨ÀàL(D¨È0- 0> D0K HÀLH0W€ÿÿÿü0a€ÿÿÿøÀLHD—¨èÀL€D—© D—©8D—©<àL¤D—©DàL¤D—©DÀL¤D›©DÀL¼D›©\D›©tD›©xàLàD›©€àLàD›©€ÀLàDž©€ÀMDž©¨Dž©ÀDž©ÄàM,Dž©ÌàM,Dž©ÌÀM,D¡©ÌÀMLD¡©ìD¡ªD¡ªàMpD¡ªàMpD¡ªÀMpD£ªÀMD£ª0D£ªHD£ªLàM´D£ªTàM´D£ªTÀM´D¦ªTÀMÌD¦ªlD¦ª„D¦ªˆàMðD¦ªàMðD¦ªÀMðD©ªÀND©ª¸D©ªÐD©ªÔàN<D©ªÜàN<D©ªÜÀN<D¬ªÜÀNxD¬«D¬«0D¬«4àNœD¬«<àNœD¬«<ÀNœD°«<ÀNÄD°«dD°«|D°«€àNèD°«ˆàNèD°«ˆD²«ˆD³«¤Dµ«´D¶«ÐÀODD¸«äÀO`D¸¬D¸¬ àOxD¸¬D¸¬ ÀOœD¸¬<àO¨D¸¬HàO¨D¸¬HDº¬HDº¬LàO´D»¬T0l 0 D0‹ HÀOÔ0›€ÿÿÿü0¦€ÿÿÿø0°€ÿÿÿô0½€ÿÿÿð0Í€ÿÿÿì0Ù€,ÿÿÿÀÀOÔDÖ¬tÀP DÖ¬¬DÖ¬ÄDÖ¬ÈàP0DÖ¬ÐàP0DÖ¬ÐÀP0DÚ¬ÐÀPHDÚ¬èDÚ­DÚ­àPlDÚ­ àPlDÚ­ ÀPlDÝ­ ÀP”DÝ­4DÝ­LDÝ­PàP¸DÝ­XàP¸DÝ­XÀP¸Dà­XÀQDà­¸Dà­ÐDà­ÔàQ<Dà­ÜàQ<Dà­ÜDâ­Ü0æ€ÿÿÿ¼Dã®$Dæ®8Dç®XDè®hDô®ˆÀRDõ®°Dö®´ÀRPD÷®ðDø¯ Dù¯àR„Dú¯$àRŒDû¯,Dþ¯,Dÿ¯0ÀR¸D¯XD¯dàRÌD¯lD¯lD¯ŒD¯˜D ¯ ÀS4D ¯ÔD ¯ØÀStD °ÀS D °@D°\ÀSØD°xD°ˆD°¤àTD°´àTD°´D°´àT D°ÀàT(D°ÈD°ÐÀTdD±D±ÀT¤D±DÀTÐD±pD±ŒD±ØàUHD±èD±èàUTD ±ôàU\D!±üD"±üD"²àUhD#²0ó 1 DÀU„ÀU„D4²$ÀU D4²@D4²XD4²\àUÄD4²dàUÄD4²dÀUÄD7²dÀUÜD7²|D7²”D7²˜àVD7² àVD7² D:² D<²¬1€ÿÿÿüD=²ôD?³D?³àVpD@³1! 14 D1A HÀV1O€ÿÿÿü1Y€ÿÿÿø1d€ÿÿÿô1o€ÿÿÿð1|€ÿÿÿìÀVDV³0ÀVÈDV³hDV³€DV³„àVìDV³ŒàVìDV³ŒÀVìDZ³ŒÀWDZ³¤DZ³¼DZ³ÀàW(DZ³ÈàW(DZ³ÈÀW(D]³ÈÀWPD]³ðD]´D]´ àWtD]´àWtD]´ÀWtD`´ÀW¼D`´\D`´tD`´xàWàD`´€àWàD`´€ÀWàDe´€ÀXDe´ De´¸De´¼àX$De´ÄàX$De´ÄÀX$Df´ÄÀXDDf´äDf´üDfµàXhDfµàXhDfµÀXhDiµÀX€Diµ Diµ8Diµ<àX¤DiµDàX¤DiµDDlµDDmµPÀXÈDnµhDoµˆDpµàXüDqµœÀYDrµ¤ÀYDrµ¼DrµÔDrµØàY@DrµààY@DrµàDuµàDyµôDzµøÀY|D{¶D|¶DD|¶HD~¶PàY¼D¶\D€¶dDƒ¶xÀYôD„¶”D…¶¤1„€ÿÿÿèàZ$D†¶ÄÀZ,DжÌD‹¶àDŒ¶ðD¶üDŽ· D·D·àZ„D·$D”·$ÀZ D–·@ÀZ¼D—·\D˜·hD™·|Dš·ˆàZôD›·”àZôDœ·”ÀZüD·œÀ[D·¸D·Äà[0D·ÐD·ØÀ[TD·ôà[`D¸à[`D¸DŸ¸DŸ¸à[lD ¸ 1’ 1¤ D1± HÀ[Œ1¿€ÿÿÿü1É€ÿÿÿø1Ô€ÿÿÿô1߀ÿÿÿð1ì€ÿÿÿì1ù€ÿÿÿè2€ÿÿÿä2€ÿÿÿÔÀ[ŒD·¸,À[ÄD·¸dD·¸|D·¸€à[èD·¸ˆà[èD·¸ˆÀ[èD»¸ˆÀ\D»¸ D»¸¸D»¸¼à\$D»¸Äà\$D»¸ÄÀ\$D¾¸ÄÀ\LD¾¸ìD¾¹D¾¹à\pD¾¹à\pD¾¹À\pDÁ¹À\¸DÁ¹XDÁ¹pDÁ¹tà\ÜDÁ¹|à\ÜDÁ¹|À\ÜDƹ|À\üDƹœDƹ´Dƹ¸à] DƹÀà] DƹÀÀ] DǹÀÀ]@DǹàDǹøDǹüà]dDǺà]dDǺÀ]dDȺÀ]„DȺ$DȺ<DȺ@à]¨DȺHà]¨DȺHÀ]¨D˺HÀ]ÀD˺`D˺xD˺|à]äD˺„à]äD˺„Dκ„DϺÀ^Dк¨DѺÈDÒºÐà^<DÓºÜÀ^DDÔºäÀ^\DÔºüDÔ»DÔ»à^€DÔ» à^€DÔ» D×» À^œDØ»<DÙ»Hà^ÄDÚ»dDÛ»dDÝ»DໜDỬD⻸À_0Dã»ÐÀ_LDä»ìÀ_lDæ¼ à_ŒDç¼,À_”Dè¼4Dé¼@Dë¼LDì¼hà_ÜDí¼|à_ÜDî¼|À_äD$Dð¼œDñ¼°à` Dò¼ÀDó¼Àà`,Dô¼ÌDõ¼ÔDö¼àD÷½ Dú½Dú½à`„Dû½$2# 25 D2C HÀ`¤2n€ÿÿÿü2y€ÿÿÿø2†€ÿÿÿô2‘€ÿÿÿð2Ÿ€ÿÿÿì2¬€ÿÿÿè2º€ÿÿÿäD½DÀ`¨D½HÀ`àD½€D½˜D½œàaD½¤àaD½¤ÀaD½¤ÀaLD½ìD¾D¾àapD¾àapD¾ÀapD!¾ÀaˆD!¾(D!¾@D!¾Dàa¬D!¾Làa¬D!¾LÀa¬D$¾LÀaèD$¾ˆD$¾ D$¾¤àb D$¾¬àb D$¾¬D)¾¬D*¾¸Àb0D+¾ÐD,¾ðD-¾øàbdD.¿ÀblD/¿ Àb„D/¿$D/¿<D/¿@àb¨D/¿Hàb¨D/¿HD2¿H2Ë€ÿÿÿàÀbðD3¿D4¿˜àcD5¿°D6¿°D7¿ÌD:¿ØD;¿èD<¿ôÀclD=À ÀcˆD?À(Àc¤D@ÀDDAÀTDBÀpDCÀ˜àdDDÀ¤Àd DEÀ¬DFÀÀDGÀÌàd8DHÀØàd8DIÀØDJÀØàdDDKÀäDMÀìDNÁDPÁDPÁàd€DQÁ 2Ø 2ì DÀdœ2ù€ÿÿÿüÀdœDcÁ<ÀdÔDcÁtDcÁŒDcÁàdøDcÁ˜àdøDcÁ˜ÀdøDgÁ˜ÀeDgÁ°DgÁÈDgÁÌàe4DgÁÔàe4DgÁÔÀe4DjÁÔÀe\DjÁüDjÂDjÂàe€Dj àe€Dj Àe€Dm Àe DmÂ@DmÂXDmÂ\àeÄDmÂdàeÄDmÂdÀeÄDnÂdÀeäDn„DnœDn àfDn¨àfDn¨ÀfDo¨Àf(DoÂÈDoÂàDoÂäàfLDoÂìàfLDoÂìDrÂìÀfhDsÃàftDtÃÀf|DuÃàfˆDvÃ(DyÃ(DzÃDD|Ã`D|ÃdàfÌD}Ãl3 3 DÀfè3.€ÿÿÿüDÈD‘ÜD’ìD“ÃÀD”ÃÔD•ÃðD˜ÃüD™ÄD™ÄD›Ä$D›Ä8àg DœÄ@39 3Q DÀg¼3\€ÿÿÿüD¨Ä\D©ÄhD«ÄpÀgìD¬ÄŒD­Ä Àh D®ÄÀD¯ÄäàhTD°ÄôD±ÄôàhdD²ÅD³Å ÀhxD´ÅÀh”D´Å4D´Å@àh¬D´ÅLD´ÅTÀhÐD´ÅpàhÜD´Å|àhÜD´Å|àhÜDµÅ|3h 3€ DÀhô3‹€ÿÿÿü3“€ÿÿÿøDÅÅ”DÅŘÀiDÆŰDÇÅÈÀi@DÈÅàDÉÅôài`DÊÆàihDËÆDËÆài|DÌÆ3ž 3¶ DÀi”3Á€ÿÿÿü3Ì€ÿÿÿøDÜÆ4DÝÆ@DÞÆLÀiÄD߯dÀiàDàÆ€DáÆ”3Û€ÿÿÿôDâÆ´DãÆÐàjDDäÆäDåÆäàjPDæÆðDçÆøàjdDèÇ3é Àjx4€ÿÿÿü4 €ÿÿÿøDöÇD÷Ç,Àj¬DøÇLDùÇ€àjèDúLjÀjèDûLjDüÇ”DýÇ DþǬDÿÇÜàkPD ÇðàkPD Çð4 46 DÀkh4A€ÿÿÿü4L€ÿÿÿø4W€ÿÿÿô4b€ÿÿÿð4q€ÿÿÿìD )ÈD ,ÈD 3ÈD 4È@D 6ÈHD 7ÈXD 8ÈhD :ÈtÀkìD ;ÈŒD <È D =ȬD >ÈÀD @ÈÄÀlhD AÉD BÉD CÉD DÉ4D FÉPàl¸D GÉXD HÉ`ÀlØD JÉxD KÉ„D LÉD MÉœàmD NɨD NɰÀm(D PÉÈD QÉÔD RÉààmPD SÉðÀmXD TÉøD UÊD VÊàm€D WÊ àm€D XÊ àmˆD YÊ(4 4” D4Ÿ HÀm¤4­€ÿÿÿü4¸€ÿÿÿø4Æ€ÿÿÿèD iÊDÀm¼D kÊ\D lÊlD mʈD nÊD oÊœD qÊÈÀn@D rÊàD sËànpD tËD uËD wËDD xËPD yËlànÜD zË|ànÜD {Ë|4× 4ë D4ö HÀnøD …˘D †˨D ‡Ë´ào$D ˆËÄ5 5 D5' H57 L5R P5` TÀoL5r€ÿÿÿü5}€ÿÿÿøD ¯Ëì5€ÿÿÿôD °Ëð5š€(ÿÿÿÌ5»€ÿÿÿÈ5Ê€ÿÿÿ¸5Ý€ÿÿÿ´D ¶ËüD ·ÌD ¸ÌD ¹Ì Ào˜D ºÌ8D ½ÌLÀp D À̬D ÁÌÀD ÂÌÈD ÃÌÐD ÄÌØD ÅÌàD ÆÌèD ÇÌðD ÈÌøD ÉÍD ÊÍD ÌÍÀpœD ÍÍ<D ÎÍHD ÏÍPàpÀD ÐÍ`àpÀD ÑÍ`D ÒÍ`àpÌD ÓÍlD ÖÍtD ×ÍD ×Í D ÚͨD áͰD âÍäD åÍôÀqlD çÎ D èÎ$àqD éÎ0D êÎ0D ìÎ<D ìÎHàq°D íÎP5ê 6 DÀqÌD ÷ÎlD ùÎxD þ΄D ÿΠD άD θàr$D ÎÄ6 6% D60 HÀr@D ÎàD ÎøD ÏD Ï<àr´D ÏT6H 6a D6l HÀrÐD ÏpD ψD Ï D ÏÌàsDD Ïä6„ 6 D6¨ H6Á LÀsd6Ù€$ÿÿÿÜD #ÐD $ÐD %Ð0D &Ð\D 'ЈD )РD *ÐÀD +ÐàD ,ÐôD -ÑàtˆD .Ñ(6å 7 D7  H7$ LÀt¤D 7ÑDD 8Ñ\D 9ÑpD :шàuD <Ñ 7< 7R D7a HÀu7w€ÿÿÿüÀuD TѼÀu8D TÑØD TÑðD TÑôàu\D TÑüàu\D TÑüD WÑüÀulD XÒ Àu„D XÒ$D XÒ<D XÒ@àu¨D XÒHàu¨D XÒHÀu¨D [ÒHÀuÀD [Ò`D [ÒxD [Ò|àuäD [Ò„àuäD [Ò„D ^Ò„D _ÒŒD `Ò˜D aÒ D bÒ¬D cÒ´D dÒÀD fÒÈD fÒÌàv4D gÒÔ7† 7 DÀvPÀvPD wÒðÀvlD wÓ D wÓ$D wÓ(àvD wÓ0àvD wÓ0D zÓ0D |Ó@D |ÓDàv¬D }ÓL7© 7¼ DÀvÈ7Ì€ÿÿÿüÀvÈD ÓhÀwD Ó D Ó¸D Ó¼àw$D ÓÄàw$D ÓÄÀw$D “ÓÄÀw@D “ÓàD “ÓøD “ÓüàwdD “ÔàwdD “ÔÀwdD –ÔÀwD –Ô0D –ÔHD –ÔLàw´D –ÔTàw´D –ÔTD ˜ÔTD šÔtD šÔxàwàD ›Ô€7× 7ê D7õ HÀx8 €ÿÿÿü8€ÿÿÿøÀxD ²Ô Àx8D ²ÔØD ²ÔðD ²Ôôàx\D ²Ôüàx\D ²ÔüÀx\D ¶ÔüÀxtD ¶ÕD ¶Õ,D ¶Õ0àx˜D ¶Õ8àx˜D ¶Õ8Àx˜D ¹Õ8ÀxÀD ¹Õ`D ¹ÕxD ¹Õ|àxäD ¹Õ„àxäD ¹Õ„D ¼Õ„D ¼ÕˆD ¾ÕÀÀy,D ¿ÕÌ8€ÿÿÿôÀydD ¿ÖD ¿ÖD ¿Ö àyˆD ¿Ö(àyˆD ¿Ö(D ÁÖ(D ÁÖ,D ÂÖLD ÄÖ„D ÄÖˆàyðD ÅÖ8- 8A DÀz 8N€ÿÿÿü8Y€ÿÿÿøD ØÖ¬8c€ÿÿÿôD ØÖ°ÀzD ÛÖ´ÀzLD ÛÖìD Û×D Û×àzpD Û×àzpD Û×D ß×ÀzˆD à×(Àz¸D á×XD â×dD ã×pÀzèD ä׈D å×”à{D æ× à{D çרD èרà{D é×´D ê×¼À{(D ë×È8q€ÿÿÿðÀ{`D ëØD ëØD ëØà{„D ëØ$à{„D ëØ$D îØ$D ïØ0À{¨D ðØHÀ{ØD ñØxD òØ”D óØ D ôجÀ|$D õØÄD öØàD ÷Øìà|XD øØøà|`D ùÙD úÙà|lD ûÙ D ýÙD ýÙà|€D þÙ 8 8• D8¢ HÀ| 8¯€ÿÿÿü8¹€ÿÿÿø8Ä€ÿÿÿôÀ| D Ù@À|ØD ÙxD ÙD Ù”à|üD Ùœà|üD ÙœÀ|üD ÙœÀ}D Ù´D ÙÌD ÙÐà}8D ÙØà}8D ÙØÀ}8D ÙØÀ}`D ÚD ÚD Úà}„D Ú$à}„D Ú$À}„D Ú$À}¤D ÚDD Ú\D Ú`à}ÈD Úhà}ÈD ÚhD "ÚhD "Úx8Ì€ÿÿÿðD $Ú¸À~$D %ÚÄ8Ù€ÿÿÿìÀ~\D %ÚüD %ÛD %Ûà~€D %Û à~€D %Û D 'Û D 'Û0D (ÛH8ç€ÿÿÿìD )ÛŒD )Ûà~øD *Û˜8ô 9  D9 HÀ9'€ÿÿÿüÀD @Û¸À4D @ÛÔD @ÛìD @ÛðàXD @ÛøàXD @ÛøD CÛøÀhD DÜÀ€D DÜ D DÜ8D DÜ<à¤D DÜDà¤D DÜDÀ¤D GÜDÀÔD GÜtD GÜŒD GÜàøD GܘàøD GܘD JܘD KÜ D Kܤà€ D Lܬ96 9K DÀ€(À€(D ]ÜÈÀ€DD ]ÜäD ]ÜüD ]Ýà€hD ]Ýà€hD ]ÝD `ÝD aÝD aÝà€„D bÝ$9Z&²ô9€Ý09‡´ø9޵9•dÝ09¾dÝ09Å€9ï€: €:+€:V€:y€:Ÿ€:À€:â€;€;0€;b€;•€;¯€;Ê€;ë€;ÿÂÓ<Â<(Â<=Â7sÂUž>.Â>JÂ>gÂ&w>„Â>¥Â>ÆÂ á>Ï´>úÂÎ? Â’ü?ªU?"Â?*ÂÌ-?5“,?AÂ?PÂ?ZÂ]?gÂ?p& ´ø?‘&2µ?² À DOÝ<DPÝHDQÝTDRÝ`DSÝlDVÝxDW݈DXÝDYÝ DZݰD\ÝÀD]ÝÔD^ÝèD`ÝøDaÞDbÞDdÞ(DfÞ0DgÞ8DlÞ@DmÞXDnÞtàTDqÞ„?É ?à DÀl?ë€ÿÿÿüD~ÞœDÞÔDÞÜDƒÞôD†ßpD†ßxD‡ßàÄDˆßô?ó @ DÀðÀðD˜à À D˜à<D˜àTD˜àXà0D˜à`à0D˜à`À0D›à`À\D›àŒD›à¤D›à¨à€D›à°à€D›à°Džà°D à¼@€ÿÿÿüD¡áD£á(D£á,àD¤á4@& @< DÀ4À4D·ádÀPD·á€D·á˜D·áœàtD·á¤àtD·á¤ÀtDºá¤À DºáÐDºáèDºáìàÄDºáôàÄDºáôD½áôD¾âDÀâ @K€ÿÿÿüDÁâTDÃâ\DÃâ`à8DÄâh@W @l DÀhÀhDÕâ˜À„DÕâ´DÕâÌDÕâÐà¨DÕâØà¨DÕâØDØâØDÚâä@|€ÿÿÿüDÛã,DÝãPDÝãTà,DÞã\@ˆ @š DÀH@®€ÿÿÿüÀHDôãxÀdDôã”Dôã¬Dôã°àˆDôã¸àˆDôã¸ÀˆD÷ã¸ÀèD÷äD÷ä0D÷ä4à D÷ä<à D÷ä<Dúä<DýäŒDþä¤Dä¼DäÌDäà@»€ÿÿÿøDå(Då0Då4à Då<@Ç @Ü DÀ(À(DåXÀDDåtDåŒDåàhDå˜àhDå˜ÀhD å˜ÀØD æD æ D æ$àüD æ,àüD æ,ÀüD#æ,À ¤D#æÔD#æìD#æðà ÈD#æøà ÈD#æøD*æøD,ç@ö€ÿÿÿüD-ç\D/çhD/çlà DD0çtA A DÀ `À `D@çÀ |D@ç¬D@çÄD@çÈà  D@çÐà  D@çÐÀ  DCçÐÀ ¸DCçèDCèDCèà ÜDCè à ÜDCè DFè DHèA)€ÿÿÿüDIè`DKèpDKètà LDLè|A5 AM DÀ hÀ hD_è˜À „D_è´D_èÌD_èÐà ¨D_èØà ¨D_èØÀ ¨DbèØÀ ÄDbèôDbé Dbéà èDbéà èDbéÀ èDeéÀ <DeélDeé„Deéˆà `Deéà `DeéDiéDké¬A\€ÿÿÿüDléôDnêDnêà ÜDoê Ah A{ DÀ øÀ øD€ê(À D€êDD€ê\D€ê`à 8D€êhà 8D€êhÀ 8DƒêhÀ PDƒê€Dƒê˜Dƒêœà tDƒê¤à tDƒê¤D†ê¤Dˆê°A†€ÿÿÿüD‰êøD‹ëD‹ë à äDŒëA’ A¦ DÀÀDë4À DëPDëhDëlàDDëtàDDëtÀDD ëtÀ¤D ëÔD ëìD ëðàÈD ëøàÈD ëøD¤ëøD¦ìAµ€ÿÿÿüD§ìLD©ìXD©ì\à4DªìdAÁ AÔ DAá HAì LÀXB€ÿÿÿüÀXDÀìˆÀDÀìÀDÀìØDÀìÜà´DÀìäà´DÀìäÀ´DÄìäÀÌDÄìüDÄíDÄíàðDÄí àðDÄí ÀðDÇí ÀDÇíHDÇí`DÇídà<DÇílà<DÇílÀ<DÊílÀ\DÊíŒDÊí¤DÊí¨à€DÊí°à€DÊí°À€DÌí°À DÌíÐDÌíèDÌíìàÄDÌíôàÄDÌíôÀÄDÎíôÀäDÎîDÎî,DÎî0àDÎî8àDÎî8ÀDÑî8À8DÑîhDÑî€DÑî„à\DÑîŒà\DÑîŒÀ\DÔîŒÀxDÔî¨DÔîÀDÔîÄàœDÔîÌàœDÔîÌÀœD×îÌÀÔD×ïD×ïD×ï àøD×ï(àøD×ï(ÀøDÚï(À(DÚïXDÚïpDÚïtàLDÚï|àLDÚï|ÀLDÝï|ÀÄDÝïôDÝð DÝðàèDÝðàèDÝðÀèDàðÀ<DàðlDàð„Dàðˆà`Dàðà`DàðDåðDæð¬DèðÀDêñ DêñàèDëñB B% DB6 HÀBI€ÿÿÿøBb€ÿÿÿðBu€ÿÿÿèB€€ÿÿÿàDÿñ8DñDÀ B‹€ÿÿÿÜDñPDñxDñ˜àˆDñ¸Dñ¸DñÐÀ¸Bž€ÿÿÿÜDñèDòDò4à(DòXD òXD òlDò€Dò˜À€B¨€ÿÿÿÜDò°DòØDòüàðDó Dó Dó4àDóHB² B¿ DBÌ HÀ4BÚ€ÿÿÿüÀ4D-ódÀlD-óœD-ó´D-ó¸àD-óÀàD-óÀÀD1óÀÀ´D1óäD1óüD1ôàØD1ôàØD1ôD3ôÀäD6ôBç€ÿÿÿøÀD6ôHD6ô`D6ôdà<D6ôlà<D6ôlÀ<D;ôlBö€ÿÿÿøC€ÿÿÿôÀ¨D;ôØD;ôðD;ôôàÌD;ôüàÌD;ôüÀÌD?ôüD?õàøD?õ(ÀøC€ÿÿÿøDAõ(DAõPDAõ|àxDAõ¨DDõ¨DFõÀDGõäDIöDKöC€ÿÿÿøDLö\DNöpDOö€DPöDRöœDRö àxDSö¨C' C= DCJ HC\ LCj PÀ C‚€ÿÿÿüCŒ€dÿÿÿ˜C˜€ÿÿÿ”C©€ÿÿÿC¹€(ÿÿÿhÀ DnöÐÀØDn÷Dn÷ Dn÷$àüDn÷,àüDn÷,ÀüDt÷,ÀDt÷DDt÷\Dt÷`à8Dt÷hà8Dt÷hÀ8Dx÷hÀ`Dx÷Dx÷¨Dx÷¬à„Dx÷´à„Dx÷´À„D{÷´ÀÄD{÷ôD{ø D{øàèD{øàèD{øÀèDøC߀ÿÿÿdÀ4DødDø|Dø€àXDøˆàXDøˆÀXDˆøˆÀ€Dˆø°DˆøÈDˆøÌà¤DˆøÔà¤DˆøÔÀ¤DøÔCì€ÿÿÿdÀDù4DùLDùPà(DùXà(DùXÀ(D‘ùXD‘ùpàPD‘ù€ÀPCù€ÿÿÿdD“ù€D“ù¨D“ùÐàÈD“ùøD–ùøD˜úD™ú(D›úHDú\DžúdÀ<D€ÿÿÿdDŸúlDŸú”DŸú¼à´DŸúäD¡úäD¢úðÀÌD €ÿÿÿdD£úüD£û$D£ûLàDD£ûtD¥ûtD¦û€À\D€ÿÿÿdD§ûŒD§û´D§ûÜàÔD§üD©üDªüÀìD!€ÿÿÿdD«üD«üDD«ülàdD«ü”D­ü”D®ü À|D+€ÿÿÿdD¯ü¬D¯üÔD¯üüàôD¯ý$D±ý$D²ý0D´ý<D´ý@à DµýHD5ýXDBµ¨DI˜D\µ³DcþLDpÿˆDýXD“dýXD¼dýXDÉ€Dó€E €E/€EZ€E}€E£€EÄ€Eæ€F €F4€Ff€F™€F³€F΀Fï€GÂÓGÂG,ÂGAÂ7sGoÂ#‘G™ÂG¨Â ‚PGÈÂUžGáÂGýÂHÂ&wH7ÂHXÂHy áH‚´H­ÂÎH½Â’üH˪UHÕÂHÝÂÌ-Hè“,HôÂIÂI Â]I& µ¨I;&8µ³I\&µ¨Iu DÀI‚€ÿÿÿüDMýhDQýŒDSýÀDUýèDWþàìDXþDI”&¶œI¨ DÀD_þ`À DaþxDcþ¤DeþÐDgþüàÐDhÿ(ÀØDiÿ0DjÿPàDkÿpDmÿpà(Dnÿ€Iµ&·ØIÍ DIØ HÀDDvÿœDwÿ¬Dxÿ¼DyÿÌDzÿÜD{ÿèD| ÀÔD,ÀðDHDTàD`DhÀ,D„à8Dà8Dà8D€Ið&¸èJ  DJ HÀTDˆ¬D‰¼DŠÌD‹ÜDŒìDøDŽ0ÀäD‘<ÀD‘XD‘dàD‘pD‘xÀ<D‘”àHD‘ àHD‘ àHD’ J& À\J>€ÿÿÿüJF€ÿÿÿìD´DŸ¼D¡ÄD¢ÔD£äD¤ôD¦D¦D§ D©LDª\D«lD¬|D­ŒD®œD¯¬D°¼D±ÌD²ÜD³ìD´üD· D¸D¹$Dº0D»<D»DÀD¼\D½lDÀ|à<DÁ”DÁ”àPD¨JR Jj DÀhDÌÀDÍÈDÎÐDÏÜDÐäDÑìDÒüDÓ DÔDÕ,DÖ<D×LDØ\DÚlDÜ|DÝŒDÞœD߬Dà¼DáÌDâÜDäìÀ°DåDæàØDç0àØDè0Ju J‡ DJ” HÀôÀôDúLÀDúhDú€Dú„à4DúŒà4DúŒÀ4DýŒÀdDý¼DýÔDýØàˆDýààˆDýàÀˆDàÀàD8DPDTà D\à D\D\D„D¬DÔD üDJ£€ÿÿÿüÀ øDPDXD`à DhDhDˆD˜Dœà LD¤J¯ JàDJРHÀ lÀ lD*ÄÀ ˆD*àD*øD*üà ¬D*à ¬D*À ¬D-À ÜD-4D-LD-Pà D-Xà D-XÀ D0XÀ XD0°D0ÈD0Ìà |D0Ôà |D0ÔÀ |D4ÔÀ üD4 TD4 lD4 pà D4 xà D4 xD; xD<  D= ÈD> ðDA DC $DD DDF TJá€ÿÿÿüÀDDG œDH ¤DI ¬DJ ´àlDK ÄDL ÄDL ÈàxDM ÐJí K  DK HK' LÀ K:€ÿÿÿüKB€ÿÿÿøÀ Dc øÀ¼Dc Dc ,Dc 0ààDc 8ààDc 8ÀàDf 8ÀDf hDf €Df „à4Df Œà4Df ŒÀ4Dj ŒÀdDj ¼Dj ÔDj ØàˆDj ààˆDj àDm àÀ¤Do üDo Dp ,Dq HÀDr `Ds ˆà<Dt ”Dw œDz ¨Dz ¬D{ ØD} ôD~ DD D€<Dxà8D‚DƒDƒ”àDD„œKJ K[ DÀ`À`D”¸À|D”ÔD”ìD”ðà D”øà D”øÀ D—øÀÐD—(D—@D—DàôD—LàôD—LDšLD›XDhKh€ÿÿÿüÀXDž°DŸ¸D ÀD¡Èà€D¢ØD£ØD£ÜàŒD¤äKt K„ DÀ¬À¬D´ÀÈD´ D´8D´<àìD´DàìD´DÀìD·DÀD·tD·ŒD·à@D·˜à@D·˜Dº˜D¼¤D¾°K‘€ÿÿÿüD¿øDÁDÁ à¼DÂK K± DK¾ HÀÜKÍ€ÿÿÿüÀÜD×4ÀD×lDׄD׈à8D×à8D×À8DÝÀPDݨDÝÀDÝÄàtDÝÌàtDÝÌÀtDáÌÀœDáôDá DáàÀDáàÀDáÀÀDãÀàDã8DãPDãTàDã\àDã\ÀDå\À$Då|Då”Då˜àHDå àHDå ÀHDè À DèøDèDèàÄDèàÄDèÀÄDìÀDDìœDì´Dì¸àhDìÀàhDìÀDòÀDóÜDõìDöDøDø àÐDù(K× Kí DKú HÀðL €ÿÿÿüÀðDHÀ(D€D˜DœàLD¤àLD¤ÀLD¤ÀdD¼DÔDØàˆDààˆDàÀˆDàÀ°DD D$àÔD,àÔD,ÀÔD!,ÀôD!LD!dD!hàD!pàD!pÀD#pÀ8D#D#¨D#¬à\D#´à\D#´À\D&´À´D& D&$D&(àØD&0àØD&0ÀØD*0ÀHD* D*¸D*¼àlD*ÄàlD*ÄD0ÄD1àD3ðD4 D6 D6$àÔD7,L L3 DÀðDCHDDdDGlDHœDJÌDQÔDRàDTôà¤DUüL> LT DLd HÀÀL{€ÿÿÿüL„€ÿÿÿøDqDqÀÜDr4ÀøL€ÿÿÿôDsPDsxDs àpDsÈDvÈDzðD{ àPD|¨D|¨D}¼À|D‚ÔÀ„L™€ÿÿÿôDƒÜDƒDƒ,àüDƒTD„TD„XàD…`ÀD†`D†dàD‡làDŠlL£ L½ DLÈ HLÙ LLè PÀ<Lø€ÿÿÿüM€ÿÿÿøM €ÿÿÿôM€ÿÿÿðM%€ÿÿÿìD ”D ˜ÀXD£°D¦ÌD§ôD¨üD©À´D« ÀÀM3€ÿÿÿèD¬D¬@D¬hà 8D¬D­à DD®œD²œD¶tD¹@D¹Dà!ôDºLDºLD»`À" À" DÃxÀ",M=€ÿÿÿèDÄ„DĬDÄÔà"¤DÄüDÅüà"°DÆ DÇ DÈ 0DÊ 8DÊ <à"ìDÌ DDÏ DDÏ Hà"øDÐ PMG M_ DMj HÀ#Dà pDá ŒDâ ”Dã ¬à#`Dä ¸Mx M‘ DMœ HM¦ LÀ#€M³€ÿÿÿüDñ ØDô äÀ$<D÷!”Dø!Ôà$„Dù!ÜDû!ÜÀ%4Dþ"ŒDÿ"´à%dD"¼D"¼À&D#lD#”à&DD#œD #œM¼€ÿÿÿøD #ôMÉ€ÿÿÿôD$LMÖ€ÿÿÿðD$¤Mã€ÿÿÿìD$üà'¬D%Mð N DN HN# LN1 TNB XNQ \À'ìN{€ÿÿÿøN‹€ÿÿÿðN€ÿÿÿèN¬€ÿÿÿàN¼€ÿÿÿØNÅ€ÿÿÿÐÀ'ìD@%DÀ(D@%`D@%xD@%|à(,D@%„à(,D@%„À(,DC%„À(\DC%´DC%ÌDC%Ðà(€DC%Øà(€DC%ØDF%ØÀ(˜DG%ðÀ(¬N΀ÿÿÿÌDH&DH&,DH&Là)DH&lÀ)NØ€ÿÿÿÌDI&lDI&”DI&¸à)„DI&ÜÀ)„Nâ€ÿÿÿÌDJ&ÜDJ'DJ'(à)ôDJ'LDK'LDL'\à*DM'lÀ*DN'tDO'Œà*LDP'¤DQ'¤DR'ÈD\'ìD]( D^(,D_(PDa(pDc(¬Dl(èDl(ìà+œDm(ôNì Nþ DO) HO: LOK POY XOj \Oy `À+ØO£€ÿÿÿøO³€ÿÿÿðOÅ€ÿÿÿèOÔ€ÿÿÿàOä€ÿÿÿØOí€ÿÿÿÐÀ+ØDŽ)0À+ôDŽ)LDŽ)dDŽ)hà,DŽ)pà,DŽ)pÀ,D‘)pÀ,HD‘) D‘)¸D‘)¼à,lD‘)Äà,lD‘)ÄD”)ÄÀ,„D•)ÜÀ,˜Oö€ÿÿÿÌD–)ðD–*D–*8à-D–*XÀ-P€ÿÿÿÌD—*XD—*€D—*¤à-pD—*ÈÀ-pP €ÿÿÿÌD˜*ÈD˜*ðD˜+à-àD˜+8D™+8Dš+Hà.D›+XÀ.Dœ+`D+xà.8Dž+D +D¡+´D¤+ØD¦,,D¨,€Dª,ÐD®- D±-ÄD³.hD³.là1D´.tP.€Pd.€PGd.€PQ€P{€P•€P·€Pâ€Q€Q+€QL€Qn€Q’€Q¼€Qî€R!€R;€RV€Rw€R‹ÂÓR ÂR´ÂRÉÂ7sR÷‚S ÂS ‚fSN€@Sb‚OS|ÂþS˜€ Sù€T<€`Tñ€`UrÂUŽ€ ¢UõÂUžVÂV*¢¢VG VV DÀVb€ÿÿÿüVl€ÿÿÿøV|€ÿÿÿôD.D.œD!.¨D".¼D#.ÌD%.àD%.äàlD&.ìV VŸ DV¨ HÀŒV´€ÿÿÿüV¾€ÿÿÿøV΀ÿÿÿôD7/ D8/D?/$D@/8DA/LDC/`DC/dàìDD/lVá Vï DÀVú€ÿÿÿüW €ÿÿÿøDS/ˆDT/”D[/ D\/´D]/ÀàTD^/ÔW/àW&¶@W-¶KW4d/àW]d/àWf€W€Wª€WÌ€W÷€X€X@€Xa€Xƒ€X§€XÑ€Y€Y6€YP€Yk€YŒ€Y ÂÓYµÂYÉÂYÞÂ7sZ ÂZ ‚PZ;ÂUÛZTÂZpÂZÂ&wZªÂZËÂZì áZõ´[ ÂÎ[0Â’ü[>ªU[HÂ[PÂÌ-[[“,[gÂ[vÂ[€Â][& ¶@[®&4¶K[Ï [à D[í HÀ\€ÿÿÿüÀDB/øÀPDB00DB0HDB0LàtDB0TàtDB0TÀtDF0TÀŒDF0lDF0„DF0ˆà°DF0à°DF0À°DH0ÀØDH0¸DH0ÐDH0ÔàüDH0ÜàüDH0ÜÀüDK0ÜÀDK0üDK1DK1à@DK1 à@DK1 À@DM1 À`DM1@DM1XDM1\à„DM1dà„DM1dÀ„DO1dÀ¤DO1„DO1œDO1 àÈDO1¨àÈDO1¨ÀÈDR1¨ÀøDR1ØDR1ðDR1ôàDR1üàDR1üDU1üDV2DX2(DY2\DY2`D[2hD\2„D_2D`2¬Db2ÄDb2ÈàðDc2Ð\ 2à\;L\[H\$;\-=,\:5\D<\N3˜\X¶´\c6Ô\u6,\€8Ü\‹Z\–2à\¥¶€\¬@\\»3\À‰Þ€‰ù€Š€Š(€4ŠÐ€4Šæ€(‹‘€(‹º€(‹Ð€0Œ~€0Œ×€0Œö€£€¼€ŽJ€Že€0€0t€0‘€€=€ç€ý€‘ª€‘¾€’M€’h€(“€(“I€(“b€4”€4”ƒ€4”€ •I€ •a€–€–!€8–΀8—P€8—q€˜€˜,€˜Î€˜ï€ ™¡€ ™º€š^€š}€(›9€(›c€(›„€$œC€$œW€$œq€ &€ ?€À€0ž€0ž€ Ÿ[€ Ÿs€ !€ 7€ ²€ Æ€`¡ƒ€`¢X€`£8€`¤€`¤0€`¤A€d¤‚€d¤”€ ¥$€ ¥:€¥s€¥‡€P¦a€P§>€P§T€§²€§Æ€§ü€¨€¨y€¨€©*€©A€@©j€@¢©•©¶Â©×‚ á©áª €@ª€@ª%€ªi€ªz€ª‡€ ª–€ª»€ªË€ªó€«€«)€«6€4«ö€4¬m€4¬{€¬»€¬Ê€¬ü€­ €­E€­U€­z€­‹€­°€ ®€ ®]€ ®¬€¯ €¯~€¯’€¯Ã€¯Ó€¯ö€°€°`€°p€4°ÿ€4±€±6€±E€±€€±’€±Â€±Ô€²€²€ ²_€ ²q€ ²Æ€ ²Ö€³€³€³0€³>€,³©€,³½€³ò€´€´2€´D€´ƒ€´“€´Ä€´Ô€µ€µ€ µb€ µt€µè€µù€¶)€¶8€¶t€¶†€ ¶Õ€ ¶ç€·\€·m€·’€··€·Ü€$¸&€¸^€(¸½€¸â€(¹f€(¹w€H¹ã€H¹ô€º€º>€ºc€º¯€ºÁ€»€»'€ »u€ » € »´€(¼€(¼1€ ¼}€ ¼€½€½€½‹€¾€8¾ €8¿=€8¿¢€8¿¶€TÀ €TÀ4€ À}€ ÀÆ€ Á€ Á[€ Ál€(ÁÒ€(Áã€Â€Â%€Ây€‹€µ€ÂÇ€Âí€Ã€ÃO€Ã_€Ã…€ë€Ãè€Ãù€ÄV€Äg€ Ä®€ ľ€(Å/€(Å@€ÅM€Å¥€ŵ€Åø€Æ € Æo€ Æ€Ƨ€ÆÍ€Ç €Ç€ÇS€Çd€Ç”€Ç¥€ÇÛ€Çê€lÈ¢€lÉ)€lÉ;€Éc€Éu€É…€ɦ€ɶ€ÉÞ€Éð€Ê?€Ê]€Ên€Êö€Ë€ ËG€ ËV€PËâ€PËó€Ìz€Ì‹€̯€Ì€Í„€Í–€Î=€ÎN€Îp€΂€Γ€Ï€Ï0€Ïi€Ïw€Ï©€Ϻ€ Ѐ Ѐ,Ф€,ж€Ðö€Ñ€ÑM€Ñ^€Ѷ€ÑÇ€Ò€Ò€LÒЀLÓA€LÓT€ Ó‘€ Ó¤€Óã€Óö€Ô2€ÔB€Ô€€Ô“€ Ôó€ Õ€ÕG€ÕZ€Õ”€Õ¥€ÕÞ€Õî€Ö$€Ö4€Ö_€Öp€Ö£€Öµ€Öâ€Öó€× €×2€,×ë€,×þ€Ø'€Ø;€,ØÈ€,ØÜ€Ù€Ù.€`ÙÀ€`ÙÔ€Ú7€ÚJ€(ÚÔ€(Úæ€$Ûª€$ÛÄ€$ÛÕ€,Ü]€,Ün€Ü”€ܤ€Üô€Ý€Ý8€ÝK€Ý€€Ý€Ýý€Þ€ ÞY€ Þj€Þ–€Þ©€ß*€ß>€ßk€ß|€ ßµ€ ßÇ€Dà!€Dà1€຀áV€á׀₀ã(€ãÆ€ä[€äñ€åy€åþ€æ–€ç€ç°€è?€è׀酀ê/€êØ€놀ì7€ìӀ틀î3€î߀ï€ï)€ð€ð߀ðø€¢ñ‚Îñ€ ñi€ ñw€ñ·€ñÇ€(ò“€(ò»€(òÉ€ó*€ó6€ó]€ón€ó™€óª€óê€óþ€$ô€$ô€ôõ€¢õ‚’üõ€$õg€$õx€$õÏ€$õà€ö€ö€dö´€döÄ€<÷-€<÷B€0÷Ú€0÷ð€ø,€ø@€øf€øu€dù&€tù£€t¢ù¶‚ªUùÁ€HúR€Húc€`ú¼€`ú΀4û€4û€8û‰€8ûš€pü €pü€\ý€\ý€pý˜€ŒþT€Œþg€þ΀þ߀ÿ€¢ÿ.‚¢ÿ7‚Ì-ÿC€ÿ¨€ÿ¹€ÿô€€O€`€Ä-€Äá€ÄÝ€ÄT€Äd€Š€š€€*€Ì€Þ€„¢€„倄〄«€„ s€„ a€„ € 5€„¢ L‚“, Y€   €  ±€0 ù€0 €” €” ø€”ü€”5€”¢L‚¢\‚¢g‚]u€H€ê€»€€x€i€6€e€z€Ÿ€°€è€ù€3€E€€€“€å€÷€$h€$€¥€·€ð€€8A€8S€°€Ä€H€^€¾€Ô€ €5€‘€©€Ó€ç€K€a€˜€­€ç€ü€#€¢¢8‚¢@‚öO€ Ÿ€ ¸€ ó€ €l€~€À9€Àõ€Àµ€À €À ¡€p!l€p".€p"§€p"¸€"퀢#&2¶€#"&H¶´#G&¶€#] DÀD22ðD23 à4D33#i&¶¼#x D#„ H#– LÀT#¥€ÿÿÿþD?34#¯€ÿÿÿüDB38DC3PDD3dDE3xà°DF3#Î&·8#Þ DÀÈ#ê€ÿÿÿÿDT3¨DV3¸ÀôDW3ÔDX4À8#õ€ÿÿÿøD]4ÀTD_44ÀˆD_4hD_4Œà¸D_4˜à¸D_4˜à¸Da4˜Da4˜Dc4´àäDd4ÄDf4ÄDh4àDj4ðDj4ôàDk4ü$&¸¨$ DÀ8$!€ÿÿÿþÀ8$@€ÿÿÿøDŽ5$H€ÿÿÿôDŽ5 DŽ5($R€ÿÿÿð$^€ÿÿÿìDŽ5\à¤DŽ5„D5„$j€ÿÿÿøD6à@D‘6 $v&¹Ì$‡ DÀ\$“€ÿÿÿþÀ\$²€ÿÿÿøD6<$º€ÿÿÿôD6DD6L$Ä€ÿÿÿð$ЀÿÿÿìD6€àÈD6¨DŸ6¨DŸ6ÀàèD 6È$Ü&ºt$õ D% H% LÀ DÄ6ì%(€ÿÿÿü%4€ÿÿÿø%@€ÿÿÿôÀH%L€ÿÿÿñÀH%i€ÿÿÿìDÇ7(%q€ÿÿÿèDÇ70DÇ78%{€ÿÿÿä%‡€ÿÿÿàDÇ7là´DÇ7”DÉ7”DÊ7øDË8\ààDÌ8ÀDÌ8ÀàôDÍ8Ô%“&¼|%¥ D%± H%¿ LÀ%Ì€ÿÿÿüDÙ8ôDÛ9À<%Ù€ÿÿÿøDÞ9ÀD%ä€ÿÿÿôDá9$Dã94Dä9DÀx%ò€ÿÿÿðDå9X%ú€ÿÿÿìDå9`Då9h&€ÿÿÿè&€ÿÿÿäDå9œàäDå9ÄDæ9ÄDç9ØDè9èàDé9ðDé9ðà(Dê:À0À0&€ÿÿÿøDë:&&€ÿÿÿôDë:Dë: &0€ÿÿÿð&=€ÿÿÿìDë:TàœDë:|Dì:|Dí:ˆà´Dî:”à´Dï:”&J &Z D&f H&w LÀÔD:´&…€ÿÿÿü&’€ÿÿÿø&Ÿ€ÿÿÿôÀD:ðD;àPD;0D;0àdD;D&¬&¾ì&¼ D&È HÀ€D;`D;pà¨D;ˆ&Ü&¿0&ì D&ø HÀÄ'€ÿÿÿø'"€ÿÿÿðD;¤D ;¸D";ÌD#;ØD$;äD%;ðà D&;ü'6&¿¤'G D'S HÀ 8D1<D2<8D3à HDV>(DW>(DY><(ˆ€ÿÿÿôDY?à @DZ? (•&ÂÈ(¬ D(¸ HÀ \(Ì€ÿÿÿøDr?<Dt?˜Du?¸Dv?ØDw?øDy@Dz@4à tD{@T(Ú&Ãü(ï D(û H) LÀ ˜)€8)²€8*Q€8*Ž€ÿÿÿüD@x*¢&·HD¥@€À ¼D¦@œÀ ÔD§@´D¨@Àà ìD©@ÌÀ ôDª@Ô*À€ÿÿÿøD«@üD¬AD­A,àTD®A4D¯A4D¯A8à`D°A@D²A@D´AHÀpD·APÀˆD¿AhDÀAtàœDÁA|DÂA|DÅA„À¼DÆAœDÇA¤DÈA¬àØDÌA¸DÍA¸DÐAÀÀøDØAØDÙAäàDÚAðÀDÛAøà DÜBDÝBDàBÀ@DáB DâB,àTDæB4DçB4DêB<ÀtDëBTDìB`àˆDðBhDñBhDôBpÀ¨DõBˆDöB”àÀD÷B ÀÈDøB¨DùB¼ÀøDüBØDýCà<DþCà<DÿCDCDC$À\D C<D CHàpDCPDCPDCXÀDCpDC|à¤DC„DC„DCŒÀÄDC¤DC°àÜD C¼ÀäD!CÄD"CØÀD%CôD&D D&D$àLD'D,àLD(D,D)D,D,D4ÀlD-DLD.DXà„D/DdÀŒD0DlàœD1D|D2D|D5D„À¼D6DœD7D¨àÔD8D´ÀÜD9D¼D:DÌàD;DøD<DøD?EÀ8D@EDAE$àPDBE0ÀXDCE8DDE@àtDEETDFETDIE\À”DJEtDKE€à¬DLEŒÀ´DME”DNE¨ÀäDQEÄDREðDREôàDSEüàDTEüDUEüDXFÀ<DYFDZF(àTD[F4À\D\F<D]FPÀŒD^Flà¸D_F˜ÀÀD`F DaF°DbFÀDcFÐàDdFààDeFàDfFàDiFèÀ DjGDlG àTDmG4À\DnG<àlDoGLDpGLDsGTÀŒDtGlDvGxàÀDwG ÀÈDxG¨àØDyG¸DzG¸D}GÀÀøD~GØD€Gäà,DH À4D‚HàDDƒH$D„H$D‡H,ÀdDˆHDD‰HPà„DŠHdÀŒD‹HlDŒH€DHŒDŽHœàØDH¸DH¸D“HÀÀøD”HØD–HäàD—HüÀ$*Í€ÿÿÿø*Ü€ÿÿÿô*ð€ÿÿÿð*ý€ÿÿÿìDœIDIDžI0D IHD¡I\D£IpD¤I€ÀÐD§I°D¨IØD¨IÜàD©IäD«IäD¬IôÀ,D¯J D°J4D°J8à`D±J@D³J@+ €ÿÿÿèDµJ`D¶JˆD¸J¤àüD¹JÜDºJÜÀDÏJäÀDÏJüDÏKà4DÏKÀ<DÏKàPDÏK0àPDÏK0DÐK0ÀXDÓK8ÀpDÓKPDÓK\àˆDÓKhÀDÓKpà¤DÓK„à¤DÓK„DÔK„À¬D×KŒÀÄD×K¤D×K°àÜD×K¼ÀäD×KÄàüD×KÜàüD×KÜDØKÜÀDÛKäÀDÛKüDÛLà4DÛLÀ<DÛLàPDÛL0àPDÛL0DÜL0ÀXDßL8ÀpDßLPDßL\àˆDßLhÀDßLpà¤DßL„à¤DßL„DàL„À¬DãLŒÀÄDãL¤DãL°àÜDãL¼ÀäDãLÄàøDãLØàøDãLØDäLØÀDçLàÀDçLøDçMà0DçMÀ8DçMàPDçM0àPDçM0DèM0ÀXDëM8ÀpDëMPDëM\àˆDëMhÀDëMpà¤DëM„à¤DëM„DìM„À¬DïMŒÀÄDïM¤DïM°àÜDïM¼ÀäDïMÄàøDïMØàøDïMØDðMØDóMàÀDôMøDõNà0DöNÀ8D÷NDøN,DùN<àlDúNLDûNLDþNTÀŒDÿNlDNxà¤DN„À¬DNŒDN DN°ààDNÀDNÀÀèD NÈÀD NàD NìàD NøÀ D Oà8D Oà8D OD OÀ@D O ÀXD O8D ODàpD OPÀxD OXàD OpàD OpDOpÀ˜DOxÀ°DODOœàÈDO¨ÀÐDO°àäDOÄàäDOÄDOÄDOÌÀDOäDOðàDOüÀ$DPDP$àTDP4DP4DP<ÀtD PTD!P`àŒD"PlÀ”D#PtD$P”D%P´D&PÔD'Pôà$D(QD)QÀ,D,Q ÀDD,Q$D,Q0à\D,Q<ÀdD,QDàxD,QXàxD,QXD-QXD0Q`À˜D1QxD2Q„à°D3QÀ¸D4Q˜D5Q¬D8QÀÀD;QøD<RD<RàDD=R$àDD>R$D?R$DCR,ÀdDDRDDERPàxDJRXDKRXÀ€DNR`À˜DNRxDNR„à°DNRÀ¸DNR˜àÌDNR¬àÌDNR¬DOR¬ÀÔDRR´ÀìDRRÌDRRØà DRRäÀ DRRìà DRSà DRSDSSÀ (DVSÀ @DVS DVS,à XDVS8À `DVS@à tDVSTà tDVSTDWSTÀ |D[S\À ”D[StD[S€à ¬D[SŒÀ ´D[S”à ÈD[S¨à ÈD[S¨D\S¨D_S°À èD`SÈDaSÔà!DbSàÀ!DcSèà!DdSüDeSüDhTÀ!<DiTDjT(à!PDnT0DoT0DrT8À!pDsTPDtT\à!ˆDuThÀ!DvTpDwTDxT°DyTÐà"DzTðD{TðD~TøÀ"0DUD€Uà"HDU(À"PD‚U0DƒUDD„UTD…UhD†U„à"°D‡UDˆUD‹U˜À"ÐDŒU°DU¼à"èDŽUÈÀ"ð+€ÿÿÿø+#€Hÿÿÿ°D’UÐD’UÔD“UìD•VÀ#LD–V,D—V<à#xD˜VXDšV`DšVdDV|+E€ÿÿÿ¬à$ DžVìDŸVìD¢VôÀ$,D£W D¤Wà$@D¨W D©W D¬W(À$`D­W@D®WLà$€D¯W`À$ˆD°Whà$˜D±WxD²WxDµW€À$¸D¶W˜D·W¤à$ÔD¸W´À$ÜD»W¼à% D¼Wìà% D½WìD½WôD¿ZxD¿Z|à'¤DÀZ„+R&Þ0+c D+o H+} L+ˆ PÀ'Ì+ž€ÿÿÿþ+½€ÿÿÿüDÐZ¬DÑZØDÑZÜDÓZäDÕZøDÖ[ D×[ DÙ[0DÙ[4à(\DÚ[<+Ê&Þè+Ù DÀ(x+å€ÿÿÿü+ù&·`Dê[XDë[tDë[xDí[€Dî[œDî[ À(ÈDñ[¨Dó[ÄÀ)Dô[üDõ\Dõ\ à)4Dö\Dû\Dý\4À)l,€ÿÿÿø,&€ÿÿÿôD\L,2€ÿÿÿðD\PÀ)„,C€ÿÿÿìD \dD \|D \Œà)ÜD \¼D \¼D\ÔD\àD\øD]à*LD],À*TD]4,P€ÿÿÿøD]Tà* D]€D!]€D"]D$] D&]´À*ÜD(]¼D)]ÔD,]ÜD-^ D/^D/^à+@D0^ D0^ à+hD1^Hà+pD3^P,] ,n D,‚ HÀ+,Ž€ÿÿÿü,™& ·hDC^pÀ+˜DF^xDG^˜DG^œà+ÄDH^¤DJ^¤,·€ÿÿÿøDK^ØDK^ÜDM^äDO^ð,Æ€ÿÿÿôÀ,LDP_,DQ_8DQ_<à,dDR_DDT_DDU_PDV_XDW_`DX_hDY_tDZ_€D[_ŒD\_˜D]_¬D^_¼D__ÌD`_ÜDa_ìDc`Dc`à-0Dd`,Õ ,ç DÀ-L,ò€ÿÿÿüDn`,Dp`4À-ˆDq`hDr`ˆ,ÿ€ÿÿÿøDsaDta Duaà.DDva$Dxa$Dxa(à.PDya0- - DÀ.l-*€ÿÿÿüD„aLD†aXÀ.˜D‡axDˆa„D‰aDŠaœDŠa à.ÈD‹a¨Da¨À.èDŽaÈDaÔDaàD‘aìD‘aðà/D’aøD”aøD–bD–bà/,D—b -5 -H D-S HÀ/L-a€ÿÿÿüD¼b,D¾b8À/pD¿bPDÁblÀ/¬DÂbŒDÃb˜DÄb°DÄb´à/ÜDÅb¼À/ÜDÆb¼À0DÆbôDÆc DÆcà08DÆcà08DÆcÀ08DÈcÀ0TDÈc4DÈcLDÈcPà0xDÈcXà0xDÈcXà0xDÉcXDËcXDËc\à0„DÌcd-lcp-s¸-|¹Ä-…p<-Žh¸-—²-¤ãP-±»œ-¿cp-É·(-Ólè-Ý»Ô-ë£ð-ù¹¼.»˜.~à.$¹´.6¢<.AŽD.LjÀ.Wu.bg´.mfÔ.xŽø.ƒ¹€.Šø˜.™†¨.¥í,.­¹À.µƒ .ÈüÌ.Û»”.ë½È.÷Ð,/i¼/…Ü/ƒì/'dcp/Tdcp/[€/…€/Ÿ€/Á€/ì€0€05€0V€0x€0œ€0Æ€0ø€1+€1E€1`€1€1•ÂÓ1­ÂUÛ1ÆÂ&£1âÂ1ÿÂñ2*Â2AÂ2YÂ2‡Â2žÂ2¶ÂÐ2äÂ"Z3Â[3)Â3?Â3XÂ3oÂ3‡Â3µÂ#T3ßÂ4 Â47Â4G ‚4gÂ4€Â&w4Â4¾Â4ß á4éÂ5ÂÎ5%Â’ü54ªU5?Â5HÂÌ-5T“,5aÂ5qÂ5|Â]5ŠÂ5’Âö5¡&2¹€5Â&¹´6&¹¼6&¹À6"&¹Ä61&¹€6B D6X H6c LÀD´cˆÀ06t€ÿÿÿü6~€ÿÿÿø6ˆ€ÿÿÿôD·c 6•&¹ÈDºc¸Àd6¦€ÿÿÿò6³€ÿÿÿðD¾cÔDÃcü6Ò€ÿÿÿìÀèDÄdXDÄdhàDÄdtDÆdtDÆdxDÈd”DÉdÐàlDÊdÜDÌdÜÀˆ6Þ€ÿÿÿòDÒdø6è€ÿÿÿì6ô€ÿÿÿêÀÈDÕe8DÕeHàäDÕeTD×eTD×eXDÙetà@DÚe°DÝe°DÞeÈÀpÀpDßeàÀˆDßeøDßfà¸Dßf(à¸Dßf(Däf(àÄDåf4Dèf4Dèf8DêfTDífœDðf¬DñfÄà\DòfÌà\DófÌ7&¼ä7% D72 H7= L7J PÀ€D fð7X€ÿÿÿü7d€ÿÿÿø7p€ÿÿÿôÀ¼D g,7|€ÿÿÿð7ˆ€ÿÿÿìD glD gà4D g¤à<Dg¬7”&½Ä7¦ D7³ H7¾ L7É PÀ`7Õ€ÿÿÿüD&gÐÀhD(gØÀ€D(gðD(hà°D(h à°D(h D*h 7á€ÿÿÿø7í€ÿÿÿô7ù€ÿÿÿðÀì8€ÿÿÿîD+h\8€ÿÿÿìÀD+htD+h„à D+hD+hà8D+h¨à@D,h°80&¾È8@ D8M H8X L8c PÀd8o€ÿÿÿüDAhÔÀlDChÜÀ„DChôDCià´DCi$à´DCi$DEi$8{€ÿÿÿø8ˆ€ÿÿÿô8•€ÿÿÿðÀð8¢€ÿÿÿîDFi`8®€ÿÿÿìÀDFixDFiˆà$DFi”DFi”à<DFi¬àDDGi´8Í&¿Ì8à D8í H8ø L9 PÀh9€ÿÿÿüDoiØÀpDqiàÀˆDqiøDqjà¸Dqj(à¸Dqj(Dsj(9€ÿÿÿø9(€ÿÿÿô95€ÿÿÿðÀô9B€ÿÿÿîDtjd9N€ÿÿÿìÀ Dtj|DtjŒà(Dtj˜Dtj˜à@Dtj°àHDuj¸9m&ÀÐ9 D9Œ H9— LÀh9¥€ÿÿÿüD‹jØDjèÀÀDŽk9°€ÿÿÿøDŽk(DŽkLàðDŽk`Dk`àDkxÀ9½€ÿÿÿøÀD“k€9Ê€ÿÿÿôD“k¨D“kÌàpD“kàD•kàÀˆD–kø9×€ÿÿÿôD—l<D˜lLD™ldÀ 9ä€ÿÿÿòDšlt9ð€ÿÿÿðÀ Dšl|DšlŒà (Dšl˜Dšl˜à @Dšl°D›l°DœlÈà hDlØà pDžlàà pDŸlà:&Âø:  D:- H:8 L:C PÀ ”:O€ÿÿÿüDÊmÀ œDÌm À ´DÌm$DÌmHà äDÌmTà äDÌmTDÎmT:c€ÿÿÿø:p€ÿÿÿô:}€ÿÿÿðÀ :Š€ÿÿÿìDÏm:”€ÿÿÿèDÏm˜:ž€ÿÿÿàDÏm :§€ÿÿÿÞDÏm¼:´€ÿÿÿÐ:€ÿÿÿÎDÏn$:΀ÿÿÿÌDÏn8:Ù€ÿÿÿÈ:æ€ÿÿÿÆÀ |DÏnìDÏnüà ˜DÏoDÏoÀ °DÏo DÏo0à ÌDÏo<DÏo<À äDÏoTÀ DÏoDÏo´à PDÏoÀà PDÏoÀÀ PDÏoÀÀ ŒDÏoüDÏp à ¼DÏp,à ¼DÏp,à ¼DÏp,à ÄDÐp4;&ÆL; D;" H;- L;8 PÀ è;D€ÿÿÿüDépXDëp`;P€ÿÿÿø;]€ÿÿÿô;j€ÿÿÿðÀ ,;w€ÿÿÿìDìpœÀ D;‚€ÿÿÿèDîp´;Š€ÿÿÿä;—€ÿÿÿà;¥€ÿÿÿÜ;²€ÿÿÿØ;À€ÿÿÿÔ;΀ÿÿÿÐ;Ü€ÿÿÿÌ;é€ÿÿÿÈ;÷€ÿÿÿÄÀpDîsàÀ˜DîtDît,àÈDît8àÈDît8ÀÈDît8ÀðDît`Dît„à Dîtà DîtÀ DîtÀ(Dît˜Dît¼àXDîtÈàXDîtÈÀX<€ÿÿÿÂDîtÈ<€ÿÿÿÀÀ`DîtÐDîtàà|DîtìDîtìà”Dîuà”Dîuà”DïuàœDðu <0&Ë$&Ôð>' D>4 H>? L>J PÀŒ>X€ÿÿÿüD1~üD3>g€ÿÿÿø>t€ÿÿÿô>€ÿÿÿðÀÐ>Ž€ÿÿÿìD4@>Ÿ€ÿÿÿéÀäD4TÀD4€D4¤à@D4°à@D4°À@D4°ÀlD4ÜD4€àœD4€ àœD4€ ÀœD4€ ÀÈD4€8D4€\àøD4€hàøD4€hÀøD4€hÀ$D4€”D4€¸àTD4€ÄàTD4€ÄÀTD4€ÄÀ€D4€ðD4à°D4 à°D4 À°D4 ÀÜD4LD4pà D4|à D4|D4|>Á€ÿÿÿäD4ô>΀ÿÿÿàD4‚l>Û€ÿÿÿÜD4‚äàŒD4‚üà”D5ƒ>è&Ù? D? H? L?% PÀ¸?3€ÿÿÿüDLƒ(DNƒ0?B€ÿÿÿø?O€ÿÿÿô?\€ÿÿÿðÀüÀüDOƒl?i€ÿÿÿìDOƒ¤DOƒÈà lDOƒÜà lDOƒÜà tDPƒä?v&Ùü?‰ D?– H?¡ L?° PÀ ˜?¾€ÿÿÿüD]„À °D_„ À ¸D_„(D_„Là èD_„Xà èD_„XDa„X?È€ÿÿÿø?Õ€ÿÿÿô?â€ÿÿÿðÀ!$À!$Db„”À!@Db„°Db„Ôà!pDb„àà!pDb„àÀ!pDc„à?ï€ÿÿÿì?ü€ÿÿÿèDc… Dc…Dà!èDc…Xà!èDd…XDf…`À"Dg…x@ €ÿÿÿìDg…œDg…Àà"dDg…Ôà"dDh…Ô@&Ûì@* D@7 H@B L@O P@Y T@v X@„ \À"À"À"Dx†À"¬Dx†Dx†@à"ÜDx†Là"ÜDx†LDx†LDx†Xà"ôDx†dDy†dDz†Œà#0D{† @&ܸÀ#D@¢€ÿÿÿü@³€ÿÿÿøD…†´@€ÿÿÿà@ä&€º0A€ÿÿÿÜDˆ†ÀA€ÿÿÿØD‰†ÌA€ÿÿÿÔDІØA'€,ÿÿÿ¨A7€,ÿÿÿ|AE€eÿÿÿÀ#xAQ€ÿÿÿD–†èD–†üA\€ÿÿÿ D–‡HD–‡`à$D–‡pD˜‡pÀ$À$Ai€ÿÿÿD™‡ˆD™‡œAt€ÿÿÿ D™‡èD™ˆà$ D™ˆà$ DšˆÀ$¨À$¨A€ÿÿÿD›ˆD›ˆ(AŒ€ÿÿÿ D›ˆtD›ˆˆà%(D›ˆ˜à%(Dœˆ˜Džˆ˜À%HÀ%HA™€ÿÿÿDŸˆ¸DŸˆÌA¤€ÿÿÿ DŸ‰DŸ‰0à%ÐDŸ‰@À%ÐA±€ÿÿÿD ‰@D ‰PA¼€ÿÿÿ D ‰œD ‰°à&PD ‰Àà&PD¡‰ÀÀ&PAÉ€ÿÿÿD£‰ÀD£‰ÔAÔ€ÿÿÿ D£Š D£Š8à&ØD£ŠHD¥ŠHD¦ŠlD©ŠÀ'<Aá€ÿÿÿDªЬDªмAì€ÿÿÿ Dª‹Dª‹à'¼Dª‹,D­‹,D°‹\À($D±‹”à(0D²‹ D³‹¨À(pD´‹àà(|Dµ‹ìD·‹ìÀ(”Aù€ÿÿÿD¸ŒB€ÿÿÿ B€ÿÿÿD¹ŒdB€ÿÿÿD¾ŒÄB(€ÿÿÿÀ)¤B5€ÿÿþüDÀDÀ$B@€ÿÿþøDÀpDÀ„à*$DÀ”à*$DÁ”DÔDÅœDŤà*<DƬBM&ãÈB] DBj HBu LÀ*dDÒÔB‚€ÿÿÿüB€ÿÿÿøBœ€ÿÿÿôDÓŽB©€ÿÿÿðà*ÌDÔŽ<B·&äTBÉ DBÖ HÀ*èBá€ÿÿÿüDߎXÀ*ôÀ*ôDèŽdÀ+D莀Dèޤà+@Dèްà+@DèްDèްDè޼à+XDèŽÈDéŽÈDêŽÜà+€DëŽðBì&åBþ DC  HÀ+œÀ+œÀ+œDø À+¸Dø(DøLà+èDøXà+èDøXDøXDødà,DøpDúpC€ÿÿÿüC#€ÿÿÿøC0€ÿÿÿôÀ,<D¬À- C=€ÿÿÿìD|DÀ-4À-4CL€ÿÿÿèD¤CT€ÿÿÿäCa€ÿÿÿàCo€ÿÿÿÜC|€ÿÿÿØCŠ€ÿÿÿÔC˜€ÿÿÿÐC¦€ÿÿÿÌC³€ÿÿÿÈCÁ€ÿÿÿÄÀ0`D“ÐÀ0ˆD“øD”à0¸D”(à0¸D”(À0¸D”(À0àD”PD”tà1D”€à1D”€À1D”€À1D”ˆD”¬à1HD”¸à1HD”¸À1HCÏ€ÿÿÿÂD”¸CÛ€ÿÿÿÀÀ1PD”ÀD”Ðà1lD”ÜD”Üà1„D”ôà1„D”ôÀ1„Cú€ÿÿÿèD”ôD€ÿÿÿäD€ÿÿÿàD€ÿÿÿÜD-€ÿÿÿØD<€ÿÿÿÔDK€ÿÿÿÐDZ€ÿÿÿÌDh€ÿÿÿÈDw€ÿÿÿÄÀ4°D˜ À4ØD˜HD˜là5D˜xà5D˜xÀ5D˜xÀ50D˜ D˜Äà5`D˜Ðà5`D˜ÐÀ5`D˜ÐÀ5hD˜ØD˜üà5˜D™à5˜D™À5˜D†€ÿÿÿÂD™D’€ÿÿÿÀÀ5 D™D™ à5¼D™,D™,à5ÔD™Dà5ÔD™Dà5ÔD™DD ™DD ™XÀ5üÀ5üD±€ÿÿÿèD ™lD¹€ÿÿÿäDÇ€ÿÿÿàDÖ€ÿÿÿÜDä€ÿÿÿØDó€ÿÿÿÔE€ÿÿÿÐE€ÿÿÿÌE€ÿÿÿÈE.€ÿÿÿÄÀ9(D œ˜À9PD œÀD œäà9€D œðà9€D œðÀ9€D œðÀ9¨D D <à9ØD Hà9ØD HÀ9ØD HÀ9àD PD tà:D €à:D €À:E=€ÿÿÿÂD €EI€ÿÿÿÀÀ:D ˆD ˜à:4D ¤D ¤à:LD ¼à:LD ¼À:LEh€ÿÿÿèD ¼Ep€ÿÿÿäE~€ÿÿÿàE€ÿÿÿÜE›€ÿÿÿØEª€ÿÿÿÔE¹€ÿÿÿÐEÈ€ÿÿÿÌEÖ€ÿÿÿÈEå€ÿÿÿÄÀ=xD  èÀ= D ¡D ¡4à=ÐD ¡@à=ÐD ¡@À=ÐD ¡@À=øD ¡hD ¡Œà>(D ¡˜à>(D ¡˜À>(D ¡˜À>0D ¡ D ¡Äà>`D ¡Ðà>`D ¡ÐÀ>`Eô€ÿÿÿÂD ¡ÐF€ÿÿÿÀÀ>hD ¡ØD ¡èà>„D ¡ôD ¡ôà>œD ¢ à>œD ¢ à>œD ¢ D¢ à>°D¢ à>°D¢ D¢ à>ÄD¢4F&øLF1 DF> HÀ>àFI€ÿÿÿüD ¢PD ¢TÀ?FR€ÿÿÿìÀ?D#¢pÀ?(D#¢˜D#¢¼à?XD#¢Èà?XD#¢ÈD%¢ÈFw€ÿÿÿèF†€ÿÿÿäÀ?¤À?¤D&£À?ÀD&£0D&£Tà?ðD&£`à?ðD&£`D&£`D&£hà@D&£tD'£tD(£”D)£´à@dD*£ÔD*£Ôà@xD+£èF”&úF© DF¶ HÀ@”D6¤FÁ€ÿÿÿüFÏ€ÿÿÿøFÝ€ÿÿÿôÀ@ÐFë€ÿÿÿðD7¤@À@ÜD9¤LÀATD9¤ÄD9¤èàA„D9¤ôàA„D9¤ôDD¤ôÀAÔFø€ÿÿÿìDE¥DÀAØÀAØDG¥HÀAôDG¥dDG¥ˆàB$DG¥”àB$DG¥”DG¥”DG¥ àB<DG¥¬ÀB<G€ÿÿÿêDH¥¬G€ÿÿÿèÀBDDH¥´DH¥ÄàB`DH¥ÐDH¥ÐàB„DH¥ôÀB„G0€ÿÿÿêDI¥ôG<€ÿÿÿèÀBŒDI¥üDI¦ àB¨DI¦DI¦àBÌDI¦<ÀBÌG[€ÿÿÿèDJ¦<Ge€ÿÿÿäDJ¦PGo€ÿÿÿØDJ¦XGx€ÿÿÿÖDJ¦dG…€ÿÿÿÈG”€ÿÿÿÆDJ¦ÌG €ÿÿÿÄDJ¦àG«€ÿÿÿÀG¹€ÿÿÿ¾ÀD$DJ§”DJ§¤àD@DJ§°DJ§°ÀDXDJ§ÈDJ§ØàDtDJ§äDJ§äÀDŒDJ§üÀDÈDJ¨8DJ¨\àDøDJ¨hàDøDJ¨hÀDøDJ¨hÀE4DJ¨¤DJ¨ÈàEdDJ¨ÔàEdDJ¨ÔàEdDJ¨ÔÀEdGØ€ÿÿÿèDK¨ÔGâ€ÿÿÿäDK¨èGì€ÿÿÿØDK¨ðGõ€ÿÿÿÖDK¨üH€ÿÿÿÈH€ÿÿÿÆDK©dH€ÿÿÿÄDK©xH(€ÿÿÿÀH6€ÿÿÿ¾ÀF¼DKª,DKª<àFØDKªHDKªHÀFðDKª`DKªpàG DKª|DKª|ÀG$DKª”ÀG`DKªÐDKªôàGDK«àGDK«ÀGDK«ÀGÌDK«<DK«`àGüDK«làGüDK«làGüDK«lDL«làHDM«ŒÀHÀHDO«ŒÀH8DO«¨DO«ÌàHhDO«ØàHhDO«ØDO«ØDO«äàH€DO«ðÀH€HU€ÿÿÿîDQ«ðHa€ÿÿÿìÀH˜DQ¬DQ¬àH´DQ¬$DQ¬$àHØDQ¬HÀHØH€€ÿÿÿîDR¬HHŒ€ÿÿÿìÀHðDR¬`DR¬pàI DR¬|DR¬|àI0DR¬ ÀI0H«€ÿÿÿìDT¬ Hµ€ÿÿÿèDT¬´H¿€ÿÿÿàDT¬¼HÈ€ÿÿÿÞDT¬ÈHÕ€ÿÿÿÐHä€ÿÿÿÎDT­0Hð€ÿÿÿÌDT­DHû€ÿÿÿÈI €ÿÿÿÆÀJˆDT­øDT®àJ¤DT®DT®ÀJ¼DT®,DT®<àJØDT®HDT®HÀJðDT®`ÀK,DT®œDT®ÀàK\DT®ÌàK\DT®ÌÀK\DT®ÌÀK˜DT¯DT¯,àKÈDT¯8àKÈDT¯8àKÈDT¯8ÀKÈI(€ÿÿÿìDU¯8I2€ÿÿÿèDU¯LI<€ÿÿÿàDU¯TIE€ÿÿÿÞDU¯`IR€ÿÿÿÐIa€ÿÿÿÎDU¯ÈIm€ÿÿÿÌDU¯ÜIx€ÿÿÿÈI†€ÿÿÿÆÀM DU°DU° àM<DU°¬DU°¬ÀMTDU°ÄDU°ÔàMpDU°àDU°àÀMˆDU°øÀMÄDU±4DU±XàMôDU±dàMôDU±dÀMôDU±dÀN0DU± DU±ÄàN`DU±ÐàN`DU±ÐàN`DU±ÐDV±ÐàN€DW±ðàNˆDX±øI¥& I¹ DIÆ HÀN¤IÑ€ÿÿÿüDe²De²ÀNÄIÚ€ ÿÿÿðÀNÄDh²4ÀNìDh²\Dh²€àODh²ŒàODh²ŒDj²ŒÀO\ÀO\ÀO\Dk²ÌÀOxDk²èDk³ àO¨Dk³àO¨Dk³Dk³Dk³$àOÀDk³0ÀOÀIæ€ÿÿÿìDl³0I÷€ÿÿÿéÀOÈDl³8ÀOôDl³dDl³ˆàP$Dl³”àP$Dl³”ÀP$Dl³”ÀPPDl³ÀDl³äàP€Dl³ðàP€Dl³ðÀP€Dl³ðÀP¬Dl´Dl´@àPÜDl´LàPÜDl´LÀPÜDl´LÀQDl´xDl´œàQ8Dl´¨àQ8Dl´¨ÀQ8Dl´¨ÀQdDl´ÔDl´øàQ”DlµàQ”DlµÀQ”DlµÀQÀDlµ0DlµTàQðDlµ`àQðDlµ`Dlµ`J€ÿÿÿäDlµØJ'€ÿÿÿàDl¶PJ5€ÿÿÿÜDl¶ÈàS|Dl¶ìDm¶ìàSœDn· àSœDo· Do· àS°Dp· JC& 8JT DJa HJl LJw PÀSÔÀSÔÀSÔD}·DÀSðD}·`D}·„àT D}·àT D}·D}·D}·œàT8D}·¨ÀT8D~·¨Jƒ€ÿÿÿüD~·ÐD~·ôàT˜D~¸ÀT˜J‘€ÿÿÿüD¸J¢€ÿÿÿùÀT D¸ÀTÌD¸<D¸`àTüD¸làTüD¸lÀTüD¸lÀU(D¸˜D¸¼àUXD¸ÈàUXD¸ÈÀUXD¸ÈÀU„D¸ôD¹àU´D¹$àU´D¹$ÀU´D¹$ÀUàD¹PD¹tàVD¹€àVD¹€ÀVD¹€ÀV<D¹¬D¹ÐàVlD¹ÜàVlD¹ÜÀVlD¹ÜÀV˜DºDº,àVÈDº8àVÈDº8Dº8JÄ€ÿÿÿôDº°JÒ€ÿÿÿðD»(Jà€ÿÿÿìD» àXHD»¸D€»¸àX\D»ÌJî& äK DK HÀXxK€ÿÿÿüD‘»èD‘»ìÀX˜K$€ÿÿÿôÀX˜D”¼ÀXèD”¼XD”¼|àYD”¼ˆàYD”¼ˆD–¼ˆÀYPK3€ÿÿÿðD—¼ÀKA€ÿÿÿìD˜¼ÈDš¼ÐKM€ÿÿÿèK[€ÿÿÿäÀY”Ki€ ÿÿÿØDž½DŸ½dàZD ½ŒD ½ŒD¢½ àZ<D£½¬àZ<D¤½¬D¤½¬àZPD¥½ÀKu& ØKˆ DK• HÀZlK €ÿÿÿìD¸½ÜÀZŒK±€ÿÿÿäKÄ€ÿÿÿÜD¼½üÀZ¤D½¾D¾¾ D¿¾,DÀ¾8àZÔDÁ¾DÀZÜD¾LDþTDľ\DždàZüDƾlÀZüÀZüDȾlÀ[DȾˆDȾ¬à[HDȾ¸à[HDȾ¸DȾ¸DȾÄà[`DȾÐÀ[`À[`KØ€ÿÿÿØDɾÐKà€ÿÿÿÔKî€ÿÿÿÐKý€ÿÿÿÌL €ÿÿÿÈL€ÿÿÿÄL)€ÿÿÿÀL8€ÿÿÿ¼LF€ÿÿÿ¸LU€ÿÿÿ´À^ŒDÉÁüÀ^´DÉÂ$DÉÂHà^äDÉÂTà^äDÉÂTÀ^äDÉÂTÀ_ DÉÂ|DÉ à_<Dɬà_<DɬÀ_<DɬÀ_DDÉ´DÉÂØà_tDÉÂäà_tDÉÂäÀ_tLd€ÿÿÿ²DÉÂäLp€ÿÿÿ°À_|DÉÂìDÉÂüà_˜DÉÃDÉÃà_°DÉà à_°DÉà À_°L€ÿÿÿØDÉà L—€ÿÿÿÔL¥€ÿÿÿÐL´€ÿÿÿÌL€ÿÿÿÈLÑ€ÿÿÿÄLà€ÿÿÿÀLï€ÿÿÿ¼Lý€ÿÿÿ¸M €ÿÿÿ´ÀbÜDÉÆLÀcDÉÆtDÉƘàc4DÉƤàc4DÉƤÀc4DÉƤÀc\DÉÆÌDÉÆðàcŒDÉÆüàcŒDÉÆüÀcŒDÉÆüÀc”DÉÇDÉÇ(àcÄDÉÇ4àcÄDÉÇ4ÀcÄM€ÿÿÿ²DÉÇ4M'€ÿÿÿ°ÀcÌDÉÇ<DÉÇLàcèDÉÇXDÉÇXàdDÉÇpàdDÉÇpàdDÉÇpÀdÀdMF€ÿÿÿØDÊÇpMN€ÿÿÿÔM\€ÿÿÿÐMk€ÿÿÿÌMy€ÿÿÿÈMˆ€ÿÿÿÄM—€ÿÿÿÀM¦€ÿÿÿ¼M´€ÿÿÿ¸MÀÿÿÿ´Àg,DÊÊœÀgTDÊÊÄDÊÊèàg„DÊÊôàg„DÊÊôÀg„DÊÊôÀg¬DÊËDÊË@àgÜDÊËLàgÜDÊËLÀgÜDÊËLÀgäDÊËTDÊËxàhDÊË„àhDÊË„ÀhMÒ€ÿÿÿ²DÊË„MÞ€ÿÿÿ°ÀhDÊËŒDÊËœàh8DÊ˨DÊ˨àhPDÊËÀàhPDÊËÀÀhPMý€ÿÿÿØDÊËÀN€ÿÿÿÔN€ÿÿÿÐN"€ÿÿÿÌN0€ÿÿÿÈN?€ÿÿÿÄNN€ÿÿÿÀN]€ÿÿÿ¼Nk€ÿÿÿ¸Nz€ÿÿÿ´Àk|DÊÎìÀk¤DÊÏDÊÏ8àkÔDÊÏDàkÔDÊÏDÀkÔDÊÏDÀküDÊÏlDÊÏàl,DÊÏœàl,DÊÏœÀl,DÊÏœÀl4DÊϤDÊÏÈàldDÊÏÔàldDÊÏÔÀldN‰€ÿÿÿ²DÊÏÔN•€ÿÿÿ°ÀllDÊÏÜDÊÏìàlˆDÊÏøDÊÏøàl DÊÐàl DÊÐàl DÊÐDËÐàl´DÌÐ$àl´DÍÐ$N´& &<NÇ DNÔ HÀlÐÀlÐÀlÐDØÐ@ÀlìDØÐ\DØЀàmDØÐŒàmDØÐŒDØÐŒDØИàm4DØФÀm4N߀ÿÿÿüDÙФNç€ÿÿÿøNõ€ÿÿÿôO€ÿÿÿðO€ÿÿÿìO!€ÿÿÿèO0€ÿÿÿäO?€ÿÿÿàOM€ÿÿÿÜO\€ÿÿÿØÀp¬DÙÔÀpØDÙÔHDÙÔlàqDÙÔxàqDÙÔxÀqDÙÔxÀq4DÙÔ¤DÙÔÈàqdDÙÔÔàqdDÙÔÔÀqdDÙÔÔÀqlDÙÔÜDÙÕàqœDÙÕ àqœDÙÕ ÀqœOk€ÿÿÿÖDÙÕ Ow€ÿÿÿÔÀq¤DÙÕDÙÕ$àqÀDÙÕ0DÙÕ0àqØDÙÕHàqØDÙÕHÀqØO–€ÿÿÿüDÚÕHOž€ÿÿÿøO¬€ÿÿÿôO»€ÿÿÿðOÉ€ÿÿÿìOØ€ÿÿÿèOç€ÿÿÿäOö€ÿÿÿàP€ÿÿÿÜP€ÿÿÿØÀuPDÚØÀÀu|DÚØìDÚÙàu¬DÚÙàu¬DÚÙÀu¬DÚÙÀuØDÚÙHDÚÙlàvDÚÙxàvDÚÙxÀvDÚÙxÀvDÚÙ€DÚÙ¤àv@DÚÙ°àv@DÚÙ°Àv@P"€ÿÿÿÖDÚÙ°P.€ÿÿÿÔÀvHDÚÙ¸DÚÙÈàvdDÚÙÔDÚÙÔàv|DÚÙìàv|DÚÙìÀv|PM€ÿÿÿüDÛÙìPU€ÿÿÿøPc€ÿÿÿôPr€ÿÿÿðP€€ÿÿÿìP€ÿÿÿèPž€ÿÿÿäP­€ÿÿÿàP»€ÿÿÿÜPÊ€ÿÿÿØÀyôDÛÝdÀz DÛÝDÛÝ´àzPDÛÝÀàzPDÛÝÀÀzPDÛÝÀÀz|DÛÝìDÛÞàz¬DÛÞàz¬DÛÞÀz¬DÛÞÀz´DÛÞ$DÛÞHàzäDÛÞTàzäDÛÞTÀzäPÙ€ÿÿÿÖDÛÞTPå€ÿÿÿÔÀzìDÛÞ\DÛÞlà{DÛÞxDÛÞxà{ DÛÞà{ DÛÞÀ{ Q€ÿÿÿüDÜÞQ €ÿÿÿøQ€ÿÿÿôQ)€ÿÿÿðQ7€ÿÿÿìQF€ÿÿÿèQU€ÿÿÿäQd€ÿÿÿàQr€ÿÿÿÜQ€ÿÿÿØÀ~˜DÜâÀ~ÄDÜâ4DÜâXà~ôDÜâdà~ôDÜâdÀ~ôDÜâdÀ DÜâDÜâ´àPDÜâÀàPDÜâÀÀPDÜâÀÀXDÜâÈDÜâìàˆDÜâøàˆDÜâøÀˆQ€ÿÿÿÖDÜâøQœ€ÿÿÿÔÀDÜãDÜãà¬DÜãDÜãàÄDÜã4àÄDÜã4DÝã4àØDÞãHQ»& 9`QÏ DQÜ HÀôÀôÀôDéãdÀ€Déã€Déã¤à€@Déã°à€@Déã°Déã°Déã¼à€XDéãÈÀ€XÀ€XQç€ÿÿÿüDêãÈQï€ÿÿÿøQý€ÿÿÿôR €ÿÿÿðR€ÿÿÿìR)€ÿÿÿèR8€ÿÿÿäRG€ÿÿÿàRU€ÿÿÿÜRd€ÿÿÿØÀƒÐDêç@ÀƒüDêçlDêçà„,Dêçœà„,DêçœÀ„,DêçœÀ„XDêçÈDêçìà„ˆDêçøà„ˆDêçøÀ„ˆDêçøÀ„DêèDêè$à„ÀDêè0à„ÀDêè0À„ÀRs€ÿÿÿÖDêè0R€ÿÿÿÔÀ„ÈDêè8DêèHà„äDêèTDêèTà„üDêèlà„üDêèlÀ„üRž€ÿÿÿüDêèlR¦€ÿÿÿøR´€ÿÿÿôRÀÿÿÿðRÑ€ÿÿÿìRà€ÿÿÿèRï€ÿÿÿäRþ€ÿÿÿàS €ÿÿÿÜS€ÿÿÿØÀˆtDêëäÀˆ DêìDêì4àˆÐDêì@àˆÐDêì@ÀˆÐDêì@ÀˆüDêìlDêìà‰,Dêìœà‰,DêìœÀ‰,DêìœÀ‰4Dêì¤DêìÈà‰dDêìÔà‰dDêìÔÀ‰dS*€ÿÿÿÖDêìÔS6€ÿÿÿÔÀ‰lDêìÜDêììà‰ˆDêìøDêìøà‰ Dêíà‰ Dêíà‰ DêíDëíà‰´Dìí$SU& C<Sd DSq HÀ‰ÐS|€ÿÿÿüDúí@S‡€ÿÿÿøDûíDS•€ÿÿÿôDüíLÀ‰àÀ‰àDíPÀ‰üDílDíàŠ,DíœàŠ,DíœDíœDí¨àŠDDí´ÀŠDÀŠDS¦€ÿÿÿòD í´S²€ÿÿÿðÀŠLD í¼D íÌàŠhD íØD íØàŠ€D íðD íðÀŠŒSÑ€ÿÿÿòD íüSÝ€ÿÿÿìSë€ÿÿÿêÀŠÈD î8D îHàŠäD îTD îTàŠüD îlàŠüD îlÀŠüÀŠüT €ÿÿÿòD îlT€ÿÿÿðÀ‹D îtD î„à‹ D îD îà‹8D î¨D î¨À‹DT5€ÿÿÿòD î´TA€ÿÿÿìTO€ÿÿÿêÀ‹€D îðD ïà‹œD ï D ï à‹´D ï$à‹´D ï$À‹´À‹´Tn€ÿÿÿòD ï$Tz€ÿÿÿðÀ‹¼D ï,D ï<à‹ØD ïHD ïHà‹ðD ï`D ï`À‹üT™€ÿÿÿòD ïlT¥€ÿÿÿìT³€ÿÿÿêÀŒ8D ï¨D ï¸àŒTD ïÄD ïÄàŒlD ïÜàŒlD ïÜÀŒlÀŒlTÒ€ÿÿÿòDïÜTÞ€ÿÿÿðÀŒtDïäDïôàŒDðDðàŒ¨DðDðÀŒ´Tý€ÿÿÿòDð$U €ÿÿÿìU€ÿÿÿêÀŒðDð`Dðpà Dð|Dð|à$Dð”à$Dð”À$À$U6€ÿÿÿòDð”UB€ÿÿÿðÀ,DðœDð¬àHDð¸Dð¸à`DðÐDðÐÀlUa€ÿÿÿòDðÜUm€ÿÿÿìU{€ÿÿÿêÀ¨DñDñ(àÄDñ4Dñ4àÜDñLàÜDñLÀÜÀÜUš€ÿÿÿòDñLU¦€ÿÿÿðÀäDñTDñdàŽDñpDñpàŽDñˆDñˆÀŽ$UÅ€ÿÿÿòDñ”UÑ€ÿÿÿìU߀ÿÿÿêÀŽ`DñÐDñààŽ|DñìDñìàŽ”DòàŽ”DòÀŽ”ÀŽ”Uþ€ÿÿÿòDòV €ÿÿÿðÀŽœDò DòàޏDò(Dò(àŽÐDò@Dò@ÀŽÜV)€ÿÿÿòDòLV5€ÿÿÿìVC€ÿÿÿêÀDòˆDò˜à4Dò¤Dò¤àLDò¼àLDò¼ÀLÀLVb€ÿÿÿòDò¼Vn€ÿÿÿðÀTDòÄDòÔàpDòàDòààˆDòøDòøÀ”V€ÿÿÿòDóV™€ÿÿÿìV§€ÿÿÿêÀÐDó@DóPàìDó\Dó\àDótàDótÀÀVÆ€ÿÿÿòDótVÒ€ÿÿÿðÀ Dó|DóŒà(Dó˜Dó˜à@Dó°Dó°ÀLVñ€ÿÿÿòDó¼Vý€ÿÿÿìW €ÿÿÿêÀˆDóøDôà¤DôDôà¼Dô,à¼Dô,À¼À¼W*€ÿÿÿòDô,W6€ÿÿÿðÀÄDô4DôDààDôPDôPàøDôhDôhÀ‘WU€ÿÿÿòDôtWa€ÿÿÿìWo€ÿÿÿêÀ‘@Dô°DôÀà‘\DôÌDôÌà‘tDôäà‘tDôäÀ‘tÀ‘tWŽ€ÿÿÿòDôäWš€ÿÿÿðÀ‘|DôìDôüà‘˜DõDõà‘°Dõ Dõ À‘¼W¹€ÿÿÿòDõ,WÅ€ÿÿÿìWÓ€ÿÿÿêÀ‘øDõhDõxà’Dõ„Dõ„à’,Dõœà’,DõœÀ’,À’,Wò€ÿÿÿòDõœWþ€ÿÿÿðÀ’4Dõ¤Dõ´à’PDõÀDõÀà’hDõØDõØÀ’tX€ÿÿÿòDõäX)€ÿÿÿìX7€ÿÿÿêÀ’°Dö Dö0à’ÌDö<Dö<à’äDöTà’äDöTÀ’äÀ’äXV€ÿÿÿòDöTXb€ÿÿÿðÀ’ìDö\Dölà“DöxDöxà“ DöDöÀ“,X€ÿÿÿòDöœX€ÿÿÿìX›€ÿÿÿêÀ“hDöØDöèà“„DöôDöôà“œD÷ à“œD÷ À“œÀ“œXº€ÿÿÿòD÷ XÆ€ÿÿÿðÀ“¤D÷D÷$à“ÀD÷0D÷0à“ØD÷HD÷HÀ“äXå€ÿÿÿòD÷TXñ€ÿÿÿìXÿ€ÿÿÿêÀ” D÷D÷ à”<D÷¬D÷¬à”TD÷Äà”TD÷ÄÀ”TÀ”TY€ÿÿÿòD!÷ÄY*€ÿÿÿðÀ”\D!÷ÌD!÷Üà”xD!÷èD!÷èà”D!øD!øÀ”œYI€ÿÿÿòD!ø YU€ÿÿÿìYc€ÿÿÿêÀ”ØD!øHD!øXà”ôD!ødD!ødà• D!ø|à• D!ø|D#ø|à• D$øY‚& N¨Y˜ DY¥ HÀ•<D/ø¬D0øØD1ùD2ù0D3ù\D4ùˆD5ù´D6ùàD7ú D8ú8D9údD:úD;ú¼D<úèD=ûD>û@D?ûlD@û˜DAû¨DBûÔDCüDDü,DEüXDFü„DGü”DHü¤DLü´à™TDMüÄY°& RÜYÊ DY× HÀ™pDXüàYâ€ÿÿÿüYð€ÿÿÿøYþ€ÿÿÿôÀ™¬À™¬DYýÀš$DYý”DYý¸àšTDYýÄàšTDYýÄD[ýÄÀš|D\ýìD]þÀš´Àš´Àš´D^þ$ÀšÐD^þ@D^þdà›D^þpà›D^þpD^þpD^þxà›D^þ„D^þ„D^þ¤à›TD^þÄD_þÄD`þàà›ŒDaþüà›ŒDbþüà›”DcÿZ Z  DZ4 HZ? LZK PZY TÀ›¨DrÿDrÿà›´Dsÿ$Ze Zv DÀ›ÐZ€ÿÿÿüD}ÿ@ZŽ& »TD€ÿHÀ›àDƒÿPD„ÿpD„ÿtàœ D…ÿ|Àœ D‡ÿ|Àœ$D‡ÿ”D‡ÿ¸àœTD‡ÿÄàœTD‡ÿÄD‰ÿÄZ¬€ÿÿÿøÀœˆZ¼€ÿÿÿôDŠÿøDŒZÉ€ÿÿÿðÀœÔDDàœäDŽTÀœìD\DhD’tÀ À À D”|À(D”˜D”¼àXD”ÈàXD”ÈD”ÈD”ÐàlD”ÜD”ÜD”ôD”à¬D”À¬À¬À¬D•ÀÈD•8D•\àøD•hàøD•hD•hD•tàžD•€ÀžZÙ€ÿÿÿîD•€Zå€ÿÿÿìÀžD•ˆD•˜àž4D•¤D•¤àžLD•¼D•¼àž`D•ÐÀž`Àž`Àž`D–ÐÀž|D–ìD–àž¬D–àž¬D–D–D–(àžÄD–4ÀžÄ[€ÿÿÿîD–4[€ÿÿÿìÀžÐD–@D–PàžìD–\D–\àŸD–tD–tD–˜àŸ<D–¬D—¬D˜¼DšÌàŸ`D›ÐàŸ`DœÐDžÐDžÔàŸlDŸÜ[/ [? D[J H[U LÀŸ[c€ÿÿÿüD²D²ÀŸ°[l€ÿÿÿøD³ Dµ4ÀŸàÀŸàÀŸàÀŸàD¶PÀŸüD¶lD¶à ,D¶œà ,D¶œD¶œD¶¤à @D¶°D¶°D¶Äà hD¶ØD·ØD¸èD¹øà ˜Dºà ˜D»D»D½D½ à ¸D¾([y [ D[› HÀ Ø[¦€ÿÿÿüDÐHDÐLÀ ø[¯€ÿÿÿøDÑhDÓ|À¡(DÔ˜DÕ¸à¡dDÖÔà¡dD×ÔD×ÔDÙèDÙìà¡„DÚô[¼ [Í D[Ø H[ã LÀ¡ DêDê࡬Dë[÷ \ D\ H\ L\1 PÀ¡ÌDù<Dù@à¡ØDúH\E \W D\b H\m LÀ¡ü\{€ÿÿÿüDl\‡€ÿÿÿøDtD xÀ¢À¢D ˆÀ¢4D ¤D Èà¢dD Ôà¢dD ÔD ÔD àà¢|D ìÀ¢|\”€ÿÿÿöD ì\ €ÿÿÿôÀ¢„D ôD ࢠD D ࢸD (D (D<DPDdDhà£Dp\¿ \× D\â H\í L\ù P] TÀ£,]€ÿÿÿü]€ÿÿÿøD#œD%¤À£<D&¬D&´D'¼D'ÄD(ÌD(ÔÀ£lD)ÜÀ£lD)ÜD)ࣜD) ࣜD) D* D*ࣨD+D+D-HÀ£èÀ£èD.XÀ¤D.tD.˜à¤4D.¤à¤4D.¤D.¤D.°à¤LD.¼D/¼D0ÔD1èD3üD3घD4]* ]9 D]D H]O L]\ PÀ¤À]j€ÿÿÿüDA0]v€ÿÿÿøDB8DD@À¤àÀ¤àDEPÀ¤üDElDEà¥,DEœà¥,DEœDEœDE¨à¥DDE´À¥DÀ¥D]‚€ÿÿÿôDF´]Š€ÿÿÿð]˜€ÿÿÿì]§€ÿÿÿè]µ€ÿÿÿä]Ä€ÿÿÿà]Ó€ÿÿÿÜ]â€ÿÿÿØ]ð€ÿÿÿÔ]ÿ€ÿÿÿÐÀ¨¼DF ,À¨èDF XDF |à©DF ˆà©DF ˆÀ©DF ˆÀ©DDF ´DF Øà©tDF äà©tDF äÀ©tDF äÀ©|DF ìDF ੬DF ੬DF À©¬^€ÿÿÿÎDF ^€ÿÿÿÌÀ©´DF $DF 4à©ÐDF @DF @à©èDF Xà©èDF XÀ©è^9€ÿÿÿôDF X^A€ÿÿÿð^O€ÿÿÿì^^€ÿÿÿè^l€ÿÿÿä^{€ÿÿÿà^Š€ÿÿÿÜ^™€ÿÿÿØ^§€ÿÿÿÔ^¶€ÿÿÿÐÀ­`DFÐÀ­ŒDFüDF à­¼DF,à­¼DF,À­¼DF,À­èDFXDF|à®DFˆà®DFˆÀ®DFˆÀ® DFDF´à®PDFÀà®PDFÀÀ®P^Å€ÿÿÿÎDFÀ^Ñ€ÿÿÿÌÀ®XDFÈDFØà®tDFäDFä஌DFü஌DFü஌DFüÀ®Œ^ð€ÿÿÿöDGü^ü€ÿÿÿôÀ®”DGDGà®°DG DG à®ÈDG8DH8DILDJ`DLtDLxà¯DM€_ _/ D_: H_E L_R P__ T_l X_y \_ˆ `À¯@_ž€ÿÿÿüD[°_­€ÿÿÿøD\¸_Á€ÿÿÿô_΀ÿÿÿðD^ÀD`ÈÀ¯hÀ¯hDaØÀ¯„DaôDa௴Da$௴Da$Da$Da0à¯ÌDa<À¯ÌÀ¯Ì_Ú€ÿÿÿìDb<_â€ÿÿÿè_ð€ÿÿÿä_ÿ€ÿÿÿà` €ÿÿÿÜ`€ÿÿÿØ`+€ÿÿÿÔ`:€ÿÿÿÐ`H€ÿÿÿÌ`W€ÿÿÿÈÀ³DDb´À³pDbàDbà³ Dbà³ DbÀ³ DbÀ³ÌDb<Db`à³üDblà³üDblÀ³üDblÀ´DbtDb˜à´4Db¤à´4Db¤À´4`f€ÿÿÿÆDb¤`r€ÿÿÿÄÀ´<Db¬Db¼à´XDbÈDbÈà´pDbàà´pDbàÀ´p`’€ÿÿÿìDbà`š€ÿÿÿè`¨€ÿÿÿä`·€ÿÿÿà`Å€ÿÿÿÜ`Ô€ÿÿÿØ`ã€ÿÿÿÔ`ò€ÿÿÿÐa€ÿÿÿÌa€ÿÿÿÈÀ·èDbXÀ¸Db„Db¨à¸DDb´à¸DDb´À¸DDb´À¸pDbàDbภDbภDbÀ¸ DbÀ¸¨DbDb<à¸ØDbHà¸ØDbHÀ¸Øa€ÿÿÿÆDbHa*€ÿÿÿÄÀ¸àDbPDb`à¸üDblDblà¹Db„à¹Db„à¹Db„À¹À¹aJ€ÿÿÿìDc„aR€ÿÿÿèa`€ÿÿÿäao€ÿÿÿàa}€ÿÿÿÜaŒ€ÿÿÿØa›€ÿÿÿÔaª€ÿÿÿÐa¸€ÿÿÿÌaÇ€ÿÿÿÈÀ¼ŒDcüÀ¼¸Dc (Dc Là¼èDc Xà¼èDc XÀ¼èDc XÀ½Dc „Dc ¨à½DDc ´à½DDc ´À½DDc ´À½LDc ¼Dc àà½|Dc ìà½|Dc ìÀ½|aÖ€ÿÿÿÆDc ìaâ€ÿÿÿÄÀ½„Dc ôDc!འDc!Dc!ླྀDc!(ླྀDc!(À½¸b€ÿÿÿìDc!(b €ÿÿÿèb€ÿÿÿäb'€ÿÿÿàb5€ÿÿÿÜbD€ÿÿÿØbS€ÿÿÿÔbb€ÿÿÿÐbp€ÿÿÿÌb€ÿÿÿÈÀÁ0Dc$ ÀÁ\Dc$ÌDc$ðàÁŒDc$üàÁŒDc$üÀÁŒDc$üÀÁ¸Dc%(Dc%LàÁèDc%XàÁèDc%XÀÁèDc%XÀÁðDc%`Dc%„à Dc%à Dc%À bŽ€ÿÿÿÆDc%bš€ÿÿÿÄÀÂ(Dc%˜Dc%¨àÂDDc%´Dc%´àÂ\Dc%ÌàÂ\Dc%ÌàÂ\Dc%ÌÀÂ\ÀÂ\bº€ÿÿÿìDd%Ìb€ÿÿÿèbЀÿÿÿäb߀ÿÿÿàbí€ÿÿÿÜbü€ÿÿÿØc €ÿÿÿÔc€ÿÿÿÐc(€ÿÿÿÌc7€ÿÿÿÈÀÅÔDd)DÀÆDd)pDd)”àÆ0Dd) àÆ0Dd) ÀÆ0Dd) ÀÆ\Dd)ÌDd)ðàÆŒDd)üàÆŒDd)üÀÆŒDd)üÀÆ”Dd*Dd*(àÆÄDd*4àÆÄDd*4ÀÆÄcF€ÿÿÿÆDd*4cR€ÿÿÿÄÀÆÌDd*<Dd*LàÆèDd*XDd*XàÇDd*pàÇDd*pÀÇcr€ÿÿÿìDd*pcz€ÿÿÿècˆ€ÿÿÿäc—€ÿÿÿàc¥€ÿÿÿÜc´€ÿÿÿØcÀÿÿÿÔcÒ€ÿÿÿÐcà€ÿÿÿÌcï€ÿÿÿÈÀÊxDd-èÀʤDd.Dd.8àÊÔDd.DàÊÔDd.DÀÊÔDd.DÀËDd.pDd.”àË0Dd. àË0Dd. ÀË0Dd. ÀË8Dd.¨Dd.ÌàËhDd.ØàËhDd.ØÀËhcþ€ÿÿÿÆDd.Ød €ÿÿÿÄÀËpDd.àDd.ðàËŒDd.üDd.üàˤDd/àˤDd/àˤDd/Àˤd*€ÿÿÿîDe/d6€ÿÿÿìÀ˰De/ De/0àËÌDe/<De/<àËäDe/TÀËädV€ÿÿÿîDf/Tdb€ÿÿÿìÀËðDf/`Df/pàÌ Df/|Df/|àÌ$Df/”ÀÌ$d‚€ÿÿÿîDg/”dŽ€ÿÿÿìÀÌ,Dg/œDg/¬àÌHDg/¸Dg/¸àÌ`Dg/ÐÀÌ`d®€ÿÿÿîDh/Ðdº€ÿÿÿìÀÌhDh/ØDh/èàÌ„Dh/ôDh/ôàÌœDh0 Dj0 Dj00Dk0LDm0„Do0˜Do0œàÍ4Dp0¤dÚ dñ Ddü He Le PÀÍ`e €ÿÿÿüD0ÐDƒ0ØÀÍpÀÍpe,€ÿÿÿøD0àD0äÀÍD1D1D1DàÎ D1|D1|àÎ D1D‘1ÀÎ(e5€ÿÿÿøD“1˜D“1œÀÎHD“1¸D“1ÔD“1üàÎÄD“24D“24àÎØD“2HD”2HÀÎàe>€ÿÿÿøD–2PD–2TÀÏD–2pD–2ŒD–2´àÏ|D–2ìD–2ìàÏD–3D—3ÀϘeG€ÿÿÿøD™3D™3 ÀϸD™3(D™3DD™3làÐ4D™3¤D™3¤àÐHD™3¸Dš3¸ÀÐPD›3ÀÀÐPD›3ÀD›3äàЀD›3ðàЀD›3ðDœ3ðDœ3ôàÐŒD3üD3üDŸ4LDŸ4PàÐèD 4XeP ec Den HÀÑD¯4pD¯4tàÑ D°4|ey e De› He¦ Le² PÀÑ4e¾€ÿÿÿüD¾4¤DÀ4¬ÀÑDÀÑDeÊ€ÿÿÿøDÍ4´DÍ4¸ÀÑdDÍ4ÔDÍ4ìDÍ5àÑÜDÍ5LDÍ5LàÑðDÍ5`DÎ5`ÀÑøeÓ€ÿÿÿøDÐ5hDÐ5lÀÒDÐ5ˆDÐ5 DÐ5ÈàÒDÐ6DÐ6àÒ¤DÐ6DÑ6ÀÒ¬eÜ€ÿÿÿøDÓ6DÓ6 ÀÒÌDÓ6<DÓ6TDÓ6|àÓDDÓ6´DÓ6´àÓXDÓ6ÈDÔ6ÈÀÓ`eå€ÿÿÿøDÖ6ÐDÖ6ÔÀÓ€DÖ6ðDÖ7DÖ70àÓøDÖ7hDÖ7hàÔ DÖ7|D×7|ÀÔeî€ÿÿÿøDÙ7„DÙ7ˆÀÔ4DÙ7¤DÙ7¼DÙ7äàÔ¬DÙ8DÙ8àÔÀDÙ80DÚ80ÀÔÈe÷€ÿÿÿøDÜ88DÜ8<ÀÔèDÜ8XDÜ8pDÜ8˜àÕ`DÜ8ÐDÜ8ÐàÕtDÜ8äDÝ8äÀÕ|f€ÿÿÿøDß8ìDß8ðÀÕœDß9 Dß9$Dß9LàÖDß9„Dß9„àÖ(Dß9˜Dà9˜ÀÖ0f €ÿÿÿøDâ9 Dâ9¤ÀÖPDâ9ÀDâ9ØDâ:àÖÈDâ:8Dâ:8àÖÜDâ:LDã:LÀÖäf€ÿÿÿøDå:TDå:XÀ×Då:tDå:ŒDå:´à×|Då:ìDå:ìà×Då;Dæ;Dè;À×°f€ÿÿÿøDé; Dé;$À×ÐDé;@Dé;XDé;€àØHDé;¸Dé;¸àØ\Dé;ÌÀØ\f$€ÿÿÿøDê;ÌDê;ÐÀØ|Dê;ìDê<Dê<,àØôDê„D÷>ˆàÛ Dø>f6 fJ DfU Hf` LÀÛDfo€ÿÿÿüD>´D>¸ÀÛdD>ÔD >üÀÛ´D ?$D ?\àÜ$D ?”àÜ$D ?”D ?”D?¨D?¬àÜDD?´fw f‹ Df– Hf¡ Lf® PÀÜlf½€ÿÿÿüfÆ€ÿÿÿôfÕ€ÿÿÿìD#?ÜÀÜ„D$?ôàÜ”D%@ÀÜœD&@ D'@$àÜÌD(@<D*@<D*@@ÀÜìD+@\D,@¬D-@ÄD.@ÜD/@ôD1A ÀÝÄD2A4D3AlàÞ4D4A¤àÞ4D5A¤D5A¤D7A¸D7A¼àÞTD8AÄfæ fü Dg Hg LÀÞ|g!€ÿÿÿüDFAìDFAðÀÞœDGB DHB$DIBLàßDJB„DJB„DLB˜DLBœàß4DMB¤g) g@ DgK HgV LÀßXgo€ÿÿÿüD[BÈD[BÌÀßxD\BèD]CD^C8àßäD_CTD_CTDaChDaClààDbCtgx g Dgš Hg¥ LÀà,g´€ÿÿÿüDpCœDpC ÀàLDqC¼DrCÔDsCüààÄDtD4DtD4DvDHDvDLààäDwDTg½ gÒ DgÝ HÀáD‚Dtgè€ÿÿÿügö€ÿÿÿøh€ÿÿÿôÀá@h€ÿÿÿðDƒD°D…DÄD†Dààá€D‡DðD‰DøD‰Düàá”DŠEh h5 Dh@ HÀá´D•E$hK€ÿÿÿühY€ÿÿÿøhg€ÿÿÿôÀáðhu€ÿÿÿðD–E`D˜EtD™Eàâ0DšE DœE¨DœE¬àâDDE´h‚ h“ Dhž HÀâdD¨EÔh©€ÿÿÿüh·€ÿÿÿøhÅ€ÿÿÿôÀâ hÓ€ÿÿÿðD©FD«F$D¬F@àâàD­FPD¯FXD¯F\àâôD°Fdhà hù Di Hi Li Pi& Ti2 Xi? `Àã DÂF|DÂF€àãDÃFˆiM ib Dim Hix Liƒ PÀã0DÓF DÓF¤àã<DÔF¬iš i¯ Diº HiÅ LiРPÀãTDäFÄDäFÈàã`DåFÐiæ iú Dj Hj Lj PÀãxDõFèDõFìàã„DöFôj2 jF DjQ Hj\ Ljg PÀã¬js€ÿÿÿüj|€ÿÿÿøDGDG$DG(DGDD GlD G¤D G¨àä@D G°jˆ jš Dj¥ Hj° LÀä`DGÐjÇ€ÿÿÿüjÕ€ÿÿÿøjã€ÿÿÿôÀäœjñ€ÿÿÿðDH DH DH<àäÜDHLD HTD HXàäðD!H`jþ k Dk Hk' Lk3 PÀåD4H€kA€ÿÿÿükO€ÿÿÿøk]€ÿÿÿôÀåLkk€ÿÿÿðD5H¼D7HÐÀå|Àå|Àå|Àå|D8HìÀå˜D8ID8I,àåÈD8I8àåÈD8I8D8I8D8I@àåÜD8ILD8ILD8I`àæD8ItD9ItD:I„D;I”àæ4D<I¤àæ4D=I¤D?I¬D?I°àæHD@I¸kx kŒ Dk— Hk¢ Lk­ PÀæ`DOIÐDOIÔàælDPIÜk¸ kÍ DkØ Hkã Lkï PÀæ„D`IôD`IøàæDaJl l0 Dl; HlF LlR Pl^ TÀæ¨DrJDrJàæ´DsJ$lj l~ Dl‰ Hl” Ll  PÀæÐDƒJ@DƒJDàæÜD„JLl® lÆ DlÑ HlÜ Llè PÀæøD”JhD”JlàçD•Jtlú m Dm Hm$ Lm0 PÀçD¥JŒD¥Jàç(D¦J˜m< mS Dm^ Hmi Lmu PÀçDD¶J´D¶J¸àçPD·JÀmƒ m• DÀçlm €ÿÿÿüDÁJÜDÃJäÀç¨m­€ÿÿÿøDÄKDÆK$ÀçÐÀçÐDÇK@Àè$DÇK”DÇK¸àèTDÇKÄàèTDÇKÄÀèTÀèTÀèTDÈKÄÀèpDÈKàDÈLàè DÈLàè DÈLDÈLDÈLàè´DÈL$DÈL$DÈL8àèÜDÈLLÀèÜÀèÜÀèÜDÉLLÀèøDÉLhDÉLŒàé(DÉL˜àé(DÉL˜DÉL˜DÉL àé<DÉL¬DÉL¬DÉLÀàédDÉLÔDËLÔmº€ÿÿÿôDÌMLàéàDÍMPDÏMPDÐM`àéøDÑMhDÓMhDÓMlàêDÔMtmÈ&»”mÞ&»˜mï&»œn þn*M€n1wn<PDnGQ@nVטn]×Ündרnr×£nyvn†M€n‘Øn–dM€nÄdM€nË€nõ€o€o1€o\€o€o¥€oÆ€oè€p €p6€ph€p›€pµ€pЀpñ€qÂÓqÂq4ÂqLÂ7sqzÂ"—q¤ÂUžq½ÂqÙÂqöÂ[rÂr'Âr@ÂrWÂroÂrÂ#TrÇÂròÂsÂs. ‚PsNÂsgÂ&ws„Âs¥ÂsÆÂ ásдsûÂÎt Â’ütªUt&Ât/ÂÌ-t;“,tHÂtXÂtcÂ]tq‚¢tz‚*½tŠ€ˆuu€ˆuò€ˆv<€ˆvM€v\€vk€¢v~& טvŸ&2×£vÀ&רvÔ& ×Üvõ&טw DÀDJMÀDOM˜DOMœDcM¤DcM¨DlM°DlM´DoM¼DoMÀDtMÈDtMÌDwMÔDwMØDzMàDzMäD€MìD€MðDƒMøDƒMüD†ND†ND‰ND‰NDŒNDŒN DN(DN,D“N4D“N8D–N@D–NDD™NLD™NPDœNXDœN\D¡NdD¡NhD¤NpD¤NtD§N|D§N€DªNˆDªNŒàD«N”D«N”à¸D¬P8w&Ú\w# DÀÔw/€ÿÿÿüD¸PTw7€ÿÿÿøwC€ÿÿÿôwO€ÿÿÿðD¹PèD¹PìDºPôD»QD¼QD¼Q D¾Q(D¾Q,à´D¿Q4w]&ÛXwr Dw~ HwŠ Lw˜ PÀÜw¦€ÿÿÿüwº€ÿÿÿøw΀ÿÿÿôwá€ÿÿÿðwö€ÿÿÿìx €ÿÿÿèx€ÿÿÿäx1€ÿÿÿàxE€ÿÿÿÜx[€ÿÿÿØxq€ÿÿÿÔx‡€ÿÿÿÐxž€ÿÿÿÌx´€ÿÿÿÈxÊ€ÿÿÿÄx߀ÿÿÿÀxó€ÿÿÿ¼y€ÿÿÿ¸y€ÿÿÿ´y5€ÿÿÿ°y=€ÿÿÿ¬yE€Pÿÿÿ\yg€ÿÿÿXDáQ\DãQdDåQtÀ DæQŒDæQÀ,DçQ¬DèQÌÀhDéQèDéQìàtDêQôDëQôÀ”DìRDìRà DíR à DîR DîR DïR4DïR8àÀDðR@DñR@ÀÈDöRHD÷RPD RXD R`ÀD R€DR„à DRŒDRŒDR¨DR°DR¸ÀXDRØDRÜàdDRäDRäD SD!SD"S ÀÀD#S@D$SDàÌD%SLD&SLD'SlD*StD+S|D,SŒÀ,D-S¬D.S°à8D/S¸D0S¸D1SÔD2SìD3SôÀ”D4TD5Tà D6T D7T D8T@D9TXD:T`ÀD;T€D<T„à D=TŒD>TŒD>T”À4D?T´D@TÜDATôDBTüÀ DCU DDU$à¬DEU,à¬DFU,DFU,DGU@DHUPDMUXDNU`DOUpÀDPUDQU”àDRUœDSUœDTU¸DUUÐDVUØDVUÜÀ|DWUüÀœDXVDYV à¨DZV(D[V(D\VTD]VlD^VtÀ D_V”D`V˜à DaV DbV DcVÐDdVèà pDeVðDeVðDfWDiW DjWDkW$À ÄDlWDDmWHà ÐDnWPDoWPDpWlDqW„DrWŒÀ ,DsW¬DtW°à 8DuW¸DvW¸DwWÐDxWÔDyWôDzX D{XÀ ´D|X4D}X8à ÀD~X@DX@D€XXDX\D‚X|DƒX”D„XœÀ <D…X¼D†XÀà HD‡XÈDˆXÈD‰XèDŠYD‹YÀ ¨DŒY(DY,à ´DŽY4DY4DY<À ÜDY\D‘Y„À (D’Y¨D“Y¬à 4D”Y´D•Y´D–YÌà TD—YÔD—YÔD˜YèD™YøDœZDZDžZÀ ¸DŸZ8D Z<à ÄD¡ZDD¢ZDD£Z`D¤ZxD¥Z€À D¦Z D§Z¤à ,D¨Z¬D©Z¬DªZÌD«ZäD¬ZìÀ ŒD­[ D®[à ˜D¯[D°[D±[8D²[PD³[XÀ øD´[xDµ[|àD¶[„D·[„D¸[¤D¹[¼Dº[ÄÀdD»[äD¼[èàpD½[ðD¾[ðD¿\DÀ\(DÁ\0ÀÐDÂ\PDÃ\TàÜDÄ\\DÅ\\DÆ\|DÇ\”DÈ\œÀ<DÉ\¼DÊ\ÀàHDË\ÈDÌ\ÈDÍ\èDÎ]DÏ]À¨DÐ](DÑ],à´DÒ]4DÓ]4DÔ]TDÕ]lDÖ]tD×]D×]”À0DØ]°ÀPDÙ]ÐDÚ]Ôà\DÛ]ÜDÜ]ÜDÝ^DÞ^ à¨Dß^(Dß^(Dà^<Dæ^DDç^LÀìDè^lDé^pàøDê^xDë^xDì^”Dï^œDð^¤ÀDDñ^ÄDò^ÈàPDó^ÐDô^ÐDõ^ìDö_D÷_ À¬Dø_,Dù_0à¸Dú_8Dû_8Dü_XDý_pDþ_xÀDÿ_˜D_œà$D_¤D_¤D_ÄD_ÜD_äÀ„D`D`àD`D `D `0D `8D`@ÀàD``D`dàìD`lD`lD`ˆD` D`¨ÀHD`ÈD`ÌàTD`ÔD`ÔD`ôDa DaÀ´Da4Da8àÀDa@D a@D!a`D"axD#a€À D$a D%a¤à,D&a¬D'a¬D(aÌD+aÔD,aÜÀ|D-aüD.bàˆD/bD0bD1b$D2b<D3bDÀäD4bdD5bhàðD6bpD7bpD8bD;b˜D<b D<b¤À<D=b¼À\D>bÜD?bààhD@bèDAbèDBcDCc(à°DDc0DDc0DEcDDIcLDJcTÀôDKctDLcxàDMc€DNc€DOcœDPc´DQc¼À\DRcÜDScààhDTcèDUcèDVdDWd DXd(ÀÈDYdHDZdLàÔD[dTD\dTD]dtD^dŒD_d”À4D`d´Dad¸à@DbdÀDcdÀDddàDgdèDhdðÀDieDjeàœDkeDleDme8DnePDoeXÀøDpexDqe|àDre„Dse„Dte¤Due¼DveÄÀdDweäDxeèàpDyeðDzeðD{fD|f(D}f0ÀÐD~fPDfTàÜD€f\Df\D‚f|Dƒf”D„fœÀ<D…f¼D†fÀàHD‡fÈDˆfÈD‰fèDŠgD‹gÀ¨DŒg(Dg,à´DŽg4Dg4DgTD“g\D”gdÀD•g„D–gˆàD—gD˜gD™g¬DšgÄD›gÌÀlDœgìDgðàxDžgøDŸgøD hD¡h0D¢h8ÀØD£hXD¤h\àäD¥hdD¦hdD§h„D¨hœD©h¤ÀDDªhÄD«hÈàPD¬hÐD­hÐD®hðD±høD²iÀ D³i D´i$à¬Dµi,D¶i,D·iHD¸i`D¹ihÀDºiˆD»iŒàD¼i”D½i”D¾i´D¿iÌDÀiÔÀtDÁiôDÂiøà€DÃjDÄjDÅj DÆj8DÇj@DÈjPDÉjlDÉjpÀ DÊjŒÀ,DËj¬DÌj°à8DÍj¸DÎj¸DÏjäDÐjüà„DÑkDÑkDÒkDÕk DÖk(ÀÈD×kHDØkLàÔDÙkTDÚkTDÛkpDÜkˆDÝkÀ0DÞk°Dßk´à<Dàk¼Dák¼DâkÜDãkôDäküÀœDålDæl à¨Dçl(Dèl(DélHDêl`DëlhÀDìlˆDílŒàDîl”Dïl”Dðl´Dõl¼DölÄÀdD÷läDølèàpDùlðDúlðDûm Düm$Dým,ÀÌDþmLDÿmPàØDmXDmXDmxDmDm˜À 8Dm¸Dm¼à DDmÄDmÄD mäD müD nÀ ¤D n$D n(à °Dn0Dn0DnPDnXDn`À!Dn€Dn„à! DnŒDnŒDn¨DnÀDnÈÀ!hDnèDnìà!tDnôDnôD oD!o,D"o4À!ÔD#oTD$oXà!àD%o`D&o`D'o€D(o˜D)o À"@D*oÀD+oÄà"LD,oÌD-oÌD.oìD/pD0p À"¬D1p,D2p0à"¸D3p8D4p8D5pXD6ppD7pxÀ#D8p˜D9pœà#$D:p¤D;p¤D<pÄD=pÜD>päÀ#„D?qD@qà#DAqDBqDCq0DFq8DGq@À#àDHq`DIqdà#ìDJqlDKqlDLqˆDMq DNq¨À$HDOqÈDPqÌà$TDQqÔDRqÔDSqôDVqüDWrà$ˆDXrDXrDZs¬À&DD[sÄÀ&`D\sàD\säà&lD]sìÀ&lD^sìD^sðà&xD_søà&xD`søDbsøDbsüà&„Dctyu y‡ DÀ& y›€ÿÿÿüy£€ÿÿÿøDnt y°€ÿÿÿôDot,Dqt8DrtLÀ&èDsthDtttDut€DvtŒDvtà'Dwt˜Dxt˜DxtœDyt¼DztôD{u$D{u(D|u0À'ÌD}uLD~uXDudD€upD€utà'üDu|D‚u|DƒuœDƒu D„u¨D…uØD…uÜD†uäDˆuìDˆuðà(xD‰uøy»& À(y΀ÿÿÿüD’vyÝ€eÿÿÿ—yè&)×èD–vD˜v$D™v<D›vTÀ(ôz €ÿÿÿDœvtDžvˆÀ) DŸv D¡vÀà)hD¢vèà)hD£vèD¥vèD¥vðà)xD¦vøz& À)z&€ÿÿÿüD¯wz2& ØD³w DµwLDµwTà)ÜD¶w\zQ zd Dzo Hzz Lz† Pz” TÀ*z €ÿÿÿüzª€ÿÿÿøDÇwˆDÉw°DÉw´À*Pz²€ÿÿÿôDÊwÐDÌwèDÍxDÍxDÎx$DÏxXà*ìDÐxlDÐxlDÒx€DÒx„à+ DÓxŒz½ zÏ DzÚ HÀ+,zè€ÿÿÿüDøx¬zõ€ÿÿÿøDùx¸DûxÄÀ+`DýxàDþyÀ+¤Dÿy$Dy0DyHDyLà+ÔDyTÀ+ÔDyTÀ, DyŒDy¤Dy¨à,0Dy°à,0Dy°À,0Dy°À,LDyÌDyäDyèà,pDyðà,pDyðà,pDyðÀ,xD yøà,ŒD z D z D zà,˜D z{ { D{ HÀ,¸{'€ÿÿÿüDz8Dz@{4€ÿÿÿøÀ,ô{B€ÿÿÿôDztDz€{O€ÿÿÿðÀ-<{]€ÿÿÿìD z¼{h€ÿÿÿèD#zÈD$zÐD%zØD&zàD'zìD)zøD)züÀ-”D*{D+{8D,{xà.D-{€D-{€D/{”À.,D0{¬D2{´D2{¸À.PD3{ÐD4{ôD5|4à.¼D6|<D6|<D8|PÀ.èD9|hD;|pD;|tÀ/ D<|ŒD=|°D>|ðà/xD?|øD?|øDA} À/¤DB}$DJ},À2 DLŒDLÀ2(DM¨DNÈDOÐDPôDQ€4à2¼DR€<DR€<DT€PÀ2èDU€hDV€pDV€tÀ 3 DW€ŒDX€°DY€ðà 3xDZ€øDZ€øD\ À 3¤D]$D^,à 3°D_0à3°D`0à3°Da0à3°Db0à3°Dc0à3°Dd0à3°De0Dg0DhHà3ÔDiTDkTDkXà3àDl`{p { DÀ3ü{Œ€ÿÿÿüDv|Dx„À48Dy¸DzØ{™€ÿÿÿøD{‚XD|‚\D}‚là4ôD~‚tD€‚tD€‚xà5D‚€{¥ {µ DÀ5{À€ÿÿÿüD‹‚œÀ5$D‚¤À5<D‚¼D‚àà5lD‚ìà5lD‚ìD‚ì{Í€ÿÿÿøÀ5 {Û€ÿÿÿôDƒ D’ƒ<À5ÔD“ƒTD”ƒdD—ƒpD¡ƒ¨D¢ƒðD¤„D¥„0à6´D¦„4D¨„4D©„Là6ÜDª„\D¬„\D¬„`à6èD­„h{æ {÷ DÀ7|€ÿÿÿüD·„„D¹„ŒÀ7@Dº„ÀD»„à|€ÿÿÿøD¼…`D½…dD¾…tà7üD¿…|DÁ…|DÁ…€à8DÂ…ˆ| |* D|5 H|@ LÀ80|N€ÿÿÿüDÑ…°DÓ…àDÓ…äÀ8€|X€ÿÿÿøDÔ†DÚ†|c€ÿÿÿôà8ðDÛ†pDÛ†pD݆„D݆ˆà9DÞ†|o |… D| HÀ90|›€ÿÿÿüD놰Dí†ØDí†ÜÀ9x|¥€ÿÿÿøDî†øDð‡à9¸Dñ‡8Dñ‡8Dó‡LDó‡Pà9ØDô‡X|° |À D|Ë H|Ö LÀ:|ê€ÿÿÿüD‡€D‡°D‡´À:P|ô€ÿÿÿøD‡ÐD ‡è|ÿ€ÿÿÿôà:ÀD ˆ@D ˆ@DˆTDˆXà:àDˆ`} } D}% H}0 L}D PÀ;}X€ÿÿÿü}b€ÿÿÿø}n€ÿÿÿôD ˆD!ˆ¨D"ˆ´D#ˆÌD$ˆÜD%ˆôD'‰D)‰ D*‰$D,‰0D2‰8D4‰pD4‰tÀ<}z€ÿÿÿðD5‰D7‰¨à€ÿÿÿüDs‹pDu‹ Du‹¤À>@~H€ÿÿÿøDv‹ÀD|‹Øà> D}Œ D}Œ DŒ4DŒ\DŒ`À>ü~S€ÿÿÿø~[€ÿÿÿôDƒŒ|D…Œ”D…Œ˜À?4D†Œ´D‡à?ŒDˆ Dˆ D‰ à?´DŠ4DŠ4DŒHDŒLà?ÔDT~f ~t D~ H~Š L~— PÀ?ü~¥€ÿÿÿü~¯€ÿÿÿøD|~¼€ÿÿÿôD£¸D¥üD¥ŽÀ@œ~É€ÿÿÿðD¦ŽD¯Ž4àA D°Ž D°Ž D²Ž´D²ޏàA@D³ŽÀ~Ô ~ç D~ò H~ý L  P T$ X/ \> `ÀApS€ÿÿÿü]€ÿÿÿøe€ÿÿÿôm€ÿÿÿðDÄŽðDÏ DÑŒDÑÀB,x€ÿÿÿìDÒ¬DßÄDàŒDàDá°Dá´DâÐDãðDä‘PàCäDå‘dDå‘dDç‘xDç‘|àDDè‘„ƒ ™ D¤ H¯ L» PÀD0È€ÿÿÿüDú‘°Dü‘àDü‘äÀD€Ò€ÿÿÿøDý’Dÿ’àDÄD’DD’DD’XD’\àDäD’dÝ ï Dú HÀE€€ÿÿÿüD’„D’¬D’°ÀEL€€ÿÿÿøD’ÌD’äàEŒD“ D“ D“ D“$àE¬D“,€ €0 D€; H€F L€R PÀEÔ€^€ÿÿÿüD-“TD/“„D/“ˆÀF$€h€ÿÿÿøD0“¤D2“¼àFhD3“èD3“èD5“üD5”àFˆD6”€s €† D€‘ H€œ LÀF¬€«€ÿÿÿü€µ€ÿÿÿøDE”,DF”HDG”TDH”pDJ”€DP”ˆDR”ÀDR”ÄÀG`€À€ÿÿÿôDS”àDU”øàG¬DV•,DV•,DX•@DX•DàGÌDY•L€Ë €Þ D€é H€ô L PÀGô€ÿÿÿü€ÿÿÿô)€ÿÿÿìDh•tÀH Di•ŒàHDj•œÀH$Dk•¤Dl•¼àHTDm•ÔDt•ÔDv–$Dv–(ÀHÄ:€ÿÿÿèDw–DD€–\àILD–ÌD–ÌDƒ–àDƒ–äàIlD„–ìE Z De Hp LÀI”€ÿÿÿü‰€ÿÿÿøD“—D”—,D•—8D–—PD——`D˜—xDš—ˆDŸ—D¡—ÀD¡—ÄÀJ`–€ÿÿÿôD¢—àD¤—øàJ¤D¥˜$D¥˜$D§˜8D§˜<àJÄD¨˜D¡ · D HÍ LÀJèå€ÿÿÿüï€ÿÿÿøù€ÿÿÿôD·˜hD¸˜„D¹˜Dº˜¬D»˜¼D¼˜ØD¾˜èDÀ˜ðDÁ™ D™DÙ4DÄ™DDÅ™`DÆ™pDÇ™ŒDÈ™œDÉ™¸DË™ÈDÑ™ÐDÓšDÓš ÀL¨‚€ÿÿÿðDÔš(DÞš@DßšpDáš àMPDâšÐDâšÐDäšäDäšèàMpDåšð‚ ‚$ D‚/ H‚: LÀM˜‚I€ÿÿÿü‚S€ÿÿÿøDô›Dõ›0Dö›<D÷›TDø›dDù›|Dû›ŒD›”D›ÄD›ÈÀNd‚b€ÿÿÿôD›äD›üàN¨Dœ(Dœ(Dœ<Dœ@àNÈD œH‚m ‚ D‚Œ HÀNè‚—€ÿÿÿüDœhDœ¸Dœ¼ÀOX‚¡€ÿÿÿøDœØD%œðàOðD&pD&pD(„D(ˆàPD)‚¬ ‚Á D‚Ì HÀP0‚×€ÿÿÿüD:°D<èD<ìÀPˆ‚á€ÿÿÿøD=žDAž àPøDBžxDBžxDDžŒDDžàQDEž˜‚ì ‚ü Dƒ HÀQ8ƒ€ÿÿÿüDaž¸DcŸtDcŸxÀRƒ€ÿÿÿøDdŸ”DvŸ¬ƒ'€ÿÿÿôƒ4€ÿÿÿðƒA€ÿÿÿìƒN€ÿÿÿèƒ[€ÿÿÿäƒh€ÿÿÿàƒu€ÿÿÿ܃‚€ÿÿÿ؃€ÿÿÿÔƒœ€ÿÿÿЃ©€ÿÿÿ̃¶€ÿÿÿȃÀÿÿÿÄàU$Dw¢¤Dw¢¤Dy¢¸Dy¢¼àUDDz¢ÄƒÐ ƒè Dƒó Hƒþ L„  P„ T„! X„. `ÀUt„<€ÿÿÿüD¢ôD’£DD’£HÀUä„F€ÿÿÿøD“£dDœ£|àV@D£ÀD£ÀDŸ£ÔDŸ£ØàV`D £à„Q „e D„p H„{ L„† PÀVˆ„œ€ÿÿÿü„¦€ÿÿÿøD°¤D±¤$D²¤0D³¤LDµ¤\D¿¤dDÁ¤ÌDÁ¤ÐÀWl„±€ÿÿÿôD¤ìDÆ¥àWìDÇ¥lDÇ¥lDÉ¥€DÉ¥„àX DÊ¥Œ„¼ „РD„Û H„æ L„ñ PÀX4…€ÿÿÿü…€ÿÿÿøDÚ¥´DÛ¥ÐDÜ¥ÜDÝ¥øDÞ¦Dߦ$Dá¦4Dé¦<D릌Dë¦ÀY,…€ÿÿÿôD즬Dõ¦ÄàYŒDö§ Dö§ Dø§ Dø§$àY¬Dù§,…* …= D…H H…S L…^ PÀYÔ…t€ÿÿÿü…~€ÿÿÿø…‰€ÿÿÿôD §TD§pD§´D§¸ÀZT…‘€ÿÿÿðD§ÔD§ìD¨@D¨DD¨`D ¨œà[0D!¨°D!¨°D#¨ÄD#¨Èà[PD$¨Ð…œ …¯ D…º H…Å L…РPÀ[x…Ü€ÿÿÿüD9¨øD;©HD;©LÀ[è…æ€ÿÿÿøD<©hDE©€à\`DF©àDF©àDH©ôDH©øà\€DIª…ñ † D†  H† LÀ\¤†.€ÿÿÿüD]ª$D_ªtD_ªxÀ]†8€ÿÿÿøD`ª”Diª¬à]¬Dj«,Dj«,Dl«@Dl«Dà]ÌDm«L†C †U D†` H†k L†w PÀ]ô†„€ÿÿÿüD‚«tD„«ÄD„«ÈÀ^d†Ž€ÿÿÿøD…«äDŽ«üà^üD¬|D¬|D‘¬D‘¬”à_D’¬œ†™ †¬ D†· H†Â L†Í PÀ_D†Ø€ÿÿÿüD¤¬ÄD¦¬üD¦­À_œ†â€ÿÿÿøD§­D®­4à_äD¯­dD¯­dD±­xD±­|à`D²­„†í ‡ D‡  H‡ L‡# PÀ`,‡M€ÿÿÿüDÊ­¬DË® DË®$À`À‡W€ÿÿÿøDÌ®@DØ®XàahDÙ®èDÙ®èDÛ®üDÛ¯àaˆDܯ‡b ‡v D‡ H‡Œ L‡˜ P‡¤ TÀa´‡°€ÿÿÿüDî¯4Dð¯lDð¯pÀb ‡º€ÿÿÿøDñ¯ŒDø¯¤àbTDù¯ÔDù¯ÔDû¯èDû¯ìàbtDü¯ô‡Å ‡Ø D‡ã H‡î L‡ú PÀb ˆ€ÿÿÿüD ° D °XD °\Àbøˆ€ÿÿÿøD °xD °ˆ€ÿÿÿôàclD °ìD °ìD ±D ±àcŒD ± ˆ* ˆA DˆL HˆW Lˆc PÀc¸ˆu€ÿÿÿüD 0±8D 2±pD 2±tÀdˆ€ÿÿÿøD 3±D :±¨ˆŠ€ÿÿÿôàd„D ;²D ;²D =²D =²àd¤D >²$ˆ— ˆª Dˆµ HˆÀ LˆÌ PÀdЈ؀ÿÿÿüD Q²PD S²ˆD S²ŒÀe(ˆâ€ÿÿÿøD T²¨D [²ÀàexD \²øD \²øD ^³ D ^³àe˜D _³ˆí ‰ D‰ H‰ L‰% PÀeĉ3€ÿÿÿüD r³DD t³|D t³€Àf‰=€ÿÿÿøD u³œD |³´‰H€ÿÿÿôàfD }´D }´D ´$D ´(àf°D €´0‰U&P؉t´@‰á˜‰ˆá£‰d´@‰ºd´@‰Ç€‰ñ€Š €Š-€ŠX€Š{€Š¡€ŠÂ€Šä€‹€‹2€‹d€‹—€‹±€‹Ì€‹í€ŒÂӌŒ0ÂŒHÂ7sŒvÂŒ†Â ‚PŒ¦ÂUÛŒ¿ÂŒÛÂŒøÂ&wÂ6ÂW áa´ŒÂÎÂ’ü¬ÂªU·ÂÀÂÌ-Ì“,ÙÂéÂôÂ]Ž& ᘎ#&8ᣎD ŽZ DŽe HÀŽ~€ÿÿÿüމ€ÿÿÿøŽ“€ÿÿÿôŽ€ÿÿÿðާ€ÿÿÿìޱ€ÿÿÿ莻€ÿÿÿäŽÅ€ÿÿÿÔŽä€ ÿÿÿ´€ÿÿÿ°€ÿÿÿ¬€ÿÿÿ¨$€ÿÿÿ¤/€ÿÿÿ 7€ÿÿÿœ?€ÿÿÿ˜G€ÿÿÿ”P€ÿÿÿZ€ÿÿÿŒe€ÿÿÿˆp€ÿÿÿ„z€ÿÿÿ€„€ÿÿÿ|DI´TDJ´pDJ´tDN´|DP´ŒDQ´˜DR´¤ÀpDV´°DV´øà DVµLÀ DWµLDWµ”à¨DWµèÀ¨DXµèDX¶0àDDX¶„ÀDDY¶„DY¶ÌààDY· D[· D\·LD]·xD^·¤D`·ÐDd·ÜÀÀDe¸ÀØDe¸De¸0De¸4àüDe¸<àüDe¸<Di¸<Dj¸DDl¸PDl¸TDm¸tDm¸xDn¸”ÀpDo¸°Dp¸àà¬Dq¸ìDr¹Dv¹Dx¹DD|¹XD}¹pD¹ˆD€¹´D‚¹àD‚¹äÀÄD„ºD…ºD‡º$Dˆº4DŠºDDŠºHÀ(DŒºhDºxDºˆDº˜D’º¨D“º¸D•ºÈD–ºØD˜ºèD™ºôD›»Dœ»pD»xÀTDž»”DŸ»¬D »ÀD¡»Øà¤D¢»äD£»äD¥¼D¥¼ ÀäD¦¼$D§¼XàTD¨¼”D¨¼”Dª¼¨àŒD«¼ÌD«¼Ìà D¬¼àD¬¼àD®¼ôD°½D²½ D´½D´½ àèDµ½(޽8™Éœ¥áè¬áó³d½8Þd½8退-€O€z€€À䀑€‘*€‘T€‘†€‘¹€‘Ó€‘€’#ÂÓ’;Â’RÂ’jÂ7s’˜Â’ÄÂ’Ô ‚P’ôÂUÛ“ “)“FÂ&w“c“„“¥Â ᓯ´“ÚÂΓëÂ’ü“úªU””ÂÌ-”“,”'”7”BÂ]”P& áè”q&7áó”’ ”« D”¶ H”Á LÀ”Í€ÿÿÿüDl½PDm½lDm½pDq½xDu½ˆDw½”ÀtDx½¬Dy½¼Dy½ÀàDz½ÈD{½ÈÀÄD|½üD~¾ D~¾ààD¾D€¾D„¾,D†¾<D†¾@àD‡¾H”Ü ”õ D• H•  L• PÀ8•%€ÿÿÿü•0€ ÿÿÿðD¾pDž¾ŒDž¾D¢¾˜D¦¾¨D¯¾´D°¾ÈD²¾àD¶¾øD·¿DD¸¿Dº¿ÜD¼¿ìD¼¿ðàÀD½¿ø•B •O DÀÜÀÜDÎÀÀôDÎÀ,DÎÀPà$DÎÀ\à$DÎÀ\DÐÀ\DÑÀdDÒÀlDÓÀtDÔÀ|DÖÀ„DÖÀˆàXD×À•Z •h D•s HÀx•Š€ÿÿÿüDðÀ°•€ÿÿÿø•°€ÿÿÿô•Àÿÿÿð•ЀÿÿÿìÀ|DõÀ´À”DõÀÌDõÀðàÄDõÀüàÄDõÀüÀÄDöÀüÀàDöÁDöÁ<àDöÁHàDöÁHÀD÷ÁHÀ(D÷Á`D÷Á„àXD÷ÁàXD÷ÁDùÁDúÁœDûÁ¨DýÁ´DÿÁÄÀÄDÁüDÂDÂ$DÂ4DÂDDÂTDÂlD„D œ•Ý€ÿÿÿèÀ˜D ÂÐà´DÂìÀ¼DÂô•ê€ÿÿÿäÀðDÃ(à DÃDÀ•÷@DÃLDÃPDÃl–€ÿÿÿàD!ÄdD#ļD%ÅD)ÅlD+ÅÄD-ÆD1ÆtD2ÆœD3ÆÈD6ÆôD7Ç(D8Ç`D:ǘà hD;Ç à hD<Ç à hD=Ç À pD>ǨD@ǰDBÇÀ– €ÿÿÿèÀ ¼DEÇôà ØDFÈÀ àDHÈ–€ÿÿÿäÀ DKÈLà 0DLÈhÀ 8–&@DPÈpDPÈtDQÈ–/€ÿÿÿàDTÈÈDWÉDZÉ@D]É\D_É|à LD`É„à LDaÉ„à LDbÉ„DdÉ„DdɈà XDeÉ–;&îL–M DÀ t–Y€ÿÿÿüDsɬDsÉ´DtÉÌDuÉèDwÊDwÊà ØDxÊ–d –w D–‚ H–’ LÀ ü–¡€ÿÿÿüD‹Ê4–´€ ÿÿÿðÀ DŽÊ8À DŽÊPDŽÊtà HDŽÊ€à HDŽÊ€À HDÊ€À `DʘDʼà DÊÈà DÊÈÀ DÊÈÀ ¨DÊàDËà ØDËà ØDËD“ËD”Ë<D•ËhDœË”ÀŒ–À€ÿÿÿìDËÄ–Ë€ÿÿÿèDžËЖրÿÿÿäDŸËÜD¡ËèÀÌD£ÌD¥ÌdD§ÌÈDªÍ,D¬ÍŒD®ÍðàD¯ÎTÀ$D°Î\D±ÎtàTD²ÎŒD´ÎŒà\D¶ΔÀd–ã&âHD¹ΜÀ€D¼θà¤D½ÎÜÀ¬–ô€ÿÿÿìD¾Îä—€ÿÿÿèD¿ÎøDÁÎüÀüDÂÏ4DÃÏ@DÄÏXà(DÅÏ`à(DÆÏ`à(DÇÏ`DÉÏ`DÉÏdà4DÊÏl— —! D—, HÀT—?€ÿÿÿü—J€ÿÿÿøÀTDãÏŒÀlDãϤDãÏÈàœDãÏÔàœDãÏÔÀœDäÏÔÀ´DäÏìDäÐàäDäÐàäDäÐDæÐÀðDèÐ(ÀDèÐ@DèÐdà8DèÐpà8DèÐpDêÐpÀPDëЈàTDìÐŒDìДÀ|DíдàŒDîÐÄDïÐÄ—[€ÿÿÿôDñÒDñÒ àÜDòÒ—g —| D—‡ HÀü—™€ÿÿÿü—¤€ÿÿÿøÀüD Ò4ÀD ÒLD ÒpàDD Ò|àDD Ò|D Ò|ÀPDÒˆÀhDÒ DÒÄà˜DÒÐà˜DÒÐDÒÐDÒðDÓ—¶€ÿÿÿôDÔDDÔHàDÔP— —Ï DÀ4—Ú€ÿÿÿü—å€ÿÿÿø—ð€ÿÿÿôÀ4D,ÔlÀLD,Ô„D,Ô¨à|D,Ô´à|D,Ô´D.Ô´D/ÔÀD0ÔÌD2ÔØÀ¼D3ÔôÀØD4ÕD5Õ àðD6Õ(D7Õ(À D8ÕDD9ÕTà$D:Õ\à$D;Õ\À,D<ÕdÀHD=Õ€D>Õà`D?Õ˜D@Õ˜À|DAÕ´DBÕÄà”DCÕÌà”DDÕÌDFÕÌDFÕÐà DGÕØ—ýÕè˜æ ˜ æ+˜æ`˜Õè˜&dÕè˜QdÕè˜Z€˜„€˜ž€˜À€˜ë€™€™4€™U€™w€™›€™Å€™÷€š*€šD€š_€š€€š”ÂÓš¬ÂšÃšÛÂ7s› ÂUÛ›"›>›[›q›ŠÂ›šÂ ‚P›ºÂ›ÓÂ&w›ðœœ2 áœ<´œgÂΜxÂ’üœ‡ÂªUœ’œ›ÂÌ-œ§Â“,œ´ÂœÄœÏÂ]œÝ& æ œþ&5æ+&æ - DÀ8€ÿÿÿüD<ÕøD€ÿÿÿøD=ÖN€\ÿÿÿœDCÖDIÖDJÖ0DKÖ@DLÖPDQÖ\DUÖ€DXÖŒDYÖ¨D[ÖÄD`ÖÐDbÖÜDbÖààDcÖè^ Àu€ÿÿÿü}€(ÿÿÿÔDt×Dt×À4Du×Dz×,À¢€`ÿÿÿt¯€ÿÿÿpD}ع€ÿÿÿlD~Ø(D‹ØLÀ”D‘Ø|ÀœDŸØ„D ؘD¦Ø D§ذDªظàØD«ØÀD«ØÀà,D¬Ùà4D­Ùà4D®ÙD®ÙD³Ù0D³Ù4D´ÙLDµÙpàÄD¶Ù¬à Ú DÀÜå€ÿÿÿüDÀÙÄñ€ÿÿÿøDÁÙÐDÃÙÜDÄÙôDÄÙøDÉÚDÐÚDÕÚD×Ú0D×Ú4àTDØÚ<û&æ`ž ž  DÀpDãÚXDéÚlDêÚˆDêÚŒDíÚ”DîÚ¬DîÚ°DóÚ¸DøÚÀDúÚÔDúÚØàøDûÚàž- žA DÀžN€ÿÿÿüDÚüDÛD ÛD Û8D Û<DÛDDÛ\DÛ`DÛhDÛpD Û€D%Û”D'Û¨D'Û¬àÌD(Û´žXÛÀždæhžkæsžrdÛÀždÛÀž©€žÓ€ží€Ÿ€Ÿ:€Ÿ]€Ÿƒ€Ÿ¤€ŸÆ€Ÿê€ € F€ y€ “€ ®€ Ï€ ãÂÓ û¡¡*Â7s¡X¡h ‚P¡ˆÂUÛ¡¡Â¡½Â¡ÚÂ&w¡÷¢¢9 á¢C´¢nÂ΢’ü¢ŽÂªU¢™Â¢¢ÂÌ-¢®Â“,¢»Â¢Ë¢ÖÂ]¢ä& æh£&7æs£& £; D£F HÀ£_€ÿÿÿü£j€ÿÿÿø£t€ÿÿÿô£~€ÿÿÿ𣌀\ÿÿÿ”£—€ÿÿÿ£ª€ÿÿÿŒ£µ€ÿÿÿˆ£À€ÿÿÿ„£Ì€ÿÿÿ€£×€ÿÿÿ|£ê€ÿÿÿx£û€ÿÿÿt¤ €ÿÿÿp¤%€ÿÿÿl¤4€ÿÿÿh¤E€ÿÿÿd¤Q€ÿÿÿ`¤Z€ÿÿÿ\¤g€ÿÿÿX¤{€ÿÿÿT¤ƒ€ÿÿÿP¤‹€ÿÿÿL¤“€ÿÿÿH¤ž€ÿÿÿD¤¦€ÿÿÿ@¤¯€ÿÿÿ<¤¸€ÿÿÿ8¤Á€ÿÿÿ4¤Ì€ÿÿÿ0DNÛÔDOÛðDOÛôDSÛüDUÜ DVÜDWÜ$DYÜ0D[ÜLÀ”D]ÜTÀ¬D]ÜlD]Ü„D]܈àÐD]ÜàÐD]ÜDaÜDbÜœDcܨDdÜØDeÜàDfÜìDjÝDkÝ,DmÝ<DoÝDDpÝPDqÝÀDrÝÈÀ$DsÝäDtÝüDuÞDvÞ(àtDwÞ4DxÞ4D|ÞXD}ÞtDÞ„DÞŒD…Þ˜D†Þ´DˆÞÈDŠÞÔD‹ßdDŒß|DŽßDߤD”ߨD•ßÈD™ßÜDšßèDœßôDœßøÀTÀTDàDà`àøDà¸Džà¸DŸàÄàD àÐD àÐD£àäÀ¤D¤ádD¥átD¦á„àÐD§áDªáÀèD«á¨D¬áÄà$D­áäD­áìÀDD®âD¯â à„D°âDD°âLÀ¤D±âdDµâxD·âôD¸ãD¹ã<DºãPD½ãtÀÈD¾ãˆÀàD¾ã D¾ã¸D¾ã¼àD¾ãÄàD¾ãÄDÀãÄDÁãÈDÃãÐDÄãÜDÅäLDÆäTÀ°DÇäpDÈäˆDÉäœDÊä´à DËäÀDÌäÀDÌäÄÀ DÍäàDÍääÀ @DÎåDÏå DÐå|DÑå„À àDÒå DÓå¸DÔåÌDÕåäà 0DÖåðD×åðÀ LDÚæ DÛæ0DÜæPDÝæTDÞæ\à ¤DßædDàædDáæpDâæ|DãæˆDäæ”à àDåæ Dåæ à ôDææ´Dææ´DçæÈDèæìDëç Dìç Dîç4DðçPDòçtDôç„à ÐDõçDõç˜À ðDÿç°DèDèDèDè8DèLDètDèœD è°D èØÀ ,D èìÀ DD éD éD é à hD é(à hD é(Dé(Dé,Dé4Dé@Dé°Dé¸DéÐDéØDéÜÀ8DéøDéüÀXDêDê$Dê”DêœDê´Dê¼ÀD êØD!êüD"ëD#ë D$ë(àpD%ë0D&ë0D'ë<D(ëHD)ëTD*ë`à¬D+ëlD+ëlàÀD,ë€D,ë€D-ë”D.ë¸D1ëØD2ëüD3ìD5ì$D7ì@D9ìdD:ìtD<ì„àÐD=ìD>ìD?ìœD@ì¨DBì´DBì¸àDCìÀ¤ÖìÐ¤Þæ¸¤åût¤øú´¥ò´¥ôè¥$¥,¥>æÃ¥Eÿ¬¥Xü(¥k l¥w4¥ƒï0¥dìÐ¥ºdìХ€¥ì€¦€¦(€¦S€¦v€¦œ€¦½€¦ß€§€§-€§_€§’€§¬€§Ç€§è€§üÂӨ¨+¨CÂ7s¨qÂUÛ¨ŠÂ¨¦Â¨Ã¨Ù¨ò© ©!©O‚,^©b©{€$ª4€$ªL€¢ª«ÂªÖªæÂ ‚P«Â«Â&w«<«]«~ á«ˆÂ´«³ÂΫÄÂ’ü«ÓªU«Þ«çÂÌ-«ó“,¬Â¬Â¬Â]¬)‚º•¬N¬g€@¬w€@¬Œ€¬€¬Ó€¬æ€­€­€­(€­8€­M€­f€­œ€­­€­É€­à€­þ€®(€®=€®è€®þ€¯c€¯|€¢¯ž& 港¿&4æÃ¯à ¯ó DÀ¯þ€ÿÿÿüDWìàÀ,DXìüà4DYíÀ<D\í Àd° €ÿÿÿø°€ÿÿÿôD`í4Dcí@Ddí\DeílDfíœDhí°Dkí¼DníÔDoíäÀD°&€`ÿÿÿ”°3€\ÿÿÿ8DtîDuî,DvîLDyî`Dzî|D{îŒD~îœDî¨D‚îÈà DƒîÜà D„îÜD‰îÜàDŠîìDŒîì°B€ÿÿÿøDŒïàTDï$°N&é°` DÀp°k€ÿÿÿüD—ï@°x€ÿÿÿø°€€ÿÿÿôD™ïDDœïHDœïLÀ”DžïdÀ°Œ€ÿÿÿðD ïÐD¢ïô°–€ÿÿÿìÀ¼D£ðŒD¤ð”àÌD¥ðœàÌD¦ðœàÌD§ðœD§ðœD©ð°ÀøDªðÈD«ðØD¬ðèà(D­ðøÀ0D®ñ°¢€ÿÿÿðÀhD¯ñ8àpD°ñ@Àx°°€ÿÿÿìD±ñHD³ñXDµñh°º€ÿÿÿè°Æ€ÿÿÿäÀD¶ñÔà D·ñÜÀÀD¸ñäD¸ñüà@D¸òD»òD½òHDÀòXàÌDÁòœàÌDÂòœàÌDÃòœDÅòœDÅò àØDÆò¨°Ò&윰æ D°ò H°þ L±  PÀ±€ÿÿÿüDÔòб#€ÿÿûü±H€ÿÿ÷ü±n€Pÿÿ÷¬±‘€ÿÿ÷¤DÛòØDÜóDÞó$À„±ž€ÿÿ÷ DáóTDâóhDäótDäó|ÀÈDåó˜DæóÀàDçóØDçóØDîóì±§€ÿÿ÷œàDïôÐDðôÐDðôÔà Dñôܱ³&îбǠD±Ó H±à LÀ0±ë€ÿÿÿüDýõ±ø€ÿÿÿø² €ÿÿÿôDÿõ²€Hÿÿÿ¬²&€<ÿÿÿp²3€(ÿÿÿH²J€ÿÿÿDDõDõDD õPD õ€À DõØà DõàÀ DõèDö D"öD(ö,D-ö<D.öDD/ö\D4ötD5öŒD;ö˜²e€ÿÿÿ@²q€ÿÿÿ<DE÷8²}€ÿÿÿ8À PDGø à XDHø(À `²‰€ÿÿÿ4DIø0²“€$ÿÿÿ²¢€ÿÿÿDOø<DRøhDSø€DVø”DWøÀDXøÈDYøÐD\øäD_øøD`ù$DfùPDgùXDhù`DiùhDjùpDkù DlùÐDnúDrú DuúPà ¨Dvúxà ¨DwúxDyúxDzúD|úœD|ú à ØD}ú¨²´&ôœ²Å D²Ò H²Ý LÀ üDŠúÌDŒúìDŽû Dû,D’ûLàœD“ûl²è&õ\³ DÀ´³ €ÿÿÿüD¢û„D¢ûˆD£û D¤ûÜD¥ûøàPD¦ü ³&ö³/ D³; H³H L³U PÀt³o€ÿÿü³€Pÿÿû°³²€ÿÿû¨D·üDD½üLD¾üXDÀüdDÂü¤DÃüäDÆüôÀx³¿€ÿÿû¤³Ç€ÿÿû ³Ï€ÿÿûœ³Û€ÿÿû˜³ç€ÿÿû”DÌýHDÎý\DÒý|À”DÔþdDÕþpDÖþ|à¼D×þŒDØþŒÀôDÙþÄDÛþàDÜÿ DÞÿ<Dßÿ|DàÿˆDáÿ”àÔDâÿ¤àÔDãÿ¤àÔDäÿ¤³ô&ù”´ D´ H´% L´2 P´= TÀü´H€ÿÿü´h€Pÿÿû°´‹€ÿÿû¨DöÿÌÀdDø4Dù<àxDúHÀ€DûPDü\à”DýdDdÀè´˜€ ÿÿûœD¸D ÌÀX´¥€ ÿÿûD(DpD¸DàDDÀLDàxDHàxDHDHÀÌ´´€ ÿÿûœD!œD#°À<´Á€ ÿÿûD( D)TD*œD,äà(D-øÀ0D0à\D1,à\D2,à\D3,´Ð&þ´ã D´ð H´ü Lµ  PÀ€µ!€ÿÿüµA€Pÿÿû°µd€ÿÿû¨DDPDFXDGdDKtµq€ÿÿû¤DLÌDOÜÀ`µ}€ÿÿû µ…€ÿÿûœµ€ÿÿû˜µ™€ÿÿû”µ¥€ÿÿûDU0DWDDYdÀÌD[œÀ<D_ àdD`4ÀlDa<DbXDc˜Dd´DfôDgDh àLDiàLDjàLDkàLDlµ²&  µÆ DµÒ Hµß LÀlµë€ÿÿÿüDy<D|DDLD‚dD„xD„|à´D…„µø& x¶ D¶ H¶( LÀض5€ÿÿÿüD‘¨¶B€ÿÿÿø¶Q€ÿÿÿô¶b€ÿÿÿð¶x€ÿÿûð¶€ÿÿû춯€ÿÿÿúí¶Ï€ÿÿúèD—°D™ÄDšÜDœèDøDž D£D¤,D«<ÀˆD¬XàœD­lÀ¤D¯tD°€D²”àÔD³¤D´¤Dº´À¶ß€ÿÿúäD½àD¾ðD¿ DÀ àdDÁ 4D 4Dà DDÅ TDÅ XàDÆ `¶é& T¶û DÀ¬·€ÿÿÿþ·€ÿÿÿø·#@DÔ |ÀÔDÕ ¤àäD× ´ÀìDØ ¼ÀDÙ äà$DÚ ôÀ,DÛ üDÜ àHDÝ DÞ À`Dß 0àtDà DÀ|Dá Là„Dâ Tà„Dã TDä TDä XàDå `·. ·B DÀ¬Dî |Dï ˜Dï œDñ ¤Dò ´Dó àDô ôDö Dö à@D÷ ·M ·a DÀ\D ,D HD LD TD dD |D ”D ¬D ÀD  ÌD  ÜD  ààD  è·l ·‚ D· HÀ8·š€ÿÿÿü·¦€ÿÿÿø·°€ÿÿÿô·»€ÿÿÿà·Ú€ÿÿÿÜD D D  D" ,D# HD# LD% TD& dD' xD) ˜D+ ¬D+ °ÀøD, ÈD, à °D, €D, €D. ”D0 ´D2 ÄD3 ØD5 èD5 ìà!$D6 ô·â·ë騷ò·ù鳸d¸+d¸4€¸^€¸x€¸š€¸Å€¸è€¹€¹/€¹Q€¹u€¹Ÿ€¹Ñ€º€º€º9€ºZ€ºnÂÓº†ÂºÂºµÂ7sºãºó ‚P»ÂUÛ»,»H»eÂ&w»‚»£Â»Ä á»Î´»ùÂμ Â’ü¼ªU¼$¼-ÂÌ-¼9“,¼F¼V¼aÂ]¼o& 騼&4é³¼±€½€½G€½W€ ½€ ½£€½ï€½ý&騾  D¾ H¾( L¾4 PÀ¾L€ÿÿÿüDg¾X€ÿÿÿøDg(¾d€ÿÿÿôDh4¾p€ÿÿÿðDh@¾|€ÿÿÿÔ¾ˆ€ÿÿÿÐDjL¾š€ÿÿÿ̾¦€ÿÿÿÈDlT¾¶€ÿÿÿÄDmlDotÀŒDpŒDpDpÜDp,Dp|àÌDpÌDqÌDrìDtðDtüÀ$¾À€ÿÿÿ¨¾Ì€ÿÿÿ¤Dv$Dx,ÀDDyDDyHDy”DyäDy4à„Dy„Dz„D{¤À¨D~¨ÀÌDÌD€èàðDðD‚ðÀLÀLD…LD…”àèD…èD†èDŽôÀ(À(D(DpàÄDÄD‘ÄD’D“D”(D•HàLD–LÀTD—TàpD˜pDšpàxD›xD xÀ”¾Ö€ÿÿÿ D¡”D£œD¤¤à¬D¥¬Dª¬ÀÌD­ÌD®à(D¯(D¯0ÀPD²PD³ à¬D´¬D´´ÀÔD·ÔD¸$à0D¹0D¹8ÀXD¼XD½¨à´D¾´D´ÀÀDÃÀDÃÈDÃDÃtDÃÌà $DÃ$à $DÄ$à ,DÅ,DÅ,à @DÆ@¾à ¾õ D¿ HÀ \¿€ÿÿÿü¿#€ÿÿÿø¿4€ÿÿÿô¿<€ÿÿÿð¿G€ÿÿÿì¿P€ÿÿÿè¿[€ÿÿÿä¿f€ÿÿÿà¿r€ÿÿÿÜ¿|€ÿÿÿØ¿‡€ÿÿÿÔ¿›€ÿÿÿп³€ÿÿÿ̿€ÿÿÿȿӀÿÿÿÄDÙ\DÚxDÚ|Dß„Dà”Dá Dâ¬Dã¸DåÐDëØDìäDíðDî Dï(Dð4DòXÀ tDótà |Dô|À „Dõ„à ŒDöŒDøŒDù˜DúDûÀ ,Dü,À DDýDà PDþPDþXÀ pDÿpà |D|à |D|D|D À ¼D ¼à ÐD ÐÀ ØD Øà ìD ìDìÀ Dà DÀ Dà D D D,À tDtDxDà ”D”À œDœÀ ´D´à ÀDÀÀ ÈDÈà ÔDÔDÔD Üà ôD!ôD$ôD%D&(D,DD-PD0\ÀxD5xàD7À˜D9˜D9œÀ¸À¸D:¸D:à\D:\D;\D<hàtD=tD=tD@ˆà¨DA¨DC¨DD´DEÀDGÐDGÔàÜDHÜ¿äè¿ïê¿öê ¿ýdèÀ(dèÀ3€À]€Àw€À™€ÀÄ€Àç€Á €Á.€ÁP€Át€Áž€ÁЀ€€Â8€ÂY€ÂmÂÓ…œ´Â7sÂâÂÂò ‚PÃÂUÛÃ+ÂÃGÂÃdÂ&wÃÂâÂÃàáÃÍÂ´ÃøÂÎÄ Â’üĪUÄ#ÂÄ,ÂÌ-Ä8“,ÄEÂÄUÂÄ`Â]Än& êÄ&6ê İ ÄÇ DÄÒ HÀÄê€ÿÿÿüÄõ€ÿÿÿøÄÿ€ÿÿÿôÅ €ÿÿÿðÅ€ÿÿÿìÅ'€ÿÿÿèÅ7€ÿÿÿäÅO€ÿÿÿàÅ^€ÿÿÿÜÅo€ÿÿÿØÅ{€ÿÿÿÔÅ„€ÿÿÿÐŘ€ÿÿÿÌÅ €ÿÿÿÈÅ«€ÿÿÿÄDKüDLDLDP$DR4DS@DTLDVXDXpÀDZxÀ¨DZDZ¨DZ¬àÌDZ´àÌDZ´D^´D_ÀD`ÌDaüDbDcDe4DfPDh`DjhDktDläDmìÀ Dn Do Dp 4Dq LàpDr XDs XDw |Dx ˜Dz ¬D} ¸D~ ÔD€ äD‚ ìDƒ!$D…!8Dˆ!@D‰!`D‹!tD!D!œD’!¨D’!¬ÀàÀàD“!ÈD“"à„D“"lD”"lD•"xàœD–"„D–"„Dš"˜D›"ÈD"ÔDŸ"àD¡"ðD¡"ôàD¢"üż ÅÓ DÅß HÅê LÅõ PÆ TÆ  XÆ \ÀTÆ€ÿÿÿðÆ>€ÿÿÿØÆ]€ÿÿÿÈÆ|€(ÿÿÿ Æ›€ÿÿÿœÆ£€ÿÿÿ˜Æ«€ÿÿÿ”Æ´€ÿÿÿƽ€ÿÿÿŒÆÆ€ÿÿÿˆÆÏ€ÿÿÿ„D¶#<À\D¹#DDº#TDº#XÀŒD»#tD¼#˜D½#¼D¾#ôD¿$à$DÀ$ DÀ$ DÁ$ DÄ$(DÅ$HDÆ$LDÇ$hDÈ$lDÉ$pDÊ$ŒDË$DÌ$°DÌ$´ÀèDÍ$ÐDÎ$èDÏ%DÏ%À4DÐ%DÑ%dDÒ%´DÓ&àlDÔ&TDÔ&TDÕ&hDÖ&„D×&à´DØ&œDØ&œDÙ&°DÜ&¸DÝ&ØDÞ&ÜDß&øDà&üDá'(Dâ'TDã'„Dä'´Då'àDæ(Dç(@Dè(lDè(pÀ ¤Dé(ŒDê(¤Dë(¼Dë(ÀÀ ðDì(ØDí) Dî)pDï)Àà (Dð*Dð*Dñ*$Dò*@Dó*Là pDô*XDô*XDõ*lDø*tDù*„Dù*ˆÀ ¼Dú*¤Dû*ÈDü*ìDý+$Dþ+0à TDÿ+<Dÿ+<D+PD+XD+„D+°D+ÜD,D,4D ,`D ,ŒD ,¸D ,¼ÀðD ,ØD ,ðD-D- À<D-$D-lD-¼D. àtD.\D.\D.pD.ŒD.˜à¼D.¤D.¤D.¸D.ÀààD.ÈD.ÈàD/ÆØ/ÆàêpÆçd/Çd/Ç€ÇD€Ç^€Ç€€Ç«€Ç΀Çô€È€È7€È[€È…€È·€Èê€É€É€É@€ÉT&9êpÉuÂUÛÉŽÂ&£ɪÂÉÇ‚% É߀Ê€Ê]€ÊŸÂ"Z¢ÊÉÂÓÊáÂñË ‚Ë#ÂË;ÂfËiÂNÜ˃ÂþËŸÂ˻¢ËÔ‚Ëÿ‚¢¢ÌÂÌD‚Ì]‚4VÌy€Í+€¢Í«‚¢ÍÅ‚AÍÞ€Î`€Îé€Ï`‚¢Ïz‚tÏ”€Ïù€¢¢Ð5‚ÐN¢Ðh‚Ђ¢¢МÂЬ ‚ÐÌÂÐåÂ&wÑÂÑ#ÂÑD áÑNÂÑyÂÎÑŠÂ’üљªUѤÂÑ­ÂÌ-ѹ“,ÑÆÂÑÖÂÑáÂ]Ñï À Ñþ€ ÿÿÿôD4/D5/ D6/(D8/4D8/Hà@D</PÒ Ò DÀ\Ò7€ ÿÿÿôDI/lDJ/pDK/xDM/„DM/˜àDQ/ ÒB ÒS DÒ] HÀ°D]/ÀD]/ØàÐDa/àÒh Òy DÒƒ HÀðÒŽ€ÿÿÿüDl0Ò™€ÿÿÿøDm0Dt0 Ò£€ÿÿÿôDt0TàLDx0\Ò¯ ÒÅ DÒÜ HÒç LÀtÒ÷€ÿÿÿüÓ€ÿÿÿøD“0„Ó€ ÿÿÿØÓ€ÿÿÿÐÓ,€ÿÿÿÌDž0ŒÀ¨DŸ0¸à¬D 0¼À´D¡0ÄD¢0ÌD£0ààD¤1D©1Dª1 À(ÓC€ÿÿÿÈD­18D­1LÀXÓQ€ÿÿÿÄD®1hÀdD°1tÀ„D°1”D°1¸à´D°1Äà´D°1ÄÀ´D±1ÄÀÔD±1äD±2àD±2àD±2D²2Ó[€ÿÿÿÀàPD³2`D³2`àdD´2tDº2tD»2”ÀœD¼2¬À¸DÁ2ÈàÀDÂ2ÐÀÈDÃ2ØàØDÄ2èàØDÅ2èDÅ2ðÀøDÆ3àDÇ3DÉ3DÉ3à DÊ3Óo3(ÓwW`Ó„NHÓŒNàÓ”M°Óœì`Ó¨ë(Ó¯ìÓ´ì„Ó½ìŒÓÆU0ÓÑìhÓÞR¼ÓëS8ÓøìÓüH¼Ô Q¤ÔìdÔ(ìlÔ6ì ÔAëhÔLë3ÔSìÔXì\Ô`3(ÔnR,Ô|OxÔ‡d3(Ô²d3(Ôº€Ôä€Ôþ€Õ €ÕK€Õn€Õ”€Õµ€Õ×€Õû€Ö%€ÖW€ÖŠ€Ö¤€Ö¿€Öà€ÖôÂÓ× Â9”×7Â×NÂ×fÂÐ×”ÂUÛ×­Â×ÉÂ׿Â9º×þÂØ‚Ø,‚)ÁØHÂØd€Øé€Ù—‚¢¢¢Ù¯Â#TÙÙÂÙé ‚Ú ÂÚ"Â&wÚ?ÂÚ`ÂÚ áÚ‹ÂÚ¶ÂÎÚÇÂ’üÚÖªUÚáÂÚêÂÌ-Úö“,ÛÂÛÂÛÂ]Û,‚,ÂÛ6€Û~€4ÜI€4ܤ€4¢ܱ& ë(ÜÒ&4ë3Üó€Ý8&ëhÝI&ë(Ý] DÝh HÀÝ{€ÿÿÿüDh3<Dj3TDk3`Dl3˜Do3 Dp3¼Dr3ÔDt3üDu4(À$Dv4LDw4XÀTDz4|D{4¤àˆD|4°àˆD}4°D€4°D4ÌDƒ4äD…5 D†5xD‡5„ÀxDˆ5 D‰5¼DŠ5ÔD‹5ðàØDŒ6D6D‘6D”68D•6TD˜6pÀdD™6ŒDš6¨àœD›6ÄÀ¤Dœ6ÌD7à Dž74DŸ74D¡7DD£7€D¥7¼D§7øDª84D«8PD­8hàhD³8Ý… Ý– DÝ¡ HÀ„ݬ€ÿÿÿüݹ€ÿÿÿøÝÈ€ÿÿÿðÝ×€ÿÿÿìÝä€ÿÿÿèÝñ€ÿÿÿäÝÿ€ÿÿÿàÞ €ÿÿÿÜÞ€ÿÿÿØÞ/€ÿÿÿÔDÈ8¬DÉ8ÈDÉ8ÌDË8ÔDÑ8äÀØDÒ9DÒ9DÓ9DÔ9Dà$DÕ9LDØ9LDÙ9\DÚ9lDÜ9|DÞ9ŒDå9¨Dç9ÐDî9øDï:D÷:Dø:4À(Dù:PÀTDú:|Dû:´À”Dþ:¼Dÿ:ÜD;D;D;HD;tD;°D;¼àœD;ÄD;ÄàÔD ;üàÔD ;üD ;üD<ÀðD<ÀøD< D<,D <4D!DC>DD>pDI>xDJ>Äà ¤DK>ÌDK>ÌDL?À äDN? DO?(DQ?0DR?LDT?TDU?pDY?xDZ?”D\?œD]?¸à ˜D^?ÀD^?ÀD_@Da@À èDc@Dd@Dh@$Di@DDk@LDl@Xà 8Dm@`Dm@`Dn@˜À xDp@ Dq@¬Ds@´Du@äDw@ìDxA D|AD}A DA(D€ADà$D‚ALD‚ALDƒAŒD†A”ÀtD‰AœDŠA¨DA°DŽAÐDAØD‘AäàÄD’AìD’AìD“B$ÀD—B,D˜BHDšBPD›BlDžBtDŸBÔD¢BÜD£C0D§C8D¨C¤à„D©C¬D©C¬DªCìàÌD«CôD«CôD²D,D»DlD¼DD½DÀD¾DèDÀEDÀEÀDÁE,DÄEhÀHDÈEpDÉEÜDÊEèDÎEðDÏF`DÐFlDÖFtD×G(DØG4DÝG<DàGôDáHààDâHDâHDãH@àXDäH€DäH€DæH”DçH¤DçH¨àˆDèH°Þ7& ¼ÞN DÀ¤ÞZ€ÿÿÿÿDûHÌÞi€ÿÿÿøÞs€ÿÿÿðÞ€ÿÿÿìÞ’€ÿÿþ\DHÔDHØDHàDI4DIÈDIÔD IàÀÔD IüÀìD JD J@D JpàPDJxDJxÀXDJ€DJ˜DJÄDJÌDJÔDJÜDJôDK DKhDKØDKäDKìD KôD!L D#L$D%L€D&LðD'LüD(MD*MàðD+MD+MD,M@à$D-MLD.MTD/MlD0M˜à€D1M¨Þ²& °ÞÁ DÀ˜D;MÀÀ´D<MÜÀ¼D>MäD>MøàØD?ND?ND@NàDAN(DBN0DBN8àDDN@ÞÍ& HÞÜ DÀ0DONXÀLDPNtÀTDRN|DRNàpDSN˜DSN˜DTN´à˜DUNÀDVNÈDVNÐà°DXNØÞè& àÞ÷ DÀÈDcNðÀäDdO ÀìDfODfO(àDgO0DgO0DhOLà0DiOXDjO`DjOhàHDlOpß& xß DÀ`߀èÿÿüßA€ÿÿüßJ€ÿÿüDzOˆD{O¸D{O¼D}OÄD~OìD~OðDƒOøD„PÀ D…PHD†PTD†PXà8D‡P`DˆP`À`D‰PˆDŠP”DŠP˜àxD‹P DŒP ßU€ÿÿü À¸DPàDŽPìDŽPðàÐDPøDPøÀ D‘Q4D’QPD“Q\D“Q`à@D”QhD•QhD–QtD—QŒD—QàpD˜Q˜ßb& ¤ßy DÀŒD¥Q´D¦QÄD§QÔD¨QäD©QôDªRD«RD«RàøD¬R ß‹& ,ߟ Dß© Hß´ PÀ<ß¿€ÿÿÿèßÜ€ÿÿÿÐDãRdDäRpDåRxDæR€DçR”DèR¤DèR¨àˆDéR°ßû& ¼à Dà HÀ¨à'€ÿÿÿüDòRÐDòRÔDóRìDôS DôS$à DõS,à/& 8àB DàL HàV LÀ (DÿSPDSœDSèDT4DT€DTÌDUDUà!üDU$à`& 0àq Dà~ Hà‹ Là˜ PॠTÀ"(ಀÿÿÿüDUPD!UTÀ"DD"UlÀ"LD$UtD%U¬D&UÈD'VD(VD)V(D+V0D,VhD-V„D.V¼D/VØD0VäD2VìD3Vøà#ØD4WD4WD5W4à$D6W@D7WHD7WLà$,D8WTàÁ& `àÔ DàÞ Hàë LÀ$PD@WxDAWÐDBX(DBX,à% DCX4àù á Dá Há) LÀ%0á>€ÿÿÿøáL€ÿÿÿôáY€ÿÿÿìáh€ÿÿÿèáu€ÿÿÿäá‚€ÿÿÿàá€ÿÿÿÜកÿÿÿØᬀÿÿÿÔḀÿÿÿÐáÄ€ÿÿÿÌáЀÿÿÿÈáÜ€ÿÿÿÄáí€ÿÿÿÀáþ€ÿÿÿ¼â€ÿÿÿ¸â €ÿÿÿ´â,€ÿÿÿ°D[XXÀ%LD\XtD\XxD]XD^X¸à%˜D_XÀD`XÀDbXÐDiXìDkYDmY<DnYHDtYTDuYhDvY|DvY À&”DwY¼À&ÀDxYèDyZ DzZ<À'D}ZDD~ZdDZD‚Z˜DƒZÐD„ZüD…[8D†[Dà($D‡[LD‡[Là(\Dˆ[„à(\D‰[„D‰[„D[˜À(xD’[ À(€D–[¨D—[´D™[¼Dš[ÜDœ[äD[ðà(ÐDž[øDž[øDŸ\0À)D¡\8D¢\TD¤\\D¥\xD§\€D¨\œD¬\¤D­\ÀD¯\ÈD°\äà)ÄD±\ìD±\ìD²],Dµ]4À*D¸]<D¹]D¼]˜D½]øDÂ^DÃ^Là+,DÄ^TDÄ^TDÅ^ŒÀ+lDÇ^”DÈ^°DÊ^¸DË^ÔDÍ^ÜDÎ^øDÒ_DÓ_DÕ_$DÖ_@à, D×_HD×_HDØ_ˆDÚ_À,pDÜ_˜DÝ_¤Dá_¬Dâ_ÌDä_ÔDå_àà,ÀDæ_èDæ_èDç` À-Dé`(Dê`4Dì`<Dí`lDï`tDð`”Dô`œDõ`¨D÷`°Dø`Ìà-¬Dú`ÔDú`ÔDûaDþaÀ-üDa$Da0Da8DaXDa`D alà.LD atD atD a¬À.ŒDa´DaÐDaØDaôDaüDb\DbdDb¸DbÀD c,à0 D!c4D!c4D"ctà0TD#c|D#c|D%c´D.côD/dD0dD1dXD=dtÀ1TD@d|DAdˆDBd”DCd DDd¬DEd¸DFdÄDGdÐDHdÜÀ1¼DLdäDMdðDOdøDPeDTe DUe,à2 DVe4DVe4DWelÀ2LDYetDZeD\e˜D]e´D_e¼D`eØDdeàDeeüDgfDhf à3Dif(Dif(DjfhDlfpDmfˆDnf”Dof Dpf¬Dqf¸DrfÄDsfÜDtfèÀ3ÈDvfðDwfüDygDzg$D€g,DgDà4$D‚gLD‚gLDƒg„À4dD…gŒD†g¨Dˆg°D‰gÌD‹gÔDŒgðDgøD‘hD“hD”h8à5D•h@D•h@D–h€D˜hˆD™h”Dšh D›h¬Dœh¸DhÄDžhÐDŸhÜD hèÀ5ÈD¢hðD£hüD§iD¨i,Dªi4D«i@à6 D¬iHD¬iHD­i€À6`D¯iˆD°i”D²iœD³i¨Dµi°D¶iÈD¼iÐD½iÜD¿iäDÀiðà6ÐDÁiøDÁiøDÂj8DÄj@DÅjLDÆjdDÇjpDÈjˆDÉj”DÊj DËj¬DÌj¸À7˜DÎjÀDÏjÌDÓjÔDÔjüDÖkD×kà7ðDØkDØkDÙkPÀ80DÝkXDÞkpDàkxDákDãk˜Däk¸DèkÀDékÌDëkÔDìkàà8ÀDíkèDíkèDîl(à9Dïl0Dïl0DölhDöllÀ9\D÷l„Dùl¨DûlÔà9ÜDümDümDþmDþmà9üDÿm$â4 âE DâP HÀ:âe€ÿÿÿüâu€ÿÿÿø⃀ÿÿÿôâ’€ÿÿÿìâ¡€ÿÿÿè⮀ÿÿÿä⺀ÿÿÿàâÊ€ÿÿÿÜâÚ€ÿÿÿØâè€ÿÿÿÐâ÷€ÿÿÿÌDmDDm`DmdDmlDm|DmˆDm”Dm Dm¬À:Dm¸Dmüà;$DnLD nLD!nPD"nTD#ntD&n”D'n¬À;œã &ëèD)nÄÀ;¸D*nàD+nøD,oà;ôD-oD.oà<D/o8D0o8D1oPã€ÿÿÿÈD2o¨ã$€ÿÿÿÄD3oìD4oøD5pD6pD8pDD?ptDApDCpÀDFpäDHqã0€ÿÿÿÀDJqpDLq€DLq„à>dDMqŒã<&ìãH&ìãS&ìã`&Pì ã…&ì\ã“&ì`ã¥&ìdãµ&ìhãÉ&ìlãñ&ì„ä&ìŒäq˜äí(ä$í3ä+dq˜äVdq˜ä`€䊀䤀䯀äñ€å€å:€å[€å}€å¡€åË€åý€æ0€æJ€æe€憀æšÂÓæ²ÂæÉÂæáÂ7sçÂç ‚Pç?ÂUÛçXÂçtÂç‘Â&wç®ÂçÏÂçð áçú´è%ÂÎè6Â’üèEªUèPÂèYÂÌ-èe“,èrÂè‚ÂèÂ]è›& í(è¼&5í3èÝ èõ DÀé€ÿÿÿüé €ÿÿÿøé€ÿÿÿôé'€ÿÿÿðé4€ÿÿÿìéA€ÿÿÿèéN€ÿÿÿäé[€ÿÿÿàéh€ÿÿÿÜéx€ÿÿÿØ鈀ÿÿÿÔ销ÿÿÿÐDMq¨DNq´DPqÀDQqØDSqðDTrDVr DWrdDYrtD[r|D\rˆD_r”D`räDbrôDerüDfsDhsDjs8Dms\DnshDostDrs„Dus”Dvs°DxsÌDzsôà„D{té  é· DÀœD‹t4DŽt€D“tØD™u4àDšuœéÂu¨éÊí€éÑíÈéÚí‹éádu¨ê du¨ê€ê<€êV€êx€ꣀêÆ€êì€ë €ë/€ëS€ë}€므ëâ€ëü€ì€ì8€ìLÂÓìaÂUÛìzÂ&£ì–Âì³ÂìÇÂìÜÂÐí ÂíÂí3ÂíaÂíuÂíŠÂfí¸ÂNÜíÒÂþíîÂî Âî#Â#TîMÂîyÂîˆÂ ‚Pî¨ÂîÁÂ&wîÞÂîÿÂï  áï)´ïTÂÎïdÂ’üïrªUï|Âï„ÂÌ-ï“,ï›ÂïªÂï´Â]ïÁ& í€ïâ&4í‹ð ð Dð% Hð0 Lð? PðK TÀ$ð[€ÿÿÿüDJuÌÀLDLuôDMv DMvàpDNvDOvDPv$DQv0DRv<DSvHDTvTDVv\ÀÐDWvxDXv„àèDYvÀðDZv˜D[v¨à D\v´D_v´Dav¼DavÀà DbvÈðe ðx Dðˆ LÀTðŸ€ÿÿÿüð©€ÿÿÿøð³€(ÿÿÿÐðÓ€ÿÿÿÌDvvüÀ\DywÀ”Dyw<DywTDywXà¸Dyw`à¸Dyw`À¸D}w`ÀäD}wŒD}w¤D}w¨àD}w°àD}w°D€w°À$DwÌD‚x Dƒx0D„xDD„xHà¨D…xPDˆxPÀÔD‰x|DŠx„D‹xŒD‹xàðDŒx˜D‘x˜D‘xœÀ D’x´À@ðé€ÿÿÿÈðý€ÿÿÿÄñ€ÿÿÿÀD˜xèDžy DžyDŸy0D yLD¡yhD£yŒÀüÀüD©y¤ÀD©yÀD©yäàHD©yðàHD©yðDªyðD«zàpD¬zàpD­zàpD®zD®zD¯z,D¸z@D¹zLD¿z¬D¿z´DÀzÜDÉ{ÀxDÊ{ DË{`DÌ{„DÍ{¤DÎ{¸DÏ{Èà0DÐ{ØÀ8DÑ{àDÒ{èàHDÓ{ðDÕ{ðDÕ{ôàTDÖ{üñ ñ& Dñ3 HñB LÀ|ñM€ÿÿÿüñW€ÿÿÿøña€ÿÿÿôÀ|Dê|$À´Dê|\Dê|tDê|xàØDê|€àØDê|€ÀØDî|€ÀðDî|˜Dî|°Dî|´àDî|¼àDî|¼ÀDñ|¼À<Dñ|äDñ|üDñ}à`Dñ}à`Dñ}À`Dô}À Dô}HDô}`Dô}dàÄDô}làÄDô}lÀÄDø}lÀôDø}œDø}´Dø}¸àDø}ÀàDø}ÀDû}ÀDü}ÐD}èÀØD~€ÀøD~ D~°D~ÌD~ÜD~èà LD~ôÀ TD ~üD  D (D 8D Dà ¨DPà ¨DPÀ °DXD`à ÄDlDtDxà ØD€ñn ñ‡ DÀ ôÀ ôD!œÀ ,D!ÔD!ìD!ðà PD!øà PD!øD$øD%€D'€D'€ à lD(€ñ¢ ñ¸ DÀ ˆÀ ˆD4€0À ÀD4€hD4€€D4€„à äD4€Œà äD4€ŒD<€ŒÀ (D=€Ðà 4D>€ÜÀ <D?€äà DD@€ìDB€ìDB€ðà PDC€øñÑ ñà DÀ lÀ lDOÀ ¤DOLDOdDOhà ÈDOpà ÈDOpÀ ÈDSpÀ äDSŒDS¤DS¨à DS°à DS°DV°DXÔDXØà 8DYàñû ò  DÀ TÀ TDeüÀ ŒDe‚4De‚LDe‚Pà °De‚Xà °De‚XÀ °Di‚XÀ ÌDi‚tDi‚ŒDi‚à ðDi‚˜à ðDi‚˜Dm‚˜Do‚¼Do‚Àà Dp‚Èò( ò: DÀ <À <D|‚äÀ tD|ƒD|ƒ4D|ƒ8à ˜D|ƒ@à ˜D|ƒ@À ˜D€ƒ@À ´D€ƒ\D€ƒtD€ƒxà ØD€ƒ€à ØD€ƒ€Dƒƒ€D…ƒœD…ƒ àD†ƒ¨òS òc DÀÀD’ƒÄÀTD’ƒüD’„D’„àxD’„ àxD’„ ÀxD–„ À”D–„<D–„TD–„Xà¸D–„`à¸D–„`D™„`D›„„D›„ˆàèDœ„ò~ ò DÀÀD¨„¬À<D¨„äD¨„üD¨…à`D¨…à`D¨…À`D¬…À|D¬…$D¬…<D¬…@à D¬…Hà D¬…HD¯…HD±…\D±…`àÀD²…hò¦ ò¸ DÀÜÀÜD¾…„ÀD¾…¼D¾…ÔD¾…Øà8D¾…àà8D¾…àÀ8DÂ…àÀTDÂ…üD†D†àxD† àxD† ÀxDņ Dņ<à¨DņPDdžPDdžTà´DȆ\òÈ&íÈò׆hòäîòëî@òòî€òùîÀóïóï@óï€óïÀóðó#ð@ó*ð€ó2ðÀó:ñóBòóJóóRôóZõóbùójýór ózd†hó£d†hó°€óÚ€óô€ô€ôA€ôd€ôŠ€ô«€ôÍ€ôñ€õ€õM€õ€€õš€õµ€õÖ€õêÂÓõÿÂö ‚Pö.ÂUÛöGÂ&£öcÂö€Â&wöÂö¾Âöß áöè´÷ÂÎ÷#Â’ü÷1ªU÷;Â÷CÂÌ-÷N“,÷ZÂ÷iÂ÷sÂ]÷€&@î÷¡&@î@÷Â&@î€÷ã&@îÀø&@ïø%&@ï@øF&@ï€øg&@ïÀøˆ&@ðø©&@ð@øÊ&@ð€øì&@ðÀù&ñù0&òùR&óùt&ôù–&õù¹&ùùÜ&ýùÿ& ú" üúK úp Dú˜ <úÀ <úè <û û$ xûM û] ðûƒ†hû‹ hû’ ¬ûœ sû£d†hûÌd†hûÔ€ûþ€ü€ü:€üe€üˆ€ü®€üÏ€üñ€ý€ý?€ýq€ý¤€ý¾€ýÙ€ýú€þ& hþ/&3 sþPÂÓþeÂþyÂþŽÂ7sþ¼ÂþË ‚PþëÂUÛÿÂÿ Âÿ=Â&wÿZÂÿ{ÂÿœÂ áÿ¥Â´ÿÐÂÎÿàÂ’üÿîªUÿøÂÂÌ- “,Â&Â0Â]=‚¢c‚¢ˆ œ DÀ§€<ÿÿÿÄDE†xDF†€À4DG†œDH†´àlDI†ÔàlDJ†Ô³ Ç DÒ HÀˆDU†ðDV‡à¤DW‡ à ö DÀ¼€ÿÿÿüDb‡$Dd‡0ÀàDe‡HÀèDg‡PDh‡`Dj‡hDk‡xDm‡€Dn‡Dp‡˜Dq‡¨Ds‡°Dt‡ÀDv‡ÈDw‡ØDy‡àà€Dz‡èDz‡èD{ˆ,D|ˆ<D}ˆLàðD~ˆXàøDˆ` À #€ÿÿÿüD“ˆtÀ4D”ˆœD•ˆ¤D–ˆ°D—ˆ¸D˜ˆÀD™ˆÈàhDšˆÐD›ˆÐD›ˆÔàtDœˆÜ/ G DR H] LÀœl€ÿÿÿüD«‰D«‰D¬‰(D­‰hD­‰lD®‰ˆD®‰Œà,D¯‰”w ‘ D¦ HÀL±€ÿÿÿü¾€ÿÿÿøÍ€ÿÿÿôØ€ÿÿÿìå€ÿÿÿèð€ÿÿÿä€ÿÿÿà& ¨D̉´DÔ‰¼DÕ‰ØD׉àÀ€D݉èDÞ‰ôÀ˜DߊDߊ,àüDߊdDáŠdÀD⊀D㊜/€ÿÿÿÜàDäŠøÀ˜Då‹àœDæ‹Dô‹;€ÿÿÿÜDõ‹@Dø‹HDø‹TÀDù‹lDú‹ˆDý‹À0Dÿ‹˜D‹¤DŒDDŒ\DŒpDŒŒDŒ°D Œ¸DŒÄÀüDdÀD|à DˆÀ(DÀÐD!Ž8àðD"ŽXàðD#ŽXàðD$ŽXD%ŽXD'Ž`D(ŽlD) D*$D+8D-TD.xD0€D=ŒD>,D?DD@XDBtDC”DEœDF¨DG‘HDH‘`À DJ‘tDL‘à HDM‘°DN‘°DP‘¸DQ‘ÄDR’dDS’|DT’DW’¬DX’ÐDZ’Øà xD[’àD[’àà ¼D\“$D\“$D]“8D_“@à àD`“HD`“Hà Da“ˆG& ¬W n DÀ 8y€ÿÿÿüDp“ Dr“´Ds“ÐDy“ØDz“ôD|“üD” D”À ÈD€”0D”LD„”TÀ ôDŠ”\D”xDŽ”˜D˜” D¢”¨D¬”°D¶”¸D¼”ÀD¿”ÜDÀ”üD•à¤DÕ DÕ àèDÄ•PDÄ•PàüDÅ•d† œ DÀ§€ÿÿÿüDЕ|DÒ•DÓ•¬DÚ•´DÛ•ÐDÞ•ØDÞ•äÀ”Dß•üDà–Dã– ÀÀDå–(Dè–DDé–dDë–lDí–ˆDî–¤Dð–¬Dò–ÈDó–èDõ–ðÀ¤´€ÿÿÿôDø— Dú— àØDû—@Dü—@Dþ—HD—dD—€D—ˆD—¤D—ØD —àà€D —èD —èàÄD ˜,D ˜,D ˜@àèD ˜P¿˜XÎ °Õ »Üd˜Xd˜X€>€X€z€¥€È€î€€1€U€€±€ä€þ€€:€NÂÓcÂwÂŒÂ7sºÂÉ ‚PéÂUÛÂÂ;Â&wXÂyš á£Â´ÎÂÎÞÂ’üìªUöÂþÂÌ- “,Â$Â.Â];& °\&: »} ” DÀÀDB˜hÀ,DB˜„DB˜œDB˜ àPDB˜¨àPDB˜¨DE˜¨DF˜¸DF˜¼àlDG˜Ä¡ µ DÀˆ΀ÿÿÿüÀˆD\˜àÀ¤D\˜üD\™D\™àÈD\™ àÈD\™ D`™ Dc™4Dc™8Dd™PDe™ŒDg™˜Dg™œàLDh™¤Ö ç Dò HÀlÀlD{™ÄÀˆD{™àD{™øD{™üà¬D{šà¬D{šÀ¬D~šÀÜD~š4D~šLD~šPàD~šXàD~šXDšXDƒšDƒš”àDD„šœ  DÀ`À`D–š¸À|D–šÔD–šìD–šðà D–šøà D–šøD™šøDš›ÀøDœ›PDž›\D ›ˆD¢›´D¤›àà´D¥œ D§œ D§œàÀD¨œ3 J DÀÜÀÜDºœ4ÀøDºœPDºœhDºœlàDºœtàDºœtD½œtD¿œ€D¿œ„à4DÀœŒZ l Dy HÀT’€ÿÿÿüÀTDÚœ¬ÀŒDÚœäDÚœüDÚà°DÚà°DÚÀ°DÞÀÈDÞ DÞ8DÞ<àìDÞDàìDÞDÀìDáDÀDálDá„Dáˆà8Dáà8DáÀ8DäÀTDä¬DäÄDäÈàxDäÐàxDäÐÀxDåÐÀ”DåìDåžDåžà¸Dåžà¸DåžDèžDêž0Dêž4àäDëž<œžH¦ ø­ ´džHÝdžHç€ € +€ M€ x€ ›€ Á€ †€ (€ R€ „€ ·€ Ñ€ ì€ € !ÂÓ 6 J _Â7s  ¡Â ¶Âf äÂO þÂþ  6ÂUž O k ˆÂ — ‚P ·Â ÐÂ&w í  / á 8´ cÂÎ sÂ’ü ªU ‹Â “ÂÌ- žÂ“, ªÂ ¹Â ÃÂ] Ð& ø ñ&6  " D/ H: LQ P\ Tr XÀ$Š€ÿÿÿü”€ÿÿÿø¡€\ÿÿÿœ²€ÿÿÿ˜DLžlÀ(DPžpÀ`DPž¨DPžÀDPžÄà„DPžÌà„DPžÌÀ„DTžÌÀœDTžäDTžüDTŸàÀDTŸàÀDTŸÀÀDWŸÀèDWŸ0DWŸHDWŸLà DWŸTà DWŸTÀ DZŸTÀLDZŸ”DZŸ¬DZŸ°àpDZŸ¸àpDZŸ¸ÀpD]Ÿ¸ÀÈD] D] (D] ,àìD] 4àìD] 4ÀìDa 4ÀDa LDa dDa hà(Da pà(Da pÀ(Dd pÀ@Dd ˆDd  Dd ¤àdDd ¬àdDd ¬ÀdDe ¬À”De ÜDe ôDe øà¸De¡à¸De¡Df¡Dg¡ÀØDj¡ ÀˆDj¡ÐDj¡èDj¡ìà¬Dj¡ôà¬Dj¡ôÀ¬Do¡ôÀÌDo£Do£,Do£0àðDo£8àðDo£8Dw£8ÀøD{£@D|£HD}£TD~£`D£dD€£hÀ(Dƒ£pÀ`Dƒ£¨Dƒ£ÀDƒ£Äà„Dƒ£Ìà„Dƒ£ÌD‡£ÌÀ À Dˆ£èÀØDˆ¤ Dˆ¤8Dˆ¤<àüDˆ¤DàüDˆ¤DÀüD‹¤DÀ4D‹¤|D‹¤”D‹¤˜àXD‹¤ àXD‹¤ ÀXDޤ ÀDޤØDޤðDޤôà´Dޤüà´DޤüÀ´D‘¤üÀìD‘¥4D‘¥LD‘¥PàD‘¥XàD‘¥XÀD”¥XÀ,D”¥tD”¥ŒD”¥àPD”¥˜àPD”¥˜ÀPD•¥˜ÀˆD•¥ÐD•¥èD•¥ìà¬D•¥ôà¬D•¥ôÀ¬D—¥ôÀ$D—¦lD—¦„D—¦ˆàHD—¦àHD—¦ÀHD™¦ÀxD™¦ÀD™¦ØD™¦ÜàœD™¦äàœD™¦äàœDš¦äÀ¤D›¦ìDœ¦üD§ Dž§DŸ§,à D §TD£§TD¥§\½€ÿÿÿ”D¦§¼D§¨$D¨¨0Dª¨<É€ÿÿÿD¬¨ Ö€ÿÿÿŒD­©D®©À ØD¯© à äD°©,D°©4À D±©Là D²©XD¶©Xâ€ÿÿÿˆDÁ©ŒÀ LDÄ©”À „DÄ©ÌDÄ©äDÄ©èà ¨DÄ©ðà ¨DÄ©ðÀ ¨DÈ©ðÀ àDȪ(DȪ@DȪDà DȪLà DȪLD˪LÀ D̪hÀ <À <Dͪ„À tDͪ¼DͪÔDͪØà ˜Dͪàà ˜DͪàÀ ˜DЪàÀ ÐDЫDЫ0DЫ4à ôDЫ<à ôDЫ<À ôDÓ«<À ,DÓ«tDÓ«ŒDÓ«à PDÓ«˜à PDÓ«˜À PDÖ«˜À ˆDÖ«ÐDÖ«èDÖ«ìà ¬DÖ«ôà ¬DÖ«ôÀ ¬DÙ«ôÀ ÈDÙ¬DÙ¬(DÙ¬,à ìDÙ¬4à ìDÙ¬4À ìDÚ¬4À$DÚ¬lDÚ¬„DÚ¬ˆàHDÚ¬àHDÚ¬ÀHDܬÀÀDÜ­DÜ­ DÜ­$àäDÜ­,àäDÜ­,ÀäDß­,ÀDß­\Dß­tDß­xà8Dß­€à8Dß­€à8Dá­€À@Dâ­ˆDã­˜Dä­¨Då­¸Dæ­Èà¨Dç­ðDê­ðDì­øî€ÿÿÿ„Dí®XDî®ÀDï®ÌDó®Øú€ÿÿÿ€D÷¯<€ÿÿÿ|Dø¯œDù¯¤ÀtDú¯¼à€Dû¯ÈDû¯ÐÀ Dü¯èà¬Dý¯ôD¯ô€ÿÿÿxààD °(D °0ÀD °LÀ À D°hÀXD° D°¸D°¼à|D°Äà|D°ÄÀ|D°ÄÀ´D°üD±D±àØD± àØD± ÀØD± ÀD±XD±pD±tà4D±|à4D±|À4D±|ÀlD±´D±ÌD±ÐàD±ØàD±ØÀD±ØÀD²HD²`D²dà$D²là$D²lÀ$D²lÀÌD³D³,D³0àðD³8àðD³8ÀðD!³8ÀhD!³°D!³ÈD!³ÌàŒD!³ÔàŒD!³ÔàŒD$³ÔÀ”D%³ÜD&³ìD'³üD(´ D)´àüD*´DD.´DD0´L€ÿÿÿ„D1´¬D2µD3µ D4µ,D5µ0àìD7µ4D8µ4D:µ<àüD;µDD;µDD=µ€ÀhD?µ°ÀtD@µ¼ÀŒD@µÔD@µìD@µðà°D@µøà°D@µøDAµøDB¶DC¶DD¶DE¶HDR¶TDS¶|ÀLD^¶”à¨D_¶ðD`¶ðDa¶øDd·De·àÔDg·ÀÜÀÜDi·$ÀøDi·@Di·XDi·\àDi·dàDi·dDj·dDk·”Dp· Dq·ÀDs·ØàìDt¸4Du¸4Dv¸XDw¸dDx¸Dz¸°Dz¸´àtD{¸¼+ > DK HV Ld PÀ¤r€ÿÿÿü|€ÿÿÿø‰€\ÿÿÿœÀ¤D¸ìÀÜD¹$D¹<D¹@àD¹HàD¹HÀD“¹HÀD“¹`D“¹xD“¹|à<D“¹„à<D“¹„À<D–¹„ÀdD–¹¬D–¹ÄD–¹ÈàˆD–¹ÐàˆD–¹ÐÀˆD™¹ÐÀÈD™ºD™º(D™º,àìD™º4àìD™º4ÀìDº4ÀDºLDºdDºhà(Dºpà(DºpÀ(D ºpÀ D ºèD »D »àÄD » àÄD » D¥» ÀôD¨»<ÀD©»HÀD©»`D©»xD©»|à<D©»„à<D©»„D¬»„D­»D®»œD¯»¤D°»¬D±»¸D²»ÄD³»ÈD¶»ÌD·»ôD¸»üD¹¼Dº¼ D»¼D¼¼,D½¼8D¾¼HD¿¼XDÀ¼hDÁ¼xDļ€DżàTDƼœÀ\DǼ¤DɼÜà´DʼüD̼üDͽDϽÀüš€ÿÿÿ”Àü¨€ÿÿÿDÒ½DDÒ½lDÒ½àlDÒ½´ÀlDÕ½´DÕ½Øà´DÕ½üDÖ½üD×¾Dؾ(DÚ¾@à DÛ¾`À Dܾhà (DݾpDß¾pDß¾tà 4Dà¾|² Á DΠHÙ LÀ Xô€ÿÿÿüþ€ÿÿÿø €\ÿÿÿœ€ÿÿÿ”À XDô¾ À Dô¾ØDô¾ðDô¾ôà ´Dô¾üà ´Dô¾üÀ ´Dø¾üÀ ÌDø¿Dø¿,Dø¿0à ðDø¿8à ðDø¿8À ðDû¿8À!Dû¿`Dû¿xDû¿|à!<Dû¿„à!<Dû¿„À!<Dþ¿„À!|Dþ¿ÄDþ¿ÜDþ¿àà! Dþ¿èà! Dþ¿èÀ! D¿èÀ!¸DÀDÀDÀà!ÜDÀ$à!ÜDÀ$DÀ$DÀ4À"D ÀdÀ"(D ÀpÀ"@D ÀˆD À D À¤à"dD À¬à"dD À¬D À¬DÀ¸DÀÄDÀÌDÀÔDÀàDÀìDÀðDÀôDÁDÁ$DÁ,DÁ4DÁDDÁTDÁ`DÁpD Á€D!ÁD"Á D%Á¨D&Á¸à#|D(ÁÄÀ#„À#„D)ÁÌÀ# D)ÁèD)ÂD)Âà#ÄD) à#ÄD) à#ÄD* À#Ä*€ÿÿÿD- D-Â4D-ÂXà$4D-Â|À$4D/Â|D/ à$|D/ÂÄD0ÂÄD2ÂäD7ÃD8à D;Ã,D<Ã<D=ÃDD>ÃLD?ÄD@äDKôDLüDNÃØDPÃøÀ%ÌDQÄà%ØDRÄ À%àDSÄ(À%èDTÄ0DTÄTà&0DTÄxDVÄxà&DDWÄŒDYÄŒDYÄà&PDZĘ4 F DS H^ LÀ&to€ÿÿÿüy€ÿÿÿø†€ÿÿÿðÀ&tDmļÀ&¬DmÄôDmÅ DmÅà&ÐDmÅà&ÐDmÅÀ&ÐDqÅÀ&èDqÅ0DqÅHDqÅLà' DqÅTà' DqÅTÀ' DtÅTÀ'4DtÅ|DtÅ”DtŘà'XDtÅ à'XDtÅ À'XDwÅ À'˜DwÅàDwÅøDwÅüà'¼DwÆà'¼DwÆÀ'¼D{ÆÀ'ÔD{ÆD{Æ4D{Æ8à'øD{Æ@à'øD{Æ@D|Æ@À(DÆXÀ(DDÆŒDƤDƨà(hDưà(hDưDƒưÀ(xD†ÆÀD†Æäà(ÀD†ÇD‰ÇD‹ÇD‹Çà(ÜDŒÇ$” ¥ D² H½ LË PÀ)ã€ÿÿÿüí€ÿÿÿøÀ)D ÇPÀ)@D LjD Ç D Ǥà)dD Ǭà)dD ǬÀ)dD¤ǬÀ)|D¤ÇÄD¤ÇÜD¤Çàà) D¤Çèà) D¤ÇèÀ) D§ÇèÀ)ÈD§ÈD§È(D§È,à)ìD§È4à)ìD§È4À)ìDªÈ4À*,DªÈtDªÈŒDªÈà*PDªȘà*PDªȘÀ*PD­ȘÀ*€D­ÈÈD­ÈàD­Èäà*¤D­Èìà*¤D­ÈìÀ*¤D°ÈìÀ*¼D°ÉD°ÉD°É à*àD°É(à*àD°É(D³É(À+D´ÉXDµÉ`D¶ÉhD·ÉpD¸É€D¹ÉDºÉœD»ɬD¼ɼD½ÉÌD¾ÉÜà+œD¿ÉäÀ+¤DÀÉìà+ÄDÅÊ DÇÊ DÇÊà+ÐDÈÊú   D H# LÀ+ô9€ÿÿÿüH€ÿÿÿøÀ+ôDÞÊ<À,DÞÊXDÞÊpDÞÊtà,4DÞÊ|à,4DÞÊ|DáÊ|À,DDâÊŒÀ,\DâʤDâʼDâÊÀà,€DâÊÈà,€DâÊÈÀ,€DèÊÈÀ,˜DèÊàDèÊøDèÊüà,¼DèËà,¼DèËÀ,¼DëËÀ,ÔDëËDëË4DëË8à,øDëË@à,øDëË@DîË@DïËPDðË`DñËlDóˈÀ-\DôˤDõ˰DöËÈDöËÌà-ŒD÷ËÔDøËÔDøËØDùËðDûÌ DüÌ0DýÌ@DþÌPDÿÌ`DÌhDÌlà.,DÌtP k Dv H„ L” P¦ T¼ XÀ.`Ì€ÿÿÿøÚ€ÿÿÿôæ€ÿÿÿìó€ÿÿÿÜ€ÿÿÿØ€ÿÿÿÔ/€ÿÿÿÌD̨D̬D̰DÌÐD ÌðD"ÍÀ.ÜD$Í$À.äD(Í,À.ìD*Í4D*Í|à/ˆD*ÍÐD+ÍÐD,ÍÔD-ÍÜD.ÍüD/ÎD0Î D1ÎD2ÎD3Î8D4Î`À0 D6ÎhD6ΰà0¼D6ÏD7ÏD8Ï À0ÌD9ÏD9Ï\à1hD9ϰD:ϰD;ϸD<ÏÀDAÏìÀ1¬DCÏôDCÐ<à2HDCÐÀ2HDDÐDDÐØà2äDDÑ,DGÑ,DHÑpà30DIÑxDIÑxDJѸDLÑÀÀ3€DPÑÈÀ3ˆDRÑÐDRÒà4$DRÒlDSÒlDTÒpDUÒxDVÒ˜DWÒ DXÒ¨DYÒ¬DZÒ´D[ÒÔD\ÒüÀ4¼D^ÓD^ÓLà5XD^Ó D_Ó D`Ó¨À5hDaÓ°DaÓøà6DaÔLDbÔLDcÔTDdÔ\DiÔˆÀ6HDkÔDkÔØà6äDkÕ,À6äDlÕ,DlÕtà7€DlÕÈDoÕÈDpÖ à7ÌDqÖDqÖDrÖTÀ8D†Ö\D†Ö€à8\D†Ö¤DÖ¤D‘ÖÈD ÖìD¡׌D¡×D£טÀ9XD§× D¨×¼À9|D«×ÄD«Ø à:D«Ø`D¬Ø`D­ØdD®ØlD¯ØŒD°Ø”D±ØœD²Ø D³بD´ØÈDµØäD¸Ù À:àD¹Ù(D¹Ùpà;|D¹ÙÄDºÙÄD»ÙÈD¼ÙÐD½ÙðD¾ÙøD¿ÚDÀÚDÁÚ DÂÚ,DÃÚHDÄÚpÀ<0DÆÚxDÆÚÀà<ÌDÆÛDÇÛDÈÛÀ<ÜDÉÛ$DÉÛlà=xDÉÛÀDÊÛÀDËÛÈDÌÛÐDÎÛìDÓÜÀ=ìDÔÜ4DÔÜ|à>ˆDÔÜÐDÕÜÐDÖÜØÀ>˜D×ÜàD×Ý(à?4D×Ý|DØÝ|DÙÝ„DÚÝŒDÛݨDàÝÐÀ?DâÝØDâÞ à@,DâÞtÀ@,DãÞtDãÞ¼à@ÈDãßDäßDçß,DèßpÀADDéߌDéßÔàAàDéà(ÀAàDêà(DêàpàB|DêàÄDëàÄDîààDïá$àBäDðá,Dðá,DñálÀC,DôátDõáDöá˜D÷á¤Døá¸DúáÀDüáÈDýáäDþáìDÿáüÀCÌDâDâ,Dâ0àCðDâ8ÀCðDâ8DâLDâ\àD8Dâ€D â€àD@D âˆD âˆD â¼D âÄàD„DâÌDâÌDâüDã DãàDÐDãO d Do HÀDðDã8àEDãP}ãX„ €‹ ‹’dãX»dãX€ì€€(€S€v€œ€½€߀€-€_€’€¬€Ç€è€üÂÓÂ%Â:Â7shÂ|‘Âf¿ÂOÙÂþõÂÂUž*ÂFÂcÂr ‚P’«Â&wÈÂé  á´>ÂÎNÂ’ü\ªUfÂnÂÌ-y“,…”žÂ]«& €Ì&3 ‹í þ D  H L- P8 TN XÀ$f€ÿÿÿüp€ÿÿÿø}€\ÿÿÿœÀ$D_ã|À\D_ã´D_ãÌD_ãÐà€D_ãØà€D_ãØÀ€DcãØÀ˜DcãðDcäDcä à¼Dcäà¼DcäÀ¼DfäÀäDfä<DfäTDfäXàDfä`àDfä`ÀDiä`À(Diä€Diä˜DiäœàLDiä¤àLDiä¤ÀLDlä¤À¤DläüDlåDlåàÈDlå àÈDlå ÀÈDpå ÀàDpå8DpåPDpåTàDpå\àDpå\ÀDså\À4DsåŒDså¤Dså¨àXDså°àXDså°ÀXDvå°ÀDvæ`DvæxDvæ|à,Dvæ„à,Dvæ„À,D|æ„ÀHD|æ D|æ¸D|æ¼àlD|æÄàlD|æÄÀlD~æÄÀÀD~çD~ç0D~ç4àäD~ç<àäD~ç<D‚ç<ÀD„çlD…çtD†ç€D‡ç¨Dˆç´D‰çÀDŠçÈDŒçÐàˆDçàÀÀDçèÀ¬DèDèDè àÐDè(àÐDè(àÐDè(D‘è(D’èLD“èXD”è„D•è˜D•èœàLD–褎 ¢ D¯ Hº LÈ PÀ|Ö€ÿÿÿüà€ÿÿÿøí€\ÿÿÿœÀ|D°èÔÀ´D°é D°é$D°é(àØD°é0àØD°é0ÀØD´é0ÀðD´éHD´é`D´édàD´élàD´élÀD·élÀ<D·é”D·é¬D·é°à`D·é¸à`D·é¸À`Dºé¸À€DºéØDºéðDºéôà¤Dºéüà¤DºéüÀ¤D½éüÀ¼D½êD½ê,D½ê0ààD½ê8ààD½ê8ÀàDÀê8ÀXDÀê°DÀêÈDÀêÌà|DÀêÔà|DÀêÔDÄêÔÀ¬DÏëDÐëDÑëDÒë(DÓë0DÔëXDÕë`DÖëhD×ëtDØë€DÙëŒDÚë˜DÛë¨DÜë¸DÝëÈDÞëØDßëàà˜DàëðDáëðDâëüDäìDåì8DçìDDçìHàøDèìPþ  D H& LÀ 7€ÿÿÿüA€ÿÿÿøN€\ÿÿÿœÀ DìtÀ TDì¬DìÄDìÈà xDìÐà xDìÐÀ xDìÐÀ DìèDíDíà ´Dí à ´Dí À ´D í À ÜD í4D íLD íPà D íXà D íXÀ D íXÀ D íxD íD í”à DD íœà DD íœÀ DDíœÀ \Dí´DíÌDíÐà €DíØà €DíØDíØÀ °DîDîDî Dî,D î4D!î\D"îdD#îlD$îxD%î„D&îD'îœD(î¬D)î¼D*îÌD+îÜD,îäà œD-îôÀ ¤À ¤D.îüÀ ÀD.ïD.ï0D.ï4à äD.ï<à äD.ï<à äD/ï<DAï<DCïHDFïTDGïdDHïlDIïtDJï¬DKïÌDMïÜDOïäDQðDRð$DTð0DTð4à äDUð<_ r D HŠ LÀ ›€ÿÿÿü¥€ÿÿÿø²€ÿÿÿðÀ Dpð`À @Dpð˜Dpð°Dpð´à dDpð¼à dDpð¼À dDtð¼À |DtðÔDtðìDtððà  Dtðøà  DtðøÀ  DwðøÀ ÈDwñ Dwñ8Dwñ<à ìDwñDà ìDwñDÀ ìDzñDÀ DzñdDzñ|Dzñ€à0Dzñˆà0DzñˆÀ0D}ñˆÀHD}ñ D}ñ¸D}ñ¼àlD}ñÄàlD}ñÄD~ñÄÀ„DñÜÀ¸DòDò(Dò,àÜDò4àÜDò4D…ò4D‹òDDŒò`DŒòdÀDŽòlDŽòà\DŽò´Dò´D‘òÐD‘òÔà„D’òÜÀ Ò Dß Hê Lø PÀ°€ÿÿÿü€ÿÿÿøÀ°D¬óÀèD¬ó@D¬óXD¬ó\à D¬ódà D¬ódÀ D°ódÀ$D°ó|D°ó”D°ó˜àHD°ó àHD°ó ÀHD³ó ÀpD³óÈD³óàD³óäà”D³óìà”D³óìÀ”D¶óìÀ´D¶ô D¶ô$D¶ô(àØD¶ô0àØD¶ô0ÀØD¹ô0ÀD¹ô`D¹ôxD¹ô|à,D¹ô„à,D¹ô„À,D¼ô„ÀDD¼ôœD¼ô´D¼ô¸àhD¼ôÀàhD¼ôÀD¿ôÀÀ˜DÀôðDÁôøDÂõDÃõ DÄõDÅõ$DÆõ0DÇõ@DÈõPDÉõ`DÊõpà DËõxÀ(DÌõ€àHDÑõ DÓõ DÓõ¤àTDÔõ¬' : DF HQ LÀxg€ÿÿÿüv€ÿÿÿøÀxDìõÐÀ”DìõìDìöDìöà¸Dìöà¸DìöDïöÀÈDðö ÀàDðö8DðöPDðöTàDðö\àDðö\ÀDöö\ÀDöötDööŒDööà@Döö˜à@Döö˜À@Dùö˜ÀXDùö°DùöÈDùöÌà|DùöÔà|DùöÔDüöÔDýöàDÿöüÀÀD÷D÷$D÷<D÷@àðD÷HD÷HD÷LD÷dD÷”D÷¤D ÷´D ÷ÄD ÷ÔD ÷ÜD ÷ààD÷è~ ™ D¤ H² LÄ PÚ TÀ¸ê€ÿÿÿüö€ÿÿÿô€ÿÿÿìD øD!øD"øD#ø8D%øXÀ,D(ø„D(ø¨àtD(øÌD+øÌÀ|D-øÔD.ùD/ùD0ùD1ù8D3ùLD4ùlD6ùtD7ùD8ùÄD9ùÌD;ùìD=ùôD>ú(D?ú0D@ú@ÀDBúXDCúpDCútà$DDú|À$DEú|DFú˜ÀTDHú¬À„DIúÜàŒDJúäDKúìà DLúøDNúøàÄDOûDPûDRû$àÔDSû,DSû,Ddû`DeûpDeûtà$Dfû| & D1 HÀDDrûœà\Dsû´?ûÀH èO óV (aûÀvdûÀŸdûÀ¨€Ò€ì€€9€\€‚€£€Å€é€€E€x€’€­€΀âÂÓ÷  Â7sNÂbÂw¥¹ÂÎÂfüÂOÂþ2ÂNÂUžgƒ ¯ ‚PÏÂèÂ&w  & G á P´ {ÂÎ ‹Â’ü ™ÂªU £Â «ÂÌ- ¶Â“,  ѠÛÂ] èÂ! & è!.&5 ó!O& (!c& è!~ D!‰ H!” LÀ!«€ÿÿÿü!¸€\ÿÿÿ DMûØDNûäDOûüDOüDPüDQüDRü DSü(DTü0DUü<DVüHDWüLÀ¨DXühDYüxDZü˜Àô!É& ,D\ü´ÀD_üÐD`üðDaýàTDbýDcýàtDdý4Deý4à„DfýDDgýDDkýTDlý€DmýˆDnýDoý˜Dpý¤Dqý´DrýÄDsýÔDtýäDuýðDvýøDxþDzþD{þ0D{þ4D|þ<D}þHD~þPDþXD‚þlDƒþ|D…þˆD†þ”D†þ˜ààD‡þ !× !ê D!÷ H" L" P" T"0 XÀ"H€ÿÿÿü"R€ÿÿÿøÀD›þÐÀHD›ÿD›ÿ D›ÿ$àlD›ÿ,àlD›ÿ,ÀlDŸÿ,À„DŸÿDDŸÿ\DŸÿ`à¨DŸÿhà¨DŸÿhÀ¨D¢ÿhÀÐD¢ÿD¢ÿ¨D¢ÿ¬àôD¢ÿ´àôD¢ÿ´ÀôD¥ÿ´À4D¥ÿôD¥ D¥àXD¥àXD¥ÀXD©À°D©pD©ˆD©ŒàÔD©”àÔD©”ÀÔD­”ÀìD­¬D­ÄD­ÈàD­ÐàD­ÐÀD°ÐÀ(D°èD°D°àLD° àLD° ÀLD³ ÀüD³¼D³ÔD³Øà D³àà D³àÀ D¸àÀ<D¸üD¸D¸à`D¸ à`D¸ À`D¹ À|D¹<D¹TD¹Xà D¹`à D¹`À Dº`"_€ÿÿÿôÀøDº¸DºÐDºÔàDºÜàDºÜÀD»Ü"k€ÿÿÿôÀpD»0D»HD»Là”D»Tà”D»TD½TÀÄÀÄD¿„ÀìD¿¬D¿ÄD¿ÈàD¿ÐàD¿ÐàDÀÐÀÀDÂØÀ4DÂôD DÂàXDÂàXDÂàXDÃDÄDÅ4DÇD"w€ÿÿÿôÀÐDÈÀìDȬDÈÄDÈÈà DÈÐà DÈÐÀ DÉÐDÉèà <DÉüDÊüDËDÌ4DÍXDÎhDÐxÀ ÐDÒÀ ìDÒ¬DÒÄDÒÈà DÒÐà DÒÐDÓÐDÕÜDÕàà (DÖè"ƒ "™ D"¦ H"± L"¿ PÀ X"Í€ÿÿÿü"×€ÿÿÿøÀ XDèÀ DèPDèhDèlà ´Dètà ´DètÀ ´DìtÀ ÌDìŒDì¤Dì¨à ðDì°à ðDì°À ðDï°À DïØDïðDïôà <Dïüà <DïüÀ <DòüÀ |Dò<DòTDòXà  Dò`à  Dò`À  Dö`À ¸DöxDöDö”à ÜDöœà ÜDöœÀ ÜDùœÀ TDùDù,Dù0à xDù8à xDù8Dý8À ¨À ¨DÿhÀ ÐDÿDÿ¨Dÿ¬à ôDÿ´à ôDÿ´à ôD´À üD¼Dôà PD D D D (À ˜À ˜D  XD  tà ÌD  ŒD  ŒD  œD  ¨D ÀàD ÜD äD ìD ðà8D ø"ä "ö D# H# LÀ\#)€ÿÿÿü#3€ÿÿÿøÀ\D$ À”D$ TD$ lD$ pà¸D$ xà¸D$ xÀ¸D( xÀÐD( D( ¨D( ¬àôD( ´àôD( ´ÀôD+ ´ÀD+ ÜD+ ôD+ øà@D+ à@D+ À@D. À€D. @D. XD. \à¤D. dà¤D. dÀ¤D1 dÀ¼D1 |D1 ”D1 ˜ààD1  ààD1  D3  ÀÀD5 ÐÀ8D5 øD5 D5 à\D5 à\D5 à\D6 ÀdÀdD7 $À€D7 @D7 XD7 \à¤D7 dà¤D7 dà¤D8 dD; dÀ´D> tD> àèD> ¨D? ¨D@ ¸DB ÔDC ðDF üDG DH DI DJ TDK tDM „DN ŒDP ¨DR ÄÀ DS àà,DT ìÀ4DU ôÀ<DV üDVàpDV0àpDW0DY0DY4à|DZ<#@ #U D#b H#m LÀ #~€ÿÿÿü#ˆ€ÿÿÿøÀ Do`ÀØDo˜Do°Do´àüDo¼àüDo¼ÀüDs¼ÀDsÔDsìDsðà8Dsøà8DsøÀ8DvøÀ`Dv Dv8Dv<à„DvDà„DvDÀ„DyDÀÄDy„DyœDy àèDy¨àèDy¨ÀèD}¨ÀD}ÀD}ØD}Üà$D}äà$D}äDäÀ<D€üÀpD€0D€HD€Là”D€Tà”D€TD„TÀ¤D†dD†€àÔD†”Dˆ”Dˆ˜ààD‰ #• #© D#¶ H#Á LÀ#Ù€ÿÿÿü#ã€ÿÿÿøÀDœÄÀ<DœüDœDœà`Dœ à`Dœ À`D  ÀxD 8D PD TàœD \àœD \ÀœD£\ÀÄD£„D£œD£ àèD£¨àèD£¨ÀèD¦¨À(D¦èD¦D¦àLD¦ àLD¦ ÀLDª ÀdDª$Dª<Dª@àˆDªHàˆDªHD¬HÀ¸À¸D®xÀàD® D®¸D®¼àD®ÄàD®ÄàD¯ÄD°ÄD±äD³ô#ð€ÿÿÿôÀˆD´HÀ¤D´dD´|D´€àÈD´ˆàÈD´ˆÀÈDµˆDµ¤àüDµ¼D·¼D·ÀàD¸È#ü $ D$ H$) LÀ,$?€ÿÿÿüÀ,DÈìÀHDÈDÈ DÈ$àlDÈ,àlDÈ,DË,À|DÌ<À”DÌTDÌlDÌpà¸DÌxà¸DÌxÀ¸DÍxÀÐDÍDͨDͬàôDÍ´àôDÍ´ÀôDдÀ DÐÌDÐäDÐèà0DÐðà0DÐðDÒðDÓüDÔÀ\DÕÀxDÕ8DÕPDÕTàœDÕ\àœDÕ\DÖ\D×lDØ|DÙŒDÚœDÛ¬DܸDÝÄDßÌDßÐàDàØ$N $i D$t H$‚ L$’ P$§ TÀH$·€ÿÿÿø$Ä€ÿÿÿô$Ѐÿÿÿì$Ý€ÿÿÿè$è€ÿÿÿæ%€ÿÿÿà%€ÿÿÿÜ% €ÿÿÿØ%*€ÿÿÿÔDDÀ`D DdàôD´D´D ¼D ÄD ÐÀD ÜD  à°D pDp%6€ÿÿÿÐDüD D8À€D@D!pD"ÀD&ðD)DD*TD-t%B€ÿÿÿÌD3ðD7(D8”D9Ä%N€ÿÿÿÈD; D>lDAtDE¤DFôDIüÀ XDJDNHDO´à!$DPäDTäDUDVÀ!€DW@À!œDZ\%Z€ÿÿÿÄD[ D\´À"DaÐDf(à"¼Dg|à"¼Dh|à"¼Dj|Dj„À"äDp¤Dp°%f€ÿÿÿÄDqDt@À#œDu\D|ŒD} D€ 0%r€ÿÿÿÀD† Äà%XD‡!à%XDˆ!D‰! À%èDŒ!¨À%ðDŽ!°D!¼D!ÐD’!ØD”!à%~€ÿÿÿÄD•"0À&ˆD—"HD˜"`D˜"dà&¬D™"lÀ&¬Dš"lÀ&ÀD›"€D›"œà&ðD›"°D"°à'Dž"ÔDŸ"Ôà'D "ÜD "Üà'PD¡#D¡#À'xà'xD¢#8D¢#@À' à' D£#`D£#hÀ'ÀD©#€À(Dª#Øà(,D«#ìÀ(4D¬#ôD®$D°$4%‹€ÿÿÿÄD±$hD´$„Dµ$Àà)0D¶$ðà)0D·$ðDº$ðÀ)LD»% D¿%<DÀ%¨DÁ%Ø%˜€ÿÿÿÄDÃ&4à*ÀDÆ&€DÇ&€DÉ&ˆà*ÐDÊ&DÊ&DÍ&ÀDÎ&ÈDÐ&ØDÐ&Üà+$DÑ&ä%¥ %º D%Å HÀ+DDÛ'DÝ'DÞ',Dß'Hà+˜Dà'X%Ó'`%Ü ¸%ã Ã%ê'`%ÿd'`&(d'`&1€&[€&u€&—€&€&å€' €',€'N€'r€'œ€'΀(€(€(6€(W€(kÂÓ(€Â(”Â(©Â7s(×Â(ëÂ)Âf).ÂO)HÂþ)dÂ)€ÂUž)™Â)µÂ)ÒÂ#T)üÂ*  ‚P*+Â*DÂ&w*aÂ*‚Â*£Â á*¬Â´*×ÂÎ*çÂ’ü*õªU*ÿÂ+ÂÌ-+“,+Â+-Â+7Â]+D& ¸+e&5 Ã+†& ¸+¡ D+¬ H+· LÀ+΀\ÿÿÿ¤+߀ÿÿÿ DD'xDE'„DF'œDF' DG'¨DH'´DI'ÀDJ'ÈDK'ÐDL'ÜDM'èDN'ìDO'ðDS'ôDT(DU($DV(,DW(4DX(<DY(DDZ(PD[(`D\(pD](€D^(D_(œD`(¨Da(¼Db(ÐDc(àDe(èDf(üDg)Dg)Dh)$Di)8Dj)LDk)`Dl)tDo)|Dp)ŒDr)˜Ds)¤Ds)¨àPDt)°+ì +ÿ D,  H, L,. P,9 T,O XÀ€,g€ÿÿÿü,q€ÿÿÿø,~€\ÿÿÿœ,€ÿÿÿ˜,œ€ÿÿÿ”,©€ÿÿÿ,±€ÿÿÿŒ,¼&  ,Ê& ,Õ& À€D’)àÀ¸D’*D’*0D’*4àÜD’*<àÜD’*<ÀÜD–*<ÀôD–*TD–*lD–*pàD–*xàD–*xÀD™*xÀ@D™* D™*¸D™*¼àdD™*ÄàdD™*ÄÀdDœ*ÄÀ¤Dœ+Dœ+Dœ+ àÈDœ+(àÈDœ+(ÀÈD +(À D +€D +˜D +œàDD +¤àDD +¤ÀDD¤+¤À\D¤+¼D¤+ÔD¤+Øà€D¤+àà€D¤+àÀ€D§+àÀÈD§,(D§,@D§,DàìD§,LàìD§,LÀìDª,LÀœDª,üDª-Dª-àÀDª- àÀDª- ÀÀD¯- ÀÜD¯-<D¯-TD¯-XàD¯-`àD¯-`ÀD°-`ÀD°-|D°-”D°-˜à@D°- à@D°- À@D±- ÀdD±-ÄD±-ÜD±-ààˆD±-èàˆD±-èÀˆD²-èÀ¸D².D².0D².4àÜD².<àÜD².<ÀÜD³.<ÀøD³.XD³.pD³.tàD³.|àD³.|ÀD´.|À@D´. D´.¸D´.¼àdD´.ÄàdD´.ÄÀdDµ.ÄÀ€Dµ.àDµ.øDµ.üà¤Dµ/à¤Dµ/À¤D¶/ÀÀD¶/ D¶/8D¶/<àäD¶/DàäD¶/DÀäD¾/DÀ D¾/lD¾/„D¾/ˆà0D¾/à0D¾/DÁ/DÂ/¼DÃ/ØÀœDÅ/üÀ lDÅ0ÌDÅ0äDÅ0èà DÅ0ðà DÅ0ð,á€ÿÿÿˆ,í€ÿÿÿ„DÉ10DË14À ÜDÎ1<DÐ1DÀ À DÑ1`À 8DÑ1˜DÑ1°DÑ1´à \DÑ1¼à \DÑ1¼À \DÓ1¼À ”DÓ1ôDÓ2 DÓ2à ¸DÓ2à ¸DÓ2À ¸DÕ2À èDÕ2HDÕ2`DÕ2dà DÕ2là DÕ2lÀ DÖ2lÀ „DÖ2äDÖ2üDÖ3à ¨DÖ3à ¨DÖ3à ¨DØ3À °DÙ3DÚ3 DÛ30DÜ3@DÝ3Pà DÞ3xDä3xDå3”Dæ3ÀDç3ÜDè4Dé4$Dì4PDí4XDî4dDï4ÌDð4ØDñ4ÜDó4àDõ4èÀ ¤À ¤Dö5À ÜDö5<Dö5TDö5XàDö5`àDö5`ÀDø5`ÀDø5|Dø5”Dø5˜à@Dø5 à@Dø5 À@Dù5 ÀxDù5ØDù5ðDù5ôàœDù5üàœDù5üÀœDû5üÀÌDû6,Dû6DDû6HàðDû6PàðDû6PÀðDü6PÀhDü6ÈDü6àDü6äàŒDü6ìàŒDü6ìàŒDþ6ìÀ”Dÿ6ôD7D7D7$D74àüD7\D 7\D 7xD 7¤D 7ÀD7ìD8D84D8<D8HD8PD8hD8|D8”D8 ,ù€ÿÿÿ€D8ÔD8äD9D 9D!9$D"9ŒD$9˜à@D%9 D%9 D&9ÐÀ À D':ÀÈD':(D':@D':DàìD':LàìD':LàìD(:LÀôÀôD):TÀD):pD):ˆD):Œà4D):”à4D):”à4D*:”D+:”D.: D1:ÀD2:ÜD3:ìD5;-€ÿÿÿ€ÀÜD6;<ÀôD6;TD6;lD6;pàD6;xàD6;xD7;xD7;ˆD8;¨-€ÿÿÿ|-#€ÿÿÿxD;;üD<<D=<4DC(Di>@Di>DàìDi>LàìDi>LÀìDm>LÀDm>dDm>|Dm>€à(Dm>ˆà(Dm>ˆÀ(Dp>ˆÀ Dp?Dp?Dp?àÄDp?$àÄDp?$Dt?$ÀôÀôDv?TÀDv?|Dv?”Dv?˜à@Dv? à@Dv? à@Dw? ÀHDx?¨Dz?àà D{@D|@D}@ D@ÀèD@HD‚@dD„@t-ЀÿÿÿØÀ@D†@ ÀXD†@¸D†@ÐD†@Ôà|D†@Üà|D†@ÜD‡@ÜDˆ@ìÀ¬À¬-߀ÿÿÿÔD‰A D‰A4D‰AXàD‰A|ÀDŠA|DŠA àdDŠAÄàdD‹AÄD‹AÄ-é€ÿÿÿÔ-ø€ÿÿÿÐÀ .€ÿÿÿÌDŒBDŒB(DŒBPàDŒBxDBxDB„À0.€ÿÿÿÌD‘BD‘B¸D‘BØà˜D‘BøD“BøD•C0D˜ChD™C|DšCˆDC àtDžCÔDŸCÜD¡CäD¡CèàD¢Cð. .- D.: H.E LÀ´.`€ÿÿÿü.j€ÿÿÿø.w€ÿÿÿô.„€ÿÿÿð.‘€ÿÿÿè.Ÿ€ÿÿÿä.¯€ÿÿÿÜ.¼€ÿÿÿØÀ´D¸DÀìD¸DLD¸DdD¸DhàD¸DpàD¸DpÀD¼DpÀ(D¼DˆD¼D D¼D¤àLD¼D¬àLD¼D¬ÀLD¿D¬ÀtD¿DÔD¿DìD¿Dðà˜D¿Døà˜D¿DøÀ˜DÂDøÀØDÂE8DÂEPDÂETàüDÂE\àüDÂE\ÀüDÅE\ÀDÅEtDÅEŒDÅEà8DÅE˜à8DÅE˜DÇE˜ÀhÀhDÉEÈÀDÉEðDÉFDÉF à´DÉFà´DÉFà´DÊFÀ¼À¼DËFÀØDËF8DËFPDËFTàüDËF\àüDËF\àüDÌF\DÏF\DÒFlDÓFˆDÕF˜.Ä€ÿÿÿÔÀdD×FÄÀ|D×FÜD×FôD×Føà D×Gà D×GDØGDÙGÀÐÀÐ.Ó€ÿÿÿÐDÚG0DÚGXDÚG|à @DÚG À @DÛG DÛGÄà ˆDÛGèà ˆDÜGèDÜGè.Ý€ÿÿÿÐ.í€ÿÿÿÌÀ Ä.ý€ÿÿÿÈDÝH$DÝHLDÝHtà!<DÝHœDàHœDáH¨À!T/€ÿÿÿÈDâH´DâHÜDâHüà!¼DâIDäIDæITDìIŒDîI DðI¬DôIÈD÷IüDøJ DùJDúJDûJTDüJtDÿJ„DJŒDJ¨DJÈÀ#„DJäà#DJðÀ#˜DJøD KÀ#ÀD K À#ØD K8D KPD KTà#üD K\à#üD K\DK\DKlÀ$,À$,DKŒDK´à$|DKÜà$|DKÜDKÜ/€ÿÿÿÈ/!€ÿÿÿÄDLDL4DLXDLhà%D"LtD$LtD$Lxà% D%L€/1 /F D/S H/^ LÀ%D/o€ÿÿÿü/y€ÿÿÿø/†€ÿÿÿô/“€ÿÿÿð/ €ÿÿÿì/°€ÿÿÿèÀ%DD;L¤À%|D;LÜD;LôD;Løà% D;Mà% D;MÀ% D?MÀ%¸D?MD?M0D?M4à%ÜD?M<à%ÜD?M<À%ÜDBM<À&DBMdDBM|DBM€à&(DBMˆà&(DBMˆÀ&(DEMˆÀ&hDEMÈDEMàDEMäà&ŒDEMìà&ŒDEMìÀ&ŒDIMìÀ&¤DINDINDIN à&ÈDIN(à&ÈDIN(DKN(À&àDLN@À'DLNtDLNŒDLNà'8DLN˜à'8DLN˜DPN˜DSN¨À'hDUNÈÀ'€DUNàDUNøDUNüà'¤DUOà'¤DUODVODWOÀ'ÔÀ'ÔDXO4DXO\à($DXO„à($DYO„DYO„/¸€ÿÿÿä/È€ÿÿÿàD[OÀD]OÜD^OüD_P DaPDaPà(ÄDbP$/Ø /ì D/ù H0 L0 PÀ(ð0*€ÿÿÿü04€ÿÿÿø0A€ÿÿÿô0N€ÿÿÿð0[€ÿÿÿìÀ(ðD|PPÀ)(D|PˆD|P D|P¤à)LD|P¬à)LD|P¬À)LD€P¬À)dD€PÄD€PÜD€Pàà)ˆD€Pèà)ˆD€PèÀ)ˆDƒPèÀ)°DƒQDƒQ(DƒQ,à)ÔDƒQ4à)ÔDƒQ4À)ÔD†Q4À*D†QtD†QŒD†Qà*8D†Q˜à*8D†Q˜À*8DŠQ˜À*PDŠQ°DŠQÈDŠQÌà*tDŠQÔà*tDŠQÔÀ*tDQÔÀ*¤DRDRDR à*ÈDR(à*ÈDR(DR(À*øÀ*øD‘RXÀ+ D‘R€D‘R˜D‘Rœà+DD‘R¤à+DD‘R¤à+DD’R¤D“R¤D”RÄ0c€ÿÿÿèÀ+D–RðÀ+¬D–S D–S$D–S(à+ÐD–S0à+ÐD–S0D—S0D˜S@D™S`0s€ÿÿÿä0ƒ€ÿÿÿàD S´D S¸à,`D¡SÀ0“ 0¨ D0´ H0¿ LÀ,„0Õ€ÿÿÿüÀ,„D¶SäÀ, D¶TD¶TD¶Tà,ÄD¶T$à,ÄD¶T$D¹T$À,ÔDºT4À,ìDºTLDºTdDºThà-DºTpà-DºTpÀ-D»TpÀ-(D»TˆD»T D»T¤à-LD»T¬à-LD»T¬À-LD¾T¬À-dD¾TÄD¾TÜD¾Tàà-ˆD¾Tèà-ˆD¾TèDÁTèDÃTôDÄUÀ-´DÅUÀ-ÐDÅU0DÅUHDÅULà-ôDÅUTà-ôDÅUTDÆUTDÇUdDÈUtDÊU„DËU”DÌU¤DÍU´DÏUÄDÐUÐDÑUÜDÒUðDÓVDÔVDÖVDÖV à.ÈD×V(0ä 0ÿ D1  H1 L1( P1: T1P XÀ.ü1`€ÿÿÿø1m€ÿÿÿð1{€ÿÿÿì1‹€ÿÿÿè1˜€ÿÿÿä1¥€ÿÿÿà1±€ÿÿÿØ1¾€ÿÿÿÔ1Ó€ÿÿÿÐ1â€ÿÿÿÌDðV\DñV`DòVdDóV„DôV¤DöVÐÀ/xDùVØDúVðDûWÀ/ÈÀ/ÈDüW(DüWtà0lDüWÌà0lDýWÌDýWÌ1ê€ÿÿÿÈ1ø€ÿÿÿÄDþXÀ0°DXDXDX`DXhD X„D X´à1\D X¼D X¼D XðD XüDYDYDY4À1ôÀ1ôDYTDY à2˜DYøà2˜DYøDYø2€ÿÿÿÀ2€ÿÿÿ¼DZ4À2ÜDZ<DZDDZŒDZ”D!Z°D"Zàà3ˆD#ZèD#ZèD$[D%[(À3ÐD([0D([Tà4D([xD4[xD5\D5\D7\$À4àÀ4àD8\@D8\xà5PD8\°à5PD?\°DB\°À6 DE]lDG]ˆDH] À6`À6`DI]ÀDI^ à7DI^dà7DJ^dDJ^d2&€ÿÿÿ¸24€ÿÿÿ´DK^ À7HDO^¨À7lDP^ÌDQ^øà7¨DR_DS_DU_À7ÔDV_4À8DW_`DW_Èà8äDW`DDY`DDZ`TD\`pà9hD]`ÈD^`ÈD``ÐÀ9”Da`ôÀ9ÀDba Dbaˆà:¤DbbDdbDfbDhbLà;,DibŒDjbŒà;4Dkb”Dkb”DlbÈà;tDmbÔDnbÔÀ;|DqbÜDrbøDscDtc Duc Dwc(Dyc0DzcLD{cTD|cdÀ<D~c|Dc”Dc˜à<@D€c À<@Dc Dƒc´D…cÔÀ<D‡cðÀ<ÄD‡d$D‡d<D‡d@à<èD‡dHà<èD‡dHD‰dHDŠdXÀ=À=D‹dxD‹d à=hD‹dÈà=hDŒdÈDŒdÈ2D€ÿÿÿ¸2T€ÿÿÿ´DŽeDe D‘e@D’ePD”e\à> D•e€D–e€à>(D—eˆD—eˆD˜e¼DšeÄà>lD›eÌD›eÌDeüDžf Džfà>¸DŸf2d 2y D2„ HÀ>ØD©f8DªfPD«flD¹f|À?$D»f„D¼f D½f°D¿f¸DÀfÔDÁfäDÃfìDÄgDÅgDÇg DÈg<DÉgLà?ôDÊgTDÊgTDÌgDÍg¬à@\DÎg¼2’ 2¨ D2µ H2À L2Ì P2Ù T2å XÀ@ˆ2ñ€ÿÿÿüDägèÀ@ DåhDçhDçh À@ÜDèh<2ù€ÿÿÿøDéht3€ÿÿÿôàAPDêh°Dêh°DìhÄDìhÌDîhèDði`DòixDòi„ÀB<Dóiœ3€ÿÿÿøDôiÔ3*€ÿÿÿôàB°DõjDõjàBÄDöj$àBÄD÷j$38j03C X3Jj03^ c3edj03Ždj03™€3À3Ý€3ÿ€4*€4M€4s€4”€4¶€4Ú€5€56€5i€5ƒ€5ž€5¿€5ÓÂÓ5èÂ5üÂ6Â7s6?Â6SÂ6hÂf6–ÂO6°Âþ6ÌÂ6èÂUž7Â7Â7:Â7I ‚P7iÂ7‚Â&w7ŸÂ7ÀÂ7á á7ê´8ÂÎ8%Â’ü83ªU8=Â8EÂÌ-8P“,8\Â8kÂ8uÂ]8‚& X8£&7 c8Ä& X8ß DÀ8ö€ÿÿÿüDTj@9€ÿÿÿø9€ÿÿÿôDWjLÀ$DYjTDZj`D[jlD]jtD^j€D_jŒDaj”Dbj Dcj¬Dej´DfjÀDgjÌà¤DhjÔDhjÔDikÀDjkLDnkT9€ÿÿÿðDok˜DqkÈDvkøDwl,Dxl`D{l„D|l°D~lÔàÔDmÀÜD€m Dƒm9,€ÿÿÿðD„m\D†mŒD‹m¼DŒmðDn$DnHD‘ntD“n˜à˜D”nÈD•nÈà¨D–nØ99 9I D9V H9a L9n T9y X9† \Àä9ž€ÿÿÿü9¨€ÿÿÿø9µ€\ÿÿÿœÀäD³oÀD³oLD³odD³ohà@D³opà@D³opÀ@D·opÀXD·oˆD·o D·o¤à|D·o¬à|D·o¬À|Dºo¬À¤DºoÔDºoìDºoðàÈDºoøàÈDºoøÀÈD½oøÀD½p8D½pPD½pTà,D½p\à,D½p\À,DÁp\À„DÁp´DÁpÌDÁpÐà¨DÁpØà¨DÁpØÀ¨DÄpØÀÀDÄpðDÄqDÄq àäDÄqàäDÄqÀäDÇqÀDÇqDDÇq\DÇq`à8DÇqhà8DÇqhÀ8DÊqhÀèDÊrDÊr0DÊr4à DÊr<à DÊr<DÏr<ÀÀDÑrDÀ@DÑrpDÑrˆDÑrŒàdDÑr”àdDÑr”ÀdDÒr”À´DÒräDÒrüDÒsàØDÒsàØDÒsDÔsDÕsÀèD×sÀ D×sDD×s\D×s`à 8D×shà 8D×shÀ 8DØshÀ ˆDØs¸DØsÐDØsÔà ¬DØsÜà ¬DØsÜDÚsÜDÛsäÀ ¼DÝsìÀ èDÝtDÝt0DÝt4à DÝt<à DÝt<À DÞt<À \DÞtŒDÞt¤DÞt¨à €DÞt°à €DÞt°Dàt°Dát¸à DâtÀDâtÀDåtðÀ ðDçu Dèu(Déu@DêuXDëu\Dìu`DíudDðupDñu˜Dòu¤Dóu°Dôu¸DöuÀà  D÷uÐÀ ¨À ¨DùuØÀ ÄDùuôDùv Dùvà èDùvà èDùvà èDúvDûvDüv$Dýv0Dþv\Dÿv€DvDv”à lDvœ9Æ 9Ù D9æ H9ñ L9ÿ PÀ œ: €ÿÿÿü:€ÿÿÿø:$€\ÿÿÿœÀ œDvÌÀ ÔDwDwDw à øDw(à øDw(À øDw(À Dw@DwXDw\à 4Dwdà 4DwdÀ 4D"wdÀ \D"wŒD"w¤D"w¨à €D"w°à €D"w°À €D%w°À ÀD%wðD%xD%x à äD%xà äD%xÀ äD)xÀ üD)x,D)xDD)xHà D)xPà D)xPÀ D,xPÀ˜D,xÈD,xàD,xäà¼D,xìà¼D,xìD0xìÀìD2yD3y$D4y<D5yTD6yXD7y\D8y`D;ylD<y”D=y D>y¬D?y´D@y¼DAyÌDByØDCyèDDyøDEzDFzDGz(DHz8DJzHà(DKzXDLzXDMzdDOzpÀpDQz DRz°DSz¼À¤:5€ÿÿÿ”DVzÔDXzèàØDY{àØDZ{D[{D]{D]{àôD^{$:@ :O D:\ H:g LÀ:‚€ÿÿÿü:Œ€ÿÿÿø:™€\ÿÿÿœÀDx{HÀPDx{€Dx{˜Dx{œàtDx{¤àtDx{¤ÀtD|{¤ÀŒD|{¼D|{ÔD|{Øà°D|{àà°D|{àÀ°D{àÀØD|D| D|$àüD|,àüD|,ÀüD‚|,À<D‚|lD‚|„D‚|ˆà`D‚|à`D‚|À`D†|ÀxD†|¨D†|ÀD†|ÄàœD†|ÌàœD†|ÌD‰|ÌÀÌD‹|üDŒ}D}DŽ}4D}8D}<D‘}@D”}LD•}tD–}€D—}ŒD˜}”D™}œDš}¬D›}¸Dœ}ÈD}ØDž}èDŸ}øD ~D¡~D£~(àD¤~8ÀÀD¥~@À,D¥~\D¥~tD¥~xàPD¥~€àPD¥~€àPD¦~€D©~€D¬~D­~ ÀŒ:ª€ÿÿÿ”D°~¼D²~ÐàÀD³~ðD´~ðD·~üD¸ D¹DºD»TD¼tD¾„DÀŒÀx:µ€ÿÿÿ”DèDżà¬DÆÜDÇÜDÈøDÊ€ DÏ€DÑ€$DÑ€(àDÒ€0:À :Ò D:ß H:ê LÀ$;€ÿÿÿü; €ÿÿÿøÀ$Dé€TÀ\D逌D逤D逨à€D逰à€D逰À€D퀰À˜Dí€ÈDí€àDí€äà¼Dí€ìà¼Dí€ìÀ¼Dð€ìÀäDðDð,Dð0àDð8àDð8ÀDó8ÀHDóxDóDó”àlDóœàlDóœÀlD÷œÀ„D÷´D÷ÌD÷Ðà¨D÷Øà¨D÷ØDøØÀÀDûðÀôDû‚$Dû‚<Dû‚@àDû‚HàDû‚HDÿ‚HD‚XD‚hD‚làDD‚t; ;+ D;8 H;C LÀh;[€ÿÿÿü;e€ÿÿÿø;r€ÿÿÿôÀhD‚˜À D‚ÐD‚èD‚ìàÄD‚ôàÄD‚ôÀÄD#‚ôÀÜD#ƒ D#ƒ$D#ƒ(àD#ƒ0àD#ƒ0ÀD&ƒ0À(D&ƒXD&ƒpD&ƒtàLD&ƒ|àLD&ƒ|ÀLD)ƒ|ÀŒD)ƒ¼D)ƒÔD)ƒØà°D)ƒàà°D)ƒàÀ°D,ƒàÀÈD,ƒøD,„D,„àìD,„àìD,„D/„ÀD0„LD1„TD2„\D3„hD4„xD5„ˆD6„˜D7„¨D8„¸D9„ÈD:„Øà°D;„àÀ¸D<„èDC…ÀàDE…DF…DH…$DI…0DK…8DL…DDN…LDO…Xà0DP…`DP…`DR…”DT…°DW…èàèD\†D^†D^†àôD_†$;} ; D;› H;¦ LÀ;¼€ÿÿÿü;Ë€ÿÿÿøÀDx†HÀ4Dx†dDx†|Dx†€àXDx†ˆàXDx†ˆD{†ˆÀhD|†˜À€D|†°D|†ÈD|†Ìà¤D|†Ôà¤D|†ÔÀ¤D†ÔÀ¼D†ìD‡D‡ààD‡ààD‡ÀàD„‡ÀøD„‡(D„‡@D„‡DàD„‡LàD„‡LD‡‡LDˆ‡XDЇtÀ`D‹‡DŒ‡œD‡´D‡¸àDއÀD‡ÀD‡ÄD‡ÜD’ˆ D“ˆD”ˆ,D•ˆ<D–ˆLD—ˆ\D˜ˆlDšˆ|Dšˆ€àXD›ˆˆ;Ó ;î D;ù H< L< P<) T˜,D?˜4DA˜<DB˜`DC˜hDE˜pDF˜¤DG˜¬DH˜¼À.¤DJ˜ÔDK˜ìDK˜ðà.ÈDL˜øÀ.ÈDM˜øDO™à/DP™@DQ™@DS™Hà/ DT™PDT™Pà/TDV™„DW™„DX™”DX™˜à/pDY™ =ˆ = D=¨ HÀ/Dn™Àà/¨Do™Ø=¶™à=½ P=Ä [=Ëd™à=öd™à=ý€>'€>A€>c€>Ž€>±€>×€>ø€?€?>€?h€?š€?Í€?ç€@€@#€@7ÂÓ@OÂ@fÂ@~Â7s@¬Â@¼Â ‚P@ÜÂUÛ@õÂAÂA.Â&wAKÂAlÂA áA—´AÂÂÎAÓÂ’üAâªUAíÂAöÂÌ-B“,BÂBÂB*Â]B8& PBY&2 [Bz B” DB  HB« LÀD5™øD6šàLD7š,Bµ BÓ DBß HBê LBü PC TC XÀxDDšXDFšØàDGšøC1 CH DCT HC_ LÀ8DO›DP›8àlDQ›LCn C„ DC HC› LC¦ PÀDZ›pD[›àD\›äC¯ CàDCÏ HCÚ LÀ$DeœDfœ$àXDgœ8Cæ Cþ DD  HD LÀxDoœXDpœxà¬DqœŒD# DF DDR HD] LDh PÀÐD}œ°À`D~@Ddà°D€à°DD‚ D§ DD³ HD¾ LDÉ PÀÔD´ÀdDŽžDDžhà´Dž”à´D‘ž”DÛ E DE  HE LE# PÀØDž¸ÀhDžŸHDŸŸlà¸D Ÿ˜à¸D¡Ÿ˜E5 EW DEc HEn LEy PÀÜD­Ÿ¼ÀlD® LD¯ pà¼D° œà¼D± œE‹ E¤ DE° HE» LÀÜD¹ ¼Dº ÜàD» ðEÍ øEÖ EÝ ›Eä ÐEïd øFd øF!€FK€Fe€F‡€F²€FÕ€Fû€G€G>€Gb€GŒ€G¾€Gñ€H €H&€HG€H[ÂÓHpÂ9”H›ÂH¯ÂHÄÂÐHòÂIÂIÂfIIÂOIcÂþIÂI›ÂUžI´ÂIÐÂIíÂJÂJÂJDÂJS ‚JsÂJŒÂ&wJ©ÂJÊÂJë áJôÂKÂÎK/Â’üK=ªUKGÂKOÂÌ-KZ“,KfÂKuÂKÂ]KŒÂK±& KÒ&5 ›Kó& ÐL L DL' HL2 LLG PLR TLh XÀ$L€€ÿÿÿüLŠ€ÿÿÿøL—€\ÿÿÿœL¨€ÿÿÿ˜L²€ÿÿÿ”L¼€ÿÿÿLÆ€ÿÿÿŒLÓ€ÿÿÿˆLÛ€ÿÿÿ„Lê€ÿÿÿ€Lö€ÿÿÿ|M€ÿÿÿtM€ÿÿÿlM €ÿÿÿhÀ$Dl¡À\Dl¡TDl¡lDl¡pà€Dl¡xà€Dl¡xÀ€Dp¡xÀ˜Dp¡Dp¡¨Dp¡¬à¼Dp¡´à¼Dp¡´À¼Ds¡´ÀäDs¡ÜDs¡ôDs¡øàDs¢àDs¢ÀDv¢ÀHDv¢@Dv¢XDv¢\àlDv¢dàlDv¢dÀlDz¢dÀÄDz¢¼Dz¢ÔDz¢ØàèDz¢ààèDz¢àÀèD~¢àÀD~¢øD~£D~£à$D~£à$D~£À$D£ÀTD£LD£dD£hàxD£pàxD£pÀxD„£pÀ(D„¤ D„¤8D„¤<àLD„¤DàLD„¤DD‰¤DÀTÀTDŒ¤LÀŒDŒ¤„DŒ¤œDŒ¤ à°DŒ¤¨à°DŒ¤¨D™¤¨À¸D¤°ÀÔD¤ÌD¤äD¤èàøD¤ðàøD¤ðÀøD ¤ðÀ0D ¥(D ¥@D ¥DàTD ¥LàTD ¥LÀTD®¥LÀ D®¥˜D®¥°D®¥´àÄD®¥¼àÄD®¥¼D±¥¼ÀÌD´¥ÄÀèD´¥àD´¥øD´¥üà D´¦à D´¦À D·¦ÀhD·¦`D·¦xD·¦|àŒD·¦„àŒD·¦„Dº¦„D¾¦ŒDÁ¦”DĦœà¬DŦ¤DŦ¤DǦàÀDɧDʧD˧$Ḑ0Dͧ4DΧ8Dϧ<À`DЧXDѧhDÒ§ˆÀ¬M,& ÔDÔ§¤ÀÈD×§ÀDاàDÙ§øà DÚ¨DÛ¨à,Dܨ$Dݨ$à<DÞ¨4Dߨ4àLDà¨DDá¨DÀ|Dã¨tÀˆD䨀À D䨘D䨰D䨴àÄD䨼àÄD䨼D娼Dæ¨ÈDç¨ÔDí¨ÜDî©Dï©Dò©Dó©(à<Dõ©4ÀDÀDD÷©<À`D÷©XD÷©pD÷©tà„D÷©|à„D÷©|Dû©|à¨Dü© Dý© Dþ©¼Dÿ©ÈD©ôDª À 0Dª(Dª0D ª<M:€ÿÿÿdÀ lD ªdÀ „D ª|D ª”D ª˜à ¨D ª à ¨D ª D ª D ª¤D ªÀDªøD«D«D«MH€ÿÿÿ`À DD«<À \D«TD«lD«pà €D«xà €D«xD«xD«ˆÀ ¬D«¤MV€ÿÿÿ\À D«øÀ D¬D¬,D¬0à @D¬8à @D¬8À @D¬8D¬Tà tD¬là tD¬lD¬lMb€ÿÿÿ\Mp€ÿÿÿXD%¬¨D&¬´À ÈD'¬ÀD'­à \D'­TD(­TD)­\D+­dD,­pÀ „D-­|D-­Àà D-®D.®D/® D2®0D3®<M~€ÿÿÿTD4®˜MŠ€ÿÿÿPD4®´À ØD5®ÐM˜€ÿÿÿLD6¯,D7¯HàXD8¯PD8¯PM¤€ÿÿÿLD9¯xD:¯„D<¯D=¯¸D>¯ÔàìD?¯äD?¯ìDA°(DA°,à<DB°4M² MÈ DMÕ HMà LMî PÀlMü€\ÿÿÿ¤N €ÿÿÿ N€ÿÿÿœÀlD[°dÀ¤D[°œD[°´D[°¸àÈD[°ÀàÈD[°ÀÀÈD_°ÀÀàD_°ØD_°ðD_°ôàD_°üàD_°üÀDb°üÀ,Db±$Db±<Db±@àPDb±HàPDb±HÀPDe±HÀDe±ˆDe± De±¤à´De±¬à´De±¬À´Di±¬ÀÌDi±ÄDi±ÜDi±ààðDi±èàðDi±èÀðDl±èÀhDl²`Dl²xDl²|àŒDl²„àŒDl²„Dp²„À¼Ds²´ÀÈDt²ÀÀàDt²ØDt²ðDt²ôàDt²üàDt²üDu²üDv³Dw³Dx³Dy³$Dz³0D{³<D|³@D}³DD~³HÀlD³dD€³tD³”À¸N$& èDƒ³°ÀÔD†³ÌD‡³ìDˆ´àD‰´DŠ´à8D‹´0DŒ´0àHD´@DŽ´@D“´PD”´|D•´„D–´ŒD—´˜D˜´¤D™´°Dš´ÀD›´ÐDœ´àD´ðD ´øD¡µàD£µÀ$D¤µD¦µTàxD§µpD©µpDªµ|D¬µˆÀÀD­µ¸D®µÀD¯µÌD±µäàD²¶ÀD³¶àD´¶D¶¶D¶¶à$D·¶N2 ND DNQ HN\ LÀHNm€\ÿÿÿ¤N~€ÿÿÿ Nˆ€ÿÿÿœÀHDζ@À€DζxDζDζ”à¤Dζœà¤DζœÀ¤DÒ¶œÀ¼DÒ¶´DÒ¶ÌDÒ¶ÐààDÒ¶ØààDÒ¶ØÀàDÕ¶ØÀDÕ·DÕ·DÕ·à,DÕ·$à,DÕ·$À,DØ·$ÀlDØ·dDØ·|DØ·€àDØ·ˆàDØ·ˆÀDÛ·ˆÀ¨DÛ· DÛ·¸DÛ·¼àÌDÛ·ÄàÌDÛ·ÄDÝ·ÄÀüDà·ôÀDá¸À Dá¸Dá¸0Dá¸4àDDá¸<àDDá¸<Dâ¸<Dã¸HDä¸TDå¸\Dæ¸dDç¸pDè¸|D鸀D긄D븈À¬D츤Dí¸´Dî¸ÔÀøN•& ðDð¸ðÀDó¹ Dô¹,Dõ¹DàXDö¹PD÷¹PàxDø¹pDù¹pàˆDú¹€Dû¹€D¹D¹¼D¹ÄD¹ÌD¹ØD¹äD¹ðDºDºD º D º0D º8DºHà\DºTÀdÀdDº\À€DºxDºDº”à¤Dºœà¤Dºœà¤DºœDºœDº¬Dº´DºÐDºìDºøD»D»D »D!»PD"»pD$»€D%»ˆD'»¤D)»ÀÀäD*»ÜàðD+»èÀøD,»ðN£€ÿÿÿ˜D-¼,àDD.¼<D0¼<D0¼@àPD1¼HN¯ NÄ DNÑ HNÜ LÀtNí€ÿÿÿüN÷€ÿÿÿøÀtDG¼lÀ¬DG¼¤DG¼¼DG¼ÀàÐDG¼ÈàÐDG¼ÈÀÐDK¼ÈÀèDK¼àDK¼øDK¼üà DK½à DK½À DN½À4DN½,DN½DDN½HàXDN½PàXDN½PÀXDQ½PÀ˜DQ½DQ½¨DQ½¬à¼DQ½´à¼DQ½´À¼DU½´ÀÔDU½ÌDU½äDU½èàøDU½ðàøDU½ðDW½ðÀDZ¾ÀDDZ¾<DZ¾TDZ¾XàhDZ¾`àhDZ¾`D^¾`D`¾pO€ÿÿÿôDa¾¬Dc¾¼Dc¾ÀàÐDd¾ÈO O% DO2 HO= LÀôOT€ÿÿÿüO^€ÿÿÿøOk€ÿÿÿôOu€ÿÿÿðO€ÿÿÿìO‰€ÿÿÿèO–€ÿÿÿäÀôD¾ìÀ,D¿$D¿<D¿@àPD¿HàPD¿HÀPDƒ¿HÀhDƒ¿`Dƒ¿xDƒ¿|àŒDƒ¿„àŒDƒ¿„ÀŒD†¿„À´D†¿¬D†¿ÄD†¿ÈàØD†¿ÐàØD†¿ÐÀØD‰¿ÐÀD‰ÀD‰À(D‰À,à<D‰À4à<D‰À4À<DÀ4ÀTDÀLDÀdDÀhàxDÀpàxDÀpDÀpÀ¨DÀ D‘À¨D’À°D“À¼D”ÀÈD•ÀÔD–ÀäD—ÀôD˜ÁD™Áà $D›ÁÀ ,DœÁ$DŸÁDÀ TD¢ÁLD¤ÁTD¦Á`Ož€ÿÿÿàÀ D§ÁˆÀ ¨D§Á D§Á¸D§Á¼à ÌD§ÁÄà ÌD§ÁÄD¨ÁÄD¨ÁÈD©ÁäDªÂD­Â$D¯Â,D±Â8O­€ÿÿÿÜD²Â`À!tD³ÂlÀ!ŒD³„D³œD³ à!°D³¨à!°D³¨D´¨D´¬À!ÐDµÂÈO¼€ÿÿÿØÀ"$D¶ÃÀ"@D¶Ã8D¶ÃPD¶ÃTà"dD¶Ã\à"dD¶Ã\À"dD·Ã\D·Ãxà"˜D·Ãà"˜D¸ÃD¸ÃOÉ€ÿÿÿØOØ€ÿÿÿÔà"ÔD¹ÃÌD¹ÃÔà#DºÄD¼ÄD¼Äà#(D½Ä Oç Oü DP HP LÀ#LP)€ÿÿÿüÀ#LDÔÄDÀ#hDÔÄ`DÔÄxDÔÄ|à#ŒDÔÄ„à#ŒDÔÄ„D×Ä„À#œDØÄ”À#´DØĬDØÄÄDØÄÈà#ØDØÄÐà#ØDØÄÐÀ#ØDÞÄÐÀ#ðDÞÄèDÞÅDÞÅà$DÞÅ à$DÞÅ À$DáÅ À$,DáÅ$DáÅ<DáÅ@à$PDáÅHà$PDáÅHDäÅHDåÅXDæÅdÀ$€DçÅxÀ$œDçÅ”DçŬDçŰà$ÀDçŸà$ÀDçŸDèŸDéÅÈDêÅØDëÅèDìÅøDíÆDîÆDðÆ(DñÆ0DòÆ8DôÆ@DôÆDà%TDõÆLP8 PS DP^ HPl LP| PP’ TÀ%„P¢€ÿÿÿøP¯€ÿÿÿðP¼€ÿÿÿìPÈ€ÿÿÿèPØ€ÿÿÿäPà€ÿÿÿàPí€ÿÿÿÜPý€ÿÿÿØQ €ÿÿÿÔQ€ÿÿÿÐD'Æ|D(ƈÀ%œD)Æ”D)ÆØà&0D)Ç(D*Ç(D+Ç0D,Ç8D-ÇDD/ÇPD0Ç\À&pD1ÇhD1Ǭà'D1ÇüD2ÇüD3È D5ÈD7ÈHÀ'XD9ÈPÀ'`D<ÈXD@È`DCÈlDEÈœDHÈèDIÈôDJÉDKÉDKÉÀ(<DLÉ4À(`À(`DMÉXDMɈDMÉÄDMÉôQ"€ÿÿÿÌà)ˆDMÊ€à)ˆDNÊ€À)À)DOʈDOʸDOÊôDOË$Q/€ÿÿÿÌà*¸DO˰à*¸DP˰à*¸DQ˰DQ˰Q<€ÿÿÿÌDRËôDTËüà+ DUÌDUÌDVÌ8DXÌ@À+PD[ÌHD^ÌPD`Ì€DbÌÌDdÌÔà+äDeÌÜDeÌÜDfÍDiÍDjÍÀ,,DmÍ$À,HDnÍ@DoÍ\À,¤DpÍœDqÍ´à,ÄDrͼDsÍÄà,ÐDtÍÈDuÍÈDxÍÐÀ,ôDyÍìDzÎD}ÎÀ-¬D~ΤDδà-ÄD€μÀ-ÌDÎÄà-ÐD‚ÎÈà-ÐDƒÎÈD„ÎÈD†ÎÐD‡ÎÜDˆÎèD‰ÎøDŠÏDŠÏÀ.4D‹Ï,DŒÏLà.\DÏTDÏTDŽÏ„DϨD‘ϰÀ.ÔD’ÏÌD“ÏüÀ/ D”ÐD”ÐHD”ЄD”дQK€ÿÿÿÌà0xD”Ñpà0xD•ÑpD–ÑpQX€ÿÿÿÌD˜ÑÈÀ0ìD™ÑäDšÒÀ18D›Ò0D›Ò`D›ÒœD›ÒÌQe€ÿÿÿÈà2D›Óˆà2DœÓˆDÓˆDŸÓà2 D Ó˜D Ó˜D¡ÓÌÀ2ÜD¥ÓÔÀ3,D¦Ô$D§Ô0à3LD¨ÔDD©ÔDD«ÔLD®ÔTÀ3¬D°Ô¤D±Ô´À3ÔD³ÔÌD´ÔäD´Ôèà3øDµÔðÀ3øD¶ÔðD·ÕQr€ÿÿÿÌD¸Õ@DºÕPà4|D»Õtà4|D¼ÕtD½Õtà4„D¾Õ|D¾Õ|D¿Õ°DÁÕ¸à4ÈDÂÕÀDÂÕÀDÃÕðDÅÖDÅÖà5DÆÖ Q Q” DQŸ HÀ54Q­€ÿÿÿüQµ€ÿÿÿøDÓÖ,DÕÖDÀ5TD×ÖLDÙÖTDÚÖdDÞÖlDßÖxDßÖ|DàÖœQ¿€ÿÿÿôDáÖÔDâÖäDäÖìà5üDåÖôDåÖôà68Dæ×0QÎ×8QÖ×@QÝ×pQãØ0QéØðQñÚHQþÝÈR ÝÈRáR!ìàR+ìàR3îXR>îXRFó(RQó(RY÷øRbùRnühRuÿ€R„ÀRŽÈRšHR¡€R¨R¬dDÿÿR³R¼hRưRÏ0RØ€RâÐRìRõxRþðS8SˆSÐS%8S.PS=SI!XSV"€S_. Sh3øSr@@S~E0S‹I¨S˜JèS¥KÐS®KðSºLÈSÃqˆSÌ€ÐSÚšàS蜘Sô¨¨TÀ@T Á TÁHT&ÓØT1ÔPT>Ø(TMبTYÙpThÙèTuçTêTë@T’ï¸T—õxTœû¨T£ýÐT¬þ8T²TÁàT͸TÛ(TèhTóU:ÈU?èU AU,TÀU9VxUE_pURhˆU_t`Ulw˜Ux„`U„pU¨ÀUŸ­èU«±XU´´U¼·xUËÈ0UÚËXUéÐðUïÔUúäVŒ|àVá EÐV Ì ÐV V›"¨V b"V,r‡V5u×8VCü"¤VM©6€VSÍ+˜VZ{ALVa '@Vi+*lVqã*¼Vy¡D€VÃ*”V‰ (V‘ë$ˆV™7*äV¢‘E|V«“DXV´ñˆ€V¼¦ˆ|VÆ­ª¨VЭ„VÚ ˆVä³ XVîˆdVü÷.€WÝÁ,Wˆˆ„Wv.HW!,PW(Ñ™èW:ˆtWEA/àWP9 W[1.øWe´ˆxWvR(W…Ó/4W/xW”刈W ¼0TW¬ì1àW¸¿ˆ`WȈpWÓˈlWÜ/+pWå—LWhWûQO°X~u XQ–¤X 0œX)U0ØX2—08X;•XOB1X[52 Xd7:ÌXjC90Xpƒ4äXv3HX|;XXƒÙ7ÐXŠà“ìX‘¬óPX˜|ÄX£±2TX®yV€Xºþ?ÌXÇš[¨XÖüG<Xå>ìXí±>,Xõ}=PXý1<èY-<€Y ÍŒÀYXƒXY&XìpY3À9¼Y@ÄE,YUE6lYcbë Yq ŠxYLÄY†•B”Y—AàY”èˆY¦Ú‰pY¸}‚(YÊÞF4YÙ7âtYèò7tY÷låHZØßüZ¹GdZŸFlZ%yDüZ-kC Z5BlZ=$A¸ZEÚ€ZXVç€Zk8´Z~¥²ZŠ$ãhZ–‰BàZ¦½D$Z¶(á@ZÆÑMZÏùLœZØûG<Zá;GZê'F”ZóYD¼ZüQD[eCà[­CH[ûBø[ ïB¼[)óBD[2?B[;–TH[D: [Q:ê[^¢5d[k‹‹L[x ‚ EÐ[„Ä!L[“$[£Á ¤[·Ë P[ÉjUÐ[ÙdüX[ç%ïd[øK˜\ÝNü\¶¾T\+ ½8\>êiH\OšÚH\^urä\n°a¬\}{ÿ\\‘ÊjÜ\¤”f°\·2Úì\ÅýÏx\Ó2"\å™ë\ôÎ\]ˆó@] ]'“ù]>¦ ]JîûH][øþÈ]lmyŒ]üx¸]–ÊìÄ]« T]¸ãú8]Ê0þ4]Üë‘`]êÒ’¨]ó‘ ü]ýQ¢Ì^D ^<¦ô^ ò¨œ^5ç›^K’ŸH^ZI¡”^mn£^€ ¤T^c Œ^ Eœ°^°Až^½çëœ^Ì“šü^Ü÷‘^ì=†œ^üT˜P_ ”“8_ ³$_,ðˆl_5 …”_>í4d_Kéa<_X b_e\Hl_rëðä_ˆ»Ñ0_žàüä_´Ú„_Ê ù´_à%Ú_ê2|_ù é\`èä`èl`&„”`3]¬¨`@½²0`MŠwh`Zz¨Ü`gz§8`t•X`Ͱ`ާŽÌ`›C€`¬}0°`½&4`ÎÛB°`ß4ˆ`ð§J¤a/ò¬aÁðHa5b(a?~èaI— aWöÈaj Ïìa}£Ï\a#ÎÌa£àa¶kÿðaÉ‹PaÚ.±aëîa÷ù‡dbž¤b h‚Œbz$bð>œb-ÉIÄb;)J€bIõÿ bWæGbeæFÜbs‡?Àb9J0bŒbühb£Lbºqö8bÑsÜhbܧò bìÑítbü9êpc µc…œTc*ø­c8Ò¥˜cFÒ£ìcT’¯cb™|ct:JXc†Õøˆc¡?c¬NEÀc·®ÿ0cÂN^\cͦéìcán÷ðcõçñœd &¢Ðd/Šd&‡„td1Çld<zª dG¿D`dV2Iède F¸dt F”dƒÌJ d’÷ddªôpd»¯£˜dÇ›ŸdÓCלdßãtdëÛ¨dü< e õœeŠOŒe/K e@üÄeQV–øe`œeo Fpe‚ò`eŠ»Te–JÌe¢S`e®G¼eºB4eÊÕpeߣúÄeôÿõf §óäfeî¬f3ZÈfHû 4fV£¦f_¥ç„fm%åÜf{8’pf‡3tf“ñx˜fŸ¦«Xf«hAÐf»ˆEfËì(fäúf혬`fúTÓXg0ý gÞûÔg+Ý0 g>Ý0gOŽŸ$gd®>gy“¨g‹r’(g¡ Ê0g°*&dg¿í$ÈgÎ'´@gÞ_|gìc-pgÿ¡1hv Àh%ìÐh2Õ•lhB™‡hRW( hb t$hsøèh„·8hœñ lhªî h¸“hÉÀÅ„hÚMÔhë·NhüÞŒi GKôi">Œi7ÞÇøiL—m0iWæ8˜ib+xipi)˜i~|†hiŒµÀi“½ÛÀi¢¹Hi±=ÄLiÀ.ÜiÕ‚ \içõ°iù> j ÌjìOÔj)§Ç j<ÃxjP_T°jd8R8jq=×@jwÒàjˆ¬ ôj˜€Öœj¦²X@jºO¨ÔjÅùܸjÔ…Û¤jãU½0jï-¸jû¨ËÌk ±Æ$k@Ѩk-åÙ,k=Ë„kKˆÔŒkXe³ke€ñ$ku§ö´k…‡ k’Ø0k—øðk¡r°k¯% kºU¨kÅskÕ‡ ÜkëËxkÿÖ×pl)lß8l q˜l.Ú:œl8 ö NhlAhš¨lKöÒ lZ Àœlb†Êlo‘Ô\lvl/l;Öôl2Ù´l î‰ l´i/ìl¿>/¬lÊã/\lÒÏ ¤låL™àlù#š4mÝ›m"žœmB‘›ìmPÒ ˜mZo›Tmj™œ”m‡G˜m¦'#m·40hmÇCŸ mãCƒ´m퓌nß‚Ôn ßìnÏ…tn$€ n4;n=M„œnF”vÔnS•u¨neà œnq]&ðn€YûˆnwÖnžû™¬n­f$n¼Yã$nËÙˆènÛІÜnèˆhnõrV4o mäo–÷ôo4Öˆ”oIºÆXo^èÌ€os­œ$o„K˜Xo•7˜Ðo£4™°o®‚œ˜oºožHoÄÚÇ0oÏjÊ$oÛ3Ĥo羈oð÷¸ÈoýÓì\pÍè°pRãXp &òèp,§õ¸p9ÙðHpF"¬pT#ÔpcëHprq p~½ôpŽiþ¬p›^P0p©gÄp¹3SÌpÈÿLŒpׂCüpã¾<àpóz)¼q„nàq .‚€q~†0q!H€<q-”{0q6Gv¨qC›œ@qUý¾Ôqc3Ä,qrû¼Tq¶(qu°@q} øqª×Tq´˜ìàq»mØðqÂÚHqÎîxqÛ‹óHqèðÐqõI !¨qüÅßür ÊÞôr˜Ýìr*üár7N÷ør=%ú¤rE•õ rRøˆrY¶ùlr_×€re¸ùHrl|ùìryDü`r‚0ùÄrŒ€ú<r“²ùršµúr¢xÿ€r±€Àrº ¢ ÎhrȪÈrÓxHrÙýPrçÆ rù \ ÎlsjséDs"€s$ ¡ Îps<‘>@sFchsOgÀsW]ès_ksgl0sof°swvXsm€s‡6€s%!Xs‹Ðs¦s®9. s·{xs¿¾ðsÈÃ8sÑ܈sÚªÐsâF!sëB8sóß ôsüfE0t VHDt;It&·HÌt2wH€t>£FÄtNUIXtYH(tl'ètvA¼t„Û@Àt’L/Pt§¬J tÀRI¨tÙ n Îttè n Îxt÷ n ΀uÙÏèu/ L Έu;  ÎŒuG ´ Îu^ x ΔuuŸÍÈu…È0u•9àu­JŒuÉöKTuÒÿJèuÛKuäðKuí[KÐuõžÁHv¨¨vvøv,²œvA/ÝtvPÔàv_±Kðvj÷•¬v}›˜8v–5Œv£:qˆv¬~LÈvµšlvÀ”vË›àvÖ¸âàvçNÉ<vøéΠw ¯³œw·xw$= w7àwAˆìwKjÓØwUkÌw`°woWA4wŠnÀw“šé°wžè”w©šçw´¹’ŒwÊŒœ˜wê¨Vðx$V¬x>äÌx.Ç‹Œx@#ˆˆxRx®xd=­èxv¡V xˆ4ÈxšÈ€Ðx·D£TxÔxõt:Èy¶¥Ly0΂\yN…TèyZ–„,yq¦tyˆì¦üyœÍ›y©e«y¾D¢¤yÐËXyà“¯ÔyêP¢xyÿÀ@z pÁ z$wÔ,z*ÁÔDz1²(z=äØzRØØ`zaµØ(zt` .Dz„DØDz‘ªؘz¢íØ|z³ÔPzÇ”ÙzÑŽÙ4zÜÜØÄzë¡بzú@ÙP{ |Øü{…Øà{!aÙp{//ͬ{CÙè{Tæh{dœ:P{z‰ï¸{~‚õx{‚¾ë@{†ßë{bêÔ{”_ê {›Ÿêh{¢&ê4{©#ê{°žñÀ{´Ÿ÷À{¸Üí°{¼ñÐð{ÁJû¨{dzþ{Ð×þ8{ÕõýÐ{Ýr¸{ãõä{è€{õœ| ¼|~$|'É|9¡`|HD|W• ø|l«¸|~7 |8 ˜|¢†Ȱ|´  ¤|Λ ”|åo)|õà©ô} Š d}¯.}3‡@ }Aú,Ô}Si)È}eþ-€}w ,}‰+T}›|­ }¸ïä}Õ&>|}ä#¼~È;H~Ÿ6~.²*”~?b~PÁ°<~c@ª\~x _”~¸„„~¢ötP~·ã§X~ÌåVx~å>h¬~û”hw'Ô„8:ô°œQ¿t„hùw¼|h`ä`¤¥¬ÀZ®ÈÜž®ø ¬¼€ ú©8€!?¨À€1†°ð€AP¨ü€Rà°l€eÚ³p€zܱX€“޳4€ªf±ü€º´€ÁÔÊT€Ô|ÎX€äÉÔ€ñØÜ€þ__DYNAMICcrt0.o_crt1.ocolor.o/a/groucho/unidata/ldm/src/xgks/bugs/color.finteger*2:t2=r2;-32768;32767;integer*4:t3=r3;-2147483648;2147483647;real:t6=r6;4;0;double precision:t7=r7;8;0;complex:t9=r9;8;0;double complex:t10=r10;16;0;char:t13=r13;0;127;void:t14=r14;0;0;logical*1:t21=r21;-128;127;logical*2:t22=2;logical*4:t23=3;MAIN:F14control.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/fortran/control.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.hvoidp:t(1,1)=*(0,16)../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.hsigset_t:t(0,1)speed_t:t(0,7)tcflag_t:t(0,8)cc_t:t(0,5)pid_t:t(0,1)mode_t:t(0,6)nlink_t:t(0,3)clock_t:t(0,4)time_t:t(0,4)size_t:t(0,1)ptrdiff_t:t(0,1)wchar_t:t(0,4).0fake:T(4,1)=s8quot:(0,1),0,32;rem:(0,1),32,32;;div_t:t(4,1).1fake:T(4,2)=s8quot:(0,4),0,32;rem:(0,4),32,32;;ldiv_t:t(4,2)/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.hu_char:t(0,5)u_short:t(0,6)u_int:t(0,7)u_long:t(0,8)ushort:t(0,6)uint:t(0,7)_physadr_t:T(5,1)=s4r:(5,2)=ar(0,1);0;0;(0,1),0,32;;physadr_t:t(5,3)=*(5,1)label_t:T(5,4)=s8val:(5,5)=ar(0,1);0;1;(0,1),0,64;;label_t:t(5,4)_quad_t:T(5,6)=s8val:(5,7)=ar(0,1);0;1;(0,4),0,64;;quad_t:t(5,6)daddr_t:t(0,4)caddr_t:t(5,8)=*(0,2)ino_t:t(0,8)dev_t:t(0,3)off_t:t(0,4)uid_t:t(0,6)gid_t:t(0,6)key_t:t(0,4)addr_t:t(5,8)fd_mask:t(0,4)fd_set:T(5,9)=s32fds_bits:(5,10)=ar(0,1);0;7;(0,4),0,256;;fd_set:t(5,9)/usr/include/sys/stat.h/usr/include/sys/types.hstat:T(8,1)=s64st_dev:(0,3),0,16;st_ino:(0,8),32,32;st_mode:(0,6),64,16;st_nlink:(0,3),80,16;st_uid:(0,6),96,16;st_gid:(0,6),112,16;st_rdev:(0,3),128,16;st_size:(0,4),160,32;\st_atime:(0,4),192,32;st_spare1:(0,1),224,32;st_mtime:(0,4),256,32;st_spare2:(0,1),288,32;st_ctime:(0,4),320,32;st_spare3:(0,1),352,32;st_blksize:(0,4),384,32;st_blocks:(0,4),416,32;\st_spare4:(8,2)=ar(0,1);0;1;(0,4),448,64;;/usr/include/sys/param.h/usr/include/machine/param.h/usr/include/sys/signal.h/usr/include/vm/faultcode.hfaultcode_t:t(0,1)sigvec:T(12,1)=s12sv_handler:(12,2)=*(12,3)=f(0,16),0,32;sv_mask:(0,1),32,32;sv_flags:(0,1),64,32;;sigstack:T(12,4)=s8ss_sp:(5,8),0,32;ss_onstack:(0,1),32,32;;sigcontext:T(12,5)=s2144sc_onstack:(0,1),0,32;sc_mask:(0,1),32,32;sc_sp:(0,1),64,32;sc_pc:(0,1),96,32;sc_npc:(0,1),128,32;sc_psr:(0,1),160,32;sc_g1:(0,1),192,32;sc_o0:(0,1),224,32;\sc_wbcnt:(0,1),256,32;sc_spbuf:(12,6)=ar(0,1);0;30;(5,8),288,992;sc_wbuf:(12,7)=ar(0,1);0;30;(12,8)=ar(0,1);0;15;(0,1),1280,15872;;/usr/include/sys/stdtypes.hsigaction:T(12,9)=s12sa_handler:(12,10)=*(12,11)=f(0,16),0,32;sa_mask:(0,1),32,32;sa_flags:(0,1),64,32;;/usr/include/sys/types.h../../port/string.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/string.h/usr/local/lang/SC1.0/ansi_include/limits.h../lib/xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h_iobuf:T(21,1)=s20_cnt:(0,1),0,32;_ptr:(21,2)=*(0,5),32,32;_base:(21,2),64,32;_bufsiz:(0,1),96,32;_flag:(0,3),128,16;_file:(0,2),144,8;;fpos_t:t(0,4)Gint:t(0,1)Glong:t(0,1)Gintlist:T(20,1)=s8number:(0,1),0,32;integers:(20,2)=*(0,1),32,32;;Gintlist:t(20,1)Gchar:t(0,2)Gfloat:t(0,13)Gredraw:T(20,3)=eGRD_GKS:0,GRD_X:1,;Gredraw:t(20,3)Gacf:T(20,4)=eGCURRENT:0,GSPECIFIED:1,;Gacf:t(20,4)Gasf:T(20,5)=eGBUNDLED:0,GINDIVIDUAL:1,;Gasf:t(20,5)Gasfs:T(20,6)=s52ln_type:(20,5),0,32;ln_width:(20,5),32,32;ln_colour:(20,5),64,32;mk_type:(20,5),96,32;mk_size:(20,5),128,32;mk_colour:(20,5),160,32;tx_fp:(20,5),192,32;tx_exp:(20,5),224,32;\tx_space:(20,5),256,32;tx_colour:(20,5),288,32;fl_inter:(20,5),320,32;fl_style:(20,5),352,32;fl_colour:(20,5),384,32;;Gasfs:t(20,6)Gattrs:T(20,7)=eGPOLYLINE:0,GPOLYMARKER:1,GTEXT:2,GFILLAREA:3,;Gattrs:t(20,7)Gcstat:T(20,8)=eGC_OK:0,GC_NOCHOICE:1,GC_NONE:2,;Gcstat:t(20,8)Gchoice:T(20,9)=s8status:(20,8),0,32;choice:(0,1),32,32;;Gchoice:t(20,9)Gprflag:T(20,10)=eGPROFF:0,GPRON:1,;Gprflag:t(20,10).2fake:T(20,11)=s4data:(5,8),0,32;;.3fake:T(20,12)=s12number:(0,1),0,32;enable:(20,13)=*(20,10),32,32;data:(5,8),64,32;;.4fake:T(20,14)=s12number:(0,1),0,32;strings:(20,15)=*(5,8),32,32;data:(5,8),64,32;;.5fake:T(20,16)=s12number:(0,1),0,32;strings:(20,15),32,32;data:(5,8),64,32;;.6fake:T(20,17)=s16seg:(0,1),0,32;number:(0,1),32,32;pickids:(20,2),64,32;data:(5,8),96,32;;Gchoicerec:T(20,18)=u16pet1:(20,11),0,32;pet2:(20,12),0,96;pet3:(20,14),0,96;pet4:(20,16),0,96;pet5:(20,17),0,128;;Gchoicerec:t(20,18)Gimode:T(20,19)=eGREQUEST:0,GSAMPLE:1,GEVENT:2,;Gimode:t(20,19)Gesw:T(20,20)=eGECHO:0,GNOECHO:1,;Gesw:t(20,20)Glimit:T(20,21)=s16xmin:(0,13),0,32;xmax:(0,13),32,32;ymin:(0,13),64,32;ymax:(0,13),96,32;;Glimit:t(20,21)Gchoicest:T(20,22)=s52mode:(20,19),0,32;esw:(20,20),32,32;choice:(20,9),64,64;pet:(0,1),128,32;e_area:(20,21),160,128;record:(20,18),288,128;;Gchoicest:t(20,22)Gclip:T(20,23)=eGCLIP:0,GNOCLIP:1,;Gclip:t(20,23)Gcliprec:T(20,24)=s20ind:(20,23),0,32;rec:(20,21),32,128;;Gcliprec:t(20,24)Gclrflag:T(20,25)=eGCONDITIONALLY:0,GALWAYS:1,;Gclrflag:t(20,25)Gcoavail:T(20,26)=eGCOLOUR:0,GMONOCHROME:1,;Gcoavail:t(20,26)Gcobundl:T(20,27)=s12red:(0,13),0,32;green:(0,13),32,32;blue:(0,13),64,32;;Gcobundl:t(20,27)Gcofac:T(20,28)=s12colours:(0,1),0,32;coavail:(20,26),32,32;predefined:(0,1),64,32;;Gcofac:t(20,28)Gcovalid:T(20,29)=eGABSENT:0,GPRESENT:1,;Gcovalid:t(20,29)Gcsw:T(20,30)=eGWC:0,GNDC:1,;Gcsw:t(20,30)Gdefchoice:T(20,31)=s44choices:(0,1),0,32;pets:(20,1),32,64;e_area:(20,21),96,128;record:(20,18),224,128;;Gdefchoice:t(20,31)Gdefmode:T(20,32)=eGASAP:0,GBNIG:1,GBNIL:2,GASTI:3,;Gdefmode:t(20,32)Girgmode:T(20,33)=eGSUPPRESSED:0,GALLOWED:1,;Girgmode:t(20,33)Gdefer:T(20,34)=s8defmode:(20,32),0,32;irgmode:(20,33),32,32;;Gdefer:t(20,34)Gpoint:T(20,35)=s8x:(0,13),0,32;y:(0,13),32,32;;Gpoint:t(20,35)Gipoint:T(20,36)=s8x:(0,1),0,32;y:(0,1),32,32;;Gipoint:t(20,36)Glnbundl:T(20,37)=s12type:(0,1),0,32;width:(0,13),32,32;colour:(0,1),64,32;;Glnbundl:t(20,37)Glnattr:T(20,38)=s28type:(20,5),0,32;width:(20,5),32,32;colour:(20,5),64,32;line:(0,1),96,32;bundl:(20,37),128,96;;Glnattr:t(20,38)Gpfcf:T(20,39)=eGPF_POLYLINE:0,GPF_FILLAREA:1,;Gpfcf:t(20,39)Gflinter:T(20,40)=eGHOLLOW:0,GSOLID:1,GPATTERN:2,GHATCH:3,;Gflinter:t(20,40)Gflbundl:T(20,41)=s12inter:(20,40),0,32;style:(0,1),32,32;colour:(0,1),64,32;;Gflbundl:t(20,41)Gflattr:T(20,42)=s28inter:(20,5),0,32;style:(20,5),32,32;colour:(20,5),64,32;fill:(0,1),96,32;bundl:(20,41),128,96;;Gflattr:t(20,42).7fake:T(20,43)=s4data:(5,8),0,32;;.8fake:T(20,44)=s4data:(5,8),0,32;;.9fake:T(20,45)=s4data:(5,8),0,32;;.10fake:T(20,46)=s36acf:(20,4),0,32;ln:(20,38),32,224;data:(5,8),256,32;;.12fake:T(20,47)=u28ln:(20,38),0,224;fl:(20,42),0,224;;.11fake:T(20,48)=s40pfcf:(20,39),0,32;acf:(20,4),32,32;attr:(20,47),64,224;data:(5,8),288,32;;.13fake:T(20,49)=s4data:(5,8),0,32;;Glocrec:T(20,50)=u40pet1:(20,43),0,32;pet2:(20,44),0,32;pet3:(20,45),0,32;pet4:(20,46),0,288;pet5:(20,48),0,320;pet6:(20,49),0,32;;Glocrec:t(20,50)Gdefloc:T(20,51)=s72position:(20,35),0,64;pets:(20,1),64,64;e_area:(20,21),128,128;record:(20,50),256,320;;Gdefloc:t(20,51).14fake:T(20,52)=s4data:(5,8),0,32;;.15fake:T(20,53)=s4data:(5,8),0,32;;.16fake:T(20,54)=s4data:(5,8),0,32;;Gpickrec:T(20,55)=u4pet1:(20,52),0,32;pet2:(20,53),0,32;pet3:(20,54),0,32;;Gpickrec:t(20,55)Gdefpick:T(20,56)=s28pets:(20,1),0,64;e_area:(20,21),64,128;record:(20,55),192,32;;Gdefpick:t(20,56).17fake:T(20,57)=s12bufsiz:(0,1),0,32;position:(0,1),32,32;data:(5,8),64,32;;Gstringrec:T(20,58)=u12pet1:(20,57),0,96;;Gstringrec:t(20,58)Gdefstring:T(20,59)=s40bufsiz:(0,1),0,32;pets:(20,1),32,64;e_area:(20,21),96,128;record:(20,58),224,96;;Gdefstring:t(20,59)Gmkbundl:T(20,60)=s12type:(0,1),0,32;size:(0,13),32,32;colour:(0,1),64,32;;Gmkbundl:t(20,60)Gmkattr:T(20,61)=s28type:(20,5),0,32;size:(20,5),32,32;colour:(20,5),64,32;mark:(0,1),96,32;bundl:(20,60),128,96;;Gmkattr:t(20,61).18fake:T(20,62)=s24bufsiz:(0,1),0,32;editpos:(0,1),32,32;interval:(20,35),64,64;time:(0,13),128,32;data:(5,8),160,32;;.19fake:T(20,63)=s24bufsiz:(0,1),0,32;editpos:(0,1),32,32;interval:(20,35),64,64;time:(0,13),128,32;data:(5,8),160,32;;.20fake:T(20,64)=s56bufsiz:(0,1),0,32;editpos:(0,1),32,32;interval:(20,35),64,64;time:(0,13),128,32;acf:(20,4),160,32;mk:(20,61),192,224;data:(5,8),416,32;;.21fake:T(20,65)=s56bufsiz:(0,1),0,32;editpos:(0,1),32,32;interval:(20,35),64,64;time:(0,13),128,32;acf:(20,4),160,32;ln:(20,38),192,224;data:(5,8),416,32;;Gstrokerec:T(20,66)=u56pet1:(20,62),0,192;pet2:(20,63),0,192;pet3:(20,64),0,448;pet4:(20,65),0,448;;Gstrokerec:t(20,66)Gdefstroke:T(20,67)=s84bufsiz:(0,1),0,32;pets:(20,1),32,64;e_area:(20,21),96,128;record:(20,66),224,448;;Gdefstroke:t(20,67).22fake:T(20,68)=s12low:(0,13),0,32;high:(0,13),32,32;data:(5,8),64,32;;.23fake:T(20,69)=s12low:(0,13),0,32;high:(0,13),32,32;data:(5,8),64,32;;.24fake:T(20,70)=s12low:(0,13),0,32;high:(0,13),32,32;data:(5,8),64,32;;Gvalrec:T(20,71)=u12pet1:(20,68),0,96;pet2:(20,69),0,96;pet3:(20,70),0,96;;Gvalrec:t(20,71)Gdefval:T(20,72)=s40value:(0,13),0,32;pets:(20,1),32,64;e_area:(20,21),96,128;record:(20,71),224,96;;Gdefval:t(20,72)Gdevunits:T(20,73)=eGDC_METRES:0,GDC_OTHER:1,;Gdevunits:t(20,73)Gdspsize:T(20,74)=s20units:(20,73),0,32;device:(20,35),32,64;raster:(20,36),96,64;;Gdspsize:t(20,74)Gdspsurf:T(20,75)=eGEMPTY:0,GNOTEMPTY:1,;Gdspsurf:t(20,75).25fake:T(20,76)=s4dummy:(0,1),0,32;;.26fake:T(20,77)=s4dummy:(0,1),0,32;;Gescin:T(20,78)=u4escid1:(20,76),0,32;escid2:(20,77),0,32;;Gescin:t(20,78).27fake:T(20,79)=s4dummy:(0,1),0,32;;.28fake:T(20,80)=s4dummy:(0,1),0,32;;Gescout:T(20,81)=u4escid1:(20,79),0,32;escid2:(20,80),0,32;;Gescout:t(20,81)Giclass:T(20,82)=eGNCLASS:0,GLOCATOR:1,GISTROKE:2,GVALUATOR:3,GCHOICE:4,GPICK:5,GISTRING:6,;Giclass:t(20,82)Gevent:T(20,83)=s12ws:(0,1),0,32;dev:(0,1),32,32;class:(20,82),64,32;;Gevent:t(20,83)Gextent:T(20,84)=s40concat:(20,35),0,64;ll:(20,35),64,64;lr:(20,35),128,64;ul:(20,35),192,64;ur:(20,35),256,64;;Gextent:t(20,84)Gfile:t(21,1)Gflfac:T(20,85)=s20interiors:(20,1),0,64;hatches:(20,1),64,64;predefined:(0,1),128,32;;Gflfac:t(20,85)Ggdpfac:T(20,86)=s8number:(0,1),0,32;attrs:(20,87)=*(20,7),32,32;;Ggdpfac:t(20,86)Ggdplist:T(20,88)=s12number:(0,1),0,32;functions:(20,89)=*(20,90)=f(0,1),32,32;indices:(20,2),64,32;;Ggdplist:t(20,88).29fake:T(20,91)=s4dummy:(0,1),0,32;;.30fake:T(20,92)=s4dummy:(0,1),0,32;;Ggdprec:T(20,93)=u4gdpid1:(20,91),0,32;gdpid2:(20,92),0,32;;Ggdprec:t(20,93)Ggksmit:T(20,94)=s8type:(0,1),0,32;length:(0,1),32,32;;Ggksmit:t(20,94)Gtxprec:T(20,95)=eGSTRING:0,GCHAR:1,GSTROKE:2,;Gtxprec:t(20,95)Gtxfp:T(20,96)=s8font:(0,1),0,32;prec:(20,95),32,32;;Gtxfp:t(20,96)Gindattr:T(20,97)=s108lntype:(0,1),0,32;lnwidth:(0,13),32,32;lncolour:(0,1),64,32;mktype:(0,1),96,32;mksize:(0,13),128,32;mkcolour:(0,1),160,32;fp:(20,96),192,64;chexp:(0,13),256,32;\chspace:(0,13),288,32;txcolour:(0,1),320,32;flstyle:(20,40),352,32;flindex:(0,1),384,32;flcolour:(0,1),416,32;asflist:(20,6),448,416;;Gindattr:t(20,97)Ginqtype:T(20,98)=eGSET:0,GREALIZED:1,;Ginqtype:t(20,98)Gqtype:t(20,98)Gistat:T(20,99)=eGOK:0,GNONE:1,;Gistat:t(20,99)Glastev:T(20,100)=eGLAST:0,GNOTLAST:1,;Glastev:t(20,100)Glevel:T(20,101)=eGLMA:-3,GLMB:-2,GLMC:-1,GL0A:0,GL0B:1,GL0C:2,GL1A:3,GL1B:4,\GL1C:5,GL2A:6,GL2B:7,GL2C:8,;Glevel:t(20,101)Glnfac:T(20,102)=s28types:(20,1),0,64;widths:(0,1),64,32;nom:(0,13),96,32;min:(0,13),128,32;max:(0,13),160,32;predefined:(0,1),192,32;;Glnfac:t(20,102)Gloc:T(20,103)=s12transform:(0,1),0,32;position:(20,35),32,64;;Gloc:t(20,103)Glocst:T(20,104)=s80mode:(20,19),0,32;esw:(20,20),32,32;loc:(20,103),64,96;pet:(0,1),160,32;e_area:(20,21),192,128;record:(20,50),320,320;;Glocst:t(20,104)Gmkfac:T(20,105)=s28types:(20,1),0,64;sizes:(0,1),64,32;nom:(0,13),96,32;min:(0,13),128,32;max:(0,13),160,32;predefined:(0,1),192,32;;Gmkfac:t(20,105)Gmodtype:T(20,106)=eGIRG:0,GIMM:1,;Gmodtype:t(20,106)Gmodseg:T(20,107)=s28transform:(20,106),0,32;appear:(20,106),32,32;disappear:(20,106),64,32;highlight:(20,106),96,32;priority:(20,106),128,32;addition:(20,106),160,32;deletion:(20,106),192,32;;Gmodseg:t(20,107)Gmodws:T(20,108)=s28line:(20,106),0,32;mark:(20,106),32,32;text:(20,106),64,32;fill:(20,106),96,32;pat:(20,106),128,32;colour:(20,106),160,32;wstran:(20,106),192,32;;Gmodws:t(20,108)Gnframe:T(20,109)=eGNO:0,GYES:1,;Gnframe:t(20,109)Gstore:t(20,109)Gnumdev:T(20,110)=s24locator:(0,1),0,32;stroke:(0,1),32,32;valuator:(0,1),64,32;choice:(0,1),96,32;pick:(0,1),128,32;string:(0,1),160,32;;Gnumdev:t(20,110)Gos:T(20,111)=eGGKCL:0,GGKOP:1,GWSOP:2,GWSAC:3,GSGOP:4,;Gos:t(20,111)Gpstat:T(20,112)=eGP_OK:0,GP_NOPICK:1,GP_NONE:2,;Gpstat:t(20,112)Gpick:T(20,113)=s12status:(20,112),0,32;seg:(0,1),32,32;pickid:(0,1),64,32;;Gpick:t(20,113)Gpickst:T(20,114)=s44mode:(20,19),0,32;esw:(20,20),32,32;pick:(20,113),64,96;pet:(0,1),160,32;e_area:(20,21),192,128;record:(20,55),320,32;;Gpickst:t(20,114)Gtxpath:T(20,115)=eGTP_RIGHT:0,GTP_LEFT:1,GTP_UP:2,GTP_DOWN:3,;Gtxpath:t(20,115)Gtxhor:T(20,116)=eGTH_NORMAL:0,GTH_LEFT:1,GTH_CENTRE:2,GTH_RIGHT:3,;Gtxhor:t(20,116)Gtxver:T(20,117)=eGTV_NORMAL:0,GTV_TOP:1,GTV_CAP:2,GTV_HALF:3,GTV_BASE:4,GTV_BOTTOM:5,;Gtxver:t(20,117)Gtxalign:T(20,118)=s8hor:(20,116),0,32;ver:(20,117),32,32;;Gtxalign:t(20,118)Gpriattr:T(20,119)=s76plnindex:(0,1),0,32;pmkindex:(0,1),32,32;txindex:(0,1),64,32;height:(0,13),96,32;up:(20,35),128,64;chwidth:(0,13),192,32;base:(20,35),224,64;path:(20,115),288,32;\align:(20,118),320,64;flindex:(0,1),384,32;widthvec:(20,35),416,64;heightvec:(20,35),480,64;prp:(20,35),544,64;;Gpriattr:t(20,119)Gptbundl:T(20,120)=s12size:(20,36),0,64;array:(20,2),64,32;;Gptbundl:t(20,120)Gpxarray:T(20,121)=s8covalid:(20,29),0,32;array:(20,2),32,32;;Gpxarray:t(20,121)Gqloc:T(20,122)=s16status:(20,99),0,32;loc:(20,103),32,96;;Gqloc:t(20,122)Gqstring:T(20,123)=s8status:(20,99),0,32;string:(5,8),32,32;;Gqstring:t(20,123)Gstroke:T(20,124)=s12transform:(0,1),0,32;n_points:(0,1),32,32;points:(20,125)=*(20,35),64,32;;Gstroke:t(20,124)Gqstroke:T(20,126)=s16status:(20,99),0,32;stroke:(20,124),32,96;;Gqstroke:t(20,126)Gqueue:T(20,127)=s8class:(20,82),0,32;devno:(0,1),32,32;;Gqueue:t(20,127)Gqval:T(20,128)=s8status:(20,99),0,32;val:(0,13),32,32;;Gqval:t(20,128)Grect:T(20,129)=s16ll:(20,35),0,64;ur:(20,35),64,64;;Grect:t(20,129)Gregen:T(20,130)=eGPERFORM:0,GPOSTPONE:1,;Gregen:t(20,130)Gsegdet:T(20,131)=eGUNDETECTABLE:0,GDETECTABLE:1,;Gsegdet:t(20,131)Gseghi:T(20,132)=eGNORMAL:0,GHIGHLIGHTED:1,;Gseghi:t(20,132)Gsegvis:T(20,133)=eGVISIBLE:0,GINVISIBLE:1,;Gsegvis:t(20,133)Gsegattr:T(20,134)=s44seg:(0,1),0,32;segtran:(20,135)=ar(0,1);0;1;(20,136)=ar(0,1);0;2;(0,13),32,192;vis:(20,133),224,32;hilight:(20,132),256,32;pri:(0,13),288,32;det:(20,131),320,32;;Gsegattr:t(20,134)Gsimultev:T(20,137)=eGNOMORE:0,GMORE:1,;Gsimultev:t(20,137)Gstringst:T(20,138)=s44mode:(20,19),0,32;esw:(20,20),32,32;string:(5,8),64,32;pet:(0,1),96,32;e_area:(20,21),128,128;record:(20,58),256,96;;Gstringst:t(20,138)Gstrlist:T(20,139)=s8number:(0,1),0,32;strings:(20,15),32,32;;Gstrlist:t(20,139)Gstrokest:T(20,140)=s96mode:(20,19),0,32;esw:(20,20),32,32;stroke:(20,124),64,96;pet:(0,1),160,32;e_area:(20,21),192,128;record:(20,66),320,448;;Gstrokest:t(20,140)Gtxbundl:T(20,141)=s20fp:(20,96),0,64;ch_exp:(0,13),64,32;space:(0,13),96,32;colour:(0,1),128,32;;Gtxbundl:t(20,141)Gtxattr:T(20,142)=s40fp:(20,5),0,32;tx_exp:(20,5),32,32;space:(20,5),64,32;colour:(20,5),96,32;text:(0,1),128,32;bundl:(20,141),160,160;;Gtxattr:t(20,142)Gtxfac:T(20,143)=s36fps:(0,1),0,32;fp_list:(20,144)=*(20,96),32,32;heights:(0,1),64,32;min_ht:(0,13),96,32;max_ht:(0,13),128,32;expansions:(0,1),160,32;min_ex:(0,13),192,32;max_ex:(0,13),224,32;\predefined:(0,1),256,32;;Gtxfac:t(20,143)Gvalst:T(20,145)=s44mode:(20,19),0,32;esw:(20,20),32,32;val:(0,13),64,32;pet:(0,1),96,32;e_area:(20,21),128,128;record:(20,71),256,96;;Gvalst:t(20,145)Gvpri:T(20,146)=eGHIGHER:0,GLOWER:1,;Gvpri:t(20,146)Gwscat:T(20,147)=eGINVALID:-1,GOUTPUT:0,GINPUT:1,GOUTIN:2,GWISS:3,GMO:4,GMI:5,;Gwscat:t(20,147)Gwsclass:T(20,148)=eGVECTOR:0,GRASTER:1,GOTHER:2,;Gwsclass:t(20,148)Gwsct:T(20,149)=s8conn:(5,8),0,32;type:(5,8),32,32;;Gwsct:t(20,149)Gwsdus:T(20,150)=s16defmode:(20,32),0,32;dspsurf:(20,75),32,32;irgmode:(20,33),64,32;nframe:(20,109),96,32;;Gwsdus:t(20,150)Gwsmax:T(20,151)=s12open:(0,1),0,32;active:(0,1),32,32;assoc:(0,1),64,32;;Gwsmax:t(20,151)Gwsstate:T(20,152)=eGINACTIVE:0,GACTIVE:1,;Gwsstate:t(20,152)Gwstables:T(20,153)=s24line:(0,1),0,32;mark:(0,1),32,32;text:(0,1),64,32;fill:(0,1),96,32;pat:(0,1),128,32;colour:(0,1),160,32;;Gwstables:t(20,153)Gwstus:T(20,154)=eGNOTPENDING:0,GPENDING:1,;Gwstus:t(20,154)Gwstran:T(20,155)=s32w:(20,21),0,128;v:(20,21),128,128;;Gwstran:t(20,155)Gwsti:T(20,156)=s68wstus:(20,154),0,32;request:(20,155),32,256;current:(20,155),288,256;;Gwsti:t(20,156)Gerrmap:T(20,157)=eerrnull:0,errgopengks:1,errgclosegks:2,errgopenws:3,errgclosews:4,errgactivatews:5,errgdeactivatews:6,errgclearws:7,\errgredrawsegws:8,errgupdatews:9,errgsetdeferst:10,errgmessage:11,errgescredrawnotify:12,errgescsetcolourmask:13,errgescsetdcsize:14,errgescstoreprimi:15,\errgescinqxattr:16,errgpolyline:17,errgpolymarker:18,errgtext:19,errgfillarea:20,errgcellarray:21,errggdp:22,errgsetlineind:23,\errgsetlinetype:24,errgsetlinewidth:25,errgsetlinecolourind:26,errgsetmarkerind:27,errgsetmarkertype:28,errgsetmarkersize:29,errgsetmarkercolourind:30,errgsettextind:31,\errgsettextfontprec:32,errgsetcharexpan:33,errgsetcharspace:34,errgsettextcolourind:35,errgsetcharheight:36,errgsetcharup:37,errgsettextpath:38,errgsettextalign:39,\errgsetfillind:40,errgsetfillintstyle:41,errgsetfillstyleind:42,errgsetfillcolourind:43,errgsetpatsize:44,errgsetpatrefpt:45,errgsetasf:46,errgsetpickid:47,\errgsetlinerep:48,errgsetmarkerrep:49,errgsetpatrep:50,errgsetfillrep:51,errgsettextrep:52,errgsetcolourrep:53,errgsetwindow:54,errgsetviewport:55,\errgsetviewportinputpri:56,errgselntran:57,errgsetclip:58,errgsetwswindow:59,errgsetwsviewport:60,errgcreateseg:61,errgcloseseg:62,errgrenameseg:63,\errgdelseg:64,errgdelsegws:65,errgassocsegws:66,errgcopysegws:67,errginsertseg:68,errgsetsegtran:69,errgsetvis:70,errgsethighlight:71,\errgsetsegpri:72,errgsetdet:73,errgsetsegattr:74,errginitloc:75,errginitstroke:76,errginitval:77,errginitchoice:78,errginitpick:79,\errginitstring:80,errgsetlocmode:81,errgsetstrokemode:82,errgsetvalmode:83,errgsetchoicemode:84,errgsetpickmode:85,errgsetstringmode:86,errgreqloc:87,\errgreqstroke:88,errgreqval:89,errgreqchoice:90,errgreqpick:91,errgreqstring:92,errgsampleloc:93,errgsamplestroke:94,errgsampleval:95,\errgsamplechoice:96,errgsamplepick:97,errgsamplestring:98,errgawaitevent:99,errgflushevents:100,errggetloc:101,errggetstroke:102,errggetval:103,\errggetchoice:104,errggetpick:105,errggetstring:106,errgwritegksm:107,errggettypegksm:108,errgreadgksm:109,errggetgksm:110,errginterpret:111,\errgevaltran:112,errgaccumtran:113,errgemergencyclosegks:114,errgerrorhand:115,errgerrorlog:116,errginqactivews:117,errginqasf:118,errginqassocws:119,\errginqavailgdp:120,errginqavailwstypes:121,errginqchoicest:122,errginqclip:123,errginqcolourfacil:124,errginqcolourindices:125,errginqcolourrep:126,errginqcurntrannum:127,\errginqdefchoice:128,errginqdefdeferst:129,errginqdefloc:130,errginqdefpick:131,errginqdefstring:132,errginqdefstroke:133,errginqdefval:134,errginqdisplayspacesize:135,\errginqdisplaysize:136,errginqfillfacil:137,errginqfillindices:138,errginqfillrep:139,errginqgdp:140,errginqindivattr:141,errginqinputoverflow:142,errginqlevelgks:143,\errginqlinefacil:144,errginqlineindices:145,errginqlinerep:146,errginqlocst:147,errginqmarkerfacil:148,errginqmarkerindices:149,errginqmarkerrep:150,errginqmaxntrannum:151,\errginqmaxwssttables:152,errginqmodsegattr:153,errginqmodwsattr:154,errginqmoreevents:155,errginqnameopenseg:156,errginqntrannum:157,errginqntran:158,errginqnumavailinput:159,\errginqnumsegpri:160,errginqopenws:161,errginqopst:162,errginqpatfacil:163,errginqpatindices:164,errginqpatrep:165,errginqcurpickid:166,errginqpickst:167,\errginqpixel:168,errginqpixelarray:169,errginqpixelarraydim:170,errginqpredcolourrep:171,errginqpredfillrep:172,errginqpredlinerep:173,errginqpredmarkerrep:174,errginqpredpatrep:175,\errginqpredtextrep:176,errginqprimattr:177,errginqsegattr:178,errginqsegnames:179,errginqsegnamesws:180,errginqstringst:181,errginqstrokest:182,errginqtextextent:183,\errginqtextfacil:184,errginqtextindices:185,errginqtextrep:186,errginqvalst:187,errginqwscategory:188,errginqwsclass:189,errginqwsconntype:190,errginqwsdeferupdatest:191,\errginqwsmaxnum:192,errginqwsst:193,errginqwstran:194,;Gerrmap:t(20,157)Gfuncerrmap:T(20,158)=eerrXgksChoUpdatePrompt:1000,errXgksEnqueueEvent:1001,errXgksLocUpdatePrompt:1002,errXgksStrUpdatePrompt:1003,errXgksPicUpdatePrompt:1004,errXgksInsertMesgPrimi:1005,errXgksDuplicatePrimi:1006,errXgksSegPrimiTran:1007,\errXgksStkUpdatePrompt:1008,errXgksValUpdatePrompt:1009,errXgksDistFillarea:1010,errXgksInitWssFillArea:1011,errXgksDistCellarray:1012,errXgksExecData:1013,errxPolyMarker:1014,errxFillArea:1015,\errxInqPixelarray:1016,;Gfuncerrmap:t(20,158)../lib/gks_defines.hXcToGKSMap:T(22,1)=s12red:(0,7),0,32;green:(0,7),32,32;blue:(0,7),64,32;;XcRGB:t(22,1).31fake:T(22,2)=u4rgb:(22,3)=*(22,1),0,32;colour:(22,4)=*(0,8),0,32;;XcTable:t(22,2).32fake:T(22,5)=s40red_mult:(0,8),0,32;green_mult:(0,8),32,32;blue_mult:(0,8),64,32;red_mask:(0,8),96,32;green_mask:(0,8),128,32;blue_mask:(0,8),160,32;SeparateRGB:(0,1),192,32;NumEntries:(0,1),224,32;\ToX:(22,2),256,32;ToGKS:(22,2),288,32;;XcMap:t(22,5).33fake:T(22,6)=ePLINE:0,PMARK:1,TEXT:2,FILL_AREA:3,CELL_ARRAY:4,CLIP_REC:5,XGKS_MESG:6,GDP:7,;PID:t(22,6).34fake:T(22,7)=eERR_ON:0,ERR_OFF:1,;ERROR_ST:t(22,7).35fake:T(22,8)=eVAL_HORIZ:0,VAL_VERT:1,;VAL_AXIS:t(22,8)seg_struct:T(22,9)=s8seg:(0,1),0,32;next:(22,10)=*(22,9),32,32;;WS_SEG_LIST:t(22,9).36fake:T(22,11)=s36height:(0,13),0,32;up:(20,35),32,64;chwidth:(0,13),96,32;base:(20,35),128,64;path:(20,115),192,32;align:(20,118),224,64;;CHATTR:t(22,11).37fake:T(22,12)=s24widthvec:(20,35),0,64;heightvec:(20,35),64,64;ptp:(20,35),128,64;;PTATTR:t(22,12)./fortxgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./fortmac.h.38fake:T(23,1)=eerrgurec:0,errgprec:1,;Fort_errmap:t(23,1).39fake:T(23,2)=eFORT_GRD_GKS:0,FORT_GRD_X:1,;Fort_Gredraw:t(23,2).40fake:T(23,3)=eFORT_GCURNT:0,FORT_GSPEC:1,;Fort_Gacf:t(23,3).41fake:T(23,4)=eFORT_GBUNDL:0,FORT_GINDIV:1,;Fort_Gasf:t(23,4).42fake:T(23,5)=eFORT_GPLATT:0,FORT_GPMATT:1,FORT_GTXATT:2,FORT_GFAATT:3,;Fort_Gattrs:t(23,5).43fake:T(23,6)=eFORT_GPROFF:0,FORT_GPRON:1,;Fort_Gprflag:t(23,6).44fake:T(23,7)=eFORT_GREQU:0,FORT_GSAMPL:1,FORT_GEVENT:2,;Fort_Gimode:t(23,7).45fake:T(23,8)=eFORT_GNECHO:0,FORT_GECHO:1,;Fort_Gesw:t(23,8).46fake:T(23,9)=eFORT_GNCLIP:0,FORT_GCLIP:1,;Fort_Gclip:t(23,9).47fake:T(23,10)=eFORT_GCONDI:0,FORT_GALWAY:1,;Fort_Gclrflag:t(23,10).48fake:T(23,11)=eFORT_GMONOC:0,FORT_GCOLOR:1,;Fort_Gcoavail:t(23,11).49fake:T(23,12)=eFORT_GABSNT:0,FORT_GPRSNT:1,;Fort_Gcovalid:t(23,12).50fake:T(23,13)=eFORT_GWC:0,FORT_GNDC:1,;Fort_Gcsw:t(23,13).51fake:T(23,14)=eFORT_GASAP:0,FORT_GBNIG:1,FORT_GBNIL:2,FORT_GASTI:3,;Fort_Gdefmode:t(23,14).52fake:T(23,15)=eFORT_GSUPPD:0,FORT_GALLOW:1,;Fort_Girgmode:t(23,15).53fake:T(23,16)=eFORT_GPLINE:0,FORT_GFILLA:1,;Fort_Gpfcf:t(23,16).54fake:T(23,17)=eFORT_GHOLLO:0,FORT_GSOLID:1,FORT_GPATTR:2,FORT_GHATCH:3,;Fort_Gflinter:t(23,17).55fake:T(23,18)=eFORT_GMETRE:0,FORT_GOTHU:1,;Fort_Gdevunits:t(23,18).56fake:T(23,19)=eFORT_GNEMPT:0,FORT_GEMPTY:1,;Fort_Gdspsurf:t(23,19).57fake:T(23,20)=eFORT_GNCLAS:0,FORT_GLOCAT:1,FORT_GSTROK:2,FORT_GVALUA:3,FORT_GCHOIC:4,FORT_GPICK:5,FORT_GSTRIN:6,;Fort_Giclass:t(23,20).58fake:T(23,21)=eFORT_GSTRP:0,FORT_GCHARP:1,FORT_GSTRKP:2,;Fort_Gtxprec:t(23,21).59fake:T(23,22)=eFORT_GSET:0,FORT_GREALI:1,;Fort_Ginqtype:t(23,22)Fort_Gqtype:t(23,22).60fake:T(23,23)=eFORT_GNONE:0,FORT_GOK:1,FORT_GNPICK:2,FORT_GNCHOI:2,;Fort_Gistat:t(23,23).61fake:T(23,24)=eFORT_GLMA:-3,FORT_GLMB:-2,FORT_GLMC:-1,FORT_GL0A:0,FORT_GL0B:1,FORT_GL0C:2,FORT_GL1A:3,FORT_GL1B:4,\FORT_GL1C:5,FORT_GL2A:6,FORT_GL2B:7,FORT_GL2C:8,;Fort_Glevel:t(23,24).62fake:T(23,25)=eFORT_GIRG:0,FORT_GIMM:1,;Fort_Gmodtype:t(23,25).63fake:T(23,26)=eFORT_GNO:0,FORT_GYES:1,;Fort_Gnframe:t(23,26)Fort_Gstore:t(23,26).64fake:T(23,27)=eFORT_GGKCL:0,FORT_GGKOP:1,FORT_GWSOP:2,FORT_GWSAC:3,FORT_GSGOP:4,;Fort_Gos:t(23,27).65fake:T(23,28)=eFORT_GRIGHT:0,FORT_GLEFT:1,FORT_GUP:2,FORT_GDOWN:3,;Fort_Gtxpath:t(23,28).66fake:T(23,29)=eFORT_GAHNOR:0,FORT_GALEFT:1,FORT_GACENT:2,FORT_GARITE:3,;Fort_Gtxhor:t(23,29).67fake:T(23,30)=eFORT_GAVNOR:0,FORT_GATOP:1,FORT_GACAP:2,FORT_GAHALF:3,FORT_GABASE:4,FORT_GABOTT:5,;Fort_Gtxver:t(23,30).68fake:T(23,31)=eFORT_GPOSTP:0,FORT_GPERFO:1,;Fort_Gregen:t(23,31).69fake:T(23,32)=eFORT_GUNDET:0,FORT_GDETEC:1,;Fort_Gsegdet:t(23,32).70fake:T(23,33)=eFORT_GNORML:0,FORT_GHILIT:1,;Fort_Gseghi:t(23,33).71fake:T(23,34)=eFORT_GINVIS:0,FORT_GVISI:1,;Fort_Gsegvis:t(23,34).72fake:T(23,35)=eFORT_GNMORE:0,FORT_GMORE:1,;Fort_Gsimultev:t(23,35).73fake:T(23,36)=eFORT_GHIGHR:0,FORT_GLOWER:1,;Fort_Gvpri:t(23,36).74fake:T(23,37)=eFORT_GOUTPT:0,FORT_GINPUT:1,FORT_GOUTIN:2,FORT_GWISS:3,FORT_GMO:4,FORT_GMI:5,;Fort_Gwscat:t(23,37).75fake:T(23,38)=eFORT_GVECTR:0,FORT_GRASTR:1,FORT_GOTHWK:2,;Fort_Gwsclass:t(23,38).76fake:T(23,39)=eFORT_GINACT:0,FORT_GACTIV:1,;Fort_Gwsstate:t(23,39).77fake:T(23,40)=eFORT_GNPEND:0,FORT_GPEND:1,;Fort_Gwstus:t(23,40)afsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;59;(0,2)gopks_:F(0,16)errfile:p(20,2)memory:p(20,2)wstype:(20,139)i:(0,1)fname:(5,8)gclks_:F(0,16)gopwk_:F(0,16)wkid:p(20,2)conid:p(20,2)wtype:p(20,2)connection:(5,8)fname:(5,8)gclwk_:F(0,16)wkid:p(20,2)gacwk_:F(0,16)wkid:p(20,2)gdawk_:F(0,16)wkid:p(20,2)gclrwk_:F(0,16)wkid:p(20,2)cofl:p(20,2)grsgwk_:F(0,16)wkid:p(20,2)guwk_:F(0,16)wkid:p(20,2)regfl:p(20,2)#tmp0:(0,1)gsds_:F(0,16)wkid:p(20,2)defmod:p(20,2)regmod:p(20,2)C_regmod:(20,33)C_defmod:(20,32)gmsg_:F(0,16)wkid:p(20,2)mess:p(5,8)mess_len:p(0,1)gmsgs_:F(0,16)wkid:p(20,2)lstr:p(20,2)mess:p(5,8)mess_len:p(0,1)error.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/fortran/error.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h/usr/local/lang/SC1.0/ansi_include/stdio.h_iobuf:T(2,1)=s20_cnt:(0,1),0,32;_ptr:(2,2)=*(0,5),32,32;_base:(2,2),64,32;_bufsiz:(0,1),96,32;_flag:(0,3),128,16;_file:(0,2),144,8;;sigset_t:t(0,1)speed_t:t(0,7)tcflag_t:t(0,8)cc_t:t(0,5)pid_t:t(0,1)mode_t:t(0,6)nlink_t:t(0,3)clock_t:t(0,4)time_t:t(0,4)size_t:t(0,1)ptrdiff_t:t(0,1)wchar_t:t(0,4)fpos_t:t(0,4)../../port/string.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/string.h../lib/xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.hGint:t(0,1)Glong:t(0,1)Gintlist:T(6,1)=s8number:(0,1),0,32;integers:(6,2)=*(0,1),32,32;;Gintlist:t(6,1)Gchar:t(0,2)Gfloat:t(0,13)Gredraw:T(6,3)=eGRD_GKS:0,GRD_X:1,;Gredraw:t(6,3)Gacf:T(6,4)=eGCURRENT:0,GSPECIFIED:1,;Gacf:t(6,4)Gasf:T(6,5)=eGBUNDLED:0,GINDIVIDUAL:1,;Gasf:t(6,5)Gasfs:T(6,6)=s52ln_type:(6,5),0,32;ln_width:(6,5),32,32;ln_colour:(6,5),64,32;mk_type:(6,5),96,32;mk_size:(6,5),128,32;mk_colour:(6,5),160,32;tx_fp:(6,5),192,32;tx_exp:(6,5),224,32;\tx_space:(6,5),256,32;tx_colour:(6,5),288,32;fl_inter:(6,5),320,32;fl_style:(6,5),352,32;fl_colour:(6,5),384,32;;Gasfs:t(6,6)Gattrs:T(6,7)=eGPOLYLINE:0,GPOLYMARKER:1,GTEXT:2,GFILLAREA:3,;Gattrs:t(6,7)Gcstat:T(6,8)=eGC_OK:0,GC_NOCHOICE:1,GC_NONE:2,;Gcstat:t(6,8)Gchoice:T(6,9)=s8status:(6,8),0,32;choice:(0,1),32,32;;Gchoice:t(6,9)Gprflag:T(6,10)=eGPROFF:0,GPRON:1,;Gprflag:t(6,10).0fake:T(6,11)=s4data:(6,12)=*(0,2),0,32;;.1fake:T(6,13)=s12number:(0,1),0,32;enable:(6,14)=*(6,10),32,32;data:(6,12),64,32;;.2fake:T(6,15)=s12number:(0,1),0,32;strings:(6,16)=*(6,12),32,32;data:(6,12),64,32;;.3fake:T(6,17)=s12number:(0,1),0,32;strings:(6,16),32,32;data:(6,12),64,32;;.4fake:T(6,18)=s16seg:(0,1),0,32;number:(0,1),32,32;pickids:(6,2),64,32;data:(6,12),96,32;;Gchoicerec:T(6,19)=u16pet1:(6,11),0,32;pet2:(6,13),0,96;pet3:(6,15),0,96;pet4:(6,17),0,96;pet5:(6,18),0,128;;Gchoicerec:t(6,19)Gimode:T(6,20)=eGREQUEST:0,GSAMPLE:1,GEVENT:2,;Gimode:t(6,20)Gesw:T(6,21)=eGECHO:0,GNOECHO:1,;Gesw:t(6,21)Glimit:T(6,22)=s16xmin:(0,13),0,32;xmax:(0,13),32,32;ymin:(0,13),64,32;ymax:(0,13),96,32;;Glimit:t(6,22)Gchoicest:T(6,23)=s52mode:(6,20),0,32;esw:(6,21),32,32;choice:(6,9),64,64;pet:(0,1),128,32;e_area:(6,22),160,128;record:(6,19),288,128;;Gchoicest:t(6,23)Gclip:T(6,24)=eGCLIP:0,GNOCLIP:1,;Gclip:t(6,24)Gcliprec:T(6,25)=s20ind:(6,24),0,32;rec:(6,22),32,128;;Gcliprec:t(6,25)Gclrflag:T(6,26)=eGCONDITIONALLY:0,GALWAYS:1,;Gclrflag:t(6,26)Gcoavail:T(6,27)=eGCOLOUR:0,GMONOCHROME:1,;Gcoavail:t(6,27)Gcobundl:T(6,28)=s12red:(0,13),0,32;green:(0,13),32,32;blue:(0,13),64,32;;Gcobundl:t(6,28)Gcofac:T(6,29)=s12colours:(0,1),0,32;coavail:(6,27),32,32;predefined:(0,1),64,32;;Gcofac:t(6,29)Gcovalid:T(6,30)=eGABSENT:0,GPRESENT:1,;Gcovalid:t(6,30)Gcsw:T(6,31)=eGWC:0,GNDC:1,;Gcsw:t(6,31)Gdefchoice:T(6,32)=s44choices:(0,1),0,32;pets:(6,1),32,64;e_area:(6,22),96,128;record:(6,19),224,128;;Gdefchoice:t(6,32)Gdefmode:T(6,33)=eGASAP:0,GBNIG:1,GBNIL:2,GASTI:3,;Gdefmode:t(6,33)Girgmode:T(6,34)=eGSUPPRESSED:0,GALLOWED:1,;Girgmode:t(6,34)Gdefer:T(6,35)=s8defmode:(6,33),0,32;irgmode:(6,34),32,32;;Gdefer:t(6,35)Gpoint:T(6,36)=s8x:(0,13),0,32;y:(0,13),32,32;;Gpoint:t(6,36)Gipoint:T(6,37)=s8x:(0,1),0,32;y:(0,1),32,32;;Gipoint:t(6,37)Glnbundl:T(6,38)=s12type:(0,1),0,32;width:(0,13),32,32;colour:(0,1),64,32;;Glnbundl:t(6,38)Glnattr:T(6,39)=s28type:(6,5),0,32;width:(6,5),32,32;colour:(6,5),64,32;line:(0,1),96,32;bundl:(6,38),128,96;;Glnattr:t(6,39)Gpfcf:T(6,40)=eGPF_POLYLINE:0,GPF_FILLAREA:1,;Gpfcf:t(6,40)Gflinter:T(6,41)=eGHOLLOW:0,GSOLID:1,GPATTERN:2,GHATCH:3,;Gflinter:t(6,41)Gflbundl:T(6,42)=s12inter:(6,41),0,32;style:(0,1),32,32;colour:(0,1),64,32;;Gflbundl:t(6,42)Gflattr:T(6,43)=s28inter:(6,5),0,32;style:(6,5),32,32;colour:(6,5),64,32;fill:(0,1),96,32;bundl:(6,42),128,96;;Gflattr:t(6,43).5fake:T(6,44)=s4data:(6,12),0,32;;.6fake:T(6,45)=s4data:(6,12),0,32;;.7fake:T(6,46)=s4data:(6,12),0,32;;.8fake:T(6,47)=s36acf:(6,4),0,32;ln:(6,39),32,224;data:(6,12),256,32;;.10fake:T(6,48)=u28ln:(6,39),0,224;fl:(6,43),0,224;;.9fake:T(6,49)=s40pfcf:(6,40),0,32;acf:(6,4),32,32;attr:(6,48),64,224;data:(6,12),288,32;;.11fake:T(6,50)=s4data:(6,12),0,32;;Glocrec:T(6,51)=u40pet1:(6,44),0,32;pet2:(6,45),0,32;pet3:(6,46),0,32;pet4:(6,47),0,288;pet5:(6,49),0,320;pet6:(6,50),0,32;;Glocrec:t(6,51)Gdefloc:T(6,52)=s72position:(6,36),0,64;pets:(6,1),64,64;e_area:(6,22),128,128;record:(6,51),256,320;;Gdefloc:t(6,52).12fake:T(6,53)=s4data:(6,12),0,32;;.13fake:T(6,54)=s4data:(6,12),0,32;;.14fake:T(6,55)=s4data:(6,12),0,32;;Gpickrec:T(6,56)=u4pet1:(6,53),0,32;pet2:(6,54),0,32;pet3:(6,55),0,32;;Gpickrec:t(6,56)Gdefpick:T(6,57)=s28pets:(6,1),0,64;e_area:(6,22),64,128;record:(6,56),192,32;;Gdefpick:t(6,57).15fake:T(6,58)=s12bufsiz:(0,1),0,32;position:(0,1),32,32;data:(6,12),64,32;;Gstringrec:T(6,59)=u12pet1:(6,58),0,96;;Gstringrec:t(6,59)Gdefstring:T(6,60)=s40bufsiz:(0,1),0,32;pets:(6,1),32,64;e_area:(6,22),96,128;record:(6,59),224,96;;Gdefstring:t(6,60)Gmkbundl:T(6,61)=s12type:(0,1),0,32;size:(0,13),32,32;colour:(0,1),64,32;;Gmkbundl:t(6,61)Gmkattr:T(6,62)=s28type:(6,5),0,32;size:(6,5),32,32;colour:(6,5),64,32;mark:(0,1),96,32;bundl:(6,61),128,96;;Gmkattr:t(6,62).16fake:T(6,63)=s24bufsiz:(0,1),0,32;editpos:(0,1),32,32;interval:(6,36),64,64;time:(0,13),128,32;data:(6,12),160,32;;.17fake:T(6,64)=s24bufsiz:(0,1),0,32;editpos:(0,1),32,32;interval:(6,36),64,64;time:(0,13),128,32;data:(6,12),160,32;;.18fake:T(6,65)=s56bufsiz:(0,1),0,32;editpos:(0,1),32,32;interval:(6,36),64,64;time:(0,13),128,32;acf:(6,4),160,32;mk:(6,62),192,224;data:(6,12),416,32;;.19fake:T(6,66)=s56bufsiz:(0,1),0,32;editpos:(0,1),32,32;interval:(6,36),64,64;time:(0,13),128,32;acf:(6,4),160,32;ln:(6,39),192,224;data:(6,12),416,32;;Gstrokerec:T(6,67)=u56pet1:(6,63),0,192;pet2:(6,64),0,192;pet3:(6,65),0,448;pet4:(6,66),0,448;;Gstrokerec:t(6,67)Gdefstroke:T(6,68)=s84bufsiz:(0,1),0,32;pets:(6,1),32,64;e_area:(6,22),96,128;record:(6,67),224,448;;Gdefstroke:t(6,68).20fake:T(6,69)=s12low:(0,13),0,32;high:(0,13),32,32;data:(6,12),64,32;;.21fake:T(6,70)=s12low:(0,13),0,32;high:(0,13),32,32;data:(6,12),64,32;;.22fake:T(6,71)=s12low:(0,13),0,32;high:(0,13),32,32;data:(6,12),64,32;;Gvalrec:T(6,72)=u12pet1:(6,69),0,96;pet2:(6,70),0,96;pet3:(6,71),0,96;;Gvalrec:t(6,72)Gdefval:T(6,73)=s40value:(0,13),0,32;pets:(6,1),32,64;e_area:(6,22),96,128;record:(6,72),224,96;;Gdefval:t(6,73)Gdevunits:T(6,74)=eGDC_METRES:0,GDC_OTHER:1,;Gdevunits:t(6,74)Gdspsize:T(6,75)=s20units:(6,74),0,32;device:(6,36),32,64;raster:(6,37),96,64;;Gdspsize:t(6,75)Gdspsurf:T(6,76)=eGEMPTY:0,GNOTEMPTY:1,;Gdspsurf:t(6,76).23fake:T(6,77)=s4dummy:(0,1),0,32;;.24fake:T(6,78)=s4dummy:(0,1),0,32;;Gescin:T(6,79)=u4escid1:(6,77),0,32;escid2:(6,78),0,32;;Gescin:t(6,79).25fake:T(6,80)=s4dummy:(0,1),0,32;;.26fake:T(6,81)=s4dummy:(0,1),0,32;;Gescout:T(6,82)=u4escid1:(6,80),0,32;escid2:(6,81),0,32;;Gescout:t(6,82)Giclass:T(6,83)=eGNCLASS:0,GLOCATOR:1,GISTROKE:2,GVALUATOR:3,GCHOICE:4,GPICK:5,GISTRING:6,;Giclass:t(6,83)Gevent:T(6,84)=s12ws:(0,1),0,32;dev:(0,1),32,32;class:(6,83),64,32;;Gevent:t(6,84)Gextent:T(6,85)=s40concat:(6,36),0,64;ll:(6,36),64,64;lr:(6,36),128,64;ul:(6,36),192,64;ur:(6,36),256,64;;Gextent:t(6,85)Gfile:t(2,1)Gflfac:T(6,86)=s20interiors:(6,1),0,64;hatches:(6,1),64,64;predefined:(0,1),128,32;;Gflfac:t(6,86)Ggdpfac:T(6,87)=s8number:(0,1),0,32;attrs:(6,88)=*(6,7),32,32;;Ggdpfac:t(6,87)Ggdplist:T(6,89)=s12number:(0,1),0,32;functions:(6,90)=*(6,91)=f(0,1),32,32;indices:(6,2),64,32;;Ggdplist:t(6,89).27fake:T(6,92)=s4dummy:(0,1),0,32;;.28fake:T(6,93)=s4dummy:(0,1),0,32;;Ggdprec:T(6,94)=u4gdpid1:(6,92),0,32;gdpid2:(6,93),0,32;;Ggdprec:t(6,94)Ggksmit:T(6,95)=s8type:(0,1),0,32;length:(0,1),32,32;;Ggksmit:t(6,95)Gtxprec:T(6,96)=eGSTRING:0,GCHAR:1,GSTROKE:2,;Gtxprec:t(6,96)Gtxfp:T(6,97)=s8font:(0,1),0,32;prec:(6,96),32,32;;Gtxfp:t(6,97)Gindattr:T(6,98)=s108lntype:(0,1),0,32;lnwidth:(0,13),32,32;lncolour:(0,1),64,32;mktype:(0,1),96,32;mksize:(0,13),128,32;mkcolour:(0,1),160,32;fp:(6,97),192,64;chexp:(0,13),256,32;\chspace:(0,13),288,32;txcolour:(0,1),320,32;flstyle:(6,41),352,32;flindex:(0,1),384,32;flcolour:(0,1),416,32;asflist:(6,6),448,416;;Gindattr:t(6,98)Ginqtype:T(6,99)=eGSET:0,GREALIZED:1,;Ginqtype:t(6,99)Gqtype:t(6,99)Gistat:T(6,100)=eGOK:0,GNONE:1,;Gistat:t(6,100)Glastev:T(6,101)=eGLAST:0,GNOTLAST:1,;Glastev:t(6,101)Glevel:T(6,102)=eGLMA:-3,GLMB:-2,GLMC:-1,GL0A:0,GL0B:1,GL0C:2,GL1A:3,GL1B:4,\GL1C:5,GL2A:6,GL2B:7,GL2C:8,;Glevel:t(6,102)Glnfac:T(6,103)=s28types:(6,1),0,64;widths:(0,1),64,32;nom:(0,13),96,32;min:(0,13),128,32;max:(0,13),160,32;predefined:(0,1),192,32;;Glnfac:t(6,103)Gloc:T(6,104)=s12transform:(0,1),0,32;position:(6,36),32,64;;Gloc:t(6,104)Glocst:T(6,105)=s80mode:(6,20),0,32;esw:(6,21),32,32;loc:(6,104),64,96;pet:(0,1),160,32;e_area:(6,22),192,128;record:(6,51),320,320;;Glocst:t(6,105)Gmkfac:T(6,106)=s28types:(6,1),0,64;sizes:(0,1),64,32;nom:(0,13),96,32;min:(0,13),128,32;max:(0,13),160,32;predefined:(0,1),192,32;;Gmkfac:t(6,106)Gmodtype:T(6,107)=eGIRG:0,GIMM:1,;Gmodtype:t(6,107)Gmodseg:T(6,108)=s28transform:(6,107),0,32;appear:(6,107),32,32;disappear:(6,107),64,32;highlight:(6,107),96,32;priority:(6,107),128,32;addition:(6,107),160,32;deletion:(6,107),192,32;;Gmodseg:t(6,108)Gmodws:T(6,109)=s28line:(6,107),0,32;mark:(6,107),32,32;text:(6,107),64,32;fill:(6,107),96,32;pat:(6,107),128,32;colour:(6,107),160,32;wstran:(6,107),192,32;;Gmodws:t(6,109)Gnframe:T(6,110)=eGNO:0,GYES:1,;Gnframe:t(6,110)Gstore:t(6,110)Gnumdev:T(6,111)=s24locator:(0,1),0,32;stroke:(0,1),32,32;valuator:(0,1),64,32;choice:(0,1),96,32;pick:(0,1),128,32;string:(0,1),160,32;;Gnumdev:t(6,111)Gos:T(6,112)=eGGKCL:0,GGKOP:1,GWSOP:2,GWSAC:3,GSGOP:4,;Gos:t(6,112)Gpstat:T(6,113)=eGP_OK:0,GP_NOPICK:1,GP_NONE:2,;Gpstat:t(6,113)Gpick:T(6,114)=s12status:(6,113),0,32;seg:(0,1),32,32;pickid:(0,1),64,32;;Gpick:t(6,114)Gpickst:T(6,115)=s44mode:(6,20),0,32;esw:(6,21),32,32;pick:(6,114),64,96;pet:(0,1),160,32;e_area:(6,22),192,128;record:(6,56),320,32;;Gpickst:t(6,115)Gtxpath:T(6,116)=eGTP_RIGHT:0,GTP_LEFT:1,GTP_UP:2,GTP_DOWN:3,;Gtxpath:t(6,116)Gtxhor:T(6,117)=eGTH_NORMAL:0,GTH_LEFT:1,GTH_CENTRE:2,GTH_RIGHT:3,;Gtxhor:t(6,117)Gtxver:T(6,118)=eGTV_NORMAL:0,GTV_TOP:1,GTV_CAP:2,GTV_HALF:3,GTV_BASE:4,GTV_BOTTOM:5,;Gtxver:t(6,118)Gtxalign:T(6,119)=s8hor:(6,117),0,32;ver:(6,118),32,32;;Gtxalign:t(6,119)Gpriattr:T(6,120)=s76plnindex:(0,1),0,32;pmkindex:(0,1),32,32;txindex:(0,1),64,32;height:(0,13),96,32;up:(6,36),128,64;chwidth:(0,13),192,32;base:(6,36),224,64;path:(6,116),288,32;\align:(6,119),320,64;flindex:(0,1),384,32;widthvec:(6,36),416,64;heightvec:(6,36),480,64;prp:(6,36),544,64;;Gpriattr:t(6,120)Gptbundl:T(6,121)=s12size:(6,37),0,64;array:(6,2),64,32;;Gptbundl:t(6,121)Gpxarray:T(6,122)=s8covalid:(6,30),0,32;array:(6,2),32,32;;Gpxarray:t(6,122)Gqloc:T(6,123)=s16status:(6,100),0,32;loc:(6,104),32,96;;Gqloc:t(6,123)Gqstring:T(6,124)=s8status:(6,100),0,32;string:(6,12),32,32;;Gqstring:t(6,124)Gstroke:T(6,125)=s12transform:(0,1),0,32;n_points:(0,1),32,32;points:(6,126)=*(6,36),64,32;;Gstroke:t(6,125)Gqstroke:T(6,127)=s16status:(6,100),0,32;stroke:(6,125),32,96;;Gqstroke:t(6,127)Gqueue:T(6,128)=s8class:(6,83),0,32;devno:(0,1),32,32;;Gqueue:t(6,128)Gqval:T(6,129)=s8status:(6,100),0,32;val:(0,13),32,32;;Gqval:t(6,129)Grect:T(6,130)=s16ll:(6,36),0,64;ur:(6,36),64,64;;Grect:t(6,130)Gregen:T(6,131)=eGPERFORM:0,GPOSTPONE:1,;Gregen:t(6,131)Gsegdet:T(6,132)=eGUNDETECTABLE:0,GDETECTABLE:1,;Gsegdet:t(6,132)Gseghi:T(6,133)=eGNORMAL:0,GHIGHLIGHTED:1,;Gseghi:t(6,133)Gsegvis:T(6,134)=eGVISIBLE:0,GINVISIBLE:1,;Gsegvis:t(6,134)Gsegattr:T(6,135)=s44seg:(0,1),0,32;segtran:(6,136)=ar(0,1);0;1;(6,137)=ar(0,1);0;2;(0,13),32,192;vis:(6,134),224,32;hilight:(6,133),256,32;pri:(0,13),288,32;det:(6,132),320,32;;Gsegattr:t(6,135)Gsimultev:T(6,138)=eGNOMORE:0,GMORE:1,;Gsimultev:t(6,138)Gstringst:T(6,139)=s44mode:(6,20),0,32;esw:(6,21),32,32;string:(6,12),64,32;pet:(0,1),96,32;e_area:(6,22),128,128;record:(6,59),256,96;;Gstringst:t(6,139)Gstrlist:T(6,140)=s8number:(0,1),0,32;strings:(6,16),32,32;;Gstrlist:t(6,140)Gstrokest:T(6,141)=s96mode:(6,20),0,32;esw:(6,21),32,32;stroke:(6,125),64,96;pet:(0,1),160,32;e_area:(6,22),192,128;record:(6,67),320,448;;Gstrokest:t(6,141)Gtxbundl:T(6,142)=s20fp:(6,97),0,64;ch_exp:(0,13),64,32;space:(0,13),96,32;colour:(0,1),128,32;;Gtxbundl:t(6,142)Gtxattr:T(6,143)=s40fp:(6,5),0,32;tx_exp:(6,5),32,32;space:(6,5),64,32;colour:(6,5),96,32;text:(0,1),128,32;bundl:(6,142),160,160;;Gtxattr:t(6,143)Gtxfac:T(6,144)=s36fps:(0,1),0,32;fp_list:(6,145)=*(6,97),32,32;heights:(0,1),64,32;min_ht:(0,13),96,32;max_ht:(0,13),128,32;expansions:(0,1),160,32;min_ex:(0,13),192,32;max_ex:(0,13),224,32;\predefined:(0,1),256,32;;Gtxfac:t(6,144)Gvalst:T(6,146)=s44mode:(6,20),0,32;esw:(6,21),32,32;val:(0,13),64,32;pet:(0,1),96,32;e_area:(6,22),128,128;record:(6,72),256,96;;Gvalst:t(6,146)Gvpri:T(6,147)=eGHIGHER:0,GLOWER:1,;Gvpri:t(6,147)Gwscat:T(6,148)=eGINVALID:-1,GOUTPUT:0,GINPUT:1,GOUTIN:2,GWISS:3,GMO:4,GMI:5,;Gwscat:t(6,148)Gwsclass:T(6,149)=eGVECTOR:0,GRASTER:1,GOTHER:2,;Gwsclass:t(6,149)Gwsct:T(6,150)=s8conn:(6,12),0,32;type:(6,12),32,32;;Gwsct:t(6,150)Gwsdus:T(6,151)=s16defmode:(6,33),0,32;dspsurf:(6,76),32,32;irgmode:(6,34),64,32;nframe:(6,110),96,32;;Gwsdus:t(6,151)Gwsmax:T(6,152)=s12open:(0,1),0,32;active:(0,1),32,32;assoc:(0,1),64,32;;Gwsmax:t(6,152)Gwsstate:T(6,153)=eGINACTIVE:0,GACTIVE:1,;Gwsstate:t(6,153)Gwstables:T(6,154)=s24line:(0,1),0,32;mark:(0,1),32,32;text:(0,1),64,32;fill:(0,1),96,32;pat:(0,1),128,32;colour:(0,1),160,32;;Gwstables:t(6,154)Gwstus:T(6,155)=eGNOTPENDING:0,GPENDING:1,;Gwstus:t(6,155)Gwstran:T(6,156)=s32w:(6,22),0,128;v:(6,22),128,128;;Gwstran:t(6,156)Gwsti:T(6,157)=s68wstus:(6,155),0,32;request:(6,156),32,256;current:(6,156),288,256;;Gwsti:t(6,157)Gerrmap:T(6,158)=eerrnull:0,errgopengks:1,errgclosegks:2,errgopenws:3,errgclosews:4,errgactivatews:5,errgdeactivatews:6,errgclearws:7,\errgredrawsegws:8,errgupdatews:9,errgsetdeferst:10,errgmessage:11,errgescredrawnotify:12,errgescsetcolourmask:13,errgescsetdcsize:14,errgescstoreprimi:15,\errgescinqxattr:16,errgpolyline:17,errgpolymarker:18,errgtext:19,errgfillarea:20,errgcellarray:21,errggdp:22,errgsetlineind:23,\errgsetlinetype:24,errgsetlinewidth:25,errgsetlinecolourind:26,errgsetmarkerind:27,errgsetmarkertype:28,errgsetmarkersize:29,errgsetmarkercolourind:30,errgsettextind:31,\errgsettextfontprec:32,errgsetcharexpan:33,errgsetcharspace:34,errgsettextcolourind:35,errgsetcharheight:36,errgsetcharup:37,errgsettextpath:38,errgsettextalign:39,\errgsetfillind:40,errgsetfillintstyle:41,errgsetfillstyleind:42,errgsetfillcolourind:43,errgsetpatsize:44,errgsetpatrefpt:45,errgsetasf:46,errgsetpickid:47,\errgsetlinerep:48,errgsetmarkerrep:49,errgsetpatrep:50,errgsetfillrep:51,errgsettextrep:52,errgsetcolourrep:53,errgsetwindow:54,errgsetviewport:55,\errgsetviewportinputpri:56,errgselntran:57,errgsetclip:58,errgsetwswindow:59,errgsetwsviewport:60,errgcreateseg:61,errgcloseseg:62,errgrenameseg:63,\errgdelseg:64,errgdelsegws:65,errgassocsegws:66,errgcopysegws:67,errginsertseg:68,errgsetsegtran:69,errgsetvis:70,errgsethighlight:71,\errgsetsegpri:72,errgsetdet:73,errgsetsegattr:74,errginitloc:75,errginitstroke:76,errginitval:77,errginitchoice:78,errginitpick:79,\errginitstring:80,errgsetlocmode:81,errgsetstrokemode:82,errgsetvalmode:83,errgsetchoicemode:84,errgsetpickmode:85,errgsetstringmode:86,errgreqloc:87,\errgreqstroke:88,errgreqval:89,errgreqchoice:90,errgreqpick:91,errgreqstring:92,errgsampleloc:93,errgsamplestroke:94,errgsampleval:95,\errgsamplechoice:96,errgsamplepick:97,errgsamplestring:98,errgawaitevent:99,errgflushevents:100,errggetloc:101,errggetstroke:102,errggetval:103,\errggetchoice:104,errggetpick:105,errggetstring:106,errgwritegksm:107,errggettypegksm:108,errgreadgksm:109,errggetgksm:110,errginterpret:111,\errgevaltran:112,errgaccumtran:113,errgemergencyclosegks:114,errgerrorhand:115,errgerrorlog:116,errginqactivews:117,errginqasf:118,errginqassocws:119,\errginqavailgdp:120,errginqavailwstypes:121,errginqchoicest:122,errginqclip:123,errginqcolourfacil:124,errginqcolourindices:125,errginqcolourrep:126,errginqcurntrannum:127,\errginqdefchoice:128,errginqdefdeferst:129,errginqdefloc:130,errginqdefpick:131,errginqdefstring:132,errginqdefstroke:133,errginqdefval:134,errginqdisplayspacesize:135,\errginqdisplaysize:136,errginqfillfacil:137,errginqfillindices:138,errginqfillrep:139,errginqgdp:140,errginqindivattr:141,errginqinputoverflow:142,errginqlevelgks:143,\errginqlinefacil:144,errginqlineindices:145,errginqlinerep:146,errginqlocst:147,errginqmarkerfacil:148,errginqmarkerindices:149,errginqmarkerrep:150,errginqmaxntrannum:151,\errginqmaxwssttables:152,errginqmodsegattr:153,errginqmodwsattr:154,errginqmoreevents:155,errginqnameopenseg:156,errginqntrannum:157,errginqntran:158,errginqnumavailinput:159,\errginqnumsegpri:160,errginqopenws:161,errginqopst:162,errginqpatfacil:163,errginqpatindices:164,errginqpatrep:165,errginqcurpickid:166,errginqpickst:167,\errginqpixel:168,errginqpixelarray:169,errginqpixelarraydim:170,errginqpredcolourrep:171,errginqpredfillrep:172,errginqpredlinerep:173,errginqpredmarkerrep:174,errginqpredpatrep:175,\errginqpredtextrep:176,errginqprimattr:177,errginqsegattr:178,errginqsegnames:179,errginqsegnamesws:180,errginqstringst:181,errginqstrokest:182,errginqtextextent:183,\errginqtextfacil:184,errginqtextindices:185,errginqtextrep:186,errginqvalst:187,errginqwscategory:188,errginqwsclass:189,errginqwsconntype:190,errginqwsdeferupdatest:191,\errginqwsmaxnum:192,errginqwsst:193,errginqwstran:194,;Gerrmap:t(6,158)Gfuncerrmap:T(6,159)=eerrXgksChoUpdatePrompt:1000,errXgksEnqueueEvent:1001,errXgksLocUpdatePrompt:1002,errXgksStrUpdatePrompt:1003,errXgksPicUpdatePrompt:1004,errXgksInsertMesgPrimi:1005,errXgksDuplicatePrimi:1006,errXgksSegPrimiTran:1007,\errXgksStkUpdatePrompt:1008,errXgksValUpdatePrompt:1009,errXgksDistFillarea:1010,errXgksInitWssFillArea:1011,errXgksDistCellarray:1012,errXgksExecData:1013,errxPolyMarker:1014,errxFillArea:1015,\errxInqPixelarray:1016,;Gfuncerrmap:t(6,159)./fortxgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./fortmac.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;57;(0,2)geclks_:F(0,1)gerrorhand:F(0,1)errnr:p(0,1)fctid:p(6,158)efp:p(0,19)=*(2,1)gerlog_:F(0,1)errnr:p(6,2)fctid:p(6,2)lun:p(6,2)fexterninit.o/a/groucho/unidata/ldm/src/xgks/src/fortran/fexterninit.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)/usr/local/lang/SC1.0/ansi_include/stdio.h../lib/xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.hcurrfortpoints:G(0,1)currforttext:G(0,1)currfortint:G(0,1)fortint:G(2,2)NUMWTYPES:G(0,1)error_lun:G(0,1)xgks_connection:G(2,12)forttext:G(2,12)wtypes:G(2,16)errfp:G(0,17)=*(1,1)fortpoints:G(2,126)gerhnd.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/fortran/gerhnd.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)rcsid:S(0,17)=ar(0,1);0;58;(0,2)afsid:S(0,18)=ar(0,1);0;10;(0,2)../../port/udposix.h../lib/xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./fortxgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./fortmac.hgerhnd_:F(0,1)errnr:p(2,2)fctid:p(2,2)errfil:p(2,2)getlunname.o_afsid_fname_rcsid/a/groucho/unidata/ldm/src/xgks/src/fortran/getlunname.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h/usr/local/lang/SC1.0/ansi_include/limits.h../../port/stddef.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stddef.hsigset_t:t(0,1)speed_t:t(0,7)tcflag_t:t(0,8)cc_t:t(0,5)pid_t:t(0,1)mode_t:t(0,6)nlink_t:t(0,3)clock_t:t(0,4)time_t:t(0,4)size_t:t(0,1)ptrdiff_t:t(0,1)wchar_t:t(0,4)../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h.0fake:T(8,1)=s8quot:(0,1),0,32;rem:(0,1),32,32;;div_t:t(8,1).1fake:T(8,2)=s8quot:(0,4),0,32;rem:(0,4),32,32;;ldiv_t:t(8,2)../../port/string.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/string.h./fortxgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./fortmac.hrcsid:S(0,17)=ar(0,1);0;62;(0,2)afsid:S(0,18)=ar(0,1);0;10;(0,2)set_fname_:F(0,16)name:p(0,19)=*(0,2)name_len:p(0,1)nchr:(0,1)max:(0,1)#tmp0:(0,7)getlunname:F(0,19)lun:p(0,1)fname:S(0,20)=ar(0,1);0;255;(0,2)inqlun.oVAR_SEG1output.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/fortran/output.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/string.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/string.hsigset_t:t(0,1)speed_t:t(0,7)tcflag_t:t(0,8)cc_t:t(0,5)pid_t:t(0,1)mode_t:t(0,6)nlink_t:t(0,3)clock_t:t(0,4)time_t:t(0,4)size_t:t(0,1)ptrdiff_t:t(0,1)wchar_t:t(0,4)../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../lib/xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./fortxgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./fortmac.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;53;(0,2)gpl_:F(0,16)n:p(8,2)px:p(0,19)=*(0,13)py:p(0,19)i:(0,1)#tmp0:(8,12)gpm_:F(0,16)n:p(8,2)px:p(0,19)py:p(0,19)i:(0,1)#tmp1:(8,12)gtx_:F(0,16)px:p(0,19)py:p(0,19)chars:p(8,12)chars_len:p(0,1)position:(8,36)#tmp2:(8,12)gtxs_:F(0,16)px:p(0,19)py:p(0,19)lstr:p(8,2)chars:p(8,12)chars_len:p(0,1)position:(8,36)#tmp3:(8,12)gfa_:F(0,16)n:p(8,2)px:p(0,19)py:p(0,19)i:(0,1)#tmp4:(8,12)gca_:F(0,16)px:p(0,19)py:p(0,19)qx:p(0,19)qy:p(0,19)dimx:p(8,2)dimy:p(8,2)isc:p(8,2)isr:p(8,2)dx:p(8,2)dy:p(8,2)colia:p(8,2)rectangle:(8,130)dimensions:(8,37)ggdp_:F(0,16)n:p(8,2)pxa:p(0,19)pya:p(0,19)primid:p(8,2)ldr:p(8,2)datarec:p(8,12)datarec_len:p(0,1)function:(0,1)points:(8,126)data:(0,20)=*(8,94)i:(0,1)rep.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/fortran/rep.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../lib/xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./fortxgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./fortmac.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;50;(0,2)gsplr_:F(0,1)wkid:p(5,2)pli:p(5,2)ltype:p(5,2)lwidth:p(0,19)=*(0,13)coli:p(5,2)rep:(5,38)gspmr_:F(0,1)wkid:p(5,2)pmi:p(5,2)mtype:p(5,2)mszsf:p(0,19)coli:p(5,2)rep:(5,61)gstxr_:F(0,1)wkid:p(5,2)txi:p(5,2)font:p(5,2)prec:p(5,2)chxp:p(0,19)chsp:p(0,19)coli:p(5,2)rep:(5,142)gsfar_:F(0,1)wkid:p(5,2)fai:p(5,2)ints:p(5,2)styli:p(5,2)coli:p(5,2)rep:(5,42)gspar_:F(0,1)wkid:p(5,2)pai:p(5,2)dimx:p(5,2)dimy:p(5,2)isc:p(5,2)isr:p(5,2)dx:p(5,2)dy:p(5,2)colia:p(5,2)rep:(5,121)parray:(5,2)sizeofmatrix:(0,1)#tmp0:(5,12)i:(0,1)j:(0,1)fortstart:(5,2)gscr_:F(0,1)wkid:p(5,2)ci:p(5,2)cr:p(0,19)cg:p(0,19)cb:p(0,19)rep:(5,28)wsioutattr.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/fortran/wsioutattr.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../lib/xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./fortxgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./fortmac.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;57;(0,2)gspli_:F(0,1)pli:p(5,2)gsln_:F(0,1)ltype:p(5,2)gslwsc_:F(0,1)lwidth:p(0,19)=*(0,13)gsplci_:F(0,1)coli:p(5,2)gspmi_:F(0,1)pmi:p(5,2)gsmk_:F(0,1)mtype:p(5,2)gsmksc_:F(0,1)mszsf:p(0,19)gspmci_:F(0,1)coli:p(5,2)gstxi_:F(0,1)txi:p(5,2)gstxfp_:F(0,1)font:p(5,2)prec:p(5,2)txfp:(5,97)gschxp_:F(0,1)chxp:p(0,19)gschsp_:F(0,1)chsp:p(0,19)gstxci_:F(0,1)coli:p(5,2)gschh_:F(0,1)chh:p(0,19)gschup_:F(0,1)chux:p(0,19)chuy:p(0,19)charup:(5,36)gstxp_:F(0,1)txp:p(5,2)gstxal_:F(0,1)txalh:p(5,2)txalv:p(5,2)txalign:(5,119)gsfai_:F(0,1)fai:p(5,2)gsfais_:F(0,1)ints:p(5,2)gsfasi_:F(0,1)styli:p(5,2)gsfaci_:F(0,1)coli:p(5,2)gsasf_:F(0,1)lasf:p(5,2)asfs:(5,6)gspkid_:F(0,1)pkid:p(5,2)gspa_:F(0,1)szx:p(0,19)szy:p(0,19)size:(5,36)gsparf_:F(0,1)rfx:p(0,19)rfy:p(0,19)ref:(5,36)act_ws.o_afsid_XgksAllocActiveWs_XgksNoActiveWs_XgksDeleteActiveWs_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/act_ws.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)afsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;51;(0,2)../../port/udposix.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.hsigset_t:t(0,1)speed_t:t(0,7)tcflag_t:t(0,8)cc_t:t(0,5)pid_t:t(0,1)mode_t:t(0,6)nlink_t:t(0,3)clock_t:t(0,4)time_t:t(0,4)size_t:t(0,1)ptrdiff_t:t(0,1)wchar_t:t(0,6)/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.hXID:t(0,8)Window:t(0,8)Drawable:t(0,8)Font:t(0,8)Pixmap:t(0,8)Cursor:t(0,8)Colormap:t(0,8)GContext:t(0,8)KeySym:t(0,8)Mask:t(0,8)Atom:t(0,8)VisualID:t(0,8)Time:t(0,8)KeyCode:t(0,5)_XExtData:T(3,1)=s16number:(0,1),0,32;next:(3,2)=*(3,1),32,32;free_private:(3,3)=*(3,4)=f(0,1),64,32;private_data:(4,8),96,32;;XExtData:t(3,1).0fake:T(3,5)=s16extension:(0,1),0,32;major_opcode:(0,1),32,32;first_event:(0,1),64,32;first_error:(0,1),96,32;;XExtCodes:t(3,5)_XExten:T(3,6)=s60next:(3,7)=*(3,6),0,32;codes:(3,5),32,128;create_GC:(3,8)=*(3,9)=f(0,1),160,32;copy_GC:(3,10)=*(3,11)=f(0,1),192,32;flush_GC:(3,12)=*(3,13)=f(0,1),224,32;free_GC:(3,14)=*(3,15)=f(0,1),256,32;create_Font:(3,16)=*(3,17)=f(0,1),288,32;free_Font:(3,18)=*(3,19)=f(0,1),320,32;\close_display:(3,20)=*(3,21)=f(0,1),352,32;error:(3,22)=*(3,23)=f(0,1),384,32;error_string:(3,24)=*(3,25)=f(4,8),416,32;name:(4,8),448,32;;_XExtension:t(3,6).1fake:T(3,26)=s12depth:(0,1),0,32;bits_per_pixel:(0,1),32,32;scanline_pad:(0,1),64,32;;XPixmapFormatValues:t(3,26).2fake:T(3,27)=s92function:(0,1),0,32;plane_mask:(0,8),32,32;foreground:(0,8),64,32;background:(0,8),96,32;line_width:(0,1),128,32;line_style:(0,1),160,32;cap_style:(0,1),192,32;join_style:(0,1),224,32;\fill_style:(0,1),256,32;fill_rule:(0,1),288,32;arc_mode:(0,1),320,32;tile:(0,8),352,32;stipple:(0,8),384,32;ts_x_origin:(0,1),416,32;ts_y_origin:(0,1),448,32;font:(0,8),480,32;\subwindow_mode:(0,1),512,32;graphics_exposures:(0,1),544,32;clip_x_origin:(0,1),576,32;clip_y_origin:(0,1),608,32;clip_mask:(0,8),640,32;dash_offset:(0,1),672,32;dashes:(0,2),704,8;;XGCValues:t(3,27)_XGC:T(3,28)=s112ext_data:(3,2),0,32;gid:(0,8),32,32;rects:(0,1),64,32;dashes:(0,1),96,32;dirty:(0,8),128,32;values:(3,27),160,736;;GC:t(3,29)=*(3,28).3fake:T(3,30)=s32ext_data:(3,2),0,32;visualid:(0,8),32,32;class:(0,1),64,32;red_mask:(0,8),96,32;green_mask:(0,8),128,32;blue_mask:(0,8),160,32;bits_per_rgb:(0,1),192,32;map_entries:(0,1),224,32;;Visual:t(3,30).4fake:T(3,31)=s12depth:(0,1),0,32;nvisuals:(0,1),32,32;visuals:(3,32)=*(3,30),64,32;;Depth:t(3,31).5fake:T(3,33)=s80ext_data:(3,2),0,32;display:(3,34)=*(3,35)=xs_XDisplay:,32,32;root:(0,8),64,32;width:(0,1),96,32;height:(0,1),128,32;mwidth:(0,1),160,32;mheight:(0,1),192,32;ndepths:(0,1),224,32;\depths:(3,36)=*(3,31),256,32;root_depth:(0,1),288,32;root_visual:(3,32),320,32;default_gc:(3,29),352,32;cmap:(0,8),384,32;white_pixel:(0,8),416,32;black_pixel:(0,8),448,32;max_maps:(0,1),480,32;\min_maps:(0,1),512,32;backing_store:(0,1),544,32;save_unders:(0,1),576,32;root_input_mask:(0,4),608,32;;Screen:t(3,33).6fake:T(3,37)=s16ext_data:(3,2),0,32;depth:(0,1),32,32;bits_per_pixel:(0,1),64,32;scanline_pad:(0,1),96,32;;ScreenFormat:t(3,37).7fake:T(3,38)=s60background_pixmap:(0,8),0,32;background_pixel:(0,8),32,32;border_pixmap:(0,8),64,32;border_pixel:(0,8),96,32;bit_gravity:(0,1),128,32;win_gravity:(0,1),160,32;backing_store:(0,1),192,32;backing_planes:(0,8),224,32;\backing_pixel:(0,8),256,32;save_under:(0,1),288,32;event_mask:(0,4),320,32;do_not_propagate_mask:(0,4),352,32;override_redirect:(0,1),384,32;colormap:(0,8),416,32;cursor:(0,8),448,32;;XSetWindowAttributes:t(3,38).8fake:T(3,39)=s92x:(0,1),0,32;y:(0,1),32,32;width:(0,1),64,32;height:(0,1),96,32;border_width:(0,1),128,32;depth:(0,1),160,32;visual:(3,32),192,32;root:(0,8),224,32;\class:(0,1),256,32;bit_gravity:(0,1),288,32;win_gravity:(0,1),320,32;backing_store:(0,1),352,32;backing_planes:(0,8),384,32;backing_pixel:(0,8),416,32;save_under:(0,1),448,32;colormap:(0,8),480,32;\map_installed:(0,1),512,32;map_state:(0,1),544,32;all_event_masks:(0,4),576,32;your_event_mask:(0,4),608,32;do_not_propagate_mask:(0,4),640,32;override_redirect:(0,1),672,32;screen:(3,40)=*(3,33),704,32;;XWindowAttributes:t(3,39).9fake:T(3,41)=s12family:(0,1),0,32;length:(0,1),32,32;address:(4,8),64,32;;XHostAddress:t(3,41)funcs:T(3,42)=s24create_image:(3,43)=*(3,44)=f(3,45)=*(3,46)=xs_XImage:,0,32;destroy_image:(3,47)=*(3,48)=f(0,1),32,32;get_pixel:(3,49)=*(3,50)=f(0,8),64,32;put_pixel:(3,51)=*(3,52)=f(0,1),96,32;sub_image:(3,53)=*(3,54)=f(3,45),128,32;add_pixel:(3,55)=*(3,56)=f(0,1),160,32;;_XImage:T(3,46)=s88width:(0,1),0,32;height:(0,1),32,32;xoffset:(0,1),64,32;format:(0,1),96,32;data:(4,8),128,32;byte_order:(0,1),160,32;bitmap_unit:(0,1),192,32;bitmap_bit_order:(0,1),224,32;\bitmap_pad:(0,1),256,32;depth:(0,1),288,32;bytes_per_line:(0,1),320,32;bits_per_pixel:(0,1),352,32;red_mask:(0,8),384,32;green_mask:(0,8),416,32;blue_mask:(0,8),448,32;obdata:(4,8),480,32;\f:(3,42),512,192;;XImage:t(3,46).10fake:T(3,57)=s28x:(0,1),0,32;y:(0,1),32,32;width:(0,1),64,32;height:(0,1),96,32;border_width:(0,1),128,32;sibling:(0,8),160,32;stack_mode:(0,1),192,32;;XWindowChanges:t(3,57).11fake:T(3,58)=s12pixel:(0,8),0,32;red:(0,6),32,16;green:(0,6),48,16;blue:(0,6),64,16;flags:(0,2),80,8;pad:(0,2),88,8;;XColor:t(3,58).12fake:T(3,59)=s8x1:(0,3),0,16;y1:(0,3),16,16;x2:(0,3),32,16;y2:(0,3),48,16;;XSegment:t(3,59).13fake:T(3,60)=s4x:(0,3),0,16;y:(0,3),16,16;;XPoint:t(3,60).14fake:T(3,61)=s8x:(0,3),0,16;y:(0,3),16,16;width:(0,6),32,16;height:(0,6),48,16;;XRectangle:t(3,61).15fake:T(3,62)=s12x:(0,3),0,16;y:(0,3),16,16;width:(0,6),32,16;height:(0,6),48,16;angle1:(0,3),64,16;angle2:(0,3),80,16;;XArc:t(3,62).16fake:T(3,63)=s32key_click_percent:(0,1),0,32;bell_percent:(0,1),32,32;bell_pitch:(0,1),64,32;bell_duration:(0,1),96,32;led:(0,1),128,32;led_mode:(0,1),160,32;key:(0,1),192,32;auto_repeat_mode:(0,1),224,32;;XKeyboardControl:t(3,63).17fake:T(3,64)=s56key_click_percent:(0,1),0,32;bell_percent:(0,1),32,32;bell_pitch:(0,7),64,32;bell_duration:(0,7),96,32;led_mask:(0,8),128,32;global_auto_repeat:(0,1),160,32;auto_repeats:(3,65)=ar(0,1);0;31;(0,2),192,256;;XKeyboardState:t(3,64).18fake:T(3,66)=s8time:(0,8),0,32;x:(0,3),32,16;y:(0,3),48,16;;XTimeCoord:t(3,66).19fake:T(3,67)=s8max_keypermod:(0,1),0,32;modifiermap:(3,68)=*(0,5),32,32;;XModifierKeymap:t(3,67)_DisplayAtoms:T(3,69)=s24text:(0,8),0,32;wm_state:(0,8),32,32;wm_protocols:(0,8),64,32;wm_save_yourself:(0,8),96,32;wm_change_state:(0,8),128,32;wm_colormap_windows:(0,8),160,32;;.20fake:T(3,70)=s12sequence_number:(0,4),0,32;old_handler:(3,71)=*(3,72)=f(0,1),32,32;succeeded:(0,1),64,32;;_XDisplay:T(3,35)=s1252ext_data:(3,2),0,32;next:(3,34),32,32;fd:(0,1),64,32;lock:(0,1),96,32;proto_major_version:(0,1),128,32;proto_minor_version:(0,1),160,32;vendor:(4,8),192,32;resource_base:(0,4),224,32;\resource_mask:(0,4),256,32;resource_id:(0,4),288,32;resource_shift:(0,1),320,32;resource_alloc:(3,73)=*(3,74)=f(0,8),352,32;byte_order:(0,1),384,32;bitmap_unit:(0,1),416,32;bitmap_pad:(0,1),448,32;bitmap_bit_order:(0,1),480,32;\nformats:(0,1),512,32;pixmap_format:(3,75)=*(3,37),544,32;vnumber:(0,1),576,32;release:(0,1),608,32;head:(3,76)=*(3,77)=xs_XSQEvent:,640,32;tail:(3,76),672,32;qlen:(0,1),704,32;last_request_read:(0,8),736,32;\request:(0,8),768,32;last_req:(4,8),800,32;buffer:(4,8),832,32;bufptr:(4,8),864,32;bufmax:(4,8),896,32;max_request_size:(0,7),928,32;db:(3,78)=*(3,79)=xs_XrmHashBucketRec:,960,32;synchandler:(3,80)=*(3,81)=f(0,1),992,32;\display_name:(4,8),1024,32;default_screen:(0,1),1056,32;nscreens:(0,1),1088,32;screens:(3,40),1120,32;motion_buffer:(0,8),1152,32;current:(0,8),1184,32;min_keycode:(0,1),1216,32;max_keycode:(0,1),1248,32;\keysyms:(3,82)=*(0,8),1280,32;modifiermap:(3,83)=*(3,67),1312,32;keysyms_per_keycode:(0,1),1344,32;xdefaults:(4,8),1376,32;scratch_buffer:(4,8),1408,32;scratch_length:(0,8),1440,32;ext_number:(0,1),1472,32;ext_procs:(3,7),1504,32;\event_vec:(3,84)=ar(0,1);0;127;(3,85)=*(3,86)=f(0,1),1536,4096;wire_vec:(3,87)=ar(0,1);0;127;(3,88)=*(3,89)=f(0,1),5632,4096;lock_meaning:(0,8),9728,32;key_bindings:(3,90)=*(3,91)=xsXKeytrans:,9760,32;cursor_font:(0,8),9792,32;atoms:(3,92)=*(3,69),9824,32;reconfigure_wm_window:(3,70),9856,96;flags:(0,8),9952,32;\mode_switch:(0,7),9984,32;;Display:t(3,35).21fake:T(3,93)=s60type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;window:(0,8),128,32;root:(0,8),160,32;subwindow:(0,8),192,32;time:(0,8),224,32;\x:(0,1),256,32;y:(0,1),288,32;x_root:(0,1),320,32;y_root:(0,1),352,32;state:(0,7),384,32;keycode:(0,7),416,32;same_screen:(0,1),448,32;;XKeyEvent:t(3,93)XKeyPressedEvent:t(3,93)XKeyReleasedEvent:t(3,93).22fake:T(3,94)=s60type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;window:(0,8),128,32;root:(0,8),160,32;subwindow:(0,8),192,32;time:(0,8),224,32;\x:(0,1),256,32;y:(0,1),288,32;x_root:(0,1),320,32;y_root:(0,1),352,32;state:(0,7),384,32;button:(0,7),416,32;same_screen:(0,1),448,32;;XButtonEvent:t(3,94)XButtonPressedEvent:t(3,94)XButtonReleasedEvent:t(3,94).23fake:T(3,95)=s60type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;window:(0,8),128,32;root:(0,8),160,32;subwindow:(0,8),192,32;time:(0,8),224,32;\x:(0,1),256,32;y:(0,1),288,32;x_root:(0,1),320,32;y_root:(0,1),352,32;state:(0,7),384,32;is_hint:(0,2),416,8;same_screen:(0,1),448,32;;XMotionEvent:t(3,95)XPointerMovedEvent:t(3,95).24fake:T(3,96)=s68type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;window:(0,8),128,32;root:(0,8),160,32;subwindow:(0,8),192,32;time:(0,8),224,32;\x:(0,1),256,32;y:(0,1),288,32;x_root:(0,1),320,32;y_root:(0,1),352,32;mode:(0,1),384,32;detail:(0,1),416,32;same_screen:(0,1),448,32;focus:(0,1),480,32;\state:(0,7),512,32;;XCrossingEvent:t(3,96)XEnterWindowEvent:t(3,96)XLeaveWindowEvent:t(3,96).25fake:T(3,97)=s28type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;window:(0,8),128,32;mode:(0,1),160,32;detail:(0,1),192,32;;XFocusChangeEvent:t(3,97)XFocusInEvent:t(3,97)XFocusOutEvent:t(3,97).26fake:T(3,98)=s52type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;window:(0,8),128,32;key_vector:(3,99)=ar(0,1);0;31;(0,2),160,256;;XKeymapEvent:t(3,98).27fake:T(3,100)=s40type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;window:(0,8),128,32;x:(0,1),160,32;y:(0,1),192,32;width:(0,1),224,32;\height:(0,1),256,32;count:(0,1),288,32;;XExposeEvent:t(3,100).28fake:T(3,101)=s48type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;drawable:(0,8),128,32;x:(0,1),160,32;y:(0,1),192,32;width:(0,1),224,32;\height:(0,1),256,32;count:(0,1),288,32;major_code:(0,1),320,32;minor_code:(0,1),352,32;;XGraphicsExposeEvent:t(3,101).29fake:T(3,102)=s28type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;drawable:(0,8),128,32;major_code:(0,1),160,32;minor_code:(0,1),192,32;;XNoExposeEvent:t(3,102).30fake:T(3,103)=s24type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;window:(0,8),128,32;state:(0,1),160,32;;XVisibilityEvent:t(3,103).31fake:T(3,104)=s48type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;parent:(0,8),128,32;window:(0,8),160,32;x:(0,1),192,32;y:(0,1),224,32;\width:(0,1),256,32;height:(0,1),288,32;border_width:(0,1),320,32;override_redirect:(0,1),352,32;;XCreateWindowEvent:t(3,104).32fake:T(3,105)=s24type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;event:(0,8),128,32;window:(0,8),160,32;;XDestroyWindowEvent:t(3,105).33fake:T(3,106)=s28type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;event:(0,8),128,32;window:(0,8),160,32;from_configure:(0,1),192,32;;XUnmapEvent:t(3,106).34fake:T(3,107)=s28type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;event:(0,8),128,32;window:(0,8),160,32;override_redirect:(0,1),192,32;;XMapEvent:t(3,107).35fake:T(3,108)=s24type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;parent:(0,8),128,32;window:(0,8),160,32;;XMapRequestEvent:t(3,108).36fake:T(3,109)=s40type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;event:(0,8),128,32;window:(0,8),160,32;parent:(0,8),192,32;x:(0,1),224,32;\y:(0,1),256,32;override_redirect:(0,1),288,32;;XReparentEvent:t(3,109).37fake:T(3,110)=s52type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;event:(0,8),128,32;window:(0,8),160,32;x:(0,1),192,32;y:(0,1),224,32;\width:(0,1),256,32;height:(0,1),288,32;border_width:(0,1),320,32;above:(0,8),352,32;override_redirect:(0,1),384,32;;XConfigureEvent:t(3,110).38fake:T(3,111)=s32type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;event:(0,8),128,32;window:(0,8),160,32;x:(0,1),192,32;y:(0,1),224,32;;XGravityEvent:t(3,111).39fake:T(3,112)=s28type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;window:(0,8),128,32;width:(0,1),160,32;height:(0,1),192,32;;XResizeRequestEvent:t(3,112).40fake:T(3,113)=s56type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;parent:(0,8),128,32;window:(0,8),160,32;x:(0,1),192,32;y:(0,1),224,32;\width:(0,1),256,32;height:(0,1),288,32;border_width:(0,1),320,32;above:(0,8),352,32;detail:(0,1),384,32;value_mask:(0,8),416,32;;XConfigureRequestEvent:t(3,113).41fake:T(3,114)=s28type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;event:(0,8),128,32;window:(0,8),160,32;place:(0,1),192,32;;XCirculateEvent:t(3,114).42fake:T(3,115)=s28type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;parent:(0,8),128,32;window:(0,8),160,32;place:(0,1),192,32;;XCirculateRequestEvent:t(3,115).43fake:T(3,116)=s32type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;window:(0,8),128,32;atom:(0,8),160,32;time:(0,8),192,32;state:(0,1),224,32;;XPropertyEvent:t(3,116).44fake:T(3,117)=s28type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;window:(0,8),128,32;selection:(0,8),160,32;time:(0,8),192,32;;XSelectionClearEvent:t(3,117).45fake:T(3,118)=s40type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;owner:(0,8),128,32;requestor:(0,8),160,32;selection:(0,8),192,32;target:(0,8),224,32;\property:(0,8),256,32;time:(0,8),288,32;;XSelectionRequestEvent:t(3,118).46fake:T(3,119)=s36type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;requestor:(0,8),128,32;selection:(0,8),160,32;target:(0,8),192,32;property:(0,8),224,32;\time:(0,8),256,32;;XSelectionEvent:t(3,119).47fake:T(3,120)=s32type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;window:(0,8),128,32;colormap:(0,8),160,32;new:(0,1),192,32;state:(0,1),224,32;;XColormapEvent:t(3,120).49fake:T(3,121)=u20b:(3,122)=ar(0,1);0;19;(0,2),0,160;s:(3,123)=ar(0,1);0;9;(0,3),0,160;l:(3,124)=ar(0,1);0;4;(0,4),0,160;;.48fake:T(3,125)=s48type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;window:(0,8),128,32;message_type:(0,8),160,32;format:(0,1),192,32;data:(3,121),224,160;;XClientMessageEvent:t(3,125).50fake:T(3,126)=s32type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;window:(0,8),128,32;request:(0,1),160,32;first_keycode:(0,1),192,32;count:(0,1),224,32;;XMappingEvent:t(3,126).51fake:T(3,127)=s20type:(0,1),0,32;display:(3,34),32,32;resourceid:(0,8),64,32;serial:(0,8),96,32;error_code:(0,5),128,8;request_code:(0,5),136,8;minor_code:(0,5),144,8;;XErrorEvent:t(3,127).52fake:T(3,128)=s20type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(3,34),96,32;window:(0,8),128,32;;XAnyEvent:t(3,128)_XEvent:T(3,129)=u96type:(0,1),0,32;xany:(3,128),0,160;xkey:(3,93),0,480;xbutton:(3,94),0,480;xmotion:(3,95),0,480;xcrossing:(3,96),0,544;xfocus:(3,97),0,224;xexpose:(3,100),0,320;\xgraphicsexpose:(3,101),0,384;xnoexpose:(3,102),0,224;xvisibility:(3,103),0,192;xcreatewindow:(3,104),0,384;xdestroywindow:(3,105),0,192;xunmap:(3,106),0,224;xmap:(3,107),0,224;xmaprequest:(3,108),0,192;\xreparent:(3,109),0,320;xconfigure:(3,110),0,416;xgravity:(3,111),0,256;xresizerequest:(3,112),0,224;xconfigurerequest:(3,113),0,448;xcirculate:(3,114),0,224;xcirculaterequest:(3,115),0,224;xproperty:(3,116),0,256;\xselectionclear:(3,117),0,224;xselectionrequest:(3,118),0,320;xselection:(3,119),0,288;xcolormap:(3,120),0,256;xclient:(3,125),0,384;xmapping:(3,126),0,256;xerror:(3,127),0,160;xkeymap:(3,98),0,416;\pad:(3,130)=ar(0,1);0;23;(0,4),0,768;;XEvent:t(3,129)_XSQEvent:T(3,77)=s100next:(3,76),0,32;event:(3,129),32,768;;_XQEvent:t(3,77).53fake:T(3,131)=s12lbearing:(0,3),0,16;rbearing:(0,3),16,16;width:(0,3),32,16;ascent:(0,3),48,16;descent:(0,3),64,16;attributes:(0,6),80,16;;XCharStruct:t(3,131).54fake:T(3,132)=s8name:(0,8),0,32;card32:(0,8),32,32;;XFontProp:t(3,132).55fake:T(3,133)=s80ext_data:(3,2),0,32;fid:(0,8),32,32;direction:(0,7),64,32;min_char_or_byte2:(0,7),96,32;max_char_or_byte2:(0,7),128,32;min_byte1:(0,7),160,32;max_byte1:(0,7),192,32;all_chars_exist:(0,1),224,32;\default_char:(0,7),256,32;n_properties:(0,1),288,32;properties:(3,134)=*(3,132),320,32;min_bounds:(3,131),352,96;max_bounds:(3,131),448,96;per_char:(3,135)=*(3,131),544,32;ascent:(0,1),576,32;descent:(0,1),608,32;;XFontStruct:t(3,133).56fake:T(3,136)=s16chars:(4,8),0,32;nchars:(0,1),32,32;delta:(0,1),64,32;font:(0,8),96,32;;XTextItem:t(3,136).57fake:T(3,137)=s2byte1:(0,5),0,8;byte2:(0,5),8,8;;XChar2b:t(3,137).58fake:T(3,138)=s16chars:(3,139)=*(3,137),0,32;nchars:(0,1),32,32;delta:(0,1),64,32;font:(0,8),96,32;;XTextItem16:t(3,138).59fake:T(3,140)=u4display:(3,34),0,32;gc:(3,29),0,32;visual:(3,32),0,32;screen:(3,40),0,32;pixmap_format:(3,75),0,32;font:(3,141)=*(3,133),0,32;;XEDataObject:t(3,140)XErrorHandler:t(3,142)=*(3,143)=f(0,1)XIOErrorHandler:t(3,144)=*(3,145)=f(0,1)/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h.61fake:T(9,1)=s8x:(0,1),0,32;y:(0,1),32,32;;.60fake:T(9,2)=s72flags:(0,4),0,32;x:(0,1),32,32;y:(0,1),64,32;width:(0,1),96,32;height:(0,1),128,32;min_width:(0,1),160,32;min_height:(0,1),192,32;max_width:(0,1),224,32;\max_height:(0,1),256,32;width_inc:(0,1),288,32;height_inc:(0,1),320,32;min_aspect:(9,1),352,64;max_aspect:(9,1),416,64;base_width:(0,1),480,32;base_height:(0,1),512,32;win_gravity:(0,1),544,32;;XSizeHints:t(9,2).62fake:T(9,3)=s36flags:(0,4),0,32;input:(0,1),32,32;initial_state:(0,1),64,32;icon_pixmap:(0,8),96,32;icon_window:(0,8),128,32;icon_x:(0,1),160,32;icon_y:(0,1),192,32;icon_mask:(0,8),224,32;\window_group:(0,8),256,32;;XWMHints:t(9,3).63fake:T(9,4)=s16value:(3,68),0,32;encoding:(0,8),32,32;format:(0,1),64,32;nitems:(0,8),96,32;;XTextProperty:t(9,4).64fake:T(9,5)=s24min_width:(0,1),0,32;min_height:(0,1),32,32;max_width:(0,1),64,32;max_height:(0,1),96,32;width_inc:(0,1),128,32;height_inc:(0,1),160,32;;XIconSize:t(9,5).65fake:T(9,6)=s8res_name:(4,8),0,32;res_class:(4,8),32,32;;XClassHint:t(9,6)_XComposeStatus:T(9,7)=s8compose_ptr:(4,8),0,32;chars_matched:(0,1),32,32;;XComposeStatus:t(9,7)Region:t(9,8)=*(9,9)=(9,9).66fake:T(9,10)=s40visual:(3,32),0,32;visualid:(0,8),32,32;screen:(0,1),64,32;depth:(0,1),96,32;class:(0,1),128,32;red_mask:(0,8),160,32;green_mask:(0,8),192,32;blue_mask:(0,8),224,32;\colormap_size:(0,1),256,32;bits_per_rgb:(0,1),288,32;;XVisualInfo:t(9,10).67fake:T(9,11)=s40colormap:(0,8),0,32;red_max:(0,8),32,32;red_mult:(0,8),64,32;green_max:(0,8),96,32;green_mult:(0,8),128,32;blue_max:(0,8),160,32;blue_mult:(0,8),192,32;base_pixel:(0,8),224,32;\visualid:(0,8),256,32;killid:(0,8),288,32;;XStandardColormap:t(9,11)XContext:t(0,1)./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h_iobuf:T(11,1)=s20_cnt:(0,1),0,32;_ptr:(3,68),32,32;_base:(3,68),64,32;_bufsiz:(0,1),96,32;_flag:(0,3),128,16;_file:(0,2),144,8;;fpos_t:t(0,4)Gint:t(0,1)Glong:t(0,1)Gintlist:T(10,1)=s8number:(0,1),0,32;integers:(10,2)=*(0,1),32,32;;Gintlist:t(10,1)Gchar:t(0,2)Gfloat:t(0,13)Gredraw:T(10,3)=eGRD_GKS:0,GRD_X:1,;Gredraw:t(10,3)Gacf:T(10,4)=eGCURRENT:0,GSPECIFIED:1,;Gacf:t(10,4)Gasf:T(10,5)=eGBUNDLED:0,GINDIVIDUAL:1,;Gasf:t(10,5)Gasfs:T(10,6)=s52ln_type:(10,5),0,32;ln_width:(10,5),32,32;ln_colour:(10,5),64,32;mk_type:(10,5),96,32;mk_size:(10,5),128,32;mk_colour:(10,5),160,32;tx_fp:(10,5),192,32;tx_exp:(10,5),224,32;\tx_space:(10,5),256,32;tx_colour:(10,5),288,32;fl_inter:(10,5),320,32;fl_style:(10,5),352,32;fl_colour:(10,5),384,32;;Gasfs:t(10,6)Gattrs:T(10,7)=eGPOLYLINE:0,GPOLYMARKER:1,GTEXT:2,GFILLAREA:3,;Gattrs:t(10,7)Gcstat:T(10,8)=eGC_OK:0,GC_NOCHOICE:1,GC_NONE:2,;Gcstat:t(10,8)Gchoice:T(10,9)=s8status:(10,8),0,32;choice:(0,1),32,32;;Gchoice:t(10,9)Gprflag:T(10,10)=eGPROFF:0,GPRON:1,;Gprflag:t(10,10).68fake:T(10,11)=s4data:(4,8),0,32;;.69fake:T(10,12)=s12number:(0,1),0,32;enable:(10,13)=*(10,10),32,32;data:(4,8),64,32;;.70fake:T(10,14)=s12number:(0,1),0,32;strings:(10,15)=*(4,8),32,32;data:(4,8),64,32;;.71fake:T(10,16)=s12number:(0,1),0,32;strings:(10,15),32,32;data:(4,8),64,32;;.72fake:T(10,17)=s16seg:(0,1),0,32;number:(0,1),32,32;pickids:(10,2),64,32;data:(4,8),96,32;;Gchoicerec:T(10,18)=u16pet1:(10,11),0,32;pet2:(10,12),0,96;pet3:(10,14),0,96;pet4:(10,16),0,96;pet5:(10,17),0,128;;Gchoicerec:t(10,18)Gimode:T(10,19)=eGREQUEST:0,GSAMPLE:1,GEVENT:2,;Gimode:t(10,19)Gesw:T(10,20)=eGECHO:0,GNOECHO:1,;Gesw:t(10,20)Glimit:T(10,21)=s16xmin:(0,13),0,32;xmax:(0,13),32,32;ymin:(0,13),64,32;ymax:(0,13),96,32;;Glimit:t(10,21)Gchoicest:T(10,22)=s52mode:(10,19),0,32;esw:(10,20),32,32;choice:(10,9),64,64;pet:(0,1),128,32;e_area:(10,21),160,128;record:(10,18),288,128;;Gchoicest:t(10,22)Gclip:T(10,23)=eGCLIP:0,GNOCLIP:1,;Gclip:t(10,23)Gcliprec:T(10,24)=s20ind:(10,23),0,32;rec:(10,21),32,128;;Gcliprec:t(10,24)Gclrflag:T(10,25)=eGCONDITIONALLY:0,GALWAYS:1,;Gclrflag:t(10,25)Gcoavail:T(10,26)=eGCOLOUR:0,GMONOCHROME:1,;Gcoavail:t(10,26)Gcobundl:T(10,27)=s12red:(0,13),0,32;green:(0,13),32,32;blue:(0,13),64,32;;Gcobundl:t(10,27)Gcofac:T(10,28)=s12colours:(0,1),0,32;coavail:(10,26),32,32;predefined:(0,1),64,32;;Gcofac:t(10,28)Gcovalid:T(10,29)=eGABSENT:0,GPRESENT:1,;Gcovalid:t(10,29)Gcsw:T(10,30)=eGWC:0,GNDC:1,;Gcsw:t(10,30)Gdefchoice:T(10,31)=s44choices:(0,1),0,32;pets:(10,1),32,64;e_area:(10,21),96,128;record:(10,18),224,128;;Gdefchoice:t(10,31)Gdefmode:T(10,32)=eGASAP:0,GBNIG:1,GBNIL:2,GASTI:3,;Gdefmode:t(10,32)Girgmode:T(10,33)=eGSUPPRESSED:0,GALLOWED:1,;Girgmode:t(10,33)Gdefer:T(10,34)=s8defmode:(10,32),0,32;irgmode:(10,33),32,32;;Gdefer:t(10,34)Gpoint:T(10,35)=s8x:(0,13),0,32;y:(0,13),32,32;;Gpoint:t(10,35)Gipoint:T(10,36)=s8x:(0,1),0,32;y:(0,1),32,32;;Gipoint:t(10,36)Glnbundl:T(10,37)=s12type:(0,1),0,32;width:(0,13),32,32;colour:(0,1),64,32;;Glnbundl:t(10,37)Glnattr:T(10,38)=s28type:(10,5),0,32;width:(10,5),32,32;colour:(10,5),64,32;line:(0,1),96,32;bundl:(10,37),128,96;;Glnattr:t(10,38)Gpfcf:T(10,39)=eGPF_POLYLINE:0,GPF_FILLAREA:1,;Gpfcf:t(10,39)Gflinter:T(10,40)=eGHOLLOW:0,GSOLID:1,GPATTERN:2,GHATCH:3,;Gflinter:t(10,40)Gflbundl:T(10,41)=s12inter:(10,40),0,32;style:(0,1),32,32;colour:(0,1),64,32;;Gflbundl:t(10,41)Gflattr:T(10,42)=s28inter:(10,5),0,32;style:(10,5),32,32;colour:(10,5),64,32;fill:(0,1),96,32;bundl:(10,41),128,96;;Gflattr:t(10,42).73fake:T(10,43)=s4data:(4,8),0,32;;.74fake:T(10,44)=s4data:(4,8),0,32;;.75fake:T(10,45)=s4data:(4,8),0,32;;.76fake:T(10,46)=s36acf:(10,4),0,32;ln:(10,38),32,224;data:(4,8),256,32;;.78fake:T(10,47)=u28ln:(10,38),0,224;fl:(10,42),0,224;;.77fake:T(10,48)=s40pfcf:(10,39),0,32;acf:(10,4),32,32;attr:(10,47),64,224;data:(4,8),288,32;;.79fake:T(10,49)=s4data:(4,8),0,32;;Glocrec:T(10,50)=u40pet1:(10,43),0,32;pet2:(10,44),0,32;pet3:(10,45),0,32;pet4:(10,46),0,288;pet5:(10,48),0,320;pet6:(10,49),0,32;;Glocrec:t(10,50)Gdefloc:T(10,51)=s72position:(10,35),0,64;pets:(10,1),64,64;e_area:(10,21),128,128;record:(10,50),256,320;;Gdefloc:t(10,51).80fake:T(10,52)=s4data:(4,8),0,32;;.81fake:T(10,53)=s4data:(4,8),0,32;;.82fake:T(10,54)=s4data:(4,8),0,32;;Gpickrec:T(10,55)=u4pet1:(10,52),0,32;pet2:(10,53),0,32;pet3:(10,54),0,32;;Gpickrec:t(10,55)Gdefpick:T(10,56)=s28pets:(10,1),0,64;e_area:(10,21),64,128;record:(10,55),192,32;;Gdefpick:t(10,56).83fake:T(10,57)=s12bufsiz:(0,1),0,32;position:(0,1),32,32;data:(4,8),64,32;;Gstringrec:T(10,58)=u12pet1:(10,57),0,96;;Gstringrec:t(10,58)Gdefstring:T(10,59)=s40bufsiz:(0,1),0,32;pets:(10,1),32,64;e_area:(10,21),96,128;record:(10,58),224,96;;Gdefstring:t(10,59)Gmkbundl:T(10,60)=s12type:(0,1),0,32;size:(0,13),32,32;colour:(0,1),64,32;;Gmkbundl:t(10,60)Gmkattr:T(10,61)=s28type:(10,5),0,32;size:(10,5),32,32;colour:(10,5),64,32;mark:(0,1),96,32;bundl:(10,60),128,96;;Gmkattr:t(10,61).84fake:T(10,62)=s24bufsiz:(0,1),0,32;editpos:(0,1),32,32;interval:(10,35),64,64;time:(0,13),128,32;data:(4,8),160,32;;.85fake:T(10,63)=s24bufsiz:(0,1),0,32;editpos:(0,1),32,32;interval:(10,35),64,64;time:(0,13),128,32;data:(4,8),160,32;;.86fake:T(10,64)=s56bufsiz:(0,1),0,32;editpos:(0,1),32,32;interval:(10,35),64,64;time:(0,13),128,32;acf:(10,4),160,32;mk:(10,61),192,224;data:(4,8),416,32;;.87fake:T(10,65)=s56bufsiz:(0,1),0,32;editpos:(0,1),32,32;interval:(10,35),64,64;time:(0,13),128,32;acf:(10,4),160,32;ln:(10,38),192,224;data:(4,8),416,32;;Gstrokerec:T(10,66)=u56pet1:(10,62),0,192;pet2:(10,63),0,192;pet3:(10,64),0,448;pet4:(10,65),0,448;;Gstrokerec:t(10,66)Gdefstroke:T(10,67)=s84bufsiz:(0,1),0,32;pets:(10,1),32,64;e_area:(10,21),96,128;record:(10,66),224,448;;Gdefstroke:t(10,67).88fake:T(10,68)=s12low:(0,13),0,32;high:(0,13),32,32;data:(4,8),64,32;;.89fake:T(10,69)=s12low:(0,13),0,32;high:(0,13),32,32;data:(4,8),64,32;;.90fake:T(10,70)=s12low:(0,13),0,32;high:(0,13),32,32;data:(4,8),64,32;;Gvalrec:T(10,71)=u12pet1:(10,68),0,96;pet2:(10,69),0,96;pet3:(10,70),0,96;;Gvalrec:t(10,71)Gdefval:T(10,72)=s40value:(0,13),0,32;pets:(10,1),32,64;e_area:(10,21),96,128;record:(10,71),224,96;;Gdefval:t(10,72)Gdevunits:T(10,73)=eGDC_METRES:0,GDC_OTHER:1,;Gdevunits:t(10,73)Gdspsize:T(10,74)=s20units:(10,73),0,32;device:(10,35),32,64;raster:(10,36),96,64;;Gdspsize:t(10,74)Gdspsurf:T(10,75)=eGEMPTY:0,GNOTEMPTY:1,;Gdspsurf:t(10,75).91fake:T(10,76)=s4dummy:(0,1),0,32;;.92fake:T(10,77)=s4dummy:(0,1),0,32;;Gescin:T(10,78)=u4escid1:(10,76),0,32;escid2:(10,77),0,32;;Gescin:t(10,78).93fake:T(10,79)=s4dummy:(0,1),0,32;;.94fake:T(10,80)=s4dummy:(0,1),0,32;;Gescout:T(10,81)=u4escid1:(10,79),0,32;escid2:(10,80),0,32;;Gescout:t(10,81)Giclass:T(10,82)=eGNCLASS:0,GLOCATOR:1,GISTROKE:2,GVALUATOR:3,GCHOICE:4,GPICK:5,GISTRING:6,;Giclass:t(10,82)Gevent:T(10,83)=s12ws:(0,1),0,32;dev:(0,1),32,32;class:(10,82),64,32;;Gevent:t(10,83)Gextent:T(10,84)=s40concat:(10,35),0,64;ll:(10,35),64,64;lr:(10,35),128,64;ul:(10,35),192,64;ur:(10,35),256,64;;Gextent:t(10,84)Gfile:t(11,1)Gflfac:T(10,85)=s20interiors:(10,1),0,64;hatches:(10,1),64,64;predefined:(0,1),128,32;;Gflfac:t(10,85)Ggdpfac:T(10,86)=s8number:(0,1),0,32;attrs:(10,87)=*(10,7),32,32;;Ggdpfac:t(10,86)Ggdplist:T(10,88)=s12number:(0,1),0,32;functions:(10,89)=*(10,90)=f(0,1),32,32;indices:(10,2),64,32;;Ggdplist:t(10,88).95fake:T(10,91)=s4dummy:(0,1),0,32;;.96fake:T(10,92)=s4dummy:(0,1),0,32;;Ggdprec:T(10,93)=u4gdpid1:(10,91),0,32;gdpid2:(10,92),0,32;;Ggdprec:t(10,93)Ggksmit:T(10,94)=s8type:(0,1),0,32;length:(0,1),32,32;;Ggksmit:t(10,94)Gtxprec:T(10,95)=eGSTRING:0,GCHAR:1,GSTROKE:2,;Gtxprec:t(10,95)Gtxfp:T(10,96)=s8font:(0,1),0,32;prec:(10,95),32,32;;Gtxfp:t(10,96)Gindattr:T(10,97)=s108lntype:(0,1),0,32;lnwidth:(0,13),32,32;lncolour:(0,1),64,32;mktype:(0,1),96,32;mksize:(0,13),128,32;mkcolour:(0,1),160,32;fp:(10,96),192,64;chexp:(0,13),256,32;\chspace:(0,13),288,32;txcolour:(0,1),320,32;flstyle:(10,40),352,32;flindex:(0,1),384,32;flcolour:(0,1),416,32;asflist:(10,6),448,416;;Gindattr:t(10,97)Ginqtype:T(10,98)=eGSET:0,GREALIZED:1,;Ginqtype:t(10,98)Gqtype:t(10,98)Gistat:T(10,99)=eGOK:0,GNONE:1,;Gistat:t(10,99)Glastev:T(10,100)=eGLAST:0,GNOTLAST:1,;Glastev:t(10,100)Glevel:T(10,101)=eGLMA:-3,GLMB:-2,GLMC:-1,GL0A:0,GL0B:1,GL0C:2,GL1A:3,GL1B:4,\GL1C:5,GL2A:6,GL2B:7,GL2C:8,;Glevel:t(10,101)Glnfac:T(10,102)=s28types:(10,1),0,64;widths:(0,1),64,32;nom:(0,13),96,32;min:(0,13),128,32;max:(0,13),160,32;predefined:(0,1),192,32;;Glnfac:t(10,102)Gloc:T(10,103)=s12transform:(0,1),0,32;position:(10,35),32,64;;Gloc:t(10,103)Glocst:T(10,104)=s80mode:(10,19),0,32;esw:(10,20),32,32;loc:(10,103),64,96;pet:(0,1),160,32;e_area:(10,21),192,128;record:(10,50),320,320;;Glocst:t(10,104)Gmkfac:T(10,105)=s28types:(10,1),0,64;sizes:(0,1),64,32;nom:(0,13),96,32;min:(0,13),128,32;max:(0,13),160,32;predefined:(0,1),192,32;;Gmkfac:t(10,105)Gmodtype:T(10,106)=eGIRG:0,GIMM:1,;Gmodtype:t(10,106)Gmodseg:T(10,107)=s28transform:(10,106),0,32;appear:(10,106),32,32;disappear:(10,106),64,32;highlight:(10,106),96,32;priority:(10,106),128,32;addition:(10,106),160,32;deletion:(10,106),192,32;;Gmodseg:t(10,107)Gmodws:T(10,108)=s28line:(10,106),0,32;mark:(10,106),32,32;text:(10,106),64,32;fill:(10,106),96,32;pat:(10,106),128,32;colour:(10,106),160,32;wstran:(10,106),192,32;;Gmodws:t(10,108)Gnframe:T(10,109)=eGNO:0,GYES:1,;Gnframe:t(10,109)Gstore:t(10,109)Gnumdev:T(10,110)=s24locator:(0,1),0,32;stroke:(0,1),32,32;valuator:(0,1),64,32;choice:(0,1),96,32;pick:(0,1),128,32;string:(0,1),160,32;;Gnumdev:t(10,110)Gos:T(10,111)=eGGKCL:0,GGKOP:1,GWSOP:2,GWSAC:3,GSGOP:4,;Gos:t(10,111)Gpstat:T(10,112)=eGP_OK:0,GP_NOPICK:1,GP_NONE:2,;Gpstat:t(10,112)Gpick:T(10,113)=s12status:(10,112),0,32;seg:(0,1),32,32;pickid:(0,1),64,32;;Gpick:t(10,113)Gpickst:T(10,114)=s44mode:(10,19),0,32;esw:(10,20),32,32;pick:(10,113),64,96;pet:(0,1),160,32;e_area:(10,21),192,128;record:(10,55),320,32;;Gpickst:t(10,114)Gtxpath:T(10,115)=eGTP_RIGHT:0,GTP_LEFT:1,GTP_UP:2,GTP_DOWN:3,;Gtxpath:t(10,115)Gtxhor:T(10,116)=eGTH_NORMAL:0,GTH_LEFT:1,GTH_CENTRE:2,GTH_RIGHT:3,;Gtxhor:t(10,116)Gtxver:T(10,117)=eGTV_NORMAL:0,GTV_TOP:1,GTV_CAP:2,GTV_HALF:3,GTV_BASE:4,GTV_BOTTOM:5,;Gtxver:t(10,117)Gtxalign:T(10,118)=s8hor:(10,116),0,32;ver:(10,117),32,32;;Gtxalign:t(10,118)Gpriattr:T(10,119)=s76plnindex:(0,1),0,32;pmkindex:(0,1),32,32;txindex:(0,1),64,32;height:(0,13),96,32;up:(10,35),128,64;chwidth:(0,13),192,32;base:(10,35),224,64;path:(10,115),288,32;\align:(10,118),320,64;flindex:(0,1),384,32;widthvec:(10,35),416,64;heightvec:(10,35),480,64;prp:(10,35),544,64;;Gpriattr:t(10,119)Gptbundl:T(10,120)=s12size:(10,36),0,64;array:(10,2),64,32;;Gptbundl:t(10,120)Gpxarray:T(10,121)=s8covalid:(10,29),0,32;array:(10,2),32,32;;Gpxarray:t(10,121)Gqloc:T(10,122)=s16status:(10,99),0,32;loc:(10,103),32,96;;Gqloc:t(10,122)Gqstring:T(10,123)=s8status:(10,99),0,32;string:(4,8),32,32;;Gqstring:t(10,123)Gstroke:T(10,124)=s12transform:(0,1),0,32;n_points:(0,1),32,32;points:(10,125)=*(10,35),64,32;;Gstroke:t(10,124)Gqstroke:T(10,126)=s16status:(10,99),0,32;stroke:(10,124),32,96;;Gqstroke:t(10,126)Gqueue:T(10,127)=s8class:(10,82),0,32;devno:(0,1),32,32;;Gqueue:t(10,127)Gqval:T(10,128)=s8status:(10,99),0,32;val:(0,13),32,32;;Gqval:t(10,128)Grect:T(10,129)=s16ll:(10,35),0,64;ur:(10,35),64,64;;Grect:t(10,129)Gregen:T(10,130)=eGPERFORM:0,GPOSTPONE:1,;Gregen:t(10,130)Gsegdet:T(10,131)=eGUNDETECTABLE:0,GDETECTABLE:1,;Gsegdet:t(10,131)Gseghi:T(10,132)=eGNORMAL:0,GHIGHLIGHTED:1,;Gseghi:t(10,132)Gsegvis:T(10,133)=eGVISIBLE:0,GINVISIBLE:1,;Gsegvis:t(10,133)Gsegattr:T(10,134)=s44seg:(0,1),0,32;segtran:(10,135)=ar(0,1);0;1;(10,136)=ar(0,1);0;2;(0,13),32,192;vis:(10,133),224,32;hilight:(10,132),256,32;pri:(0,13),288,32;det:(10,131),320,32;;Gsegattr:t(10,134)Gsimultev:T(10,137)=eGNOMORE:0,GMORE:1,;Gsimultev:t(10,137)Gstringst:T(10,138)=s44mode:(10,19),0,32;esw:(10,20),32,32;string:(4,8),64,32;pet:(0,1),96,32;e_area:(10,21),128,128;record:(10,58),256,96;;Gstringst:t(10,138)Gstrlist:T(10,139)=s8number:(0,1),0,32;strings:(10,15),32,32;;Gstrlist:t(10,139)Gstrokest:T(10,140)=s96mode:(10,19),0,32;esw:(10,20),32,32;stroke:(10,124),64,96;pet:(0,1),160,32;e_area:(10,21),192,128;record:(10,66),320,448;;Gstrokest:t(10,140)Gtxbundl:T(10,141)=s20fp:(10,96),0,64;ch_exp:(0,13),64,32;space:(0,13),96,32;colour:(0,1),128,32;;Gtxbundl:t(10,141)Gtxattr:T(10,142)=s40fp:(10,5),0,32;tx_exp:(10,5),32,32;space:(10,5),64,32;colour:(10,5),96,32;text:(0,1),128,32;bundl:(10,141),160,160;;Gtxattr:t(10,142)Gtxfac:T(10,143)=s36fps:(0,1),0,32;fp_list:(10,144)=*(10,96),32,32;heights:(0,1),64,32;min_ht:(0,13),96,32;max_ht:(0,13),128,32;expansions:(0,1),160,32;min_ex:(0,13),192,32;max_ex:(0,13),224,32;\predefined:(0,1),256,32;;Gtxfac:t(10,143)Gvalst:T(10,145)=s44mode:(10,19),0,32;esw:(10,20),32,32;val:(0,13),64,32;pet:(0,1),96,32;e_area:(10,21),128,128;record:(10,71),256,96;;Gvalst:t(10,145)Gvpri:T(10,146)=eGHIGHER:0,GLOWER:1,;Gvpri:t(10,146)Gwscat:T(10,147)=eGINVALID:-1,GOUTPUT:0,GINPUT:1,GOUTIN:2,GWISS:3,GMO:4,GMI:5,;Gwscat:t(10,147)Gwsclass:T(10,148)=eGVECTOR:0,GRASTER:1,GOTHER:2,;Gwsclass:t(10,148)Gwsct:T(10,149)=s8conn:(4,8),0,32;type:(4,8),32,32;;Gwsct:t(10,149)Gwsdus:T(10,150)=s16defmode:(10,32),0,32;dspsurf:(10,75),32,32;irgmode:(10,33),64,32;nframe:(10,109),96,32;;Gwsdus:t(10,150)Gwsmax:T(10,151)=s12open:(0,1),0,32;active:(0,1),32,32;assoc:(0,1),64,32;;Gwsmax:t(10,151)Gwsstate:T(10,152)=eGINACTIVE:0,GACTIVE:1,;Gwsstate:t(10,152)Gwstables:T(10,153)=s24line:(0,1),0,32;mark:(0,1),32,32;text:(0,1),64,32;fill:(0,1),96,32;pat:(0,1),128,32;colour:(0,1),160,32;;Gwstables:t(10,153)Gwstus:T(10,154)=eGNOTPENDING:0,GPENDING:1,;Gwstus:t(10,154)Gwstran:T(10,155)=s32w:(10,21),0,128;v:(10,21),128,128;;Gwstran:t(10,155)Gwsti:T(10,156)=s68wstus:(10,154),0,32;request:(10,155),32,256;current:(10,155),288,256;;Gwsti:t(10,156)Gerrmap:T(10,157)=eerrnull:0,errgopengks:1,errgclosegks:2,errgopenws:3,errgclosews:4,errgactivatews:5,errgdeactivatews:6,errgclearws:7,\errgredrawsegws:8,errgupdatews:9,errgsetdeferst:10,errgmessage:11,errgescredrawnotify:12,errgescsetcolourmask:13,errgescsetdcsize:14,errgescstoreprimi:15,\errgescinqxattr:16,errgpolyline:17,errgpolymarker:18,errgtext:19,errgfillarea:20,errgcellarray:21,errggdp:22,errgsetlineind:23,\errgsetlinetype:24,errgsetlinewidth:25,errgsetlinecolourind:26,errgsetmarkerind:27,errgsetmarkertype:28,errgsetmarkersize:29,errgsetmarkercolourind:30,errgsettextind:31,\errgsettextfontprec:32,errgsetcharexpan:33,errgsetcharspace:34,errgsettextcolourind:35,errgsetcharheight:36,errgsetcharup:37,errgsettextpath:38,errgsettextalign:39,\errgsetfillind:40,errgsetfillintstyle:41,errgsetfillstyleind:42,errgsetfillcolourind:43,errgsetpatsize:44,errgsetpatrefpt:45,errgsetasf:46,errgsetpickid:47,\errgsetlinerep:48,errgsetmarkerrep:49,errgsetpatrep:50,errgsetfillrep:51,errgsettextrep:52,errgsetcolourrep:53,errgsetwindow:54,errgsetviewport:55,\errgsetviewportinputpri:56,errgselntran:57,errgsetclip:58,errgsetwswindow:59,errgsetwsviewport:60,errgcreateseg:61,errgcloseseg:62,errgrenameseg:63,\errgdelseg:64,errgdelsegws:65,errgassocsegws:66,errgcopysegws:67,errginsertseg:68,errgsetsegtran:69,errgsetvis:70,errgsethighlight:71,\errgsetsegpri:72,errgsetdet:73,errgsetsegattr:74,errginitloc:75,errginitstroke:76,errginitval:77,errginitchoice:78,errginitpick:79,\errginitstring:80,errgsetlocmode:81,errgsetstrokemode:82,errgsetvalmode:83,errgsetchoicemode:84,errgsetpickmode:85,errgsetstringmode:86,errgreqloc:87,\errgreqstroke:88,errgreqval:89,errgreqchoice:90,errgreqpick:91,errgreqstring:92,errgsampleloc:93,errgsamplestroke:94,errgsampleval:95,\errgsamplechoice:96,errgsamplepick:97,errgsamplestring:98,errgawaitevent:99,errgflushevents:100,errggetloc:101,errggetstroke:102,errggetval:103,\errggetchoice:104,errggetpick:105,errggetstring:106,errgwritegksm:107,errggettypegksm:108,errgreadgksm:109,errggetgksm:110,errginterpret:111,\errgevaltran:112,errgaccumtran:113,errgemergencyclosegks:114,errgerrorhand:115,errgerrorlog:116,errginqactivews:117,errginqasf:118,errginqassocws:119,\errginqavailgdp:120,errginqavailwstypes:121,errginqchoicest:122,errginqclip:123,errginqcolourfacil:124,errginqcolourindices:125,errginqcolourrep:126,errginqcurntrannum:127,\errginqdefchoice:128,errginqdefdeferst:129,errginqdefloc:130,errginqdefpick:131,errginqdefstring:132,errginqdefstroke:133,errginqdefval:134,errginqdisplayspacesize:135,\errginqdisplaysize:136,errginqfillfacil:137,errginqfillindices:138,errginqfillrep:139,errginqgdp:140,errginqindivattr:141,errginqinputoverflow:142,errginqlevelgks:143,\errginqlinefacil:144,errginqlineindices:145,errginqlinerep:146,errginqlocst:147,errginqmarkerfacil:148,errginqmarkerindices:149,errginqmarkerrep:150,errginqmaxntrannum:151,\errginqmaxwssttables:152,errginqmodsegattr:153,errginqmodwsattr:154,errginqmoreevents:155,errginqnameopenseg:156,errginqntrannum:157,errginqntran:158,errginqnumavailinput:159,\errginqnumsegpri:160,errginqopenws:161,errginqopst:162,errginqpatfacil:163,errginqpatindices:164,errginqpatrep:165,errginqcurpickid:166,errginqpickst:167,\errginqpixel:168,errginqpixelarray:169,errginqpixelarraydim:170,errginqpredcolourrep:171,errginqpredfillrep:172,errginqpredlinerep:173,errginqpredmarkerrep:174,errginqpredpatrep:175,\errginqpredtextrep:176,errginqprimattr:177,errginqsegattr:178,errginqsegnames:179,errginqsegnamesws:180,errginqstringst:181,errginqstrokest:182,errginqtextextent:183,\errginqtextfacil:184,errginqtextindices:185,errginqtextrep:186,errginqvalst:187,errginqwscategory:188,errginqwsclass:189,errginqwsconntype:190,errginqwsdeferupdatest:191,\errginqwsmaxnum:192,errginqwsst:193,errginqwstran:194,;Gerrmap:t(10,157)Gfuncerrmap:T(10,158)=eerrXgksChoUpdatePrompt:1000,errXgksEnqueueEvent:1001,errXgksLocUpdatePrompt:1002,errXgksStrUpdatePrompt:1003,errXgksPicUpdatePrompt:1004,errXgksInsertMesgPrimi:1005,errXgksDuplicatePrimi:1006,errXgksSegPrimiTran:1007,\errXgksStkUpdatePrompt:1008,errXgksValUpdatePrompt:1009,errXgksDistFillarea:1010,errXgksInitWssFillArea:1011,errXgksDistCellarray:1012,errXgksExecData:1013,errxPolyMarker:1014,errxFillArea:1015,\errxInqPixelarray:1016,;Gfuncerrmap:t(10,158)./gks_defines.hXcToGKSMap:T(12,1)=s12red:(0,7),0,32;green:(0,7),32,32;blue:(0,7),64,32;;XcRGB:t(12,1).97fake:T(12,2)=u4rgb:(12,3)=*(12,1),0,32;colour:(3,82),0,32;;XcTable:t(12,2).98fake:T(12,4)=s40red_mult:(0,8),0,32;green_mult:(0,8),32,32;blue_mult:(0,8),64,32;red_mask:(0,8),96,32;green_mask:(0,8),128,32;blue_mask:(0,8),160,32;SeparateRGB:(0,1),192,32;NumEntries:(0,1),224,32;\ToX:(12,2),256,32;ToGKS:(12,2),288,32;;XcMap:t(12,4).99fake:T(12,5)=ePLINE:0,PMARK:1,TEXT:2,FILL_AREA:3,CELL_ARRAY:4,CLIP_REC:5,XGKS_MESG:6,GDP:7,;PID:t(12,5).100fake:T(12,6)=eERR_ON:0,ERR_OFF:1,;ERROR_ST:t(12,6).101fake:T(12,7)=eVAL_HORIZ:0,VAL_VERT:1,;VAL_AXIS:t(12,7)seg_struct:T(12,8)=s8seg:(0,1),0,32;next:(12,9)=*(12,8),32,32;;WS_SEG_LIST:t(12,8).102fake:T(12,10)=s36height:(0,13),0,32;up:(10,35),32,64;chwidth:(0,13),96,32;base:(10,35),128,64;path:(10,115),192,32;align:(10,118),224,64;;CHATTR:t(12,10).103fake:T(12,11)=s24widthvec:(10,35),0,64;heightvec:(10,35),64,64;ptp:(10,35),128,64;;PTATTR:t(12,11)./primitive.h.104fake:T(13,1)=s36num_pts:(0,1),0,32;pts:(10,125),32,32;plnattr:(10,38),64,224;;PLINE_ST:t(13,1).105fake:T(13,2)=s36num_pts:(0,1),0,32;location:(10,125),32,32;mkattr:(10,61),64,224;;PMARK_ST:t(13,2).106fake:T(13,3)=s4string:(4,8),0,32;;MESG_ST:t(13,3).107fake:T(13,4)=s100location:(10,125),0,32;string:(4,8),32,32;up_vec:(10,35),64,64;base_vec:(10,35),128,64;txattr:(10,142),192,320;chattr:(12,10),512,288;;TEXT_ST:t(13,4).108fake:T(13,5)=s60num_pts:(0,1),0,32;pts:(10,125),32,32;flattr:(10,42),64,224;ptattr:(12,11),288,192;;FILL_AREA_ST:t(13,5).109fake:T(13,6)=s48ll:(10,35),0,64;lr:(10,35),64,64;ur:(10,35),128,64;ul:(10,35),192,64;dim:(10,36),256,64;rowsize:(0,1),320,32;colour:(10,2),352,32;;CELL_ARRAY_ST:t(13,6).110fake:T(13,7)=s20segment:(0,1),0,32;rec:(10,21),32,128;;CLIP_REC_ST:t(13,7).111fake:T(13,8)=s4dummy:(0,1),0,32;;GDP_ST:t(13,8).112fake:T(13,9)=u100pline:(13,1),0,288;pmark:(13,2),0,288;text:(13,4),0,800;fill_area:(13,5),0,480;cell_array:(13,6),0,384;clip:(13,7),0,160;mesg:(13,3),0,32;gdp:(13,8),0,32;;entry:T(13,10)=s116pid:(12,5),0,32;seg_cnt:(0,1),32,32;pickid:(0,1),64,32;next:(13,11)=*(13,10),96,32;primi:(13,9),128,800;;OUT_PRIMI:t(13,10)./input.h.113fake:T(14,1)=s72initst:(10,22),0,416;curcho:(0,1),416,32;origin:(3,60),448,32;iheight:(0,1),480,32;width:(0,1),512,32;height:(0,1),544,32;;WSCHOICE:t(14,1).114fake:T(14,2)=s96initst:(10,104),0,640;initpos:(10,35),640,64;curpos:(10,35),704,64;;WSLOCATOR:t(14,2).115fake:T(14,3)=s52curpos:(10,35),0,64;initst:(10,114),64,352;;WSPICK:t(14,3).116fake:T(14,4)=s56initst:(10,138),0,352;strbuf:(4,8),352,32;editpos:(0,1),384,32;curpos:(3,60),416,32;;WSSTRING:t(14,4).117fake:T(14,5)=s112initst:(10,140),0,768;stkbuf:(10,125),768,32;interval:(10,35),800,64;editpos:(0,1),864,32;;WSSTROKE:t(14,5).118fake:T(14,6)=s92initst:(10,145),0,352;axis:(12,7),352,32;convert:(14,7)=ar(0,1);0;1;(0,13),384,64;BarWidth:(0,13),448,32;BarHeight:(0,13),480,32;CurPos:(0,13),512,32;SlidRule:(14,8)=ar(0,1);0;1;(10,35),544,128;val:(10,128),672,64;;WSVALUATOR:t(14,6).119fake:T(14,9)=u112cho:(14,1),0,576;loc:(14,2),0,768;pic:(14,3),0,416;str:(14,4),0,448;stk:(14,5),0,896;val:(14,6),0,736;;INPUT_DEV:T(14,10)=s140class:(10,82),0,32;dev:(0,1),32,32;active:(0,1),64,32;touched:(0,1),96,32;breakhit:(0,1),128,32;gc:(3,29),160,32;next:(14,11)=*(14,10),192,32;data:(14,9),224,896;;INPUT_DEV:t(14,10)EQEntry:T(14,12)=s24next:(14,13)=*(14,12),0,32;event:(10,83),32,96;data:(4,8),128,32;id:(0,1),160,32;;EQEntry:t(14,12).120fake:T(14,14)=ePROMPTON:0,PROMPTOFF:1,PROMPTMOVE:2,;PromptStatus:t(14,14)./wdt.h./wslist.h.121fake:T(16,1)=s16xScale:(0,13),0,32;xTrans:(0,13),32,32;yScale:(0,13),64,32;yTrans:(0,13),96,32;;WS_TRANS:t(16,1).122fake:T(16,2)=eWST_INVALID:0,X_WIN:1,WISS:2,MI:3,MO:4,;EWSTYPE:t(16,2).123fake:T(16,3)=s24dn:(0,1),0,32;dashl:(16,4)=ar(0,1);0;16;(0,2),32,136;;DashList:t(16,3)Xwindow:T(16,5)=s196ws:(16,6)=*(16,7)=xsws_struct:,0,32;dpy:(3,34),32,32;win:(0,8),64,32;event_mask:(0,8),96,32;gc:(3,29),128,32;plinegc:(3,29),160,32;pmarkgc:(3,29),192,32;fillareagc:(3,29),224,32;\textgc:(3,29),256,32;dclmp:(0,8),288,32;wclmp:(0,8),320,32;wbound:(10,35),352,64;wscolour:(0,1),416,32;set_colour_rep:(16,8)=*(10,27),448,32;wsfg:(0,1),480,32;wsbg:(0,1),512,32;\dctoxtrans:(16,1),544,128;ndctoxtrans:(16,1),672,128;xclip:(3,61),800,64;last_pline_rectangle:(3,61),864,64;last_pmarker_rectangle:(3,61),928,64;last_farea_rectangle:(3,61),992,64;last_text_rectangle:(3,61),1056,64;last_dash_index:(0,1),1120,32;\last_message_width:(0,1),1152,32;XcMap:(12,4),1184,320;soft_clipping_on:(0,1),1504,32;backing_store_on:(0,1),1536,32;;Xwindow:t(16,5)mf_type:T(16,9)=eMF_GKSM:0,MF_CGM:1,;mf_type:t(16,9)mf_any:T(16,10)=s24type:(16,9),0,32;fp:(16,11)=*(11,1),32,32;filestat:(0,1),64,32;CurItem:(10,94),96,64;GksmEmpty:(0,1),160,32;;mf_any:t(16,10)Metafile:T(16,12)=u4any:(16,13)=*(16,10),0,32;gksm:(16,14)=*(16,15)=xsmf_gksm:,0,32;cgmi:(16,16)=*(16,17)=xsmf_cgmi:,0,32;cgmo:(16,18)=*(16,19)=xsmf_cgmo:,0,32;;Metafile:t(16,12)ws_struct:T(16,7)=s1924ws_id:(0,1),0,32;conn:(4,8),32,32;wstype:(4,8),64,32;ewstype:(16,2),96,32;ws_is_closing:(0,1),128,32;mf:(16,12),160,32;wsstate:(10,152),192,32;primi_store:(10,109),224,32;\size:(10,35),256,64;wsti:(10,156),320,544;wsdus:(10,150),864,128;redrawfuncp:(16,20)=*(16,21)=f(0,1),992,32;lnbundl_table:(16,22)=ar(0,1);0;20;(10,37),1024,2016;mkbundl_table:(16,23)=ar(0,1);0;20;(10,60),3040,2016;txbundl_table:(16,24)=ar(0,1);0;20;(10,141),5056,3360;flbundl_table:(16,25)=ar(0,1);0;20;(10,41),8416,2016;\ptbundl_table:(16,26)=ar(0,1);0;20;(10,120),10432,2016;seglist:(12,9),12448,32;seg_insertpt:(12,9),12480,32;seg_list_dirty:(0,1),12512,32;in_dev_list:(14,11),12544,32;clip:(10,21),12576,128;primi_list:(13,10),12704,928;primi_insert_pt:(13,11),13632,32;\message_pt:(13,11),13664,32;bef_message:(13,11),13696,32;ndctodctrans:(16,1),13728,128;dpy:(3,34),13856,32;win:(0,8),13888,32;event_mask:(0,8),13920,32;gc:(3,29),13952,32;plinegc:(3,29),13984,32;\pmarkgc:(3,29),14016,32;fillareagc:(3,29),14048,32;textgc:(3,29),14080,32;dclmp:(0,8),14112,32;wclmp:(0,8),14144,32;wbound:(10,35),14176,64;wscolour:(0,1),14240,32;set_colour_rep:(16,8),14272,32;\wsfg:(0,1),14304,32;wsbg:(0,1),14336,32;dctoxtrans:(16,1),14368,128;ndctoxtrans:(16,1),14496,128;xclip:(3,61),14624,64;last_pline_rectangle:(3,61),14688,64;last_pmarker_rectangle:(3,61),14752,64;last_farea_rectangle:(3,61),14816,64;\last_text_rectangle:(3,61),14880,64;last_dash_index:(0,1),14944,32;last_message_width:(0,1),14976,32;XcMap:(12,4),15008,320;soft_clipping_on:(0,1),15328,32;backing_store_on:(0,1),15360,32;;WS_STATE_PTR:t(16,6)WS_STATE_ENTRY:t(16,7)./gkslist.hWS_ENTRY:T(17,1)=s12ws_id:(0,1),0,32;win:(0,8),32,32;ws:(16,6),64,32;;WS_ENTRY:t(17,1)NORM_TRANS:T(17,2)=s48ntrans:(10,155),0,256;wc_to_ndc:(10,21),256,128;;NORM_TRANS:t(17,2)GKS_STATE_LIST:T(17,3)=s2196event_queue_head:(14,13),0,32;event_queue_tail:(14,13),32,32;CurEvent:(14,12),64,192;level:(10,101),256,32;wsmax:(10,151),288,96;gks_state:(10,111),384,32;openedws:(17,4)=ar(0,1);0;9;(17,1),416,960;activews:(17,5)=ar(0,1);0;9;(17,1),1376,960;\focus_ws:(16,6),2336,32;gks_lnattr:(10,38),2368,224;gks_mkattr:(10,61),2592,224;gks_txattr:(10,142),2816,320;gks_flattr:(10,42),3136,224;gks_chattr:(12,10),3360,288;gks_ptattr:(12,11),3648,192;cur_ntrans:(0,1),3840,32;\wiss_id:(0,1),3872,32;open_mo:(0,1),3904,32;ntrans_list:(17,6)=ar(0,1);0;31;(17,2),3936,12288;ntrans_priority:(17,7)=ar(0,1);0;31;(0,1),16224,1024;cliprec:(10,24),17248,160;gks_open_seg:(0,1),17408,32;gks_pick_id:(0,1),17440,32;gks_err_state:(12,6),17472,32;\gks_err_file:(16,11),17504,32;fontdbdir:(4,8),17536,32;;GKS_STATE_LIST:t(17,3)./gks_errors.h./event.h./metafile.hgksm_item_id:T(20,1)=eGKSM_CGM_ELEMENT:-2,GKSM_UNKNOWN_ITEM:-1,GKSM_END_ITEM:0,GKSM_CLEAR_WORKSTATION:1,GKSM_REDRAW_ALL_SEGMENTS_ON_WORKSTATION:2,GKSM_UPDATE_WORKSTATION:3,GKSM_DEFERRAL_STATE:4,GKSM_MESSAGE:5,\GKSM_ESCAPE:6,GKSM_POLYLINE:11,GKSM_POLYMARKER:12,GKSM_TEXT:13,GKSM_FILL_AREA:14,GKSM_CELLARRAY:15,GKSM_GENERALIZED_DRAWING_PRIMITIVE:16,GKSM_POLYLINE_INDEX:21,\GKSM_LINETYPE:22,GKSM_LINEWIDTH_SCALE_FACTOR:23,GKSM_POLYLINE_COLOUR_INDEX:24,GKSM_POLYMARKER_INDEX:25,GKSM_MARKER_TYPE:26,GKSM_MARKER_SIZE_SCALE_FACTOR:27,GKSM_POLYMARKER_COLOUR_INDEX:28,GKSM_TEXT_INDEX:29,\GKSM_TEXT_FONT_AND_PRECISION:30,GKSM_CHARACTER_EXPANSION_FACTOR:31,GKSM_CHARACTER_SPACING:32,GKSM_TEXT_COLOUR_INDEX:33,GKSM_CHARACTER_VECTORS:34,GKSM_TEXT_PATH:35,GKSM_TEXT_ALIGNMENT:36,GKSM_FILL_AREA_INDEX:37,\GKSM_FILL_AREA_INTERIOR_STYLE:38,GKSM_FILL_AREA_STYLE_INDEX:39,GKSM_FILL_AREA_COLOUR_INDEX:40,GKSM_PATTERN_SIZE:41,GKSM_PATTERN_REFERENCE_POINT:42,GKSM_ASPECT_SOURCE_FLAGS:43,GKSM_PICK_IDENTIFIER:44,GKSM_POLYLINE_REPRESENTATION:51,\GKSM_POLYMARKER_REPRESENTATION:52,GKSM_TEXT_REPRESENTATION:53,GKSM_FILL_AREA_REPRESENTATION:54,GKSM_PATTERN_REPRESENTATION:55,GKSM_COLOUR_REPRESENTATION:56,GKSM_CLIPPING_RECTANGLE:61,GKSM_WORKSTATION_WINDOW:71,GKSM_WORKSTATION_VIEWPORT:72,\GKSM_CREATE_SEGMENT:81,GKSM_CLOSE_SEGMENT:82,GKSM_RENAME_SEGMENT:83,GKSM_DELETE_SEGMENT:84,GKSM_SET_SEGMENT_TRANSFORMATION:91,GKSM_SET_VISIBILITY:92,GKSM_SET_HIGHLIGHTING:93,GKSM_SET_SEGMENT_PRIORITY:94,\GKSM_SET_DETECTABILITY:95,GKSM_USER_ITEM:101,;gksm_item_id:t(20,1).124fake:T(20,2)=s4flag:(0,1),0,32;;XGKSMONE:t(20,2).125fake:T(20,3)=s8item1:(0,1),0,32;item2:(0,1),32,32;;XGKSMTWO:t(20,3).126fake:T(20,4)=s8strlen:(0,1),0,32;string:(4,8),32,32;;XGKSMMESG:t(20,4).127fake:T(20,5)=s8num_pts:(0,1),0,32;pts:(10,125),32,32;;XGKSMGRAPH:t(20,5).128fake:T(20,6)=s16location:(10,35),0,64;strlen:(0,1),64,32;string:(4,8),96,32;;XGKSMTEXT:t(20,6).129fake:T(20,7)=s36ll:(10,35),0,64;ur:(10,35),64,64;lr:(10,35),128,64;dim:(10,36),192,64;colour:(10,2),256,32;;XGKSMCELLARRAY:t(20,7).130fake:T(20,8)=s4size:(0,13),0,32;;XGKSMSIZE:t(20,8).131fake:T(20,9)=s16up:(10,35),0,64;base:(10,35),64,64;;XGKSMCHARVEC:t(20,9).132fake:T(20,10)=s56asf:(20,11)=ar(0,1);0;13;(0,1),0,448;;XGKSMASF:t(20,10).133fake:T(20,12)=s16idx:(0,1),0,32;style:(0,1),32,32;colour:(0,1),64,32;size:(0,13),96,32;;XGKSMLMREP:t(20,12).134fake:T(20,13)=s24idx:(0,1),0,32;font:(0,1),32,32;prec:(0,1),64,32;colour:(0,1),96,32;tx_exp:(0,13),128,32;space:(0,13),160,32;;XGKSMTEXTREP:t(20,13).135fake:T(20,14)=s16idx:(0,1),0,32;intstyle:(0,1),32,32;style:(0,1),64,32;colour:(0,1),96,32;;XGKSMFILLREP:t(20,14).136fake:T(20,15)=s16idx:(0,1),0,32;size:(10,36),32,64;array:(10,2),96,32;;XGKSMPATREP:t(20,15).137fake:T(20,16)=s16idx:(0,1),0,32;red:(0,13),32,32;green:(0,13),64,32;blue:(0,13),96,32;;XGKSMCOLOURREP:t(20,16).138fake:T(20,17)=s16rect:(10,21),0,128;;XGKSMLIMIT:t(20,17).139fake:T(20,18)=s28name:(0,1),0,32;matrix:(20,19)=ar(0,1);0;1;(20,20)=ar(0,1);0;2;(0,13),32,192;;XGKSMSEGTRAN:t(20,18).140fake:T(20,21)=s8name:(0,1),0,32;pri:(0,13),32,32;;XGKSMSEGPRI:t(20,21).141fake:T(20,22)=s16wid:(10,35),0,64;hgt:(10,35),64,64;;XGKSMPATSIZ:t(20,22).142fake:T(20,23)=s8ref:(10,35),0,64;;XGKSMPATREF:t(20,23)XgksNoActiveWs:f(0,1)i:(0,1)XgksAllocActiveWs:f(0,1)ws_id:p(0,1)ws:p(16,6)i:(0,1)XgksDeleteActiveWs:f(0,16)ws_id:p(0,1)i:(0,1)gactivatews:F(0,1)ws_id:p(0,1)ws:(16,6)gdeactivatews:F(0,1)ws_id:p(0,1)ws:(16,6)aspect_flags.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/aspect_flags.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)afsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;57;(0,2)../../port/udposix.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.hgsetasf:F(0,1)asf:p(0,19)=*(10,6)#tmp0:(0,1)XgksInitGksAsf:F(0,1)cellarray.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/cellarray.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;54;(0,2)gcellarray:F(0,1)rect:p(0,19)=*(13,129)dim:p(0,20)=*(13,36)row:p(0,1)colour:p(13,2)pnt:(13,35)i:(0,1)cnt:(0,1)p1:(13,2)p2:(13,2)cell:(16,11)#tmp0:(13,2)nt:(0,21)=*(13,21)nt:(0,21)nt:(0,21)nt:(0,21)#tmp1:(13,2)#tmp2:(13,2)#tmp3:(0,1)colours.o_afsid_CprevDpy_Cncolours_loadcache_rcsid_Xcolours/a/groucho/unidata/ldm/src/xgks/src/lib/colours.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;52;(0,2)gsetcolourrep:F(0,1)ws_id:p(0,1)idx:p(0,1)rep:p(19,8)ws:(19,6)i:(0,1)status:(0,1)ginqcolourrep:F(0,1)ws_id:p(0,1)idx:p(0,1)type:p(13,98)rep:p(19,8)ws:(19,6)status:(0,1)ginqcolourindices:F(0,1)ws_id:p(0,1)indices:p(0,19)=*(13,1)ws:(19,6)i:(0,1)ginqcolourfacil:F(0,1)ws_type:p(7,8)fac:p(0,20)=*(13,28)ewstype:(19,2)#tmp0:(0,1)CprevDpy:S(6,34)Cncolours:S(0,1)Xcolours:S(0,21)=*(6,58)ginqpredcolourrep:F(0,1)ws_type:p(7,8)index:p(0,1)rep:p(19,8)ewstype:(19,2)ws:(19,6)server:(7,8)i:(0,1)dpy:(6,34)#tmp1:(0,1)loadcache:f(0,1)dpy:p(6,34)index:p(0,1)cmap:(0,8)i:(0,1)ncolours:(0,1)clr:(0,21)#tmp2:(0,21)XgksMaxColours:F(0,1)server:p(7,8)i:(0,1)colours:(0,1)dpy:(6,34)#tmp3:(0,1)deferral_ws.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/deferral_ws.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)afsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;56;(0,2)../../port/udposix.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.hgsetdeferst:F(0,1)ws_id:p(0,1)deferral_mode:p(10,32)regen_mode:p(10,33)ws:(16,6)fillarea.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/fillarea.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)afsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;53;(0,2)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.h./fillarea.hXgksInitGksFillArea:F(0,1)XgksInitWssFillArea:F(0,1)ws:p(19,6)i:(0,1)j:(0,1)k:(0,1)gfillarea:F(0,1)num_pts:p(0,1)pts:p(13,125)ndc_pt:(13,125)flarea:(16,11)cnt:(0,1)#tmp0:(13,125)nt:(0,19)=*(13,21)#tmp1:(13,125)#tmp2:(13,125)#tmp3:(13,125)#tmp4:(0,1)gsetfillcolourind:F(0,1)colour:p(0,1)#tmp5:(0,1)gsetfillind:F(0,1)idx:p(0,1)#tmp6:(0,1)gsetfillintstyle:F(0,1)style:p(13,40)#tmp7:(0,1)gsetfillrep:F(0,1)ws_id:p(0,1)idx:p(0,1)rep:p(0,20)=*(13,41)ws:(19,6)gsetfillstyleind:F(0,1)idx:p(0,1)#tmp8:(0,1)gsetpatrefpt:F(0,1)ref:p(13,125)#tmp9:(0,1)gsetpatsize:F(0,1)siz:p(13,125)#tmp10:(0,1)gsetpatrep:F(0,1)ws_id:p(0,1)idx:p(0,1)rep:p(0,21)=*(13,120)ws:(19,6)i:(0,1)j:(0,1)slot:(13,2)#tmp11:(13,2)gdp.o/a/groucho/unidata/ldm/src/xgks/src/lib/gdp.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.hginqavailgdp:F(0,1)type:p(4,8)gdps:p(0,17)=*(10,88)ewstype:(16,2)ginqgdp:F(0,1)type:p(4,8)function:p(0,1)fac:p(0,18)=*(10,86)ewstype:(16,2)g_gdp:F(0,1)npoints:p(0,1)points:p(10,125)function:p(0,1)data:p(0,19)=*(10,93)gks_error.o_afsid_GKSErrorMessages0to200_GKSErrorMessages2000to2000_rcsid_GKSErrorMessages300to309/a/groucho/unidata/ldm/src/xgks/src/lib/gks_error.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)afsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;54;(0,2)../../port/udposix.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.h./gkserrmsg.hGKSErrorMessages0to200:S(21,1)=ar(0,1);0;200;(4,8)GKSErrorMessages300to309:S(21,2)=ar(0,1);0;9;(4,8)GKSErrorMessages2000to2000:S(21,3)=ar(0,1);0;3;(4,8)gemergencyclosegks:F(0,1)i:(0,1)gerrorlog:F(0,1)errnum:p(0,1)funcname:p(10,157)perrfile:p(16,11)fname:(4,8)inqWDT.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/inqWDT.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../../port/string.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/string.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;51;(0,2)ginqavailwstypes:F(0,1)wstypes:p(0,19)=*(16,139)WSTList:V(0,20)=ar(0,1);0;3;(10,8)ginqdisplayspacesize:F(0,1)ws_type:p(10,8)dspsz:p(0,21)=*(16,74)ewstype:(22,2)ginqwscategory:F(0,1)ws_type:p(10,8)cat:p(0,22)=*(16,147)ewstype:(22,2)ginqwsclass:F(0,1)ws_type:p(10,8)class:p(0,23)=*(16,148)ewstype:(22,2)ginqmodwsattr:F(0,1)ws_type:p(10,8)dyn:p(0,24)=*(16,108)ewstype:(22,2)ginqdefdeferst:F(0,1)ws_type:p(10,8)def:p(0,25)=*(16,34)ewstype:(22,2)ginqmaxwssttables:F(0,1)ws_type:p(10,8)tables:p(0,26)=*(16,153)ewstype:(22,2)ginqnumavailinput:F(0,1)ws_type:p(10,8)num:p(0,27)=*(16,110)ewstype:(22,2)ginqwsconntype:F(0,1)ws_id:p(0,1)ct:p(0,28)=*(16,149)ws:(22,6)#tmp0:(0,1)#tmp1:(0,1)ginqwsst:F(0,1)ws_id:p(0,1)state:p(0,29)=*(16,152)ws:(22,6)ginqwsdeferupdatest:F(0,1)ws_id:p(0,1)du:p(0,30)=*(16,150)ws:(22,6)message.o_afsid_tmp_act_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/message.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/string.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/string.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;52;(0,2)gmessage:F(0,1)ws_id:p(0,1)string:p(10,8)ws:(22,6)mesg:(19,11)tmp_os:(16,111)i:(0,1)#tmp0:(0,1)#tmp1:(10,8)tmp_act:S(0,19)=ar(0,1);0;9;(23,1)metafile.o_active_gksmo_recSize_afsid_XgksValidGksMItem_num_cgmo_add_mo_rcsid_num_gksmo_remove_mo_active_cgmo_XgksExecData/a/groucho/unidata/ldm/src/xgks/src/lib/metafile.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h/usr/local/lang/SC1.0/ansi_include/time.htm:T(5,1)=s44tm_sec:(0,1),0,32;tm_min:(0,1),32,32;tm_hour:(0,1),64,32;tm_mday:(0,1),96,32;tm_mon:(0,1),128,32;tm_year:(0,1),160,32;tm_wday:(0,1),192,32;tm_yday:(0,1),224,32;\tm_isdst:(0,1),256,32;tm_zone:(5,2)=*(0,2),288,32;tm_gmtoff:(0,4),320,32;;/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.hu_char:t(0,5)u_short:t(0,6)u_int:t(0,7)u_long:t(0,8)ushort:t(0,6)uint:t(0,7)_physadr_t:T(6,1)=s4r:(6,2)=ar(0,1);0;0;(0,1),0,32;;physadr_t:t(6,3)=*(6,1)label_t:T(6,4)=s8val:(6,5)=ar(0,1);0;1;(0,1),0,64;;label_t:t(6,4)_quad_t:T(6,6)=s8val:(6,7)=ar(0,1);0;1;(0,4),0,64;;quad_t:t(6,6)daddr_t:t(0,4)caddr_t:t(5,2)ino_t:t(0,8)dev_t:t(0,3)off_t:t(0,4)uid_t:t(0,6)gid_t:t(0,6)key_t:t(0,4)addr_t:t(5,2)fd_mask:t(0,4)fd_set:T(6,8)=s32fds_bits:(6,9)=ar(0,1);0;7;(0,4),0,256;;fd_set:t(6,8)/usr/include/unistd.h/usr/include/sys/types.h../../port/string.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/string.h/usr/local/lang/SC1.0/ansi_include/math.hexception:T(14,1)=s32type:(0,1),0,32;name:(5,2),32,32;arg1:(0,14),64,64;arg2:(0,14),128,64;retval:(0,14),192,64;;version:T(14,2)=ec_issue_4:0,ansi_1:1,strict_ansi:2,;_h_val:T(14,3)=u8i:(14,4)=ar(0,1);0;1;(0,8),0,64;d:(0,14),0,64;;_h_val:t(14,3)/usr/local/lang/SC1.0/ansi_include/ctype.h/usr/local/lang/SC1.0/ansi_include/assert.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.h./gksm/gksm.h./cgm/cgm.hrcsid:S(0,17)=ar(0,1);0;53;(0,2)afsid:S(0,18)=ar(0,1);0;10;(0,2)XgksExecData:f(0,1)type:p(0,1)record:p(5,2)ptr1:(0,19)=*(33,2)ptr2:(0,20)=*(33,3)msg:(0,21)=*(33,4)graph:(0,22)=*(33,5)text:(0,23)=*(33,6)size:(0,24)=*(33,8)vec:(0,25)=*(33,9)asf:(0,26)=*(33,10)lmrep:(0,27)=*(33,12)txrep:(0,28)=*(33,13)flrep:(0,29)=*(33,14)patrep:(0,30)=*(33,15)corep:(0,31)=*(33,16)limit:(0,32)=*(33,17)tran:(0,33)=*(33,18)pri:(0,34)=*(33,21)cell:(0,35)=*(33,7)patref:(0,36)=*(33,23)patsiz:(0,37)=*(33,22)primi:(26,11)path:(23,115)inter:(23,40)defmode:(23,32)txfp:(23,96)segattr:(23,134)txalign:(23,118)lnrep:(23,37)mkrep:(23,60)textrep:(23,141)fillrep:(23,41)ptrep:(23,120)colourrep:(23,27)asfs:(23,6)cnt:(0,1)i:(0,1)j:(0,1)pts:(23,125)siz:(23,35)height:(0,13)#tmp0:(0,1)#tmp1:(0,1)#tmp2:(0,1)#tmp3:(0,1)#tmp4:(0,1)#tmp5:(0,1)nt:(0,38)=*(23,21)nt:(0,38)nt:(0,38)nt:(0,38)#tmp6:(23,2)#tmp7:(0,1)nt:(0,38)nt:(0,38)#tmp8:(0,1)#tmp9:(0,1)#tmp10:(0,1)#tmp11:(0,1)#tmp12:(0,1)#tmp13:(0,1)#tmp14:(0,1)#tmp15:(0,1)#tmp16:(0,1)#tmp17:(0,1)#tmp18:(0,1)#tmp19:(0,1)#tmp20:(0,1)XgksValidGksMItem:f(0,1)type:p(0,1)gwritegksm:F(0,1)ws_id:p(0,1)type:p(0,1)length:p(0,1)data:p(5,2)ws:(29,6)mf:(0,39)=*(29,12)#tmp21:(0,40)=*(0,41)=f(0,1)ggetgksm:F(0,1)ws_id:p(0,1)result:p(0,42)=*(23,94)ws:(29,6)greadgksm:F(0,1)ws_id:p(0,1)length:p(0,1)record:p(5,2)istat:(0,1)ws:(29,6)#tmp22:(0,43)=*(0,44)=f(0,1)#tmp23:(0,45)=*(0,46)=f(0,1)recSize:f(0,1)type:p(0,1)ginterpret:F(0,1)recInfo:p(0,42)data:p(5,2)XgksMiOpenWs:F(0,1)ws:p(29,6)status:(0,1)#tmp24:(0,1)#tmp25:(0,45)#tmp26:(0,47)=*(0,48)=f(0,1)XgksMoOpenWs:F(0,1)ws:p(29,6)#tmp27:(0,1)#tmp28:(0,1)XgksMiCloseWs:F(0,1)ws:p(29,6)#tmp29:(0,47)XgksMoCloseWs:F(0,1)ws:p(29,6)#tmp30:(0,49)=*(0,50)=f(0,1)XgksMoClearWs:F(0,1)ws:p(29,6)flag:p(23,25)mf:(0,39)#tmp31:(0,51)=*(18,15)XgksMoReDrawAllSeg:F(0,1)ws:p(29,6)mf:(0,39)#tmp32:(0,52)=*(0,53)=f(0,1)XgksMoUpdateWs:F(0,1)ws:p(29,6)regenflag:p(23,130)mf:(0,39)#tmp33:(0,54)=*(0,55)=f(0,1)XgksMoDeferWs:F(0,1)ws:p(29,6)defer_mode:p(23,32)regen_mode:p(23,33)mf:(0,39)#tmp34:(0,56)=*(0,57)=f(0,1)XgksMoMessage:F(0,1)ws:p(29,6)string:p(5,2)mf:(0,39)#tmp35:(0,58)=*(0,59)=f(0,1)XgksMoGraphicOutputToWs:F(0,1)ws:p(29,6)code:p(0,1)num_pt:p(0,1)pos:p(23,125)mf:(0,39)#tmp36:(0,60)=*(0,61)=f(0,1)XgksMoGraphicOutput:F(0,1)code:p(0,1)num_pt:p(0,1)pos:p(23,125)XgksMoTextToWs:F(0,1)ws:p(29,6)at:p(23,125)string:p(5,2)mf:(0,39)#tmp37:(0,62)=*(0,63)=f(0,1)XgksMoText:F(0,1)at:p(23,125)string:p(5,2)XgksMoCellArrayToWs:F(0,1)ws:p(29,6)ll:p(23,125)ur:p(23,125)lr:p(23,125)row:p(0,1)colour:p(23,2)dim:p(0,64)=*(23,36)mf:(0,39)#tmp38:(0,65)=*(0,66)=f(0,1)XgksMoCellArray:F(0,1)ll:p(23,125)ur:p(23,125)lr:p(23,125)row:p(0,1)colour:p(23,2)dim:p(0,64)XgksMoSetGraphicSizeOnWs:F(0,1)ws:p(29,6)code:p(0,1)size:p(0,14)mf:(0,39)#tmp39:(0,67)=*(0,68)=f(0,1)XgksMoSetGraphicSize:F(0,1)code:p(0,1)size:p(0,14)XgksMoCloseSegOnWs:F(0,1)ws:p(29,6)mf:(0,39)#tmp40:(0,69)=*(0,70)=f(0,1)XgksMoCloseSeg:F(0,1)XgksMoSetGraphicAttrOnWs:F(0,1)ws:p(29,6)code:p(0,1)attr:p(0,1)mf:(0,39)#tmp41:(0,71)=*(0,72)=f(0,1)XgksMoSetGraphicAttr:F(0,1)code:p(0,1)attr:p(0,1)XgksMoSetTextFPOnWs:F(0,1)ws:p(29,6)txfp:p(23,144)mf:(0,39)#tmp42:(0,73)=*(0,74)=f(0,1)XgksMoSetTextFP:F(0,1)txfp:p(23,144)XgksMoSetCharUpOnWs:F(0,1)ws:p(29,6)up:p(23,125)base:p(23,125)mf:(0,39)#tmp43:(0,75)=*(0,76)=f(0,1)XgksMoSetCharUp:F(0,1)XgksMoSetTextPathOnWs:F(0,1)ws:p(29,6)path:p(23,115)mf:(0,39)#tmp44:(0,77)=*(0,78)=f(0,1)XgksMoSetTextPath:F(0,1)path:p(23,115)XgksMoSetTextAlignOnWs:F(0,1)ws:p(29,6)align:p(0,79)=*(23,118)mf:(0,39)#tmp45:(0,80)=*(0,81)=f(0,1)XgksMoSetTextAlign:F(0,1)align:p(0,79)XgksMoSetFillIntStyleOnWs:F(0,1)ws:p(29,6)style:p(23,40)mf:(0,39)#tmp46:(0,82)=*(0,83)=f(0,1)XgksMoSetFillIntStyle:F(0,1)style:p(23,40)XgksMoSetPatSizeOnWs:F(0,1)ws:p(29,6)mf:(0,39)#tmp47:(0,84)=*(0,85)=f(0,1)XgksMoSetPatSize:F(0,1)XgksMoSetPatRefOnWs:F(0,1)ws:p(29,6)mf:(0,39)#tmp48:(0,86)=*(0,87)=f(0,1)XgksMoSetPatRef:F(0,1)XgksMoSetAsfOnWs:F(0,1)ws:p(29,6)mf:(0,39)#tmp49:(0,88)=*(0,89)=f(0,1)XgksMoSetAsf:F(0,1)XgksMoSetLineMarkRep:F(0,1)ws:p(29,6)code:p(0,1)idx:p(0,1)type:p(0,1)size:p(0,14)colour:p(0,1)mf:(0,39)#tmp50:(0,90)=*(0,91)=f(0,1)XgksMoSetTextRep:F(0,1)ws:p(29,6)idx:p(0,1)rep:p(0,92)=*(23,141)mf:(0,39)#tmp51:(0,93)=*(0,94)=f(0,1)XgksMoSetFillRep:F(0,1)ws:p(29,6)idx:p(0,1)rep:p(0,95)=*(23,41)mf:(0,39)#tmp52:(0,96)=*(0,97)=f(0,1)XgksMoSetPatRep:F(0,1)ws:p(29,6)idx:p(0,1)rep:p(0,98)=*(23,120)mf:(0,39)#tmp53:(0,99)=*(0,100)=f(0,1)XgksMoSetColourRep:F(0,1)ws:p(29,6)idx:p(0,1)rep:p(29,8)mf:(0,39)#tmp54:(0,101)=*(0,102)=f(0,1)XgksMoSetClipOnWs:F(0,1)ws:p(29,6)rect:p(0,38)mf:(0,39)#tmp55:(0,103)=*(0,104)=f(0,1)XgksMoSetClip:F(0,1)rect:p(0,38)XgksMoSetLimit:F(0,1)ws:p(29,6)code:p(0,1)rect:p(0,38)mf:(0,39)#tmp56:(0,105)=*(0,106)=f(0,1)XgksMoRenameSeg:F(0,1)old:p(0,1)new:p(0,1)XgksMoSetSegTransOnWs:F(0,1)ws:p(29,6)name:p(0,1)matrix:p(0,107)=*(0,108)=ar(0,1);0;2;(0,13)mf:(0,39)#tmp57:(0,109)=*(0,110)=f(0,1)XgksMoSetSegTrans:F(0,1)name:p(0,1)matrix:p(0,111)=*(0,112)=ar(0,1);0;2;(0,13)XgksMoSetSegAttrOnWs:F(0,1)ws:p(29,6)name:p(0,1)code:p(0,1)attr:p(0,1)mf:(0,39)#tmp58:(0,113)=*(0,114)=f(0,1)XgksMoSetSegVis:F(0,1)name:p(0,1)vis:p(23,133)XgksMoSetSegHiLight:F(0,1)name:p(0,1)hilight:p(23,132)XgksMoSetSegPriOnWs:F(0,1)ws:p(29,6)name:p(0,1)pri:p(0,14)mf:(0,39)#tmp59:(0,115)=*(0,116)=f(0,1)XgksMoSetSegPri:F(0,1)name:p(0,1)pri:p(0,14)XgksMoSetSegDet:F(0,1)name:p(0,1)det:p(23,131)add_mo:f(0,16)mo:p(0,39)list:p(0,39)num:p(23,2)#tmp60:(0,1)remove_mo:f(0,16)mo:p(0,39)list:p(0,39)num:p(23,2)outp:(0,39)XgksMoActivateWs:F(0,1)ws:p(29,6)XgksMoDeactivateWs:F(0,1)ws:p(29,6)XgksInitGksM:F(0,1)active_gksmo:S(0,117)=ar(0,1);0;9;(29,12)active_cgmo:S(0,118)=ar(0,1);0;9;(29,12)num_gksmo:S(0,1)num_cgmo:S(0,1)open_gks.o_XgksInitGksStateList_afsid_XgksInitGksErrorStateList_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/open_gks.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.h./fillarea.h./text.h./polylines.h./polymarkers.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;59;(0,2)gopengks:F(0,1)err_file:p(16,11)memory:p(0,1)gclosegks:F(0,1)XgksInitGksErrorStateList:f(0,16)err_file:p(16,11)XgksInitGksStateList:f(0,16)i:(0,1)xgks_state:G(17,3)open_ws.o_XgksNewWs_XgksOneOpenWs_afsid_XgksAllocNewWs_rcsid_XgksSetWsPtr_XgksDeleteOpenWs/a/groucho/unidata/ldm/src/xgks/src/lib/open_ws.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/string.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/string.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;53;(0,2)XgksOneOpenWs:f(0,1)i:(0,1)XgksDeleteOpenWs:f(0,16)ws_id:p(0,1)i:(0,1)XgksSetWsPtr:f(0,1)ws_id:p(0,1)ws:p(22,6)i:(0,1)XgksAllocNewWs:f(0,1)ws_id:p(0,1)i:(0,1)XgksNewWs:f(22,6)new:(22,6)gopenws:F(0,1)ws_id:p(0,1)connection:p(10,8)ws_type:p(10,8)ws:(22,6)ewstype:(22,2)status:(0,1)#tmp0:(0,1)#tmp1:(0,1)#tmp2:(0,1)#tmp3:(0,1)#tmp4:(10,8)gclosews:F(0,1)ws_id:p(0,1)ws:(22,6)gclearws:F(0,1)ws_id:p(0,1)control_flag:p(16,25)ws:(22,6)XgksValidWsId:F(22,6)ws_id:p(0,1)i:(0,1)XgksWsTypeToEnum:F(22,2)ws_type:p(10,8)#tmp5:(0,1)#tmp6:(0,1)#tmp7:(0,1)XgksWsCategory:F(16,147)ws:p(22,6)XgksXReDrawWs:F(0,1)ws:p(22,6)primi:(19,11)seg_ptr:(18,9)cnt:(0,1)tmp_wsclip:(16,21)tmp_nonsegclip:(16,21)#tmp8:(0,1)#tmp9:(0,1)XgksGReDrawWs:F(0,1)ws:p(22,6)primi:(19,11)seg_ptr:(18,9)tmp_wsclip:(16,21)tmp_nonsegclip:(16,21)XgksOutputToWs:F(0,1)primi:p(19,11)cnt:(0,1)XgksReDrawWs:F(0,1)ws:p(22,6)primi:p(19,11)XgksDrawToWs:F(0,1)ws:p(22,6)primi:p(19,11)XgksAppendWsPrimi:F(0,1)primi:p(19,11)cnt:(0,1)XgksAppendWsClip:F(0,1)rec:p(0,19)=*(16,21)cnt:(0,1)clip:(19,11)polylines.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/polylines.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.h./polylines.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;54;(0,2)XgksInitGksPlines:F(0,1)XgksInitWssPlines:F(0,1)ws:p(19,6)i:(0,1)gpolyline:F(0,1)num_pts:p(0,1)pts:p(13,125)ndc_pt:(13,125)cnt:(0,1)line:(16,11)#tmp0:(13,125)nt:(0,19)=*(13,21)#tmp1:(13,125)#tmp2:(13,125)#tmp3:(13,125)#tmp4:(0,1)gsetlineind:F(0,1)idx:p(0,1)#tmp5:(0,1)gsetlinetype:F(0,1)type:p(0,1)#tmp6:(0,1)gsetlinewidth:F(0,1)width:p(0,13)#tmp7:(0,1)gsetlinecolourind:F(0,1)idx:p(0,1)#tmp8:(0,1)gsetlinerep:F(0,1)ws_id:p(0,1)idx:p(0,1)rep:p(0,20)=*(13,37)ws:(19,6)polymarkers.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/polymarkers.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.h./polymarkers.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;56;(0,2)XgksInitGksPmarkers:F(0,1)XgksInitWssPmarkers:F(0,1)ws:p(19,6)i:(0,1)gpolymarker:F(0,1)num_pts:p(0,1)pts:p(13,125)cnt:(0,1)ndc_pt:(13,125)pmark:(16,11)#tmp0:(13,125)nt:(0,19)=*(13,21)#tmp1:(13,125)#tmp2:(13,125)#tmp3:(13,125)#tmp4:(0,1)gsetmarkersize:F(0,1)size:p(0,13)#tmp5:(0,1)gsetmarkertype:F(0,1)type:p(0,1)#tmp6:(0,1)gsetmarkercolourind:F(0,1)colour:p(0,1)#tmp7:(0,1)gsetmarkerind:F(0,1)idx:p(0,1)#tmp8:(0,1)gsetmarkerrep:F(0,1)ws_id:p(0,1)idx:p(0,1)rep:p(0,20)=*(13,60)ws:(19,6)prmgr.o_afsid_rcsid_XgksFreePrimiStruct/a/groucho/unidata/ldm/src/xgks/src/lib/prmgr.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../../port/string.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/string.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;50;(0,2)XgksNewPrimi:F(19,11)new:(19,11)XgksInsertMesgPrimi:F(0,1)ws:p(22,6)primi:p(19,11)tmp:(10,8)#tmp0:(0,1)XgksInsertPrimi:F(0,1)insert_pt:p(0,19)=*(19,11)elm:p(19,11)XgksDeletePrimi:F(0,1)head:p(19,11)insert_pt:p(0,19)cnt:(19,11)next:(19,11)XgksProcessPrimi:F(0,1)primi:p(19,11)tmp:(19,11)XgksProcessClip:F(0,1)rec:p(0,20)=*(16,21)XgksUpdatePrimiBound:F(0,1)primi:p(19,11)bound:p(0,20)ndc_pt:(16,125)cnt:(0,1)num_pts:(0,1)#tmp1:(16,125)#tmp2:(16,125)#tmp3:(16,125)#tmp4:(16,125)#tmp5:(16,125)#tmp6:(16,125)XgksMiniMax:F(0,1)bound:p(0,20)pt:p(16,125)XgksFreePrimiStruct:f(0,16)primi:p(19,11)XgksDuplicatePrimi:F(19,11)primi:p(19,11)num_pts:(0,1)cnt:(0,1)new_pts:(16,125)old_pts:(16,125)new_primi:(19,11)#tmp7:(0,1)#tmp8:(16,125)#tmp9:(16,125)#tmp10:(0,1)#tmp11:(16,125)#tmp12:(16,125)#tmp13:(0,1)#tmp14:(16,125)#tmp15:(16,125)#tmp16:(0,1)#tmp17:(10,8)#tmp18:(0,1)#tmp19:(10,8)#tmp20:(16,2)segments.o_XgksInSeg_XgksDistPline_XgksOutputSeg_XgksDeleteSeg_XgksDistPmark_XgksSegCopyMo_XgksSegAttrMo_afsid_XgksReDrawAssocWs_XgksDistCellarray_XgksIrgNec_XgksNewSeg_XgksInFill_XgksProcessLocalBound_XgksRestoreMoGksState_XgksSegTransProcessMo_XgksInstallSeg_XgksDelAssocWs_segtable_XgksRestoreMoGksStateOnWs_XgksFindSeg_rcsid_XgksClearWs_XgksRenameWsSeg_XgksDeleteWsSeg_XgksInsertWsSeg_XgksNewWsSeg_XgksDistText_XgksDistFillarea_XgksFindDistance_XgksSegPrimiTran_XgksSegProcessMo_XgksOutPrimiToMo_XgksCheckSegAttr_XgksSetHighLight/a/groucho/unidata/ldm/src/xgks/src/lib/segments.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/stddef.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stddef.h/usr/include/unistd.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../../port/string.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/string.h/usr/local/lang/SC1.0/ansi_include/math.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;54;(0,2)seg_st:T(0,19)=s228assoc_ws:(0,20)=ar(0,1);0;9;(0,1),0,320;segattr:(22,134),320,352;primi_list:(25,10),672,928;primi_insert_pt:(25,11),1600,32;bound:(22,21),1632,128;text_present:(0,1),1760,32;seg_next:(0,21)=*(0,19),1792,32;;SEG_STATE_PTR:t(0,21)SEG_STATE_ENTRY:t(0,19)XgksSegAttrMo:f(0,16)ws:p(28,6)seg:p(0,21)#tmp0:(0,1)#tmp1:(0,1)#tmp2:(0,1)XgksOutPrimiToMo:f(0,16)ws:p(28,6)primi:p(25,11)XgksSegPrimiTran:f(25,11)primi:p(25,11)matrix:p(0,22)=*(0,23)=ar(0,1);0;2;(0,13)cnt:(0,1)num_pts:(0,1)ndc_pt:(22,125)up_pt:(22,35)base_pt:(22,35)trans_primi:V(25,10)trans_pt:V(22,125)string:V(6,8)colour:V(22,2)#tmp3:(0,1)#tmp4:(22,125)#tmp5:(0,1)#tmp6:(22,125)#tmp7:(0,1)#tmp8:(22,125)#tmp9:(22,125)#tmp10:(0,1)#tmp11:(6,8)#tmp12:(22,2)XgksSegTransProcessMo:f(0,16)seg:p(0,21)matrix:p(0,24)=*(0,25)=ar(0,1);0;2;(0,13)wscnt:(0,1)primi:(25,11)XgksSegCopyMo:f(0,16)ws:p(28,6)seg:p(0,21)primi:(25,11)XgksSegProcessMo:f(0,16)ws:p(28,6)seg:p(0,21)primi:(25,11)XgksRestoreMoGksStateOnWs:f(0,16)ws:p(28,6)XgksRestoreMoGksState:f(0,16)cnt:(0,1)XgksCheckSegAttr:f(0,16)old:p(0,26)=*(22,134)new:p(0,26)tranDiff:(0,1)i:(0,1)XgksProcessLocalBound:f(0,16)ws:p(28,6)seg:p(0,21)localbound:p(0,27)=*(22,21)primi:(25,11)ndc_points:(0,28)=ar(0,1);0;4;(22,35)XgksDistPline:f(0,13)ws:p(28,6)seg:p(0,21)primi:p(25,11)pt:p(22,125)line:(0,29)=*(25,1)s:(0,13)s1:(0,13)s2:(0,13)x:(0,13)y:(0,13)X:(0,13)Y:(0,13)x1:(0,13)y_1:(0,13)x2:(0,13)y2:(0,13)DX:(0,13)DY:(0,13)DY1:(0,13)DY2:(0,13)mini:(0,13)dist:(0,13)width:(0,13)pe:(22,35)p:(22,35)i:(0,1)xpe:(17,60)#tmp13:(0,1)#tmp14:(0,14)#tmp15:(0,13)XgksInFill:f(0,13)seg:p(0,21)pt:p(22,125)pe:p(22,125)m:p(0,1)s:(0,13)s1:(0,13)s2:(0,13)x:(0,13)y:(0,13)X:(0,13)Y:(0,13)x1:(0,13)y_1:(0,13)x2:(0,13)y2:(0,13)DX:(0,13)DY:(0,13)DY1:(0,13)DY2:(0,13)DD:(0,13)DD1:(0,13)DD2:(0,13)DD3:(0,13)DD4:(0,13)mini:(0,13)dist:(0,13)ppe:(22,125)p:(22,35)i:(0,1)num:(0,1)#tmp16:(0,13)#tmp17:(0,13)#tmp18:(0,1)#tmp19:(0,13)#tmp20:(22,125)#tmp21:(22,125)#tmp22:(22,125)XgksDistFillarea:f(0,13)seg:p(0,21)primi:p(25,11)pt:p(22,125)fill:(0,30)=*(25,5)mini:(0,13)pe:(22,125)i:(0,1)n:(0,1)XgksDistPmark:f(0,13)ws:p(28,6)seg:p(0,21)primi:p(25,11)pt:p(22,125)mark:(0,31)=*(25,2)x:(0,13)y:(0,13)x1:(0,13)y_1:(0,13)mini:(0,13)dist:(0,13)pe:(22,35)p:(22,35)i:(0,1)size:(0,1)xpe:(17,60)#tmp23:(0,13)#tmp24:(0,1)#tmp25:(0,14)XgksDistText:f(0,13)ws:p(28,6)seg:p(0,21)primi:p(25,11)pt:p(22,125)points:(0,32)=ar(0,1);0;4;(22,35)ptn:(0,33)=ar(0,1);0;4;(22,35)mini:(0,13)XgksDistCellarray:f(0,13)seg:p(0,21)primi:p(25,11)pt:p(22,125)cell:(0,34)=*(25,6)mini:(0,13)pe:(22,125)XgksFindDistance:f(0,13)ws:p(28,6)seg:p(0,21)pid:p(22,2)pt:p(22,125)primi:(25,11)dist_primi:(0,13)mini_primi:(0,13)XgksInSeg:f(0,1)seg:p(0,21)pt:p(22,125)pe:p(22,125)m:p(0,1)trans:(0,35)=ar(0,1);0;4;(22,35)i:(0,1)#tmp26:(22,125)#tmp27:(22,125)XgksDeleteSeg:f(0,21)name:p(0,1)pre:(0,21)cnt:(0,21)XgksDelAssocWs:f(0,1)seg:p(0,21)ws_id:p(0,1)i:(0,1)#tmp28:(0,1)XgksCleanUpWsSegList:F(0,16)ws:p(28,6)cnt:(24,9)pre:(24,9)XgksClearWs:f(0,16)ws:p(28,6)XgksSetHighLight:f(0,1)ws:p(28,6)seg:p(0,21)i:(0,1)ndc:(0,36)=ar(0,1);0;3;(22,35)trans:(0,37)=ar(0,1);0;4;(22,35)xfact:(0,13)yfact:(0,13)localbound:(22,21)XgksOutputSeg:f(0,1)ws:p(28,6)seg:p(0,21)primi:(25,11)tmp_clip:(22,21)XgksReDrawAssocWs:f(0,1)seg:p(0,21)i:(0,1)ws:(28,6)XgksIrgNec:f(0,1)old:p(0,26)new:p(0,26)i:(0,1)XgksNewSeg:f(0,21)new:(0,21)i:(0,1)XgksInstallSeg:f(0,1)seg:p(0,21)XgksNewWsSeg:f(24,9)new:(24,9)XgksInsertWsSeg:f(0,1)ws:p(28,6)seg_id:p(0,1)XgksDeleteWsSeg:f(0,1)ws:p(28,6)seg_id:p(0,1)cnt:(24,9)XgksRenameWsSeg:f(0,1)ws:p(28,6)old:p(0,1)new:p(0,1)ptr:(24,9)XgksFindSeg:f(0,21)name:p(0,1)next:(0,21)XgksInitGksSegments:F(0,1)i:(0,1)gcreateseg:F(0,1)name:p(0,1)seg:(0,21)i:(0,1)wscnt:(0,1)#tmp29:(0,1)#tmp30:(22,2)gcloseseg:F(0,1)#tmp31:(0,1)grenameseg:F(0,1)old:p(0,1)new:p(0,1)seg:(0,21)i:(0,1)#tmp32:(0,1)gdelseg:F(0,1)name:p(0,1)ws:(28,6)seg:(0,21)wscnt:(0,1)#tmp33:(0,1)gdelsegws:F(0,1)ws_id:p(0,1)name:p(0,1)ws:(28,6)seg:(0,21)gsetsegattr:F(0,1)name:p(0,1)segattr:p(0,26)seg:(0,21)ws:(28,6)Redraw:(0,1)Hilighted:(0,1)wscnt:(0,1)old:(22,134)#tmp34:(0,1)gsetpickid:F(0,1)pick_id:p(0,1)#tmp35:(0,1)gassocsegws:F(0,1)ws_id:p(0,1)seg_id:p(0,1)ws:(28,6)wis:(28,6)seg:(0,21)WsSeg:(24,9)i:(0,1)#tmp36:(22,2)gcopysegws:F(0,1)ws_id:p(0,1)seg_id:p(0,1)ws:(28,6)wis:(28,6)seg:(0,21)WsSeg:(24,9)clip:(25,11)primi:(25,11)tran:(25,11)wsclip:(22,21)ginsertseg:F(0,1)seg_id:p(0,1)segtran:p(0,38)=*(0,39)=ar(0,1);0;2;(0,13)wis:(28,6)WsSeg:(24,9)seg:(0,21)primi:(25,11)tran:(25,11)tran2:(25,11)tmp_pickid:(0,1)#tmp37:(0,1)gredrawsegws:F(0,1)ws_id:p(0,1)ws:(28,6)XgksAppendSegPrimi:F(25,11)primi:p(25,11)seg:(0,21)XgksDeleteAllSeg:F(0,1)ws:p(28,6)tmp:(22,33)XgksDelAllMoSeg:F(0,16)ws:p(28,6)i:(0,1)seg:(0,21)XgksDrawSegToWs:F(0,16)ws:p(28,6)seg:(0,21)seglist:(24,9)#tmp38:(22,2)XgksAppendSegClip:F(0,1)seg:(0,21)clip:(25,11)XgksUpdateWsSegList:F(0,16)ws:p(28,6)old:(24,9)cnt:(24,9)pre:(24,9)workSeg:(0,21)oldSeg:(0,21)XgksReDrawSeg:F(0,1)ws:p(28,6)seg_id:p(0,1)seg:(0,21)primi:(25,11)tmp_clip:(22,21)XgksShowPick:F(0,1)ws:p(28,6)seg:p(0,21)XgksFindPickSeg:F(22,112)ws:p(28,6)ndcpt:p(22,125)response:p(0,40)=*(22,113)idev:p(26,11)findpickid:p(0,1)seg:(0,21)foundseg:(0,21)WsSeg:(24,9)segpt:(0,41)=ar(0,1);0;4;(22,35)highest:(0,13)localbound:(22,21)pickid:(0,1)XgksReDrawSegWs:F(0,1)ws:p(28,6)XgksSetLineAttrMo:F(0,1)ws:p(28,6)lnattr:p(0,42)=*(22,38)XgksSetMarkAttrMo:F(0,1)ws:p(28,6)mkattr:p(0,43)=*(22,61)XgksSetTextAttrMo:F(0,1)ws:p(28,6)txattr:p(0,44)=*(22,142)chattr:p(0,45)=*(24,10)tmp:(24,10)XgksSetFillPatAttrMo:F(0,1)ws:p(28,6)flattr:p(0,46)=*(22,42)ptattr:p(0,47)=*(24,11)ginqmodsegattr:F(0,1)ws_type:p(6,8)dyn:p(0,48)=*(22,107)ewstype:(28,2)ginqnameopenseg:F(0,1)seg:p(22,2)ginqsegattr:F(0,1)segattr:p(0,26)seg:(0,21)ginqassocws:F(0,1)seg:p(0,1)asswk:p(0,49)=*(22,1)segp:(0,21)i:(0,1)#tmp39:(22,2)ginqsegnames:F(0,1)segs:p(0,49)seg:(0,21)cnt:(0,1)num_seg:(0,1)#tmp40:(22,2)ginqsegnamesws:F(0,1)ws_id:p(0,1)segs:p(0,49)ws:(28,6)seg:(24,9)i:(0,1)#tmp41:(0,1)#tmp42:(22,2)#tmp43:(0,1)ginqnumsegpri:F(0,1)ws_type:p(6,8)numpri:p(22,2)ewstype:(28,2)ginqcurpickid:F(0,1)pickid:p(22,2)segtable:S(0,50)=ar(0,1);0;127;(0,21)text.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/text.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../../port/string.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/string.h/usr/local/lang/SC1.0/ansi_include/math.hexception:T(8,1)=s32type:(0,1),0,32;name:(8,2)=*(0,2),32,32;arg1:(0,14),64,64;arg2:(0,14),128,64;retval:(0,14),192,64;;version:T(8,3)=ec_issue_4:0,ansi_1:1,strict_ansi:2,;_h_val:T(8,4)=u8i:(8,5)=ar(0,1);0;1;(0,8),0,64;d:(0,14),0,64;;_h_val:t(8,4)./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.h./text.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;49;(0,2)XgksInitGksText:F(0,1)XgksInitWssText:F(0,1)ws:p(23,6)i:(0,1)gsetcharexpan:F(0,1)expansion:p(0,13)#tmp0:(0,1)gsetcharheight:F(0,1)height:p(0,13)#tmp1:(0,1)gsetcharspace:F(0,1)spacing:p(0,13)#tmp2:(0,1)gsetcharup:F(0,1)up_vector:p(17,125)scale:(0,13)#tmp3:(0,1)gsettextalign:F(0,1)txalign:p(0,19)=*(17,118)#tmp4:(0,1)gsettextcolourind:F(0,1)colour:p(0,1)#tmp5:(0,1)gsettextfontprec:F(0,1)txfp:p(17,144)#tmp6:(0,1)gsettextind:F(0,1)idx:p(0,1)#tmp7:(0,1)gsettextpath:F(0,1)path:p(17,115)#tmp8:(0,1)gsettextrep:F(0,1)ws_id:p(0,1)idx:p(0,1)bundle:p(0,20)=*(17,141)ws:(23,6)XgksComputeVec:F(0,1)up_vec:p(17,125)base_vec:p(17,125)wc_window_origin:(17,35)ndc_origin:(17,35)ht:(17,35)wt:(17,35)nt:(0,21)=*(17,21)nt:(0,21)nt:(0,21)gtext:F(0,1)at:p(17,125)string:p(8,2)text:(20,11)#tmp9:(17,125)#tmp10:(0,1)#tmp11:(8,2)nt:(0,21)#tmp12:(0,1)ginqtextextent:F(0,1)ws_id:p(0,1)position:p(17,35)string:p(8,2)extent:p(0,22)=*(17,84)ws:(23,6)text:(20,4)ndc_ptr:(17,125)wc_ptr:(17,125)ndc_points:(0,23)=ar(0,1);0;4;(17,35)#tmp13:(0,1)#tmp14:(0,1)nt:(0,21)nt:(0,21)nt:(0,21)nt:(0,21)nt:(0,21)nt:(0,21)transforms.o_afsid_XgksSetWsViewport_rcsid_XgksSetClip_XgksSetWsWindow_XgksComputeTrans/a/groucho/unidata/ldm/src/xgks/src/lib/transforms.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h/usr/local/lang/SC1.0/ansi_include/math.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;55;(0,2)XgksComputeTrans:f(0,16)trans:p(0,1)nt:(0,19)=*(21,2)XgksSetClip:f(0,16)ind:p(14,23)XgksSetWsWindow:f(0,16)ws:p(20,6)window:p(0,20)=*(14,21)XgksSetWsViewport:f(0,16)ws:p(20,6)viewport:p(0,20)XgksInitGksTrans:F(0,1)i:(0,1)tmp:(14,21)XgksInitWssTrans:F(0,1)ws:p(20,6)gsetwindow:F(0,1)trans:p(0,1)window:p(0,20)#tmp0:(0,1)gsetviewport:F(0,1)trans:p(0,1)viewport:p(0,20)#tmp1:(0,1)gsetviewportinputpri:F(0,1)trans:p(0,1)ref_trans:p(0,1)priority:p(14,146)i:(0,1)j:(0,1)gselntran:F(0,1)trans:p(0,1)#tmp2:(0,1)gsetclip:F(0,1)ind:p(14,23)#tmp3:(0,1)gsetwswindow:F(0,1)ws_id:p(0,1)window:p(0,20)ws:(20,6)gsetwsviewport:F(0,1)ws_id:p(0,1)viewport:p(0,20)ws:(20,6)XgksUnpendPendingTrans:F(0,1)ws:p(20,6)XgksFindNTrans:F(0,1)ndcpt:p(14,125)gloc:p(0,21)=*(14,103)pl:(0,1)win:(0,20)nt:(0,20)nt:(0,20)XgksFindNTransNpts:F(0,1)num:p(0,1)ndcpts:p(14,125)ntrans:p(14,2)wcpts:p(14,125)pl:(0,1)cnt:(0,1)win:(0,20)ndcpt:(14,125)wcpt:(14,125)nt:(0,20)nt:(0,20)XgksUpdateWsClip:F(0,1)ws:p(20,6)bound:p(0,20)XgksWsWinInterset:F(0,1)ws:p(20,6)v:p(0,20)clip:p(0,20)w:(0,20)#tmp4:(0,13)#tmp5:(0,13)#tmp6:(0,13)#tmp7:(0,13)gevaltran:F(0,1)ppoint:p(14,125)pshift:p(14,125)angle:p(0,13)pscale:p(14,125)coord:p(14,30)result:p(0,22)=*(0,23)=ar(0,1);0;2;(0,13)ndc_ref:(14,35)ndc_shift:(14,35)wc_org:(14,35)ndc_org:(14,35)c:(0,14)s:(0,14)nt:(0,20)nt:(0,20)nt:(0,20)gaccumtran:F(0,1)segtran:p(0,24)=*(0,25)=ar(0,1);0;2;(0,13)ppoint:p(14,125)pshift:p(14,125)angle:p(0,13)pscale:p(14,125)coord:p(14,30)result:p(0,26)=*(0,27)=ar(0,1);0;2;(0,13)ndc_ref:(14,35)ndc_shift:(14,35)wc_org:(14,35)ndc_org:(14,35)c:(0,14)s:(0,14)nt:(0,20)nt:(0,20)nt:(0,20)umalloc.o/a/groucho/unidata/ldm/src/xgks/src/lib/umalloc.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../../port/signal.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/signal.hsig_atomic_t:t(0,1)/usr/include/sys/signal.h/usr/include/vm/faultcode.hsigvec:T(8,1)=s12sv_handler:(8,2)=*(8,3)=f(0,16),0,32;sv_mask:(0,1),32,32;sv_flags:(0,1),64,32;;sigstack:T(8,4)=s8ss_sp:(8,5)=*(0,2),0,32;ss_onstack:(0,1),32,32;;sigcontext:T(8,6)=s2144sc_onstack:(0,1),0,32;sc_mask:(0,1),32,32;sc_sp:(0,1),64,32;sc_pc:(0,1),96,32;sc_npc:(0,1),128,32;sc_psr:(0,1),160,32;sc_g1:(0,1),192,32;sc_o0:(0,1),224,32;\sc_wbcnt:(0,1),256,32;sc_spbuf:(8,7)=ar(0,1);0;30;(8,5),288,992;sc_wbuf:(8,8)=ar(0,1);0;30;(8,9)=ar(0,1);0;15;(0,1),1280,15872;;/usr/include/sys/stdtypes.hsigaction:T(8,10)=s12sa_handler:(8,11)=*(8,12)=f(0,16),0,32;sa_mask:(0,1),32,32;sa_flags:(0,1),64,32;;/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.humalloc:F(1,1)size:p(0,1)ptr:(1,1)block_set:(0,1)previous_set:(0,1)urealloc:F(1,1)p:p(1,1)size:p(0,1)ptr:(1,1)block_set:(0,1)previous_set:(0,1)ufree:F(0,16)ptr:p(1,1)block_set:(0,1)previous_set:(0,1)update.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/update.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;51;(0,2)gupdatews:F(0,1)ws_id:p(0,1)regenflag:p(13,130)ws:(19,6)cgmi.o_mi_mesg_mi_item_mi_rect_mi_real32fx_mi_int16_mi_graph_mi_octet_gksm_iasf_mi_direct_colors_mi_uint16_mi_string_mi_header_int16_to_norm_rcsid_mi_parameters_mi_pcw_mi_cellrow_ingest_charvec/a/groucho/unidata/ldm/src/xgks/src/lib/cgm/cgmi.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h../../../port/udposix.hvoidp:t(4,1)=*(0,16)/usr/local/lang/SC1.0/ansi_include/stdio.h../../../port/stddef.h../../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stddef.h../../../port/stdlib.h../../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h/usr/local/lang/SC1.0/ansi_include/time.htm:T(12,1)=s44tm_sec:(0,1),0,32;tm_min:(0,1),32,32;tm_hour:(0,1),64,32;tm_mday:(0,1),96,32;tm_mon:(0,1),128,32;tm_year:(0,1),160,32;tm_wday:(0,1),192,32;tm_yday:(0,1),224,32;\tm_isdst:(0,1),256,32;tm_zone:(1,8),288,32;tm_gmtoff:(0,4),320,32;;/usr/include/sys/utsname.hutsname:T(13,1)=s101sysname:(13,2)=ar(0,1);0;8;(0,2),0,72;nodename:(13,3)=ar(0,1);0;8;(0,2),72,72;nodeext:(13,4)=ar(0,1);0;55;(0,2),144,448;release:(13,5)=ar(0,1);0;8;(0,2),592,72;version:(13,6)=ar(0,1);0;8;(0,2),664,72;machine:(13,7)=ar(0,1);0;8;(0,2),736,72;;/usr/include/unistd.h/usr/include/sys/types.h../../../port/string.h../../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/string.h/usr/local/lang/SC1.0/ansi_include/math.h/usr/local/lang/SC1.0/ansi_include/assert.h/usr/local/lang/SC1.0/ansi_include/limits.h../gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/openwin/include/X11/X.h_XExtData:T(23,1)=s16number:(0,1),0,32;next:(23,2)=*(23,1),32,32;free_private:(23,3)=*(23,4)=f(0,1),64,32;private_data:(1,8),96,32;;XExtData:t(23,1).2fake:T(23,5)=s16extension:(0,1),0,32;major_opcode:(0,1),32,32;first_event:(0,1),64,32;first_error:(0,1),96,32;;XExtCodes:t(23,5)_XExten:T(23,6)=s60next:(23,7)=*(23,6),0,32;codes:(23,5),32,128;create_GC:(23,8)=*(23,9)=f(0,1),160,32;copy_GC:(23,10)=*(23,11)=f(0,1),192,32;flush_GC:(23,12)=*(23,13)=f(0,1),224,32;free_GC:(23,14)=*(23,15)=f(0,1),256,32;create_Font:(23,16)=*(23,17)=f(0,1),288,32;free_Font:(23,18)=*(23,19)=f(0,1),320,32;\close_display:(23,20)=*(23,21)=f(0,1),352,32;error:(23,22)=*(23,23)=f(0,1),384,32;error_string:(23,24)=*(23,25)=f(1,8),416,32;name:(1,8),448,32;;_XExtension:t(23,6).3fake:T(23,26)=s12depth:(0,1),0,32;bits_per_pixel:(0,1),32,32;scanline_pad:(0,1),64,32;;XPixmapFormatValues:t(23,26).4fake:T(23,27)=s92function:(0,1),0,32;plane_mask:(0,8),32,32;foreground:(0,8),64,32;background:(0,8),96,32;line_width:(0,1),128,32;line_style:(0,1),160,32;cap_style:(0,1),192,32;join_style:(0,1),224,32;\fill_style:(0,1),256,32;fill_rule:(0,1),288,32;arc_mode:(0,1),320,32;tile:(0,8),352,32;stipple:(0,8),384,32;ts_x_origin:(0,1),416,32;ts_y_origin:(0,1),448,32;font:(0,8),480,32;\subwindow_mode:(0,1),512,32;graphics_exposures:(0,1),544,32;clip_x_origin:(0,1),576,32;clip_y_origin:(0,1),608,32;clip_mask:(0,8),640,32;dash_offset:(0,1),672,32;dashes:(0,2),704,8;;XGCValues:t(23,27)_XGC:T(23,28)=s112ext_data:(23,2),0,32;gid:(0,8),32,32;rects:(0,1),64,32;dashes:(0,1),96,32;dirty:(0,8),128,32;values:(23,27),160,736;;GC:t(23,29)=*(23,28).5fake:T(23,30)=s32ext_data:(23,2),0,32;visualid:(0,8),32,32;class:(0,1),64,32;red_mask:(0,8),96,32;green_mask:(0,8),128,32;blue_mask:(0,8),160,32;bits_per_rgb:(0,1),192,32;map_entries:(0,1),224,32;;Visual:t(23,30).6fake:T(23,31)=s12depth:(0,1),0,32;nvisuals:(0,1),32,32;visuals:(23,32)=*(23,30),64,32;;Depth:t(23,31).7fake:T(23,33)=s80ext_data:(23,2),0,32;display:(23,34)=*(23,35)=xs_XDisplay:,32,32;root:(0,8),64,32;width:(0,1),96,32;height:(0,1),128,32;mwidth:(0,1),160,32;mheight:(0,1),192,32;ndepths:(0,1),224,32;\depths:(23,36)=*(23,31),256,32;root_depth:(0,1),288,32;root_visual:(23,32),320,32;default_gc:(23,29),352,32;cmap:(0,8),384,32;white_pixel:(0,8),416,32;black_pixel:(0,8),448,32;max_maps:(0,1),480,32;\min_maps:(0,1),512,32;backing_store:(0,1),544,32;save_unders:(0,1),576,32;root_input_mask:(0,4),608,32;;Screen:t(23,33).8fake:T(23,37)=s16ext_data:(23,2),0,32;depth:(0,1),32,32;bits_per_pixel:(0,1),64,32;scanline_pad:(0,1),96,32;;ScreenFormat:t(23,37).9fake:T(23,38)=s60background_pixmap:(0,8),0,32;background_pixel:(0,8),32,32;border_pixmap:(0,8),64,32;border_pixel:(0,8),96,32;bit_gravity:(0,1),128,32;win_gravity:(0,1),160,32;backing_store:(0,1),192,32;backing_planes:(0,8),224,32;\backing_pixel:(0,8),256,32;save_under:(0,1),288,32;event_mask:(0,4),320,32;do_not_propagate_mask:(0,4),352,32;override_redirect:(0,1),384,32;colormap:(0,8),416,32;cursor:(0,8),448,32;;XSetWindowAttributes:t(23,38).10fake:T(23,39)=s92x:(0,1),0,32;y:(0,1),32,32;width:(0,1),64,32;height:(0,1),96,32;border_width:(0,1),128,32;depth:(0,1),160,32;visual:(23,32),192,32;root:(0,8),224,32;\class:(0,1),256,32;bit_gravity:(0,1),288,32;win_gravity:(0,1),320,32;backing_store:(0,1),352,32;backing_planes:(0,8),384,32;backing_pixel:(0,8),416,32;save_under:(0,1),448,32;colormap:(0,8),480,32;\map_installed:(0,1),512,32;map_state:(0,1),544,32;all_event_masks:(0,4),576,32;your_event_mask:(0,4),608,32;do_not_propagate_mask:(0,4),640,32;override_redirect:(0,1),672,32;screen:(23,40)=*(23,33),704,32;;XWindowAttributes:t(23,39).11fake:T(23,41)=s12family:(0,1),0,32;length:(0,1),32,32;address:(1,8),64,32;;XHostAddress:t(23,41)funcs:T(23,42)=s24create_image:(23,43)=*(23,44)=f(23,45)=*(23,46)=xs_XImage:,0,32;destroy_image:(23,47)=*(23,48)=f(0,1),32,32;get_pixel:(23,49)=*(23,50)=f(0,8),64,32;put_pixel:(23,51)=*(23,52)=f(0,1),96,32;sub_image:(23,53)=*(23,54)=f(23,45),128,32;add_pixel:(23,55)=*(23,56)=f(0,1),160,32;;_XImage:T(23,46)=s88width:(0,1),0,32;height:(0,1),32,32;xoffset:(0,1),64,32;format:(0,1),96,32;data:(1,8),128,32;byte_order:(0,1),160,32;bitmap_unit:(0,1),192,32;bitmap_bit_order:(0,1),224,32;\bitmap_pad:(0,1),256,32;depth:(0,1),288,32;bytes_per_line:(0,1),320,32;bits_per_pixel:(0,1),352,32;red_mask:(0,8),384,32;green_mask:(0,8),416,32;blue_mask:(0,8),448,32;obdata:(1,8),480,32;\f:(23,42),512,192;;XImage:t(23,46).12fake:T(23,57)=s28x:(0,1),0,32;y:(0,1),32,32;width:(0,1),64,32;height:(0,1),96,32;border_width:(0,1),128,32;sibling:(0,8),160,32;stack_mode:(0,1),192,32;;XWindowChanges:t(23,57).13fake:T(23,58)=s12pixel:(0,8),0,32;red:(0,6),32,16;green:(0,6),48,16;blue:(0,6),64,16;flags:(0,2),80,8;pad:(0,2),88,8;;XColor:t(23,58).14fake:T(23,59)=s8x1:(0,3),0,16;y1:(0,3),16,16;x2:(0,3),32,16;y2:(0,3),48,16;;XSegment:t(23,59).15fake:T(23,60)=s4x:(0,3),0,16;y:(0,3),16,16;;XPoint:t(23,60).16fake:T(23,61)=s8x:(0,3),0,16;y:(0,3),16,16;width:(0,6),32,16;height:(0,6),48,16;;XRectangle:t(23,61).17fake:T(23,62)=s12x:(0,3),0,16;y:(0,3),16,16;width:(0,6),32,16;height:(0,6),48,16;angle1:(0,3),64,16;angle2:(0,3),80,16;;XArc:t(23,62).18fake:T(23,63)=s32key_click_percent:(0,1),0,32;bell_percent:(0,1),32,32;bell_pitch:(0,1),64,32;bell_duration:(0,1),96,32;led:(0,1),128,32;led_mode:(0,1),160,32;key:(0,1),192,32;auto_repeat_mode:(0,1),224,32;;XKeyboardControl:t(23,63).19fake:T(23,64)=s56key_click_percent:(0,1),0,32;bell_percent:(0,1),32,32;bell_pitch:(0,7),64,32;bell_duration:(0,7),96,32;led_mask:(0,8),128,32;global_auto_repeat:(0,1),160,32;auto_repeats:(23,65)=ar(0,1);0;31;(0,2),192,256;;XKeyboardState:t(23,64).20fake:T(23,66)=s8time:(0,8),0,32;x:(0,3),32,16;y:(0,3),48,16;;XTimeCoord:t(23,66).21fake:T(23,67)=s8max_keypermod:(0,1),0,32;modifiermap:(5,2),32,32;;XModifierKeymap:t(23,67)_DisplayAtoms:T(23,68)=s24text:(0,8),0,32;wm_state:(0,8),32,32;wm_protocols:(0,8),64,32;wm_save_yourself:(0,8),96,32;wm_change_state:(0,8),128,32;wm_colormap_windows:(0,8),160,32;;.22fake:T(23,69)=s12sequence_number:(0,4),0,32;old_handler:(23,70)=*(23,71)=f(0,1),32,32;succeeded:(0,1),64,32;;_XDisplay:T(23,35)=s1252ext_data:(23,2),0,32;next:(23,34),32,32;fd:(0,1),64,32;lock:(0,1),96,32;proto_major_version:(0,1),128,32;proto_minor_version:(0,1),160,32;vendor:(1,8),192,32;resource_base:(0,4),224,32;\resource_mask:(0,4),256,32;resource_id:(0,4),288,32;resource_shift:(0,1),320,32;resource_alloc:(23,72)=*(23,73)=f(0,8),352,32;byte_order:(0,1),384,32;bitmap_unit:(0,1),416,32;bitmap_pad:(0,1),448,32;bitmap_bit_order:(0,1),480,32;\nformats:(0,1),512,32;pixmap_format:(23,74)=*(23,37),544,32;vnumber:(0,1),576,32;release:(0,1),608,32;head:(23,75)=*(23,76)=xs_XSQEvent:,640,32;tail:(23,75),672,32;qlen:(0,1),704,32;last_request_read:(0,8),736,32;\request:(0,8),768,32;last_req:(1,8),800,32;buffer:(1,8),832,32;bufptr:(1,8),864,32;bufmax:(1,8),896,32;max_request_size:(0,7),928,32;db:(23,77)=*(23,78)=xs_XrmHashBucketRec:,960,32;synchandler:(23,79)=*(23,80)=f(0,1),992,32;\display_name:(1,8),1024,32;default_screen:(0,1),1056,32;nscreens:(0,1),1088,32;screens:(23,40),1120,32;motion_buffer:(0,8),1152,32;current:(0,8),1184,32;min_keycode:(0,1),1216,32;max_keycode:(0,1),1248,32;\keysyms:(23,81)=*(0,8),1280,32;modifiermap:(23,82)=*(23,67),1312,32;keysyms_per_keycode:(0,1),1344,32;xdefaults:(1,8),1376,32;scratch_buffer:(1,8),1408,32;scratch_length:(0,8),1440,32;ext_number:(0,1),1472,32;ext_procs:(23,7),1504,32;\event_vec:(23,83)=ar(0,1);0;127;(23,84)=*(23,85)=f(0,1),1536,4096;wire_vec:(23,86)=ar(0,1);0;127;(23,87)=*(23,88)=f(0,1),5632,4096;lock_meaning:(0,8),9728,32;key_bindings:(23,89)=*(23,90)=xsXKeytrans:,9760,32;cursor_font:(0,8),9792,32;atoms:(23,91)=*(23,68),9824,32;reconfigure_wm_window:(23,69),9856,96;flags:(0,8),9952,32;\mode_switch:(0,7),9984,32;;Display:t(23,35).23fake:T(23,92)=s60type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;window:(0,8),128,32;root:(0,8),160,32;subwindow:(0,8),192,32;time:(0,8),224,32;\x:(0,1),256,32;y:(0,1),288,32;x_root:(0,1),320,32;y_root:(0,1),352,32;state:(0,7),384,32;keycode:(0,7),416,32;same_screen:(0,1),448,32;;XKeyEvent:t(23,92)XKeyPressedEvent:t(23,92)XKeyReleasedEvent:t(23,92).24fake:T(23,93)=s60type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;window:(0,8),128,32;root:(0,8),160,32;subwindow:(0,8),192,32;time:(0,8),224,32;\x:(0,1),256,32;y:(0,1),288,32;x_root:(0,1),320,32;y_root:(0,1),352,32;state:(0,7),384,32;button:(0,7),416,32;same_screen:(0,1),448,32;;XButtonEvent:t(23,93)XButtonPressedEvent:t(23,93)XButtonReleasedEvent:t(23,93).25fake:T(23,94)=s60type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;window:(0,8),128,32;root:(0,8),160,32;subwindow:(0,8),192,32;time:(0,8),224,32;\x:(0,1),256,32;y:(0,1),288,32;x_root:(0,1),320,32;y_root:(0,1),352,32;state:(0,7),384,32;is_hint:(0,2),416,8;same_screen:(0,1),448,32;;XMotionEvent:t(23,94)XPointerMovedEvent:t(23,94).26fake:T(23,95)=s68type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;window:(0,8),128,32;root:(0,8),160,32;subwindow:(0,8),192,32;time:(0,8),224,32;\x:(0,1),256,32;y:(0,1),288,32;x_root:(0,1),320,32;y_root:(0,1),352,32;mode:(0,1),384,32;detail:(0,1),416,32;same_screen:(0,1),448,32;focus:(0,1),480,32;\state:(0,7),512,32;;XCrossingEvent:t(23,95)XEnterWindowEvent:t(23,95)XLeaveWindowEvent:t(23,95).27fake:T(23,96)=s28type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;window:(0,8),128,32;mode:(0,1),160,32;detail:(0,1),192,32;;XFocusChangeEvent:t(23,96)XFocusInEvent:t(23,96)XFocusOutEvent:t(23,96).28fake:T(23,97)=s52type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;window:(0,8),128,32;key_vector:(23,98)=ar(0,1);0;31;(0,2),160,256;;XKeymapEvent:t(23,97).29fake:T(23,99)=s40type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;window:(0,8),128,32;x:(0,1),160,32;y:(0,1),192,32;width:(0,1),224,32;\height:(0,1),256,32;count:(0,1),288,32;;XExposeEvent:t(23,99).30fake:T(23,100)=s48type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;drawable:(0,8),128,32;x:(0,1),160,32;y:(0,1),192,32;width:(0,1),224,32;\height:(0,1),256,32;count:(0,1),288,32;major_code:(0,1),320,32;minor_code:(0,1),352,32;;XGraphicsExposeEvent:t(23,100).31fake:T(23,101)=s28type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;drawable:(0,8),128,32;major_code:(0,1),160,32;minor_code:(0,1),192,32;;XNoExposeEvent:t(23,101).32fake:T(23,102)=s24type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;window:(0,8),128,32;state:(0,1),160,32;;XVisibilityEvent:t(23,102).33fake:T(23,103)=s48type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;parent:(0,8),128,32;window:(0,8),160,32;x:(0,1),192,32;y:(0,1),224,32;\width:(0,1),256,32;height:(0,1),288,32;border_width:(0,1),320,32;override_redirect:(0,1),352,32;;XCreateWindowEvent:t(23,103).34fake:T(23,104)=s24type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;event:(0,8),128,32;window:(0,8),160,32;;XDestroyWindowEvent:t(23,104).35fake:T(23,105)=s28type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;event:(0,8),128,32;window:(0,8),160,32;from_configure:(0,1),192,32;;XUnmapEvent:t(23,105).36fake:T(23,106)=s28type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;event:(0,8),128,32;window:(0,8),160,32;override_redirect:(0,1),192,32;;XMapEvent:t(23,106).37fake:T(23,107)=s24type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;parent:(0,8),128,32;window:(0,8),160,32;;XMapRequestEvent:t(23,107).38fake:T(23,108)=s40type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;event:(0,8),128,32;window:(0,8),160,32;parent:(0,8),192,32;x:(0,1),224,32;\y:(0,1),256,32;override_redirect:(0,1),288,32;;XReparentEvent:t(23,108).39fake:T(23,109)=s52type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;event:(0,8),128,32;window:(0,8),160,32;x:(0,1),192,32;y:(0,1),224,32;\width:(0,1),256,32;height:(0,1),288,32;border_width:(0,1),320,32;above:(0,8),352,32;override_redirect:(0,1),384,32;;XConfigureEvent:t(23,109).40fake:T(23,110)=s32type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;event:(0,8),128,32;window:(0,8),160,32;x:(0,1),192,32;y:(0,1),224,32;;XGravityEvent:t(23,110).41fake:T(23,111)=s28type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;window:(0,8),128,32;width:(0,1),160,32;height:(0,1),192,32;;XResizeRequestEvent:t(23,111).42fake:T(23,112)=s56type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;parent:(0,8),128,32;window:(0,8),160,32;x:(0,1),192,32;y:(0,1),224,32;\width:(0,1),256,32;height:(0,1),288,32;border_width:(0,1),320,32;above:(0,8),352,32;detail:(0,1),384,32;value_mask:(0,8),416,32;;XConfigureRequestEvent:t(23,112).43fake:T(23,113)=s28type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;event:(0,8),128,32;window:(0,8),160,32;place:(0,1),192,32;;XCirculateEvent:t(23,113).44fake:T(23,114)=s28type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;parent:(0,8),128,32;window:(0,8),160,32;place:(0,1),192,32;;XCirculateRequestEvent:t(23,114).45fake:T(23,115)=s32type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;window:(0,8),128,32;atom:(0,8),160,32;time:(0,8),192,32;state:(0,1),224,32;;XPropertyEvent:t(23,115).46fake:T(23,116)=s28type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;window:(0,8),128,32;selection:(0,8),160,32;time:(0,8),192,32;;XSelectionClearEvent:t(23,116).47fake:T(23,117)=s40type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;owner:(0,8),128,32;requestor:(0,8),160,32;selection:(0,8),192,32;target:(0,8),224,32;\property:(0,8),256,32;time:(0,8),288,32;;XSelectionRequestEvent:t(23,117).48fake:T(23,118)=s36type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;requestor:(0,8),128,32;selection:(0,8),160,32;target:(0,8),192,32;property:(0,8),224,32;\time:(0,8),256,32;;XSelectionEvent:t(23,118).49fake:T(23,119)=s32type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;window:(0,8),128,32;colormap:(0,8),160,32;new:(0,1),192,32;state:(0,1),224,32;;XColormapEvent:t(23,119).51fake:T(23,120)=u20b:(23,121)=ar(0,1);0;19;(0,2),0,160;s:(23,122)=ar(0,1);0;9;(0,3),0,160;l:(23,123)=ar(0,1);0;4;(0,4),0,160;;.50fake:T(23,124)=s48type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;window:(0,8),128,32;message_type:(0,8),160,32;format:(0,1),192,32;data:(23,120),224,160;;XClientMessageEvent:t(23,124).52fake:T(23,125)=s32type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;window:(0,8),128,32;request:(0,1),160,32;first_keycode:(0,1),192,32;count:(0,1),224,32;;XMappingEvent:t(23,125).53fake:T(23,126)=s20type:(0,1),0,32;display:(23,34),32,32;resourceid:(0,8),64,32;serial:(0,8),96,32;error_code:(0,5),128,8;request_code:(0,5),136,8;minor_code:(0,5),144,8;;XErrorEvent:t(23,126).54fake:T(23,127)=s20type:(0,1),0,32;serial:(0,8),32,32;send_event:(0,1),64,32;display:(23,34),96,32;window:(0,8),128,32;;XAnyEvent:t(23,127)_XEvent:T(23,128)=u96type:(0,1),0,32;xany:(23,127),0,160;xkey:(23,92),0,480;xbutton:(23,93),0,480;xmotion:(23,94),0,480;xcrossing:(23,95),0,544;xfocus:(23,96),0,224;xexpose:(23,99),0,320;\xgraphicsexpose:(23,100),0,384;xnoexpose:(23,101),0,224;xvisibility:(23,102),0,192;xcreatewindow:(23,103),0,384;xdestroywindow:(23,104),0,192;xunmap:(23,105),0,224;xmap:(23,106),0,224;xmaprequest:(23,107),0,192;\xreparent:(23,108),0,320;xconfigure:(23,109),0,416;xgravity:(23,110),0,256;xresizerequest:(23,111),0,224;xconfigurerequest:(23,112),0,448;xcirculate:(23,113),0,224;xcirculaterequest:(23,114),0,224;xproperty:(23,115),0,256;\xselectionclear:(23,116),0,224;xselectionrequest:(23,117),0,320;xselection:(23,118),0,288;xcolormap:(23,119),0,256;xclient:(23,124),0,384;xmapping:(23,125),0,256;xerror:(23,126),0,160;xkeymap:(23,97),0,416;\pad:(23,129)=ar(0,1);0;23;(0,4),0,768;;XEvent:t(23,128)_XSQEvent:T(23,76)=s100next:(23,75),0,32;event:(23,128),32,768;;_XQEvent:t(23,76).55fake:T(23,130)=s12lbearing:(0,3),0,16;rbearing:(0,3),16,16;width:(0,3),32,16;ascent:(0,3),48,16;descent:(0,3),64,16;attributes:(0,6),80,16;;XCharStruct:t(23,130).56fake:T(23,131)=s8name:(0,8),0,32;card32:(0,8),32,32;;XFontProp:t(23,131).57fake:T(23,132)=s80ext_data:(23,2),0,32;fid:(0,8),32,32;direction:(0,7),64,32;min_char_or_byte2:(0,7),96,32;max_char_or_byte2:(0,7),128,32;min_byte1:(0,7),160,32;max_byte1:(0,7),192,32;all_chars_exist:(0,1),224,32;\default_char:(0,7),256,32;n_properties:(0,1),288,32;properties:(23,133)=*(23,131),320,32;min_bounds:(23,130),352,96;max_bounds:(23,130),448,96;per_char:(23,134)=*(23,130),544,32;ascent:(0,1),576,32;descent:(0,1),608,32;;XFontStruct:t(23,132).58fake:T(23,135)=s16chars:(1,8),0,32;nchars:(0,1),32,32;delta:(0,1),64,32;font:(0,8),96,32;;XTextItem:t(23,135).59fake:T(23,136)=s2byte1:(0,5),0,8;byte2:(0,5),8,8;;XChar2b:t(23,136).60fake:T(23,137)=s16chars:(23,138)=*(23,136),0,32;nchars:(0,1),32,32;delta:(0,1),64,32;font:(0,8),96,32;;XTextItem16:t(23,137).61fake:T(23,139)=u4display:(23,34),0,32;gc:(23,29),0,32;visual:(23,32),0,32;screen:(23,40),0,32;pixmap_format:(23,74),0,32;font:(23,140)=*(23,132),0,32;;XEDataObject:t(23,139)XErrorHandler:t(23,141)=*(23,142)=f(0,1)XIOErrorHandler:t(23,143)=*(23,144)=f(0,1)/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h../xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.hGint:t(0,1)Glong:t(0,1)Gintlist:T(28,1)=s8number:(0,1),0,32;integers:(28,2)=*(0,1),32,32;;Gintlist:t(28,1)Gchar:t(0,2)Gfloat:t(0,13)Gredraw:T(28,3)=eGRD_GKS:0,GRD_X:1,;Gredraw:t(28,3)Gacf:T(28,4)=eGCURRENT:0,GSPECIFIED:1,;Gacf:t(28,4)Gasf:T(28,5)=eGBUNDLED:0,GINDIVIDUAL:1,;Gasf:t(28,5)Gasfs:T(28,6)=s52ln_type:(28,5),0,32;ln_width:(28,5),32,32;ln_colour:(28,5),64,32;mk_type:(28,5),96,32;mk_size:(28,5),128,32;mk_colour:(28,5),160,32;tx_fp:(28,5),192,32;tx_exp:(28,5),224,32;\tx_space:(28,5),256,32;tx_colour:(28,5),288,32;fl_inter:(28,5),320,32;fl_style:(28,5),352,32;fl_colour:(28,5),384,32;;Gasfs:t(28,6)Gattrs:T(28,7)=eGPOLYLINE:0,GPOLYMARKER:1,GTEXT:2,GFILLAREA:3,;Gattrs:t(28,7)Gcstat:T(28,8)=eGC_OK:0,GC_NOCHOICE:1,GC_NONE:2,;Gcstat:t(28,8)Gchoice:T(28,9)=s8status:(28,8),0,32;choice:(0,1),32,32;;Gchoice:t(28,9)Gprflag:T(28,10)=eGPROFF:0,GPRON:1,;Gprflag:t(28,10).70fake:T(28,11)=s4data:(1,8),0,32;;.71fake:T(28,12)=s12number:(0,1),0,32;enable:(28,13)=*(28,10),32,32;data:(1,8),64,32;;.72fake:T(28,14)=s12number:(0,1),0,32;strings:(28,15)=*(1,8),32,32;data:(1,8),64,32;;.73fake:T(28,16)=s12number:(0,1),0,32;strings:(28,15),32,32;data:(1,8),64,32;;.74fake:T(28,17)=s16seg:(0,1),0,32;number:(0,1),32,32;pickids:(28,2),64,32;data:(1,8),96,32;;Gchoicerec:T(28,18)=u16pet1:(28,11),0,32;pet2:(28,12),0,96;pet3:(28,14),0,96;pet4:(28,16),0,96;pet5:(28,17),0,128;;Gchoicerec:t(28,18)Gimode:T(28,19)=eGREQUEST:0,GSAMPLE:1,GEVENT:2,;Gimode:t(28,19)Gesw:T(28,20)=eGECHO:0,GNOECHO:1,;Gesw:t(28,20)Glimit:T(28,21)=s16xmin:(0,13),0,32;xmax:(0,13),32,32;ymin:(0,13),64,32;ymax:(0,13),96,32;;Glimit:t(28,21)Gchoicest:T(28,22)=s52mode:(28,19),0,32;esw:(28,20),32,32;choice:(28,9),64,64;pet:(0,1),128,32;e_area:(28,21),160,128;record:(28,18),288,128;;Gchoicest:t(28,22)Gclip:T(28,23)=eGCLIP:0,GNOCLIP:1,;Gclip:t(28,23)Gcliprec:T(28,24)=s20ind:(28,23),0,32;rec:(28,21),32,128;;Gcliprec:t(28,24)Gclrflag:T(28,25)=eGCONDITIONALLY:0,GALWAYS:1,;Gclrflag:t(28,25)Gcoavail:T(28,26)=eGCOLOUR:0,GMONOCHROME:1,;Gcoavail:t(28,26)Gcobundl:T(28,27)=s12red:(0,13),0,32;green:(0,13),32,32;blue:(0,13),64,32;;Gcobundl:t(28,27)Gcofac:T(28,28)=s12colours:(0,1),0,32;coavail:(28,26),32,32;predefined:(0,1),64,32;;Gcofac:t(28,28)Gcovalid:T(28,29)=eGABSENT:0,GPRESENT:1,;Gcovalid:t(28,29)Gcsw:T(28,30)=eGWC:0,GNDC:1,;Gcsw:t(28,30)Gdefchoice:T(28,31)=s44choices:(0,1),0,32;pets:(28,1),32,64;e_area:(28,21),96,128;record:(28,18),224,128;;Gdefchoice:t(28,31)Gdefmode:T(28,32)=eGASAP:0,GBNIG:1,GBNIL:2,GASTI:3,;Gdefmode:t(28,32)Girgmode:T(28,33)=eGSUPPRESSED:0,GALLOWED:1,;Girgmode:t(28,33)Gdefer:T(28,34)=s8defmode:(28,32),0,32;irgmode:(28,33),32,32;;Gdefer:t(28,34)Gpoint:T(28,35)=s8x:(0,13),0,32;y:(0,13),32,32;;Gpoint:t(28,35)Gipoint:T(28,36)=s8x:(0,1),0,32;y:(0,1),32,32;;Gipoint:t(28,36)Glnbundl:T(28,37)=s12type:(0,1),0,32;width:(0,13),32,32;colour:(0,1),64,32;;Glnbundl:t(28,37)Glnattr:T(28,38)=s28type:(28,5),0,32;width:(28,5),32,32;colour:(28,5),64,32;line:(0,1),96,32;bundl:(28,37),128,96;;Glnattr:t(28,38)Gpfcf:T(28,39)=eGPF_POLYLINE:0,GPF_FILLAREA:1,;Gpfcf:t(28,39)Gflinter:T(28,40)=eGHOLLOW:0,GSOLID:1,GPATTERN:2,GHATCH:3,;Gflinter:t(28,40)Gflbundl:T(28,41)=s12inter:(28,40),0,32;style:(0,1),32,32;colour:(0,1),64,32;;Gflbundl:t(28,41)Gflattr:T(28,42)=s28inter:(28,5),0,32;style:(28,5),32,32;colour:(28,5),64,32;fill:(0,1),96,32;bundl:(28,41),128,96;;Gflattr:t(28,42).75fake:T(28,43)=s4data:(1,8),0,32;;.76fake:T(28,44)=s4data:(1,8),0,32;;.77fake:T(28,45)=s4data:(1,8),0,32;;.78fake:T(28,46)=s36acf:(28,4),0,32;ln:(28,38),32,224;data:(1,8),256,32;;.80fake:T(28,47)=u28ln:(28,38),0,224;fl:(28,42),0,224;;.79fake:T(28,48)=s40pfcf:(28,39),0,32;acf:(28,4),32,32;attr:(28,47),64,224;data:(1,8),288,32;;.81fake:T(28,49)=s4data:(1,8),0,32;;Glocrec:T(28,50)=u40pet1:(28,43),0,32;pet2:(28,44),0,32;pet3:(28,45),0,32;pet4:(28,46),0,288;pet5:(28,48),0,320;pet6:(28,49),0,32;;Glocrec:t(28,50)Gdefloc:T(28,51)=s72position:(28,35),0,64;pets:(28,1),64,64;e_area:(28,21),128,128;record:(28,50),256,320;;Gdefloc:t(28,51).82fake:T(28,52)=s4data:(1,8),0,32;;.83fake:T(28,53)=s4data:(1,8),0,32;;.84fake:T(28,54)=s4data:(1,8),0,32;;Gpickrec:T(28,55)=u4pet1:(28,52),0,32;pet2:(28,53),0,32;pet3:(28,54),0,32;;Gpickrec:t(28,55)Gdefpick:T(28,56)=s28pets:(28,1),0,64;e_area:(28,21),64,128;record:(28,55),192,32;;Gdefpick:t(28,56).85fake:T(28,57)=s12bufsiz:(0,1),0,32;position:(0,1),32,32;data:(1,8),64,32;;Gstringrec:T(28,58)=u12pet1:(28,57),0,96;;Gstringrec:t(28,58)Gdefstring:T(28,59)=s40bufsiz:(0,1),0,32;pets:(28,1),32,64;e_area:(28,21),96,128;record:(28,58),224,96;;Gdefstring:t(28,59)Gmkbundl:T(28,60)=s12type:(0,1),0,32;size:(0,13),32,32;colour:(0,1),64,32;;Gmkbundl:t(28,60)Gmkattr:T(28,61)=s28type:(28,5),0,32;size:(28,5),32,32;colour:(28,5),64,32;mark:(0,1),96,32;bundl:(28,60),128,96;;Gmkattr:t(28,61).86fake:T(28,62)=s24bufsiz:(0,1),0,32;editpos:(0,1),32,32;interval:(28,35),64,64;time:(0,13),128,32;data:(1,8),160,32;;.87fake:T(28,63)=s24bufsiz:(0,1),0,32;editpos:(0,1),32,32;interval:(28,35),64,64;time:(0,13),128,32;data:(1,8),160,32;;.88fake:T(28,64)=s56bufsiz:(0,1),0,32;editpos:(0,1),32,32;interval:(28,35),64,64;time:(0,13),128,32;acf:(28,4),160,32;mk:(28,61),192,224;data:(1,8),416,32;;.89fake:T(28,65)=s56bufsiz:(0,1),0,32;editpos:(0,1),32,32;interval:(28,35),64,64;time:(0,13),128,32;acf:(28,4),160,32;ln:(28,38),192,224;data:(1,8),416,32;;Gstrokerec:T(28,66)=u56pet1:(28,62),0,192;pet2:(28,63),0,192;pet3:(28,64),0,448;pet4:(28,65),0,448;;Gstrokerec:t(28,66)Gdefstroke:T(28,67)=s84bufsiz:(0,1),0,32;pets:(28,1),32,64;e_area:(28,21),96,128;record:(28,66),224,448;;Gdefstroke:t(28,67).90fake:T(28,68)=s12low:(0,13),0,32;high:(0,13),32,32;data:(1,8),64,32;;.91fake:T(28,69)=s12low:(0,13),0,32;high:(0,13),32,32;data:(1,8),64,32;;.92fake:T(28,70)=s12low:(0,13),0,32;high:(0,13),32,32;data:(1,8),64,32;;Gvalrec:T(28,71)=u12pet1:(28,68),0,96;pet2:(28,69),0,96;pet3:(28,70),0,96;;Gvalrec:t(28,71)Gdefval:T(28,72)=s40value:(0,13),0,32;pets:(28,1),32,64;e_area:(28,21),96,128;record:(28,71),224,96;;Gdefval:t(28,72)Gdevunits:T(28,73)=eGDC_METRES:0,GDC_OTHER:1,;Gdevunits:t(28,73)Gdspsize:T(28,74)=s20units:(28,73),0,32;device:(28,35),32,64;raster:(28,36),96,64;;Gdspsize:t(28,74)Gdspsurf:T(28,75)=eGEMPTY:0,GNOTEMPTY:1,;Gdspsurf:t(28,75).93fake:T(28,76)=s4dummy:(0,1),0,32;;.94fake:T(28,77)=s4dummy:(0,1),0,32;;Gescin:T(28,78)=u4escid1:(28,76),0,32;escid2:(28,77),0,32;;Gescin:t(28,78).95fake:T(28,79)=s4dummy:(0,1),0,32;;.96fake:T(28,80)=s4dummy:(0,1),0,32;;Gescout:T(28,81)=u4escid1:(28,79),0,32;escid2:(28,80),0,32;;Gescout:t(28,81)Giclass:T(28,82)=eGNCLASS:0,GLOCATOR:1,GISTROKE:2,GVALUATOR:3,GCHOICE:4,GPICK:5,GISTRING:6,;Giclass:t(28,82)Gevent:T(28,83)=s12ws:(0,1),0,32;dev:(0,1),32,32;class:(28,82),64,32;;Gevent:t(28,83)Gextent:T(28,84)=s40concat:(28,35),0,64;ll:(28,35),64,64;lr:(28,35),128,64;ul:(28,35),192,64;ur:(28,35),256,64;;Gextent:t(28,84)Gfile:t(5,1)Gflfac:T(28,85)=s20interiors:(28,1),0,64;hatches:(28,1),64,64;predefined:(0,1),128,32;;Gflfac:t(28,85)Ggdpfac:T(28,86)=s8number:(0,1),0,32;attrs:(28,87)=*(28,7),32,32;;Ggdpfac:t(28,86)Ggdplist:T(28,88)=s12number:(0,1),0,32;functions:(28,89)=*(28,90)=f(0,1),32,32;indices:(28,2),64,32;;Ggdplist:t(28,88).97fake:T(28,91)=s4dummy:(0,1),0,32;;.98fake:T(28,92)=s4dummy:(0,1),0,32;;Ggdprec:T(28,93)=u4gdpid1:(28,91),0,32;gdpid2:(28,92),0,32;;Ggdprec:t(28,93)Ggksmit:T(28,94)=s8type:(0,1),0,32;length:(0,1),32,32;;Ggksmit:t(28,94)Gtxprec:T(28,95)=eGSTRING:0,GCHAR:1,GSTROKE:2,;Gtxprec:t(28,95)Gtxfp:T(28,96)=s8font:(0,1),0,32;prec:(28,95),32,32;;Gtxfp:t(28,96)Gindattr:T(28,97)=s108lntype:(0,1),0,32;lnwidth:(0,13),32,32;lncolour:(0,1),64,32;mktype:(0,1),96,32;mksize:(0,13),128,32;mkcolour:(0,1),160,32;fp:(28,96),192,64;chexp:(0,13),256,32;\chspace:(0,13),288,32;txcolour:(0,1),320,32;flstyle:(28,40),352,32;flindex:(0,1),384,32;flcolour:(0,1),416,32;asflist:(28,6),448,416;;Gindattr:t(28,97)Ginqtype:T(28,98)=eGSET:0,GREALIZED:1,;Ginqtype:t(28,98)Gqtype:t(28,98)Gistat:T(28,99)=eGOK:0,GNONE:1,;Gistat:t(28,99)Glastev:T(28,100)=eGLAST:0,GNOTLAST:1,;Glastev:t(28,100)Glevel:T(28,101)=eGLMA:-3,GLMB:-2,GLMC:-1,GL0A:0,GL0B:1,GL0C:2,GL1A:3,GL1B:4,\GL1C:5,GL2A:6,GL2B:7,GL2C:8,;Glevel:t(28,101)Glnfac:T(28,102)=s28types:(28,1),0,64;widths:(0,1),64,32;nom:(0,13),96,32;min:(0,13),128,32;max:(0,13),160,32;predefined:(0,1),192,32;;Glnfac:t(28,102)Gloc:T(28,103)=s12transform:(0,1),0,32;position:(28,35),32,64;;Gloc:t(28,103)Glocst:T(28,104)=s80mode:(28,19),0,32;esw:(28,20),32,32;loc:(28,103),64,96;pet:(0,1),160,32;e_area:(28,21),192,128;record:(28,50),320,320;;Glocst:t(28,104)Gmkfac:T(28,105)=s28types:(28,1),0,64;sizes:(0,1),64,32;nom:(0,13),96,32;min:(0,13),128,32;max:(0,13),160,32;predefined:(0,1),192,32;;Gmkfac:t(28,105)Gmodtype:T(28,106)=eGIRG:0,GIMM:1,;Gmodtype:t(28,106)Gmodseg:T(28,107)=s28transform:(28,106),0,32;appear:(28,106),32,32;disappear:(28,106),64,32;highlight:(28,106),96,32;priority:(28,106),128,32;addition:(28,106),160,32;deletion:(28,106),192,32;;Gmodseg:t(28,107)Gmodws:T(28,108)=s28line:(28,106),0,32;mark:(28,106),32,32;text:(28,106),64,32;fill:(28,106),96,32;pat:(28,106),128,32;colour:(28,106),160,32;wstran:(28,106),192,32;;Gmodws:t(28,108)Gnframe:T(28,109)=eGNO:0,GYES:1,;Gnframe:t(28,109)Gstore:t(28,109)Gnumdev:T(28,110)=s24locator:(0,1),0,32;stroke:(0,1),32,32;valuator:(0,1),64,32;choice:(0,1),96,32;pick:(0,1),128,32;string:(0,1),160,32;;Gnumdev:t(28,110)Gos:T(28,111)=eGGKCL:0,GGKOP:1,GWSOP:2,GWSAC:3,GSGOP:4,;Gos:t(28,111)Gpstat:T(28,112)=eGP_OK:0,GP_NOPICK:1,GP_NONE:2,;Gpstat:t(28,112)Gpick:T(28,113)=s12status:(28,112),0,32;seg:(0,1),32,32;pickid:(0,1),64,32;;Gpick:t(28,113)Gpickst:T(28,114)=s44mode:(28,19),0,32;esw:(28,20),32,32;pick:(28,113),64,96;pet:(0,1),160,32;e_area:(28,21),192,128;record:(28,55),320,32;;Gpickst:t(28,114)Gtxpath:T(28,115)=eGTP_RIGHT:0,GTP_LEFT:1,GTP_UP:2,GTP_DOWN:3,;Gtxpath:t(28,115)Gtxhor:T(28,116)=eGTH_NORMAL:0,GTH_LEFT:1,GTH_CENTRE:2,GTH_RIGHT:3,;Gtxhor:t(28,116)Gtxver:T(28,117)=eGTV_NORMAL:0,GTV_TOP:1,GTV_CAP:2,GTV_HALF:3,GTV_BASE:4,GTV_BOTTOM:5,;Gtxver:t(28,117)Gtxalign:T(28,118)=s8hor:(28,116),0,32;ver:(28,117),32,32;;Gtxalign:t(28,118)Gpriattr:T(28,119)=s76plnindex:(0,1),0,32;pmkindex:(0,1),32,32;txindex:(0,1),64,32;height:(0,13),96,32;up:(28,35),128,64;chwidth:(0,13),192,32;base:(28,35),224,64;path:(28,115),288,32;\align:(28,118),320,64;flindex:(0,1),384,32;widthvec:(28,35),416,64;heightvec:(28,35),480,64;prp:(28,35),544,64;;Gpriattr:t(28,119)Gptbundl:T(28,120)=s12size:(28,36),0,64;array:(28,2),64,32;;Gptbundl:t(28,120)Gpxarray:T(28,121)=s8covalid:(28,29),0,32;array:(28,2),32,32;;Gpxarray:t(28,121)Gqloc:T(28,122)=s16status:(28,99),0,32;loc:(28,103),32,96;;Gqloc:t(28,122)Gqstring:T(28,123)=s8status:(28,99),0,32;string:(1,8),32,32;;Gqstring:t(28,123)Gstroke:T(28,124)=s12transform:(0,1),0,32;n_points:(0,1),32,32;points:(28,125)=*(28,35),64,32;;Gstroke:t(28,124)Gqstroke:T(28,126)=s16status:(28,99),0,32;stroke:(28,124),32,96;;Gqstroke:t(28,126)Gqueue:T(28,127)=s8class:(28,82),0,32;devno:(0,1),32,32;;Gqueue:t(28,127)Gqval:T(28,128)=s8status:(28,99),0,32;val:(0,13),32,32;;Gqval:t(28,128)Grect:T(28,129)=s16ll:(28,35),0,64;ur:(28,35),64,64;;Grect:t(28,129)Gregen:T(28,130)=eGPERFORM:0,GPOSTPONE:1,;Gregen:t(28,130)Gsegdet:T(28,131)=eGUNDETECTABLE:0,GDETECTABLE:1,;Gsegdet:t(28,131)Gseghi:T(28,132)=eGNORMAL:0,GHIGHLIGHTED:1,;Gseghi:t(28,132)Gsegvis:T(28,133)=eGVISIBLE:0,GINVISIBLE:1,;Gsegvis:t(28,133)Gsegattr:T(28,134)=s44seg:(0,1),0,32;segtran:(28,135)=ar(0,1);0;1;(28,136)=ar(0,1);0;2;(0,13),32,192;vis:(28,133),224,32;hilight:(28,132),256,32;pri:(0,13),288,32;det:(28,131),320,32;;Gsegattr:t(28,134)Gsimultev:T(28,137)=eGNOMORE:0,GMORE:1,;Gsimultev:t(28,137)Gstringst:T(28,138)=s44mode:(28,19),0,32;esw:(28,20),32,32;string:(1,8),64,32;pet:(0,1),96,32;e_area:(28,21),128,128;record:(28,58),256,96;;Gstringst:t(28,138)Gstrlist:T(28,139)=s8number:(0,1),0,32;strings:(28,15),32,32;;Gstrlist:t(28,139)Gstrokest:T(28,140)=s96mode:(28,19),0,32;esw:(28,20),32,32;stroke:(28,124),64,96;pet:(0,1),160,32;e_area:(28,21),192,128;record:(28,66),320,448;;Gstrokest:t(28,140)Gtxbundl:T(28,141)=s20fp:(28,96),0,64;ch_exp:(0,13),64,32;space:(0,13),96,32;colour:(0,1),128,32;;Gtxbundl:t(28,141)Gtxattr:T(28,142)=s40fp:(28,5),0,32;tx_exp:(28,5),32,32;space:(28,5),64,32;colour:(28,5),96,32;text:(0,1),128,32;bundl:(28,141),160,160;;Gtxattr:t(28,142)Gtxfac:T(28,143)=s36fps:(0,1),0,32;fp_list:(28,144)=*(28,96),32,32;heights:(0,1),64,32;min_ht:(0,13),96,32;max_ht:(0,13),128,32;expansions:(0,1),160,32;min_ex:(0,13),192,32;max_ex:(0,13),224,32;\predefined:(0,1),256,32;;Gtxfac:t(28,143)Gvalst:T(28,145)=s44mode:(28,19),0,32;esw:(28,20),32,32;val:(0,13),64,32;pet:(0,1),96,32;e_area:(28,21),128,128;record:(28,71),256,96;;Gvalst:t(28,145)Gvpri:T(28,146)=eGHIGHER:0,GLOWER:1,;Gvpri:t(28,146)Gwscat:T(28,147)=eGINVALID:-1,GOUTPUT:0,GINPUT:1,GOUTIN:2,GWISS:3,GMO:4,GMI:5,;Gwscat:t(28,147)Gwsclass:T(28,148)=eGVECTOR:0,GRASTER:1,GOTHER:2,;Gwsclass:t(28,148)Gwsct:T(28,149)=s8conn:(1,8),0,32;type:(1,8),32,32;;Gwsct:t(28,149)Gwsdus:T(28,150)=s16defmode:(28,32),0,32;dspsurf:(28,75),32,32;irgmode:(28,33),64,32;nframe:(28,109),96,32;;Gwsdus:t(28,150)Gwsmax:T(28,151)=s12open:(0,1),0,32;active:(0,1),32,32;assoc:(0,1),64,32;;Gwsmax:t(28,151)Gwsstate:T(28,152)=eGINACTIVE:0,GACTIVE:1,;Gwsstate:t(28,152)Gwstables:T(28,153)=s24line:(0,1),0,32;mark:(0,1),32,32;text:(0,1),64,32;fill:(0,1),96,32;pat:(0,1),128,32;colour:(0,1),160,32;;Gwstables:t(28,153)Gwstus:T(28,154)=eGNOTPENDING:0,GPENDING:1,;Gwstus:t(28,154)Gwstran:T(28,155)=s32w:(28,21),0,128;v:(28,21),128,128;;Gwstran:t(28,155)Gwsti:T(28,156)=s68wstus:(28,154),0,32;request:(28,155),32,256;current:(28,155),288,256;;Gwsti:t(28,156)Gerrmap:T(28,157)=eerrnull:0,errgopengks:1,errgclosegks:2,errgopenws:3,errgclosews:4,errgactivatews:5,errgdeactivatews:6,errgclearws:7,\errgredrawsegws:8,errgupdatews:9,errgsetdeferst:10,errgmessage:11,errgescredrawnotify:12,errgescsetcolourmask:13,errgescsetdcsize:14,errgescstoreprimi:15,\errgescinqxattr:16,errgpolyline:17,errgpolymarker:18,errgtext:19,errgfillarea:20,errgcellarray:21,errggdp:22,errgsetlineind:23,\errgsetlinetype:24,errgsetlinewidth:25,errgsetlinecolourind:26,errgsetmarkerind:27,errgsetmarkertype:28,errgsetmarkersize:29,errgsetmarkercolourind:30,errgsettextind:31,\errgsettextfontprec:32,errgsetcharexpan:33,errgsetcharspace:34,errgsettextcolourind:35,errgsetcharheight:36,errgsetcharup:37,errgsettextpath:38,errgsettextalign:39,\errgsetfillind:40,errgsetfillintstyle:41,errgsetfillstyleind:42,errgsetfillcolourind:43,errgsetpatsize:44,errgsetpatrefpt:45,errgsetasf:46,errgsetpickid:47,\errgsetlinerep:48,errgsetmarkerrep:49,errgsetpatrep:50,errgsetfillrep:51,errgsettextrep:52,errgsetcolourrep:53,errgsetwindow:54,errgsetviewport:55,\errgsetviewportinputpri:56,errgselntran:57,errgsetclip:58,errgsetwswindow:59,errgsetwsviewport:60,errgcreateseg:61,errgcloseseg:62,errgrenameseg:63,\errgdelseg:64,errgdelsegws:65,errgassocsegws:66,errgcopysegws:67,errginsertseg:68,errgsetsegtran:69,errgsetvis:70,errgsethighlight:71,\errgsetsegpri:72,errgsetdet:73,errgsetsegattr:74,errginitloc:75,errginitstroke:76,errginitval:77,errginitchoice:78,errginitpick:79,\errginitstring:80,errgsetlocmode:81,errgsetstrokemode:82,errgsetvalmode:83,errgsetchoicemode:84,errgsetpickmode:85,errgsetstringmode:86,errgreqloc:87,\errgreqstroke:88,errgreqval:89,errgreqchoice:90,errgreqpick:91,errgreqstring:92,errgsampleloc:93,errgsamplestroke:94,errgsampleval:95,\errgsamplechoice:96,errgsamplepick:97,errgsamplestring:98,errgawaitevent:99,errgflushevents:100,errggetloc:101,errggetstroke:102,errggetval:103,\errggetchoice:104,errggetpick:105,errggetstring:106,errgwritegksm:107,errggettypegksm:108,errgreadgksm:109,errggetgksm:110,errginterpret:111,\errgevaltran:112,errgaccumtran:113,errgemergencyclosegks:114,errgerrorhand:115,errgerrorlog:116,errginqactivews:117,errginqasf:118,errginqassocws:119,\errginqavailgdp:120,errginqavailwstypes:121,errginqchoicest:122,errginqclip:123,errginqcolourfacil:124,errginqcolourindices:125,errginqcolourrep:126,errginqcurntrannum:127,\errginqdefchoice:128,errginqdefdeferst:129,errginqdefloc:130,errginqdefpick:131,errginqdefstring:132,errginqdefstroke:133,errginqdefval:134,errginqdisplayspacesize:135,\errginqdisplaysize:136,errginqfillfacil:137,errginqfillindices:138,errginqfillrep:139,errginqgdp:140,errginqindivattr:141,errginqinputoverflow:142,errginqlevelgks:143,\errginqlinefacil:144,errginqlineindices:145,errginqlinerep:146,errginqlocst:147,errginqmarkerfacil:148,errginqmarkerindices:149,errginqmarkerrep:150,errginqmaxntrannum:151,\errginqmaxwssttables:152,errginqmodsegattr:153,errginqmodwsattr:154,errginqmoreevents:155,errginqnameopenseg:156,errginqntrannum:157,errginqntran:158,errginqnumavailinput:159,\errginqnumsegpri:160,errginqopenws:161,errginqopst:162,errginqpatfacil:163,errginqpatindices:164,errginqpatrep:165,errginqcurpickid:166,errginqpickst:167,\errginqpixel:168,errginqpixelarray:169,errginqpixelarraydim:170,errginqpredcolourrep:171,errginqpredfillrep:172,errginqpredlinerep:173,errginqpredmarkerrep:174,errginqpredpatrep:175,\errginqpredtextrep:176,errginqprimattr:177,errginqsegattr:178,errginqsegnames:179,errginqsegnamesws:180,errginqstringst:181,errginqstrokest:182,errginqtextextent:183,\errginqtextfacil:184,errginqtextindices:185,errginqtextrep:186,errginqvalst:187,errginqwscategory:188,errginqwsclass:189,errginqwsconntype:190,errginqwsdeferupdatest:191,\errginqwsmaxnum:192,errginqwsst:193,errginqwstran:194,;Gerrmap:t(28,157)Gfuncerrmap:T(28,158)=eerrXgksChoUpdatePrompt:1000,errXgksEnqueueEvent:1001,errXgksLocUpdatePrompt:1002,errXgksStrUpdatePrompt:1003,errXgksPicUpdatePrompt:1004,errXgksInsertMesgPrimi:1005,errXgksDuplicatePrimi:1006,errXgksSegPrimiTran:1007,\errXgksStkUpdatePrompt:1008,errXgksValUpdatePrompt:1009,errXgksDistFillarea:1010,errXgksInitWssFillArea:1011,errXgksDistCellarray:1012,errXgksExecData:1013,errxPolyMarker:1014,errxFillArea:1015,\errxInqPixelarray:1016,;Gfuncerrmap:t(28,158)../gks_defines.hXcToGKSMap:T(30,1)=s12red:(0,7),0,32;green:(0,7),32,32;blue:(0,7),64,32;;XcRGB:t(30,1).99fake:T(30,2)=u4rgb:(30,3)=*(30,1),0,32;colour:(23,81),0,32;;XcTable:t(30,2).100fake:T(30,4)=s40red_mult:(0,8),0,32;green_mult:(0,8),32,32;blue_mult:(0,8),64,32;red_mask:(0,8),96,32;green_mask:(0,8),128,32;blue_mask:(0,8),160,32;SeparateRGB:(0,1),192,32;NumEntries:(0,1),224,32;\ToX:(30,2),256,32;ToGKS:(30,2),288,32;;XcMap:t(30,4).101fake:T(30,5)=ePLINE:0,PMARK:1,TEXT:2,FILL_AREA:3,CELL_ARRAY:4,CLIP_REC:5,XGKS_MESG:6,GDP:7,;PID:t(30,5).102fake:T(30,6)=eERR_ON:0,ERR_OFF:1,;ERROR_ST:t(30,6).103fake:T(30,7)=eVAL_HORIZ:0,VAL_VERT:1,;VAL_AXIS:t(30,7)seg_struct:T(30,8)=s8seg:(0,1),0,32;next:(30,9)=*(30,8),32,32;;WS_SEG_LIST:t(30,8).104fake:T(30,10)=s36height:(0,13),0,32;up:(28,35),32,64;chwidth:(0,13),96,32;base:(28,35),128,64;path:(28,115),192,32;align:(28,118),224,64;;CHATTR:t(30,10).105fake:T(30,11)=s24widthvec:(28,35),0,64;heightvec:(28,35),64,64;ptp:(28,35),128,64;;PTATTR:t(30,11)../primitive.h.106fake:T(31,1)=s36num_pts:(0,1),0,32;pts:(28,125),32,32;plnattr:(28,38),64,224;;PLINE_ST:t(31,1).107fake:T(31,2)=s36num_pts:(0,1),0,32;location:(28,125),32,32;mkattr:(28,61),64,224;;PMARK_ST:t(31,2).108fake:T(31,3)=s4string:(1,8),0,32;;MESG_ST:t(31,3).109fake:T(31,4)=s100location:(28,125),0,32;string:(1,8),32,32;up_vec:(28,35),64,64;base_vec:(28,35),128,64;txattr:(28,142),192,320;chattr:(30,10),512,288;;TEXT_ST:t(31,4).110fake:T(31,5)=s60num_pts:(0,1),0,32;pts:(28,125),32,32;flattr:(28,42),64,224;ptattr:(30,11),288,192;;FILL_AREA_ST:t(31,5).111fake:T(31,6)=s48ll:(28,35),0,64;lr:(28,35),64,64;ur:(28,35),128,64;ul:(28,35),192,64;dim:(28,36),256,64;rowsize:(0,1),320,32;colour:(28,2),352,32;;CELL_ARRAY_ST:t(31,6).112fake:T(31,7)=s20segment:(0,1),0,32;rec:(28,21),32,128;;CLIP_REC_ST:t(31,7).113fake:T(31,8)=s4dummy:(0,1),0,32;;GDP_ST:t(31,8).114fake:T(31,9)=u100pline:(31,1),0,288;pmark:(31,2),0,288;text:(31,4),0,800;fill_area:(31,5),0,480;cell_array:(31,6),0,384;clip:(31,7),0,160;mesg:(31,3),0,32;gdp:(31,8),0,32;;entry:T(31,10)=s116pid:(30,5),0,32;seg_cnt:(0,1),32,32;pickid:(0,1),64,32;next:(31,11)=*(31,10),96,32;primi:(31,9),128,800;;OUT_PRIMI:t(31,10)../input.h.115fake:T(32,1)=s72initst:(28,22),0,416;curcho:(0,1),416,32;origin:(23,60),448,32;iheight:(0,1),480,32;width:(0,1),512,32;height:(0,1),544,32;;WSCHOICE:t(32,1).116fake:T(32,2)=s96initst:(28,104),0,640;initpos:(28,35),640,64;curpos:(28,35),704,64;;WSLOCATOR:t(32,2).117fake:T(32,3)=s52curpos:(28,35),0,64;initst:(28,114),64,352;;WSPICK:t(32,3).118fake:T(32,4)=s56initst:(28,138),0,352;strbuf:(1,8),352,32;editpos:(0,1),384,32;curpos:(23,60),416,32;;WSSTRING:t(32,4).119fake:T(32,5)=s112initst:(28,140),0,768;stkbuf:(28,125),768,32;interval:(28,35),800,64;editpos:(0,1),864,32;;WSSTROKE:t(32,5).120fake:T(32,6)=s92initst:(28,145),0,352;axis:(30,7),352,32;convert:(32,7)=ar(0,1);0;1;(0,13),384,64;BarWidth:(0,13),448,32;BarHeight:(0,13),480,32;CurPos:(0,13),512,32;SlidRule:(32,8)=ar(0,1);0;1;(28,35),544,128;val:(28,128),672,64;;WSVALUATOR:t(32,6).121fake:T(32,9)=u112cho:(32,1),0,576;loc:(32,2),0,768;pic:(32,3),0,416;str:(32,4),0,448;stk:(32,5),0,896;val:(32,6),0,736;;INPUT_DEV:T(32,10)=s140class:(28,82),0,32;dev:(0,1),32,32;active:(0,1),64,32;touched:(0,1),96,32;breakhit:(0,1),128,32;gc:(23,29),160,32;next:(32,11)=*(32,10),192,32;data:(32,9),224,896;;INPUT_DEV:t(32,10)EQEntry:T(32,12)=s24next:(32,13)=*(32,12),0,32;event:(28,83),32,96;data:(1,8),128,32;id:(0,1),160,32;;EQEntry:t(32,12).122fake:T(32,14)=ePROMPTON:0,PROMPTOFF:1,PROMPTMOVE:2,;PromptStatus:t(32,14)../wdt.h../wslist.h.123fake:T(34,1)=s16xScale:(0,13),0,32;xTrans:(0,13),32,32;yScale:(0,13),64,32;yTrans:(0,13),96,32;;WS_TRANS:t(34,1).124fake:T(34,2)=eWST_INVALID:0,X_WIN:1,WISS:2,MI:3,MO:4,;EWSTYPE:t(34,2).125fake:T(34,3)=s24dn:(0,1),0,32;dashl:(34,4)=ar(0,1);0;16;(0,2),32,136;;DashList:t(34,3)Xwindow:T(34,5)=s196ws:(34,6)=*(34,7)=xsws_struct:,0,32;dpy:(23,34),32,32;win:(0,8),64,32;event_mask:(0,8),96,32;gc:(23,29),128,32;plinegc:(23,29),160,32;pmarkgc:(23,29),192,32;fillareagc:(23,29),224,32;\textgc:(23,29),256,32;dclmp:(0,8),288,32;wclmp:(0,8),320,32;wbound:(28,35),352,64;wscolour:(0,1),416,32;set_colour_rep:(34,8)=*(28,27),448,32;wsfg:(0,1),480,32;wsbg:(0,1),512,32;\dctoxtrans:(34,1),544,128;ndctoxtrans:(34,1),672,128;xclip:(23,61),800,64;last_pline_rectangle:(23,61),864,64;last_pmarker_rectangle:(23,61),928,64;last_farea_rectangle:(23,61),992,64;last_text_rectangle:(23,61),1056,64;last_dash_index:(0,1),1120,32;\last_message_width:(0,1),1152,32;XcMap:(30,4),1184,320;soft_clipping_on:(0,1),1504,32;backing_store_on:(0,1),1536,32;;Xwindow:t(34,5)mf_type:T(34,9)=eMF_GKSM:0,MF_CGM:1,;mf_type:t(34,9)mf_any:T(34,10)=s24type:(34,9),0,32;fp:(34,11)=*(5,1),32,32;filestat:(0,1),64,32;CurItem:(28,94),96,64;GksmEmpty:(0,1),160,32;;mf_any:t(34,10)Metafile:T(34,12)=u4any:(34,13)=*(34,10),0,32;gksm:(34,14)=*(34,15)=xsmf_gksm:,0,32;cgmi:(34,16)=*(34,17)=xsmf_cgmi:,0,32;cgmo:(34,18)=*(34,19)=xsmf_cgmo:,0,32;;Metafile:t(34,12)ws_struct:T(34,7)=s1924ws_id:(0,1),0,32;conn:(1,8),32,32;wstype:(1,8),64,32;ewstype:(34,2),96,32;ws_is_closing:(0,1),128,32;mf:(34,12),160,32;wsstate:(28,152),192,32;primi_store:(28,109),224,32;\size:(28,35),256,64;wsti:(28,156),320,544;wsdus:(28,150),864,128;redrawfuncp:(34,20)=*(34,21)=f(0,1),992,32;lnbundl_table:(34,22)=ar(0,1);0;20;(28,37),1024,2016;mkbundl_table:(34,23)=ar(0,1);0;20;(28,60),3040,2016;txbundl_table:(34,24)=ar(0,1);0;20;(28,141),5056,3360;flbundl_table:(34,25)=ar(0,1);0;20;(28,41),8416,2016;\ptbundl_table:(34,26)=ar(0,1);0;20;(28,120),10432,2016;seglist:(30,9),12448,32;seg_insertpt:(30,9),12480,32;seg_list_dirty:(0,1),12512,32;in_dev_list:(32,11),12544,32;clip:(28,21),12576,128;primi_list:(31,10),12704,928;primi_insert_pt:(31,11),13632,32;\message_pt:(31,11),13664,32;bef_message:(31,11),13696,32;ndctodctrans:(34,1),13728,128;dpy:(23,34),13856,32;win:(0,8),13888,32;event_mask:(0,8),13920,32;gc:(23,29),13952,32;plinegc:(23,29),13984,32;\pmarkgc:(23,29),14016,32;fillareagc:(23,29),14048,32;textgc:(23,29),14080,32;dclmp:(0,8),14112,32;wclmp:(0,8),14144,32;wbound:(28,35),14176,64;wscolour:(0,1),14240,32;set_colour_rep:(34,8),14272,32;\wsfg:(0,1),14304,32;wsbg:(0,1),14336,32;dctoxtrans:(34,1),14368,128;ndctoxtrans:(34,1),14496,128;xclip:(23,61),14624,64;last_pline_rectangle:(23,61),14688,64;last_pmarker_rectangle:(23,61),14752,64;last_farea_rectangle:(23,61),14816,64;\last_text_rectangle:(23,61),14880,64;last_dash_index:(0,1),14944,32;last_message_width:(0,1),14976,32;XcMap:(30,4),15008,320;soft_clipping_on:(0,1),15328,32;backing_store_on:(0,1),15360,32;;WS_STATE_PTR:t(34,6)WS_STATE_ENTRY:t(34,7)../gkslist.hWS_ENTRY:T(35,1)=s12ws_id:(0,1),0,32;win:(0,8),32,32;ws:(34,6),64,32;;WS_ENTRY:t(35,1)NORM_TRANS:T(35,2)=s48ntrans:(28,155),0,256;wc_to_ndc:(28,21),256,128;;NORM_TRANS:t(35,2)GKS_STATE_LIST:T(35,3)=s2196event_queue_head:(32,13),0,32;event_queue_tail:(32,13),32,32;CurEvent:(32,12),64,192;level:(28,101),256,32;wsmax:(28,151),288,96;gks_state:(28,111),384,32;openedws:(35,4)=ar(0,1);0;9;(35,1),416,960;activews:(35,5)=ar(0,1);0;9;(35,1),1376,960;\focus_ws:(34,6),2336,32;gks_lnattr:(28,38),2368,224;gks_mkattr:(28,61),2592,224;gks_txattr:(28,142),2816,320;gks_flattr:(28,42),3136,224;gks_chattr:(30,10),3360,288;gks_ptattr:(30,11),3648,192;cur_ntrans:(0,1),3840,32;\wiss_id:(0,1),3872,32;open_mo:(0,1),3904,32;ntrans_list:(35,6)=ar(0,1);0;31;(35,2),3936,12288;ntrans_priority:(35,7)=ar(0,1);0;31;(0,1),16224,1024;cliprec:(28,24),17248,160;gks_open_seg:(0,1),17408,32;gks_pick_id:(0,1),17440,32;gks_err_state:(30,6),17472,32;\gks_err_file:(34,11),17504,32;fontdbdir:(1,8),17536,32;;GKS_STATE_LIST:t(35,3)../gks_errors.h../event.h../metafile.hgksm_item_id:T(38,1)=eGKSM_CGM_ELEMENT:-2,GKSM_UNKNOWN_ITEM:-1,GKSM_END_ITEM:0,GKSM_CLEAR_WORKSTATION:1,GKSM_REDRAW_ALL_SEGMENTS_ON_WORKSTATION:2,GKSM_UPDATE_WORKSTATION:3,GKSM_DEFERRAL_STATE:4,GKSM_MESSAGE:5,\GKSM_ESCAPE:6,GKSM_POLYLINE:11,GKSM_POLYMARKER:12,GKSM_TEXT:13,GKSM_FILL_AREA:14,GKSM_CELLARRAY:15,GKSM_GENERALIZED_DRAWING_PRIMITIVE:16,GKSM_POLYLINE_INDEX:21,\GKSM_LINETYPE:22,GKSM_LINEWIDTH_SCALE_FACTOR:23,GKSM_POLYLINE_COLOUR_INDEX:24,GKSM_POLYMARKER_INDEX:25,GKSM_MARKER_TYPE:26,GKSM_MARKER_SIZE_SCALE_FACTOR:27,GKSM_POLYMARKER_COLOUR_INDEX:28,GKSM_TEXT_INDEX:29,\GKSM_TEXT_FONT_AND_PRECISION:30,GKSM_CHARACTER_EXPANSION_FACTOR:31,GKSM_CHARACTER_SPACING:32,GKSM_TEXT_COLOUR_INDEX:33,GKSM_CHARACTER_VECTORS:34,GKSM_TEXT_PATH:35,GKSM_TEXT_ALIGNMENT:36,GKSM_FILL_AREA_INDEX:37,\GKSM_FILL_AREA_INTERIOR_STYLE:38,GKSM_FILL_AREA_STYLE_INDEX:39,GKSM_FILL_AREA_COLOUR_INDEX:40,GKSM_PATTERN_SIZE:41,GKSM_PATTERN_REFERENCE_POINT:42,GKSM_ASPECT_SOURCE_FLAGS:43,GKSM_PICK_IDENTIFIER:44,GKSM_POLYLINE_REPRESENTATION:51,\GKSM_POLYMARKER_REPRESENTATION:52,GKSM_TEXT_REPRESENTATION:53,GKSM_FILL_AREA_REPRESENTATION:54,GKSM_PATTERN_REPRESENTATION:55,GKSM_COLOUR_REPRESENTATION:56,GKSM_CLIPPING_RECTANGLE:61,GKSM_WORKSTATION_WINDOW:71,GKSM_WORKSTATION_VIEWPORT:72,\GKSM_CREATE_SEGMENT:81,GKSM_CLOSE_SEGMENT:82,GKSM_RENAME_SEGMENT:83,GKSM_DELETE_SEGMENT:84,GKSM_SET_SEGMENT_TRANSFORMATION:91,GKSM_SET_VISIBILITY:92,GKSM_SET_HIGHLIGHTING:93,GKSM_SET_SEGMENT_PRIORITY:94,\GKSM_SET_DETECTABILITY:95,GKSM_USER_ITEM:101,;gksm_item_id:t(38,1).126fake:T(38,2)=s4flag:(0,1),0,32;;XGKSMONE:t(38,2).127fake:T(38,3)=s8item1:(0,1),0,32;item2:(0,1),32,32;;XGKSMTWO:t(38,3).128fake:T(38,4)=s8strlen:(0,1),0,32;string:(1,8),32,32;;XGKSMMESG:t(38,4).129fake:T(38,5)=s8num_pts:(0,1),0,32;pts:(28,125),32,32;;XGKSMGRAPH:t(38,5).130fake:T(38,6)=s16location:(28,35),0,64;strlen:(0,1),64,32;string:(1,8),96,32;;XGKSMTEXT:t(38,6).131fake:T(38,7)=s36ll:(28,35),0,64;ur:(28,35),64,64;lr:(28,35),128,64;dim:(28,36),192,64;colour:(28,2),256,32;;XGKSMCELLARRAY:t(38,7).132fake:T(38,8)=s4size:(0,13),0,32;;XGKSMSIZE:t(38,8).133fake:T(38,9)=s16up:(28,35),0,64;base:(28,35),64,64;;XGKSMCHARVEC:t(38,9).134fake:T(38,10)=s56asf:(38,11)=ar(0,1);0;13;(0,1),0,448;;XGKSMASF:t(38,10).135fake:T(38,12)=s16idx:(0,1),0,32;style:(0,1),32,32;colour:(0,1),64,32;size:(0,13),96,32;;XGKSMLMREP:t(38,12).136fake:T(38,13)=s24idx:(0,1),0,32;font:(0,1),32,32;prec:(0,1),64,32;colour:(0,1),96,32;tx_exp:(0,13),128,32;space:(0,13),160,32;;XGKSMTEXTREP:t(38,13).137fake:T(38,14)=s16idx:(0,1),0,32;intstyle:(0,1),32,32;style:(0,1),64,32;colour:(0,1),96,32;;XGKSMFILLREP:t(38,14).138fake:T(38,15)=s16idx:(0,1),0,32;size:(28,36),32,64;array:(28,2),96,32;;XGKSMPATREP:t(38,15).139fake:T(38,16)=s16idx:(0,1),0,32;red:(0,13),32,32;green:(0,13),64,32;blue:(0,13),96,32;;XGKSMCOLOURREP:t(38,16).140fake:T(38,17)=s16rect:(28,21),0,128;;XGKSMLIMIT:t(38,17).141fake:T(38,18)=s28name:(0,1),0,32;matrix:(38,19)=ar(0,1);0;1;(38,20)=ar(0,1);0;2;(0,13),32,192;;XGKSMSEGTRAN:t(38,18).142fake:T(38,21)=s8name:(0,1),0,32;pri:(0,13),32,32;;XGKSMSEGPRI:t(38,21).143fake:T(38,22)=s16wid:(28,35),0,64;hgt:(28,35),64,64;;XGKSMPATSIZ:t(38,22).144fake:T(38,23)=s8ref:(28,35),0,64;;XGKSMPATREF:t(38,23)./cgm.h./cgm_implem.hcgm_direct_color:T(40,1)=s12red:(0,1),0,32;green:(0,1),32,32;blue:(0,1),64,32;;cgm_direct_color:t(40,1)cgm_color:T(40,2)=u12index:(0,1),0,32;direct:(40,1),0,96;;cgm_color:t(40,2)cgmo_mode:T(40,3)=eCGMO_UNSET:0,CGMO_IN_METAFILE:1,CGMO_IN_PICTURE:2,CGMO_IN_BODY:3,CGMO_NOT_EMPTY:4,;cgmo_mode:t(40,3)mf_cgmo:T(34,19)=s192type:(34,9),0,32;fp:(34,11),32,32;filestat:(0,1),64,32;CurItem:(28,94),96,64;GksmEmpty:(0,1),160,32;ws:(34,6),192,32;mode:(40,3),224,32;picture_number:(0,1),256,32;\setmask:(0,8),288,32;backcolr:(28,27),320,96;lineindex:(0,1),416,32;linetype:(0,1),448,32;linewidth:(0,13),480,32;linecolr:(40,2),512,96;markerindex:(0,1),608,32;markertype:(0,1),640,32;\markersize:(0,13),672,32;markercolr:(40,2),704,96;textindex:(0,1),800,32;txfp:(28,96),832,64;charexpan:(0,13),896,32;charspace:(0,13),928,32;textcolr:(40,2),960,96;charheight:(0,13),1056,32;\charori:(40,4)=ar(0,1);0;3;(0,13),1088,128;textpath:(28,115),1216,32;textalign:(28,118),1248,64;fillindex:(0,1),1312,32;intstyle:(28,40),1344,32;fillcolr:(40,2),1376,96;hatchindex:(0,1),1472,32;patindex:(0,1),1504,32;;mf_cgmo:t(34,19)mf_cgmi:T(34,17)=s112type:(34,9),0,32;fp:(34,11),32,32;filestat:(0,1),64,32;CurItem:(28,94),96,64;GksmEmpty:(0,1),160,32;total_length:(0,4),192,32;total_left:(0,4),224,32;partition_length:(0,1),256,32;\partition_left:(0,1),288,32;start_this_element:(0,4),320,32;start_next_element:(0,4),352,32;mode:(0,1),384,32;class:(0,1),416,32;id:(0,1),448,32;hash_id:(0,1),480,32;clip_rect:(28,21),512,128;\txfp:(28,96),640,64;char_up:(28,35),704,64;char_base:(28,35),768,64;char_height:(0,13),832,32;color_index:(0,1),864,32;;mf_cgmi:t(34,17)decode_mode:T(40,5)=eRETURN_INFO:0,DECODE_VALUES:1,;decode_mode:t(40,5)rcsid:S(0,17)=ar(0,1);0;49;(0,2)gksm_iasf:S(0,18)=ar(0,1);0;17;(0,1)int16_to_norm:f(0,14)ival:p(0,1)mi_pcw:f(0,16)fp:p(34,11)more_data:p(28,2)length:p(28,2)pcw:(0,6)bytes:(0,19)=ar(0,1);0;1;(0,5)mi_octet:f(0,7)mi:p(34,16)data:(0,5)more_data:(0,1)mi_int16:f(0,1)mi:p(34,16)bytes:(0,20)=ar(0,1);0;1;(0,5)n:(0,1)ptr:(5,2)#tmp0:(0,1)#tmp1:(0,1)#tmp2:(0,8)mi_uint16:f(0,7)mi:p(34,16)bytes:(0,21)=ar(0,1);0;1;(0,5)n:(0,1)ptr:(5,2)#tmp3:(0,1)#tmp4:(0,1)mi_direct_colors:f(0,16)mi:p(34,16)colours:p(0,22)=*(38,16)ncolor:p(0,1)#tmp5:(0,1)#tmp6:(0,1)#tmp7:(0,1)rep:(0,23)=ar(0,1);0;2;(0,5)n:(0,1)ptr:(5,2)#tmp8:(0,1)#tmp9:(0,1)mi_string:f(0,16)mi:p(34,16)string:p(1,8)nchr:p(28,2)length:(0,1)more:(0,1)pattern:(0,7)n:(0,1)ptr:(5,2)#tmp10:(0,1)#tmp11:(0,1)n:(0,1)ptr:(5,2)#tmp12:(0,1)#tmp13:(0,1)mi_point:F(0,1)mi:p(34,16)points:p(28,125)npoint:p(0,1)#tmp14:(0,1)#tmp15:(0,1)#tmp16:(0,1)mi_mesg:f(0,16)mi:p(34,16)msg:p(0,24)=*(38,4)mi_rect:f(0,16)mi:p(34,16)limit:p(0,25)=*(38,17)lower_left:(28,35)upper_right:(28,35)mi_graph:f(0,16)mi:p(34,16)graph:p(0,26)=*(38,5)mi_cellrow:f(0,16)mi:p(34,16)colour:p(28,2)ncolor:p(0,1)#tmp17:(0,1)#tmp18:(0,1)#tmp19:(0,1)#tmp20:(28,2)mi_real32fx:f(0,14)mi:p(34,16)bytes:(0,27)=ar(0,1);0;1;(0,5)whole:(0,6)frac:(0,6)n:(0,1)ptr:(5,2)#tmp21:(0,1)#tmp22:(0,1)n:(0,1)ptr:(5,2)#tmp23:(0,1)#tmp24:(0,1)#tmp25:(0,8)ingest_charvec:f(0,16)mi:p(34,16)vec:p(0,28)=*(38,9)factor:(0,14)mi_parameters:f(0,1)mi:p(34,16)pars:p(1,8)mode:p(40,5)cgm_data:T(0,29)=u56one:(38,2),0,32;two:(38,3),0,64;msg:(38,4),0,64;graph:(38,5),0,64;text:(38,6),0,128;size:(38,8),0,32;vec:(38,9),0,128;asf:(38,10),0,448;\lmrep:(38,12),0,128;txrep:(38,13),0,192;flrep:(38,14),0,128;patrep:(38,15),0,128;corep:(38,16),0,128;limit:(38,17),0,128;tran:(38,18),0,224;pri:(38,21),0,64;\cell:(38,7),0,288;patref:(38,23),0,64;patsiz:(38,22),0,128;;data:(0,30)=*(0,29)me:V(0,31)=ar(0,1);0;13;(0,2)#tmp26:(0,1)colrprec:(0,1)cell_rep_mode:(0,1)pixel:(28,2)stopp:(28,2)#tmp27:(28,2)iasf:(0,1)cgm_asf:(0,32)=ar(0,1);0;17;(0,1)#tmp28:(0,1)mi_header:f(0,1)fp:p(34,11)class:p(28,2)id:p(28,2)length:p(0,33)=*(0,7)bytes:(0,34)=ar(0,1);0;1;(0,5)header:(0,6)mi_item:f(0,1)mi:p(34,16)header_length:(0,7)me:V(0,35)=ar(0,1);0;7;(0,2)more_data:(0,1)total:(0,4)first_part:(0,4)length:(0,1)#tmp29:(0,4)CGMmiOpen:F(0,1)mf:p(0,36)=*(34,12)conn:p(1,8)mi:(34,16)me:V(0,37)=ar(0,1);0;11;(0,2)#tmp30:(34,16)#tmp31:(34,11)CGMmiClose:F(0,1)mf:p(0,36)status:(0,1)#tmp32:(0,1)CGMnextItem:F(0,1)mf:p(0,36)mi:(34,16)CGMreadItem:F(0,1)mf:p(0,36)record:p(1,8)mi:(34,16)cgmo.o_mo_mode_mo_outp_mo_vdcs_mo_ints_mo_backcolr_mo_patrefpt_header_class_mo_flush_mo_color_mo_reals_mo_colrtable_mo_textalign_num_elements_header_id_mo_direct_colors_mf_elements_list_mo_begpic_mo_mfdesc_mo_string_mo_points_mo_int16s_mo_octets_mo_vdcext_rcsid_mo_attributes_AuthorDate_mo_asf_mo_ptr_mo_indexed_colors_mo_insure_in_body_header_written_mo_cliprec_mo_patsize_mo_indexes_mo_element_mo_cellrow/a/groucho/unidata/ldm/src/xgks/src/lib/cgm/cgmo.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../../port/udposix.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/local/lang/SC1.0/ansi_include/stdio.h../../../port/stddef.h../../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stddef.h../../../port/stdlib.h../../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h/usr/local/lang/SC1.0/ansi_include/time.h/usr/include/sys/utsname.h/usr/include/unistd.h/usr/include/sys/types.h../../../port/string.h../../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/string.h/usr/local/lang/SC1.0/ansi_include/math.h/usr/local/lang/SC1.0/ansi_include/assert.h/usr/local/lang/SC1.0/ansi_include/limits.h../gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h../xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h../gks_defines.h../primitive.h../input.h../wdt.h../wslist.h../gkslist.h../gks_errors.h../event.h../metafile.h./cgm.h./cgm_implem.hrcsid:S(0,17)=ar(0,1);0;49;(0,2)mf_elements_list:S(0,18)=ar(0,1);0;0;(0,19)=ar(0,1);0;1;(0,1)num_elements:S(0,1)mo_ptr:S(5,2)mo_outp:S(5,2)mo_flush:f(0,16)cgmo:p(0,20)=*(34,18)num:p(0,1)more_data:p(0,1)imf:(0,1)pad:(0,1)nbytes:(0,1)long_form:V(0,1)header:(0,6)bytes:(0,21)=ar(0,1);0;1;(0,5)#tmp0:(0,1)pcw:(0,6)#tmp1:(0,1)bytes:(0,22)=ar(0,1);0;1;(0,5)mo_octets:f(0,16)cgmo:p(0,20)num:p(0,1)bytes:p(5,2)nbytes:p(0,1)#tmp2:(0,1)#tmp3:(0,1)#tmp4:(0,1)#tmp5:(5,2)#tmp6:(5,2)mo_int16s:f(0,16)cgmo:p(0,20)num:p(0,1)ptr:p(2,8)nval:p(0,1)vals:(28,2)#tmp7:(0,1)#tmp8:(0,1)#tmp9:(0,1)value:(0,6)bytes:(0,23)=ar(0,1);0;1;(0,5)mo_ints:f(0,16)cgmo:p(0,20)num:p(0,1)ptr:p(2,8)nval:p(0,1)vals:(28,2)#tmp10:(0,1)#tmp11:(0,1)#tmp12:(0,1)value:(0,6)bytes:(0,24)=ar(0,1);0;1;(0,5)mo_indexes:f(0,16)cgmo:p(0,20)num:p(0,1)ptr:p(2,8)nval:p(0,1)vals:(28,2)#tmp13:(0,1)#tmp14:(0,1)#tmp15:(0,1)value:(0,6)bytes:(0,25)=ar(0,1);0;1;(0,5)mo_string:f(0,16)cgmo:p(0,20)num:p(0,1)string:p(2,8)nchr:(0,1)#tmp16:(5,2)length:(0,7)#tmp17:(5,2)#tmp18:(0,1)value:(0,6)bytes:(0,26)=ar(0,1);0;1;(0,5)mo_reals:f(0,16)cgmo:p(0,20)num:p(0,1)ptr:p(2,8)nval:p(0,1)vals:(0,27)=*(0,13)#tmp19:(0,1)#tmp20:(0,1)#tmp21:(0,1)mo:(0,20)nmo:(0,1)x:(0,14)swhole:(0,3)#tmp22:(0,14)whole:(0,6)frac:(0,6)#tmp23:(0,8)bytes:(0,28)=ar(0,1);0;1;(0,5)mo_vdcs:f(0,16)cgmo:p(0,20)num:p(0,1)ptr:p(2,8)nval:p(0,1)vals:(0,27)#tmp24:(0,1)#tmp25:(0,1)#tmp26:(0,1)val:(0,13)x:(0,1)#tmp27:(0,4)#tmp28:(0,13)#tmp29:(0,4)#tmp30:(0,13)#tmp31:(0,13)#tmp32:(0,13)#tmp33:(0,4)#tmp34:(0,13)#tmp35:(0,13)value:(0,6)bytes:(0,29)=ar(0,1);0;1;(0,5)mo_points:f(0,16)cgmo:p(0,20)num:p(0,1)ptr:p(2,8)nval:p(0,1)vals:(28,125)#tmp36:(0,1)#tmp37:(0,1)#tmp38:(0,1)pt:(28,125)x:(0,1)#tmp39:(0,4)#tmp40:(0,13)#tmp41:(0,4)#tmp42:(0,13)#tmp43:(0,13)#tmp44:(0,13)#tmp45:(0,4)#tmp46:(0,13)#tmp47:(0,13)value:(0,6)bytes:(0,30)=ar(0,1);0;1;(0,5)x:(0,1)#tmp48:(0,4)#tmp49:(0,13)#tmp50:(0,4)#tmp51:(0,13)#tmp52:(0,13)#tmp53:(0,13)#tmp54:(0,4)#tmp55:(0,13)#tmp56:(0,13)value:(0,6)bytes:(0,31)=ar(0,1);0;1;(0,5)mo_direct_colors:f(0,16)cgmo:p(0,20)num:p(0,1)ptr:p(2,8)ncolor:p(0,1)colours:(34,8)#tmp57:(0,1)#tmp58:(0,1)#tmp59:(0,1)modc_colr:(34,8)modc_rep:(0,32)=ar(0,1);0;2;(0,5)#tmp60:(0,8)#tmp61:(0,8)#tmp62:(0,8)mo_indexed_colors:f(0,16)cgmo:p(0,20)num:p(0,1)ptr:p(2,8)ncolor:p(0,1)colours:(28,2)#tmp63:(0,1)#tmp64:(0,1)#tmp65:(0,1)#tmp66:(5,2)mo_cellrow:f(0,16)cgmo:p(0,20)num:p(0,1)colour:p(28,2)ncolor:p(0,1)pad:(0,1)#tmp67:(0,1)#tmp68:(0,1)#tmp69:(0,1)#tmp70:(5,2)#tmp71:(28,2)#tmp72:(5,2)mo_element:f(0,16)cgmo:p(0,20)num:p(0,1)class:p(0,1)id:p(0,1)func:p(0,33)=*(0,34)=f(0,16)offset:p(0,7)nval:p(0,1)AuthorDate:f(2,8)min_offset:(0,1)username:(2,8)timebuf:(0,35)=ar(0,1);0;23;(0,2)buffer:V(0,36)=ar(0,1);0;127;(0,2)cp:(2,8)endp:(2,8)clock:(0,4)local_tm:(12,1)utc_tm:(12,1)name:(13,1)nchr:(0,1)#tmp73:(0,1)nchr:(0,1)#tmp74:(0,1)nchr:(0,1)#tmp75:(0,1)nchr:(0,1)#tmp76:(0,1)nchr:(0,1)#tmp77:(0,1)nchr:(0,1)#tmp78:(0,1)nchr:(0,1)#tmp79:(0,1)hour:(0,1)#tmp80:(0,1)min:(0,1)#tmp81:(0,1)#tmp82:(0,1)nchr:(0,1)#tmp83:(0,1)mo_mode:f(0,16)cgmo:p(0,20)num:p(0,1)mode:p(40,3)#tmp84:(0,1)#tmp85:(0,1)#tmp86:(0,1)#tmp87:(0,20)mo_mfdesc:f(0,16)cgmo:p(0,20)num:p(0,1)desc:(2,8)mo_vdcext:f(0,16)cgmo:p(0,20)num:p(0,1)#tmp88:(0,1)#tmp89:(0,1)#tmp90:(0,1)corner:(28,35)x:(0,1)#tmp91:(0,4)#tmp92:(0,13)#tmp93:(0,4)#tmp94:(0,13)#tmp95:(0,13)#tmp96:(0,13)#tmp97:(0,4)#tmp98:(0,13)#tmp99:(0,13)value:(0,6)bytes:(0,37)=ar(0,1);0;1;(0,5)x:(0,1)#tmp100:(0,4)#tmp101:(0,13)#tmp102:(0,4)#tmp103:(0,13)#tmp104:(0,13)#tmp105:(0,13)#tmp106:(0,4)#tmp107:(0,13)#tmp108:(0,13)value:(0,6)bytes:(0,38)=ar(0,1);0;1;(0,5)x:(0,1)#tmp109:(0,4)#tmp110:(0,13)#tmp111:(0,4)#tmp112:(0,13)#tmp113:(0,13)#tmp114:(0,13)#tmp115:(0,4)#tmp116:(0,13)#tmp117:(0,13)value:(0,6)bytes:(0,39)=ar(0,1);0;1;(0,5)x:(0,1)#tmp118:(0,4)#tmp119:(0,13)#tmp120:(0,4)#tmp121:(0,13)#tmp122:(0,13)#tmp123:(0,13)#tmp124:(0,4)#tmp125:(0,13)#tmp126:(0,13)value:(0,6)bytes:(0,40)=ar(0,1);0;1;(0,5)mo_begpic:f(0,16)cgmo:p(0,20)num:p(0,1)ii:(0,1)identifier:(0,41)=ar(0,1);0;15;(0,2)#tmp127:(28,2)#tmp128:(0,1)mo_textalign:f(0,16)cgmo:p(0,20)num:p(0,1)#tmp129:(0,1)#tmp130:(0,1)#tmp131:(0,1)dummy:(0,13)normal:(0,1)value:(0,6)bytes:(0,42)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,43)=ar(0,1);0;1;(0,5)mo:(0,20)nmo:(0,1)x:(0,14)swhole:(0,3)#tmp132:(0,14)whole:(0,6)frac:(0,6)#tmp133:(0,8)bytes:(0,44)=ar(0,1);0;1;(0,5)mo:(0,20)nmo:(0,1)x:(0,14)swhole:(0,3)#tmp134:(0,14)whole:(0,6)frac:(0,6)#tmp135:(0,8)bytes:(0,45)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,46)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,47)=ar(0,1);0;1;(0,5)mo:(0,20)nmo:(0,1)x:(0,14)swhole:(0,3)#tmp136:(0,14)whole:(0,6)frac:(0,6)#tmp137:(0,8)bytes:(0,48)=ar(0,1);0;1;(0,5)mo:(0,20)nmo:(0,1)x:(0,14)swhole:(0,3)#tmp138:(0,14)whole:(0,6)frac:(0,6)#tmp139:(0,8)bytes:(0,49)=ar(0,1);0;1;(0,5)mo_backcolr:f(0,16)cgmo:p(0,20)num:p(0,1)ii:(0,1)rep:(28,27)modc_colr:(34,8)modc_rep:(0,50)=ar(0,1);0;2;(0,5)#tmp140:(0,8)#tmp141:(0,8)#tmp142:(0,8)mo_color:f(0,16)cgmo:p(0,20)num:p(0,1)idx:p(0,1)rep:p(34,8)#tmp143:(5,2)modc_colr:(34,8)modc_rep:(0,51)=ar(0,1);0;2;(0,5)#tmp144:(0,8)#tmp145:(0,8)#tmp146:(0,8)mo_colrtable:f(0,16)cgmo:p(0,20)num:p(0,1)ii:(0,1)indices:(28,1)ncolors:(0,1)idxp:(28,2)#tmp147:(0,1)#tmp148:(0,1)rep:(28,27)mo_cliprec:f(0,16)cgmo:p(0,20)num:p(0,1)clipping:(28,24)lower_left:(28,35)upper_right:(28,35)x:(0,1)#tmp149:(0,4)#tmp150:(0,13)#tmp151:(0,4)#tmp152:(0,13)#tmp153:(0,13)#tmp154:(0,13)#tmp155:(0,4)#tmp156:(0,13)#tmp157:(0,13)value:(0,6)bytes:(0,52)=ar(0,1);0;1;(0,5)x:(0,1)#tmp158:(0,4)#tmp159:(0,13)#tmp160:(0,4)#tmp161:(0,13)#tmp162:(0,13)#tmp163:(0,13)#tmp164:(0,4)#tmp165:(0,13)#tmp166:(0,13)value:(0,6)bytes:(0,53)=ar(0,1);0;1;(0,5)x:(0,1)#tmp167:(0,4)#tmp168:(0,13)#tmp169:(0,4)#tmp170:(0,13)#tmp171:(0,13)#tmp172:(0,13)#tmp173:(0,4)#tmp174:(0,13)#tmp175:(0,13)value:(0,6)bytes:(0,54)=ar(0,1);0;1;(0,5)x:(0,1)#tmp176:(0,4)#tmp177:(0,13)#tmp178:(0,4)#tmp179:(0,13)#tmp180:(0,13)#tmp181:(0,13)#tmp182:(0,4)#tmp183:(0,13)#tmp184:(0,13)value:(0,6)bytes:(0,55)=ar(0,1);0;1;(0,5)mo_patsize:f(0,16)cgmo:p(0,20)num:p(0,1)x:(0,1)#tmp185:(0,4)#tmp186:(0,13)#tmp187:(0,4)#tmp188:(0,13)#tmp189:(0,13)#tmp190:(0,13)#tmp191:(0,4)#tmp192:(0,13)#tmp193:(0,13)value:(0,6)bytes:(0,56)=ar(0,1);0;1;(0,5)x:(0,1)#tmp194:(0,4)#tmp195:(0,13)#tmp196:(0,4)#tmp197:(0,13)#tmp198:(0,13)#tmp199:(0,13)#tmp200:(0,4)#tmp201:(0,13)#tmp202:(0,13)value:(0,6)bytes:(0,57)=ar(0,1);0;1;(0,5)x:(0,1)#tmp203:(0,4)#tmp204:(0,13)#tmp205:(0,4)#tmp206:(0,13)#tmp207:(0,13)#tmp208:(0,13)#tmp209:(0,4)#tmp210:(0,13)#tmp211:(0,13)value:(0,6)bytes:(0,58)=ar(0,1);0;1;(0,5)x:(0,1)#tmp212:(0,4)#tmp213:(0,13)#tmp214:(0,4)#tmp215:(0,13)#tmp216:(0,13)#tmp217:(0,13)#tmp218:(0,4)#tmp219:(0,13)#tmp220:(0,13)value:(0,6)bytes:(0,59)=ar(0,1);0;1;(0,5)mo_patrefpt:f(0,16)cgmo:p(0,20)num:p(0,1)x:(0,1)#tmp221:(0,4)#tmp222:(0,13)#tmp223:(0,4)#tmp224:(0,13)#tmp225:(0,13)#tmp226:(0,13)#tmp227:(0,4)#tmp228:(0,13)#tmp229:(0,13)value:(0,6)bytes:(0,60)=ar(0,1);0;1;(0,5)x:(0,1)#tmp230:(0,4)#tmp231:(0,13)#tmp232:(0,4)#tmp233:(0,13)#tmp234:(0,13)#tmp235:(0,13)#tmp236:(0,4)#tmp237:(0,13)#tmp238:(0,13)value:(0,6)bytes:(0,61)=ar(0,1);0;1;(0,5)mo_asf:f(0,16)cgmo:p(0,20)num:p(0,1)iasf:(0,1)bundled:(0,1)individual:(0,1)value:(0,6)bytes:(0,62)=ar(0,1);0;1;(0,5)value:(0,6)#tmp239:(0,1)bytes:(0,63)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,64)=ar(0,1);0;1;(0,5)value:(0,6)#tmp240:(0,1)bytes:(0,65)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,66)=ar(0,1);0;1;(0,5)value:(0,6)#tmp241:(0,1)bytes:(0,67)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,68)=ar(0,1);0;1;(0,5)value:(0,6)#tmp242:(0,1)bytes:(0,69)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,70)=ar(0,1);0;1;(0,5)value:(0,6)#tmp243:(0,1)bytes:(0,71)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,72)=ar(0,1);0;1;(0,5)value:(0,6)#tmp244:(0,1)bytes:(0,73)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,74)=ar(0,1);0;1;(0,5)value:(0,6)#tmp245:(0,1)bytes:(0,75)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,76)=ar(0,1);0;1;(0,5)value:(0,6)#tmp246:(0,1)bytes:(0,77)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,78)=ar(0,1);0;1;(0,5)value:(0,6)#tmp247:(0,1)bytes:(0,79)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,80)=ar(0,1);0;1;(0,5)value:(0,6)#tmp248:(0,1)bytes:(0,81)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,82)=ar(0,1);0;1;(0,5)value:(0,6)#tmp249:(0,1)bytes:(0,83)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,84)=ar(0,1);0;1;(0,5)value:(0,6)#tmp250:(0,1)bytes:(0,85)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,86)=ar(0,1);0;1;(0,5)value:(0,6)#tmp251:(0,1)bytes:(0,87)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,88)=ar(0,1);0;1;(0,5)value:(0,6)#tmp252:(0,1)bytes:(0,89)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,90)=ar(0,1);0;1;(0,5)value:(0,6)#tmp253:(0,1)bytes:(0,91)=ar(0,1);0;1;(0,5)mo_attributes:f(0,16)cgmo:p(0,20)num:p(0,1)mo_insure_in_body:f(0,16)cgmo:p(0,20)num:p(0,1)#tmp254:(0,1)#tmp255:(0,1)#tmp256:(0,1)CGMwriteItem:F(0,1)mf:p(0,92)=*(34,12)num:p(0,1)type:p(0,1)length:p(0,1)data:p(2,8)CGMmoOpen:F(0,1)ws:p(34,6)status:(0,1)me:V(0,93)=ar(0,1);0;11;(0,2)#tmp257:(34,18)cgmo:(34,18)#tmp258:(34,11)value:(0,6)bytes:(0,94)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,95)=ar(0,1);0;1;(0,5)CGMclear:F(0,1)mf:p(0,92)num:p(0,1)flag:p(28,25)ii:(0,1)cgmo:(34,18)CGMredrawAllSeg:F(0,1)mf:p(0,92)num:p(0,1)ii:(0,1)cgmo:(34,18)CGMupdate:F(0,1)mf:p(0,92)num:p(0,1)regenflag:p(28,130)CGMdefer:F(0,1)mf:p(0,92)num:p(0,1)defer_mode:p(28,32)regen_mode:p(28,33)CGMmessage:F(0,1)mf:p(0,92)num:p(0,1)string:p(2,8)cgmo:(0,20)action:(0,1)value:(0,6)bytes:(0,96)=ar(0,1);0;1;(0,5)CGMoutputGraphic:F(0,1)mf:p(0,92)num:p(0,1)code:p(0,1)num_pt:p(0,1)pos:p(28,125)id:(0,1)cgmo:(0,20)CGMtext:F(0,1)mf:p(0,92)num:p(0,1)at:p(28,125)string:p(2,8)final:(0,1)cgmo:(0,20)x:(0,1)#tmp259:(0,4)#tmp260:(0,13)#tmp261:(0,4)#tmp262:(0,13)#tmp263:(0,13)#tmp264:(0,13)#tmp265:(0,4)#tmp266:(0,13)#tmp267:(0,13)value:(0,6)bytes:(0,97)=ar(0,1);0;1;(0,5)x:(0,1)#tmp268:(0,4)#tmp269:(0,13)#tmp270:(0,4)#tmp271:(0,13)#tmp272:(0,13)#tmp273:(0,13)#tmp274:(0,4)#tmp275:(0,13)#tmp276:(0,13)value:(0,6)bytes:(0,98)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,99)=ar(0,1);0;1;(0,5)CGMcellArray:F(0,1)mf:p(0,92)num:p(0,1)ll:p(28,125)ur:p(28,125)lr:p(28,125)foldx:p(0,1)colour:p(28,2)dim:p(0,100)=*(28,36)colrprec:(0,1)cell_rep_mode:(0,1)stopp:(28,2)cgmo:(0,20)x:(0,1)#tmp277:(0,4)#tmp278:(0,13)#tmp279:(0,4)#tmp280:(0,13)#tmp281:(0,13)#tmp282:(0,13)#tmp283:(0,4)#tmp284:(0,13)#tmp285:(0,13)value:(0,6)bytes:(0,101)=ar(0,1);0;1;(0,5)x:(0,1)#tmp286:(0,4)#tmp287:(0,13)#tmp288:(0,4)#tmp289:(0,13)#tmp290:(0,13)#tmp291:(0,13)#tmp292:(0,4)#tmp293:(0,13)#tmp294:(0,13)value:(0,6)bytes:(0,102)=ar(0,1);0;1;(0,5)x:(0,1)#tmp295:(0,4)#tmp296:(0,13)#tmp297:(0,4)#tmp298:(0,13)#tmp299:(0,13)#tmp300:(0,13)#tmp301:(0,4)#tmp302:(0,13)#tmp303:(0,13)value:(0,6)bytes:(0,103)=ar(0,1);0;1;(0,5)x:(0,1)#tmp304:(0,4)#tmp305:(0,13)#tmp306:(0,4)#tmp307:(0,13)#tmp308:(0,13)#tmp309:(0,13)#tmp310:(0,4)#tmp311:(0,13)#tmp312:(0,13)value:(0,6)bytes:(0,104)=ar(0,1);0;1;(0,5)x:(0,1)#tmp313:(0,4)#tmp314:(0,13)#tmp315:(0,4)#tmp316:(0,13)#tmp317:(0,13)#tmp318:(0,13)#tmp319:(0,4)#tmp320:(0,13)#tmp321:(0,13)value:(0,6)bytes:(0,105)=ar(0,1);0;1;(0,5)x:(0,1)#tmp322:(0,4)#tmp323:(0,13)#tmp324:(0,4)#tmp325:(0,13)#tmp326:(0,13)#tmp327:(0,13)#tmp328:(0,4)#tmp329:(0,13)#tmp330:(0,13)value:(0,6)bytes:(0,106)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,107)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,108)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,109)=ar(0,1);0;1;(0,5)value:(0,6)bytes:(0,110)=ar(0,1);0;1;(0,5)CGMsetGraphSize:F(0,1)mf:p(0,92)num:p(0,1)code:p(0,1)size:p(0,14)cgmo:(0,20)ii:(0,1)ii:(0,1)ii:(0,1)ii:(0,1)CGMcloseSeg:F(0,1)mf:p(0,92)num:p(0,1)CGMsetGraphAttr:F(0,1)mf:p(0,92)num:p(0,1)code:p(0,1)attr:p(0,1)cgmo:(0,20)ii:(0,1)ii:(0,1)ii:(0,1)ii:(0,1)ii:(0,1)ii:(0,1)ii:(0,1)ii:(0,1)ii:(0,1)ii:(0,1)ii:(0,1)ii:(0,1)CGMsetTextFP:F(0,1)mf:p(0,92)num:p(0,1)txfp:p(28,144)i:(0,1)CGMsetCharUp:F(0,1)mf:p(0,92)num:p(0,1)up:p(28,125)base:p(28,125)ii:(0,1)ndc_up:(28,35)ndc_base:(28,35)CGMsetTextPath:F(0,1)mf:p(0,92)num:p(0,1)path:p(28,115)i:(0,1)CGMsetTextAlign:F(0,1)mf:p(0,92)num:p(0,1)align:p(0,111)=*(28,118)ii:(0,1)CGMsetFillStyle:F(0,1)mf:p(0,92)num:p(0,1)style:p(28,40)ii:(0,1)CGMsetPatSize:F(0,1)mf:p(0,92)num:p(0,1)#tmp331:(0,1)#tmp332:(0,1)#tmp333:(0,1)cgmo:(34,18)CGMsetPatRefpt:F(0,1)mf:p(0,92)num:p(0,1)#tmp334:(0,1)#tmp335:(0,1)#tmp336:(0,1)cgmo:(34,18)CGMsetAsf:F(0,1)mf:p(0,92)num:p(0,1)#tmp337:(0,1)#tmp338:(0,1)#tmp339:(0,1)cgmo:(34,18)CGMsetLineMarkRep:F(0,1)mf:p(0,92)num:p(0,1)code:p(0,1)idx:p(0,1)type:p(0,1)size:p(0,14)colour:p(0,1)CGMsetTextRep:F(0,1)mf:p(0,92)num:p(0,1)idx:p(0,1)rep:p(0,112)=*(28,141)CGMsetFillRep:F(0,1)mf:p(0,92)num:p(0,1)idx:p(0,1)rep:p(0,113)=*(28,41)CGMsetPatRep:F(0,1)mf:p(0,92)num:p(0,1)idx:p(0,1)rep:p(0,114)=*(28,120)CGMsetColRep:F(0,1)mf:p(0,92)num:p(0,1)idx:p(0,1)rep:p(34,8)ii:(0,1)cgmo:(0,20)CGMsetClip:F(0,1)mf:p(0,92)num:p(0,1)rect:p(0,115)=*(28,21)#tmp340:(0,1)#tmp341:(0,1)#tmp342:(0,1)cgmo:(34,18)CGMsetLimit:F(0,1)mf:p(0,92)num:p(0,1)code:p(0,1)rect:p(0,115)#tmp343:(0,1)#tmp344:(0,1)#tmp345:(0,1)cgmo:(34,18)CGMrenameSeg:F(0,1)mf:p(0,92)num:p(0,1)old:p(0,1)new:p(0,1)CGMsetSegTran:F(0,1)mf:p(0,92)num:p(0,1)name:p(0,1)matrix:p(0,116)=*(0,117)=ar(0,1);0;2;(0,13)CGMsetSegAttr:F(0,1)mf:p(0,92)num:p(0,1)name:p(0,1)code:p(0,1)attr:p(0,1)CGMsetSegVis:F(0,1)mf:p(0,92)num:p(0,1)name:p(0,1)vis:p(28,133)CGMsetSegHilight:F(0,1)mf:p(0,92)num:p(0,1)name:p(0,1)hilight:p(28,132)CGMsetSegPri:F(0,1)mf:p(0,92)num:p(0,1)name:p(0,1)pri:p(0,14)CGMsetSegDetect:F(0,1)mf:p(0,92)num:p(0,1)name:p(0,1)det:p(28,131)CGMmoClose:F(0,1)mf:p(0,92)status:(0,1)cgmo:(34,18)#tmp346:(0,1)header_written:S(0,1)header_id:S(0,1)header_class:S(0,1)cgm_buf:G(0,118)=ar(0,1);0;32765;(0,5)gksm.o_XgksMDate_XgksFeoln_XgksInputData_afsid_dummy_gksm_version_rcsid_XgksMAuthor_GMrecSize_fmt/a/groucho/unidata/ldm/src/xgks/src/lib/gksm/gksm.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../../port/udposix.h../../../port/stdlib.h../../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h/usr/local/lang/SC1.0/ansi_include/time.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/include/sys/utsname.h/usr/include/unistd.h/usr/include/sys/types.h../../../port/string.h../../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/string.h/usr/local/lang/SC1.0/ansi_include/math.h/usr/local/lang/SC1.0/ansi_include/ctype.h/usr/local/lang/SC1.0/ansi_include/assert.h../gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h../xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h../gks_defines.h../primitive.h../input.h../wdt.h../wslist.h../gkslist.h../gks_errors.h../event.h../metafile.h./gksm.h./gksm_implem.hmf_gksm:T(30,15)=s136type:(30,9),0,32;fp:(30,11),32,32;filestat:(0,1),64,32;CurItem:(24,94),96,64;GksmEmpty:(0,1),160,32;std:(36,1)=ar(0,1);0;4;(0,2),192,40;info:(36,2)=ar(0,1);0;40;(0,2),232,328;date:(36,3)=ar(0,1);0;8;(0,2),560,72;\ver:(0,1),640,32;h:(0,1),672,32;t:(0,1),704,32;l:(0,1),736,32;i:(0,1),768,32;r:(0,1),800,32;f:(0,1),832,32;ri:(0,1),864,32;\d1:(36,4)=ar(0,1);0;11;(0,2),896,96;d2:(36,5)=ar(0,1);0;11;(0,2),992,96;;mf_gksm:t(30,15)CHARPTR:t(5,2)INTPTR:t(24,2)POINTPTR:t(24,125)afsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;49;(0,2)gksm_version:S(0,1)dummy:S(0,19)=ar(0,1);0;11;(0,2)GMrecSize:f(0,1)type:p(0,1)XgksFeoln:f(0,1)fp:p(30,11)i:(0,1)#tmp0:(0,1)#tmp1:(0,1)#tmp2:(19,68)XgksInputData:f(0,1)fp:p(30,11)type:p(0,1)length:p(0,1)record:p(5,2)ptr1:(0,20)=*(34,2)ptr2:(0,21)=*(34,3)msg:(0,22)=*(34,4)graph:(0,23)=*(34,5)text:(0,24)=*(34,6)size:(0,25)=*(34,8)vec:(0,26)=*(34,9)asf:(0,27)=*(34,10)lmrep:(0,28)=*(34,12)txrep:(0,29)=*(34,13)flrep:(0,30)=*(34,14)patrep:(0,31)=*(34,15)corep:(0,32)=*(34,16)limit:(0,33)=*(34,17)tran:(0,34)=*(34,18)pri:(0,35)=*(34,21)cell:(0,36)=*(34,7)patref:(0,37)=*(34,23)patsiz:(0,38)=*(34,22)i:(0,1)j:(0,1)scratch:(0,39)=ar(0,1);0;79;(0,2)readcnt:(0,1)GMnextItem:F(0,1)mf:p(0,40)=*(30,12)i:(0,1)gksm:(30,14)fp:(30,11)XgksMAuthor:f(5,2)username:(5,2)name:(9,1)buffer:V(0,41)=ar(0,1);0;40;(0,2)nchr:(0,1)XgksMDate:f(5,2)clock:(0,4)date:V(0,42)=ar(0,1);0;8;(0,2)GMwriteItem:F(0,1)mf:p(0,40)num:p(0,1)type:p(0,1)length:p(0,1)data:p(5,2)imf:(0,1)i:(0,1)fp:(30,11)GMreadItem:F(0,1)mf:p(0,40)record:p(5,2)gksm:(30,14)fp:(30,11)GMmiOpen:F(0,1)mf:p(0,40)conn:p(5,2)status:(0,1)#tmp3:(30,14)gksm:(30,14)#tmp4:(30,11)fp:(30,11)i:(0,1)GMmiClose:F(0,1)mf:p(0,40)status:(0,1)#tmp5:(0,1)GMmoOpen:F(0,1)ws:p(30,6)status:(0,1)#tmp6:(30,14)fp:(30,11)GMmoClose:F(0,1)mf:p(0,40)status:(0,1)#tmp7:(0,1)GMclear:F(0,1)mf:p(0,40)num:p(0,1)flag:p(24,25)imf:(0,1)fp:(30,11)#tmp8:(0,1)GMredrawAllSeg:F(0,1)mf:p(0,40)num:p(0,1)imf:(0,1)fp:(30,11)GMupdate:F(0,1)mf:p(0,40)num:p(0,1)regenflag:p(24,130)imf:(0,1)fp:(30,11)#tmp9:(0,1)GMdefer:F(0,1)mf:p(0,40)num:p(0,1)defer_mode:p(24,32)regen_mode:p(24,33)imf:(0,1)defer:(0,1)regen:(0,1)fp:(30,11)GMmessage:F(0,1)mf:p(0,40)num:p(0,1)string:p(5,2)imf:(0,1)fp:(30,11)#tmp10:(0,1)#tmp11:(0,1)GMoutputGraphic:F(0,1)mf:p(0,40)num:p(0,1)code:p(0,1)num_pt:p(0,1)pos:p(24,125)imf:(0,1)fp:(30,11)i:(0,1)fp:(30,11)GMtext:F(0,1)mf:p(0,40)num:p(0,1)at:p(24,125)string:p(5,2)imf:(0,1)length:(0,1)#tmp12:(0,1)fp:(30,11)GMcellArray:F(0,1)mf:p(0,40)num:p(0,1)ll:p(24,125)ur:p(24,125)lr:p(24,125)row:p(0,1)colour:p(24,2)dim:p(0,43)=*(24,36)imf:(0,1)i:(0,1)j:(0,1)size:(0,1)fp:(30,11)GMsetGraphSize:F(0,1)mf:p(0,40)num:p(0,1)code:p(0,1)size:p(0,14)imf:(0,1)fp:(30,11)GMcloseSeg:F(0,1)mf:p(0,40)num:p(0,1)imf:(0,1)fp:(30,11)GMsetGraphAttr:F(0,1)mf:p(0,40)num:p(0,1)code:p(0,1)attr:p(0,1)imf:(0,1)fp:(30,11)GMsetTextFP:F(0,1)mf:p(0,40)num:p(0,1)txfp:p(24,144)imf:(0,1)prec:(0,1)fp:(30,11)GMsetCharUp:F(0,1)mf:p(0,40)num:p(0,1)up:p(24,125)base:p(24,125)imf:(0,1)ndc_up:(24,35)ndc_base:(24,35)fp:(30,11)GMsetTextPath:F(0,1)mf:p(0,40)num:p(0,1)path:p(24,115)imf:(0,1)txpath:(0,1)fp:(30,11)GMsetTextAlign:F(0,1)mf:p(0,40)num:p(0,1)align:p(0,44)=*(24,118)imf:(0,1)hor:(0,1)ver:(0,1)fp:(30,11)GMsetFillStyle:F(0,1)mf:p(0,40)num:p(0,1)style:p(24,40)imf:(0,1)intstyle:(0,1)fp:(30,11)GMsetPatSize:F(0,1)mf:p(0,40)num:p(0,1)imf:(0,1)fp:(30,11)GMsetPatRefpt:F(0,1)mf:p(0,40)num:p(0,1)imf:(0,1)fp:(30,11)GMsetAsf:F(0,1)mf:p(0,40)num:p(0,1)imf:(0,1)fp:(30,11)#tmp13:(0,1)#tmp14:(0,1)#tmp15:(0,1)#tmp16:(0,1)#tmp17:(0,1)#tmp18:(0,1)#tmp19:(0,1)#tmp20:(0,1)#tmp21:(0,1)#tmp22:(0,1)#tmp23:(0,1)#tmp24:(0,1)#tmp25:(0,1)GMsetLineMarkRep:F(0,1)mf:p(0,40)num:p(0,1)code:p(0,1)idx:p(0,1)type:p(0,1)size:p(0,14)colour:p(0,1)imf:(0,1)fp:(30,11)GMsetTextRep:F(0,1)mf:p(0,40)num:p(0,1)idx:p(0,1)rep:p(0,45)=*(24,141)imf:(0,1)prec:(0,1)fp:(30,11)GMsetFillRep:F(0,1)mf:p(0,40)num:p(0,1)idx:p(0,1)rep:p(0,46)=*(24,41)imf:(0,1)intstyle:(0,1)fp:(30,11)GMsetPatRep:F(0,1)mf:p(0,40)num:p(0,1)idx:p(0,1)rep:p(0,47)=*(24,120)imf:(0,1)size:(0,1)i:(0,1)fp:(30,11)GMsetColRep:F(0,1)mf:p(0,40)num:p(0,1)idx:p(0,1)rep:p(30,8)imf:(0,1)fp:(30,11)GMsetClip:F(0,1)mf:p(0,40)num:p(0,1)rect:p(0,48)=*(24,21)imf:(0,1)fp:(30,11)GMsetLimit:F(0,1)mf:p(0,40)num:p(0,1)code:p(0,1)rect:p(0,48)imf:(0,1)fp:(30,11)GMrenameSeg:F(0,1)mf:p(0,40)num:p(0,1)old:p(0,1)new:p(0,1)imf:(0,1)fp:(30,11)GMsetSegTran:F(0,1)mf:p(0,40)num:p(0,1)name:p(0,1)matrix:p(0,49)=*(0,50)=ar(0,1);0;2;(0,13)imf:(0,1)fp:(30,11)GMsetSegAttr:F(0,1)mf:p(0,40)num:p(0,1)name:p(0,1)code:p(0,1)attr:p(0,1)imf:(0,1)fp:(30,11)GMsetSegVis:F(0,1)mf:p(0,40)num:p(0,1)name:p(0,1)vis:p(24,133)imf:(0,1)fp:(30,11)#tmp26:(0,1)GMsetSegHilight:F(0,1)mf:p(0,40)num:p(0,1)name:p(0,1)hilight:p(24,132)imf:(0,1)fp:(30,11)#tmp27:(0,1)GMsetSegPri:F(0,1)mf:p(0,40)num:p(0,1)name:p(0,1)pri:p(0,14)imf:(0,1)fp:(30,11)GMsetSegDetect:F(0,1)mf:p(0,40)num:p(0,1)name:p(0,1)det:p(24,131)imf:(0,1)fp:(30,11)#tmp28:(0,1)fmt:S(0,51)=ar(0,1);0;79;(0,2)xcellarray.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/x/xcellarray.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../../port/udposix.h../../../port/stdlib.h../../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h../xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h../gks_defines.h../primitive.h../input.h../wdt.h../wslist.h../gkslist.h../gks_errors.h../event.h../metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;55;(0,2)xXgksCellarray:F(0,1)ws:p(19,6)cell_ptr:p(0,19)=*(16,6)dpy:(6,34)win:(0,8)gc:(6,29)ll:(6,60)lr:(6,60)ur:(6,60)ul:(6,60)pol2:(0,20)=ar(0,1);0;3;(6,60)pol:(0,21)=ar(0,1);0;3;(13,35)dx0:(0,13)dy0:(0,13)dx1:(0,13)dy1:(0,13)i:(0,1)j:(0,1)k:(0,1)nx:(0,1)clr:(0,1)cll:(13,2)clp:(13,2)row:(0,1)DX:(0,13)DY:(0,13)xcolours.o_MaskToMult_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/x/xcolours.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../../port/udposix.h../../../port/stdlib.h../../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h/usr/local/lang/SC1.0/ansi_include/assert.h../gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h../xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h../gks_defines.h../primitive.h../input.h../wdt.h../wslist.h../gkslist.h../gks_errors.h../event.h../metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;54;(0,2)xXgksSetColourRep:F(0,1)ws:p(20,6)idx:p(0,1)rep:p(20,8)ncolours:(0,1)xXgksInqColourRep:F(0,1)ws:p(20,6)idx:p(0,1)type:p(14,98)rep:p(20,8)dpy:(7,34)colour_ret:(7,58)XcNew:F(0,1)ws:p(20,6)XcInit:F(0,1)ws:p(20,6)vinfo:p(0,19)=*(13,10)ReturnStatus:(0,1)map:(0,20)=*(16,4)ToX:(0,21)=*(16,2)ToGKS:(0,21)nbytes:(0,7)#tmp0:(16,3)#tmp1:(16,3)i:r(0,1)#tmp2:(0,7)#tmp3:(7,82)#tmp4:(7,82)i:r(0,1)#tmp5:(0,8)MaskToMult:f(0,8)mask:p(0,8)mult:(0,8)XcSetColour:F(0,1)ws:p(20,6)GKSindex:p(0,1)GKSrep:p(20,8)ReturnStatus:(0,1)Xrep:(7,58)map:(0,20)ToX:(0,21)ToGKS:(0,21)SecondTry:V(0,1)pixel:(0,8)planes:(0,8)XcPixelValue:F(0,8)ws:p(20,6)ColourIndex:p(0,1)map:(0,20)PixelValue:(0,8)#tmp6:(0,8)XcColourIndex:F(0,1)ws:p(20,6)PixelValue:p(0,8)map:(0,20)ColourIndex:(0,1)#tmp7:(0,8)XcEnd:F(0,1)ws:p(20,6)map:(0,20)ToX:(0,21)ToGKS:(0,21)xevent.o_afsid_rcsid_SigCount_redraw/a/groucho/unidata/ldm/src/xgks/src/lib/x/xevent.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../../port/udposix.h../../../port/stdlib.h../../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/include/unistd.h/usr/include/sys/types.h../gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h../xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h../gks_defines.h../primitive.h../input.h../wdt.h../wslist.h../gkslist.h../gks_errors.h../event.h../metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;52;(0,2)redraw:f(0,1)ws:p(22,6)dpy:(11,34)win:(0,8)win_att:(11,39)xProcessEvents:F(0,16)i:(0,1)need_redraw:(0,19)=ar(0,1);0;9;(0,1)xev:(11,129)win:(0,8)ws:(22,6)xXgksSIGIOStart:F(0,1)ws:p(22,6)dpy:(11,34)pid:(0,1)SigCount:S(0,1)XgksSIGIO_OFF:F(0,1)dpy:p(11,34)XgksSIGIO_ON:F(0,1)dpy:p(11,34)pid:(0,1)xfillarea.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/x/xfillarea.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../../port/udposix.h../../../port/stdlib.h../../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h../xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h../gks_defines.h../primitive.h../input.h../wdt.h../wslist.h../gkslist.h../gks_errors.h../event.h../metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;54;(0,2)xXgksFillArea:F(0,1)ws:p(19,6)fill_ptr:p(0,19)=*(16,5)dpy:(6,34)win:(0,8)gc:(6,29)stipgc:(6,29)gcv:(6,27)xpe:(0,20)=*(6,60)ype:(0,20)ptt:(0,20)ptt1:(0,20)pixm:(0,8)fill_inter:(13,40)fill_style:(0,1)fill_colour:(0,1)idv_ptr:(0,21)=*(13,41)bdl_ptr:(0,21)bundl_ptr:(0,21)pe:(13,125)gi:(0,1)array:(13,2)ptr:(0,22)=*(13,42)i:(0,1)w:(0,1)h:(0,1)npnt:(0,1)n:(0,1)nn:(0,1)px:(0,1)py:(0,1)prev:(0,1)cur:(0,1)xopws.o_afsid_UpdateOpenWSTable_CreateGC_BoolResource_CreateWindow_InitDefaults_GetUsersDatabase_rcsid_AllocGroundColors_GetWindowGeometry_GetHomeDir_GetWMHints_InsureConn/a/groucho/unidata/ldm/src/xgks/src/lib/x/xopws.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../../port/udposix.h../../../port/stdlib.h../../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/include/unistd.h/usr/include/sys/types.h../../../port/string.h../../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/string.h/usr/include/pwd.h/usr/include/sys/types.hpasswd:T(13,1)=s36pw_name:(5,8),0,32;pw_passwd:(5,8),32,32;pw_uid:(0,1),64,32;pw_gid:(0,1),96,32;pw_age:(5,8),128,32;pw_comment:(5,8),160,32;pw_gecos:(5,8),192,32;pw_dir:(5,8),224,32;\pw_shell:(5,8),256,32;;comment:T(13,2)=s16c_dept:(5,8),0,32;c_name:(5,8),32,32;c_acct:(5,8),64,32;c_bin:(5,8),96,32;;/usr/local/lang/SC1.0/ansi_include/ctype.h../gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h../xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h../gks_defines.h../primitive.h../input.h../wdt.h../wslist.h../gkslist.h../gks_errors.h../event.h../metafile.h/usr/openwin/include/X11/Xresource.h/usr/include/sys/types.hXrmQuark:t(0,1)XrmQuarkList:t(22,2)XrmString:t(5,8).145fake:T(33,1)=eXrmBindTightly:0,XrmBindLoosely:1,;XrmBinding:t(33,1)XrmBindingList:t(33,2)=*(33,1)XrmName:t(0,1)XrmNameList:t(22,2)XrmClass:t(0,1)XrmClassList:t(22,2)XrmRepresentation:t(0,1).146fake:T(33,3)=s8size:(0,7),0,32;addr:(5,8),32,32;;XrmValue:t(33,3)XrmValuePtr:t(33,4)=*(33,3)XrmHashBucket:t(17,78)XrmHashTable:t(33,5)=*(17,78)XrmSearchList:t(33,6)=ar(0,1);0;-1;(33,5)XrmDatabase:t(17,78).147fake:T(33,7)=eXrmoptionNoArg:0,XrmoptionIsArg:1,XrmoptionStickyArg:2,XrmoptionSepArg:3,XrmoptionResArg:4,XrmoptionSkipArg:5,XrmoptionSkipLine:6,XrmoptionSkipNArgs:7,;XrmOptionKind:t(33,7).148fake:T(33,8)=s16option:(5,8),0,32;specifier:(5,8),32,32;argKind:(33,7),64,32;value:(5,8),96,32;;XrmOptionDescRec:t(33,8)XrmOptionDescList:t(33,9)=*(33,8)afsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;51;(0,2)xXgksOpenWs:F(0,1)wk:p(28,6)status:(0,1)basename:(5,8)rDB:(17,78)xev:(17,129)WinAtt:(17,39)#tmp0:(0,1)InsureConn:f(0,1)wk:p(28,6)status:(0,1)i:(0,1)wk_p:(28,6)ws:(28,6)#tmp1:(0,1)#tmp2:(17,34)ptr:(5,8)#tmp3:(0,1)#tmp4:(5,8)BoolResource:f(0,1)prog:p(5,8)name:p(5,8)class:p(5,8)rDB:p(17,78)ison:(0,1)name_key:(0,19)=ar(0,1);0;1023;(0,2)class_key:(0,20)=ar(0,1);0;1023;(0,2)str_type:(0,21)=ar(0,1);0;19;(5,8)value:(33,3)cp:(5,8)#tmp5:(0,1)CreateWindow:f(0,1)name:p(5,8)rDB:p(17,78)wk:p(28,6)status:(0,1)NumMatched:(0,1)dpy:(17,34)SizeHints:(21,2)xswa:(17,38)VisualTemplate:(21,10)VisualList:(0,22)=*(21,10)#tmp6:(0,1)#tmp7:(0,1)#tmp8:(0,8)win:(0,8)WMHints:(21,3)ClassHints:(21,6)CreateGC:f(0,16)dpy:p(17,34)win:p(0,8)wk:p(28,6)UpdateOpenWSTable:f(0,16)wk:p(28,6)i:(0,1)GetWindowGeometry:f(0,16)name:p(5,8)dpy:p(17,34)rDB:p(17,78)SizeHints:p(0,23)=*(21,2)buf:(0,24)=ar(0,1);0;1023;(0,2)str_type:(0,25)=ar(0,1);0;19;(5,8)value:(33,3)x:(0,1)y:(0,1)flags:(0,4)width:(0,7)height:(0,7)AllocGroundColors:f(0,16)wk:p(28,6)name:p(5,8)rDB:p(17,78)fg:p(22,2)bg:p(22,2)buf:(0,26)=ar(0,1);0;1023;(0,2)str_type:(0,27)=ar(0,1);0;19;(5,8)value:(33,3)Xrep:(17,58)GKSrep:(22,27)Xrep:(17,58)GKSrep:(22,27)GetWMHints:f(0,16)dpy:p(17,34)name:p(5,8)rDB:p(17,78)WMHints:p(0,28)=*(21,3)buf:(0,29)=ar(0,1);0;1023;(0,2)str_type:(0,30)=ar(0,1);0;19;(5,8)value:(33,3)#tmp9:(0,1)x:(0,1)y:(0,1)flags:(0,4)width:(0,7)height:(0,7)InitDefaults:f(0,1)name:p(5,8)dpy:p(17,34)rDB:p(33,5)status:(0,1)GetUsersDatabase:f(0,1)prog:p(5,8)rDB:p(33,5)dpy:p(17,34)status:(0,1)homeDB:(17,78)serverDB:(17,78)applicationDB:(17,78)filename:(0,31)=ar(0,1);0;1023;(0,2)environment:(5,8)name:(0,32)=ar(0,1);0;254;(0,2)appresdir:(5,8)len:(0,1)GetHomeDir:f(5,8)dest:p(5,8)uid:(0,6)pw:(0,33)=*(13,1)ptr:r(5,8)xXgksClearWs:F(0,1)wk:p(28,6)xXgksCloseWs:F(0,1)ws:p(28,6)xXgksHighLight:F(0,1)ws:p(28,6)bd:p(22,125)dpy:(17,34)win:(0,8)gc:(17,29)box:(0,34)=ar(0,1);0;4;(17,60)i:(0,1)xpline.o_afsid_pclip_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/x/xpline.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../../port/udposix.h../../../port/stdlib.h../../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h../xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h../gks_defines.h../primitive.h../input.h../wdt.h../wslist.h../gkslist.h../gks_errors.h../event.h../metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;51;(0,2).146fake:T(0,19)=s4is_above:(0,1),0,1;is_below:(0,1),1,1;is_right:(0,1),2,1;is_left:(0,1),3,1;;.145fake:T(0,20)=u4mask:(0,1),0,32;bits:(0,19),0,32;;Outcode:t(0,20).147fake:T(0,21)=s12pos:(13,35),0,64;code:(0,20),64,32;;CodedPoint:t(0,21).148fake:T(0,22)=s28old:(0,21),0,96;new:(0,21),96,96;clipped:(0,1),192,32;;point:t(0,22)pclip:f(0,16)ws:p(19,6)gpoints:p(13,125)npts:p(0,1)xpoints:p(0,23)=*(6,60)xmin:(0,13)xmax:(0,13)ymin:(0,13)ymax:(0,13)pt_a:(0,22)p1:(0,24)=*(0,22)gp:(13,125)lastpt:(13,125)xp:(0,23)pt_b:(0,22)p2:(0,24)pt:(0,24)xXgksPolyLine:F(0,1)ws:p(19,6)plin_ptr:p(0,25)=*(16,1)gc:(6,29)line_style:(0,1)i:(0,1)npnt:(0,1)gi:(0,1)xpe:(0,23)ype:(0,23)pe:(13,125)win:(0,8)dpy:(6,34)ptr:(0,26)=*(13,38)idv_ptr:(0,27)=*(13,37)bdl_ptr:(0,27)bundl_ptr:(0,27)line_width:(0,7)xpmarker.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/x/xpmarker.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../../port/udposix.h../../../port/stdlib.h../../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h../xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h../gks_defines.h../primitive.h../input.h../wdt.h../wslist.h../gkslist.h../gks_errors.h../event.h../metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;53;(0,2)xXgksPolyMarker:F(0,1)ws:p(19,6)pmk_ptr:p(0,19)=*(16,2)dpy:(6,34)win:(0,8)gc:(6,29)xpe:(0,20)=*(6,60)ype:(0,20)mark_type:(0,1)idv_ptr:(0,21)=*(13,60)bdl_ptr:(0,21)bundl_ptr:(0,21)pe:(13,125)gi:(0,1)ptr:(0,22)=*(13,61)i:(0,1)npnt:(0,1)mark_size:(0,13)XgksDrawMarkers:F(0,1)dpy:p(6,34)win:p(0,8)gc:p(6,29)pe:p(0,20)n:p(0,1)type:p(0,1)s:p(0,13)plus:(0,23)=ar(0,1);0;1;(6,59)star:(0,24)=ar(0,1);0;2;(6,59)cros:(0,25)=ar(0,1);0;1;(6,59)xseg:(0,26)=ar(0,1);0;4;(6,59)i:(0,1)j:(0,1)x0:(0,1)y0:(0,1)s1:(0,1)x:(0,13)y:(0,13)xport.o_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/x/xport.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)rcsid:S(0,17)=ar(0,1);0;56;(0,2)/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/include/sys/time.htimeval:T(4,1)=s8tv_sec:(0,4),0,32;tv_usec:(0,4),32,32;;timezone:T(4,2)=s8tz_minuteswest:(0,1),0,32;tz_dsttime:(0,1),32,32;;itimerval:T(4,3)=s16it_interval:(4,1),0,64;it_value:(4,1),64,64;;/usr/local/lang/SC1.0/ansi_include/time.h../../../port/udposix.h/usr/local/lang/SC1.0/ansi_include/stdio.h../../../port/signal.h../../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/signal.h/usr/include/sys/signal.h/usr/include/vm/faultcode.h/usr/include/sys/stdtypes.h/usr/include/sys/types.h/usr/local/lang/SC1.0/ansi_include/errno.h/usr/include/sys/errno.h/usr/local/lang/SC1.0/ansi_include/assert.h/usr/include/sys/ioctl.h/usr/include/sys/ttychars.httychars:T(19,1)=s14tc_erase:(0,2),0,8;tc_kill:(0,2),8,8;tc_intrc:(0,2),16,8;tc_quitc:(0,2),24,8;tc_startc:(0,2),32,8;tc_stopc:(0,2),40,8;tc_eofc:(0,2),48,8;tc_brkc:(0,2),56,8;\tc_suspc:(0,2),64,8;tc_dsuspc:(0,2),72,8;tc_rprntc:(0,2),80,8;tc_flushc:(0,2),88,8;tc_werasc:(0,2),96,8;tc_lnextc:(0,2),104,8;;/usr/include/sys/ttydev.h/usr/include/sys/ttold.htchars:T(21,1)=s6t_intrc:(0,2),0,8;t_quitc:(0,2),8,8;t_startc:(0,2),16,8;t_stopc:(0,2),24,8;t_eofc:(0,2),32,8;t_brkc:(0,2),40,8;;ltchars:T(21,2)=s6t_suspc:(0,2),0,8;t_dsuspc:(0,2),8,8;t_rprntc:(0,2),16,8;t_flushc:(0,2),24,8;t_werasc:(0,2),32,8;t_lnextc:(0,2),40,8;;sgttyb:T(21,3)=s6sg_ispeed:(0,2),0,8;sg_ospeed:(0,2),8,8;sg_erase:(0,2),16,8;sg_kill:(0,2),24,8;sg_flags:(0,3),32,16;;/usr/include/sys/ioccom.h/usr/include/sys/ttycom.hwinsize:T(23,1)=s8ws_row:(0,6),0,16;ws_col:(0,6),16,16;ws_xpixel:(0,6),32,16;ws_ypixel:(0,6),48,16;;ttysize:T(23,2)=s8ts_lines:(0,1),0,32;ts_cols:(0,1),32,32;;/usr/include/sys/filio.h/usr/include/sys/ioccom.h/usr/include/sys/sockio.h/usr/include/sys/ioccom.h../gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h../xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h../gks_defines.h../primitive.h../input.h../wdt.h../wslist.h../gkslist.h../gks_errors.h../event.h../metafile.hsio_off:F(0,1)act:(11,9)sio_on:F(0,1)handler:p(0,18)=*(0,19)=f(0,16)act:(11,9)sockspgrp:F(0,1)fd:p(0,1)pid:p(0,1)sockasync:F(0,1)fd:p(0,1)yes:p(0,1)zero:(0,1)one:(0,1)#tmp0:(1,8)XgksAwaitEvent:F(0,1)wslist:p(0,20)=*(40,6)nws:p(0,1)timeout:p(0,14)status:(0,1)width:(0,1)readfds:(1,9)timeval:(4,1)time_out:(0,21)=*(4,1)wsstop:(0,20)ws:(40,6)#tmp1:(0,22)=*(0,4)xtext.o_ApplyMatrix_xFyMin_xFyMax_xFxMax_wsr_colour_afsid_win_sndc_wt_sndc_ht_ck_ranges_wsr_spacing_xCopyMatrix_xMultMatrix_gc_xPlotStrokeChar_xIdentityMatrix_wsr_font_stroke_trans_FontTable_FirstTime_rcsid_dpy_DCYMAX_xComputeText_xTransMatrix_xReadFont/a/groucho/unidata/ldm/src/xgks/src/lib/x/xtext.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../../port/udposix.h/usr/local/lang/SC1.0/ansi_include/stdio.h../../../port/stdlib.h../../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/include/sys/stat.h/usr/include/sys/types.h/usr/include/fcntl.h/usr/include/sys/fcntlcom.h/usr/include/sys/stdtypes.hflock:T(12,1)=s16l_type:(0,3),0,16;l_whence:(0,3),16,16;l_start:(0,4),32,32;l_len:(0,4),64,32;l_pid:(0,3),96,16;l_xxx:(0,3),112,16;;eflock:T(12,2)=s24l_type:(0,3),0,16;l_whence:(0,3),16,16;l_start:(0,4),32,32;l_len:(0,4),64,32;l_pid:(0,3),96,16;l_xxx:(0,3),112,16;l_rpid:(0,4),128,32;l_rsys:(0,4),160,32;;/usr/include/sys/stat.h/usr/local/lang/SC1.0/ansi_include/math.h../gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h../xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h../gks_defines.h../primitive.h../input.h../wdt.h../wslist.h../gkslist.h../gks_errors.h../event.h../metafile.h../font.hvcharst:T(33,1)=s6vc_type:(0,2),0,8;vc_x:(0,3),16,16;vc_y:(0,3),32,16;;.145fake:T(33,2)=s1076fname:(33,3)=ar(0,1);0;29;(0,2),0,240;fnominalx:(0,3),240,16;fnominaly:(0,3),256,16;ftop:(0,3),272,16;fcap:(0,3),288,16;fhalf:(0,3),304,16;fbase:(0,3),320,16;fbottom:(0,3),336,16;\fcharoffset:(33,4)=ar(0,1);0;255;(0,1),352,8192;fchars:(33,5)=ar(0,1);0;0;(33,1),8544,48;;FONT:t(33,2)afsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;51;(0,2).146fake:T(0,19)=s8f_loaded:(0,1),0,32;f_font:(0,20)=*(33,2),32,32;;FirstTime:S(0,1)xComputeText:f(0,1)ws:p(28,6)tx:p(0,21)=*(25,4)idx:(0,1)xXgksText:F(0,1)ws:p(28,6)tx:p(0,21)string:(6,8)text_ptr:(6,8)atsndc:(22,35)cfont:(0,20)fsize:(0,13)fwidth:(0,13)xtrans:(0,13)ytrans:(0,13)cdef:(0,22)=*(33,1)i:(0,1)xPlotStrokeChar:f(0,1)cvp:p(0,22)LastType:(0,2)cnt:(0,1)tmp:(22,35)pt:(0,23)=*(17,60)pts:(0,24)=ar(0,1);0;99;(17,60)xFxMax:f(0,13)cvp:p(0,22)xFyMin:f(0,13)cvp:p(0,22)xFyMax:f(0,13)cvp:p(0,22)xReadFont:f(0,1)f:p(0,1)fontpath:(0,25)=ar(0,1);0;999;(0,2)fd:(0,1)size:(0,1)#tmp0:(0,20)xIdentityMatrix:f(0,1)m:p(0,26)=*(0,13)xTransMatrix:f(0,1)m:p(0,26)tx:p(0,13)ty:p(0,13)tm:(0,27)=ar(0,1);0;5;(0,13)newm:(0,28)=ar(0,1);0;5;(0,13)xCopyMatrix:f(0,1)dest:p(0,26)src:p(0,26)i:(0,1)xMultMatrix:f(0,1)a:p(0,26)b:p(0,26)c:p(0,26)ck_ranges:f(0,1)cdef:p(0,22)Xmin:p(0,26)Xmax:p(0,26)Ymin:p(0,26)Ymax:p(0,26)DoneBoth:(0,1)ApplyMatrix:f(0,1)m:p(0,26)in:p(22,125)out:p(22,125)xXgksInqTextExtent:F(0,1)ws:p(28,6)tx:p(0,21)ndc_points:p(22,125)start:(22,35)string:(6,8)atsndc:(22,35)cfont:(0,20)fsize:(0,13)fwidth:(0,13)xtrans:(0,13)ytrans:(0,13)Xmin:(0,13)Xmax:(0,13)Ymin:(0,13)Ymax:(0,13)XminFirst:(0,13)XmaxFirst:(0,13)YminFirst:(0,13)YmaxFirst:(0,13)cdef:(0,22)i:(0,1)xXgksMesg:F(0,1)ws:p(28,6)mesg:p(0,29)=*(25,3)loc_dpy:(17,34)loc_win:(0,8)loc_gc:(17,29)dc_pos:(22,35)height:(0,1)width:(0,1)tempwidth:(0,1)topheight:(0,1)x_pos:(17,60)x_clip:(17,61)MFontInfo:(17,140)loaded:V(0,1)#tmp1:(0,1)#tmp2:(0,1)#tmp3:(0,1)gc:S(17,29)win:S(0,8)dpy:S(17,34)FontTable:S(0,30)=ar(0,1);0;9;(0,19)DCYMAX:S(0,7)wsr_colour:S(0,8)wsr_font:S(0,1)wsr_spacing:S(0,13)stroke_trans:S(0,31)=ar(0,1);0;5;(0,13)sndc_wt:S(22,35)sndc_ht:S(22,35)xupdate.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/x/xupdate.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../../port/udposix.h../../../port/stdlib.h../../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h../xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h../gks_defines.h../primitive.h../input.h../wdt.h../wslist.h../gkslist.h../gks_errors.h../event.h../metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;52;(0,2)xXgksUpdateTrans:F(0,1)ws:p(19,6)D_WWX:(0,13)D_WWY:(0,13)D_WVX:(0,13)D_WVY:(0,13)D_DCX:(0,13)D_DCY:(0,13)D_XWX:(0,13)D_XWY:(0,13)scale_WT:(0,13)scale_DT:(0,13)flt1:(0,13)flt2:(0,13)xXgksUpdateClip:F(0,1)ws:p(19,6)event.o_afsid_Waiting_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/event.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../../port/string.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/string.h../../port/signal.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/signal.h/usr/include/sys/signal.h/usr/include/vm/faultcode.h/usr/include/sys/stdtypes.h/usr/include/sys/types.h/usr/local/lang/SC1.0/ansi_include/math.h/usr/local/lang/SC1.0/ansi_include/assert.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;51;(0,2)XgksEnqueueEvent:F(0,1)ws:p(0,1)dev:p(0,1)class:p(26,82)data:p(2,8)event_id:p(0,1)e:(30,13)gawaitevent:F(0,1)timeout:p(0,13)event:p(0,19)=*(26,83)iws:(0,1)nws:(0,1)wsbuf:(0,20)=ar(0,1);0;9;(32,6)wslist:(0,21)=*(32,6)active_device:(0,1)id:(30,11)ws:(32,6)gflushevents:F(0,1)ws_id:p(0,1)class:p(26,82)dev:p(0,1)ws:(32,6)e:(30,13)prev:(30,13)ginqinputoverflow:F(0,1)overflow:p(0,22)=*(26,127)ginqmoreevents:F(0,1)events:p(0,23)=*(26,137)ggetloc:F(0,1)response:p(0,24)=*(26,103)ggetstroke:F(0,1)response:p(0,25)=*(26,124)ggetchoice:F(0,1)response:p(0,26)=*(26,9)ggetpick:F(0,1)response:p(0,27)=*(26,113)ggetval:F(0,1)response:p(0,28)=*(0,13)ggetstring:F(0,1)response:p(2,8)Waiting:S(0,1)externinit.o_pttn0_pttn1_pttn2_pttn3_pttn4_pttn5_pttn6_pttn7_pttn8_pttn9_pttn10_pttn11_pttn12_pttn13_pttn14_pttn15_pttn16_pttn17_pttn18_pttn19/a/groucho/unidata/ldm/src/xgks/src/lib/externinit.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.hpttn0:S(0,17)=ar(0,1);0;15;(0,1)pttn1:S(0,18)=ar(0,1);0;15;(0,1)pttn2:S(0,19)=ar(0,1);0;15;(0,1)pttn3:S(0,20)=ar(0,1);0;15;(0,1)pttn4:S(0,21)=ar(0,1);0;15;(0,1)pttn5:S(0,22)=ar(0,1);0;15;(0,1)pttn6:S(0,23)=ar(0,1);0;15;(0,1)pttn7:S(0,24)=ar(0,1);0;15;(0,1)pttn8:S(0,25)=ar(0,1);0;15;(0,1)pttn9:S(0,26)=ar(0,1);0;15;(0,1)pttn10:S(0,27)=ar(0,1);0;15;(0,1)pttn11:S(0,28)=ar(0,1);0;15;(0,1)pttn12:S(0,29)=ar(0,1);0;63;(0,1)pttn13:S(0,30)=ar(0,1);0;63;(0,1)pttn14:S(0,31)=ar(0,1);0;63;(0,1)pttn15:S(0,32)=ar(0,1);0;63;(0,1)pttn16:S(0,33)=ar(0,1);0;255;(0,1)pttn17:S(0,34)=ar(0,1);0;255;(0,1)pttn18:S(0,35)=ar(0,1);0;255;(0,1)pttn19:S(0,36)=ar(0,1);0;255;(0,1)xgks_xpttn:G(0,37)=ar(0,1);0;20;(10,120)procname:G(0,38)=ar(0,1);0;196;(4,8)procname1000:G(0,39)=ar(0,1);0;16;(4,8)def_flbundl:G(0,40)=ar(0,1);0;4;(10,41)def_lnbundl:G(0,41)=ar(0,1);0;4;(10,37)def_mkbundl:G(0,42)=ar(0,1);0;4;(10,60)def_ptattr:G(12,11)def_txbundl:G(0,43)=ar(0,1);0;5;(10,141)progname:G(4,8)xgksDASHES:G(0,44)=ar(0,1);0;9;(16,3)input.o_afsid_DisCount_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/input.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)afsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;50;(0,2)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.h/usr/openwin/include/X11/cursorfont.h/usr/openwin/include/X11/keysymdef.hXgksInitIDev:F(0,1)ws:p(19,6)xswa:(6,38)XgksIDevAdd:F(0,16)ws:p(19,6)idev:p(17,11)XgksIDevDelete:F(0,1)ws:p(19,6)idev:(17,11)XgksIDevNew:F(17,11)new:(17,11)XgksIDevLookup:F(17,11)ws:p(19,6)dev:p(0,1)class:p(13,82)id:(17,11)XgksIProcessXEvent:F(0,1)xev:p(0,19)=*(6,129)ws:p(19,6)idev:(17,11)breakhit:(0,1)ksym:(0,8)dcpt:(13,35)xpt:(6,60)ea:(0,20)=*(13,21)xmev:(0,21)=*(6,95)current_event_id:V(0,1)#tmp0:(0,1)#tmp1:(0,1)DisCount:S(0,1)XgksIDevDisable:F(0,1)ws:p(19,6)idev:(17,11)XgksIDevEnable:F(0,1)ws:p(19,6)idev:(17,11)gp:(13,35)inqtransform.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/inqtransform.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;57;(0,2)ginqcurntrannum:F(0,1)tran:p(13,2)ginqntrannum:F(0,1)tranlist:p(0,19)=*(13,1)i:(0,1)ginqntran:F(0,1)num:p(0,1)tran:p(0,20)=*(13,155)ginqclip:F(0,1)clipping:p(0,21)=*(13,24)ginqmaxntrannum:F(0,1)maxtran:p(13,2)ginqwstran:F(0,1)ws_id:p(0,1)wstran:p(0,22)=*(13,156)ws:(19,6)locator.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/locator.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../../port/signal.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/signal.h/usr/include/sys/signal.h/usr/include/vm/faultcode.h/usr/include/sys/stdtypes.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;53;(0,2)ginitloc:F(0,1)ws_id:p(0,1)dev:p(0,1)init:p(0,19)=*(20,103)pet:p(0,1)area:p(0,20)=*(20,21)record:p(0,21)=*(20,50)ws:(26,6)idev:(24,11)gcvalues:(15,27)didx:(0,1)#tmp0:(0,1)#tmp1:(0,13)#tmp2:(0,1)#tmp3:(0,1)#tmp4:(0,1)#tmp5:(0,13)#tmp6:(0,1)#tmp7:(0,1)#tmp8:(0,1)gsetlocmode:F(0,1)ws_id:p(0,1)dev:p(0,1)mode:p(20,19)echo:p(20,20)ws:(26,6)idev:(24,11)gcvalues:(15,27)ndcpt:(20,35)nt:(0,20)greqloc:F(0,1)ws_id:p(0,1)dev:p(0,1)response:p(0,22)=*(20,122)ws:(26,6)idev:(24,11)gcvalues:(15,27)ndcpt:(20,35)nt:(0,20)gsampleloc:F(0,1)ws_id:p(0,1)dev:p(0,1)response:p(0,19)ws:(26,6)idev:(24,11)ndcpt:(20,35)ginqlocst:F(0,1)ws_id:p(0,1)dev:p(0,1)type:p(20,98)state:p(0,23)=*(20,104)ws:(26,6)idev:(24,11)ginqdefloc:F(0,1)type:p(8,5)dev:p(0,1)data:p(0,24)=*(20,51)ewstype:(26,2)i:(0,1)XgksLocUpdatePrompt:F(0,1)ws:p(26,6)idev:p(24,11)pstate:p(24,14)newdcpt:p(20,125)xmev:p(0,25)=*(15,95)event_id:p(0,1)ndcpt:(20,35)data:(0,19)rect:(15,61)segs:(0,26)=ar(0,1);0;1;(15,59)xpt:(15,60)xinitpt:(15,60)xpts:(0,27)=ar(0,1);0;1;(15,60)XgksLocDelete:F(0,1)ws:p(26,6)idev:p(24,11)pick.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/pick.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../../port/signal.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/signal.h/usr/include/sys/signal.h/usr/include/vm/faultcode.h/usr/include/sys/stdtypes.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;50;(0,2)ginitpick:F(0,1)ws_id:p(0,1)dev:p(0,1)init:p(0,19)=*(20,113)pet:p(0,1)area:p(0,20)=*(20,21)record:p(0,21)=*(20,55)ws:(26,6)idev:(24,11)gcvalues:(15,27)gsetpickmode:F(0,1)ws_id:p(0,1)dev:p(0,1)mode:p(20,19)echo:p(20,20)ws:(26,6)idev:(24,11)gcvalues:(15,27)greqpick:F(0,1)ws_id:p(0,1)dev:p(0,1)response:p(0,19)ws:(26,6)idev:(24,11)gcvalues:(15,27)gsamplepick:F(0,1)ws_id:p(0,1)dev:p(0,1)response:p(0,19)ws:(26,6)idev:(24,11)ndcpt:(20,35)ginqpickst:F(0,1)ws_id:p(0,1)dev:p(0,1)type:p(20,98)state:p(0,22)=*(20,114)ws:(26,6)idev:(24,11)ginqdefpick:F(0,1)type:p(8,5)dev:p(0,1)data:p(0,23)=*(20,56)ewstype:(26,2)i:(0,1)XgksPicUpdatePrompt:F(0,1)ws:p(26,6)idev:p(24,11)newdcpt:p(20,125)xmev:p(0,24)=*(15,95)event_id:p(0,1)data:(0,19)ndcpt:(20,35)rect:(15,61)XgksPicDelete:F(0,1)ws:p(26,6)idev:p(24,11)string.o_afsid_rcsid_MFontInfo_XgksCreateDefString/a/groucho/unidata/ldm/src/xgks/src/lib/string.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../../port/string.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/string.h../../port/signal.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/signal.h/usr/include/sys/signal.h/usr/include/vm/faultcode.h/usr/include/sys/stdtypes.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.h/usr/openwin/include/X11/keysymdef.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;52;(0,2)MFontInfo:S(18,141)XgksCreateDefString:f(0,1)ws:p(29,6)dev:p(0,1)idevp:p(0,19)=*(27,11)idev:(27,11)gcvalues:(18,27)loaded:V(0,1)ginitstring:F(0,1)ws_id:p(0,1)dev:p(0,1)init:p(11,5)pet:p(0,1)area:p(0,20)=*(23,21)record:p(0,21)=*(23,58)ws:(29,6)idev:(27,11)#tmp0:(0,1)#tmp1:(0,1)#tmp2:(0,1)gsetstringmode:F(0,1)ws_id:p(0,1)dev:p(0,1)mode:p(23,19)echo:p(23,20)ws:(29,6)idev:(27,11)greqstring:F(0,1)ws_id:p(0,1)dev:p(0,1)response:p(0,22)=*(23,123)ws:(29,6)idev:(27,11)gsamplestring:F(0,1)ws_id:p(0,1)dev:p(0,1)response:p(11,5)ws:(29,6)idev:(27,11)ginqstringst:F(0,1)ws_id:p(0,1)dev:p(0,1)state:p(0,23)=*(23,138)ws:(29,6)idev:(27,11)#tmp3:(0,1)ginqdefstring:F(0,1)type:p(11,5)dev:p(0,1)data:p(0,24)=*(23,59)ewstype:(29,2)XgksStrUpdatePrompt:F(0,1)ws:p(29,6)idev:p(27,11)pstate:p(27,14)xev:p(0,25)=*(18,93)event_id:p(0,1)dcpt:(23,35)xpt:(18,60)rect:(18,61)ksym:(0,8)keybuf:(0,26)=ar(0,1);0;1;(0,2)data:(11,5)count:(0,1)wid:(0,1)place:(0,1)#tmp4:(0,1)#tmp5:(0,1)#tmp6:(0,1)#tmp7:(0,1)#tmp8:(0,1)#tmp9:(0,1)#tmp10:(0,1)#tmp11:(0,1)#tmp12:(0,1)XgksStrDelete:F(0,1)ws:p(29,6)idev:p(27,11)stroke.o_afsid_rcsid_XgksCreateDefStroke/a/groucho/unidata/ldm/src/xgks/src/lib/stroke.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../../port/signal.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/signal.h/usr/include/sys/signal.h/usr/include/vm/faultcode.h/usr/include/sys/stdtypes.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/local/lang/SC1.0/ansi_include/math.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;52;(0,2)XgksCreateDefStroke:f(0,1)ws:p(27,6)dev:p(0,1)idevp:p(0,19)=*(25,11)gcvalues:(16,27)idev:(25,11)ginitstroke:F(0,1)ws_id:p(0,1)dev:p(0,1)init:p(0,20)=*(21,124)pet:p(0,1)area:p(0,21)=*(21,21)record:p(0,22)=*(21,66)ws:(27,6)idev:(25,11)gcvalues:(16,27)spt:(21,125)dpt:(21,125)i:(0,1)didx:(0,1)ptr:V(21,125)cnt:V(0,1)win:V(0,21)#tmp0:(0,1)#tmp1:(0,1)#tmp2:(0,1)#tmp3:(21,125)#tmp4:(21,125)#tmp5:(21,125)gsetstrokemode:F(0,1)ws_id:p(0,1)dev:p(0,1)mode:p(21,19)echo:p(21,20)ws:(27,6)idev:(25,11)spt:(21,125)dpt:(21,125)ndcpt:(21,35)wcpt:(21,35)i:(0,1)#tmp6:(21,125)nt:(0,21)#tmp7:(21,125)#tmp8:(21,125)nt:(0,21)nt:(0,21)greqstroke:F(0,1)ws_id:p(0,1)dev:p(0,1)response:p(0,23)=*(21,126)ws:(27,6)idev:(25,11)spt:(21,125)dpt:(21,125)ndcpt:(21,35)ndcpts:(21,125)wcpt:(21,35)i:(0,1)#tmp9:(21,125)nt:(0,21)#tmp10:(21,125)#tmp11:(21,125)nt:(0,21)nt:(0,21)#tmp12:(21,125)#tmp13:(21,125)gsamplestroke:F(0,1)ws_id:p(0,1)dev:p(0,1)response:p(0,20)ws:(27,6)idev:(25,11)spt:(21,125)dpt:(21,125)ndcpts:(21,125)i:(0,1)#tmp14:(21,125)#tmp15:(21,125)ginqstrokest:F(0,1)ws_id:p(0,1)dev:p(0,1)type:p(21,98)state:p(0,24)=*(21,140)ws:(27,6)idev:(25,11)spt:(21,125)dpt:(21,125)i:(0,1)#tmp16:(21,125)#tmp17:(21,125)#tmp18:(21,125)ginqdefstroke:F(0,1)type:p(8,5)dev:p(0,1)data:p(0,25)=*(21,67)ewstype:(27,2)XgksStkUpdatePrompt:F(0,1)ws:p(27,6)idev:p(25,11)pstate:p(25,14)newdcpt:p(21,125)xmev:p(0,26)=*(16,95)event_id:p(0,1)prev:(21,35)ndcpt:(21,35)ndcpts:(21,125)spt:(21,125)dpt:(21,125)data:(0,20)rect:(16,61)xpts:(0,27)=*(16,60)xpoints:(0,27)i:(0,1)#tmp19:(0,27)#tmp20:(21,125)#tmp21:(0,27)#tmp22:(21,125)#tmp23:(0,27)#tmp24:(21,125)#tmp25:(21,125)#tmp26:(21,125)XgksStkDelete:F(0,1)ws:p(27,6)idev:p(25,11)XgksXDrawLines:F(0,1)dpy:p(16,34)win:p(0,8)gc:p(16,29)xpts:p(0,27)npts:p(0,1)mode:p(0,1)i:(0,1)#tmp27:(0,28)=*(0,3)#tmp28:(0,28)#tmp29:(0,28)#tmp30:(0,28)valuator.o_afsid_XgksSetValEchoAttr_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/valuator.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../../port/signal.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/signal.h/usr/include/sys/signal.h/usr/include/vm/faultcode.h/usr/include/sys/stdtypes.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;54;(0,2)XgksSetValEchoAttr:f(0,16)ValPtr:p(0,19)=*(24,6)e:(0,20)=*(20,21)Low:(0,13)High:(0,13)#tmp0:(0,13)#tmp1:(0,13)ginitval:F(0,1)ws_id:p(0,1)dev:p(0,1)init:p(0,13)pet:p(0,1)area:p(0,20)record:p(0,21)=*(20,71)ws:(26,6)idev:(24,11)gcvalues:(15,27)gsetvalmode:F(0,1)ws_id:p(0,1)dev:p(0,1)mode:p(20,19)echo:p(20,20)ws:(26,6)idev:(24,11)gcvalues:(15,27)gp:(20,35)greqval:F(0,1)ws_id:p(0,1)dev:p(0,1)response:p(0,22)=*(20,128)ws:(26,6)idev:(24,11)gcvalues:(15,27)gp:(20,35)gp:(20,35)gsampleval:F(0,1)ws_id:p(0,1)dev:p(0,1)response:p(0,23)=*(0,13)ws:(26,6)idev:(24,11)ginqvalst:F(0,1)ws_id:p(0,1)dev:p(0,1)state:p(0,24)=*(20,145)ws:(26,6)idev:(24,11)Low:(0,13)ginqdefval:F(0,1)type:p(8,5)dev:p(0,1)data:p(0,25)=*(20,72)ewstype:(26,2)i:(0,1)XgksValUpdatePrompt:F(0,1)ws:p(26,6)idev:p(24,11)pstate:p(24,14)newdcpt:p(20,125)xmev:p(0,26)=*(15,95)event_id:p(0,1)data:(0,23)CurPos:(0,13)dcpt:(20,35)dcmin:(20,35)dcmax:(20,35)e_rect:(15,61)old_rect:(15,61)new_rect:(15,61)xpt:(15,60)xptmin:(15,60)xptmax:(15,60)#tmp2:(0,13)#tmp3:(0,13)#tmp4:(0,13)#tmp5:(0,13)#tmp6:(0,13)bbr_xpt:(0,13)bbr_ypt:(0,13)bbr_xpt:(0,13)bbr_ypt:(0,13)bbr_xpt:(0,13)bbr_ypt:(0,13)XgksValDelete:F(0,1)ws:p(26,6)idev:p(24,11)xSet.o_afsid_rcsid/a/groucho/unidata/ldm/src/xgks/src/lib/x/xSet.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../../port/udposix.h../../../port/stdlib.h../../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h../xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h../gks_defines.h../primitive.h../input.h../wdt.h../wslist.h../gkslist.h../gks_errors.h../event.h../metafile.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;49;(0,2)xXgksSetForeground:F(0,1)dpy:p(6,34)gc:p(6,29)fg:p(0,8)xXgksSetLineAttributes:F(0,1)dpy:p(6,34)gc:p(6,29)line_width:p(0,7)line_style:p(0,1)cap_style:p(0,1)join_style:p(0,1)xXgksSetStipple:F(0,1)dpy:p(6,34)gc:p(6,29)stipple:p(0,8)xXgksSetDashes:F(0,1)dpy:p(6,34)gc:p(6,29)ws:p(19,6)i:p(0,1)xXgksSetTile:F(0,1)dpy:p(6,34)gc:p(6,29)tile:p(0,8)xXgksSetClipMask:F(0,1)dpy:p(6,34)gc:p(6,29)pixmap:p(0,8)xXgksSetPlineClipRectangles:F(0,1)dpy:p(6,34)gc:p(6,29)ws:p(19,6)rectangle:p(0,19)=*(6,61)xXgksSetPmarkerClipRectangles:F(0,1)dpy:p(6,34)gc:p(6,29)ws:p(19,6)rectangle:p(0,19)xXgksSetFillAreaClipRectangles:F(0,1)dpy:p(6,34)gc:p(6,29)ws:p(19,6)rectangle:p(0,19)xXgksSetTextClipRectangles:F(0,1)dpy:p(6,34)gc:p(6,29)ws:p(19,6)rectangle:p(0,19)xXgksSetFillStyle:F(0,1)dpy:p(6,34)gc:p(6,29)fill_style:p(0,1)choice.o_afsid_rcsid_MFontInfo/a/groucho/unidata/ldm/src/xgks/src/lib/choice.cint:t(0,1)=r(0,1);-2147483648;2147483647;char:t(0,2)=r(0,2);0;127;short:t(0,3)=r(0,1);-32768;32767;long:t(0,4)=r(0,1);-2147483648;2147483647;unsigned char:t(0,5)=r(0,1);0;255;unsigned short:t(0,6)=r(0,1);0;65535;unsigned int:t(0,7)=r(0,1);0;-1;unsigned long:t(0,8)=r(0,1);0;-1;signed char:t(0,9)=r(0,1);-128;127;signed short:t(0,10)=r(0,1);-32768;32767;signed int:t(0,11)=r(0,1);-2147483648;2147483647;signed long:t(0,12)=r(0,1);-2147483648;2147483647;float:t(0,13)=r(0,1);4;0;double:t(0,14)=r(0,1);8;0;long double:t(0,15)=r(0,1);16;0;void:t(0,16)=(0,16)../../port/udposix.h/usr/local/lang/SC1.0/ansi_include/stdio.h../../port/stdlib.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/stdlib.h../../port/signal.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/signal.h/usr/include/sys/signal.h/usr/include/vm/faultcode.h/usr/include/sys/stdtypes.h/usr/include/sys/types.h/usr/include/sys/stdtypes.h/usr/include/sys/sysmacros.h../../port/string.h../../port/udposix.h///usr/local/lang/SC1.0/ansi_include/string.h./gks_implem.h/usr/openwin/include/X11/Xlib.h/usr/include/sys/types.h/usr/openwin/include/X11/X.h/usr/openwin/include/X11/Xatom.h/usr/openwin/include/X11/Xutil.h./xgks.h/usr/local/lang/SC1.0/ansi_include/stdio.h./gks_defines.h./primitive.h./input.h./wdt.h./wslist.h./gkslist.h./gks_errors.h./event.h./metafile.h/usr/openwin/include/X11/keysymdef.hafsid:S(0,17)=ar(0,1);0;10;(0,2)rcsid:S(0,18)=ar(0,1);0;52;(0,2)MFontInfo:S(19,140)ginitchoice:F(0,1)ws_id:p(0,1)dev:p(0,1)init:p(0,19)=*(24,9)pet:p(0,1)area:p(0,20)=*(24,21)record:p(0,21)=*(24,18)ws:(30,6)idev:(28,11)gcvalues:(19,27)f:(24,13)d:(24,15)s:(24,15)number:(0,1)i:(0,1)maxwidth:(0,1)width:(0,1)menustr:(24,15)dcpt:(24,35)rect:(19,61)xpt:(19,60)loaded:V(0,1)#tmp0:(24,13)#tmp1:(24,15)#tmp2:(0,1)#tmp3:(24,15)#tmp4:(24,15)#tmp5:(0,1)#tmp6:(24,15)#tmp7:(0,1)#tmp8:(24,15)gsetchoicemode:F(0,1)ws_id:p(0,1)dev:p(0,1)mode:p(24,19)echo:p(24,20)gcvalues:(19,27)ws:(30,6)idev:(28,11)loaded:V(0,1)greqchoice:F(0,1)ws_id:p(0,1)dev:p(0,1)response:p(0,19)gcvalues:(19,27)ws:(30,6)idev:(28,11)loaded:V(0,1)#tmp9:(0,1)gsamplechoice:F(0,1)ws_id:p(0,1)dev:p(0,1)response:p(0,19)ws:(30,6)idev:(28,11)#tmp10:(0,1)ginqchoicest:F(0,1)ws_id:p(0,1)dev:p(0,1)state:p(0,22)=*(24,22)ws:(30,6)idev:(28,11)f:(24,13)s:(24,15)d:(24,15)number:(0,1)i:(0,1)#tmp11:(24,13)#tmp12:(24,15)#tmp13:(0,1)#tmp14:(24,15)#tmp15:(24,15)ginqdefchoice:F(0,1)type:p(9,5)dev:p(0,1)data:p(0,23)=*(24,31)ewstype:(30,2)XgksChoUpdatePrompt:F(0,1)ws:p(30,6)idev:p(28,11)pstate:p(28,14)xmev:p(0,24)=*(19,94)event_id:p(0,1)dcpt:(24,35)rect:(19,61)xpt:(19,60)itempos:(19,60)i:(0,1)number:(0,1)menustr:(24,15)data:(0,19)ksym:(0,8)GoodKey:(0,1)#tmp16:(0,1)#tmp17:(0,1)#tmp18:(24,15)#tmp19:(0,1)#tmp20:(0,1)#tmp21:(0,1)#tmp22:(0,1)XgksChoDelete:F(0,1)ws:p(30,6)idev:p(28,11)i:(0,1)s:(24,15)#tmp23:(24,15)_crt2.ofabs.ocos.osin.o__cos.o__rem_pio2.o_TBL_ipio2.o_sccsid__rem_pio2m.o__fp_pi.o__sin.o_TBL_cos.o_sccsid_TBL_sin.o_sccsidrndint.oieee_func.osqrt.o__SVID_error.omatherr.oremainder.ofmod.orint.o-lglibg.s_Q_div.o_Q_dtoq.o_Q_fcc.o_Q_cmp.o_Q_cmpe.o_Q_itoq.o_Q_mul.o_Q_neg.o_Q_qtod.o_Q_qtoi.o_Q_stoq.o_Q_sub.o_Q_add.o_Q_get_rp_rd.o_Qfaddsub.o_Qfcompare.o_Qfdiv.o_Qfmul.o_Qfpack.o_Qfunpack.o_Qfutility.o__f77_base.o_swapFLAGS.ofinite.ofix_libc_.odoprnt.odoscan.odecimal_bin.o__tbl_ntens.o_base_sup.ofile_decim.ofp_class.ofp_convert.ofunc_decim.ogconvert.oieee_retro.o__ieee_retro.oieee_vals.oir_fp_class_.opack_float.oqeconvert.or_bessel_.ojn.oj0.oj1.ocbrt.or_erf_.oerf.or_ieee_vals_.oseconvert.o__flt_decim.o__gconvert.oeconvert.odouble_decim.o__floatprint.o__tbl_baselg.o__tbl_fdq.o__tbl_tens.o__x_power.o__tbl_10_b.o__tbl_10_h.o__tbl_10_s.o__tbl_2_b.o__tbl_2_h.o__tbl_2_s.o_sprintf_sup.o_base_il4.osigfpe.osinpi.ostring_decim.ounpack_float.o_unpack_dble.olog.o_tbl_log.oexp.o_etext_edata_endstart_MAIN_start_float_environ___start_libmcg87_used_gtx__guwk__gscr__gclks__gclwk__gdawk__gschh__gacwk__gopwk__gopks__gclrwk__gstxal__gstxci__wtypes_forttext_gmessage_gclearws_gclosews_gopengks_currforttext_umalloc_gredrawsegws_errfp_gmsg__gsds__ginqavailwstypes_error_lun_gupdatews_gclosegks_urealloc_xgks_connection_gdeactivatews_gmsgs__ufree_fortpoints_gerrorhand_getlunname_currfortpoints_NUMWTYPES_fortint_grsgwk__gopenws_currfortint_gactivatews_gsetdeferst_gerrorlog_gerlog__gerhnd__geclks__gemergencyclosegks_set_fname__inqlun__gca__gfa__gpm__gpl__ggdp__gtxs__g_gdp_gtext_gfillarea_gpolyline_gcellarray_gpolymarker_gsetcolourrep_gsetmarkerrep_gspar__gsfar__gstxr__gspmr__gsplr__gsetpatrep_gsetfillrep_gsettextrep_gsetlinerep_gsetmarkercolourind_gsetlinetype_gsettextpath_gsetpatrefpt_gspa__gsmk__gsln__gsettextfontprec_gsetfillstyleind_gsetfillintstyle_gsetmarkerind_gsetcharspace_gsetlinewidth_gsettextalign_gsetcharexpan_gsasf__gsfai__gstxp__gstxi__gspmi__gspli__gsetfillcolourind_gsettextcolourind_gsetlinecolourind_gsetpickid_gsetcharup_gsetmarkersize_gsetmarkertype_gsetcharheight_gsparf__gspkid__gsfaci__gsfasi__gsfais__gschup__gschsp__gschxp__gstxfp__gspmci__gsmksc__gsplci__gslwsc__gsetasf_gsetfillind_gsettextind_gsetlineind_gsetpatsize_xgks_state_XgksValidWsId_XgksWsCategory_XgksMoDeactivateWs_XgksMoActivateWs_XgksInitGksAsf_XgksMoSetAsf_XgksMoCellArray_XgksNewPrimi_XgksProcessPrimi_xXgksInqColourRep_xXgksSetColourRep_ginqcolourfacil_XgksSIGIO_OFF_XgksMaxColours_ginqcolourrep_XgksMoSetColourRep_ginqpredcolourrep_ginqcolourindices_XgksSIGIO_ON_XcPixelValue_XgksWsTypeToEnum_XgksMoDeferWs_XgksReDrawSegWs_XgksMoSetGraphicAttr_xgks_xpttn_XgksMoSetFillIntStyle_def_ptattr_XgksMoSetPatRef_XgksMoSetPatRep_XgksInitWssFillArea_XgksInitGksFillArea_XgksMoGraphicOutput_def_flbundl_XgksMoSetPatSize_XgksMoSetFillRep_ginqavailgdp_ginqgdp_procname_gcloseseg_procname1000_ginqwsst_ginqwsdeferupdatest_ginqdisplayspacesize_ginqmodwsattr_ginqmaxwssttables_ginqnumavailinput_ginqwsconntype_ginqdefdeferst_ginqwscategory_ginqwsclass_XgksMoMessage_GMsetFillStyle_GMsetGraphSize_GMredrawAllSeg_GMsetTextAlign_GMsetGraphAttr_GMsetSegDetect_GMdefer_GMclear_CGMcloseSeg_CGMnextItem_CGMreadItem_CGMsetLimit_XgksMoSetGraphicSize_XgksSetFillPatAttrMo_XgksMoSetLineMarkRep_XgksMoSetSegAttrOnWs_XgksMoSetPatSizeOnWs_ggetgksm_XgksMoSetClip_XgksMoClearWs_XgksMoCloseWs_XgksMiCloseWs_GMsetTextFP_GMrenameSeg_GMsetSegPri_GMwriteItem_GMsetColRep_GMsetPatRep_GMsetCharUp_GMsetSegVis_GMcellArray_CGMsetFillStyle_CGMsetGraphSize_CGMredrawAllSeg_CGMsetTextAlign_CGMsetGraphAttr_CGMsetSegDetect_XgksMoSetGraphicAttrOnWs_XgksMoSetGraphicSizeOnWs_CGMdefer_CGMclear_gsetwswindow_XgksMoSetTextPath_XgksSetTextAttrMo_XgksSetMarkAttrMo_XgksSetLineAttrMo_XgksMoSetSegTrans_XgksMoSetClipOnWs_GMoutputGraphic_GMsetSegHilight_XgksMoText_GMupdate_GMsetAsf_GMmoOpen_GMmiOpen_CGMsetTextFP_CGMrenameSeg_CGMsetSegPri_CGMwriteItem_CGMsetColRep_CGMsetPatRep_CGMsetCharUp_CGMsetSegVis_CGMcellArray_sqrt_XgksMoSetSegTransOnWs_XgksMoSetTextPathOnWs_greadgksm_XgksMoCloseSeg_XgksMoTextToWs_XgksMoUpdateWs_XgksMoSetLimit_GMsetPatSize_GMsetSegTran_GMsetFillRep_GMsetTextRep_GMsetSegAttr_CGMoutputGraphic_CGMsetSegHilight_XgksMoSetFillIntStyleOnWs_CGMupdate_CGMsetAsf_CGMmoOpen_CGMmiOpen_XgksMoReDrawAllSeg_XgksMoSetTextAlign_XgksMoCloseSegOnWs_GMsetLineMarkRep_GMmessage_GMmoClose_GMmiClose_GMsetClip_CGMsetPatSize_CGMsetSegTran_CGMsetFillRep_CGMsetTextRep_CGMsetSegAttr_XgksMoSetTextAlignOnWs_XgksMoSetTextFP_grenameseg_gcreateseg_gwritegksm_ginterpret_XgksMoRenameSeg_XgksMoSetSegPri_XgksMoSetCharUp_XgksProcessClip_XgksMoSetSegVis_XgksMoSetSegDet_GMsetTextPath_GMsetPatRefpt_CGMsetLineMarkRep_GMtext_CGMmessage_CGMmoClose_CGMmiClose_CGMsetClip_gsetwsviewport_XgksMoSetSegPriOnWs_XgksMoSetPatRefOnWs_XgksMoSetCharUpOnWs_XgksMoSetTextFPOnWs_XgksMoCellArrayToWs_XgksMoSetSegHiLight_XgksInitGksM_gdelseg_XgksMoOpenWs_XgksMiOpenWs_GMcloseSeg_GMnextItem_GMreadItem_GMsetLimit_CGMsetTextPath_CGMsetPatRefpt_XgksMoGraphicOutputToWs_CGMtext_gsetsegattr_ginqsegattr_XgksMoSetTextRep_XgksMoSetAsfOnWs_XgksInitGksPlines_XgksInitGksText_XgksInitGksSegments_XgksInitGksPmarkers_XgksInitGksTrans_XgksCleanUpWsSegList_XgksReDrawSeg_XgksGReDrawWs_XgksXReDrawWs_xXgksCellarray_gflushevents_XgksAppendWsPrimi_XgksInitWssPlines_XgksWsWinInterset_xXgksOpenWs_XgksIDevEnable_XgksIDevDelete_XgksOutputToWs_xXgksUpdateClip_xXgksPolyMarker_XgksUnpendPendingTrans_xXgksClearWs_xXgksCloseWs_XgksIDevDisable_XgksDelAllMoSeg_XgksInsertPrimi_XgksDeletePrimi_XgksInitWssText_XgksInsertMesgPrimi_XgksInitWssPmarkers_XgksUpdateWsSegList_xXgksMesg_xXgksText_XgksDrawToWs_XgksReDrawWs_XgksInitIDev_XcNew_xXgksFillArea_xXgksPolyLine_XgksDeleteAllSeg_XgksAppendWsClip_XgksUpdateWsClip_XgksInitWssTrans_def_lnbundl_def_mkbundl_XgksUpdatePrimiBound_XgksAppendSegClip_XgksAppendSegPrimi_XgksDuplicatePrimi_XgksMiniMax_fabs_ginqnameopenseg_xXgksHighLight_ginqsegnames_xXgksInqTextExtent_gdelsegws_ginqcurpickid_ginqnumsegpri_ginsertseg_gcopysegws_XgksFindPickSeg_XgksDrawSegToWs_ginqmodsegattr_ginqsegnamesws_XgksShowPick_ginqassocws_gassocsegws_XgksComputeVec_ginqtextextent_def_txbundl_sin_gsetclip_gsetviewport_gevaltran_gselntran_XgksFindNTrans_gsetviewportinputpri_XgksFindNTransNpts_cos_gaccumtran_gsetwindow_xXgksUpdateTrans_mi_point_cgm_buf_ginqclip_XcColourIndex_XcInit_XcSetColour_XcEnd_sio_off_xProcessEvents_xXgksSIGIOStart_XgksIProcessXEvent_sockasync_sockspgrp_sio_on_xXgksSetFillStyle_xXgksSetForeground_xXgksSetLineAttributes_xXgksSetStipple_xXgksSetFillAreaClipRectangles_xXgksSetTile_progname_xXgksSetDashes_xXgksSetPlineClipRectangles_xXgksSetPmarkerClipRectangles_XgksDrawMarkers_XgksAwaitEvent_xXgksSetTextClipRectangles_ggetpick_ginqinputoverflow_ggetchoice_ggetstroke_ggetstring_ginqmoreevents_ggetloc_ggetval_gawaitevent_XgksEnqueueEvent_xgksDASHES_XgksStrDelete_XgksPicDelete_XgksChoDelete_XgksValDelete_XgksStkDelete_XgksLocDelete_XgksIDevLookup_XgksIDevAdd_XgksIDevNew_XgksStkUpdatePrompt_XgksStrUpdatePrompt_XgksPicUpdatePrompt_XgksValUpdatePrompt_XgksChoUpdatePrompt_XgksLocUpdatePrompt_ginqmaxntrannum_ginqcurntrannum_ginqntrannum_ginqntran_ginqwstran_ginitloc_ginqlocst_ginqdefloc_gsampleloc_greqloc_gsetlocmode_greqpick_gsetpickmode_ginitpick_ginqpickst_ginqdefpick_gsamplepick_ginqstringst_ginqdefstring_gsamplestring_greqstring_gsetstringmode_ginitstring_ginqstrokest_XgksXDrawLines_ginqdefstroke_gsamplestroke_greqstroke_gsetstrokemode_ginitstroke_ginitval_ginqvalst_ginqdefval_gsampleval_greqval_gsetvalmode_xXgksSetClipMask_ginqchoicest_ginqdefchoice_gsamplechoice_greqchoice_gsetchoicemode_ginitchoice_copysign___sin___cos___rem_pio2__TBL_cos_hi__TBL_sin_hi__TBL_cos_lo_fp_pi__TBL_ipio2_53__TBL_ipio2_66__TBL_ipio2_inf___rem_pio2m_aint_scalbn__TBL_sin_lo_anint_nint_rint_irint_issubnormal_signbit_isnormal_ilogb_isinf_iszero_SVID_libm_err_matherr_fp_direction_remainder_fmod__Q_get_rp_rd__Q_set_exception_fp_precision__Q_div__fp_unpack__fp_div__fp_current_exceptions__fp_pack__Q_dtoq__Q_fle__Q_fge__Q_fne__Q_cmp__Q_feq__Q_flt__Q_fgt__Q_cmpe__fp_compare__Q_itoq__Q_mul__fp_mul__Q_neg__Q_qtod__Q_qtoi__Q_stoq__Q_sub__fp_sub__Q_add__fp_add_fpu_normalize_fpu_error_nan_fpu_neg2wc_fpu_sub3wc_fpu_add3wc_fpu_rightshift_fpu_cmpli_fpu_set_exception__fp_sqrt_unpackdouble_unpacksingle___double_to_decimal___nox_double_to_decimal___nox_single_to_decimal___nan_written___inf_written___base_conversion_write_only_double___class_quadruple___nan_read___inf_read__fp_current_precision__fp_current_direction___class_double___class_single___quadruple_to_decimal___nox_quadruple_to_decimal__swapRD__swapTE__swapRP__swapEX_finite_func_to_decimal_file_to_decimal_decimal_to_extended_extended_to_decimal___pack_single___pack_double_fix_libc__decimal_to_single_decimal_to_double_double_to_decimal__doscan__doprnt_sgconvert_sfconvert_seconvert___pack_extended___unpack_single___unpack_double_sigfpe_string_to_decimal_single_to_decimal_econvert_fconvert_gconvert__mkarglst___quorem10000___four_digits_quick_table__getarg_qgconvert_qfconvert_qeconvert_decimal_to_quadruple___integerstring_to_big_decimal___big_float_times_power___base_conversion_abort___pack_quadruple___inrange_double___inrange_single___set_ieee_flags___get_ieee_flags___free_big_float___inrange_quadex___decimal_to_binary_integer___big_decimal_to_big_binary___fractionstring_to_big_decimal___base_conversion_set_exception___big_binary_to_unpacked___decimal_to_binary_fraction___tbl_tens___decimal_to_unpacked___left_shift_base_two___digits_to_double___tbl_ntens___multiply_base_two___mul_10000short___fp_normalize___quorem___prod_10000_b65536_fp_class__fp_convert_double_to_int_gcvt__gcvt___gconvert_ieee_retrospective____get_accrued___get_nonstandard___fnonstd_used___get_traps___get_precision___get_direction_ieee_retrospective_infinity_quiet_nan_max_subnormal_min_subnormal_signaling_nan_max_normal_min_normal_ir_fp_class____fp_set_exception___fp_rightshift___infnanstring_quadruple_to_decimal_j0_j1_jn_r_yn__r_y1__r_y0__r_jn__r_j1__r_j0__y0_y1_yn_log_cbrt_r_erfc__erf_r_erf__erfc_exp_r_infinity__r_quiet_nan__r_signaling_nan__r_max_subnormal__r_min_subnormal__r_max_normal__r_min_normal____unpack_single_two__split_single_m1__split_single_22__split_single_23___class_extended__unpacked_to_decimal_two___unpack_extended_two__split_shorten___right_shift_base_two__split_single_6___unpack_double_two___tbl_baselg__split_double_51__split_double_m1__split_double_52__split_double_35__split_double_19___big_binary_to_big_decimal___binary_to_decimal_integer___arint_set_n___binary_to_decimal_fraction___double_to_digits___unpack_quadruple_two__split_double_3___decimal_round___longquorem10000___multiply_base_ten___tbl_10_big_digits___tbl_2_huge_digits___tbl_10_huge_start___tbl_2_small_start___copy_big_float_digits___tbl_10_huge_digits___tbl_2_small_digits___tbl_10_small_start___tbl_2_big_start___carry_propagate_ten___tbl_10_small_digits___tbl_2_big_digits___tbl_10_big_start___tbl_2_huge_start___multiply_base_ten_by_two___multiply_base_ten_vector___multiply_base_two_vector___mul_65536short___left_shift_base_ten___prodc_b10000____mul_65536_n___lshift_b10000___carry_in_b10000__test_sigfpe_master__default_sigfpe_handler__enable_sigfpe_master__sigfpe_master_sinpi___unpack_extended___fp_leftshift__tbl_log_hi__tbl_log_loxgks-2.6.1+dfsg.2/src/bugs/Makefile0000644000175000017500000000043511413611016020070 0ustar amckinstryamckinstrySHELL = /bin/sh .SUFFIXES: .DEFAULT: FORCE @case `uname -s` in \ HP-UX) \ FC=fort77 export FC; \ LD_X11='-L/usr/lib/X11R5 -lX11' export LD_X11; \ ;; \ SunOS) \ LD_SOCKET=-lsocket export LD_SOCKET; \ ;; \ esac; \ $(MAKE) -e -f Makefile.gen $(MFLAGS) $@ FORCE: xgks-2.6.1+dfsg.2/src/bugs/pick.c0000644000175000017500000000730611413611016017526 0ustar amckinstryamckinstry#include "udposix.h" #include #include "xgks.h" static void box(id,xp,yp) int id; double xp, yp; { char c[80]; float size = 20.0; Gpoint pt[4]; Gpoint position; Gsegattr segattr; if (gcreateseg(id) != 0) (void) fputs("Couldn't create segment\n", stderr); pt[0].x = xp; pt[1].x = xp + size; pt[2].x = xp + size; pt[3].x = xp; pt[0].y = yp; pt[1].y = yp; pt[2].y = yp + size; pt[3].y = yp + size; if (gfillarea(4, pt) != 0) (void) fputs("Couldn't fill area\n", stderr); position.x = xp + size/2.; position.y = yp + size/2.; (void) sprintf(c, "%d", id); if (gtext(&position, c) != 0) (void) fputs("Couldn't write box-text\n", stderr); if (gcloseseg() != 0) (void) fputs("Couldn't close segment\n", stderr); segattr.seg = id; if (ginqsegattr(&segattr) != 0) (void) fputs("Couldn't inquire about segment attributes\n", stderr); segattr.vis = GVISIBLE; segattr.det = GDETECTABLE; if (gsetsegattr(id, &segattr) != 0) (void) fputs("Couldn't set segment attributes\n", stderr); } main() { int ws_id = 0; Glimit window; Gcobundl rep; Gpoint position; Gtxalign txalign; Gpick response; Glong memory = 0; Gflinter FillStyle = GSOLID; Gimode PickMode = GREQUEST; if (gopengks(stderr, memory) != 0) { (void)fputs("Couldn't open GKS\n", stderr); return 1; } if (gopenws(ws_id, (char*)NULL, (char*)NULL) != 0) { (void)fputs("Couldn't open workstation\n", stderr); return 2; } if (gactivatews(ws_id) != 0) { (void)fputs("Couldn't activate workstation\n", stderr); return 3; } window.xmin = 0.0; window.xmax = 100.0; window.ymin = 0.0; window.ymax = 100.0; (void) gsetwindow(1, &window); (void) gsetclip(GNOCLIP); (void) gselntran(1); rep.red = 1.0; rep.green = 0.0; rep.blue = 0.0; if (gsetcolourrep(ws_id, 3, &rep) != 0) (void) fputs("Couldn't set colour representation\n", stderr); rep.red = 0.0; rep.green = 1.0; rep.blue = 1.0; if (gsetcolourrep(ws_id, 4, &rep) != 0) (void) fputs("Couldn't set colour representation\n", stderr); if (gsetfillcolorind(3) != 0) (void) fputs("Couldn't set fill-colour index\n", stderr); if (gsettextcolorind(4) != 0) (void) fputs("Couldn't set text-colour index\n", stderr); if (gsetfillintstyle(FillStyle) != 0) (void) fputs("Couldn't set fill-style\n", stderr); if (gsetcharheight(5.0) != 0) (void) fputs("Couldn't set character height\n", stderr); position.x = 10.0; position.y = 10.0; if (gtext(&position, "Pick box 1 to Quit") != 0) (void) fputs("Couldn't write quit instructions\n", stderr); if (gsetcharheight(10.0) != 0) (void) fputs("Couldn't set character height\n", stderr); txalign.hor = GTH_CENTRE; txalign.ver = GTV_HALF; if (gsettextalign(&txalign) != 0) (void) fputs("Couldn't set text alignment\n", stderr); box(1,10.0,40.0); box(2,40.0,40.0); box(3,70.0,40.0); if (gsetpickmode(ws_id, 1, PickMode, GECHO) != 0) (void) fputs("Couldn't set pick mode\n", stderr); do { if (greqpick(ws_id, 1, &response) != 0) { (void) fputs("Couldn't pick\n", stderr); return 4; } (void) fprintf(stderr, "Pick status, seg, pickid = %d %d %d\n", (int) response.status, (int) response.seg, (int) response.pickid); } while (response.seg != 1); if (gdeactivatews(ws_id) != 0) { (void) fputs("Couldn't deactivate workstation\n", stderr); return 5; } if (gclosews(ws_id) != 0) { (void) fputs("Couldn't close workstation\n", stderr); return 6; } if (gclosegks() != 0) { (void) fputs("Couldn't close GKS\n", stderr); return 7; } return 0; } xgks-2.6.1+dfsg.2/src/bugs/build/0000755000175000017500000000000011413611016017525 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/bugs/build/nohup.out0000644000175000017500000000535611413611016021420 0ustar amckinstryamckinstryChanging to directory lib/ Making '' in /faculty/ellis/src/xgks3/xgks/lib/src Making "all" in directory gksm/ `gksm.o' is up to date. Making "all" in directory cgm/ cc -I.. -I/usr/local/include/udposix `case sunos_4.1.1 in unicos*) echo -I/usr/include/stdc;; esac` -O -I/usr/openwin/include -pic -target sun4 -c cgm.c "cgm.c", line 1094: syntax error at or near type word "mf_cgmo" "cgm.c", line 1095: syntax error at or near type word "mf_cgmo" "cgm.c", line 1096: syntax error at or near type word "mf_cgmo" "cgm.c", line 1097: syntax error at or near type word "mf_cgmo" "cgm.c", line 1098: syntax error at or near type word "mf_cgmo" "cgm.c", line 1099: syntax error at or near type word "mf_cgmo" "cgm.c", line 1100: syntax error at or near type word "mf_cgmo" "cgm.c", line 1101: syntax error at or near type word "mf_cgmo" "cgm.c", line 1102: syntax error at or near type word "mf_cgmo" "cgm.c", line 1103: syntax error at or near type word "mf_cgmo" "cgm.c", line 1104: syntax error at or near type word "mf_cgmo" "cgm.c", line 1105: syntax error at or near type word "mf_cgmo" "cgm.c", line 1106: syntax error at or near type word "mf_cgmo" "cgm.c", line 1107: syntax error at or near type word "mf_cgmo" "cgm.c", line 1108: syntax error at or near type word "mf_cgmo" "cgm.c", line 1109: syntax error at or near type word "mf_cgmo" "cgm.c", line 1110: syntax error at or near type word "mf_cgmo" "cgm.c", line 1112: syntax error at or near type word "mf_cgmo" "cgm.c", line 1113: syntax error at or near type word "mf_cgmo" "cgm.c", line 1114: syntax error at or near type word "mf_cgmo" "cgm.c", line 1115: syntax error at or near type word "mf_cgmo" "cgm.c", line 1116: syntax error at or near type word "mf_cgmo" "cgm.c", line 1123: lineindex undefined "cgm.c", line 1123: linetype undefined "cgm.c", line 1123: linewidth undefined "cgm.c", line 1123: linecolr undefined "cgm.c", line 1123: markerindex undefined "cgm.c", line 1201: syntax error at or near type word "mf_cgmo" "cgm.c", line 1202: backcolr undefined "cgm.c", line 1414: syntax error at or near type word "mf_cgmo" "cgm.c", line 1414: linewidth undefined "cgm.c", line 1414: fatal error: too many errors *** Error code 1 make: Fatal error: Command failed for target `cgm.o' Current working directory /faculty/ellis/src/xgks3/xgks/lib/src/cgm *** Error code 1 make: Fatal error: Command failed for target `sharable_lib' Current working directory /faculty/ellis/src/xgks3/xgks/lib/src/cgm *** Error code 1 make: Fatal error: Command failed for target `all' Current working directory /faculty/ellis/src/xgks3/xgks/lib/src *** Error code 1 make: Fatal error: Command failed for target `_src' Current working directory /faculty/ellis/src/xgks3/xgks/lib *** Error code 1 make: Fatal error: Command failed for target `_lib' xgks-2.6.1+dfsg.2/src/bugs/build/CVS/0000755000175000017500000000000011413611016020160 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/bugs/build/CVS/Entries0000644000175000017500000000013511413611016021513 0ustar amckinstryamckinstry/Makefile/2.5.4.1/Wed Mar 10 19:44:02 1993// /nohup.out/2.5.4.1/Wed Mar 10 19:44:02 1993// D xgks-2.6.1+dfsg.2/src/bugs/build/CVS/Repository0000644000175000017500000000002011413611016022252 0ustar amckinstryamckinstryxgks/bugs/build xgks-2.6.1+dfsg.2/src/bugs/build/CVS/Root0000644000175000017500000000006111413611016021023 0ustar amckinstryamckinstry:pserver:anonymous@cvs.XGKS.sf.net:/cvsroot/xgks xgks-2.6.1+dfsg.2/src/bugs/build/Makefile0000644000175000017500000000574011413611016021173 0ustar amckinstryamckinstry# $Id: Makefile,v 2.5.4.1 1993/03/10 19:44:02 steve Exp $ # # Root Makefile for the XGKS package. # # Anticipated, changeable macros (others might not work): # # File protection modes for installed files: # BINMODE = 775# Programs INCMODE = 664# Header-files LIBMODE = 664# Libraries (both shared and unshared) MANMODE = 664# man(1) pages # # Compilation options: # COPTS = -O -I$(OPENWINHOME)/include # C compiler options (e.g. "-g", "-DDEBUG") FOPTS = -O# Fortran compiler options (e.g. "-g") # Commands: # #FC = f77# Fortran compiler. Unset => make(1) default. # Set to empty string => platform doesn't have # a Fortran compiler. INSTALL = install# An install(1)-like command. Must understand # "-c" (copy) and "-m" (mode) options. Under AIX, # this is /usr/ucb/install rather than # /usr/bin/install. If you don't have install(1), # then try using install.sh in this directory. RANLIB = ranlib# A ranlib(1)-like command. If one doesn't exist # on your platform, then define it as "touch". TBL = tbl# A tbl(1)-like command TROFF = ptroff# A troff(1)-like command # The root destination-directory. It's assumed to # to contain "bin", "include", "lib", and "man" # subdirectories. "/usr/local" is a possible candidate. # DESTDIR = /usr/local #/ldm # The type of libraries to create. Possible values are # "sharable" and "nonsharable". If a makefile doesn't # know how to create a sharable library on the given # platform, then it will create a non-sharable one. # LIBTYPE = sharable # The type of operating-system. Known values include # aix_3.1, # domainos_10.{2,3.{2,5}} # nextos_2.0, # hpux_8.0, # sunos_4.{0.3,1{,.1}}, # ultrix_4.{0,1,2}, and # unicos_5.1.{9,11}. # Needed if sharable-libraries are to be created. # OS = sunos_4.1.1 # # End of anticipated macros # MY_MFLAGS = \ BINMODE="$(BINMODE)" \ COPTS="$(COPTS)" \ DESTDIR="$(DESTDIR)" \ FC="$(FC)" \ FOPTS="$(FOPTS)" \ INCMODE="$(INCMODE)" \ INSTALL="$(INSTALL)" \ LIBMODE="$(LIBMODE)" \ LIBTYPE="$(LIBTYPE)" \ MANMODE="$(MANMODE)" \ OS="$(OS)" \ RANLIB="$(RANLIB)" \ TBL="$(TBL)" \ TROFF="$(TROFF)" BINDIR = $(DESTDIR)/bin INCDIR = $(DESTDIR)/include LIBDIR = $(DESTDIR)/lib MANDIR = $(DESTDIR)/man SUBDIRS = lib fontdb progs doc all: _lib _fontdb _progs _doc install: $(BINDIR) $(INCDIR) $(LIBDIR) \ $(MANDIR) $(MANDIR)/man1 $(MANDIR)/man3 @$(MAKE) $(MFLAGS) $(MY_MFLAGS) TARGET=install all clean: @$(MAKE) $(MFLAGS) $(MY_MFLAGS) TARGET=clean all rm -f core *.log *.bak $(BINDIR) $(INCDIR) $(LIBDIR) $(MANDIR) $(MANDIR)/man1 $(MANDIR)/man3: mkdir $@ _lib: @echo 'Changing to directory lib/' @cd lib; \ $(MAKE) $(MFLAGS) $(MY_MFLAGS) $(TARGET) _fontdb: @echo 'Changing to directory fontdb/' @cd fontdb; \ $(MAKE) $(MFLAGS) $(MY_MFLAGS) $(TARGET) _progs: @echo 'Changing to directory progs/' @cd progs; \ $(MAKE) $(MFLAGS) $(MY_MFLAGS) $(TARGET) _doc: @echo 'Changing to directory doc/' @cd doc; \ $(MAKE) $(MFLAGS) $(MY_MFLAGS) $(TARGET) xgks-2.6.1+dfsg.2/src/bugs/gscrf.c%0000644000175000017500000000627511413611016017755 0ustar amckinstryamckinstry#include "udposix.h" #include #include "xgks.h" static int wsid_x11 = 1; static int wsid_mo = 2; static int wsid_wiss = 3; static int trans_id = 1; static void openplot() { float xmin, xmax, ymin, ymax; /* * Open the GKS plot package. * Opens X11 workstation (iwk=#1) and/or metafile (iwk=#2) for plotting. * Sets transformation #1 from Plot-Board (PB) WCs (inches) to NDCs. */ /* Open GKS */ { int errfile = 6; int memory = 0; (void) gopks_(&errfile, &memory); } /* Open and activate X11 workstation. */ { int wtype = 4; int conid = 0; (void) gopwk_(&wsid_x11, &conid, &wtype); (void) gacwk_(&wsid_x11); } /* Make whole X11 gks-window the workstation window. */ xmin = 0; xmax = 1; ymin = 0; ymax = .8; (void) gswkwn_(&wsid_x11, &xmin, &xmax, &ymin, &ymax); /* Open and activate metafile "workstation". */ { char *mo_path = "meta1.gks"; int len = strlen(mo_path); int wtype = 2; int conid = 0; (void) gescid_(mo_path, &len); (void) gopwk_(&wsid_mo, &conid, &wtype); (void) gacwk_(&wsid_mo); (void) gswkwn_(&wsid_mo, &xmin, &xmax, &ymin, &ymax); } /* Open and activate WISS "workstation". */ { int wtype = 3; int conid = 0; (void) gopwk_(&wsid_wiss, &conid, &wtype); (void) gacwk_(&wsid_wiss); } /* * Define a Plot-Board-World-Coord (PBWC) system in inches * with bounds based on NDC window shape. * (WCs will be 10 times larger than NDC's) */ (void) gsvp_(&trans_id, &xmin, &xmax, &ymin, &ymax); xmin *= 10; xmax *= 10; ymin *= 10; ymax *= 10; (void) gswn_(&trans_id, &xmin, &xmax, &ymin, &ymax); (void) gselnt_(&trans_id); } static void setclrmap(ncolors, red, grn, blu) int ncolors; int *red, *grn, *blu; { int i; /* Set color map. */ for (i = 0; i < ncolors; ++i) { float r = red[i]/255.0; float g = grn[i]/255.0; float b = blu[i]/255.0; (void) gscr_(&wsid_x11, &i, &r, &g, &b); (void) gscr_(&wsid_mo, &i, &r, &g, &b); } } static void closeplot() { /* Close the X11 workstation. */ (void) gdawk_(&wsid_x11); (void) gclwk_(&wsid_x11); /* Close the meta-workstation. */ (void) gdawk_(&wsid_mo); (void) gclwk_(&wsid_mo); /* Close the WISS workstation. */ (void) gdawk_(&wsid_wiss); (void) gclwk_(&wsid_wiss); /* Close GKS. */ (void) gclks_(); } main() { int ired[256], igrn[256], iblu[256]; int ncolors; int i; /*Open plot. */ openplot(); /* Set color map. */ (void) printf("Give ncolors (try 16 and 17, for example): "); (void) scanf("%d", &ncolors); ired[0] = 255; igrn[0] = 255; iblu[0] = 255; for (i = 1; i < ncolors; ++i) { ired[i] = 0; igrn[i] = 0; iblu[i] = 0; } setclrmap(ncolors, ired, igrn, iblu); /* Plot polyline. */ for (i = 0; i < 40; ++i) { int npts = 2; float x[2], y[2]; (void) printf("Plotting polyline = %d\n", i); x[0] = 1.0 + (i+1)*0.1; y[0] = 1.0; x[1] = x[0]; y[1] = y[0] + 1.0; (void) gpl_(&npts, x, y); } /* Finish plotting. */ (void) printf("Hit CR to end..."); (void) getchar(); closeplot(); } xgks-2.6.1+dfsg.2/src/doc/0000755000175000017500000000000011413611016016233 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/doc/userdoc/0000755000175000017500000000000011413611016017677 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/doc/userdoc/userdoc.me0000644000175000017500000013034211413611016021671 0ustar amckinstryamckinstry.\" $__Header$ .\" .if t .po 1.25i .if n .ll 80 .fo ''%'' .tp .sp 4 .(l C .sz +2 .b XGKS .sp .b "User Document" .sp 2 June 1, 1989 Bruce Greer David Owens .sp Technical Computing Services Eighth Floor 101 Main Street Cambridge, MA 02142 .sp \*(td Steve Emmerson Unidata Project Center University Corporation for Atmospheric Research P.O. Box 3000 Boulder, Colorado 80307 .)l .sh 1 Foreword .pp This document is a supplement to the ANSI GKS standard and the ANSI GKS C and FORTRAN bindings. It contains information specific to this particular implementation of GKS. Where the ANSI documents and this document disagree, this XGKS document is correct. .sh 1 "GKS Level" .pp ANSI defines several levels of compliance with GKS standards. These levels are referenced by a number and a letter. The number corresponds to the level of output supported while the letter corresponds to the level of input. XGKS is a level 2C implementation of GKS. Certain output functions required for level two are not supported by XGKS. These functions are SetPatternSize and SetPatternReferencePoint. They exist in the XGKS library and will return valid data for valid parameters, but they have no effect on XGKS output. .sh 1 "GKS Applications as X Clients" .pp An XGKS application is an X11 client. Each GKS workstation opened by the application maps to a unique X window. In this environment, the application must communicate with the X server in ways not defined by GKS. This additional X functionality is handled by the XGKS library on behalf of the application. .sh 2 "Resizing of X Windows" .pp Standard GKS does not anticipate workstations changing in size after they have been opened. Under X, a window may be resized, iconified, or moved at any time by the user or under the control of another program. In this event, XGKS redraws the image in the window, scaling it appropriately to preserve the aspect ratio. Both segmented and non-segmented primitives will be regenerated as well as visible input devices. Some exceptions do exist, and are detailed in the section on escape functions. Any output made after the X window manipulation will be drawn to conform to the new size and shape of the window. Also, because X windows can be iconified or covered by other X windows, there is no guarantee that the output you are sending to the window will be visible. .sh 2 "Device Coordinates" .pp In standard GKS, device coordinates were meant to represent exactly what their name implies \- coordinates on a physical device. But because XGKS uses X windows as workstations, it can't count on the pixel space of its "device" to always be the same. By introducing an extra level of abstraction known as pseudo device coordinates, we provide a fixed coordinate system that maps to any X window. In XGKS, pseudo device coordinates are 1280x1024 units. This value will be reported as the device coordinate (DC) size for any workstation opened under XGKS. .sh 2 "X Colormaps" .pp A GKS workstation is typically a device, such as a display, printer or plotter. Once that workstation has been opened, standard GKS assumes that it has complete control over the device, including any colormap facilities. Under XGKS, however, a workstation is an X window and may share the display with any number of other X windows created by other X clients. Thus, in order to co-operate with one another, X clients should not attempt to manage the colormap or install their own colormap unless absolutely essential to the application. A better procedure is to share the default colormap. .pp XGKS does this via the X XAllocColor() function -- obtaining the pixel value of the X colorcell which most closely approximates the one requested in the GKS SET COLOR REPRESENTATION call. XGKS maintains the association between GKS colour indices and X colorcells in a lookup table. This mechanism decouples GKS colour indices from X pixel values and makes the XGKS client well-behaved in relation to other X clients and the handling of the X colormap. .pp Initially, and in the absence of any SET COLOR REPRESENTATION calls, the mapping between GKS colour-indices and X colorcells is trivial (i.e. GKS colour-index 5 is X colorcell 5, etc) except for GKS colour-indices 0 and 1 which are set to the X background and foreground colorcells, respectively. .pp Be aware that an application can't set or change the background color (GKS colour-index 0) of an XGKS window. This is because XGKS windows are mapped to the display at the time of the GKS OPEN WORKSTATION call. To set the background color of an XGKS window, use the \fBbackground\fP resource described in the section on XGKS resources. .sh 2 "Workstation Connection IDs" .pp In X a display is identified in the form "hostname:server(.display)" where hostname designates the machine and server(.display) designates the specific display on the machine. .sh 3 "C binding" .pp When an XGKS application program passes a string in the form "hostname:server(.display)" to gopenws() as the connection ID, the XGKS library will open an X window on the display specified. A NULL connection ID causes XGKS to use the environment variable DISPLAY as a default. .sh 3 "FORTRAN binding" .pp In the FORTRAN binding, the meaning of the connection ID depends on the type of the requested workstation. For Metafile workstations (either input or output) XGKS will first assume that the connection ID is the FORTRAN logical unit number (LUN) associated with the file. It then uses the FORTRAN INQUIRE statement to determine whether or not this association exists, and, if so, then the name of the file. The mechanism for establishing this association is system-dependent and would normally be done outside the context of the application program. If no association exists, then XGKS will use the connection ID string specified in the last GESCID call. .pp For non-Metafile workstations, XGKS will use the connection ID string specified in the last GKS GESCID call -- if one was made. Otherwise it will use the value of the DISPLAY environmental variable. .sh 2 "X Resources" .pp XGKS can be tailored on a server, user, and application specific basis by means of the X-resource mechanism. .pp In this regard, there are two items you need to know: 1) how XGKS initializes its X-resource database; and 2) the name and meaning of the particular X-resources used by XGKS. .sh 3 "X-Resource Database-Initialization" .pp The following pseudo-code details the sequence of steps currently taken to initialize the program-specific, internal, X-resource database. Definitions encountered during later steps override earlier ones. .sp .nf .ba +4 Clear internal X-defaults database; if (file \fB/usr/lib/X11/app-defaults/\fP\fIprogram\fP exists) { Merge its definitions into the database; } if (X-server has an X-defaults database) { Merge its definitions into the database; } else if (file \fB~/.Xdefaults\fP exists) { Merge its definitions into the database; } if (environmental variable \fBXENVIRONMENT\fP exists) { Merge the definitions in file \fB$XENVIRONMENT\fP into the database; } else if (file \fB~/.Xdefaults-\fP\fIhostname\fP exists) { Merge its definitions into the database; } .ba -4 .fi .sp Notes: .ip 1) The X-server may have its X-defaults database updated via the \fBxrdb(1)\fP utility. .ip 2) \fIProgram\fP is the name of the program as given in \fBargv[0]\fP (e.g. "sfcwx"). .ip 3) \fIHostname\fP is the name of the host returned by \fBhostname(3)\fP (e.g. "groucho"). .sh 3 "XGKS Resources" The following X-resources and their parameters are searched for by XGKS programs: .ip "\fIprogram\fB.backingstore: on\||\|off\fR" Whether or not the server should use the X backing-store feature for windows created by this application. The backing-store feature is not used by default. .ip "\fBXgks.Backingstore: on\||\|off\fR" Whether or not the server should use the X backing-store feature for the entire class of XGKS applications. The backing-store feature is not used by default. .ip "\fIprogram\fB.background: \fIcolor\fR" Color for the background of the XGKS window for program \fIprogram\fP. The string \fIcolor\fP must be understood by the X-server (.e.g "MidnightBlue"). .ip "\fBXgks.Background: \fIcolor\fR" Background color for the entire class of XGKS applications. .ip "\fIprogram\fB.foreground: \fIcolor\fR" Color for the foreground of the XGKS window for program \fIprogram\fP. The string \fIcolor\fP must be understood by the X-server (.e.g "white"). .ip "\fBXgks.Foreground: \fIcolor\fR" Foreground color for the entire class of XGKS applications. .ip "\fIprogram\fB.geometry: \fIXSIZE\fPx\fIYSIZE\fP[+-]\fIxoff\fP[+-]\fIyoff\fR" Geometry in pixels for the XGKS window of program \fIprogram\fP. .ip "\fBXgks.Geometry: \fIXSIZE\fPx\fIYSIZE\fP[+-]\fIxoff\fP[+-]\fIyoff\fR" Geometry in pixels for the entire class of XGKS applications. .ip "\fIprogram\fB.iconic: on\||\|off\fR" Initially, map the XGKS window as an icon rather than as a normal window. .ip "\fBXgks.Iconic: on\||\|off\fR" Initially, map the entire class of XGKS windows as icons rather than as normal windows. .ip "\fIprogram\fB.reverse: on\||\|off\fR" Reverse foreground and background colors in the XGKS window of program \fIprogram\fP. .ip "\fBXgks.Reverse: on\||\|off\fR" Reverse foreground and background colors for the entire class of XGKS applications. .ip "\fIprogram\fB.softclipping: on\||\|off\fR" Enable or disable the soft-clipping of polylines. By default, XGKS defers the clipping of output primitives to the X Window System. This works reliably only if the normalized device co-ordinates (NDC) of the output primitives are relatively close to the NDC [0,1] unit-square. Due to wrap-around in the NDC-to-X co-ordinate transformation, very large NDC values might cause extraneous lines to appear in the display window. Though this behavior is server-dependent, it typically occurs when displaying a small portion of a large graphic. Soft-clipping causes XGKS to clip polyline output against the current NDC clip-window before calling X; thus eliminating extraneous lines but incurring some additional computational overhead. Because this behavior is server-dependent, we suggest you use the default (i.e. no soft-clipping) until the problem manifests itself. .ip "\fBXgks.Softclipping: on\||\|off\fR" Enable or disable soft-clipping for the entire class of XGKS applications. .sh 1 "Escape Functions" Standard GKS provides a function called Escape to access implementation specific functions. Escape functions in XGKS are not accessed through a single escape routine. Instead, each escape has its own routine. .sh 2 "EscapeSetRedrawNotify" .(b I .re C binding: gescredrawnotify ( ws_id, funcp ) Gint ws_id; Gint *funcp(); FORTRAN binding: not implimented .)b .pp EscapeSetRedrawNotify will cause the function specified by funcp() to be called whenever an X window is redrawn. A redraw can occur when: .ba +4 .ip * 2 The X window is moved from under another window. .ip * 2 The X window is resized. .ip * 2 The X window is de-iconified. .ip * 2 The X window is redisplayed when the X screen is being refreshed. .ba -4 .sh 2 "EscapeSetDCSize" .(b I C binding: gescsetdcsize ( wsid, size ) Gint ws_id; Gpoint size; FORTRAN binding: GESSDC ( WSID, XSIZE, YSIZE ) INTEGER WSID REAL XSIZE, YSIZE .)b .pp EscapeSetDCSize sets the pseudo display coordinate range to the values specified by XSIZE and YSIZE. This allows the user to change the DC size to something other than the default 1280x1024 units assumed by XGKS. .sh 2 "EscapeInquireXAttributes" .(b I C binding: gescinqxattr ( ws_id, dpy, win, gc ) Gint ws_id; Display **dpy; Window *win; GC *gc; FORTRAN binding: not implemented .)b .pp EscapeInquireXAttributes returns the Window (win), Display (dpy), and Graphics Context (gc) structures used by the X library for the X window of the given workstation (ws). With these variables the application program can make calls to X library routines that use these variables as arguments. .sh 2 EscapeSetColourMask .(b I C binding: gescsetcolourmask ( ws_id, mask ) Gint ws; unsigned long mask; FORTRAN binding: GESSCM ( WSID, MASK ) INTEGER WSID INTEGER MASK .)b .pp EscapeSetColourMask allows the user to change the X color plane mask that controls witch color planes in a color display are active. .sh 2 EscapeSetStorePrimitives .(b I C binding: gescstoreprimi ( ws_id, store ) Gint ws_id; Gstore store; FORTRAN binding: GESSRP ( WSID , STORE ) INTEGER WSID INTEGER STORE .)b .pp EscapeSetStorePrimitives allows the user to tell XGKS whether or not to store non-segmented primitives for the purpose of redraws. .sh 2 "EscapeSetConId (FORTRAN binding only)" .(b I FORTRAN binding: GESCID ( CONID ) CHARACTER*80 CONID .)b .pp EscapeSetConId allows the FORTRAN application program to open a workstation on an X server other than the one specified by the environment variable DISPLAY. Passing any integer greater than zero to OpenWorkstation will open a workstation on the X server specified by the last call to EscapeSetConId. Passing an integer greater than zero to OpenWorkstation before any calls to EscapeSetConId have been made will open a workstation on the X server specified by the environment variable DISPLAY. (See section above titled "Workstation Connection IDs.") .sh 2 "EscapeSetBackingStore" .(b I C binding: void gescsetbackingstore(ws, i) Gint ws, i; FORTRAN binding: GESSBS(WS, I) INTEGER WS, I .)b EscapeSetBackingStore enables or disables the use of the X backing-store feature on X-workstation "ws" \-\- if it is available. If "i" is 0, then the backing-store feature is disabled; otherwise it is enabled (which is also the default). .sh 2 "EscapeSetProgramName" .(b I C binding: void gescsetprogname(name) char *name; FORTRAN binding: GESSPN(NAME, LENGTH) CHARACTER*LENGTH NAME INTEGER LENGTH .)b .pp EscapeSetProgramName sets an internal XGKS string-buffer to the given name. This string is subsequently used as the name of the application during access to X-resources. The default name is "XGKS". (See the section titled "X Resources"). .sh 1 "Workstation Types" .pp XGKS supports the following four types of workstations. .sh 2 "X window (XWIN)" .pp Opening an XWIN workstation causes an X window to be created. All output to the XWIN workstation will be displayed in the X window. All input from the XWIN workstation will be derived from input to the X window. .sh 2 "Metafile Output (MO)" .pp Opening an MO workstation causes a unix file to be created. All output to the MO workstation will be recorded in the unix file. MO workstations do not support input. .sh 2 "Metafile Input (MI)" .pp Opening an MI workstation causes an existing unix file to be opened. MI workstations do not support input or output. The only operations supported on MI workstations are GetItemFromGKSM and ReadItemFromGKSM. After reading an item from an MI workstation a call to InterpretItem will have the same effect as executing the equivalent Xgks function. .sh 2 "Workstation Independent Segment Storage (WISS)" .pp Opening a WISS workstation causes no immediately visible effects. All output sent to a WISS workstation will be stored internally, but not displayed. Output sent to a WISS workstation can later be copied to other workstations to produce visible output. NOTE: Only one WISS workstation may be open at a time. .sh 1 "Deferral Mode" .pp Changing the deferral mode in XGKS has no effect. All picture changes that are immediate, that is, that do not imply a regeneration, are displayed immediately. Deferral modes were meant to accommodate the workings of plotters and other types of output devices that do not have the refresh capabilities of the displays used by X windows. .sh 1 "Error File" When an application program opens GKS using the OpenGKS function, it must specify an error file. XGKS will report all errors to this file. (See the section on user defined error handlers for exceptions.) .sh 2 "C binding" .ba +4 .ip * 2 The application must open the error file before calling gopengks. .ip * 2 The application program passes a file pointer to gopengks. .ip * 2 The file pointer passed to gopengks should not be modified. .ip * 2 If no file is specified, XGKS uses stderr. .ba -4 .sh 2 "FORTRAN binding" .ba +4 .ip * 2 The application program passes a file number to gopks. .ip * 2 The application program does not have to open the error file before calling gopks. .ip * 2 The application program can switch to a different error file by closing the present one and opening a new one with the same file number. .ip * 2 If no entry is present at the index, stderr is used. .ba -4 .sh 1 "User Defined Error Handler" .pp The application programmer may replace the default error handler by defining a function as follows: .sh 2 "C binding" .cs R 20 .lg 0 .(b I .sz -1 gerrorhand ( errnum, funcname, errfile ) Gint errnum; /* Error code that was detected */ Gint funcname; /* Number of function that found error */ Gfile *errfile; /* File to print error message in */ .)b .lg 1 .cs R .sh 2 "FORTRAN binding" .cs R 20 .lg 0 .(b I .sz -1 GERHND ( ERRNR, FCTID, ERRFIL ) INTEGER ERRNR /* Error code that was detected */ INTEGER FCTID /* Number of function that found error */ INTEGER ERRFIL /* Unit table index of error file */ .)b .fl .cs R .lg 1 .pp The default error handler passes the argument information along to gerrorlog to print out the message to the error file. The application program is given the option to change this function in the event some bookkeeping or error tracking is needed. A user defined error routine may increment certain counters or keep a separate log of certain types of errors. The user routine also typically, though not necessarily, calls the ErrorLogging function to output the error message in the same way the default routine does. .sh 1 "Input Device Modes" .sh 2 Request .pp If the application program initializes an input device without setting the input mode, the device will be in Request mode by default. In Request mode the input device is inactive and not visible until the application makes a call to one of the input Request functions. If the echo switch is ON when the Request call is made, a graphical representation of the input device will appear on the screen. After the user has entered one item of input, the device will disappear. For Pick, Stroke, Valuator, and Locator, input is triggered when the mouse button is released. A RequestString call will return when the user presses the Return key. Choice input is complete for prompt/echo type 3 when the mouse button is released or when a function key is pressed for the other types. .sh 2 Sample .pp When an input device is put in Sample mode and its echo switch is ON, the graphical representation of the device will be displayed and will remain visible until the device mode is changed to request or the workstation is closed. Calls to input Sample functions will return the current state of the input device. For Pick, Valuator, and Locator, the value returned will be the last segment picked, value chosen, or position picked respectively. For Choice, it will be the last choice made with the mouse or the function keys. For String, the Sample function will return a string with all of the characters presently in the string buffer. The Return key has no effect when the String device is in Sample mode and the current string is not reset until the device mode is changed or the device is reinitialized. While a Stroke device is in Sample mode, every Stroke entered by the user will be added to the end of the current Stroke until the buffer is full, the device mode is changed or the device is reinitialized. .sh 2 Event .pp When an input device is put in Event mode with its echo switch set to ON, the graphical representation of the device will be displayed and will remain visible until the device mode is changed to request or the workstation is closed. Any user input to a device in event mode will be put in an event queue. A call to AwaitEvent will wait for an event caused by the user, or if the event queue is not empty, it will cause the oldest event in the queue to be moved to the current event record. Calls to the GetEvent function will return the value in the current event record. By alternating calls to AwaitEvent and GetEvent the application program can dequeue and retrieve all input events. .sh 1 "Input Devices" .sh 2 Locator .pp The locator device type allows the user to pick a point within the specified echo area. For all prompt/echo types, releasing the mouse button signals the chosen position. The following prompt/echo types are available: .ba +4n .ip 1 Locator position is marked by the XGKS cursor. .ip 2 Crosshairs: Locator position is marked by the point of intersection of a vertical and horizontal line that extend to the edge of the workstation. These lines move accordingly when the mouse is dragged. .ip 3 Same as type 1. .ip 4 Rubber Band Line: Locator position is marked by a line that extends from the locator initial position to the current position. The initial position is set when the locator device is initialized. The line is referred to as a rubber-band line and will update its position as the mouse is dragged to different locations. .ip 5 Rubber Band Box: Locator position is marked by a rectangle that is drawn using the locator initial position and the current position as opposite corners. The rectangle is updated as the mouse is dragged. .ba -4n .sh 2 Stroke .pp The stroke device type allows the user to enter a series of points by dragging the mouse cursor through the points. The stroke device registers a new point after it has been moved more than a certain distance determined by the interval values specified at device initialization. By continuing to move the mouse with the button held down, the user causes the stroke device to tick off point after point until the button is released. The following prompt/echo types are available: .ba +4n .ip 1 Stroke points are registered where the XGKS cursor is dragged, but points are not marked. There is no echo available for type 1. .ip 3 Each stroke point that registers is marked with a specified type of polymarker. .ip 4 Successive stroke points are joined by a specified type of polyline. .ba -4n .sh 2 Valuator .pp The valuator device type allows the user to choose a value from a continuous range between two extremes specified by the device initialization. Only one prompt/echo type is available. The valuator device is represented as a graphical slide lever that the user can move by dragging it with the mouse. If the width of the echo area is greater than the height, then the slide lever will be horizontal, otherwise, it will be drawn vertically. The value returned is proportional to distance from either endpoint. .sh 2 Choice .pp The choice device presents the user with a set of choices and allows the user to pick one. The following prompt/echo types are available: .ba +4n .ip 1 User chooses one of the function keys on the keyboard. .ip 2 Sometimes referred to as lamps. This prompt type is very similar to type 1, except the application can mask out keys so only a certain set are chooseable. .ip 3 String menu. A box containing strings is displayed and the user chooses a particular string by clicking on it with the mouse. The choice strings are displayed with a fixed X font and will be the same size regardless of the size of the window. The application programmer should be certain that the window size and echo area allow room for the entire menu. .ba -4n .sh 2 Pick .pp The pick device type allows the user to select a segment and/or primitive from any segment on the workstation designated as "detectable." .sh 2 String .pp The string device type allows the user to enter text from the keyboard. Only one prompt/echo type is available. The device displays a box containing a cursor and an optional prompt string within the echo area. The size of the box and in turn, the number of characters allowable, are constrained by the smaller of the echo area size and the character buffer. The font used for character entry is a fixed X font, so it does not vary in size with the X window. .sh 1 "Input Device Initialization" .pp There were some instances where the packed data record format specified by the ANSI standard for the FORTRAN binding did not include all of the data needed for the initialization routines of the logical input devices. The following definitions are the ones used by the FORTRAN binding of Xgks. .sh 2 Locator .sh 3 "Prompt/echo type 4: Rubber Band" .lp Integers: 1 (7 if ACF is SPECIFIED) .in +4 .ne 2 AttributeControlFlag (, LineTypeASF, LineWidthASF, LineColourASF, LineIndex, BundleLineType, BundleLineColour) .in -4 .lp Reals: 0 (1 if ACF is SPECIFIED) .in +4 (BundleLineScaleFactor) .in -4 .lp Strings: 0 .sh 3 "Prompt/echo type 5: Polyline" .lp Integers: 2 (8 if ACF is SPECIFIED) .in +4 .ne 2 AttributeControlFlag, Polyline/FillAreaControlFlag (, LineTypeASF, LineWidthASF, LineColourASF, LineIndex, BundleLineType, BundleLineColour) .in -4 .lp Reals: 0 (1 if ACF is SPECIFIED) .in +4 (BundleLineScaleFactor) .in -4 .lp Strings: 0 .sh 3 "Prompt/echo type 5: FillArea" .lp Integers: 2 (9 if ACF is SPECIFIED) .in +4 AttributeControlFlag, Polyline/FillAreaControlFlag (, InteriorStyleASF, StyleIndexASF, FillColourASF, FillAreaIndex, BundleInteriorStyle, BundleStyleIndex, BundleFillColour) .in -4 .lp Reals: 0 .lp Strings: 0 .sh 2 Stroke .sh 3 "Prompt/echo type 1 or 2" .lp Integers: 2 .in +4 BufferSize(not used), EditPosition .in -4 .lp Reals: 3 .in +4 XInterval, YInterval, TimeInterval .in -4 .lp Strings: 0 .sh 3 "Prompt/echo type 3" .lp Integers: 3 (9 if ACF is SPECIFIED) .in +4 BufferSize(not used), EditPosition, AttributeControlFlag (, MarkerTypeASF, MarkerSizeASF, MarkerColourASF, MarkerIndex, BundleMarkerType, BundleMarkerColour) .in -4 .lp Reals: 3 (4 if ACF is SPECIFIED) .in +4 XInterval, YInterval, TimeInterval (, BundleMarkerSize) .in -4 .lp Strings: 0 .sh 3 "Prompt/echo type 4" .lp Integers: 2 (9 if ACF is SPECIFIED) .in +4 BufferSize(not used), EditPosition, AttributeControlFlag (, LineTypeASF, LineWidthASF, LineColourASF, LineIndex, BundleLineType, BundleLineColour) .in -4 .lp Reals: 3 (4 if ACF is SPECIFIED) .in +4 XInterval, YInterval, TimeInterval (, BundleLineWidth) .in -4 .lp Strings: 0 .sh 2 Choice .sh 3 "Prompt/echo type 2" .lp Integers: .in +4 Array of prompts .in -4 .lp Reals: 0 .lp Strings: 0 .sh 3 "Prompt/echo type 3 or 4" .lp Integers: 0 .lp Reals: 0 .lp Strings: .in +4 Array of choice strings .in -4 .sh 1 "Table of Implementation Dependent Values of XGKS" .sh 2 "GKS Description Table" .ne 3 .TS H c 2 c 2 c l 2 c 2 n. Description Type Value \_ \_ \_ .TH level of GKS ({m,0,1,2}{a,b,c}) E 2c number of available workstation types (1..n) I 4 list of available workstation types nxN [NULL,MI,MO,WISS] number of simultaneaously open workstations (1..n) I 10 number of simultaneaously active workstations (1..n) I 10 number of workstations associated with a segment (1..n) I 10 maximum normalization transformation number (1..n) I 31 .TE .sh 2 "Workstation Description Table" .ne 3 .TS H c c c c c c l c c. Description Type Value \_ \_ \_ .TH workstation type N NULL (X_WIN) workstation category (OUTPUT,INPUT,OUTIN,WISS,MO,MI) E OUTIN device coordinate units (METRES,OTHER) E OTHER .ne 3 display space size: device coordinate units 2xR 1280.0, 1024.0 raster units 2xI 1280, 1024 raster or vector display (VECTOR,RASTER,OTHER) E RASTER .ne 8 dynamic modification accepted for: polyline bundle representation (IRG,IMM) E IMM polymarker bundle representation (IRG,IMM) E IMM text bundle representation (IRG,IMM) E IMM fill area bundle representation (IRG,IMM) E IMM pattern representation (IRG,IMM) E IMM colour representation (IRG,IMM) E IMM workstation transformations (IRG,IMM) E IRG .ne 3 default value for: deferral mode (ASAP,BNIG,BNIL,ASTI) E ASAP implicit regeneration mode (SUPPRESSED,ALLOWED) E ALLOWED number of available linetypes (4..n) I 7 list of available linetypes (-n..-1,1..n) nxI [-3,-2,-1,1,2,3,4] .T& l c n. number of available linewidths (0..n) I 0 nominal linewidth DC > 0 R 1.0 minimum linewidth DC > 0 R 0.01 maximum linewidth DC > 0 R 1024.0 number of predefined polyline indices (5..n) I 5 .TE .ne 4 .TS H center; c s s s c c c c c c c c n n n n. Table of Predefined Polyline Bundles index line type line width line colour \_ \_ \_ \_ .TH 1 1 1.0 1 2 2 1.0 1 3 3 1.0 1 4 4 1.0 1 5 1 1.0 1 .TE .sp .ne 3 .TS H c c c c c c l c n. Description Type Value \_ \_ \_ .TH number of available marker types (5..n) I 5 .T& l c c. list of available marker types (-n..-1,1..n) nxI [1,2,3,4,5] .T& l c n. number of available marker sizes (0..n) I 0 nominal marker size DC > 0 R 6.0 minimum marker size DC > 0 R 0.01 maximum marker size DC > 0 R 1024.0 number of predefined polymarker indices (5..n) I 5 .TE .ne 4 .TS H center; c s s s c c c c c c c c n n n n. Table of Predefined Polymarker Bundles index marker type scale factor polymarker colour \_ \_ \_ \_ .TH 1 3 6.0 1 2 1 6.0 1 3 2 6.0 1 4 4 6.0 1 5 5 6.0 1 .TE .sp .ne 3 .TS H c c c c c c l c n. Description Type Value \_ \_ \_ .TH number of text font and precision pairs (1..n) I 9 .T& l c c. list of text font and precision pairs (-n..-1,1..n;STRING,CHAR,STROKE) nx(I;E) [1\-9;STROKE] .T& l c n. number of available character expansion factors (0..n) I 0 minimum character expansion factor DC > 0 R 0.001 maximum character expansion factor DC > 0 R 1024.0 number of available character heights (0..n) I 0 minimum character height DC > 0 R 0.01 maximum character height DC > 0 R 1024.0 number of predefined text indices (2..n) I 6 .TE .ne 4 .TS H center; c s s s s c c c c c c c c c c n c n n n. Table of Predefined Text Bundles index font/precision expansion spacing text colour \_ \_ \_ \_ .TH 1 1/STROKE 1.0 0.15 1 2 2/STROKE 1.0 0.15 1 3 3/STROKE 1.0 0.2 1 4 4/STROKE 1.0 0.15 1 5 5/STROKE 1.0 0.1 1 6 6/STROKE 1.0 0.1 1 .TE .sp .ne 3 .TS H c c c c c c l c n. Description Type Value \_ \_ \_ .TH number of available fill area interior styles (1..4) I 4 .T& l c c. .ne 2 list of available fill area interior styles (HOLLOW,SOLID,PATTERN,HATCH) nxE [0,1,2,3] .T& l c n. number of available hatch styles (0..n) I 20 .T& l c c. list of available hatch styles (-n..-1,1..n) nxI [-20..-1] .T& l c n. number of predefined fill area indices (5..n) I 5 .TE .ne 4 .TS H center; c s s s c c c c c c c c n n n n. Table of Predefined Fill Area Indices index interior style style index fill colour \_ \_ \_ \_ .TH 1 HOLLOW 1 1 2 SOLID 1 1 3 PATTERN 1 1 4 HATCH -1 1 5 HATCH -1 1 .TE .sp .ne 3 .TS H c c c c c c l c n. Description Type Value \_ \_ \_ .TH number of predefined pattern indices (0..n) I 20 .TE .ne 7 .TS H center; c s s c c c c c c n c l. Table of Predefined Pattern Representations index array dimensions pattern array (.=off; #=on) \_ \_ \_ .TH .cs R 20 1 4x4 # . . . # # . . # # # . # # # # .cs R .ne 4 .cs R 20 2 4x4 # # # # # . . # # . . # # # # # .cs R .ne 4 .cs R 20 3 4x4 . . . . . # # . . # # . . . . . .cs R .cs R .ne 4 .cs R 20 4 4x4 . . # # . . # # # # . . # # . . .cs R .ne 4 .cs R 20 5 4x4 # . . . # . . . # . . . # . . . .cs R .ne 4 .cs R 20 6 4x4 . . . . . . . . . . . . # # # # .cs R .ne 4 .cs R 20 7 4x4 # # # . # # # . # # # . # # # . .cs R .ne 4 .cs R 20 8 4x4 # # # # # # # # # # # # . . . . .cs R .ne 4 .cs R 20 9 4x4 # # # . # # . # # . # # . # # # .cs R .ne 4 .cs R 20 10 4x4 . . . # . . # . . # . . # . . . .cs R .ne 4 .cs R 20 11 4x4 . # # # # . # # # # . # # # # . .cs R .ne 4 .cs R 20 12 4x4 # . . . . # . . . . # . . . . # .cs R .ne 8 .cs R 20 13 8x8 # . . . . . . . # . . . . . . . # . . . . . . . # . . . . . . . # . . . . . . . # . . . . . . . # . . . . . . . # # # # # # # # .cs R .ne 8 .cs R 20 14 8x8 # . . . . . . # . # . . . . # . . . # . . # . . . . . # # . . . . . . # # . . . . . # . . # . . . # . . . . # . # . . . . . . # .cs R .ne 8 .cs R 20 15 8x8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . # # # # # # # # . . . . . . . . . . . . . . . . # # # # # # # # .cs R .ne 8 .cs R 20 16 8x8 # . . # . . . . # . . # . . . . # . . # . . . . # . . # . . . . # . . # . . . . # . . # . . . . # . . # . . . . # . . # . . . . .cs R .ne 16 .cs R 20 17 16x16 # . . . # . # # # . . . # . # # # . . . # . # # # . . . # . # # # . . . # # # # # . . . # # # # . # # # . # # # . # # # . # # # # . # # # . . . # . # # # . . . # . # # # . . . # . # # # . . . # # # # # . . . # # # # # . . . . # # # . # # # . # # # . # # # # . . . # . # # # . . . # . # # # . . . # . # # # . . . # . # # # . . . # # # # # . . . # # # # . # # # . # # # . # # # . # # # # . # # # . . . # . # # # . . . # . # # # . . . # . # # # . . . # # # # # . . . # # # # # . . . . # # # . # # # . # # # . # # # .cs R .ne 16 .cs R 20 18 16x16 . . . # . . . # . . . # . . . # # . . . # . # # # . . . # . # # # # . . . # # # # # . . . # # # # . # . . . # # # . # . . . # # . . . # . . . # . . . # . . . # . . # # # . # . . . # # # . # . . # # # # # . . . # # # # # . . # . # # # . . . # . # # # . . . . . . # . . . # . . . # . . . # # . . . # . # # # . . . # . # # # # . . . # # # # # . . . # # # # . # . . . # # # . # . . . # # . . . # . . . # . . . # . . . # . . # # # . # . . . # # # . # . . # # # # # . . . # # # # # . . # . # # # . . . # . # # # . . . .cs R .ne 16 .cs R 20 19 16x16 # . . # . . . . # . . # . . . . # . . . # . . . # . . . # . . . . . . . # . . # . . . . # . . # . . . . # # # . . . . . # # # . . . . . # . . # . . . . # . . # # . . . # . . . # . . . # . . . # . . # . . . . # . . # . . . . # # # . . . . . # # # . . . . . # . . # . . . . # . . # . . . . # . . . # . . . # . . . # . . . . . . . # . . # . . . . # . . # . . . . # # # . . . . . # # # . . . . . # . . # . . . . # . . # # . . . # . . . # . . . # . . . # . . # . . . . # . . # . . . . # # # . . . . . # # # . . . . . .cs R .ne 16 .cs R 20 20 16x16 # # # # . . . # # # # # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # # # # # . . . # # # # # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # # # # # . . . # # # # # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # # # # # . . . # # # # # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # . . . # .TE .cs R .sp .ne 4 .TS H expand; c 1 c 1 c c 1 c 1 c l 1 c 1 c. Description Type Value \_ \_ \_ .TH number of available colours or intensities (0,2..n) I T{ .na depends on display type T} .ne 2 colour available (COLOUR,MONOCHROME) E T{ .na depends on display type T} .ne 2 number of predefined colour indices (2..n) I T{ .na depends on display type T} .ne 2 table of predefined colour representations T{ .na depends on display type T} .T& l 1 c 1 n. number of generalized drawing primitives (0..n) I 0 maximum number of polyline bundle table entries (5..n) I 20 .ne 2 maximum number of polymarker bundle table entries (5..n) I 20 maximum number of text bundle table entries (2..n) I 20 .ne 2 maximum number of fill area bundle table entries (5..n) I 20 maximum number of pattern indices (0..n) I 20 maximum number of colour indices (2..n) I T{ .na depends on display type T} number of segment priorities supported (0..n) I 0 .ne 8 dynamic modification accepted for: segment transformation (IRG,IMM) E IRG visibility (visible->invisible) (IRG,IMM) E IRG visibility (invisible->visible) (IRG,IMM) E IMM highlighting (IRG,IMM) E IMM segment priority (IRG,IMM) E IRG adding primitives to open segment (IRG,IMM) E IMM overlapping segment of higher priority locator input device: .T& l 1 c 1 c. default initial locator position WC P 0.5, 0.5 .T& l 1 c 1 n. number of available prompt and echo types (1..n) I 5 .T& l 1 c 1 c. list of prompt and echo types (-n..-1,1..n) nxI [1,2,3,4,5] default echo area DC 4xR T{ .na 0.0, 0.0 \- 1280.0, 1024.0 T} .ne 3 stroke input device: maximum input buffer size (64..n) I T{ .na limited by memory only T} .T& l 1 c 1 n. number of available prompt and echo types (1..n) I 3 list of available prompt and echo types .T& l 1 c 1 c. (-n..-1,1..n) nxI [1,3,4] .ne 2 default echo area DC 4xR T{ .na 0.0, 0.0 \- 1280.0, 1024.0 T} .ne 5 default stroke data record: .T& l 1 c 1 n. input buffer size (1..n) I 64 editing position (1..n) I 1 .T& l 1 c 1 c. editing x,y interval WC 2xR 0.001, 0.001 .T& l 1 c 1 n. time interval >0.0 R 0.0 .ne 2 valuator input device: default initial value R 0.5 number of available prompt and echo types (1..n) I 1 list of available prompt and acho types (-n..-1,1..n) nxI [1] .T& l 1 c 1 c. .ne 2 default echo area DC 4xR T{ .na 200.0, 50.0 \- 800.0, 100.0 T} .ne 3 default valuator data record: .T& l 1 c 1 n. low value R 0.0 high value R 1.0 .ne 2 choice input device: maximum number of choice alternatives (1..n) I 32767 number of available prompt and echo types (1..n) I 1 .ne 2 list of available prompt and echo types (-n..-1,1..n) nxI [1] .T& l 1 c 1 c. .ne 2 default echo area DC 4xR T{ .na 0.0, 0.0 \- 1280.0, 1024.0 T} .ne 3 default choice data record: .T& l 1 c 1 n. number of choice strings (1..n) I 0 list of choice strings nxC [] .ne 5 pick input device: number of available prompt and echo types (1..n) I 2 list of available prompt and echo types .T& l 1 c 1 c. (-n..-1,1..n) nxI [1,2] default echo area DC 4xR T{ .na 0.0, 0.0 \- 1280.0, 1024.0 T} .ne 3 string input device: maximum input buffer size (72..n) I T{ .na limited by memory only T} .T& l 1 c 1 n. number of available prompt and echo types (1..n) I 1 .ne 2 list of available prompt and echo types (-n..-1,1..n) nxI [1] .T& l 1 c 1 c. .ne 2 default echo area DC 4xR T{ .na 0.0, 0.0 \- 1280.0, 1024.0 T} .ne 3 default string data record: .T& l 1 c 1 n. input buffer size (1..n) I 1024 initial cursor position (1..n) I 1 .TE .sh 2 "GKS Error State List" .ne 3 .TS c c c. Description Type Value \_ \_ \_ error file N stderr .TE .sh 1 "XGKS Fonts" .pp The fonts used by XGKS are not compiled in and must be accessible at run time. A font is loaded the first time it is used. By default XGKS looks in /usr/lib/xgks/fontdbdir for the fonts. This can be changed at compile time by changing the FONTDBDIR variable when installing XGKS (see the section on installation). The default can be over-ridden at run-time by the environment variable XGKSFontDir. .sh 1 Metafiles .pp Metafiles provide a device-independent way to record ANSI GKS output to a disk to be displayed at a later time. Unfortunately, an ANSI graphics metafile standard does not yet exist; thus, any metafile format will necessarily be implementation dependent. XGKS uses the clear-text metafile example given in Appendix E, section E.2 of the ANSI GKS Standard. This form is also known as GKSM \- the GKS Metafile format \- and is different from the alternative ISO metafile standard known as CGM. .sh 1 "Output Primitives" .sh 2 Message .pp ANSI GKS includes a message primitive to display a string in a implementation defined position on the screen. A call to Message in XGKS will display the specified string 20% diagonally into the workstation window from the lower left corner. A call to Message will not be included in an open segment. Message uses the fixed X font "6x10" so it will not vary in size with the workstation window. .sh 2 "Pattern Size and Pattern Reference Point" .pp The SetPatternSize and SetPatternReferencePoint functions defined in ANSI GKS are not implemented in XGKS. The functions can be called, but they will have no effect on fill area output. .sh 2 GDP's .pp The GDP function is defined in the XGKS library so that existing code can link with XGKS, but none of the drawing primitives are implemented. .sh 1 "Installing XGKS" .pp To install XGKS on a machine, follow the following steps. NOTE: You must have write access to all the directories involved. The default installation will require that you have write access to /usr/include, /usr/lib, and the directory into which you will be copying the XGKS source tree. .ba +4 .np Copy the XGKS source tree into a directory. The following command will tar XGKS from tape device \fB/dev/mta0\fP, writing the contents into the current working directory. Before executing the tar command, set your current working directory to the top of the desired destination tree. .(b I tar -xvf /dev/mta0 .)b .np There is a macro in the makefile of the top-level directory called INSTALLHOME that determines where the XGKS libraries will be installed. If INSTALLHOME is not specified, the XGKS files will be installed in /usr/lib/xgks. This can be done simply by typing "make install" from the top level of the XGKS source directory. This will compile all the XGKS code and install the public files. XGKS can be installed in a different directory by typing "make install INSTALLHOME=" .np The installed XGKS package will look something like this (the library names might differ, depending on whether or not sharable libraries were chosen; and the top-level directory will depend on $(DESTDIR)): .br .cs R 20 .lg 0 .(b L .(c |-defcolors-- |-font------- |-bin-----|-mi--------- | |-pline------ | |-pmark------ | |-include-|-xgks.h | /usr-| |-libxgks.a | | |-lib-----|-fontdb-----|- | |-fortxgks.a .)c .)b .cs R .lg 1 .br The file "xgks.h" contains all structures and enumerated types needed for an XGKS application. The file "libxgks.a" is the C library and "fortxgks.a" is the FORTRAN binding. xgks-2.6.1+dfsg.2/src/doc/userdoc/dist.mk0000644000175000017500000000243611413611016021200 0ustar amckinstryamckinstry# $Id: dist.mk,v 2.5.4.1 1993/03/10 19:43:36 steve Exp $ # $Header: /cvsroot/xgks/xgks/doc/userdoc/dist.mk,v 2.5.4.1 1993/03/10 19:43:36 steve Exp $ # # Copyright (C) 1990 UCAR/Unidata # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose without fee is hereby granted, provided # that the above copyright notice appear in all copies, that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of UCAR/Unidata not be used in # advertising or publicity pertaining to distribution of the software # without specific, written prior permission. UCAR makes no # representations about the suitability of this software for any purpose. # It is provided "as is" without express or implied warranty. It is # provided with no support and without obligation on the part of UCAR or # Unidata, to assist in its use, correction, modification, or enhancement. # # Makefile to copy distribution to ftp directories. THIS_DIR = src/xgks/doc/userdoc/ SUBDIRS = # Sources common to UNIX and VMS distributions SOURCES = \ userdoc.me \ Makefile \ RELEASE.NOTES # Sources for UNIX distribution only UNIX_SOURCES = # Sources for VMS distribution only VMS_SOURCES = # include /usr/local/ldm/src/dist.mk-rules xgks-2.6.1+dfsg.2/src/doc/userdoc/Makefile.in0000644000175000017500000000050011413611016021737 0ustar amckinstryamckinstry# $Id: Makefile.in,v 2.5.4.1 1993/03/10 19:43:36 steve Exp $ # # Makefile for the "doc/userdoc" subdirectory of the XGKS package. TBL = @TBL@ TROFF = @TROFF@ NAME = userdoc MANIFEST = Makefile.in userdoc.me all:: hardcopy: userdoc.hc userdoc.hc: userdoc.me $(TBL) $? | $(TROFF) -me include ../../port/master.mk xgks-2.6.1+dfsg.2/src/doc/userdoc/CVS/0000755000175000017500000000000011413611016020332 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/doc/userdoc/CVS/Entries0000644000175000017500000000027711413611016021674 0ustar amckinstryamckinstry/Makefile.in/2.5.4.1/Wed Mar 10 19:43:36 1993// /RELEASE.NOTES/2.5.4.1/Wed Mar 10 19:43:36 1993// /dist.mk/2.5.4.1/Wed Mar 10 19:43:36 1993// /userdoc.me/2.5.4.1/Wed Mar 10 19:43:36 1993// D xgks-2.6.1+dfsg.2/src/doc/userdoc/CVS/Repository0000644000175000017500000000002111413611016022425 0ustar amckinstryamckinstryxgks/doc/userdoc xgks-2.6.1+dfsg.2/src/doc/userdoc/CVS/Root0000644000175000017500000000006111413611016021175 0ustar amckinstryamckinstry:pserver:anonymous@cvs.XGKS.sf.net:/cvsroot/xgks xgks-2.6.1+dfsg.2/src/doc/userdoc/Makefile0000644000175000017500000005126311413611016021346 0ustar amckinstryamckinstry# Generated automatically from Makefile.in by configure. # $Id: Makefile.in,v 2.5.4.1 1993/03/10 19:43:36 steve Exp $ # # Makefile for the "doc/userdoc" subdirectory of the XGKS package. TBL = tbl TROFF = ptroff NAME = userdoc MANIFEST = Makefile.in userdoc.me all:: hardcopy: userdoc.hc userdoc.hc: userdoc.me $(TBL) $? | $(TROFF) -me # This is the master makefile. It contains general rules. # # $Id: master.mk.in,v 1.1 2000/08/07 23:15:03 emmerson Exp $ .SUFFIXES: .SUFFIXES: .so .o .S .ln .i .c .fc .f .F .cc .l .y .cdl .nc .sh ############################################################################ # General Macros: ############################################################################ prefix = /ichec/packages/cdms2/5.2-intel/Externals exec_prefix = /ichec/packages/cdms2/5.2-intel/Externals AR = ar CC = icc CPP = icc -E CC_MAKEDEPEND = icc -M CXX = @CXX@ FC = LINT = lint LINTFLAGS = -u MAKEINFO = @MAKEINFO@ NCDUMP = @NCDUMP@ NCGEN = @NCGEN@ NEQN = neqn OS = linux SHELL = /bin/sh TBL = tbl WHICH = @WHICH@ ############################################################################ # Recursive make(1)s in Subdirectories: ############################################################################ subdir_dummy_target $(SUBDIR_TARGETS): @echo "" @dir=`echo $@ | sed 's,/.*,,'`; \ target=`echo $@ | sed "s,$$dir/,,"`; \ cd $$dir && \ echo "making \`$$target' in directory `pwd`" && \ echo "" && \ $(MAKE) $(MFLAGS) \ prefix=$(prefix) exec_prefix=$(exec_prefix) \ $$target || exit 1 @echo "" @echo "returning to directory `pwd`" @echo "" subdirs/all \ subdirs/test \ subdirs/install \ subdirs/clean \ subdirs/distclean: FORCE @case "$(SUBDIRS)" in \ '') ;; \ *) filename=`echo $@ | sed 's:.*/::'`; \ targets=`echo $(SUBDIRS) | tr ' ' '\012' | \ sed 's:$$:/'$$filename':'`; \ $(MAKE) $$targets;; \ esac ############################################################################ # Compilation: ############################################################################ FORTC = /ichec/packages/cdms2/src/cdat-5.2-src/build/xgks/port/fortc/fortc # Compile C++ code. .cc.o: $(CXX) -c $(CXXFLAGS) $(CXXCPPFLAGS) $< # Compile FORTRAN code. # .f.o: $(FC) -c $(FFLAGS) $< .F.o: ln -s $< $*.c && \ ($(CPP) -DUD_FORTRAN_SOURCE $(CPPFLAGS) $*.c >$*.i && \ sed '/^# *[0-9]/d' $*.i > $*.f) || \ (rm -f $*.f $*.i $*.c ; exit 1) && \ rm $*.i $(FC) -c $(FFLAGS) $*.f && rm $*.f $*.c .F.f: ln -s $< $*.c && \ ($(CPP) -DUD_FORTRAN_SOURCE $(CPPFLAGS) $*.c >$*.i && \ grep -v '^#' $*.i > $@) || \ (rm -f $@ $*.i $*.c; exit 1) && \ rm $*.i $*.c .F.i: ln -s $< $*.c && \ $(CPP) -DUD_FORTRAN_SOURCE $(CPPFLAGS) $*.c >$*.i # Generate FORTRAN-callable C code. # .fc.o: $(FORTC) -O $(OS) $< > $*.c \ || ( rm -f $*.c; exit 1) $(CC) -c $(CFLAGS) $(CPPFLAGS) $*.c .fc.c: $(FORTC) -O $(OS) $< > $@ \ || (rm -f $*.c; exit 1) # Compile assembler code. # .S.o: $(CC) -c $(CFLAGS) $(CPPFLAGS) $< # Compile C code. # .c.o: $(CC) -c $(CFLAGS) $(CPPFLAGS) $< # Compile lex(1) code. This rule is here to ensure the use of CPPFLAGS. # .l.o: rm -f $*.c $(LEX) -t $< > $*.c $(CC) -c $(CFLAGS) $(CPPFLAGS) $*.c rm $*.c # C preprocess. # NB: # 1. Line numbering information is kept. # .c.i: $(CPP) $(CPPFLAGS) $< > $@ .cdl.nc: $(NCGEN) -o $*.nc $*.cdl .sh: cp $< $@; chmod +x $@ ############################################################################ # Lint: ############################################################################ .c.ln: $(LINT) -c $(LINTFLAGS) $(CPPFLAGS) $< ############################################################################ # Libraries: ############################################################################ RANLIB = ranlib LIBDIR = $(exec_prefix)/lib LIB_A = lib$(LIBRARY).a LIBFILE = dummy-libfile # to silence GNU make(1) library: $(LIB_A) remote_library: $(REMOTE_LIBRARY) # The following rule is forced because the library can be created by a # makefile in another directory prior to the execution of the following rule. # $(LIB_A): $(LIBOBJS) $(LIBOBJS2) FORCE $(AR) rcuv $@ $(LIBOBJS) case "$(LIBOBJS2)" in \ '') ;; \ *) $(AR) rucv $@ $(LIBOBJS2);; \ esac $(RANLIB) $@ # The following rule is for those makefiles needing to install object # modules in a library in another directory. They need only define # REMOTE_LIBRARY and LIBOBJS. The rule is forced for the same reason as the # $(LIB_A) rule. # lib_dummy $(REMOTE_LIBRARY): $(LIBOBJS) FORCE $(AR) rcuv $@ $(LIBOBJS) $(RANLIB) $@ installed_libfiles: FORCE @if [ -n "$(LIBFILES)" ]; then \ libfiles="$(LIBFILES)"; \ for libfile in $$libfiles; do \ $(MAKE) $(MFLAGS) \ LIBDIR=$(LIBDIR) LIBFILE=$$libfile \ installed_libfile || exit 1; \ done; \ else \ :; \ fi installed_library: FORCE @$(MAKE) $(MFLAGS) \ LIBDIR=$(LIBDIR) LIBFILE=$(LIB_A) \ installed_libfile # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_libfile: $(LIBDIR)/$(LIBFILE) $(LIBDIR)/dummy.a $(LIBDIR)/$(LIBFILE): $(LIBDIR) $(LIBFILE) cp $(LIBFILE) $@ dummy_libdir $(LIBDIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ LIB_SO = lib$(LIBRARY).so.$(MAJOR_NO).$(MINOR_NO) LIB_SA = lib$(LIBRARY).sa.$(MAJOR_NO).$(MINOR_NO) #library: FORCE # @so_objs=`echo $(LIBOBJS) | sed 's/\.o/.so/g'`; \ # if [ -z "$$so_objs" ]; then \ # :; \ # else \ # $(MAKE) $(MFLAGS) $(LIB_SO) \ # SO_OBJS="$$so_objs"; \ # fi # @if [ -z "$(SA_OBJS)" ]; then \ # :; \ # else \ # $(MAKE) $(MFLAGS) $(LIB_SA); \ # fi $(LIB_SO): $(SO_OBJS) ld -assert pure-text $(SO_OBJS) -o $@ $(LIB_SA): $(SA_OBJS) FORCE $(AR) rcuv $@ $(SA_OBJS) .fc.so: $(FORTC) -O $(OS) $< > $*.c \ || (rm -f $*.c; exit 1) $(CC) -c -o $$$$.o -pic $(CFLAGS) $(CPPFLAGS) $*.c \ || (rm -f $$$$.o; exit 1) mv $$$$.o $@ .c.so: $(CC) -c -o $$$$.o -pic $(CFLAGS) $(CPPFLAGS) $< \ || (rm -f $$$$.o; exit 1) mv $$$$.o $@ #installed_library: $(LIBDIR)/$(LIB_SO) # @if [ -z "$(SA_OBJS)" ]; then \ # :; \ # else \ # $(MAKE) $(MFLAGS) $(LIBDIR)/$(LIB_SA); \ # fi $(LIBDIR)/dummy.so $(LIBDIR)/$(LIB_SO): $(LIBDIR) $(LIB_SO) cp $(LIB_SO) $(LIBDIR)/$(LIB_SO) $(LIBDIR)/dummy.sa $(LIBDIR)/$(LIB_SA): $(LIBDIR) $(LIB_SA) cp $(LIB_SA) $(LIBDIR)/$(LIB_SA) ############################################################################ # Programs: ############################################################################ BINDIR = $(exec_prefix)/bin BINFILE = dummy-binfile programs: $(PROGRAMS) program: @if [ -z "$(PROGRAM)" ]; then \ : true; \ else \ $(MAKE) $(MFLAGS) $(PROGRAM); \ fi dummy_prog $(PROGRAM): $(OBJS) @if [ -r $@.f -o -r $@.F ]; then \ ld='$(FC) -o $@ $(FFLAGS)'; \ elif [ -r $@.cc -o -r $@.C ]; then \ ld='$(CXX) -o $@ $(CXXFLAGS)'; \ else \ ld='$(CC) -o $@ $(CFLAGS)'; \ fi; \ cmd="$$ld $(LDFLAGS) $(OBJS) $(LIBS)"; \ echo $$cmd; \ $$cmd \ || (rm -f $@; exit 1) installed_programs: FORCE @$(MAKE) $(MFLAGS) installed_binfiles \ BINDIR=$(BINDIR) BINFILES="$(PROGRAMS)" installed_binfiles: FORCE @if [ -n "$(BINFILES)" ]; then \ binfiles="$(BINFILES)"; \ for binfile in $$binfiles; do \ $(MAKE) $(MFLAGS) \ BINDIR=$(BINDIR) BINFILE=$$binfile \ installed_binfile || exit 1; \ done; \ else \ :; \ fi installed_program: FORCE @$(MAKE) $(MFLAGS) \ BINDIR=$(BINDIR) BINFILE=$(PROGRAM) \ installed_binfile # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_binfile: $(BINDIR)/$(BINFILE) $(BINDIR)/dummy $(BINDIR)/$(BINFILE): $(BINDIR) $(BINFILE) cp $(BINFILE) $@ dummy_bindir $(BINDIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ $(PROGRAM).pure: $(OBJS) purify -best-effort $(PURIFYFLAGS) $(CC) -o $@ \ $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) pure: purify purify: $(PROGRAM).pure FORCE $(MAKE) $(MFLAGS) PROGRAM=$(PROGRAM).pure test.pure.out ############################################################################ # Header files: ############################################################################ INCDIR = $(prefix)/include HEADER = dummy-header # to silence GNU make(1) installed_headers: FORCE @if [ -n "$(HEADERS)" ]; then \ headers="$(HEADERS)"; \ for header in $$headers; do \ $(MAKE) $(MFLAGS) \ INCDIR=$(INCDIR) HEADER=$$header \ installed_header || exit 1; \ done; \ else \ :; \ fi # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_header: $(INCDIR)/$(HEADER) $(INCDIR)/dummy.h $(INCDIR)/$(HEADER): $(INCDIR) $(HEADER) cp $(HEADER) $@ dummy_incdir $(INCDIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ ############################################################################ # `etc/' files: ############################################################################ ETCDIR = $(prefix)/etc ETCFILE = dummy-etcfile # to silence GNU make(1) installed_etcfiles: @if [ -n "$(ETCFILES)" ]; then \ etcfiles="$(ETCFILES)"; \ for etcfile in $$etcfiles; do \ $(MAKE) $(MFLAGS) \ ETCDIR=$(ETCDIR) ETCFILE=$$etcfile \ installed_etcfile || exit 1; \ done; \ else \ :; \ fi # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_etcfile: $(ETCDIR)/$(ETCFILE) $(ETCDIR)/dummy $(ETCDIR)/$(ETCFILE): $(ETCDIR) $(ETCFILE) cp $(ETCFILE) $@ dummy_etcdir $(ETCDIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ ############################################################################ # Manual Pages: ############################################################################ MANDIR = $(prefix)/man MANUAL = dummy-manual # to slience GNU make WHATIS = whatis # The following macro should be empty on systems that don't # allow users to create their own manual-page indexes. MAKEWHATIS_CMD = installed_manuals: FORCE @if [ -n "$(MANUALS)" ]; then \ manuals="$(MANUALS)"; \ for manual in $$manuals; do \ extension=`echo $$manual | sed 's/[^.]*\.//'`; \ chapter=`echo $$extension | sed 's/\(.\).*/\1/'`; \ subchapter=`echo $$extension | sed 's/.//'`; \ mandir=$(MANDIR)/man$$chapter; \ $(MAKE) $(MFLAGS) \ MANDIR=$$mandir MANUAL=$$manual \ installed_manual || exit 1; \ done; \ else \ :; \ fi # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_manual: $(MANDIR)/$(MANUAL) # The first sed(1) editing command in the following replaces the expanded # RCS keyword `$Date ...' in the `.TH' macro line with something more # appropriate to a manual page. # # We don't preprocess the manual page with tbl(1) and neqn(1) on OSF1 # IRIX, and HP-UX systems because their man(1) always does that. # # NB: Manual pages like `man3/udunits.3f' cause the subdirectory man3f/ # to be created as a symbolic link to man3/. This accomodates # operating-systems like SunOS 5.4 which require files like *.3f to be in # their own man3f/ subdirectory. # $(MANDIR)/dummy.man $(MANDIR)/$(MANUAL): $(MANDIR) $(MANUAL) case `uname -s` in \ OSF1*|IRIX*|HP-UX) \ sed \ -e '/^\.TH/s/$$D\ate: \([0-9]*\)\/\([0-9]*\)\/\([0-9]*\).*\$$/\1-\2-\3/'\ $(MANUAL) > $@;; \ *) \ sed \ -e '/^\.TH/s/$$D\ate: \([0-9]*\)\/\([0-9]*\)\/\([0-9]*\).*\$$/\1-\2-\3/'\ $(MANUAL) | $(TBL) | $(NEQN) > $@;; \ esac extension=`echo $(MANUAL) | sed 's/[^.]*\.//'`; \ subchapter=`echo $$extension | sed 's/.//'`; \ case "$$subchapter" in \ '') ;; \ *) chapter=`echo $$extension | sed 's/\(.\).*/\1/'`; \ if test -d $(MANDIR)$$subchapter; then \ : true; \ else \ mkdir $(MANDIR)$$subchapter; \ fi; \ rm -f $(MANDIR)$$subchapter/$(MANUAL); \ ln -s ../`basename $(MANDIR)`/$(MANUAL) \ $(MANDIR)$$subchapter/$(MANUAL); \ ;; \ esac dummy_mandir $(MANDIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ whatis: $(MANDIR)/$(WHATIS) $(MANDIR)/$(WHATIS): $(MANDIR) $(MAKEWHATIS_CMD) ############################################################################ # Documents: ############################################################################ DOCDIR = $(prefix)/doc DOCUMENT = dummy-document # to silence GNU make(1) installed_documents: FORCE case "$(DOCUMENTS)" in \ '') : true \ ;; \ *) documents="$(DOCUMENTS)"; \ for document in $$documents; do \ $(MAKE) $(MFLAGS) \ DOCUMENT=$$document installed_document || exit 1; \ done \ ;; \ esac # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_document: $(DOCDIR)/$(DOCUMENT) $(DOCDIR)/dummy.doc $(DOCDIR)/$(DOCUMENT): $(DOCDIR) $(DOCUMENT) cp $(DOCUMENT) $(DOCDIR) dummy_docdir $(DOCDIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ ############################################################################ # TeX-Info Pages: ############################################################################ INFODIR = $(prefix)/info INFO = dummy-info # to silence GNU make(1) installed_infos: FORCE if [ -z "$(MAKEINFO)" ]; then \ echo 1>&2 "GNU info-pages won't be installed" \ "because makeinfo program doesn't exist"; \ else \ if [ -n "$(INFOS)" ]; then \ infos="$(INFOS)"; \ for info in $$infos; do \ $(MAKE) $(MFLAGS) \ INFODIR=$(INFODIR) INFO=$$info \ installed_info || exit 1; \ done; \ else \ :; \ fi; \ fi; # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_info: $(INFODIR)/$(INFO) $(INFODIR)/dummy.info $(INFODIR)/$(INFO): $(INFODIR) $(INFO) cp $(INFO) $@ dummy_infodir $(INFODIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ # Rules for generating info pages: # .SUFFIXES: .info .texi .texinfo .txn .texi.info: @if [ -z "$(MAKEINFO)" ]; then \ echo 1>&2 "Can't create $@ because no makeinfo(1)"; \ else \ $(MAKEINFO) $< --no-split --output=$@; \ fi .texinfo.info: @if [ -z "$(MAKEINFO)" ]; then \ echo 1>&2 "Can't create $@ because no makeinfo(1)"; \ else \ $(MAKEINFO) $< --no-split --output=$@; \ fi .txn.info: @if [ -z "$(MAKEINFO)" ]; then \ echo 1>&2 "Can't create $@ because no makeinfo(1)"; \ else \ $(MAKEINFO) $< --no-split --output=$@; \ fi # Ensure that info page depends on canonical TeX-Info macros. # dummy_info $(INFO): texinfo.tex ############################################################################ # Cleanup: ############################################################################ clean: default_clean distclean: realclean realclean: default_realclean default_clean: FORCE rm -f $(GARBAGE) $(PROGRAM) a.out core *.o *.i *.a *.so.* *.sa.* \ *.so *.u *.pure *.pure_hardlink *.pure_linkinfo conftest* \ test.out test.pure.out \ *.aux *.toc *.dvi \ config.cache *.Z tags MANIFEST *~ default_distclean: default_realclean default_realclean: FORCE rm -f $(GARBAGE) $(PROGRAM) a.out core *.o *.i *.a *.so.* *.sa.* \ *.so *.u *.pure *.pure_hardlink *.pure_linkinfo conftest* \ test.out \ *.aux *.toc *.dvi \ config.cache *.Z *.log tags TAGS MANIFEST *~ \ Makefile config.status cc_id ############################################################################ # Configuration: ############################################################################ # The following target is touched because config.status won't update it if # it hasn't changed. # # The following is commented-out because the HPUX make(1) goes into a loop. # #Makefile: config.status # ./config.status # touch $@ config.status: cc_id configure ./configure --no-create cc_id: FORCE if test -r $@ && test "`cat $@`" = "$(CC)"; then \ :; \ else \ echo "$(CC)" > $@; \ fi # The following is commented-out because autoconf is currently only # available on Zero. # #configure: configure.in # autoconf ############################################################################ # Dependency maintenance: ############################################################################ .PRECIOUS: depend # # Note: The following rule will only work if the C compiler behaves correctly # when given the `-M' option. AIX's cc(1) and SunOS's acc(1) behave # incorrectly. --Steve Emmerson 1992-09-24 # # Furthermore, we do not attempt to maintain dependencies on installed # header files (e.g. those in $(INCDIR)) for two reasons: 1) the dependency # list generated at Unidata mightn't correspond to the situation at a client # site; and 2) clients using broken compilers (c.f. previous note) can't # regenerate the dependency list. # # We try to ensure that all C files exist in a distribution that # includes fortc(1), yacc(1), or lex(1) sources. # depend: FORCE # csrcs=`echo $(MANIFEST) | tr ' ' '\012' | egrep -s '\.fc|\.y|\.l'`; \ if [ "$$csrcs" ]; then \ echo 1>&2 "Ensuring that all C files exist for target depend"; \ echo 1>&2 "csrcs = $$csrcs"; \ $(MAKE) $(MFLAGS) $$csrcs; \ fi -incdir=`echo $(INCDIR) | sed s',/,\\\/,g'`; \ (case $(OS) in \ aix*) \ $(CC) -M -E $(CPPFLAGS) *.c > /dev/null; \ cat *.u; \ ;; \ *) \ $(CC_MAKEDEPEND) $(CPPFLAGS) *.c *.S 2> /dev/null; \ ;; \ esac) | awk '{ \ if ($$0 ~ /:/) { \ target = $$1; \ if (target ~ /:/) { \ target = substr(target,1,length(target)-1); \ start = 2; \ } else { \ start = 3; \ } \ } else { \ start = 1; \ } \ for (i = start; i <= NF; ++i) { \ if ($$i !~ /^\\/ && \ $$i !~ /port\// && \ $$i !~ /^\//) \ { \ if ($$i ~ /^\.\//) \ $$i = substr($$i, 3, 99); \ print target ": " $$i \ } \ } \ }' >>$@ sort -u -o $@ $@ tag='### DO NOT DELETE THIS LINE. make depend DEPENDS ON IT ###'; \ sed -e "/^$$tag$$/r depend" \ -e "/^$$tag$$/q" Makefile > Makefile.new mv Makefile.new Makefile ############################################################################ # Distributions: ############################################################################ FTPDIR = /home/ftp/pub FTPBINDIR = /home/ftp/pub/binary/dummy_system VERSION = 2.6.1 TARFLAGS = -chof zip: FORCE version=`cat VERSION | sed 's/\.//g;s/-//g`; \ $(MAKE) $(MFLAGS) $(PACKAGE)$$version.zip VERSION=$$version $(PACKAGE)$(VERSION).zip: MANIFEST id=$(PACKAGE)$(VERSION) \ && rm -rf $$id \ && mkdir $$id \ && ln -s .. $$id/src \ && sed "s|^|$$id/src/|" MANIFEST | zip -@ $@ \ && rm -r $$id tar.Z: FORCE version=`cat VERSION`; \ $(MAKE) $(MFLAGS) $(PACKAGE)-$$version.tar.Z VERSION=$$version $(FTPDIR)/$(PACKAGE)-$(VERSION).tar.Z: $(PACKAGE)-$(VERSION).tar.Z cp $(PACKAGE)-$(VERSION).tar.Z $@ chmod u+rw,g+rw,o=r $@ ftp: FORCE version=`cat VERSION`; \ $(MAKE) $(MFLAGS) $(FTPDIR)/$(PACKAGE)-$$version.tar.Z \ VERSION=$$version; \ test -r $(FTPDIR)/$(PACKAGE).tar.Z || exit 0; \ cd $(FTPDIR) || exit 1; \ rm $(PACKAGE).tar.Z || exit 1; \ ln -s $(PACKAGE)-$$version.tar.Z $(PACKAGE).tar.Z; $(PACKAGE)-$(VERSION).tar.Z: MANIFEST id=$(PACKAGE)-$(VERSION) \ && rm -rf $$id \ && mkdir $$id \ && ln -s .. $$id/src \ && tar $(TARFLAGS) - `sed "s|^|$$id/src/|" MANIFEST` | compress > $@ \ && rm -r $$id binftp: FORCE version=`cat VERSION`; \ $(MAKE) $(MFLAGS) $(FTPBINDIR)/$(PACKAGE)-$$version.tar.Z \ VERSION=$$version ftpbin: binftp $(FTPBINDIR)/$(PACKAGE)-$(VERSION).tar.Z: FORCE id=$(PACKAGE)-$(VERSION) \ && rm -f $$id \ && ln -s $(prefix) $$id \ && tar $(TARFLAGS) - README $$id/bin $$id/doc $$id/etc $$id/include \ $$id/lib $$id/man | compress > $@ \ && rm $$id chmod u+rw,g+rw,o=r $@ test -r $(FTPBINDIR)/$(PACKAGE).tar.Z || exit 0; \ cd $(FTPBINDIR) || exit 1; \ rm $(PACKAGE).tar.Z || exit 1; \ ln -s $(PACKAGE)-$(VERSION).tar.Z $(PACKAGE).tar.Z; MANIFEST: FORCE @echo 1>&2 Creating MANIFEST @$(MAKE) -s $(MFLAGS) MANIFEST.echo > $@ MANIFEST.echo: FORCE @echo $(MANIFEST) | tr ' ' '\012' @if [ -n "$(SUBDIRS)" ]; then \ subdirs="$(SUBDIRS)"; \ for subdir in $$subdirs; do \ (cd $$subdir && \ echo 1>&2 Creating $@ in `pwd` && \ $(MAKE) $(MFLAGS) MANIFEST.echo | \ sed "s|^|$$subdir/|") || exit 1; \ done; \ else \ :; \ fi ensure_manifest: FORCE @$(MAKE) $(MFLAGS) \ `echo $(MANIFEST) | sed 's/MANIFEST//'` @if [ -n "$(SUBDIRS)" ]; then \ subdirs="$(SUBDIRS)"; \ for subdir in $$subdirs; do \ (cd $$subdir && \ echo 1>&2 Creating $@ in `pwd` && \ $(MAKE) $(MFLAGS) ensure_manifest ) || \ exit 1; \ done; \ else \ :; \ fi ############################################################################ # Miscellaneous: ############################################################################ # The following dummy target is useful as a dependency to ensure that a # rule is always executed. # FORCE: xgks-2.6.1+dfsg.2/src/doc/NOTES0000644000175000017500000000250711413611016017052 0ustar amckinstryamckinstryFORTRAN Interface: gopwk(integer wkid, integer conid, integer wtype) if (wtype == 1 || wtype == 2) { if (conid == FORTRAN LUN) { use name associated with FORTRAN LUN as filename } else { use last gescid() argument as filename } if (filename contains '.cgm') { open filename as CGM } else { open filename as GKSM } } else if (wtype == 3) { open WISS `workstation' } else if (wtype == 4) { if (gescid() called) { use last gescid() argument as hostname:display[.screen] } else { use DISPLAY environment variable as hostname:display[.screen] } } NB: wtype type ----- ---- 1 MI 2 MO 3 WISS 4 X C Interface: gopenws(int ws_id, char *connection, char *ws_type) if (ws_type == NULL) ws_type = connection; if (ws_type == "MI" || ws_type == "MO") { if (connection contains ".cgm") { open file connection as CGM } else { open file connection as GKSM } } else if (ws_type == "WISS") { open WISS `workstation' } else if (ws_type == NULL || ws_type contains ':') { if (connection != NULL) { use connection as hostname:display[.screen] } else { use DISPLAY environment variable as hostname:display[.screen] } } NB: wtype type ----- ---- "MI" MI "MO" MO "WISS" WISS NULL X xgks-2.6.1+dfsg.2/src/doc/binding/0000755000175000017500000000000011413611016017645 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/doc/binding/Cbinding.src0000644000175000017500000002222411413611016022075 0ustar amckinstryamckinstryGint gopenws (Gint wsid, Gchar *connection, Gchar *ws_type); Gint gclosews (Gint wsid); Gint gclearws (Gint wsid, Gclrflag control_flag); Gint gopengks (Gfile *err_file, Glong memory); Gint gclosegks (void); Gint gsetasf (Gasfs *asf); Gint gsetcolorrep (Gint wsid, Gint idx, Gcobundl *rep); Gint ginqcolorrep (Gint wsid, Gint idx, Gqtype type, Gcobundl *rep); Gint ginqcolorindices (Gint wsid, Gintlist *indices); Gint ginqcolorfacil (Gchar *ws_type, Gcofac *fac); Gint ginqpredcolorrep (Gchar *ws_type, Gint index, Gcobundl *rep); Gint gactivatews (Gint wsid); Gint gdeactivatews (Gint wsid); Gint gsetwindow (Gint trans, Glimit *window); Gint gsetviewport (Gint trans, Glimit *viewport); Gint gsetviewportinputpri (Gint trans, Gint ref_trans, Gvpri priority); Gint gselntran (Gint trans); Gint gsetclip (Gclip ind); Gint gsetwswindow (Gint wsid, Glimit *window); Gint gsetwsviewport (Gint wsid, Glimit *viewport); Gint gevaltran (Gpoint *ppoint, Gpoint *pshift, Gfloat angle, Gpoint *pscale, Gcsw coord, Gfloat result[2][3]); Gint gaccumtran (Gfloat segtran[2][3], Gpoint *ppoint, Gpoint *pshift, Gfloat angle, Gpoint *pscale, Gcsw coord, Gfloat result[2][3]); Gint gemergencyclosegks (void); Gint gerrorhand (Gint errnum, Gchar *funcname, Gfile *perrfile); Gint gerrorlog (Gint errnum, Gchar *funcname, Gfile *perrfile); Gint gpolyline (Gint num_pts, Gpoint *pts); Gint gsetlineind (Gint idx); Gint gsetlinetype (Gint type); Gint gsetlinewidth (Gfloat width); Gint gsetlinecolorind (Gint idx); Gint gsetlinerep (Gint wsid, Gint idx, Glnbundl *rep); Gint gcreateseg (Gint name); Gint gcloseseg (void); Gint grenameseg (Gint old, Gint new); Gint gdelseg (Gint name); Gint gdelsegws (Gint wsid, Gint name); Gint gsetsegattr (Gint name, Gsegattr *segattr); Gint gsetpickid (Gint pick_id); Gint gassocsegws (Gint wsid, Gint seg_id); Gint gcopysegws (Gint wsid, Gint seg_id); Gint ginsertseg (Gint seg_id, Gfloat segtran[2][3]); Gint gredrawsegws (Gint wsid); Gint ginqmodsegattr (Gchar *ws_type, Gmodseg *dyn); Gint ginqnameopenseg (Gint *seg); Gint ginqsegattr (Gsegattr *segattr); Gint ginqassocws (Gint seg, Gintlist *asswk); Gint ginqsegnames (Gintlist *segs); Gint ginqsegnamesws (Gint wsid, Gintlist *segs); Gint ginqnumsegpri (Gchar *ws_type, Gint *numpri); Gint ginqcurpickid (Gint *pickid); Gint gpolymarker (Gint num_pts, Gpoint *pts); Gint gsetmarkersize (Gfloat size); Gint gsetmarkertype (Gint type); Gint gsetmarkercolorind (Gint color); Gint gsetmarkerind (Gint idx); Gint gsetmarkerrep (Gint wsid, Gint idx, Gmkbundl *rep); Gint gfillarea (Gint num_pts, Gpoint *pts); Gint gsetfillcolorind (Gint color); Gint gsetfillind (Gint idx); Gint gsetfillintstyle (Gflinter style); Gint gsetfillrep (Gint wsid, Gint idx, Gflbundl *rep); Gint gsetfillstyleind (Gint idx); Gint gsetpatrep (Gint wsid, Gint idx, Gptbundl *rep); Gint gcellarray (Grect *rect, Gipoint *dim, Gint row, Gint *color); Gint ginitloc (Gint wsid, Gint dev, Gloc *init, Gint pet, Glimit *area, Glocrec *record); Gint gsetlocmode (Gint wsid, Gint dev, Gimode mode, Gesw echo); Gint greqloc (Gint wsid, Gint dev, Gqloc *response); Gint gsampleloc (Gint wsid, Gint dev, Gloc *response); Gint ginqlocst (Gint wsid, Gint dev, Gqtype type, Glocst *state); Gint ginqdefloc (Gchar *type, Gint dev, Gdefloc *data); Gint gawaitevent (Gfloat timeout, Gevent *event); Gint gflushevents (Gint wsid, Giclass class, Gint dev); Gint ginqinputoverflow (Gqueue *overflow); Gint ginqmoreevents (Gsimultev *events); Gint ggetloc (Gloc *response); Gint ggetstroke (Gstroke *response); Gint ggetchoice (Gchoice *response); Gint ggetpick (Gpick *response); Gint ggetval (Gfloat *response); Gint ggetstring (Gchar *response); Gint gupdatews (Gint wsid, Gregen regenflag); Gint gsetcharexpan (Gfloat expansion); Gint gsetcharheight (Gfloat height); Gint gsetcharspace (Gfloat spacing); Gint gsetcharup (Gpoint *up_vector); Gint gsettextalign (Gtxalign *txalign); Gint gsettextcolorind (Gint color); Gint gsettextfontprec (Gtxfp *txfp); Gint gsettextind (Gint idx); Gint gsettextpath (Gtxpath path); Gint gsettextrep (Gint wsid, Gint idx, Gtxbundl *bundle); Gint gtext (Gpoint *at, Gchar *string); Gint ginqtextextent (Gint wsid, Gpoint position, Gchar *string, Gextent *extent); Gint gsetdeferst (Gint wsid, Gdefmode deferral_mode, Girgmode regen_mode); Gint ginitchoice (Gint wsid, Gint dev, Gchoice *init, Gint pet, Glimit *area, Gchoicerec *record); Gint gsetchoicemode (Gint wsid, Gint dev, Gimode mode, Gesw echo); Gint greqchoice (Gint wsid, Gint dev, Gchoice *response); Gint gsamplechoice (Gint wsid, Gint dev, Gchoice *response); Gint ginqchoicest (Gint wsid, Gint dev, Gchoicest *state); Gint ginqdefchoice (Gchar *type, Gint dev, Gdefchoice *data); Gint ginitpick (Gint wsid, Gint dev, Gpick *init, Gint pet, Glimit *area, Gpickrec *record); Gint gsetpickmode (Gint wsid, Gint dev, Gimode mode, Gesw echo); Gint greqpick (Gint wsid, Gint dev, Gpick *response); Gint gsamplepick (Gint wsid, Gint dev, Gpick *response); Gint ginqpickst (Gint wsid, Gint dev, Gqtype type, Gpickst *state); Gint ginqdefpick (Gchar *type, Gint dev, Gdefpick *data); Gint ginitval (Gint wsid, Gint dev, Gfloat init, Gint pet, Glimit *area, Gvalrec *record); Gint gsetvalmode (Gint wsid, Gint dev, Gimode mode, Gesw echo); Gint greqval (Gint wsid, Gint dev, Gqval *response); Gint gsampleval (Gint wsid, Gint dev, Gfloat *response); Gint ginqvalst (Gint wsid, Gint dev, Gvalst *state); Gint ginqdefval (Gchar *type, Gint dev, Gdefval *data); Gint ginitstring (Gint wsid, Gint dev, Gchar *init, Gint pet, Glimit *area, Gstringrec *record); Gint gsetstringmode (Gint wsid, Gint dev, Gimode mode, Gesw echo); Gint greqstring (Gint wsid, Gint dev, Gqstring *response); Gint gsamplestring (Gint wsid, Gint dev, Gchar *response); Gint ginqstringst (Gint wsid, Gint dev, Gstringst *state); Gint ginqdefstring (Gchar *type, Gint dev, Gdefstring *data); Gint ginitstroke (Gint wsid, Gint dev, Gstroke *init, Gint pet, Glimit *area, Gstrokerec *record); Gint gsetstrokemode (Gint wsid, Gint dev, Gimode mode, Gesw echo); Gint greqstroke (Gint wsid, Gint dev, Gqstroke *response); Gint gsamplestroke (Gint wsid, Gint dev, Gstroke *response); Gint ginqstrokest (Gint wsid, Gint dev, Gqtype type, Gstrokest *state); Gint ginqdefstroke (Gchar *type, Gint dev, Gdefstroke *data); Gint ginqlinefacil (Gchar *ws_type, Glnfac *fac); Gint ginqpredlinerep (Gchar *ws_type, Gint idx, Glnbundl *rep); Gint ginqlineindices (Gint wsid, Gintlist *idxlist); Gint ginqlinerep (Gint wsid, Gint idx, Gqtype type, Glnbundl *rep); Gint ginqmarkerfacil (Gchar *ws_type, Gmkfac *fac); Gint ginqpredmarkerrep (Gchar *ws_type, Gint idx, Gmkbundl *rep); Gint ginqmarkerindices (Gint wsid, Gintlist *idxlist); Gint ginqmarkerrep (Gint wsid, Gint idx, Gqtype type, Gmkbundl *rep); Gint ginqfillfacil (Gchar *ws_type, Gflfac *fac); Gint ginqpredfillrep (Gchar *ws_type, Gint idx, Gflbundl *rep); Gint ginqfillindices (Gint wsid, Gintlist *idxlist); Gint ginqfillrep (Gint wsid, Gint idx, Gqtype type, Gflbundl *rep); Gint ginqpatfacil (Gchar *ws_type, Gint *fac); Gint ginqpredpatrep (Gchar *ws_type, Gint idx, Gptbundl *rep); Gint ginqpatindices (Gint wsid, Gintlist *idxlist); Gint ginqpatrep (Gint wsid, Gint idx, Gqtype type, Gptbundl *rep); Gint gmessage (Gint wsid, Gchar *string); Gint gescinqxattr (Gint wsid, Display **dpy, Window *win, GC *gc); void gescsetbackingstore (Gint wsid, Gint i); void gescsetprogname (char *name); Gint gescsetcolormask (Gint wsid, unsigned long mask); Gint gescsetdcsize (Gint wsid, Gpoint size); Gint gescstoreprimi (Gint wsid, Gstore store); Gint gescredrawnotify (Gint wsid, Gint (*funcp)(Gint wsid, typedef enum Gredraw who)); Gint ginqtextfacil (Gchar *ws_type, Gtxfac *fac); Gint ginqpredtextrep (Gchar *ws_type, Gint idx, Gtxbundl *rep); Gint ginqtextindices (Gint wsid, Gintlist *idxlist); Gint ginqtextrep (Gint wsid, Gint idx, Gqtype type, Gtxbundl *rep); Gint ginqavailwstypes (Gstrlist *wstypes); Gint ginqdisplayspacesize (Gchar *ws_type, Gdspsize *dspsz); Gint ginqwscategory (Gchar *ws_type, Gwscat *cat); Gint ginqwsclass (Gchar *ws_type, Gwsclass *class); Gint ginqmodwsattr (Gchar *ws_type, Gmodws *dyn); Gint ginqdefdeferst (Gchar *ws_type, Gdefer *def); Gint ginqmaxwssttables (Gchar *ws_type, Gwstables *tables); Gint ginqnumavailinput (Gchar *ws_type, Gnumdev *num); Gint ginqwsconntype (Gint wsid, Gwsct *ct); Gint ginqwsst (Gint wsid, Gwsstate *state); Gint ginqwsdeferupdatest (Gint wsid, Gwsdus *du); Gint ginqopst (Gos *state); Gint ginqlevelgks (Glevel *lev); Gint ginqwsmaxnum (Gwsmax *maxws); Gint ginqopenws (Gintlist *wsids); Gint ginqactivews (Gintlist *wsids); Gint ginqprimattr (Gpriattr *primattr); Gint ginqindivattr (Gindattr *indivattr); Gint ginqcurntrannum (Gint *tran); Gint ginqntrannum (Gintlist *tranlist); Gint ginqntran (Gint num, Gwstran *tran); Gint ginqclip (Gcliprec *clipping); Gint ginqmaxntrannum (Gint *maxtran); Gint ginqwstran (Gint wsid, Gwsti *wstran); Gint ginqpixelarraydim (Gint wsid, Grect *rect, Gipoint *dim); Gint ginqpixelarray (Gint wsid, Gpoint *point, Gipoint *dimen, Gpxarray *pxarr); Gint ginqpixel (Gint wsid, Gpoint *ppoint, Gint *pix); Gint gwritegksm (Gint wsid, Gint type, Gint length, Gchar *data); Gint ggetgksm (Gint wsid, Ggksmit *result); Gint greadgksm (Gint wsid, Gint length, Gchar *record); Gint ginterpret (Ggksmit *recInfo, Gchar *data); xgks-2.6.1+dfsg.2/src/doc/binding/dist.mk0000644000175000017500000000250111413611016021137 0ustar amckinstryamckinstry# $Id: dist.mk,v 2.5.4.1 1993/03/10 19:43:35 steve Exp $ # $Header: /cvsroot/xgks/xgks/doc/binding/dist.mk,v 2.5.4.1 1993/03/10 19:43:35 steve Exp $ # # Copyright (C) 1990 UCAR/Unidata # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose without fee is hereby granted, provided # that the above copyright notice appear in all copies, that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of UCAR/Unidata not be used in # advertising or publicity pertaining to distribution of the software # without specific, written prior permission. UCAR makes no # representations about the suitability of this software for any purpose. # It is provided "as is" without express or implied warranty. It is # provided with no support and without obligation on the part of UCAR or # Unidata, to assist in its use, correction, modification, or enhancement. # # Makefile to copy distribution to ftp directories. THIS_DIR = src/xgks/doc/binding/ SUBDIRS = # Sources common to UNIX and VMS distributions SOURCES = \ Cbinding.src \ function_list \ mkcbinding \ Makefile \ RELEASE.NOTES # Sources for UNIX distribution only UNIX_SOURCES = # Sources for VMS distribution only VMS_SOURCES = # include /usr/local/ldm/src/dist.mk-rules xgks-2.6.1+dfsg.2/src/doc/binding/Makefile.in0000644000175000017500000000073611413611016021720 0ustar amckinstryamckinstry# $Id: Makefile.in,v 2.5.4.1 1993/03/10 19:43:35 steve Exp $ # # Makefile for the "doc/binding" subdirectory of the XGKS package. TROFF = @TROFF@ MANIFEST = Makefile.in function_list Cbinding.src mkcbinding name = cbinding document = $(name).me GARBAGE = $(document) AP all:: $(document) hardcopy: $(name).hc $(document): function_list Cbinding.src ./mkcbinding function_list Cbinding.src > $@ include ../../port/master.mk .SUFFIXES: .hc .me .me.hc: $(TROFF) -me $< xgks-2.6.1+dfsg.2/src/doc/binding/mkcbinding0000755000175000017500000000101211413611016021672 0ustar amckinstryamckinstry#!/bin/sh # # $Id: mkcbinding,v 2.5.4.1 1993/03/10 19:43:35 steve Exp $ # $__Header$ function_list=$1 cbinding_src=$2 cat << EOF .de FH .(b .fi .na .ti -1.0i \\\\\$1 .ti -1.0i \\\\\$2 .)b .. .he ''XGKS C Language Binding'' .fo ''- % -'' .ps 10 .ls 1 .in +1.0i EOF rm -f AP cat << EOF > AP {printf("grep ',%s()' $function_list | /bin/echo -n \`awk -F, '{printf(\".FH \\\\\"%%s\\\\\" \\\\\"\",\$1)}'\`; echo \`grep ' %s ' $cbinding_src\`\\\\\"\n",\$1,\$1)} EOF sort +1 -2 $cbinding_src | awk '{print $2}' | awk -f AP | sh xgks-2.6.1+dfsg.2/src/doc/binding/CVS/0000755000175000017500000000000011413611016020300 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/doc/binding/CVS/Entries0000644000175000017500000000056511413611016021642 0ustar amckinstryamckinstry/AP/2.5.4.1/Wed Mar 10 19:43:36 1993// /Cbinding.src/2.5.4.1/Wed Mar 10 19:43:36 1993// /Makefile.in/2.5.4.1/Wed Mar 10 19:43:35 1993// /RELEASE.NOTES/2.5.4.1/Wed Mar 10 19:43:35 1993// /cbinding.me/2.6/Sat Mar 27 04:26:08 1993// /dist.mk/2.5.4.1/Wed Mar 10 19:43:35 1993// /function_list/2.5.4.1/Wed Mar 10 19:43:35 1993// /mkcbinding/2.5.4.1/Wed Mar 10 19:43:35 1993// D xgks-2.6.1+dfsg.2/src/doc/binding/CVS/Repository0000644000175000017500000000002111413611016022373 0ustar amckinstryamckinstryxgks/doc/binding xgks-2.6.1+dfsg.2/src/doc/binding/CVS/Root0000644000175000017500000000006111413611016021143 0ustar amckinstryamckinstry:pserver:anonymous@cvs.XGKS.sf.net:/cvsroot/xgks xgks-2.6.1+dfsg.2/src/doc/binding/function_list0000644000175000017500000002122111413611016022446 0ustar amckinstryamckinstryGKS Function Name,C Function Name,Status ACCUMULATE TRANSFORMATION MATRIX,gaccumtran(),Coded ACTIVATE WORKSTATION,gactivatews(),Coded ASSOCIATE SEGMENT WITH WORKSTATION,gassocsegws(),Coded AWAIT EVENT,gawaitevent(),Coded CELL ARRAY,gcellarray(),Coded CLEAR WORKSTATION,gclearws(),Coded CLOSE GKS,gclosegks(),Coded CLOSE SEGMENT,gcloseseg(),Coded CLOSE WORKSTATION,gclosews(),Coded COPY SEGMENT TO WORKSTATION,gcopysegws(),Coded CREATE SEGMENT,gcreateseg(),Coded DEACTIVATE WORKSTATION,gdeactivatews(),Coded DELETE SEGMENT,gdelseg(),Coded DELETE SEGMENT FROM WORKSTATION,gdelsegws(),Coded EMERGENCY CLOSE GKS,gemergencyclosegks(),Coded ERROR HANDLING,gerrorhand(),Coded ERROR LOGGING,gerrorlog(),Coded ESCAPE,gescape(), ESCAPE SET COLOR PLANE MASK,gescsetcolormask(),Coded ESCAPE SET DEVICE COORDINATE SIZE,gescsetdcsize(),Coded ESCAPE SET MESSAGE POINT,gescsetmessagepoint(), ESCAPE INQUIRE X ATTRIBUTES,gescinqxattr(), ESCAPE INQUIRE COLOR INDEX,gescinqcolorind(), ESCAPE SET STORE OUTPUT PRIMITIVES,gescstoreprimi(),Coded ESCAPE SET REDRAW NOTIFY,gescredrawnotify(),Coded EVALUATE TRANSFORMATION MATRIX,gevaltran(),Coded FILL AREA,gfillarea(),Coded FLUSH DEVICE EVENTS,gflushevents(),Coded GENERALIZED DRAWING PRIMITIVE (GDP),ggdp(), GET CHOICE,ggetchoice(),Coded GET ITEM TYPE FROM GKSM,ggetgksm(),Coded GET LOCATOR,ggetloc(),Coded GET PICK,ggetpick(),Coded GET STRING,ggetstring,Coded GET STROKE,ggetstroke(),Coded GET VALUATOR,ggetval(),Coded INITIALISE CHOICE,ginitchoice(),Coded INITIALISE LOCATOR,ginitloc(),Coded INITIALISE PICK,ginitpick(),Coded INITIALISE STRING,ginitstring(),Coded INITIALISE STROKE,ginitstroke(),Coded INITIALISE VALUATOR,ginitval(),Coded INQUIRE CHOICE DEVICE STATE,ginqchoicest(),Coded INQUIRE CLIPPING INDICATOR,ginqclip(),Coded INQUIRE COLOR FACILITIES,ginqcolorfacil(),Coded INQUIRE COLOR REPRESENTATION,ginqcolorrep(),Coded INQUIRE CURRENT INDIVIDUAL ATTRIBUTE VALUES,ginqindividualattr(),Coded INQUIRE CURRENT NORMALIZATION TRANSFORMATION NUMBER,ginqcurntrannum(),Coded INQUIRE CURRENT PICK IDENTIFIER VALUE,ginqcurpickid(),Coded INQUIRE CURRENT PRIMITIVE ATTRIBUTE VALUES,ginqprimattr(),Coded INQUIRE DEFAULT CHOICE DEVICE DATA,ginqdefchoice(),Coded INQUIRE DEFAULT DEFERRAL STATE VALUES,ginqdefdeferst(),Coded INQUIRE DEFAULT LOCATOR DEVICE DATA,ginqdefloc(),Coded INQUIRE DEFAULT PICK DEVICE DATA,ginqdefpick(),Coded INQUIRE DEFAULT STRING DEVICE DATA,ginqdefstring(),Coded INQUIRE DEFAULT STROKE DEVICE DATA,ginqdefstroke(),Coded INQUIRE DEFAULT VALUATOR DEVICE DATA,ginqdefval(),Coded INQUIRE DISPLAY SURFACE SIZE,ginqdisplayspacesize(),Coded INQUIRE DYNAMIC MODIFICATION OF SEGMENT ATTRIBUTES,ginqmodsegattr(),Coded INQUIRE DYNAMIC MODIFICATION OF WORKSTATION ATTRIBUTES,ginqmodwsattr(),Coded INQUIRE FILL AREA FACILITIES,ginqfillfacil(),Coded INQUIRE FILL AREA REPRESENTATION,ginqfillrep(),Coded INQUIRE GENERALIZED DRAWING PRIMITIVE,ginqgdp(), INQUIRE INPUT QUEUE OVERFLOW,ginqinputoverflow(),Coded INQUIRE LEVEL OF GKS,ginqlevelgks(),Coded INQUIRE LIST OF AVAILABLE GENERALIZED DRAWING PRIMITIVES,ginqavailgdp(), INQUIRE LIST OF AVAILABLE WORKSTATION TYPES,ginqavailwstypes(),Coded INQUIRE LIST OF COLOR INDICES,ginqcolorindices(),Coded INQUIRE LIST OF FILL AREA INDICES,ginqfillindices(),Coded INQUIRE LIST OF NORMALIZATION TRANSFORMATION NUMBERS,ginqntrannum(),Coded INQUIRE LIST OF PATTERN INDICES,ginqpatindices(),Coded INQUIRE LIST OF POLYLINE INDICES,ginqlineindices(),Coded INQUIRE LIST OF POLYMARKER INDICES,ginqmarkerindices(),Coded INQUIRE LIST OF TEXT INDICES,ginqtextindices(),Coded INQUIRE LOCATOR DEVICE STATE,ginqlocst(),Coded INQUIRE MAXIMUM LENGTH OF WORKSTATION STATE TABLES,ginqmaxwssttables(),Coded INQUIRE MAXIMUM NORMALIZATION TRANSFORMATION NUMBER,ginqmaxntrannum(),Coded INQUIRE MORE SIMULTANEOUS EVENTS,ginqmoreevents(),Coded INQUIRE NAME OF OPEN SEGMENT,ginqnameopenseg(),Coded INQUIRE NORMALIZATION TRANSFORMATION,ginqntran(),Coded INQUIRE NUMBER OF AVAILABLE LOGICAL INPUT DEVICES,ginqnumavailinput(),Coded INQUIRE NUMBER OF SEGMENT PRIORITIES SUPPORTED,ginqnumsegpri(),Coded INQUIRE OPERATING STATE VALUE,ginqopst(),Coded INQUIRE PATTERN FACILITIES,ginqpatfacil(),Coded INQUIRE PATTERN REPRESENTATION,ginqpatrep(),Coded INQUIRE PICK DEVICE STATE,ginqpickst(),Coded INQUIRE PIXEL,ginqpixel(),Coded INQUIRE PIXEL ARRAY,ginqpixelarray(),Coded INQUIRE PIXEL ARRAY DIMENSIONS,ginqpixelarraydim(),Coded INQUIRE POLYLINE FACILITIES,ginqlinefacil(),Coded INQUIRE POLYLINE REPRESENTATION,ginqlinerep(),Coded INQUIRE POLYMARKER FACILITIES,ginqmarkerfacil(),Coded INQUIRE POLYMARKER REPRESENTATION,ginqmarkerrep(),Coded INQUIRE PREDEFINED COLOR REPRESENTATION,ginqpredcolorrep(),Coded INQUIRE PREDEFINED FILL AREA REPRESENTATION,ginqpredfillrep(),Coded INQUIRE PREDEFINED PATTERN REPRESENTATION,ginqpredpatrep(),Coded INQUIRE PREDEFINED POLYLINE REPRESENTATION,ginqpredlinerep(),Coded INQUIRE PREDEFINED POLYMARKER REPRESENTATION,ginqpredmarkerrep(),Coded INQUIRE PREDEFINED TEXT REPRESENTATION,ginqpredtextrep(),Coded INQUIRE SEGMENT ATTRIBUTES,ginqsegattr(),Coded INQUIRE SET OF ACTIVE WORKSTATIONS,ginqactivews(),Coded INQUIRE SET OF ASSOCIATED WORKSTATIONS,ginqassocws(),Coded INQUIRE SET OF OPEN WORKSTATIONS,ginqopenws(),Coded INQUIRE SET OF SEGMENT NAMES IN USE,ginqsegnames(),Coded INQUIRE SET OF SEGMENT NAMES ON WORKSTATION,ginqsegnamesws(),Coded INQUIRE STRING DEVICE STATE,ginqstringst(),Coded INQUIRE STROKE DEVICE STATE,ginqstrokest(),Coded INQUIRE TEXT EXTENT,ginqtextextent(),Coded INQUIRE TEXT FACILITIES,ginqtextfacil(),Coded INQUIRE TEXT REPRESENTATION,ginqtextrep(),Coded INQUIRE VALUATOR DEVICE STATE,ginqvalst(),Coded INQUIRE WORKSTATION CATEGORY,ginqwscategory(),Coded INQUIRE WORKSTATION CLASSIFICATION,ginqwsclass(),Coded INQUIRE WORKSTATION CONNECTIONS AND TYPE,ginqwsconntype(),Coded INQUIRE WORKSTATION DEFERRAL AND UPDATE STATES,ginqwsdeferupdatest(),Coded INQUIRE WORKSTATION MAXIMUM NUMBERS,ginqwsmaxnum(),Coded INQUIRE WORKSTATION STATE,ginqwsst(),Coded INQUIRE WORKSTATION TRANSFORMATION,ginqwstran(),Coded INSERT SEGMENT,ginsertseg(),Coded INTERPRET ITEM,ginterpret(),Coded MESSAGE,gmessage(),Coded OPEN GKS,gopengks(),Coded OPEN WORKSTATION,gopenws(),Coded POLYLINE,gpolyline(),Coded POLYMARKER,gpolymarker(),Coded READ ITEM FROM GKSM,greadgksm(),Coded REDRAW ALL SEGMENTS ON WORKSTATION,gredrawsegws(),Coded RENAME SEGMENT,grenameseg(),Coded REQUEST CHOICE,greqchoice(),Coded REQUEST LOCATOR,greqloc(),Coded REQUEST PICK,greqpick(),Coded REQUEST STRING,greqstring(),Coded REQUEST STROKE,greqstroke(),Coded REQUEST VALUATOR,greqval(),Coded SAMPLE CHOICE,gsamplechoice(),Coded SAMPLE LOCATOR,gsampleloc(),Coded SAMPLE PICK,gsamplepick(),Coded SAMPLE STRING,gsamplestring(),Coded SAMPLE STROKE,gsamplestroke(),Coded SAMPLE VALUATOR,gsampleval(),Coded SELECT NORMALIZATION TRANSFORMATION,gselntran(),Coded SET ASPECT SOURCE FLAGS,gsetasf(),Coded SET CHARACTER EXPANSION FACTOR,gsetcharexpan(),Coded SET CHARACTER HEIGHT,gsetcharheight(),Coded SET CHARACTER SPACING,gsetcharspace(),Coded SET CHARACTER UP VECTOR,gsetcharup(),Coded SET CHOICE MODE,gsetchoicemode(),Coded SET CLIPPING INDICATOR,gsetclip(),Coded SET COLOR REPRESENTATION,gsetcolorrep(),Coded SET DEFERRAL STATE,gsetdeferst(),Coded SET FILL AREA COLOR INDEX,gsetfillcolorind(),Coded SET FILL AREA INDEX,gsetfillind(),Coded SET FILL AREA INTERIOR STYLE,gsetfillintstyle(),Coded SET FILL AREA REPRESENTATION,gsetfillrep(),Coded SET FILL AREA STYLE INDEX,gsetfillstyleind(),Coded SET LINETYPE,gsetlinetype(),Coded SET LINEWIDTH SCALE FACTOR,gsetlinewidth(),Coded SET LOCATOR MODE,gsetlocmode(),Coded SET MARKER SIZE SCALE FACTOR,gsetmarkersize(),Coded SET MARKER TYPE,gsetmarkertype(),Coded SET PATTERN REFERENCE POINT,gsetpatrefpt(), SET PATTERN REPRESENTATION,gsetpatrep(),Coded SET PATTERN SIZE,gsetpatsize(), SET PICK IDENTIFIER,gsetpickid(),Coded SET PICK MODE,gsetpickmode(),Coded SET POLYLINE COLOR INDEX,gsetlinecolorind(),Coded SET POLYLINE INDEX,gsetlineind(),Coded SET POLYLINE REPRESENTATION,gsetlinerep(),Coded SET POLYMARKER COLOR INDEX,gsetmarkercolorind(),Coded SET POLYMARKER INDEX,gsetmarkerind(),Coded SET POLYMARKER REPRESENTATION,gsetmarkerrep(),Coded SET SEGMENT ATTRIBUTES,gsetsegattr(),Coded SET STRING MODE,gsetstringmode(),Coded SET STROKE MODE,gsetstrokemode(),Coded SET TEXT ALIGNMENT,gsettextalign(),Coded SET TEXT COLOR INDEX,gsettextcolorind(),Coded SET TEXT FONT AND PRECISION,gsettextfontprec(),Coded SET TEXT INDEX,gsettextind(),Coded SET TEXT PATH,gsettextpath(),Coded SET TEXT REPRESENTATION,gsettextrep(),Coded SET VALUATOR MODE,gsetvalmode(),Coded SET VIEWPORT,gsetviewport(),Coded SET VIEWPORT INPUT PRIORITY,gsetviewportinputpri(),Coded SET WINDOW,gsetwindow(),Coded SET WORKSTATION VIEWPORT,gsetwsviewport(),Coded SET WORKSTATION WINDOW,gsetwswindow(),Coded TEXT,gtext(),Coded UPDATE WORKSTATION,gupdatews(),Coded WRITE ITEM TO GKSM,gwritegksm(),Coded xgks-2.6.1+dfsg.2/src/doc/binding/Makefile0000644000175000017500000005152311413611016021313 0ustar amckinstryamckinstry# Generated automatically from Makefile.in by configure. # $Id: Makefile.in,v 2.5.4.1 1993/03/10 19:43:35 steve Exp $ # # Makefile for the "doc/binding" subdirectory of the XGKS package. TROFF = ptroff MANIFEST = Makefile.in function_list Cbinding.src mkcbinding name = cbinding document = $(name).me GARBAGE = $(document) AP all:: $(document) hardcopy: $(name).hc $(document): function_list Cbinding.src ./mkcbinding function_list Cbinding.src > $@ # This is the master makefile. It contains general rules. # # $Id: master.mk.in,v 1.1 2000/08/07 23:15:03 emmerson Exp $ .SUFFIXES: .SUFFIXES: .so .o .S .ln .i .c .fc .f .F .cc .l .y .cdl .nc .sh ############################################################################ # General Macros: ############################################################################ prefix = /ichec/packages/cdms2/5.2-intel/Externals exec_prefix = /ichec/packages/cdms2/5.2-intel/Externals AR = ar CC = icc CPP = icc -E CC_MAKEDEPEND = icc -M CXX = @CXX@ FC = LINT = lint LINTFLAGS = -u MAKEINFO = @MAKEINFO@ NCDUMP = @NCDUMP@ NCGEN = @NCGEN@ NEQN = neqn OS = linux SHELL = /bin/sh TBL = tbl WHICH = @WHICH@ ############################################################################ # Recursive make(1)s in Subdirectories: ############################################################################ subdir_dummy_target $(SUBDIR_TARGETS): @echo "" @dir=`echo $@ | sed 's,/.*,,'`; \ target=`echo $@ | sed "s,$$dir/,,"`; \ cd $$dir && \ echo "making \`$$target' in directory `pwd`" && \ echo "" && \ $(MAKE) $(MFLAGS) \ prefix=$(prefix) exec_prefix=$(exec_prefix) \ $$target || exit 1 @echo "" @echo "returning to directory `pwd`" @echo "" subdirs/all \ subdirs/test \ subdirs/install \ subdirs/clean \ subdirs/distclean: FORCE @case "$(SUBDIRS)" in \ '') ;; \ *) filename=`echo $@ | sed 's:.*/::'`; \ targets=`echo $(SUBDIRS) | tr ' ' '\012' | \ sed 's:$$:/'$$filename':'`; \ $(MAKE) $$targets;; \ esac ############################################################################ # Compilation: ############################################################################ FORTC = /ichec/packages/cdms2/src/cdat-5.2-src/build/xgks/port/fortc/fortc # Compile C++ code. .cc.o: $(CXX) -c $(CXXFLAGS) $(CXXCPPFLAGS) $< # Compile FORTRAN code. # .f.o: $(FC) -c $(FFLAGS) $< .F.o: ln -s $< $*.c && \ ($(CPP) -DUD_FORTRAN_SOURCE $(CPPFLAGS) $*.c >$*.i && \ sed '/^# *[0-9]/d' $*.i > $*.f) || \ (rm -f $*.f $*.i $*.c ; exit 1) && \ rm $*.i $(FC) -c $(FFLAGS) $*.f && rm $*.f $*.c .F.f: ln -s $< $*.c && \ ($(CPP) -DUD_FORTRAN_SOURCE $(CPPFLAGS) $*.c >$*.i && \ grep -v '^#' $*.i > $@) || \ (rm -f $@ $*.i $*.c; exit 1) && \ rm $*.i $*.c .F.i: ln -s $< $*.c && \ $(CPP) -DUD_FORTRAN_SOURCE $(CPPFLAGS) $*.c >$*.i # Generate FORTRAN-callable C code. # .fc.o: $(FORTC) -O $(OS) $< > $*.c \ || ( rm -f $*.c; exit 1) $(CC) -c $(CFLAGS) $(CPPFLAGS) $*.c .fc.c: $(FORTC) -O $(OS) $< > $@ \ || (rm -f $*.c; exit 1) # Compile assembler code. # .S.o: $(CC) -c $(CFLAGS) $(CPPFLAGS) $< # Compile C code. # .c.o: $(CC) -c $(CFLAGS) $(CPPFLAGS) $< # Compile lex(1) code. This rule is here to ensure the use of CPPFLAGS. # .l.o: rm -f $*.c $(LEX) -t $< > $*.c $(CC) -c $(CFLAGS) $(CPPFLAGS) $*.c rm $*.c # C preprocess. # NB: # 1. Line numbering information is kept. # .c.i: $(CPP) $(CPPFLAGS) $< > $@ .cdl.nc: $(NCGEN) -o $*.nc $*.cdl .sh: cp $< $@; chmod +x $@ ############################################################################ # Lint: ############################################################################ .c.ln: $(LINT) -c $(LINTFLAGS) $(CPPFLAGS) $< ############################################################################ # Libraries: ############################################################################ RANLIB = ranlib LIBDIR = $(exec_prefix)/lib LIB_A = lib$(LIBRARY).a LIBFILE = dummy-libfile # to silence GNU make(1) library: $(LIB_A) remote_library: $(REMOTE_LIBRARY) # The following rule is forced because the library can be created by a # makefile in another directory prior to the execution of the following rule. # $(LIB_A): $(LIBOBJS) $(LIBOBJS2) FORCE $(AR) rcuv $@ $(LIBOBJS) case "$(LIBOBJS2)" in \ '') ;; \ *) $(AR) rucv $@ $(LIBOBJS2);; \ esac $(RANLIB) $@ # The following rule is for those makefiles needing to install object # modules in a library in another directory. They need only define # REMOTE_LIBRARY and LIBOBJS. The rule is forced for the same reason as the # $(LIB_A) rule. # lib_dummy $(REMOTE_LIBRARY): $(LIBOBJS) FORCE $(AR) rcuv $@ $(LIBOBJS) $(RANLIB) $@ installed_libfiles: FORCE @if [ -n "$(LIBFILES)" ]; then \ libfiles="$(LIBFILES)"; \ for libfile in $$libfiles; do \ $(MAKE) $(MFLAGS) \ LIBDIR=$(LIBDIR) LIBFILE=$$libfile \ installed_libfile || exit 1; \ done; \ else \ :; \ fi installed_library: FORCE @$(MAKE) $(MFLAGS) \ LIBDIR=$(LIBDIR) LIBFILE=$(LIB_A) \ installed_libfile # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_libfile: $(LIBDIR)/$(LIBFILE) $(LIBDIR)/dummy.a $(LIBDIR)/$(LIBFILE): $(LIBDIR) $(LIBFILE) cp $(LIBFILE) $@ dummy_libdir $(LIBDIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ LIB_SO = lib$(LIBRARY).so.$(MAJOR_NO).$(MINOR_NO) LIB_SA = lib$(LIBRARY).sa.$(MAJOR_NO).$(MINOR_NO) #library: FORCE # @so_objs=`echo $(LIBOBJS) | sed 's/\.o/.so/g'`; \ # if [ -z "$$so_objs" ]; then \ # :; \ # else \ # $(MAKE) $(MFLAGS) $(LIB_SO) \ # SO_OBJS="$$so_objs"; \ # fi # @if [ -z "$(SA_OBJS)" ]; then \ # :; \ # else \ # $(MAKE) $(MFLAGS) $(LIB_SA); \ # fi $(LIB_SO): $(SO_OBJS) ld -assert pure-text $(SO_OBJS) -o $@ $(LIB_SA): $(SA_OBJS) FORCE $(AR) rcuv $@ $(SA_OBJS) .fc.so: $(FORTC) -O $(OS) $< > $*.c \ || (rm -f $*.c; exit 1) $(CC) -c -o $$$$.o -pic $(CFLAGS) $(CPPFLAGS) $*.c \ || (rm -f $$$$.o; exit 1) mv $$$$.o $@ .c.so: $(CC) -c -o $$$$.o -pic $(CFLAGS) $(CPPFLAGS) $< \ || (rm -f $$$$.o; exit 1) mv $$$$.o $@ #installed_library: $(LIBDIR)/$(LIB_SO) # @if [ -z "$(SA_OBJS)" ]; then \ # :; \ # else \ # $(MAKE) $(MFLAGS) $(LIBDIR)/$(LIB_SA); \ # fi $(LIBDIR)/dummy.so $(LIBDIR)/$(LIB_SO): $(LIBDIR) $(LIB_SO) cp $(LIB_SO) $(LIBDIR)/$(LIB_SO) $(LIBDIR)/dummy.sa $(LIBDIR)/$(LIB_SA): $(LIBDIR) $(LIB_SA) cp $(LIB_SA) $(LIBDIR)/$(LIB_SA) ############################################################################ # Programs: ############################################################################ BINDIR = $(exec_prefix)/bin BINFILE = dummy-binfile programs: $(PROGRAMS) program: @if [ -z "$(PROGRAM)" ]; then \ : true; \ else \ $(MAKE) $(MFLAGS) $(PROGRAM); \ fi dummy_prog $(PROGRAM): $(OBJS) @if [ -r $@.f -o -r $@.F ]; then \ ld='$(FC) -o $@ $(FFLAGS)'; \ elif [ -r $@.cc -o -r $@.C ]; then \ ld='$(CXX) -o $@ $(CXXFLAGS)'; \ else \ ld='$(CC) -o $@ $(CFLAGS)'; \ fi; \ cmd="$$ld $(LDFLAGS) $(OBJS) $(LIBS)"; \ echo $$cmd; \ $$cmd \ || (rm -f $@; exit 1) installed_programs: FORCE @$(MAKE) $(MFLAGS) installed_binfiles \ BINDIR=$(BINDIR) BINFILES="$(PROGRAMS)" installed_binfiles: FORCE @if [ -n "$(BINFILES)" ]; then \ binfiles="$(BINFILES)"; \ for binfile in $$binfiles; do \ $(MAKE) $(MFLAGS) \ BINDIR=$(BINDIR) BINFILE=$$binfile \ installed_binfile || exit 1; \ done; \ else \ :; \ fi installed_program: FORCE @$(MAKE) $(MFLAGS) \ BINDIR=$(BINDIR) BINFILE=$(PROGRAM) \ installed_binfile # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_binfile: $(BINDIR)/$(BINFILE) $(BINDIR)/dummy $(BINDIR)/$(BINFILE): $(BINDIR) $(BINFILE) cp $(BINFILE) $@ dummy_bindir $(BINDIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ $(PROGRAM).pure: $(OBJS) purify -best-effort $(PURIFYFLAGS) $(CC) -o $@ \ $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) pure: purify purify: $(PROGRAM).pure FORCE $(MAKE) $(MFLAGS) PROGRAM=$(PROGRAM).pure test.pure.out ############################################################################ # Header files: ############################################################################ INCDIR = $(prefix)/include HEADER = dummy-header # to silence GNU make(1) installed_headers: FORCE @if [ -n "$(HEADERS)" ]; then \ headers="$(HEADERS)"; \ for header in $$headers; do \ $(MAKE) $(MFLAGS) \ INCDIR=$(INCDIR) HEADER=$$header \ installed_header || exit 1; \ done; \ else \ :; \ fi # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_header: $(INCDIR)/$(HEADER) $(INCDIR)/dummy.h $(INCDIR)/$(HEADER): $(INCDIR) $(HEADER) cp $(HEADER) $@ dummy_incdir $(INCDIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ ############################################################################ # `etc/' files: ############################################################################ ETCDIR = $(prefix)/etc ETCFILE = dummy-etcfile # to silence GNU make(1) installed_etcfiles: @if [ -n "$(ETCFILES)" ]; then \ etcfiles="$(ETCFILES)"; \ for etcfile in $$etcfiles; do \ $(MAKE) $(MFLAGS) \ ETCDIR=$(ETCDIR) ETCFILE=$$etcfile \ installed_etcfile || exit 1; \ done; \ else \ :; \ fi # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_etcfile: $(ETCDIR)/$(ETCFILE) $(ETCDIR)/dummy $(ETCDIR)/$(ETCFILE): $(ETCDIR) $(ETCFILE) cp $(ETCFILE) $@ dummy_etcdir $(ETCDIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ ############################################################################ # Manual Pages: ############################################################################ MANDIR = $(prefix)/man MANUAL = dummy-manual # to slience GNU make WHATIS = whatis # The following macro should be empty on systems that don't # allow users to create their own manual-page indexes. MAKEWHATIS_CMD = installed_manuals: FORCE @if [ -n "$(MANUALS)" ]; then \ manuals="$(MANUALS)"; \ for manual in $$manuals; do \ extension=`echo $$manual | sed 's/[^.]*\.//'`; \ chapter=`echo $$extension | sed 's/\(.\).*/\1/'`; \ subchapter=`echo $$extension | sed 's/.//'`; \ mandir=$(MANDIR)/man$$chapter; \ $(MAKE) $(MFLAGS) \ MANDIR=$$mandir MANUAL=$$manual \ installed_manual || exit 1; \ done; \ else \ :; \ fi # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_manual: $(MANDIR)/$(MANUAL) # The first sed(1) editing command in the following replaces the expanded # RCS keyword `$Date ...' in the `.TH' macro line with something more # appropriate to a manual page. # # We don't preprocess the manual page with tbl(1) and neqn(1) on OSF1 # IRIX, and HP-UX systems because their man(1) always does that. # # NB: Manual pages like `man3/udunits.3f' cause the subdirectory man3f/ # to be created as a symbolic link to man3/. This accomodates # operating-systems like SunOS 5.4 which require files like *.3f to be in # their own man3f/ subdirectory. # $(MANDIR)/dummy.man $(MANDIR)/$(MANUAL): $(MANDIR) $(MANUAL) case `uname -s` in \ OSF1*|IRIX*|HP-UX) \ sed \ -e '/^\.TH/s/$$D\ate: \([0-9]*\)\/\([0-9]*\)\/\([0-9]*\).*\$$/\1-\2-\3/'\ $(MANUAL) > $@;; \ *) \ sed \ -e '/^\.TH/s/$$D\ate: \([0-9]*\)\/\([0-9]*\)\/\([0-9]*\).*\$$/\1-\2-\3/'\ $(MANUAL) | $(TBL) | $(NEQN) > $@;; \ esac extension=`echo $(MANUAL) | sed 's/[^.]*\.//'`; \ subchapter=`echo $$extension | sed 's/.//'`; \ case "$$subchapter" in \ '') ;; \ *) chapter=`echo $$extension | sed 's/\(.\).*/\1/'`; \ if test -d $(MANDIR)$$subchapter; then \ : true; \ else \ mkdir $(MANDIR)$$subchapter; \ fi; \ rm -f $(MANDIR)$$subchapter/$(MANUAL); \ ln -s ../`basename $(MANDIR)`/$(MANUAL) \ $(MANDIR)$$subchapter/$(MANUAL); \ ;; \ esac dummy_mandir $(MANDIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ whatis: $(MANDIR)/$(WHATIS) $(MANDIR)/$(WHATIS): $(MANDIR) $(MAKEWHATIS_CMD) ############################################################################ # Documents: ############################################################################ DOCDIR = $(prefix)/doc DOCUMENT = dummy-document # to silence GNU make(1) installed_documents: FORCE case "$(DOCUMENTS)" in \ '') : true \ ;; \ *) documents="$(DOCUMENTS)"; \ for document in $$documents; do \ $(MAKE) $(MFLAGS) \ DOCUMENT=$$document installed_document || exit 1; \ done \ ;; \ esac # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_document: $(DOCDIR)/$(DOCUMENT) $(DOCDIR)/dummy.doc $(DOCDIR)/$(DOCUMENT): $(DOCDIR) $(DOCUMENT) cp $(DOCUMENT) $(DOCDIR) dummy_docdir $(DOCDIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ ############################################################################ # TeX-Info Pages: ############################################################################ INFODIR = $(prefix)/info INFO = dummy-info # to silence GNU make(1) installed_infos: FORCE if [ -z "$(MAKEINFO)" ]; then \ echo 1>&2 "GNU info-pages won't be installed" \ "because makeinfo program doesn't exist"; \ else \ if [ -n "$(INFOS)" ]; then \ infos="$(INFOS)"; \ for info in $$infos; do \ $(MAKE) $(MFLAGS) \ INFODIR=$(INFODIR) INFO=$$info \ installed_info || exit 1; \ done; \ else \ :; \ fi; \ fi; # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_info: $(INFODIR)/$(INFO) $(INFODIR)/dummy.info $(INFODIR)/$(INFO): $(INFODIR) $(INFO) cp $(INFO) $@ dummy_infodir $(INFODIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ # Rules for generating info pages: # .SUFFIXES: .info .texi .texinfo .txn .texi.info: @if [ -z "$(MAKEINFO)" ]; then \ echo 1>&2 "Can't create $@ because no makeinfo(1)"; \ else \ $(MAKEINFO) $< --no-split --output=$@; \ fi .texinfo.info: @if [ -z "$(MAKEINFO)" ]; then \ echo 1>&2 "Can't create $@ because no makeinfo(1)"; \ else \ $(MAKEINFO) $< --no-split --output=$@; \ fi .txn.info: @if [ -z "$(MAKEINFO)" ]; then \ echo 1>&2 "Can't create $@ because no makeinfo(1)"; \ else \ $(MAKEINFO) $< --no-split --output=$@; \ fi # Ensure that info page depends on canonical TeX-Info macros. # dummy_info $(INFO): texinfo.tex ############################################################################ # Cleanup: ############################################################################ clean: default_clean distclean: realclean realclean: default_realclean default_clean: FORCE rm -f $(GARBAGE) $(PROGRAM) a.out core *.o *.i *.a *.so.* *.sa.* \ *.so *.u *.pure *.pure_hardlink *.pure_linkinfo conftest* \ test.out test.pure.out \ *.aux *.toc *.dvi \ config.cache *.Z tags MANIFEST *~ default_distclean: default_realclean default_realclean: FORCE rm -f $(GARBAGE) $(PROGRAM) a.out core *.o *.i *.a *.so.* *.sa.* \ *.so *.u *.pure *.pure_hardlink *.pure_linkinfo conftest* \ test.out \ *.aux *.toc *.dvi \ config.cache *.Z *.log tags TAGS MANIFEST *~ \ Makefile config.status cc_id ############################################################################ # Configuration: ############################################################################ # The following target is touched because config.status won't update it if # it hasn't changed. # # The following is commented-out because the HPUX make(1) goes into a loop. # #Makefile: config.status # ./config.status # touch $@ config.status: cc_id configure ./configure --no-create cc_id: FORCE if test -r $@ && test "`cat $@`" = "$(CC)"; then \ :; \ else \ echo "$(CC)" > $@; \ fi # The following is commented-out because autoconf is currently only # available on Zero. # #configure: configure.in # autoconf ############################################################################ # Dependency maintenance: ############################################################################ .PRECIOUS: depend # # Note: The following rule will only work if the C compiler behaves correctly # when given the `-M' option. AIX's cc(1) and SunOS's acc(1) behave # incorrectly. --Steve Emmerson 1992-09-24 # # Furthermore, we do not attempt to maintain dependencies on installed # header files (e.g. those in $(INCDIR)) for two reasons: 1) the dependency # list generated at Unidata mightn't correspond to the situation at a client # site; and 2) clients using broken compilers (c.f. previous note) can't # regenerate the dependency list. # # We try to ensure that all C files exist in a distribution that # includes fortc(1), yacc(1), or lex(1) sources. # depend: FORCE # csrcs=`echo $(MANIFEST) | tr ' ' '\012' | egrep -s '\.fc|\.y|\.l'`; \ if [ "$$csrcs" ]; then \ echo 1>&2 "Ensuring that all C files exist for target depend"; \ echo 1>&2 "csrcs = $$csrcs"; \ $(MAKE) $(MFLAGS) $$csrcs; \ fi -incdir=`echo $(INCDIR) | sed s',/,\\\/,g'`; \ (case $(OS) in \ aix*) \ $(CC) -M -E $(CPPFLAGS) *.c > /dev/null; \ cat *.u; \ ;; \ *) \ $(CC_MAKEDEPEND) $(CPPFLAGS) *.c *.S 2> /dev/null; \ ;; \ esac) | awk '{ \ if ($$0 ~ /:/) { \ target = $$1; \ if (target ~ /:/) { \ target = substr(target,1,length(target)-1); \ start = 2; \ } else { \ start = 3; \ } \ } else { \ start = 1; \ } \ for (i = start; i <= NF; ++i) { \ if ($$i !~ /^\\/ && \ $$i !~ /port\// && \ $$i !~ /^\//) \ { \ if ($$i ~ /^\.\//) \ $$i = substr($$i, 3, 99); \ print target ": " $$i \ } \ } \ }' >>$@ sort -u -o $@ $@ tag='### DO NOT DELETE THIS LINE. make depend DEPENDS ON IT ###'; \ sed -e "/^$$tag$$/r depend" \ -e "/^$$tag$$/q" Makefile > Makefile.new mv Makefile.new Makefile ############################################################################ # Distributions: ############################################################################ FTPDIR = /home/ftp/pub FTPBINDIR = /home/ftp/pub/binary/dummy_system VERSION = 2.6.1 TARFLAGS = -chof zip: FORCE version=`cat VERSION | sed 's/\.//g;s/-//g`; \ $(MAKE) $(MFLAGS) $(PACKAGE)$$version.zip VERSION=$$version $(PACKAGE)$(VERSION).zip: MANIFEST id=$(PACKAGE)$(VERSION) \ && rm -rf $$id \ && mkdir $$id \ && ln -s .. $$id/src \ && sed "s|^|$$id/src/|" MANIFEST | zip -@ $@ \ && rm -r $$id tar.Z: FORCE version=`cat VERSION`; \ $(MAKE) $(MFLAGS) $(PACKAGE)-$$version.tar.Z VERSION=$$version $(FTPDIR)/$(PACKAGE)-$(VERSION).tar.Z: $(PACKAGE)-$(VERSION).tar.Z cp $(PACKAGE)-$(VERSION).tar.Z $@ chmod u+rw,g+rw,o=r $@ ftp: FORCE version=`cat VERSION`; \ $(MAKE) $(MFLAGS) $(FTPDIR)/$(PACKAGE)-$$version.tar.Z \ VERSION=$$version; \ test -r $(FTPDIR)/$(PACKAGE).tar.Z || exit 0; \ cd $(FTPDIR) || exit 1; \ rm $(PACKAGE).tar.Z || exit 1; \ ln -s $(PACKAGE)-$$version.tar.Z $(PACKAGE).tar.Z; $(PACKAGE)-$(VERSION).tar.Z: MANIFEST id=$(PACKAGE)-$(VERSION) \ && rm -rf $$id \ && mkdir $$id \ && ln -s .. $$id/src \ && tar $(TARFLAGS) - `sed "s|^|$$id/src/|" MANIFEST` | compress > $@ \ && rm -r $$id binftp: FORCE version=`cat VERSION`; \ $(MAKE) $(MFLAGS) $(FTPBINDIR)/$(PACKAGE)-$$version.tar.Z \ VERSION=$$version ftpbin: binftp $(FTPBINDIR)/$(PACKAGE)-$(VERSION).tar.Z: FORCE id=$(PACKAGE)-$(VERSION) \ && rm -f $$id \ && ln -s $(prefix) $$id \ && tar $(TARFLAGS) - README $$id/bin $$id/doc $$id/etc $$id/include \ $$id/lib $$id/man | compress > $@ \ && rm $$id chmod u+rw,g+rw,o=r $@ test -r $(FTPBINDIR)/$(PACKAGE).tar.Z || exit 0; \ cd $(FTPBINDIR) || exit 1; \ rm $(PACKAGE).tar.Z || exit 1; \ ln -s $(PACKAGE)-$(VERSION).tar.Z $(PACKAGE).tar.Z; MANIFEST: FORCE @echo 1>&2 Creating MANIFEST @$(MAKE) -s $(MFLAGS) MANIFEST.echo > $@ MANIFEST.echo: FORCE @echo $(MANIFEST) | tr ' ' '\012' @if [ -n "$(SUBDIRS)" ]; then \ subdirs="$(SUBDIRS)"; \ for subdir in $$subdirs; do \ (cd $$subdir && \ echo 1>&2 Creating $@ in `pwd` && \ $(MAKE) $(MFLAGS) MANIFEST.echo | \ sed "s|^|$$subdir/|") || exit 1; \ done; \ else \ :; \ fi ensure_manifest: FORCE @$(MAKE) $(MFLAGS) \ `echo $(MANIFEST) | sed 's/MANIFEST//'` @if [ -n "$(SUBDIRS)" ]; then \ subdirs="$(SUBDIRS)"; \ for subdir in $$subdirs; do \ (cd $$subdir && \ echo 1>&2 Creating $@ in `pwd` && \ $(MAKE) $(MFLAGS) ensure_manifest ) || \ exit 1; \ done; \ else \ :; \ fi ############################################################################ # Miscellaneous: ############################################################################ # The following dummy target is useful as a dependency to ensure that a # rule is always executed. # FORCE: .SUFFIXES: .hc .me .me.hc: $(TROFF) -me $< xgks-2.6.1+dfsg.2/src/doc/binding/AP0000644000175000017500000000022511413611016020067 0ustar amckinstryamckinstry{printf("grep ',%s()' function_list | /bin/echo -n `awk -F, '{printf(\".FH \\\"%%s\\\" \\\"\",$1)}'`; echo `grep ' %s ' Cbinding.src`\\\"\n",$1,$1)} xgks-2.6.1+dfsg.2/src/doc/binding/cbinding.me0000644000175000017500000003626711413611016021763 0ustar amckinstryamckinstry.de FH .(b .fi .na .ti -1.0i \\$1 .ti -1.0i \\$2 .)b .. .he ''XGKS C Language Binding'' .fo ''- % -'' .ps 10 .ls 1 .in +1.0i .FH "ACCUMULATE TRANSFORMATION MATRIX" "Gint gaccumtran (Gfloat segtran[2][3], Gpoint *ppoint, Gpoint *pshift, Gfloat angle, Gpoint *pscale, Gcsw coord, Gfloat result[2][3]);" .FH "ACTIVATE WORKSTATION" "Gint gactivatews (Gint wsid);" .FH "ASSOCIATE SEGMENT WITH WORKSTATION" "Gint gassocsegws (Gint wsid, Gint seg_id);" .FH "AWAIT EVENT" "Gint gawaitevent (Gfloat timeout, Gevent *event);" .FH "CELL ARRAY" "Gint gcellarray (Grect *rect, Gipoint *dim, Gint row, Gint *color);" .FH "CLEAR WORKSTATION" "Gint gclearws (Gint wsid, Gclrflag control_flag);" .FH "CLOSE GKS" "Gint gclosegks (void);" .FH "CLOSE SEGMENT" "Gint gcloseseg (void);" .FH "CLOSE WORKSTATION" "Gint gclosews (Gint wsid);" .FH "COPY SEGMENT TO WORKSTATION" "Gint gcopysegws (Gint wsid, Gint seg_id);" .FH "CREATE SEGMENT" "Gint gcreateseg (Gint name);" .FH "DEACTIVATE WORKSTATION" "Gint gdeactivatews (Gint wsid);" .FH "DELETE SEGMENT" "Gint gdelseg (Gint name);" .FH "DELETE SEGMENT FROM WORKSTATION" "Gint gdelsegws (Gint wsid, Gint name);" .FH "EMERGENCY CLOSE GKS" "Gint gemergencyclosegks (void);" .FH "ERROR HANDLING" "Gint gerrorhand (Gint errnum, Gchar *funcname, Gfile *perrfile);" .FH "ERROR LOGGING" "Gint gerrorlog (Gint errnum, Gchar *funcname, Gfile *perrfile);" .FH "ESCAPE INQUIRE X ATTRIBUTES" "Gint gescinqxattr (Gint wsid, Display **dpy, Window *win, GC *gc);" .FH "ESCAPE SET REDRAW NOTIFY" "Gint gescredrawnotify (Gint wsid, Gint (*funcp)(Gint wsid, typedef enum Gredraw who));" void gescsetbackingstore (Gint wsid, Gint i);" .FH "ESCAPE SET COLOR PLANE MASK" "Gint gescsetcolormask (Gint wsid, unsigned long mask);" .FH "ESCAPE SET DEVICE COORDINATE SIZE" "Gint gescsetdcsize (Gint wsid, Gpoint size);" void gescsetprogname (char *name);" .FH "ESCAPE SET STORE OUTPUT PRIMITIVES" "Gint gescstoreprimi (Gint wsid, Gstore store);" .FH "EVALUATE TRANSFORMATION MATRIX" "Gint gevaltran (Gpoint *ppoint, Gpoint *pshift, Gfloat angle, Gpoint *pscale, Gcsw coord, Gfloat result[2][3]);" .FH "FILL AREA" "Gint gfillarea (Gint num_pts, Gpoint *pts);" .FH "FLUSH DEVICE EVENTS" "Gint gflushevents (Gint wsid, Giclass class, Gint dev);" .FH "GET CHOICE" "Gint ggetchoice (Gchoice *response);" .FH "GET ITEM TYPE FROM GKSM" "Gint ggetgksm (Gint wsid, Ggksmit *result);" .FH "GET LOCATOR" "Gint ggetloc (Gloc *response);" .FH "GET PICK" "Gint ggetpick (Gpick *response);" Gint ggetstring (Gchar *response);" .FH "GET STROKE" "Gint ggetstroke (Gstroke *response);" .FH "GET VALUATOR" "Gint ggetval (Gfloat *response);" .FH "INITIALISE CHOICE" "Gint ginitchoice (Gint wsid, Gint dev, Gchoice *init, Gint pet, Glimit *area, Gchoicerec *record);" .FH "INITIALISE LOCATOR" "Gint ginitloc (Gint wsid, Gint dev, Gloc *init, Gint pet, Glimit *area, Glocrec *record);" .FH "INITIALISE PICK" "Gint ginitpick (Gint wsid, Gint dev, Gpick *init, Gint pet, Glimit *area, Gpickrec *record);" .FH "INITIALISE STRING" "Gint ginitstring (Gint wsid, Gint dev, Gchar *init, Gint pet, Glimit *area, Gstringrec *record);" .FH "INITIALISE STROKE" "Gint ginitstroke (Gint wsid, Gint dev, Gstroke *init, Gint pet, Glimit *area, Gstrokerec *record);" .FH "INITIALISE VALUATOR" "Gint ginitval (Gint wsid, Gint dev, Gfloat init, Gint pet, Glimit *area, Gvalrec *record);" .FH "INQUIRE SET OF ACTIVE WORKSTATIONS" "Gint ginqactivews (Gintlist *wsids);" .FH "INQUIRE SET OF ASSOCIATED WORKSTATIONS" "Gint ginqassocws (Gint seg, Gintlist *asswk);" .FH "INQUIRE LIST OF AVAILABLE WORKSTATION TYPES" "Gint ginqavailwstypes (Gstrlist *wstypes);" .FH "INQUIRE CHOICE DEVICE STATE" "Gint ginqchoicest (Gint wsid, Gint dev, Gchoicest *state);" .FH "INQUIRE CLIPPING INDICATOR" "Gint ginqclip (Gcliprec *clipping);" .FH "INQUIRE COLOR FACILITIES" "Gint ginqcolorfacil (Gchar *ws_type, Gcofac *fac);" .FH "INQUIRE LIST OF COLOR INDICES" "Gint ginqcolorindices (Gint wsid, Gintlist *indices);" .FH "INQUIRE COLOR REPRESENTATION" "Gint ginqcolorrep (Gint wsid, Gint idx, Gqtype type, Gcobundl *rep);" .FH "INQUIRE CURRENT NORMALIZATION TRANSFORMATION NUMBER" "Gint ginqcurntrannum (Gint *tran);" .FH "INQUIRE CURRENT PICK IDENTIFIER VALUE" "Gint ginqcurpickid (Gint *pickid);" .FH "INQUIRE DEFAULT CHOICE DEVICE DATA" "Gint ginqdefchoice (Gchar *type, Gint dev, Gdefchoice *data);" .FH "INQUIRE DEFAULT DEFERRAL STATE VALUES" "Gint ginqdefdeferst (Gchar *ws_type, Gdefer *def);" .FH "INQUIRE DEFAULT LOCATOR DEVICE DATA" "Gint ginqdefloc (Gchar *type, Gint dev, Gdefloc *data);" .FH "INQUIRE DEFAULT PICK DEVICE DATA" "Gint ginqdefpick (Gchar *type, Gint dev, Gdefpick *data);" .FH "INQUIRE DEFAULT STRING DEVICE DATA" "Gint ginqdefstring (Gchar *type, Gint dev, Gdefstring *data);" .FH "INQUIRE DEFAULT STROKE DEVICE DATA" "Gint ginqdefstroke (Gchar *type, Gint dev, Gdefstroke *data);" .FH "INQUIRE DEFAULT VALUATOR DEVICE DATA" "Gint ginqdefval (Gchar *type, Gint dev, Gdefval *data);" .FH "INQUIRE DISPLAY SURFACE SIZE" "Gint ginqdisplayspacesize (Gchar *ws_type, Gdspsize *dspsz);" .FH "INQUIRE FILL AREA FACILITIES" "Gint ginqfillfacil (Gchar *ws_type, Gflfac *fac);" .FH "INQUIRE LIST OF FILL AREA INDICES" "Gint ginqfillindices (Gint wsid, Gintlist *idxlist);" .FH "INQUIRE FILL AREA REPRESENTATION" "Gint ginqfillrep (Gint wsid, Gint idx, Gqtype type, Gflbundl *rep);" Gint ginqindivattr (Gindattr *indivattr);" .FH "INQUIRE INPUT QUEUE OVERFLOW" "Gint ginqinputoverflow (Gqueue *overflow);" .FH "INQUIRE LEVEL OF GKS" "Gint ginqlevelgks (Glevel *lev);" .FH "INQUIRE POLYLINE FACILITIES" "Gint ginqlinefacil (Gchar *ws_type, Glnfac *fac);" .FH "INQUIRE LIST OF POLYLINE INDICES" "Gint ginqlineindices (Gint wsid, Gintlist *idxlist);" .FH "INQUIRE POLYLINE REPRESENTATION" "Gint ginqlinerep (Gint wsid, Gint idx, Gqtype type, Glnbundl *rep);" .FH "INQUIRE LOCATOR DEVICE STATE" "Gint ginqlocst (Gint wsid, Gint dev, Gqtype type, Glocst *state);" .FH "INQUIRE POLYMARKER FACILITIES" "Gint ginqmarkerfacil (Gchar *ws_type, Gmkfac *fac);" .FH "INQUIRE LIST OF POLYMARKER INDICES" "Gint ginqmarkerindices (Gint wsid, Gintlist *idxlist);" .FH "INQUIRE POLYMARKER REPRESENTATION" "Gint ginqmarkerrep (Gint wsid, Gint idx, Gqtype type, Gmkbundl *rep);" .FH "INQUIRE MAXIMUM NORMALIZATION TRANSFORMATION NUMBER" "Gint ginqmaxntrannum (Gint *maxtran);" .FH "INQUIRE MAXIMUM LENGTH OF WORKSTATION STATE TABLES" "Gint ginqmaxwssttables (Gchar *ws_type, Gwstables *tables);" .FH "INQUIRE DYNAMIC MODIFICATION OF SEGMENT ATTRIBUTES" "Gint ginqmodsegattr (Gchar *ws_type, Gmodseg *dyn);" .FH "INQUIRE DYNAMIC MODIFICATION OF WORKSTATION ATTRIBUTES" "Gint ginqmodwsattr (Gchar *ws_type, Gmodws *dyn);" .FH "INQUIRE MORE SIMULTANEOUS EVENTS" "Gint ginqmoreevents (Gsimultev *events);" .FH "INQUIRE NAME OF OPEN SEGMENT" "Gint ginqnameopenseg (Gint *seg);" .FH "INQUIRE NORMALIZATION TRANSFORMATION" "Gint ginqntran (Gint num, Gwstran *tran);" .FH "INQUIRE LIST OF NORMALIZATION TRANSFORMATION NUMBERS" "Gint ginqntrannum (Gintlist *tranlist);" .FH "INQUIRE NUMBER OF AVAILABLE LOGICAL INPUT DEVICES" "Gint ginqnumavailinput (Gchar *ws_type, Gnumdev *num);" .FH "INQUIRE NUMBER OF SEGMENT PRIORITIES SUPPORTED" "Gint ginqnumsegpri (Gchar *ws_type, Gint *numpri);" .FH "INQUIRE SET OF OPEN WORKSTATIONS" "Gint ginqopenws (Gintlist *wsids);" .FH "INQUIRE OPERATING STATE VALUE" "Gint ginqopst (Gos *state);" .FH "INQUIRE PATTERN FACILITIES" "Gint ginqpatfacil (Gchar *ws_type, Gint *fac);" .FH "INQUIRE LIST OF PATTERN INDICES" "Gint ginqpatindices (Gint wsid, Gintlist *idxlist);" .FH "INQUIRE PATTERN REPRESENTATION" "Gint ginqpatrep (Gint wsid, Gint idx, Gqtype type, Gptbundl *rep);" .FH "INQUIRE PICK DEVICE STATE" "Gint ginqpickst (Gint wsid, Gint dev, Gqtype type, Gpickst *state);" .FH "INQUIRE PIXEL" "Gint ginqpixel (Gint wsid, Gpoint *ppoint, Gint *pix);" .FH "INQUIRE PIXEL ARRAY" "Gint ginqpixelarray (Gint wsid, Gpoint *point, Gipoint *dimen, Gpxarray *pxarr);" .FH "INQUIRE PIXEL ARRAY DIMENSIONS" "Gint ginqpixelarraydim (Gint wsid, Grect *rect, Gipoint *dim);" .FH "INQUIRE PREDEFINED COLOR REPRESENTATION" "Gint ginqpredcolorrep (Gchar *ws_type, Gint index, Gcobundl *rep);" .FH "INQUIRE PREDEFINED FILL AREA REPRESENTATION" "Gint ginqpredfillrep (Gchar *ws_type, Gint idx, Gflbundl *rep);" .FH "INQUIRE PREDEFINED POLYLINE REPRESENTATION" "Gint ginqpredlinerep (Gchar *ws_type, Gint idx, Glnbundl *rep);" .FH "INQUIRE PREDEFINED POLYMARKER REPRESENTATION" "Gint ginqpredmarkerrep (Gchar *ws_type, Gint idx, Gmkbundl *rep);" .FH "INQUIRE PREDEFINED PATTERN REPRESENTATION" "Gint ginqpredpatrep (Gchar *ws_type, Gint idx, Gptbundl *rep);" .FH "INQUIRE PREDEFINED TEXT REPRESENTATION" "Gint ginqpredtextrep (Gchar *ws_type, Gint idx, Gtxbundl *rep);" .FH "INQUIRE CURRENT PRIMITIVE ATTRIBUTE VALUES" "Gint ginqprimattr (Gpriattr *primattr);" .FH "INQUIRE SEGMENT ATTRIBUTES" "Gint ginqsegattr (Gsegattr *segattr);" .FH "INQUIRE SET OF SEGMENT NAMES IN USE" "Gint ginqsegnames (Gintlist *segs);" .FH "INQUIRE SET OF SEGMENT NAMES ON WORKSTATION" "Gint ginqsegnamesws (Gint wsid, Gintlist *segs);" .FH "INQUIRE STRING DEVICE STATE" "Gint ginqstringst (Gint wsid, Gint dev, Gstringst *state);" .FH "INQUIRE STROKE DEVICE STATE" "Gint ginqstrokest (Gint wsid, Gint dev, Gqtype type, Gstrokest *state);" .FH "INQUIRE TEXT EXTENT" "Gint ginqtextextent (Gint wsid, Gpoint position, Gchar *string, Gextent *extent);" .FH "INQUIRE TEXT FACILITIES" "Gint ginqtextfacil (Gchar *ws_type, Gtxfac *fac);" .FH "INQUIRE LIST OF TEXT INDICES" "Gint ginqtextindices (Gint wsid, Gintlist *idxlist);" .FH "INQUIRE TEXT REPRESENTATION" "Gint ginqtextrep (Gint wsid, Gint idx, Gqtype type, Gtxbundl *rep);" .FH "INQUIRE VALUATOR DEVICE STATE" "Gint ginqvalst (Gint wsid, Gint dev, Gvalst *state);" .FH "INQUIRE WORKSTATION CATEGORY" "Gint ginqwscategory (Gchar *ws_type, Gwscat *cat);" .FH "INQUIRE WORKSTATION CLASSIFICATION" "Gint ginqwsclass (Gchar *ws_type, Gwsclass *class);" .FH "INQUIRE WORKSTATION CONNECTIONS AND TYPE" "Gint ginqwsconntype (Gint wsid, Gwsct *ct);" .FH "INQUIRE WORKSTATION DEFERRAL AND UPDATE STATES" "Gint ginqwsdeferupdatest (Gint wsid, Gwsdus *du);" .FH "INQUIRE WORKSTATION MAXIMUM NUMBERS" "Gint ginqwsmaxnum (Gwsmax *maxws);" .FH "INQUIRE WORKSTATION STATE" "Gint ginqwsst (Gint wsid, Gwsstate *state);" .FH "INQUIRE WORKSTATION TRANSFORMATION" "Gint ginqwstran (Gint wsid, Gwsti *wstran);" .FH "INSERT SEGMENT" "Gint ginsertseg (Gint seg_id, Gfloat segtran[2][3]);" .FH "INTERPRET ITEM" "Gint ginterpret (Ggksmit *recInfo, Gchar *data);" .FH "MESSAGE" "Gint gmessage (Gint wsid, Gchar *string);" .FH "OPEN GKS" "Gint gopengks (Gfile *err_file, Glong memory);" .FH "OPEN WORKSTATION" "Gint gopenws (Gint wsid, Gchar *connection, Gchar *ws_type);" .FH "POLYLINE" "Gint gpolyline (Gint num_pts, Gpoint *pts);" .FH "POLYMARKER" "Gint gpolymarker (Gint num_pts, Gpoint *pts);" .FH "READ ITEM FROM GKSM" "Gint greadgksm (Gint wsid, Gint length, Gchar *record);" .FH "REDRAW ALL SEGMENTS ON WORKSTATION" "Gint gredrawsegws (Gint wsid);" .FH "RENAME SEGMENT" "Gint grenameseg (Gint old, Gint new);" .FH "REQUEST CHOICE" "Gint greqchoice (Gint wsid, Gint dev, Gchoice *response);" .FH "REQUEST LOCATOR" "Gint greqloc (Gint wsid, Gint dev, Gqloc *response);" .FH "REQUEST PICK" "Gint greqpick (Gint wsid, Gint dev, Gpick *response);" .FH "REQUEST STRING" "Gint greqstring (Gint wsid, Gint dev, Gqstring *response);" .FH "REQUEST STROKE" "Gint greqstroke (Gint wsid, Gint dev, Gqstroke *response);" .FH "REQUEST VALUATOR" "Gint greqval (Gint wsid, Gint dev, Gqval *response);" .FH "SAMPLE CHOICE" "Gint gsamplechoice (Gint wsid, Gint dev, Gchoice *response);" .FH "SAMPLE LOCATOR" "Gint gsampleloc (Gint wsid, Gint dev, Gloc *response);" .FH "SAMPLE PICK" "Gint gsamplepick (Gint wsid, Gint dev, Gpick *response);" .FH "SAMPLE STRING" "Gint gsamplestring (Gint wsid, Gint dev, Gchar *response);" .FH "SAMPLE STROKE" "Gint gsamplestroke (Gint wsid, Gint dev, Gstroke *response);" .FH "SAMPLE VALUATOR" "Gint gsampleval (Gint wsid, Gint dev, Gfloat *response);" .FH "SELECT NORMALIZATION TRANSFORMATION" "Gint gselntran (Gint trans);" .FH "SET ASPECT SOURCE FLAGS" "Gint gsetasf (Gasfs *asf);" .FH "SET CHARACTER EXPANSION FACTOR" "Gint gsetcharexpan (Gfloat expansion);" .FH "SET CHARACTER HEIGHT" "Gint gsetcharheight (Gfloat height);" .FH "SET CHARACTER SPACING" "Gint gsetcharspace (Gfloat spacing);" .FH "SET CHARACTER UP VECTOR" "Gint gsetcharup (Gpoint *up_vector);" .FH "SET CHOICE MODE" "Gint gsetchoicemode (Gint wsid, Gint dev, Gimode mode, Gesw echo);" .FH "SET CLIPPING INDICATOR" "Gint gsetclip (Gclip ind);" .FH "SET COLOR REPRESENTATION" "Gint gsetcolorrep (Gint wsid, Gint idx, Gcobundl *rep);" .FH "SET DEFERRAL STATE" "Gint gsetdeferst (Gint wsid, Gdefmode deferral_mode, Girgmode regen_mode);" .FH "SET FILL AREA COLOR INDEX" "Gint gsetfillcolorind (Gint color);" .FH "SET FILL AREA INDEX" "Gint gsetfillind (Gint idx);" .FH "SET FILL AREA INTERIOR STYLE" "Gint gsetfillintstyle (Gflinter style);" .FH "SET FILL AREA REPRESENTATION" "Gint gsetfillrep (Gint wsid, Gint idx, Gflbundl *rep);" .FH "SET FILL AREA STYLE INDEX" "Gint gsetfillstyleind (Gint idx);" .FH "SET POLYLINE COLOR INDEX" "Gint gsetlinecolorind (Gint idx);" .FH "SET POLYLINE INDEX" "Gint gsetlineind (Gint idx);" .FH "SET POLYLINE REPRESENTATION" "Gint gsetlinerep (Gint wsid, Gint idx, Glnbundl *rep);" .FH "SET LINETYPE" "Gint gsetlinetype (Gint type);" .FH "SET LINEWIDTH SCALE FACTOR" "Gint gsetlinewidth (Gfloat width);" .FH "SET LOCATOR MODE" "Gint gsetlocmode (Gint wsid, Gint dev, Gimode mode, Gesw echo);" .FH "SET POLYMARKER COLOR INDEX" "Gint gsetmarkercolorind (Gint color);" .FH "SET POLYMARKER INDEX" "Gint gsetmarkerind (Gint idx);" .FH "SET POLYMARKER REPRESENTATION" "Gint gsetmarkerrep (Gint wsid, Gint idx, Gmkbundl *rep);" .FH "SET MARKER SIZE SCALE FACTOR" "Gint gsetmarkersize (Gfloat size);" .FH "SET MARKER TYPE" "Gint gsetmarkertype (Gint type);" .FH "SET PATTERN REPRESENTATION" "Gint gsetpatrep (Gint wsid, Gint idx, Gptbundl *rep);" .FH "SET PICK IDENTIFIER" "Gint gsetpickid (Gint pick_id);" .FH "SET PICK MODE" "Gint gsetpickmode (Gint wsid, Gint dev, Gimode mode, Gesw echo);" .FH "SET SEGMENT ATTRIBUTES" "Gint gsetsegattr (Gint name, Gsegattr *segattr);" .FH "SET STRING MODE" "Gint gsetstringmode (Gint wsid, Gint dev, Gimode mode, Gesw echo);" .FH "SET STROKE MODE" "Gint gsetstrokemode (Gint wsid, Gint dev, Gimode mode, Gesw echo);" .FH "SET TEXT ALIGNMENT" "Gint gsettextalign (Gtxalign *txalign);" .FH "SET TEXT COLOR INDEX" "Gint gsettextcolorind (Gint color);" .FH "SET TEXT FONT AND PRECISION" "Gint gsettextfontprec (Gtxfp *txfp);" .FH "SET TEXT INDEX" "Gint gsettextind (Gint idx);" .FH "SET TEXT PATH" "Gint gsettextpath (Gtxpath path);" .FH "SET TEXT REPRESENTATION" "Gint gsettextrep (Gint wsid, Gint idx, Gtxbundl *bundle);" .FH "SET VALUATOR MODE" "Gint gsetvalmode (Gint wsid, Gint dev, Gimode mode, Gesw echo);" .FH "SET VIEWPORT" "Gint gsetviewport (Gint trans, Glimit *viewport);" .FH "SET VIEWPORT INPUT PRIORITY" "Gint gsetviewportinputpri (Gint trans, Gint ref_trans, Gvpri priority);" .FH "SET WINDOW" "Gint gsetwindow (Gint trans, Glimit *window);" .FH "SET WORKSTATION VIEWPORT" "Gint gsetwsviewport (Gint wsid, Glimit *viewport);" .FH "SET WORKSTATION WINDOW" "Gint gsetwswindow (Gint wsid, Glimit *window);" .FH "TEXT" "Gint gtext (Gpoint *at, Gchar *string);" .FH "UPDATE WORKSTATION" "Gint gupdatews (Gint wsid, Gregen regenflag);" .FH "WRITE ITEM TO GKSM" "Gint gwritegksm (Gint wsid, Gint type, Gint length, Gchar *data);" xgks-2.6.1+dfsg.2/src/doc/dist.mk0000644000175000017500000000065511413611016017535 0ustar amckinstryamckinstry# $Id: dist.mk,v 2.5.4.1 1993/03/10 19:43:34 steve Exp $ # $__Header$ # # Makefile to copy distribution to ftp directories. THIS_DIR = src/xgks/doc/ SUBDIRS = userdoc binding # Sources common to UNIX and VMS distributions SOURCES = \ xgks.3 \ RELEASE.NOTES \ Makefile # Sources for UNIX distribution only UNIX_SOURCES = # Sources for VMS distribution only VMS_SOURCES = # include /usr/local/ldm/src/dist.mk-rules xgks-2.6.1+dfsg.2/src/doc/Makefile.in0000644000175000017500000000121411413611016020276 0ustar amckinstryamckinstry# $Id: Makefile.in,v 2.6 2000/08/01 17:28:36 steve Exp $ # # Makefile for the "doc" subdirectory of the XGKS package. MANUALS = xgks.3 SUBDIRS = binding userdoc SUBDIR_TARGETS = binding/all binding/clean MANIFEST = Makefile.in xgks.3src1 xgks.3src2 GARBAGE = xgks_synop.3 xgks.3 all: xgks_synop.3 $(MANUALS) install: installed_manuals clean: binding/clean xgks_synop.3: binding/all awk '{print ".HP 4"; print}' binding/Cbinding.src > $@ # We'd like to use soelim(1) for the following but IRIX doesn't have that # utility. # xgks.3: xgks.3src1 xgks_synop.3 xgks.3src2 cat xgks.3src1 xgks_synop.3 xgks.3src2 > $@ include ../port/master.mk xgks-2.6.1+dfsg.2/src/doc/CVS/0000755000175000017500000000000011413611016016666 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/doc/CVS/Entries0000644000175000017500000000042011413611016020216 0ustar amckinstryamckinstry/Makefile.in/2.6/Tue Aug 1 17:28:36 2000// /NOTES/2.5.4.1/Wed Mar 10 19:43:34 1993// /RELEASE.NOTES/2.5.4.1/Wed Mar 10 19:43:34 1993// /dist.mk/2.5.4.1/Wed Mar 10 19:43:34 1993// /xgks.3src1/2.5.4.1/Wed Mar 10 19:43:34 1993// /xgks.3src2/2.7/Tue Aug 1 17:28:48 2000// D xgks-2.6.1+dfsg.2/src/doc/CVS/Repository0000644000175000017500000000001111413611016020760 0ustar amckinstryamckinstryxgks/doc xgks-2.6.1+dfsg.2/src/doc/CVS/Entries.Log0000644000175000017500000000004011413611016020734 0ustar amckinstryamckinstryA D/binding//// A D/userdoc//// xgks-2.6.1+dfsg.2/src/doc/CVS/Root0000644000175000017500000000006111413611016017531 0ustar amckinstryamckinstry:pserver:anonymous@cvs.XGKS.sf.net:/cvsroot/xgks xgks-2.6.1+dfsg.2/src/doc/xgks.3src10000644000175000017500000000031411413611016020062 0ustar amckinstryamckinstry''' $Id: xgks.3src1,v 2.5.4.1 1993/03/10 19:43:34 steve Exp $ .TH XGKS 3 "23 July 1991" "XGKS Version 2" .SH NAME XGKS - A GKS library for the X Window System .SH SYNOPSIS .ft B .nh #include .sp xgks-2.6.1+dfsg.2/src/doc/xgks.3src20000644000175000017500000005705111413611016020075 0ustar amckinstryamckinstry.hy .ft .SH DESCRIPTION .PP XGKS is an implementation of the ANSI Graphical Kernel System for use with the X Window System. XGKS was developed at the University of Illinois, Urbana, Illinois, and supported by IBM ACIS. After being made freely available in the X11R4 distribution, XGKS was adopted by the Unidata Program Center (UPC) of the University Corporation for Atmospheric Research (UCAR) in Boulder, Colorado. .SH STANDARDS .PP XGKS is an implementation of the ANSI Graphical Kernel System as defined by the functional description and the draft 1988 C language binding. Thus, the ultimate reference for any programmer is the C binding manual which details the data types and functions available. XGKS is a level 2C implementation of the GKS specification. It supports REQUEST, SAMPLE, and EVENT input modes for all six logical input devices, workstation independent segment storage, and metafiles. .SH CAPABILITIES .PP The XGKS library supports all functions specified by the ANSI standard with the exception of : .sp .nf .in +0.5i ESCAPE (in its most general form) GENERALIZED DRAWING PRIMITIVE (in its most general form) INQUIRE GENERALIZED DRAWING PRIMITIVE INQUIRE LIST OF AVAILABLE GENERALIZED DRAWING PRIMITIVES SET PATTERN REFERENCE POINT SET PATTERN SIZE .fi .in -0.5i .sp The escape and gdp functions are implemented as a set of functions which follow the naming convention outlined in the C binding. That is, escape functions are named \fBgesc\fP\fIfunction\fP and gdp functions are named \fBggdp\fP\fIfunction\fP, where \fIfunction\fP is a descriptive name for the function performed. .SH "ESCAPE FUNCTIONS" .PP .B gescinqxattr() returns the attributes of the opened X window for workstation \fIwsid\fP. .PP .B gescsetbackingstore() enables (disables) backingstore for workstation \fIwsid\fP if \fIi\fP is non-zero (zero). Backingstore is enabled by default if it is available on the workstation and the \fBbackingstore\fP X resource (see \fBX-RESOURCES\fP) doesn't indicate otherwise. .PP .B gescsetprogname() sets the program name by which the application will be known to X to \fIname\fP. This name will be used to access X resouces by prepending it to resource names (along with a separating period `.'). The X window will also be named \fIname\fP. By default, the name \fBXGKS\fP is used. .PP .B gescsetcolormask () changes the color-plane mask on workstation \fIwsid\fP to \fImask\fP via the X function \fBXSetPlaneMask()\fP. .PP .B gescsetdcsize() changes the device coordinate space on workstation \fIwsid\fP to \fIsize\fP. .PP .B gescstoreprimi() enables (disables) the storing of non-segment output primitives on workstation \fIwsid\fP if \fIstore\fP is non-zero (zero). Storing is enabled by default and is necessary for an X refresh (after an expose or resize event) to include primitives which are not stored in any segment. .PP .B gescredrawnotify() registers the user-defined redraw function \fIfuncp\fP with workstation \fIwsid\fP. When a redraw action is initiated, the final action will be to call \fIfuncp\fP with the first argument set to the workstation number and the second argument set to GRD_GKS (if the redraw was initiated by GKS) or to GRD_X (if the redraw was initiated by X). Both symbolic constants are defined in the header-file \fBxgks.h\fP. .SH "OUTPUT PRIMITIVES" .PP Polylines of any width and color can be displayed while seven line styles are supported they are: .sp .nf GLN_DASH long dash GLN_DDOTDASH double dot dash GLN_SDASH short dash GLN_SOLID solid GLN_DASH medium dash GLN_DOT dotted GLN_DOTDASH dot dash .fi .PP Polymarkers of any size and color can be displayed, five marker styles are provided: .sp .nf GMK_POINT filled circle GMK_PLUS + GMK_STAR * GMK_O unfilled circle GMK_X X .fi .PP All text within XGKS is implemented through stroke fonts, thus text primitives are fully transformable. Nine font styles are supported: .sp .nf 1 SanSerif Roman 2 Serif Roman 3 SansSerif Bold Roman 4 Serif Bold Roman 5 Sanserif Italic Roman 6 Serif Italic Roman 7 SanSerif Script 8 Serif Script 9 Gothic .fi .PP Fill Area output primitives can be displayed as hollow, solid, hatched and patterned. Twenty (numbered one to twenty) hatch and pattern styles are predefined. The application program can redefine these patterns; however, the programmer should be aware that the \fBgsetpatrep()\fP function expects patterns to be stored in column major order from bottom to top. This means that cell[0][0] is the bottom-left corner, cell[dx-1][dy-1] is the top-right corner, and cell[0][1] is directly above cell[0][0]. .PP GKS Cell Arrays are supported in their most general, transformable form. .SH "LOGIAL INPUT DEVICES" .PP XGKS supports the full GKS input model. Thus, all logical input devices operate in request, sample, and event modes. Any number of logical input devices can be created for each of the six input classes. All logical devices are triggered through the use of the mouse and its buttons with the exception of the choice device where one prompting technique uses the keyboard's function buttons. A logical input device is only active when the mouse is within the echo area of the device and one or more of the mouse buttons is pressed. When the mouse button is released, the physical device triggers all logical input devices in request or event mode whose echo area surrounds the cursor. Devices in sample mode are triggered whenever the mouse moves within the echo area while the mouse is pressed. Any input operation can be aborted by pressing the Break key on the keyboard. .PP Five prompting types are defined for the locator: .sp .nf 1 tracking cross 2 crosshair spanning X window 3 tracking cross 4 rubberband line 5 rubberband rectangle .fi .PP The only restriction placed on these prompts is that prompt and echo type 5 does not allow the rectangle to be a fill area style other than hollow. The fixed end of the rubberband line and rubber rectangle is at the initial locator position while the floating end is the current value. .PP The stroke input device differs from the locator by allowing more than one coordinate point to be entered. There are three stroke prompts supported: .sp .nf 1 tracking cross 3 polymarker at each point 4 polyline joining points .fi .PP The closeness of selected points can be controlled by specifying a minimum X and minimum Y displacement in the stroke data record during stroke initialization. Although specified as a distance in World Coordinate space, the restriction is enforced in Normalized Device space. .PP The valuator input device allows the user to select a real numbered value within the application specified range. Only one visual representation is currently supported: the valuator appears as a bar with a sliding knob whose relative position determines the current value. A horizontal bar is displayed if the echo area is wider than it is tall, otherwise a vertical bar is used. This prompt technique is selected by valuator prompt and echo types one and two. .PP Two types of choice devices are provided. Choice prompts one and two use the keyboard function keys as a choice device, thus function key F1 returns choice number one. Prompt and echo type one enables all function keys while prompt type two enables only those keys specified in the data record when the device is initialized. Choice prompt type three presents the user with a menu from which the current choice is selected. These menus appear and act similar to most X11 window manager menus. That is, the current selection is highlighted and selection is made by releasing the mouse button when the desired choice is lit. A word of warning, these menus are displayed in the choice echo area and DO NOT attempt to restore any output primitives that they cover. .PP Currently only two pick prompt types are supported: one and three. Both prompt types highlight the currently selected segment by flashing a bounding box around the segment's extent. Also, picking is only implemented at the segment extent level. Thus, if two segments overlap and the user points at the area of intersection, then the segment of highest priority will be picked even if the cursor is directly over a primitive contained in the other segment. .PP The string device has only one prompt and echo type: number 1. This prompt type gives the user one line on which to type. This line is positioned in the upper-left corner of the string echo area and is displayed as a hollow fill area within which an insertion point cursor and typed text appear. As the user types, the only special keys are Backspace, Delete, and Enter which perform the obvious functions. The length of the line is limited by the width of the echo area and the size of the string buffer as specified by the application program during string initialization. .SH LIMITS .PP Four workstation types are defined by XGKS: MI, MO, WISS, and X11. When calling the open workstation function the application must specify three parameters: 1) a workstation identifier, which is an integer used to identify this workstation throughout the application; 2) a workstation connection, which is either a file name for the metafile workstations (MI and MO) or an X11 DISPLAY specification string (see the X man page), or a null character pointer for the X11 workstation (if null, then the environment variable DISPLAY is consulted); and 3) the workstation type, which is either one of the strings "MI", "MO", or "WISS" (in which case a workstation of the appropriate type will be opened) or a null character pointer (in which case an X11 window will be created); The workstation connection parameter is ignored for the workstation independent segment store (WISS) workstation. Ten workstations can be open simultaneously; however, only one WISS workstation can be open. .PP There are thirty-one normalization transformations, numbered 0 to 30. Transformation number zero is the identity transformation and cannot be changed. .PP Every X11 window workstation has a fixed device coordinate space that is 0 to 1279 on the X axis and 0 to 1023 on the Y axis. This is not to say that the X window is that big, the GKS workstation will be scaled to fit the X window; this scaling preserves the aspect ratio. .PP There are twenty bundle table entries for each type of bundle table. .PP The size of the color table is determined by the X11 window server and the hardware being used. The IBM apa16 monochrome display provides two colors and the Megapel display supports 255 out of 4096 possible colors. Each XGKS workstation shares the default color map of the display. The GKS SET COLOR REPRESENTATION function uses the X11 \fBXAllocColor()\fP function to obtain the pixel value of the colorcell having the color closest to the requested one. The association between GKS colour indices and X11 colorcells is maintained in a lookup table. This mechanism decouples GKS colour indices from X11 pixel values and makes the XGKS client "friendly" in relation to other X11 clients in the handling of the X11 colormap. .PP GKS color index zero always refers to the X window background color while GKS color index one refers to the X window foreground color. .SH METAFILES .PP Two Metafile formats are supported: GKSM and CGM. The GKSM format is a formatted audit-trail of the GKS session: there is an almost isomorphic mapping between GKS calls and GKSM records. Because GKSM is a formatted encoding, however, this format can impose a considerable storage requirement. Also, the GKSM format is not widely used. .PP The CGM format used by XGKS is a subset of the binary encoding specified in the ANSI X3.122-1986 standard. Because it is a binary encoding, this format is more space efficient than the GKSM format. It is not quite as powerful, however, as it does not record an audit-trail of the GKSM session; rather, it describes a set of independent, static pictures. The CGM format is a widely used graphics standard. .PP The standard allows several alternative encodings for primitives such as floating-point and integer values. XGKS uses the default encodings only. These are .sp .RS +4 .nf .ta \w'VDC INTEGER PRECISION'u+4m REAL PRECISION Fixed point; whole part 16 bits; fractional part 16 bits. INTEGER PRECISION 16 bits COLOUR PRECISION 1 octet (per colour component) COLOUR INDEX PRECISION 1 octet INDEX PRECISION 16 bits VDC TYPE INTEGER VDC INTEGER PRECISION 16 bits VDC EXTENT (0,0) to (32767,32767) COLOUR VALUE EXTENT minimum is (0,0,0) and maximum is (255,255,255). .fi .sp .RE This CGM form is compatible with the NCAR Graphics package. .PP The type of Metafile is selected by the Metafile's filename. Filenames containing the string ".cgm" (or ".CGM") are assumed to be in CGM format; all other files are assumed to be in GKSM format. .SH "X-RESOURCES" .PP The following X-resources and their parameters are searched for by the XGKS library: .TP 4 .IB "program" ".backingstore: on\||\|off" Whether or not the server should use the X backing-store feature for windows created by this application. Whether the backingstore feature is enabled by default depends on the capability of the X server: if the server can use backingstore, then it's enabled by default; otherwise it's disabled by default. .TP 4 .B "Xgks.Backingstore: on\||\|off" Whether or not the server should use the X backing-store feature for the entire class of XGKS applications. .TP 4 .IB "program" ".background:" " color" Color for the background of the XGKS window for program \fIprogram\fP. The string \fIcolor\fP must be understood by the X-server (.e.g "MidnightBlue"). .TP .BI Xgks.Background: " color" Background color for the entire class of XGKS applications. .TP .IB "program" ".foreground:" " color" Color for the foreground of the XGKS window for program \fIprogram\fP. The string \fIcolor\P must be understood by the X-server (.e.g "white"). .TP .BI Xgks.Foreground: " color" Foreground color for the entire class of XGKS applications. .TP .I "program\fB.geometry: \fIXSIZE\fPx\fIYSIZE\fP[+-]\fIxoff\fP[+-]\fIyoff\fP" Geometry in pixels for the XGKS window of program \fIprogram\fP. .TP .B "Xgks.Geometry: \fIXSIZE\fPx\fIYSIZE\fP[+-]\fIxoff\fP[+-]\fIyoff\fP" Geometry in pixels for the entire class of XGKS applications. .TP .IB "program" ".iconic: on|off" Initially, map the XGKS window as an icon rather than as a normal window. .TP .B "Xgks.Iconic: on|off" Initially, map the entire class of XGKS windows as icons rather than as normal windows. .TP .IB "program" ".beep: on|off" Controls whether or not the bell sounds during interactive input in the XGKS window of program \fIprogram\fP. The default is \fBoff\fP. .TP .B "Xgks.Beep: on|off" Controls whether or not the bell sounds during interactive input for the entire class of XGKS applications. The default is \fBoff\fP. .TP .IB "program" ".softclipping: on|off" Enable or disable the soft-clipping of polylines. By default, XGKS defers the clipping of output primitives to the X Window System. This works reliably only if the normalized device co-ordinates (NDC) of the output primitives are relatively close to the NDC [0,1] unit-square. Due to wrap-around in the NDC-to-X co-ordinate transformation, very large NDC values might cause extraneous lines to appear in the display window. Though this behavior is server-dependent, it typically occurs when displaying a small portion of a large graphic. Soft-clipping causes XGKS to clip polyline output against the current NDC clip-window before calling X; thus eliminating extraneous lines but incurring some additional computational overhead. Because this behavior is server-dependent, we suggest you use the default (i.e. no soft-clipping) until the problem manifests itself. .TP .B "Xgks.Softclipping: on|off" Enable or disable soft-clipping for the entire class of Unidata XGKS applications. .SH "USING X-RESOURCES" .PP The following pseudo-code details the sequence of steps taken to initialize the program-specific, internal, X-resource database. Definitions encountered during later steps override earlier ones. .sp .RS 4 Clear internal X-resource database; .sp if (file \fB/usr/lib/X11/app-defaults/\fP\fIprogram\fP exists) .RS Merge its definitions into the database; .RE .sp if (environment variable \fBXAPPLRESDIR\fP exists) .RS Merge the definitions in file \fB$XAPPLRESDIR/\fIprogram\fR into the database; .RE .sp if (X-server has an X-resource database) { .RS Merge its definitions into the database; .RE } else if (file \fB~/.Xdefaults\fP exists) { .RS Merge its definitions into the database; .RE } .sp if (environment variable \fBXENVIRONMENT\fP exists) { .RS Merge the definitions in file \fB$XENVIRONMENT\fP into the database; .RE } else if (file \fB~/.Xdefaults-\fIX-server_hostname\fR exists) { .RS Merge its definitions into the database; .RE } .RE .fi .sp Notes: .IP 1) 4 The X-server may have its X-resource database updated via the \fBxrdb(1)\fP utility. .IP 2) \fIProgram\fP is the name of the program as set by the \fBgescsetprogname()\fP function (see ESCAPE FUNCTIONS). .IP 3) \fIX-server_hostname\fP is the name of the first host to which XGKS connects as returned by the X function \fBDisplayString()\fP. (e.g. "groucho"). .SH "PROGRAMMING" .PP Here is a simple XGKS program that displays "Hello World" in the center of the default workstation window. After displaying the greeting, the program uses a choice input device to wait for the user to press the break key. This is done because the X window that represents this workstation is removed from the screen as soon as the workstation is closed. The for loop in the main program is a convenient way for the application to allow the user to specify the workstation connection id on the command line via a hostname:serverNumber pair. If the connection id is not specified XGKS will use the value of the environment variable DISPLAY in the users environment. .sp .nf #include #include #include /* * This function is called when the program is finished * and we just want to wait until the user is done looking * at the output. Here we set up a choice device to use * the function keys. However, we ignore all choices and * wait for the user to press the Break key. */ static void WaitForBreak(wsid) Gint wsid; { Gchoice init; Gchoicerec record; Glimit earea = { 0.0, 1279.0, 0.0, 1023.0 }; gmessage(wsid, "Done, press Break to quit ..."); init.status = GC_NOCHOICE; init.choice = 0; record.pet1.data = NULL; ginitchoice(wsid, 1, &init, 1, &earea, &record); gsetchoicemode(wsid, 1, GREQUEST, GECHO); while (init.status != GC_NONE) greqchoice(wsid, 1, &init); } /* * set up various text parameters and print "Hello World" */ PrintHello() { Gpoint tpt; Gpoint up; Gtxfp txfp; Gtxalign align; txfp.font = 4; /* use Serif Bold Roman font */ txfp.prec = GSTROKE; gsettextfontprec(&txfp); gsetcharexpan(0.5); gsetcharspace(0.2); gsettextcolorind(1); /* should be white */ gsetcharheight(0.05); up.x = 0.0; up.y = 1.0; /* characters are straight up */ gsetcharup(&up); align.hor = GTH_CENTER; align.ver = GTV_HALF; gsettextalign(&align); gsettextpath(GTP_RIGHT); /* print from left to right */ tpt.x = 0.5; tpt.y = 0.5;/* center of the window */ gtext(&tpt,"Hello World!"); } main(argc,argv) int argc; char *argv[]; { int i, wsid=1; char *conn = (char*)NULL; for (i=1; i #include "demo.h" void FillBox(org, wid, ht, color) Gpoint *org; Gfloat wid, ht; Gint color; { Gpoint pts[5]; Gchar num[5]; pts[0].x = org->x; pts[0].y = org->y; pts[1].x = org->x; pts[1].y = org->y + ht; pts[2].x = org->x + wid; pts[2].y = org->y + ht; pts[3].x = org->x + wid; pts[3].y = org->y; pts[4].x = org->x; pts[4].y = org->y; gsetfillcolorind(color); gfillarea(5, pts); (void) sprintf(num, "%d", color); pts[0].x = org->x + wid / 2.0; pts[0].y = org->y + ht / 2.0; gtext(pts, num); } main(argc, argv) int argc; char *argv[]; { Gint ws_id = 1; char *conn = (char *) NULL; Glimit Window; Glimit WsWindow; Gpoint org; Gint color; Gtxfp txfp; Gtxalign txalign; int i; Window.xmin = 0.0; Window.xmax = 1280.0; Window.ymin = 0.0; Window.ymax = 1024.0; WsWindow.xmin = 0.0; WsWindow.xmax = 1.0; WsWindow.ymin = 0.0; WsWindow.ymax = 0.8; txfp.font = 1; txfp.prec = GSTROKE; txalign.hor = GTH_CENTER; txalign.ver = GTV_HALF; for (i = 1; i < argc; i++) { if (strchr(argv[i], ':')) conn = argv[i]; /* Application dependent options here */ } gopengks(stdout, 0); gopenws(ws_id, conn, conn); gactivatews(ws_id); gsetwindow(1, &Window); gsetviewport(1, &WsWindow); gselntran(1); gsetwswindow(ws_id, &WsWindow); gsetfillintstyle(GSOLID); gsettextfontprec(&txfp); gsetcharheight(28.0); gsetcharspace(0.2); gsettextalign(&txalign); gsettextcolorind(0); color = 0; for (org.y = 0.0; org.y < 1023.0; org.y += 64.0) for (org.x = 0.0; org.x < 1280.0; org.x += 80.0) FillBox(&org, 80.0, 64.0, color++); WaitForBreak(ws_id); gdeactivatews(ws_id); gclosews(ws_id); gclosegks(); return 0; } xgks-2.6.1+dfsg.2/src/progs/depend0000644000175000017500000000026711413611016020007 0ustar amckinstryamckinstrydefcolors.o: defcolors.c defcolors.o: demo.h font.o: font.c font.o: demo.h hanoi.o: hanoi.c hanoi.o: demo.h hello.o: hello.c mi.o: mi.c mi.o: demo.h pline.o: pline.c pmark.o: pmark.c xgks-2.6.1+dfsg.2/src/progs/gksdemo.dir/0000755000175000017500000000000011413611016021026 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/progs/gksdemo.dir/CVS/0000755000175000017500000000000011413611016021461 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/progs/gksdemo.dir/CVS/Entries0000644000175000017500000000000211413611016023005 0ustar amckinstryamckinstryD xgks-2.6.1+dfsg.2/src/progs/gksdemo.dir/CVS/Repository0000644000175000017500000000002711413611016023562 0ustar amckinstryamckinstryxgks/progs/gksdemo.dir xgks-2.6.1+dfsg.2/src/progs/gksdemo.dir/CVS/Root0000644000175000017500000000006111413611016022324 0ustar amckinstryamckinstry:pserver:anonymous@cvs.XGKS.sf.net:/cvsroot/xgks xgks-2.6.1+dfsg.2/src/progs/xhib/0000755000175000017500000000000011413611016017552 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/progs/xhib/xhib.f0000644000175000017500000125552011413611016020665 0ustar amckinstryamckinstryC***********************************************************************GKS00010 C***********************************************************************GKS00020 C* Copyright IBM Corporation 1989 C* C* All Rights Reserved C* C* Permission to use, copy, modify, and distribute this software and its C* documentation for any purpose and without fee is hereby granted, C* provided that the above copyright notice appear in all copies and that C* both that copyright notice and this permission notice appear in c* supporting documentation, and that the name of IBM not be C* used in advertising or publicity pertaining to distribution of the C* software without specific, written prior permission. C* C* IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING C* ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL C* IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR C* ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, C* WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, C* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS C* SOFTWARE. C* C***** ***GKS00030 C***** Product: graPHIGS GKS-CO Demonstration Program ***GKS00040 C***** ***GKS00050 C***** Module Name: gksdemo.f ***GKS00060 C***** ***GKS00070 C***** Module Type: FORTRAN ***GKS00080 C***** ***GKS00090 C***** Descriptive Name: GKS Demonstration Program ***GKS00100 C***** ***GKS00110 C***** Module Function: Demonstration package written to ***GKS00120 C***** show the programming techniques of ***GKS00130 C***** writing graphics applications using ***GKS00140 C***** the device independent graphics GKS ***GKS00150 C***** standard, via the graPHIGS GKS-CO ***GKS00160 C***** implementation of that standard. ***GKS00170 C***** ***GKS00180 C***** ***GKS00190 C***** ***GKS00200 C***** Internal Flow: GKSDEMO ***GKS00210 C***** ___________________| | | |____________________ ***GKS00220 C***** | _______| |_______ | ***GKS00230 C***** | | | | ***GKS00240 C***** | | | | ***GKS00250 C***** MAPDEM PRIMIT COLOR INTER ***GKS00260 C***** ________||||||________ ||||_____ ***GKS00270 C***** | |||| | / || | ***GKS00280 C***** DEMOPM _____||||_____ DEMOGD / || INTDEL ***GKS00290 C***** | || | / ||____ ***GKS00300 C***** DEMOPL ___||___ DEMOCA / | | ***GKS00310 C***** _| | | / | INTTRA ***GKS00320 C***** | DEMOTX DEMOFA INTCRE |___ ***GKS00330 C***** DRWHLS ________________|||| | ***GKS00340 C***** ..................... | __________||| INTINS ***GKS00350 C***** .Common Subroutines . | | ___||____ ***GKS00360 C***** . Used by Many: . | | | | ***GKS00370 C***** ..................... CREPLN CREPMK CREFA CRETXT ***GKS00380 C***** . CRSEGM FINSHF . \ \ / / ***GKS00390 C***** . RCHOI RMENU . \________\ /_______/ ***GKS00400 C***** . SETCOL SETUPF . CHCOL ***GKS00410 C***** ..................... ***GKS00420 C***** ***GKS00430 C***** ***GKS00440 C***** ***GKS00450 C***** Entry Point: GKSDEM ***GKS00460 C***** ***GKS00470 C***** Subroutines: CHCOL - Allows User to choose a color ***GKS00480 C***** COLOR - Demonstrates the Color Facilities ***GKS00490 C***** CREFA - Create Fill Area in Segment ***GKS00500 C***** CREPLN - Create Polyline in Segment ***GKS00510 C***** CREPMK - Create Polymarker in Segment ***GKS00520 C***** CRSEGM - Create Pickable Segment for RETURN ***GKS00530 C***** CRETXT - Create Text in Segment ***GKS00540 C***** DEMOCA - Demonstrates cell arrays ***GKS00550 C***** DEMOFA - Demonstrates fill areas ***GKS00560 C***** DEMOGD - Demonstrates GDPs Available ***GKS00570 C***** DEMOPL - Demonstrates polylines ***GKS00580 C***** DEMOPM - Demonstrates polymarkers ***GKS00590 C***** DEMOTX - Demonstrates the text primitive ***GKS00600 C***** DRWHLS - Draws the wheels for the car frame ***GKS00610 C***** FINSHF - Finishes the screen frame borders ***GKS00620 C***** INTCRE - Create Segment ***GKS00630 C***** INTDEL - Delete a Segment ***GKS00640 C***** INTER - Main Interactive Demo Menu ***GKS00650 C***** INTINS - Insert Segment(s) into New Segment ***GKS00660 C***** INTTRA - Transform Segment Data ***GKS00670 C***** MAPDEM - Draws high level picture of GKS-CO ***GKS00680 C***** PRIMIT - Main output primitive menu ***GKS00690 C***** RCHOI - Waits on input from choice device ***GKS00700 C***** RMENU - Sets up choice prompts ***GKS00710 C***** SETCOL - Sets up the color table ***GKS00720 C***** SETUPF - Draws the screen frame borders ***GKS00730 C***** ***GKS00740 C***** Include Files: gkspar.inc ***GKS00750 C***** ***GKS00760 C***** Environment Dependencies: IBM RT PC with lpfks, tablet, ***GKS00770 C***** and dial devices attached. ***GKS00780 C***** ***GKS00790 C***********************************************************************GKS00800 C***********************************************************************GKS00810 GKS00820 PROGRAM GKSDEM GKS00830 INCLUDE 'gkspar.inc' GKS00850 C***********************************************************************GKS00860 C***** ***GKS00870 C***** Declare all Variables ***GKS00880 C***** ***GKS00890 C***********************************************************************GKS00900 GKS00910 INTEGER*4 ERRFIL,WKID,CONID,WTYPE,TNR GKS00920 INTEGER*4 ERRIND,DCUNIT,LX,LY,NOERR GKS00930 INTEGER*4 I,J,IA(32),MENLEN(5),SGNA GKS00940 INTEGER*4 YES,NO,LDRCDU,LASP(13) GKS00950 GKS00960 REAL*4 RX,RY,STARTX,STARTY,PX(10),PY(10) GKS00970 REAL*4 SELBLK(8),ARROW(14),TXTBLK(8),EMPTRP(1) GKS00980 REAL*4 TXTX,TXTY,XMIN,XMAX,YMIN,YMAX GKS00990 GKS01000 CHARACTER*1 CHAR GKS01020 CHARACTER*1 DUMMYA(10) GKS01030 CHARACTER*20 MENTXT(5) GKS01040 CHARACTER*80 DRCDUM(4) GKS01050 GKS01060 C***********************************************************************GKS01070 C***** ***GKS01080 C***** Define COMMON block variables ***GKS01090 C***** ***GKS01100 C***********************************************************************GKS01110 GKS01120 COMMON /WINF/ WKID,WTYPE GKS01130 COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX GKS01140 COMMON /TEXT/ TXTX,TXTY GKS01150 GKS01160 C***********************************************************************GKS01170 C***** ***GKS01180 C***** Initialize Variables ***GKS01190 C***** ***GKS01200 C***********************************************************************GKS01210 GKS01220 DATA ERRFIL /0/ GKS01230 DATA WKID /1/ GKS01240 DATA CONID /1/ GKS01250 DATA WTYPE /4/ GKS01260 DATA TNR /1/ GKS01270 DATA LASP /1,1,1,1,1,1,1,1,1,1,1,1,1/ GKS01280 DATA NOERR /0/ GKS01290 DATA NO /0/ GKS01300 DATA YES /1/ GKS01310 GKS01320 C***********************************************************************GKS01330 C***** ***GKS01340 C***** Set up the coordinates for the select, arrow and text ***GKS01350 C***** blocks. ***GKS01360 C***** ***GKS01370 C***********************************************************************GKS01380 GKS01390 DATA SELBLK /0.000,0.100,0.100,0.000,0.100,0.100,0.000,0.000/ GKS01400 DATA ARROW /0.000,0.140,0.140,0.185,0.140,0.140,0.000, GKS01410 * 0.016,0.016,0.000,0.024,0.048,0.032,0.032/ GKS01420 DATA TXTBLK /0.000,0.535,0.535,0.000,0.100,0.100,0.000,0.000/ GKS01430 GKS01440 C***********************************************************************GKS01450 C***** ***GKS01460 C***** Text for the menu options and the length of each text ***GKS01470 C***** string. ***GKS01480 C***** ***GKS01490 C***********************************************************************GKS01500 GKS01510 DATA MENTXT(1) /'XGKS'/, GKS01520 * MENTXT(2) /'PRIMITIVES'/, GKS01530 * MENTXT(3) /'COLOR'/, GKS01540 * MENTXT(4) /'INTERACTION'/, GKS01550 * MENTXT(5) /'END'/ GKS01560 DATA MENLEN /4,10,5,11,3/ GKS01570 GKS01580 DATA EMPTRP /0.0/ GKS01590 DATA CHAR /' '/ GKS01600 GKS01610 C***********************************************************************GKS01620 C***** ***GKS01630 C***** Open GKS, open the workstation and activate it. ***GKS01640 C***** Set the deferral mode to 'bnil' which will produce a ***GKS01650 C***** visual effect of each function appearing before the next ***GKS01660 C***** interaction locally. Set the implicit regeneration mode ***GKS01670 C***** to suppressed. ***GKS01680 C***** ***GKS01690 C***********************************************************************GKS01700 GKS01710 CALL GOPKS(ERRFIL,0) GKS01720 CALL GOPWK(WKID,CONID,WTYPE) GKS01730 CALL GACWK(WKID) GKS01740 CALL GSDS(WKID,GBNIL,GSUPPD) GKS01750 GKS01760 C***********************************************************************GKS01770 C***** ***GKS01780 C***** Set all the aspect source flags to individual. ***GKS01790 C***** Set the normalization transformation for transformation ***GKS01800 C***** number one. ***GKS01810 C***** ***GKS01820 C***********************************************************************GKS01830 GKS01840 CALL GSASF(LASP) GKS01850 CALL GSWN(TNR,0.0,1.0,0.0,1.0) GKS01860 CALL GSVP(TNR,0.0,1.0,0.0,1.0) GKS01870 GKS01880 C***********************************************************************GKS01890 C***** ***GKS01900 C***** Set the workstation transformation after inquiring ***GKS01910 C***** the display information. ***GKS01920 C***** ***GKS01930 C***********************************************************************GKS01940 GKS01950 CALL GQDSP(WTYPE,ERRIND,DCUNIT,RX,RY,LX,LY) GKS01960 XMIN = (RX - RY) / 2.0 GKS01970 XMAX = XMIN + RY GKS01980 YMIN = 0.000 GKS01990 YMAX = RY GKS02000 CALL GSWKWN(WKID,0.0,1.0,0.0,1.0) GKS02010 CALL GSWKVP(WKID,XMIN,XMAX,YMIN,YMAX) GKS02020 CALL GSELNT(TNR) GKS02030 GKS02040 C***********************************************************************GKS02050 C***** ***GKS02060 C***** Call Subroutine SETCOL to set up the color table for ***GKS02070 C***** this program. ***GKS02080 C***** ***GKS02090 C***********************************************************************GKS02100 GKS02110 CALL SETCOL GKS02120 GKS02130 C***********************************************************************GKS02140 C***** ***GKS02150 C***** Build the main menu from which all paths are chosen. ***GKS02160 C***** Main loop: keep drawing the main menu until the user ***GKS02170 C***** chooses to exit the routine (by choosing the segment ***GKS02180 C***** 'end' - segment 5) via the LPFK or pick device. ***GKS02190 C***** ***GKS02200 C***********************************************************************GKS02210 GKS02220 ENDIT = NO GKS02230 GKS02240 C************************************************************* GKS02250 C***** ***** GKS02260 C***** Call subroutine SETUPF to draw the menu ***** GKS02270 C***** border. Add the text to the menu and call ***** GKS02280 C***** subroutine FINSHF to complete the menu ***** GKS02290 C***** border. ***** GKS02300 C***** ***** GKS02310 C************************************************************* GKS02320 GKS02330 10 CALL SETUPF(.TRUE.,.FALSE.) GKS02340 CALL GSCHH(0.065) GKS02350 CALL GSCHSP(0.2) GKS02450 CALL GTXS(TXTX,0.835,9,'XGKS DEMO') GKS02360 CALL FINSHF(.TRUE.) GKS02370 GKS02380 CALL GSFAIS(GSOLID) GKS02390 CALL GSFACI(GYELOW) GKS02400 CALL GSTXFP(GFONT2,GCHARP) GKS02410 CALL GSTXCI(GRED) GKS02420 CALL GSCHH(0.060) GKS02430 CALL GSCHXP(0.9) GKS02440 CALL GSCHSP(0.1) GKS02450 GKS02460 C************************************************************* GKS02470 C***** ***** GKS02480 C***** Set all LPFKs to off (1). ***** GKS02490 C***** ***** GKS02500 C************************************************************* GKS02510 GKS02520 DO 20 I=1,32 GKS02530 IA(I)=GPROFF GKS02540 20 CONTINUE GKS02550 GKS02560 C************************************************************* GKS02570 C***** ***** GKS02580 C***** For each of the 5 selectable segments, ***** GKS02590 C***** calculate the 4 points that indicate its ***** GKS02600 C***** boundary. ***** GKS02610 C***** ***** GKS02620 C************************************************************* GKS02630 GKS02640 C DO 60 I=0,4 GKS02650 C STARTX = 0.065 GKS02660 C STARTY = 0.590 - I * 0.130 GKS02670 C DO 30 J=1,4 GKS02680 C PX(J) = SELBLK(J) + STARTX GKS02690 C PY(J) = SELBLK(J+4) + STARTY GKS02700 C 30 CONTINUE GKS02710 GKS02720 C************************************************************* GKS02730 C***** ***** GKS02740 C***** Display pickable choices on the main menu. ***** GKS02750 C***** ***** GKS02760 C************************************************************* GKS02770 GKS02780 C CALL GCRSG(I+1) GKS02790 C CALL GFA(4,PX,PY) GKS02800 C WRITE(CH,'(I1)')I+1 GKS02810 C CALL GSTXAL(GACENT,GAHALF) GKS02820 C CALL GTXS(STARTX+0.05,STARTY+0.05,1,CH) GKS02830 C CALL GSTXAL(GAHNOR,GAVNOR) GKS02840 GKS02850 C************************************************************* GKS02860 C***** ***** GKS02870 C***** Set the LPFK for this segment to on (2). ***** GKS02880 C***** Close the segment and make it detectable. ***** GKS02890 C***** ***** GKS02900 C************************************************************* GKS02910 GKS02920 C IA(I+1) = GPRON GKS02930 C CALL GCLSG GKS02940 C CALL GSDTEC(I+1,1) GKS02950 GKS02960 C************************************************************* GKS02970 C***** ***** GKS02980 C***** Draw arrows on menu to indicate which LPFK ***** GKS02990 C***** goes with which choice. ***** GKS03000 C***** ***** GKS03010 C************************************************************* GKS03020 GKS03030 C STARTX = 0.190 GKS03040 C STARTY = 0.606 - I * 0.130 GKS03050 C DO 40 J = 1,7 GKS03060 C PX(J) = ARROW(J) + STARTX GKS03070 C PY(J) = ARROW(J+7) + STARTY GKS03080 C 40 CONTINUE GKS03090 C CALL GPL(7,PX,PY) GKS03100 C STARTX = 0.400 GKS03110 C STARTY = 0.590 - I * 0.130 GKS03120 C DO 50 J=1,4 GKS03130 C PX(J) = TXTBLK(J) + STARTX GKS03140 C PY(J) = TXTBLK(J+4) + STARTY GKS03150 C 50 CONTINUE GKS03160 C GKS03170 C************************************************************* GKS03180 C***** ***** GKS03190 C***** Indicate choices for each segment as follows: ***** GKS03200 C***** 1 -> GKS-CO ***** GKS03210 C***** 2 -> Primitives ***** GKS03220 C***** 3 -> Color ***** GKS03230 C***** 4 -> Interaction ***** GKS03240 C***** 5 -> End ***** GKS03250 C***** ***** GKS03260 C************************************************************* GKS03270 GKS03280 C CALL GFA(4,PX,PY) GKS03290 C STARTX = STARTX + 0.015 GKS03300 C STARTY = STARTY + 0.020 GKS03310 C CALL GTXS(STARTX,STARTY,MENLEN(I+1),MENTXT(I+1)) GKS03320 C 60 CONTINUE GKS03330 C GKS03340 C************************************************************* GKS03350 C***** ***** GKS03360 C***** Initialize both the choice (lpfks) and the ***** GKS03370 C***** pick (tablet) input types. Set both devices ***** GKS03380 C***** in input mode and put out a message to tell ***** GKS03390 C***** the user to select an item. ***** GKS03400 C***** ***** GKS03410 C************************************************************* GKS03420 GKS03430 CALL GSTXFP(GFONT1,GSTRKP) GKS03440 CALL GSCHSP(0.10) GKS03450 CALL GPREC(0,IA,0,EMPTRP,0,DUMMYA,CHAR,4,ERRIND,LDRCDU,DRCDUM) GKS03460 CALL GINPK(WKID,1,1,1,1,1,XMIN,XMAX,YMIN,YMAX, GKS03470 * LDRCDU,DRCDUM) GKS03480 CALL GPREC(32,IA,0,EMPTRP,0,DUMMYA,CHAR,4,ERRIND,LDRCDU,DRCDUM) GKS03490 C CALL GINCH(WKID,1,1,1,2,XMIN,XMAX,YMIN,YMAX, GKS03500 C * LDRCDU,DRCDUM) GKS03510 C CALL GSCHM(WKID,1,2,1) GKS03520 C CALL GSPKM(WKID,1,2,1) GKS03530 C CALL GMSGS(WKID,31,' PICK SQUARES TO SELECT ITEM') GKS03540 GKS03550 C************************************************************* GKS03560 C***** ***** GKS03570 C***** Loop forever until input from either the ***** GKS03580 C***** lpfks or tablet is received. ***** GKS03590 C***** ***** GKS03600 C************************************************************* GKS03610 GKS03620 C 70 CALL GWAIT(600.0,WKID,ICLASS,IDEV) GKS03630 C IF (ICLASS.EQ.4) THEN GKS03640 C CALL GGTCH(STAT,SGNA) GKS03650 C ELSE GKS03660 C IF (ICLASS.EQ.5) THEN GKS03670 C CALL GGTPK(STAT,SGNA,PCID) GKS03680 C ELSE GKS03690 C GOTO 70 GKS03700 C ENDIF GKS03710 C ENDIF GKS03720 GKS03730 C************************************************************* GKS03740 C***** ***** GKS03750 C***** First, prepare for further input by enabling ***** GKS03760 C***** the choice and pick devices and then flushing ***** GKS03770 C***** their queues. ***** GKS03780 C***** ***** GKS03790 C************************************************************* GKS03800 GKS03810 CALL GSCHM(WKID,1,0,1) GKS03820 CALL GSPKM(WKID,1,0,1) GKS03830 CALL GFLUSH(WKID,4,1) GKS03840 CALL GFLUSH(WKID,5,1) GKS03850 CALL GMSGS(WKID,1,' ') GKS03860 STARTX = 0.190 GKS03870 STARTY = 0.736 - SGNA * 0.130 GKS03880 DO 80 J = 1,7 GKS03890 PX(J) = ARROW(J) + STARTX GKS03900 PY(J) = ARROW(J+7) + STARTY GKS03910 80 CONTINUE GKS03920 CALL GMSGS(WKID,1,' ') GKS03930 GKS03940 C************************************************************* GKS03950 C***** ***** GKS03960 C***** Check input choice and call subroutine to ***** GKS03970 C***** handle the request. If 'END' was selected, ***** GKS03980 C***** exit the input loop and leave the program ***** GKS03990 C***** gracefully. ***** GKS04000 C***** ***** GKS04010 C************************************************************* GKS04020 GKS04030 CALL PRIMIT GKS04080 GKS04210 C************************************************************* GKS04220 C***** ***** GKS04230 C***** If 'END' was not selected, wait for next ***** GKS04240 C***** choice from the main menu. ***** GKS04250 C***** ***** GKS04260 C************************************************************* GKS04270 GKS04280 GOTO 10 GKS04290 GKS04300 C***********************************************************************GKS04310 C***** ***GKS04320 C***** Otherwise, exit the program gracefully. ***GKS04330 C***** Deactivate and close the workstation, close gks. ***GKS04340 C***** ***GKS04350 C***********************************************************************GKS04360 GKS04370 90 CALL GDAWK(WKID) GKS04380 CALL GCLWK(WKID) GKS04390 CALL GCLKS GKS04400 END GKS04410 GKS04420 GKS04430 GKS04440 C***********************************************************************GKS04450 C***********************************************************************GKS04460 C***** ***GKS04470 C***** Subroutine Name: CHCOL ***GKS04480 C***** ***GKS04490 C***** Subroutine Function: Choose a color from the color table. ***GKS04500 C***** ***GKS04510 C***** Calls Subroutines: RCHOI ***GKS04520 C***** ***GKS04530 C***********************************************************************GKS04540 C***********************************************************************GKS04550 GKS04560 SUBROUTINE CHCOL(COLI) GKS04570 INCLUDE 'gkspar.inc' GKS04590 INTEGER*4 WKID,WTYPE,I,J,CHNR,COLI,ERRIND GKS04600 INTEGER*4 NELCOL,LCHCOL(16),LDRCOL GKS04610 GKS04620 REAL*4 STARTX,STARTY,PX(4),PY(4),COLBOX(8) GKS04630 REAL*4 XMIN,XMAX,YMIN,YMAX GKS04640 GKS04650 CHARACTER*23 MENCOL GKS04660 CHARACTER*80 DTRCOL(16) GKS04670 GKS04680 COMMON /WINF/ WKID,WTYPE GKS04690 COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX GKS04700 GKS04710 DATA MENCOL /'12345678910111213141516'/ GKS04720 DATA LCHCOL /1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2/ GKS04730 DATA NELCOL /16/ GKS04740 GKS04750 DATA COLBOX /0.000,0.030,0.030,0.000,0.000,0.000,0.012,0.012/ GKS04760 GKS04770 C***********************************************************************GKS04780 C***** ***GKS04790 C***** Draw the color table on the upper right hand side of the ***GKS04800 C***** screen using colored solid fill areas. Each color repre- ***GKS04810 C***** sents the corresponding choice number. ***GKS04820 C***** ***GKS04830 C***********************************************************************GKS04840 GKS04850 CALL GCRSG(1000) GKS04860 CALL GSFAIS(GSOLID) GKS04870 STARTX = 0.965 GKS04880 DO 110 I=1,16 GKS04890 CALL GSFACI(I) GKS04900 STARTY = 1.012 - I * 0.028 GKS04910 DO 100 J=1,4 GKS04920 PX(J) = COLBOX(J) + STARTX GKS04930 PY(J) = COLBOX(J+4) + STARTY GKS04940 100 CONTINUE GKS04950 CALL GFA(4,PX,PY) GKS04960 110 CONTINUE GKS04970 CALL GSFACI(GGREEN) GKS04980 CALL GSFAIS(GSOLID) GKS04990 CALL GCLSG GKS05000 GKS05010 C***********************************************************************GKS05020 C***** ***GKS05030 C***** Initialize the choice device to prompt for colors 1-16. ***GKS05040 C***** Call subroutine to wait for valid choice output and then ***GKS05050 C***** assign the color picked to 'COLI' and return it to the ***GKS05060 C***** calling routine. ***GKS05070 C***** ***GKS05080 C***********************************************************************GKS05090 GKS05100 CALL GPREC(0,0,0,0.0,NELCOL,LCHCOL,MENCOL,NELCOL, GKS05110 * ERRIND,LDRCOL,DTRCOL) GKS05120 C CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LDRCOL,DTRCOL) GKS05130 CALL GMSGS(WKID,18,'SELECT COLOR INDEX') GKS05140 CALL RCHOI(WKID,16,CHNR) GKS05150 COLI = CHNR GKS05160 CALL GDSG(1000) GKS05170 RETURN GKS05180 END GKS05190 GKS05200 GKS05210 GKS05220 C***********************************************************************GKS05230 C***********************************************************************GKS05240 C***** ***GKS05250 C***** Subroutine Name: COLOR ***GKS05260 C***** ***GKS05270 C***** Subroutine Function: This subroutine will demonstrate the ***GKS05280 C***** color facilities supported by GKS-CO ***GKS05290 C***** for the given workstation. ***GKS05300 C***** ***GKS05310 C***********************************************************************GKS05320 C***********************************************************************GKS05330 GKS05340 GKS10710 C***********************************************************************GKS10720 C***********************************************************************GKS10730 C***** ***GKS10740 C***** Subroutine Name: CREFA ***GKS10750 C***** ***GKS10760 C***** Subroutine Function: This subroutine allows the user to ***GKS10770 C***** create fill areas in new segments. ***GKS10780 C***** The user can choose to change the ***GKS10790 C***** fill area color and interior style. ***GKS10800 C***** The user can then draw the fill area ***GKS10810 C***** shape using the stroke device. ***GKS10820 C***** ***GKS10830 C***** Calls Subroutines: RCHOI, CHCOL ***GKS10840 C***** ***GKS10850 C***********************************************************************GKS10860 C***********************************************************************GKS10870 GKS10880 SUBROUTINE CREFA GKS10890 INCLUDE 'gkspar.inc' GKS10910 INTEGER*4 WKID,WTYPE,CHNR,ERRIND,STAT,TNR,I,J,IA(4),COLI GKS10920 INTEGER*4 NELFLA,LCHFLA(4),LDRFLA GKS10930 INTEGER*4 NELDUM,LCHDUM(1),LDRDUM GKS12570 INTEGER*4 NELFIS,LCHFIS(4),LDRFIS GKS10940 GKS10950 REAL*4 XMIN,XMAX,YMIN,YMAX,LCX(337),LCY(337) GKS10960 REAL*4 IPX(1),IPY(1),SKIVAL(4) GKS10970 GKS10980 CHARACTER*30 MENFLA GKS10990 CHARACTER*80 DTRFLA(4) GKS11000 CHARACTER*23 MENFIS GKS11010 CHARACTER*80 DTRFIS(4) GKS11020 CHARACTER*1 MENDUM GKS12670 GKS11030 LOGICAL SGNAME(50) GKS11040 GKS11050 COMMON /WINF/ WKID,WTYPE GKS11060 COMMON /SEGM/ SGNAME GKS11070 COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX GKS11080 GKS11090 DATA MENDUM /' '/ GKS12800 DATA LCHDUM /1/ GKS12810 DATA NELDUM /4/ GKS12820 GKS12830 DATA MENFLA /'FILL AREACOLORINT. STYLERETURN'/ GKS11100 DATA LCHFLA /9,5,10,6/ GKS11110 DATA NELFLA /4/ GKS11120 GKS11130 DATA MENFIS /'HOLLOWSOLIDPATTERNHATCH'/ GKS11140 DATA LCHFIS /6,5,7,5/ GKS11150 DATA NELFIS /4/ GKS11160 GKS11170 DATA IA /0,0,0,0/ GKS11180 DATA SKIVAL /0.005,0.005,0.005,1.000/ GKS11190 GKS11200 C***********************************************************************GKS11210 C***** ***GKS11220 C***** Use Pack Data Record to set up the prompts for the choice ***GKS11230 C***** device. The user can then choose to: draw fill area, set ***GKS11240 C***** the fill area color, set the fill area interior style, ***GKS11250 C***** or return to the main create panel. ***GKS11260 C***** ***GKS11270 C***********************************************************************GKS11280 GKS11290 CALL GPREC(0,0,0,0.0,NELFLA,LCHFLA,MENFLA,NELFLA, GKS11300 * ERRIND,LDRFLA,DTRFLA) GKS11310 300 CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LDRFLA,DTRFLA) GKS11320 CALL GMSGS(WKID,32,'DRAW FILL AREA OR SET ATTRIBUTES') GKS11330 CALL RCHOI(WKID,4,CHNR) GKS11340 GKS11350 C***********************************************************************GKS11360 C***** ***GKS11370 C***** Find the first unused segment number (segment 1-6 are re- ***GKS11380 C***** served for use by GKSDEMO). Allow the user to draw the ***GKS11390 C***** fill area using the stroke device (user holds button one ***GKS11400 C***** down on the locator while drawing and releases the button ***GKS11410 C***** when fill area boundaries are complete). ***GKS11420 C***** ***GKS11430 C***********************************************************************GKS11440 GKS11450 IF (CHNR.EQ.1) THEN GKS11460 DO 310 I=7,50 GKS11470 IF (.NOT.(SGNAME(I))) GOTO 320 GKS11480 310 CONTINUE GKS11490 CALL GMSGS(WKID,32,'NO MORE THAN 50 SEGMENTS ALLOWED') GKS11500 GOTO 340 GKS11510 320 J = 10 GKS11520 IPX(1) = 0.0 GKS11530 IPY(1) = 0.0 GKS11540 IA(1) = 0 IA(2) = 1 CALL GPREC(2,IA,3,SKIVAL,0,LCHDUM,MENDUM,NELDUM, GKS11550 * ERRIND,LDRDUM,DTRDUM) GKS11560 CALL GINSK(WKID,1,1,1,IPX,IPY,1,XMIN,XMAX,YMIN,YMAX, GKS11570 * 337,LDRDUM,DTRDUM) GKS11580 CALL GMSGS(WKID,20,'ENTER POINT OR BREAK') GKS11590 330 CALL GRQSK(WKID,1,337,STAT,TNR,J,LCX,LCY) GKS11600 CALL GMSGS(WKID,1,' ') GKS11610 GKS11620 C***********************************************************************GKS11630 C***** ***GKS11640 C***** Once valid stroke data is received, create a segment to ***GKS11650 C***** hold the fill area and then place the fill area in the ***GKS11660 C***** segment. If valid stroke data wasn't received, try ob- ***GKS11670 C***** taining valid input again. ***GKS11680 C***** ***GKS11690 C***********************************************************************GKS11700 GKS11710 IF (STAT.EQ.1) THEN GKS11720 CALL GCRSG(I) GKS11730 CALL GSDTEC(I,1) GKS11740 SGNAME(I) = .TRUE. GKS11750 CALL GFA(J,LCX,LCY) GKS11760 CALL GCLSG GKS11770 ELSE GKS11780 GOTO 330 GKS11790 ENDIF GKS11800 ELSE GKS11810 GKS11820 C***********************************************************************GKS11830 C***** ***GKS11840 C***** Call subroutine CHCOL to display a panel and allow the ***GKS11850 C***** user to choose a color from the current color table (color ***GKS11860 C***** index passed back in variable COLI). Set the fill area ***GKS11870 C***** color using the color index returned. ***GKS11880 C***** ***GKS11890 C***********************************************************************GKS11900 GKS11910 IF (CHNR.EQ.2) THEN GKS11920 CALL CHCOL(COLI) GKS11930 CALL GSFACI(COLI) GKS11940 ELSE GKS11950 GKS11960 C***********************************************************************GKS11970 C***** ***GKS11980 C***** Use pack data record to set up the prompt for the choice ***GKS11990 C***** device. User can choose an interior style of either: ***GKS12000 C***** hollow, solid, pattern, or hatch. When a valid choice ***GKS12010 C***** has been made, set the fill area interior style based on ***GKS12020 C***** the choice number minus (0=hollow,1=solid,2=pattern, ***GKS12030 C***** 3=hatch). ***GKS12040 C***** ***GKS12050 C***********************************************************************GKS12060 GKS12070 IF (CHNR.EQ.3) THEN GKS12080 CALL GPREC(0,0,0,0.0,NELFIS,LCHFIS,MENFIS,NELFIS, GKS12090 * ERRIND,LDRFIS,DTRFIS) GKS12100 CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LDRFIS, GKS12110 * DTRFIS) GKS12120 CALL GMSGS(WKID,21,'SELECT INTERIOR STYLE') GKS12130 CALL RCHOI(WKID,4,CHNR) GKS12140 CALL GSFAIS(CHNR-1) GKS12150 GKS12160 C***********************************************************************GKS12170 C***** ***GKS12180 C***** User chose lpfk 4 - RETURN. So exit back to the main ***GKS12190 C***** create segment choice menu. ***GKS12200 C***** ***GKS12210 C***********************************************************************GKS12220 GKS12230 ELSE GKS12240 GOTO 340 GKS12250 ENDIF GKS12260 ENDIF GKS12270 ENDIF GKS12280 GOTO 300 GKS12290 340 RETURN GKS12300 END GKS12310 GKS12320 GKS12330 GKS12340 C***********************************************************************GKS12350 C***********************************************************************GKS12360 C***** ***GKS12370 C***** Subroutine Name: CREPLN ***GKS12380 C***** ***GKS12390 C***** Subroutine Function: This subroutine allows the user to ***GKS12400 C***** create a polyline in a new segment. ***GKS12410 C***** The user can choose to change the ***GKS12420 C***** polyline color, linewidth and line- ***GKS12430 C***** type. The user can then use the ***GKS12440 C***** stroke device to draw the line. ***GKS12450 C***** ***GKS12460 C***** Calls Subroutines: RCHOI, CHCOL ***GKS12470 C***** ***GKS12480 C***********************************************************************GKS12490 C***********************************************************************GKS12500 GKS12510 SUBROUTINE CREPLN GKS12520 INCLUDE 'gkspar.inc' GKS12540 INTEGER*4 WKID,WTYPE,CHNR,ERRIND,STAT,TNR,I,J,IA(4),COLI GKS12550 INTEGER*4 NELLIN,LCHLIN(5),LDRLIN GKS12560 INTEGER*4 NELDUM,LCHDUM(1),LDRDUM GKS12570 INTEGER*4 NELCLT,LCHCLT(4),LDRCLT GKS12580 GKS12590 REAL*4 XMIN,XMAX,YMIN,YMAX,SCFACT GKS12600 REAL*4 IPX(1),IPY(1),LCX(337),LCY(337),SKIVAL(4) GKS12610 GKS12620 CHARACTER*27 MENCLT GKS12630 CHARACTER*80 DTRCLT(4) GKS12640 CHARACTER*36 MENLIN GKS12650 CHARACTER*80 DTRLIN(4) GKS12660 CHARACTER*1 MENDUM GKS12670 CHARACTER*80 DTRDUM(4) GKS12680 GKS12690 LOGICAL SGNAME(50) GKS12700 GKS12710 COMMON /WINF/ WKID,WTYPE GKS12720 COMMON /SEGM/ SGNAME GKS12730 COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX GKS12740 GKS12750 DATA MENLIN /'POLYLINECOLORLINEWIDTHLINETYPERETURN'/ GKS12760 DATA LCHLIN /8,5,9,8,6/ GKS12770 DATA NELLIN /5/ GKS12780 GKS12790 DATA MENDUM /' '/ GKS12800 DATA LCHDUM /1/ GKS12810 DATA NELDUM /4/ GKS12820 GKS12830 DATA MENCLT /'SOLIDDASHEDDOTTEDDASHDOTTED'/ GKS12840 DATA LCHCLT /5,6,6,10/ GKS12850 DATA NELCLT /4/ GKS12860 GKS12870 DATA IA /0,0,0,0/ GKS12880 DATA SKIVAL /0.005,0.005,0.005,1.000/ GKS12890 GKS12900 C***********************************************************************GKS12910 C***** ***GKS12920 C***** Use Pack Data Record to set up the prompts for the choice ***GKS12930 C***** device. The user can then choose to: draw a polyline, set ***GKS12940 C***** the polyline color, set the linewidth, set the linetype, ***GKS12950 C***** or return to the main create panel. ***GKS12960 C***** ***GKS12970 C***********************************************************************GKS12980 GKS12990 CALL GPREC(0,0,0,0.0,NELLIN,LCHLIN,MENLIN,NELLIN, GKS13000 * ERRIND,LDRLIN,DTRLIN) GKS13010 400 CALL GMSGS(WKID,1,' ') GKS13020 CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LDRLIN,DTRLIN) GKS13030 CALL GMSGS(WKID,31,'DRAW POLYLINE OR SET ATTRIBUTES') GKS13040 CALL RCHOI(WKID,5,CHNR) GKS13050 GKS13060 C***********************************************************************GKS13070 C***** ***GKS13080 C***** Find the first unused segment number (segment 1-6 are re- ***GKS13090 C***** served for use by GKSDEMO). Allow the user to draw the ***GKS13100 C***** polyline using the stroke device (user holds button one ***GKS13110 C***** down on the locator while drawing and releases the button ***GKS13120 C***** when polyline is complete). ***GKS13130 C***** ***GKS13140 C***********************************************************************GKS13150 GKS13160 IF (CHNR.EQ.1) THEN GKS13170 DO 410 I=7,50 GKS13180 IF (.NOT.(SGNAME(I))) GOTO 420 GKS13190 410 CONTINUE GKS13200 CALL GMSGS(WKID,32,'NO MORE THAN 50 SEGMENTS ALLOWED') GKS13210 GOTO 440 GKS13220 C demo modification TRG J = 10 not J = 0 420 J = 10 GKS13230 IPX(1) = 0.5 GKS13240 IPY(1) = 0.5 GKS13250 IA(1) = 0 IA(2) = 1 CALL GPREC(2,IA,3,SKIVAL,0,LCHDUM,MENDUM,NELDUM, GKS11550 * ERRIND,LDRDUM,DTRDUM) GKS11560 CALL GINSK(WKID,1,1,1,IPX,IPY,1,XMIN,XMAX,YMIN,YMAX, GKS13280 * 337,LDRDUM,DTRDUM) GKS13290 CALL GMSGS(WKID,20,'ENTER POINT OR BREAK') GKS13300 430 CALL GRQSK(WKID,1,337,STAT,TNR,J,LCX,LCY) GKS13310 CALL GMSGS(WKID,1,' ') GKS13320 GKS13330 C***********************************************************************GKS13340 C***** ***GKS13350 C***** Once valid stroke data is received, create a segment to ***GKS13360 C***** hold the polyline and then place the polyline in the ***GKS13370 C***** segment. If valid stroke data wasn't received, try ob- ***GKS13380 C***** taining valid input again. ***GKS13390 C***** ***GKS13400 C***********************************************************************GKS13410 GKS13420 IF (STAT.EQ.1) THEN GKS13430 CALL GCRSG(I) GKS13440 CALL GSDTEC(I,1) GKS13450 SGNAME(I) = .TRUE. GKS13460 CALL GPL(J,LCX,LCY) GKS13470 CALL GCLSG GKS13480 ELSE GKS13490 GOTO 430 GKS13500 ENDIF GKS13510 ELSE GKS13520 GKS13530 C***********************************************************************GKS13540 C***** ***GKS13550 C***** Call subroutine CHCOL to display a panel and allow the ***GKS13560 C***** user to choose a color from the current color table (color ***GKS13570 C***** index passed back in variable COLI). Set the polyline ***GKS13580 C***** color using the color index returned. ***GKS13590 C***** ***GKS13600 C***********************************************************************GKS13610 GKS13620 IF (CHNR.EQ.2) THEN GKS13630 CALL CHCOL(COLI) GKS13640 CALL GSPLCI(COLI) GKS13650 ELSE GKS13660 GKS13670 C***********************************************************************GKS13680 C***** ***GKS13690 C***** Use the valuator device to select the linewidth scale ***GKS13700 C***** factor (user turns valuator to desired position and then ***GKS13710 C***** hits the enter key). ***GKS13720 C***** ***GKS13730 C***********************************************************************GKS13740 GKS13750 IF (CHNR.EQ.3) THEN GKS13760 CALL GMSGS(WKID,31,'EVALUATE LINEWIDTH SCALE FACTOR') GKS13770 CALL GRQVL(WKID,1,STAT,SCFACT) GKS13780 CALL GMSGS(WKID,1,' ') GKS13790 CALL GSLWSC(SCFACT) GKS13800 ELSE GKS13810 GKS13820 C***********************************************************************GKS13830 C***** ***GKS13840 C***** Use the choice device to select the linetype. Valid ***GKS13850 C***** choices are: solid, dashed, dotted, and dash-dotted. ***GKS13860 C***** ***GKS13870 C***********************************************************************GKS13880 GKS13890 IF (CHNR.EQ.4) THEN GKS13900 CALL GPREC(0,0,0,0.0,NELCLT,LCHCLT,MENCLT,NELCLT, GKS13910 * ERRIND,LDRCLT,DTRCLT) GKS13920 CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LDRCLT, GKS13930 * DTRCLT) GKS13940 CALL GMSGS(WKID,15,'SELECT LINETYPE') GKS13950 CALL RCHOI(WKID,4,CHNR) GKS13960 CALL GSLN(CHNR) GKS13970 GKS13980 C***********************************************************************GKS13990 C***** ***GKS14000 C***** User chose lpfk 5 - RETURN. So exit back to the main ***GKS14010 C***** create segment choice menu. ***GKS14020 C***** ***GKS14030 C***********************************************************************GKS14040 GKS14050 ELSE GKS14060 GOTO 440 GKS14070 ENDIF GKS14080 ENDIF GKS14090 ENDIF GKS14100 ENDIF GKS14110 GOTO 400 GKS14120 440 RETURN GKS14130 END GKS14140 GKS14150 GKS14160 GKS14170 C***********************************************************************GKS14180 C***********************************************************************GKS14190 C***** ***GKS14200 C***** Subroutine Name: CREPMK ***GKS14210 C***** ***GKS14220 C***** Subroutine Function: This subroutine allows the user to ***GKS14230 C***** create a polymarker in a new seg- ***GKS14240 C***** ment. The user can choose to change ***GKS14250 C***** the polymarker color, markersize ***GKS14260 C***** and markertype. The user can then ***GKS14270 C***** use the locator device to set the ***GKS14280 C***** x,y coordinates of the polymarker ***GKS14290 C***** and the polymarker segment is then ***GKS14300 C***** created. ***GKS14310 C***** ***GKS14320 C***** Calls Subroutines: RCHOI,CHCOL ***GKS14330 C***** ***GKS14340 C***********************************************************************GKS14350 C***********************************************************************GKS14360 GKS14370 SUBROUTINE CREPMK GKS14380 INCLUDE 'gkspar.inc' GKS14400 INTEGER*4 WKID,WTYPE,CHNR,ERRIND,STAT,TNR,I,IA(1),COLI GKS14410 INTEGER*4 NELDUM,LCHDUM(1),LDRDUM GKS14420 INTEGER*4 NELMRK,LCHMRK(5),LDRMRK GKS14430 INTEGER*4 NELMKT,LCHMKT(5),LDRMKT GKS14440 GKS14450 REAL*4 XMIN,XMAX,YMIN,YMAX,SCFACT GKS14460 REAL*4 LCX(337),LCY(337) GKS14470 GKS14480 CHARACTER*1 MENDUM GKS14490 CHARACTER*80 DTRDUM(4) GKS14500 CHARACTER*41 MENMRK GKS14510 CHARACTER*80 DTRMRK(5) GKS14520 CHARACTER*36 MENMKT GKS14530 CHARACTER*80 DTRMKT(5) GKS14540 GKS14550 LOGICAL SGNAME(50) GKS14560 GKS14570 COMMON /WINF/ WKID,WTYPE GKS14580 COMMON /SEGM/ SGNAME GKS14590 COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX GKS14600 GKS14610 DATA MENDUM /' '/ GKS14620 DATA LCHDUM /1/ GKS14630 DATA NELDUM /4/ GKS14640 GKS14650 DATA MENMRK /'POLYMARKERCOLORMARKERSIZEMARKERTYPERETURN'/ GKS14660 DATA LCHMRK /10,5,10,10,6/ GKS14670 DATA NELMRK /5/ GKS14680 GKS14690 DATA MENMKT /'DOTPLUS SIGNASTERISKCIRCLEDIAG-CROSS'/ GKS14700 DATA LCHMKT /3,9,8,6,10/ GKS14710 DATA NELMKT /5/ GKS14720 GKS14730 DATA IA /0/ GKS14740 GKS14750 C***********************************************************************GKS14760 C***** ***GKS14770 C***** Use Pack Data Record to set up the prompts for the choice ***GKS14780 C***** device. The user can then choose to: draw fill area, set ***GKS14790 C***** the fill area color, set the fill area interior style, ***GKS14800 C***** or return to the main create panel. ***GKS14810 C***** ***GKS14820 C***********************************************************************GKS14830 GKS14840 CALL GPREC(0,0,0,0.0,NELMRK,LCHMRK,MENMRK,NELMRK, GKS14850 * ERRIND,LDRMRK,DTRMRK) GKS14860 500 CALL GMSGS(WKID,1,' ') GKS14870 CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LDRMRK,DTRMRK) GKS14880 CALL GMSGS(WKID,33,'DRAW POLYMARKER OR SET ATTRIBUTES') GKS14890 CALL RCHOI(WKID,5,CHNR) GKS14900 GKS14910 C***********************************************************************GKS14920 C***** ***GKS14930 C***** Find the first unused segment number (segment 1-6 are re- ***GKS14940 C***** served for use by GKSDEMO). Allow the user to draw the ***GKS14950 C***** polymarker by placing the locator echo at a certain point ***GKS14960 C***** and hitting a button on the locator. When user is done ***GKS14970 C***** inserting polymarker segments, it hits ALT-CANCEL (break ***GKS14980 C***** in RT lingo). This will send it back to the main ***GKS14990 C***** polymarker choice menu. ***GKS15000 C***** ***GKS15010 C***********************************************************************GKS15020 GKS15030 IF (CHNR.EQ.1) THEN GKS15040 LCX(1) = 0.1 GKS15050 LCY(1) = 0.1 GKS15060 510 DO 520 I=7,50 GKS15070 IF (.NOT.(SGNAME(I))) GOTO 530 GKS15080 520 CONTINUE GKS15090 CALL GMSGS(WKID,32,'NO MORE THAN 50 SEGMENTS ALLOWED') GKS15100 GOTO 540 GKS15110 530 CALL GPREC(0,IA,0,0.0,0,LCHDUM,MENDUM,NELDUM,ERRIND, GKS15120 * LDRDUM,DTRDUM) GKS15130 CALL GINLC(WKID,1,1,LCX(1),LCY(1),2,XMIN,XMAX,YMIN,YMAX, GKS15140 * LDRDUM,DTRDUM) GKS15150 CALL GMSGS(WKID,20,'ENTER POINT OR BREAK') GKS15160 CALL GRQLC(WKID,1,STAT,TNR,LCX(1),LCY(1)) GKS15170 CALL GMSGS(WKID,1,' ') GKS15180 IF (STAT.EQ.1) THEN GKS15190 CALL GCRSG(I) GKS15200 CALL GSDTEC(I,1) GKS15210 SGNAME(I) = .TRUE. GKS15220 CALL GPM(1,LCX(1),LCY(1)) GKS15230 CALL GCLSG GKS15240 GOTO 510 GKS15250 ENDIF GKS15260 ELSE GKS15270 GKS15280 C***********************************************************************GKS15290 C***** ***GKS15300 C***** Call subroutine CHCOL to display a panel and allow the ***GKS15310 C***** user to choose a color from the current color table (color ***GKS15320 C***** index passed back in variable COLI). Set the polymarker ***GKS15330 C***** color using the color index returned. ***GKS15340 C***** ***GKS15350 C***********************************************************************GKS15360 GKS15370 IF (CHNR.EQ.2) THEN GKS15380 CALL CHCOL(COLI) GKS15390 CALL GSPMCI(COLI) GKS15400 ELSE GKS15410 IF (CHNR.EQ.3) THEN GKS15420 CALL GMSGS(WKID,32,'EVALUATE MARKERSIZE SCALE FACTOR') GKS15430 CALL GRQVL(WKID,1,STAT,SCFACT) GKS15440 CALL GMSGS(WKID,1,' ') GKS15450 CALL GSMKSC(SCFACT) GKS15460 ELSE GKS15470 IF (CHNR.EQ.4) THEN GKS15480 CALL GPREC(0,0,0,0.0,NELMKT,LCHMKT,MENMKT,NELMKT, GKS15490 * ERRIND,LDRMKT,DTRMKT) GKS15500 CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LDRMKT, GKS15510 * DTRMKT) GKS15520 CALL GMSGS(WKID,17,'SELECT MARKERTYPE') GKS15530 CALL RCHOI(WKID,5,CHNR) GKS15540 CALL GSMK(CHNR) GKS15550 GKS15560 C***********************************************************************GKS15570 C***** ***GKS15580 C***** User chose lpfk 5 - RETURN. So exit back to the main ***GKS15590 C***** create segment choice menu. ***GKS15600 C***** ***GKS15610 C***********************************************************************GKS15620 GKS15630 ELSE GKS15640 GOTO 540 GKS15650 ENDIF GKS15660 ENDIF GKS15670 ENDIF GKS15680 ENDIF GKS15690 GOTO 500 GKS15700 540 RETURN GKS15710 END GKS15720 GKS15730 GKS15740 GKS15750 C***********************************************************************GKS15760 C***********************************************************************GKS15770 C***** ***GKS15780 C***** Subroutine Name: CRETXT ***GKS15790 C***** ***GKS15800 C***** Subroutine Function: This subroutine allows the user to ***GKS15810 C***** create text strings in new segments. ***GKS15820 C***** The user can choose to change the ***GKS15830 C***** text color, size and font. The user ***GKS15840 C***** can then input the text from the ***GKS15850 C***** keyboard and select the text starting ***GKS15860 C***** point via the locator device. ***GKS15870 C***** ***GKS15880 C***** Calls Subroutines: RCHOI, CHCOL ***GKS15890 C***** ***GKS15900 C***********************************************************************GKS15910 C***********************************************************************GKS15920 GKS15930 SUBROUTINE CRETXT GKS15940 INCLUDE 'gkspar.inc' GKS15960 INTEGER*4 WKID,WTYPE,CHNR,ERRIND,STAT,TNR,I,IA(1),COLI,LSTR GKS15970 INTEGER*4 NELTXT,LCHTXT(5),LDRTXT GKS15980 INTEGER*4 NELTXF,LCHTXF(11),LDRTXF GKS15990 INTEGER*4 NELDUM,LCHDUM(1),LDRDUM GKS16000 GKS16010 REAL*4 XMIN,XMAX,YMIN,YMAX,SCFACT GKS16020 REAL*4 LCX(337),LCY(337) GKS16030 GKS16040 CHARACTER*31 MENTXT GKS16050 CHARACTER*80 DTRTXT(5) GKS16060 CHARACTER*44 MENTXF GKS16070 CHARACTER*80 DTRTXF(11) GKS16080 CHARACTER*1 MENDUM GKS16090 CHARACTER*80 DTRDUM(4) GKS16100 CHARACTER*80 STRBUF GKS16110 GKS16120 LOGICAL SGNAME(50) GKS16130 GKS16140 COMMON /WINF/ WKID,WTYPE GKS16150 COMMON /SEGM/ SGNAME GKS16160 COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX GKS16170 GKS16180 DATA MENTXT /'TEXTCOLORTEXTSIZETEXTFONTRETURN'/ GKS16190 DATA LCHTXT /4,5,8,8,6/ GKS16200 DATA NELTXT /5/ GKS16210 GKS16220 DATA MENTXF /'F 1F 2F 3F 4F 5F 6F 7F 8F 9F 10F 11'/ GKS16230 DATA LCHTXF /4,4,4,4,4,4,4,4,4,4,4/ GKS16240 DATA NELTXF /11/ GKS16250 GKS16260 DATA MENDUM /' '/ GKS16270 DATA LCHDUM /1/ GKS16280 DATA NELDUM /4/ GKS16290 GKS16300 DATA IA /0/ GKS16310 GKS16320 C***********************************************************************GKS16330 C***** ***GKS16340 C***** Use Pack Data Record to set up the prompts for the choice ***GKS16350 C***** device. The user can then choose to: input text and pick ***GKS16360 C***** its starting point, set the text color, set the text size, ***GKS16370 C***** select the text font, or return to the main create segment ***GKS16380 C***** panel. ***GKS16390 C***** ***GKS16400 C***********************************************************************GKS16410 GKS16420 CALL GPREC(0,0,0,0.0,NELTXT,LCHTXT,MENTXT,NELTXT, GKS16430 * ERRIND,LDRTXT,DTRTXT) GKS16440 600 CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LDRTXT,DTRTXT) GKS16450 CALL GMSGS(WKID,27,'DRAW TEXT OR SET ATTRIBUTES') GKS16460 CALL RCHOI(WKID,5,CHNR) GKS16470 GKS16480 C***********************************************************************GKS16490 C***** ***GKS16500 C***** Find the first free segment number (segments 1-6 are ***GKS16510 C***** reserved for use by GKSDEMO). Request input from the ***GKS16520 C***** string device (keyboard) for the text to be displayed. ***GKS16530 C***** Find the starting point for the text by requesting input ***GKS16540 C***** from the locator device. Draw the new segment on the ***GKS16550 C***** screen and return to the text choice panel. ***GKS16560 C***** ***GKS16570 C***********************************************************************GKS16580 GKS16590 IF (CHNR.EQ.1) THEN GKS16600 DO 610 I=7,50 GKS16610 IF (.NOT.(SGNAME(I))) GOTO 620 GKS16620 610 CONTINUE GKS16630 CALL GMSGS(WKID,32,'NO MORE THAN 50 SEGMENTS ALLOWED') GKS16640 GOTO 640 GKS16650 620 CALL GRQST(WKID,1,STAT,LSTR,STRBUF) GKS16660 CALL GMSGS(WKID,1,' ') GKS16670 CALL GPREC(0,IA,0,0.0,0,LCHDUM,MENDUM,NELDUM, GKS16680 * ERRIND,LDRDUM,DTRDUM) GKS16690 CALL GINLC(WKID,1,1,0.1,0.1,2,XMIN,XMAX,YMIN,YMAX, GKS16700 * LDRDUM,DTRDUM) GKS16710 CALL GMSGS(WKID,25,'ENTER TEXT STARTING POINT') GKS16720 630 CALL GRQLC(WKID,1,STAT,TNR,LCX(1),LCY(1)) GKS16730 CALL GMSGS(WKID,1,' ') GKS16740 IF (STAT.EQ.1) THEN GKS16750 CALL GCRSG(I) GKS16760 CALL GSDTEC(I,1) GKS16770 SGNAME(I) = .TRUE. GKS16780 CALL GTXS(LCX(1),LCY(1),LSTR,STRBUF) GKS16790 CALL GCLSG GKS16800 GOTO 600 GKS16810 ELSE GKS16820 GOTO 630 GKS16830 ENDIF GKS16840 ELSE GKS16850 GKS16860 C***********************************************************************GKS16870 C***** ***GKS16880 C***** Call subroutine CHCOL to display a panel and allow the ***GKS16890 C***** user to choose a color from the current color table (color ***GKS16900 C***** index passed back in variable COLI). Set the text color ***GKS16910 C***** using the color index returned. ***GKS16920 C***** ***GKS16930 C***********************************************************************GKS16940 GKS16950 IF (CHNR.EQ.2) THEN GKS16960 CALL CHCOL(COLI) GKS16970 CALL GSTXCI(COLI) GKS16980 ELSE GKS16990 GKS17000 C***********************************************************************GKS17010 C***** ***GKS17020 C***** Obtain the character height expansion factor from the ***GKS17030 C***** valuator (user turns valuator to desired character height ***GKS17040 C***** and hits ENTER). Return to text choice panel. ***GKS17050 C***** ***GKS17060 C***********************************************************************GKS17070 GKS17080 IF (CHNR.EQ.3) THEN GKS17090 CALL GMSGS(WKID,25,'EVALUATE CHARACTER HEIGHT') GKS17100 CALL GRQVL(WKID,1,STAT,SCFACT) GKS17110 CALL GMSGS(WKID,1,' ') GKS17120 CALL GSCHH(0.1 * SCFACT) GKS17130 ELSE GKS17140 GKS17150 C***********************************************************************GKS17160 C***** ***GKS17170 C***** Use pack data record to set up the prompts for the choice ***GKS17180 C***** device. Call subroutine RCHOI to wait for a valid selec- ***GKS17190 C***** tion and then set the text font using the value returned. ***GKS17200 C***** Return to the text choice panel. ***GKS17210 C***** ***GKS17220 C***********************************************************************GKS17230 GKS17240 IF (CHNR.EQ.4) THEN GKS17250 CALL GPREC(0,0,0,0.0,NELTXF,LCHTXF,MENTXF,NELTXF, GKS17260 * ERRIND,LDRTXF,DTRTXF) GKS17270 CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LDRTXF, GKS17280 * DTRTXF) GKS17290 CALL GMSGS(WKID,16,'SELECT TEXT FONT') GKS17300 CALL RCHOI(WKID,11,CHNR) GKS17310 CALL GSTXFP(CHNR,GSTRKP) GKS17320 GKS17330 C***********************************************************************GKS17340 C***** ***GKS17350 C***** User chose lpfk 5 - RETURN. So exit back to the main ***GKS17360 C***** create segment choice menu. ***GKS17370 C***** ***GKS17380 C***********************************************************************GKS17390 GKS17400 ELSE GKS17410 GOTO 640 GKS17420 ENDIF GKS17430 ENDIF GKS17440 ENDIF GKS17450 ENDIF GKS17460 GOTO 600 GKS17470 640 RETURN GKS17480 END GKS17490 GKS17500 GKS17510 GKS17520 C***********************************************************************GKS17530 C***********************************************************************GKS17540 C***** ***GKS17550 C***** Subroutine Name: CRSEGM ***GKS17560 C***** ***GKS17570 C***** Subroutine Function: This subroutine will create a ***GKS17580 C***** detectable segment (segment number ***GKS17590 C***** 6) and draw a red box with the word ***GKS17600 C***** 'RETURN' in it and then return to ***GKS17610 C***** the caller. The caller is responsible ***GKS17620 C***** for deleting segment 6 when it is ***GKS17630 C***** finished using it. ***GKS17640 C***** ***GKS17650 C***********************************************************************GKS17660 C***********************************************************************GKS17670 GKS17680 SUBROUTINE CRSEGM GKS17690 INCLUDE 'gkspar.inc' GKS17710 REAL*4 PX(4),PY(4) GKS17720 DATA PX /0.01,0.15,0.15,0.01/ GKS17730 DATA PY /0.94,0.94,0.99,0.99/ GKS17740 GKS17750 CALL GCRSG(6) GKS17760 CALL GSDTEC(6,1) GKS17770 CALL GSFACI(GRED) GKS17780 CALL GSFAIS(GHOLLO) GKS17790 CALL GFA(4,PX,PY) GKS17800 CALL GSCHH(0.020) GKS17810 CALL GSTXCI(GRED) GKS17820 CALL GSTXAL(GACENT,GAHALF) GKS17830 CALL GTXS(0.07,0.965,6,'RETURN') GKS17840 CALL GSTXAL(GAHNOR,GAVNOR) GKS17850 CALL GSTXCI(GYELOW) GKS17860 CALL GSPLCI(GYELOW) GKS17870 CALL GCLSG GKS17880 RETURN GKS17890 END GKS17900 GKS17910 GKS17920 GKS17930 C***********************************************************************GKS17940 C***********************************************************************GKS17950 C***** ***GKS17960 C***** Subroutine Name: DEMOCA ***GKS17970 C***** ***GKS17980 C***** Subroutine Function: Draw a castle tower and a tree to ***GKS17990 C***** show how the cell array primitive ***GKS18000 C***** and its attributes work. ***GKS18010 C***** ***GKS18020 C***** Calls Subroutines: SETUPF,FINSHF,RMENU ***GKS18030 C***** ***GKS18040 C***********************************************************************GKS18050 C***********************************************************************GKS18060 GKS18070 SUBROUTINE DEMOCA GKS18080 INCLUDE 'gkspar.inc' GKS18100 INTEGER*4 WKID,WTYPE,I GKS18110 INTEGER*4 PIXEL1(9,9),PIXEL2(20,20) GKS18120 REAL*4 X1,X2,Y1,Y2 GKS18130 LOGICAL CONT GKS18140 COMMON /WINF/ WKID,WTYPE GKS18150 COMMON /TEXT/ TXTX,TXTY GKS18160 DATA PIXEL1 / 8, 8,13,13,13,13,13, 8, 8, GKS18170 * 8, 8, 8,13,13,13, 8, 8, 8, GKS18180 * 8, 8, 8,13,13,13, 8, 8, 8, GKS18190 * 8,12, 8,13,13,12, 8,12, 8, GKS18200 * 12,12,12,12,12,12,12,12,12, GKS18210 * 12,12,12,12,12,12,12,12,12, GKS18220 * 12,12,12,12,12,12,12,12,12, GKS18230 * 8,12,12,12,12,12,12,12, 8, GKS18240 * 8, 8,12,12,12,12,12, 8, 8/ GKS18250 DATA PIXEL2 / 20*28, * 31,31,31,31,31,31,88,84,31,31,31,31,31,31,31,31,31,31,31,31, * 31,31,31,31,31,31,88,84,31,31,31,31,31,31,31,31,31,31,31,31, * 31,31,31,31,31,31,88,84,31,31,31,31,31,31,31,31,31,31,31,31, * 31,31,31,31,31,31,88,84,31,31,31,31,31,31,31,31,31,31,31,31, * 31,31,31,31,31,31,31,88,84,31,31,31,31,31,31,31,31,31,31,31, * 31,31,31,31,31,88,88,88,84,31,31,31,171,31,31,31,31,31,31,31, * 31,31,31,31,88,88,84,88,84,31,31,227,199,171,31,31,31,31,31,31, * 31,31,31,88,88,84,88,31,88,84,31,227,199,171,31,31,31,31,31,31, * 31,31,31,88,84,88,88,31,88,84,31,227,199,171,31,31,31,31,31,31, * 31,31,31,84,88,88,31,31,31,88,84,31,227,31,31,31,31,31,31,31, * 5*31,31,31,199,171,171,88,217,181,181,31,199,171,171,31,31, * 5*31,31,227,199,199,199,171,221,217,181,227,199,199,199,171,31, * 5*31,31,31,227,227,199,31,221,221,217,31,227,227,199,31,31, * 31,31,31,31,31,31,31,31,31,31,31,31,171,31,31,31,31,31,31,31, * 31,31,31,31,31,31,31,31,31,31,31,227,199,171,31,31,31,31,31,31, * 31,31,31,31,31,31,31,31,31,31,31,227,199,171,31,31,31,31,31,31, * 31,31,31,31,31,31,31,31,31,31,31,227,199,171,31,31,31,31,31,31, * 31,31,31,31,31,31,31,31,31,31,31,31,227,31,31,31,31,31,31,31, * 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31/ GKS18350 C***********************************************************************GKS18360 C***** ***GKS18370 C***** Call subroutines SETUPF and FINSHF to draw the border and ***GKS18380 C***** border and title of the demo frame. Then draw the first ***GKS18390 C***** panel which is a picture drawn using cell arrays. ***GKS18400 C***** ***GKS18410 C***********************************************************************GKS18420 GKS18430 CALL SETUPF(.TRUE.,.FALSE.) GKS18440 CALL GTXS(TXTX,TXTY,10,'CELL ARRAY') GKS18450 CALL FINSHF(.TRUE.) GKS18460 GKS18470 C***********************************************************************GKS18480 C***** ***GKS18490 C***** Use the values store in PIXEL2 array to display a castle ***GKS18500 C***** tower using the cell array primitive call. ***GKS18510 C***** ***GKS18520 C***********************************************************************GKS18530 GKS18540 CALL GCA(0.300,0.100,0.700,0.700,9,9,1,1,9,9,PIXEL1) GKS18550 GKS18560 C***********************************************************************GKS18570 C***** ***GKS18580 C***** Call RMENU to use pack data record to indicate two prompts ***GKS18590 C***** for the lpfks (next and return). RMENU will call RCHOI ***GKS18600 C***** to wait for a valid choice selection and will pass that ***GKS18610 C***** selection back in CHNR. ***GKS18620 C***** ***GKS18630 C***********************************************************************GKS18640 GKS18650 CONT = .TRUE. CALL SLEEP(4) GKS18670 C***********************************************************************GKS18680 C***** ***GKS18690 C***** If user chose to continue viewing the cell array panels, ***GKS18700 C***** continue on. Otherwise, fall out the bottom and return ***GKS18710 C***** to the output primitive screen. ***GKS18720 C***** ***GKS18730 C***********************************************************************GKS18740 GKS18750 IF (CONT) THEN GKS18760 GKS18770 C***********************************************************************GKS18780 C***** ***GKS18790 C***** Call SETUPF and FINSHF to draw the border and title of ***GKS18800 C***** the demo frame. ***GKS18810 C***** ***GKS18820 C***********************************************************************GKS18830 GKS18840 CALL SETUPF(.FALSE.,.FALSE.) GKS18850 CALL GTXS(TXTX,TXTY,16,'EXPAND RECTANGLE') GKS18860 CALL FINSHF(.FALSE.) GKS18870 GKS18880 C***********************************************************************GKS18890 C***** ***GKS18900 C***** Show how the cell array can be used easily to vary the ***GKS18910 C***** picture without changing the data. ***GKS18920 C***** ***GKS18930 C***********************************************************************GKS18940 GKS18950 Y1 = 0.150 GKS18960 DO 700 I=1,4 GKS18970 X1 = 0.500 - I * 0.050 GKS18980 X2 = 0.500 + I * 0.050 GKS18990 Y2 = 0.150 + I * 0.100 GKS19000 CALL GCA(X1,Y1,X2,Y2,20,20,1,1,20,20,PIXEL2) GKS19010 700 CONTINUE GKS19020 GKS19030 C***********************************************************************GKS19040 C***** ***GKS19050 C***** Call RMENU to use pack data record to indicate two prompts ***GKS19060 C***** for the lpfks (next and return). RMENU will call RCHOI ***GKS19070 C***** to wait for a valid choice selection and will pass that ***GKS19080 C***** selection back in CHNR. ***GKS19090 C***** ***GKS19100 C***********************************************************************GKS19110 GKS19120 CONT = .TRUE. CALL SLEEP(4) GKS19140 C***********************************************************************GKS19150 C***** ***GKS19160 C***** If user chose to continue viewing the cell array panels, ***GKS19170 C***** continue on. Otherwise, fall out the bottom and return ***GKS19180 C***** to the output primitive screen. ***GKS19190 C***** ***GKS19200 C***********************************************************************GKS19210 GKS19220 IF (CONT) THEN GKS19230 GKS19240 C***********************************************************************GKS19250 C***** ***GKS19260 C***** Call SETUPF and FINSHF to draw the border and title of ***GKS19270 C***** the demo frame. ***GKS19280 C***** ***GKS19290 C***********************************************************************GKS19300 GKS19310 CALL SETUPF(.FALSE.,.FALSE.) GKS19320 CALL GTXS(TXTX,TXTY,22,'DIFFERENT ASPECT RATIO') GKS19330 CALL FINSHF(.FALSE.) GKS19340 GKS19350 C***********************************************************************GKS19360 C***** ***GKS19370 C***** Draw three copies of the tree seen in the previous panel, ***GKS19380 C***** showing various aspect ratios. ***GKS19390 C***** ***GKS19400 C***********************************************************************GKS19410 GKS19420 CALL GCA(0.100,0.615,0.650,0.815,20,20,1,1,20,20,PIXEL2) GKS19430 CALL GCA(0.100,0.100,0.650,0.565,20,20,1,1,20,20,PIXEL2) GKS19440 CALL GCA(0.700,0.100,0.900,0.815,20,20,1,1,20,20,PIXEL2) GKS19450 GKS19460 C***********************************************************************GKS19470 C***** ***GKS19480 C***** Call RMENU to use pack data record to indicate to prompt ***GKS19490 C***** for the lpfk (return). RMENU will call RCHOI to wait for ***GKS19500 C***** a valid choice selection and will pass that selection back ***GKS19510 C***** in CHNR. But in this case, the user could only select ***GKS19520 C***** return as a valid choice, so we will fall down to the ***GKS19530 C***** return statement and go back to the output primitves. ***GKS19540 C***** ***GKS19550 C***********************************************************************GKS19560 GKS19570 CONT = .TRUE. CALL SLEEP(4) ENDIF GKS19590 ENDIF GKS19600 GKS19610 RETURN GKS19620 END GKS19630 GKS19640 GKS19650 GKS19660 C***********************************************************************GKS19670 C***********************************************************************GKS19680 C***** ***GKS19690 C***** Subroutine Name: DEMOFA ***GKS19700 C***** ***GKS19710 C***** Subroutine Function: This subroutine demonstrates the ***GKS19720 C***** fill area primitive and its ***GKS19730 C***** attributes. ***GKS19740 C***** ***GKS19750 C***** Calls Subroutines: SETUPF,FINSHF,RMENU ***GKS19760 C***** ***GKS19770 C***********************************************************************GKS19780 C***********************************************************************GKS19790 GKS19800 SUBROUTINE DEMOFA GKS19810 INCLUDE 'gkspar.inc' GKS19830 INTEGER*4 WKID,WTYPE,I,J,K,START,II GKS19840 REAL*4 STARTX,STARTY,ALPHA,PI,TM(2,3) GKS19850 REAL*4 PX(20),PY(20),RX(20),RY(20),BLOCK(8) GKS19860 REAL*4 EXOR3(6),RPLC3(6),EXOR4(8),RPLC4(8) GKS19870 REAL*4 EXOR5(10),RPLC5(10),XMIN,XMAX,YMIN,YMAX GKS19880 LOGICAL CONT GKS19890 CHARACTER*10 TEXT(4) GKS19900 COMMON /WINF/ WKID,WTYPE GKS19910 COMMON /TEXT/ TXTX,TXTY GKS19920 COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX GKS19930 GKS19940 DATA PI /3.141593/ GKS19950 GKS19960 DATA TEXT(1) /'HOLLOW '/ GKS19970 DATA TEXT(2) /'SOLID '/ GKS19980 DATA TEXT(3) /'PATTERN '/ GKS19990 DATA TEXT(4) /'HATCH '/ GKS20000 GKS20010 DATA BLOCK /0.00,0.00,0.50,0.50,0.00,0.12,0.12,0.00/ GKS20020 DATA EXOR3 /0.10,0.40,0.40,0.15,0.15,0.75/ GKS20030 DATA RPLC3 /0.60,0.90,0.90,0.15,0.15,0.75/ GKS20040 DATA EXOR4 /0.05,0.45,0.45,0.05,0.10,0.10,0.40,0.40/ GKS20050 DATA RPLC4 /0.55,0.95,0.95,0.55,0.10,0.10,0.40,0.40/ GKS20060 DATA EXOR5 /0.15,0.35,0.45,0.25,0.05,0.25,0.25,0.45,0.55,0.45/ GKS20070 DATA RPLC5 /0.65,0.85,0.95,0.75,0.55,0.25,0.25,0.45,0.55,0.45/ GKS20080 GKS20090 C***********************************************************************GKS20100 C***** ***GKS20110 C***** Call subroutines SETUPF and FINSHF to draw the border and ***GKS20120 C***** border and title of the demo frame. Then draw the first ***GKS20130 C***** panel which is a picture drawn using cell arrays. ***GKS20140 C***** ***GKS20150 C***********************************************************************GKS20160 GKS20170 CALL SETUPF(.TRUE.,.FALSE.) GKS20180 CALL GTXS(TXTX,TXTY,9,'FILL AREA') GKS20190 CALL FINSHF(.TRUE.) GKS20200 GKS20210 C***********************************************************************GKS20220 C***** ***GKS20230 C***** Draw a hot pink, fancy nine pointed star using the fill ***GKS20240 C***** area primitive with a solid interior style. ***GKS20250 C***** ***GKS20260 C***********************************************************************GKS20270 GKS20280 CALL GSFAIS(GSOLID) GKS20290 CALL GSFACI(GLMGNT) GKS20300 ALPHA = 0.0 GKS20310 DO 800 I=1,9 GKS20320 RX(I) = 0.500 + 0.350 * SIN(ALPHA) GKS20330 RY(I) = 0.375 + 0.350 * COS(ALPHA) GKS20340 ALPHA = ALPHA + 2.0 * PI / 9.0 GKS20350 800 CONTINUE GKS20360 START = 0 GKS20370 DO 810 I=1,9 GKS20380 PX(I) = RX(START+1) GKS20390 PY(I) = RY(START+1) GKS20400 START = MOD(START+4,9) GKS20410 810 CONTINUE GKS20420 CALL GFA(9,PX,PY) GKS20430 GKS20440 C***********************************************************************GKS20450 C***** ***GKS20460 C***** Call RMENU to use pack data record to indicate two prompts ***GKS20470 C***** for the lpfks (next and return). RMENU will call RCHOI ***GKS20480 C***** to wait for a valid choice selection and will pass that ***GKS20490 C***** selection back in CHNR. ***GKS20500 C***** ***GKS20510 C***********************************************************************GKS20520 GKS20530 CONT = .TRUE. CALL SLEEP(4) GKS20550 C***********************************************************************GKS20560 C***** ***GKS20570 C***** If user chose to continue viewing the cell array panels, ***GKS20580 C***** continue on. Otherwise, fall out the bottom and return ***GKS20590 C***** to the output primitive screen. ***GKS20600 C***** ***GKS20610 C***********************************************************************GKS20620 GKS20630 IF (CONT) THEN GKS20640 GKS20650 C***********************************************************************GKS20660 C***** ***GKS20670 C***** Call SETUPF and FINSHF to draw the border and title of ***GKS20680 C***** the demo frame. ***GKS20690 C***** ***GKS20700 C***********************************************************************GKS20710 GKS20720 CALL SETUPF(.FALSE.,.FALSE.) GKS20730 CALL GTXS(TXTX,TXTY,15,'INTERIOR STYLES') GKS20740 CALL FINSHF(.FALSE.) GKS20750 GKS20760 C***********************************************************************GKS20770 C***** ***GKS20780 C***** Draw four rectangles on the right side of the frame to ***GKS20790 C***** show each of the interior styles for fill areas. Label ***GKS20800 C***** each style appropriately on the left hand side. ***GKS20810 C***** ***GKS20820 C***********************************************************************GKS20830 GKS20840 STARTX = 0.450 GKS20850 CALL GSCHH(0.050) GKS20860 CALL GSTXAL(GAHNOR,GAVNOR) GKS20870 CALL GSTXFP(GFONT1,GSTRKP) GKS20880 DO 830 I=1,4 GKS20890 STARTY = 0.950 - I * 0.220 GKS20900 DO 820 J=1,4 GKS20910 PX(J) = BLOCK(J) + STARTX GKS20920 PY(J) = BLOCK(J+4) + STARTY GKS20930 820 CONTINUE GKS20940 STARTY = STARTY + 0.050 GKS20950 CALL GTXS(0.100,STARTY,10,TEXT(I)) GKS20960 IF (I.EQ.4) THEN GKS20970 CALL GSFASI(59) GKS20980 ENDIF GKS20990 CALL GSFAIS(I-1) GKS21000 CALL GSFACI(I) GKS21010 CALL GFA(4,PX,PY) GKS21020 830 CONTINUE GKS21030 CALL GSFASI(1) GKS21040 GKS21050 C***********************************************************************GKS21060 C***** ***GKS21070 C***** Call RMENU to use pack data record to indicate two prompts ***GKS21080 C***** for the lpfks (next and return). RMENU will call RCHOI ***GKS21090 C***** to wait for a valid choice selection and will pass that ***GKS21100 C***** selection back in CHNR. ***GKS21110 C***** ***GKS21120 C***********************************************************************GKS21130 GKS21140 CONT = .TRUE. CALL SLEEP(4) GKS21160 C***********************************************************************GKS21170 C***** ***GKS21180 C***** If user chose to continue viewing the cell array panels, ***GKS21190 C***** continue on. Otherwise, fall out the bottom and return ***GKS21200 C***** to the output primitive screen. ***GKS21210 C***** ***GKS21220 C***********************************************************************GKS21230 GKS21240 IF (CONT) THEN GKS21250 GKS21260 C***********************************************************************GKS21270 C***** ***GKS21280 C***** Call SETUPF and FINSHF to draw the border and title of ***GKS21290 C***** the demo frame. ***GKS21300 C***** ***GKS21310 C***********************************************************************GKS21320 GKS21330 CALL SETUPF(.FALSE.,.FALSE.) GKS21340 CALL GTXS(TXTX,TXTY,15,'TRANSFORMATIONS') GKS21350 CALL FINSHF(.FALSE.) GKS21360 GKS21370 C***********************************************************************GKS21380 C***** ***GKS21390 C***** Show a picture of fill area transformations. Draw a ***GKS21400 C***** triangle and rotate it. Draw a hexagon and zoom it. ***GKS21410 C***** ***GKS21420 C***********************************************************************GKS21430 GKS21440 CALL GSCHH(0.050) GKS21450 CALL GSTXFP(GFONT1,GSTRKP) GKS21460 CALL GSFACI(GLGREN) GKS21470 CALL GCRSG(1) GKS21480 CALL GSFAIS(GPATTR) GKS21490 CALL GFA(3,EXOR3(1),EXOR3(4)) GKS21500 CALL GCLSG GKS21510 CALL GSFAIS(GSOLID) GKS21520 CALL GFA(3,RPLC3(1),RPLC3(4)) GKS21530 CALL GSFACI(GLGREN) GKS21540 CALL GFA(5,EXOR5(1),EXOR5(6)) GKS21550 CALL GSFAIS(GPATTR) GKS21560 CALL GCRSG(2) GKS21570 CALL GFA(5,RPLC5(1),RPLC5(6)) GKS21580 CALL GCLSG GKS21590 CALL GSVP(1,0.015,0.985,0.015,0.985) GKS21600 CALL GCRSG(5) CALL GTXS(0.050,0.825,8,'ROTATION') GKS21610 CALL GTXS(0.550,0.825,7,'ZOOMING') GKS21640 CALL GCLSG CALL SLEEP(2) CALL GEVTM(0.250,0.450,0.000,0.000,PI/4.0,1.0,1.0,0,TM) GKS21620 CALL GSSGT(1,TM) GKS21630 CALL GEVTM(0.750,0.400,0.000,0.000,0.0,0.5,0.5,0,TM) GKS21650 CALL GSSGT(2,TM) GKS21660 CALL GSVP(1,0.000,1.000,0.000,1.000) GKS21670 CALL GRSGWK(WKID) GKS21680 C***********************************************************************GKS21690 C***** ***GKS21700 C***** Call RMENU to use pack data record to indicate to prompts ***GKS21710 C***** for the lpfks (next and return). RMENU will call RCHOI ***GKS21720 C***** to wait for a valid choice selection and will pass that ***GKS21730 C***** selection back in CHNR. ***GKS21740 C***** ***GKS21750 C***********************************************************************GKS21760 GKS21770 CONT = .TRUE. CALL SLEEP(4) CALL GDSG(1259) GKS21790 C***********************************************************************GKS21800 C***** ***GKS21810 C***** If user chose to continue viewing the text panels, ***GKS21820 C***** continue on. Otherwise, fall out the bottom and return ***GKS21830 C***** to the output primitive screen. ***GKS21840 C***** ***GKS21850 C***********************************************************************GKS21860 GKS21870 IF (CONT) THEN GKS21880 GKS21890 C***********************************************************************GKS21900 C***** ***GKS21910 C***** Call SETUPF and FINSHF to draw the border and title of ***GKS21920 C***** the demo frame. ***GKS21930 C***** ***GKS21940 C***********************************************************************GKS21950 GKS21960 CALL SETUPF(.FALSE.,.FALSE.) GKS21970 CALL GTXS(TXTX,TXTY,12,'HATCH STYLES') GKS21980 CALL FINSHF(.FALSE.) GKS21990 GKS22000 C***********************************************************************GKS22010 C***** ***GKS22020 C***** Draw a screen full of all the different hatch styles that ***GKS22030 C***** are supported by GKS-CO. ***GKS22040 C***** ***GKS22050 C***********************************************************************GKS22060 GKS22070 CALL GSFAIS(GHATCH) GKS22080 CALL GSFACI (2) GKS22090 II = 0 GKS22100 DO 850 K=1,5 GKS22110 DO 840 J=1,4 GKS22120 II = II + 1 GKS22140 CALL GSFASI(-(II)) GKS22130 PX(1) = 0.09 + (J-1) * 0.21 GKS22180 PY(1) = 0.05 + (K-1) * 0.17 GKS22190 PX(2) = PX(1) + 0.19 GKS22200 PY(2) = PY(1) GKS22210 PX(3) = PX(2) GKS22220 PY(3) = PY(1) + 0.15 GKS22230 PX(4) = PX(1) GKS22240 PY(4) = PY(3) GKS22250 CALL GFA(4,PX,PY) GKS22260 840 CONTINUE GKS22270 850 CONTINUE GKS22280 GKS22290 C***********************************************************************GKS22300 C***** ***GKS22310 C***** Call RMENU to use pack data record to indicate to prompt ***GKS22320 C***** for the lpfk (return). RMENU will call RCHOI to wait for ***GKS22330 C***** a valid choice selection and will pass that selection back ***GKS22340 C***** in CHNR. But in this case, the user could only select ***GKS22350 C***** return as a valid choice, so we will fall down to the ***GKS22360 C***** return statement and go back to the output primitves. ***GKS22370 C***** ***GKS22380 C***********************************************************************GKS22390 GKS22400 CONT = .TRUE. CALL SLEEP(4) ENDIF GKS22420 ENDIF GKS22430 ENDIF GKS22440 GKS22450 RETURN GKS22460 END GKS22470 GKS22480 GKS22490 GKS22500 C***********************************************************************GKS22510 C***********************************************************************GKS22520 C***** ***GKS22530 C***** Subroutine Name: DEMOGD ***GKS22540 C***** ***GKS22550 C***** Subroutine Function: As there are no Generalized Drawing ***GKS22560 C***** primitives yet available in GKS-CO, ***GKS22570 C***** this routine simply fills the screen ***GKS22580 C***** with 'not available' and waits for ***GKS22590 C***** the user to chose to go on. ***GKS22600 C***** ***GKS22610 C***** Calls Subroutines: SETUPF,FINSHF,RMENU ***GKS22620 C***** ***GKS22630 C***********************************************************************GKS22640 C***********************************************************************GKS22650 GKS22660 SUBROUTINE DEMOGD GKS22670 GKS22680 REAL*4 TXTX,TXTY GKS22690 LOGICAL CONT GKS22700 COMMON /TEXT/ TXTX,TXTY GKS22710 GKS22720 CALL SETUPF(.TRUE.,.FALSE.) GKS22730 CALL GTXS(TXTX,TXTY,5,'G D P') GKS22740 CALL FINSHF(.TRUE.) GKS22750 CALL GTXS(0.10,0.350,13,'NOT AVAILABLE') GKS22760 CONT = .TRUE. CALL SLEEP(4) RETURN GKS22780 END GKS22790 GKS22800 GKS22810 GKS22820 C***********************************************************************GKS22830 C***********************************************************************GKS22840 C***** ***GKS22850 C***** Subroutine Name: DEMOPL ***GKS22860 C***** ***GKS22870 C***** Subroutine Function: Draw a car to demonstrate the ***GKS22880 C***** polyline output primitive. Draw the ***GKS22890 C***** different linetypes. Show the various ***GKS22900 C***** line attributes on a demo frame. And ***GKS22910 C***** draw two different pictures of the ***GKS22920 C***** sunflower star by using the same ***GKS22930 C***** x,y data but varying the viewport. ***GKS22940 C***** ***GKS22950 C***** Calls Subroutines: SETUPF,FINSHF,DRWHLS,RMENU ***GKS22960 C***** ***GKS22970 C***********************************************************************GKS22980 C***********************************************************************GKS22990 GKS23000 SUBROUTINE DEMOPL GKS23010 INCLUDE 'gkspar.inc' GKS23030 INTEGER*4 WKID,WTYPE,N,I,ERRIND,NLT,LT,NLW,NPPLI,K GKS23040 GKS23050 REAL*4 NOMLW,RLWMIN,RLWMAX GKS23060 REAL*4 OX(28),OY(28),KFX(26),KFY(26),UX(6),UY(6) GKS23070 REAL*4 DTX(11),DTY(11),MITX,MITY,R,ALPHA,RX(21),RY(21) GKS23080 REAL*4 T1X(2),T1Y(2),T2X(2),T3X(2),T3Y(2),T4X(4),T4Y(4) GKS23090 REAL*4 GR1X(2),GR2X(2),GR1Y(2),VDX(3),VDY(3) GKS23100 REAL*4 K1X(3),K1Y(3),K2X(3),K2Y(3),K3X(2),K3Y(2) GKS23110 REAL*4 G1X(2),G2X(2),G3X(2),G4X(2),G5X(2),G6X(2) GKS23120 REAL*4 G7X(2),G8X(2),G1Y(2),G2Y(2),G3Y(2),G4Y(2) GKS23130 REAL*4 G5Y(2),G6Y(2),G7Y(2),G8Y(2),XMIN,XMAX,YMIN,YMAX GKS23140 REAL*4 KOX(11),KOY(11),FIX(9),FIY(9) GKS23150 REAL*4 PLX(2),PLY(2),RLX(20),RLY(20) GKS23160 GKS23170 LOGICAL CONT GKS23180 GKS23190 COMMON /WINF/ WKID,WTYPE GKS23200 COMMON /TEXT/ TXTX,TXTY GKS23210 COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX GKS23220 GKS23230 C CAR DATA GKS23240 GKS23250 DATA OX /0.264,0.272,0.770,0.776,0.774,0.608,0.594,0.588, GKS23260 * 0.564,0.330,0.320,0.310,0.300,0.290,0.280,0.268, GKS23270 * 0.264,0.258,0.250,0.240,0.234,0.228,0.224,0.222, GKS23280 * 0.224,0.280,0.288,0.290/ GKS23290 DATA OY /0.396,0.398,0.400,0.406,0.416,0.418,0.464,0.466, GKS23300 * 0.468,0.468,0.466,0.462,0.456,0.445,0.430,0.400, GKS23310 * 0.396,0.394,0.390,0.380,0.370,0.348,0.320,0.296, GKS23320 * 0.286,0.284,0.286,0.304/ GKS23330 DATA KFX /0.222,0.230,0.286,0.300,0.310,0.321,0.340,0.358, GKS23340 * 0.370,0.378,0.388,0.394,0.398,0.400,0.574,0.584, GKS23350 * 0.726,0.736,0.746,0.760,0.770,0.780,0.792,0.802, GKS23360 * 0.808,0.812/ GKS23370 DATA KFY /0.296,0.300,0.350,0.360,0.366,0.370,0.372,0.370, GKS23380 * 0.364,0.358,0.346,0.332,0.316,0.294,0.294,0.297, GKS23390 * 0.371,0.373,0.374,0.372,0.370,0.366,0.358,0.346, GKS23400 * 0.332,0.310/ GKS23410 DATA UX /0.382,0.384,0.390,0.690,0.698,0.702/ GKS23420 DATA UY /0.302,0.286,0.282,0.282,0.290,0.302/ GKS23430 DATA DTX /0.584,0.584,0.580,0.576,0.572,0.564,0.550,0.320, GKS23440 * 0.308,0.295,0.280/ GKS23450 DATA DTY /0.297,0.399,0.424,0.440,0.448,0.452,0.454,0.454, GKS23460 * 0.452,0.448,0.430/ GKS23470 DATA T1X /0.480,0.484/ GKS23480 DATA T1Y /0.454,0.294/ GKS23490 DATA T2X /0.476,0.480/ GKS23500 DATA T3X /0.378,0.378/ GKS23510 DATA T3Y /0.454,0.358/ GKS23520 DATA T4X /0.584,0.590,0.598,0.608/ GKS23530 DATA T4Y /0.399,0.406,0.414,0.418/ GKS23540 DATA GR1X /0.462,0.472/ GKS23550 DATA GR1Y /0.386,0.386/ GKS23560 DATA GR2X /0.488,0.498/ GKS23570 DATA VDX /0.572,0.576,0.594/ GKS23580 DATA VDY /0.448,0.454,0.464/ GKS23590 DATA K1X /0.764,0.760,0.760/ GKS23600 DATA K1Y /0.416,0.400,0.372/ GKS23610 DATA K2X /0.774,0.770,0.770/ GKS23620 DATA K2Y /0.416,0.400,0.369/ GKS23630 DATA K3X /0.776,0.776/ GKS23640 DATA K3Y /0.406,0.368/ GKS23650 DATA KOX /0.793,0.795,0.812,0.816,0.824,0.822,0.816,0.806, GKS23660 * 0.796,0.786,0.776/ GKS23670 DATA KOY /0.314,0.306,0.310,0.312,0.324,0.336,0.350,0.368, GKS23680 * 0.376,0.380,0.382/ GKS23690 DATA G1X /0.670,0.672/ GKS23700 DATA G1Y /0.390,0.378/ GKS23710 DATA G2X /0.680,0.686/ GKS23720 DATA G2Y /0.390,0.352/ GKS23730 DATA G3X /0.690,0.696/ GKS23740 DATA G3Y /0.390,0.357/ GKS23750 DATA G4X /0.700,0.706/ GKS23760 DATA G4Y /0.390,0.363/ GKS23770 DATA G5X /0.710,0.715/ GKS23780 DATA G5Y /0.390,0.367/ GKS23790 DATA G6X /0.720,0.725/ GKS23800 DATA G6Y /0.390,0.371/ GKS23810 DATA G7X /0.730,0.735/ GKS23820 DATA G7Y /0.390,0.373/ GKS23830 DATA G8X /0.740,0.745/ GKS23840 DATA G8Y /0.390,0.374/ GKS23850 DATA FIX /0.766,0.766,0.768,0.760,0.776,0.768,0.772,0.774,0.774/ GKS23860 DATA FIY /0.416,0.420,0.420,0.434,0.428,0.428,0.420,0.420,0.416/ GKS23870 GKS23880 C***********************************************************************GKS23890 C***** ***GKS23900 C***** Inquire information about the polyline facilities provided ***GKS23910 C***** by GKS-CO. Call subroutines SETUPF and FINSHF to draw the ***GKS23920 C***** border and title of the demo frame. Then draw the car ***GKS23930 C***** using all the data provided. The car will be red, the ***GKS23940 C***** hood ornament yellow, and the wheels white. ***GKS23950 C***** ***GKS23960 C***********************************************************************GKS23970 GKS23980 GKS23990 CALL GQPLF(WTYPE,1,ERRIND,NLT,LT,NLW,NOMLW,RLWMIN,RLWMAX,NPPLI) GKS24000 GKS24010 CALL SETUPF(.TRUE.,.FALSE.) GKS24020 CALL GTXS(TXTX,TXTY,8,'POLYLINE') GKS24030 CALL FINSHF(.TRUE.) GKS24040 GKS24050 CALL GSWN(1,0.18,0.88,0.10,0.80) GKS24060 CALL GSPLCI(GRED) GKS24070 CALL GPL(28,OX,OY) GKS24080 CALL GPL(26,KFX,KFY) GKS24090 CALL GPL(6,UX,UY) GKS24100 CALL GPL(11,DTX,DTY) GKS24110 CALL GPL(11,KOX,KOY) GKS24120 CALL GPL(2,T1X,T1Y) GKS24130 CALL GPL(2,T2X,T1Y) GKS24140 CALL GPL(2,T3X,T3Y) GKS24150 CALL GPL(4,T4X,T4Y) GKS24160 CALL GPL(2,GR1X,GR1Y) GKS24170 CALL GPL(2,GR2X,GR1Y) GKS24180 CALL GPL(3,VDX,VDY) GKS24190 CALL GPL(3,K1X,K1Y) GKS24200 CALL GPL(3,K2X,K1Y) GKS24210 CALL GPL(2,K3X,K3Y) GKS24220 CALL GPL(2,G1X,G1Y) GKS24230 CALL GPL(2,G2X,G2Y) GKS24240 CALL GPL(2,G3X,G3Y) GKS24250 CALL GPL(2,G4X,G4Y) GKS24260 CALL GPL(2,G5X,G5Y) GKS24270 CALL GPL(2,G6X,G6Y) GKS24280 CALL GPL(2,G7X,G7Y) GKS24290 CALL GPL(2,G8X,G8Y) GKS24300 CALL GSPLCI(GYELOW) GKS24310 CALL GPL(9,FIX,FIY) GKS24320 GKS24330 C***********************************************************************GKS24340 C***** ***GKS24350 C***** Change the color to grayish white and call subroutine ***GKS24360 C***** DRWHLS to draw each of the car wheels - inside and outside ***GKS24370 C***** borders. ***GKS24380 C***** ***GKS24390 C***********************************************************************GKS24400 GKS24410 CALL GSPLCI(GGRAY) GKS24420 MITX = 0.336 GKS24430 MITY = 0.302 GKS24440 N = 14 GKS24450 R = 0.020 GKS24460 CALL DRWHLS(MITX,MITY,N,R) GKS24470 N = 20 GKS24480 R = 0.044 GKS24490 CALL DRWHLS(MITX,MITY,N,R) GKS24500 MITX = 0.748 GKS24510 N = 14 GKS24520 R = 0.020 GKS24530 CALL DRWHLS(MITX,MITY,N,R) GKS24540 N = 20 GKS24550 R = 0.044 GKS24560 CALL DRWHLS(MITX,MITY,N,R) GKS24570 MITX = 0.640 GKS24580 MITY = 0.350 GKS24590 N = 14 GKS24600 R = 0.020 GKS24610 CALL DRWHLS(MITX,MITY,N,R) GKS24620 R = 0.044 GKS24630 ALPHA = 3.80 GKS24640 DO 900 I=1,14 GKS24650 RX(I) = MITX + R * SIN(ALPHA) GKS24660 RY(I) = MITY + R * COS(ALPHA) GKS24670 ALPHA = ALPHA + 0.310 GKS24680 900 CONTINUE GKS24690 CALL GPL(14,RX,RY) GKS24700 CALL GSWN(1,0.0,1.0,0.0,1.0) GKS24710 GKS24720 C***********************************************************************GKS24730 C***** ***GKS24740 C***** Call RMENU to use pack data record to indicate two prompts ***GKS24750 C***** for the lpfks (next and return). RMENU will call RCHOI ***GKS24760 C***** to wait for a valid choice selection and will pass that ***GKS24770 C***** selection back in CHNR. ***GKS24780 C***** ***GKS24790 C***********************************************************************GKS24800 GKS24810 CONT = .TRUE. CALL SLEEP(4) GKS24830 C***********************************************************************GKS24840 C***** ***GKS24850 C***** If user chose to continue viewing the polyline panels, ***GKS24860 C***** continue on. Otherwise, fall out the bottom and return ***GKS24870 C***** to the output primitive screen. ***GKS24880 C***** ***GKS24890 C***********************************************************************GKS24900 GKS24910 IF (CONT) THEN GKS24920 GKS24930 C***********************************************************************GKS24940 C***** ***GKS24950 C***** Call SETUPF and FINSHF to draw the border and title of ***GKS24960 C***** the demo frame. ***GKS24970 C***** ***GKS24980 C***********************************************************************GKS24990 GKS25000 CALL SETUPF(.FALSE.,.FALSE.) GKS25010 CALL GTXS(TXTX,TXTY,9,'LINETYPES') GKS25020 CALL FINSHF(.FALSE.) GKS25030 GKS25040 C***********************************************************************GKS25050 C***** ***GKS25060 C***** Draw a horizontal line in the linetype specified on the ***GKS25070 C***** left half of the demo frame for each linetype supported ***GKS25080 C***** by GKS-CO. ***GKS25090 C***** ***GKS25100 C***********************************************************************GKS25110 GKS25120 RLX(1) = 0.60 GKS25130 PLX(1) = 0.05 GKS25140 PLX(2) = 0.45 GKS25150 CALL GSPLCI(GWHITE) GKS25160 DO 920 I=1,NLT GKS25170 CALL GSLN(I) GKS25180 PLY(1) = (0.90 - (0.98 * REAL(I) / REAL(NLT+1))) GKS25190 PLY(2) = PLY(1) GKS25200 CALL GPL(2,PLX,PLY) GKS25210 ALPHA = 0.0 GKS25220 RLY(1) = PLY(1) GKS25230 GKS25240 C***********************************************************************GKS25250 C***** ***GKS25260 C***** Draw a fancy set of diagonal lines in each linetype. ***GKS25270 C***** ***GKS25280 C***********************************************************************GKS25290 GKS25300 DO 910 J=1,5 GKS25310 RLX(2) = RLX(1) + 0.3 * SIN(ALPHA) GKS25320 RLY(2) = RLY(1) + (0.8 / REAL(NLT+1)) * COS(ALPHA) GKS25330 ALPHA = ALPHA + 3.141593 / 8.0 GKS25340 CALL GPL(2,RLX,RLY) GKS25350 910 CONTINUE GKS25360 920 CONTINUE GKS25370 GKS25380 C***********************************************************************GKS25390 C***** ***GKS25400 C***** Call RMENU to use pack data record to indicate two prompts ***GKS25410 C***** for the lpfks (next and return). RMENU will call RCHOI ***GKS25420 C***** to wait for a valid choice selection and will pass that ***GKS25430 C***** selection back in CHNR. ***GKS25440 C***** ***GKS25450 C***********************************************************************GKS25460 GKS25470 CONT = .TRUE. CALL SLEEP(4) GKS25490 C***********************************************************************GKS25500 C***** ***GKS25510 C***** If user chose to continue viewing the polyline panels, ***GKS25520 C***** continue on. Otherwise, fall out the bottom and return ***GKS25530 C***** to the output primitive screen. ***GKS25540 C***** ***GKS25550 C***********************************************************************GKS25560 GKS25570 IF (CONT) THEN GKS25580 GKS25590 C***********************************************************************GKS25600 C***** ***GKS25610 C***** Call SETUPF and FINSHF to draw the border and title of ***GKS25620 C***** the demo frame. ***GKS25630 C***** ***GKS25640 C***********************************************************************GKS25650 GKS25660 CALL SETUPF(.FALSE.,.FALSE.) GKS25670 CALL GTXS(TXTX,TXTY,10,'ATTRIBUTES') GKS25680 CALL FINSHF(.FALSE.) GKS25690 GKS25700 C***********************************************************************GKS25710 C***** ***GKS25720 C***** Draw on the left half of the demo frame, a line of each ***GKS25730 C***** linetype and linewidth supported. ***GKS25740 C***** ***GKS25750 C***********************************************************************GKS25760 GKS25770 RLX(1) = 0.60 GKS25780 PLX(1) = 0.05 GKS25790 RLX(1) = 0.45 GKS25800 CALL GSPLCI(GWHITE) GKS25810 DO 930 I = 1,NPPLI GKS25820 CALL GSLN(I) GKS25830 CALL GSLWSC(REAL(I)) GKS25840 PLY(1) = (0.92 - (0.92 * REAL(I) / REAL(NPPLI+1))) GKS25850 PLY(2) = PLY(1) GKS25860 CALL GPL(2,PLX,PLY) GKS25870 930 CONTINUE GKS25880 GKS25890 C***********************************************************************GKS25900 C***** ***GKS25910 C***** Draw on the right half of the demo frame, a star like ***GKS25920 C***** figure containing a line of each color supported by the ***GKS25930 C***** currently defined color table. ***GKS25940 C***** ***GKS25950 C***********************************************************************GKS25960 GKS25970 RLX(17) = 0.75 GKS25980 RLY(17) = 0.50 GKS25990 ALPHA = 0.0 GKS26000 DO 940 I=1,16 GKS26010 RLX(I) = RLX(17) + 0.2 * SIN(ALPHA) GKS26020 RLY(I) = RLY(17) + 0.2 * COS(ALPHA) GKS26030 ALPHA = ALPHA + 3.141593 / 8.0 GKS26040 940 CONTINUE GKS26050 PLX(1) = RLX(17) GKS26060 PLY(1) = RLY(17) GKS26070 DO 950 I=1,16 GKS26080 PLX(2) = RLX(I) GKS26090 PLY(2) = RLY(I) GKS26100 CALL GSLN(GLSOLI) GKS26110 CALL GSLWSC(1.0) GKS26120 IF (I.EQ.16) THEN GKS26130 CALL GSPLCI(GWHITE) GKS26140 ELSE GKS26150 CALL GSPLCI(I) GKS26160 ENDIF GKS26170 CALL GPL(2,PLX,PLY) GKS26180 950 CONTINUE GKS26190 GKS26200 C***********************************************************************GKS26210 C***** ***GKS26220 C***** Call RMENU to use pack data record to indicate two prompts ***GKS26230 C***** for the lpfks (next and return). RMENU will call RCHOI ***GKS26240 C***** to wait for a valid choice selection and will pass that ***GKS26250 C***** selection back in CHNR. ***GKS26260 C***** ***GKS26270 C***********************************************************************GKS26280 GKS26290 CONT = .TRUE. CALL SLEEP(4) GKS26310 C***********************************************************************GKS26320 C***** ***GKS26330 C***** If user chose to continue viewing the polyline panels, ***GKS26340 C***** continue on. Otherwise, fall out the bottom and return ***GKS26350 C***** to the output primitive screen. ***GKS26360 C***** ***GKS26370 C***********************************************************************GKS26380 GKS26390 IF (CONT) THEN GKS26400 GKS26410 C***********************************************************************GKS26420 C***** ***GKS26430 C***** Call SETUPF and FINSHF to draw the border and title of ***GKS26440 C***** the demo frame. ***GKS26450 C***** ***GKS26460 C***********************************************************************GKS26470 GKS26480 CALL SETUPF(.FALSE.,.FALSE.) GKS26490 CALL GTXS(TXTX,TXTY,4,'STAR') GKS26500 CALL FINSHF(.FALSE.) GKS26510 GKS26520 C***********************************************************************GKS26530 C***** ***GKS26540 C***** Compute the coordinates of the sunflower star. ***GKS26550 C***** ***GKS26560 C***********************************************************************GKS26570 GKS26580 N = 13 GKS26590 MITX = 0.50 GKS26600 MITY = 0.45 GKS26610 ALPHA = 0.0 GKS26620 DO 960 I=1,N GKS26630 RX(I) = MITX + 0.4 * SIN(ALPHA) GKS26640 RY(I) = MITY + 0.4 * COS(ALPHA) GKS26650 ALPHA = ALPHA + 2.0 * 3.141593 / REAL(N) GKS26660 960 CONTINUE GKS26670 CALL GSPLCI(GLBLUE) GKS26680 DO 980 I=1,(N-1)/2 GKS26690 DO 970 J=0,N GKS26700 K = MOD(I*J,N) GKS26710 RLX(J+1) = RX(K+1) GKS26720 RLY(J+1) = RY(K+1) GKS26730 970 CONTINUE GKS26740 GKS26750 C***********************************************************************GKS26760 C***** ***GKS26770 C***** Draw two stars on the demo frame, using the same x,y data ***GKS26780 C***** and varying the viewport. ***GKS26790 C***** ***GKS26800 C***********************************************************************GKS26810 GKS26820 CALL GSVP(1,0.00,0.60,0.35,0.95) GKS26830 CALL GPL(N+1,RLX,RLY) GKS26840 CALL GSVP(1,0.40,1.00,0.03,0.63) GKS26850 CALL GPL(N+1,RLX,RLY) GKS26860 980 CONTINUE GKS26870 GKS26880 CALL GSVP(1,0.0,1.0,0.0,1.0) GKS26890 GKS26900 C***********************************************************************GKS26910 C***** ***GKS26920 C***** Call RMENU to use pack data record to indicate one prompt ***GKS26930 C***** for the lpfk (return). RMENU will call RCHOI to wait for ***GKS26940 C***** a valid choice selection and will pass that selection back ***GKS26950 C***** in CHNR. But in this case, the user could only select ***GKS26960 C***** return as a valid choice, so we will fall down to the ***GKS26970 C***** return statement and go back to the output primitves. ***GKS26980 C***** ***GKS26990 C***********************************************************************GKS27000 GKS27010 CONT = .TRUE. CALL SLEEP(4) ENDIF GKS27030 ENDIF GKS27040 ENDIF GKS27050 c define and select window transformation call gswn (1, -1.0, 1.0, -1.0, 1.0) call gselnt (1) call lines call plot CALL GSWN(1,0.0,1.0,0.0,1.0) GKS01860 CALL GSVP(1,0.0,1.0,0.0,1.0) GKS01870 GKS27060 RETURN GKS27070 END GKS27080 GKS27090 GKS27100 GKS27110 C***********************************************************************GKS27120 C***********************************************************************GKS27130 C***** ***GKS27140 C***** Subroutine Name: DEMOPM ***GKS27150 C***** ***GKS27160 C***** Subroutine Function: This subroutine demonstrates the ***GKS27170 C***** polymarker output primitives and ***GKS27180 C***** its attributes: color and scale ***GKS27190 C***** factor. ***GKS27200 C***** ***GKS27210 C***** Calls Subroutines: SETUPF,FINSHF,RMENU ***GKS27220 C***** ***GKS27230 C***********************************************************************GKS27240 C***********************************************************************GKS27250 GKS27260 SUBROUTINE DEMOPM GKS27270 INCLUDE 'gkspar.inc' GKS27290 INTEGER*4 I GKS27300 REAL*4 PMX(1),PMY(1),TXTX,TXTY GKS27310 LOGICAL CONT GKS27320 COMMON /TEXT/ TXTX,TXTY GKS27330 GKS27340 C***********************************************************************GKS27350 C***** ***GKS27360 C***** Call SETUPF and FINSHF to draw the border and title of ***GKS27370 C***** of the demo menu. Then use standard polymarker calls ***GKS27380 C***** to draw 3 rows of the various polymarker types in ***GKS27390 C***** different colors and sizes. ***GKS27400 C***** ***GKS27410 C***********************************************************************GKS27420 GKS27430 CALL SETUPF(.TRUE.,.FALSE.) GKS27440 CALL GTXS(TXTX,TXTY,10,'POLYMARKER') GKS27450 CALL FINSHF(.TRUE.) GKS27460 CALL GSCHH(0.03) GKS27470 CALL GTXS(0.1,0.68,15,'STANDARD SIZE :') GKS27480 CALL GTXS(0.1,0.43,19,'5 X STANDARD SIZE :') GKS27490 CALL GTXS(0.1,0.18,14,'MINIMAL SIZE :') GKS27500 GKS27510 C***********************************************************************GKS27520 C***** ***GKS27530 C***** Loop 5 times (once for each valid polymarker type) and ***GKS27540 C***** draw the polymarkers in varying colors and sizes. ***GKS27550 C***** ***GKS27560 C***********************************************************************GKS27570 GKS27580 DO 1000 I=1,5 GKS27590 CALL GSMK(I) GKS27600 CALL GSMKSC(1.0) GKS27610 CALL GSPMCI(GWHITE) GKS27620 PMX(1) = (REAL(I) / 6.0) GKS27630 PMY(1) = 0.61 GKS27640 CALL GPM(1,PMX,PMY) GKS27650 CALL GSMKSC(5.0) GKS27660 CALL GSPMCI(GLBLUE) GKS27670 PMY(1) = 0.32 GKS27680 CALL GPM(1,PMX,PMY) GKS27690 CALL GSMKSC(1.0) GKS27700 CALL GSPMCI(GORNGE) GKS27710 PMY(1) = 0.13 GKS27720 CALL GPM(1,PMX,PMY) GKS27730 1000 CONTINUE GKS27740 GKS27750 C***********************************************************************GKS27760 C***** ***GKS27770 C***** Call RMENU to put up a choice prompt indicating that lpfk ***GKS27780 C***** 1 is return. RMENU will then call RCHOI to wait for choice ***GKS27790 C***** input and return when the 'return' choice is selected. ***GKS27800 C***** ***GKS27810 C***********************************************************************GKS27820 GKS27830 CONT = .TRUE. CALL SLEEP(4) RETURN GKS27850 END GKS27860 GKS27870 GKS27880 GKS27890 C***********************************************************************GKS27900 C***********************************************************************GKS27910 C***** ***GKS27920 C***** Subroutine Name: DEMOTX ***GKS27930 C***** ***GKS27940 C***** Subroutine Function: This subroutne demonstrates the ***GKS27950 C***** text output primitive and its various ***GKS27960 C***** attributes: character expansion, ***GKS27970 C***** character height, character spacing, ***GKS27980 C***** character up vector, text color, ***GKS27990 C***** text font and precision, text path, ***GKS28000 C***** and text alignment. ***GKS28010 C***** ***GKS28020 C***** Calls Subroutines: SETUPF,FINSHF,RMENU ***GKS28030 C***** ***GKS28040 C***********************************************************************GKS28050 C***********************************************************************GKS28060 GKS28070 SUBROUTINE DEMOTX GKS28080 INCLUDE 'gkspar.inc' GKS28100 INTEGER*4 WKID,WTYPE,ERRIND,I GKS28110 REAL*4 PX,PY,PAX(1),PAY(1),XCHU,YCHU GKS28120 REAL*4 XMIN,XMAX,YMIN,YMAX,CPX,CPY,TXEXPX(4) GKS28130 REAL*4 TXEXPY(4),RH,MINCHH GKS28140 LOGICAL CONT GKS28150 CHARACTER HEIGHT(16)*1 GKS28160 CHARACTER*7 FONTNA(11) GKS28170 GKS28180 COMMON /WINF/ WKID,WTYPE GKS28190 COMMON /TEXT/ TXTX,TXTY GKS28200 COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX GKS28210 GKS28220 DATA FONTNA /'FONT 1 ','FONT 2 ','FONT 3 ','FONT 4 ', GKS28230 * 'FONT 5 ','FONT 6 ','FONT 7 ','FONT 8 ', GKS28240 * 'FONT 9 ','FONT 10','FONT 11'/ GKS28250 DATA HEIGHT /'C','H','A','R','A','C','T','E','R', GKS28260 * ' ','H','E','I','G','H','T'/ GKS28270 GKS28280 C***********************************************************************GKS28290 C***** ***GKS28300 C***** Call subroutines SETUPF and FINSHF to draw the border and ***GKS28310 C***** border and title of the demo frame. Then draw the first ***GKS28320 C***** panel which says 'Select Text Attributes' in three ***GKS28330 C***** diagonal lines of different colors. ***GKS28340 C***** ***GKS28350 C***********************************************************************GKS28360 GKS28370 MINCHH = 0.002 GKS28380 GKS28390 CALL SETUPF(.TRUE.,.FALSE.) GKS28400 CALL GTXS(TXTX,TXTY,4,'TEXT') GKS28410 CALL FINSHF(.TRUE.) GKS28420 GKS28430 CALL GSCHH(0.08) GKS28440 CALL GSTXFP(GFONT1,GSTRKP) GKS28450 CALL GSTXCI(GORNGE) GKS28460 CALL GSCHUP(-1.0,2.0) GKS28470 CALL GTXS(0.20,0.40,6,'SELECT') GKS28480 CALL GSCHXP(2.0) GKS28490 CALL GSTXCI(GLBLUE) GKS28500 CALL GTXS(0.08,0.16,4,'TEXT') GKS28510 CALL GSCHXP(1.0) GKS28520 CALL GSTXCI(GMGREN) GKS28530 CALL GTXS(0.32,0.10,10,'ATTRIBUTES') GKS28540 CALL GSCHUP(0.0,1.0) GKS28550 GKS28560 C***********************************************************************GKS28570 C***** ***GKS28580 C***** Call RMENU to use pack data record to indicate two prompts ***GKS28590 C***** for the lpfks (next and return). RMENU will call RCHOI ***GKS28600 C***** to wait for a valid choice selection and will pass that ***GKS28610 C***** selection back in CHNR. ***GKS28620 C***** ***GKS28630 C***********************************************************************GKS28640 GKS28650 CONT = .TRUE. CALL SLEEP(4) GKS28670 C***********************************************************************GKS28680 C***** ***GKS28690 C***** If user chose to continue viewing the text panels, ***GKS28700 C***** continue on. Otherwise, fall out the bottom and return ***GKS28710 C***** to the output primitive screen. ***GKS28720 C***** ***GKS28730 C***********************************************************************GKS28740 GKS28750 IF (CONT) THEN GKS28760 GKS28770 C***********************************************************************GKS28780 C***** ***GKS28790 C***** Call SETUPF and FINSHF to draw the border and title of ***GKS28800 C***** the demo frame. ***GKS28810 C***** ***GKS28820 C***********************************************************************GKS28830 GKS28840 CALL SETUPF(.FALSE.,.FALSE.) GKS28850 CALL GTXS(TXTX,TXTY,18,'FONT AND PRECISION') GKS28860 CALL FINSHF(.FALSE.) GKS28870 GKS28880 C***********************************************************************GKS28890 C***** ***GKS28900 C***** Draw a series of demo panels which show 11 of the text ***GKS28910 C***** fonts supported by GKS-CO. The panels will show font one ***GKS28920 C***** and two in the top half of the panel and then via segments, ***GKS28930 C***** change the bottom font each time the user selects the ***GKS28940 C***** continue choice key. ***GKS28950 C***** ***GKS28960 C***********************************************************************GKS28970 GKS28980 CALL GSCHH(0.1) GKS28990 CALL GSTXAL(GAHNOR,GAHALF) GKS29000 CALL GSTXCI(GRED) GKS29010 DO 1100 I=1,3 GKS29060 CALL GCRSG(1001) GKS29070 CALL GSTXFP(I*3-2,GSTRKP) GKS29020 CALL GTXS(0.15,0.25,6,FONTNA(I*3-2)) GKS29030 CALL GSTXFP(I*3-1,GSTRKP) GKS29040 CALL GTXS(0.15,0.50,6,FONTNA(I*3-1)) GKS29050 CALL GSTXFP(I*3,GSTRKP) GKS29080 CALL GTXS(0.15,0.75,7,FONTNA(I*3)) GKS29090 CALL GCLSG GKS29100 CONT = .TRUE. CALL SLEEP(4) CALL GDSG(1001) GKS29120 CALL GUWK(WKID,1) IF (.NOT.(CONT)) GOTO 1110 GKS29130 1100 CONTINUE GKS29140 1110 CONTINUE GKS29150 CALL GDSG(1259) GKS29160 C***********************************************************************GKS29170 C***** ***GKS29180 C***** If user chose to continue viewing the text panels, ***GKS29190 C***** continue on. Otherwise, fall out the bottom and return ***GKS29200 C***** to the output primitive screen. ***GKS29210 C***** ***GKS29220 C***********************************************************************GKS29230 GKS29240 IF (CONT) THEN GKS29250 GKS29260 C***********************************************************************GKS29270 C***** ***GKS29280 C***** Reset the text alignment, font and precision. ***GKS29290 C***** ***GKS29300 C***********************************************************************GKS29310 GKS29320 CALL GSTXAL(GAHNOR,GAVNOR) GKS29330 CALL GSTXFP(GFONT1,GSTRKP) GKS29340 GKS29350 C***********************************************************************GKS29360 C***** ***GKS29370 C***** Call SETUPF and FINSHF to draw the border and title of ***GKS29380 C***** the demo frame. ***GKS29390 C***** ***GKS29400 C***********************************************************************GKS29410 GKS29420 CALL SETUPF(.FALSE.,.FALSE.) GKS29430 CALL GTXS(TXTX,TXTY,6,'HEIGHT') GKS29440 CALL FINSHF(.FALSE.) GKS29450 GKS29460 C***********************************************************************GKS29470 C***** ***GKS29480 C***** Show how the character height can be varied by drawing ***GKS29490 C***** the letters 'character height', each in a different height. ***GKS29500 C***** ***GKS29510 C***********************************************************************GKS29520 GKS29530 PX = 0.025 GKS29540 PY = 0.30 GKS29550 RH = 3.0 * MINCHH GKS29560 CALL GSTXCI(GGREEN) GKS29570 CALL GSTXFP(GFONT1,GSTRKP) GKS29580 DO 1120 I=1,16 GKS29590 CALL GSCHH(RH) GKS29600 CALL GTXS(PX,PY,1,HEIGHT(I)) GKS29610 CALL GQTXXS(WKID,PX,PY,1,HEIGHT(I),ERRIND,CPX,CPY, GKS29620 * TXEXPX,TXEXPY) GKS29630 PX = CPX GKS29640 RH = RH + 0.0085 GKS29650 1120 CONTINUE GKS29660 GKS29670 C***********************************************************************GKS29680 C***** ***GKS29690 C***** Call RMENU to use pack data record to indicate to prompts ***GKS29700 C***** for the lpfks (next and return). RMENU will call RCHOI ***GKS29710 C***** to wait for a valid choice selection and will pass that ***GKS29720 C***** selection back in CHNR. ***GKS29730 C***** ***GKS29740 C***********************************************************************GKS29750 GKS29760 CONT = .TRUE. CALL SLEEP(4) GKS29780 C***********************************************************************GKS29790 C***** ***GKS29800 C***** If user chose to continue viewing the text panels, ***GKS29810 C***** continue on. Otherwise, fall out the bottom and return ***GKS29820 C***** to the output primitive screen. ***GKS29830 C***** ***GKS29840 C***********************************************************************GKS29850 GKS29860 IF (CONT) THEN GKS29870 GKS29880 C***********************************************************************GKS29890 C***** ***GKS29900 C***** Call SETUPF and FINSHF to draw the border and title of ***GKS29910 C***** the demo frame. ***GKS29920 C***** ***GKS29930 C***********************************************************************GKS29940 GKS29950 CALL SETUPF(.FALSE.,.FALSE.) GKS29960 CALL GTXS(TXTX,TXTY,9,'UP-VECTOR') GKS29970 CALL FINSHF(.FALSE.) GKS29980 GKS29990 C***********************************************************************GKS30000 C***** ***GKS30010 C***** Show how the character up-vector can be varied by drawing ***GKS30020 C***** the word 'GKS' in a circle with each word a different ***GKS30030 C***** color and in a different 'up' position. ***GKS30040 C***** ***GKS30050 C***********************************************************************GKS30060 GKS30070 CALL GSWN(1,-0.050,1.050,-0.020,1.080) GKS30080 PX = 0.58 GKS30090 PY = 0.05 GKS30100 XCHU = -0.5 GKS30110 YCHU = 1.0 GKS30120 CALL GSCHH(0.04) GKS30130 CALL GSTXFP(GFONT1,GSTRKP) GKS30140 DO 1130 I=1,16 GKS30150 IF (I.EQ.16) THEN GKS30160 CALL GSTXCI(I-1) GKS30170 ELSE GKS30180 CALL GSTXCI(I) GKS30190 ENDIF GKS30200 CALL GSCHUP(XCHU,YCHU) GKS30210 CALL GTXS(PX,PY,5,' GKS ') GKS30220 CALL GQTXXS(WKID,PX,PY,5,' GKS ',ERRIND,CPX,CPY, GKS30230 * TXEXPX,TXEXPY) GKS30240 PX = CPX GKS30250 PY = CPY GKS30260 IF ((I.GE.2).AND.(I.LE.5)) THEN GKS30270 YCHU = YCHU - 0.5 GKS30280 ELSE GKS30290 IF ((I.GE.6).AND.(I.LE.9)) THEN GKS30300 XCHU = XCHU + 0.5 GKS30310 ELSE GKS30320 IF ((I.GE.10).AND.(I.LE.13)) THEN GKS30330 YCHU = YCHU + 0.5 GKS30340 ELSE GKS30350 XCHU = XCHU - 0.5 GKS30360 ENDIF GKS30370 ENDIF GKS30380 ENDIF GKS30390 1130 CONTINUE GKS30400 CALL GSCHUP(0.0,1.0) GKS30410 CALL GSWN(1,0.00,1.00,0.00,1.00) GKS30420 GKS30430 C***********************************************************************GKS30440 C***** ***GKS30450 C***** Call RMENU to use pack data record to indicate to prompts ***GKS30460 C***** for the lpfks (next and return). RMENU will call RCHOI ***GKS30470 C***** to wait for a valid choice selection and will pass that ***GKS30480 C***** selection back in CHNR. ***GKS30490 C***** ***GKS30500 C***********************************************************************GKS30510 GKS30520 CONT = .TRUE. CALL SLEEP(4) GKS30540 C***********************************************************************GKS30550 C***** ***GKS30560 C***** If user chose to continue viewing the text panels, ***GKS30570 C***** continue on. Otherwise, fall out the bottom and return ***GKS30580 C***** to the output primitive screen. ***GKS30590 C***** ***GKS30600 C***********************************************************************GKS30610 GKS30620 IF (CONT) THEN GKS30630 GKS30640 C***********************************************************************GKS30650 C***** ***GKS30660 C***** Call SETUPF and FINSHF to draw the border and title of ***GKS30670 C***** the demo frame. ***GKS30680 C***** ***GKS30690 C***********************************************************************GKS30700 GKS30710 CALL SETUPF(.FALSE.,.FALSE.) GKS30720 CALL GTXS(TXTX,TXTY,9,'EXPANSION') GKS30730 CALL FINSHF(.FALSE.) GKS30740 GKS30750 C***********************************************************************GKS30760 C***** ***GKS30770 C***** Show the effects of the character expansion attribute by ***GKS30780 C***** varying the expansion factor and writing out the word ***GKS30790 C***** 'expansion' four times. ***GKS30800 C***** ***GKS30810 C***********************************************************************GKS30820 GKS30830 PX = 0.03 GKS30840 PY = 0.75 GKS30850 CALL GSCHH(0.1) GKS30860 CALL GSTXCI(GORNGE) GKS30870 CALL GSTXFP(GFONT1,GSTRKP) GKS30880 CALL GSVP(1,0.015,0.985,0.015,0.900) GKS30890 DO 1140 I=1,4 GKS30900 CALL GSCHXP(0.2 + REAL(I) * 0.30) GKS30910 CALL GTXS(PX,PY,9,'EXPANSION') GKS30920 PY = PY - 0.2 GKS30930 1140 CONTINUE GKS30940 CALL GSCHXP(1.0) GKS30950 CALL GSVP(1,0.0,1.0,0.0,1.0) GKS30960 GKS30970 C***********************************************************************GKS30980 C***** ***GKS30990 C***** Call RMENU to use pack data record to indicate to prompts ***GKS31000 C***** for the lpfks (next and return). RMENU will call RCHOI ***GKS31010 C***** to wait for a valid choice selection and will pass that ***GKS31020 C***** selection back in CHNR. ***GKS31030 C***** ***GKS31040 C***********************************************************************GKS31050 GKS31060 CONT = .TRUE. CALL SLEEP(4) GKS31080 C***********************************************************************GKS31090 C***** ***GKS31100 C***** If user chose to continue viewing the text panels, ***GKS31110 C***** continue on. Otherwise, fall out the bottom and return ***GKS31120 C***** to the output primitive screen. ***GKS31130 C***** ***GKS31140 C***********************************************************************GKS31150 GKS31160 IF (CONT) THEN GKS31170 GKS31180 C***********************************************************************GKS31190 C***** ***GKS31200 C***** Call SETUPF and FINSHF to draw the border and title of ***GKS31210 C***** the demo frame. ***GKS31220 C***** ***GKS31230 C***********************************************************************GKS31240 GKS31250 CALL SETUPF(.FALSE.,.FALSE.) GKS31260 CALL GTXS(TXTX,TXTY,4,'PATH') GKS31270 CALL FINSHF(.FALSE.) GKS31280 GKS31290 C***********************************************************************GKS31300 C***** ***GKS31310 C***** Show the effects of the character path attribute by ***GKS31320 C***** drawing the words 'right', 'left', 'up', and 'down' ***GKS31330 C***** with their corresponding paths set. ***GKS31340 C***** ***GKS31350 C***********************************************************************GKS31360 GKS31370 PX = 0.48 GKS31380 PY = 0.50 GKS31390 CALL GSTXCI(GWHITE) GKS31400 CALL GSTXFP(GFONT1,GSTRKP) GKS31410 CALL GSCHH(0.08) GKS31420 CALL GTXS(PX,PY,6,' RIGHT') GKS31430 CALL GSTXP(GLEFT) GKS31440 CALL GTXS(PX,PY,5,' LEFT') GKS31450 CALL GSTXP(GUP) GKS31460 CALL GTXS(PX,PY,3,' UP') GKS31470 CALL GSTXP(GDOWN) GKS31480 CALL GTXS(PX,PY,4,'DOWN') GKS31490 CALL GSTXP(GRIGHT) GKS31500 GKS31510 C***********************************************************************GKS31520 C***** ***GKS31530 C***** Call RMENU to use pack data record to indicate to prompts ***GKS31540 C***** for the lpfks (next and return). RMENU will call RCHOI ***GKS31550 C***** to wait for a valid choice selection and will pass that ***GKS31560 C***** selection back in CHNR. ***GKS31570 C***** ***GKS31580 C***********************************************************************GKS31590 GKS31600 CONT = .TRUE. CALL SLEEP(4) GKS31620 C***********************************************************************GKS31630 C***** ***GKS31640 C***** If user chose to continue viewing the text panels, ***GKS31650 C***** continue on. Otherwise, fall out the bottom and return ***GKS31660 C***** to the output primitive screen. ***GKS31670 C***** ***GKS31680 C***********************************************************************GKS31690 GKS31700 IF (CONT) THEN GKS31710 GKS31720 C***********************************************************************GKS31730 C***** ***GKS31740 C***** Call SETUPF and FINSHF to draw the border and title of ***GKS31750 C***** the demo frame. ***GKS31760 C***** ***GKS31770 C***********************************************************************GKS31780 GKS31790 CALL SETUPF(.FALSE.,.FALSE.) GKS31800 CALL GTXS(TXTX,TXTY,9,'ALIGNMENT') GKS31810 CALL FINSHF(.FALSE.) GKS31820 GKS31830 C***********************************************************************GKS31840 C***** ***GKS31850 C***** Show the effects of the text alignment attribute by ***GKS31860 C***** displaying words that correspond with the various ***GKS31870 C***** alignment settings. ***GKS31880 C***** ***GKS31890 C***********************************************************************GKS31900 GKS31910 CALL GSWN(1,-0.020,1.080,-0.050,1.050) GKS31920 PAX(1) = 0.02 GKS31930 PAY(1) = 0.720 GKS31940 CALL GSCHH(0.05) GKS31950 CALL GSTXFP(GFONT1,GSTRKP) GKS31960 CALL GSTXCI(GMAGNT) GKS31970 CALL GSPMCI(GWHITE) GKS31980 DO 1150 I=1,5 GKS31990 CALL GPM(1,PAX,PAY) GKS32000 CALL GSTXAL(GAHNOR,I) GKS32010 IF (I.EQ.1) THEN GKS32020 CALL GTXS(PAX,PAY,4,'TOP ') GKS32030 CALL GQTXXS(WKID,PAX,PAY,4,'TOP ',ERRIND, GKS32040 * CPX,CPY,TXEXPX,TXEXPY) GKS32050 ELSE GKS32060 IF (I.EQ.2) THEN GKS32070 CALL GTXS(PAX,PAY,4,'CAP ') GKS32080 CALL GQTXXS(WKID,PAX,PAY,4,'CAP ',ERRIND, GKS32090 * CPX,CPY,TXEXPX,TXEXPY) GKS32100 ELSE GKS32110 IF (I.EQ.3) THEN GKS32120 CALL GTXS(PAX,PAY,5,'HALF ') GKS32130 CALL GQTXXS(WKID,PAX,PAY,5,'HALF ',ERRIND, GKS32140 * CPX,CPY,TXEXPX,TXEXPY) GKS32150 ELSE GKS32160 IF (I.EQ.4) THEN GKS32170 CALL GTXS(PAX,PAY,5,'BASE ') GKS32180 CALL GQTXXS(WKID,PAX,PAY,5,'HALF ',ERRIND, GKS32190 * CPX,CPY,TXEXPX,TXEXPY) GKS32200 ELSE GKS32210 IF (I.EQ.5) THEN GKS32220 CALL GTXS(PAX,PAY,6,'BOTTOM') GKS32230 ENDIF GKS32240 ENDIF GKS32250 ENDIF GKS32260 ENDIF GKS32270 ENDIF GKS32280 PAX(1) = CPX GKS32290 1150 CONTINUE GKS32300 PAX(1) = 0.50 GKS32310 PAY(1) = 0.40 GKS32320 CALL GSCHH(0.1) GKS32330 CALL GSTXAL(GACENT,GAVNOR) GKS32340 CALL GPM(1,PAX,PAY) GKS32350 CALL GTXS(PAX,PAY,6,'CENTER') GKS32360 PAY(1) = 0.25 GKS32370 CALL GSTXAL(GARITE,GAVNOR) GKS32380 CALL GPM(1,PAX,PAY) GKS32390 CALL GTXS(PAX,PAY,5,'RIGHT') GKS32400 PAY(1) = 0.10 GKS32410 CALL GSCHH(0.1) GKS32420 CALL GSTXAL(GALEFT,GAVNOR) GKS32430 CALL GPM(1,PAX,PAY) GKS32440 CALL GTXS(PAX,PAY,4,'LEFT') GKS32450 CALL GSTXAL(GAHNOR,GAVNOR) GKS32460 CALL GSWN(1,0.00,1.00,0.00,1.00) GKS32470 GKS32480 C***********************************************************************GKS32490 C***** ***GKS32500 C***** Call RMENU to use pack data record to indicate to prompts ***GKS32510 C***** for the lpfks (next and return). RMENU will call RCHOI ***GKS32520 C***** to wait for a valid choice selection and will pass that ***GKS32530 C***** selection back in CHNR. ***GKS32540 C***** ***GKS32550 C***********************************************************************GKS32560 GKS32570 CONT = .TRUE. CALL SLEEP(4) GKS32590 C***********************************************************************GKS32600 C***** ***GKS32610 C***** If user chose to continue viewing the text panels, ***GKS32620 C***** continue on. Otherwise, fall out the bottom and return ***GKS32630 C***** to the output primitive screen. ***GKS32640 C***** ***GKS32650 C***********************************************************************GKS32660 GKS32670 IF (CONT) THEN GKS32680 GKS32690 C***********************************************************************GKS32700 C***** ***GKS32710 C***** Call SETUPF and FINSHF to draw the border and title of ***GKS32720 C***** the demo frame. ***GKS32730 C***** ***GKS32740 C***********************************************************************GKS32750 GKS32760 CALL SETUPF(.FALSE.,.FALSE.) GKS32770 CALL GTXS(TXTX,TXTY,7,'SPACING') GKS32780 CALL FINSHF(.FALSE.) GKS32790 GKS32800 C***********************************************************************GKS32810 C***** ***GKS32820 C***** Show the effects of the character spacing attribute by ***GKS32830 C***** vaying the spacing factor and writing out the sentence ***GKS32840 C***** 'GKS - OH WHAT A MESS'. ***GKS32850 C***** ***GKS32860 C***********************************************************************GKS32870 GKS32880 PX = 0.03 GKS32890 PY = 0.75 GKS32900 CALL GSTXFP(GFONT1,GSTRKP) GKS32910 CALL GSCHH(0.07) GKS32920 CALL GSTXCI(GLGREN) GKS32930 CALL GSVP(1,0.015,0.985,0.015,0.900) GKS32940 DO 1160 I=1,4 GKS32950 CALL GSCHSP(-0.8 + REAL(I) * 0.3) GKS32960 CALL GTXS(PX,PY,20,'GKS - SPACED OUT') GKS32970 PY = PY - 0.2 GKS32980 1160 CONTINUE GKS32990 CALL GSCHSP(0.1) GKS33000 CALL GSVP(1,0.0,1.0,0.0,1.0) GKS33010 GKS33020 C***********************************************************************GKS33030 C***** ***GKS33040 C***** Call RMENU to use pack data record to indicate to prompt ***GKS33050 C***** for the lpfk (return). RMENU will call RCHOI to wait for ***GKS33060 C***** a valid choice selection and will pass that selection back ***GKS33070 C***** in CHNR. But in this case, the user could only select ***GKS33080 C***** return as a valid choice, so we will fall down to the ***GKS33090 C***** return statement and go back to the output primitves. ***GKS33100 C***** ***GKS33110 C***********************************************************************GKS33120 GKS33130 CONT = .TRUE. CALL SLEEP(4) ENDIF GKS33150 ENDIF GKS33160 ENDIF GKS33170 ENDIF GKS33180 ENDIF GKS33190 ENDIF GKS33200 ENDIF GKS33210 GKS33220 RETURN GKS33230 END GKS33240 GKS33250 GKS33260 GKS33270 C***********************************************************************GKS33280 C***********************************************************************GKS33290 C***** ***GKS33300 C***** Subroutine Name: DRWHLS ***GKS33310 C***** ***GKS33320 C***** Subroutine Function: Draw a the wheels for the car picture ***GKS33330 C***** through this common subroutine. ***GKS33340 C***** ***GKS33350 C***********************************************************************GKS33360 C***********************************************************************GKS33370 GKS33380 SUBROUTINE DRWHLS(MITX,MITY,N,R) GKS33390 GKS33400 INTEGER*4 N,I GKS33410 REAL*4 MITX,MITY,R,ALPHA,RX(21),RY(21) GKS33420 GKS33430 ALPHA = 0.0 GKS33440 DO 1200 I=1,N GKS33450 RX(I) = MITX + R * SIN(ALPHA) GKS33460 RY(I) = MITY + R * COS(ALPHA) GKS33470 ALPHA = ALPHA + 2.0 * 3.141593 / REAL(N) GKS33480 1200 CONTINUE GKS33490 RX(N+1) = RX(1) GKS33500 RY(N+1) = RY(1) GKS33510 CALL GPL(N+1,RX,RY) GKS33520 GKS33530 RETURN GKS33540 END GKS33550 GKS33560 GKS33570 GKS33580 C***********************************************************************GKS33590 C***********************************************************************GKS33600 C***** ***GKS33610 C***** Subroutine Name: FINSHF ***GKS33620 C***** ***GKS33630 C***** Subroutine Function: Finish the border border for each ***GKS33640 C***** screen of the demo. ***GKS33650 C***** ***GKS33660 C***********************************************************************GKS33670 C***********************************************************************GKS33680 GKS33690 SUBROUTINE FINSHF(MFRAME) GKS33700 INCLUDE 'gkspar.inc' GKS33720 REAL*4 PX2(5),PY3(5),PY5(5) GKS33730 LOGICAL MFRAME GKS33740 GKS33750 DATA PX2 /0.015,0.015,0.985,0.985,0.015/ GKS33760 DATA PY3 /0.015,0.750,0.750,0.015,0.015/ GKS33770 DATA PY5 /0.015,0.900,0.900,0.015,0.015/ GKS33780 GKS33790 IF (MFRAME) THEN GKS33800 CALL GPL (5,PX2,PY3) GKS33810 ELSE GKS33820 CALL GPL(5,PX2,PY5) GKS33830 ENDIF GKS33840 CALL GSTXFP(GFONT1,GSTRKP) GKS33850 CALL GSTXAL(GAHNOR,GAVNOR) GKS33860 CALL GCLSG RETURN GKS33870 END GKS33880 GKS33890 GKS33900 GKS33910 C***********************************************************************GKS33920 C***********************************************************************GKS33930 C***** ***GKS33940 C***** Subroutine Name: INTCRE ***GKS33950 C***** ***GKS33960 C***** Subroutine Function: This subroutine will create a new ***GKS33970 C***** segment. The user can choose to ***GKS33980 C***** create a segment with a polyline, ***GKS33990 C***** polymarker, fill area or text in it. ***GKS34000 C***** ***GKS34010 C***** Calls Subroutines: RCHOI,CREPLN,CREPMK,CREFA,CRETXT ***GKS34020 C***** ***GKS34030 C***********************************************************************GKS34040 C***********************************************************************GKS34050 GKS34060 SUBROUTINE INTCRE GKS34070 INCLUDE 'gkspar.inc' GKS34090 INTEGER*4 WKID,WTYPE,CHNR,ERRIND GKS34100 INTEGER*4 NELVAL,LCHVAL(1),LDRVAL GKS34110 INTEGER*4 NELPRM,LCHPRM(5),LDRPRM GKS34120 GKS34130 REAL*4 XMIN,XMAX,YMIN,YMAX GKS34140 GKS34150 CHARACTER*1 MENVAL GKS34160 CHARACTER*80 DTRVAL(1) GKS34170 CHARACTER*37 MENPRM GKS34180 CHARACTER*80 DTRPRM(5) GKS34190 GKS34200 COMMON /WINF/ WKID,WTYPE GKS34210 COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX GKS34220 GKS34230 DATA MENVAL /' '/ GKS34240 DATA LCHVAL /1/ GKS34250 DATA NELVAL /1/ GKS34260 GKS34270 DATA MENPRM /'POLYLINEPOLYMARKERFILL AREATEXTRETURN'/ GKS34280 DATA LCHPRM /8,10,9,4,6/ GKS34290 DATA NELPRM /5/ GKS34300 GKS34310 C***********************************************************************GKS34320 C***** ***GKS34330 C***** Initialize the valuator for scale factors requested ***GKS34340 C***** later. Initialize the choice device and call RCHOI to ***GKS34350 C***** wait for the user to select which type of segment it ***GKS34360 C***** wishes to create: polyline, polymarker, fill area or ***GKS34370 C***** text. Call the appropriate subroutine based on that ***GKS34380 C***** selection or exit (choice number = 5). ***GKS34390 C***** ***GKS34400 C***********************************************************************GKS34410 GKS34420 CALL GPREC(0,0,0,0.0,NELVAL,LCHVAL,MENVAL,NELVAL,ERRIND, GKS34430 * LDRVAL,DTRVAL) GKS34440 CALL GINVL(WKID,1,1.0,1,((XMAX-XMIN) * 0.66 + XMIN),XMAX, GKS34450 * YMIN,YMAX,0.0,10.0,LDRVAL,DTRVAL) GKS34460 GKS34470 CALL GPREC(0,0,0,0.0,NELPRM,LCHPRM,MENPRM,NELPRM, GKS34480 * ERRIND,LDRPRM,DTRPRM) GKS34490 1300 CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LDRPRM,DTRPRM) GKS34500 CALL GMSGS(WKID,23,'SELECT OUTPUT PRIMITIVE') GKS34510 CALL RCHOI(WKID,5,CHNR) GKS34520 GKS34530 C***********************************************************************GKS34540 C***** ***GKS34550 C***** Call the appropriate subroutine based on the choice ***GKS34560 C***** returned from the user. If choice was RETURN (lpfk 5), ***GKS34570 C***** exit back to main interactive menu panel. ***GKS34580 C***** ***GKS34590 C***********************************************************************GKS34600 GKS34610 IF (CHNR.EQ.1) THEN GKS34620 CALL CREPLN GKS34630 ELSE GKS34640 IF (CHNR.EQ.2) THEN GKS34650 CALL CREPMK GKS34660 ELSE GKS34670 IF (CHNR.EQ.3) THEN GKS34680 CALL CREFA GKS34690 ELSE GKS34700 IF (CHNR.EQ.4) THEN GKS34710 CALL CRETXT GKS34720 ELSE GKS34730 GOTO 1310 GKS34740 ENDIF GKS34750 ENDIF GKS34760 ENDIF GKS34770 ENDIF GKS34780 GOTO 1300 GKS34790 1310 RETURN GKS34800 END GKS34810 GKS34820 GKS34830 GKS34840 C***********************************************************************GKS34850 C***********************************************************************GKS34860 C***** ***GKS34870 C***** Subroutine Name: INTDEL ***GKS34880 C***** ***GKS34890 C***** Subroutine Function: Deletes a segment which is picked ***GKS34900 C***** by the user with the locator ***GKS34910 C***** device. ***GKS34920 C***** ***GKS34930 C***** Calls Subroutine: CRSEGM ***GKS34940 C***** ***GKS34950 C***********************************************************************GKS34960 C***********************************************************************GKS34970 GKS34980 SUBROUTINE INTDEL GKS34990 INCLUDE 'gkspar.inc' GKS35010 INTEGER*4 WKID,WTYPE,STAT,SGNA,PCID GKS35020 GKS35030 LOGICAL SGNAME(50) GKS35040 GKS35050 COMMON /WINF/ WKID,WTYPE GKS35060 COMMON /SEGM/ SGNAME GKS35070 GKS35080 C***********************************************************************GKS35090 C***** ***GKS35100 C***** Call subroutine CRSEGM to create a segment and draw ***GKS35110 C***** a red box with 'RETURN' in it in the upper left hand ***GKS35120 C***** corner of the screen. This segment can be picked by ***GKS35130 C***** the user when it wants to return to the previous menu ***GKS35140 C***** frame (segment number = 6). If a valid segment was ***GKS35150 C***** picked, either delete the segment and wait for the ***GKS35160 C***** next input, or return. ***GKS35170 C***** ***GKS35180 C***********************************************************************GKS35190 GKS35200 CALL CRSEGM GKS35210 1400 CALL GMSGS(WKID,32,'PICK SEGMENT TO DELETE OR RETURN') GKS35220 1410 CALL GRQPK(WKID,1,STAT,SGNA,PCID) GKS35230 IF (STAT.EQ.1) THEN GKS35240 IF (SGNA.GE.7) THEN GKS35250 SGNAME(SGNA) = .FALSE. GKS35260 CALL GDSG(SGNA) GKS35270 GOTO 1400 GKS35280 ELSE GKS35290 CALL GDSG(6) GKS35300 ENDIF GKS35310 ELSE GKS35320 GOTO 1410 GKS35330 ENDIF GKS35340 RETURN GKS35350 END GKS35360 GKS35370 GKS35380 GKS35390 C***********************************************************************GKS35400 C***********************************************************************GKS35410 C***** ***GKS35420 C***** Subroutine Name: INTER ***GKS35430 C***** ***GKS35440 C***** Subroutine Function: This subroutine will demonstrate the ***GKS35450 C***** use of GKS in doing interactive ***GKS35460 C***** graphics functions. It will also use ***GKS35470 C***** the valuator and stroke input devices ***GKS35480 C***** for the first time. ***GKS35490 C***** ***GKS35500 C***** Calls Subroutines: RCHOI,INTCRE,INTINS,INTTRA,INTDEL ***GKS35510 C***** ***GKS35520 C***********************************************************************GKS35530 C***********************************************************************GKS35540 GKS35550 SUBROUTINE INTER GKS35560 INCLUDE 'gkspar.inc' GKS35580 INTEGER*4 WKID,WTYPE,WISS,CHNR,NUMELA,LCHSTR(5),LENGTH,ERRIND GKS35590 GKS35600 REAL*4 FRAME(10),FA3(6),FA4(8),FA5(10),XMIN,XMAX,YMIN,YMAX GKS35610 GKS35620 CHARACTER*33 MENU GKS35630 CHARACTER*80 DTREC(5) GKS35640 GKS35650 LOGICAL SGNAME(50) GKS35660 GKS35670 COMMON /WINF/ WKID,WTYPE GKS35680 COMMON /SEGM/ SGNAME GKS35690 COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX GKS35700 GKS35710 DATA MENU /'CREATEINSERTTRANSFORMDELETERETURN'/ GKS35720 DATA LCHSTR /6,6,9,6,6/ GKS35730 DATA NUMELA /5/ GKS35740 GKS35750 DATA FRAME /0.000,0.000,1.000,1.000,0.000, GKS35760 * 0.000,1.000,1.000,0.000,0.000/ GKS35770 DATA FA3 /0.400,0.600,0.600,0.400,0.400,0.800/ GKS35780 DATA FA4 /0.100,0.200,0.300,0.200,0.200,0.100,0.200,0.300/ GKS35790 DATA FA5 /0.300,0.400,0.350,0.250,0.200, GKS35800 * 0.600,0.500,0.400,0.400,0.500/ GKS35810 GKS35820 C***********************************************************************GKS35830 C***** ***GKS35840 C***** Open the WISS workstation. Initialize the list of segments ***GKS35850 C***** available (SGNAME) to available (false). The first six are ***GKS35860 C***** used by GKSDEMO and therefore never checked for their ***GKS35870 C***** availibility. ***GKS35880 C***** ***GKS35890 C***********************************************************************GKS35900 GKS35910 WISS = WKID + 1 GKS35920 CALL GOPWK(WISS,1,3) GKS35930 CALL GACWK(WISS) GKS35940 DO 1500 I=7,50 GKS35950 SGNAME(I) = .FALSE. GKS35960 1500 CONTINUE GKS35970 GKS35980 C***********************************************************************GKS35990 C***** ***GKS36000 C***** Clear the workstation and draw the initial screen for the ***GKS36010 C***** interactive portion of the demo. This screen consists of ***GKS36020 C***** three segments: one containing a red, hollow triangle. A ***GKS36030 C***** second segment containing a blue, hatched pentagon. And a ***GKS36040 C***** third segment containing a green, solid square. ***GKS36050 C***** ***GKS36060 C***********************************************************************GKS36070 GKS36080 CALL GCLRWK(WKID,1) GKS36090 CALL GSLN(GLSOLI) GKS36100 CALL GSLWSC(1.0) GKS36110 CALL GSPLCI(GYELOW) GKS36120 CALL GPL(5,FRAME(1),FRAME(6)) GKS36130 CALL GCRSG(7) GKS36140 CALL GSDTEC(7,GDETEC) GKS36150 CALL GSFAIS(GHOLLO) GKS36160 CALL GSFACI(GRED) GKS36170 CALL GFA(3,FA3(1),FA3(4)) GKS36180 CALL GCLSG GKS36190 SGNAME(7) = .TRUE. GKS36200 CALL GCRSG(8) GKS36210 CALL GSDTEC(8,GDETEC) GKS36220 CALL GSFAIS(GHATCH) GKS36230 CALL GSFACI(GBLUE) GKS36240 CALL GFA(5,FA5(1),FA5(6)) GKS36250 CALL GCLSG GKS36260 SGNAME(8) = .TRUE. GKS36270 CALL GCRSG(9) GKS36280 CALL GSDTEC(9,GDETEC) GKS36290 CALL GSFAIS(GSOLID) GKS36300 CALL GSFACI(GGREEN) GKS36310 CALL GFA(4,FA4(1),FA4(5)) GKS36320 CALL GCLSG GKS36330 SGNAME(9) = .TRUE. GKS36340 GKS36350 C***********************************************************************GKS36360 C***** ***GKS36370 C***** Initialize the choice device and call subroutine RCHOI to ***GKS36380 C***** wait for one of the following choices: ***GKS36390 C***** Choice 1: Create Segment ***GKS36400 C***** 2: Insert Segment ***GKS36410 C***** 3: Transform Segment ***GKS36420 C***** 4: Delete Segment ***GKS36430 C***** 5: Return ***GKS36440 C***** Call the appropriate function depending on the input ***GKS36450 C***** received from the choice device, or exit. ***GKS36460 C***** ***GKS36470 C***********************************************************************GKS36480 GKS36490 CALL GPREC(0,0,0,0.0,NUMELA,LCHSTR,MENU,NUMELA, GKS36500 * ERRIND,LENGTH,DTREC) GKS36510 1510 CALL GMSGS(WKID,1,' ') GKS36520 CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LENGTH,DTREC) GKS36530 CALL RCHOI(WKID,5,CHNR) GKS36540 IF (CHNR.EQ.1) THEN GKS36550 CALL INTCRE GKS36560 ELSE GKS36570 IF (CHNR.EQ.2) THEN GKS36580 CALL INTINS GKS36590 ELSE GKS36600 IF (CHNR.EQ.3) THEN GKS36610 CALL INTTRA GKS36620 ELSE GKS36630 IF (CHNR.EQ.4) THEN GKS36640 CALL INTDEL GKS36650 ELSE GKS36660 GOTO 1520 GKS36670 ENDIF GKS36680 ENDIF GKS36690 ENDIF GKS36700 ENDIF GKS36710 GOTO 1510 GKS36720 1520 CALL GDAWK(WISS) GKS36730 CALL GCLWK(WISS) GKS36740 RETURN GKS36750 END GKS36760 GKS36770 GKS36780 GKS36790 C***********************************************************************GKS36800 C***********************************************************************GKS36810 C***** ***GKS36820 C***** Subroutine Name: INTINS ***GKS36830 C***** ***GKS36840 C***** Subroutine Function: This subroutine will insert chosen ***GKS36850 C***** segments into a new segment and ***GKS36860 C***** delete the old segment(s). ***GKS36870 C***** ***GKS36880 C***** Calls Subroutines: CRSEGM ***GKS36890 C***** ***GKS36900 C***********************************************************************GKS36910 C***********************************************************************GKS36920 GKS36930 SUBROUTINE INTINS GKS36940 INCLUDE 'gkspar.inc' GKS36960 INTEGER*4 WKID,WTYPE,I,STAT,SGNA,PCID GKS36970 GKS36980 REAL*4 TM(2,3) GKS36990 GKS37000 LOGICAL SGNAME(50) GKS37010 GKS37020 COMMON /WINF/ WKID,WTYPE GKS37030 COMMON /SEGM/ SGNAME GKS37040 GKS37050 C***********************************************************************GKS37060 C***** ***GKS37070 C***** Set up a transformation matrix to hold new segment data. ***GKS37080 C***** Loop through list of segment numbers (segments 1 - 6 are ***GKS37090 C***** reserved for GKSDEMO use) and find the first free segment. ***GKS37100 C***** ***GKS37110 C***********************************************************************GKS37120 GKS37130 CALL GEVTM(0.0,0.0,0.0,0.0,0.0,1.0,1.0,1,TM) GKS37140 DO 1600 I=7,50 GKS37150 IF (.NOT.(SGNAME(I))) THEN GKS37160 GOTO 1610 GKS37170 ENDIF GKS37180 1600 CONTINUE GKS37190 CALL GMSGS(WKID,32,'NO MORE THAN 50 SEGMENTS ALLOWED') GKS37200 GOTO 1640 GKS37210 1610 CALL CRSEGM GKS37220 GKS37230 C***********************************************************************GKS37240 C***** ***GKS37250 C***** Create a new segment and wait for the user to choose all ***GKS37260 C***** existing segments it wants added to the new segment. ***GKS37270 C***** ***GKS37280 C***********************************************************************GKS37290 GKS37300 SGNAME(I) = .TRUE. GKS37310 CALL GCRSG(I) GKS37320 CALL GSDTEC(I,1) GKS37330 CALL GSVIS(I,1) GKS37340 1620 CALL GMSGS(WKID,32,'PICK SEGMENT TO INSERT OR RETURN') GKS37350 1630 CALL GRQPK(WKID,1,STAT,SGNA,PCID) GKS37360 IF (STAT.EQ.1) THEN GKS37370 GKS37380 C***********************************************************************GKS37390 C***** ***GKS37400 C***** If user picked an existing segment for inserting, insert ***GKS37410 C***** the segment in the new segment and delete the old one. ***GKS37420 C***** Continue loop until user chooses 'return' (segment 6). ***GKS37430 C***** ***GKS37440 C***********************************************************************GKS37450 GKS37460 IF (SGNA.GE.7) THEN GKS37470 CALL GINSG(SGNA,TM) GKS37480 CALL GDSG(SGNA) GKS37490 SGNAME(SGNA) = .FALSE. GKS37500 GOTO 1620 GKS37510 ELSE GKS37520 CALL GCLSG GKS37530 CALL GDSG(6) GKS37540 GOTO 1640 GKS37550 ENDIF GKS37560 ELSE GKS37570 GOTO 1630 GKS37580 ENDIF GKS37590 1640 RETURN GKS37600 END GKS37610 GKS37620 GKS37630 GKS37640 C***********************************************************************GKS37650 C***********************************************************************GKS37660 C***** ***GKS37670 C***** Subroutine Name: INTTRA ***GKS37680 C***** ***GKS37690 C***** Subroutine Function: Perform transformations on selected ***GKS37700 C***** segments, allowing the user to ***GKS37710 C***** input the various transformation ***GKS37720 C***** variables: fixed point, shift ***GKS37730 C***** factor, rotation angle and x,y ***GKS37740 C***** scaling factors. ***GKS37750 C***** ***GKS37760 C***** Calls Subroutine: RCHOI ***GKS37770 C***** ***GKS37780 C***********************************************************************GKS37790 C***********************************************************************GKS37800 GKS37810 SUBROUTINE INTTRA GKS37820 INCLUDE 'gkspar.inc' GKS37840 INTEGER*4 WKID,WTYPE,CHNR1,ERRIND,SW GKS37850 INTEGER*4 STAT,SGNA,PCID,NUMEL1,LCHST1(6),LENGT1,STATVL GKS37860 INTEGER*4 VIS,HIGHL,DET,NUMEL2,LCHST2(1),LENGT2,STATLC,TNR GKS37870 GKS37880 REAL*4 XMIN,XMAX,YMIN,YMAX GKS37890 REAL*4 SEGTM(2,3),SGPR,X0,Y0,DX,DY,PHI,FX,FY GKS37900 REAL*4 MOUT(2,3),PX1(1),PY1(1),SCFACT,PX2(1),PY2(1) GKS37910 GKS37920 CHARACTER*42 MENU1 GKS37930 CHARACTER*1 MENU2 GKS37940 CHARACTER*80 DTREC1(6) GKS37950 CHARACTER*80 DTREC2(1) GKS37960 GKS37970 COMMON /WINF/ WKID,WTYPE GKS37980 COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX GKS37990 GKS38000 DATA MENU1 /'TRANS-SGMTFIXPOINTSHIFTROTATESCALINGRETURN'/ GKS38010 DATA LCHST1 /10,8,5,6,7,6/ GKS38020 DATA NUMEL1 /6/ GKS38030 GKS38040 DATA MENU2 /' '/ GKS38050 DATA LCHST2 /1/ GKS38060 DATA NUMEL2 /1/ GKS38070 GKS38080 C***********************************************************************GKS38090 C***** ***GKS38100 C***** Set up the transformation default values. Use pack data ***GKS38110 C***** record to set up the prompts for the choice device. The ***GKS38120 C***** choices are: transformation segment, fixed point, shift, ***GKS38130 C***** rotate and scaling factors, and return. ***GKS38140 C***** ***GKS38150 C***********************************************************************GKS38160 GKS38170 X0 = 0.5 GKS38180 Y0 = 0.5 GKS38190 DX = 0.0 GKS38200 DY = 0.0 GKS38210 PHI = 0.0 GKS38220 FX = 1.0 GKS38230 FY = 1.0 GKS38240 SW = 0 GKS38250 CALL GSMK(GAST) GKS38260 CALL GSMKSC(1.0) GKS38270 CALL GSPMCI(GBLUE) GKS38280 CALL GPREC(0,0,0,0.0,NUMEL1,LCHST1,MENU1,NUMEL1, GKS38290 * ERRIND,LENGT1,DTREC1) GKS38300 CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LENGT1,DTREC1) GKS38310 1700 CALL GMSGS(WKID,26,' SELECT FOR TRANSFORMATION') GKS38320 CALL RCHOI(WKID,6,CHNR1) GKS38330 GKS38340 C***********************************************************************GKS38350 C***** ***GKS38360 C***** If the user chose to pick the transformation segment, ***GKS38370 C***** then call subroutine to add a pickable segment for ***GKS38380 C***** 'RETURN' (segment 6). Read the segment number that was ***GKS38390 C***** picked. If not the return segment, then perform the ***GKS38400 C***** transformation with the current values in each of the ***GKS38410 C***** transformation parameters. Otherwise, delete segment 6 ***GKS38420 C***** (return segment) and exit the transformation routine. ***GKS38430 C***** ***GKS38440 C***********************************************************************GKS38450 GKS38460 IF (CHNR1.EQ.1) THEN GKS38470 CALL CRSEGM GKS38480 CALL GMSGS(WKID,22,'PICK SEGMENT OR RETURN') GKS38490 1710 CALL GRQPK(WKID,1,STAT,SGNA,PCID) GKS38500 IF (STAT.EQ.1) THEN GKS38510 IF (SGNA.GE.7) THEN GKS38520 CALL GQSGA(SGNA,ERRIND,SEGTM,VIS,HIGHL,SGPR,DET) GKS38530 CALL GACTM(SEGTM,X0,Y0,DX,DY,PHI,FX,FY,SW,MOUT) GKS38540 CALL GSSGT(SGNA,MOUT) GKS38550 CALL GMSGS(WKID,27,'PICK NEXT SEGMENT OR RETURN') GKS38560 GOTO 1710 GKS38570 ELSE GKS38580 CALL GDSG(6) GKS38590 ENDIF GKS38600 ENDIF GKS38610 ELSE GKS38620 GKS38630 C***********************************************************************GKS38640 C***** ***GKS38650 C***** Set up the pick device so that the user can enter a ***GKS38660 C***** fixed point using the locator device. Once a fixed point ***GKS38670 C***** has been returned, exit back to the main choice panel. ***GKS38680 C***** ***GKS38690 C***********************************************************************GKS38700 GKS38710 IF (CHNR1.EQ.2) THEN GKS38720 CALL GPREC(0,0,0,0.0,NUMEL2,LCHST2,MENU2,NUMEL2, GKS38730 * ERRIND,LENGT2,DTREC2) GKS38740 CALL GINLC(WKID,1,1,0.1,0.1,2,XMIN,XMAX,YMIN,YMAX, GKS38750 * LENGT2,DTREC2) GKS38760 CALL GMSGS(WKID,17,'LOCATE FIX POINT') GKS38770 1720 CALL GRQLC(WKID,1,STATLC,TNR,PX1(1),PY1(1)) GKS38780 IF (STATLC.EQ.1) THEN GKS38790 X0 = PX1(1) GKS38800 Y0 = PY1(1) GKS38810 ELSE GKS38820 GOTO 1720 GKS38830 ENDIF GKS38840 ELSE GKS38850 GKS38860 C***********************************************************************GKS38870 C***** ***GKS38880 C***** Set up the pick device so that the user can enter two ***GKS38890 C***** point from which the shift factor can be determined. ***GKS38900 C***** Once both points have been entered, calculate the shift ***GKS38910 C***** factors and return to the main choice panel. ***GKS38920 C***** ***GKS38930 C***********************************************************************GKS38940 GKS38950 IF (CHNR1.EQ.3) THEN GKS38960 CALL GINLC(WKID,1,1,0.1,0.1,3,XMIN,XMAX,YMIN,YMAX, GKS38970 * LENGT2,DTREC2) GKS38980 CALL GMSGS(WKID,18,'LOCATE FIRST POINT') GKS38990 1730 CALL GRQLC(WKID,1,STATLC,TNR,PX1(1),PY1(1)) GKS39000 IF (STATLC.EQ.1) THEN GKS39010 CALL GINLC(WKID,1,1,PX1(1),PY1(1),4,XMIN,XMAX, GKS39020 * YMIN,YMAX,LENGT2,DTREC2) GKS39030 CALL GMSGS(WKID,19,'LOCATE SECOND POINT') GKS39040 1740 CALL GRQLC(WKID,1,STATLC,TNR,PX2(1),PY2(1)) GKS39050 IF (STATLC.EQ.1) THEN GKS39060 DX = PX2(1) - PX1(1) GKS39070 DY = PY2(1) - PY1(1) GKS39080 ELSE GKS39090 GOTO 1740 GKS39100 ENDIF GKS39110 ELSE GKS39120 GOTO 1730 GKS39130 ENDIF GKS39140 ELSE GKS39150 GKS39160 C***********************************************************************GKS39170 C***** ***GKS39180 C***** Use the valuator input to determine the rotation angle in ***GKS39190 C***** radians. Once input from the valuator has been received ***GKS39200 C***** (user turns valuator and then hits ENTER), return back to ***GKS39210 C***** the main transformation choice panel. ***GKS39220 C***** ***GKS39230 C***********************************************************************GKS39240 GKS39250 IF (CHNR1.EQ.4) THEN GKS39260 CALL GINVL(WKID,1,1.0,1,((XMAX-XMIN) * 0.66 + XMIN), GKS39270 * XMAX,YMIN,YMAX,0.0,6.2832,LENGT2,DTREC2) GKS39280 CALL GMSGS(WKID,35, GKS39290 * 'EVALUATE ROTATION ANGLE IN RADIANS') GKS39300 1750 CALL GRQVL(WKID,1,STATVL,SCFACT) GKS39310 IF (STATVL.EQ.1) THEN GKS39320 PHI = SCFACT GKS39330 ELSE GKS39340 GOTO 1750 GKS39350 ENDIF GKS39360 ELSE GKS39370 GKS39380 C***********************************************************************GKS39390 C***** ***GKS39400 C***** Use the valuator input to determine the x and y scaling ***GKS39410 C***** factors. Once both values have been received (user turns ***GKS39420 C***** valuator and then hits ENTER), return back to the main ***GKS39430 C***** transformation choice panel. ***GKS39440 C***** ***GKS39450 C***********************************************************************GKS39460 GKS39470 IF (CHNR1.EQ.5) THEN GKS39480 CALL GINVL(WKID,1,1.0,1, GKS39490 * ((XMAX-XMIN) * 0.66 + XMIN),XMAX, GKS39500 * YMIN,YMAX,0.0,5.0,LENGT2,DTREC2) GKS39510 CALL GMSGS(WKID,25,'EVALUATE X - SCALE FACTOR') GKS39520 1760 CALL GRQVL(WKID,1,STATVL,SCFACT) GKS39530 IF (STATVL.EQ.1) THEN GKS39540 FX = SCFACT GKS39550 CALL GMSGS(WKID,25,'EVALUATE Y - SCALE FACTOR') GKS39560 1770 CALL GRQVL(WKID,1,STATVL,SCFACT) GKS39570 IF (STATVL.EQ.1) THEN GKS39580 FY = SCFACT GKS39590 ELSE GKS39600 GOTO 1770 GKS39610 ENDIF GKS39620 ELSE GKS39630 GOTO 1760 GKS39640 ENDIF GKS39650 GKS39660 C***********************************************************************GKS39670 C***** ***GKS39680 C***** User selected choice key 6 - RETURN. Exit out of the ***GKS39690 C***** transformation panel and back to the Interactive main ***GKS39700 C***** choice panel. ***GKS39710 C***** ***GKS39720 C***********************************************************************GKS39730 GKS39740 ELSE GKS39750 GOTO 1780 GKS39760 ENDIF GKS39770 ENDIF GKS39780 ENDIF GKS39790 ENDIF GKS39800 ENDIF GKS39810 GOTO 1700 GKS39820 1780 RETURN GKS39830 END GKS39840 GKS39850 GKS39860 GKS39870 C***********************************************************************GKS39880 C***********************************************************************GKS39890 C***** ***GKS39900 C***** Subroutine Name: MAPDEM ***GKS39910 C***** ***GKS39920 C***** Subroutine Function: High level picture of how the GKS-CO ***GKS39930 C***** mapper fits into the graPHIGS systems ***GKS39940 C***** picture. ***GKS39950 C***** ***GKS39960 C***** Calls Subroutines: SETUPF,FINSHF,RMENU ***GKS39970 C***** ***GKS39980 C***********************************************************************GKS39990 C***********************************************************************GKS40000 GKS40010 SUBROUTINE MAPDEM GKS40020 INCLUDE 'gkspar.inc' GKS40040 INTEGER*4 WKID,WTYPE GKS40050 REAL*4 GKSX(4),PAPPX(4),GAPPX(4),PHIGSX(4),PWKX(4), GKS40060 * GKSY(4),PAPPY(4),GAPPY(4),PHIGSY(4),PWKY(4) GKS40070 REAL*4 PLX(27),PLY(27),ALPHA GKS40080 REAL*4 XMIN,XMAX,YMIN,YMAX,TXTX,TXTY GKS40090 REAL*4 PAPX(10),GAGX(10),GPX(10),PWX(10), GKS40100 * PAPY(10),GAGY(10),GPY(10),PWY(10), GKS40110 * PLATTX(10),PLATTY(10),X(10),WKMX(3),WKMY(3) GKS40120 LOGICAL CONT GKS40130 GKS40140 COMMON /WINF/ WKID,WTYPE GKS40150 COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX GKS40160 COMMON /TEXT/ TXTX,TXTY GKS40170 GKS40180 DATA EMPTRP /0.0/ GKS40190 DATA GKSX /08.3,08.3,14.5,14.5/, GKS40200 * GKSY /09.5,13.5,13.5,09.5/ GKS40210 DATA PAPPX /01.5,01.5,07.7,07.7/, GKS40220 * PAPPY /14.5,15.8,15.8,14.5/ GKS40230 DATA GAPPX /08.3,08.3,14.5,14.5/, GKS40240 * GAPPY /14.5,15.8,15.8,14.5/ GKS40250 DATA PHIGSX /01.5,01.5,14.5,14.5/, GKS40260 * PHIGSY /04.3,08.8,08.8,04.3/ GKS40270 DATA PWKX /01.5,01.5,03.5,03.5/, GKS40280 * PWKY /01.2,03.5,03.5,01.2/ GKS40290 DATA PAPX /04.6,04.5,04.6,04.7,04.6,04.6,04.5,04.6,04.7,04.6/GKS40300 * PAPY /14.3,14.3,14.5,14.3,14.3,09.0,09.0,08.8,09.0,09.0/GKS40310 DATA GAGX /11.4,11.3,11.4,11.5,11.4,11.4,11.3,11.4,11.5,11.4/GKS40320 * GAGY /14.3,14.3,14.5,14.3,14.3,13.7,13.7,13.5,13.7,13.7/GKS40330 DATA GPX /11.4,11.3,11.4,11.5,11.4,11.4,11.3,11.4,11.5,11.4/GKS40340 * GPY /09.3,09.3,09.5,09.3,09.3,09.0,09.0,08.8,09.0,09.0/GKS40350 DATA PWX /02.5,02.4,02.5,02.6,02.5,02.5,02.4,02.5,02.6,02.5/GKS40360 * PWY /04.1,04.1,04.3,04.1,04.1,03.7,03.7,03.5,03.7,03.7/GKS40370 DATA PLATTX /14.7,14.7,14.5,14.7,14.7,15.1,15.1,15.3,15.1,15.1/GKS40380 * PLATTY /12.5,12.6,12.5,12.4,12.5,12.5,12.6,12.5,12.4,12.5/GKS40390 DATA WKMX /08.0,09.5,11.0/, GKS40400 * WKMY /2.35,2.35,2.35/ GKS40410 GKS40420 C***********************************************************************GKS40430 C***** ***GKS40440 C***** Call the setup frame and finish frame subroutines to ***GKS40450 C***** create the border and title of the display frame for ***GKS40460 C***** the gks-co diagram of the demo. This frame of the ***GKS40470 C***** demo shows a flowchart type picture of how gks-co fits ***GKS40480 C***** in with graPHIGS and both gks and phigs applications. ***GKS40490 C***** ***GKS40500 C***********************************************************************GKS40510 GKS40520 CALL SETUPF(.FALSE.,.FALSE.) GKS40530 CALL GTXS(TXTX,TXTY,20,' XGKS ') GKS40540 CALL FINSHF(.FALSE.) GKS40550 GKS40560 C***********************************************************************GKS40570 C***** ***GKS40580 C***** Set the window, view and some text and fill area ***GKS40590 C***** parameters. ***GKS40600 C***** ***GKS40610 C***********************************************************************GKS40620 GKS40630 CALL GSCHXP(0.9) GKS40640 CALL GSTXFP(GFONT1,GSTRKP) GKS40650 CALL GSWN(2,0.0,18.0,0.0,18.0) GKS40660 CALL GSVP(2,0.0,1.0,0.0,1.0) GKS40670 CALL GSELNT(2) GKS40680 CALL GSFAIS(1) GKS40690 GKS40700 C***********************************************************************GKS40710 C***** ***GKS40720 C***** Create a blue rectangle to hold the text which will ***GKS40730 C***** denote the graPHIGS API layer in the flowchart picture. ***GKS40740 C***** ***GKS40750 C***********************************************************************GKS40760 GKS40770 CALL GSFACI(GBLUE) GKS40780 CALL GFA(4,PHIGSX,PHIGSY) GKS40790 CALL GSCHH(1.0) GKS40800 CALL GSTXAL(GACENT,GAHALF) GKS40810 CALL GSTXCI(GWHITE) GKS40820 CALL GSTXFP(GFONT2,GSTRKP) GKS40830 CALL GSCHSP(0.1) GKS40840 CALL GTXS(8.0,6.55,17,'graPHIGS (TM) API') GKS40850 GKS40860 C***********************************************************************GKS40870 C***** ***GKS40880 C***** Create three small light blue rectangles at the bottom ***GKS40890 C***** of the flowchart to denote the workstations connected ***GKS40900 C***** via graPHIGS. ***GKS40910 C***** ***GKS40920 C***********************************************************************GKS40930 GKS40940 CALL GSFACI(GLBLUE) GKS40950 CALL GSTXCI(GBLUE) GKS40960 CALL GSCHH(1.0) GKS40970 CALL GSCHSP(0.1) GKS40980 CALL GFA(4,PWKX,PWKY) GKS40990 CALL GTXS(2.5,2.35,1,'1') GKS41000 DO 1800 I=1,4 GKS41010 X(I) = PWKX(I) + 3.0 GKS41020 1800 CONTINUE GKS41030 CALL GFA(4,X,PWKY) GKS41040 CALL GTXS(5.5,2.35,1,'2') GKS41050 DO 1810 I=1,4 GKS41060 X(I) = X(I) + 8.0 GKS41070 1810 CONTINUE GKS41080 CALL GFA(4,X,PWKY) GKS41090 CALL GTXS(13.5,2.35,1,'N') GKS41100 CALL GSTXCI(GWHITE) GKS41110 CALL GSCHH(0.6) GKS41120 CALL GSCHSP(0.5) GKS41130 CALL GSCHXP(1.2) GKS41140 CALL GSTXAL(GACENT,GAVNOR) GKS41150 CALL GTXS(8.0,0.35,12,'WORKSTATIONS') GKS41160 GKS41170 C***********************************************************************GKS41180 C***** ***GKS41190 C***** Create an orange rectangle above the graPHIGS API layer ***GKS41200 C***** to denote the GKS-CO interpreter layer. ***GKS41210 C***** ***GKS41220 C***********************************************************************GKS41230 GKS41240 CALL GSCHSP(0.1) GKS41250 CALL GSCHXP(0.9) GKS41260 CALL GSFACI(GORNGE) GKS41270 CALL GFA(4,GKSX,GKSY) GKS41280 CALL GSCHH(0.9) GKS41290 CALL GSTXAL(GACENT,GAHALF) GKS41300 CALL GTXS(11.4,11.5,6,'GKS-CO') GKS41310 GKS41320 C***********************************************************************GKS41330 C***** ***GKS41340 C***** Write Metafile Input Output directly under the picture of ***GKS41350 C***** a disk storage device (this will be drawn later in the ***GKS41360 C***** program). ***GKS41370 C***** ***GKS41380 C***********************************************************************GKS41390 GKS41400 CALL GSCHH(0.2) GKS41410 CALL GSCHSP(0.2) GKS41420 CALL GSTXFP(GFONT1,GSTRKP) GKS41430 CALL GTXS(16.3,11.5,8,'METAFILE') GKS41440 CALL GTXS(16.3,11.2,5,'INPUT') GKS41450 CALL GTXS(16.3,10.9,6,'OUTPUT') GKS41460 GKS41470 C***********************************************************************GKS41480 C***** ***GKS41490 C***** Create two green rectangles at the top of the flowchart, ***GKS41500 C***** one denoting a phigs application and one denoting a gks ***GKS41510 C***** application. ***GKS41520 C***** ***GKS41530 C***********************************************************************GKS41540 GKS41550 CALL GSCHSP(0.1) GKS41560 CALL GSFACI(GMGREN) GKS41570 CALL GSTXCI(GWHITE) GKS41580 CALL GSCHSP(0.2) GKS41590 CALL GFA(4,GAPPX,GAPPY) GKS41600 CALL GSCHH(0.3) GKS41610 CALL GTXS(11.4,15.15,15,'GKS APPLICATION') GKS41620 CALL GSCHH(0.25) GKS41630 CALL GFA(4,PAPPX,PAPPY) GKS41640 CALL GTXS(4.6,15.15,25,'graPHIGS (TM) APPLICATION') GKS41650 GKS41660 C***********************************************************************GKS41670 C***** ***GKS41680 C***** Calculate the points in order to draw a grey-blue disk ***GKS41690 C***** storage device off to the side of the GKS-CO layer that ***GKS41700 C***** will denote the GKS-CO metafile capability. ***GKS41710 C***** ***GKS41720 C***********************************************************************GKS41730 GKS41740 CALL GSTXCI(GBLUE) GKS41750 CALL GSCHSP(0.1) GKS41760 PLX(27) = 16.3 GKS41770 PLY(27) = 13.0 GKS41780 ALPHA = -3.141593 / 2.0 GKS41790 DO 1820 I = 1,13 GKS41800 PLX(I) = PLX(27) + 1.00 * SIN(ALPHA) GKS41810 PLY(I) = PLY(27) + 0.25 * COS(ALPHA) GKS41820 ALPHA = ALPHA + 3.141593 / 12.0 GKS41830 1820 CONTINUE GKS41840 ALPHA = 3.141593 / 2.0 GKS41850 PLY(27) = 12.0 GKS41860 DO 1830 I=14,26 GKS41870 PLX(I) = PLX(27) + 1.00 * SIN(ALPHA) GKS41880 PLY(I) = PLY(27) + 0.25 * COS(ALPHA) GKS41890 ALPHA = ALPHA + 3.141593 / 12.0 GKS41900 1830 CONTINUE GKS41910 CALL GSFACI(GGRAYB) GKS41920 CALL GFA(26,PLX,PLY) GKS41930 PLX(27) = PLX(1) GKS41940 PLY(27) = PLY(1) GKS41950 GKS41960 C***********************************************************************GKS41970 C***** ***GKS41980 C***** Outline the disk storage icon with a white polyline. ***GKS41990 C***** ***GKS42000 C***********************************************************************GKS42010 GKS42020 CALL GSPLCI(GWHITE) GKS42030 CALL GPL(27,PLX,PLY) GKS42040 PLX(27) = 16.3 GKS42050 PLY(27) = 13.0 GKS42060 ALPHA = 3.141593 / 2.0 GKS42070 DO 1840 I=1,13 GKS42080 PLX(I) = PLX(27) + 1.00 * SIN(ALPHA) GKS42090 PLY(I) = PLY(27) + 0.25 * COS(ALPHA) GKS42100 ALPHA = ALPHA + 3.141593 / 12.0 GKS42110 1840 CONTINUE GKS42120 CALL GPL(13,PLX,PLY) GKS42130 GKS42140 C***********************************************************************GKS42150 C***** ***GKS42160 C***** Draw directional arrows between all the layers in the ***GKS42170 C***** flowchart. ***GKS42180 C***** ***GKS42190 C***********************************************************************GKS42200 GKS42210 CALL GSPLCI(GLBLUE) GKS42220 CALL GPL(10,PLATTX,PLATTY) GKS42230 CALL GPL(10,PAPX,PAPY) GKS42240 CALL GPL(10,GAGX,GAGY) GKS42250 CALL GPL(10,GPX,GPY) GKS42260 CALL GPL(10,PWX,PWY) GKS42270 DO 1850 I=1,10 GKS42280 X(I) = PWX(I) + 3.0 GKS42290 1850 CONTINUE GKS42300 CALL GPL(10,X,PWY) GKS42310 DO 1860 I=1,10 GKS42320 X(I) = X(I) + 8.0 GKS42330 1860 CONTINUE GKS42340 CALL GPL(10,X,PWY) GKS42350 GKS42360 C***********************************************************************GKS42370 C***** ***GKS42380 C***** Draw three light blue polymarkers inbetween the connected ***GKS42390 C***** workstations to denote that there are up to 'n' ***GKS42400 C***** workstations connected. Return the transformation view ***GKS42410 C***** back to view one. ***GKS42420 C***** ***GKS42430 C***********************************************************************GKS42440 GKS42450 CALL GSPMCI(GLBLUE) GKS42460 CALL GPM(3,WKMX,WKMY) GKS42470 CALL GSELNT(1) GKS42480 CONT = .TRUE. CALL SLEEP(4) RETURN GKS42500 END GKS42510 GKS42520 GKS42530 GKS42540 C***********************************************************************GKS42550 C***********************************************************************GKS42560 C***** ***GKS42570 C***** Subroutine Name: PRIMIT ***GKS42580 C***** ***GKS42590 C***** Subroutine Function: This subroutine demonstrates all the ***GKS42600 C***** output primitives and their ***GKS42610 C***** attributes. ***GKS42620 C***** ***GKS42630 C***** Calls Subroutines: SETUPF,FINSHF,RCHOI,DEMOPM,DEMOPL ***GKS42640 C***** DEMOTX,DEMOFA,DEMOCA,DEMOGD ***GKS42650 C***** ***GKS42660 C***********************************************************************GKS42670 C***********************************************************************GKS42680 GKS42690 SUBROUTINE PRIMIT GKS42700 INCLUDE 'gkspar.inc' GKS42720 INTEGER*4 WKID,WTYPE,LCHSTR(7),LENGTH,CHNR,ERRIND,NUMELA GKS42730 INTEGER*4 NUMELA,I,J,PIXEL(9,9) GKS42740 GKS42750 REAL*4 FRAME(10),XMIN,XMAX,YMIN,YMAX,TXTX,TXTY GKS42760 REAL*4 PMX(13),PMY(13),ALPHA,PI,PX(5),PY(5) GKS42770 REAL*4 ZX(6),ZY(6),FA3(6),FA4(8),FA5(10) GKS42780 GKS42790 CHARACTER*50 MENU GKS42800 CHARACTER*80 DTREC(7) GKS42810 GKS42820 COMMON /WINF/ WKID,WTYPE GKS42830 COMMON /TEXT/ TXTX,TXTY GKS42840 COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX GKS42850 GKS42860 DATA FRAME /0.000,0.000,0.995,0.995,0.000, GKS42870 * 0.000,0.995,0.995,0.000,0.000/ GKS42880 DATA PIXEL /08,08,13,13,13,13,13,08,08, GKS42890 * 08,08,08,13,13,13,08,08,08, GKS42900 * 08,08,08,13,13,13,08,08,08, GKS42910 * 08,12,08,13,13,12,08,12,08, GKS42920 * 12,12,12,12,12,12,12,12,12, GKS42930 * 12,12,12,12,12,12,12,12,12, GKS42940 * 12,12,12,12,12,12,12,12,12, GKS42950 * 08,12,12,12,12,12,12,12,08, GKS42960 * 08,08,12,12,12,12,12,08,08/ GKS42970 DATA FA3 /0.350,0.750,0.750,0.250,0.250,0.850/ GKS42980 DATA FA4 /0.250,0.650,0.650,0.250,0.100,0.100,0.450,0.450/ GKS42990 DATA FA5 /0.450,0.650,0.750,0.550,0.350, GKS43000 * 0.350,0.350,0.550,0.650,0.550/ GKS43010 DATA MENU /'POLYMARKERPOLYLINETEXTFILL AREACELL ARRAYGDPRETURN'/ GKS43020 DATA LCHSTR /10,8,4,9,10,3,6/ GKS43030 DATA NUMELA /7/ GKS43040 GKS43050 C***********************************************************************GKS43060 C***** ***GKS43070 C***** Use pack data record to set up the prompt array for the ***GKS43080 C***** choice input device. ***GKS43090 C***** ***GKS43100 C***********************************************************************GKS43110 GKS43120 CALL GPREC(0,0,0,0.0,NUMELA,LCHSTR,MENU,NUMELA, GKS43130 * ERRIND,LENGTH,DTREC) GKS43140 GKS43150 C***********************************************************************GKS43160 C***** ***GKS43170 C***** One big loop to keep drawing main output primitives menu ***GKS43180 C***** until the user selects the 'return' choice (lpfk 7). ***GKS43190 C***** Draw the outside border around the output primitives menu. ***GKS43200 C***** ***GKS43210 C***********************************************************************GKS43220 GKS43230 1900 CALL SETUPF(.TRUE.,.FALSE.) GKS43240 CALL GTXS(TXTX,0.886,6,'OUTPUT') GKS43250 CALL GTXS(TXTX,0.788,10,'PRIMITIVES') GKS43260 CALL FINSHF(.TRUE.) GKS43270 GKS43280 C***********************************************************************GKS43290 C***** ***GKS43300 C***** Draw six boxes which indicate the six choice alternatives: ***GKS43310 C***** Choice 1: Polymarker ***GKS43320 C***** 2: Polyline ***GKS43330 C***** 3: Text ***GKS43340 C***** 4: Fill Area ***GKS43350 C***** 5: Cell Array ***GKS43360 C***** 6: GDPs ***GKS43370 C***** ***GKS43380 C***********************************************************************GKS43390 GKS43400 CALL GSCHH(0.060) GKS43410 CALL GSWN(2,0.0,1.0,0.0,1.0) GKS43420 CALL GSVP(2,0.075,0.325,0.395,0.695) GKS43430 CALL GSELNT(2) GKS43440 GKS43450 C****************************************************************** GKS43460 C***** ***** GKS43470 C***** Draw the polymarker choice box, place the text ***** GKS43480 C***** 'polymarker' in the box, and draw a circle of ***** GKS43490 C***** polymarkers in the box. ***** GKS43500 C***** ***** GKS43510 C****************************************************************** GKS43520 GKS43530 CALL GPL(5,FRAME(1),FRAME(6)) GKS43540 CALL GSCHSP(0.2) GKS43550 CALL GTXS(0.100,0.900,12,'POLYMARKER ') GKS43560 PMX(1) = 0.50 GKS43570 PMY(1) = 0.45 GKS43580 PI = 3.141593 GKS43590 ALPHA = 0.0 GKS43600 DO 1910 I=2,13 GKS43610 PMX(I) = PMX(1) + 0.3 * SIN(ALPHA) GKS43620 PMY(I) = PMY(1) + 0.3 * COS(ALPHA) GKS43630 ALPHA = ALPHA + 2.0 * PI / 12.0 GKS43640 1910 CONTINUE GKS43650 CALL GSMK(GAST) GKS43660 CALL GSMKSC(1.0) GKS43670 CALL GSPMCI(GGREEN) GKS43680 CALL GPM(13,PMX,PMY) GKS43690 GKS43700 C****************************************************************** GKS43710 C***** ***** GKS43720 C***** Draw the polyline choice box, place the text ***** GKS43730 C***** 'polyline' in the box, and draw a star with ***** GKS43740 C***** blue polylines in the box. ***** GKS43750 C***** ***** GKS43760 C****************************************************************** GKS43770 GKS43780 CALL GSVP(2,0.375,0.625,0.395,0.695) GKS43790 CALL GPL(5,FRAME(1),FRAME(6)) GKS43800 CALL GTXS(0.100,0.900,12,'POLYLINE ') GKS43810 ALPHA = 0.0 GKS43820 DO 1920 I=1,5 GKS43830 PX(I) = 0.5 +0.35 * SIN(ALPHA) GKS43840 PY(I) = 0.4 +0.35 * COS(ALPHA) GKS43850 ALPHA = ALPHA + 2.0 * PI / 5.0 GKS43860 1920 CONTINUE GKS43870 CALL GSLN(GSOLID) GKS43880 CALL GSLWSC(1.0) GKS43890 CALL GSPLCI(GLBLUE) GKS43900 DO 1940 I=1,2 GKS43910 DO 1930 J=0,5 GKS43920 K = MOD(I*J,5) GKS43930 ZX(J+1) = PX(K+1) GKS43940 ZY(J+1) = PY(K+1) GKS43950 1930 CONTINUE GKS43960 CALL GPL(6,ZX,ZY) GKS43970 1940 CONTINUE GKS43980 CALL GSPLCI(GYELOW) GKS43990 GKS44000 C****************************************************************** GKS44010 C***** ***** GKS44020 C***** Draw the text choice box, place the text 'text' ***** GKS44030 C***** in the box, and draw 'GKS TEXT OUTPUT' in green, ***** GKS44040 C***** red, and blue in the box. ***** GKS44050 C***** ***** GKS44060 C****************************************************************** GKS44070 GKS44080 CALL GSVP(2,0.675,0.925,0.395,0.695) GKS44090 CALL GPL(5,FRAME(1),FRAME(6)) GKS44100 CALL GTXS(0.100,0.900,12,'TEXT ') GKS44110 CALL GSTXFP(1,GCHARP) GKS44120 CALL GSCHH(0.2) GKS44130 CALL GSTXCI(GGREEN) GKS44140 CALL GTXS(0.22,0.60,3,'GKS') GKS44150 CALL GSTXFP(2,GCHARP) GKS44160 CALL GSCHH(0.1) GKS44170 CALL GSTXCI(GRED) GKS44180 CALL GTXS(0.27,0.45,4,'TEXT') GKS44190 CALL GSTXFP(1,GSTRKP) GKS44200 CALL GSCHH(0.1) GKS44210 CALL GSTXCI(GLBLUE) GKS44220 CALL GSCHUP(1.0,1.0) GKS44230 CALL GTXS(0.18,0.33,1,'O') GKS44240 CALL GSCHUP(1.0,2.0) GKS44250 CALL GTXS(0.30,0.25,1,'U') GKS44260 CALL GSCHUP(1.0,4.0) GKS44270 CALL GTXS(0.42,0.20,1,'T') GKS44280 CALL GSCHUP(-1.0,4.0) GKS44290 CALL GTXS(0.57,0.19,1,'P') GKS44300 CALL GSCHUP(-1.0,2.0) GKS44310 CALL GTXS(0.68,0.23,1,'U') GKS44320 CALL GSCHUP(-1.0,1.0) GKS44330 CALL GTXS(0.79,0.30,1,'T') GKS44340 CALL GSCHUP(0.0,1.0) GKS44350 CALL GSTXFP(1,GSTRKP) GKS44360 CALL GSTXCI(GYELOW) GKS44370 CALL GSCHH(0.06) GKS44380 CALL GSCHSP(0.2) GKS44390 GKS44400 C****************************************************************** GKS44410 C***** ***** GKS44420 C***** Draw the fill area box, place the text 'fill ***** GKS44430 C***** area' in the box, and draw some different solid ***** GKS44440 C***** color shapes in the box. ***** GKS44450 C***** ***** GKS44460 C****************************************************************** GKS44470 GKS44480 CALL GSVP(2,0.075,0.325,0.045,0.345) GKS44490 CALL GPL(5,FRAME(1),FRAME(6)) GKS44500 CALL GTXS(0.100,0.900,12,'FILL AREA ') GKS44510 CALL GSFASI(1) GKS44520 CALL GSFAIS(GSOLID) GKS44530 CALL GSFACI(GMAGNT) GKS44540 CALL GFA(3,FA3(1),FA3(4)) GKS44550 CALL GSFACI(GMRED) GKS44560 CALL GFA(4,FA4(1),FA4(5)) GKS44570 CALL GSFACI(GMGREN) GKS44580 CALL GFA(5,FA5(1),FA5(6)) GKS44590 GKS44600 C****************************************************************** GKS44610 C***** ***** GKS44620 C***** Draw the cell array box, place the text 'cell ***** GKS44630 C***** array' in the box, and draw a picture of a tree ***** GKS44640 C***** using the cell array primitive. ***** GKS44650 C***** ***** GKS44660 C****************************************************************** GKS44670 GKS44680 CALL GSVP(2,0.375,0.625,0.045,0.345) GKS44690 CALL GPL(5,FRAME(1),FRAME(6)) GKS44700 CALL GTXS(0.100,0.900,12,'CELL ARRAY ') GKS44710 CALL GCA(0.250,0.250,0.750,0.750,9,9,1,1,9,9,PIXEL) GKS44720 GKS44730 C****************************************************************** GKS44740 C***** ***** GKS44750 C***** Draw the GDPs box, place the text 'GDPs' in the ***** GKS44760 C***** box, and display 'not available' in the box also ***** GKS44770 C***** (as there is no GDP support in GKS-CO as yet). ***** GKS44780 C***** ***** GKS44790 C****************************************************************** GKS44800 GKS44810 CALL GSVP(2,0.675,0.925,0.045,0.345) GKS44820 CALL GPL(5,FRAME(1),FRAME(6)) GKS44830 CALL GTXS(0.100,0.900,12,'GDPs ') GKS44840 CALL GTXS(0.05,0.4,13,'NOT AVAILABLE') GKS44850 GKS44860 C****************************************************************** GKS44870 C***** ***** GKS44880 C***** Initialize the choice device and call subroutine ***** GKS44890 C***** RCHOI to wait for valid choice input. Analyze the ***** GKS44900 C***** input and call the appropriate routine. ***** GKS44910 C***** ***** GKS44920 C****************************************************************** GKS44930 GKS44940 CALL GSCHSP(0.1) GKS44950 CALL GSELNT(1) GKS44960 CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LENGTH,DTREC) GKS44970 CALL SLEEP(5) DO 1949 CHNR=1,5 IF (CHNR.EQ.1) THEN GKS44990 CALL DEMOPM GKS45000 ELSE GKS45010 IF (CHNR.EQ.2) THEN GKS45020 CALL DEMOPL GKS45030 ELSE GKS45040 IF (CHNR.EQ.3) THEN GKS45050 CALL DEMOTX GKS45060 ELSE GKS45070 IF (CHNR.EQ.4) THEN GKS45080 CALL DEMOFA GKS45090 ELSE GKS45100 IF (CHNR.EQ.5) THEN GKS45110 CALL DEMOCA GKS45120 ELSE GKS45130 IF (CHNR.EQ.6) THEN GKS45140 CALL DEMOGD GKS45150 ELSE GKS45160 GOTO 1950 GKS45170 ENDIF GKS45180 ENDIF GKS45190 ENDIF GKS45200 ENDIF GKS45210 ENDIF GKS45220 ENDIF GKS45230 1949 CONTINUE GKS45240 C***********************************************************************GKS45250 C***** ***GKS45260 C***** Continue the big loop to draw the output primitive menu. ***GKS45270 C***** ***GKS45280 C***********************************************************************GKS45290 GKS45300 GOTO 1900 GKS45310 GKS45320 C***********************************************************************GKS45330 C***** ***GKS45340 C***** The user has setected the 'return' choice. ***GKS45350 C***** ***GKS45360 C***********************************************************************GKS45370 GKS45380 1950 RETURN GKS45390 END GKS45400 GKS45410 GKS45420 GKS45430 C***********************************************************************GKS45440 C***********************************************************************GKS45450 C***** ***GKS45460 C***** Subroutine Name: RCHOI ***GKS45470 C***** ***GKS45480 C***** Subroutine Function: This subroutine will wait on valid ***GKS45490 C***** input from the choice device (lpfks). ***GKS45500 C***** If invalid input is received, put out ***GKS45510 C***** an appropriate message and wait for ***GKS45520 C***** another input choice. ***GKS45530 C***** ***GKS45540 C***********************************************************************GKS45550 C***********************************************************************GKS45560 GKS45570 SUBROUTINE RCHOI(WKID,MXCHNR,CHNR) GKS45580 GKS45590 INTEGER WKID,MXCHNR,CHNR,STAT GKS45600 GKS45610 2000 CALL GRQCH(WKID,1,STAT,CHNR) GKS45620 IF (STAT.EQ.1) THEN GKS45630 IF ((CHNR.GT.0).AND.(CHNR.LE.MXCHNR)) THEN GKS45640 CALL GMSG(WKID,' ') GKS45650 GOTO 2010 GKS45660 ELSE GKS45670 CALL GMSGS(WKID,22,' INVALID CHOICE NUMBER') GKS45680 STAT=0 GKS45690 ENDIF GKS45700 ELSE GKS45710 CALL GMSGS(WKID,22,' CHOICE NOT SUCCESSFUL') GKS45720 ENDIF GKS45730 GOTO 2000 GKS45740 2010 CONTINUE GKS45750 RETURN GKS45760 END GKS45770 GKS45780 C***********************************************************************GKS45790 C***********************************************************************GKS45800 C***** ***GKS45810 C***** Subroutine Name: RMENU ***GKS45820 C***** ***GKS45830 C***** Subroutine Function: This subroutine will use pack data ***GKS45840 C***** record to get the choice prompts ***GKS45850 C***** set up and then it will initialize ***GKS45860 C***** the choice device (lpfks) and call ***GKS45870 C***** subroutine RCHOI to wait for valid ***GKS45880 C***** choice input. ***GKS45890 C***** ***GKS45900 C***** Calls Subroutines: RCHOI ***GKS45910 C***** ***GKS45920 C***** Input: prompt - true: one prompt (return) ***GKS45930 C***** false: two prompts (continue and return) ***GKS45940 C***** ***GKS45950 C***** Output: cont - true: user selected the continue choice ***GKS45960 C***** - false: user selected the return choice ***GKS45970 C***** ***GKS45980 C***********************************************************************GKS45990 C***********************************************************************GKS46000 GKS46010 SUBROUTINE RMENU(PROMPT,CONT) GKS46020 INCLUDE 'gkspar.inc' GKS46040 INTEGER*4 WKID,LCHSTR(1),LCHST2(2),LENG1,ERRIND,CHNR GKS46050 REAL*4 XMIN,XMAX,YMIN,YMAX GKS46060 LOGICAL PROMPT,CONT GKS46070 CHARACTER*6 MENU GKS46080 CHARACTER*14 MENU2 GKS46090 CHARACTER*80 DTREC1(1) GKS46100 GKS46110 COMMON /WINF/ WKID,WTYPE GKS46120 COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX GKS46130 GKS46140 DATA MENU /'RETURN'/ GKS46150 DATA MENU2 /'CONTINUERETURN'/ GKS46160 DATA LCHSTR /6/ GKS46170 DATA LCHST2 /8,6/ GKS46180 GKS46190 IF (PROMPT) THEN GKS46200 CALL GPREC(0,0,0,0.0,1,LCHSTR,MENU,LCHSTR,ERRIND,LENG1,DTREC1) GKS46210 NUMELA = 1 GKS46220 ELSE GKS46230 CALL GPREC(0,0,0,0.0,2,LCHST2,MENU2,LCHST2,ERRIND,LENG1,DTREC1) GKS46240 NUMELA = 2 GKS46250 ENDIF GKS46260 CALL GINCH(WKID,1,GOK,1,3,XMIN,XMAX,YMIN,YMAX,LENG1,DTREC1) GKS46270 CALL RCHOI(WKID,NUMELA,CHNR) GKS46280 IF ((CHNR.EQ.1).AND.(NUMELA.EQ.2)) THEN GKS46290 CONT = .TRUE. GKS46300 ELSE GKS46310 CONT = .FALSE. GKS46320 ENDIF GKS46330 RETURN GKS46340 END GKS46350 GKS46360 GKS46370 GKS46380 C***********************************************************************GKS46390 C***********************************************************************GKS46400 C***** ***GKS46410 C***** Subroutine Name: SETCOL ***GKS46420 C***** ***GKS46430 C***** Subroutine Function: To set up the color table for the ***GKS46440 C***** workstation indicated in WKID. ***GKS46450 C***** ***GKS46460 C***********************************************************************GKS46470 C***********************************************************************GKS46480 GKS46490 SUBROUTINE SETCOL GKS46500 GKS46510 INTEGER*4 WKID,I,WTYPE GKS46520 REAL*4 RED(15),GREEN(15),BLUE(15) GKS46530 COMMON /WINF/ WKID,WTYPE GKS46540 GKS46550 DATA RED /1.00,0.00,0.00,1.00,1.00,1.00,0.66,0.00,0.00,0.33, GKS46560 * 0.33,0.00,0.66,0.66,1.00/ GKS46570 DATA GREEN /0.00,1.00,0.00,1.00,0.33,0.00,0.00,1.00,0.66,0.33, GKS46580 * 1.00,0.66,0.00,0.66,1.00/ GKS46590 DATA BLUE /0.00,0.00,1.00,0.00,0.00,1.00,0.66,1.00,1.00,0.66, GKS46600 * 0.33,0.00,0.00,0.66,1.00/ GKS46610 GKS46620 DO 2100 I=1,15 GKS46630 CALL GSCR(WKID,I,RED(I),GREEN(I),BLUE(I)) GKS46640 2100 CONTINUE GKS46650 RETURN GKS46660 END GKS46670 GKS46680 GKS46690 GKS46700 C***********************************************************************GKS46710 C***********************************************************************GKS46720 C***** ***GKS46730 C***** Subroutine Name: SETUPF ***GKS46740 C***** ***GKS46750 C***** Subroutine Function: To draw the frame border for each ***GKS46760 C***** screen of the demo. ***GKS46770 C***** ***GKS46780 C***********************************************************************GKS46790 C***********************************************************************GKS46800 GKS46810 SUBROUTINE SETUPF(MFRAME,FRAME3) GKS46820 INCLUDE 'gkspar.inc' GKS46840 INTEGER*4 WKID,WTYPE GKS46850 REAL*4 PX1(5),PX2(5),PY1(5),PY2(5),PY4(5) GKS46860 REAL*4 TXTX,TXTY GKS46870 LOGICAL MFRAME,FRAME3 GKS46880 COMMON /WINF/ WKID,WTYPE GKS46890 COMMON /TEXT/ TXTX,TXTY GKS46900 GKS46910 DATA PX1 /0.000,0.000,1.000,1.000,0.000/ GKS46920 DATA PX2 /0.015,0.015,0.985,0.985,0.015/ GKS46930 DATA PY1 /0.000,1.000,1.000,0.000,0.000/ GKS46940 DATA PY2 /0.765,0.985,0.985,0.765,0.765/ GKS46950 DATA PY4 /0.915,0.985,0.985,0.915,0.915/ GKS46960 GKS46970 C***********************************************************************GKS46980 C***** ***GKS46990 C***** Clear the workstation whether it is empty or not. ***GKS47000 C***** ***GKS47010 C***********************************************************************GKS47020 GKS47030 CALL GCLRWK(WKID,GALWAY) GKS47040 GKS47050 C***********************************************************************GKS47060 C***** ***GKS47070 C***** Draw the outside frame border. ***GKS47080 C***** ***GKS47090 C***********************************************************************GKS47100 GKS47110 CALL GCRSG (1259) CALL GSLN(GLSOLI) GKS47120 CALL GSLWSC(1.0) GKS47130 GKS47140 C***********************************************************************GKS47150 C***** ***GKS47160 C***** If drawing menu 3, the color indices will be invalid, ***GKS47170 C***** so a special index must be set up for the color wanted. ***GKS47180 C***** If not, set the color to yellow from the current color ***GKS47190 C***** table. Draw the top line. ***GKS47200 C***** ***GKS47210 C***********************************************************************GKS47220 GKS47230 IF (FRAME3) THEN GKS47240 CALL GSCR(WKID,15,1.0,1.0,0.0) GKS47250 CALL GSPLCI(15) GKS47260 ELSE GKS47270 CALL GSPLCI(GYELOW) GKS47280 ENDIF GKS47290 CALL GPL(5,PX1,PY1) GKS47300 GKS47310 C***********************************************************************GKS47320 C***** ***GKS47330 C***** Draw the frame that goes around the text at the top of ***GKS47340 C***** the mainframe. ***GKS47350 C***** ***GKS47360 C***********************************************************************GKS47370 GKS47380 TXTX=0.5 GKS47390 IF (MFRAME) THEN GKS47400 CALL GPL(5,PX2,PY2) GKS47410 CALL GSCHH(0.072) GKS47420 TXTY=0.835 GKS47430 ELSE GKS47440 CALL GPL(5,PX2,PY4) GKS47450 CALL GSCHH(0.036) GKS47460 TXTY=0.931 GKS47470 ENDIF GKS47480 GKS47490 C***********************************************************************GKS47500 C***** ***GKS47510 C***** Set up the text attributes and go back to the routine ***GKS47520 C***** from which this subroutine was called. ***GKS47530 C***** ***GKS47540 C***********************************************************************GKS47550 GKS47560 CALL GSTXFP(GFONT2,GCHARP) GKS47570 CALL GSTXAL(GACENT,GAVNOR) GKS47580 CALL GSTXCI(GYELOW) GKS47590 CALL GSCHXP(1.0) GKS47600 RETURN GKS47610 END GKS47620 GKS47630 GKS47640 GKS47650 subroutine lines integer wkid integer lintyp integer i integer npnts integer color integer nxtcol real x1(2) real y1(2) real x2(2) real y2(2) real x(1404) real y(1404) data wkid /1/ lintyp = 1 call gsln (lintyp) call gclrwk (wkid, 1) x1(1) = -1.0 x1(2) = 1.0 x2(1) = -1.0 x2(2) = 1.0 do 10 i = 100, 0, -1 y1(1) = float (i) / 100.0 y1(2) = y1(1) y2(1) = -y1(1) y2(2) = y2(1) color = nxtcol ('LINE') call gpl (2, x1, y1) call gpl (2, y1, x1) call gpl (2, x2, y2) call gpl (2, y2, x2) 10 continue call gclrwk (wkid, 1) x1(2) = -1 x2(2) = 1 y1(1) = 1 y2(1) = -1 do 20 i = -100, 100 x1(1) = float (i) / 100.0 x2(1) = -x1(1) y1(2) = x2(1) y2(2) = x1(1) color = nxtcol ('LINE') call gpl (2, x1, y1) call gpl (2, x1, y2) call gpl (2, x2, y1) call gpl (2, x2, y2) 20 continue do 30 npnts = 1400, 1403 call getpts (npnts, 400, -0.5, 0.0, 0.25, 0.5, x, y) call gclrwk (wkid, 1) color = nxtcol ('LINE') call gpl (npnts+1, x, y) 30 continue do 40 npnts = 900, 903 call getpts (npnts, 300, 0.25, 1.0, 0.5, 0.0, x, y) call gclrwk (wkid, 1) color = nxtcol ('LINE') call gpl (npnts+1, x, y) 40 continue do 50 npnts = 1301, 1303 call getpts (npnts, 650, -0.25, 0.1, 0.15, 0.0, x, y) call gclrwk (wkid, 1) color = nxtcol ('LINE') call gpl (npnts+1, x, y) 50 continue do 60 npnts = 1200, 1203 call getpts (npnts, 300, 0.1, 0.0, 0.1, 0.2, x, y) call gclrwk (wkid, 1) color = nxtcol ('LINE') call gpl (npnts+1, x, y) 60 continue call gsln (1) call sleep(2) return end subroutine getpts (npnts, nfreq, hole, xrot, yrot, zrot, x, y) integer npnts integer nfreq real hole real xrot real yrot real zrot real x(*) real y(*) integer ndx real diam real radius real t real sint real z real dist diam = 1.0 - hole radius = (1.0 + hole) / 2.0 do 10 ndx = 1, npnts t = float (ndx) / float (npnts) * 2.0 * 3.1415927 sint = sin (float (nfreq) * t) if (abs (sint) .le. 0.5) then z = diam * sint dist = -diam * sqrt (0.25 - sint*sint) elseif (sint .le. 0.0) then z = -diam * (1.0+sint) dist = diam * sqrt (0.25 - (1.0+sint)*(1.0+sint)) else z = diam * (1.0-sint) dist = diam * sqrt (0.25 - (1.0-sint)*(1.0-sint)) endif dist = radius + dist x(ndx) = dist * sin (t) y(ndx) = dist * cos (t) call rotate (x(ndx), y(ndx), z, xrot) call rotate (y(ndx), z, x(ndx), yrot) call rotate (z, x(ndx), y(ndx), zrot) 10 continue x(npnts+1) = x(1) y(npnts+1) = y(1) return end subroutine rotate (x, y, z, angle) real x real y real z real angle real r real theta r = sqrt (y * y + z * z) if ((y .eq. 0.0) .and. (z .eq. 0.0)) then theta = 0.0 else theta = atan2 (y, z) endif y = r * sin (theta + angle) z = r * cos (theta + angle) return end integer function nxtcol (type) character*4 type integer ncols, color common /color/ ncols, color color = color + 10 if (color .ge. 256) color = 1 if (type(1:1) .eq. 'L') then call gsplci (color) elseif (type(1:1) .eq. 'F') then call gsfaci (color) elseif (type(1:1) .eq. 'T') then call gstxci (color) endif nxtcol = color return end subroutine plot () integer level common /level/ level character*4 funcnm(3) integer wkid integer grdfrq integer if integer func integer i integer errind integer col1, col2 real x(100) real y(100) real txexpx(4) real txexpy(4) real cpx real cpy data funcnm /' sin', ' cos', 'frac'/ data wkid /1/ do 40 grdfrq = 1, 1 do 30 if = 0, 3 func = mod (if, 3) + 1 call gclrwk (wkid, 1) call grid (grdfrq, col1, col2) call gschh (0.06) call gstxal (1, 3) if (col1 .ne. 0) call gstxci (col1) call gtx (0.65, 0.95, funcnm(func)) call gsln (1) do 10 i = 1, 100 x(i) = -0.8 + float(i-1) * 1.7 / 99.0 if (func .eq. 1) then y(i) = 0.8 * sin (float (i-1) / 9.9) elseif (func .eq. 2) then y(i) = 0.8 * cos (float (i-1) / 9.9) elseif (func .eq. 3) then y(i) = 0.8 * (float (i-1) / 9.9 - + float (int (float (i-1) / 9.9))) endif 10 continue if (col1 .ne. 0) call gsplci (col1) call gpl (100, x, y) call gschh (0.06) call gstxal (1, 3) if (col2 .ne. 0) call gstxci (col2) call gtx (0.65, 0.87, funcnm(func)) call gqtxx (wkid, 0.65, 0.87, funcnm(func), errind, cpx, + cpy, txexpx, txexpy) call gschh (0.04) call gstxal (1, 4) call gtx (cpx, 0.87, '2') call gsln (2) do 20 i = 1, 100 if (func .eq. 1) then y(i) = sin (float (i-1) / 9.9) elseif (func .eq. 2) then y(i) = cos (float (i-1) / 9.9) elseif (func .eq. 3) then y(i) = float (i-1) / 9.9 - + float (int (float (i-1) / 9.9)) endif y(i) = 0.8 * y(i) * y(i) 20 continue if (col2 .ne. 0) call gsplci (col2) call gpl (100, x, y) call sleep(3) 30 continue 40 continue call gsln (1) call gstxal (0, 0) if (level .ge. 0) call gslwsc (1.0) return 100 format (1X, 'Plot started at ', A8, '.') 101 format (1X, 'Plot finished at ', A8, '. Elapsed time:', F8.2, + ' seconds.', /) end subroutine grid (grdfrq, col1, col2) integer grdfrq integer col1 integer col2 integer level common /level/ level character*3 xlabel character*5 ylabel integer grdlns integer i integer color integer nxtcol real x(2) real y(2) real offset real lwidth color = nxtcol ('LINE') call gsln (1) if (level .ge. 0) call gslwsc (1.0) grdlns = grdfrq * 8 x(1) = -0.8 x(2) = 0.9 offset = 0.0 if (grdlns .ne. 0) offset = 1.6 / float (grdlns) do 10 i = 0, grdlns if ((grdfrq .gt. 1) .and. (mod (i, grdfrq) .eq. 0) .and. + (level .ge. 0)) call gslwsc (3.0) y(1) = -0.8 + float(i) * offset y(2) = y(1) call gpl (2, x, y) if ((grdfrq .gt. 1) .and. (mod (i, grdfrq) .eq. 0) .and. + (level .ge. 0)) call gslwsc (1.0) 10 continue if (level .ge. 0) call gstxfp (1, 2) call gschh (0.04) call gstxal (3, 3) do 20 i = -4, 4 call gtx (-0.83, -0.8 + float (i+4) / 8.0 * 1.6, ylabel) 20 continue grdlns = grdfrq * 9 y(1) = -0.8 y(2) = 0.8 offset = 0.0 if (grdlns .ne. 0) offset = 1.7 / float (grdlns) do 30 i = 0, grdlns if ((grdfrq .gt. 1) .and. (mod (i, grdfrq) .eq. 0) .and. + (level .ge. 0)) call gslwsc (3.0) x(1) = -0.8 + float(i) * offset x(2) = x(1) call gpl (2, x, y) if ((grdfrq .gt. 1) .and. (mod (i, grdfrq) .eq. 0) .and. + (level .ge. 0)) call gslwsc (1.0) 30 continue call gstxal (2, 1) do 40 i = 0, 9 call gtx (-0.8 + float (i) * 1.7 / 9.0, -0.83, xlabel) 40 continue call gschh (0.10) call gstxal (0, 0) color = nxtcol ('TEXT') call gtx (-0.75, 0.85, 'Plot Test') lwidth = 3.0 if (grdfrq .gt. 1) lwidth = 5.0 if (level .ge. 0) call gslwsc (lwidth) x(1) = 0.20 x(2) = 0.60 y(1) = 0.95 y(2) = 0.95 call gsln (1) call gpl (2, x, y) y(1) = 0.87 y(2) = 0.87 call gsln (2) call gpl (2, x, y) call gsln (1) return 100 format (F5.2) 101 format (F3.1) end xgks-2.6.1+dfsg.2/src/progs/xhib/dist.mk0000644000175000017500000000114311413611016021045 0ustar amckinstryamckinstry# $Header: /cvsroot/xgks/xgks/progs/xhib/dist.mk,v 2.5.4.1 1993/03/10 19:43:30 steve Exp $ # # Makefile to copy distribution to vms and unix ftp directories. # # HISTORY: # $Log: dist.mk,v $ # Revision 2.5.4.1 1993/03/10 19:43:30 steve # Initial placement under CVS control. # THIS_DIR = src/gks/x/xgks/demo/xhib/ SUBDIRS = \ # Sources common to UNIX and VMS distributions SOURCES = \ # Sources for UNIX distribution only UNIX_SOURCES = \ Imakefile \ Makefile \ gkspar.inc \ m \ xhib.f \ # Sources for VMS distribution only VMS_SOURCES = \ # include /usr/local/ldm/src/dist.mk-rules xgks-2.6.1+dfsg.2/src/progs/xhib/Imakefile0000644000175000017500000000470011413611016021364 0ustar amckinstryamckinstry# # # Copyright IBM Corporation 1989 # # All Rights Reserved # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose and without fee is hereby granted, # provided that the above copyright notice appear in all copies and that # both that copyright notice and this permission notice appear in # supporting documentation, and that the name of IBM not be # used in advertising or publicity pertaining to distribution of the # software without specific, written prior permission. # # IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING # ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL # IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR # ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, # WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, # ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS # SOFTWARE. # # Demo/xhib Imakefile for XGKS tree # # Author: Todd Gill # # $Header: /cvsroot/xgks/xgks/progs/xhib/Imakefile,v 2.5.4.1 1993/03/10 19:43:33 steve Exp $ # # $Log: Imakefile,v $ # Revision 2.5.4.1 1993/03/10 19:43:33 steve # Initial placement under CVS control. # # Revision 1.1.1.1 90/02/14 12:14:51 steve # Initial IBM/Illinois release # # Revision 1.1 90/02/14 12:14:49 steve # Initial revision # # Revision 4.8 89/09/07 11:56:31 amy # make dependencies # # Revision 4.7 89/09/07 11:36:30 amy # make dependencies # # Revision 4.6 89/09/06 16:36:26 amy # make dependencies # # Revision 4.5 89/09/06 16:27:40 amy # make dependencies # # Revision 4.4 89/09/06 16:21:36 amy # make dependencies # # Revision 4.3 89/09/06 16:05:17 amy # make dependencies # # Revision 4.2 89/09/06 15:43:24 amy # make dependencies # # Revision 4.1 89/09/06 14:37:04 amy # make dependencies # # Revision 4.0 89/08/31 11:49:42 amy # Changed IBM copyright for MIT distribution. # # Revision 1.1 89/08/31 11:48:53 amy # Initial revision # # # INSTALLHOME=/usr/lib/xgks ILIBDIR = $(INSTALLHOME)/lib IHDIR = $(INSTALLHOME)/include GKSLIB = $(ILIBDIR)/libxgks.a LOCAL_LIBRARIES = $(ILIBDIR)/libxgks.a FORTLIB = $(ILIBDIR)/fortxgks.a LDFLAGS = -lX11 -lm INCLUDES = -I$(IHDIR) -I. CC = f77 OBJS1 = xhib.o SRCS1 = xhib.f SRCS = $(SRCS1) OBJS = $(OBJS1) PROGRAMS = xhib FORTRAN_LIB = $(FORTLIB) $(LOCAL_LIBRARIES) ComplexProgramTarget_1(xhib,$(FORTRAN_LIB),) # DO NOT DELETE xgks-2.6.1+dfsg.2/src/progs/xhib/xhibvers.c0000644000175000017500000000170411413611016021552 0ustar amckinstryamckinstry/* * Copyright (C) 1988, 1989, 1990 UCAR/Unidata * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose without fee is hereby granted, provided * that the above copyright notice appear in all copies, that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of UCAR/Unidata not be used in * advertising or publicity pertaining to distribution of the software * without specific, written prior permission. UCAR makes no * representations about the suitability of this software for any purpose. * It is provided "as is" without express or implied warranty. It is * provided with no support and without obligation on the part of UCAR * Unidata, to assist in its use, correction, modification, or enhancement. */ char *xhibvers () { static char ConfID[] = "1.1 [published] (Tue Mar 27 13:35:31 1990 by steve@groucho)"; return ConfID; } xgks-2.6.1+dfsg.2/src/progs/xhib/Shapefile0000644000175000017500000000057011413611016021377 0ustar amckinstryamckinstry# $Header: /cvsroot/xgks/xgks/progs/xhib/Shapefile,v 2.5.4.1 1993/03/10 19:43:33 steve Exp $ # # $__copyright$ # # Shapefile for the "demo/xhib" subdirectory of the XGKS package. IMPORT = SHAPEINCPATH SHAPEINCPATH = /u2/ldm/src/shape MY_COMPONENTS = $(VERSIONID).c \ gkspar.inc xhib.f \ Imakefile Makefile MAKEFILE = makefile.shape include $(SHAPEINCPATH)/stdshapefile xgks-2.6.1+dfsg.2/src/progs/xhib/CVS/0000755000175000017500000000000011413611016020205 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/progs/xhib/CVS/Entries0000644000175000017500000000070211413611016021540 0ustar amckinstryamckinstry/Imakefile/2.5.4.1/Wed Mar 10 19:43:33 1993// /Makefile/2.5.4.1/Wed Mar 10 19:43:33 1993// /Shapefile/2.5.4.1/Wed Mar 10 19:43:33 1993// /deps/2.5.4.1/Wed Mar 10 19:43:33 1993// /dist.mk/2.5.4.1/Wed Mar 10 19:43:30 1993// /gkspar.inc/2.5.4.1/Wed Mar 10 19:43:30 1993// /m/2.5.4.1/Wed Mar 10 19:43:33 1993// /makefile.shape/2.5.4.1/Wed Mar 10 19:43:33 1993// /xhib.f/2.5.4.1/Wed Mar 10 19:43:30 1993// /xhibvers.c/2.5.4.1/Wed Mar 10 19:43:33 1993// D xgks-2.6.1+dfsg.2/src/progs/xhib/CVS/Repository0000644000175000017500000000002011413611016022277 0ustar amckinstryamckinstryxgks/progs/xhib xgks-2.6.1+dfsg.2/src/progs/xhib/CVS/Root0000644000175000017500000000006111413611016021050 0ustar amckinstryamckinstry:pserver:anonymous@cvs.XGKS.sf.net:/cvsroot/xgks xgks-2.6.1+dfsg.2/src/progs/xhib/gkspar.inc0000644000175000017500000005573211413611016021550 0ustar amckinstryamckinstryC*********************************************************************** C*********************************************************************** C*********************************************************************** C* Copyright IBM Corporation 1989 C* C* All Rights Reserved C* C* Permission to use, copy, modify, and distribute this software and its C* documentation for any purpose and without fee is hereby granted, C* provided that the above copyright notice appear in all copies and that C* both that copyright notice and this permission notice appear in C* supporting documentation, and that the name of IBM not be C* used in advertising or publicity pertaining to distribution of the C* software without specific, written prior permission. C* C* IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING C* ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL C* IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR C* ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, C* WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, C* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS C* SOFTWARE. C* C***** ***** C***** Product: graPHIGS GKS-CO Demonstration Program ***** C***** ***** C***** File Name: gkspar.inc ***** C***** ***** C***** Descriptive Name: This file contains mnemonic FORTRAN ***** C***** names and their values for GKS ***** C***** enumeration types. Each enumeration ***** C***** type is a variable initialized ***** C***** through a parameter statement. The ***** C***** last two sections (font types and ***** C***** color table indexes) are not standard ***** C***** GKS FORTRAN enumerations, but were ***** C***** added specifically for use by the ***** C***** GKSDEMO program. ***** C***** ***** C*********************************************************************** C*********************************************************************** C*********************************************************************** C*********************************************************************** C***** ***** C***** Aspect Source Flag: Bundled, Individual ***** C***** ***** C*********************************************************************** INTEGER*4 GBUNDL,GINDIV PARAMETER (GBUNDL = 0, GINDIV = 1) C*********************************************************************** C***** ***** C***** Attribute Control Flag: Current, Specified ***** C***** ***** C*********************************************************************** INTEGER*4 GCURNT,GSPEC PARAMETER (GCURNT = 0, GSPEC = 1) C*********************************************************************** C***** ***** C***** Clear Control Flag: Conditionally, Always ***** C***** ***** C*********************************************************************** INTEGER*4 GCONDI,GALWAY PARAMETER (GCONDI = 0, GALWAY = 1) C*********************************************************************** C***** ***** C***** Clipping Indicator: No Clip, Clip ***** C***** ***** C*********************************************************************** INTEGER*4 GNCLIP,GCLIP PARAMETER (GNCLIP = 0, GCLIP = 1) C*********************************************************************** C***** ***** C***** Color Available: Monochrome, Color ***** C***** ***** C*********************************************************************** INTEGER*4 GMONOC,GCOLOR PARAMETER (GMONOC = 0, GCOLOR = 1) C*********************************************************************** C***** ***** C***** Coordinate Switch: WC,NDC ***** C***** ***** C*********************************************************************** INTEGER*4 GWC,GNDC PARAMETER (GWC = 0, GNDC = 1) C*********************************************************************** C***** ***** C***** Deferral Mode: ASAP, BNIG, BNIL, ASTI ***** C***** ***** C*********************************************************************** INTEGER*4 GASAP,GBNIG,GBNIL,GASTI PARAMETER (GASAP = 0, GBNIG = 1, GBNIL = 2, GASTI = 3) C*********************************************************************** C***** ***** C***** Detectability: Undetectable, Detectable ***** C***** ***** C*********************************************************************** INTEGER*4 GUNDET,GDETEC PARAMETER (GUNDET = 0, GDETEC = 1) C*********************************************************************** C***** ***** C***** Device Coordinate Units: Meters, Other ***** C***** ***** C*********************************************************************** INTEGER*4 GMETRE,GOTHU PARAMETER (GMETRE = 0, GOTHU = 1) C*********************************************************************** C***** ***** C***** Displace Surface Empty: Not Empty, Empty ***** C***** ***** C*********************************************************************** INTEGER*4 GNEMPT,GEMPTY PARAMETER (GNEMPT = 0, GEMPTY = 1) C*********************************************************************** C***** ***** C***** Dynamic Modification: Implicit Regeneration, Immediate ***** C***** ***** C*********************************************************************** INTEGER*4 GIRG,GIMM PARAMETER (GIRG = 0, GIMM = 1) C*********************************************************************** C***** ***** C***** Echo Switch: No Echo, Echo ***** C***** ***** C*********************************************************************** INTEGER*4 GNECHO,GECHO PARAMETER (GNECHO = 0, GECHO = 1) C*********************************************************************** C***** ***** C***** Fill Area Interior Style: Hollow, Solid, Pattern, Hatch ***** C***** ***** C*********************************************************************** INTEGER*4 GHOLLO,GSOLID,GPATTR,GHATCH PARAMETER (GHOLLO = 0, GSOLID = 1, GPATTR = 2, GHATCH = 3) C*********************************************************************** C***** ***** C***** GDP Attributes: Polyline, Polymarker, Text, Fill Area ***** C***** ***** C*********************************************************************** INTEGER*4 GPLATT, GPMATT, GTXATT, GFAATT PARAMETER (GPLATT = 0, GPMATT = 1, GTXATT = 2, GFAATT = 3) C*********************************************************************** C***** ***** C***** Highlighting: Normal, Highlighted ***** C***** ***** C*********************************************************************** INTEGER*4 GNORML,GHILIT PARAMETER (GNORML = 0, GHILIT = 1) C*********************************************************************** C***** ***** C***** Initial Choice Prompt Flag: Off, On ***** C***** ***** C*********************************************************************** INTEGER*4 GPROFF,GPRON PARAMETER (GPROFF = 0, GPRON = 1) C*********************************************************************** C***** ***** C***** Input Device Status: None, OK, No Pick or No Choice ***** C***** ***** C*********************************************************************** INTEGER*4 GNONE, GOK, GNPICK, GNCHOI PARAMETER (GNONE = 0, GOK = 1, GNPICK = 2, GNCHOI = 3) C*********************************************************************** C***** ***** C***** Input Class: None, Locator, Stroke, Valuator, Choice, ***** C***** Pick, String ***** C***** ***** C*********************************************************************** INTEGER*4 GNCLAS,GLOCAT,GSTROK,GVALUA,GCHOIC,GPICK,GSTRIN PARAMETER (GNCLAS = 0, GLOCAT = 1, GSTROK = 2, GVALUA = 3) PARAMETER (GCHOIC = 4, GPICK = 5, GSTRIN = 6) C*********************************************************************** C***** ***** C***** Implicit Regeneration Mode: Suppressed, Allowed ***** C***** ***** C*********************************************************************** INTEGER*4 GSUPPD,GALLOW PARAMETER (GSUPPD = 0, GALLOW = 1) C*********************************************************************** C***** ***** C***** Level of GKS: 0a, 0b, 0c, 1a, 1b, 1c, 2a, 2b, 2c ***** C***** ***** C*********************************************************************** INTEGER*4 GL0A,GL0B,GL0C,GL1A,GL1B,GL1C,GL2A,GL2B,GL2C PARAMETER (GL0A = 0, GL0B = 1, GL0C = 2, GL1A = 3, GL1B = 4) PARAMETER (GL1C = 5, GL2A = 6, GL2B = 7, GL2C = 8) C*********************************************************************** C***** ***** C***** Line Type: Solid, Dash, Dot, Dash-Dot ***** C***** ***** C*********************************************************************** INTEGER*4 GLSOLI,GLDASH,GLDOT,GLDASD PARAMETER (GLSOLI = 1, GLDASH = 2, GLDOT = 3, GLDASD = 4) C*********************************************************************** C***** ***** C***** Marker Type: Period, Plus, Asterisk, Circle, Cross ***** C***** ***** C*********************************************************************** INTEGER*4 GPOINT,GPLUS,GAST,GOMARK,GXMARK PARAMETER (GPOINT = 1, GPLUS = 2, GAST = 3, GOMARK = 4) PARAMETER (GXMARK = 5) C*********************************************************************** C***** ***** C***** New Frame Action Necessary: No, Yes ***** C***** ***** C*********************************************************************** INTEGER*4 GNO,GYES PARAMETER (GNO = 0, GYES = 1) C*********************************************************************** C***** ***** C***** Operating Mode: Request, Sample, Event ***** C***** ***** C*********************************************************************** INTEGER*4 GREQU,GSAMPL,GEVENT PARAMETER (GREQU = 0, GSAMPL = 1, GEVENT = 2) C*********************************************************************** C***** ***** C***** Operating State Value: GKCL, GKOP, WSOP, WSAC, SGOP ***** C***** ***** C*********************************************************************** INTEGER*4 GGKCL,GGKOP,GWSOP,GWSAC,GSGOP PARAMETER (GGKCL = 0, GGKOP = 1, GWSOP = 2, GWSAC = 3) PARAMETER (GSGOP = 4) C*********************************************************************** C***** ***** C***** Polyline/Fill Area Control Flag: Polyline, Fill Area ***** C***** ***** C*********************************************************************** INTEGER*4 GPLINE,GFILLA PARAMETER (GPLINE = 0, GFILLA = 1) C*********************************************************************** C***** ***** C***** Presence of Invalid Values: Absent, Present ***** C***** ***** C*********************************************************************** INTEGER*4 GABSNT,GPRSNT PARAMETER (GABSNT = 0, GPRSNT = 1) C*********************************************************************** C***** ***** C***** Regeneration Flag: Postpone, Perform ***** C***** ***** C*********************************************************************** INTEGER*4 GPOSTP,GPERFO PARAMETER (GPOSTP = 0, GPERFO = 1) C*********************************************************************** C***** ***** C***** Relative Input Priority: Higher, Lower ***** C***** ***** C*********************************************************************** INTEGER*4 GHIGHR,GLOWER PARAMETER (GHIGHR = 0, GLOWER = 1) C*********************************************************************** C***** ***** C***** Simultaneous Events Flag: No More, More ***** C***** ***** C*********************************************************************** INTEGER*4 GNMORE, GMORE PARAMETER (GNMORE = 0, GMORE = 1) C*********************************************************************** C***** ***** C***** Text Alignment Horizontal ***** C***** ***** C*********************************************************************** INTEGER*4 GAHNOR,GALEFT,GACENT,GARITE PARAMETER (GAHNOR = 0, GALEFT = 1, GACENT = 2, GARITE = 3) C*********************************************************************** C***** ***** C***** Text Alignment Vertical: Normal, Top, Cap, Half, Base, ***** C***** Bottom ***** C***** ***** C*********************************************************************** INTEGER*4 GAVNOR,GATOP,GACAP,GAHALF,GABASE,GABOTT PARAMETER (GAVNOR = 0, GATOP = 1, GACAP = 2, GAHALF =3) PARAMETER (GABASE = 4, GABOTT = 5) C*********************************************************************** C***** ***** C***** Text Path: Right, Left, Up, Down ***** C***** ***** C*********************************************************************** INTEGER*4 GRIGHT, GLEFT, GUP, GDOWN PARAMETER (GRIGHT = 0, GLEFT = 1, GUP = 2, GDOWN = 3) C*********************************************************************** C***** ***** C***** Text Precision: String, Character, Stroke ***** C***** ***** C*********************************************************************** INTEGER*4 GSTRP,GCHARP,GSTRKP PARAMETER (GSTRP = 0, GCHARP = 1, GSTRKP = 2) C*********************************************************************** C***** ***** C***** Type of Returned Value: Set, Realized ***** C***** ***** C*********************************************************************** INTEGER*4 GSET,GREALI PARAMETER (GSET = 0, GREALI = 1) C*********************************************************************** C***** ***** C***** Update State: Not Pending, Pending ***** C***** ***** C*********************************************************************** INTEGER*4 GNPEND,GPEND PARAMETER (GNPEND = 0, GPEND = 1) C*********************************************************************** C***** ***** C***** Vector / Rastor / Other Type of Display ***** C***** ***** C*********************************************************************** INTEGER*4 GVECTR,GRASTR,GOTHWK PARAMETER (GVECTR = 0, GRASTR = 1, GOTHWK = 2) C*********************************************************************** C***** ***** C***** Visibility: Invisible, Visible ***** C***** ***** C*********************************************************************** INTEGER*4 GINVIS,GVISI PARAMETER (GINVIS = 0, GVISI = 1) C*********************************************************************** C***** ***** C***** Workstation Category: Output, Input, Input/Output, ***** C***** WISS, Metafile Output, Metafile ***** C***** Input ***** C***** ***** C*********************************************************************** INTEGER*4 GOUTPT,GINPUT,GOUTIN,GWISS,GMO,GMI PARAMETER (GOUTPT = 0, GINPUT = 1, GOUTIN = 2, GWISS = 3) PARAMETER (GMO = 4, GMI = 5) C*********************************************************************** C***** ***** C***** Workstation State: Inactive, Active ***** C***** ***** C*********************************************************************** INTEGER*4 GINACT, GACTIV PARAMETER (GINACT = 0, GACTIV = 1) C*********************************************************************** C***** ***** C***** Font Type: Font 1, Font 2, Font 3 ***** C***** ***** C***** Note: This is not a standard GKS enumeration - it ***** C***** was added to the standard list specifically ***** C***** for use by the GKSDEMO program example. ***** C***** ***** C*********************************************************************** INTEGER*4 GFONT1,GFONT2,GFONT3 PARAMETER (GFONT1 = 1, GFONT2 = 2, GFONT3 = 3) C*********************************************************************** C***** ***** C***** Color Table Indexes as Set by GKSDEMO Program ***** C***** ***** C***** Note: This is not a standard GKS enumeration - it ***** C***** was added to the standard list specifically ***** C***** for use by the GKSDEMO program example. ***** C***** ***** C*********************************************************************** INTEGER*4 GBLACK,GRED,GGREEN,GBLUE,GYELOW,GORNGE,GMAGNT INTEGER*4 GLMGNT,GLBLUE,GLTURQ,GGRAYB,GLGREN,GMGREN INTEGER*4 GMRED,GGRAY,GWHITE PARAMETER (GBLACK = 0, GRED = 1, GGREEN = 2, GBLUE = 3) PARAMETER (GYELOW = 4, GORNGE = 5, GMAGNT = 6) PARAMETER (GLMGNT = 7, GLBLUE = 8, GLTURQ = 9) PARAMETER (GGRAYB = 10, GLGREN = 11, GMGREN = 12) PARAMETER (GMRED = 13, GGRAY = 14, GWHITE = 15) xgks-2.6.1+dfsg.2/src/progs/xhib/makefile.shape0000644000175000017500000000137311413611016022355 0ustar amckinstryamckinstry# Makefile for the "demo/xhib" subdirectory of the XGKS package. # # $Header: /cvsroot/xgks/xgks/progs/xhib/makefile.shape,v 2.5.4.1 1993/03/10 19:43:33 steve Exp $ # # Log for /u2/ldm/src/gks/x/xgks/demo/xhib/makefile.shape[1.0] # Thu Oct 11 13:39:06 1990 steve@groucho published $ # NAME = xhib VERSIONID = $(NAME)vers PRODUCT = # Directories: INCPATH = ../../include INSTALLBASE = /u2/ldm INSTALLBINDIR = $(INSTALLBASE)/bin INSTALLLIBDIR = $(INSTALLBASE)/lib INSTALLINCDIR = $(INSTALLBASE)/include INSTALL = /usr/bin/install INSTALLOPTIONS = -c -m 664 RANLIB = /bin/ranlib INCLUDES = -I$(INCPATH) CPPOPTS = $(INCLUDES) $(DEFINES) CFLAGS = -g $(CPPOPTS) xflags = -DCFFLGS='"$$Flags: <$<> $(CFLAGS) $$"' CC = cc $(xflags) all: install: clean: xgks-2.6.1+dfsg.2/src/progs/xhib/m0000644000175000017500000000207111413611016017731 0ustar amckinstryamckinstry# # Copyright IBM Corporation 1989 # # All Rights Reserved # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose and without fee is hereby granted, # provided that the above copyright notice appear in all copies and that # both that copyright notice and this permission notice appear in # supporting documentation, and that the name of IBM not be # used in advertising or publicity pertaining to distribution of the # software without specific, written prior permission. # # IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING # ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL # IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR # ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, # WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, # ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS # SOFTWARE. # vs -Igkspar.inc mr1 g+ gksdemo.f /xgks/fortran/fortxgks.a /xgks/lib/libxgks.a -lX11 -lm xgks-2.6.1+dfsg.2/src/progs/xhib/Makefile0000644000175000017500000000126611413611016021217 0ustar amckinstryamckinstry# # makefile for FORTRAN GKS programs # FLIBDIR = /andrew/Xgks/source/xgks/lib CLIBDIR = /andrew/Xgks/source/xgks/lib MYLIB = $(FLIBDIR)/fortxgks.a GKSLIB = $(CLIBDIR)/libxgks.a DESTDIR = . #CFLAGS = -O CFLAGS = -O -DDEBUG FFLAGS = LFLAGS = LLIBS = ${MYLIB} ${GKSLIB} -lX11 -lm all: $(DESTDIR)/xhib $(DESTDIR)/xhib: xhib.o ${MYLIB} ${GKSLIB} @echo "Getting libxgks from" $(CLIBDIR) @echo "Getting fortxgks from" $(FLIBDIR) @echo "Placing xhib in" $(DESTDIR) f77 ${LFLAGS} xhib.o ${LLIBS} -o $@ star: star.o ${MYLIB} ${GKSLIB} f77 ${LFLAGS} star.o ${LLIBS} -o $@ xhib.o: xhib.f f77 ${FFLAGS} -c $< star.o: star.f f77 ${FFLAGS} -c $< clean: rm *.o star xhib xgks-2.6.1+dfsg.2/src/progs/demo.h0000644000175000017500000000442311413611016017720 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * University of Illinois at Urbana-Champaign * Department of Computer Science * 1304 W. Springfield Ave. * Urbana, IL 61801 * * (C) Copyright 1987, 1988 by The University of Illinois Board of Trustees. * All rights reserved. * * Tool: X 11 Graphical Kernel System * Author: Gregory Scott Rogers * Author: Sung Hsien Ching Kelvin * Author: Yu Pan * * $Id: demo.h,v 2.6 2000/08/01 16:53:02 steve Exp $ * $Header: /cvsroot/xgks/xgks/progs/demo.h,v 2.6 2000/08/01 16:53:02 steve Exp $ */ #ifndef DEMO_H_INCLUDED #define DEMO_H_INCLUDED #define BLACK 0 #define WHITE 1 #define RED 2 #define GREEN 3 #define BLUE 4 #define YELLOW 5 #define CYAN 6 #define VIOLET 7 #define SILVER 8 #define BEIGE 9 #define DARKGREEN 10 #define DARKGRAY BEIGE #define MEDIUMGRAY BEIGE static WaitForBreak( ws_id ) Gint ws_id; { Gchoice init; Gchoicerec record; Glimit earea; earea.xmin = 0.0; earea.xmax = 1279.0; earea.ymin = 0.0; earea.ymax = 1023.0; init.status = GC_NOCHOICE; init.choice = 0; record.pet1.data = NULL; ginitchoice( ws_id, 1, &init, 1, &earea, &record ); gsetchoicemode( ws_id, 1, GREQUEST, GECHO ); while (init.status != GC_NONE) greqchoice( ws_id, 1, &init ); } #endif /* DEMO_H_INCLUDED not defined */ xgks-2.6.1+dfsg.2/src/progs/Logo/0000755000175000017500000000000011413611016017520 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/progs/Logo/ethernet.c0000644000175000017500000000644611413611016021514 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * University of Illinois at Urbana-Champaign * Department of Computer Science * 1304 W. Springfield Ave. * Urbana, IL 61801 * * (C) Copyright 1987, 1988 by The University of Illinois Board of Trustees. * All rights reserved. * * Tool: X 11 Graphical Kernel System * Author: Gregory Scott Rogers * Author: Sung Hsien Ching Kelvin * Author: Yu Pan * * ethernet.c - function to draw the ethernet portion of the logo */ static char rcsid[]= "$Header: /cvsroot/xgks/xgks/progs/Logo/ethernet.c,v 2.5.4.1 1993/03/10 19:43:11 steve Exp $"; #include #include #include "demo.h" draw_ethernet(wsid, dotext) Gint wsid; Gint dotext; { Glimit Window; /*MIT*/ Window.xmin = -100.0; /*MIT*/ Window.xmax = 100.0; /*MIT*/ Window.ymin = -100.0; /*MIT*/ Window.ymax = 100.0; /*MIT*/ gsetwindow(wsid, &Window ); /*MIT*/ gselntran(1) ; if (dotext) do_text(); do_ethernet(); } #define BORDERSZ 87.0 #define INTFACTOR 0.97 do_text() { char c[2], words[25]; Gpoint pt; double sin(), cos() ; int i ; Gfloat deg2rad = 3.14159 / 180.0 ; Gtxfp txfp; /*MIT*/ Gtxalign txalign; /*MIT*/ txfp.font = 4; /*MIT*/ txfp.prec = GSTROKE; /*MIT*/ txalign.hor = GTH_CENTER; /*MIT*/ txalign.ver = GTV_HALF; /*MIT*/ c[1] = '\0'; strcpy(words,"PROFESSIONAL WORKSTATION"); gsettextfontprec( &txfp ) ; gsetcharspace(0.0) ; gsetcharheight(10.0) ; gsettextalign( &txalign ) ; gsettextcolorind(YELLOW) ; for(i=0; i #include #include "demo.h" draw_printer(wsid) Gint wsid; { Glimit Window; /*MIT*/ Window.xmin = 0.0; /*MIT*/ Window.xmax = 58.0; /*MIT*/ Window.ymin = 0.0; /*MIT*/ Window.ymax = 46.0; /*MIT*/ gsetwindow( wsid, &Window ); gselntran(1); do_printer(); } do_printer() { Gpoint pts[20]; /*MIT*/ gsetfillintstyle(GSOLID); gsetfillcolorind(BEIGE); gsetlinecolorind(BLACK); /* box */ pts[0].x=0.0; pts[0].y=0.0; pts[1].x=58.0; pts[1].y=0.0; pts[2].x=58.0; pts[2].y=18.0; pts[3].x=55.0; pts[3].y=18.0; pts[4].x=55.0; pts[4].y=25.0; pts[5].x=3.0; pts[5].y=25.0; pts[6].x=3.0; pts[6].y=18.0; pts[7].x=0.0; pts[7].y=18.0; pts[8].x=0.0; pts[8].y=0.0; gfillarea(9, pts); /* lines on it */ pts[0].x=3.0; pts[0].y=18.0; pts[1].x=4.0; pts[1].y=18.0; pts[2].x=4.0; pts[2].y=14.0; pts[3].x=54.0; pts[3].y=14.0; pts[4].x=54.0; pts[4].y=18.0; pts[5].x=55.0; pts[5].y=18.0; gpolyline(6, pts); /* paper ins an outs */ gsetfillcolorind(BLACK); pts[0].x=5.5; pts[0].y=0.0; pts[1].x=52.5; pts[1].y=0.0; pts[2].x=52.5; pts[2].y=4.0; pts[3].x=5.5; pts[3].y=4.0; pts[4].x=5.5; pts[4].y=0.0; gfillarea(5, pts); pts[0].x=5.0; pts[0].y=16.0; pts[1].x=53.0; pts[1].y=16.0; pts[2].x=53.0; pts[2].y=25.0; pts[3].x=5.0; pts[3].y=25.0; pts[4].x=5.0; pts[4].y=16.0; gfillarea(5, pts); /* control panel */ gsetfillcolorind(DARKGRAY); pts[0].x=37.0; pts[0].y=4.0; pts[1].x=52.5; pts[1].y=4.0; pts[2].x=52.5; pts[2].y=11.5; pts[3].x=37.0; pts[3].y=11.5; pts[4].x=37.0; pts[4].y=4.0; gfillarea(5, pts); gsetfillcolorind(BLACK); pts[0].x=38.0; pts[0].y=6.0; pts[1].x=47.5; pts[1].y=6.0; pts[2].x=47.5; pts[2].y=10.5; pts[3].x=38.0; pts[3].y=10.5; pts[4].x=38.0; pts[4].y=6.0; gfillarea(5, pts); pts[0].x=48.5; pts[0].y=6.0; /* on off switch */ pts[1].x=51.0; pts[1].y=6.0; pts[2].x=51.0; pts[2].y=10.5; pts[3].x=48.5; pts[3].y=10.5; pts[4].x=48.5; pts[4].y=6.0; gfillarea(5, pts); gsetfillcolorind(DARKGRAY); pts[0].x=39.0; pts[0].y=8.5; /* text mode */ pts[1].x=41.0; pts[1].y=8.5; pts[2].x=41.0; pts[2].y=10.0; pts[3].x=39.0; pts[3].y=10.0; pts[4].x=39.0; pts[4].y=8.5; gfillarea(5, pts); pts[0].x=45.0; pts[0].y=8.5; /* power */ pts[1].x=46.5; pts[1].y=8.5; pts[2].x=46.5; pts[2].y=10.0; pts[3].x=45.0; pts[3].y=10.0; pts[4].x=45.0; pts[4].y=8.5; gfillarea(5, pts); pts[0].x=43.0; pts[0].y=6.5; /* forms mode */ pts[1].x=44.5; pts[1].y=6.5; pts[2].x=44.5; pts[2].y=8.0; pts[3].x=43.0; pts[3].y=8.0; pts[4].x=43.0; pts[4].y=6.5; gfillarea(5, pts); gsetfillcolorind(BLUE); pts[0].x=41.0; pts[0].y=8.5; /* line feed */ pts[1].x=42.5; pts[1].y=8.5; pts[2].x=42.5; pts[2].y=10.0; pts[3].x=41.0; pts[3].y=10.0; pts[4].x=41.0; pts[4].y=8.5; gfillarea(5, pts); pts[0].x=41.0; pts[0].y=6.5; /* form feed */ pts[1].x=42.5; pts[1].y=6.5; pts[2].x=42.5; pts[2].y=8.0; pts[3].x=41.0; pts[3].y=8.0; pts[4].x=41.0; pts[4].y=6.5; gfillarea(5, pts); gsetfillcolorind(YELLOW); pts[0].x=39.0; pts[0].y=6.5; /* Initialize */ pts[1].x=40.5; pts[1].y=6.5; pts[2].x=40.5; pts[2].y=8.0; pts[3].x=39.0; pts[3].y=8.0; pts[4].x=39.0; pts[4].y=6.5; gfillarea(5, pts); pts[0].x=45.0; pts[0].y=6.5; /* fault */ pts[1].x=46.5; pts[1].y=6.5; pts[2].x=46.5; pts[2].y=8.0; pts[3].x=45.0; pts[3].y=8.0; pts[4].x=45.0; pts[4].y=6.5; gfillarea(5, pts); gsetfillcolorind(GREEN); pts[0].x=43.0; pts[0].y=8.5; /* Ready */ pts[1].x=44.5; pts[1].y=8.5; pts[2].x=44.5; pts[2].y=10.0; pts[3].x=43.0; pts[3].y=10.0; pts[4].x=43.0; pts[4].y=8.5; gfillarea(5, pts); gsetfillcolorind(RED); pts[0].x=49.0; pts[0].y=8.0; /* on off switch */ pts[1].x=50.5; pts[1].y=8.0; pts[2].x=50.5; pts[2].y=10.0; pts[3].x=49.0; pts[3].y=10.0; pts[4].x=49.0; pts[4].y=8.0; gfillarea(5, pts); gsetfillcolorind(SILVER); pts[0].x=5.0; pts[0].y=10.0; /* IBM label */ pts[1].x=7.5; pts[1].y=10.0; pts[2].x=7.5; pts[2].y=12.5; pts[3].x=5.0; pts[3].y=12.5; pts[4].x=5.0; pts[4].y=10.0; gfillarea(5, pts); } xgks-2.6.1+dfsg.2/src/progs/Logo/dist.mk0000644000175000017500000000127011413611016021014 0ustar amckinstryamckinstry# $Header: /cvsroot/xgks/xgks/progs/Logo/dist.mk,v 2.5.4.1 1993/03/10 19:43:10 steve Exp $ # # Makefile to copy distribution to vms and unix ftp directories. # # HISTORY: # $Log: dist.mk,v $ # Revision 2.5.4.1 1993/03/10 19:43:10 steve # Initial placement under CVS control. # THIS_DIR = src/gks/x/xgks/demo/Logo/ SUBDIRS = \ # Sources common to UNIX and VMS distributions SOURCES = \ # Sources for UNIX distribution only UNIX_SOURCES = \ Imakefile \ Makefile \ Makefile.AIX \ colorrep \ demo.c \ dist.mk \ ethernet.c \ printer.c \ ramtek.c \ s9000.c \ # Sources for VMS distribution only VMS_SOURCES = \ # include /usr/local/ldm/src/dist.mk-rules xgks-2.6.1+dfsg.2/src/progs/Logo/Imakefile0000644000175000017500000000144411413611016021334 0ustar amckinstryamckinstry# # $XConsortium: Imakefile,v 1.1 89/09/19 11:32:29 jim Exp $ # # $Header: /cvsroot/xgks/xgks/progs/Logo/Imakefile,v 2.5.4.1 1993/03/10 19:43:12 steve Exp $ # # Log for /u2/ldm/src/gks/x/xgks/demo/Logo/Imakefile[1.1] # Mon Feb 19 15:27:39 1990 steve@groucho accessed $ # # Imakefile[1.2] Tue Mar 27 17:55:07 1990 steve@groucho published $ # Added "all" target. # Placed under AFS version control. # # Imakefile[1.3] Tue Oct 2 08:51:44 1990 steve@groucho published $ # Added DependTarget(). # XGKS_TOP = ../.. #include "../../xgks.tmpl" LOCAL_LIBRARIES = $(XGKSLIB) $(XLIB) LOCAL_XGKSINCLUDES = -I.. SRCS = demo.c printer.c ramtek.c ethernet.c s9000.c OBJS = demo.o printer.o ramtek.o ethernet.o s9000.o all: logo SingleProgramTarget(logo,$(OBJS),$(LOCAL_LIBRARIES),-lm) DependTarget() xgks-2.6.1+dfsg.2/src/progs/Logo/Shapefile0000644000175000017500000000065111413611016021345 0ustar amckinstryamckinstry# $Header: /cvsroot/xgks/xgks/progs/Logo/Shapefile,v 2.5.4.1 1993/03/10 19:43:12 steve Exp $ # # $__copyright$ # # Shapefile for the "demo/Logo" subdirectory of the XGKS package. IMPORT = SHAPEINCPATH SHAPEINCPATH = /u2/ldm/src/shape MY_COMPONENTS = demo.c ethernet.c printer.c ramtek.c s9000.c \ $(VERSIONID).c \ Imakefile Makefile Makefile.AIX colorrep MAKEFILE = makefile.shape include $(SHAPEINCPATH)/stdshapefile xgks-2.6.1+dfsg.2/src/progs/Logo/s9000.c0000644000175000017500000003253111413611016020443 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * University of Illinois at Urbana-Champaign * Department of Computer Science * 1304 W. Springfield Ave. * Urbana, IL 61801 * * (C) Copyright 1987, 1988 by The University of Illinois Board of Trustees. * All rights reserved. * * Tool: X 11 Graphical Kernel System * Author: Gregory Scott Rogers * Author: Sung Hsien Ching Kelvin * Author: Yu Pan * * Draw a picture of the IBM Instruments S9000 workstation. * * $Header: /cvsroot/xgks/xgks/progs/Logo/s9000.c,v 2.5.4.1 1993/03/10 19:43:11 steve Exp $ */ #include #include #include "demo.h" draw_9000(wsid) Gint wsid; { Glimit Window; /*MIT*/ Window.xmin = 0.0; /*MIT*/ Window.xmax = 78.0; /*MIT*/ Window.ymin = 0.0; /*MIT*/ Window.ymax = 62.4; /*MIT*/ gsetwindow( wsid, &Window ); gselntran(1); do_9000_computer(); do_9000_monitor(); do_9000_disk(); do_9000_keyboard(); } do_9000_computer() { Gpoint pts[20]; /*MIT*/ gsetfillintstyle(GSOLID); gsetfillcolorind(BEIGE); gsetlinecolorind(BLACK); /* box */ pts[0].x=31.0; pts[0].y=16.0; pts[1].x=74.0; pts[1].y=16.0; pts[2].x=74.0; pts[2].y=31.5; pts[3].x=31.0; pts[3].y=31.5; pts[4].x=31.0; pts[4].y=16.0; gfillarea(5, pts); /* left leg */ pts[0].x=30.0; pts[0].y=14.0; pts[1].x=34.0; pts[1].y=14.0; pts[2].x=34.0; pts[2].y=16.0; pts[3].x=31.0; pts[3].y=16.0; pts[4].x=31.0; pts[4].y=29.0; pts[5].x=30.0; pts[5].y=29.0; pts[6].x=30.0; pts[6].y=14.0; gfillarea(7, pts); gpolyline(7, pts); /* right leg */ pts[0].x=71.0; pts[0].y=14.0; pts[1].x=75.0; pts[1].y=14.0; pts[2].x=75.0; pts[2].y=29.0; pts[3].x=74.0; pts[3].y=29.0; pts[4].x=74.0; pts[4].y=16.0; pts[5].x=71.0; pts[5].y=16.0; pts[6].x=71.0; pts[6].y=14.0; gfillarea(7, pts); gpolyline(7, pts); /* switch */ gsetfillcolorind(RED); pts[0].x=74.0; pts[0].y=27.0; pts[1].x=75.0; pts[1].y=27.0; pts[2].x=75.0; pts[2].y=29.0; pts[3].x=74.0; pts[3].y=29.0; pts[4].x=74.0; pts[4].y=27.0; gfillarea(5, pts); /* IBM label */ gsetfillcolorind(SILVER); pts[0].x=33.0; pts[0].y=28.0; pts[1].x=39.0; pts[1].y=28.0; pts[2].x=39.0; pts[2].y=30.0; pts[3].x=33.0; pts[3].y=30.0; pts[4].x=33.0; pts[4].y=28.0; gfillarea(5, pts); } do_9000_monitor() { Gpoint pts[20]; /*MIT*/ Gfloat x; /*MIT*/ gsetfillcolorind(BEIGE); gsetfillintstyle(GSOLID); gsetlinecolorind(BLACK); /* base */ pts[0].x=31.0; pts[0].y=31.5; pts[1].x=74.0; pts[1].y=31.5; pts[2].x=74.0; pts[2].y=33.0; pts[3].x=72.5; pts[3].y=33.0; pts[4].x=72.5; pts[4].y=34.0; pts[5].x=71.5; pts[5].y=34.0; pts[6].x=71.5; pts[6].y=33.0; pts[7].x=33.5; pts[7].y=33.0; pts[8].x=33.5; pts[8].y=34.0; pts[9].x=32.5; pts[9].y=34.0; pts[10].x=32.5; pts[10].y=33.0; pts[11].x=31.0; pts[11].y=33.0; pts[12].x=31.0; pts[12].y=31.5; gfillarea(13, pts); gpolyline(13, pts); /* monitor box */ pts[0].x=31.5; pts[0].y=36.0; pts[1].x=73.0; pts[1].y=36.0; pts[2].x=73.0; pts[2].y=62.0; pts[3].x=31.5; pts[3].y=62.0; pts[4].x=31.5; pts[4].y=36.0; gfillarea(5, pts); gpolyline(5, pts); /* bezel */ gsetfillcolorind(MEDIUMGRAY); pts[0].x=35.0; pts[0].y=39.0; pts[1].x=59.0; pts[1].y=39.0; pts[2].x=59.0; pts[2].y=60.0; pts[3].x=35.0; pts[3].y=60.0; pts[4].x=35.0; pts[4].y=39.0; gfillarea(5, pts); gpolyline(5, pts); /* crt */ gsetfillcolorind(DARKGREEN); pts[0].x=36.5; pts[0].y=42.0; pts[1].x=57.5; pts[1].y=42.0; pts[2].x=57.5; pts[2].y=58.5; pts[3].x=36.5; pts[3].y=58.5; pts[4].x=36.5; pts[4].y=42.0; gfillarea(5, pts); gpolyline(5, pts); /* buttons */ gsetfillcolorind(WHITE); for (x=37.5; x<56.0; x+=2.0) { pts[0].x=x; pts[0].y=40.5; pts[1].x=x+1.0; pts[1].y=40.5; pts[2].x=x+1.0; pts[2].y=41.5; pts[3].x=x; pts[3].y=41.5; pts[4].x=x; pts[4].y=40.5; gfillarea(5, pts); gpolyline(5, pts); } /* floppy */ pts[0].x=62.0; pts[0].y=42.0; pts[1].x=71.0; pts[1].y=42.0; pts[2].x=71.0; pts[2].y=57.5; pts[3].x=62.0; pts[3].y=57.5; pts[4].x=62.0; pts[4].y=42.0; gpolyline(5, pts); /* IBM label */ gsetfillcolorind(SILVER); pts[0].x=63.5; pts[0].y=59.0; pts[1].x=69.5; pts[1].y=59.0; pts[2].x=69.5; pts[2].y=61.0; pts[3].x=63.5; pts[3].y=61.0; pts[4].x=63.5; pts[4].y=59.0; gfillarea(5, pts); /* yoke */ gsetfillcolorind(BLACK); pts[0].x=47.0; pts[0].y=33.5; pts[1].x=49.0; pts[1].y=33.5; pts[2].x=50.0; pts[2].y=33.0; pts[3].x=55.0; pts[3].y=33.0; pts[4].x=56.0; pts[4].y=33.5; pts[5].x=58.0; pts[5].y=33.5; pts[6].x=58.0; pts[6].y=35.5; pts[7].x=56.0; pts[7].y=35.5; pts[8].x=55.0; pts[8].y=36.0; pts[9].x=50.0; pts[9].y=36.0; pts[10].x=49.0; pts[10].y=35.5; pts[11].x=47.0; pts[11].y=35.5; pts[12].x=47.0; pts[12].y=33.5; gfillarea(13, pts); } do_9000_disk() { Gpoint pts[20]; /*MIT*/ gsetfillcolorind(0); gsetfillintstyle(GSOLID); gsetlinecolorind(BEIGE); /* hard disk */ pts[0].x=6.0; pts[0].y=38.0; pts[1].x=6.0; pts[1].y=60.0; pts[2].x=21.0; pts[2].y=60.0; pts[3].x=21.0; pts[3].y=38.0; pts[4].x=6.0; pts[4].y=38.0; gfillarea(5, pts); gpolyline(4, pts); /* left foot */ pts[0].x=8.0; pts[0].y=38.0; pts[1].x=8.0; pts[1].y=37.0; pts[2].x=9.0; pts[2].y=37.0; pts[3].x=9.0; pts[3].y=38.0; pts[4].x=8.0; pts[4].y=38.0; gfillarea(5, pts); /* right foot */ pts[0].x=18.0; pts[0].y=38.0; pts[1].x=18.0; pts[1].y=37.0; pts[2].x=19.0; pts[2].y=37.0; pts[3].x=19.0; pts[3].y=38.0; pts[4].x=18.0; pts[4].y=38.0; gfillarea(5, pts); /* CAUTION label*/ gsetfillcolorind(WHITE); pts[0].x= 9.5; pts[0].y=39.0; pts[1].x=14.0; pts[1].y=39.0; pts[2].x=14.0; pts[2].y=42.0; pts[3].x= 9.5; pts[3].y=42.0; pts[4].x= 9.5; pts[4].y=39.0; gfillarea(5, pts); /* IBM label*/ gsetfillcolorind(SILVER); pts[0].x=14.5; pts[0].y=40.5; pts[1].x=20.0; pts[1].y=40.5; pts[2].x=20.0; pts[2].y=42.0; pts[3].x=14.5; pts[3].y=42.0; pts[4].x=14.5; pts[4].y=40.5; gfillarea(5, pts); /* switch */ gsetfillcolorind(RED); pts[0].x=7.5; pts[0].y=39.5; pts[1].x=9.0; pts[1].y=39.5; pts[2].x=9.0; pts[2].y=42.0; pts[3].x=7.5; pts[3].y=42.0; pts[4].x=7.5; pts[4].y=39.5; gfillarea(5, pts); /* bottom led */ pts[0].x=9.0; pts[0].y=45.0; pts[1].x=10.0; pts[1].y=45.0; pts[2].x=10.0; pts[2].y=45.5; pts[3].x=9.0; pts[3].y=45.5; pts[4].x=9.0; pts[4].y=45.0; gfillarea(5, pts); /* top led */ pts[0].x=9.0; pts[0].y=53.5; pts[1].x=10.0; pts[1].y=53.5; pts[2].x=10.0; pts[2].y=54.0; pts[3].x=9.0; pts[3].y=54.0; pts[4].x=9.0; pts[4].y=53.5; gfillarea(5, pts); /* floppies*/ gsetfillcolorind(BLACK); gsetfillintstyle(GSOLID); gsetlinecolorind(BEIGE); pts[0].x=1.0; pts[0].y=15.0; pts[1].x=1.0; pts[1].y=37.0; pts[2].x=26.0; pts[2].y=37.0; pts[3].x=26.0; pts[3].y=15.0; pts[4].x=1.0; pts[4].y=15.0; gfillarea(5, pts); gpolyline(4, pts); /* left foot */ pts[0].x=4.0; pts[0].y=15.0; pts[1].x=4.0; pts[1].y=14.0; pts[2].x=5.0; pts[2].y=14.0; pts[3].x=5.0; pts[3].y=15.0; pts[4].x=4.0; pts[4].y=15.0; gfillarea(5, pts); /* right foot */ pts[0].x=22.0; pts[0].y=15.0; pts[1].x=22.0; pts[1].y=14.0; pts[2].x=23.0; pts[2].y=14.0; pts[3].x=23.0; pts[3].y=15.0; pts[4].x=22.0; pts[4].y=15.0; gfillarea(5, pts); /* drive doors */ pts[0].x= 6.0; pts[0].y=15.0; pts[1].x= 7.0; pts[1].y=15.0; pts[2].x= 7.0; pts[2].y=37.0; pts[3].x= 6.0; pts[3].y=37.0; pts[4].x= 6.0; pts[4].y=15.0; gpolyline(5, pts); /* pts[0].x=13.0; pts[0].y=15.0; pts[1].x=14.0; pts[1].y=15.0; pts[2].x=14.0; pts[2].y=37.0; pts[3].x=13.0; pts[3].y=37.0; pts[4].x=13.0; pts[4].y=15.0; gpolyline(5, pts); */ pts[0].x=19.0; pts[0].y=15.0; pts[1].x=20.0; pts[1].y=15.0; pts[2].x=20.0; pts[2].y=37.0; pts[3].x=19.0; pts[3].y=37.0; pts[4].x=19.0; pts[4].y=15.0; gpolyline(5, pts); pts[0].x=8.5; pts[0].y=24.0; pts[1].x=9.5; pts[1].y=24.0; pts[2].x=9.5; pts[2].y=29.0; pts[3].x=8.5; pts[3].y=29.0; pts[4].x=8.5; pts[4].y=24.0; gpolyline(5, pts); pts[0].x=21.5; pts[0].y=24.0; pts[1].x=22.5; pts[1].y=24.0; pts[2].x=22.5; pts[2].y=29.0; pts[3].x=21.5; pts[3].y=29.0; pts[4].x=21.5; pts[4].y=24.0; gpolyline(5, pts); } do_9000_keyboard() { Gpoint pts[20]; /*MIT*/ Gfloat x, y; gsetfillcolorind(BEIGE); gsetfillintstyle(GSOLID); gsetlinecolorind(BLACK); /* keyboard case */ pts[0].x=30.0; pts[0].y=0.0; pts[1].x=77.0; pts[1].y=0.0; pts[2].x=76.0; pts[2].y=10.0; pts[3].x=74.5; pts[3].y=10.0; pts[4].x=74.5; pts[4].y=13.0; pts[5].x=32.5; pts[5].y=13.0; pts[6].x=32.5; pts[6].y=10.0; pts[7].x=31.0; pts[7].y=10.0; pts[8].x=30.0; pts[8].y=0.0; gfillarea(9, pts); gpolyline(9, pts); /* function key case */ pts[0].x=32.5; pts[0].y=10.0; pts[1].x=32.5; pts[1].y=8.0; pts[2].x=74.5; pts[2].y=8.0; pts[3].x=74.5; pts[3].y=10.0; gpolyline(4, pts); /* all function keys*/ gsetfillcolorind(WHITE); pts[0].x=35.5; pts[0].y=9.0; pts[1].x=71.5; pts[1].y=9.0; pts[2].x=71.5; pts[2].y=12.0; pts[3].x=35.5; pts[3].y=12.0; pts[4].x=35.5; pts[4].y=9.0; gfillarea(5, pts); /* outline them keys in black */ for (x=35.5; x<72.0; x+=2.0) { pts[0].x = x; pts[0].y=9.0; pts[1].x = x; pts[1].y=12.0; gpolyline(2, pts); } for (y=9.0; y<13.0; y++) { pts[0].x = 35.5; pts[0].y=y; pts[1].x = 71.5; pts[1].y=y; gpolyline(2, pts); } /* function keys */ gsetfillcolorind(WHITE); pts[0].x=33.0; pts[0].y=2.0; pts[1].x=37.0; pts[1].y=2.0; pts[2].x=37.0; pts[2].y=7.0; pts[3].x=33.0; pts[3].y=7.0; pts[4].x=33.0; pts[4].y=2.0; gfillarea(5, pts); for (x=33.0; x<38.0; x+=2.0) { pts[0].x = x; pts[0].y=2.0; pts[1].x = x; pts[1].y=7.0; gpolyline(2, pts); } for (y=2.0; y<8.0; y++) { pts[0].x = 33.0; pts[0].y=y; pts[1].x = 37.0; pts[1].y=y; gpolyline(2, pts); } /* esc to alt column */ pts[0].x=37.5; pts[0].y=2.0; pts[1].x=41.5; pts[1].y=2.0; pts[2].x=41.5; pts[2].y=3.0; pts[3].x=40.0; pts[3].y=3.0; pts[4].x=40.0; pts[4].y=4.0; pts[5].x=41.0; pts[5].y=4.0; pts[6].x=41.0; pts[6].y=5.0; pts[7].x=40.0; pts[7].y=5.0; pts[8].x=40.0; pts[8].y=6.0; pts[9].x=39.0; pts[9].y=6.0; pts[10].x=39.0; pts[10].y=7.0; pts[11].x=37.5; pts[11].y=7.0; pts[12].x=37.5; pts[12].y=2.0; gfillarea(13, pts); /* gray right keys */ pts[0].x=60.5; pts[0].y=2.0; pts[1].x=64.5; pts[1].y=2.0; pts[2].x=64.5; pts[2].y=3.0; pts[3].x=66.5; pts[3].y=3.0; pts[4].x=66.5; pts[4].y=6.0; pts[5].x=72.5; pts[5].y=6.0; pts[6].x=72.5; pts[6].y=2.0; pts[7].x=74.5; pts[7].y=2.0; pts[8].x=74.5; pts[8].y=7.0; pts[9].x=62.5; pts[9].y=7.0; pts[10].x=62.5; pts[10].y=6.0; pts[11].x=64.5; pts[11].y=6.0; pts[12].x=64.5; pts[12].y=4.0; pts[13].x=62.0; pts[13].y=4.0; pts[14].x=62.0; pts[14].y=3.0; pts[15].x=60.5; pts[15].y=3.0; pts[16].x=60.5; pts[16].y=2.0; gfillarea(17, pts); /* outline keys */ for (y=2.0; y<8.0; y++) { pts[0].x = 37.5; pts[0].y=y; pts[1].x = 74.5; pts[1].y=y; gpolyline(2, pts); } /* fix up a couple of spots */ gsetlinecolorind(MEDIUMGRAY); pts[0].x = 72.5; pts[0].y=3.0; pts[1].x = 74.5; pts[1].y=3.0; gpolyline(2, pts); pts[0].x = 72.5; pts[0].y=4.0; pts[1].x = 74.5; pts[1].y=4.0; gpolyline(2, pts); pts[0].x = 64.5; pts[0].y=5.0; pts[1].x = 66.5; pts[1].y=5.0; gpolyline(2, pts); gsetlinecolorind(BLACK); /* alt row */ pts[0].x = 41.5; pts[0].y=2.0; pts[1].x = 41.5; pts[1].y=3.0; gpolyline(2, pts); pts[0].x = 60.5; pts[0].y=2.0; pts[1].x = 60.5; pts[1].y=3.0; gpolyline(2, pts); pts[0].x = 64.5; pts[0].y=2.0; pts[1].x = 64.5; pts[1].y=3.0; gpolyline(2, pts); pts[0].x = 68.5; pts[0].y=2.0; pts[1].x = 68.5; pts[1].y=3.0; gpolyline(2, pts); pts[0].x = 72.5; pts[0].y=2.0; pts[1].x = 72.5; pts[1].y=3.0; gpolyline(2, pts); /* shift row */ for (x=40.0; x<63.0; x+=2.0) { pts[0].x = x; pts[0].y=3.0; pts[1].x = x; pts[1].y=4.0; gpolyline(2, pts); } for (x=64.5; x<73.0; x+=2.0) { pts[0].x = x; pts[0].y=3.0; pts[1].x = x; pts[1].y=4.0; gpolyline(2, pts); } /* ctrl row */ for (x=41.0; x<64.0; x+=2.0) { pts[0].x = x; pts[0].y=4.0; pts[1].x = x; pts[1].y=5.0; gpolyline(2, pts); } for (x=64.5; x<73.0; x+=2.0) { pts[0].x = x; pts[0].y=4.0; pts[1].x = x; pts[1].y=5.0; gpolyline(2, pts); } /* tab row */ for (x=40.0; x<63.0; x+=2.0) { pts[0].x = x; pts[0].y=5.0; pts[1].x = x; pts[1].y=6.0; gpolyline(2, pts); } for (x=64.5; x<73.0; x+=2.0) { pts[0].x = x; pts[0].y=5.0; pts[1].x = x; pts[1].y=6.0; gpolyline(2, pts); } /* esc row */ for (x=39.0; x<62.0; x+=2.0) { pts[0].x = x; pts[0].y=6.0; pts[1].x = x; pts[1].y=7.0; gpolyline(2, pts); } for (x=62.5; x<71.0; x+=4.0) { pts[0].x = x; pts[0].y=6.0; pts[1].x = x; pts[1].y=7.0; gpolyline(2, pts); } /* outline the whole mess */ pts[0].x = 37.5; pts[0].y=2.0; pts[1].x = 74.5; pts[1].y=2.0; pts[2].x = 74.5; pts[2].y=7.0; pts[3].x = 37.5; pts[3].y=7.0; pts[4].x = 37.5; pts[4].y=2.0; gpolyline(5, pts); } xgks-2.6.1+dfsg.2/src/progs/Logo/Logovers.c0000644000175000017500000000170411413611016021466 0ustar amckinstryamckinstry/* * Copyright (C) 1988, 1989, 1990 UCAR/Unidata * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose without fee is hereby granted, provided * that the above copyright notice appear in all copies, that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of UCAR/Unidata not be used in * advertising or publicity pertaining to distribution of the software * without specific, written prior permission. UCAR makes no * representations about the suitability of this software for any purpose. * It is provided "as is" without express or implied warranty. It is * provided with no support and without obligation on the part of UCAR * Unidata, to assist in its use, correction, modification, or enhancement. */ char *Logovers () { static char ConfID[] = "1.0 [published] (Fri Mar 23 10:42:50 1990 by steve@groucho)"; return ConfID; } xgks-2.6.1+dfsg.2/src/progs/Logo/ramtek.c0000644000175000017500000000567211413611016021161 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * University of Illinois at Urbana-Champaign * Department of Computer Science * 1304 W. Springfield Ave. * Urbana, IL 61801 * * (C) Copyright 1987, 1988 by The University of Illinois Board of Trustees. * All rights reserved. * * Tool: X 11 Graphical Kernel System * Author: Gregory Scott Rogers * Author: Sung Hsien Ching Kelvin * Author: Yu Pan * * ramtek.c - GKS function to draw the Ramtek */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/Logo/ramtek.c,v 2.5.4.1 1993/03/10 19:43:11 steve Exp $"; #include #include #include "demo.h" draw_ramtek(wsid) Gint wsid; { Glimit Window; /*MIT*/ Window.xmin = 0.0; /*MIT*/ Window.xmax = 57.0; /*MIT*/ Window.ymin = 0.0; /*MIT*/ Window.ymax = 45.6; /*MIT*/ gsetwindow( wsid, &Window ); gselntran(1); do_ram_monitor(); } do_ram_monitor() { Gpoint pts[20]; /*MIT*/ gsetfillcolorind(DARKGRAY); gsetfillintstyle( GSOLID ); gsetlinecolorind(BLACK); /* base */ pts[0].x=0.0; pts[0].y=0.0; pts[1].x=49.0; pts[1].y=0.0; pts[2].x=49.0; pts[2].y=45.5; pts[3].x=0.0; pts[3].y=45.5; pts[4].x=0.0; pts[4].y=0.0; gfillarea(5, pts); /* bezel */ gsetfillcolorind(BLACK); pts[0].x=1.5; pts[0].y= 8.0; pts[1].x=47.5; pts[1].y= 8.0; pts[2].x=47.5; pts[2].y=44.0; pts[3].x=1.5; pts[3].y=44.0; pts[4].x=1.5; pts[4].y= 8.0; gfillarea(5, pts); /* screen */ gsetfillcolorind(BLUE); pts[0].x=5.0; pts[0].y=11.5; pts[1].x=44.0; pts[1].y=11.5; pts[2].x=44.0; pts[2].y=40.5; pts[3].x=5.0; pts[3].y=40.5; pts[4].x=5.0; pts[4].y=11.5; gfillarea(5, pts); /* handles */ gsetfillcolorind(SILVER); pts[0].x= 0.5; pts[0].y=1.0; pts[1].x= 2.0; pts[1].y=1.0; pts[2].x= 2.0; pts[2].y=7.0; pts[3].x= 0.5; pts[3].y=7.0; pts[4].x= 0.5; pts[4].y=1.0; gfillarea(5, pts); /* handles */ gsetfillcolorind(SILVER); pts[0].x=47.0; pts[0].y=1.0; pts[1].x=48.5; pts[1].y=1.0; pts[2].x=48.5; pts[2].y=7.0; pts[3].x=47.0; pts[3].y=7.0; pts[4].x=47.0; pts[4].y=1.0; gfillarea(5, pts); } xgks-2.6.1+dfsg.2/src/progs/Logo/CVS/0000755000175000017500000000000011413611016020153 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/progs/Logo/CVS/Entries0000644000175000017500000000120111413611016021501 0ustar amckinstryamckinstry/Imakefile/2.5.4.1/Wed Mar 10 19:43:12 1993// /Logovers.c/2.5.4.1/Wed Mar 10 19:43:12 1993// /Makefile/2.5.4.1/Wed Mar 10 19:43:12 1993// /Makefile.AIX/2.5.4.1/Wed Mar 10 19:43:12 1993// /Shapefile/2.5.4.1/Wed Mar 10 19:43:12 1993// /colorrep/2.5.4.1/Wed Mar 10 19:43:12 1993// /demo.c/2.5.4.1/Wed Mar 10 19:43:11 1993// /deps/2.5.4.1/Wed Mar 10 19:43:12 1993// /dist.mk/2.5.4.1/Wed Mar 10 19:43:10 1993// /ethernet.c/2.5.4.1/Wed Mar 10 19:43:11 1993// /makefile.shape/2.5.4.1/Wed Mar 10 19:43:12 1993// /printer.c/2.5.4.1/Wed Mar 10 19:43:11 1993// /ramtek.c/2.5.4.1/Wed Mar 10 19:43:11 1993// /s9000.c/2.5.4.1/Wed Mar 10 19:43:11 1993// D xgks-2.6.1+dfsg.2/src/progs/Logo/CVS/Repository0000644000175000017500000000002011413611016022245 0ustar amckinstryamckinstryxgks/progs/Logo xgks-2.6.1+dfsg.2/src/progs/Logo/CVS/Root0000644000175000017500000000006111413611016021016 0ustar amckinstryamckinstry:pserver:anonymous@cvs.XGKS.sf.net:/cvsroot/xgks xgks-2.6.1+dfsg.2/src/progs/Logo/Makefile.AIX0000644000175000017500000000246311413611016021605 0ustar amckinstryamckinstry# # XXXX-XXX (C) COPYRIGHT IBM CORPORATION 1988 # LICENSED MATERIALS - PROPERTY OF IBM # REFER TO COPYRIGHT INSTRUCTIONS FORM NUMBER G120-2083 # # GKS demos make script # # $Header: /cvsroot/xgks/xgks/progs/Logo/Makefile.AIX,v 2.5.4.1 1993/03/10 19:43:12 steve Exp $ # The following line added for AIX PORT SHELL=/bin/sh H = /usr/include INSTALLHOME=/usr/local/xgks ILIBDIR = $(INSTALLHOME)/lib IHDIR = $(INSTALLHOME)/include GKSLIB = $(ILIBDIR)/libxgks.a LIBS = $(ILIBDIR)/libxgks.a -lX11 -lm OBJS = demo.o printer.o ramtek.o ethernet.o s9000.o CFLAGS = -I$(IHDIR) -I.. # The following lines are found in the Makefile for AIX # They should be uncommented for an AIX make. #INCLUDES = -I/usr/include/bsd -I$(H) #CFLAGS = $(INCLUDES) #LIBS = $(ILIBDIR)/libxgks.a -lX11 -lbsd -lsock -lm all: logo logo : $(OBJS) $(GKSLIB) $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) cleanbins: clean -rm -f logo clean : -rm -f *.o core logo depend: makedepend -I$(IHDIR) *.c # DO NOT DELETE THIS LINE -- make depend depends on it. demo.o: /usr/include/stdio.h /usr/include/xgks.h ../demo.h ethernet.o: /usr/include/stdio.h /usr/include/xgks.h ../demo.h printer.o: /usr/include/stdio.h /usr/include/xgks.h ../demo.h ramtek.o: /usr/include/stdio.h /usr/include/xgks.h ../demo.h s9000.o: /usr/include/stdio.h /usr/include/xgks.h ../demo.h xgks-2.6.1+dfsg.2/src/progs/Logo/makefile.shape0000644000175000017500000000137311413611016022323 0ustar amckinstryamckinstry# Makefile for the "demo/Logo" subdirectory of the XGKS package. # # $Header: /cvsroot/xgks/xgks/progs/Logo/makefile.shape,v 2.5.4.1 1993/03/10 19:43:12 steve Exp $ # # Log for /u2/ldm/src/gks/x/xgks/demo/Logo/makefile.shape[1.0] # Thu Oct 11 13:18:17 1990 steve@groucho published $ # NAME = Logo VERSIONID = $(NAME)vers PRODUCT = # Directories: INCPATH = ../../include INSTALLBASE = /u2/ldm INSTALLBINDIR = $(INSTALLBASE)/bin INSTALLLIBDIR = $(INSTALLBASE)/lib INSTALLINCDIR = $(INSTALLBASE)/include INSTALL = /usr/bin/install INSTALLOPTIONS = -c -m 664 RANLIB = /bin/ranlib INCLUDES = -I$(INCPATH) CPPOPTS = $(INCLUDES) $(DEFINES) CFLAGS = -g $(CPPOPTS) xflags = -DCFFLGS='"$$Flags: <$<> $(CFLAGS) $$"' CC = cc $(xflags) all: install: clean: xgks-2.6.1+dfsg.2/src/progs/Logo/Makefile0000644000175000017500000000644511413611016021171 0ustar amckinstryamckinstry# # XXXX-XXX (C) COPYRIGHT IBM CORPORATION 1988 # LICENSED MATERIALS - PROPERTY OF IBM # REFER TO COPYRIGHT INSTRUCTIONS FORM NUMBER G120-2083 # # XGKS demos make script # # $Header: /cvsroot/xgks/xgks/progs/Logo/Makefile,v 2.5.4.1 1993/03/10 19:43:12 steve Exp $ H = /usr/include LIBS = ../lib/libxgks.a -lX11 -lm CFLAGS = -I$(H) -I/andrew/Xgks/source/xgks/include SRCS = bsort.c clock.c defcolors.c font.c hanoi.c mi.c pline.c pmark.c usa.c wong.c BINS = bsort clock defcolors font hanoi mi pline pmark usa wong SUBDIRS = Logo example sled stratego Music Backgammon all: $(BINS) @for i in $(SUBDIRS); do \ (echo '*** making: '`pwd`'/'$$i; \ cd $$i; make $(MFLAGS) all; \ echo '*** done making: '`pwd`'/'$$i ) done install: cleanbins: clean -rm -f $(BINS) clean: -rm *.o core @for i in $(SUBDIRS); do \ (echo '*** making: '`pwd`'/'$$i; \ cd $$i; make $(MFLAGS) clean; \ echo '*** done making: '`pwd`'/'$$i ) done # depend: co -l Makefile @for i in $(BINS); do \ $(CC) -M $(CFLAGS) $$i.c | sort | uniq | \ awk ' { if ($$1 != prev) \ { if (rec != "") print rec; rec = $$0; prev = $$1; } \ else { if (length(rec $$2) > 78) { print rec; rec = $$0; }\ else rec = rec " " $$2 } } \ END { print rec } ' >> makedep; \ echo "$$i : $$i.o" >> makedep; \ echo " $$(CC) $$(CFLAGS) -o \$$@ \$$@.o $$(LIBS)" >> makedep; \ echo "" >> makedep; done echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep echo '$$r makedep' >>eddep echo 'w' >>eddep cp Makefile Makefile.bak ed - Makefile < eddep rm eddep makedep echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile echo '# see make depend above' >> Makefile ci -f -q -m"make depend" -u Makefile # DO NOT DELETE THIS LINE -- make depend uses it # DEPENDENCIES MUST END AT END OF FILE bsort.o: ./demo.h /usr/include/stdio.h /usr/include/string.h bsort.o: /usr/include/strings.h /usr/include/sys/time.h /usr/include/time.h bsort.o: /usr/include/xgks.h bsort.c bsort : bsort.o $(CC) $(CFLAGS) -o $@ $@.o $(LIBS) clock.o: /usr/include/setjmp.h /usr/include/signal.h /usr/include/stdio.h clock.o: /usr/include/sys/nfs_defines.h /usr/include/xgks.h clock.c clock : clock.o $(CC) $(CFLAGS) -o $@ $@.o $(LIBS) defcolors.o: ./demo.h /usr/include/stdio.h /usr/include/xgks.h defcolors.c defcolors : defcolors.o $(CC) $(CFLAGS) -o $@ $@.o $(LIBS) font.o: ./demo.h /usr/include/stdio.h /usr/include/xgks.h font.c font : font.o $(CC) $(CFLAGS) -o $@ $@.o $(LIBS) hanoi.o: ./demo.h /usr/include/math.h /usr/include/stdio.h /usr/include/xgks.h hanoi.o: hanoi.c hanoi : hanoi.o $(CC) $(CFLAGS) -o $@ $@.o $(LIBS) mi.o: ./demo.h /usr/include/stdio.h /usr/include/xgks.h mi.c mi : mi.o $(CC) $(CFLAGS) -o $@ $@.o $(LIBS) pline.o: /usr/include/stdio.h /usr/include/xgks.h pline.c pline : pline.o $(CC) $(CFLAGS) -o $@ $@.o $(LIBS) pmark.o: /usr/include/stdio.h /usr/include/xgks.h pmark.c pmark : pmark.o $(CC) $(CFLAGS) -o $@ $@.o $(LIBS) usa.o: ./demo.h /usr/include/stdio.h /usr/include/strings.h /usr/include/xgks.h usa.o: usa.c usa : usa.o $(CC) $(CFLAGS) -o $@ $@.o $(LIBS) wong.o: ./demo.h /usr/include/stdio.h /usr/include/xgks.h wong.c wong : wong.o $(CC) $(CFLAGS) -o $@ $@.o $(LIBS) # DEPENDENCIES MUST END AT END OF FILE # IF YOU PUT STUFF HERE IT WILL GO AWAY # see make depend above xgks-2.6.1+dfsg.2/src/progs/Logo/demo.c0000644000175000017500000001544511413611016020621 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * University of Illinois at Urbana-Champaign * Department of Computer Science * 1304 W. Springfield Ave. * Urbana, IL 61801 * * (C) Copyright 1987, 1988 by The University of Illinois Board of Trustees. * All rights reserved. * * Tool: X 11 Graphical Kernel System * Author: Gregory Scott Rogers * Author: Sung Hsien Ching Kelvin * Author: Yu Pan * * logo.c - GKS program to draw the various parts of our (old) hardware * * usage:logo [hostname:display] * */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/Logo/demo.c,v 2.5.4.1 1993/03/10 19:43:11 steve Exp $"; #include #include #include "demo.h" char *Menu[] = { "Printer", "Ramtek", "9000", "PWG Logo", "Exit" }; Glimit Marea = { 0.0, 150.0, 770.0, 1023.0 }; Gint ws_id = 1; Gint mo_id = 200; main(argc,argv) int argc; char *argv[]; { Glimit WsWindow; /*MIT*/ char *conn = (char *)NULL; Gchoice init; Gchoicerec record; int i; WsWindow.xmin = 0.0; /*MIT*/ WsWindow.xmax = 1.0; /*MIT*/ WsWindow.ymin = 0.0; /*MIT*/ WsWindow.ymax = 0.8; /*MIT*/ for( i=1; i #include /* * This function is called when the program is finished and we just want * to wait until the user is done looking at the output. Here we set up * a choice device to use the function keys. However, we ignore all choices * and wait for the user to press the Break key. */ WaitForBreak( wsid ) Gint wsid; { Gchoice init; Gchoicerec record; Glimit earea; /*MIT*/ earea.xmin = 0.0; /*MIT*/ earea.xmax = 1279.0; /*MIT*/ earea.ymin = 0.0; /*MIT*/ earea.ymax = 1023.0; /*MIT*/ gmessage(wsid, "Done, press Break to quit ..."); init.status = GC_NOCHOICE; init.choice = 0; record.pet1.data = NULL; ginitchoice( wsid, 1, &init, 1, &earea, &record ); gsetchoicemode( wsid, 1, GREQUEST, GECHO ); for( ; init.status != GC_NONE ; ) greqchoice( wsid, 1, &init ); } /* * set up varius text parameters and print "Hello World" */ PrintHello() { Gpoint tpt; Gpoint up; Gtxfp txfp; Gtxalign align; txfp.font = 4; /* use Serif Bold Roman font */ txfp.prec = GSTROKE; gsettextfontprec(&txfp); gsetcharexpan(0.5); gsetcharspace(0.2); gsettextcolorind( 1 ); /* should be white */ gsetcharheight(0.05); up.x = 0.0; up.y = 1.0; /* characters are straight up */ gsetcharup(&up); align.hor = GTH_CENTER; align.ver = GTV_HALF; gsettextalign(&align); gsettextpath(GTP_RIGHT); /* print from left to right */ tpt.x = 0.5; tpt.y = 0.5; /* center of the window */ gtext(&tpt,"Hello World!"); } main(argc,argv) int argc; char *argv[]; { int i, wsid=1; char *conn = (char *)NULL; for( i=1; i $(CFLAGS) $$"' CC = cc $(xflags) all: install: clean: xgks-2.6.1+dfsg.2/src/progs/example/Makefile0000644000175000017500000000043111413611016021711 0ustar amckinstryamckinstry# # XXXX-XXX (C) COPYRIGHT IBM CORPORATION 1988 # LICENSED MATERIALS - PROPERTY OF IBM # REFER TO COPYRIGHT INSTRUCTIONS FORM NUMBER G120-2083 # # all: hello hello: hello.c cc hello.c -I../../include -o hello ../../lib/libxgks.a -lX11 -lm install: clean: -rm -f hello.o hello xgks-2.6.1+dfsg.2/src/progs/dist.mk0000644000175000017500000000260011413611016020112 0ustar amckinstryamckinstry# $Header: /cvsroot/xgks/xgks/progs/dist.mk,v 2.5.4.1 1993/03/10 19:43:07 steve Exp $ # $Id: dist.mk,v 2.5.4.1 1993/03/10 19:43:07 steve Exp $ # # Copyright (C) 1990 UCAR/Unidata # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose without fee is hereby granted, provided # that the above copyright notice appear in all copies, that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of UCAR/Unidata not be used in # advertising or publicity pertaining to distribution of the software # without specific, written prior permission. UCAR makes no # representations about the suitability of this software for any purpose. # It is provided "as is" without express or implied warranty. It is # provided with no support and without obligation on the part of UCAR or # Unidata, to assist in its use, correction, modification, or enhancement. # # Makefile to copy distribution to ftp directories. THIS_DIR = src/xgks/progs/ SUBDIRS = # Sources common to UNIX and VMS distributions SOURCES = \ Makefile \ RELEASE.NOTES \ defcolors.c \ demo.h \ font.c \ gksdemo.f \ gkspar.inc \ hanoi.c \ mi.c \ pline.c \ pmark.c \ star.f # Sources for UNIX distribution only UNIX_SOURCES = # Sources for VMS distribution only VMS_SOURCES = # include /usr/local/ldm/src/dist.mk-rules xgks-2.6.1+dfsg.2/src/progs/log0000644000175000017500000000306511413611016017330 0ustar amckinstryamckinstryacc -c -DNDEBUG -I../src/lib -I../port -O defcolors.c acc -I../src/lib -I../port -O defcolors.o -L../src/lib -lxgks -L/usr/local/ldm/lib -lxgks -L/usr/openwin/lib -lX11 -lm -o defcolors acc -c -DNDEBUG -I../src/lib -I../port -O font.c acc -I../src/lib -I../port -O font.o -L../src/lib -lxgks -L/usr/local/ldm/lib -lxgks -L/usr/openwin/lib -lX11 -lm -o font acc -c -DNDEBUG -I../src/lib -I../port -O hanoi.c acc -I../src/lib -I../port -O hanoi.o -L../src/lib -lxgks -L/usr/local/ldm/lib -lxgks -L/usr/openwin/lib -lX11 -lm -o hanoi acc -c -DNDEBUG -I../src/lib -I../port -O mi.c acc -I../src/lib -I../port -O mi.o -L../src/lib -lxgks -L/usr/local/ldm/lib -lxgks -L/usr/openwin/lib -lX11 -lm -o mi acc -c -DNDEBUG -I../src/lib -I../port -O pline.c acc -I../src/lib -I../port -O pline.o -L../src/lib -lxgks -L/usr/local/ldm/lib -lxgks -L/usr/openwin/lib -lX11 -lm -o pline acc -c -DNDEBUG -I../src/lib -I../port -O pmark.c acc -I../src/lib -I../port -O pmark.o -L../src/lib -lxgks -L/usr/local/ldm/lib -lxgks -L/usr/openwin/lib -lX11 -lm -o pmark f77 -c star.f star.f: MAIN: bwait: f77 star.o -L../src/lib -lxgks -L/usr/local/ldm/lib -lxgks -L/usr/openwin/lib -lX11 -lm -o star f77 -c gksdemo.f gksdemo.f: MAIN gksdem: chcol: color: crefa: crepln: crepmk: cretxt: crsegm: democa: demofa: demogd: demopl: demopm: demotx: drwhls: finshf: intcre: intdel: inter: intins: inttra: mapdem: primit: rchoi: rmenu: setcol: setupf: f77 gksdemo.o -L../src/lib -lxgks -L/usr/local/ldm/lib -lxgks -L/usr/openwin/lib -lX11 -lm -o gksdemo xgks-2.6.1+dfsg.2/src/progs/hanoi.c0000644000175000017500000002161411413611016020066 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * University of Illinois at Urbana-Champaign * Department of Computer Science * 1304 W. Springfield Ave. * Urbana, IL 61801 * * (C) Copyright 1987, 1988 by The University of Illinois Board of Trustees. * All rights reserved. * * Tool: X 11 Graphical Kernel System * Author: Gregory Scott Rogers * Author: Sung Hsien Ching Kelvin * Author: Yu Pan */ #ifndef lint # ifndef __SABER__ static char rcsid[] = "$Id: hanoi.c,v 2.5.4.1 1993/03/10 19:43:08 steve Exp $"; static char afsid[] = "$__Header$"; # endif #endif /* * solve "tower of hanoi" problem for n disks * with graphical narration of solution */ #include #include #include #include #include "demo.h" #define TOWERSPC 9.0 #define WINDWD 40.0 #define WINDHT WINDWD*0.75 /* * default values for command line options */ static int n = 5; /* * Set up the color table. */ static void SetColor(id) { Gcobundl rep; rep.red = 1.0; rep.green = 1.0; rep.blue = 1.0; gsetcolourrep(id, WHITE, &rep); rep.red = 1.0; rep.green = 0.0; rep.blue = 0.0; gsetcolourrep(id, RED, &rep); rep.red = 0.0; rep.green = 1.0; rep.blue = 0.0; gsetcolourrep(id, GREEN, &rep); rep.red = 0.0; rep.green = 0.0; rep.blue = 1.0; gsetcolourrep(id, BLUE, &rep); rep.red = 1.0; rep.green = 1.0; rep.blue = 0.0; gsetcolourrep(id, YELLOW, &rep); rep.red = 0.0; rep.green = 1.0; rep.blue = 1.0; gsetcolourrep(id, CYAN, &rep); rep.red = 1.0; rep.green = 0.0; rep.blue = 1.0; gsetcolourrep(id, VIOLET, &rep); rep.red = 1.0; rep.green = 0.5; rep.blue = 0.0; gsetcolourrep(id, SILVER, &rep); rep.red = 0.0; rep.green = 1.0; rep.blue = 0.5; gsetcolourrep(id, BEIGE, &rep); rep.red = 1.0; rep.green = 0.0; rep.blue = 0.5; gsetcolourrep(id, DARKGREEN, &rep); return; } main(argc, argv) int argc; char *argv[]; { Gint ws_id = 1; Gint mo_id = 3; Glimit WsWindow; char *conn = (char *) NULL; char *mo_path = "hanoi.gksm"; int c; extern char *optarg; extern int optind; WsWindow.xmin = 0.0; WsWindow.xmax = 1.0; WsWindow.ymin = 0.0; WsWindow.ymax = 0.8; while ((c = getopt(argc, argv, "d:n:o:")) != -1) { switch (c) { case 'd': conn = optarg; break; case 'n': n = atoi(optarg); break; case 'o': mo_path = optarg; break; } } gopengks(stdout, 0); gopenws(ws_id, conn, conn); gopenws(mo_id, mo_path, "MO"); gactivatews(ws_id); gactivatews(mo_id); SetColor(ws_id); SetColor(mo_id); gsetwswindow(ws_id, &WsWindow); gsetwswindow(mo_id, &WsWindow); title(); /* * solve the problem */ inittower(n); f(n, 0, 1, 2); /* * close workstation and GKS */ WaitForBreak(ws_id); gdeactivatews(mo_id); gdeactivatews(ws_id); gclosews(mo_id); gclosews(ws_id); gclosegks(); return 0; } /* * transfer n disks from tower a to tower b using c as a spare * * transfer n-1 from a to c using b * move 1 from a to b * transfer n-1 from c to b using a */ f(n, a, b, c) int n; int a; int b; int c; { if (n == 0) return; f(n - 1, a, c, b); movedisk(a, b); f(n - 1, c, b, a); } box(l) Glimit *l; { Gpoint pts[5]; #define e 0.01 pts[0].x = l->xmin + e; pts[0].y = l->ymin + e; pts[1].x = l->xmin + e; pts[1].y = l->ymax - e; pts[2].x = l->xmax - e; pts[2].y = l->ymax - e; pts[3].x = l->xmax - e; pts[3].y = l->ymin + e; pts[4].x = l->xmin + e; pts[4].y = l->ymin + e; gsetfillcolorind(WHITE); gfillarea(5, pts); } /* * print title across top of page */ title() { Gpoint p; Glimit Window; Glimit Viewport; Gtxfp txfp; Gtxalign txalign; Window.xmin = 0.0; Window.xmax = 16.0; Window.ymin = 0.0; Window.ymax = 2.0; Viewport.xmin = 0.1; Viewport.xmax = 0.9; Viewport.ymin = 0.58; Viewport.ymax = 0.74; txfp.font = 2; txfp.prec = GSTROKE; txalign.hor = GTH_CENTER; txalign.ver = GTV_HALF; gsetdeferst(1, GASAP, GALLOWED); gsetwindow(1, &Window); gsetviewport(1, &Viewport); gselntran(1); /* box( &Window ); */ txfp.font = 1; txfp.prec = GSTROKE; gsettextfontprec(&txfp); gsetcharspace(0.2); gsetcharheight(1.0); gsettextalign(&txalign); gsettextcolorind(YELLOW); p.x = 8.0; p.y = 1.0; gtext(&p, "Tower of Hanoi"); } /* * initialize towers with all disks on tower 0. */ inittower(n) int n; { Glimit Window; Glimit Viewport; int i; Window.xmin = 0.0; Window.xmax = WINDWD; Window.ymin = 0.0; Window.ymax = WINDHT; Viewport.xmin = 0.1; Viewport.xmax = 0.9; Viewport.ymin = 0.06; Viewport.ymax = 0.54; gsetwindow(1, &Window); gsetviewport(1, &Viewport); border(0.0, WINDWD, 0.0, WINDHT); for (i = n; i > 0; i--) placedisk(0, i); } /* * tower data structures and manipulation */ Gfloat tcount[3] = {0.2, 0.2, 0.2}; int towers[3][10] = {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}; int towerx[3] = {0, 0, 0}; movedisk(a, b) { int diskno; path(a, b); diskno = DiskRemove(a); unpath(); placedisk(b, diskno); } placedisk(tower, diskno) int tower, diskno; { gsetfillcolorind(diskno); gsetfillintstyle(GSOLID); disk(diskno, TOWERSPC * (1 + tower) - (Gfloat) (diskno) / 2.0, tcount[tower]); tcount[tower] += (Gfloat) diskno; pushdisk(tower, diskno); } DiskRemove(tower) int tower; { int diskno; diskno = popdisk(tower); gsetfillcolorind(0); gsetfillintstyle(GSOLID); tcount[tower] -= (Gfloat) diskno; disk(diskno, TOWERSPC * (1 + tower) - (Gfloat) (diskno) / 2.0, tcount[tower]); return diskno; } disk(diskno, x, y) int diskno; Gfloat x, y; { Gpoint pts[4]; #ifdef DEBUG printf("disk(%d, %8.3f, %8.3f\n", diskno, x, y); #endif pts[0].x = x; pts[0].y = y; pts[1].x = x; pts[1].y = y + (Gfloat) diskno; pts[2].x = x + (Gfloat) diskno; pts[2].y = y + (Gfloat) diskno; pts[3].x = x + (Gfloat) diskno; pts[3].y = y; gfillarea(4, pts); } Gpoint pathpts[4] = {{0.0, 0.0}, {0.0, 0.0}, {0.0, 0.0}, {0.0, 0.0}}; /* * draw a line from top disk of tower a to top of screen, then over * to tower b. */ path(a, b) int a, b; { gsetlinecolorind(GREEN); gsetlinetype(GLN_DASH); gsetlinewidth(3.0); pathpts[0].x = (a + 1) * TOWERSPC; pathpts[0].y = tcount[a] + (WINDHT * .05); pathpts[1].x = (a + 1) * TOWERSPC; pathpts[1].y = WINDHT - 1.0; pathpts[2].x = (b + 1) * TOWERSPC; pathpts[2].y = WINDHT - 1.0; pathpts[3].x = (b + 1) * TOWERSPC; pathpts[3].y = tcount[b] + (WINDHT * .05); gpolyline(4, pathpts); } unpath() { gsetlinecolorind(0); gpolyline(4, pathpts); } border(x1, x2, y_1, y2) Gfloat x1, x2, y_1, y2; { Gpoint pts[5]; gsetlinecolorind(SILVER); gsetlinetype(GSOLID); gsetlinewidth(2.0); pts[0].x = x1; pts[0].y = y_1; pts[1].x = x1; pts[1].y = y2; pts[2].x = x2; pts[2].y = y2; pts[3].x = x2; pts[3].y = y_1; pts[4].x = x1; pts[4].y = y_1; gpolyline(5, pts); } pushdisk(tower, diskno) int tower, diskno; { towers[tower][towerx[tower]] = diskno; towerx[tower]++; } popdisk(tower) int tower; { towerx[tower]--; return towers[tower][towerx[tower]]; } xgks-2.6.1+dfsg.2/src/progs/hello.c0000644000175000017500000000602411413611016020071 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. */ #include /* * This function is called when the program is finished and we just want to * wait until the user is done looking at the output. Here we set up a * choice device to use the function keys. However, we ignore all choices * and wait for the user to press the Break key. */ WaitForBreak(wsid) Gint wsid; { Gchoice init; Gchoicerec record; Glimit earea; earea.xmin = 0.0; earea.xmax = 1279.0; earea.ymin = 0.0; earea.ymax = 1023.0; gmessage(wsid, "Done, press Break to quit ..."); init.status = GC_NOCHOICE; init.choice = 0; record.pet1.data = NULL; ginitchoice(wsid, 1, &init, 1, &earea, &record); gsetchoicemode(wsid, 1, GREQUEST, GECHO); for (; init.status != GC_NONE;) greqchoice(wsid, 1, &init); } /* * set up varius text parameters and print "Hello World" */ PrintHello() { Gpoint tpt; Gpoint up; Gtxfp txfp; Gtxalign align; txfp.font = 4; /* use Serif Bold Roman font */ txfp.prec = GSTROKE; gsettextfontprec(&txfp); gsetcharexpan(0.5); gsetcharspace(0.2); gsettextcolorind(1); /* should be white */ gsetcharheight(0.05); up.x = 0.0; up.y = 1.0; /* characters are straight up */ gsetcharup(&up); align.hor = GTH_CENTER; align.ver = GTV_HALF; gsettextalign(&align); gsettextpath(GTP_RIGHT); /* print from left to right */ tpt.x = 0.5; tpt.y = 0.5; /* center of the window */ gtext(&tpt, "Hello World!"); } main(argc, argv) int argc; char *argv[]; { int i, wsid = 1; char *conn = (char *) NULL; for (i = 1; i < argc; i++) { if (index(argv[i], ':')) conn = argv[i]; /* Application dependent options here */ } gopengks(stdout, 0); if (gopenws(wsid, conn, conn) != 0) exit(0); gactivatews(wsid); PrintHello(); WaitForBreak(wsid); gdeactivatews(wsid); gclosews(wsid); gclosegks(); exit(0); } xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/0000755000175000017500000000000011413611016020332 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/progs/gksm2cgm/include/0000755000175000017500000000000011413611016021755 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/progs/gksm2cgm/include/tables.h0000644000175000017500000000170211413611016023400 0ustar amckinstryamckinstry/* *---------------------------------------------------------------------- * * PROGRAM : gksmc * * FILE : tables.h * * CONTENTS : This is included in all files containing routines which * want to access the tables and other variables declared in * tables.c * * DATE : 17th March 1988 * *---------------------------------------------------------------------- */ extern int mf_version, mf_category, vdc_type, max_colr, colr_prec, include_mf_descr, include_mf_cat , DevSpM, Encoding, NumColrDefs, NumColrBits, SigPlaces, NumExpBits, MinRealCode, MaxRealCode, DefaultExponent, MinInt, MaxInt, MaxIntBits, PointListForm ; extern double DevScale, MinReal, MaxReal ; extern ColourDef *ColrDefList ; extern Point VDC_lower, VDC_upper ; extern char *mf_name, *picture_name, *mf_descr ; extern char **OpTable, **CgmTable, **Enum[] ; xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/include/CVS/0000755000175000017500000000000011413611016022410 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/progs/gksm2cgm/include/CVS/Entries0000644000175000017500000000024211413611016023742 0ustar amckinstryamckinstry/annexe.h/1.1/Mon Aug 7 23:21:30 2000// /cgm.h/1.1/Mon Aug 7 23:21:30 2000// /defns.h/1.1/Mon Aug 7 23:21:30 2000// /tables.h/1.1/Mon Aug 7 23:21:30 2000// D xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/include/CVS/Repository0000644000175000017500000000003411413611016024507 0ustar amckinstryamckinstryxgks/progs/gksm2cgm/include xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/include/CVS/Root0000644000175000017500000000006111413611016023253 0ustar amckinstryamckinstry:pserver:anonymous@cvs.XGKS.sf.net:/cvsroot/xgks xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/include/cgm.h0000644000175000017500000000353611413611016022703 0ustar amckinstryamckinstry/* *---------------------------------------------------------------------- * * PROGRAM : gksmc * * FILE : cgm.h * * CONTENTS : Contains definitions for the names of the elements in the * CGM table - CGM elements which do not have a direct * Annex E counterpart. * * DATE : 17th March 1988 * *---------------------------------------------------------------------- */ #define BEGMF 0 #define BEGPIC 1 #define BEGPICBODY 2 #define ENDPIC 3 #define MFVERSION 4 #define MFDESC 5 #define VDCTYPE 6 #define INTEGERPREC 7 #define REALPREC 8 #define INDEXPREC 9 #define COLRPREC 10 #define COLRINDEXPREC 11 #define MAXCOLRINDEX 12 #define COLRVALUEEXT 13 #define MFELEMLIST 14 #define BEGMFDEFAULTS 15 #define ENDMFDEFAULTS 16 #define FONTLIST 17 #define CHARSETLIST 18 #define CHARCODING 19 #define SCALEMODE 20 #define COLRMODE 21 #define LINEWIDTHMODE 22 #define MARKERSIZEMODE 23 #define EDGEWIDTHMODE 24 #define VDCEXT 25 #define BACKCOLR 26 #define VDCINTEGERPREC 27 #define VDCREALPREC 28 #define AUXCOLR 29 #define TRANSPARENCY 30 #define CLIP 31 #define MFCATEGORY 32 #define MAXVDCEXT 33 #define SEGPRIEXT 34 #define DEVICEVIEWPORTMODE 35 #define DEVICEVIEWPORTMAP 36 #define MAKEPICCUR 37 #define PREPAREVIEWSURFACE 38 #define MODFONTLIST 39 #define MODCHARSETLIST 40 #define BEGFIGURE 41 #define ENDFIGURE 42 #define NEWREGION 43 #define IMPLEDGEVIS 44 #define SAVEPRIMATTR 45 #define RESPRIMATTR 46 #define DELETEATTRSET 47 #define ARCCTRBACK 48 #define PIXELARRAY 49 #define EDGEREP 50 #define DRAWINGMODE 51 #define REOPENSEG 52 #define COPYSEG 53 #define DELETEALLSEG 54 #define IMPLSEGREGENMODE 55 #define INHFILTER 56 #define SEGPICKPRI 57 #define INCRLINE 58 #define INCRMARKER 59 #define TEXTPREC 60 #define INCRPOLYGON 61 #define HATCHINDEX 62 #define CHARHEIGHT 63 xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/include/defns.h0000644000175000017500000000706511413611016023235 0ustar amckinstryamckinstry/* *---------------------------------------------------------------------- * * PROGRAM : gksmc * * FILE : defns.h * * CONTENTS : Contains definitions for values of global variables, * and the entries in the tables and enumerations. * * DATE : 17th March 1988 * *---------------------------------------------------------------------- */ /* Structure used to hold a point */ typedef struct { double x, y ; } Point ; /* Structure used to hold a colour definition */ typedef struct { int ColrIndex ; int red, green, blue ; } ColourDef ; /* *----------------------------------------- * Names for each row in the enumeration * table *----------------------------------------- */ #define E_PREPVS 0 #define E_UPDATE 1 #define E_DEFMODE 2 #define E_DEFREGEN 3 #define E_MESSAGE 4 #define E_TEXTEND 5 #define E_TEXTPATH 6 #define E_TEXTPREC 7 #define E_HORIZ 8 #define E_VERT 9 #define E_INTERIOR 10 #define E_SEGVIS 11 #define E_SEGHL 12 #define E_SEGDET 13 #define E_ASFNAME 14 #define E_ASFTYPE 15 #define E_PSEUDOASF 16 #define E_MFCAT 17 #define E_VDCTYPE 18 #define E_SCALESPEC 19 #define E_COLRSEL 20 #define E_SPEC 21 #define E_ELEMGROUP 22 #define E_DVSPECMODE 23 #define E_CHARCODING 24 /* *--------------------------------------------- * Definitions for values of cgm global * variables *--------------------------------------------- */ #define FALSE 0 #define TRUE 1 /* VDC type */ #define VDC_INT 0 #define VDC_REAL 1 /* Metafile category */ #define CGM 0 #define GKSM 1 #define CGMEXT1 2 /* Point list formats */ #define LIST_ABSOLUTE 0 #define LIST_INCR 1 /* Encodings */ #define CLEAR_TEXT 0 #define CHARACTER 1 /* CGM item name tables */ #define OP_TABLE 0 #define CGM_TABLE 1 #define DEFAULT -1 /* Real representation used in Annex E */ #define REAL_AS_REAL 1 #define REAL_AS_INT 2 /* Number format in Annex E - clear text or binary */ #define BINARY_FORMAT 2 /* *--------------------------------------------------- * Definitions for values in enumerations where the * value is given explicitly in a routine *--------------------------------------------------- */ /* Device viewport specification mode */ #define UNKNOWN -1 #define FRACTION 0 #define MM 1 #define PHYDEVICEUNITS 2 /* MF element list */ #define DRAWINGSET 0 #define DRAWINGPLUS 1 /* Scaling Mode */ #define ABSTRACT 0 #define METRIC 1 /* Colour selection mode */ #define INDEXED 0 #define DIRECT 1 /* Linewidth and marker size specification mode */ #define ABSOLUTE 0 #define SCALED 1 /* Prepare view surface */ #define CONDITIONAL 0 #define FORCEHARDCOPY 1 /* Real precision exponents allowed parameter */ #define ALLOWED 0 #define FORBIDDEN 1 /* Text Final or not final flag */ #define NOTFINAL 0 #define FINAL 1 /* Message */ #define NOACTION 0 #define ACTION 1 /* Character Coding Announcer */ #define BASIC7BIT 0 #define BASIC8BIT 1 #define EXTD7BIT 2 #define EXTD8BIT 3 /* *----------------------------------------- * Miscellaneous definitions *----------------------------------------- */ /* Start Of String and String Terminator sequences used to delimit character encoding strings */ #define SOS "\033\130" #define ST "\033\134" #define LOG_10_ON_LOG_2 3.3219280949 /* Code for the ALL pseudo ASF in character encoding */ #define CE_ALL_ASF 511 #define NO_SOS 0 #define SOFTSEP 0 #define OPTSEP 1 #define HARDSEP 2 #define SEP 3 #define TERMINATOR 4 /* Position of COLRTABLE item in OpTable */ #define COLRTABLE 55 /* restrictions on integer parameters */ #define ANY 0 #define POSITIVE 1 #define NON_NEGATIVE 2 xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/include/annexe.h0000644000175000017500000000350011413611016023402 0ustar amckinstryamckinstry/* *---------------------------------------------------------------------- * * PROGRAM : gksmc * * FILE : annexe.h * * CONTENTS : This contains definitions for each legal Annex E item * number, so items can be referred to by name. * * DATE : 17th March 1988 * *---------------------------------------------------------------------- */ /* E.5 Control items */ #define END_ITEM 0 #define CLEAR_WKS 1 #define REDRAW_SEGS 2 #define UPDATE_WKS 3 #define DEF_STATE 4 #define MESSAGE 5 #define ESCAPE 6 /* E.6 Items for output primitives */ #define POLYLINE 11 #define POLYMARKER 12 #define TEXT 13 #define FILL_AREA 14 #define CELL_ARRAY 15 #define GDP 16 /* E.7 Items for output primitive attributes */ #define LINE_INDEX 21 #define LINE_TYPE 22 #define LINE_WIDTH 23 #define LINE_COLOUR 24 #define MARKER_INDEX 25 #define MARKER_TYPE 26 #define MARKER_SIZE 27 #define MARKER_COLOUR 28 #define TEXT_INDEX 29 #define TEXT_FONT_PREC 30 #define CHAR_EXP 31 #define CHAR_SPACING 32 #define TEXT_COLOUR 33 #define CHAR_VECTORS 34 #define TEXT_PATH 35 #define TEXT_ALIGN 36 #define FILL_INDEX 37 #define FILL_INT_STYLE 38 #define FILL_STYLE_IND 39 #define FILL_COLOUR 40 #define PATT_VECTORS 41 #define PATT_REF_POINT 42 #define ASF 43 #define PICK_ID 44 /* E.8 Items for workstation attributes */ #define POLYLINE_REP 51 #define MARKER_REP 52 #define TEXT_REP 53 #define FILL_AREA_REP 54 #define PATT_REP 55 #define COLOUR_REP 56 /* E.9 Items for transformations */ #define CLIP_RECT 61 #define WKS_WINDOW 71 #define WKS_VIEWPORT 72 /* E.10 Items for segment manipulation */ #define CREATE_SEG 81 #define CLOSE_SEG 82 #define RENAME_SEG 83 #define DELETE_SEG 84 /* E.11 Items for segment attributes */ #define SET_SEG_TRANS 91 #define SET_VISIBILITY 92 #define SET_HIGHLIGHT 93 #define SET_SEG_PRI 94 #define SET_DETECT 95 xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/CVS/0000755000175000017500000000000011413611016020765 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/progs/gksm2cgm/CVS/Entries0000644000175000017500000000000211413611016022311 0ustar amckinstryamckinstryD xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/CVS/Repository0000644000175000017500000000002411413611016023063 0ustar amckinstryamckinstryxgks/progs/gksm2cgm xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/CVS/Entries.Log0000644000175000017500000000003411413611016023036 0ustar amckinstryamckinstryA D/include//// A D/src//// xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/CVS/Root0000644000175000017500000000006111413611016021630 0ustar amckinstryamckinstry:pserver:anonymous@cvs.XGKS.sf.net:/cvsroot/xgks xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/0000755000175000017500000000000011413611016021121 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/AEutils.c0000644000175000017500000001440611413611016022640 0ustar amckinstryamckinstry/* *---------------------------------------------------------------------- * * PROGRAM : gksmc * * FILE : AEutils.c * * CONTENTS : Utility routines to read from an Annex E format metafile, * such as integers, reals, strings etc. * * GLOBALS USED : int_field_width, real_field_width, real_rep, * * DATE : 26th April 1988 * *---------------------------------------------------------------------- */ #include #include "defns.h" extern int int_field_width; extern int real_field_width; extern int real_rep; /* *------------------------------------------------------------------------- * read_string: * Reads a specified number of characters from the input file and * stores them in the string given. All reading from the input file is * done via this routine, to allow characters such as newline to be * handled consistently. Eg newline can be ignored in an Annexe E metafile. * Reading from the metafile can be done this way since the number of * characters to be read for each type of data is known beforehand - the * field widths are contained in the metafile header. *------------------------------------------------------------------------- */ read_string(infile, string, length) FILE *infile; char *string; int length; { int i = 0, ch; while (i < length && (ch = getc(infile)) != EOF) if (ch != '\n') string[i++] = ch; if (ch == EOF) write_error(DEFAULT); string[i] = '\0'; } /* *------------------------------------------------------------------------- * read_string_int: * Calls read_string to read in a string of the specified length, * then stores the integer value the string represents in the integer * variable referenced. *------------------------------------------------------------------------- */ read_string_int(infile, int_var_ptr, width) FILE *infile; int *int_var_ptr; int width; { char *num; if (width == DEFAULT) width = int_field_width; num = (char *) calloc(width + 1, sizeof(char)); read_string(infile, num, width); if (!legal_int_string(num)) write_error(23); *int_var_ptr = atoi(num); cfree(num); } /* *------------------------------------------------------------------------- * legal_int_string: * Takes a string pointer and returns 1 (TRUE) if the string * referenced represents a legal integer, 0 (FALSE) if not. *------------------------------------------------------------------------- */ legal_int_string(str) char *str; { int i = 0, legal = TRUE; while (str[i] == ' ') /* read off any leading spaces */ i++; if (str[i] == '-' || str[i] == '+') /* single unary operator ok */ i++; while (str[i] != '\0' && legal) { /* should only be digits left */ if (str[i] < '0' || str[i] > '9') legal = FALSE; i++; } return (legal); } /* *------------------------------------------------------------------------- * read_string_real: * The real number representation (reals as integer or real values) * is checked. If integer format then read_string_int is called, otherwise * a string is read in and interpreted as a floating point number, the * value stored in the double float variable referenced. *------------------------------------------------------------------------- */ read_string_real(infile, real_var_ptr, width) FILE *infile; double *real_var_ptr; int width; { char *num; double atof(); int int_var; if (real_rep == REAL_AS_INT) { read_string_int(infile, &int_var, DEFAULT); *real_var_ptr = (double) int_var; } else { if (width == DEFAULT) width = real_field_width; num = (char *) calloc(width + 1, sizeof(char)); read_string(infile, num, width); if (!legal_real_string(num)) write_error(24); *real_var_ptr = atof(num); cfree(num); } } /* *------------------------------------------------------------------------- * legal_real_string: * Takes a string pointer and returns 1 (TRUE) if the string * referenced represents a legal real, 0 (FALSE) if not. *------------------------------------------------------------------------- */ legal_real_string(str) char *str; { int i = 0, legal = TRUE; while (str[i] == ' ') /* read off any leading spaces */ i++; if (str[i] == '-' || str[i] == '+') /* single unary operator ok */ i++; while (str[i] != '\0' && str[i] != '.' && legal) { /* digits before . */ if (str[i] < '0' || str[i] > '9') legal = FALSE; i++; } if (str[i] == '.') /* single decimal point ok */ i++; while (str[i] != '\0' && str[i] != '.' && legal) { /* digits after . */ if (str[i] < '0' || str[i] > '9') legal = FALSE; i++; } return (legal); } /* *------------------------------------------------------------------------- * read_point: * Reads in an x value then a y value and stores them in the Point * structure referenced. *------------------------------------------------------------------------- */ read_point(infile, point) FILE *infile; Point *point; { read_string_real(infile, &point->x, DEFAULT); read_string_real(infile, &point->y, DEFAULT); } /* *------------------------------------------------------------------------- * read_int_list: * Uses read_string_int to read in the specified number of integer * values and stores them in the list given *------------------------------------------------------------------------- */ read_int_list(infile, list, num_ints) FILE *infile; int *list, num_ints; { while (num_ints--) read_string_int(infile, list++, DEFAULT); } /* *------------------------------------------------------------------------- * read_real_list: * Uses read_string_real to read in the specified number of real * values and stores them in the list given *------------------------------------------------------------------------- */ read_real_list(infile, list, num_reals) FILE *infile; double *list; int num_reals; { while (num_reals--) read_string_real(infile, list++, DEFAULT); } /* *------------------------------------------------------------------------- * read_point_list: * Uses read_point to read in the specified number of points and * stores them in the list given *------------------------------------------------------------------------- */ read_point_list(infile, pt_list, num_pts) FILE *infile; Point *pt_list; int num_pts; { while (num_pts--) read_point(infile, pt_list++); } xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/cgm.def0000644000175000017500000000117311413611016022351 0ustar amckinstryamckinstry# # cgm.def # This file is used to change the default values for certain variables in gksmc # # Request Clear Text encoded CGM ENCODING CLEARTEXT # Lower case Clear Text CGM CASE LOWER # # Redefine separator strings SOFTSEP " " OPTSEP "" HARDSEP "," SEP "," TERM ";\n" # # Set the maximum colour index MAXCOLR 127 # Set the maximum RGB colour intensity value COLRPREC 255 # PICNAME "Spiral" MFNAME "Test metafile" MFDESCR "metafile descriptor string" # # Set the Device viewport specification mode DEVSPEC MM # Set Device viewport metric scale factor DEVSCALE 1.0 # # Request clear text point lists in absolute form POINTLIST ABSOLUTE xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/cgmdump.c0000644000175000017500000000364511413611016022731 0ustar amckinstryamckinstry/* *---------------------------------------------------------------------- * * PROGRAM : cgmdump * * FILE : cgmdump.c * * CONTENTS : This program reads a CGM character encoded metafile from * standard input and writes the code for each character to * standard output. The format of the code can be specified * using a flag :- * -o : character codes in octal * -d : character codes in decimal * -h : character codes in hexadecimal * -e : character codes in the x/y format used in ISO * documents for the encoding. * * DATE : 24th April 1988 * *--------------------------------------------------------------------- */ #include #define OCTAL 0 #define DECIMAL 1 #define HEXADECIMAL 2 #define ENCODING 3 main(argc, argv) int argc; char *argv[]; { int Output_format = ENCODING, ch, count, argno, ex, ey; argno = 1; while (argno < argc) { argv++; if (argv[0][0] == '-') { switch (argv[0][1]) { case 'o': Output_format = OCTAL; break; case 'd': Output_format = DECIMAL; break; case 'h': Output_format = HEXADECIMAL; break; case 'e': Output_format = ENCODING; break; default: command_line_error(); } } else command_line_error(); argno++; } count = 0; while ((ch = getchar()) != EOF) { switch (Output_format) { case OCTAL: printf("%3o ", ch); break; case DECIMAL: printf("%3d ", ch); break; case HEXADECIMAL: printf("%2x", ch); break; case ENCODING: ex = ch / 16; ey = ch % 16; if (ey < 10) printf("%d/%d ", ex, ey); else printf("%d/%2d ", ex, ey); } count = (count + 1) % 8; /* 8 codes per line */ if (count == 0) putchar('\n'); } putchar('\n'); } command_line_error() { fprintf(stderr, "Usage : cgmdump [ -o | -d | -h | -e ]\n"); exit(1); } xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/annexe_8.c0000644000175000017500000003006111413611016022772 0ustar amckinstryamckinstry/* *---------------------------------------------------------------------- * * PROGRAM : gksmc * * FILE : annexe_8.c * * CONTENTS : Routines to read items from an Annex E metafile which * are in group E.8 and E.9 of the Annex - items for * workstation attributes and items for transformations * respectively. * * ANNEX E ITEMS : Set Line Representation * Set Marker Representation * Set Text Representation * Set Fill Area Representation * Set Pattern Representation * Set Colour Representation * Set Clipping Rectangle * Set Workstation Window * Set Workstation Viewport * * GLOBALS USED : MF_infile, MF_outfile, VDC_lower, VDC_upper, * DevSpM, DevScale * * DATE : 26th April 1988 * *---------------------------------------------------------------------- */ #include #include "annexe.h" #include "cgm.h" #include "defns.h" #include "tables.h" extern FILE *MF_infile, *MF_outfile; /* *------------------------------------------------------------------------- * AEpolyline_rep: * Polyline Representation maps directly to the CGM item Line * Representation. *------------------------------------------------------------------------- */ AEpolyline_rep() { int line_index, linetype_no, line_colour; double line_width; read_string_int(MF_infile, &line_index, DEFAULT); if (line_index < 1) write_error(38); read_string_int(MF_infile, &linetype_no, DEFAULT); read_string_real(MF_infile, &line_width, DEFAULT); if (line_width < 0.0) write_error(39); read_string_int(MF_infile, &line_colour, DEFAULT); if (line_colour < 0) write_error(40); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, line_index); write_separator(MF_outfile, SEP); write_int(MF_outfile, linetype_no); write_separator(MF_outfile, SEP); write_real(MF_outfile, line_width); write_separator(MF_outfile, SEP); write_int(MF_outfile, line_colour); } /* *------------------------------------------------------------------------- * AEmarker_rep: * Polymarker Representation maps directly to the CGM item Marker * Representation. *------------------------------------------------------------------------- */ AEmarker_rep() { int marker_index, marker_type, marker_colour; double marker_size; read_string_int(MF_infile, &marker_index, DEFAULT); if (marker_index < 1) write_error(41); read_string_int(MF_infile, &marker_type, DEFAULT); read_string_real(MF_infile, &marker_size, DEFAULT); if (marker_size < 0.0) write_error(42); read_string_int(MF_infile, &marker_colour, DEFAULT); if (marker_colour < 0) write_error(43); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, marker_index); write_separator(MF_outfile, SEP); write_int(MF_outfile, marker_type); write_separator(MF_outfile, SEP); write_real(MF_outfile, marker_size); write_separator(MF_outfile, SEP); write_int(MF_outfile, marker_colour); } /* *------------------------------------------------------------------------- * AEtext_rep: * The Text Representation item is the same in Annex E and CGM. *------------------------------------------------------------------------- */ AEtext_rep() { int text_index, text_font, text_prec, text_colour; double char_exp, char_space; read_string_int(MF_infile, &text_index, DEFAULT); if (text_index < 1) write_error(44); read_string_int(MF_infile, &text_font, DEFAULT); read_string_int(MF_infile, &text_prec, DEFAULT); check_param_range(text_prec, 0, 2, 45); read_string_real(MF_infile, &char_exp, DEFAULT); read_string_real(MF_infile, &char_space, DEFAULT); read_string_int(MF_infile, &text_colour, DEFAULT); if (text_colour < 0) write_error(46); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, text_index); write_separator(MF_outfile, SEP); write_int(MF_outfile, text_font); write_separator(MF_outfile, SEP); write_enum_value(MF_outfile, E_TEXTPREC, text_prec); write_separator(MF_outfile, SEP); write_real(MF_outfile, char_space); write_separator(MF_outfile, SEP); write_real(MF_outfile, char_exp); write_separator(MF_outfile, SEP); write_int(MF_outfile, text_colour); } /* *------------------------------------------------------------------------- * AEfill_area_rep: * Fill Area Representation translates to Fill Representation which * is the same except that the Annex E item has a parameter Interior Style * Index for pattern and hatch, whilst CGM has two separate parameters for * Pattern Index and Hatch Index. *------------------------------------------------------------------------- */ AEfill_area_rep() { int fa_index, fa_int_style, fa_style_index, fa_colour; read_string_int(MF_infile, &fa_index, DEFAULT); if (fa_index < 1) write_error(47); read_string_int(MF_infile, &fa_int_style, DEFAULT); check_param_range(fa_int_style, 0, 4, 48); read_string_int(MF_infile, &fa_style_index, DEFAULT); read_string_int(MF_infile, &fa_colour, DEFAULT); if (fa_colour < 0) write_error(49); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, fa_index); write_separator(MF_outfile, SEP); write_enum_value(MF_outfile, E_INTERIOR, fa_int_style); write_separator(MF_outfile, SEP); write_int(MF_outfile, fa_style_index); /* Hatch Index */ write_separator(MF_outfile, SEP); write_int(MF_outfile, fa_style_index); /* Pattern Index */ write_separator(MF_outfile, SEP); write_int(MF_outfile, fa_colour); } /* *------------------------------------------------------------------------- * AEpatt_rep: * Pattern Representation maps to the CGM item Pattern Table. *------------------------------------------------------------------------- */ AEpatt_rep() { int pat_index, num_cols, num_rows, *colr_indices, num_indices; read_string_int(MF_infile, &pat_index, DEFAULT); if (pat_index < 1) write_error(50); read_string_int(MF_infile, &num_cols, DEFAULT); read_string_int(MF_infile, &num_rows, DEFAULT); num_indices = num_cols * num_rows; colr_indices = (int *) calloc(num_indices, sizeof(int)); read_int_list(MF_infile, colr_indices, num_indices); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, pat_index); write_separator(MF_outfile, SEP); write_int(MF_outfile, num_cols); write_separator(MF_outfile, SEP); write_int(MF_outfile, num_rows); write_separator(MF_outfile, SEP); write_int(MF_outfile, 0); /* use default colour precision */ write_cell_row(MF_outfile, colr_indices, num_indices); cfree(colr_indices); } /* *------------------------------------------------------------------------- * AEcolour_rep: * The Annex E item Colour Representation translates to the CGM item * Colour Table. Annex E expects real values in the range 0.0 - 1.0 for the * red, green and blue specifiers, whilst CGM expects integers. * The colour definition specified is stored in the list ColourDefList. * Colour definitions must be remembered because if the current picture * is closed and a new one opened, the changes to the colour table have to * be written at the head of the new picture. *------------------------------------------------------------------------- */ AEcolour_rep() { int colr_index; double red, green, blue; ColourDef colr_def; read_string_int(MF_infile, &colr_index, DEFAULT); read_string_real(MF_infile, &red, DEFAULT); read_string_real(MF_infile, &green, DEFAULT); read_string_real(MF_infile, &blue, DEFAULT); if (colr_index < 0) write_error(25); colr_def.red = (int) (red * colr_prec); colr_def.green = (int) (green * colr_prec); colr_def.blue = (int) (blue * colr_prec); colr_def.ColrIndex = colr_index; update_colour_list(colr_def); write_colour_defn(MF_outfile, colr_def); } /* *------------------------------------------------------------------------- * AEclip_rect: * The Clipping Rectangle item is the same in Annex E and CGM except * that the bounds are given in the order xmin, xmax, ymin, ymax in * Annex E, whereas the CGM item takes two points, ie (xmin, ymin), * (xmax, ymax). *------------------------------------------------------------------------- */ AEclip_rect() { Point lower, upper; /* xmin, xmax, ymin, ymax */ double tmp; read_point(MF_infile, &lower); read_point(MF_infile, &upper); tmp = lower.y; lower.y = upper.x; upper.x = tmp; CGMclip_rectangle(lower, upper); } /* *------------------------------------------------------------------------- * AEwks_window: * CGM does not have an item which corresponds to the Workstation * Window item. This item implies a dynamic change in the image, and thus * can not be directly handled by a CGM. Addendum 1 does not include * an appropriate item, so the guidelines given in ISO 8632/1 Annex E * are followed - the current picture is finished and a new one opened * with the VDC extent changed. *------------------------------------------------------------------------- */ AEwks_window() { double tmp; read_point(MF_infile, &VDC_lower); read_point(MF_infile, &VDC_upper); tmp = VDC_lower.y; VDC_lower.y = VDC_upper.x; VDC_upper.x = tmp; write_item_name(MF_outfile, CGM_TABLE, ENDPIC); write_separator(MF_outfile, TERMINATOR); start_picture(); } /* *------------------------------------------------------------------------- * AEwks_viewport: * The Annex E item Workstation Viewport tranlates to the CGM item * Device Viewport. The Annex E metafile does not carry any information * concerning the specification form used - 'Metric' or 'other'. The * specification mode to be used in the CGM item (Fraction, mm, or * physical device units) can be forced by specifying in the defaults * file using the DEVSPEC entry followed by FRACTION, MM or PHYDEVICEUNITS. * The scale factor can be given using the DEVSCALE entry in the defaults * file, followed by a real value. * If the Spec Mode is not user specified then an 'informed' guess * is made - the values for the viewport bounds are checked, if all values * are in the range 0.0 - 1.0 then MM is used with a default scale factor * of 1000, otherwise the values are taken as Physical device units. *------------------------------------------------------------------------- */ AEwks_viewport() { Point upper, lower; double tmp; read_point(MF_infile, lower); read_point(MF_infile, upper); tmp = lower.y; lower.y = upper.x; upper.x = tmp; if (DevSpM == FRACTION) { /* Fraction of device viewport */ write_item_name(MF_outfile, CGM_TABLE, DEVICEVIEWPORTMODE); write_separator(MF_outfile, SOFTSEP); write_enum_value(MF_outfile, E_DVSPECMODE, FRACTION); write_separator(MF_outfile, SOFTSEP); write_real(MF_outfile, 1.0); write_separator(MF_outfile, TERMINATOR); write_item_name(MF_outfile, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_real_point(MF_outfile, lower); write_separator(MF_outfile, SEP); write_real_point(MF_outfile, upper); } else if (DevSpM == MM || (DevSpM == UNKNOWN && lower.x <= 1 && lower.y <= 1 && upper.x <= 1 && upper.y <= 1)) { write_item_name(MF_outfile, CGM_TABLE, DEVICEVIEWPORTMODE); write_separator(MF_outfile, SOFTSEP); write_enum_value(MF_outfile, E_DVSPECMODE, MM); write_separator(MF_outfile, SEP); write_real(MF_outfile, DevScale); write_separator(MF_outfile, TERMINATOR); write_item_name(MF_outfile, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_real_point(MF_outfile, lower); write_separator(MF_outfile, SEP); write_real_point(MF_outfile, upper); } else { write_item_name(MF_outfile, CGM_TABLE, DEVICEVIEWPORTMODE); write_separator(MF_outfile, SOFTSEP); write_enum_value(MF_outfile, E_DVSPECMODE, PHYDEVICEUNITS); write_separator(MF_outfile, SEP); write_real(MF_outfile, 1.0); write_separator(MF_outfile, TERMINATOR); write_item_name(MF_outfile, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_int_point(MF_outfile, lower); write_separator(MF_outfile, SEP); write_int_point(MF_outfile, upper); } } xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/CGMutils.c0000644000175000017500000005504111413611016022761 0ustar amckinstryamckinstry/* *---------------------------------------------------------------------- * * PROGRAM : gksmc * * FILE : CGMutils.c * * CONTENTS : Utility routines to write various things to the CGM * output file, such as integers, spearators points etc. * * GLOBALS USED : SepStrings, item_no, Encoding, vdc_type, * PointListForm, colr_prec, NumColrDefs, ColrDefList, * NumColrBits. * * DATE : 26th April 1988 * *---------------------------------------------------------------------- */ #include #include "defns.h" #include "tables.h" /* Constants used when writing character encoded values */ #define THREE_BIT_MASK 7 #define FOUR_BIT_MASK 15 #define FIVE_BIT_MASK 31 #define CLEAR_SIXTH_BIT 95 #define SET_SEVENTH_BIT 64 #define POSITIVE_SIGN_MASK 0 #define NEGATIVE_SIGN_MASK 16 #define LHS 1 #define RHS 0 extern char *SepStrings[]; extern int item_no; /* *------------------------------------------------------------------------- * write_item_name: * Write the specified item name from the selected table to the * output file. *------------------------------------------------------------------------- */ write_item_name(outfile, table_id, item_id) FILE *outfile; int item_id; { if (item_id == DEFAULT) item_id = item_no; if (table_id == OP_TABLE) fprintf(outfile, "%s", OpTable[item_id]); else fprintf(outfile, "%s", CgmTable[item_id]); } /* *------------------------------------------------------------------------- * write_enum_value: * For Clear Text the appropriate enumeration literal text string is * written to the output file. For Character Encoding the integer value * of the enumeration literal is written to the output file. *------------------------------------------------------------------------- */ write_enum_value(outfile, enum_no, entry_id) FILE *outfile; int enum_no, entry_id; { if (Encoding == CLEAR_TEXT) fprintf(outfile, "%s", Enum[enum_no][entry_id]); else write_int(outfile, entry_id); } /* *------------------------------------------------------------------------- * write_separator: * For Clear Text encoding, given the separator identifier the * corresponding separator string is written to the output file. * The other encodings do not have separators, so this routine does nothing * if creating a character or binary encoded CGM. *------------------------------------------------------------------------- */ write_separator(outfile, sep_id) FILE *outfile; int sep_id; { if (Encoding == CLEAR_TEXT) fprintf(outfile, "%s", SepStrings[sep_id]); } /* *------------------------------------------------------------------------- * write_int: * Writes an integer value to the output file in the format * specified by the CGM encoding style in force. *------------------------------------------------------------------------- */ write_int(outfile, value) FILE *outfile; int value; { int sign, ind = 0, i, cont_flag = 0; char str[20]; if (Encoding == CLEAR_TEXT) fprintf(outfile, "%d", value); else { sign = (value < 0) ? NEGATIVE_SIGN_MASK : POSITIVE_SIGN_MASK; value = abs(value); while (value != 0 || ind == 0 || cont_flag) { cont_flag = 0; if ((value & FOUR_BIT_MASK) == value) { str[ind++] = 96 | sign | value; value >>= 4; } else { str[ind++] = 96 | (value & FIVE_BIT_MASK); value >>= 5; cont_flag = (value == 0) ? 1 : 0; } } ind--; str[0] &= CLEAR_SIXTH_BIT; for (i = ind; i >= 0; i--) fprintf(outfile, "%c", str[i]); } } /* *------------------------------------------------------------------------- * write_real: * Writes a real value to the output file in the correct format for * the CGM encoding style in force. *------------------------------------------------------------------------- */ write_real(outfile, value) FILE *outfile; double value; { int mantissa, exponent = 0, sign, i; double dtmp, int_part; if (Encoding == CLEAR_TEXT) { if (value < 0.0) { putc('-', outfile); value = -value; } dtmp = value; while (dtmp > 99999999) dtmp -= (double) 99999999.0; int_part = value - (dtmp - (int) dtmp); fprintf(outfile, "%.0f", int_part); putc('.', outfile); value -= int_part; for (i = 0; i < SigPlaces; i++) { value *= 10.0; fprintf(outfile, "%d", (int) value); value -= (int) value; } } else { sign = (value < 0.0) ? 1 : 0; value = (value < 0.0) ? -value : value; mantissa = (int) value; value -= mantissa; while (value != 0.0 && abs(exponent) < NumExpBits) { value *= 2; mantissa *= 2; exponent--; mantissa += (int) value; value -= (int) value; } if (sign) mantissa = -mantissa; write_mantissa(outfile, mantissa); write_int(outfile, exponent); } } /* *------------------------------------------------------------------------- * write_mantissa: * Writes the mantissa of a real value to the output file. * This routine is only used in the character encoding *------------------------------------------------------------------------- */ write_mantissa(outfile, value) FILE *outfile; int value; { int sign, ind = 0, i, cont_flag = 0; char str[20]; sign = (value < 0) ? NEGATIVE_SIGN_MASK : POSITIVE_SIGN_MASK; value = abs(value); while (value != 0 || ind == 0 || cont_flag) { cont_flag = 0; if ((value & THREE_BIT_MASK) == value) { str[ind++] = 104 | sign | value; value >>= 3; } else { str[ind++] = 96 | (value & FIVE_BIT_MASK); value >>= 5; cont_flag = (value == 0) ? 1 : 0; } } ind--; str[0] &= CLEAR_SIXTH_BIT; for (i = ind; i >= 0; i--) fprintf(outfile, "%c", str[i]); } /* *------------------------------------------------------------------------- * write_vdc: * Writes a specified value in Virtual Device Coordinates. The type * depends on the current setting of VDCTYPE - either integer or real. *------------------------------------------------------------------------- */ write_vdc(outfile, vdc_value) FILE *outfile; double vdc_value; { if (vdc_type == VDC_INT) write_int(outfile, (int) vdc_value); else write_real(outfile, vdc_value); } /* *------------------------------------------------------------------------- * write_point: * Checks the current VDC type and calls the appropriate point * writing routine *------------------------------------------------------------------------- */ write_point(outfile, pt) FILE *outfile; Point pt; { if (vdc_type == VDC_INT) write_int_point(outfile, pt); else write_real_point(outfile, pt); } /* *------------------------------------------------------------------------- * write_real_point: * Writes the given real valued point to the output file, in the * correct encoding format. *------------------------------------------------------------------------- */ write_real_point(outfile, pt) FILE *outfile; Point pt; { if (Encoding == CLEAR_TEXT) { putc('(', outfile); write_separator(outfile, OPTSEP); write_real(outfile, pt.x); write_separator(outfile, SEP); write_real(outfile, pt.y); write_separator(outfile, OPTSEP); putc(')', outfile); } else { write_real(outfile, pt.x); write_real(outfile, pt.y); } } /* *------------------------------------------------------------------------- * write_int_point: * Writes the given integer valued point to the output file, in the * correct encoding format. *------------------------------------------------------------------------- */ write_int_point(outfile, pt) FILE *outfile; Point pt; { if (Encoding == CLEAR_TEXT) { putc('(', outfile); write_separator(outfile, OPTSEP); write_int(outfile, (int) pt.x); write_separator(outfile, SEP); write_int(outfile, (int) pt.y); write_separator(outfile, OPTSEP); putc(')', outfile); } else { write_int(outfile, (int) pt.x); write_int(outfile, (int) pt.y); } } /* *------------------------------------------------------------------------- * write_point_list: * Takes a pointer to a list of points and calls write_point for * each point in order. *------------------------------------------------------------------------- */ write_point_list(outfile, pt_list, num_pts) FILE *outfile; Point *pt_list; int num_pts; { int i; if (Encoding == CHARACTER || PointListForm == LIST_INCR) conv_pt_list_to_incr(pt_list, num_pts); if (Encoding == CLEAR_TEXT) { write_separator(outfile, SOFTSEP); for (i = 1; i <= num_pts; i++) { write_point(outfile, *pt_list++); if (i < num_pts) write_separator(outfile, SEP); if (i % 4 == 0 && i != num_pts) putc('\n', outfile); } } else { for (i = 1; i <= num_pts; i++) write_point(outfile, *pt_list++); } } /* *------------------------------------------------------------------------- * conv_pt_list_to_incr: * Takes a pointer to a list of points, and converts the list into * incremental form. The first point is specified in absolute coordinates, * for remaining points, the x and y values for each point give the * displacement from the previous point *------------------------------------------------------------------------- */ conv_pt_list_to_incr(pt_list, num_pts) Point *pt_list; int num_pts; { int i; for (i = num_pts - 1; i > 0; i--) { pt_list[i].x = pt_list[i].x - pt_list[i - 1].x; pt_list[i].y = pt_list[i].y - pt_list[i - 1].y; } } /* *------------------------------------------------------------------------- * write_rgb: * Writes a rgb colour representation in the bitstream format used * in the character encoding. *------------------------------------------------------------------------- */ write_rgb(outfile, red, green, blue) FILE *outfile; int red, green, blue; { char str[20]; int ind = 0, side, i, mask = 0; for (i = 0; i < NumColrBits; i++) mask = (mask << 1) | 1; red &= mask; green &= mask; blue &= mask; if (2 * (int) (NumColrBits / 2.0) == NumColrBits) /* even no. of bits */ side = RHS; else side = LHS; str[0] = SET_SEVENTH_BIT; for (i = 1; i <= NumColrBits; i++) { if (side == RHS) { str[ind] |= ((red & 1) << 2) | ((green & 1) << 1) | (blue & 1); side = LHS; } else { str[ind] |= ((red & 1) << 5) | ((green & 1) << 4) | ((blue & 1) << 3); side = RHS; ind++; str[ind] = SET_SEVENTH_BIT; } red >>= 1; green >>= 1; blue >>= 1; } ind--; for (i = ind; i >= 0; i--) putc(str[i], outfile); } /* *------------------------------------------------------------------------- * write_cell_row: * Writes the list of colour indices referenced to the output file. * This is used in the CELL ARRAY and PATTERN REPRESENTATION items. *------------------------------------------------------------------------- */ write_cell_row(outfile, list, num_elts) FILE *outfile; int *list, num_elts; { int i; write_separator(outfile, SEP); if (Encoding == CLEAR_TEXT) { putc('(', outfile); for (i = 0; i < num_elts; i++) { write_int(outfile, list[i]); if (i < num_elts - 1) write_separator(outfile, SEP); if (i % 40 == 0) putc('\n', outfile); } putc(')', outfile); } else { write_int(outfile, 0); /* indicates indexed normal colour list */ for (i = 0; i < num_elts; i++) write_int(outfile, list[i]); } } /* *------------------------------------------------------------------------- * write_delta_pair: * Writes a delta pair to the output file. *------------------------------------------------------------------------- */ write_delta_pair(outfile, dp) FILE *outfile; Point dp; { write_separator(outfile, OPTSEP); write_vdc(outfile, dp.x); write_separator(outfile, SEP); write_vdc(outfile, dp.y); write_separator(outfile, OPTSEP); } /* *------------------------------------------------------------------------- * write_CGM_string: * Writes the given string to the output file. For character encoding, * if inc_sos = 0 then the Start Of String sequence will not be printed. * This is needed for the Begin Metafile item substitution string. *------------------------------------------------------------------------- */ write_CGM_string(outfile, string, inc_sos) FILE *outfile; char *string; int inc_sos; { int i; if (Encoding == CLEAR_TEXT) { putc('"', outfile); for (i = 0; string[i] != '\0'; i++) if (string[i] != '"') putc(string[i], outfile); else fprintf(outfile, "\"\""); putc('"', outfile); } else { /* character encoding strings */ if (inc_sos != NO_SOS) fprintf(outfile, "%s", SOS); fprintf(outfile, "%s%s", string, ST); } } /* *------------------------------------------------------------------------- * write_datarecord: * Writes the given integer and real data to the output file as a * 'datarecord'. The datarecord type is defined as a string. The format * for this was not specified, so the path of least resistance was taken - * the values are written directly in the string, in the current encoding * format. *------------------------------------------------------------------------- */ write_datarecord(outfile, num_ints, int_list, num_reals, real_list) FILE *outfile; int num_ints, *int_list, num_reals; double *real_list; { int i; if (Encoding == CLEAR_TEXT) fprintf(outfile, "\""); else fprintf(outfile, "%s", SOS); write_int(outfile, num_ints); write_separator(outfile, SEP); write_int(outfile, num_reals); write_separator(outfile, SEP); for (i = 0; i < num_ints; i++) { write_int(outfile, int_list[i]); write_separator(outfile, SEP); } for (i = 0; i < num_reals; i++) { write_real(outfile, real_list[i]); if (i < num_reals - 1) write_separator(outfile, SEP); } if (Encoding == CLEAR_TEXT) fprintf(outfile, "\""); else fprintf(outfile, "%s", ST); } /* *------------------------------------------------------------------------- * write_colour_defn: * This takes a single colour definition and writes a Colour Table * item to the output metafile. The colour definition is in the structure * type ColourDef (see defns.h). *------------------------------------------------------------------------- */ write_colour_defn(outfile, colr_def) FILE *outfile; ColourDef colr_def; { write_item_name(outfile, OP_TABLE, COLRTABLE); write_separator(outfile, SOFTSEP); write_int(outfile, colr_def.ColrIndex); if (Encoding == CLEAR_TEXT) { write_separator(outfile, SEP); write_int(outfile, colr_def.red); write_separator(outfile, SEP); write_int(outfile, colr_def.green); write_separator(outfile, SEP); write_int(outfile, colr_def.blue); } else { write_int(outfile, 0); write_rgb(outfile, colr_def.red, colr_def.green, colr_def.blue); } } /* *------------------------------------------------------------------------- * write_colour_list: * This writes a colour definition item to the output metafile for * each entry in ColrDefList, which holds every colour definition done so * far. This is called at the start of a picture if the list contains any * definitions to maintain the colour table between pictures. *------------------------------------------------------------------------- */ write_colour_list(outfile) FILE *outfile; { int i; for (i = 0; i < NumColrDefs; i++) write_colour_defn(outfile, ColrDefList[i]); } /* *------------------------------------------------------------------------- * update_colour_list: * This is called whenever a Set Colour Representation item is read * from the Annex E metafile. The colour definition is added to the list * ColourDef to allow the colour table to be maintained between pictures. *------------------------------------------------------------------------- */ update_colour_list(colr_def) ColourDef colr_def; { ColourDef *temp_colrs; int i; NumColrDefs++; temp_colrs = (ColourDef *) calloc(NumColrDefs, sizeof(ColourDef)); for (i = 0; i < NumColrDefs - 1; i++) { temp_colrs[i].ColrIndex = ColrDefList[i].ColrIndex; temp_colrs[i].red = ColrDefList[i].red; temp_colrs[i].green = ColrDefList[i].green; temp_colrs[i].blue = ColrDefList[i].blue; } temp_colrs[i].ColrIndex = colr_def.ColrIndex; temp_colrs[i].red = colr_def.red; temp_colrs[i].green = colr_def.green; temp_colrs[i].blue = colr_def.blue; if (NumColrDefs > 1) cfree(ColrDefList); ColrDefList = temp_colrs; } /* *------------------------------------------------------------------------- * check_param_range: * Takes an integer value and compares it with the bounds given. If * it lies outside the bounds, write_error is called with the error * message number specified. *------------------------------------------------------------------------- */ check_param_range(value, lower, upper, error_number) int value, lower, upper, error_number; { if (value < lower || value > upper) write_error(error_number); } /* *------------------------------------------------------------------------- * write_error: * Takes an error number and writes the corresponding error message * to stderr. *------------------------------------------------------------------------- */ write_error(err_num) int err_num; { switch (err_num) { case 1: fprintf(stderr, "Insufficient points for "); fprintf(stderr, "polypoint primitive\n"); break; case 2: fprintf(stderr, "Binary number format not accepted\n"); break; case 3: fprintf(stderr, "Defaults file not present\n"); break; case 4: fprintf(stderr, "Illegal entry in defaults file\n"); break; case 5: fprintf(stderr, "Error in defaults file : SOFTSEP\n"); break; case 6: fprintf(stderr, "Error in defaults file : OPTSEP\n"); break; case 7: fprintf(stderr, "Error in defaults file : HARDSEP\n"); break; case 8: fprintf(stderr, "Error in defaults file : SEP\n"); break; case 9: fprintf(stderr, "Error in defaults file : TERM\n"); break; case 10: fprintf(stderr, "Error in defaults file : CASE\n"); break; case 11: fprintf(stderr, "Error in defaults file : MAXCOLR\n"); break; case 12: fprintf(stderr, "Error in defaults file : COLRPREC\n"); break; case 13: fprintf(stderr, "Error in defaults file\n"); break; case 14: fprintf(stderr, "Error in defaults file : quoted string\n"); break; case 15: fprintf(stderr, "Illegal DEVSPEC parameter "); fprintf(stderr, "in defaults file\n"); break; case 16: fprintf(stderr, "Illegal DEVSCALE parameter "); fprintf(stderr, "in defaults file\n"); break; case 17: fprintf(stderr, "Illegal POINTLIST parameter "); fprintf(stderr, "in defaults file\n"); break; case 18: fprintf(stderr, "Illegal ENCODING parameter "); fprintf(stderr, "in defaults file\n"); break; case 19: fprintf(stderr, "Segment priority > 1.0 not allowed"); break; case 20: fprintf(stderr, "Error in input metafile, "); fprintf(stderr, "incorrect GKSM chars\n"); break; case 21: fprintf(stderr, "Illegal metafile item number in "); fprintf(stderr, "input metafile\n"); break; case 22: fprintf(stderr, "Illegal Annex E metafile header\n"); break; case 23: fprintf(stderr, "Illegal integer in Annex E metafile\n"); fprintf(stderr, "Most recent item number = %d\n", item_no); break; case 24: fprintf(stderr, "Illegal real in Annex E metafile\n"); fprintf(stderr, "Most recent item number = %d\n", item_no); break; case 25: fprintf(stderr, "Illegal colour index (negative) "); fprintf(stderr, "in Annex E metafile\n"); break; case 26: fprintf(stderr, "Illegal style index in Annex E metafile\n"); break; case 27: fprintf(stderr, "Illegal integer parameter, positive "); fprintf(stderr, "value expected\n"); fprintf(stderr, "Item number = %d\n", item_no); break; case 28: fprintf(stderr, "Illegal integer parameter, non negative "); fprintf(stderr, "value expected]n"); fprintf(stderr, "Item number = %d\n", item_no); break; case 29: fprintf(stderr, "Illegal real parameter, positive value "); fprintf(stderr, "expected\n"); fprintf(stderr, "Item number = %d\n", item_no); break; case 30: fprintf(stderr, "Illegal real parameter, non negative "); fprintf(stderr, "value expected\n"); fprintf(stderr, "Item number = %d\n", item_no); break; case 31: fprintf(stderr, "Illegal value for Clearing Control Flag "); fprintf(stderr, "parameter of Clear Workstation item\n"); break; case 32: fprintf(stderr, "Illegal value for deferral mode "); fprintf(stderr, "parameter of Deferral Mode item\n"); break; case 33: fprintf(stderr, "Illegal value for implicit regeneration "); fprintf(stderr, "mode parameter of Deferral Mode item\n"); break; case 34: fprintf(stderr, "Illegal value for Text precision\n"); break; case 35: fprintf(stderr, "Illegal horizontal alignment parameter "); fprintf(stderr, "in Text alignment item\n"); break; case 36: fprintf(stderr, "Illegal vertical alignment parameter "); fprintf(stderr, "in Text alignment item\n"); break; case 37: fprintf(stderr, "Illegal flag in Aspect Source Flags item\n"); break; case 38: fprintf(stderr, "Illegal line index in Polyline "); fprintf(stderr, "representation item\n"); break; case 39: fprintf(stderr, "Illegal line width in Polyline "); fprintf(stderr, "representation item\n"); break; case 40: fprintf(stderr, "Illegal line colour in Polyline "); fprintf(stderr, "representation item\n"); break; case 41: fprintf(stderr, "Illegal marker index in Polymarker "); fprintf(stderr, "representation item\n"); break; case 42: fprintf(stderr, "Illegal marker size in Polymarker "); fprintf(stderr, "representation item\n"); break; case 43: fprintf(stderr, "Illegal marker colour in Polymarker "); fprintf(stderr, "representation item\n"); break; case 44: fprintf(stderr, "Illegal text bundle index in Text "); fprintf(stderr, "representation item\n"); break; case 45: fprintf(stderr, "Illegal text precision in Text "); fprintf(stderr, "representation item\n"); break; case 46: fprintf(stderr, "Illegal text colour in Text "); fprintf(stderr, "representation item\n"); break; case 47: fprintf(stderr, "Illegal fill area index in Fill area "); fprintf(stderr, "representation item\n"); break; case 48: fprintf(stderr, "Illegal interior style in Fill area "); fprintf(stderr, "representation item\n"); break; case 49: fprintf(stderr, "Illegal fill colour in Fill area "); fprintf(stderr, "representation item\n"); break; case 50: fprintf(stderr, "Illegal pattern index in Pattern "); fprintf(stderr, "representation item\n"); break; default: fprintf(stderr, "Illegal input metafile\n"); } exit(1); } xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/gksm2cgm0000755000175000017500000033745411413611016022601 0ustar amckinstryamckinstrybTÃ\(`8 Ð@p@@@þÿÿóÿÿÿ°­.textp@p@€Äp .rdataÀÐ.dataÀÀ&À×@.lit8À-À-Àý.sdataP.P. Pþ.sbssð4ð4À.bss°5°5 €¤<¥'°­œ'¦$€!0ÂX‡…¯P‡†¯èÿ½' R f • 0…ŽÀ* O <8ï%áø¡¯á¸¯ ø° FE F> FüÿEøIDøID! `R…'!5!8øÁD$ F DøÉD0ŠD!2€F(F°*FDD„  FbŽÿÿB$ @b®lŽ. $‹¡mŽ®%n®.$l& !(`l…µ4Fà!€”Ç€•Ç4°¯‚µ4F! `W…'p¢¯øXDøXD7!8øÁD$´ F€DøØD„ !0p¢Dl…™!‘€FB$*Yéÿ µ$F4°D´ÇHµÇk,¿À€DÈ€D4°¯<°8F0±¯E$t¨¯t ¯<°8FE‡µ FøIDøID!5!8øÁD¤± F0DøÉD@D!ˆ¡B€Fµ*F2°8F;Et¯d& ! d‡Š*J4 t¯D´çHµç€•Ç€”Ç@ˆ‚µ4F€‘DÿÿR&¡„€F‘6FøKDøKDa5!8øÁD¤! FøËD0DøLDøLD5!8øÁD$² F@ DøÌDPD!T€Fµ0F2°8FEd& ! @d‡Ž*N×ÿ D´ÇHµÇt¯à! `#ˆ! `®  !( ! `u  !(@4°0±,¿¶Ç·Ç¸Ç¹Ç$²(³à€½'°ÿ½'°¯ ³¯!€ ±¯$¿¯!˜€²¯!ˆ$!d& ! !€@P®'!.2!hX6%ÈÜÿY 1&B$ À2` 5CÜÿI 1&B$$îÿ2ìÿ 2êÿ`2,ªƒÿÿ1&_K1,«£ ! P¬'!€LZ‘'P²'Üÿ‚! `„ !( ÿÿ&+ùÿ $¿°±² ³àP½'0…Žèÿ½'`†Dh‡DÀ¿¯øODøODá5!8øÁD$a F DøÏDu  ¿`DhDÁ  ¿½'à0…Žàÿ½'¿¯(¦¯À,§¯(¯'áø¡¯á ¸¯ ø §¦¡¯x  ¸¯¿(¹'!(¡¯! ¨¯ ( §¦¡¯1  ¨¯¿ ½'ààÿ½'\…ް¯¿¯(¦¯!€€4À,§¯ŽÿÿB$ @®Ž($£Ž('®($l& !(! f  $(¦,§Á  ! ! f  $0¦4§Á  ! ! f  $ŽÿÿB$ @® Ž) $I¡ Žl% ®)$l& !( ¿(¦,§Á  ! 0¦4§Á  ! ¿°à ½'àÿ½'\…ް¯¿¯(¦¯!€€FÀ,§¯ŽÿÿB$ @®Ž($£Ž('®($l& !(! f  $øIDøID(¤Ç,¥Ç!5!8øÁD! ¤! F0DøÉDu  ! f  $øJDøJD0¨Ç4©ÇA5!8øÁD! ¤B FPDøÊDu  ! f  $ŽÿÿB$ @® Ž) $‹¡ Ž®% ®)$l& !(¿øODøOD(°Ç,±Çá5!8øÁD! ¤„ FDøÏDu  øXDøXD0¤Ç4¥Ç7!8øÁD! ¤! F0DøØDu  ¿°à ½'¸ÿ½'(³¯\…Ž$²¯ ±¯$,¿¯!ˆ€! !˜À°¯`…â! @N !(`\…˜;! f  !(I`$0´¯ $AŽYŽ¡¯AŽ ¹¯ YŽ §¦¡¯! R&  ¹¯* ! f  $2üÿ%"ŽÿÿB$ @"®)Ž4¡*ŽK%+®! €l& !( &*pÑÿ 0´,¿`$AŽLŽ¡¯AŽ ¬¯ LŽ §¦¡¯! R&  ¬¯&*pðÿ ,¿° ±$²(³àH½'¡( ÿÿ¢$q!ŽdÄeÄðÿfÄôÿgÄjÄ kÄøÿpÄüÿqÄ"&FÿÿB$T0Fhäiärä säðÿ@ðÿc$à`‡‰˜ÿ½'±¯!ˆ€¿¯!P! !c$*i@üÿ B4 ‰D€ˆÇ¡!€F€‰Ç$(¢ƒ2(F$0Â$8âøNDøNDÁ5!8øÁD$T F€DøÎD@À8$! $@$T¹£' $h«'!K@$ €ìÿL€­0€p Ø0@È%xŽ%Xùí0%`mìÿL $ìÿN€¸0@yË0%ÈÏi ø0Àp%`-%xŽìÿO ! J%B$ìÿH c$*#C(C0Þÿ C8ÿÿJ%@!@(°¯$²¯h«'!€kh²'"ŽÿÿB$ @"®ìÿ’9Ž"£-ޏ%8®ìÿ’l& !( ÿÿ&+ìÿ (°$²¿±àh½'°ÿ½' µ¯²¯!€!¨ $¿¯³¯!˜À°¯$f  ! @\…ŽOÀ! @BŽÿÿB$ @B®XŽ($£YŽ('H®($l& !(@*`!€0±¯!ˆ ,´¯ÿÿt& $%Žu  ! @* ($! @f  $($H BŽÿÿB$ @B®JŽU¡KŽl%L®!  l& !(@&àÿ1&0±,´BŽÿÿB$ @B®NŽ) $Í¡OŽø%X®)$l& !(@$¿! @u  !( `!€0±¯!ˆ %Žu  ! @&ûÿ1&0±$¿°²³ µàP½'àÿ½'°¯!€€¿¯(¦¯,§¯! f  $(¦,§ñ  ! ! f  $0¦4§ñ  ! ! f  $¿°à ½'¸ÿ½'\…޲¯±¯!ˆ€! LÀ¿¯"ŽÿÿB$ @"®8Ž"$£9Ž('(®"$l& !( I‚!& $°¯!€@ ³¯‚]“'"$B! "ŽÿÿB$ @"®’*ŽB¡+Žl% ,®’l& !( ‚! „ !(`‚&åÿ@$° ³"ŽÿÿB$ @"®.Ž" $Í¡/Žø%8®"$l& !(  ¿À! ! `…'„ c†'! f…'!0@„ k‡'¿±²àH½'Èÿ½' ´¯²¯\…޳¯$¿¯±¯!˜ !€! àÀ@¦¯! @„ n…'! @! @p…'„ s†'! @u  !(`! @f  $! @u  !(€! @f  $`!ˆ(°¯@°Žu  ! @! @f  $1&øÿ3&(°!ˆ€(°¯H°ÿÿ“&ŽŽÁ  ! @*3 ! @f  $1&ôÿ4&(°\…à! @! @„ v…'$¿! @x…'„ {†'$¿±²³ ´à8½'àÿ½'°¯¿¯!€€$¥¯(¦¯,§¯7$!(4  ! ! f  !($¥u  ! \…ŽÀ! ! f  $(¥u  ! ! f  $,¥u  ! ! f  $0¥u  !  ¿! u  !((¥,¦0§f ! ¿°à ½'Èÿ½'p…Ž ²¯±¯!€$¿¯À!ˆ,°¯!€ä‡! @!À𡯹¯  ¡¯ §¦¥$ ¹¯p…ˆ1&*(íÿ &,°$¿± ²à8½'àÿ½'¿¯p…ƒ ¤¯$¥¯c$(¦¯,§¯! `p…ƒ¯<% $p…ƒ!0@ÿÿn$!À!(!! @䇥$!Àã„$ðÿ™¬ä‡ˆ!H*ôÿЬ䇋!`cøÿ¬ä‡Ž!xà øc$üÿ˜¬p…™ÿÿ('*¨ãÿ  ªI! IЬ$«‹¬(¬Œ¬,­ ¬p…ŽÁ) ¿ä‡„S% ¦¯¦¿ä‡†¯à ½'èÿ½'*… ¿¯*Ä ¿× ! ࿽'àÿÿŽ$èÿ½'2Á-  ¿¯€p ¥$„ h!„$ < ¥$„ h!„$Ó<<] ¥$„ h!„$Ì<< ¥$„ h!„$Å<<¢ ¥$„ h!„$¾<<º ¥$„ h!„$·<<â ¥$„ h!„$<<ý ¥$„ h!„$«<< ¥$„ h!„$<<+ ¥$„ h!„$Ÿ<<= ¥$„ h!„$<¥$„ h!„$Š< &FE$× $$ A¨Ç©ÇP€DX€D<@*FE× $ć„!(4  ÿÿ$ć„f  !(愦§Á  ¿ ½'ààÿ½'¿¯À‡„¥'  ÿÿ$À‡„¥'  ÿÿ$¤!($Ê "$ć„!(4  ÿÿ$ć„f  !(ć„¥u  ć„f  $ć„$4  <$ć„f  !(愦O  $¿ ½'àà`,F¨ÿ½'¿¯À‡„Ö  H¥'À‡„Ö  8¥'H¬ÇL­Ç= † FP¬ÇT­Ç(¢ç= ,£ç(¢Ç,£Ç  F† Fć„0¢ç4£ç$4  ?$0¢Ç4£Çć„f  !(0¢Ç4£Çć„DDñ  ć„f  $ć„!(4  ÿÿ$ć„f  !(H®'ÁÏ¡¯Á ¯¯ Ï §¦Ä‡„¡¯M ¯¯Ä‡„f  $8¸'¡¯ ¹¯  §¦Ä‡„¡¯M ¹¯¿X½'ààÿ½'¿¯À‡„¥'  ÿÿ$¤!($Ê #$À‡„¥'  ÿÿ$¤!($Ê $$ć„!(4  ÿÿ$ć„f  !(愦O  $ć„f  $愦O  $ć„f  $ć„$Á  $ć„f  $ć„$Á  $¿ ½'ààÿ½'¿¯À‡„¥'  ÿÿ$®À× $ć„!(4  ÿÿ$ć„f  !(ć„¥u  ć„f  $ć„$4  >$ć„f  !(ć„¥u  ¿ ½'àÀÿ½'¿¯À‡„Ö  ¥'À‡„Ö  0¥'ć„!(4  ÿÿ$ć„f  !( ®'ÁÏ¡¯Á ¯¯ Ï §¦Ä‡„¡¯M ¯¯Ä‡„f  $0¸'¡¯ ¹¯  §¦Ä‡„¡¯M ¹¯¿@½'àÐÿ½'¿¯À‡„Ö  ¥'ć„!(4  ÿÿ$ć„f  !( ®'ÁÏ¡¯Á ¯¯ Ï §¦Ä‡„¡¯  ¯¯¿0½'à ÿ½'¿¯À‡„±¯°¯,¥'ç  $!`°'”±'ÌÿŽ!($Ê %$&ùÿć„!(4  ÿÿ$ć„f  !(,¤'!( $‘ (§'@,¤'\…ŽÀć„$O  !0ć„u  ÿ$ć„f  $ć„(¦O  $¿,¤'!($¨ $,¤'$$¨ $,¤'$ $¨ $,¤' $ $¨ $¿°±à`½'€p!xŽø*¦$¢$ ø¬€@åŒ!Hˆ€P9¹!%*Høÿ )%à!`Àÿ½'±¯°¯@¤¯H¦¯!€ !ˆà¿¯H¦@¤<§'‘ !( @H¹\…ŽÀć„$O  !0 ć„ÿ$u  #(ñć„f  $ć„<¦O  $H¸ $™¿Ä‡„f  $”¿H¹!ˆ*0 ¿@¨,²¯(³¯$´¯€H $$! \…Š5@!*ć„$O  !0 ć„f  $ć„FŽO  $ $!ć„f  $3ć„$O  $ć„f  $ć„FŽO  $ć„f  $4ć„$O  $ć„f  $ć„FŽO  $ć„f  $F0&!* ć„u  !( ć„EŽu  :0&3 !*ć„u  !( ć„EŽu  ć„u  $ć„EŽu  (0& !* ć„0&u  !(ć„EŽu  H«4ć„u  $ć„EŽu  ć„u  $ć„EŽu  0&ć„u  $ć„EŽu  0&H«!ˆ*q€ÿ R&,²(³$´¿°±à@½'Ðÿ½'¿¯À‡„,¥'  ÿÿ$,®À× &$À‡„(¥'  ÿÿ$À‡„¥'^  ÿÿ$¤Ç ¥Ç0€D8€D< &FE× '$À‡„$¥'  ÿÿ$$¯á× ($ć„!(4  ÿÿ$ć„f  !(ć„,¥u  ć„f  $ć„(¥u  ć„f  $愦 §Á  ć„f  $ć„$¥u  ¿0½'àÐÿ½'¿¯À‡„,¥'  ÿÿ$,®À× )$À‡„(¥'  ÿÿ$À‡„¥'^  ÿÿ$¤Ç ¥Ç0€D8€D< &FE× *$À‡„$¥'  ÿÿ$$¯á× +$ć„!(4  ÿÿ$ć„f  !(ć„,¥u  ć„f  $ć„(¥u  ć„f  $愦 §Á  ć„f  $ć„$¥u  ¿0½'àÈÿ½'¿¯À‡„4¥'  ÿÿ$4®À× ,$À‡„0¥'  ÿÿ$À‡„,¥'  ÿÿ$,¤!($Ê -$À‡„ ¥'^  ÿÿ$À‡„¥'^  ÿÿ$À‡„(¥'  ÿÿ$(¯á× .$ć„!(4  ÿÿ$ć„f  !(ć„4¥u  ć„f  $ć„0¥u  ć„f  $ć„,¦O  $ć„f  $愦§Á  ć„f  $ć„ ¦$§Á  ć„f  $ć„(¥u  ¿8½'àØÿ½'¿¯À‡„$¥'  ÿÿ$$®À× /$À‡„ ¥'  ÿÿ$ ¤!($Ê 0$À‡„¥'  ÿÿ$À‡„¥'  ÿÿ$¯á× 1$ć„!(4  ÿÿ$ć„f  !(ć„$¥u  ć„f  $ć„ ¦O  $ć„f  $ć„¥u  ć„f  $ć„¥u  ć„f  $ć„¥u  ¿(½'àÐÿ½'¿¯À‡„,¥'  ÿÿ$,®À× 2$À‡„(¥'  ÿÿ$À‡„$¥'  ÿÿ$(¯$¸$ø ¤¯<% À‡„¦ ¢¯ç  !(@ć„!(4  ÿÿ$ć„f  !(ć„,¥u  ć„f  $ć„(¥u  ć„f  $ć„$¥u  ć„f  $ć„u  !(ć„ ¥¦Ú ¤S% ¿0½'à¨ÿ½'¿¯À‡„T¥'  ÿÿ$À‡„L¥'^  ÿÿ$À‡„D¥'^  ÿÿ$À‡„<¥'^  ÿÿ$T®Á× $<…L¦Ç DP§Ç! €FD°ÇH±Ç2 F<¦Ç@§ÇT¬,­'øXDøXD,¬¯7!8øÁD¤B FøØD‚„ FPD0¹¯øHDøHD5!8øÁD$‘ FøÈD2 F D4©¯øJDøJDA5!8øÁD¤B FP DøÊD8«¯¡®¡¯¡®¯ ®¡¯ ®¯ §¦¥¤~ ,¯'áø¡¯á¸¯ ø ¡¯ §¦¥Ä‡„$ ¸¯¿X½'à°ÿ½'$¿¯À‡„Ö  @¥'À‡„Ö  0¥'H ÇL¡Ç0¤Ç4¥Ç0 ç@®'4¡çH¤çL¥çÁÏ¡¯Á¯¯ Ï0¸'¡¯ ¯¯¡¯¹¯  §¦¥¤¡¯· ¹¯$¿P½'àèÿ½'¿¯À‡„<Ö  8¥$À‡„<Ö  X¥$<@ ÄD!Ä@4¥çć„$4  #$ć„f  !(ć„$O  !0ć„f  !(8€‚Ç<€ƒÇć„DDÁ  ć„f  $ć„4  ÿÿ$ć„f  !((¨' ¡¯ ©¯ §¦Ä‡„¡¯1  ©¯Ä‡„f  $8ª'AK¡¯A «¯ K §¦Ä‡„¡¯1  «¯¢¿$"Aÿÿ$A8€‚Ç<€ƒÇW8€‚Ç<€ƒÇ(¦Ç,§Ç>0"FNE0¨Ç4©Ç>@"FGE>"FCE@ªÇD«Ç>P"F<Eć„$4  #$ć„f  !(ć„$O  $ć„f  $ć„€†„‡Á  ć„f  $ć„4  ÿÿ$ć„f  !((¬'¡¯ ­¯ §¦Ä‡„¡¯1  ­¯Ä‡„f  $8¯'áî¡¯á ®¯ î §¦Ä‡„¡¯1  ®¯C¿Ä‡„$4  #$8€‚Ç<€ƒÇć„f  !(8€‚Ç<€ƒÇć„$O  $8€‚Ç<€ƒÇć„f  $8€‚Ç<€ƒÇć„DDÁ  ć„f  $ć„4  ÿÿ$ć„f  !((¹'!8¡¯! ¸¯ 8 §¦Ä‡„¡¯x  ¸¯Ä‡„f  $8©'!(¡¯! ¨¯ ( §¦Ä‡„¡¯x  ¨¯¿H½'ààÿ½' ¤¯¿¯À‡„¥'  ÿÿ$À‡„¥'  ÿÿ$ć„!(4  ÿÿ$ć„f  !(ć„¥u  ć„f  $ć„ ¥¦O  ¿ ½'àèÿ½'¿¯Ä‡„!(4  ÿÿ$¿½'ààÿ½'¿¯À‡„¥'  ÿÿ$À‡„¥'  ÿÿ$ć„!(4  ÿÿ$ć„f  !(ć„¥u  ć„f  $ć„¥u  ¿ ½'à ÿ½'¿¯À‡„\¥'  ÿÿ$À‡„(¥'  $ć„!(4  ÿÿ$\…Ž,Àć„ °¯±¯f  !(ć„\¥u  !`°'±'ć„f  $ć„ÈÿŽÌÿŽÁ  ć„f  $ć„ÐÿŽÔÿŽÁ  ć„f  $ㄨÿŽÜÿŽñ  &æÿ °±$¿Ä‡„\¥u  ć„(¦,§Á  ć„@¦D§Á  ć„0¦4§Á  ć„H¦L§Á  ć„8¦<§ñ  ć„P¦T§ñ  ¿`½'àØÿ½'¿¯À‡„$¥'  ÿÿ$À‡„¥'^  ÿÿ$¤Ç¥Ç8€†Ç<€‡Ç> &FE× $t‡Ž¨ÇPŽD©Ç!T€Fć„!(‚D0Fÿÿ$øODøODá5!8øÁD$‘ F DøÏD4  ¸¯Ä‡„f  !(ć„$¥u  ć„f  $ć„ ¥u  ć„f  $ć„$4  9$ć„f  !(ć„$¥u  ć„f  $ć„ ¥u  ¿(½'àhDDUÿ$IAüJ%M #@ hˆDH€ŠÇL€‹Ç8€ˆÇ>`*F<€‰Ç<E!@hˆDÿÿJ%`(F<D`(F#@ˆDP€ŠÇƒ FT€‹ÇX€ŒÇ\€Ç"F *F`€ŠÇd€‹Ç€!,Fh€ŒÇ‚1$F*Fl€Çp€ŠÇt€‹Ç$F€1,Fx€ŒÇ|€Ç‚1$F*F$F€1,F&F"F"FŠD @¡€F€€ŠÇ„€‹Çˆ€ŒÇ*FŒ€Ç‚,F$Fà&Fà1`,F!$€D€DE\‡ˆ¯à"Fà` F!XàÀ €‚Ç”€ƒÇ`"FhDø <ML ÿ $P+B@BK|)1<øLDøLD!)°)Œ!@ 5#@ ˆD€DøÍD <ƒ` FI!"FD#@ ˆDƒ` F"Fƒ` FD <#@ ˆDÿï$"Fƒ` FøMD$`ˆ­1  12"FDE Dÿÿ%ÿÿ)%‰DˆD Œ5D D%ˆD)%‰D1 D D%ˆD)%‰D"FD#@ ˆDøÌDà` D@P@`à` F !Àà1`,F€D€DøÿE!$ Fà\‡ˆ¯Ð <‰D€D c F Dð<#H!‰Dèÿ½'¿¯¤¯' ¥¯@!0@!¤¥| ¿½'àpÿ½'±¯!ˆ€? ¿¯$†‚@$°¯<@!1&ÿÿ$.†Ï1àœ ! P$°™ÿÿ$<|!'1&+8ïÿ $° ð‡™!@+Y $°¯ÿÿ$dŒ€ˆ„ 1 œ <£¯<£P$°xÿÿ$ð‡Šc$+jëÿ $°o!$°¯$†‹0`Œ§ %Ž%Ž!8 à,Ž#0‡%Ž!0À!€0 !€Ž0$Á!€0à!€#Ž£!€"Ž@ 8Ž#Èe#€#€@#€!€@!€„ˆ0%® ® "Ž"®$†‰0 ýÿ$$P*¦À$‚ˆ¦¯d' !(àˆ¦"F$°+†ÿÿ$ l5,¦$°¿$‚\' D¥'@L­—®1ÀN¯‡ à$‚l' @$‚!(|' $$°!¿±à½'Øÿ½'°¯!€€¿¯ÿÿ$%ÿÿ$†N0À@O0àœ ! !@‚„' $£¯$£Aÿÿ$†3 Ž"( $£¯$£®®® ®ÿÿ$¦¢!`¿°à(½'Ðû½'0¤¯8¦¯0¦¿¯<§¯„!@ G0 à,£'ìûÿ$ì$pA$Τ Ϭ0¦¯! 8¥'f) ,§¯,§0¦ à!(@(¥¯! Àœ 0¦¯0¦(¥Ø„À¬ À¬7Ù¤À¬É„ *1@! ÿÿ$! ¿0½'à!`èÿ½'¤¯¥¯¥¿¯ ¦¯<$§¯@!„$:  ¦'¿½'àèÿ½'¿¯ ¦¯$§¯:  ¦'¿½'àÈÿ½'¿¯@¦¯A$D§¯4®§,¤¯(¤¯$ ¯‚€„$ @$¹$¯„$ø%$¸¯ÿÿ‚€úÿ@$¯$¹$¤'@¦':  0¹¯¿8½'àÀÿ½'°¯!€€¿¯†n0o0à4®¯ Àýÿ$x0ýÿ$œ ! †ýÿ$$Èa¦† 5 ¦†Cj0$A4­ k4 ¦ $\‡Œ¯`ÿÿ$4­ Žî%®ŽŽby$N®<@!% $ àT/à$ àT/àÀÿ½'¿¯$@!@‡… ¡,!  $@+Eýÿ „$D‡„¯üÿ¢$+F !@@‡…¯$! üÿ$D‡„! @‡…¯!ÀC+ @@!ÈC!!ÈC+&øÿ „$ <°5)%€@!( £Œ `(¤¯í' ¥¯¥(¤£Œ`!jŒï $ª¬k d b$¿0½'à!8€î$$Ðÿ½'0Ï+À¿¯@‡‚* ! ÂF! @À ÿÿ$Á€<A ( ¥¯! Â$ ¥¯¦¯`/ 0§¯ ¥¦0§ÿÿ$ A!@€ÀĨ¯üÿ¡!¨p‚Ëÿàÿ &D)2 Ðÿ& 16Ðÿ&p‚ <@P!Xj¢#k•@$2l1€< #c$€h!h¢@h !°p‚ÐÿB$@p!xnø•s&3ôÿ €©ÿ!¨@§ÿ!¸@16p‚¤ÿàÿ &¨')2!  !ĪK%$`~Ĭ¯üÿ ð­¯Ä®Ï%$Àþĸ¯üÿð¹¯ð¨,2œ†‰' $€< ©¯üª¯#X𫯴'W) ð¤'‚¢,2€ž†'$ ­¯ü®¯/2à`)2 †˜'$ ¸¯ü¹¯`)2`$!ßÿ$$ˆ!ðª@$2 A) !@@0h$€0h$ÿÿˆ¢ÿÿ”& $a!`ÿÿ”&€X!Xc@X #`K0% a(ôÿ ¢0n$ÿÿŽ¢ÿÿ”&›€ü¹¯'#Àô#¸•@!@œ£¯ô£¯‘16¹')2!   ! ĪH%$XÄ«¯üÿl ð¬¯Ä­®%$xÞį¯üÿøð¸¯ð¹€<$H!»ÿ `)2´'W) ð¤'µÿ‚¢ª'$$! @ !@$!¨ $¨'$! !$`+2`$aßÿ$$ˆ!,2 €@$2Ä­®%$xÞį¯üÿø ð¸¯Ä¹)'$P>ΝüÿHð¨¯X$<ô"c$<#c$ð« `!`€ $ $16ô­¯œ¬¯ @$2ÿ<ÿÿç4$pE!xnCÈø$H'Éÿÿ”&øÿ@˜¢ €+2ª'#@T#¨@!@œ£¯ô£¯16+2 `ü¹ð¬€ü¹O$-2 ü¹$$ô¯¯œ®¯16¢†˜'$ ¸¯ ü¹¯¥†‰' $ ©¯üª¯O$ëÿX$÷ÿo$çÿx$îÿüü¹@(2¡*$¡* $¥&$Ы'ä¬'¬¯«¯Ä¤'ì¦'è§'¸(  ¯! @Т$A@$¨†„'4% ! €¨†'Û!M$A$.2À<#”&< #”&4% ! €Ì!‚$ Aè¸<)#„$4% ! €<)#ï%Á!Oè¸!  *2¬†™' $ ¹¯ü©¯*2@,2®†ˆ' $ ¨¯ü«¯,2€°†'$ ­¯ü®¯ƒ‚`0$¢£²'”&0$¯£²' 82‡™ƒR&ÿÿY¢ ƒ‚ `ÿÿ„$C¢”&€R&ƒ‚øÿ`€䪘¤¯ô¤¯16䪩'©¯´'@ £ì¨ÿÿ%!`# A( ££ $Aÿÿc$X A(0l%øÿ l £¯£0M$ÿÿm ÿÿc$£¯®¯'+Ï ì¸!À0$¤'ÿÿB$+Dýÿ C ¢¯ì¸©ä¹ «©+$ÿÿ*%ª¯H¡«- $ÿÿl%¬¯¡ä†@p!Àî—)3 ¨E $ÿÿ %ª¯K¡­e$ÿÿ¬%¬¯¡®ô¹¸'#!H"ô©¯ø¢¯$€16@(2<¡*$<¡* <$!( <$ $Ъ'ä­'­¯ª¯«¯Ä¤'ì¦'¸( è§'! @Т$A@$²†„'4% ! €²†'!O$A$,2€<3#”&<=#”&4% ! €ô!‚$ Aè®Ä¨¯üÿ€¿ÿ$¼†”'$ˆ!@+2`4% ! €!!‚…‚‚&  ÿÿµ& E€B$ ÿÿµ&úÿ¡ÿÿR$ά'M%$x¾Ä¯¯üÿâ!€! €!ˆ@!¸´¸X¬xüÿÿs&ü¹ô¨#pT!HÙ!(*w!0` X®¯´«!Pc6´ª¯´­ ,2!x·€´¯¯82#pã16œ®¯œ¹!H7#@#œ¨¯#!0à+2!`ü¬<Ä"R‚#ã@!€@ÅŽÿÿ¥$  Å®ÊŽR¡Íޝ% Ï®ÿD2!(Àl& ܦ¯Ü¦ÿÿ$Aÿÿ&Ùÿÿ$ÿÿ&çÿü¬!€(2€! °ÅŽ‚ÿÿ¥$  Å®ØŽ£ÎŽÙ% Ù®ÿD0!(Àl& ܦ¯Ü¦ÿÿ$Aü©·ÿÿ$ü©R&æÿI&(2!X¬œ«<Ü"R‚`!€`ÅŽÿÿ¥$  Å®ÊŽR¡Íޝ% Ï®ÿD2!(Àl& ܦ¯Ü¦ÿÿ$Aÿÿ&”ÿÿ$ÿÿ&çÿX¬*À „+2!!€€ÅŽ‚ÿÿ¥$  Å®Ύ¡ÙŽ)' É®ÿD0!(Àl& ܦ¯Ü¦ÿÿ$AX¨rÿÿ$X¨R&æÿH&„+2Êû`*2!@€.2˜­<Ü"R‚ !€ ÅŽÿÿ¥$  Å®ÏŽò¡ÌŽ˜% Ø®ÿD2!(Àl& ܦ¯Ü¦ÿÿ$Aÿÿ&Lÿÿ$ÿÿ&çÿ€.2#À-2ø¹! -2°ÅŽ‚ÿÿ¥$  Å®ÉŽ"¡ÈŽ % Ë®ÿD0!(Àl& ܦ¯Ü¦ÿÿ$Aøª)ÿÿ$øªR&æÿJ&-2û *×û <Ä"1‚#æzû@!€@ÅŽÿÿ¥$  Å®ÏŽñ¡ÌŽ˜% Ø®ÿ$2l& !(Àÿÿ$Aÿÿ&ÿÿ$ÿÿ&éÿaûp‚L¿(°,±0²4³8´<µ@¶D·H¾àÀ½' ÿ½'¿¯!€d€`£¯\' ¥'`£ÿÿ$AP¤$P¤€$`£¯Œ' P¤¯`£ @b¬n„ÿ$$xÁo¤x„7y¤P¨j„iŒ h¬K5k¤i¬¿`½'à$ àT/à$ àT/àÁ( !€ #B%(¨D%(¨c0`#0Ã…¸! ƒÈ0È#8È!8ä„$øÿ…¬ýÿ‡üÿ…¬!0È0#0È…¬„$À!8Ä„$þÿ‡ÿÿ… ày$ àT/à$ 1 n$ àT/à ¡( #c0`#(£€¸! ƒ¢0 ¢#8¢!8䀬€¬€¬ €¬€¬ „$ôÿ€¬øÿ€¬÷ÿ‡üÿ€¬!(@¢0¢#8¢!8ä„$þÿ‡üÿ€¬!(@ !(¤„$þÿ…ÿÿ€ à!Èà!(¤ $  $€H 'p ‚ +pÌ!`‰€H !@î!h©!h¨Š'X€+Xj!h«!`Š„$@h  %h¯íÿ…@` €h  1 !@À`4 !X@!P !H$àÿc$4 À$ðÿÎ%0ËÀÎ%øÿÎ%0ËÀÎ%üÿÎ%0ËÀÎ%þÿÎ%0ËÆ8#pÆ!nc$ `ìÿÇ%#pÃÎ%4Á) $!@ !H@!P` $àÿÎ%ìÿÇ%à à#x@è0é%@0êHé%H&Pê0ë%PF Xë0êXë%XfPê0é%PF0èHé%H&@è!ÿa,@H  H1 ÿa,J%@ÿa,k%€: áÿa,c$BX ÿa, ÿÿc$!XcŠD‹D <Ð4!Ä€D" $ \‡‰¯€D€D Y$ àT/à\‡‚¯àÿÿ$6$ àT/à4‡ƒ$! ƒ à!`à4‡„¯T/@$ àT/à!P†*H…*Xª$P+ @Á(! †TÀ!(¦ÿÿ‚€ÿÿÆ$ÿÿ„$ÿÿ¥$ûÿÀ¢ àÁ(B &…B0,@#c0`#0˜! ƒ¢¸!(£Â0Â#8Â!0@!8䂌ƒŒˆŒ ‰Œ¢¬£¬¨¬ ©¬‚ŒƒŒˆŒ‰Œ¢¬ „$£¬¨¬ ¥$îÿ‡üÿ©¬Â0Â#8Â!0@!8䂌„$¥$üÿ‡üÿ¢¬#8ç0à#0Ç‚˜‚ˆ! ‡¢¸!(§Â0#8Â!0@!8䂘‚ˆ„$¥$ûÿ‡üÿ¢¬À!8Ä‚€„$¥$üÿ‡ÿÿ¢ àhD<-ÿÿ!4!  $0Á`Dÿ¥0ÿ$¡„0 À<à<€à$à$<$ Á€à$à$  Àà€à$à $€à$à$€à$à$`D<Â-ÿÿ!4!  $0Áÿ¥0ÿ$¡„0À@<€à$à$@<$ Á€à$à$ À€à$à $€à$à$€à$à$!Èàá $- $@hÂG%h¨‰ à<#H¡@`„$!h $J%BÅ ‹*ÿ$§Àj Âj <%h¡ 1 "@íû'!À"À­0 8#Xg  Ì,#h‚#(­¥$  9V !M€2Á,R 3Á,R D¡( $€!(¤ $Á„$B$800ç$…ÿÿ‡ Á,< Á,< .0Æ$„$&…ÿÿ† €h'p ‚+pÈ!@ !`î€h 'p +pÉ‚ !xî!H-'p€+pÉ!H,!`î€h 'p ‚ +pÊ!PM!xî'p€+pÊ!PL€h !`î!Xm!Xlÿÿ'0 80Æ$„$#XgÜÿ…ÿÿ† ÿÿ'8  à @ ÿÿg%$8ëàÆ0À € ÿÿ‰$(‘9$0- %(¡ € 0$(¡ôÿÿÿ)%­B$ 1$0 $Œ „$(¡ €    € 0 $!(¤„$þÿ…ÿÿŠ €  $ü$ <@h ÂG %h¨$@ªÿÿ'úÿ@` M!H-#H*Ò $*ÿ'`ÿ 1.0 not allowedError in input metafile, incorrect GKSM chars Illegal metafile item number in input metafile Illegal Annex E metafile header Illegal integer in Annex E metafile Most recent item number = %d Illegal real in Annex E metafile Most recent item number = %d Illegal colour index (negative) in Annex E metafile Illegal style index in Annex E metafile Illegal integer parameter, positive value expected Item number = %d Illegal integer parameter, non negative value expected]nItem number = %d Illegal real parameter, positive value expected Item number = %d Illegal real parameter, non negative value expected Item number = %d Illegal value for Clearing Control Flag parameter of Clear Workstation item Illegal value for deferral mode parameter of Deferral Mode item Illegal value for implicit regeneration mode parameter of Deferral Mode item Illegal value for Text precision Illegal horizontal alignment parameter in Text alignment item Illegal vertical alignment parameter in Text alignment item Illegal flag in Aspect Source Flags item Illegal line index in Polyline representation item Illegal line width in Polyline representation item Illegal line colour in Polyline representation item Illegal marker index in Polymarker representation item Illegal marker size in Polymarker representation item Illegal marker colour in Polymarker representation item Illegal text bundle index in Text representation item Illegal text precision in Text representation item Illegal text colour in Text representation item Illegal fill area index in Fill area representation item Illegal interior style in Fill area representation item Illegal fill colour in Fill area representation item Illegal pattern index in Pattern representation item Illegal input metafile COLRPRECCOLRINDEXPRECMAXCOLRINDEXCOLRVALUEEXTMFELEMLISTBEGMFDEFAULTSENDMFDEFAULTSFONTLISTCHARSETLISTð?ð?CHARCODINGSCALEMODECOLRMODELINEWIDTHMODEMARKERSIZEMODEEDGEWIDTHMODEBACKCOLRVDCINTEGERPRECVDCREALPRECTRANSPARENCYMFCATEGORYMAXVDCEXTSEGPRIEXTDEVICEVIEWPORTMODEDEVICEVIEWPORTMAPMAKEPICCURPREPAREVIEWSURFACEMODFONTLISTMODCHARSETLISTBEGFIGUREENDFIGURENEWREGIONIMPLEDGEVISSAVEPRIMATTRRESPRIMATTRDELETEATTRSETARCCTRBACKPIXELARRAYDRAWINGMODEREOPENSEGDELETEALLSEGIMPLSEGREGENMODEINHFILTERSEGPICKPRIINCRLINEINCRMARKER\/b/Äh/Ür/}/‡/‹//“/—/Ÿ/©/±/æ¿/Æ/Ê/Î/Ò/ðú "-8CM[eoý/x‹•ž§0°(0/090=0A0E0I0M0Q0º_0j0ÄÎ{00ƒ0‡0׎0‘0”0˜0›0Ÿ0£0¤0¥0 ®0¯0°0¶0»0Á0Â0Ë0Ì0Ó0uá0â0é0ê0ñ0÷0¸1Ôá1TEXTPRECINCRPOLYGONHATCHINDEXREDRAWALLSEGCHARHEIGHTo/z/„/ˆ/Œ//”/œ/¦/®/¹/¼/Ã/Ç/Ë/Ï/Ó/Ö/Ù/Ü/ß/â/å/è/ë/î/ñ/ô/÷/ú/00 00000"0%0,060:0>0B0F0J0N0Y0\0g0r0u0x0|0€0„0ˆ0‹00’0•0™0œ0 0DEFERMODECELLARRAYLINEINDEXLINETYPELINEWIDTHLINECOLRMARKERINDEXMARKERTYPEMARKERSIZEMARKERCOLRTEXTINDEXTEXTFONTINDEXCHAREXPANCHARSPACETEXTCOLRTEXTPATHTEXTALIGNFILLINDEXINTSTYLEPATINDEXFILLCOLRFILLREFPTMARKERREPCOLRTABLEPATTABLECLIPRECTìøCONDITIONALFORCEDHARDCOPY*WKSWINDOW¦0/DEVICEVIEWPORTPOSTPONE±0·0¼0Ã0TSUPPRESSEDlÚ0NOACTIONRENAMESEGDELETESEG˜ã0NOTFINALë0ò0ø0û0SEGTRANS111SEGHIGHLIGHTSEGDISPLAYPRI!1$1,131<1?1B1I1N1T1Z1b1d1m1u1{1ƒ1‹1Œ1‘1˜1™1£1¦1©1²1¹1¼1¿1Â1Å1È1Ë1Î1Ñ1Ü1ß1â1å1è1ë1î1ñ1ô1ÿ12 2222!2*2-242<2G2J2U2[2\2]2e2h2q2y2z2{2ƒ2„2…2†2‡2Š22‘2’2“2”2•2–2—2˜22¢2¨2®2³2¸2¹2À2Á2È2Ë2Ô2Ü2ä2„'1/161NORMHORIZ¬E1J1O1U1[1NORMVERTf1o1w1}1…11’1œ1èHIGHLIGHTED¬1µ1@IS\gr}Ô1‹•ž§°¹ÂLINETYPELINEWIDTHLINECOLRMARKERTYPEMARKERSIZEMARKERCOLRTEXTFONTINDEXCHARSPACETEXTCOLRINTSTYLEPATINDEXFILLCOLRTEXTPRECHATCHINDEX÷12 22ô2"2ALLMARKER0272?2M2V2(^2ABSTRACTi2r2L|2ABSOLUTEdoDRAWINGSETDRAWINGPLUSŒ2•FRACTIONPHYDEVICEUNITS¸ÂÌÕBASIC7BITBASIC8BITEXTD7BITEXTD8BITà8H`Œ¤Äp¸ÐÜôÐÜ4@X|¤›2 2¥2«2¯2Picture nameTranslated Annex E metafileDescription stringø23”3Ÿ$3+3©µ¾ÐÙçô (Hhs}†”£8/±ºÉ?/ÕG/âí÷&1DP_is}‰–¢°»L/ÆÒT/Üéú¤­¹ÑBEGPICBODYMFVERSIONINTEGERPRECREALPRECINDEXPREC@(#)fopen.c 3.1 ULTRIX 4/21/90@(#)fclose.c 3.1 (ULTRIX) 4/21/90@(#)fprintf.c 3.1 (ULTRIX) 4/21/90@(#)scanf.c 3.1 (ULTRIX) 4/21/90@(#)filbuf.c 3.2 ULTRIX 6/6/90@(#)doopen.c 3.1 ULTRIX 4/21/90@(#)doscan.c 3.1 ULTRIX 4/21/90@(#)ungetc.c 3.1 (ULTRIX) 4/21/90Unknown error@(#)data.c 3.1 (ULTRIX) 4/21/90@(#)strlen.c 3.1 (ULTRIX) 4/21/90@(#)calloc.c 3.1 (ULTRIX) 4/21/90@(#)atof.c 3.1 (ULTRIX) 4/21/90@(#)flsbuf.c 3.1 (ULTRIX) 4/21/90@(#)findiop.c 3.1 ULTRIX 4/21/90@(#)malloc.c 3.1 (ULTRIX) 4/21/90@(#)doprnt.c 3.2 (ULTRIX) 6/6/90InfinityInfinity 000000000000000000000123456789ABCDEF0123456789abcdef+InfinityInfinity-Infinity+InfinityInfinity-Infinity@(#)getstdiobuf.c 3.1 (ULTRIX) 4/21/90@(#)ctype.c 3.2 ULTRIX 6/6/90 ((((( ˆAAAAAABBBBBB @(#)_locale.c 3.1 ULTRIX 4/21/90@(#)errlst.c 3.1 ULTRIX 4/21/90Ä4D'N'h'x''š'´'Æ'Ø'è'ô'((((4(J(\(h(z(‰(™(¨(¹(Í(á(ò())()5)Y)h)t)‡)˜)®)È)æ)*"*3*R*i*€*š*²*Ð*++6+F+]++¢+»+Õ+ñ+ ,*,L,a,t,–,©,¶,Ê,Þ,ñ,--*-L-g-z-Š--Not ownerNo such file or directoryNo such processInterrupted system callI/O errorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough corePermission deniedBad addressBlock device requiredMount device busyFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentFile table overflowToo many open filesNot a typewriterText file busyFile too largeNo space left on deviceIllegal seekRestricted operation on file systemToo many linksBroken pipeArgument too largeResult too largeOperation would blockOperation now in progressOperation already in progressSocket operation on non-socketDestination address requiredMessage too longProtocol wrong type for socketProtocol not availableProtocol not supportedSocket type not supportedOperation not supportedProtocol family not supportedAddress family not supported by protocol familyAddress already in useCan't assign requested addressNetwork is downNetwork is unreachableNetwork dropped connection on resetSoftware caused connection abortConnection reset by peerNo buffer space availableSocket is already connectedSocket is not connectedCan't send after socket shutdownToo many references: can't spliceConnection timed outConnection refusedToo many levels of symbolic linksFile name too longHost is downHost is unreachableDirectory not emptyToo many processesToo many usersDisc quota exceededStale NFS file handleToo many levels of remote in pathNo message of desired typeIdentifier removedAlignment errorNo locks availableFunction not implemented@$@›z O“ @"@üƒ×—Að?Í;fž æ?)½V³Dé¿ÎgK€ÕAÀí¯ Jb0@~&úƒ€s@šµ³ÿPÀw œþ ˆÀ¨ a\Ð+¿0æ?å&{ËÛ?rw[ -l ]gksmsoftsepoptsephardsepseptermpicnamemfnamemfdescrcasemaxcolrdevspec#r%20slowerupper%d%dmm%f"%sX"%s\%s%s%s%s%d%c%.0f%d%c""%sX%s%s\"%sX"%s\ð?VDCEXTAUXCOLRCLIPEDGEREPCOPYSEGENDMFCLEARUPDATE0 MESSAGE0"ESCAPE0#0$1 1!1"LINE1#MARKER1$TEXT1%POLYGON1&1'GDP1(1)1*1+1,1-1.1/2 2!2"2#2$2%2&3 3!3"CHARORI3#3%1011123'3(PATSIZE3*3+ASF3-PICKID3.3/3031323334LINEREP354(TEXTREP4)FILLREP6.638 8!8#8&8'9%5<6#56PERFORMASAPBNIASTIALLOWEDBEGSEGENDSEGACTIONFINALRIGHTLEFTUPDOWNSEGVISSTRINGCHARSEGDETSTROKE0!LEFT8%CTR3,RIGHT3)7!7 TOPCAPHALFBASEBOTTOM "HOLLOW#SOLID&PAT(HATCH)EMPTYVISINVIS5 NORMAL5!5"5#UNDET5$DET5%5&5'505153545557CHAREXP58596 6!6$6"6,6*61BUNDLED62INDIVALLALLLINEALLTEXTALLFILL5(5)CGM5<GKSM6-CGMEXT1606+INTEGERREALMETRIC3$INDEXEDDIRECTSCALED3&MM0% 0& 8$, 8", ; Xe9 9!9"9#9$ÿBEGMFÿÿÿÿBEGPICENDPICMFDESCVDCTYPEÐð P €   À : P8 !€!°!à!ð"0"`""NaNNaN-+ 0x0XNaN-+ NaN-+ (null)P#€# #ÿ,.eEð%Error 0MðP8P8 p/1`·|" ¨Gƒ(g¤4uà ØˆI¸•»@ª ,­Pð à00à0P00€ @ð0ð !  € ‚ÿ÷€ ÿ÷@@ð2ð#5D!5D!1!0ˆ€ÿðð2 ð3!!@ðƒ##0 à àð ñ"#"ñðð ðøñ à( òð!ƒ  ˆXÿ¬(((((((("(0ð80ð2!&$ð2!"!A%Hð(ðð!Aððð#S¸P ð"(ˆ€ÿñð@ð@ð@ð@ð4@ñð0ðð$("8"3###"#"3#"#"3#"#"#ðS1€Ž€ÿrŽ€ÿr†Žÿv!!!!!!A!!!QQa!11!!!!!!!!!!!!!!!!!!!!!!!!!@Ð80Ñ0ÐAð@À0à % ðP°P±P°sðB#@À0à % ð% ðòòòð!%òð(!ñð%p•p°e0Ð21ð4 ðAñ à % ð€†ÿø€ b à!(øð( ð ðð0Ð5ð0ð0ðp°R1ð4 ðAñ à % ðòð(#òð((óð83#óð88#0Ö0Ð3"(1&4#ð ðñ 0!CÐ0à !( ðHQÐ ð 2("2#&0Ó0ÐX(1$0Õ0ÐD#"##"2#0Ó3@ÁU @Á@Àð ðð€¿€ÿA¿€ÿA†¿„ÿE$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! ðð ð" ðð!0Ñ28#@Ð2% ð33CCðsððCð8#Rð‚ òðƒ ðð44CrC3B2P±R#"4$BÐ1ðF##8###!#!2""#"2($ccƒcsòðsð!Á0Õòò(Rðñ(3ðð"Xð àC(#5#CCS á!"3#Sðøð"0!ð" ðð 0ðð 0à à0!ð@à1àAà ð! ð!@à1 Àpð€ð0 ð@ ð0ð Q±PÀ00PÐ !A €  @@0    0 @0ð@ð  ð0ð0 ð P°`ðQ'€ €ÿõ€ C6ˆ!ˆ !@à@ à$ ñ(U0ð‚U0 ð€€ÿé€ ðð à †€ €ÿ÷… á0ˆ€ €ÿó† e€€ÿø€"à#21ЄBC3ƒ S€$ ðÀ@P°cP#ƒ(0ÐQ@ˆ€ÿãð ð0ð ð€ð ðA0Ð8P à"à!h@0†1Ð0à0#ð ð! ð!…¥ð%ð'€°Ñƒƒ6ð32 ð ð &((( "!"$h!(€!€ÿ߀!€ÿ߀!€ÿæ€ÿø €€ÿè†ÿïPð@ð@ð@ð280ðð"0ðð`à ðð`à ð ðH@Ð@'"(' ðð3&ð8ðð ðX0ñð 'ð7'P°X( ðð ð832## ñ32@à# ð ð ð(@Ð0àÀ #ð#€ ÿó€ €ÿó€ €ÿó‚  ððà51ðcD"P`00 @Q@Á@ð!ð#àðð P"P0ð(ð7ð7 ððð ð7ˆ 0ð ð" ð   ð3A@à5Pð50à ðð" ð# !2ð"ð5!$2T…AC`rððwQAà„@Á8 ð 0à‚ P á"1ñ'` ` r2ð10P±`ðPð!XAD!!5!!€ €ÿ÷„ !0à ð !ð t `ð0ð "ðg0ð„ €ÿò€ÿò€# ð&!à‚ð!!ð#Acq&A`à3!!C àˆ %!!!%Q((@ÀB ð ðf † !ðà!ðððð"%ð"C(2Ð8 ð!ð ð8$ðHððP!ÐAðð€ €:P€ÿµ€K†  ð ˆ  ñ‚;€ýɆ7ýÍðAðAðAðpà ðB0à5"B€  à"ð0ðp2„G'c`p r2ðð ððƒ ð#ðAð ðð"Qð!PÀ„ 'D à€à@Pðs2'G@ð!ñ0ð! à!à0Ðqð!V20à@ð ð0ð ð(!‚ HU ðð2!ð4 ððCð ðð ððX4E€ñÐ@ð"ð 788F0à‚HU ðð2!ð4 ððHð ðð ðð`0H35!ð"(Pà‚ Hð1ð!7 ð0ðP60Ðe ð"60àPó0Ѐ ðdðð$ ` ` r ð ð4 ð2C24""25(g#ðSð@ ðð!ð3!!1ð0ð  ð p ð  ð p ð @ð ð1!!Að ð ` ð  ð  ð 0 ð  ð 1 ð10@ ðPà0 Ð@0  ðÐp0àQ`ða0 ð  ð  ð  ð  ! 1à0@ ð0 ð  ð@ð  ð 1 "! ð@! ð! ð  ðA!0ð  ð @Ð ÐA1ð ðP ð ð ` ð  °` à€ ð  à1` ð  ð €@  à€ ð  àA0€À@Ð0PQÀQ ð@ð1 ð0ðA ð0ð! ð0ðA ð0ð0pÀ@Ð0àQÀQ ð@ð1 ð0ðA ð0ð! ð0ðA ð0ð0Pà0€ Q€ÿò€ Pà0 à2@0à@ð €  PÀp! ð1@àa€€ÿö pà2 à€à0 ð@ÐPð 0à00à0  Ð@àP! ð0ð0ð!@ð@0 ð  ð@ð0ð  ðA€ð à0 ðP  °`à@@ð ð  ð0ð0ð00ð!à!P°` p€ð à1!P¡`0 €ÿò€ RÀ€ €ÿø  ð 1à0°p à@ð0 !    ð€üÿÿÿÿÿÿÿNwhÿÿÿÿ‘pÿÿÿÿœ € ÿÿÿÿ°² €ÔÿÿÿÿÿÿÿP;‰T—€üÿÿÿÿÿÿÿ“šDÔ·€¬ÿÿÿÿÿÿÿh§âLxà€üÿÿÿÿÿÿÿî, €üÿÿÿÿÿÿÿ( °€|ÿÿÿÿÿÿÿ°RÃ@S€äÿÿÿÿÿÿÿ@Òà\(΀ÌÿÿÿÿÿÿÿHü u„%€ìÿÿÿÿÿÿÿ@VŒ$ ÿÿÿÿbfÊ\ (€üÿÿÿÿÿÿÿ(sx΀üÿÿÿÿÿÿÿ+8ˆ"€üÿÿÿÿÿÿÿCH Ø6€üÿÿÿÿÿÿÿSX(J€üÿÿÿÿÿÿÿfkx ^€üÿÿÿÿÿÿÿw„0 Œ€üÿÿÿÿÿÿÿ•(€  €üÿÿÿÿÿÿÿ ¥.д€üÿÿÿÿÿÿÿ°¼4dÙ€üÿÿÿÿÿÿÿÇÚ?H€üÿÿÿÿÿÿÿæòOÜ7€üÿÿÿÿÿÿÿþZÀp€üÿÿÿÿÿÿÿ)jT•€üÿÿÿÿÿÿÿ4>u̳€üÿÿÿÿÿÿÿJQ~4Í€üÿÿÿÿÿÿÿ]b†„á€üÿÿÿÿÿÿÿmrŒÔ!õ€üÿÿÿÿÿÿÿ†’H#€üÿÿÿÿÿÿÿ’—š˜%&€üÿÿÿÿÿÿÿ¢§ è':€üÿÿÿÿÿÿÿ²·¦8 )N€üÿÿÿÿÿÿÿ Âɬô +}€üÿÿÿÿÿÿÿÔ×¶( -Š€üÿÿÿÿÿÿÿäéº| /Ÿ€üÿÿÿÿÿÿÿ öüÀ€ôÿÿÿÿÿÿÿ(*5t€ôÿÿÿÿÿÿÿ BH´-€üÿÿÿÿÿÿÿSá ;€äÿÿÿÿÿÿÿH)3,K€ôÿÿÿÿÿÿÿ BMÀpÿÿÿÿYgH•€ìÿÿÿÿÿÿÿ(x.( Íÿÿÿÿ™¯A( €üÿÿÿÿÿÿÿ½ÀYl #€üÿÿÿÿÿÿÿ(ÎÑ]Ð<€üÿÿÿÿÿÿÿ(ßâc4U€üÿÿÿÿÿÿÿ(ðói€üÿÿÿÿÿÿÿ07l€üÿÿÿÿÿÿÿFKÈ2€üÿÿÿÿÿÿÿZ]A €ÌÿÿÿÿÿÿÿXj‹4 €¬ÿÿÿÿÿÿÿÀ˜ÿÿÿ€˜È4è z€ÔÿÿÿÿÿÿÿPÕñzô ½€üÿÿÿÿÿÿÿþ’dÙ€üÿÿÿÿÿÿÿ šôý€üÿÿÿÿÿÿÿ "2£ D€üÿÿÿÿÿÿÿ ?Oµ¼ ¯€äÿÿÿÿÿÿÿH]sËh ÿÿÿÿ‚ŠâÈ 2€´ÿÿÿÿÿÿÿh™¿ì˜¦-€ÔÿÿÿÿÿÿÿPÍåd€üÿÿÿÿÿÿÿ ñ÷%Ð4€ÔÿÿÿÿÿÿÿH,\!—€ìÿÿÿÿÿÿÿ8,FBÀ#ð€üÿÿÿÿÿÿÿ TfZ”%%€ìÿÿÿÿÿÿÿ8tyi('J€ôÿÿÿÿÿÿÿ †šqX)–€üÿÿÿÿÿÿÿª­ŠŒ+£€üÿÿÿÿÿÿÿ¹zÿÿÿÿ X€üÿÿÿÿÿÿÿ &È2€üÿÿÿÿÿÿÿ(3;l[ÿÿÿÿGQ!€üÿÿÿÿÿÿÿ48D€ôÿÿÿÿÿÿÿ CL¸.€üÿÿÿÿÿÿÿW\ A€ôÿÿÿÿÿÿÿ nu` X€ôÿÿÿÿÿÿÿ „•@ €ôÿÿÿÿÿÿÿ  ­(à ¸€äÿÿÿÿÿÿÿ8ºÏ5Ôõ€ôÿÿÿÿÿÿÿ ÜîIì?€äÿÿÿÿÿÿÿ8û ZØz€´ÿÿÿÿÿÿÿh6k¨î€Üÿÿÿÿÿÿÿ@C^€ôÿÿÿÿÿÿÿ 7B¬+€ôÿÿÿÿÿÿÿ R] „a€ôÿÿÿÿÿÿÿ hv4ÿÿÿÿ‚ƒ"< €ÄÿÿÿÿÿÿÿX¢#Œ ã€ôÿÿÿÿÿÿÿ °Á4l €ôÿÿÿÿÿÿÿ ÎÛCD€Üÿÿÿÿÿÿÿ@æñOÐt€ìÿÿÿÿÿÿÿ0ûZD‘€¼ÿÿÿÿÿÿÿ`.a„áÿÿÿÿ>Euàø€Üÿÿÿÿÿÿÿ@V¡}€äÿÿÿÿÿÿÿ02K8N€äÿÿÿÿÿÿÿ0Vopœ€Üÿÿÿÿÿÿÿ8y™*ìû€ìÿÿÿÿÿÿÿ(¦ÀF$ I€äÿÿÿÿÿÿÿ0Êä\T •€ÄÿÿÿÿÿÿÿXôuø þ€ÔÿÿÿÿÿÿÿP‘¤)€üÿÿÿÿÿÿÿ.9ž0 L€ÔÿÿÿÿÿÿÿHNƒ«€ôÿÿÿÿÿÿÿ 1<ˆ"€üÿÿÿÿÿÿÿGI °,€ôÿÿÿÿÿÿÿ S^ 0L€´ÿÿÿÿÿÿÿ`n޼ ¯€ìÿÿÿÿÿÿÿ(œ±/ÿÿÿÿcDQÿÿÿÿ gnEÿÿÿÿ;¿Œ cÿÿÿÿÂÍ]€üÿÿÿÿÿÿÿ3?€Œÿÿÿÿÿÿÿ\ËÔ¶€ôÿÿÿÿÿÿÿ(Ðí>€äûÿÿÿÿÿÿ0I‚€üÿÿÿÿÿÿÿ8E<€üÿÿÿÿÿÿÿSY d€Üÿÿÿÿÿÿÿ8gv €Üÿÿÿÿÿÿÿ@G³€üÿÿÿÿÿÿÿF‘€üÿÿÿÿÿÿÿ0J_Gÿÿÿÿgo˜gÿÀÔþÿÿÿÿÿÿxwÊ$Ü¿€tÿÿÿÿÿÿÿ¨×UqŒ ³€ìÿÿÿÿÿÿÿ8_v ÿÿÿÿ/I€ÌÿÿÿÿÿÿÿH €ìÿÿÿÿÿÿÿ05P€ìÿÿÿÿÿÿÿ0GYÐ4€üÿÿÿÿÿÿÿ]` ÿÿÿÿc›ÿÿÿÿ3ÿÿÿÿ&€ôÿÿÿÿÿÿÿ )2\€üÿÿÿÿÿÿÿ8: ÿÿÿÿ1€´ÿÿÿÿÿÿÿ`1‹ÿÿÿÿ59ÿÿÿÿÿÿÿÿ6ÿÿÿÿ€Üÿÿÿÿÿÿÿ@:¦€ôÿÿÿÿÿÿÿ Eyÿÿÿÿÿÿÿÿ€Ôÿÿÿÿÿÿÿ@ ÿÿÿÿÿÿÿÿ€äÿÿÿÿÿÿÿ02~„a€äÿÿÿÿÿÿÿ0†«3X –ÿÿÿÿ¯ÇW  ¨€Üÿÿÿÿÿÿÿ8Ú]D ÿÿÿÿ'3€€ôÿÿÿÿÿÿÿ(O~|¡ÿÿÿÿ¸Á9¸°ÿÀŒýÿÿÿÿÿÿÀßËB€´ÿÿÿÿÿÿÿ`9Rÿÿÿÿÿÿÿÿÿÿÿÿ?pÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ0`ÿÿÿÿÿÿÿÿ1ÿÿÿÿÿÿÿÿ³ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(ÿÿÿÿÿÿÿÿ]ßÿÿÿÿFÔ 5ÿÿÿÿL|+ÿÿÿÿÿÿÿÿÿÿÿÿWÿÿÿÿ5KÀ À‚ðÿÿBñÿÿp@F hH0"Ø@F`"HP-à@F - Hp5ð@Fà5HHK HK HK HK HK HKÀ@FÐTH T@Fð €H0 Ô@F ¤HP/x @F0/´Hp@, @FP@øHHKà 0 @FÐ @Hp@FðèH0(X@F(\HP7´@F07 HpCT@FPC8HMŒ@FpMÐH°HK `@FЈHè@FðPH0-8@F-PHPEˆ@F0EPHpZØ@FPZ¸Hs@FpsPH°Œà@FŒPHИ0@F°˜”Hð­Ä@FЭäH¿¨@Fð¿”H0Ø<@FØäHPî @F0î”Hp´@FPxH,@FphH°0”@F0PHÐDä@F°DPHðU4 @FÐUtHe¨ @FðePH0~ø @F~PHP–H!@F0–PHp¯˜!@FP¯¼H½T"@Fp½4H°Óˆ"@FÓTHÐãÜ"@F°ã¸HðHK€  #@FÐ tH$@Fð@H0(T$@F(ØHPHK@ 0'@FÐ ,H\(@Fð”H0'ð(@F'ˆHP8x)@F08àHpIX*@FPIH[X+@Fp[DH°fœ+@FfdHÐt,@F°tdHðƒd,@FЃ`HHKà Ð,@FÐ lH<-@Fð\H0-˜-@F-<HP=Ô-@F0=0HpG/@FPG´HR¸2@FpR H°aÄ3@FapHÐk44@F°kHðwÄ4@FÐwHˆà5@Fðˆ¬H0˜Œ7@F˜¬HP©89@F0©`Hp¾˜9@FP¾ÐHÈh;@FpÈÌH°×4=@F×lHÐè =@F°èŒHðù,?@FÐùdH @@Fð ÔH0dA@F”HP.øA@F0.0HpA(C@FPA4HS\C@FpS¼H°HK  L@FÐ XHxL@FðpH0)èL@F)¤HP=ŒM@F0=HHpHK€ àM@FÐ DH$N@FðtH0#˜N@F#LHP1äN@F01\HpB@O@FPBàHN P@FpN H°XÀP@FXôHÐa´Q@F°aHðmÌR@FÐmìHt¸S@FðtÐH0ˆU@F8HPHK  ÀV@FÐ ¬HlW@FðØH0-DX@F-°HP>ôX@F0>HpBüX@FPBPHQLZ@FpQàH°^,[@F^¤HÐoÐ[@F°oÀHð~\@FÐ~tH]@Fð@H0•D^@F•\HP  ^@F0 HpHK@ °a@FÐ 8Hèb@Fð8H0( d@F(|HP3œe@F038HpCÔf@FPC0HNh@FpN¤H°[¨i@F[¬HÐgTj@F°gŒHðtàj@FÐtHHKÀ o@FÐ ˆH!ˆo@Fð!(H0-°o@F-€HP:0p@F0:ŒHpJ¼q@FPJDHHK s@F Ts@Eðÿÿt@Eðÿÿt@Eðÿÿ1/­[”-€½@]6/ ®_˜/ °½@q+;#/¯cœ8н@œ™@+/^°g :_P¿@5P‰/e±k£™QP¿@D!h¨#P¿@ej­#ðÀ@slî/ϳs²ê Ä@ô‹½0´w´¬0Ä@‡ Á0Pµ{·°MpÅ@œ1¶¹ý  !"#$%&'()*+,-./0123456789:;<=>?@ABCDBCDBCDEFGH5óÿÿ 5óÿÿ5óÿÿ 5óÿÿp@F0&°­Eñÿÿ*@F/’@F4Ø@FP?à@FpGð@FM@!ðÿÿR v@F XDy@F@_z@F gs@F kà2Aóÿÿ tì2Aóÿÿ ~ð2Aóÿÿ ô2Aóÿÿ ž 3Aóÿÿ § 3Aóÿÿ ³5óÿÿ ¿3Aóÿÿ É5óÿÿ Ô5óÿÿ à5óÿÿ ì 5óÿÿ ó$5óÿÿ ú(5óÿÿ 05óÿÿ 85óÿÿ 8ðÿÿ Xðÿÿ)@5óÿÿ57ÁðÿÿCÀ7ÁðÿÿOH5óÿÿ^L5óÿÿiP5óÿÿzT5óÿÿ’X5óÿÿ¢\5óÿÿ³`5óÿÿÁd5óÿÿÊh5óÿÿÓl5óÿÿÛp5óÿÿåt5óÿÿðT@F00 @F \C@F° xL@F0 * L@F<Ô@FPKx @Fp \ #@F g0'@F s\(@F0 ƒГ@F ŠŒM@Fp!Ÿ€”@F¦`@F¸è@F0Ì8@FPäˆ@FpùØ@F@F°+0@Fð@Ä@FR @Fpe´@Fy,@F°”à@FР”@Fд, @F ˜-@FPÒä@Fðã4 @Fó¨ @F0 ø @FP$H!@Fp=˜!@FKT"@F°a¨@F0z<@FPÜ"@Fð ¢dA@FP´{@F@ »è2Aóÿÿ Ä3Aóÿÿ Ë3Aóÿÿ Ù0/Aóÿÿ â¼2Aóÿÿ ê´2Aóÿÿ ÷Ä2Aóÿÿ Dðÿÿ x5óÿÿ|5óÿÿ€5óÿÿ'„5óÿÿ1ˆ5óÿÿ;`ðÿÿDX@FPSp@F0aŒ@F°nÀ{@F vT@F€´@Fp"ŒД@F #“L•@F@#™ð”@F  Ð2Aóÿÿ «Ø2Aóÿÿ ·Œ5óÿÿ ÇÐ,@F × =@Fð èÔ-@Fp ò<-@F0 /@F 44@Fðˆ"@FÐ *5óÿÿ 2$@F0 BT$@FP QàM@F \$N@F0 h˜N@FP väN@Fp ‡@O@F “ P@F° ÀP@FÐ ¦´Q@Fð ²ÌR@F ¹¸S@F0 ƈU@FPÌÀV@FÜ,[@FÐílW@F0þDX@FPüX@FLZ@F°+Ð[@Fð:\@FK]@F0Q°a@F`èb@F0m d@FPxœe@FpˆÔf@F“h@F° ¨i@FЬTj@Fð¹àj@FȈo@F0Ô°o@FPá0p@Fpño@F¼q@F ð(@FP$$p•@F )x)@Fp%:P—@F0 ?X*@F QX+@F° \œ+@FÐ j,@Fð yd,@F ‰”5óÿÿ •˜5óÿÿ œ5óÿÿ ¦àðÿÿ&«™@F'¯°™@F ·¸2@F° ÆÄ3@FÐ Ðà5@F0 àÄ4@F ñŒ7@FP  89@Fp  ˜9@F ! h;@F° 0 4=@FÐ A ,?@F R @@F0 d øA@Fp w (C@F ‰ $ðÿÿ “ ððÿÿ ”ðÿÿ ¨ Üðÿÿ ³ àðÿÿ ¹ ðÿÿ À 8ðÿÿ È Hðÿÿ Ñ `ðÿÿ Ö Œðÿÿ Þ ¤ðÿÿ ç Äðÿÿ ð pðÿÿ ö ðÿÿ û ¸ðÿÿ  Ððÿÿ Üðÿÿ  ôðÿÿ  ðÿÿ Ððÿÿ ( Üðÿÿ 2 ðÿÿ 8 ðÿÿ @ ðÿÿ J 4ðÿÿ R @ðÿÿ W Xðÿÿ a |ðÿÿ l ¤ðÿÿ w èL@FP‹ `t@F ôX@Fp” D^@FPŸ  ^@Fp« Dt@Fp± °Áóÿÿ¼ ð}@F (Ä œ@F Í pv@F )Ô p@FÚ Ô3Aóÿÿå  5óÿÿ*î @F+ô °@F,û ð@F- ž@F. ˆ @F/ ˜¥@F€ àz@F  D{@F`! è€@F`0)  ¸@F 16 P¹@F2; p¹@F@ @@F 3G ”4Aóÿÿ3O  #ðÿÿ4X ¹@F5_ ´4Aóÿÿ6i Ì4Aóÿÿ6r &ðÿÿ~ 0‘@F7… º@FŒ Ð7Áðÿÿ˜ À3Aóÿÿ¡  “@F@8ª @º@F9° Pº@F» Ð’@F . 0ž@FP:É pº@F;Ï »@F&Õ ™@F <Ú 0½@F=è P½@F>ð `½@F?ö €½@F@û °½@F. ´Ÿ@Fp. 44Aóÿÿ. Р@F°A( н@FB. P¿@FE9 ðÀ@F3? ˜4Aóÿÿ5K  4Aóÿÿ5V ¤4Aóÿÿ5a ¨4Aóÿÿ5m ¬4Aóÿÿ5y °4Aóÿÿ5„ ¸4Aóÿÿ5Œ ¼4Aóÿÿ5” Ô%ðÿÿFŸ Ä@F:¥ pº@F G¬ 0Ä@F?¶ P8Åðÿÿ?º à4Aóÿÿ? ä4AóÿÿBÊ $À@FÀHÕ pÅ@Fxgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/tables.c0000644000175000017500000002575711413611016022557 0ustar amckinstryamckinstry/* *---------------------------------------------------------------------- * * PROGRAM : gksmc * * FILE : tables.c * * CONTENTS : This file sets up the tables containing CGM item names and * 'enumerations'. It also contains the routines to change * the contents of these tables to lower case, if requested. * * DATE : 24th April 1988 * *--------------------------------------------------------------------- */ #include #include "annexe.h" #include "defns.h" /* *------------------------------------------------------------------ * OpTable * This holds the CGM item names which correspond to an Annexe E * metafile item number. Where "" occurs there is no Annex E item * with that number. A name beginning with an asterix means there * is no direct CGM equivalent for the Annex E item - the name * following is the Annex E function. *------------------------------------------------------------------ */ char *CtOpTable[96] = { "ENDMF", "CLEAR", "REDRAWALLSEG", "UPDATE", "DEFERMODE", "MESSAGE", "ESCAPE", "", "", "", "", "LINE", "MARKER", "TEXT", "POLYGON", "CELLARRAY", "GDP", "", "", "", "", "LINEINDEX", "LINETYPE", "LINEWIDTH", "LINECOLR", "MARKERINDEX", "MARKERTYPE", "MARKERSIZE", "MARKERCOLR", "TEXTINDEX", "TEXTFONTINDEX", "CHAREXPAN", "CHARSPACE", "TEXTCOLR", "CHARORI", "TEXTPATH", "TEXTALIGN", "FILLINDEX", "INTSTYLE", "PATINDEX", "FILLCOLR", "PATSIZE", "FILLREFPT", "ASF", "PICKID", "", "", "", "", "", "", "LINEREP", "MARKERREP", "TEXTREP", "FILLREP", "COLRTABLE", "PATTABLE", "", "", "", "", "CLIPRECT", "", "", "", "", "", "", "", "", "", "*WKSWINDOW", "DEVICEVIEWPORT", "", "", "", "", "", "", "", "", "BEGSEG", "ENDSEG", "RENAMESEG", "DELETESEG", "", "", "", "", "", "", "SEGTRANS", "SEGVIS", "SEGHIGHLIGHT", "SEGDISPLAYPRI", "SEGDET"}, *CeOpTable[96] = { "\060\041", "\0\0", "\070\045", "\063\054", "\063\051", "\067\041", "\067\040", "", "", "", "", "\040", "\042", "\043", "\046", "\050", "\051", "", "", "", "", "\065\040", "\065\041", "\065\042", "\065\043", "\065\044", "\065\045", "\065\046", "\065\047", "\065\060", "\065\061", "\065\063", "\065\064", "\065\065", "\065\067", "\065\070", "\065\071", "\066\040", "\066\041", "\066\044", "\066\042", "\066\054", "\066\052", "\066\061", "\066\062", "", "", "", "", "", "", "\065\050", "\065\051", "\065\074", "\066\055", "\066\060", "\066\053", "", "", "", "", "\063\044", "", "", "", "", "", "", "", "", "", "\0\0", "\063\046", "", "", "", "", "", "", "", "", "\060\045", "\060\046", "\070\044", "\070\042", "", "", "", "", "", "", "\071\040", "\071\041", "\071\042", "\071\043", "\071\044"}, **OpTable, **CgmTable, *CtCgmTable[64] = { "BEGMF", "BEGPIC", "BEGPICBODY", "ENDPIC", "MFVERSION", "MFDESC", "VDCTYPE", "INTEGERPREC", "REALPREC", "INDEXPREC", "COLRPREC", "COLRINDEXPREC", "MAXCOLRINDEX", "COLRVALUEEXT", "MFELEMLIST", "BEGMFDEFAULTS", "ENDMFDEFAULTS", "FONTLIST", "CHARSETLIST", "CHARCODING", "SCALEMODE", "COLRMODE", "LINEWIDTHMODE", "MARKERSIZEMODE", "EDGEWIDTHMODE", "VDCEXT", "BACKCOLR", "VDCINTEGERPREC", "VDCREALPREC", "AUXCOLR", "TRANSPARENCY", "CLIP", "MFCATEGORY", "MAXVDCEXT", "SEGPRIEXT", "DEVICEVIEWPORTMODE", "DEVICEVIEWPORTMAP", "MAKEPICCUR", "PREPAREVIEWSURFACE", "MODFONTLIST", "MODCHARSETLIST", "BEGFIGURE", "ENDFIGURE", "NEWREGION", "IMPLEDGEVIS", "SAVEPRIMATTR", "RESPRIMATTR", "DELETEATTRSET", "ARCCTRBACK", "PIXELARRAY", "EDGEREP", "DRAWINGMODE", "REOPENSEG", "COPYSEG", "DELETEALLSEG", "IMPLSEGREGENMODE", "INHFILTER", "SEGPICKPRI", "INCRLINE", "INCRMARKER", "TEXTPREC", "INCRPOLYGON", "HATCHINDEX", "CHARHEIGHT"}, *CeCgmTable[64] = { "\060\040", "\060\042", "\060\043", "\060\044", "\061\040", "\061\041", "\061\042", "\061\043", "\061\044", "\061\045", "\061\046", "\061\047", "\061\050", "\061\051", "\061\052", "\061\053", "\061\054", "\061\055", "\061\056", "\061\057", "\062\040", "\062\041", "\062\042", "\062\043", "\062\044", "\062\045", "\062\046", "\063\040", "\063\041", "\063\042", "\063\043", "\063\045", "\061\060", "\061\061", "\061\062", "\063\047", "\063\050", "\063\052", "\063\053", "\063\055", "\063\056", "\063\057", "\063\060", "\063\061", "\063\062", "\063\063", "\063\064", "\063\065", "\064\050", "\064\051", "\066\056", "\066\063", "\070\040", "\070\041", "\070\043", "\070\046", "\070\047", "\071\045", "\0", "\0", "\065\074", "\0", "\066\043", "\065\066"}, /* Used in the Prepare View surface item, for the Clearing Control Flag. */ *Clear[] = {"CONDITIONAL", "FORCEDHARDCOPY", NULL}, /* Used in the Update Workstation item, for the Update Regeneration Flag. */ *Update[] = {"PERFORM", "POSTPONE", NULL}, /* Used in the Deferral Mode item. */ *DefMode[] = {"ASAP", "BNI", "ASTI", NULL}, /* Used in the Implicit Segmment Regeneration Mode. */ *DefRegen[] = {"ALLOWED", "SUPPRESSED", NULL}, /* Used in Message */ *Mess[] = {"NOACTION", "ACTION", NULL}, /* Used in Text */ *TextEnd[] = {"NOTFINAL", "FINAL", NULL}, *TextPath[] = {"RIGHT", "LEFT", "UP", "DOWN", NULL}, /* Used to specify the precision for following text */ *TextPrec[] = {"STRING", "CHAR", "STROKE", NULL}, /* Used to specify the horizontal alignment of text */ *Horiz[] = {"NORMHORIZ", "LEFT", "CTR", "RIGHT", NULL}, /* Used to specify the vertical alignment of text */ *Vert[] = {"NORMVERT", "TOP", "CAP", "HALF", "BASE", "BOTTOM", NULL}, /* Used to specify the interior style for fill area/polygon */ *Interior[] = {"HOLLOW", "SOLID", "PAT", "HATCH", "EMPTY", NULL}, /* Segment visibility */ *SegVis[] = {"VIS", "INVIS", NULL}, /* Segment highlighting */ *SegHl[] = {"NORMAL", "HIGHLIGHTED", NULL}, /* Segment detectability */ *SegDet[] = {"UNDET", "DET", NULL}, /* Aspect Source Flags */ *AsfName[] = {"LINETYPE", "LINEWIDTH", "LINECOLR", "MARKERTYPE", "MARKERSIZE", "MARKERCOLR", "TEXTFONTINDEX", "CHAREXP", "CHARSPACE", "TEXTCOLR", "INTSTYLE", "PATINDEX", "FILLCOLR", "TEXTPREC", "HATCHINDEX", NULL}, /* Settings for ASFs */ *AsfType[] = {"BUNDLED", "INDIV", NULL}, /* Pseudo ASFs used for groups of related attributes */ *PseudoAsf[] = {"ALL", "ALLLINE", "ALLMARKER", "ALLTEXT", "ALLFILL", NULL}, /* Metafile category */ *MfCat[] = {"CGM", "GKSM", "CGMEXT1", NULL}, /* Used in Vdc Type item. */ *VdcType[] = {"INTEGER", "REAL", NULL}, /* Used in Scaling Mode item. */ *ScaleSpec[] = {"ABSTRACT", "METRIC", NULL}, /* Colour selection mode */ *ColrSel[] = {"INDEXED", "DIRECT", NULL}, /* Used in Line Width, Marker Size and Edge Width Specification mode items. */ *Spec[] = {"ABSOLUTE", "SCALED", NULL}, /* Special specifiers for metafile element list item */ *ElemGroup[] = {"DRAWINGSET", "DRAWINGPLUS", NULL}, /* Device viewport specification mode */ *DvSpecMode[] = {"FRACTION", "MM", "PHYDEVICEUNITS", NULL}, /* Used in the Character Coding Announcer item */ *CharCodAnn[] = {"BASIC7BIT", "BASIC8BIT", "EXTD7BIT", "EXTD8BIT", NULL}; /* Enumeration table used to hold all enumerations */ char **Enum[] = {Clear, Update, DefMode, DefRegen, Mess, TextEnd, TextPath, TextPrec, Horiz, Vert, Interior, SegVis, SegHl, SegDet, AsfName, AsfType, PseudoAsf, MfCat, VdcType, ScaleSpec, ColrSel, Spec, ElemGroup, DvSpecMode, CharCodAnn}; /* Array used to hold separator strings */ char *SepStrings[5] = { " ", /* SoftSep */ " ", /* OptSep */ ", ", /* HardSep */ ", ", /* Sep */ " ;\n"}; /* Terminator */ char *picture_name = "Picture name", *mf_name = "Translated Annex E metafile", *mf_descr = "Description string"; int mf_version = 1, /* CGM version number */ mf_category = CGMEXT1, /* Metafile category - Addendum 1 */ vdc_type = VDC_REAL, /* VDC type - VDC_INT or VDC_REAL */ max_colr = 127, /* Largest colour index */ colr_prec = 255, /* Maximum RGN intensity value */ include_mf_descr = 1, /* Should descr. string be included */ include_mf_cat = 1, /* Should category item be included */ DevSpM = UNKNOWN, /* Device viewport spec mode */ Encoding = CLEAR_TEXT, /* CHARACTER or CLEAR_TEXT */ PointListForm = LIST_ABSOLUTE, /* ABSOLUTE or INCREMENTAL */ SigPlaces = 0, /* No. of decimal places for reals */ NumColrDefs = 0, /* No. of colour defs read so far */ NumColrBits, /* No. of bits for colour spec */ NumExpBits, /* No. of bits for exponent */ MinRealCode, /* No. of bits in exponent */ MaxRealCode, /* No. of bits to left of dec pt */ DefaultExponent, /* Default Exponent for char. enc. */ MinInt, /* Most negative integer */ MaxInt, /* Most positive integer */ MaxIntBits; /* No. of bits needed for MaxInt */ double DevScale = 1.0, /* Viewport metric scale factor */ MinReal, /* Most negative real number */ MaxReal; /* Most positive real number */ ColourDef *ColrDefList; /* Used to hold colour definitions */ Point VDC_lower = {0.0, 0.0}, /* define the VDC range or extent */ VDC_upper = {1.0, 1.0}; /* *------------------------------------------------------------------------- * setup_item_tables: * The OpTable and CgmTable pointers are used to reference the clear * text or character encoding tables, depending on the encoding requested. *------------------------------------------------------------------------- */ setup_item_tables() { if (Encoding == CLEAR_TEXT) { CgmTable = (char **) &CtCgmTable[0]; OpTable = (char **) &CtOpTable[0]; } else if (Encoding == CHARACTER) { CgmTable = (char **) &CeCgmTable[0]; OpTable = (char **) &CeOpTable[0]; } } /* *------------------------------------------------------------------------- * lower_tables: * Converts the two tables containing metafile items and the * enumeration table into lower case. *------------------------------------------------------------------------- */ lower_tables() { int i; conv_table_to_lcase(CtOpTable, 96); conv_table_to_lcase(CtCgmTable, 64); for (i = 0; i <= 24; i++) conv_table_to_lcase(Enum[i], 0); } /* *------------------------------------------------------------------------- * conv_table_to_lcase: * Takes an array of pointers to strings (a table of item names) * and converts each string pointed to into lower case. *------------------------------------------------------------------------- */ conv_table_to_lcase(table, num_items) char *table[]; int num_items; { int i; for (i = 0; i < num_items || (num_items == 0 && table[i] != NULL); i++) { if (table[i] != NULL) /* if string is not "" */ conv_string_to_lcase(table[i]); } } /* *------------------------------------------------------------------------- * conv_string_to_lcase: * Takes the referenced string and converts any upper case letters to * lower case. *------------------------------------------------------------------------- */ conv_string_to_lcase(string) char *string; { int i = 0; char ch; while ((ch = string[i]) != '\0') { if (ch >= 'A' && ch <= 'Z') string[i] = ch + 'a' - 'A'; i++; } } xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/annexe_7.c0000644000175000017500000002747711413611016023012 0ustar amckinstryamckinstry/* *---------------------------------------------------------------------- * * PROGRAM : gksmc * * FILE : annexe_7.c * * CONTENTS : Routines to read items from an Annex E metafile which * are in group E.7 of the Annex - items for output * primitive attributes. * * ANNEX E ITEMS : Text Font and Precision * Character Vectors * Text Alignment * Fill Area Style Index * Pattern Vectors * Fill Pattern Reference Point * Aspect Source Flags * (see set_int_param and set_real_param for remaining * items) * * GLOBALS USED : MF_infile, MF_infile, Encoding * * DATE : 26th April 1988 * *---------------------------------------------------------------------- */ #include #include #include "annexe.h" #include "cgm.h" #include "defns.h" #include "tables.h" extern FILE *MF_infile, *MF_outfile; /* *------------------------------------------------------------------------- * AEset_int_param: * Used for all items which have just one integer valued parameter. * The procedure's parameter is used to specify the range of legal values * the item's parameter can take :- * NON_NEGATIVE >= 0, POSITIVE > 0 , ANY any values * Annex E items : Line Index, Line Type, Line Colour * Marker Index, Marker Type, Marker Colour * Text Index, Text Colour, Fill Index, Fill Colour * Pick Identifier, Create Segment, Delete Segment *------------------------------------------------------------------------- */ AEset_int_param(range) int range; { int param; read_string_int(MF_infile, ¶m, DEFAULT); if (range == POSITIVE && param < 1) write_error(27); else if (range == NON_NEGATIVE && param < 0) write_error(28); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, param); } /* *------------------------------------------------------------------------- * AEset_real_param: * Used for all items which have just one real valued parameter. * The procedure's parameter is used to specify the range of legal values * for the item's parameter :- * NON_NEGATIVE >= 0, POSITIVE > 0 , ANY any values * Annex E items : Line Width, Marker Size, * Character Expansion Factor, Character Spacing *------------------------------------------------------------------------- */ AEset_real_param(range) int range; { double param; read_string_real(MF_infile, ¶m, DEFAULT); if (range == POSITIVE && param <= 0.0) write_error(29); else if (range == NON_NEGATIVE && param < 0.0) write_error(30); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_real(MF_outfile, param); } /* *------------------------------------------------------------------------- * AEtext_font_prec: * The Annex E item Set Text Font and Precision is translated to the * separate CGM items : Set Text Font, and Set Text Precision. *------------------------------------------------------------------------- */ AEtext_font_prec() { int font, precision; read_string_int(MF_infile, &font, DEFAULT); read_string_int(MF_infile, &precision, DEFAULT); check_param_range(precision, 0, 2, 34); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, font); write_separator(MF_outfile, TERMINATOR); write_item_name(MF_outfile, CGM_TABLE, TEXTPREC); write_separator(MF_outfile, SOFTSEP); write_enum_value(MF_outfile, E_TEXTPREC, precision); } /* *------------------------------------------------------------------------- * sqr: * Returns the square of its argument. Used by AEchar_vectors. *------------------------------------------------------------------------- */ double sqr(value) double value; { return (value * value); } /* *------------------------------------------------------------------------- * AEchar_vectors: * The Annex E item Character Vectors is translated to the CGM items : * Character Height, and Character Orientation. *------------------------------------------------------------------------- */ AEchar_vectors() { Point char_height, char_width; double height, sqr(), sqrt(); read_point(MF_infile, &char_height); read_point(MF_infile, &char_width); height = sqrt(sqr(char_height.x) + sqr(char_height.y)); write_item_name(MF_outfile, CGM_TABLE, CHARHEIGHT); write_separator(MF_outfile, SOFTSEP); write_vdc(MF_outfile, height); write_separator(MF_outfile, TERMINATOR); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_delta_pair(MF_outfile, char_height); write_separator(MF_outfile, SEP); write_delta_pair(MF_outfile, char_width); } /* *------------------------------------------------------------------------- * AEtext_align: * The CGM Text Alignment item has the first two parameters the same * as Annex E, but continuous alignment can be selected - the last two * parameters being real values for horizontal and vertical alignment, * in that order. Since continuous alignment will never be selected these * are just set with dummy values (0.0). *------------------------------------------------------------------------- */ AEtext_align() { int horiz_align, vert_align; read_string_int(MF_infile, &horiz_align, DEFAULT); check_param_range(horiz_align, 0, 3, 35); read_string_int(MF_infile, &vert_align, DEFAULT); check_param_range(horiz_align, 0, 5, 36); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_enum_value(MF_outfile, E_HORIZ, horiz_align); write_separator(MF_outfile, SEP); write_enum_value(MF_outfile, E_VERT, vert_align); write_separator(MF_outfile, SEP); write_real(MF_outfile, 0.0); write_separator(MF_outfile, SEP); write_real(MF_outfile, 0.0); } /* *------------------------------------------------------------------------- * AEfill_style_ind: * The Annex E item Fill Area Style Index is used to set the Pattern * Index or Hatch Index, depending on the fill area interior style * selected. CGM has two separate items Pattern Index and Hatch Index, * these are both called with the parameter from the Annex E item. *------------------------------------------------------------------------- */ AEfill_style_ind() { int style_index; read_string_int(MF_infile, &style_index, DEFAULT); /* PATINDEX */ if (style_index < 1) write_error(26); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, style_index); write_separator(MF_outfile, TERMINATOR); write_item_name(MF_outfile, CGM_TABLE, HATCHINDEX); write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, style_index); } /* *------------------------------------------------------------------------- * AEpatt_vectors: * The Pattern Vectors Annex E item translates into the Pattern Size * CGM item, with the parameters unchanged. *------------------------------------------------------------------------- */ AEpatt_vectors() { Point patt_width, patt_height; read_point(MF_infile, &patt_height); read_point(MF_infile, &patt_width); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_delta_pair(MF_outfile, patt_height); write_separator(MF_outfile, SEP); write_delta_pair(MF_outfile, patt_width); } /* *------------------------------------------------------------------------- * AEpatt_ref_point: * Pattern Reference Point has the same form in Annex E and CGM. *------------------------------------------------------------------------- */ AEpatt_ref_point() { Point pt; read_point(MF_infile, &pt); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_point(MF_outfile, pt); } /* *------------------------------------------------------------------------- * AEasf: * Annex E has 13 Aspect Source Flags, CGM has 18. * Annexe E : LineType, LineWidth, LineColour, MarkerType, MarkerSize, * MarkerColour, TextFontandPrec, CharExp, CharSpace, * TextColour, IntStyle, FillColour, IntStyleInd. * CGM : LineType, LineWidth, LineColour, MarkerType, MarkerSize, * MarkerColour, TextFont, TextPrec, CharExp, CharSpace, * TextColour, IntStyle, FillColour, HatchIndex, PatIndex, * EdgeType, EdgeWidth, EdgeColour. *------------------------------------------------------------------------- */ AEasf() { int asf_list[13], flag, i; read_int_list(MF_infile, asf_list, 13); for (i = 0; i < 13; i++) check_param_range(asf_list[i], 0, 1, 37); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); if (same_flags(asf_list, 0, 12, &flag)) { if (Encoding == CLEAR_TEXT) write_enum_value(MF_outfile, E_PSEUDOASF, 0); else write_int(MF_outfile, CE_ALL_ASF); write_separator(MF_outfile, SEP); write_enum_value(MF_outfile, E_ASFTYPE, flag); } else { check_flags(asf_list, 0, 2, 1); check_flags(asf_list, 3, 5, 2); check_flags(asf_list, 6, 9, 3); check_flags(asf_list, 10, 12, 4); } } /* *------------------------------------------------------------------------- * same_flags: * Checks whether the ASF's in the range lower-upper are the same, if * so the flag setting is stored in val, and 'true' is returned, 'false' * otherwise. *------------------------------------------------------------------------- */ same_flags(list, lower, upper, val) int *list, lower, upper, *val; { int i, eq_flag = 1; *val = list[lower]; for (i = lower + 1; i <= upper; i++) eq_flag = (list[i] != *val) ? 0 : eq_flag; return (eq_flag); } /* *------------------------------------------------------------------------- * check_flags: * Checks whether the ASF's in the range lower-upper are the same, * if so the Pseudo ASF indexed by the parameter Eno is used, else each * flag within the range is set separately. *------------------------------------------------------------------------- */ check_flags(list, lower, upper, Eno) int *list, lower, upper, Eno; { int val, i; if (same_flags(list, lower, upper, &val)) { if (Encoding == CLEAR_TEXT) write_enum_value(MF_outfile, E_PSEUDOASF, Eno); else write_int(MF_outfile, CE_ALL_ASF - Eno); write_separator(MF_outfile, SEP); write_enum_value(MF_outfile, E_ASFTYPE, val); if (upper != 12) write_separator(MF_outfile, SEP); } else { for (i = lower; i <= upper; i++) { if (Encoding == CLEAR_TEXT) { write_enum_value(MF_outfile, E_ASFNAME, i); write_separator(MF_outfile, SEP); write_enum_value(MF_outfile, E_ASFTYPE, list[i]); if (i != 12) write_separator(MF_outfile, SEP); if (i == 6) { /* Text font and precision */ write_enum_value(MF_outfile, E_ASFNAME, 13); write_separator(MF_outfile, SEP); write_enum_value(MF_outfile, E_ASFTYPE, list[i]); write_separator(MF_outfile, SEP); } if (i == 11) { /* Style index -> Hatch and pattern */ write_enum_value(MF_outfile, E_ASFNAME, 14); write_separator(MF_outfile, SEP); write_enum_value(MF_outfile, E_ASFTYPE, list[i]); write_separator(MF_outfile, SEP); } } else { if (i < 6) { write_int(MF_outfile, i); write_int(MF_outfile, list[i]); } else if (i == 6) { /* Text font and precision */ write_int(MF_outfile, i); write_int(MF_outfile, list[i]); write_int(MF_outfile, 7); write_int(MF_outfile, list[i]); } else if (i < 11) { write_int(MF_outfile, i + 1); write_int(MF_outfile, list[i]); } else if (i == 11) { /* Style index */ write_int(MF_outfile, 13); write_int(MF_outfile, list[i]); write_int(MF_outfile, 14); write_int(MF_outfile, list[i]); } else { /* Fill Colr Asf */ write_int(MF_outfile, 12); write_int(MF_outfile, list[i]); } } } } } xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/annexe_10.c0000644000175000017500000001256111413611016023050 0ustar amckinstryamckinstry/* *---------------------------------------------------------------------- * * PROGRAM : gksmc * * FILE : annexe_10.c * * CONTENTS : Routines to read items from an Annex E metafile which * are groups E.10 and E.11 of the Annex - items for * segment manipulation and items for segment attributes * respectively. * * ANNEX E ITEMS : Close Segment * Rename Segment * Set Segment Transformation Matrix * Set Segment Priority * * GLOBALS USED : MF_infile, MF_outfile, Encoding * * DATE : 26th April 1988 * *---------------------------------------------------------------------- */ #include #include "annexe.h" #include "cgm.h" #include "defns.h" #include "tables.h" extern FILE *MF_infile, *MF_outfile; /* *------------------------------------------------------------------------- * AEset_seg_enum_param: * Used for all segment items which set a segment attribute. The first * parameter is a segment identifier, the second is the attribute setting * (enumerated). The procedure's parameter gives the row of the enumeration * table to be used, which is referenced by the second parameter from the * Annex E item. * Annex E items : Segment Visibility, Segment Highlighting, * Segment Detectability *------------------------------------------------------------------------- */ AEset_seg_attribute(enum_no) int enum_no; { int seg_name, param; read_string_int(MF_infile, &seg_name, DEFAULT); read_string_int(MF_infile, ¶m, DEFAULT); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, seg_name); write_separator(MF_outfile, SEP); write_enum_value(MF_outfile, enum_no, param); } /* *------------------------------------------------------------------------- * AEclose_seg: * The Annex E item Close Segment translates to the CGM item * End Segment. *------------------------------------------------------------------------- */ AEclose_seg() { write_item_name(MF_outfile, OP_TABLE, DEFAULT); } /* *------------------------------------------------------------------------- * AErename_seg: * Rename segment is the same in Annex E and CGM. *------------------------------------------------------------------------- */ AErename_seg() { int old_seg_name, new_seg_name; read_string_int(MF_infile, &old_seg_name, DEFAULT); read_string_int(MF_infile, &new_seg_name, DEFAULT); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, old_seg_name); write_separator(MF_outfile, SEP); write_int(MF_outfile, new_seg_name); } /* *------------------------------------------------------------------------- * AEset_seg_trans: * The Set Segment Transformation item translates to the Segment * Transform item in CGM, the only difference being the order in which the * matrix values are given. The Annex E matrix is given :- * T[1,1], T[1,2], T[1,3], T[2,1], T[2,2], T[2,3] * The Clear Text version of the CGM item uses this order, but the * character encoding uses the order :- * T[1,1], T[2,1], T[1,2], T[2,2], T[1,3], T[2,3] *------------------------------------------------------------------------- */ AEset_seg_trans() { int seg_name, i; double trans_matrix[6]; /* 2*3 matrix, in row-major order */ read_string_int(MF_infile, &seg_name, DEFAULT); read_real_list(MF_infile, trans_matrix, 6); write_item_name(MF_outfile, OP_TABLE, DEFAULT); if (Encoding == CLEAR_TEXT) { write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, seg_name); for (i = 0; i < 2; i++) { write_separator(MF_outfile, SEP); write_real(MF_outfile, trans_matrix[i * 3]); write_separator(MF_outfile, SEP); write_real(MF_outfile, trans_matrix[i * 3 + 1]); write_separator(MF_outfile, SEP); write_vdc(MF_outfile, trans_matrix[i * 3 + 2]); } } else { write_int(MF_outfile, seg_name); write_real(MF_outfile, trans_matrix[0]); write_real(MF_outfile, trans_matrix[3]); write_real(MF_outfile, trans_matrix[1]); write_real(MF_outfile, trans_matrix[4]); write_vdc(MF_outfile, trans_matrix[2]); write_vdc(MF_outfile, trans_matrix[5]); } } /* *------------------------------------------------------------------------- * AEset_seg_pri: * The Set Segment Priority item translates to the two CGM items * Segment Display Priority and Segment Pick Priority. The Annex E item * has a real value in the range 0.0 - 1.0 for the priority, whilst the * CGM items expect an integer value. The real value is mapped on to the * current integer precision range and used for both CGM items. *------------------------------------------------------------------------- */ AEset_seg_pri() { int seg_name, int_seg_pri; double real_seg_pri; read_string_int(MF_infile, &seg_name, DEFAULT); read_string_real(MF_infile, &real_seg_pri, DEFAULT); if (real_seg_pri > 1.0) write_error(19); int_seg_pri = real_seg_pri * MaxInt; write_item_name(MF_outfile, OP_TABLE, DEFAULT); /* display priority */ write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, seg_name); write_separator(MF_outfile, SEP); write_int(MF_outfile, int_seg_pri); write_separator(MF_outfile, TERMINATOR); write_item_name(MF_outfile, CGM_TABLE, SEGPICKPRI); write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, seg_name); write_separator(MF_outfile, SEP); write_int(MF_outfile, int_seg_pri); } xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/opcodes0000644000175000017500000001064411413611016022505 0ustar amckinstryamckinstry OpTable Elements : 0 ENDMF : 3/0 2/1 1 CLEAR : 2 REDRAWALLSEG : 3/8 2/5 3 UPDATE : 3/3 2/12 4 SETDEFERSTATE : 3/3 2/9 5 MESSAGE : 3/7 2/1 6 ESCAPE : 3/7 2/0 11 LINE : 2/0 12 MARKER : 2/2 13 TEXT : 2/3 14 POLYGON : 2/6 15 CELLARRAY : 2/8 16 GDP : 2/9 21 LINEINDEX : 3/5 2/0 22 LINETYPE : 3/5 2/1 23 LINEWIDTH : 3/5 2/2 24 LINECOLR : 3/5 2/3 25 MARKERINDEX : 3/5 2/4 26 MARKERTYPE : 3/5 2/5 27 MARKERSIZE : 3/5 2/6 28 MARKERCOLR : 3/5 2/7 29 TEXTINDEX : 3/5 3/0 30 TEXTFONTINDEX : 3/5 3/1 31 CHAREXPAN : 3/5 3/3 32 CHARSPACE : 3/5 3/4 33 TEXTCOLR : 3/5 3/5 34 CHARORI : 3/5 3/7 35 TEXTPATH : 3/5 3/8 36 TEXTALIGN : 3/5 3/9 37 FILLINDEX : 3/6 2/0 38 INTSTYLE : 3/6 2/1 39 PATINDEX : 3/6 2/4 40 FILLCOLR : 3/6 2/2 41 PATSIZE : 3/6 2/12 42 FILLREFPT : 3/6 2/10 43 ASF : 3/6 3/1 44 PICKID : 3/6 3/2 45 HATCHINDEX : 3/6 2/3 46 TEXTPREC : 3/5 3/12 51 LINEREP : 3/5 2/8 52 MARKERREP : 3/5 2/9 53 TEXTREP : 3/5 3/12 54 FILLREP : 3/6 2/13 55 COLRTABLE : 3/6 3/0 56 PATTABLE : 3/6 2/11 61 CLIPRECT : 3/3 2/4 71 *WKSWINDOW : 72 DEVICEVIEWPORT : 3/3 2/6 81 BEGSEG : 3/0 2/5 82 ENDSEG : 3/0 2/6 83 RENAMESEG : 3/8 2/4 84 DELETESEG : 3/8 2/2 91 SEGTRANS : 3/9 2/0 92 SEGVIS : 3/9 2/1 93 SEGHIGHLIGHT : 3/9 2/2 94 SEGDISPLAYPRI : 3/9 2/3 95 SEGDET : 3/9 2/4 CGM Table Elements : 0 BEGMF : 3/0 2/0 1 BEGPIC : 3/0 2/2 2 BEGPICBODY : 3/0 2/3 3 ENDPIC : 3/0 2/4 4 MFVERSION : 3/1 2/0 5 MFDESC : 3/1 2/1 6 VDCTYPE : 3/1 2/2 7 INTEGERPREC : 3/1 2/3 8 REALPREC : 3/1 2/4 9 INDEXPREC : 3/1 2/5 10 COLRPREC : 3/1 2/6 11 COLRINDEXPREC : 3/1 2/7 12 MAXCOLRINDEX : 3/1 2/8 13 COLRVALUEEXT : 3/1 2/9 14 MFELEMLIST : 3/1 2/10 15 BEGMFDEFAULTS : 3/1 2/11 16 ENDMFDEFAULTS : 3/1 2/12 17 FONTLIST : 3/1 2/13 18 CHARSETLIST : 3/1 2/14 19 CHARCODING : 3/1 2/15 20 SCALEMODE : 3/2 2/0 21 COLRMODE : 3/2 2/1 22 LINEWIDTHMODE : 3/2 2/2 23 MARKERSIZEMODE : 3/2 2/3 24 EDGEWIDTHMODE : 3/2 2/4 25 VDCEXT : 3/2 2/5 26 BACKCOLR : 3/2 2/6 27 VDCINTEGERPREC : 3/3 2/0 28 VDCREALPREC : 3/3 2/1 29 AUXCOLR : 3/3 2/2 30 TRANSPARENCY : 3/3 2/3 31 CLIP : 3/3 2/5 32 MFCATEGORY : 3/1 3/0 33 MAXVDCEXT : 3/1 3/1 34 SEGPRIEXT : 3/1 3/2 35 DEVICEVIEWPORTMODE : 3/3 2/7 36 DEVICEVIEWPORTMAP : 3/3 2/8 37 MAKEPICCUR : 3/3 2/10 38 PREPAREVIEWSURFACE : 3/3 2/11 39 MODFONTLIST : 3/3 2/13 40 MODCHARSETLIST : 3/3 2/14 41 BEGFIGURE : 3/3 2/15 42 ENDFIGURE : 3/3 3/0 43 NEWREGION : 3/3 3/1 44 IMPLEDGEVIS : 3/3 3/2 45 SAVEPRIMATTR : 3/3 3/3 46 RESPRIMATTR : 3/3 3/4 47 DELETEATTRSET : 3/3 3/5 48 ARCCTRBACK : 3/4 2/8 49 PIXELARRAY : 3/4 2/9 50 EDGEREP : 3/6 2/14 51 DRAWINGMODE : 3/6 3/3 52 REOPENSEG : 3/8 2/0 53 COPYSEG : 3/8 2/1 54 DELETEALLSEG : 3/8 2/3 55 IMPLSEGREGENMODE : 3/8 2/6 56 INHFILTER : 3/8 2/7 57 SEGPICKPRI : 3/9 2/5 xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/writeops.c0000644000175000017500000000343211413611016023143 0ustar amckinstryamckinstry/* *---------------------------------------------------------------------- * * PROGRAM : writeops * * FILE : writeops.c * * CONTENTS : Prints out contents of Clear Text and Character Encoding * tables. Compile with :- * cc -I../include writeops.c tables.c * type 'a.out' to run, tables written to standard output. * * DATE : 24th April 1988 * *---------------------------------------------------------------------- */ #include #include "defns.h" #include "tables.h" extern char *CtOpTable[], *CtCgmTable[], *CeOpTable[], *CeCgmTable[]; /* *---------------------------------------------------------------------- * main: * OpTable printed first, format :- * Annex E item number, Clear Text item name, char encoding opcode * CgmTable format :- * table entry number, Clear Text item name, char encoding opcode *---------------------------------------------------------------------- */ main() { int i; printf("\n\n\t\tOpTable Elements :\n\n"); for (i = 0; i < 96; i++) { if (CtOpTable[i][0] != '\0') { printf("\t\t%5d%20s : ", i, CtOpTable[i]); write_encoded(CeOpTable[i]); putchar('\n'); } } printf("\n\n\t\tCGM Table Elements :\n\n"); for (i = 0; i < 58; i++) { printf("\t\t%5d%20s : ", i, CtCgmTable[i]); write_encoded(CeCgmTable[i]); putchar('\n'); } } /* *--------------------------------------------------------------- * write_encoded: * Writes its parameter value in the x/y format used in the * character encoding documents :- * x = the integer part of str / 16 * y = str modulo 16 *--------------------------------------------------------------- write_encoded (str) char *str ; { while (*str != '\0') { printf ("%d/%d ", ((int) *str) /16, ((int) *str) % 16) ; str++ ; } } xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/CVS/0000755000175000017500000000000011413611016021554 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/CVS/Entries0000644000175000017500000000147011413611016023112 0ustar amckinstryamckinstry/AEutils.c/2.5.4.1/Wed Mar 10 19:43:17 1993// /CGMutils.c/2.5.4.1/Wed Mar 10 19:43:14 1993// /Makefile/2.5.4.1/Wed Mar 10 19:43:14 1993// /annexe_10.c/2.5.4.1/Wed Mar 10 19:43:14 1993// /annexe_5.c/2.5.4.1/Wed Mar 10 19:43:14 1993// /annexe_7.c/2.5.4.1/Wed Mar 10 19:43:14 1993// /annexe_8.c/2.5.4.1/Wed Mar 10 19:43:15 1993// /cgm.c/2.5.4.1/Wed Mar 10 19:43:15 1993// /cgm.def/2.5.4.1/Wed Mar 10 19:43:14 1993// /cgmdump/2.5.4.1/Wed Mar 10 19:43:17 1993// /cgmdump.c/2.5.4.1/Wed Mar 10 19:43:15 1993// /defaults.c/2.5.4.1/Wed Mar 10 19:43:15 1993// /gksm2cgm/2.5.4.1/Wed Mar 10 19:43:16 1993// /main.c/2.5.4.1/Wed Mar 10 19:43:15 1993// /opcodes/2.5.4.1/Wed Mar 10 19:43:15 1993// /tables.c/2.5.4.1/Wed Mar 10 19:43:15 1993// /translate.c/2.5.4.1/Wed Mar 10 19:43:16 1993// /writeops.c/2.5.4.1/Wed Mar 10 19:43:16 1993// D xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/CVS/Repository0000644000175000017500000000003011413611016023647 0ustar amckinstryamckinstryxgks/progs/gksm2cgm/src xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/CVS/Root0000644000175000017500000000006111413611016022417 0ustar amckinstryamckinstry:pserver:anonymous@cvs.XGKS.sf.net:/cvsroot/xgks xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/main.c0000644000175000017500000001631411413611016022216 0ustar amckinstryamckinstry/* *---------------------------------------------------------------------- * * PROGRAM : gksmc * * FILE : main.c * * CONTENTS : The main body of the program, plus routines to read the * Annex E metafile header and write a CGM metafile and * picture header. * * GLOBALS USED : variables used to hold information from Annex E * header, Encoding, vdc_type, VDC_lower, VDC_upper, * NumColrBits, NumColrDefs, MinInt, MaxInt, MaxIntBits, * NumExpBits, SigPlaces, MinReal, MinRealCode, MaxReal, * MaxRealCode. * * DATE : 24th April 1988 * *--------------------------------------------------------------------- */ #include #include #include "defns.h" #include "tables.h" char GKSM_string[5]; /* GKSM in the Annex E definition */ char author_string[41]; /* N */ char date_string[9]; /* D */ int version_number; /* V */ int GKSM_bytes; /* H */ int item_field_width; /* T */ int data_length_field_width; /* L */ int int_field_width; /* I */ int real_field_width; /* R */ int number_format; /* F */ int real_rep; /* RI */ int int_ZERO; /* ZERO */ int int_ONE; /* ONE */ FILE *MF_infile, *MF_outfile; /* *------------------------------------------------------------------------- * main: * Opens the input and output metafiles and handles any flags given * on the command line. Any parameters set on the command line override * a setting in the defaults file. * The item name tables are set up correctly for the encoding * selected, headers are read and written, then create_cgm is called to * perform the main body of the translation. *------------------------------------------------------------------------- */ main(argc, argv) int argc; char *argv[]; { FILE *fopen(); char *in_name, *out_name; int lcase_flg = 0, enc_flg = 0, arg_no; arg_no = 1; while (arg_no < argc) { argv++; if (argv[0][0] != '-') { if (MF_infile == NULL) { if ((MF_infile = fopen((in_name = *argv), "r")) == NULL) { fprintf(stderr, "Can't open %s for input\n", in_name); exit(1); } } else if (MF_outfile == NULL) { if ((MF_outfile=fopen((out_name = *argv),"w")) == NULL) { fprintf(stderr, "Can't open %s for output\n", out_name); exit(1); } } else { command_line_error(); } } else { switch (argv[0][1]) { case 'l': lcase_flg = 1; break; case 'd': read_defaults(*++argv); arg_no++; break; case 'c': if (argv[0][2] == 't') enc_flg = CLEAR_TEXT; else if (argv[0][2] == 'e') enc_flg = CHARACTER; else write_error(15); break; default: command_line_error(); } } arg_no++; } if (MF_infile == NULL || MF_outfile == NULL) command_line_error(); if (enc_flg) Encoding = enc_flg; if (lcase_flg && Encoding == CLEAR_TEXT) lower_tables(); setup_item_tables(); read_AE_header(); write_CGM_header(); create_cgm(); fclose(MF_infile); fclose(MF_outfile); } /* *------------------------------------------------------------------------- * command_line_error: * Called if the program is run with incorrect or missing arguments. *------------------------------------------------------------------------- */ command_line_error() { fprintf(stderr, "usage : gksmc "); fprintf(stderr, "[ -l ]"); fprintf(stderr, "[ -d defaults-file ]"); fprintf(stderr, "[ -ct | -ce]\n"); fprintf(stderr, " input-metafile output-metafile\n"); exit(1); } /* *------------------------------------------------------------------------- * read_AE_header: * Reads in the header at the start of the Annex E metafile, * containing information about the source, date, and field widths for the * different types of data following. Various constraints fnd precisions * for data in the CGM are calculated. *------------------------------------------------------------------------- */ read_AE_header() { double tmp, power; int i, int_pwr; char str[5]; char dummy[23]; read_string(MF_infile, GKSM_string, 4); read_string(MF_infile, author_string, 40); read_string(MF_infile, date_string, 8); read_string_int(MF_infile, &version_number, 2); read_string_int(MF_infile, &GKSM_bytes, 2); read_string_int(MF_infile, &item_field_width, 2); read_string_int(MF_infile, &data_length_field_width, 2); read_string_int(MF_infile, &int_field_width, 2); read_string_int(MF_infile, &real_field_width, 2); read_string_int(MF_infile, &number_format, 2); read_string_int(MF_infile, &real_rep, 2); if (real_rep == REAL_AS_INT) { read_string_int(MF_infile, &int_ZERO, 11); read_string_int(MF_infile, &int_ONE, 11); vdc_type = VDC_INT; VDC_lower.x = int_ZERO; VDC_lower.y = int_ZERO; VDC_upper.x = int_ONE; VDC_upper.y = int_ONE; } else /* ignore int-ONE and int-ZERO fields */ read_string(MF_infile,dummy,22); strcpy(str, GKSM_string); conv_string_to_lcase(str); if (strcmp(str, "gksm")) write_error(22); GKSM_string[GKSM_bytes] = '\0'; /* GKSM string used in m'file */ if (number_format == BINARY_FORMAT) write_error(2); int_pwr = (int) (power = log((double) colr_prec) / log((double) 2.0)); NumColrBits = (int_pwr == power) ? int_pwr : int_pwr + 1; MaxInt = 0; for (i = 0; i < int_field_width; i++) MaxInt = MaxInt * 10 + 9; MinInt = -MaxInt / 10.0; tmp = log((double) MaxInt) / log((double) 2.0); MaxIntBits = ((int) tmp == tmp) ? (int) tmp : (int) tmp + 1; SigPlaces = real_field_width - 3; tmp = SigPlaces * LOG_10_ON_LOG_2; NumExpBits = ((int) tmp == tmp) ? (int) tmp : (int) tmp + 1; MaxReal = 0; for (i = 0; i < SigPlaces; i++) MaxReal = MaxReal * 10.0 + 9; MinReal = -MaxReal; tmp = log((double) MaxReal) / log((double) 2.0); MaxRealCode = ((int) tmp == tmp) ? (int) tmp : (int) tmp + 1; MinRealCode = NumExpBits; } /* *------------------------------------------------------------------------- * write_CGM_header: * Writes the 'header' at the start of the CGM metafile. This * consists of 'begin metafile', setting various parameters then calling * start_picture. *------------------------------------------------------------------------- */ write_CGM_header() { CGMbegin_metafile(); CGMmetafile_version(); if (include_mf_descr) CGMmetafile_description(); if (include_mf_cat) CGMmetafile_category(); CGMmetafile_element_list(); CGMchar_coding_announcer(); CGMinteger_precision(); CGMreal_precision(); CGMindex_precision(); CGMcolour_precision(); CGMsegment_priority_extent(); CGMvdc_type(); CGMmax_colour_index(); start_picture(); write_separator(MF_outfile, TERMINATOR); } /* *------------------------------------------------------------------------- * start_picture: * Writes a 'picture header' to the CGM metafile. This consists of * 'begin picture', setting various parameters, then opening the picture. *------------------------------------------------------------------------- */ start_picture() { CGMbegin_picture(); CGMscaling_mode(); CGMcolour_selection_mode(); CGMline_width_spec_mode(); CGMmarker_size_spec_mode(); CGMvdc_extent(); CGMbegin_picture_body(); if (vdc_type == VDC_INT) CGMvdc_integer_precision(); else CGMvdc_real_precision(); CGMclip_rectangle(VDC_lower, VDC_upper); if (NumColrDefs > 0) write_colour_list(MF_outfile); } xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/annexe_5.c0000644000175000017500000002575011413611016023000 0ustar amckinstryamckinstry/* *---------------------------------------------------------------------- * * PROGRAM : gksmc * * FILE : annexe_5.c * * CONTENTS : Routines to read items from an Annex E metafile * which are in groups E.5 and E.6 - control items and * items for output primitives respectively. * * ANNEX E ITEMS : End Item * Clear Workstation * Redraw All Segments * Set Deferral State * Message * Escape * Polyline * Polymarker * Fill Area * Text * Cell Array * General Drawing Primitive (GDP) * * GLOBALS USED : MF_infile, MF_outfile, item_no, Encoding, * PointListForm * * DATE : 26th April 1988 * *---------------------------------------------------------------------- */ #include #include "annexe.h" #include "cgm.h" #include "defns.h" #include "tables.h" extern FILE *MF_infile, *MF_outfile; extern int item_no; /* *------------------------------------------------------------------------- * AEend_item: * Last item in an Annex E metafile. End of Picture and End of * Metafile items written to the CGM metafile. *------------------------------------------------------------------------- */ AEend_item() { write_item_name(MF_outfile, CGM_TABLE, ENDPIC); write_separator(MF_outfile, TERMINATOR); write_item_name(MF_outfile, OP_TABLE, DEFAULT); } /* *------------------------------------------------------------------------- * AEclear_wks: * Clear workstation. This translates to the CGM sequence :- * Make Picture Current ; Prepare View Surface ; Delete All Segments. *------------------------------------------------------------------------- */ AEclear_wks() { int cc_flag; /* Clearing control flag */ read_string_int(MF_infile, &cc_flag, DEFAULT); check_param_range(cc_flag, 0, 1, 31); write_item_name(MF_outfile, CGM_TABLE, MAKEPICCUR); write_separator(MF_outfile, TERMINATOR); CGMprep_surface(cc_flag); write_item_name(MF_outfile, CGM_TABLE, DELETEALLSEG); } /* *------------------------------------------------------------------------- * AEredraw_segs: * Redraw all segments. Translates to the CGM sequence :- * Make Picture Current ; Prepare View Surface ; Redraw All Segments. *------------------------------------------------------------------------- */ AEredraw_segs() { write_item_name(MF_outfile, CGM_TABLE, MAKEPICCUR); write_separator(MF_outfile, TERMINATOR); CGMprep_surface(CONDITIONAL); write_item_name(MF_outfile, OP_TABLE, DEFAULT); } /* *------------------------------------------------------------------------- * AEset_enum_param: * Used for all items which have have a single enumerated parameter. * The parameter for this procedure gives the row in the enumeration * table to be used, the parameter read from the input metafile gives the * entry in that row, which is a character string. The string is written * to the file for clear text, the actual value for character encoding. * Annex E Items : Update Workstation, * Text Path, * Fill Area Interior Style *------------------------------------------------------------------------- */ AEset_enum_param(enum_no) int enum_no; { int param; read_string_int(MF_infile, ¶m, DEFAULT); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_enum_value(MF_outfile, enum_no, param); } /* *------------------------------------------------------------------------- * AEdef_state: * Set Deferral State. This translates to the CGM sequence :- * Deferral Mode ; Implicit Segment Regeneration Mode. * The first parameter of the Annex E item can take values :- * 0 = ASAP ; 1 = BNIG ; 2 = BNIL ; 3 = ASTI * The CGM deferral mode parameter can take values :- ASAP, BNI and ASTI. * BNIG and BNIL are both mapped to BNI. *------------------------------------------------------------------------- */ AEdef_state() { int def_mode, regen_mode; read_string_int(MF_infile, &def_mode, DEFAULT); check_param_range(def_mode, 0, 3, 32); read_string_int(MF_infile, ®en_mode, DEFAULT); check_param_range(regen_mode, 0, 1, 33); if (regen_mode > 1) regen_mode--; write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_enum_value(MF_outfile, E_DEFMODE, def_mode); write_separator(MF_outfile, TERMINATOR); write_item_name(MF_outfile, CGM_TABLE, IMPLSEGREGENMODE); write_separator(MF_outfile, SOFTSEP); write_enum_value(MF_outfile, E_DEFREGEN, regen_mode); } /* *------------------------------------------------------------------------- * AEmessage: * The Annex E Message item does not have an action parameter. The * CGM message item is written with the action parameter set to No Action. *------------------------------------------------------------------------- */ AEmessage() { int string_len; char *message_string; read_string_int(MF_infile, &string_len, DEFAULT); message_string = (char *) calloc(string_len + 1, sizeof(char)); read_string(MF_infile, message_string, string_len); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_enum_value(MF_outfile, E_MESSAGE, NOACTION); write_separator(MF_outfile, HARDSEP); write_CGM_string(MF_outfile, message_string, DEFAULT); cfree(message_string); } /* *------------------------------------------------------------------------- * AEescape: * The lists of reals and integers in the Annex E item do not occur * in the CGM escape item. These are written in the 'datarecord' string. * For details of the format of this string see write_datarecord in * CGMutils.c *------------------------------------------------------------------------- */ AEescape() { int function_id, num_ints, num_reals; int *int_data; double *real_data; read_string_int(MF_infile, &function_id, DEFAULT); read_string_int(MF_infile, &num_ints, DEFAULT); read_string_int(MF_infile, &num_reals, DEFAULT); int_data = (int *) calloc(num_ints, sizeof(int)); read_int_list(MF_infile, int_data, num_ints); real_data = (double *) calloc(num_reals, sizeof(double)); read_real_list(MF_infile, real_data, num_reals); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, function_id); write_separator(MF_outfile, HARDSEP); write_datarecord(MF_outfile, num_ints, int_data, num_reals, real_data); cfree(real_data); cfree(int_data); } /* *------------------------------------------------------------------------- * AEpolypoint: * Handles Polymarker, Polyline and Fill Area items - these translate * to Marker, Line and Polygon respectively. In the Clear Text encoding, * the incremental forms of these items can be selected using a defaults * file. See defaults.c for details. *------------------------------------------------------------------------- */ AEpolypoint() { int num_points; Point *point_list; read_string_int(MF_infile, &num_points, DEFAULT); point_list = (Point *) calloc(num_points, sizeof(Point)); read_point_list(MF_infile, point_list, num_points); if ((num_points < 1 && item_no == POLYMARKER) || (num_points < 2 && item_no == POLYLINE) || (num_points < 3 && item_no == FILL_AREA)) write_error(1); if (Encoding == CLEAR_TEXT && PointListForm == LIST_INCR) write_item_name(MF_outfile, CGM_TABLE, 47 + item_no); else write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_point_list(MF_outfile, point_list, num_points); cfree(point_list); } /* *------------------------------------------------------------------------- * AEtext: * The only difference between the Text item in Annex E and CGM is * that the CGM item has an extra parameter which says whether further * text can be appended. This is set to FINAL since Annex E does not * have an Append Text item. *------------------------------------------------------------------------- */ AEtext() { int num_chars; Point start_pt; char *text_string; read_point(MF_infile, &start_pt); read_string_int(MF_infile, &num_chars, DEFAULT); text_string = (char *) calloc(num_chars + 1, sizeof(char)); read_string(MF_infile, text_string, num_chars); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_point(MF_outfile, start_pt); write_separator(MF_outfile, SEP); write_enum_value(MF_outfile, E_TEXTEND, FINAL); write_separator(MF_outfile, HARDSEP); write_CGM_string(MF_outfile, text_string, DEFAULT); cfree(text_string); } /* *------------------------------------------------------------------------- * AEcell_array: * Cell Array in Annex E maps straight to the same element in CGM. *------------------------------------------------------------------------- */ AEcell_array() { Point P, Q, R; int num_cols, num_rows, num_indices; int *colr_indices; read_point(MF_infile, &P); read_point(MF_infile, &Q); read_point(MF_infile, &R); read_string_int(MF_infile, &num_cols, DEFAULT); read_string_int(MF_infile, &num_rows, DEFAULT); num_indices = num_cols * num_rows; colr_indices = (int *) calloc(num_indices, sizeof(int)); read_int_list(MF_infile, colr_indices, num_indices); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_point(MF_outfile, P); write_separator(MF_outfile, SEP); write_point(MF_outfile, Q); write_separator(MF_outfile, SEP); write_point(MF_outfile, R); write_separator(MF_outfile, SEP); write_int(MF_outfile, num_cols); write_separator(MF_outfile, SEP); write_int(MF_outfile, num_rows); write_separator(MF_outfile, SEP); write_int(MF_outfile, 0); /* use default colr precision */ write_cell_row(MF_outfile, colr_indices, num_indices); cfree(colr_indices); } /* *------------------------------------------------------------------------- * AEgdp: * The CGM gdp item is the same as the Annex E, except that is has * a 'datarecord' parameter where Annex E has a list of reals and a list * of integers. These lists are written in the datarecord string. See * write_datarecord in CGMutils.c for details of the format of this string. *------------------------------------------------------------------------- */ AEgdp() { int gdp_id, num_points, num_ints, num_reals, *int_data; Point *point_list; double *real_data; read_string_int(MF_infile, &gdp_id, DEFAULT); read_string_int(MF_infile, &num_points, DEFAULT); read_string_int(MF_infile, &num_ints, DEFAULT); read_string_int(MF_infile, &num_reals, DEFAULT); read_point_list(MF_infile, point_list, num_points); int_data = (int *) calloc(num_ints, sizeof(int)); read_int_list(MF_infile, int_data, num_ints); real_data = (double *) calloc(num_reals, sizeof(double)); read_real_list(MF_infile, real_data, num_reals); write_item_name(MF_outfile, OP_TABLE, DEFAULT); write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, gdp_id); write_separator(MF_outfile, SEP); write_point_list(MF_outfile, point_list, num_points); write_separator(MF_outfile, HARDSEP); write_datarecord(MF_outfile, num_ints, int_data, num_reals, real_data); cfree(int_data); cfree(real_data); } xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/cgmdump0000755000175000017500000012055411413611016022512 0ustar amckinstryamckinstrybYÃ\(``8 @ @@@ þÿÿó30‘.text@@@@ 5@ .rdatap@.datapp0 pD@.sdata  P Q`.sbssðð0`.bss  `€¤<¥'‘œ'¦$€!0Âx…¯p†¯èÿ½'Ĩ¯üÿ¡!¨p‚Ëÿàÿ &D)2 Ðÿ& 16Ðÿ&p‚ <@P!XjRk•@$2l1€Äª¯üÿHð¨¯X$<tc$<…c$ð« `!`€ $ $16ô­¯œ¬¯ @$2ÿ<ÿÿç4$pE!xnCÈø$H'Éÿÿ”&øÿ@˜¢ €+2ª'#@T#¨@!@œ£¯ô£¯16+2 `ü¹ð¬€ü¹O$-2 ü¹$$ô¯¯œ®¯16²€˜'$ ¸¯ ü¹¯µ€‰' $ ©¯üª¯O$ëÿX$÷ÿo$çÿx$îÿüü¹@(2¡*$¡* $¥&$Ы'ä¬'¬¯«¯Ä¤'ì¦'è§'H  ¯! @Т$A@$¸€„'H  ! €¸€'Û!M$A$.2À<–”&< ”&H  ! €Ì!‚$ Aè¸<©„$H  ! €<©ï%Á!Oè¸!  *2¼€™' $ ¹¯ü©¯*2@,2¾€ˆ' $ ¨¯ü«¯,2€À€'$ ­¯ü®¯ƒ‚`0$¢£²'”&0$¯£²' 82D™ƒR&ÿÿY¢ ƒ‚ `ÿÿ„$C¢”&€R&ƒ‚øÿ`€䪘¤¯ô¤¯16䪩'©¯´'@ £ì¨ÿÿ%!`# A( ££ $Aÿÿc$X A(0l%øÿ l £¯£0M$ÿÿm ÿÿc$£¯®¯'+Ï ì¸!À0$¤'ÿÿB$+Dýÿ C ¢¯ì¸©ä¹ «©+$ÿÿ*%ª¯H¡«- $ÿÿl%¬¯¡$@p!Àî—)3 ¨E $ÿÿ %ª¯K¡­e$ÿÿ¬%¬¯¡®ô¹¸'#!H"ô©¯ø¢¯$€16@(2<¡*$<¡* <$!( <$ $Ъ'ä­'­¯ª¯«¯Ä¤'ì¦'H è§'! @Т$A@$€„'H  ! €Â€'!O$A$,2€<³”&<½”&H  ! €ô!‚$ Aè®<Æ„$H  ! €<Æ'é!Xè®%2À²'ì¹#H*9 ˆ‚0$Æ€‹' $ «¯üª¯-2 82È€' $ ¯¯ü¬¯82ì¤Ê€Ž'$ ®¯ü¹¯ì¤!0€0 $ƒ‚`Á( 0 $I¢R&B¢Æ$R&”&ÿÿ„$ìÿ€  <¡*DˆƒR&ÿÿH¢<¡* <$!  <$*• #¤˜¢¯16ô¢¯ÿÿ„$€ì«j%@쪯ƒ‚`Á( 0 $M¢R&B¢Æ$R&”&ÿÿ„$êÿì«€´'@/2à$ ¡*$¡* $!( $Ь'ä¸'¸¯¬¯Ä¤'ì¦'è§'H  ¯ä®! @À)2$칯)2 ! H  ! €*U !@@ìª!’ÿÿH€0$ ìªÿÿR&@ÿÿB$ÿÿK€0$úÿaìªýÿA) *ª ]þÿÿU&ì­2ÿ#¨M°£´'<²'į´'ì%$ÀžÄ¸¯üÿ²'3®£Ä¹)'$@>Ĩ¯üÿ€¿ÿ$Ì€”'$ˆ!@+2`H  ! €!!‚…‚‚&  ÿÿµ& E€B$ ÿÿµ&úÿ¡ÿÿR$ά'M%$x¾Ä¯¯üÿâ!€! €!ˆ@!¸´¸X¬xüÿÿs&ü¹ô¨#pT!HÙ!(*w!0` X®¯´«!Pc6´ª¯´­ ,2!x·€´¯¯82#pã16œ®¯œ¹!H7#@#œ¨¯#!0à+2!`ü¬$ àÄ à$ àÄ àÀÿ½'¿¯$@!`… ¡,!  $@+Eýÿ „$d„¯üÿ¢$+F !@`…¯$! üÿ$d„! `…¯!ÀC+ @@!ÈC!!ÈC+&øÿ „$ <€)%€@!( £Œ `(¤¯}  ¥¯¥(¤£Œ`!jŒï $ª¬k d b$¿0½'à!8€î$$Ðÿ½'0Ï+À¿¯`‚* ! ÂF! @À ÿÿ$Á€<A ( ¥¯! Â$ ¥¯¦¯Ð  0§¯ ¥¦0§ÿÿ$ A!@€À€ÌÿÿÿÿÿÿÿH €ìÿÿÿÿÿÿÿ05P€ìÿÿÿÿÿÿÿ0GYÐ4€üÿÿÿÿÿÿÿ]` €Üÿÿÿÿÿÿÿ@:¦€ôÿÿÿÿÿÿÿ(O~|¡ÿÿÿÿ¸Á9¸°ÿÀŒýÿÿÿÿÿÿÀßËB€´ÿÿÿÿÿÿÿ`9Rÿÿÿÿÿÿÿÿÿÿÿÿ€Ôÿÿÿÿÿÿÿ@ ÿÿÿÿÿÿÿÿ€äÿÿÿÿÿÿÿ02~„a€äÿÿÿÿÿÿÿ0†«3X –ÿÿÿÿ¯ÇW  ¨€Üÿÿÿÿÿÿÿ8Ú]D ÿÿÿÿ'3€ÿÿÿÿ&ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿFÔ 5ÿÿÿÿL|+ÿÿÿÿc›ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(ÿÿÿÿÿÿÿÿ]ßÿÿÿÿÿÿÿÿWÿÿÿÿ5KÀ p‚ðÿÿBñÿÿ@@F hH0"¨@F`"HP-°@F - Hp5À@Fà5HHK HK HK HK HK HK` Ð@FÐ Hì@Fð4H0HKP °Bóÿÿ @FÐÐH HKP ÀBóÿÿð@FÐXH HKP ÐBóÿÿP@FÐ$H HKp àBóÿÿ€@FÐÔH T @FðÀH@HK@ @FÐ àHHKP @FÐBóÿÿ ÀHHKp BóÿÿÀ @FÐÐH @Fð$H@HKP BóÿÿÀ@FÐTH HKÐ 0Bóÿÿ Âðÿÿ @NÐ|H0xÂðÿÿ*œ@Nð*<H`4Ø@F<D‚ðÿÿD\‚ðÿÿ4üH€HKPpBóÿÿà&@FаH HKP '@F ¨'@Eðÿÿ HHKP °'@F È'@Eðÿÿ HHKP Ð'@F è'@Eðÿÿ HHK@ ð'@FÐ <HHKP 0(@F H(@Eðÿÿ HHKP P(@F h(@Eðÿÿ HHK €Bóÿÿ€Âðÿÿð‚óÿÿ!ô‚óÿÿ,p(@FÐ,„HP3ô)@Fð3ÔHp<È*@F<HHA+@F0A¤H°I´,@NPIlHÐHK0 BóÿÿHKP  Bóÿÿ -@FÐH HKP @-@F X-@Eðÿÿ HHK@ `-@F HHKPp-@F ˆ-@Eðÿÿ HHK0 °BóÿÿHK0`‚ðÿÿHK€-@F Ü-@Eðÿÿ'ä-@Eðÿÿ4ü-@EðÿÿA.@EðÿÿN,.@Eðÿÿ[4.@EðÿÿhD.@EðÿÿuL.@Eðÿÿ‚\.@EðÿÿÔHd.@F`š¤.@Eðÿÿ§¬.@Eðÿÿ´Ä.@EðÿÿÁÌ.@EðÿÿÎì.@EðÿÿÛô.@Eðÿÿè/@Eðÿÿõ /@Eðÿÿ/@EðÿÿÀHÀHK HK HK 0/@F x/@Eðÿÿ!À/@Eðÿÿ(È/@Eðÿÿ/Ì/@Eðÿÿ6Ð/@Eðÿÿ ¨HHKð à/@F ð/@Eðÿÿ0@Eðÿÿ+H0@Eðÿÿ9´0@EðÿÿGÄ0@EðÿÿUð0@Eðÿÿc 1@Eðÿÿp1@Eðÿÿ}°1@EðÿÿŠÀ1@Eðÿÿ˜è1@Eðÿÿ¥ð1@Eðÿÿ²ô1@EðÿÿÀ2@EðÿÿÍ(2@EðÿÿÚD2@EðÿÿèP2@Eðÿÿöl2@Eðÿÿx2@Eðÿÿ„2@Eðÿÿ Œ2@Eðÿÿ.¨2@Eðÿÿ<Ì2@EðÿÿJð2@EðÿÿX3@Eðÿÿ 0Hf°Âóÿÿo¹ÂóÿÿHK@ 3@F HHKP 3@F 83@Eðÿÿ HHKP @3@F d3@Eðÿÿ ,HHKPp3@F ˆ3@Eðÿÿ HHK 3@F ´3@EðÿÿÔ3@Eðÿÿ(4@Eðÿÿ04@Eðÿÿ=h4@EðÿÿF|4@EðÿÿS˜4@Eðÿÿ_¼4@EðÿÿmÌ4@Eðÿÿzä4@Eðÿÿƒì4@Eðÿÿ5@Eðÿÿ xHHK@ 5@F HHKÐ 5@F `5@Eðÿÿ'œ5@Eðÿÿ5¨5@EðÿÿC 6@EðÿÿQH6@Eðÿÿ_L6@Eðÿÿ@Hm(Âóÿÿs°Âóÿÿ~ÂóÿÿHK@`6@F xHHÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿ  (, $h (, $h (, $h (, $h (, $h (, $h (, $hh (, $hhh (, $h (, $h  (, $hhÿÿÿÿÿÿÿÿÿÿÿÿ (, $hÿÿÿÿÿÿÿÿ (, $h    (, $h (, $hÿÿÿÿÿÿÿÿÿÿÿÿ (, $h (, $hÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿ./crt0.sssipktSTARTFRM__startmoncontrol_mcounteprol/usr/include/regdef.h/usr/include/asm.h/usr/include/syscall.h/usr/include/sys/sysinfo.h/usr/include/sys/exec.hcgmdump.cmaincommand_line_errorfprintf.csccsidfprintfprintf.csccsidprintffilbuf.csccsid_filbuffclose.csccsidfflushfclose../perror.cperror../exit.cexitoldsig_set../data.csccsid_fwalk_cleanup../flsbuf.csccsid_flsbuf../doprnt.csccsidbuffercvt_bufendtab_lowdigit_doprnt_blanks_zeroes../getstdiobuf.csccsid_getstdiobuf../read.sread9$0000000000../fstat.sfstat9$0000000000../write.swrite9$0000000000../isatty.cisatty../lseek.slseek9$0000000000../close.sclose9$0000000000../malloc.csccsidnextfpageszpagebucketmallocmorecorefreereallocfindbucket../errlst.csccsid../strlen.csccsidstrlen../writev.swritev9$0000000000../_exit.s_exit../sigsetmask.ssigsetmask9$0000000000../ctype.csccsid../_locale.csccsid../fp_class.sfp_class_d1$00000000002$00000000003$00000000004$00000000005$00000000006$00000000007$00000000008$00000000009$0000000000fp_class_f1$00000000012$00000000013$00000000014$00000000015$00000000016$00000000017$00000000018$00000000019$0000000001/sources/usr/include/fp_class.h/usr/include/mips/softfp.h../strcpy.sstrcpy1$0000000000$doch3$doch2$doch1$doch0../dtoa.s_dtoa1$00000000002$000000000015$000000000017$000000000018$000000000019$00000000003$00000000004$00000000005$000000000055$00000000006$00000000007$000000000075$00000000008$00000000009$000000000091$000000000010$000000000011$000000000040$000000000012$000000000013$000000000014$000000000020$000000000022$000000000023$0000000000infinitynan../cerror.s_cerror../ioctl.sioctl9$0000000000../sbrk.ssbrkerr../getpagesize.sgetpagesize9$0000000000../bcopy.sbcopy1$0000000000forwardsblkcopy1$0000000001wordcopy1$0000000002unaligncopypartaligncopy1$0000000003bytecopy1$0000000004copydone../abort.sabort../tenscale.s_tenscale10$000000000011$000000000012$000000000013$000000000020$000000000021$0000000000_pten_ptenround_ptenexp../dwmultu.s_dwmultu__environ__Argc__Argverrno__start_gpmainexitmoncontrol_mcounteprol_iobfprintfprintfcommand_line_error_filbuf_flsbuffflush_doprnt_getstdiobufreadfclosefstat_iob_start_iob_endwriteisattylseekclosefreesys_nerrsys_errlistperrorstrlenwritev_atexitlist_atexitp_cleanup_exitsigsetmask_fwalk_pctype_ctype___lc_radixfp_class_dstrcpy_dtoamalloc_cerrorioctlsbrkgetpagesizemorecorerealloc_srchlenreallocbcopyabort_pctype_siz_lc_cldflt_lc_prdflt_lc_tolower_lc_toupper_lc_thosep_lc_exl_lc_exu_lc_strtabfp_class_f_tenscaleend_minbrk_curbrk_dwmultu@@; !@@; #@@R #@@f#@@~#@@š#Ð@³# Ô$!K @Öô4!%l'ð@ð!(0&“ P@&>‰?'Ÿ:€@!+Çæ N(ÙR @@2­8 _)+ @T6å0 n*F&À @o";= }+lÀ@‘BR•Ž,|: @­LG ç{-¶à&@ù&Tb ,°.Å'@YŽ ¿/ذ'@<^– Ã3ÚÐ'@[cž Ç7Üð'@zh¦ Ë;Þ0(@Žlµ Ú<âP(@­q½ Þ@äp(@ÌTvÅ .âDæ -@ †ù E -@4‰ó Fs@-@O!Žú  Gw`-@p“ !Kyp-@‚)— "O|-@«œ! S-@¾Ÿ. T-@Ó¢ e#;U~Q-@â!ºZ#-@¼_#0/@=¾ s *%CdÏ*à/@\sÇ Ï&GgùÂ3@Ïæl 'Ki» 3@äêo (Om¾@3@ïw )SqÀ p3@+ô‚ *WuÉ3@B™ùŠ ^+[yË_5@Û è ,_|* 5@í‡  ì P-c.M`6@t< .g{  ! ! !"#$%&'()*+óÿÿ óÿÿóÿÿ  óÿÿ@@F0&‘Eñÿÿ*Ð@F / @F4¨@FP?°@FpGÀ@F M ðÿÿR @F Zð@F aì@F0 tP@F |À@F „€@F ‹Ø@F€“à&@F  '@F ¥T @F@¬°'@F ²Aóÿÿ ½óÿÿÆÐ'@FÌð'@FÓ0(@FÙP(@FßÈ*@FäœAóÿÿíPðÿÿ ù @F -@F @-@F Áðÿÿ Aóÿÿ #@F@,`-@F2p-@F =À @F D´AóÿÿLPðÿÿUÔAóÿÿ_-@F"j0/@F#qà/@Fwp(@FP$~3@F%† 3@F&Œ@3@F'‘p3@Fô)@Fp¦„Aóÿÿ¶+@F°(¾3@F)Ä5@FʸAóÿÿÖÀAóÿÿáÄAóÿÿìÈAóÿÿøÌAóÿÿÐAóÿÿØAóÿÿÜAóÿÿ„ðÿÿ*d.@FÀ*5 5@F&?€Åðÿÿ&CàAóÿÿ&KäAóÿÿ+S`6@Fxgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/Makefile0000644000175000017500000000470711413611016022571 0ustar amckinstryamckinstry# # Makefile for Metafile Translation program 'gksmc' and character # encoding dump program 'cgmdump' # # 24th April 1988 # PROJDIR=.. INCDIR= $(PROJDIR)/include # IFLAGS= -I. -I$(INCDIR) # LIBFLAGS= -lm # CFLAGS= -O $(IFLAGS) CFLAGS= -g $(IFLAGS) # OBJS= main.o defaults.o cgm.o translate.o AEutils.o CGMutils.o \ tables.o annexe_5.o annexe_7.o annexe_8.o annexe_10.o SABER_SRCS= main.c defaults.c cgm.c translate.c AEutils.c CGMutils.c \ tables.c annexe_5.c annexe_7.c annexe_8.c annexe_10.c all: gksm2cgm cgmdump gksm2cgm: $(OBJS) $(CC) $(CFLAGS) $(OBJS) -o gksm2cgm $(LIBFLAGS) cgmdump: cgmdump.c $(CC) $(CFLAGS) -o cgmdump cgmdump.c .c.o: $(CC) $(CFLAGS) -c $*.c clean: /bin/rm -f gksm2cgm cgmdump $(OBJS) saber: $(SABER_SRCS) #setopt ansi #setopt ccargs $(CFLAGS) #setopt load_flags $(CFLAGS) #unload all #load -C $(CFLAGS) $(SABER_SRCS) $(LIBFLAGS) /usr/5lib/libc.a # include file dependencies for "main.c" main.o: main.c main.o: $(INCDIR)/defns.h main.o: $(INCDIR)/tables.h # include file dependencies for "defaults.c" defaults.o: defaults.c defaults.o: $(INCDIR)/defns.h defaults.o: $(INCDIR)/tables.h # include file dependencies for "cgm.c" cgm.o: cgm.c cgm.o: $(INCDIR)/annexe.h cgm.o: $(INCDIR)/tables.h cgm.o: $(INCDIR)/defns.h # include file dependencies for "translate.c" translate.o: translate.c translate.o: $(INCDIR)/defns.h translate.o: $(INCDIR)/cgm.h translate.o: $(INCDIR)/tables.h translate.o: $(INCDIR)/annexe.h # include file dependencies for "AEutils.c" AEutils.o: AEutils.c AEutils.o: $(INCDIR)/defns.h # include file dependencies for "CGMutils.c" CGMutils.o: CGMutils.c CGMutils.o: $(INCDIR)/defns.h CGMutils.o: $(INCDIR)/tables.h # include file dependencies for "tables.c" tables.o: tables.c tables.o: $(INCDIR)/annexe.h tables.o: $(INCDIR)/defns.h # include file dependencies for "annexe_5.c" annexe_5.o: annexe_5.c annexe_5.o: $(INCDIR)/annexe.h annexe_5.o: $(INCDIR)/cgm.h annexe_5.o: $(INCDIR)/defns.h annexe_5.o: $(INCDIR)/tables.h # include file dependencies for "annexe_7.c" annexe_7.o: annexe_7.c annexe_7.o: $(INCDIR)/annexe.h annexe_7.o: $(INCDIR)/defns.h annexe_7.o: $(INCDIR)/tables.h # include file dependencies for "annexe_8.c" annexe_8.o: annexe_8.c annexe_8.o: $(INCDIR)/annexe.h annexe_8.o: $(INCDIR)/defns.h annexe_8.o: $(INCDIR)/tables.h # include file dependencies for "annexe_10.c" annexe_10.o: annexe_10.c annexe_10.o: $(INCDIR)/annexe.h annexe_10.o: $(INCDIR)/defns.h annexe_10.o: $(INCDIR)/tables.h xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/translate.c0000644000175000017500000001114311413611016023262 0ustar amckinstryamckinstry/* *---------------------------------------------------------------------- * * PROGRAM : gksmc * * FILE : translate.c * * CONTENTS : Main iterative loop of translation process, item header * is read in and appropriate translation routine is called. * * GLOBALS USED : MF_infile, MF_outfile, GKSM_string, GKSM_bytes, * item_field_width, data_length_field_width, * * DATE : 24th April 1988 * *--------------------------------------------------------------------- */ #include #include "annexe.h" #include "defns.h" #include "tables.h" extern char GKSM_string[5]; extern int GKSM_bytes; extern int item_field_width; extern int data_length_field_width; extern FILE *MF_infile, *MF_outfile; int item_no; /* *------------------------------------------------------------------------- * create_cgm: * Handles translation of main body of the Annex E metafile. GKSM * chars are read, item number and data size, then translate_item called * to select the correct translation procedure. *------------------------------------------------------------------------- */ create_cgm() { int record_length; do { read_GKSM_chars(MF_infile, GKSM_bytes); read_string_int(MF_infile, &item_no, item_field_width); read_string_int(MF_infile, &record_length, data_length_field_width); translate_item(); write_separator(MF_outfile, TERMINATOR); } while (item_no != 0); } /* *------------------------------------------------------------------------- * read_GKSM_chars: * Reads the expected number of characters at the start of each * metafile item and compares it with the string expected. *------------------------------------------------------------------------- */ read_GKSM_chars(infile, count) FILE *infile; int count; /* How many chars of 'GKSM' expected : 0 - 4 */ { char str[5]; read_string(infile, str, count); if (strcmp(GKSM_string, str)) write_error(20); } /* *------------------------------------------------------------------------- * translate_item: * Takes the Annex E metafile item number and calls the corresponding * routine to read in the paramters and write the CGM equivalent. *------------------------------------------------------------------------- */ translate_item() { switch (item_no) { case END_ITEM: AEend_item(); break; case CLEAR_WKS: AEclear_wks(); break; case REDRAW_SEGS: AEredraw_segs(); break; case UPDATE_WKS: AEset_enum_param(E_UPDATE); break; case DEF_STATE: AEdef_state(); break; case MESSAGE: AEmessage(); break; case ESCAPE: AEescape(); break; case POLYLINE: case POLYMARKER: case FILL_AREA: AEpolypoint(); break; case TEXT: AEtext(); break; case CELL_ARRAY: AEcell_array(); break; case GDP: AEgdp(); break; case LINE_INDEX: case MARKER_INDEX: case FILL_INDEX: case TEXT_INDEX: AEset_int_param(POSITIVE); break; case LINE_COLOUR: case MARKER_COLOUR: case FILL_COLOUR: case TEXT_COLOUR: AEset_int_param(NON_NEGATIVE); break; case LINE_TYPE: case MARKER_TYPE: case PICK_ID: case CREATE_SEG: case DELETE_SEG: AEset_int_param(ANY); break; case FILL_STYLE_IND: AEfill_style_ind(); break; case LINE_WIDTH: case MARKER_SIZE: AEset_real_param(NON_NEGATIVE); break; case CHAR_EXP: case CHAR_SPACING: AEset_real_param(ANY); break; case TEXT_FONT_PREC: AEtext_font_prec(); break; case CHAR_VECTORS: AEchar_vectors(); break; case TEXT_PATH: AEset_enum_param(E_TEXTPATH); break; case TEXT_ALIGN: AEtext_align(); break; case FILL_INT_STYLE: AEset_enum_param(E_INTERIOR); break; case PATT_VECTORS: AEpatt_vectors(); break; case PATT_REF_POINT: AEpatt_ref_point(); break; case ASF: AEasf(); break; case POLYLINE_REP: AEpolyline_rep(); break; case MARKER_REP: AEmarker_rep(); break; case TEXT_REP: AEtext_rep(); break; case FILL_AREA_REP: AEfill_area_rep(); break; case PATT_REP: AEpatt_rep(); break; case COLOUR_REP: AEcolour_rep(); break; case CLIP_RECT: AEclip_rect(); break; case WKS_WINDOW: AEwks_window(); break; case WKS_VIEWPORT: AEwks_viewport(); break; case CLOSE_SEG: AEclose_seg(); break; case RENAME_SEG: AErename_seg(); break; case SET_SEG_TRANS: AEset_seg_trans(); break; case SET_VISIBILITY: AEset_seg_attribute(E_SEGVIS); break; case SET_HIGHLIGHT: AEset_seg_attribute(E_SEGHL); break; case SET_SEG_PRI: AEset_seg_pri(); break; case SET_DETECT: AEset_seg_attribute(E_SEGDET); break; default: write_error(21); } } xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/cgm.c0000644000175000017500000003656711413611016022054 0ustar amckinstryamckinstry/* *---------------------------------------------------------------------- * * PROGRAM : gksmc * * FILE : cgm.c * * CONTENTS : Routines to write CGM items which have no direct * Annex E equivalent. * * GLOBALS USED : mf_name, mf_version, mf_descr, mf_category, vdc_type, * MinInt, MaxInt, MaxIntBits, MinReal, MaxReal, * SigPlaces, MinRealCode, MaxRealCode, DefaultExponent, * max_colr, picture_name, VDC_lower, VDC_upper. * * DATE : 24th April 1988 * *---------------------------------------------------------------------- */ #include #include "cgm.h" #include "defns.h" #include "tables.h" #include "annexe.h" extern FILE *MF_infile, *MF_outfile; /* *------------------------------------------------------------------------- * CGMbegin_metafile: * Writes the BEGIN METAFILE element used to mark the start of a CGM. * The clear text version has a 'name' string parameter, the character * encoding item has the substitution string followed by the name. The * substitution string gives the two character sequences to be substituted * for certain control characters. *------------------------------------------------------------------------- */ CGMbegin_metafile() { write_item_name(MF_outfile, CGM_TABLE, BEGMF); if (Encoding == CLEAR_TEXT) { write_separator(MF_outfile, OPTSEP); write_CGM_string(MF_outfile, mf_name, DEFAULT); write_separator(MF_outfile, TERMINATOR); } else { write_CGM_string(MF_outfile, "", NO_SOS); /* Substitution string */ write_CGM_string(MF_outfile, mf_name, DEFAULT); } } /* *------------------------------------------------------------------------- * CGMmetafile_version: * Writes the METAFILE VERSION item. The version number is held in the * global mf_version, set in tables.c. *------------------------------------------------------------------------- */ CGMmetafile_version() { write_item_name(MF_outfile, CGM_TABLE, MFVERSION); write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, mf_version); write_separator(MF_outfile, TERMINATOR); } /* *------------------------------------------------------------------------- * CGMmetafile_description: * Writes the METAFILE DESCRIPTION item which has a string parameter, * defined in tables.c. The string can be redefined in the defaults file. *------------------------------------------------------------------------- */ CGMmetafile_description() { write_item_name(MF_outfile, CGM_TABLE, MFDESC); write_separator(MF_outfile, OPTSEP); write_CGM_string(MF_outfile, mf_descr, DEFAULT); write_separator(MF_outfile, TERMINATOR); } /* *------------------------------------------------------------------------- * CGMmetafile_category: * Writes the METAFILE CATEGORY item. Current legal categories are * CGM : Metafile conforms to ISO 8632, first CGM standard. * GKSM : Metafile can be used as a GKS metafile. * CGMEXT1 : Metafile conforms to the functional spec in Addendum 1. * This program produces a metafile of category CGMEXT1. *------------------------------------------------------------------------- */ CGMmetafile_category() { write_item_name(MF_outfile, CGM_TABLE, MFCATEGORY); write_separator(MF_outfile, SOFTSEP); write_enum_value(MF_outfile, E_MFCAT, mf_category); write_separator(MF_outfile, TERMINATOR); } /* *------------------------------------------------------------------------- * CGMmetafile_element_list: * Writes the METAFILE ELEMENT LIST item, which lists the items * occuring in the metafile in a string parameter. The words DRAWINGSET * and DRAWINGPLUS may be used, as described in ISO 8632. *------------------------------------------------------------------------- */ CGMmetafile_element_list() { write_item_name(MF_outfile, CGM_TABLE, MFELEMLIST); write_separator(MF_outfile, OPTSEP); if (Encoding == CLEAR_TEXT) fprintf(MF_outfile, "\""); else fprintf(MF_outfile, "%s", SOS); write_enum_value(MF_outfile, E_ELEMGROUP, DRAWINGPLUS); if (Encoding == CLEAR_TEXT) fprintf(MF_outfile, "\""); else fprintf(MF_outfile, "%s", ST); write_separator(MF_outfile, TERMINATOR); } /* *------------------------------------------------------------------------- * CGMchar_coding_announcer: * Writes the CHARACTER CODING ANNOUNCER item, which informs the * metafile interpreter of the code extension capabilities assumed by the * metafile generator. *------------------------------------------------------------------------- */ CGMchar_coding_announcer() { write_item_name(MF_outfile, CGM_TABLE, CHARCODING); write_separator(MF_outfile, SOFTSEP); write_enum_value(MF_outfile, E_CHARCODING, EXTD7BIT); write_separator(MF_outfile, TERMINATOR); } /* *------------------------------------------------------------------------- * CGMvdc_type: * Writes the VDC TYPE item, which specifies whether VDC values are * to be given as reals or integers. *------------------------------------------------------------------------- */ CGMvdc_type() { write_item_name(MF_outfile, CGM_TABLE, VDCTYPE); write_separator(MF_outfile, SOFTSEP); write_enum_value(MF_outfile, E_VDCTYPE, vdc_type); write_separator(MF_outfile, TERMINATOR); } /* *------------------------------------------------------------------------- * CGMinteger_precision: * Writes the INTEGER PRECISION item, giving the range of integers * permissible in the metafile. *------------------------------------------------------------------------- */ CGMinteger_precision() { write_item_name(MF_outfile, CGM_TABLE, INTEGERPREC); if (Encoding == CLEAR_TEXT) { write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, MinInt); write_separator(MF_outfile, SEP); write_int(MF_outfile, MaxInt); write_separator(MF_outfile, TERMINATOR); } else write_int(MF_outfile, MaxIntBits + 1); } /* *------------------------------------------------------------------------- * CGMreal_precision: * Writes the REAL PRECISION item, which specifies the range of reals * permissible in the metafile, and the number of decimal places used. *------------------------------------------------------------------------- */ CGMreal_precision() { write_item_name(MF_outfile, CGM_TABLE, REALPREC); if (Encoding == CLEAR_TEXT) { write_separator(MF_outfile, SOFTSEP); write_real(MF_outfile, MinReal); write_separator(MF_outfile, SEP); write_real(MF_outfile, MaxReal); write_separator(MF_outfile, SEP); write_int(MF_outfile, SigPlaces); write_separator(MF_outfile, TERMINATOR); } else { write_int(MF_outfile, MaxRealCode + 1); write_int(MF_outfile, MinRealCode); write_int(MF_outfile, DefaultExponent); write_int(MF_outfile, ALLOWED); } } /* *------------------------------------------------------------------------- * CGMvdc_integer_precision: * Writes the VDC INTEGER PRECISION item, which gives the range of * integers used for VDC values if VDC type = integer. The range given is * the same as that for INTEGER PRECISION. *------------------------------------------------------------------------- */ CGMvdc_integer_precision() { write_item_name(MF_outfile, CGM_TABLE, VDCINTEGERPREC); if (Encoding == CLEAR_TEXT) { write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, MinInt); write_separator(MF_outfile, SEP); write_int(MF_outfile, MaxInt); write_separator(MF_outfile, TERMINATOR); } else write_int(MF_outfile, MaxIntBits + 1); } /* *------------------------------------------------------------------------- * CGMvdc_real_precision: * Writes the VDC REAL PRECISION item, specifying the range of reals * used for VDC values if VDC type = real. The range given is the same as * that for REAL PRECISION. *------------------------------------------------------------------------- */ CGMvdc_real_precision() { write_item_name(MF_outfile, CGM_TABLE, VDCREALPREC); if (Encoding == CLEAR_TEXT) { write_separator(MF_outfile, SOFTSEP); write_real(MF_outfile, MinReal); write_separator(MF_outfile, SEP); write_real(MF_outfile, MaxReal); write_separator(MF_outfile, SEP); write_int(MF_outfile, SigPlaces); write_separator(MF_outfile, TERMINATOR); } else { write_int(MF_outfile, MaxRealCode + 1); write_int(MF_outfile, MinRealCode); write_int(MF_outfile, DefaultExponent); write_int(MF_outfile, ALLOWED); } } /* *------------------------------------------------------------------------- * CGMindex_precision: * Writes the INDEX PRECISION item, which defines the range of * integers that can be used to specify an index value, such as a colour * index. The range used tis the same as for INTEGER PRECISION. *------------------------------------------------------------------------- */ CGMindex_precision() { write_item_name(MF_outfile, CGM_TABLE, INDEXPREC); if (Encoding == CLEAR_TEXT) { write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, MinInt); write_separator(MF_outfile, SEP); write_int(MF_outfile, MaxInt); write_separator(MF_outfile, TERMINATOR); } else write_int(MF_outfile, MaxIntBits + 1); } /* *------------------------------------------------------------------------- * CGMcolour_precision: * Writes the COLOUR PRECSION item, which gives the maximum integer * that can be used as a red, green or blue intensity. *------------------------------------------------------------------------- */ CGMcolour_precision() { write_item_name(MF_outfile, CGM_TABLE, COLRPREC); if (Encoding == CLEAR_TEXT) { write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, colr_prec); write_separator(MF_outfile, TERMINATOR); } else write_int(MF_outfile, NumColrBits); } /* *------------------------------------------------------------------------- * CGMsegment_priority_extent: * Writes the SEGMENT PRIORITY EXTENT item, which defines the range of * integers that can be used to specify segment priorities. The range used * is the positive half of that used for INTEGER PRECISION, ie 0..MaxInt. *------------------------------------------------------------------------- */ CGMsegment_priority_extent() { write_item_name(MF_outfile, CGM_TABLE, SEGPRIEXT); write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, 0); write_separator(MF_outfile, SEP); write_int(MF_outfile, MaxInt); write_separator(MF_outfile, TERMINATOR); } /* *------------------------------------------------------------------------- * CGMmax_colour_index: * Writes the MAXIMUM COLOUR INDEX item, which specifies the range of * colours available. The default is 127, declared in tables.c, but can * be redefined in the defaults file. *------------------------------------------------------------------------- */ CGMmax_colour_index() { write_item_name(MF_outfile, CGM_TABLE, MAXCOLRINDEX); write_separator(MF_outfile, SOFTSEP); write_int(MF_outfile, max_colr); write_separator(MF_outfile, TERMINATOR); } /* *------------------------------------------------------------------------- * CGMbegin_picture: * Writes the BEGIN PICTURE followed by the Picture Name string, * declared in tables.c. The string can be redefined in the defaults file. *------------------------------------------------------------------------- */ CGMbegin_picture() { write_item_name(MF_outfile, CGM_TABLE, BEGPIC); write_separator(MF_outfile, OPTSEP); write_CGM_string(MF_outfile, picture_name, DEFAULT); write_separator(MF_outfile, TERMINATOR); } /* *------------------------------------------------------------------------- * CGMscaling_mode: * Writes the SCALING MODE item, which defines the meaning associated * with the VDC. If ABSTRACT, VDC is dimensionless. If METRIC, VDC has * implied size, the metric scale factor parameter represents the distance * (in mm) on the displayed picture of 1 VDC unit. *------------------------------------------------------------------------- */ CGMscaling_mode() { write_item_name(MF_outfile, CGM_TABLE, SCALEMODE); write_separator(MF_outfile, SOFTSEP); write_enum_value(MF_outfile, E_SCALESPEC, ABSTRACT); write_separator(MF_outfile, SEP); write_real(MF_outfile, 1.0); write_separator(MF_outfile, TERMINATOR); } /* *------------------------------------------------------------------------- * CGMcolour_selection_mode: * Writes the COLOUR SELECTION MODE item, which can either be INDEXED * or DIRECT. INDEXED is always selected, since this is the method used * in Annex E. *------------------------------------------------------------------------- */ CGMcolour_selection_mode() { write_item_name(MF_outfile, CGM_TABLE, COLRMODE); write_separator(MF_outfile, SOFTSEP); write_enum_value(MF_outfile, E_COLRSEL, INDEXED); write_separator(MF_outfile, TERMINATOR); } /* *------------------------------------------------------------------------- * CGMline_width_spec_mode: * Writes the LINE WIDTH SPECIFICATION MODE item. The parameter is * always set to SCALED, following Annex E. *------------------------------------------------------------------------- */ CGMline_width_spec_mode() { write_item_name(MF_outfile, CGM_TABLE, LINEWIDTHMODE); write_separator(MF_outfile, SOFTSEP); write_enum_value(MF_outfile, E_SPEC, SCALED); write_separator(MF_outfile, TERMINATOR); } /* *------------------------------------------------------------------------- * CGMmarker_size_spec_mode: * Writes the MARKER SIZE SPECIFICATION MODE item, which is always * set to SCALED. *------------------------------------------------------------------------- */ CGMmarker_size_spec_mode() { write_item_name(MF_outfile, CGM_TABLE, MARKERSIZEMODE); write_separator(MF_outfile, SOFTSEP); write_enum_value(MF_outfile, E_SPEC, SCALED); write_separator(MF_outfile, TERMINATOR); } /* *------------------------------------------------------------------------- * CGMvdc_extent: * Writes the CGM EXTENT item, which defines the range of VDC values * used for a picture. *------------------------------------------------------------------------- */ CGMvdc_extent() { write_item_name(MF_outfile, CGM_TABLE, VDCEXT); write_separator(MF_outfile, SOFTSEP); write_point(MF_outfile, VDC_lower); write_separator(MF_outfile, SEP); write_point(MF_outfile, VDC_upper); write_separator(MF_outfile, TERMINATOR); } /* *------------------------------------------------------------------------- * CGMbegin_picture_body: * Writes the BEGIN PICTURE BODY item, which markes the end of the * Picture Descriptor section of a picture. *------------------------------------------------------------------------- */ CGMbegin_picture_body() { write_item_name(MF_outfile, CGM_TABLE, BEGPICBODY); write_separator(MF_outfile, TERMINATOR); } /* *------------------------------------------------------------------------- * CGMprep_surface: * Writes the PREPARE VIEW SURFACE item, which empties the buffer, * then clears the screen. The operation for Hardcopy devices is controlled * by the parameter. *------------------------------------------------------------------------- */ CGMprep_surface(flag) int flag; { write_item_name(MF_outfile, CGM_TABLE, PREPAREVIEWSURFACE); write_separator(MF_outfile, SOFTSEP); write_enum_value(MF_outfile, E_PREPVS, flag); write_separator(MF_outfile, TERMINATOR); } /* *------------------------------------------------------------------------- * CGMclip_rectangle: * Writes the CLIP RECTANGLE item which defines the boundary at which * clipping should be performed. *------------------------------------------------------------------------- */ CGMclip_rectangle(lower, upper) Point lower, upper; { write_item_name(MF_outfile, OP_TABLE, CLIP_RECT); write_separator(MF_outfile, SOFTSEP); write_point(MF_outfile, lower); write_separator(MF_outfile, SEP); write_point(MF_outfile, upper); } xgks-2.6.1+dfsg.2/src/progs/gksm2cgm/src/defaults.c0000644000175000017500000002461011413611016023077 0ustar amckinstryamckinstry/* *---------------------------------------------------------------------- * * PROGRAM : gksmc * * FILE : defaults.c * * CONTENTS : Routines to read in and interpret the specified defaults * file. This is used to tailor the output CGM, and supply * additional information, to improve the quality of * translation. * * GLOBALS USED : SepStrings, picture_name, mf_name, mf_descr, max_colr * : colr_prec, DevSpM, DevScale, PointListForm, Encoding. * * DATE : 24th April 1988 * *---------------------------------------------------------------------- */ #include #include "defns.h" #include "tables.h" /* Number of default file commands */ #define NUM_DEFAULTS 16 extern char *SepStrings[]; /* Count variables, used to record the types of character in a string */ int sc_cnt, others_cnt, comma_cnt, slash_cnt, semic_cnt; /* Holds command names - can be given in file in upper or lower case */ char *DftTable[NUM_DEFAULTS] = { "softsep", "optsep", "hardsep", "sep", "term", "picname", "mfname", "mfdescr", "case", "maxcolr", "colrprec", "devspec", "devscale", "pointlist", "encoding", "#"}; /* *------------------------------------------------------------------------- * read_defaults: * This is called if the command line contains a -d flag followed by * a filename. The file contains various 'commands' to change defaults * used for certain of the global variables and other features of the * output metafile, letting the user tailor the output metafile. * The allowed commands are given above in table DftTable. The formats of * the commands are : * + SOFTSEP - separator string * + OPTSEP - separator string * + HARDSEP - separator string * + SEP - separator string * + TERM - separator string * PICNAME - picture name string * MFNAME - metafile name string * MFDESCR - metafile descriptor string * + CASE - write CGM metafile in upper or lower case. * ::= LOWER | UPPER * MAXCOLR - maximum colour index * COLRPREC - specify colour precision * DEVSPEC - Device Viewport Specification mode * ::= FRACTION | MM | PHYDEVICEUNITS * DEVSCALE - the scaling factor if MM chosen for above * + POINTLIST - format for point lists in clear text * ::= INCREMENTAL | ABSOLUTE * Line, Marker and Polygon items. * ENCODING - Encoding format for CGM metafile. * ::= CLEARTEXT | CHARACTER * # - comment * Those commands above preceded by a '+' only apply to the clear text * encoding. * ::= a sequence of chars enclosed in single or double quotes. * A string enclosed in single quotes can contain double quotes and vice * versa. See read_quoted. *------------------------------------------------------------------------- */ read_defaults(df_name) char *df_name; { FILE *dfile, *fopen(); int stat, int_param, dft_id, ch, i, param_len; char dft_str[20], param_str[40]; double real_param; if ((dfile = fopen(df_name, "r")) == NULL) write_error(3); while ((stat = fscanf(dfile, "%20s", dft_str)) != 0 && stat != EOF) { dft_id = 0; conv_string_to_lcase(dft_str); for (i = 0; i < NUM_DEFAULTS; i++) dft_id = (!strcmp(dft_str, DftTable[i])) ? i + 1 : dft_id; switch (dft_id) { case 0: write_error(4); break; case 1: set_cgm_string(dfile, &SepStrings[SOFTSEP], 5, 1, 1, 0, 0, 0); break; case 2: set_cgm_string(dfile, &SepStrings[OPTSEP], 6, 0, 1, 0, 0, 0); break; case 3: set_cgm_string(dfile, &SepStrings[HARDSEP], 7, 0, 0, 0, 1, 0); break; case 4: set_cgm_string(dfile, &SepStrings[SEP], 8, 0, 0, 1, 1, 0); break; case 5: set_cgm_string(dfile, &SepStrings[TERMINATOR], 9, 0, 0, 1, 0, 1); break; case 6: set_cgm_string(dfile, &picture_name, 13, 0, 0, 0, 0, 0); break; case 7: set_cgm_string(dfile, &mf_name, 13, 0, 0, 0, 0, 0); break; case 8: set_cgm_string(dfile, &mf_descr, 13, 0, 0, 0, 0, 0); break; case 9: read_unquoted(dfile, param_str); if (!strcmp(param_str, "lower")) lower_tables(); else if (strcmp(param_str, "upper")) write_error(10); break; case 10: if (fscanf(dfile, "%d", &int_param) != 1 || int_param < 1) write_error(11); else max_colr = int_param; break; case 11: if (fscanf(dfile, "%d", &int_param) != 1 || int_param < 1) write_error(12); else colr_prec = int_param; break; case 12: read_unquoted(dfile, param_str); if (!strcmp(param_str, "fraction")) DevSpM = FRACTION; else if (!strcmp(param_str, "mm")) DevSpM = MM; else if (!strcmp(param_str, "phydeviceunits")) DevSpM = PHYDEVICEUNITS; else write_error(15); break; case 13: if ((fscanf(dfile, "%f", &real_param)) != 1) write_error(16); else DevScale = int_param; break; case 14: read_unquoted(dfile, param_str); if (!strcmp(param_str, "incremental")) PointListForm = LIST_INCR; else if (!strcmp(param_str, "absolute")) PointListForm = LIST_ABSOLUTE; else write_error(17); break; case 15: read_unquoted(dfile, param_str); if (!strcmp(param_str, "cleartext")) Encoding = CLEAR_TEXT; else if (!strcmp(param_str, "character")) Encoding = CHARACTER; else write_error(18); break; case 16: break; default: write_error(13); } if (dft_id != 9 && dft_id != 12) read_to_eoln(dfile); } fclose(dfile); } /* *------------------------------------------------------------------------- * read_unquoted: * Reads off any leading non letter characters then reads in a * sequence of upper and lower case letters, delimited by any non letter * character. The string is placed in the second parameter, having been * converted to lower case. *------------------------------------------------------------------------- */ read_unquoted(infile, string) FILE *infile; char *string; { int ch, i; while ((ch = getc(infile)) != EOF && !is_letter(ch)) ; string[0] = ch; i = 1; while ((ch = getc(infile)) != EOF && is_letter(ch) && i < 39) string[i++] = ch; string[i] = '\0'; if (ch != '\n') read_to_eoln(infile); conv_string_to_lcase(string); } /* *------------------------------------------------------------------------- * set_cgm_string: * Reads in a quoted string, takes a pointer to the global string to * be changed and checks the read string according to the remaining * parameters to see if it is a legal string for the string variable * being set, and copies it in if everything is ok. * Parameters :- * err_no : error number if illegal string read in. * sc_flg : set <> 0 if at least one sepchar required. * ot_flg : set <> 0 if only sepchars allowed, ie no OThers. * ot_val : set = number of number of non sepchars expected. * comma_flg : set <> 0 if ONE comma expected in string. * term_flg : set <> 0 if terminator char (/ or ;) expected. *------------------------------------------------------------------------- */ set_cgm_string(infile, str_ptr, err_no, sc_flg, ot_flg, ot_val, comma_flg, term_flg) FILE *infile; char **str_ptr; int err_no, sc_flg, ot_flg, ot_val, comma_flg, term_flg; { char param_str[40]; int param_len; read_quoted(infile, param_str); param_len = strlen(param_str) + 1; if (sc_flg && !sc_cnt) write_error(err_no); if ((ot_flg && others_cnt) || (ot_val && others_cnt != ot_val)) write_error(err_no); if (comma_flg && comma_cnt != 1 && others_cnt != 1) write_error(err_no); if (term_flg && (slash_cnt + semic_cnt) != 1) write_error(err_no); cfree(*str_ptr); *str_ptr = (char *) calloc(param_len, sizeof(char)); strcpy(*str_ptr, param_str); } /* *------------------------------------------------------------------------- * read_quoted: * Reads in a quoted string, which can be delimited with single or * double quotes (' or "). The delimiting character cannot appear within * the string. * Extra escape sequences have been defined for the separator characters, * the full set is : * \n : Newline \t : Tab \l : linefeed * \h : Horizontal Tab \v : Vertical Tab \f : Formfeed *------------------------------------------------------------------------- */ read_quoted(infile, string) FILE *infile; char string[40]; { int ch, i, delim; sc_cnt = others_cnt = comma_cnt = slash_cnt = semic_cnt = 0; while ((ch = getc(infile)) != EOF && ch != '"' && ch != '\'' && ch != '\n') ; if (ch == '\n') write_error(13); delim = ch; i = 0; while ((ch = getc(infile)) != EOF && ch != delim && ch != '\n' && i < 39) { if (ch == '\\') { ch = getc(infile); switch (ch) { case 'n': ch = '\n'; /* NEWLINE */ break; case 't': ch = '\t'; /* HORIZONTAL TAB */ break; case 'l': ch = '\012'; /* LINEFEED */ break; case 'v': ch = '\013'; /* VERTICAL TAB */ break; case 'f': ch = '\014'; /* FORMFEED */ break; default: write_error(13); } } string[i++] = ch; if (ch == ' ' || ch == '\n' || ch == '\t' || (ch >= 9 && ch <= 12)) sc_cnt++; else { others_cnt++; if (ch == ',') comma_cnt++; else if (ch == '/') slash_cnt++; else if (ch == ';') semic_cnt++; } } if (ch == '\n') write_error(13); string[i] = '\0'; } /* *------------------------------------------------------------------------- * is_letter: * Returns 1 if its argument is an upper or lower case letter, 0 * returned otherwise. *------------------------------------------------------------------------- */ is_letter(letter) int letter; { if ((letter >= 'A' && letter <= 'Z') || (letter >= 'a' && letter <= 'z')) return (1); else return (0); } /* *------------------------------------------------------------------------- * read_to_eoln: * Reads to the end of the current line, ready for next command to be * read. *------------------------------------------------------------------------- */ read_to_eoln(infile) FILE *infile; { int ch; while ((ch = getc(infile)) != '\n' && ch != EOF) ; } xgks-2.6.1+dfsg.2/src/progs/gksdemo.f0000644000175000017500000050232311413611016020425 0ustar amckinstryamckinstryC*********************************************************************** C*********************************************************************** C* Copyright IBM Corporation 1989 C* C* All Rights Reserved C* C* Permission to use, copy, modify, and distribute this software and its C* documentation for any purpose and without fee is hereby granted, C* provided that the above copyright notice appear in all copies and that C* both that copyright notice and this permission notice appear in C* supporting documentation, and that the name of IBM not be C* used in advertising or publicity pertaining to distribution of the C* software without specific, written prior permission. C* C* IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING C* ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL C* IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR C* ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, C* WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, C* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS C* SOFTWARE. C* C* $Id: gksdemo.f,v 2.5.4.1 1993/03/10 19:43:09 steve Exp $ C* C***** C***** Product: graPHIGS GKS-CO Demonstration Program C***** C***** Module Name: gksdemo.f C***** C***** Module Type: FORTRAN C***** C***** Descriptive Name: GKS Demonstration Program C***** C***** Module Function: Demonstration package written to C***** show the programming techniques of C***** writing graphics applications using C***** the device independent graphics GKS C***** standard, via the graPHIGS GKS-CO C***** implementation of that standard. C***** C***** C***** C***** Internal Flow: GKSDEMO C***** ___________________| | | |____________________ C***** | _______| |_______ | C***** | | | | C***** | | | | C***** MAPDEM PRIMIT COLOR INTER C***** ________||||||________ ||||_____ C***** | |||| | / || | C***** DEMOPM _____||||_____ DEMOGD / || INTDEL C***** | || | / ||____ C***** DEMOPL ___||___ DEMOCA / | | C***** _| | | / | INTTRA C***** | DEMOTX DEMOFA INTCRE |___ C***** DRWHLS ________________|||| | C***** ..................... | __________||| INTINS C***** .Common Subroutines . | | ___||____ C***** . Used by Many: . | | | | C***** ..................... CREPLN CREPMK CREFA CRETXT C***** . CRSEGM FINSHF . \ \ / / C***** . RCHOI RMENU . \________\ /_______/ C***** . SETCOL SETUPF . CHCOL C***** ..................... C***** C***** C***** C***** Entry Point: GKSDEM C***** C***** Subroutines: CHCOL - Allows User to choose a color C***** COLOR - Demonstrates the Color Facilities C***** CREFA - Create Fill Area in Segment C***** CREPLN - Create Polyline in Segment C***** CREPMK - Create Polymarker in Segment C***** CRSEGM - Create Pickable Segment for RETURN C***** CRETXT - Create Text in Segment C***** DEMOCA - Demonstrates cell arrays C***** DEMOFA - Demonstrates fill areas C***** DEMOGD - Demonstrates GDPs Available C***** DEMOPL - Demonstrates polylines C***** DEMOPM - Demonstrates polymarkers C***** DEMOTX - Demonstrates the text primitive C***** DRWHLS - Draws the wheels for the car frame C***** FINSHF - Finishes the screen frame borders C***** INTCRE - Create Segment C***** INTDEL - Delete a Segment C***** INTER - Main Interactive Demo Menu C***** INTINS - Insert Segment(s) into New Segment C***** INTTRA - Transform Segment Data C***** MAPDEM - Draws high level picture of GKS-CO C***** PRIMIT - Main output primitive menu C***** RCHOI - Waits on input from choice device C***** RMENU - Sets up choice prompts C***** SETCOL - Sets up the color table C***** SETUPF - Draws the screen frame borders C***** C***** Include Files: gkspar.inc C***** C***** Environment Dependencies: IBM RT PC with lpfks, tablet, C***** and dial devices attached. C***** C*********************************************************************** C*********************************************************************** PROGRAM GKSDEM INCLUDE 'gkspar.inc' C*********************************************************************** C***** C***** Declare all Variables C***** C*********************************************************************** INTEGER*4 ERRFIL,WKID,CONID,WTYPE,TNR INTEGER*4 ERRIND,DCUNIT,LX,LY,NOERR INTEGER*4 I,J,IA(32),MENLEN(5),ICLASS,SGNA INTEGER*4 YES,NO,LDRCDU,LASP(13) REAL*4 RX,RY,STARTX,STARTY,PX(10),PY(10) REAL*4 SELBLK(8),ARROW(14),TXTBLK(8),EMPTRP(1) REAL*4 TXTX,TXTY,XMIN,XMAX,YMIN,YMAX CHARACTER*1 CH CHARACTER*1 CHAR CHARACTER*1 DUMMYA(10) CHARACTER*20 MENTXT(5) CHARACTER*80 DRCDUM(4) DOUBLEPRECISION DDUMMY EQUIVALENCE (DRCDUM(1),DDUMMY) C*********************************************************************** C***** C***** Define COMMON block variables C***** C*********************************************************************** COMMON /WINF/ WKID,WTYPE COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX COMMON /TEXT/ TXTX,TXTY C*********************************************************************** C***** C***** Initialize Variables C***** C*********************************************************************** DATA ERRFIL /0/ DATA CONID /1/ DATA TNR /1/ DATA LASP /1,1,1,1,1,1,1,1,1,1,1,1,1/ DATA NOERR /0/ DATA NO /0/ DATA YES /1/ C*********************************************************************** C***** C***** Set up the coordinates for the select, arrow and text C***** blocks. C***** C*********************************************************************** DATA SELBLK /0.000,0.100,0.100,0.000,0.100,0.100,0.000,0.000/ DATA ARROW /0.000,0.140,0.140,0.185,0.140,0.140,0.000, * 0.016,0.016,0.000,0.024,0.048,0.032,0.032/ DATA TXTBLK /0.000,0.535,0.535,0.000,0.100,0.100,0.000,0.000/ C*********************************************************************** C***** C***** Text for the menu options and the length of each text C***** string. C***** C*********************************************************************** DATA MENTXT(1) /'XGKS'/, * MENTXT(2) /'PRIMITIVES'/, * MENTXT(3) /'COLOR'/, * MENTXT(4) /'INTERACTION'/, * MENTXT(5) /'END'/ DATA MENLEN /4,10,5,11,3/ DATA EMPTRP /0.0/ DATA CHAR /' '/ WKID = 1 WTYPE = 4 C*********************************************************************** C***** C***** Open GKS, open the workstation and activate it. C***** Set the deferral mode to 'bnil' which will produce a C***** visual effect of each function appearing before the next C***** interaction locally. Set the implicit regeneration mode C***** to suppressed. C***** C*********************************************************************** CALL GOPKS(ERRFIL,0) CALL GOPWK(WKID,CONID,WTYPE) CALL GACWK(WKID) CALL GSDS(WKID,GBNIL,GSUPPD) C*********************************************************************** C***** C***** Set all the aspect source flags to individual. C***** Set the normalization transformation for transformation C***** number one. C***** C*********************************************************************** CALL GSASF(LASP) CALL GSWN(TNR,0.0,1.0,0.0,1.0) CALL GSVP(TNR,0.0,1.0,0.0,1.0) C*********************************************************************** C***** C***** Set the workstation transformation after inquiring C***** the display information. C***** C*********************************************************************** CALL GQDSP(WTYPE,ERRIND,DCUNIT,RX,RY,LX,LY) XMIN = (RX - RY) / 2.0 XMAX = XMIN + RY YMIN = 0.000 YMAX = RY CALL GSWKWN(WKID,0.0,1.0,0.0,1.0) CALL GSWKVP(WKID,XMIN,XMAX,YMIN,YMAX) CALL GSELNT(TNR) C*********************************************************************** C***** C***** Call Subroutine SETCOL to set up the color table for C***** this program. C***** C*********************************************************************** CALL SETCOL C*********************************************************************** C***** C***** Build the main menu from which all paths are chosen. C***** Main loop: keep drawing the main menu until the user C***** chooses to exit the routine (by choosing the segment C***** 'end' - segment 5) via the LPFK or pick device. C***** C*********************************************************************** C******************************************************** C***** C***** Call subroutine SETUPF to draw the menu C***** border. Add the text to the menu and call C***** subroutine FINSHF to complete the menu C***** border. C***** C******************************************************** 10 CALL SETUPF(.TRUE.,.FALSE.) CALL GSCHH(0.065) CALL GSCHSP(0.0) CALL GTXS(TXTX,0.835,9,'XGKS DEMO') CALL FINSHF(.TRUE.) CALL GSFAIS(GSOLID) CALL GSFACI(GYELOW) CALL GSTXFP(GFONT2,GCHARP) CALL GSTXCI(GRED) CALL GSCHH(0.060) CALL GSCHXP(0.9) CALL GSCHSP(0.0) C******************************************************** C***** C***** Set all LPFKs to off (1). C***** C******************************************************** DO 20 I=1,32 IA(I)=GPROFF 20 CONTINUE C******************************************************** C***** C***** For each of the 5 selectable segments, C***** calculate the 4 points that indicate its C***** boundary. C***** C******************************************************** DO 60 I=0,4 STARTX = 0.065 STARTY = 0.590 - I * 0.130 DO 30 J=1,4 PX(J) = SELBLK(J) + STARTX PY(J) = SELBLK(J+4) + STARTY 30 CONTINUE C******************************************************** C***** C***** Display pickable choices on the main menu. C***** C******************************************************** CALL GCRSG(I+1) CALL GFA(4,PX,PY) WRITE(CH,'(I1)')I+1 CALL GSTXAL(GACENT,GAHALF) CALL GTXS(STARTX+0.05,STARTY+0.05,1,CH) CALL GSTXAL(GAHNOR,GAVNOR) C******************************************************** C***** C***** Set the LPFK for this segment to on (2). C***** Close the segment and make it detectable. C***** C******************************************************** IA(I+1) = GPRON CALL GCLSG CALL GSDTEC(I+1,1) C******************************************************** C***** C***** Draw arrows on menu to indicate which LPFK C***** goes with which choice. C***** C******************************************************** STARTX = 0.190 STARTY = 0.606 - I * 0.130 DO 40 J = 1,7 PX(J) = ARROW(J) + STARTX PY(J) = ARROW(J+7) + STARTY 40 CONTINUE CALL GPL(7,PX,PY) STARTX = 0.400 STARTY = 0.590 - I * 0.130 DO 50 J=1,4 PX(J) = TXTBLK(J) + STARTX PY(J) = TXTBLK(J+4) + STARTY 50 CONTINUE C******************************************************** C***** C***** Indicate choices for each segment as follows: C***** 1 -> GKS-CO C***** 2 -> Primitives C***** 3 -> Color C***** 4 -> Interaction C***** 5 -> End C***** C******************************************************** CALL GFA(4,PX,PY) STARTX = STARTX + 0.015 STARTY = STARTY + 0.020 CALL GTXS(STARTX,STARTY,MENLEN(I+1),MENTXT(I+1)) 60 CONTINUE C******************************************************** C***** C***** Initialize both the choice (lpfks) and the C***** pick (tablet) input types. Set both devices C***** in input mode and put out a message to tell C***** the user to select an item. C***** C******************************************************** CALL GSTXFP(GFONT1,GSTRKP) CALL GSCHSP(0.0) CALL GPREC(0,IA,0,EMPTRP,0,DUMMYA,CHAR,4,ERRIND,LDRCDU,DRCDUM) CALL GINPK(WKID,1,1,1,1,1,XMIN,XMAX,YMIN,YMAX, * LDRCDU,DRCDUM) CALL GPREC(32,IA,0,EMPTRP,0,DUMMYA,CHAR,4,ERRIND,LDRCDU,DRCDUM) CALL GINCH(WKID,1,1,1,2,XMIN,XMAX,YMIN,YMAX, * LDRCDU,DRCDUM) CALL GSCHM(WKID,1,2,1) CALL GSPKM(WKID,1,2,1) CALL GMSGS(WKID,31,' PICK SQUARES TO SELECT ITEM') C******************************************************** C***** C***** Loop forever until input from either the C***** lpfks or tablet is received. C***** C******************************************************** 70 CALL GWAIT(600.0,WKID,ICLASS,IDEV) IF (ICLASS.EQ.4) THEN CALL GGTCH(STAT,SGNA) ELSE IF (ICLASS.EQ.5) THEN CALL GGTPK(STAT,SGNA,PCID) ELSE GOTO 70 ENDIF ENDIF C******************************************************** C***** C***** First, prepare for further input by enabling C***** the choice and pick devices and then flushing C***** their queues. C***** C******************************************************** CALL GSCHM(WKID,1,0,1) CALL GSPKM(WKID,1,0,1) CALL GFLUSH(WKID,4,1) CALL GFLUSH(WKID,5,1) CALL GMSGS(WKID,1,' ') STARTX = 0.190 STARTY = 0.736 - SGNA * 0.130 DO 80 J = 1,7 PX(J) = ARROW(J) + STARTX PY(J) = ARROW(J+7) + STARTY 80 CONTINUE CALL GMSGS(WKID,1,' ') C******************************************************** C***** C***** Check input choice and call subroutine to C***** handle the request. If 'END' was selected, C***** exit the input loop and leave the program C***** gracefully. C***** C******************************************************** IF (SGNA.EQ.1) THEN CALL MAPDEM ELSE IF (SGNA.EQ.2) THEN CALL PRIMIT ELSE IF (SGNA.EQ.3) THEN CALL COLOR ELSE IF (SGNA.EQ.4) THEN CALL INTER ELSE GOTO 90 ENDIF ENDIF ENDIF ENDIF C******************************************************** C***** C***** If 'END' was not selected, wait for next C***** choice from the main menu. C***** C******************************************************** GOTO 10 C*********************************************************************** C***** C***** Otherwise, exit the program gracefully. C***** Deactivate and close the workstation, close gks. C***** C*********************************************************************** 90 CALL GDAWK(WKID) CALL GCLWK(WKID) CALL GCLKS END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: CHCOL C***** C***** Subroutine Function: Choose a color from the color table. C***** C***** Calls Subroutines: RCHOI C***** C*********************************************************************** C*********************************************************************** SUBROUTINE CHCOL(COLI) INCLUDE 'gkspar.inc' INTEGER*4 WKID,WTYPE,I,J,CHNR,COLI,ERRIND INTEGER*4 NELCOL,LCHCOL(16),LDRCOL REAL*4 STARTX,STARTY,PX(4),PY(4),COLBOX(8) REAL*4 XMIN,XMAX,YMIN,YMAX CHARACTER*2 MENCOL(16) CHARACTER*80 DTRCOL(16) COMMON /WINF/ WKID,WTYPE COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX DATA MENCOL /'1','2','3','4','5','6','7','8','9','10','11', 1 '12','13','14','15','16'/ DATA LCHCOL /1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2/ DATA NELCOL /16/ DATA COLBOX /0.000,0.030,0.030,0.000,0.000,0.000,0.012,0.012/ C*********************************************************************** C***** C***** Draw the color table on the upper right hand side of the C***** screen using colored solid fill areas. Each color repre- C***** sents the corresponding choice number. C***** C*********************************************************************** CALL GCRSG(1000) CALL GSFAIS(GSOLID) STARTX = 0.965 DO 110 I=1,16 CALL GSFACI(I) STARTY = 1.012 - I * 0.028 DO 100 J=1,4 PX(J) = COLBOX(J) + STARTX PY(J) = COLBOX(J+4) + STARTY 100 CONTINUE CALL GFA(4,PX,PY) 110 CONTINUE CALL GSFACI(GGREEN) CALL GSFAIS(GSOLID) CALL GCLSG C*********************************************************************** C***** C***** Initialize the choice device to prompt for colors 1-16. C***** Call subroutine to wait for valid choice output and then C***** assign the color picked to 'COLI' and return it to the C***** calling routine. C***** C*********************************************************************** CALL GPREC(0,0,0,0.0,NELCOL,LCHCOL,MENCOL,NELCOL, * ERRIND,LDRCOL,DTRCOL) CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LDRCOL,DTRCOL) CALL GMSGS(WKID,18,'SELECT COLOR INDEX') CALL RCHOI(WKID,16,CHNR) COLI = CHNR CALL GDSG(1000) RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: COLOR C***** C***** Subroutine Function: This subroutine will demonstrate the C***** color facilities supported by GKS-CO C***** for the given workstation. C***** C*********************************************************************** C*********************************************************************** SUBROUTINE COLOR INCLUDE 'gkspar.inc' INTEGER*4 WKID,WTYPE,NUMELA,LCHSTR(5),LENGTH,ERRIND INTEGER*4 CRID,CGID,CBID,CHNR,I,STAT,SGNA,PCID,J,K INTEGER*4 TABLE(4,4) REAL*4 CR,CG,CB,XMIN,XMAX,YMIN,YMAX,PX(10),PY(10) REAL*4 FRAME1(10),FRAME2(10),FRAME3(10),FRAME4(10) REAL*4 COLBOX(8),INTBOX(8),MIXBOX(8),ARROW(14) REAL*4 FFX(4),FFY(4),GREEN(16),BLUE(16) LOGICAL NORED,NOGRN,NOBLU,INVPK,CONT CHARACTER*16 MENU(5) CHARACTER*2 INDEX(16) CHARACTER*1 COLORI(3) CHARACTER*80 DTREC(5) COMMON /WINF/ WKID,WTYPE COMMON /TEXT/ TXTX,TXTY COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX DATA MENU /'DEFINE COL','SET TABLE','RESET TABL','SPECTRUM', 1 'RETURN'/ DATA LCHSTR /10,9,10,8,6/ DATA NUMELA /5/ DATA FRAME1 /0.000,0.000,1.000,1.000,0.000, * 0.000,1.000,1.000,0.000,0.000/ DATA FRAME2 /0.015,0.015,0.985,0.985,0.015, * 0.745,0.985,0.985,0.745,0.745/ DATA FRAME3 /0.015,0.015,0.985,0.985,0.015, * 0.430,0.730,0.730,0.430,0.430/ DATA FRAME4 /0.015,0.015,0.985,0.985,0.015, * 0.015,0.415,0.415,0.015,0.015/ DATA COLBOX /0.001,0.050,0.050,0.001,0.001,0.001,0.130,0.130/ DATA INTBOX /0.001,0.100,0.100,0.001,0.001,0.001,0.060,0.060/ DATA MIXBOX /0.860,0.960,0.960,0.860,0.060,0.060,0.290,0.290/ DATA ARROW /0.000,0.150,0.150,0.200,0.150,0.150,0.000, * 0.016,0.016,0.000,0.024,0.048,0.032,0.032/ DATA COLORI /'R','G','B'/ DATA INDEX /' 1',' 2',' 3',' 4',' 5',' 6',' 7',' 8', * ' 9','10','11','12','13','14','15','16'/ DATA TABLE /15,11,07,03, * 14,10,06,02, * 13,09,05,01, * 12,08,04,16/ DATA GREEN /0.33,0.66,1.00,0.00,0.33,0.66,1.00,0.00, * 0.33,0.66,1.00,0.00,0.33,0.66,1.00,0.00/ DATA BLUE /0.00,0.00,0.00,0.33,0.33,0.33,0.33,0.66, * 0.66,0.66,0.66,1.00,1.00,1.00,1.00,0.00/ C*********************************************************************** C***** C***** Initialize the choice device and use pack data record to C***** display the prompts for the various choices: C***** C***** Choice 1: Define a Color C***** 2: Place Color in Current Color Table C***** 3: Reset the Color Table to the Original C***** 4: Display the Color Spectrum C***** 5: Return C***** C*********************************************************************** CALL GPREC(0,0,0,0.0,NUMELA,LCHSTR,MENU,NUMELA, * ERRIND,LENGTH,DTREC) CALL GCLRWK(WKID,1) 100 CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LENGTH,DTREC) C*********************************************************************** C***** C***** Draw the borders and text for the demo menu frame. C***** C*********************************************************************** CALL GCRSG(1099) CALL GSPLCI(GYELOW) CALL GPL(5,FRAME1(1),FRAME1(6)) CALL GPL(5,FRAME2(1),FRAME2(6)) CALL GSTXFP(GFONT2,GSTRKP) CALL GSCHSP(0.0) CALL GSCHH(0.080) CALL GSTXCI(GYELOW) CALL GSTXAL(GACENT,GAVNOR) CALL GTXS(0.5,0.885,5,'COLOR') CALL GTXS(0.5,0.765,10,'FACILITIES') CALL GPL(5,FRAME3(1),FRAME3(6)) C*********************************************************************** C***** C***** Draw the current color table, making each fill area that C***** represents an index into the table a segment that can be C***** selected via the locator later in the program. C***** C*********************************************************************** CALL GSCHH(0.080) CALL GTXS(0.5,0.630,11,'COLOR TABLE') CALL GSTXAL(GAHNOR,GAVNOR) CALL GSTXFP(GFONT1,GCHARP) CALL GSCHH(0.030) CALL GSFAIS(GSOLID) STARTY = 0.480 CALL GCLSG DO 120 I=1,16 CALL GSFACI(I) STARTX = I * 0.060 - 0.035 DO 110 J=1,4 PX(J) = COLBOX(J) + STARTX PY(J) = COLBOX(J+4) + STARTY 110 CONTINUE CALL GCRSG(I) CALL GTXS(PX(1)+0.005,PY(1)-0.040,2,INDEX(I)) CALL GFA(4,PX,PY) CALL GCLSG CALL GSDTEC(I,GDETEC) 120 CONTINUE C*********************************************************************** C***** C***** Draw the color selection area on the lower half of the C***** display. Place each color fill area in a segment so that C***** it too can be selected by the locator device later on in C***** the program. C***** C*********************************************************************** CALL GCRSG(1098) CALL GPL(5,FRAME4(1),FRAME4(6)) CALL GTXS(0.140,0.310,4,' 0%') CALL GTXS(0.265,0.310,4,' 33%') CALL GTXS(0.390,0.310,4,' 66%') CALL GTXS(0.515,0.310,4,'100%') CALL GSTXFP(GFONT2,GCHARP) CALL GSCHH(0.040) CALL GSLWSC(2.0) CALL GCLSG DO 160 I=1,3 CALL GSTXCI(I) CALL GSFACI(I) CALL GSPLCI(I) STARTY = 0.315 - I * 0.085 CALL GCRSG(1098 - I) CALL GTXS(0.060,STARTY+0.010,1,COLORI(I)) CALL GCLSG DO 140 J=1,4 STARTX = J * 0.125 + 0.010 DO 130 K=1,4 PX(K) = INTBOX(K) + STARTX PY(K) = INTBOX(K+4) + STARTY 130 CONTINUE SGNA = I * 4 + J + 16 CALL GCRSG(SGNA) CALL GFA(4,PX,PY) CALL GCLSG CALL GSDTEC(SGNA,GDETEC) 140 CONTINUE C*********************************************************************** C***** C***** Calculate and draw the three arrows that point to the C***** fill area which will contain the resulting color once C***** one has been chosen. C***** C*********************************************************************** DO 150 J=1,7 PX(J) = ARROW(J) + 0.635 PY(J) = ARROW(J+7) + STARTY + 0.006 150 CONTINUE CALL GCRSG(1080-I) CALL GPL(7,PX,PY) CALL GCLSG 160 CONTINUE C*********************************************************************** C***** C***** To demonstrate how the table works, show the color C***** selection for 0.66 of Red, Green and Blue in the C***** resulting color box and make each of their chooseable C***** segments invisible. This completes the drawing of the C***** initial demo frame. C***** C*********************************************************************** CRID = 23 CGID = 27 CBID = 31 CR = 0.66 CG = 0.66 CB = 0.66 CALL GSVIS(CRID,GINVIS) CALL GSVIS(CGID,GINVIS) CALL GSVIS(CBID,GINVIS) CALL GSFACI(GGRAY) CALL GCRSG(1081) CALL GFA(4,MIXBOX(1),MIXBOX(5)) CALL GCLSG C*********************************************************************** C***** C***** Call subroutine RCHOI to wait for a valid choice from C***** the choice device. C***** C*********************************************************************** 170 CALL GMSGS(WKID,1,' ') CALL RCHOI(WKID,5,CHNR) C*********************************************************************** C***** C***** If the choice was to define a color, display a message C***** for the user to pick three color intensities. C***** C*********************************************************************** IF (CHNR.EQ.1) THEN CALL GMSG(WKID,' PICK 3 COLOR INTENSITIES') CALL GSVIS(CRID,GVISI) CALL GSVIS(CGID,GVISI) CALL GSVIS(CBID,GVISI) NORED = .TRUE. NOGRN = .TRUE. NOBLU = .TRUE. INVPK = .FALSE. C*********************************************************************** C***** C***** Wait for three valid choices from the pick device - one C***** must be an intensity for red, one for green and one for C***** blue. Save the intensities choosen in CR,CG,and CB. C***** C*********************************************************************** DO 190 I=1,3 180 CALL GRQPK(WKID,1,STAT,SGNA,PCID) IF (STAT.EQ.1) THEN IF ((SGNA.GE.21).AND.(SGNA.LE.24)) THEN IF (NORED) THEN CRID = SGNA CR = REAL(SGNA - 21) / 3.0 NORED = .FALSE. ELSE INVPK = .TRUE. ENDIF ELSE IF ((SGNA.GE.25).AND.(SGNA.LE.28)) THEN IF (NOGRN) THEN CGID = SGNA CG = REAL(SGNA - 25) / 3.0 NOGRN = .FALSE. ELSE INVPK = .TRUE. ENDIF ELSE IF ((SGNA.GE.29).AND.(SGNA.LE.32)) THEN IF (NOBLU) THEN CBID = SGNA CB = REAL(SGNA - 29) / 3.0 NOBLU = .FALSE. ELSE INVPK = .TRUE. ENDIF ELSE INVPK = .TRUE. ENDIF ENDIF ENDIF ELSE INVPK = .TRUE. ENDIF C*********************************************************************** C***** C***** If a valid intensity was not picked, wait for more input C***** from the pick device. Otherwise, set the fill area segment C***** for the intensity chosen to invisible. C***** C*********************************************************************** IF (INVPK) THEN INVPK = .FALSE. GOTO 180 ELSE CALL GSVIS(SGNA,GINVIS) ENDIF 190 CONTINUE C*********************************************************************** C***** C***** Set the color representation for index 14 and draw the C***** resulting color in both the resultant fill area (MIXBOX) C***** and in index 14 of the main color table displayed above. C***** C*********************************************************************** CALL GSCR(WKID,14,CR,CG,CB) ELSE C*********************************************************************** C***** C***** If the choice was to assign the color to an index, allow C***** the user to pick one of the color squares in the color C***** table shown above. C***** C*********************************************************************** IF (CHNR.EQ.2) THEN CALL GMSGS(WKID,23,' ASSIGN COLOR TO INDEX') 200 CALL GRQPK(WKID,1,STAT,SGNA,PCID) IF (STAT.LE.1) THEN C*********************************************************************** C***** C***** If a valid color index was picked, set the user defined C***** color to that index. Draw the fill area with the new C***** color. C***** C*********************************************************************** IF (SGNA.GE.1 .AND. SGNA.LE.16) THEN CALL GSCR(WKID,SGNA,CR,CG,CB) ENDIF ELSE GOTO 200 ENDIF ELSE C*********************************************************************** C***** C***** If the choice was to reset the color table, reset all the C***** current variables and call subroutine SETCOL to define the C***** color table in its initial state. C***** C*********************************************************************** IF (CHNR.EQ.3) THEN CALL GMSGS(WKID,19,' COLOR TABLE RESET') CALL SETCOL(WKID) CALL GSVIS(CRID,GVISI) CALL GSVIS(CGID,GVISI) CALL GSVIS(CBID,GVISI) CRID = 23 CGID = 27 CBID = 31 CR = 0.66 CG = 0.66 CB = 0.66 CALL GSVIS(CRID,GINVIS) CALL GSVIS(CGID,GINVIS) CALL GSVIS(CBID,GINVIS) ELSE C*********************************************************************** C***** C***** If the choice was to display the color spectrum, draw a C***** demo frame that depicts the various colors available with C***** various intensities. C***** C*********************************************************************** IF (CHNR.EQ.4) THEN CALL SETUPF(.TRUE.,.TRUE.) CALL GSTXCI(GWHITE) CALL GTXS(TXTX,TXTY,5,'COLOR') CALL FINSHF(.TRUE.) DO 210 I=1,15 CALL GSCR(WKID,I,0.00,GREEN(I),BLUE(I)) 210 CONTINUE CALL GSTXFP(GFONT1,GSTRKP) CALL GSTXCI(GWHITE) CALL GSCHH(0.040) CALL GTXS(0.200,0.650,9,'RED: 0%') CALL GTXS(0.440,0.580,5,'BLUE:') CALL GTXS(0.025,0.280,6,'GREEN:') CALL GSCHH(0.020) CALL GTXS(0.300,0.520,23,' 100% 66% 33% 0%') CALL GTXS(0.200,0.440,4,'100%') CALL GTXS(0.200,0.340,4,' 66%') CALL GTXS(0.200,0.240,4,' 33%') CALL GTXS(0.200,0.140,4,' 0%') CALL GCA(0.300,0.100,0.700,0.500,4,4,1,1,4,4,TABLE) FFX(1) = 0.3 FFY(1) = 0.4 FFX(2) = 0.4 FFY(2) = 0.4 FFX(3) = 0.4 FFY(3) = 0.5 FFX(4) = 0.3 FFY(4) = 0.5 DO 230 I=1,4 DO 220 J=1,4 CALL GSFACI(TABLE(J,I)) CALL GFA(4,FFX,FFY) FFX(1) = FFX(1) + 0.1 FFX(2) = FFX(2) + 0.1 FFX(3) = FFX(3) + 0.1 FFX(4) = FFX(4) + 0.1 220 CONTINUE FFX(1) = 0.3 FFY(1) = FFY(1) - 0.1 FFX(2) = 0.4 FFY(2) = FFY(2) - 0.1 FFX(3) = 0.4 FFY(3) = FFY(3) - 0.1 FFX(4) = 0.3 FFY(4) = FFY(4) - 0.1 230 CONTINUE C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate two prompts C***** for the lpfks (next and return). RMENU will call RCHOI C***** to wait for a valid choice selection and will pass that C***** selection back in CHNR. C***** C*********************************************************************** CALL RMENU(.FALSE.,CONT) C*********************************************************************** C***** C***** If user chose to continue viewing the color spectrum, C***** continue on. Otherwise, fall out the bottom and return C***** to the color facilities main screen. C***** C*********************************************************************** IF (CONT) THEN CALL GSCHH(0.040) CALL GSTXCI(GBLACK) CALL GTXS(0.200,0.650,9,'RED: 0%') CALL GSTXCI(GWHITE) CALL GTXS(0.200,0.650,9,'RED: 33%') DO 240 I=1,15 CALL GSCR(WKID,I,0.33,GREEN(I),BLUE(I)) 240 CONTINUE C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate two prompts C***** for the lpfks (next and return). RMENU will call RCHOI C***** to wait for a valid choice selection and will pass that C***** selection back in CHNR. C***** C*********************************************************************** CALL RMENU(.FALSE.,CONT) C*********************************************************************** C***** C***** If user chose to continue viewing the color spectrum, C***** continue on. Otherwise, fall out the bottom and return C***** to the color facilities main screen. C***** C*********************************************************************** IF (CONT) THEN CALL GSTXCI(GBLACK) CALL GTXS(0.200,0.650,9,'RED: 33%') CALL GSTXCI(GWHITE) CALL GTXS(0.200,0.650,9,'RED: 66%') DO 250 I=1,15 CALL GSCR(WKID,I,0.66,GREEN(I),BLUE(I)) 250 CONTINUE C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate two prompts C***** for the lpfks (next and return). RMENU will call RCHOI C***** to wait for a valid choice selection and will pass that C***** selection back in CHNR. C***** C*********************************************************************** CALL RMENU(.FALSE.,CONT) C*********************************************************************** C***** C***** If user chose to continue viewing the color spectrum, C***** continue on. Otherwise, fall out the bottom and return C***** to the color facilities main screen. C***** C*********************************************************************** IF (CONT) THEN CALL GSTXCI(GBLACK) CALL GTXS(0.200,0.650,9,'RED: 66%') CALL GSTXCI(GWHITE) CALL GTXS(0.200,0.650,9,'RED: 100%') DO 260 I=1,15 CALL GSCR(WKID,I,1.00,GREEN(I),BLUE(I)) 260 CONTINUE C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate to prompt C***** for the lpfk (return). RMENU will call RCHOI to wait for C***** a valid choice selection and will pass that selection back C***** in CHNR. But in this case, the user could only select C***** return as a valid choice, so we will fall down to the C***** return statement and go back to the color facilities main C***** panel. C***** C*********************************************************************** CALL RMENU(.TRUE.,CONT) ENDIF ENDIF ENDIF C*********************************************************************** C***** C***** Reinitialize the color table and return to the color C***** facilities selection panel. C***** C*********************************************************************** CALL GCLRWK(WKID,GALWAY) CALL SETCOL GOTO 100 ELSE C*********************************************************************** C***** C***** If the user selected return from the main panel, reset the C***** color table to its original state and return to the C***** selection frame of the main program. C***** C*********************************************************************** IF (CHNR.EQ.5) THEN CALL SETCOL GOTO 270 ENDIF ENDIF ENDIF ENDIF ENDIF GOTO 170 270 RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: CREFA C***** C***** Subroutine Function: This subroutine allows the user to C***** create fill areas in new segments. C***** The user can choose to change the C***** fill area color and interior style. C***** The user can then draw the fill area C***** shape using the stroke device. C***** C***** Calls Subroutines: RCHOI, CHCOL C***** C*********************************************************************** C*********************************************************************** SUBROUTINE CREFA INCLUDE 'gkspar.inc' INTEGER*4 WKID,WTYPE,CHNR,ERRIND,STAT,TNR,I,J,IA(4),COLI INTEGER*4 NELFLA,LCHFLA(4),LDRFLA INTEGER*4 NELDUM,LCHDUM(1),LDRDUM INTEGER*4 NELFIS,LCHFIS(4),LDRFIS REAL*4 XMIN,XMAX,YMIN,YMAX,LCX(337),LCY(337) REAL*4 IPX(1),IPY(1),SKIVAL(4) CHARACTER*16 MENFLA(4) CHARACTER*80 DTRFLA(4) CHARACTER*8 MENFIS(4) CHARACTER*80 DTRFIS(4) CHARACTER*1 MENDUM LOGICAL SGNAME(50) COMMON /WINF/ WKID,WTYPE C The AIX fortran compiler only allows common blocks to be C dimensioned once. The following line was modifed for AIX port. c2071 COMMON /SEGM/ SGNAME COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX DATA MENDUM /' '/ DATA LCHDUM /1/ DATA NELDUM /4/ DATA MENFLA /'FILL AREA','COLOR','INT. STYLE','RETURN'/ DATA LCHFLA /9,5,10,6/ DATA NELFLA /4/ DATA MENFIS /'HOLLOW','SOLID','PATTERN','HATCH'/ DATA LCHFIS /6,5,7,5/ DATA NELFIS /4/ DATA IA /0,0,0,0/ DATA SKIVAL /0.005,0.005,0.005,1.000/ C*********************************************************************** C***** C***** Use Pack Data Record to set up the prompts for the choice C***** device. The user can then choose to: draw fill area, set C***** the fill area color, set the fill area interior style, C***** or return to the main create panel. C***** C*********************************************************************** CALL GPREC(0,0,0,0.0,NELFLA,LCHFLA,MENFLA,NELFLA, * ERRIND,LDRFLA,DTRFLA) 300 CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LDRFLA,DTRFLA) CALL GMSGS(WKID,32,'DRAW FILL AREA OR SET ATTRIBUTES') CALL RCHOI(WKID,4,CHNR) C*********************************************************************** C***** C***** Find the first unused segment number (segment 1-6 are re- C***** served for use by GKSDEMO). Allow the user to draw the C***** fill area using the stroke device (user holds button one C***** down on the locator while drawing and releases the button C***** when fill area boundaries are complete). C***** C*********************************************************************** IF (CHNR.EQ.1) THEN DO 310 I=7,50 IF (.NOT.(SGNAME(I))) GOTO 320 310 CONTINUE CALL GMSGS(WKID,32,'NO MORE THAN 50 SEGMENTS ALLOWED') GOTO 340 320 J = 10 IPX(1) = 0.0 IPY(1) = 0.0 IA(1) = 0 IA(2) = 1 CALL GPREC(2,IA,3,SKIVAL,0,LCHDUM,MENDUM,NELDUM, * ERRIND,LDRDUM,DTRDUM) CALL GINSK(WKID,1,1,1,IPX,IPY,1,XMIN,XMAX,YMIN,YMAX, * 337,LDRDUM,DTRDUM) CALL GMSGS(WKID,20,'ENTER POINT OR BREAK') 330 CALL GRQSK(WKID,1,337,STAT,TNR,J,LCX,LCY) CALL GMSGS(WKID,1,' ') C*********************************************************************** C***** C***** Once valid stroke data is received, create a segment to C***** hold the fill area and then place the fill area in the C***** segment. If valid stroke data wasn't received, try ob- C***** taining valid input again. C***** C*********************************************************************** IF (STAT.EQ.1) THEN CALL GCRSG(I) CALL GSDTEC(I,1) SGNAME(I) = .TRUE. CALL GFA(J,LCX,LCY) CALL GCLSG ELSE GOTO 330 ENDIF ELSE C*********************************************************************** C***** C***** Call subroutine CHCOL to display a panel and allow the C***** user to choose a color from the current color table (color C***** index passed back in variable COLI). Set the fill area C***** color using the color index returned. C***** C*********************************************************************** IF (CHNR.EQ.2) THEN CALL CHCOL(COLI) CALL GSFACI(COLI) ELSE C*********************************************************************** C***** C***** Use pack data record to set up the prompt for the choice C***** device. User can choose an interior style of either: C***** hollow, solid, pattern, or hatch. When a valid choice C***** has been made, set the fill area interior style based on C***** the choice number minus (0=hollow,1=solid,2=pattern, C***** 3=hatch). C***** C*********************************************************************** IF (CHNR.EQ.3) THEN CALL GPREC(0,0,0,0.0,NELFIS,LCHFIS,MENFIS,NELFIS, * ERRIND,LDRFIS,DTRFIS) CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LDRFIS, * DTRFIS) CALL GMSGS(WKID,21,'SELECT INTERIOR STYLE') CALL RCHOI(WKID,4,CHNR) CALL GSFAIS(CHNR-1) C*********************************************************************** C***** C***** User chose lpfk 4 - RETURN. So exit back to the main C***** create segment choice menu. C***** C*********************************************************************** ELSE GOTO 340 ENDIF ENDIF ENDIF GOTO 300 340 RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: CREPLN C***** C***** Subroutine Function: This subroutine allows the user to C***** create a polyline in a new segment. C***** The user can choose to change the C***** polyline color, linewidth and line- C***** type. The user can then use the C***** stroke device to draw the line. C***** C***** Calls Subroutines: RCHOI, CHCOL C***** C*********************************************************************** C*********************************************************************** SUBROUTINE CREPLN INCLUDE 'gkspar.inc' INTEGER*4 WKID,WTYPE,CHNR,ERRIND,STAT,TNR,I,J,IA(4),COLI INTEGER*4 NELLIN,LCHLIN(5),LDRLIN INTEGER*4 NELDUM,LCHDUM(1),LDRDUM INTEGER*4 NELCLT,LCHCLT(4),LDRCLT REAL*4 XMIN,XMAX,YMIN,YMAX,SCFACT REAL*4 IPX(1),IPY(1),LCX(337),LCY(337),SKIVAL(4) CHARACTER*12 MENCLT(4) CHARACTER*80 DTRCLT(4) CHARACTER*12 MENLIN(5) CHARACTER*80 DTRLIN(4) CHARACTER*1 MENDUM CHARACTER*80 DTRDUM(4) LOGICAL SGNAME(50) COMMON /WINF/ WKID,WTYPE C The AIX fortran compiler only allows common blocks to be C dimensioned once. The following line was modifed for AIX port. c2071 COMMON /SEGM/ SGNAME COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX DATA MENLIN /'POLYLINE','COLOR','LINEWIDTH','LINETYPE','RETURN'/ DATA LCHLIN /8,5,9,8,6/ DATA NELLIN /5/ DATA MENDUM /' '/ DATA LCHDUM /1/ DATA NELDUM /4/ DATA MENCLT /'SOLID','DASHED','DOTTED','DASHDOTTED'/ DATA LCHCLT /5,6,6,10/ DATA NELCLT /4/ DATA IA /0,0,0,0/ DATA SKIVAL /0.005,0.005,0.005,1.000/ C*********************************************************************** C***** C***** Use Pack Data Record to set up the prompts for the choice C***** device. The user can then choose to: draw a polyline, set C***** the polyline color, set the linewidth, set the linetype, C***** or return to the main create panel. C***** C*********************************************************************** CALL GPREC(0,0,0,0.0,NELLIN,LCHLIN,MENLIN,NELLIN, * ERRIND,LDRLIN,DTRLIN) 400 CALL GMSGS(WKID,1,' ') CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LDRLIN,DTRLIN) CALL GMSGS(WKID,31,'DRAW POLYLINE OR SET ATTRIBUTES') CALL RCHOI(WKID,5,CHNR) C*********************************************************************** C***** C***** Find the first unused segment number (segment 1-6 are re- C***** served for use by GKSDEMO). Allow the user to draw the C***** polyline using the stroke device (user holds button one C***** down on the locator while drawing and releases the button C***** when polyline is complete). C***** C*********************************************************************** IF (CHNR.EQ.1) THEN DO 410 I=7,50 IF (.NOT.(SGNAME(I))) GOTO 420 410 CONTINUE CALL GMSGS(WKID,32,'NO MORE THAN 50 SEGMENTS ALLOWED') GOTO 440 C demo modification TRG J = 10 not J = 0 420 J = 10 IPX(1) = 0.5 IPY(1) = 0.5 IA(1) = 0 IA(2) = 1 CALL GPREC(2,IA,3,SKIVAL,0,LCHDUM,MENDUM,NELDUM, * ERRIND,LDRDUM,DTRDUM) CALL GINSK(WKID,1,1,1,IPX,IPY,1,XMIN,XMAX,YMIN,YMAX, * 337,LDRDUM,DTRDUM) CALL GMSGS(WKID,20,'ENTER POINT OR BREAK') 430 CALL GRQSK(WKID,1,337,STAT,TNR,J,LCX,LCY) CALL GMSGS(WKID,1,' ') C*********************************************************************** C***** C***** Once valid stroke data is received, create a segment to C***** hold the polyline and then place the polyline in the C***** segment. If valid stroke data wasn't received, try ob- C***** taining valid input again. C***** C*********************************************************************** IF (STAT.EQ.1) THEN CALL GCRSG(I) CALL GSDTEC(I,1) SGNAME(I) = .TRUE. CALL GPL(J,LCX,LCY) CALL GCLSG ELSE GOTO 430 ENDIF ELSE C*********************************************************************** C***** C***** Call subroutine CHCOL to display a panel and allow the C***** user to choose a color from the current color table (color C***** index passed back in variable COLI). Set the polyline C***** color using the color index returned. C***** C*********************************************************************** IF (CHNR.EQ.2) THEN CALL CHCOL(COLI) CALL GSPLCI(COLI) ELSE C*********************************************************************** C***** C***** Use the valuator device to select the linewidth scale C***** factor (user turns valuator to desired position and then C***** hits the enter key). C***** C*********************************************************************** IF (CHNR.EQ.3) THEN CALL GMSGS(WKID,31,'EVALUATE LINEWIDTH SCALE FACTOR') CALL GRQVL(WKID,1,STAT,SCFACT) CALL GMSGS(WKID,1,' ') CALL GSLWSC(SCFACT) ELSE C*********************************************************************** C***** C***** Use the choice device to select the linetype. Valid C***** choices are: solid, dashed, dotted, and dash-dotted. C***** C*********************************************************************** IF (CHNR.EQ.4) THEN CALL GPREC(0,0,0,0.0,NELCLT,LCHCLT,MENCLT,NELCLT, * ERRIND,LDRCLT,DTRCLT) CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LDRCLT, * DTRCLT) CALL GMSGS(WKID,15,'SELECT LINETYPE') CALL RCHOI(WKID,4,CHNR) CALL GSLN(CHNR) C*********************************************************************** C***** C***** User chose lpfk 5 - RETURN. So exit back to the main C***** create segment choice menu. C***** C*********************************************************************** ELSE GOTO 440 ENDIF ENDIF ENDIF ENDIF GOTO 400 440 RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: CREPMK C***** C***** Subroutine Function: This subroutine allows the user to C***** create a polymarker in a new seg- C***** ment. The user can choose to change C***** the polymarker color, markersize C***** and markertype. The user can then C***** use the locator device to set the C***** x,y coordinates of the polymarker C***** and the polymarker segment is then C***** created. C***** C***** Calls Subroutines: RCHOI,CHCOL C***** C*********************************************************************** C*********************************************************************** SUBROUTINE CREPMK INCLUDE 'gkspar.inc' INTEGER*4 WKID,WTYPE,CHNR,ERRIND,STAT,TNR,I,IA(1),COLI INTEGER*4 NELDUM,LCHDUM(1),LDRDUM INTEGER*4 NELMRK,LCHMRK(5),LDRMRK INTEGER*4 NELMKT,LCHMKT(5),LDRMKT REAL*4 XMIN,XMAX,YMIN,YMAX,SCFACT REAL*4 LCX(337),LCY(337) CHARACTER*1 MENDUM CHARACTER*80 DTRDUM(4) CHARACTER*12 MENMRK(5) CHARACTER*80 DTRMRK(5) CHARACTER*12 MENMKT(5) CHARACTER*80 DTRMKT(5) LOGICAL SGNAME(50) COMMON /WINF/ WKID,WTYPE C The AIX fortran compiler only allows common blocks to be C dimensioned once. The following line was modifed for AIX port. c2071 COMMON /SEGM/ SGNAME COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX DATA MENDUM /' '/ DATA LCHDUM /1/ DATA NELDUM /4/ DATA MENMRK /'POLYMARKER','COLOR','MARKERSIZE','MARKERTYPE', 1 'RETURN'/ DATA LCHMRK /10,5,10,10,6/ DATA NELMRK /5/ DATA MENMKT /'DOT','PLUS SIGN','ASTERISK','CIRCLE','DIAG-CROSS'/ DATA LCHMKT /3,9,8,6,10/ DATA NELMKT /5/ DATA IA /0/ C*********************************************************************** C***** C***** Use Pack Data Record to set up the prompts for the choice C***** device. The user can then choose to: draw fill area, set C***** the fill area color, set the fill area interior style, C***** or return to the main create panel. C***** C*********************************************************************** CALL GPREC(0,0,0,0.0,NELMRK,LCHMRK,MENMRK,NELMRK, * ERRIND,LDRMRK,DTRMRK) 500 CALL GMSGS(WKID,1,' ') CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LDRMRK,DTRMRK) CALL GMSGS(WKID,33,'DRAW POLYMARKER OR SET ATTRIBUTES') CALL RCHOI(WKID,5,CHNR) C*********************************************************************** C***** C***** Find the first unused segment number (segment 1-6 are re- C***** served for use by GKSDEMO). Allow the user to draw the C***** polymarker by placing the locator echo at a certain point C***** and hitting a button on the locator. When user is done C***** inserting polymarker segments, it hits ALT-CANCEL (break C***** in RT lingo). This will send it back to the main C***** polymarker choice menu. C***** C*********************************************************************** IF (CHNR.EQ.1) THEN LCX(1) = 0.1 LCY(1) = 0.1 510 DO 520 I=7,50 IF (.NOT.(SGNAME(I))) GOTO 530 520 CONTINUE CALL GMSGS(WKID,32,'NO MORE THAN 50 SEGMENTS ALLOWED') GOTO 540 530 CALL GPREC(0,IA,0,0.0,0,LCHDUM,MENDUM,NELDUM,ERRIND, * LDRDUM,DTRDUM) CALL GINLC(WKID,1,1,LCX(1),LCY(1),2,XMIN,XMAX,YMIN,YMAX, * LDRDUM,DTRDUM) CALL GMSGS(WKID,20,'ENTER POINT OR BREAK') CALL GRQLC(WKID,1,STAT,TNR,LCX(1),LCY(1)) CALL GMSGS(WKID,1,' ') IF (STAT.EQ.1) THEN CALL GCRSG(I) CALL GSDTEC(I,1) SGNAME(I) = .TRUE. CALL GPM(1,LCX(1),LCY(1)) CALL GCLSG GOTO 510 ENDIF ELSE C*********************************************************************** C***** C***** Call subroutine CHCOL to display a panel and allow the C***** user to choose a color from the current color table (color C***** index passed back in variable COLI). Set the polymarker C***** color using the color index returned. C***** C*********************************************************************** IF (CHNR.EQ.2) THEN CALL CHCOL(COLI) CALL GSPMCI(COLI) ELSE IF (CHNR.EQ.3) THEN CALL GMSGS(WKID,32,'EVALUATE MARKERSIZE SCALE FACTOR') CALL GRQVL(WKID,1,STAT,SCFACT) CALL GMSGS(WKID,1,' ') CALL GSMKSC(SCFACT) ELSE IF (CHNR.EQ.4) THEN CALL GPREC(0,0,0,0.0,NELMKT,LCHMKT,MENMKT,NELMKT, * ERRIND,LDRMKT,DTRMKT) CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LDRMKT, * DTRMKT) CALL GMSGS(WKID,17,'SELECT MARKERTYPE') CALL RCHOI(WKID,5,CHNR) CALL GSMK(CHNR) C*********************************************************************** C***** C***** User chose lpfk 5 - RETURN. So exit back to the main C***** create segment choice menu. C***** C*********************************************************************** ELSE GOTO 540 ENDIF ENDIF ENDIF ENDIF GOTO 500 540 RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: CRETXT C***** C***** Subroutine Function: This subroutine allows the user to C***** create text strings in new segments. C***** The user can choose to change the C***** text color, size and font. The user C***** can then input the text from the C***** keyboard and select the text starting C***** point via the locator device. C***** C***** Calls Subroutines: RCHOI, CHCOL C***** C*********************************************************************** C*********************************************************************** SUBROUTINE CRETXT INCLUDE 'gkspar.inc' INTEGER*4 WKID,WTYPE,CHNR,ERRIND,STAT,TNR,I,IA(1),COLI,LSTR INTEGER*4 NELTXT,LCHTXT(5),LDRTXT INTEGER*4 NELTXF,LCHTXF(11),LDRTXF INTEGER*4 NELDUM,LCHDUM(1),LDRDUM REAL*4 XMIN,XMAX,YMIN,YMAX,SCFACT REAL*4 LCX(337),LCY(337) CHARACTER*12 MENTXT(5) CHARACTER*80 DTRTXT(5) CHARACTER*8 MENTXF(11) CHARACTER*80 DTRTXF(11) CHARACTER*1 MENDUM CHARACTER*80 DTRDUM(4) CHARACTER*80 STRBUF LOGICAL SGNAME(50) COMMON /WINF/ WKID,WTYPE C The AIX fortran compiler only allows common blocks to be C dimensioned once. The following line was modifed for AIX port. c2071 COMMON /SEGM/ SGNAME COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX DATA MENTXT /'TEXT','COLOR','TEXTSIZE','TEXTFONT','RETURN'/ DATA LCHTXT /4,5,8,8,6/ DATA NELTXT /5/ DATA MENTXF /'F 1','F 2','F 3','F 4','F 5','F 6','F 7', 1 'F 8','F 9','F 10','F 11'/ DATA LCHTXF /4,4,4,4,4,4,4,4,4,4,4/ DATA NELTXF /11/ DATA MENDUM /' '/ DATA LCHDUM /1/ DATA NELDUM /4/ DATA IA /0/ C*********************************************************************** C***** C***** Use Pack Data Record to set up the prompts for the choice C***** device. The user can then choose to: input text and pick C***** its starting point, set the text color, set the text size, C***** select the text font, or return to the main create segment C***** panel. C***** C*********************************************************************** CALL GPREC(0,0,0,0.0,NELTXT,LCHTXT,MENTXT,NELTXT, * ERRIND,LDRTXT,DTRTXT) 600 CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LDRTXT,DTRTXT) CALL GMSGS(WKID,27,'DRAW TEXT OR SET ATTRIBUTES') CALL RCHOI(WKID,5,CHNR) C*********************************************************************** C***** C***** Find the first free segment number (segments 1-6 are C***** reserved for use by GKSDEMO). Request input from the C***** string device (keyboard) for the text to be displayed. C***** Find the starting point for the text by requesting input C***** from the locator device. Draw the new segment on the C***** screen and return to the text choice panel. C***** C*********************************************************************** IF (CHNR.EQ.1) THEN DO 610 I=7,50 IF (.NOT.(SGNAME(I))) GOTO 620 610 CONTINUE CALL GMSGS(WKID,32,'NO MORE THAN 50 SEGMENTS ALLOWED') GOTO 640 620 CALL GRQST(WKID,1,STAT,LSTR,STRBUF) CALL GMSGS(WKID,1,' ') CALL GPREC(0,IA,0,0.0,0,LCHDUM,MENDUM,NELDUM, * ERRIND,LDRDUM,DTRDUM) CALL GINLC(WKID,1,1,0.1,0.1,2,XMIN,XMAX,YMIN,YMAX, * LDRDUM,DTRDUM) CALL GMSGS(WKID,25,'ENTER TEXT STARTING POINT') 630 CALL GRQLC(WKID,1,STAT,TNR,LCX(1),LCY(1)) CALL GMSGS(WKID,1,' ') IF (STAT.EQ.1) THEN CALL GCRSG(I) CALL GSDTEC(I,1) SGNAME(I) = .TRUE. CALL GTXS(LCX(1),LCY(1),LSTR,STRBUF) CALL GCLSG GOTO 600 ELSE GOTO 630 ENDIF ELSE C*********************************************************************** C***** C***** Call subroutine CHCOL to display a panel and allow the C***** user to choose a color from the current color table (color C***** index passed back in variable COLI). Set the text color C***** using the color index returned. C***** C*********************************************************************** IF (CHNR.EQ.2) THEN CALL CHCOL(COLI) CALL GSTXCI(COLI) ELSE C*********************************************************************** C***** C***** Obtain the character height expansion factor from the C***** valuator (user turns valuator to desired character height C***** and hits ENTER). Return to text choice panel. C***** C*********************************************************************** IF (CHNR.EQ.3) THEN CALL GMSGS(WKID,25,'EVALUATE CHARACTER HEIGHT') CALL GRQVL(WKID,1,STAT,SCFACT) CALL GMSGS(WKID,1,' ') CALL GSCHH(0.1 * SCFACT) ELSE C*********************************************************************** C***** C***** Use pack data record to set up the prompts for the choice C***** device. Call subroutine RCHOI to wait for a valid selec- C***** tion and then set the text font using the value returned. C***** Return to the text choice panel. C***** C*********************************************************************** IF (CHNR.EQ.4) THEN CALL GPREC(0,0,0,0.0,NELTXF,LCHTXF,MENTXF,NELTXF, * ERRIND,LDRTXF,DTRTXF) CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LDRTXF, * DTRTXF) CALL GMSGS(WKID,16,'SELECT TEXT FONT') CALL RCHOI(WKID,11,CHNR) CALL GSTXFP(CHNR,GSTRKP) C*********************************************************************** C***** C***** User chose lpfk 5 - RETURN. So exit back to the main C***** create segment choice menu. C***** C*********************************************************************** ELSE GOTO 640 ENDIF ENDIF ENDIF ENDIF GOTO 600 640 RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: CRSEGM C***** C***** Subroutine Function: This subroutine will create a C***** detectable segment (segment number C***** 6) and draw a red box with the word C***** 'RETURN' in it and then return to C***** the caller. The caller is responsible C***** for deleting segment 6 when it is C***** finished using it. C***** C*********************************************************************** C*********************************************************************** SUBROUTINE CRSEGM INCLUDE 'gkspar.inc' REAL*4 PX(4),PY(4) DATA PX /0.01,0.15,0.15,0.01/ DATA PY /0.94,0.94,0.99,0.99/ CALL GCRSG(6) CALL GSDTEC(6,1) CALL GSFACI(GRED) CALL GSFAIS(GHOLLO) CALL GFA(4,PX,PY) CALL GSCHH(0.020) CALL GSTXCI(GRED) CALL GSTXAL(GACENT,GAHALF) CALL GTXS(0.07,0.965,6,'RETURN') CALL GSTXAL(GAHNOR,GAVNOR) CALL GSTXCI(GYELOW) CALL GSPLCI(GYELOW) CALL GCLSG RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: DEMOCA C***** C***** Subroutine Function: Draw a castle tower and a tree to C***** show how the cell array primitive C***** and its attributes work. C***** C***** Calls Subroutines: SETUPF,FINSHF,RMENU C***** C*********************************************************************** C*********************************************************************** SUBROUTINE DEMOCA INCLUDE 'gkspar.inc' INTEGER*4 WKID,WTYPE,I INTEGER*4 PIXEL1(9,9),PIXEL2(9,9) REAL*4 X1,X2,Y1,Y2 LOGICAL CONT COMMON /WINF/ WKID,WTYPE COMMON /TEXT/ TXTX,TXTY DATA PIXEL1 / 8, 8,13,13,13,13,13, 8, 8, * 8, 8, 8,13,13,13, 8, 8, 8, * 8, 8, 8,13,13,13, 8, 8, 8, * 8,12, 8,13,13,12, 8,12, 8, * 12,12,12,12,12,12,12,12,12, * 12,12,12,12,12,12,12,12,12, * 12,12,12,12,12,12,12,12,12, * 8,12,12,12,12,12,12,12, 8, * 8, 8,12,12,12,12,12, 8, 8/ DATA PIXEL2 / 3,11,11,11,11,11,11,11, 3, * 3, 3,11,11,11,11,11, 3, 3, * 3, 3,11,11, 3,11,11, 3, 3, * 3, 3,11,11, 3,11,11, 3, 3, * 3, 3,11,11, 3,11,11, 3, 3, * 3,11,11,11,11,11,11,11, 3, * 11,11,11,11,11,11,11,11,11, * 11,11,11,11,11,11,11,11,11, * 11, 3,11, 3,11, 3,11, 3,11/ C*********************************************************************** C***** C***** Call subroutines SETUPF and FINSHF to draw the border and C***** border and title of the demo frame. Then draw the first C***** panel which is a picture drawn using cell arrays. C***** C*********************************************************************** CALL SETUPF(.TRUE.,.FALSE.) CALL GTXS(TXTX,TXTY,10,'CELL ARRAY') CALL FINSHF(.TRUE.) C*********************************************************************** C***** C***** Use the values store in PIXEL2 array to display a castle C***** tower using the cell array primitive call. C***** C*********************************************************************** CALL GCA(0.300,0.100,0.700,0.700,9,9,1,1,9,9,PIXEL2) C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate two prompts C***** for the lpfks (next and return). RMENU will call RCHOI C***** to wait for a valid choice selection and will pass that C***** selection back in CHNR. C***** C*********************************************************************** CALL RMENU(.FALSE.,CONT) C*********************************************************************** C***** C***** If user chose to continue viewing the cell array panels, C***** continue on. Otherwise, fall out the bottom and return C***** to the output primitive screen. C***** C*********************************************************************** IF (CONT) THEN C*********************************************************************** C***** C***** Call SETUPF and FINSHF to draw the border and title of C***** the demo frame. C***** C*********************************************************************** CALL SETUPF(.FALSE.,.FALSE.) CALL GTXS(TXTX,TXTY,16,'EXPAND RECTANGLE') CALL FINSHF(.FALSE.) C*********************************************************************** C***** C***** Show how the cell array can be used easily to vary the C***** picture without changing the data. C***** C*********************************************************************** Y1 = 0.150 DO 700 I=1,4 X1 = 0.500 - I * 0.050 X2 = 0.500 + I * 0.050 Y2 = 0.150 + I * 0.100 CALL GCA(X1,Y1,X2,Y2,9,9,1,1,9,9,PIXEL1) 700 CONTINUE C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate two prompts C***** for the lpfks (next and return). RMENU will call RCHOI C***** to wait for a valid choice selection and will pass that C***** selection back in CHNR. C***** C*********************************************************************** CALL RMENU(.FALSE.,CONT) C*********************************************************************** C***** C***** If user chose to continue viewing the cell array panels, C***** continue on. Otherwise, fall out the bottom and return C***** to the output primitive screen. C***** C*********************************************************************** IF (CONT) THEN C*********************************************************************** C***** C***** Call SETUPF and FINSHF to draw the border and title of C***** the demo frame. C***** C*********************************************************************** CALL SETUPF(.FALSE.,.FALSE.) CALL GTXS(TXTX,TXTY,22,'DIFFERENT ASPECT RATIO') CALL FINSHF(.FALSE.) C*********************************************************************** C***** C***** Draw three copies of the tree seen in the previous panel, C***** showing various aspect ratios. C***** C*********************************************************************** CALL GCA(0.100,0.615,0.650,0.815,9,9,1,1,9,9,PIXEL1) CALL GCA(0.100,0.100,0.650,0.565,9,9,1,1,9,9,PIXEL1) CALL GCA(0.700,0.100,0.900,0.815,9,9,1,1,9,9,PIXEL1) C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate to prompt C***** for the lpfk (return). RMENU will call RCHOI to wait for C***** a valid choice selection and will pass that selection back C***** in CHNR. But in this case, the user could only select C***** return as a valid choice, so we will fall down to the C***** return statement and go back to the output primitves. C***** C*********************************************************************** CALL RMENU(.TRUE.,CONT) ENDIF ENDIF RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: DEMOFA C***** C***** Subroutine Function: This subroutine demonstrates the C***** fill area primitive and its C***** attributes. C***** C***** Calls Subroutines: SETUPF,FINSHF,RMENU C***** C*********************************************************************** C*********************************************************************** SUBROUTINE DEMOFA INCLUDE 'gkspar.inc' INTEGER*4 WKID,WTYPE,I,J,K,START,II REAL*4 STARTX,STARTY,ALPHA,PI,TM(2,3) REAL*4 PX(20),PY(20),RX(20),RY(20),BLOCK(8) REAL*4 EXOR3(6),RPLC3(6),EXOR4(8),RPLC4(8) REAL*4 EXOR5(10),RPLC5(10),XMIN,XMAX,YMIN,YMAX LOGICAL CONT CHARACTER*10 TEXT(4) COMMON /WINF/ WKID,WTYPE COMMON /TEXT/ TXTX,TXTY COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX DATA PI /3.141593/ DATA TEXT(1) /'HOLLOW '/ DATA TEXT(2) /'SOLID '/ DATA TEXT(3) /'PATTERN '/ DATA TEXT(4) /'HATCH '/ DATA BLOCK /0.00,0.00,0.50,0.50,0.00,0.12,0.12,0.00/ DATA EXOR3 /0.10,0.40,0.40,0.15,0.15,0.75/ DATA RPLC3 /0.60,0.90,0.90,0.15,0.15,0.75/ DATA EXOR4 /0.05,0.45,0.45,0.05,0.10,0.10,0.40,0.40/ DATA RPLC4 /0.55,0.95,0.95,0.55,0.10,0.10,0.40,0.40/ DATA EXOR5 /0.15,0.35,0.45,0.25,0.05,0.25,0.25,0.45,0.55,0.45/ DATA RPLC5 /0.65,0.85,0.95,0.75,0.55,0.25,0.25,0.45,0.55,0.45/ C*********************************************************************** C***** C***** Call subroutines SETUPF and FINSHF to draw the border and C***** border and title of the demo frame. Then draw the first C***** panel which is a picture drawn using cell arrays. C***** C*********************************************************************** CALL SETUPF(.TRUE.,.FALSE.) CALL GTXS(TXTX,TXTY,9,'FILL AREA') CALL FINSHF(.TRUE.) C*********************************************************************** C***** C***** Draw a hot pink, fancy nine pointed star using the fill C***** area primitive with a solid interior style. C***** C*********************************************************************** CALL GSFAIS(GSOLID) CALL GSFACI(GLMGNT) ALPHA = 0.0 DO 800 I=1,9 RX(I) = 0.500 + 0.350 * SIN(ALPHA) RY(I) = 0.375 + 0.350 * COS(ALPHA) ALPHA = ALPHA + 2.0 * PI / 9.0 800 CONTINUE START = 0 DO 810 I=1,9 PX(I) = RX(START+1) PY(I) = RY(START+1) START = MOD(START+4,9) 810 CONTINUE CALL GFA(9,PX,PY) C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate two prompts C***** for the lpfks (next and return). RMENU will call RCHOI C***** to wait for a valid choice selection and will pass that C***** selection back in CHNR. C***** C*********************************************************************** CALL RMENU(.FALSE.,CONT) C*********************************************************************** C***** C***** If user chose to continue viewing the cell array panels, C***** continue on. Otherwise, fall out the bottom and return C***** to the output primitive screen. C***** C*********************************************************************** IF (CONT) THEN C*********************************************************************** C***** C***** Call SETUPF and FINSHF to draw the border and title of C***** the demo frame. C***** C*********************************************************************** CALL SETUPF(.FALSE.,.FALSE.) CALL GTXS(TXTX,TXTY,15,'INTERIOR STYLES') CALL FINSHF(.FALSE.) C*********************************************************************** C***** C***** Draw four rectangles on the right side of the frame to C***** show each of the interior styles for fill areas. Label C***** each style appropriately on the left hand side. C***** C*********************************************************************** STARTX = 0.450 CALL GSCHH(0.050) CALL GSTXAL(GAHNOR,GAVNOR) CALL GSTXFP(GFONT1,GSTRKP) DO 830 I=1,4 STARTY = 0.950 - I * 0.220 DO 820 J=1,4 PX(J) = BLOCK(J) + STARTX PY(J) = BLOCK(J+4) + STARTY 820 CONTINUE STARTY = STARTY + 0.050 CALL GTXS(0.100,STARTY,10,TEXT(I)) IF (I.EQ.4) THEN CALL GSFASI(-(4)) ENDIF CALL GSFAIS(I-1) CALL GSFACI(I) CALL GFA(4,PX,PY) 830 CONTINUE CALL GSFASI(1) C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate two prompts C***** for the lpfks (next and return). RMENU will call RCHOI C***** to wait for a valid choice selection and will pass that C***** selection back in CHNR. C***** C*********************************************************************** CALL RMENU(.FALSE.,CONT) C*********************************************************************** C***** C***** If user chose to continue viewing the cell array panels, C***** continue on. Otherwise, fall out the bottom and return C***** to the output primitive screen. C***** C*********************************************************************** IF (CONT) THEN C*********************************************************************** C***** C***** Call SETUPF and FINSHF to draw the border and title of C***** the demo frame. C***** C*********************************************************************** CALL SETUPF(.FALSE.,.FALSE.) CALL GTXS(TXTX,TXTY,15,'TRANSFORMATIONS') CALL FINSHF(.FALSE.) C*********************************************************************** C***** C***** Show a picture of fill area transformations. Draw a C***** triangle and rotate it. Draw a hexagon and zoom it. C***** C*********************************************************************** CALL GSCHH(0.050) CALL GSTXFP(GFONT1,GSTRKP) CALL GSFACI(GLGREN) CALL GCRSG(1) CALL GSFAIS(GPATTR) CALL GFA(3,EXOR3(1),EXOR3(4)) CALL GCLSG CALL GCRSG(3) CALL GSFAIS(GSOLID) CALL GFA(3,RPLC3(1),RPLC3(4)) CALL GSFACI(GLGREN) CALL GFA(5,EXOR5(1),EXOR5(6)) CALL GCLSG CALL GSFAIS(GPATTR) CALL GCRSG(2) CALL GFA(5,RPLC5(1),RPLC5(6)) CALL GCLSG CALL GSVP(1,0.015,0.985,0.015,0.985) CALL GCRSG(5) CALL GTXS(0.550,0.825,8,'ROTATION') CALL GTXS(0.050,0.825,7,'ZOOMING') CALL GCLSG CALL RMENU(.FALSE.,CONT) CALL GEVTM(0.250,0.450,0.000,0.000,PI/4.0,1.0,1.0,0,TM) CALL GSSGT(1,TM) CALL GEVTM(0.750,0.400,0.000,0.000,0.0,0.5,0.5,0,TM) CALL GSSGT(2,TM) CALL GSVP(1,0.000,1.000,0.000,1.000) C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate to prompts C***** for the lpfks (next and return). RMENU will call RCHOI C***** to wait for a valid choice selection and will pass that C***** selection back in CHNR. C***** C*********************************************************************** CALL RMENU(.FALSE.,CONT) CALL GDSG(1259) C*********************************************************************** C***** C***** If user chose to continue viewing the text panels, C***** continue on. Otherwise, fall out the bottom and return C***** to the output primitive screen. C***** C*********************************************************************** IF (CONT) THEN C*********************************************************************** C***** C***** Call SETUPF and FINSHF to draw the border and title of C***** the demo frame. C***** C*********************************************************************** CALL SETUPF(.FALSE.,.FALSE.) CALL GTXS(TXTX,TXTY,12,'HATCH STYLES') CALL FINSHF(.FALSE.) C*********************************************************************** C***** C***** Draw a screen full of all the different hatch styles that C***** are supported by GKS-CO. C***** C*********************************************************************** CALL GSFAIS(GHATCH) CALL GSFACI (2) II = 0 DO 850 K=1,5 DO 840 J=1,4 II = II + 1 CALL GSFASI(-(II)) PX(1) = 0.09 + (J-1) * 0.21 PY(1) = 0.05 + (K-1) * 0.17 PX(2) = PX(1) + 0.19 PY(2) = PY(1) PX(3) = PX(2) PY(3) = PY(1) + 0.15 PX(4) = PX(1) PY(4) = PY(3) CALL GFA(4,PX,PY) 840 CONTINUE 850 CONTINUE C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate to prompt C***** for the lpfk (return). RMENU will call RCHOI to wait for C***** a valid choice selection and will pass that selection back C***** in CHNR. But in this case, the user could only select C***** return as a valid choice, so we will fall down to the C***** return statement and go back to the output primitves. C***** C*********************************************************************** CALL RMENU(.TRUE.,CONT) ENDIF ENDIF ENDIF RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: DEMOGD C***** C***** Subroutine Function: As there are no Generalized Drawing C***** primitives yet available in GKS-CO, C***** this routine simply fills the screen C***** with 'not available' and waits for C***** the user to chose to go on. C***** C***** Calls Subroutines: SETUPF,FINSHF,RMENU C***** C*********************************************************************** C*********************************************************************** SUBROUTINE DEMOGD REAL*4 TXTX,TXTY LOGICAL CONT COMMON /TEXT/ TXTX,TXTY CALL SETUPF(.TRUE.,.FALSE.) CALL GTXS(TXTX,TXTY,5,'G D P') CALL FINSHF(.TRUE.) CALL GTXS(0.10,0.350,13,'NOT AVAILABLE') CALL RMENU(.TRUE.,CONT) RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: DEMOPL C***** C***** Subroutine Function: Draw a car to demonstrate the C***** polyline output primitive. Draw the C***** different linetypes. Show the various C***** line attributes on a demo frame. And C***** draw two different pictures of the C***** sunflower star by using the same C***** x,y data but varying the viewport. C***** C***** Calls Subroutines: SETUPF,FINSHF,DRWHLS,RMENU C***** C*********************************************************************** C*********************************************************************** SUBROUTINE DEMOPL INCLUDE 'gkspar.inc' INTEGER*4 WKID,WTYPE,N,I,ERRIND,NLT,LT,NLW,NPPLI,K REAL*4 NOMLW,RLWMIN,RLWMAX REAL*4 OX(28),OY(28),KFX(26),KFY(26),UX(6),UY(6) REAL*4 DTX(11),DTY(11),MITX,MITY,R,ALPHA,RX(21),RY(21) REAL*4 T1X(2),T1Y(2),T2X(2),T3X(2),T3Y(2),T4X(4),T4Y(4) REAL*4 GR1X(2),GR2X(2),GR1Y(2),VDX(3),VDY(3) REAL*4 K1X(3),K1Y(3),K2X(3),K2Y(3),K3X(2),K3Y(2) REAL*4 G1X(2),G2X(2),G3X(2),G4X(2),G5X(2),G6X(2) REAL*4 G7X(2),G8X(2),G1Y(2),G2Y(2),G3Y(2),G4Y(2) REAL*4 G5Y(2),G6Y(2),G7Y(2),G8Y(2),XMIN,XMAX,YMIN,YMAX REAL*4 KOX(11),KOY(11),FIX(9),FIY(9) REAL*4 PLX(2),PLY(2),RLX(20),RLY(20) LOGICAL CONT COMMON /WINF/ WKID,WTYPE COMMON /TEXT/ TXTX,TXTY COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX C CAR DATA DATA OX /0.264,0.272,0.770,0.776,0.774,0.608,0.594,0.588, * 0.564,0.330,0.320,0.310,0.300,0.290,0.280,0.268, * 0.264,0.258,0.250,0.240,0.234,0.228,0.224,0.222, * 0.224,0.280,0.288,0.290/ DATA OY /0.396,0.398,0.400,0.406,0.416,0.418,0.464,0.466, * 0.468,0.468,0.466,0.462,0.456,0.445,0.430,0.400, * 0.396,0.394,0.390,0.380,0.370,0.348,0.320,0.296, * 0.286,0.284,0.286,0.304/ DATA KFX /0.222,0.230,0.286,0.300,0.310,0.321,0.340,0.358, * 0.370,0.378,0.388,0.394,0.398,0.400,0.574,0.584, * 0.726,0.736,0.746,0.760,0.770,0.780,0.792,0.802, * 0.808,0.812/ DATA KFY /0.296,0.300,0.350,0.360,0.366,0.370,0.372,0.370, * 0.364,0.358,0.346,0.332,0.316,0.294,0.294,0.297, * 0.371,0.373,0.374,0.372,0.370,0.366,0.358,0.346, * 0.332,0.310/ DATA UX /0.382,0.384,0.390,0.690,0.698,0.702/ DATA UY /0.302,0.286,0.282,0.282,0.290,0.302/ DATA DTX /0.584,0.584,0.580,0.576,0.572,0.564,0.550,0.320, * 0.308,0.295,0.280/ DATA DTY /0.297,0.399,0.424,0.440,0.448,0.452,0.454,0.454, * 0.452,0.448,0.430/ DATA T1X /0.480,0.484/ DATA T1Y /0.454,0.294/ DATA T2X /0.476,0.480/ DATA T3X /0.378,0.378/ DATA T3Y /0.454,0.358/ DATA T4X /0.584,0.590,0.598,0.608/ DATA T4Y /0.399,0.406,0.414,0.418/ DATA GR1X /0.462,0.472/ DATA GR1Y /0.386,0.386/ DATA GR2X /0.488,0.498/ DATA VDX /0.572,0.576,0.594/ DATA VDY /0.448,0.454,0.464/ DATA K1X /0.764,0.760,0.760/ DATA K1Y /0.416,0.400,0.372/ DATA K2X /0.774,0.770,0.770/ DATA K2Y /0.416,0.400,0.369/ DATA K3X /0.776,0.776/ DATA K3Y /0.406,0.368/ DATA KOX /0.793,0.795,0.812,0.816,0.824,0.822,0.816,0.806, * 0.796,0.786,0.776/ DATA KOY /0.314,0.306,0.310,0.312,0.324,0.336,0.350,0.368, * 0.376,0.380,0.382/ DATA G1X /0.670,0.672/ DATA G1Y /0.390,0.378/ DATA G2X /0.680,0.686/ DATA G2Y /0.390,0.352/ DATA G3X /0.690,0.696/ DATA G3Y /0.390,0.357/ DATA G4X /0.700,0.706/ DATA G4Y /0.390,0.363/ DATA G5X /0.710,0.715/ DATA G5Y /0.390,0.367/ DATA G6X /0.720,0.725/ DATA G6Y /0.390,0.371/ DATA G7X /0.730,0.735/ DATA G7Y /0.390,0.373/ DATA G8X /0.740,0.745/ DATA G8Y /0.390,0.374/ DATA FIX /0.766,0.766,0.768,0.760,0.776,0.768,0.772,0.774,0.774/ DATA FIY /0.416,0.420,0.420,0.434,0.428,0.428,0.420,0.420,0.416/ C*********************************************************************** C***** C***** Inquire information about the polyline facilities provided C***** by GKS-CO. Call subroutines SETUPF and FINSHF to draw the C***** border and title of the demo frame. Then draw the car C***** using all the data provided. The car will be red, the C***** hood ornament yellow, and the wheels white. C***** C*********************************************************************** CALL GQPLF(WTYPE,1,ERRIND,NLT,LT,NLW,NOMLW,RLWMIN,RLWMAX,NPPLI) CALL SETUPF(.TRUE.,.FALSE.) CALL GTXS(TXTX,TXTY,8,'POLYLINE') CALL FINSHF(.TRUE.) CALL GSWN(1,0.18,0.88,0.10,0.80) CALL GSPLCI(GRED) CALL GPL(28,OX,OY) CALL GPL(26,KFX,KFY) CALL GPL(6,UX,UY) CALL GPL(11,DTX,DTY) CALL GPL(11,KOX,KOY) CALL GPL(2,T1X,T1Y) CALL GPL(2,T2X,T1Y) CALL GPL(2,T3X,T3Y) CALL GPL(4,T4X,T4Y) CALL GPL(2,GR1X,GR1Y) CALL GPL(2,GR2X,GR1Y) CALL GPL(3,VDX,VDY) CALL GPL(3,K1X,K1Y) CALL GPL(3,K2X,K1Y) CALL GPL(2,K3X,K3Y) CALL GPL(2,G1X,G1Y) CALL GPL(2,G2X,G2Y) CALL GPL(2,G3X,G3Y) CALL GPL(2,G4X,G4Y) CALL GPL(2,G5X,G5Y) CALL GPL(2,G6X,G6Y) CALL GPL(2,G7X,G7Y) CALL GPL(2,G8X,G8Y) CALL GSPLCI(GYELOW) CALL GPL(9,FIX,FIY) C*********************************************************************** C***** C***** Change the color to grayish white and call subroutine C***** DRWHLS to draw each of the car wheels - inside and outside C***** borders. C***** C*********************************************************************** CALL GSPLCI(GGRAY) MITX = 0.336 MITY = 0.302 N = 14 R = 0.020 CALL DRWHLS(MITX,MITY,N,R) N = 20 R = 0.044 CALL DRWHLS(MITX,MITY,N,R) MITX = 0.748 N = 14 R = 0.020 CALL DRWHLS(MITX,MITY,N,R) N = 20 R = 0.044 CALL DRWHLS(MITX,MITY,N,R) MITX = 0.640 MITY = 0.350 N = 14 R = 0.020 CALL DRWHLS(MITX,MITY,N,R) R = 0.044 ALPHA = 3.80 DO 900 I=1,14 RX(I) = MITX + R * SIN(ALPHA) RY(I) = MITY + R * COS(ALPHA) ALPHA = ALPHA + 0.310 900 CONTINUE CALL GPL(14,RX,RY) CALL GSWN(1,0.0,1.0,0.0,1.0) C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate two prompts C***** for the lpfks (next and return). RMENU will call RCHOI C***** to wait for a valid choice selection and will pass that C***** selection back in CHNR. C***** C*********************************************************************** CALL RMENU(.FALSE.,CONT) C*********************************************************************** C***** C***** If user chose to continue viewing the polyline panels, C***** continue on. Otherwise, fall out the bottom and return C***** to the output primitive screen. C***** C*********************************************************************** IF (CONT) THEN C*********************************************************************** C***** C***** Call SETUPF and FINSHF to draw the border and title of C***** the demo frame. C***** C*********************************************************************** CALL SETUPF(.FALSE.,.FALSE.) CALL GTXS(TXTX,TXTY,9,'LINETYPES') CALL FINSHF(.FALSE.) C*********************************************************************** C***** C***** Draw a horizontal line in the linetype specified on the C***** left half of the demo frame for each linetype supported C***** by GKS-CO. C***** C*********************************************************************** RLX(1) = 0.60 PLX(1) = 0.05 PLX(2) = 0.45 CALL GSPLCI(GWHITE) DO 920 I=1,NLT CALL GSLN(I) PLY(1) = (0.90 - (0.98 * REAL(I) / REAL(NLT+1))) PLY(2) = PLY(1) CALL GPL(2,PLX,PLY) ALPHA = 0.0 RLY(1) = PLY(1) C*********************************************************************** C***** C***** Draw a fancy set of diagonal lines in each linetype. C***** C*********************************************************************** DO 910 J=1,5 RLX(2) = RLX(1) + 0.3 * SIN(ALPHA) RLY(2) = RLY(1) + (0.8 / REAL(NLT+1)) * COS(ALPHA) ALPHA = ALPHA + 3.141593 / 8.0 CALL GPL(2,RLX,RLY) 910 CONTINUE 920 CONTINUE C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate two prompts C***** for the lpfks (next and return). RMENU will call RCHOI C***** to wait for a valid choice selection and will pass that C***** selection back in CHNR. C***** C*********************************************************************** CALL RMENU(.FALSE.,CONT) C*********************************************************************** C***** C***** If user chose to continue viewing the polyline panels, C***** continue on. Otherwise, fall out the bottom and return C***** to the output primitive screen. C***** C*********************************************************************** IF (CONT) THEN C*********************************************************************** C***** C***** Call SETUPF and FINSHF to draw the border and title of C***** the demo frame. C***** C*********************************************************************** CALL SETUPF(.FALSE.,.FALSE.) CALL GTXS(TXTX,TXTY,10,'ATTRIBUTES') CALL FINSHF(.FALSE.) C*********************************************************************** C***** C***** Draw on the left half of the demo frame, a line of each C***** linetype and linewidth supported. C***** C*********************************************************************** RLX(1) = 0.60 PLX(1) = 0.05 RLX(1) = 0.45 CALL GSPLCI(GWHITE) DO 930 I = 1,NPPLI CALL GSLN(I) CALL GSLWSC(REAL(I)) PLY(1) = (0.92 - (0.92 * REAL(I) / REAL(NPPLI+1))) PLY(2) = PLY(1) CALL GPL(2,PLX,PLY) 930 CONTINUE C*********************************************************************** C***** C***** Draw on the right half of the demo frame, a star like C***** figure containing a line of each color supported by the C***** currently defined color table. C***** C*********************************************************************** RLX(17) = 0.75 RLY(17) = 0.50 ALPHA = 0.0 DO 940 I=1,16 RLX(I) = RLX(17) + 0.2 * SIN(ALPHA) RLY(I) = RLY(17) + 0.2 * COS(ALPHA) ALPHA = ALPHA + 3.141593 / 8.0 940 CONTINUE PLX(1) = RLX(17) PLY(1) = RLY(17) DO 950 I=1,16 PLX(2) = RLX(I) PLY(2) = RLY(I) CALL GSLN(GLSOLI) CALL GSLWSC(1.0) IF (I.EQ.16) THEN CALL GSPLCI(GWHITE) ELSE CALL GSPLCI(I) ENDIF CALL GPL(2,PLX,PLY) 950 CONTINUE C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate two prompts C***** for the lpfks (next and return). RMENU will call RCHOI C***** to wait for a valid choice selection and will pass that C***** selection back in CHNR. C***** C*********************************************************************** CALL RMENU(.FALSE.,CONT) C*********************************************************************** C***** C***** If user chose to continue viewing the polyline panels, C***** continue on. Otherwise, fall out the bottom and return C***** to the output primitive screen. C***** C*********************************************************************** IF (CONT) THEN C*********************************************************************** C***** C***** Call SETUPF and FINSHF to draw the border and title of C***** the demo frame. C***** C*********************************************************************** CALL SETUPF(.FALSE.,.FALSE.) CALL GTXS(TXTX,TXTY,4,'STAR') CALL FINSHF(.FALSE.) C*********************************************************************** C***** C***** Compute the coordinates of the sunflower star. C***** C*********************************************************************** N = 13 MITX = 0.50 MITY = 0.45 ALPHA = 0.0 DO 960 I=1,N RX(I) = MITX + 0.4 * SIN(ALPHA) RY(I) = MITY + 0.4 * COS(ALPHA) ALPHA = ALPHA + 2.0 * 3.141593 / REAL(N) 960 CONTINUE CALL GSPLCI(GLBLUE) DO 980 I=1,(N-1)/2 DO 970 J=0,N K = MOD(I*J,N) RLX(J+1) = RX(K+1) RLY(J+1) = RY(K+1) 970 CONTINUE C*********************************************************************** C***** C***** Draw two stars on the demo frame, using the same x,y data C***** and varying the viewport. C***** C*********************************************************************** CALL GSVP(1,0.00,0.60,0.35,0.95) CALL GPL(N+1,RLX,RLY) CALL GSVP(1,0.40,1.00,0.03,0.63) CALL GPL(N+1,RLX,RLY) 980 CONTINUE CALL GSVP(1,0.0,1.0,0.0,1.0) C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate one prompt C***** for the lpfk (return). RMENU will call RCHOI to wait for C***** a valid choice selection and will pass that selection back C***** in CHNR. But in this case, the user could only select C***** return as a valid choice, so we will fall down to the C***** return statement and go back to the output primitves. C***** C*********************************************************************** CALL RMENU(.TRUE.,CONT) ENDIF ENDIF ENDIF RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: DEMOPM C***** C***** Subroutine Function: This subroutine demonstrates the C***** polymarker output primitives and C***** its attributes: color and scale C***** factor. C***** C***** Calls Subroutines: SETUPF,FINSHF,RMENU C***** C*********************************************************************** C*********************************************************************** SUBROUTINE DEMOPM INCLUDE 'gkspar.inc' INTEGER*4 I REAL*4 PMX(1),PMY(1),TXTX,TXTY LOGICAL CONT COMMON /TEXT/ TXTX,TXTY C*********************************************************************** C***** C***** Call SETUPF and FINSHF to draw the border and title of C***** of the demo menu. Then use standard polymarker calls C***** to draw 3 rows of the various polymarker types in C***** different colors and sizes. C***** C*********************************************************************** CALL SETUPF(.TRUE.,.FALSE.) CALL GTXS(TXTX,TXTY,10,'POLYMARKER') CALL FINSHF(.TRUE.) CALL GSCHH(0.03) CALL GTXS(0.1,0.68,15,'STANDARD SIZE :') CALL GTXS(0.1,0.43,19,'5 X STANDARD SIZE :') CALL GTXS(0.1,0.18,14,'MINIMAL SIZE :') C*********************************************************************** C***** C***** Loop 5 times (once for each valid polymarker type) and C***** draw the polymarkers in varying colors and sizes. C***** C*********************************************************************** DO 1000 I=1,5 CALL GSMK(I) CALL GSMKSC(1.0) CALL GSPMCI(GWHITE) PMX(1) = (REAL(I) / 6.0) PMY(1) = 0.61 CALL GPM(1,PMX,PMY) CALL GSMKSC(5.0) CALL GSPMCI(GLBLUE) PMY(1) = 0.32 CALL GPM(1,PMX,PMY) CALL GSMKSC(1.0) CALL GSPMCI(GORNGE) PMY(1) = 0.13 CALL GPM(1,PMX,PMY) 1000 CONTINUE C*********************************************************************** C***** C***** Call RMENU to put up a choice prompt indicating that lpfk C***** 1 is return. RMENU will then call RCHOI to wait for choice C***** input and return when the 'return' choice is selected. C***** C*********************************************************************** CALL RMENU(.TRUE.,CONT) RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: DEMOTX C***** C***** Subroutine Function: This subroutne demonstrates the C***** text output primitive and its various C***** attributes: character expansion, C***** character height, character spacing, C***** character up vector, text color, C***** text font and precision, text path, C***** and text alignment. C***** C***** Calls Subroutines: SETUPF,FINSHF,RMENU C***** C*********************************************************************** C*********************************************************************** SUBROUTINE DEMOTX INCLUDE 'gkspar.inc' INTEGER*4 WKID,WTYPE,ERRIND,I REAL*4 PX,PY,PAX(1),PAY(1),XCHU,YCHU REAL*4 XMIN,XMAX,YMIN,YMAX,CPX,CPY,TXEXPX(4) REAL*4 TXEXPY(4),RH,MINCHH LOGICAL CONT CHARACTER HEIGHT(16)*1 CHARACTER*7 FONTNA(11) COMMON /WINF/ WKID,WTYPE COMMON /TEXT/ TXTX,TXTY COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX DATA FONTNA /'FONT 1 ','FONT 2 ','FONT 3 ','FONT 4 ', * 'FONT 5 ','FONT 6 ','FONT 7 ','FONT 8 ', * 'FONT 9 ','FONT 10','FONT 11'/ DATA HEIGHT /'C','H','A','R','A','C','T','E','R', * ' ','H','E','I','G','H','T'/ C*********************************************************************** C***** C***** Call subroutines SETUPF and FINSHF to draw the border and C***** border and title of the demo frame. Then draw the first C***** panel which says 'Select Text Attributes' in three C***** diagonal lines of different colors. C***** C*********************************************************************** MINCHH = 0.002 CALL SETUPF(.TRUE.,.FALSE.) CALL GTXS(TXTX,TXTY,4,'TEXT') CALL FINSHF(.TRUE.) CALL GSCHH(0.08) CALL GSTXFP(GFONT1,GSTRKP) CALL GSTXCI(GORNGE) CALL GSCHUP(-1.0,2.0) CALL GTXS(0.20,0.40,6,'SELECT') CALL GSCHXP(2.0) CALL GSTXCI(GLBLUE) CALL GTXS(0.08,0.16,4,'TEXT') CALL GSCHXP(1.0) CALL GSTXCI(GMGREN) CALL GTXS(0.32,0.10,10,'ATTRIBUTES') CALL GSCHUP(0.0,1.0) C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate two prompts C***** for the lpfks (next and return). RMENU will call RCHOI C***** to wait for a valid choice selection and will pass that C***** selection back in CHNR. C***** C*********************************************************************** CALL RMENU(.FALSE.,CONT) C*********************************************************************** C***** C***** If user chose to continue viewing the text panels, C***** continue on. Otherwise, fall out the bottom and return C***** to the output primitive screen. C***** C*********************************************************************** IF (CONT) THEN C*********************************************************************** C***** C***** Call SETUPF and FINSHF to draw the border and title of C***** the demo frame. C***** C*********************************************************************** CALL SETUPF(.FALSE.,.FALSE.) CALL GTXS(TXTX,TXTY,18,'FONT AND PRECISION') CALL FINSHF(.FALSE.) C*********************************************************************** C***** C***** Draw a series of demo panels which show 11 of the text C***** fonts supported by GKS-CO. The panels will show font one C***** and two in the top half of the panel and then via segments, C***** change the bottom font each time the user selects the C***** continue choice key. C***** C*********************************************************************** CALL GSCHH(0.1) CALL GSTXAL(GAHNOR,GAHALF) CALL GSTXCI(GRED) DO 1100 I=1,3 CALL GCRSG(1001) CALL GSTXFP(I*3-2,GSTRKP) CALL GTXS(0.15,0.25,6,FONTNA(I*3-2)) CALL GSTXFP(I*3-1,GSTRKP) CALL GTXS(0.15,0.50,6,FONTNA(I*3-1)) CALL GSTXFP(I*3,GSTRKP) CALL GTXS(0.15,0.75,7,FONTNA(I*3)) CALL GCLSG CALL RMENU(.FALSE.,CONT) CALL GDSG(1001) CALL GUWK(WKID,1) IF (.NOT.(CONT)) GOTO 1110 1100 CONTINUE 1110 CONTINUE CALL GDSG(1259) C*********************************************************************** C***** C***** If user chose to continue viewing the text panels, C***** continue on. Otherwise, fall out the bottom and return C***** to the output primitive screen. C***** C*********************************************************************** IF (CONT) THEN C*********************************************************************** C***** C***** Reset the text alignment, font and precision. C***** C*********************************************************************** CALL GSTXAL(GAHNOR,GAVNOR) CALL GSTXFP(GFONT1,GSTRKP) C*********************************************************************** C***** C***** Call SETUPF and FINSHF to draw the border and title of C***** the demo frame. C***** C*********************************************************************** CALL SETUPF(.FALSE.,.FALSE.) CALL GTXS(TXTX,TXTY,6,'HEIGHT') CALL FINSHF(.FALSE.) C*********************************************************************** C***** C***** Show how the character height can be varied by drawing C***** the letters 'character height', each in a different height. C***** C*********************************************************************** PX = 0.025 PY = 0.30 RH = 3.0 * MINCHH CALL GSTXCI(GGREEN) CALL GSTXFP(GFONT1,GSTRKP) DO 1120 I=1,16 CALL GSCHH(RH) CALL GTXS(PX,PY,1,HEIGHT(I)) CALL GQTXXS(WKID,PX,PY,1,HEIGHT(I),ERRIND,CPX,CPY, * TXEXPX,TXEXPY) PX = CPX RH = RH + 0.0085 1120 CONTINUE C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate to prompts C***** for the lpfks (next and return). RMENU will call RCHOI C***** to wait for a valid choice selection and will pass that C***** selection back in CHNR. C***** C*********************************************************************** CALL RMENU(.FALSE.,CONT) C*********************************************************************** C***** C***** If user chose to continue viewing the text panels, C***** continue on. Otherwise, fall out the bottom and return C***** to the output primitive screen. C***** C*********************************************************************** IF (CONT) THEN C*********************************************************************** C***** C***** Call SETUPF and FINSHF to draw the border and title of C***** the demo frame. C***** C*********************************************************************** CALL SETUPF(.FALSE.,.FALSE.) CALL GTXS(TXTX,TXTY,9,'UP-VECTOR') CALL FINSHF(.FALSE.) C*********************************************************************** C***** C***** Show how the character up-vector can be varied by drawing C***** the word 'GKS' in a circle with each word a different C***** color and in a different 'up' position. C***** C*********************************************************************** CALL GSWN(1,-0.050,1.050,-0.020,1.080) PX = 0.58 PY = 0.05 XCHU = -0.5 YCHU = 1.0 CALL GSCHH(0.04) CALL GSTXFP(GFONT1,GSTRKP) DO 1130 I=1,16 IF (I.EQ.16) THEN CALL GSTXCI(I-1) ELSE CALL GSTXCI(I) ENDIF CALL GSCHUP(XCHU,YCHU) CALL GTXS(PX,PY,5,' GKS ') CALL GQTXXS(WKID,PX,PY,5,' GKS ',ERRIND,CPX,CPY, * TXEXPX,TXEXPY) PX = CPX PY = CPY IF ((I.GE.2).AND.(I.LE.5)) THEN YCHU = YCHU - 0.5 ELSE IF ((I.GE.6).AND.(I.LE.9)) THEN XCHU = XCHU + 0.5 ELSE IF ((I.GE.10).AND.(I.LE.13)) THEN YCHU = YCHU + 0.5 ELSE XCHU = XCHU - 0.5 ENDIF ENDIF ENDIF 1130 CONTINUE CALL GSCHUP(0.0,1.0) CALL GSWN(1,0.00,1.00,0.00,1.00) C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate to prompts C***** for the lpfks (next and return). RMENU will call RCHOI C***** to wait for a valid choice selection and will pass that C***** selection back in CHNR. C***** C*********************************************************************** CALL RMENU(.FALSE.,CONT) C*********************************************************************** C***** C***** If user chose to continue viewing the text panels, C***** continue on. Otherwise, fall out the bottom and return C***** to the output primitive screen. C***** C*********************************************************************** IF (CONT) THEN C*********************************************************************** C***** C***** Call SETUPF and FINSHF to draw the border and title of C***** the demo frame. C***** C*********************************************************************** CALL SETUPF(.FALSE.,.FALSE.) CALL GTXS(TXTX,TXTY,9,'EXPANSION') CALL FINSHF(.FALSE.) C*********************************************************************** C***** C***** Show the effects of the character expansion attribute by C***** varying the expansion factor and writing out the word C***** 'expansion' four times. C***** C*********************************************************************** PX = 0.03 PY = 0.75 CALL GSCHH(0.1) CALL GSTXCI(GORNGE) CALL GSTXFP(GFONT1,GSTRKP) CALL GSVP(1,0.015,0.985,0.015,0.900) DO 1140 I=1,4 CALL GSCHXP(0.2 + REAL(I) * 0.30) CALL GTXS(PX,PY,9,'EXPANSION') PY = PY - 0.2 1140 CONTINUE CALL GSCHXP(1.0) CALL GSVP(1,0.0,1.0,0.0,1.0) C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate to prompts C***** for the lpfks (next and return). RMENU will call RCHOI C***** to wait for a valid choice selection and will pass that C***** selection back in CHNR. C***** C*********************************************************************** CALL RMENU(.FALSE.,CONT) C*********************************************************************** C***** C***** If user chose to continue viewing the text panels, C***** continue on. Otherwise, fall out the bottom and return C***** to the output primitive screen. C***** C*********************************************************************** IF (CONT) THEN C*********************************************************************** C***** C***** Call SETUPF and FINSHF to draw the border and title of C***** the demo frame. C***** C*********************************************************************** CALL SETUPF(.FALSE.,.FALSE.) CALL GTXS(TXTX,TXTY,4,'PATH') CALL FINSHF(.FALSE.) C*********************************************************************** C***** C***** Show the effects of the character path attribute by C***** drawing the words 'right', 'left', 'up', and 'down' C***** with their corresponding paths set. C***** C*********************************************************************** PX = 0.48 PY = 0.50 CALL GSTXCI(GWHITE) CALL GSTXFP(GFONT1,GSTRKP) CALL GSCHH(0.08) CALL GTXS(PX,PY,6,' RIGHT') CALL GSTXP(GLEFT) CALL GTXS(PX,PY,5,' LEFT') CALL GSTXP(GUP) CALL GTXS(PX,PY,3,' UP') CALL GSTXP(GDOWN) CALL GTXS(PX,PY,4,'DOWN') CALL GSTXP(GRIGHT) C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate to prompts C***** for the lpfks (next and return). RMENU will call RCHOI C***** to wait for a valid choice selection and will pass that C***** selection back in CHNR. C***** C*********************************************************************** CALL RMENU(.FALSE.,CONT) C*********************************************************************** C***** C***** If user chose to continue viewing the text panels, C***** continue on. Otherwise, fall out the bottom and return C***** to the output primitive screen. C***** C*********************************************************************** IF (CONT) THEN C*********************************************************************** C***** C***** Call SETUPF and FINSHF to draw the border and title of C***** the demo frame. C***** C*********************************************************************** CALL SETUPF(.FALSE.,.FALSE.) CALL GTXS(TXTX,TXTY,9,'ALIGNMENT') CALL FINSHF(.FALSE.) C*********************************************************************** C***** C***** Show the effects of the text alignment attribute by C***** displaying words that correspond with the various C***** alignment settings. C***** C*********************************************************************** CALL GSWN(1,-0.020,1.080,-0.050,1.050) PAX(1) = 0.02 PAY(1) = 0.720 CALL GSCHH(0.05) CALL GSTXFP(GFONT1,GSTRKP) CALL GSTXCI(GMAGNT) CALL GSPMCI(GWHITE) DO 1150 I=1,5 CALL GPM(1,PAX,PAY) CALL GSTXAL(GAHNOR,I) IF (I.EQ.1) THEN CALL GTXS(PAX,PAY,4,'TOP ') CALL GQTXXS(WKID,PAX,PAY,4,'TOP ',ERRIND, * CPX,CPY,TXEXPX,TXEXPY) ELSE IF (I.EQ.2) THEN CALL GTXS(PAX,PAY,4,'CAP ') CALL GQTXXS(WKID,PAX,PAY,4,'CAP ',ERRIND, * CPX,CPY,TXEXPX,TXEXPY) ELSE IF (I.EQ.3) THEN CALL GTXS(PAX,PAY,5,'HALF ') CALL GQTXXS(WKID,PAX,PAY,5,'HALF ',ERRIND, * CPX,CPY,TXEXPX,TXEXPY) ELSE IF (I.EQ.4) THEN CALL GTXS(PAX,PAY,5,'BASE ') CALL GQTXXS(WKID,PAX,PAY,5,'HALF ',ERRIND, * CPX,CPY,TXEXPX,TXEXPY) ELSE IF (I.EQ.5) THEN CALL GTXS(PAX,PAY,6,'BOTTOM') ENDIF ENDIF ENDIF ENDIF ENDIF PAX(1) = CPX 1150 CONTINUE PAX(1) = 0.50 PAY(1) = 0.40 CALL GSCHH(0.1) CALL GSTXAL(GACENT,GAVNOR) CALL GPM(1,PAX,PAY) CALL GTXS(PAX,PAY,6,'CENTER') PAY(1) = 0.25 CALL GSTXAL(GARITE,GAVNOR) CALL GPM(1,PAX,PAY) CALL GTXS(PAX,PAY,5,'RIGHT') PAY(1) = 0.10 CALL GSCHH(0.1) CALL GSTXAL(GALEFT,GAVNOR) CALL GPM(1,PAX,PAY) CALL GTXS(PAX,PAY,4,'LEFT') CALL GSTXAL(GAHNOR,GAVNOR) CALL GSWN(1,0.00,1.00,0.00,1.00) C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate to prompts C***** for the lpfks (next and return). RMENU will call RCHOI C***** to wait for a valid choice selection and will pass that C***** selection back in CHNR. C***** C*********************************************************************** CALL RMENU(.FALSE.,CONT) C*********************************************************************** C***** C***** If user chose to continue viewing the text panels, C***** continue on. Otherwise, fall out the bottom and return C***** to the output primitive screen. C***** C*********************************************************************** IF (CONT) THEN C*********************************************************************** C***** C***** Call SETUPF and FINSHF to draw the border and title of C***** the demo frame. C***** C*********************************************************************** CALL SETUPF(.FALSE.,.FALSE.) CALL GTXS(TXTX,TXTY,7,'SPACING') CALL FINSHF(.FALSE.) C*********************************************************************** C***** C***** Show the effects of the character spacing attribute by C***** vaying the spacing factor and writing out the sentence C***** 'GKS - OH WHAT A MESS'. C***** C*********************************************************************** PX = 0.03 PY = 0.75 CALL GSTXFP(GFONT1,GSTRKP) CALL GSCHH(0.07) CALL GSTXCI(GLGREN) CALL GSVP(1,0.015,0.985,0.015,0.900) DO 1160 I=1,4 CALL GSCHSP(-0.8 + REAL(I) * 0.3) CALL GTXS(PX,PY,16,'GKS - SPACED OUT') PY = PY - 0.2 1160 CONTINUE CALL GSCHSP(0.0) CALL GSVP(1,0.0,1.0,0.0,1.0) C*********************************************************************** C***** C***** Call RMENU to use pack data record to indicate to prompt C***** for the lpfk (return). RMENU will call RCHOI to wait for C***** a valid choice selection and will pass that selection back C***** in CHNR. But in this case, the user could only select C***** return as a valid choice, so we will fall down to the C***** return statement and go back to the output primitves. C***** C*********************************************************************** CALL RMENU(.TRUE.,CONT) ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: DRWHLS C***** C***** Subroutine Function: Draw a the wheels for the car picture C***** through this common subroutine. C***** C*********************************************************************** C*********************************************************************** SUBROUTINE DRWHLS(MITX,MITY,N,R) INTEGER*4 N,I REAL*4 MITX,MITY,R,ALPHA,RX(21),RY(21) ALPHA = 0.0 DO 1200 I=1,N RX(I) = MITX + R * SIN(ALPHA) RY(I) = MITY + R * COS(ALPHA) ALPHA = ALPHA + 2.0 * 3.141593 / REAL(N) 1200 CONTINUE RX(N+1) = RX(1) RY(N+1) = RY(1) CALL GPL(N+1,RX,RY) RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: FINSHF C***** C***** Subroutine Function: Finish the border border for each C***** screen of the demo. C***** C*********************************************************************** C*********************************************************************** SUBROUTINE FINSHF(MFRAME) INCLUDE 'gkspar.inc' REAL*4 PX2(5),PY3(5),PY5(5) LOGICAL MFRAME DATA PX2 /0.015,0.015,0.985,0.985,0.015/ DATA PY3 /0.015,0.750,0.750,0.015,0.015/ DATA PY5 /0.015,0.900,0.900,0.015,0.015/ IF (MFRAME) THEN CALL GPL (5,PX2,PY3) ELSE CALL GPL(5,PX2,PY5) ENDIF CALL GSTXFP(GFONT1,GSTRKP) CALL GSTXAL(GAHNOR,GAVNOR) CALL GCLSG RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: INTCRE C***** C***** Subroutine Function: This subroutine will create a new C***** segment. The user can choose to C***** create a segment with a polyline, C***** polymarker, fill area or text in it. C***** C***** Calls Subroutines: RCHOI,CREPLN,CREPMK,CREFA,CRETXT C***** C*********************************************************************** C*********************************************************************** SUBROUTINE INTCRE INCLUDE 'gkspar.inc' INTEGER*4 WKID,WTYPE,CHNR,ERRIND INTEGER*4 NELVAL,LCHVAL(1),LDRVAL INTEGER*4 NELPRM,LCHPRM(5),LDRPRM REAL*4 XMIN,XMAX,YMIN,YMAX CHARACTER*1 MENVAL(1) CHARACTER*80 DTRVAL(1) CHARACTER*12 MENPRM(5) CHARACTER*80 DTRPRM(5) COMMON /WINF/ WKID,WTYPE COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX DATA MENVAL /' '/ DATA LCHVAL /1/ DATA NELVAL /1/ DATA MENPRM /'POLYLINE','POLYMARKER','FILL AREA','TEXT','RETURN'/ DATA LCHPRM /8,10,9,4,6/ DATA NELPRM /5/ C*********************************************************************** C***** C***** Initialize the valuator for scale factors requested C***** later. Initialize the choice device and call RCHOI to C***** wait for the user to select which type of segment it C***** wishes to create: polyline, polymarker, fill area or C***** text. Call the appropriate subroutine based on that C***** selection or exit (choice number = 5). C***** C*********************************************************************** CALL GPREC(0,0,0,0.0,NELVAL,LCHVAL,MENVAL,NELVAL,ERRIND, * LDRVAL,DTRVAL) CALL GINVL(WKID,1,1.0,1,((XMAX-XMIN) * 0.66 + XMIN),XMAX, * YMIN,YMAX,0.0,10.0,LDRVAL,DTRVAL) CALL GPREC(0,0,0,0.0,NELPRM,LCHPRM,MENPRM,NELPRM, * ERRIND,LDRPRM,DTRPRM) 1300 CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LDRPRM,DTRPRM) CALL GMSGS(WKID,23,'SELECT OUTPUT PRIMITIVE') CALL RCHOI(WKID,5,CHNR) C*********************************************************************** C***** C***** Call the appropriate subroutine based on the choice C***** returned from the user. If choice was RETURN (lpfk 5), C***** exit back to main interactive menu panel. C***** C*********************************************************************** IF (CHNR.EQ.1) THEN CALL CREPLN ELSE IF (CHNR.EQ.2) THEN CALL CREPMK ELSE IF (CHNR.EQ.3) THEN CALL CREFA ELSE IF (CHNR.EQ.4) THEN CALL CRETXT ELSE GOTO 1310 ENDIF ENDIF ENDIF ENDIF GOTO 1300 1310 RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: INTDEL C***** C***** Subroutine Function: Deletes a segment which is picked C***** by the user with the locator C***** device. C***** C***** Calls Subroutine: CRSEGM C***** C*********************************************************************** C*********************************************************************** SUBROUTINE INTDEL INCLUDE 'gkspar.inc' INTEGER*4 WKID,WTYPE,STAT,SGNA,PCID LOGICAL SGNAME(50) COMMON /WINF/ WKID,WTYPE C The AIX fortran compiler only allows common blocks to be C dimensioned once. The following line was modifed for AIX port. c2071 COMMON /SEGM/ SGNAME C*********************************************************************** C***** C***** Call subroutine CRSEGM to create a segment and draw C***** a red box with 'RETURN' in it in the upper left hand C***** corner of the screen. This segment can be picked by C***** the user when it wants to return to the previous menu C***** frame (segment number = 6). If a valid segment was C***** picked, either delete the segment and wait for the C***** next input, or return. C***** C*********************************************************************** CALL CRSEGM 1400 CALL GMSGS(WKID,32,'PICK SEGMENT TO DELETE OR RETURN') 1410 CALL GRQPK(WKID,1,STAT,SGNA,PCID) IF (STAT.EQ.1) THEN IF (SGNA.GE.7) THEN SGNAME(SGNA) = .FALSE. CALL GDSG(SGNA) GOTO 1400 ELSE CALL GDSG(6) ENDIF ELSE GOTO 1410 ENDIF RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: INTER C***** C***** Subroutine Function: This subroutine will demonstrate the C***** use of GKS in doing interactive C***** graphics functions. It will also use C***** the valuator and stroke input devices C***** for the first time. C***** C***** Calls Subroutines: RCHOI,INTCRE,INTINS,INTTRA,INTDEL C***** C*********************************************************************** C*********************************************************************** SUBROUTINE INTER INCLUDE 'gkspar.inc' INTEGER*4 WKID,WTYPE,WISS,CHNR,NUMELA,LCHSTR(5),LENGTH,ERRIND REAL*4 FRAME(10),FA3(6),FA4(8),FA5(10),XMIN,XMAX,YMIN,YMAX CHARACTER*12 MENU(5) CHARACTER*80 DTREC(5) LOGICAL SGNAME(50) COMMON /WINF/ WKID,WTYPE C The AIX fortran compiler only allows common blocks to be C dimensioned once. The following line was modifed for AIX port. c2071 COMMON /SEGM/ SGNAME COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX DATA MENU /'CREATE','INSERT','TRANSFORM','DELETE','RETURN'/ DATA LCHSTR /6,6,9,6,6/ DATA NUMELA /5/ DATA FRAME /0.000,0.000,1.000,1.000,0.000, * 0.000,1.000,1.000,0.000,0.000/ DATA FA3 /0.400,0.600,0.600,0.400,0.400,0.800/ DATA FA4 /0.100,0.200,0.300,0.200,0.200,0.100,0.200,0.300/ DATA FA5 /0.300,0.400,0.350,0.250,0.200, * 0.600,0.500,0.400,0.400,0.500/ C*********************************************************************** C***** C***** Open the WISS workstation. Initialize the list of segments C***** available (SGNAME) to available (false). The first six are C***** used by GKSDEMO and therefore never checked for their C***** availibility. C***** C*********************************************************************** WISS = WKID + 1 CALL GOPWK(WISS,1,3) CALL GACWK(WISS) DO 1500 I=7,50 SGNAME(I) = .FALSE. 1500 CONTINUE C*********************************************************************** C***** C***** Clear the workstation and draw the initial screen for the C***** interactive portion of the demo. This screen consists of C***** three segments: one containing a red, hollow triangle. A C***** second segment containing a blue, hatched pentagon. And a C***** third segment containing a green, solid square. C***** C*********************************************************************** CALL GCLRWK(WKID,1) CALL GSLN(GLSOLI) CALL GSLWSC(1.0) CALL GSPLCI(GYELOW) CALL GPL(5,FRAME(1),FRAME(6)) CALL GCRSG(7) CALL GSDTEC(7,GDETEC) CALL GSFAIS(GHOLLO) CALL GSFACI(GRED) CALL GFA(3,FA3(1),FA3(4)) CALL GCLSG SGNAME(7) = .TRUE. CALL GCRSG(8) CALL GSDTEC(8,GDETEC) CALL GSFAIS(GHATCH) CALL GSFACI(GBLUE) CALL GFA(5,FA5(1),FA5(6)) CALL GCLSG SGNAME(8) = .TRUE. CALL GCRSG(9) CALL GSDTEC(9,GDETEC) CALL GSFAIS(GSOLID) CALL GSFACI(GGREEN) CALL GFA(4,FA4(1),FA4(5)) CALL GCLSG SGNAME(9) = .TRUE. C*********************************************************************** C***** C***** Initialize the choice device and call subroutine RCHOI to C***** wait for one of the following choices: C***** Choice 1: Create Segment C***** 2: Insert Segment C***** 3: Transform Segment C***** 4: Delete Segment C***** 5: Return C***** Call the appropriate function depending on the input C***** received from the choice device, or exit. C***** C*********************************************************************** CALL GPREC(0,0,0,0.0,NUMELA,LCHSTR,MENU,NUMELA, * ERRIND,LENGTH,DTREC) 1510 CALL GMSGS(WKID,1,' ') CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LENGTH,DTREC) CALL RCHOI(WKID,5,CHNR) IF (CHNR.EQ.1) THEN CALL INTCRE ELSE IF (CHNR.EQ.2) THEN CALL INTINS ELSE IF (CHNR.EQ.3) THEN CALL INTTRA ELSE IF (CHNR.EQ.4) THEN CALL INTDEL ELSE GOTO 1520 ENDIF ENDIF ENDIF ENDIF GOTO 1510 1520 CALL GDAWK(WISS) CALL GCLWK(WISS) RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: INTINS C***** C***** Subroutine Function: This subroutine will insert chosen C***** segments into a new segment and C***** delete the old segment(s). C***** C***** Calls Subroutines: CRSEGM C***** C*********************************************************************** C*********************************************************************** SUBROUTINE INTINS INCLUDE 'gkspar.inc' INTEGER*4 WKID,WTYPE,I,STAT,SGNA,PCID REAL*4 TM(2,3) LOGICAL SGNAME(50) COMMON /WINF/ WKID,WTYPE C The AIX fortran compiler only allows common blocks to be C dimensioned once. The following line was modifed for AIX port. c2071 COMMON /SEGM/ SGNAME C*********************************************************************** C***** C***** Set up a transformation matrix to hold new segment data. C***** Loop through list of segment numbers (segments 1 - 6 are C***** reserved for GKSDEMO use) and find the first free segment. C***** C*********************************************************************** CALL GEVTM(0.0,0.0,0.0,0.0,0.0,1.0,1.0,1,TM) DO 1600 I=7,50 IF (.NOT.(SGNAME(I))) THEN GOTO 1610 ENDIF 1600 CONTINUE CALL GMSGS(WKID,32,'NO MORE THAN 50 SEGMENTS ALLOWED') GOTO 1640 1610 CALL CRSEGM C*********************************************************************** C***** C***** Create a new segment and wait for the user to choose all C***** existing segments it wants added to the new segment. C***** C*********************************************************************** SGNAME(I) = .TRUE. CALL GCRSG(I) CALL GSDTEC(I,1) CALL GSVIS(I,1) 1620 CALL GMSGS(WKID,32,'PICK SEGMENT TO INSERT OR RETURN') 1630 CALL GRQPK(WKID,1,STAT,SGNA,PCID) IF (STAT.EQ.1) THEN C*********************************************************************** C***** C***** If user picked an existing segment for inserting, insert C***** the segment in the new segment and delete the old one. C***** Continue loop until user chooses 'return' (segment 6). C***** C*********************************************************************** IF (SGNA.GE.7) THEN CALL GINSG(SGNA,TM) CALL GDSG(SGNA) SGNAME(SGNA) = .FALSE. GOTO 1620 ELSE CALL GCLSG CALL GDSG(6) GOTO 1640 ENDIF ELSE GOTO 1630 ENDIF 1640 RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: INTTRA C***** C***** Subroutine Function: Perform transformations on selected C***** segments, allowing the user to C***** input the various transformation C***** variables: fixed point, shift C***** factor, rotation angle and x,y C***** scaling factors. C***** C***** Calls Subroutine: RCHOI C***** C*********************************************************************** C*********************************************************************** SUBROUTINE INTTRA INCLUDE 'gkspar.inc' INTEGER*4 WKID,WTYPE,CHNR1,ERRIND,SW INTEGER*4 STAT,SGNA,PCID,NUMEL1,LCHST1(6),LENGT1,STATVL INTEGER*4 VIS,HIGHL,DET,NUMEL2,LCHST2(1),LENGT2,STATLC,TNR REAL*4 XMIN,XMAX,YMIN,YMAX REAL*4 SEGTM(2,3),SGPR,X0,Y0,DX,DY,PHI,FX,FY REAL*4 MOUT(2,3),PX1(1),PY1(1),SCFACT,PX2(1),PY2(1) CHARACTER*12 MENU1(6) CHARACTER*1 MENU2(1) CHARACTER*80 DTREC1(6) CHARACTER*80 DTREC2(1) COMMON /WINF/ WKID,WTYPE COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX DATA MENU1 /'TRANS-SGMT','FIXPOINT','SHIFT','ROTATE','SCALING', 1 'RETURN'/ DATA LCHST1 /10,8,5,6,7,6/ DATA NUMEL1 /6/ DATA MENU2 /' '/ DATA LCHST2 /1/ DATA NUMEL2 /1/ C*********************************************************************** C***** C***** Set up the transformation default values. Use pack data C***** record to set up the prompts for the choice device. The C***** choices are: transformation segment, fixed point, shift, C***** rotate and scaling factors, and return. C***** C*********************************************************************** X0 = 0.5 Y0 = 0.5 DX = 0.0 DY = 0.0 PHI = 0.0 FX = 1.0 FY = 1.0 SW = 0 CALL GSMK(GAST) CALL GSMKSC(1.0) CALL GSPMCI(GBLUE) CALL GPREC(0,0,0,0.0,NUMEL1,LCHST1,MENU1,NUMEL1, * ERRIND,LENGT1,DTREC1) CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LENGT1,DTREC1) 1700 CALL GMSGS(WKID,26,' SELECT FOR TRANSFORMATION') CALL RCHOI(WKID,6,CHNR1) C*********************************************************************** C***** C***** If the user chose to pick the transformation segment, C***** then call subroutine to add a pickable segment for C***** 'RETURN' (segment 6). Read the segment number that was C***** picked. If not the return segment, then perform the C***** transformation with the current values in each of the C***** transformation parameters. Otherwise, delete segment 6 C***** (return segment) and exit the transformation routine. C***** C*********************************************************************** IF (CHNR1.EQ.1) THEN CALL CRSEGM CALL GMSGS(WKID,22,'PICK SEGMENT OR RETURN') 1710 CALL GRQPK(WKID,1,STAT,SGNA,PCID) IF (STAT.EQ.1) THEN IF (SGNA.GE.7) THEN CALL GQSGA(SGNA,ERRIND,SEGTM,VIS,HIGHL,SGPR,DET) CALL GACTM(SEGTM,X0,Y0,DX,DY,PHI,FX,FY,SW,MOUT) CALL GSSGT(SGNA,MOUT) CALL GMSGS(WKID,27,'PICK NEXT SEGMENT OR RETURN') GOTO 1710 ELSE CALL GDSG(6) ENDIF ENDIF ELSE C*********************************************************************** C***** C***** Set up the pick device so that the user can enter a C***** fixed point using the locator device. Once a fixed point C***** has been returned, exit back to the main choice panel. C***** C*********************************************************************** IF (CHNR1.EQ.2) THEN CALL GPREC(0,0,0,0.0,NUMEL2,LCHST2,MENU2,NUMEL2, * ERRIND,LENGT2,DTREC2) CALL GINLC(WKID,1,1,0.1,0.1,2,XMIN,XMAX,YMIN,YMAX, * LENGT2,DTREC2) CALL GMSGS(WKID,17,'LOCATE FIX POINT') 1720 CALL GRQLC(WKID,1,STATLC,TNR,PX1(1),PY1(1)) IF (STATLC.EQ.1) THEN X0 = PX1(1) Y0 = PY1(1) ELSE GOTO 1720 ENDIF ELSE C*********************************************************************** C***** C***** Set up the pick device so that the user can enter two C***** point from which the shift factor can be determined. C***** Once both points have been entered, calculate the shift C***** factors and return to the main choice panel. C***** C*********************************************************************** IF (CHNR1.EQ.3) THEN CALL GINLC(WKID,1,1,0.1,0.1,3,XMIN,XMAX,YMIN,YMAX, * LENGT2,DTREC2) CALL GMSGS(WKID,18,'LOCATE FIRST POINT') 1730 CALL GRQLC(WKID,1,STATLC,TNR,PX1(1),PY1(1)) IF (STATLC.EQ.1) THEN CALL GPREC(1,0,0,0.0,0,LCHST2,MENU2,NUMEL2, * ERRIND,LENGT2,DTREC2) CALL GINLC(WKID,1,1,PX1(1),PY1(1),4,XMIN,XMAX, * YMIN,YMAX,LENGT2,DTREC2) CALL GMSGS(WKID,19,'LOCATE SECOND POINT') 1740 CALL GRQLC(WKID,1,STATLC,TNR,PX2(1),PY2(1)) IF (STATLC.EQ.1) THEN DX = PX2(1) - PX1(1) DY = PY2(1) - PY1(1) ELSE GOTO 1740 ENDIF ELSE GOTO 1730 ENDIF ELSE C*********************************************************************** C***** C***** Use the valuator input to determine the rotation angle in C***** radians. Once input from the valuator has been received C***** (user turns valuator and then hits ENTER), return back to C***** the main transformation choice panel. C***** C*********************************************************************** IF (CHNR1.EQ.4) THEN CALL GINVL(WKID,1,1.0,1,((XMAX-XMIN) * 0.66 + XMIN), * XMAX,YMIN,YMAX,0.0,6.2832,LENGT2,DTREC2) CALL GMSGS(WKID,35, * 'EVALUATE ROTATION ANGLE IN RADIANS') 1750 CALL GRQVL(WKID,1,STATVL,SCFACT) IF (STATVL.EQ.1) THEN PHI = SCFACT ELSE GOTO 1750 ENDIF ELSE C*********************************************************************** C***** C***** Use the valuator input to determine the x and y scaling C***** factors. Once both values have been received (user turns C***** valuator and then hits ENTER), return back to the main C***** transformation choice panel. C***** C*********************************************************************** IF (CHNR1.EQ.5) THEN CALL GINVL(WKID,1,1.0,1, * ((XMAX-XMIN) * 0.66 + XMIN),XMAX, * YMIN,YMAX,0.0,5.0,LENGT2,DTREC2) CALL GMSGS(WKID,25,'EVALUATE X - SCALE FACTOR') 1760 CALL GRQVL(WKID,1,STATVL,SCFACT) IF (STATVL.EQ.1) THEN FX = SCFACT CALL GMSGS(WKID,25,'EVALUATE Y - SCALE FACTOR') 1770 CALL GRQVL(WKID,1,STATVL,SCFACT) IF (STATVL.EQ.1) THEN FY = SCFACT ELSE GOTO 1770 ENDIF ELSE GOTO 1760 ENDIF C*********************************************************************** C***** C***** User selected choice key 6 - RETURN. Exit out of the C***** transformation panel and back to the Interactive main C***** choice panel. C***** C*********************************************************************** ELSE GOTO 1780 ENDIF ENDIF ENDIF ENDIF ENDIF GOTO 1700 1780 RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: MAPDEM C***** C***** Subroutine Function: High level picture of how the GKS-CO C***** mapper fits into the graPHIGS systems C***** picture. C***** C***** Calls Subroutines: SETUPF,FINSHF,RMENU C***** C*********************************************************************** C*********************************************************************** SUBROUTINE MAPDEM INCLUDE 'gkspar.inc' INTEGER*4 WKID,WTYPE REAL*4 GKSX(4),PAPPX(4),GAPPX(4),PHIGSX(4),PWKX(4), * GKSY(4),PAPPY(4),GAPPY(4),PHIGSY(4),PWKY(4) REAL*4 PLX(27),PLY(27),ALPHA REAL*4 XMIN,XMAX,YMIN,YMAX,TXTX,TXTY REAL*4 PAPX(10),GAGX(10),GPX(10),PWX(10), * PAPY(10),GAGY(10),GPY(10),PWY(10), * PLATTX(10),PLATTY(10),X(10),WKMX(3),WKMY(3) LOGICAL CONT COMMON /WINF/ WKID,WTYPE COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX COMMON /TEXT/ TXTX,TXTY DATA EMPTRP /0.0/ DATA GKSX /08.3,08.3,14.5,14.5/, * GKSY /09.5,13.5,13.5,09.5/ DATA PAPPX /01.5,01.5,07.7,07.7/, * PAPPY /14.5,15.8,15.8,14.5/ DATA GAPPX /08.3,08.3,14.5,14.5/, * GAPPY /14.5,15.8,15.8,14.5/ DATA PHIGSX /01.5,01.5,14.5,14.5/, * PHIGSY /04.3,08.8,08.8,04.3/ DATA PWKX /01.5,01.5,03.5,03.5/, * PWKY /01.2,03.5,03.5,01.2/ DATA PAPX /04.6,04.5,04.6,04.7,04.6,04.6,04.5,04.6,04.7,04.6/ * PAPY /14.3,14.3,14.5,14.3,14.3,09.0,09.0,08.8,09.0,09.0/ DATA GAGX /11.4,11.3,11.4,11.5,11.4,11.4,11.3,11.4,11.5,11.4/ * GAGY /14.3,14.3,14.5,14.3,14.3,13.7,13.7,13.5,13.7,13.7/ DATA GPX /11.4,11.3,11.4,11.5,11.4,11.4,11.3,11.4,11.5,11.4/ * GPY /09.3,09.3,09.5,09.3,09.3,09.0,09.0,08.8,09.0,09.0/ DATA PWX /02.5,02.4,02.5,02.6,02.5,02.5,02.4,02.5,02.6,02.5/ * PWY /04.1,04.1,04.3,04.1,04.1,03.7,03.7,03.5,03.7,03.7/ DATA PLATTX /14.7,14.7,14.5,14.7,14.7,15.1,15.1,15.3,15.1,15.1/ * PLATTY /12.5,12.6,12.5,12.4,12.5,12.5,12.6,12.5,12.4,12.5/ DATA WKMX /08.0,09.5,11.0/, * WKMY /2.35,2.35,2.35/ C*********************************************************************** C***** C***** Call the setup frame and finish frame subroutines to C***** create the border and title of the display frame for C***** the gks-co diagram of the demo. This frame of the C***** demo shows a flowchart type picture of how gks-co fits C***** in with graPHIGS and both gks and phigs applications. C***** C*********************************************************************** CALL SETUPF(.FALSE.,.FALSE.) CALL GTXS(TXTX,TXTY,20,' XGKS ') CALL FINSHF(.FALSE.) C*********************************************************************** C***** C***** Set the window, view and some text and fill area C***** parameters. C***** C*********************************************************************** CALL GSCHXP(0.9) CALL GSTXFP(GFONT1,GSTRKP) CALL GSWN(2,0.0,18.0,0.0,18.0) CALL GSVP(2,0.0,1.0,0.0,1.0) CALL GSELNT(2) CALL GSFAIS(1) C*********************************************************************** C***** C***** Create a blue rectangle to hold the text which will C***** denote the graPHIGS API layer in the flowchart picture. C***** C*********************************************************************** CALL GSFACI(GBLUE) CALL GFA(4,PHIGSX,PHIGSY) CALL GSCHH(1.0) CALL GSTXAL(GACENT,GAHALF) CALL GSTXCI(GWHITE) CALL GSTXFP(GFONT2,GSTRKP) CALL GSCHSP(0.0) CALL GTXS(8.0,6.55,17,'graPHIGS (TM) API') C*********************************************************************** C***** C***** Create three small light blue rectangles at the bottom C***** of the flowchart to denote the workstations connected C***** via graPHIGS. C***** C*********************************************************************** CALL GSFACI(GLBLUE) CALL GSTXCI(GBLUE) CALL GSCHH(1.0) CALL GSCHSP(0.0) CALL GFA(4,PWKX,PWKY) CALL GTXS(2.5,2.35,1,'1') DO 1800 I=1,4 X(I) = PWKX(I) + 3.0 1800 CONTINUE CALL GFA(4,X,PWKY) CALL GTXS(5.5,2.35,1,'2') DO 1810 I=1,4 X(I) = X(I) + 8.0 1810 CONTINUE CALL GFA(4,X,PWKY) CALL GTXS(13.5,2.35,1,'N') CALL GSTXCI(GWHITE) CALL GSCHH(0.6) CALL GSCHSP(0.0) CALL GSCHXP(1.2) CALL GSTXAL(GACENT,GAVNOR) CALL GTXS(8.0,0.35,12,'WORKSTATIONS') C*********************************************************************** C***** C***** Create an orange rectangle above the graPHIGS API layer C***** to denote the GKS-CO interpreter layer. C***** C*********************************************************************** CALL GSCHSP(0.0) CALL GSCHXP(0.9) CALL GSFACI(GORNGE) CALL GFA(4,GKSX,GKSY) CALL GSCHH(0.9) CALL GSTXAL(GACENT,GAHALF) CALL GTXS(11.4,11.5,6,'GKS-CO') C*********************************************************************** C***** C***** Write Metafile Input Output directly under the picture of C***** a disk storage device (this will be drawn later in the C***** program). C***** C*********************************************************************** CALL GSCHH(0.2) CALL GSCHSP(0.0) CALL GSTXFP(GFONT1,GSTRKP) CALL GTXS(16.3,11.5,8,'METAFILE') CALL GTXS(16.3,11.2,5,'INPUT') CALL GTXS(16.3,10.9,6,'OUTPUT') C*********************************************************************** C***** C***** Create two green rectangles at the top of the flowchart, C***** one denoting a phigs application and one denoting a gks C***** application. C***** C*********************************************************************** CALL GSCHSP(0.0) CALL GSFACI(GMGREN) CALL GSTXCI(GWHITE) CALL GSCHSP(0.0) CALL GFA(4,GAPPX,GAPPY) CALL GSCHH(0.3) CALL GTXS(11.4,15.15,15,'GKS APPLICATION') CALL GSCHH(0.25) CALL GFA(4,PAPPX,PAPPY) CALL GTXS(4.6,15.15,25,'graPHIGS (TM) APPLICATION') C*********************************************************************** C***** C***** Calculate the points in order to draw a grey-blue disk C***** storage device off to the side of the GKS-CO layer that C***** will denote the GKS-CO metafile capability. C***** C*********************************************************************** CALL GSTXCI(GBLUE) CALL GSCHSP(0.0) PLX(27) = 16.3 PLY(27) = 13.0 ALPHA = -3.141593 / 2.0 DO 1820 I = 1,13 PLX(I) = PLX(27) + 1.00 * SIN(ALPHA) PLY(I) = PLY(27) + 0.25 * COS(ALPHA) ALPHA = ALPHA + 3.141593 / 12.0 1820 CONTINUE ALPHA = 3.141593 / 2.0 PLY(27) = 12.0 DO 1830 I=14,26 PLX(I) = PLX(27) + 1.00 * SIN(ALPHA) PLY(I) = PLY(27) + 0.25 * COS(ALPHA) ALPHA = ALPHA + 3.141593 / 12.0 1830 CONTINUE CALL GSFACI(GGRAYB) CALL GFA(26,PLX,PLY) PLX(27) = PLX(1) PLY(27) = PLY(1) C*********************************************************************** C***** C***** Outline the disk storage icon with a white polyline. C***** C*********************************************************************** CALL GSPLCI(GWHITE) CALL GPL(27,PLX,PLY) PLX(27) = 16.3 PLY(27) = 13.0 ALPHA = 3.141593 / 2.0 DO 1840 I=1,13 PLX(I) = PLX(27) + 1.00 * SIN(ALPHA) PLY(I) = PLY(27) + 0.25 * COS(ALPHA) ALPHA = ALPHA + 3.141593 / 12.0 1840 CONTINUE CALL GPL(13,PLX,PLY) C*********************************************************************** C***** C***** Draw directional arrows between all the layers in the C***** flowchart. C***** C*********************************************************************** CALL GSPLCI(GLBLUE) CALL GPL(10,PLATTX,PLATTY) CALL GPL(10,PAPX,PAPY) CALL GPL(10,GAGX,GAGY) CALL GPL(10,GPX,GPY) CALL GPL(10,PWX,PWY) DO 1850 I=1,10 X(I) = PWX(I) + 3.0 1850 CONTINUE CALL GPL(10,X,PWY) DO 1860 I=1,10 X(I) = X(I) + 8.0 1860 CONTINUE CALL GPL(10,X,PWY) C*********************************************************************** C***** C***** Draw three light blue polymarkers inbetween the connected C***** workstations to denote that there are up to 'n' C***** workstations connected. Return the transformation view C***** back to view one. C***** C*********************************************************************** CALL GSPMCI(GLBLUE) CALL GPM(3,WKMX,WKMY) CALL GSELNT(1) CALL RMENU(.TRUE.,CONT) RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: PRIMIT C***** C***** Subroutine Function: This subroutine demonstrates all the C***** output primitives and their C***** attributes. C***** C***** Calls Subroutines: SETUPF,FINSHF,RCHOI,DEMOPM,DEMOPL C***** DEMOTX,DEMOFA,DEMOCA,DEMOGD C***** C*********************************************************************** C*********************************************************************** SUBROUTINE PRIMIT INCLUDE 'gkspar.inc' INTEGER*4 WKID,WTYPE,LCHSTR(7),LENGTH,CHNR,ERRIND,NUMELA INTEGER*4 I,J,PIXEL(9,9) REAL*4 FRAME(10),XMIN,XMAX,YMIN,YMAX,TXTX,TXTY REAL*4 PMX(13),PMY(13),ALPHA,PI,PX(5),PY(5) REAL*4 ZX(6),ZY(6),FA3(6),FA4(8),FA5(10) CHARACTER*12 MENU(7) CHARACTER*80 DTREC(7) COMMON /WINF/ WKID,WTYPE COMMON /TEXT/ TXTX,TXTY COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX DATA FRAME /0.000,0.000,0.995,0.995,0.000, * 0.000,0.995,0.995,0.000,0.000/ DATA PIXEL /08,08,13,13,13,13,13,08,08, * 08,08,08,13,13,13,08,08,08, * 08,08,08,13,13,13,08,08,08, * 08,12,08,13,13,12,08,12,08, * 12,12,12,12,12,12,12,12,12, * 12,12,12,12,12,12,12,12,12, * 12,12,12,12,12,12,12,12,12, * 08,12,12,12,12,12,12,12,08, * 08,08,12,12,12,12,12,08,08/ DATA FA3 /0.350,0.750,0.750,0.250,0.250,0.850/ DATA FA4 /0.250,0.650,0.650,0.250,0.100,0.100,0.450,0.450/ DATA FA5 /0.450,0.650,0.750,0.550,0.350, * 0.350,0.350,0.550,0.650,0.550/ DATA MENU /'POLYMARKER','POLYLINE','TEXT','FILL AREA', 1 'CELL ARRAY','GDP','RETURN'/ DATA LCHSTR /10,8,4,9,10,3,6/ DATA NUMELA /7/ C*********************************************************************** C***** C***** Use pack data record to set up the prompt array for the C***** choice input device. C***** C*********************************************************************** CALL GPREC(0,0,0,0.0,NUMELA,LCHSTR,MENU,NUMELA, * ERRIND,LENGTH,DTREC) C*********************************************************************** C***** C***** One big loop to keep drawing main output primitives menu C***** until the user selects the 'return' choice (lpfk 7). C***** Draw the outside border around the output primitives menu. C***** C*********************************************************************** 1900 CALL SETUPF(.TRUE.,.FALSE.) CALL GTXS(TXTX,0.886,6,'OUTPUT') CALL GTXS(TXTX,0.788,10,'PRIMITIVES') CALL FINSHF(.TRUE.) C*********************************************************************** C***** C***** Draw six boxes which indicate the six choice alternatives: C***** Choice 1: Polymarker C***** 2: Polyline C***** 3: Text C***** 4: Fill Area C***** 5: Cell Array C***** 6: GDPs C***** C*********************************************************************** CALL GSCHH(0.060) CALL GSWN(2,0.0,1.0,0.0,1.0) CALL GSVP(2,0.075,0.325,0.395,0.695) CALL GSELNT(2) C************************************************************* C***** C***** Draw the polymarker choice box, place the text C***** 'polymarker' in the box, and draw a circle of C***** polymarkers in the box. C***** C************************************************************* CALL GPL(5,FRAME(1),FRAME(6)) CALL GSCHSP(0.0) CALL GTXS(0.100,0.900,12,'POLYMARKER ') PMX(1) = 0.50 PMY(1) = 0.45 PI = 3.141593 ALPHA = 0.0 DO 1910 I=2,13 PMX(I) = PMX(1) + 0.3 * SIN(ALPHA) PMY(I) = PMY(1) + 0.3 * COS(ALPHA) ALPHA = ALPHA + 2.0 * PI / 12.0 1910 CONTINUE CALL GSMK(GAST) CALL GSMKSC(1.0) CALL GSPMCI(GGREEN) CALL GPM(13,PMX,PMY) C************************************************************* C***** C***** Draw the polyline choice box, place the text C***** 'polyline' in the box, and draw a star with C***** blue polylines in the box. C***** C************************************************************* CALL GSVP(2,0.375,0.625,0.395,0.695) CALL GPL(5,FRAME(1),FRAME(6)) CALL GTXS(0.100,0.900,12,'POLYLINE ') ALPHA = 0.0 DO 1920 I=1,5 PX(I) = 0.5 +0.35 * SIN(ALPHA) PY(I) = 0.4 +0.35 * COS(ALPHA) ALPHA = ALPHA + 2.0 * PI / 5.0 1920 CONTINUE CALL GSLN(GSOLID) CALL GSLWSC(1.0) CALL GSPLCI(GLBLUE) DO 1940 I=1,2 DO 1930 J=0,5 K = MOD(I*J,5) ZX(J+1) = PX(K+1) ZY(J+1) = PY(K+1) 1930 CONTINUE CALL GPL(6,ZX,ZY) 1940 CONTINUE CALL GSPLCI(GYELOW) C************************************************************* C***** C***** Draw the text choice box, place the text 'text' C***** in the box, and draw 'GKS TEXT OUTPUT' in green, C***** red, and blue in the box. C***** C************************************************************* CALL GSVP(2,0.675,0.925,0.395,0.695) CALL GPL(5,FRAME(1),FRAME(6)) CALL GTXS(0.100,0.900,12,'TEXT ') CALL GSTXFP(1,GCHARP) CALL GSCHH(0.2) CALL GSTXCI(GGREEN) CALL GTXS(0.22,0.60,3,'GKS') CALL GSTXFP(2,GCHARP) CALL GSCHH(0.1) CALL GSTXCI(GRED) CALL GTXS(0.27,0.45,4,'TEXT') CALL GSTXFP(1,GSTRKP) CALL GSCHH(0.1) CALL GSTXCI(GLBLUE) CALL GSCHUP(1.0,1.0) CALL GTXS(0.18,0.33,1,'O') CALL GSCHUP(1.0,2.0) CALL GTXS(0.30,0.25,1,'U') CALL GSCHUP(1.0,4.0) CALL GTXS(0.42,0.20,1,'T') CALL GSCHUP(-1.0,4.0) CALL GTXS(0.57,0.19,1,'P') CALL GSCHUP(-1.0,2.0) CALL GTXS(0.68,0.23,1,'U') CALL GSCHUP(-1.0,1.0) CALL GTXS(0.79,0.30,1,'T') CALL GSCHUP(0.0,1.0) CALL GSTXFP(1,GSTRKP) CALL GSTXCI(GYELOW) CALL GSCHH(0.06) CALL GSCHSP(0.0) C************************************************************* C***** C***** Draw the fill area box, place the text 'fill C***** area' in the box, and draw some different solid C***** color shapes in the box. C***** C************************************************************* CALL GSVP(2,0.075,0.325,0.045,0.345) CALL GPL(5,FRAME(1),FRAME(6)) CALL GTXS(0.100,0.900,12,'FILL AREA ') CALL GSFASI(1) CALL GSFAIS(GSOLID) CALL GSFACI(GMAGNT) CALL GFA(3,FA3(1),FA3(4)) CALL GSFACI(GMRED) CALL GFA(4,FA4(1),FA4(5)) CALL GSFACI(GMGREN) CALL GFA(5,FA5(1),FA5(6)) C************************************************************* C***** C***** Draw the cell array box, place the text 'cell C***** array' in the box, and draw a picture of a tree C***** using the cell array primitive. C***** C************************************************************* CALL GSVP(2,0.375,0.625,0.045,0.345) CALL GPL(5,FRAME(1),FRAME(6)) CALL GTXS(0.100,0.900,12,'CELL ARRAY ') CALL GCA(0.250,0.250,0.750,0.750,9,9,1,1,9,9,PIXEL) C************************************************************* C***** C***** Draw the GDPs box, place the text 'GDPs' in the C***** box, and display 'not available' in the box also C***** (as there is no GDP support in GKS-CO as yet). C***** C************************************************************* CALL GSVP(2,0.675,0.925,0.045,0.345) CALL GPL(5,FRAME(1),FRAME(6)) CALL GTXS(0.100,0.900,12,'GDPs ') CALL GTXS(0.05,0.4,13,'NOT AVAILABLE') C************************************************************* C***** C***** Initialize the choice device and call subroutine C***** RCHOI to wait for valid choice input. Analyze the C***** input and call the appropriate routine. C***** C************************************************************* CALL GSCHSP(0.0) CALL GSELNT(1) CALL GINCH(WKID,1,1,1,3,XMIN,XMAX,YMIN,YMAX,LENGTH,DTREC) CALL RCHOI(WKID,7,CHNR) IF (CHNR.EQ.1) THEN CALL DEMOPM ELSE IF (CHNR.EQ.2) THEN CALL DEMOPL ELSE IF (CHNR.EQ.3) THEN CALL DEMOTX ELSE IF (CHNR.EQ.4) THEN CALL DEMOFA ELSE IF (CHNR.EQ.5) THEN CALL DEMOCA ELSE IF (CHNR.EQ.6) THEN CALL DEMOGD ELSE GOTO 1950 ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF C*********************************************************************** C***** C***** Continue the big loop to draw the output primitive menu. C***** C*********************************************************************** GOTO 1900 C*********************************************************************** C***** C***** The user has setected the 'return' choice. C***** C*********************************************************************** 1950 RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: RCHOI C***** C***** Subroutine Function: This subroutine will wait on valid C***** input from the choice device (lpfks). C***** If invalid input is received, put out C***** an appropriate message and wait for C***** another input choice. C***** C*********************************************************************** C*********************************************************************** SUBROUTINE RCHOI(WKID,MXCHNR,CHNR) INTEGER WKID,MXCHNR,CHNR,STAT 2000 CALL GRQCH(WKID,1,STAT,CHNR) IF (STAT.EQ.1) THEN IF ((CHNR.GT.0).AND.(CHNR.LE.MXCHNR)) THEN CALL GMSG(WKID,' ') GOTO 2010 ELSE CALL GMSGS(WKID,22,' INVALID CHOICE NUMBER') STAT=0 ENDIF ELSE CALL GMSGS(WKID,22,' CHOICE NOT SUCCESSFUL') ENDIF GOTO 2000 2010 CONTINUE RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: RMENU C***** C***** Subroutine Function: This subroutine will use pack data C***** record to get the choice prompts C***** set up and then it will initialize C***** the choice device (lpfks) and call C***** subroutine RCHOI to wait for valid C***** choice input. C***** C***** Calls Subroutines: RCHOI C***** C***** Input: prompt - true: one prompt (return) C***** false: two prompts (continue and return) C***** C***** Output: cont - true: user selected the continue choice C***** - false: user selected the return choice C***** C*********************************************************************** C*********************************************************************** SUBROUTINE RMENU(PROMPT,CONT) INCLUDE 'gkspar.inc' INTEGER*4 WKID,LCHSTR(1),LCHST2(2),LENG1,ERRIND,CHNR REAL*4 XMIN,XMAX,YMIN,YMAX LOGICAL PROMPT,CONT CHARACTER*8 MENU(1) CHARACTER*16 MENU2(2) CHARACTER*80 DTREC1(1) COMMON /WINF/ WKID,WTYPE COMMON /LIMITS/ XMIN,XMAX,YMIN,YMAX DATA MENU /'RETURN'/ DATA MENU2 /'CONTINUE','RETURN'/ DATA LCHSTR /6/ DATA LCHST2 /8,6/ IF (PROMPT) THEN CALL GPREC(0,0,0,0.0,1,LCHSTR,MENU,LCHSTR,ERRIND,LENG1,DTREC1) NUMELA = 1 ELSE CALL GPREC(0,0,0,0.0,2,LCHST2,MENU2,LCHST2,ERRIND,LENG1,DTREC1) NUMELA = 2 ENDIF CALL GINCH(WKID,1,GOK,1,3,XMIN,XMAX,YMIN,YMAX,LENG1,DTREC1) CALL RCHOI(WKID,NUMELA,CHNR) IF ((CHNR.EQ.1).AND.(NUMELA.EQ.2)) THEN CONT = .TRUE. ELSE CONT = .FALSE. ENDIF RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: SETCOL C***** C***** Subroutine Function: To set up the color table for the C***** workstation indicated in WKID. C***** C*********************************************************************** C*********************************************************************** SUBROUTINE SETCOL INTEGER*4 WKID,I,WTYPE REAL*4 RED(15),GREEN(15),BLUE(15) COMMON /WINF/ WKID,WTYPE DATA RED /1.00,0.00,0.00,1.00,1.00,1.00,0.66,0.00,0.00,0.33, * 0.33,0.00,0.66,0.66,1.00/ DATA GREEN /0.00,1.00,0.00,1.00,0.33,0.00,0.00,1.00,0.66,0.33, * 1.00,0.66,0.00,0.66,1.00/ DATA BLUE /0.00,0.00,1.00,0.00,0.00,1.00,0.66,1.00,1.00,0.66, * 0.33,0.00,0.00,0.66,1.00/ DO 2100 I=1,15 CALL GSCR(WKID,I,RED(I),GREEN(I),BLUE(I)) 2100 CONTINUE RETURN END C*********************************************************************** C*********************************************************************** C***** C***** Subroutine Name: SETUPF C***** C***** Subroutine Function: To draw the frame border for each C***** screen of the demo. C***** C*********************************************************************** C*********************************************************************** SUBROUTINE SETUPF(MFRAME,FRAME3) INCLUDE 'gkspar.inc' INTEGER*4 WKID,WTYPE REAL*4 PX1(5),PX2(5),PY1(5),PY2(5),PY4(5) REAL*4 TXTX,TXTY LOGICAL MFRAME,FRAME3 COMMON /WINF/ WKID,WTYPE COMMON /TEXT/ TXTX,TXTY DATA PX1 /0.000,0.000,1.000,1.000,0.000/ DATA PX2 /0.015,0.015,0.985,0.985,0.015/ DATA PY1 /0.000,1.000,1.000,0.000,0.000/ DATA PY2 /0.765,0.985,0.985,0.765,0.765/ DATA PY4 /0.915,0.985,0.985,0.915,0.915/ C*********************************************************************** C***** C***** Clear the workstation whether it is empty or not. C***** C*********************************************************************** CALL GCLRWK(WKID,GALWAY) C*********************************************************************** C***** C***** Draw the outside frame border. C***** C*********************************************************************** CALL GCRSG (1259) CALL GSLN(GLSOLI) CALL GSLWSC(1.0) C*********************************************************************** C***** C***** If drawing menu 3, the color indices will be invalid, C***** so a special index must be set up for the color wanted. C***** If not, set the color to yellow from the current color C***** table. Draw the top line. C***** C*********************************************************************** IF (FRAME3) THEN CALL GSCR(WKID,15,1.0,1.0,0.0) CALL GSPLCI(15) ELSE CALL GSPLCI(GYELOW) ENDIF CALL GPL(5,PX1,PY1) C*********************************************************************** C***** C***** Draw the frame that goes around the text at the top of C***** the mainframe. C***** C*********************************************************************** TXTX=0.5 IF (MFRAME) THEN CALL GPL(5,PX2,PY2) CALL GSCHH(0.072) TXTY=0.835 ELSE CALL GPL(5,PX2,PY4) CALL GSCHH(0.036) TXTY=0.931 ENDIF C*********************************************************************** C***** C***** Set up the text attributes and go back to the routine C***** from which this subroutine was called. C***** C*********************************************************************** CALL GSTXFP(GFONT2,GCHARP) CALL GSTXAL(GACENT,GAVNOR) CALL GSTXCI(GYELOW) CALL GSCHXP(1.0) RETURN END xgks-2.6.1+dfsg.2/src/progs/pline.c0000644000175000017500000001126211413611016020075 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * University of Illinois at Urbana-Champaign * Department of Computer Science * 1304 W. Springfield Ave. * Urbana, IL 61801 * * (C) Copyright 1987, 1988 by The University of Illinois Board of Trustees. * All rights reserved. * * Tool: X 11 Graphical Kernel System * Author: Gregory Scott Rogers * Author: Sung Hsien Ching Kelvin * Author: Yu Pan */ #ifndef lint static char rcsid[] = "$Id: pline.c,v 2.5.4.1 1993/03/10 19:43:08 steve Exp $"; static char afsid[] = "$__Header$"; #endif #include "udposix.h" #include #include #include "xgks.h" static WaitForBreak(wsid) Gint wsid; { Gchoice init; Gchoicerec record; Glimit earea; earea.xmin = 0.0; earea.xmax = 1279.0; earea.ymin = 0.0; earea.ymax = 1023.0; init.status = GC_NOCHOICE; init.choice = 0; record.pet1.data = NULL; ginitchoice(wsid, 1, &init, 1, &earea, &record); gsetchoicemode(wsid, 1, GREQUEST, GECHO); for (; init.status != GC_NONE;) greqchoice(wsid, 1, &init); } main(argc, argv) /*ARGSUSED*/ int argc; char *argv[]; { Gint ws_id = 1; Gint result; if ((result = gopengks(stdout, 0)) != 0) perr(result, "...open_gks"); if ((result = gopenws(ws_id, argv[1], argv[1])) != 0) perr(result, "...open_ws"); if ((result = gactivatews(ws_id)) != 0) perr(result, "...activate_ws"); test_pline(ws_id); (void) fprintf(stderr, "Done, press break...\n"); WaitForBreak(1); if ((result = gdeactivatews(ws_id)) != 0) perr(result, "...deactivate_ws"); if ((result = gclosews(ws_id)) != 0) perr(result, "...close_ws"); if ((result = gclosegks()) != 0) perr(result, "...close_gks"); return 0; } perr(i, s) int i; char *s; { (void) fprintf(stdout, "%s %d\n", s, i); exit(1); } #define BLACK 0 #define BLUE 1 #define GREEN 2 #define CYAN 3 #define RED 4 #define MAGENTA 5 #define YELLOW 6 #define WHITE 7 Gcobundl Colors[] = { {0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {0.0, 1.0, 0.0}, {0.0, 1.0, 1.0}, {1.0, 0.0, 0.0}, {1.0, 0.0, 1.0}, {1.0, 1.0, 0.0}, {1.0, 1.0, 1.0} }; LoadColors(wsid) Gint wsid; { int i; for (i = BLACK; i <= WHITE; i++) gsetcolorrep(wsid, i, &Colors[i]); } int lntbl[] = {GLN_LDASH, GLN_DDOTDASH, GLN_SDASH, GLN_SOLID, GLN_DASH, GLN_DOT, GLN_DOTDASH}; test_pline(ws_id) Gint ws_id; { Gpoint lpts[2], tpt; Gint i; char s[20]; Gpoint up; Gtxfp txfp; Gtxalign align; LoadColors(ws_id); gsetdeferst(ws_id, GASAP, GALLOWED); txfp.font = 4; txfp.prec = GSTROKE; gsettextfontprec(&txfp); gsetcharexpan(0.5); gsetcharspace(0.2); gsettextcolorind(WHITE); gsetcharheight(0.05); up.x = 0.0; up.y = 1.0; gsetcharup(&up); align.hor = GTH_CENTER; align.ver = GTV_BASE; gsettextalign(&align); gsettextpath(GTP_RIGHT); tpt.x = 0.5; tpt.y = 0.9; gtext(&tpt, "GKS POLYLINES"); txfp.font = 1; txfp.prec = GSTROKE; gsettextfontprec(&txfp); gsetcharheight(0.03); align.hor = GTH_RIGHT; align.ver = GTV_HALF; gsettextalign(&align); tpt.x = 0.15; tpt.y = 0.9; lpts[0].x = 0.2; lpts[0].y = 0.9; lpts[1].x = 0.9; lpts[1].y = 0.9; for (i = 1; i < 9; i++) { tpt.y -= 0.1; (void) sprintf(s, "width %5.2f", (float) (2.0 * i)); gtext(&tpt, s); gsetlinetype(lntbl[(i % 7)]); gsetlinewidth((float) (2.0 * i)); gsetlinecolorind((i % 7) + 1); lpts[0].y -= 0.1; lpts[1].y -= 0.1; gpolyline(2, lpts); } } xgks-2.6.1+dfsg.2/src/progs/Makefile.in0000644000175000017500000000730511413611016020672 0ustar amckinstryamckinstry# $Id: Makefile.in,v 2.7 2000/08/07 22:23:57 emmerson Exp $ # # Makefile for the "demonstration programs" subdirectory of the XGKS package. DEFINES = CPP_X11 = @CPP_X11@ INCLUDES = -I../lib/c -I../port/misc CPPFLAGS = @CPPFLAGS@ CFLAGS = $(INCLUDES) $(DEFINES) @CFLAGS@ prefix = .. CSRCS = defcolors.c font.c hanoi.c mi.c pline.c pmark.c FSRCS = gksdemo.f star.f SHELL = /bin/sh #LD_SOCKET = @LD_SOCKET@ LD_X11 = @LD_X11@ LIBS = -L../lib/c -lxgks \ -L../port/misc -ludport \ -L$(LIBDIR) -lxgks \ $(LD_X11) \ $(LD_SOCKET) \ -lm LDFLAGS = @LDFLAGS@ # The following list is a subset of the XGKS programs contained # in the original X11R4 distribution. IMHO, it contains the # useful ones. # CPROGS = defcolors font hanoi mi pline pmark # The following list contains the Fortran programs. They're cute # (especially "gksdemo", which is an excellent example of a very # interactive program) but not particularly useful. # FPROGS = star gksdemo PROGRAMS = $(CPROGS) $(FPROGS) GARBAGE = $(PROGRAMS) *.gksm *.cgm MANIFEST = Makefile.in depend $(CSRCS) $(FSRCS) demo.h gkspar.inc all:: $(PROGRAMS) install:: installed_programs defcolors: defcolors.o $(CC) $(CFLAGS) $(LDFLAGS) defcolors.o $(LIBS) -o $@ font: font.o $(CC) $(CFLAGS) $(LDFLAGS) font.o $(LIBS) -o $@ hanoi: hanoi.o $(CC) $(CFLAGS) $(LDFLAGS) hanoi.o $(LIBS) -o $@ mi: mi.o $(CC) $(CFLAGS) $(LDFLAGS) mi.o $(LIBS) -o $@ pline: pline.o $(CC) $(CFLAGS) $(LDFLAGS) pline.o $(LIBS) -o $@ pmark: pmark.o $(CC) $(CFLAGS) $(LDFLAGS) pmark.o $(LIBS) -o $@ star: star.o $(FC) $(FFLAGS) $(LDFLAGS) star.o $(LIBS) -o $@ gksdemo: gksdemo.o $(FC) $(FFLAGS) $(LDFLAGS) gksdemo.o $(LIBS) -o $@ # The following rule is for debugging using the CodeCenter # (formerly Saber-C) code-development system. # .SUFFIXES: .saber .o .c gksdemo.saber: gksdemo.o #setopt path . ../lib/c ../lib/c/cgm ../lib/c/gksm ../lib/c/x #setopt ansi #setopt load_flags -C $(CFLAGS) -I/usr/5include -DDEBUG #load -C $(CFLAGS) -I/usr/5include -DDEBUG gksdemo.o $(OBJS) \ $(LIBS_F77) -L/usr/local/lang/SC0.0 -lF77 -lc #ignore IO .o.saber: #setopt path . ../lib/c ../lib/c/cgm ../lib/c/gksm ../lib/c/x #setopt ansi #setopt load_flags -C $(CFLAGS) -I/usr/5include -DDEBUG #load -C $(CFLAGS) -I/usr/5include -DDEBUG $< $(OBJS) $(LIBS) -lc #ignore IO .c.saber: #setopt path . ../lib/c ../lib/c/cgm ../lib/c/gksm ../lib/c/x #setopt ansi #setopt load_flags -C $(CFLAGS) -I/usr/5include -DDEBUG #load -C $(CFLAGS) -I/usr/5include -DDEBUG $< $(OBJS) $(LIBS) -lc #ignore IO test: all @-if test `which xrdb | wc -w` = 1; then \ echo Testing inactive backing-store; \ echo "Xgks.backingstore: off" | xrdb -merge; \ XGKSFontDir=../fontdb ./pmark; \ echo Testing active backing-store; \ echo "Xgks.backingstore: on" | xrdb -merge; \ fi XGKSFontDir=../fontdb ./pmark XGKSFontDir=../fontdb ./pline XGKSFontDir=../fontdb ./defcolors XGKSFontDir=../fontdb ./hanoi -o hanoi.gksm -n 7 XGKSFontDir=../fontdb ./mi hanoi.gksm XGKSFontDir=../fontdb ./hanoi -o hanoi.cgm -n 7 XGKSFontDir=../fontdb ./mi hanoi.cgm XGKSFontDir=../fontdb ./font -o font.gksm XGKSFontDir=../fontdb ./mi font.gksm XGKSFontDir=../fontdb ./font -o font.cgm XGKSFontDir=../fontdb ./mi font.cgm -test -f star && XGKSFontDir=../fontdb ./star -test -f gksdemo && XGKSFontDir=../fontdb ./gksdemo tags: FORCE ctags -t *.c *.h \ ../lib/fortran/*.c ../lib/fortran/*.h \ ../lib/c/*.c ../lib/c/*.h \ ../lib/c/cgm/*.c ../lib/c/cgm/*.h \ ../lib/c/gksm/*.c ../lib/c/gksm/*.h \ ../lib/c/x/*.c ../lib/c/x/*.h include ../port/master.mk ### Everything after the following line might be overwritten ### ### DO NOT DELETE THIS LINE. make depend DEPENDS ON IT ### include depend xgks-2.6.1+dfsg.2/src/progs/mi.c0000644000175000017500000000773411413611016017404 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * University of Illinois at Urbana-Champaign * Department of Computer Science * 1304 W. Springfield Ave. * Urbana, IL 61801 * * (C) Copyright 1987, 1988 by The University of Illinois Board of Trustees. * All rights reserved. * * Tool: X 11 Graphical Kernel System * Author: Gregory Scott Rogers * Author: Sung Hsien Ching Kelvin * Author: Yu Pan */ #ifndef lint static char rcsid[] = "$Id: mi.c,v 2.6 2000/08/01 16:55:21 steve Exp $"; static char afsid[] = "$__Header$"; #endif #include "udposix.h" #include #include #include "xgks.h" #include "demo.h" #define CLEAR_WORKSTATION 1 #define MI_WSID 1 /* Input Metafile workstation ID */ #define X_WSID 2 /* X workstation ID */ #define MO_WSID 3 /* Output Metafile workstation ID */ main(argc, argv) int argc; char *argv[]; { int done; int itemno; int error; int c; long maxsize = 1024; char *conn = NULL; char *mi_path; char *mo_path = NULL; Gchar *record = (Gchar*) malloc(maxsize); Ggksmit gksmit; extern char *optarg; extern int optind; if (record == NULL) { perror("malloc()"); return 1; } while ((c = getopt(argc, argv, "d:o:")) != -1) { switch (c) { case 'd': conn = optarg; break; case 'o': mo_path = optarg; } } if (optind >= argc) { fprintf(stderr, "usage: %s [-d display] [-o mo_path] file\n", argv[0]); exit(0); } mi_path = argv[optind]; gopengks(stderr, 0); gopenws(MI_WSID, mi_path, "MI"); gopenws(X_WSID, conn, conn); if (mo_path != NULL) gopenws(MO_WSID, mo_path, "MO"); gactivatews(X_WSID); if (mo_path != NULL) gactivatews(MO_WSID); for (itemno = 1, error = 0, done = 0; !error && !done; ++itemno) { error = ggetgksm(MI_WSID, &gksmit); if (!error) { if (gksmit.type == CLEAR_WORKSTATION) { Gwsdus du; (void) ginqwsdeferupdatest(X_WSID, &du); if (du.dspsurf == GNOTEMPTY) { fprintf(stderr, "Hit BREAK in window to continue\n"); WaitForBreak(X_WSID); } } if (gksmit.length > maxsize) { maxsize = gksmit.length; if ((record = (Gchar*)realloc((voidp)record, maxsize)) == NULL) { perror("realloc()"); } } if (!error) { error = greadgksm(MI_WSID, maxsize, record); if (!error) { Ggksmit result; error = ggetgksm(MI_WSID, &result); if (!error) { error = ginterpret(&gksmit, record); if (result.type == 0) done = 1; } } } } } if (error) fprintf(stderr, "Error occured at item %d\n", itemno); (void) free((voidp)record); fprintf(stderr, "Done. Hit BREAK in window to quit.\n"); WaitForBreak(X_WSID); gdeactivatews(X_WSID); if (mo_path != NULL) gdeactivatews(MO_WSID); gclosews(X_WSID); gclosews(MI_WSID); if (mo_path != NULL) gclosews(MO_WSID); gclosegks(); return 0; } xgks-2.6.1+dfsg.2/src/progs/CVS/0000755000175000017500000000000011413611016017253 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/progs/CVS/Entries0000644000175000017500000000134411413611016020611 0ustar amckinstryamckinstry/Makefile-orig/2.5.4.1/Wed Mar 10 19:43:09 1993// /Makefile.in/2.7/Mon Aug 7 22:23:57 2000// /RELEASE.NOTES/2.5.4.1/Wed Mar 10 19:43:07 1993// /defcolors.c/2.5.4.1/Wed Mar 10 19:43:09 1993// /demo.h/2.6/Tue Aug 1 16:53:02 2000// /depend/2.6/Tue Aug 1 16:53:07 2000// /dist.mk/2.5.4.1/Wed Mar 10 19:43:07 1993// /font.c/2.6/Tue Aug 1 16:54:20 2000// /gksdemo.f/2.5.4.1/Wed Mar 10 19:43:09 1993// /gkspar.inc/2.5.4.1/Wed Mar 10 19:43:08 1993// /hanoi.c/2.5.4.1/Wed Mar 10 19:43:08 1993// /hello.c/2.5.4.1/Wed Mar 10 19:43:08 1993// /log/2.5.4.1/Wed Mar 10 19:43:09 1993// /mi.c/2.6/Tue Aug 1 16:55:21 2000// /pline.c/2.5.4.1/Wed Mar 10 19:43:08 1993// /pmark.c/2.5.4.1/Wed Mar 10 19:43:08 1993// /star.f/2.6/Tue Aug 1 16:56:19 2000// D xgks-2.6.1+dfsg.2/src/progs/CVS/Repository0000644000175000017500000000001311413611016021347 0ustar amckinstryamckinstryxgks/progs xgks-2.6.1+dfsg.2/src/progs/CVS/Entries.Log0000644000175000017500000000016011413611016021324 0ustar amckinstryamckinstryA D/Logo//// A D/example//// A D/gksdemo.dir//// A D/gksm2cgm//// A D/sledsrc//// A D/stratego//// A D/xhib//// xgks-2.6.1+dfsg.2/src/progs/CVS/Root0000644000175000017500000000006111413611016020116 0ustar amckinstryamckinstry:pserver:anonymous@cvs.XGKS.sf.net:/cvsroot/xgks xgks-2.6.1+dfsg.2/src/progs/gkspar.inc0000644000175000017500000005573211413611016020616 0ustar amckinstryamckinstryC*********************************************************************** C*********************************************************************** C*********************************************************************** C* Copyright IBM Corporation 1989 C* C* All Rights Reserved C* C* Permission to use, copy, modify, and distribute this software and its C* documentation for any purpose and without fee is hereby granted, C* provided that the above copyright notice appear in all copies and that C* both that copyright notice and this permission notice appear in C* supporting documentation, and that the name of IBM not be C* used in advertising or publicity pertaining to distribution of the C* software without specific, written prior permission. C* C* IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING C* ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL C* IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR C* ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, C* WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, C* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS C* SOFTWARE. C* C***** ***** C***** Product: graPHIGS GKS-CO Demonstration Program ***** C***** ***** C***** File Name: gkspar.inc ***** C***** ***** C***** Descriptive Name: This file contains mnemonic FORTRAN ***** C***** names and their values for GKS ***** C***** enumeration types. Each enumeration ***** C***** type is a variable initialized ***** C***** through a parameter statement. The ***** C***** last two sections (font types and ***** C***** color table indexes) are not standard ***** C***** GKS FORTRAN enumerations, but were ***** C***** added specifically for use by the ***** C***** GKSDEMO program. ***** C***** ***** C*********************************************************************** C*********************************************************************** C*********************************************************************** C*********************************************************************** C***** ***** C***** Aspect Source Flag: Bundled, Individual ***** C***** ***** C*********************************************************************** INTEGER*4 GBUNDL,GINDIV PARAMETER (GBUNDL = 0, GINDIV = 1) C*********************************************************************** C***** ***** C***** Attribute Control Flag: Current, Specified ***** C***** ***** C*********************************************************************** INTEGER*4 GCURNT,GSPEC PARAMETER (GCURNT = 0, GSPEC = 1) C*********************************************************************** C***** ***** C***** Clear Control Flag: Conditionally, Always ***** C***** ***** C*********************************************************************** INTEGER*4 GCONDI,GALWAY PARAMETER (GCONDI = 0, GALWAY = 1) C*********************************************************************** C***** ***** C***** Clipping Indicator: No Clip, Clip ***** C***** ***** C*********************************************************************** INTEGER*4 GNCLIP,GCLIP PARAMETER (GNCLIP = 0, GCLIP = 1) C*********************************************************************** C***** ***** C***** Color Available: Monochrome, Color ***** C***** ***** C*********************************************************************** INTEGER*4 GMONOC,GCOLOR PARAMETER (GMONOC = 0, GCOLOR = 1) C*********************************************************************** C***** ***** C***** Coordinate Switch: WC,NDC ***** C***** ***** C*********************************************************************** INTEGER*4 GWC,GNDC PARAMETER (GWC = 0, GNDC = 1) C*********************************************************************** C***** ***** C***** Deferral Mode: ASAP, BNIG, BNIL, ASTI ***** C***** ***** C*********************************************************************** INTEGER*4 GASAP,GBNIG,GBNIL,GASTI PARAMETER (GASAP = 0, GBNIG = 1, GBNIL = 2, GASTI = 3) C*********************************************************************** C***** ***** C***** Detectability: Undetectable, Detectable ***** C***** ***** C*********************************************************************** INTEGER*4 GUNDET,GDETEC PARAMETER (GUNDET = 0, GDETEC = 1) C*********************************************************************** C***** ***** C***** Device Coordinate Units: Meters, Other ***** C***** ***** C*********************************************************************** INTEGER*4 GMETRE,GOTHU PARAMETER (GMETRE = 0, GOTHU = 1) C*********************************************************************** C***** ***** C***** Displace Surface Empty: Not Empty, Empty ***** C***** ***** C*********************************************************************** INTEGER*4 GNEMPT,GEMPTY PARAMETER (GNEMPT = 0, GEMPTY = 1) C*********************************************************************** C***** ***** C***** Dynamic Modification: Implicit Regeneration, Immediate ***** C***** ***** C*********************************************************************** INTEGER*4 GIRG,GIMM PARAMETER (GIRG = 0, GIMM = 1) C*********************************************************************** C***** ***** C***** Echo Switch: No Echo, Echo ***** C***** ***** C*********************************************************************** INTEGER*4 GNECHO,GECHO PARAMETER (GNECHO = 0, GECHO = 1) C*********************************************************************** C***** ***** C***** Fill Area Interior Style: Hollow, Solid, Pattern, Hatch ***** C***** ***** C*********************************************************************** INTEGER*4 GHOLLO,GSOLID,GPATTR,GHATCH PARAMETER (GHOLLO = 0, GSOLID = 1, GPATTR = 2, GHATCH = 3) C*********************************************************************** C***** ***** C***** GDP Attributes: Polyline, Polymarker, Text, Fill Area ***** C***** ***** C*********************************************************************** INTEGER*4 GPLATT, GPMATT, GTXATT, GFAATT PARAMETER (GPLATT = 0, GPMATT = 1, GTXATT = 2, GFAATT = 3) C*********************************************************************** C***** ***** C***** Highlighting: Normal, Highlighted ***** C***** ***** C*********************************************************************** INTEGER*4 GNORML,GHILIT PARAMETER (GNORML = 0, GHILIT = 1) C*********************************************************************** C***** ***** C***** Initial Choice Prompt Flag: Off, On ***** C***** ***** C*********************************************************************** INTEGER*4 GPROFF,GPRON PARAMETER (GPROFF = 0, GPRON = 1) C*********************************************************************** C***** ***** C***** Input Device Status: None, OK, No Pick or No Choice ***** C***** ***** C*********************************************************************** INTEGER*4 GNONE, GOK, GNPICK, GNCHOI PARAMETER (GNONE = 0, GOK = 1, GNPICK = 2, GNCHOI = 3) C*********************************************************************** C***** ***** C***** Input Class: None, Locator, Stroke, Valuator, Choice, ***** C***** Pick, String ***** C***** ***** C*********************************************************************** INTEGER*4 GNCLAS,GLOCAT,GSTROK,GVALUA,GCHOIC,GPICK,GSTRIN PARAMETER (GNCLAS = 0, GLOCAT = 1, GSTROK = 2, GVALUA = 3) PARAMETER (GCHOIC = 4, GPICK = 5, GSTRIN = 6) C*********************************************************************** C***** ***** C***** Implicit Regeneration Mode: Suppressed, Allowed ***** C***** ***** C*********************************************************************** INTEGER*4 GSUPPD,GALLOW PARAMETER (GSUPPD = 0, GALLOW = 1) C*********************************************************************** C***** ***** C***** Level of GKS: 0a, 0b, 0c, 1a, 1b, 1c, 2a, 2b, 2c ***** C***** ***** C*********************************************************************** INTEGER*4 GL0A,GL0B,GL0C,GL1A,GL1B,GL1C,GL2A,GL2B,GL2C PARAMETER (GL0A = 0, GL0B = 1, GL0C = 2, GL1A = 3, GL1B = 4) PARAMETER (GL1C = 5, GL2A = 6, GL2B = 7, GL2C = 8) C*********************************************************************** C***** ***** C***** Line Type: Solid, Dash, Dot, Dash-Dot ***** C***** ***** C*********************************************************************** INTEGER*4 GLSOLI,GLDASH,GLDOT,GLDASD PARAMETER (GLSOLI = 1, GLDASH = 2, GLDOT = 3, GLDASD = 4) C*********************************************************************** C***** ***** C***** Marker Type: Period, Plus, Asterisk, Circle, Cross ***** C***** ***** C*********************************************************************** INTEGER*4 GPOINT,GPLUS,GAST,GOMARK,GXMARK PARAMETER (GPOINT = 1, GPLUS = 2, GAST = 3, GOMARK = 4) PARAMETER (GXMARK = 5) C*********************************************************************** C***** ***** C***** New Frame Action Necessary: No, Yes ***** C***** ***** C*********************************************************************** INTEGER*4 GNO,GYES PARAMETER (GNO = 0, GYES = 1) C*********************************************************************** C***** ***** C***** Operating Mode: Request, Sample, Event ***** C***** ***** C*********************************************************************** INTEGER*4 GREQU,GSAMPL,GEVENT PARAMETER (GREQU = 0, GSAMPL = 1, GEVENT = 2) C*********************************************************************** C***** ***** C***** Operating State Value: GKCL, GKOP, WSOP, WSAC, SGOP ***** C***** ***** C*********************************************************************** INTEGER*4 GGKCL,GGKOP,GWSOP,GWSAC,GSGOP PARAMETER (GGKCL = 0, GGKOP = 1, GWSOP = 2, GWSAC = 3) PARAMETER (GSGOP = 4) C*********************************************************************** C***** ***** C***** Polyline/Fill Area Control Flag: Polyline, Fill Area ***** C***** ***** C*********************************************************************** INTEGER*4 GPLINE,GFILLA PARAMETER (GPLINE = 0, GFILLA = 1) C*********************************************************************** C***** ***** C***** Presence of Invalid Values: Absent, Present ***** C***** ***** C*********************************************************************** INTEGER*4 GABSNT,GPRSNT PARAMETER (GABSNT = 0, GPRSNT = 1) C*********************************************************************** C***** ***** C***** Regeneration Flag: Postpone, Perform ***** C***** ***** C*********************************************************************** INTEGER*4 GPOSTP,GPERFO PARAMETER (GPOSTP = 0, GPERFO = 1) C*********************************************************************** C***** ***** C***** Relative Input Priority: Higher, Lower ***** C***** ***** C*********************************************************************** INTEGER*4 GHIGHR,GLOWER PARAMETER (GHIGHR = 0, GLOWER = 1) C*********************************************************************** C***** ***** C***** Simultaneous Events Flag: No More, More ***** C***** ***** C*********************************************************************** INTEGER*4 GNMORE, GMORE PARAMETER (GNMORE = 0, GMORE = 1) C*********************************************************************** C***** ***** C***** Text Alignment Horizontal ***** C***** ***** C*********************************************************************** INTEGER*4 GAHNOR,GALEFT,GACENT,GARITE PARAMETER (GAHNOR = 0, GALEFT = 1, GACENT = 2, GARITE = 3) C*********************************************************************** C***** ***** C***** Text Alignment Vertical: Normal, Top, Cap, Half, Base, ***** C***** Bottom ***** C***** ***** C*********************************************************************** INTEGER*4 GAVNOR,GATOP,GACAP,GAHALF,GABASE,GABOTT PARAMETER (GAVNOR = 0, GATOP = 1, GACAP = 2, GAHALF =3) PARAMETER (GABASE = 4, GABOTT = 5) C*********************************************************************** C***** ***** C***** Text Path: Right, Left, Up, Down ***** C***** ***** C*********************************************************************** INTEGER*4 GRIGHT, GLEFT, GUP, GDOWN PARAMETER (GRIGHT = 0, GLEFT = 1, GUP = 2, GDOWN = 3) C*********************************************************************** C***** ***** C***** Text Precision: String, Character, Stroke ***** C***** ***** C*********************************************************************** INTEGER*4 GSTRP,GCHARP,GSTRKP PARAMETER (GSTRP = 0, GCHARP = 1, GSTRKP = 2) C*********************************************************************** C***** ***** C***** Type of Returned Value: Set, Realized ***** C***** ***** C*********************************************************************** INTEGER*4 GSET,GREALI PARAMETER (GSET = 0, GREALI = 1) C*********************************************************************** C***** ***** C***** Update State: Not Pending, Pending ***** C***** ***** C*********************************************************************** INTEGER*4 GNPEND,GPEND PARAMETER (GNPEND = 0, GPEND = 1) C*********************************************************************** C***** ***** C***** Vector / Rastor / Other Type of Display ***** C***** ***** C*********************************************************************** INTEGER*4 GVECTR,GRASTR,GOTHWK PARAMETER (GVECTR = 0, GRASTR = 1, GOTHWK = 2) C*********************************************************************** C***** ***** C***** Visibility: Visible, Invisible ***** C***** ***** C*********************************************************************** INTEGER*4 GINVIS,GVISI PARAMETER (GINVIS = 0, GVISI = 1) C*********************************************************************** C***** ***** C***** Workstation Category: Output, Input, Input/Output, ***** C***** WISS, Metafile Output, Metafile ***** C***** Input ***** C***** ***** C*********************************************************************** INTEGER*4 GOUTPT,GINPUT,GOUTIN,GWISS,GMO,GMI PARAMETER (GOUTPT = 0, GINPUT = 1, GOUTIN = 2, GWISS = 3) PARAMETER (GMO = 4, GMI = 5) C*********************************************************************** C***** ***** C***** Workstation State: Inactive, Active ***** C***** ***** C*********************************************************************** INTEGER*4 GINACT, GACTIV PARAMETER (GINACT = 0, GACTIV = 1) C*********************************************************************** C***** ***** C***** Font Type: Font 1, Font 2, Font 3 ***** C***** ***** C***** Note: This is not a standard GKS enumeration - it ***** C***** was added to the standard list specifically ***** C***** for use by the GKSDEMO program example. ***** C***** ***** C*********************************************************************** INTEGER*4 GFONT1,GFONT2,GFONT3 PARAMETER (GFONT1 = 1, GFONT2 = 2, GFONT3 = 3) C*********************************************************************** C***** ***** C***** Color Table Indexes as Set by GKSDEMO Program ***** C***** ***** C***** Note: This is not a standard GKS enumeration - it ***** C***** was added to the standard list specifically ***** C***** for use by the GKSDEMO program example. ***** C***** ***** C*********************************************************************** INTEGER*4 GBLACK,GRED,GGREEN,GBLUE,GYELOW,GORNGE,GMAGNT INTEGER*4 GLMGNT,GLBLUE,GLTURQ,GGRAYB,GLGREN,GMGREN INTEGER*4 GMRED,GGRAY,GWHITE PARAMETER (GBLACK = 0, GRED = 1, GGREEN = 2, GBLUE = 3) PARAMETER (GYELOW = 4, GORNGE = 5, GMAGNT = 6) PARAMETER (GLMGNT = 7, GLBLUE = 8, GLTURQ = 9) PARAMETER (GGRAYB = 10, GLGREN = 11, GMGREN = 12) PARAMETER (GMRED = 13, GGRAY = 14, GWHITE = 15) xgks-2.6.1+dfsg.2/src/progs/sledsrc/0000755000175000017500000000000011413611016020257 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/progs/sledsrc/screen_items.c0000644000175000017500000002733111413611016023111 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file contains: * manage_input * signal_done * picture_area_exec * palette_area_exec * popup_area_exec * get_newmitem * menu_area_exec * get_popup_from_pt * get_menu_item_from_pt * erase_area * set_active_clr_area * draw_screen_background */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/screen_items.c,v 2.5.4.1 1993/03/10 19:43:23 steve Exp $"; #include "defs.h" #include "popup.h" #include "key.h" #include "draw.h" #include "menu.h" #include "screen_items.h" #include "functbl.h" #include "trans.h" /* * dynamic table of current popups */ POPUP *currpoptbl; /* * currently active menus and menu item */ MENU_ITEM *currmitem = (MENU_ITEM *) NULL; /* currently active menu item */ BOOLEAN done = FALSE; /* activated by menu item QUIT */ AREA active_clr_area = FGDCLR_AREA; /* * manage_input * * description: main routine which accepts input from * user and calls appropriate routine * * parameters: none */ manage_input() { AREA area; /* identifies window */ int transno; /* trans no of window selected */ Gpoint pt; /* point selected */ IDX idx; /* screen_tbl index */ MENU *pri_menu; /* ptr to menu in PRI_MENU_AREA */ AREA get_area_from_transno(); /* finds area from transno and pt */ /* display_primary_menu */ pri_menu = get_menu_from_area(PRI_MENU_AREA); idx = find_menu_func_tbl_idx(pri_menu->key); (*(menu_func_tbl[idx].init))(PRI_MENU_AREA,pri_menu); set_active_clr_area(FGDCLR_AREA); /* manage input */ prompt(2); while (!done) { select_pt(&transno,&pt); area = get_area_from_transno(transno); if (eq(area,PICT_AREA) && (get_grid_state() == SNAP_ON) && !get_override_state()) snap_to_grid(&pt); /* if screen area exists and is active execute associated function else, reprompt */ if (area != (AREA) NULL) { idx = find_screen_tbl_idx(area); if ((screen_tbl[idx].is_active == TRUE) && (screen_tbl[idx].exec != NULL)) { (*(screen_tbl[idx].exec))(area, transno,pt); } else { reprompt(1); } free(area); } else reprompt(1); } } /* end manage_input */ /* * signal_done * * description: signals program to stop prompting user for input * * parameters: none */ signal_done() { done = TRUE; } /* end signal_done */ /* * picture_area_exec * * description: calls appropriate routine and * passes pt or object * * parameters: area (AREA) - area selected by user * transno (IDX) - trans no picked * pt (Gpoint) - pt picked */ picture_area_exec(area,transno,pt) AREA area; /* area selected by user */ IDX transno; /* trans no picked */ Gpoint pt; /* pt selected */ { IDX idx; /* index of currmitem in menu_item_func_tbl */ if (currmitem != (MENU_ITEM *) NULL) { idx = find_menu_item_func_tbl_idx(currmitem->key); (*(menu_item_func_tbl[idx].exec))(pt); } else { reprompt(1); } } /* end picture_area_exec */ /* * palette_area_exec * * description: calls set_fgdclr and passes pt or object * * parameters: area (AREA) - area selected by user * transno (IDX) - trans no picked * pt (Gpoint) - pt picked */ palette_area_exec(area,transno,pt) AREA area; /* area selected by user */ IDX transno; /* trans no picked */ Gpoint pt; /* pt selected */ { /* entry in palette must be calculated */ if (eq(active_clr_area,FGDCLR_AREA)) set_fgdclr(get_clr_idx_from_pt(pt)); else if (eq(active_clr_area,BGDCLR_AREA)) set_bgdclr(get_clr_idx_from_pt(pt)); else /* (eq(active_clr_area,FILLCLR_AREA)) */ set_fillclr(get_clr_idx_from_pt(pt)); } /* end palette_area_exec */ /* * fgdclr_area_exec * * description: sets active_clr_area to FGDCLR_AREA * * parameters: area (AREA) - area selected by user * transno (IDX) - trans no picked * pt (Gpoint) - pt picked */ fgdclr_area_exec(area,transno,pt) AREA area; /* area selected by user */ IDX transno; /* trans no picked */ Gpoint pt; /* pt selected */ { set_active_clr_area(FGDCLR_AREA); } /* end fgdclr_area_exec */ /* * bgdclr_area_exec * * description: sets active_clr_area to FGDCLR_AREA * * parameters: area (AREA) - area selected by user * transno (IDX) - trans no picked * pt (Gpoint) - pt picked */ bgdclr_area_exec(area,transno,pt) AREA area; /* area selected by user */ IDX transno; /* trans no picked */ Gpoint pt; /* pt selected */ { set_active_clr_area(BGDCLR_AREA); } /* end bgdclr_area_exec */ /* * fillclr_area_exec * * description: sets active_clr_area to FGDCLR_AREA * * parameters: area (AREA) - area selected by user * transno (IDX) - trans no picked * pt (Gpoint) - pt picked */ fillclr_area_exec(area,transno,pt) AREA area; /* area selected by user */ IDX transno; /* trans no picked */ Gpoint pt; /* pt selected */ { set_active_clr_area(FILLCLR_AREA); } /* end fillclr_area_exec */ /* * popup_area_exec * * description: calls appropriate popup exec routine * * parameters: area (AREA) - area selected by user * transno (IDX) - trans no picked * pt (Gpoint) - pt picked */ popup_area_exec(area,transno,pt) AREA area; /* area selected by user */ IDX transno; /* trans no picked */ Gpoint pt; /* pt selected */ { POPUP *popup; /* popup selected */ IDX idx; /* popup_func_tbl index for selected popup */ popup = get_popup_from_pt(pt); if (popup != (POPUP *) NULL) { idx = find_popup_func_tbl_idx(popup->key); (*(popup_func_tbl[idx].exec))(popup,pt); } } /* end popup_area_exec */ MENU_ITEM *newmitem; /* new menu item */ /* * get_newmitem * * description: returns pointer to newmitem key * this variable should NOT be changed * * parameters: none * * returns: (KEY) - newmitem's key */ KEY get_newmitem() { if (newmitem == (MENU_ITEM *) NULL) return((KEY) NULL); else return(newmitem->key); } /* end get_newmitem */ /* * menu_area_exec * * description: cleans up old menu item and initiates new * * parameters: area (AREA) - area selected by user * transno (IDX) - trans no picked * pt (Gpoint) - pt picked */ menu_area_exec(area,transno,pt) AREA area; /* area selected by user */ IDX transno; /* trans no picked */ Gpoint pt; /* pt selected */ { IDX idx; /* index of menu item funcs */ MENU *menu; /* menu containing item */ MENU_ITEM *parent; /* parent menu item of currmitem */ MENU_ITEM *get_menu_item_from_pt(); /* determine which menu item, newmitem, was selected */ menu = get_menu_from_area(area); if (menu != (MENU *) NULL) { parent = get_parent(menu); newmitem = get_menu_item_from_pt(area,pt); } else { reprompt(1); return; } if (newmitem == (MENU_ITEM *) NULL) { reprompt(1); return; } if (currmitem == (MENU_ITEM *) NULL) { idx = find_menu_item_func_tbl_idx(newmitem->key); if (menu_item_func_tbl[idx].init != NULL) (*(menu_item_func_tbl[idx].init))(newmitem); } else if (currmitem == newmitem) { idx = find_menu_item_func_tbl_idx(currmitem->key); if (menu_item_func_tbl[idx].restart != NULL) { (*(menu_item_func_tbl[idx].restart))(newmitem); } } else if (parent == newmitem) { idx = find_menu_item_func_tbl_idx(currmitem->key); if (menu_item_func_tbl[idx].cleanup != NULL) (*(menu_item_func_tbl[idx].cleanup))(currmitem); idx = find_menu_item_func_tbl_idx(newmitem->key); if (menu_item_func_tbl[idx].restart != NULL) (*(menu_item_func_tbl[idx].restart))(newmitem); } else /* a different menu item has been picked */ { idx = find_menu_item_func_tbl_idx(currmitem->key); if (menu_item_func_tbl[idx].cleanup != NULL) (*(menu_item_func_tbl[idx].cleanup))(currmitem); idx = find_menu_item_func_tbl_idx(newmitem->key); if (menu_item_func_tbl[idx].init != NULL) (*(menu_item_func_tbl[idx].init))(newmitem); } } /* end menu_area_exec */ /* * get_popup_from_pt * * description: finds popup corresponding to pt * * parameters: pt (Gpoint) - pt corresponding to popup * * returns: tbl_ptr (POPUP *) - popup selected */ POPUP * get_popup_from_pt(pt) Gpoint pt; { POPUP *tbl_ptr; /* find popup in tbl */ for (tbl_ptr = currpoptbl; (!(in_bounds_delta(tbl_ptr->extent,pt,0.0)) && tbl_ptr->next != (POPUP *) NULL); tbl_ptr = tbl_ptr->next); if (!(in_bounds_delta(tbl_ptr->extent,pt,0.0))) return((POPUP *) NULL); else return(tbl_ptr); }; /* get_popup_from_pt */ /* * get_menu_item_from_pt * * description: finds menu item from pickid * * parameters: menu (MENU *) - ptr to menu * pt (PICKID) - pick number of menu item */ MENU_ITEM * get_menu_item_from_pt(area,pt) AREA area; /* PRI_MENU_AREA or SEC_MENU_AREA */ Gpoint pt; /* pick number */ { MENU *menu; Gpoint window[2]; /* window[MIN] = (xmin,ymin) window[MAX] = (xmax,ymax) */ Gfloat h; /* ht of menu item */ Gfloat d; /* distance from ymax to pt */ MENU_ITEM *menu_item_ptr; int i; menu = get_menu_from_area(area); get_window(area,window); h = (window[MAX].y - window[MIN].y) / max_num_menu_entries; d = window[MAX].y - pt.y; if (menu->noitems < ((int) (d / h) )) menu_item_ptr = (MENU_ITEM *) NULL; else { menu_item_ptr = menu->item; for (i=0; i< ((int) (d/h) - 1); i++) menu_item_ptr++; } return(menu_item_ptr); }; /* end get_menu_item_from_pt */ /* * erase_area * * description: erases screen area by drawing solid black box * over area. does NOT free transformation * * parameters: area (AREA) - name of area to erase * */ erase_area(area) AREA area; { Gpoint window[2]; /* area world window */ Gpoint box[4]; /* pts of rectangle bounding window */ push_curr_trans(); activate(area); set_aspect_flags(GBUNDLED); get_window(area,window); load_box(box,window[MIN].x, window[MAX].x, window[MIN].y, window[MAX].y); gsetfillind(BLACK_SOLID); gfillarea(4,box); set_aspect_flags(GINDIVIDUAL); pop_curr_trans(); } /* end erase_area */ /* * set_active_clr_area * * description: sets active clr area to clr_area * * parameters: clr_area (AREA) - clr area */ set_active_clr_area(clr_area) AREA clr_area; { if (!eq(active_clr_area,clr_area)) { if (active_clr_area != (AREA) NULL) { draw_clr_area(active_clr_area,FALSE); free(active_clr_area); } active_clr_area = (AREA) calloc((unsigned) (strlen(clr_area) + 1), sizeof(char)); (void) strcpy(active_clr_area,clr_area); draw_clr_area(active_clr_area,TRUE); } } /* end set_active_clr_area */ /* * draw_screen_background * * description: draws black box over screen * * parameters: none */ draw_screen_background() { Gpoint box[4]; push_curr_trans(); gselntran(DEFAULT_TRANS); set_aspect_flags(GBUNDLED); load_box(box,0.0,1.0,0.0,1.0); gsetfillind(BLACK_SOLID); gfillarea(4,box); set_aspect_flags(GINDIVIDUAL); pop_curr_trans(); } /* end init_screen */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/trans.h0000644000175000017500000000303211413611016021555 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * stack to save states of which trans are active */ #include #include "screen_items.h" #define NON_EXISTENT -1 typedef struct trans_stk TRANS_STK; struct trans_stk { IDX transno; TRANS_STK *next; }; /* typedef struct extent_holder *EXTENT_PTR; struct extent_holder { Gpoint pt[2]; EXTENT_PTR next; }; */ #define DEFAULT_TRANS 0 /* * rectangular boundaries are stored as follows: * * boundary[MIN].x = xmin * boundary[MAX].x = xmax * boundary[MIN].y = ymin * boundary[MAX].y = ymax */ #define MIN 0 #define MAX 1 xgks-2.6.1+dfsg.2/src/progs/sledsrc/GKS_LINT.c0000644000175000017500000001047611413611016021705 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * LINTLIBRARY */ #include #include /*ARGSUSED*/ GKSERR open_gks (err_file,memory) struct _iobuf *err_file; int memory; { return 0; } /*ARGSUSED*/ GKSERR close_gks () { return 0; } /*ARGSUSED*/ GKSERR emerg_close () { return 0; } /*ARGSUSED*/ GKSERR s_aspect_flags (flags) ENUM *flags; { return 0; } /*ARGSUSED*/ GKSERR open_ws (ws_id, connection, ws_type) WSID ws_id; char *connection; WSTYPE ws_type; { return 0; } /*ARGSUSED*/ GKSERR s_deferral (ws_id, deferral_mode, regen_mode) WSID ws_id; ENUM deferral_mode; ENUM regen_mode; { return 0; } /*ARGSUSED*/ GKSERR message (ws_id, string) WSID ws_id; char *string; { return 0; } /*ARGSUSED*/ GKSERR s_window (trans,xmin,xmax,ymin,ymax) int trans; REAL xmin,xmax,ymin,ymax; { return 0; } /*ARGSUSED*/ GKSERR s_viewport (trans,xmin,xmax,ymin,ymax) int trans; REAL xmin,xmax,ymin,ymax; { return 0; } /*ARGSUSED*/ GKSERR s_viewport_priority (trans,ref_trans,priority) int trans,ref_trans; ENUM priority; { return 0; } /*ARGSUSED*/ GKSERR s_ws_window (ws_id,xmin,xmax,ymin,ymax) WSID ws_id; REAL xmin,xmax,ymin,ymax; { return 0; } /*ARGSUSED*/ GKSERR s_ws_viewport (ws_id,xmin,xmax,ymin,ymax) WSID ws_id; REAL xmin,xmax,ymin,ymax; { return 0; } /*ARGSUSED*/ GKSERR s_color_rep (ws_id,idx,red,green,blue) WSID ws_id; IDX idx; REAL red,green,blue; { return 0; } /*ARGSUSED*/ GKSERR fill_area (num_pts,pts) int num_pts; WCPT *pts; { return 0; } /*ARGSUSED*/ GKSERR s_fill_rep (ws_id,idx,style,style_idx,color) WSID ws_id; IDX idx, style_idx,color; ENUM style; { return 0; } /*ARGSUSED*/ GKSERR polyline (num_pts,pts) int num_pts; WCPT *pts; { return 0; } /*ARGSUSED*/ GKSERR s_pline_rep (ws_id,idx,type,width,color) WSID ws_id; IDX idx, type, color; REAL width; { return 0; } /*ARGSUSED*/ GKSERR polymarker (num_pts,pts) int num_pts; WCPT *pts; { return 0; } /*ARGSUSED*/ GKSERR s_seg_trans (name,matrix) SEGMENT name; REAL *matrix; { return 0; } /*ARGSUSED*/ GKSERR eval_trans_matrix (Fixed_pt,Trans_vector,Theta,ScaleX,ScaleY,CoorSystem,Matrix) WCPT *Fixed_pt,*Trans_vector; REAL Theta,ScaleX,ScaleY; int CoorSystem; REAL Matrix[6]; { return 0; } /*ARGSUSED*/ GKSERR accum_trans_matrix (matin, fixed_point, trans_vec, theta, sx, sy, swtch, matout) REAL matin[3][2]; WCPT *fixed_point, *trans_vec; REAL theta, sx, sy; int swtch; REAL matout[3][2]; { return 0; } /*ARGSUSED*/ GKSERR s_char_up_vector (up_vector) WCPT *up_vector; { return 0; } /*ARGSUSED*/ GKSERR s_text_rep (ws_id,idx,bundle) WSID ws_id; IDX idx; TEXT_BUNDLE *bundle; { return 0; } /*ARGSUSED*/ GKSERR text (at,string) WCPT *at; char *string; { return 0; } /*ARGSUSED*/ GKSERR init_locator (ws_id,dev,pos,ntrans,prompt,xmin,xmax,ymin,ymax,data) WSID ws_id; int dev; WCPT *pos; IDX ntrans; int prompt; REAL xmin,xmax,ymin,ymax; struct loc_data *data; { return 0; } /*ARGSUSED*/ GKSERR s_locator_mode (ws_id,dev,mode,echo) WSID ws_id; int dev; ENUM mode,echo; { return 0; } /*ARGSUSED*/ GKSERR req_locator (ws_id,dev,status,ntrans,pos) WSID ws_id; int dev; ENUM *status; IDX *ntrans; WCPT *pos; { return 0; } xgks-2.6.1+dfsg.2/src/progs/sledsrc/write_output.c0000644000175000017500000001424111413611016023177 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file includes * write_picture * write_palette_clrs * write_object * write_line * write_poly * write_text */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/write_output.c,v 2.5.4.1 1993/03/10 19:43:24 steve Exp $"; #include #include "io.h" #include "screen_items.h" #include "color.h" #include "palette.h" #include "objects.h" #include "object_tbl.h" #include "object_list.h" #include #include "conversions.h" extern char *calloc(); /* * write_picture * * description: write in picture description * * parameters: filename (char *) - name of file to write * * returns: (BOOLEAN) - true if input file successfully * write in, false otherwise */ BOOLEAN write_picture(filename) char *filename; { FILE *fd; OBJECT *object; COMB_OB *comb_ob; int i,j; /* open file for writing */ fd = fopen(filename,"w+"); if (fd == (FILE *) NULL) { reprompt(23); return(FALSE); } /* write out version number */ write_char_str(fd,VERSION_NUM); /* write out palette, fgd color, bgd color and fill color */ i = get_fgdclr(); write_int(fd,i); /* i = get_bgdclr(); */ i = bgdclr; write_int(fd,i); i = get_fillclr(); write_int(fd,i); write_palette_clrs(fd); /* write in object list */ i = 0; for (comb_ob = head; comb_ob != (COMB_OB *) NULL; comb_ob = comb_ob->next) { if (comb_ob->visibility == GVISIBLE) i++; } write_int(fd,i); for (comb_ob = head; comb_ob != (COMB_OB *) NULL; comb_ob = comb_ob->next) { if (comb_ob->visibility == GINVISIBLE) continue; j = 0; for (object = comb_ob->child; object != (OBJECT *) NULL; object = object->next) { if (object->visibility == GVISIBLE) j++; } write_int(fd,j); for (object = comb_ob->child; object != (OBJECT *) NULL; object = object->next) { if (object->visibility == GVISIBLE) write_object(fd,object); } } /* close file */ fclose(fd); return(TRUE); } /* end write_picture */ /* * write_palette_clrs * * description: allocates color table space for palette * colors in color table and initializes colors * in color table as well as initializing fgdclr * to first entry in color table (top row, * leftmost column) * * parameters: fd (FILE *) - file descriptor */ write_palette_clrs(fd) FILE *fd; { Gcobundl rgb_clr; int i; /* write in number of rows and columns */ write_int(fd,nrows); write_int(fd,ncols); /* write colors */ for (i = palstartclr; i < (palstartclr + nrows * ncols); i++) { get_color(i,&rgb_clr); write_real3(fd,(rgb_clr.red),(rgb_clr.green), (rgb_clr.blue)); } } /* end write_palette_clrs */ /* * write_object * * description: writes out object description * * parameters: fd (FILE *) - file descriptor * object (OBJECT *) - object to write out */ write_object(fd,object) FILE *fd; OBJECT *object; { int i; write_char_str(fd,object->key); write_int(fd,vis_to_num(object->visibility)); for (i=0; i<6; i++) write_real(fd,object->trans[i]); i = get_object_func_tbl_idx(object->key); (*(object_func_tbl[i].write))(fd,object); } /* end write_object */ /* * write_line * * description: writes in fields of struct line object * * parameters: fd (FILE *) - file descriptor * object (OBJECT *) - line object */ write_line(fd,object) FILE *fd; OBJECT *object; { int i; write_int(fd,object->lineob.color); write_int(fd,object->lineob.style); write_int(fd,object->lineob.width); write_int(fd,object->lineob.nopts); for (i=0; ilineob.nopts; i++) write_real2(fd,object->lineob.pts[i].x, object->lineob.pts[i].y); } /* end write_line */ /* * write_poly * * description: writes in fields of struct poly object * * parameters: fd (FILE *) - file descriptor * object (OBJECT *) - poly object */ write_poly(fd,object) FILE *fd; OBJECT *object; { int i; write_int(fd,style_to_num(object->polyob.fillstyle)); write_int(fd,object->polyob.fillcolor); write_int(fd,object->polyob.linecolor); write_int(fd,object->polyob.style); write_int(fd,object->polyob.width); write_int(fd,object->polyob.nopts); for (i=0; ipolyob.nopts; i++) write_real2(fd,object->polyob.pts[i].x, object->polyob.pts[i].y); } /* end write_poly */ /* * write_text * * description: writes in fields of struct text object * * parameters: fd (FILE *) - file descriptor * object (OBJECT *) - text object */ write_text(fd,object) FILE *fd; OBJECT *object; { CHAR_OB *ch_ptr; int i; write_int(fd,path_to_num(object->textob.path)); write_int(fd,vert_to_num(object->textob.vert_just)); write_int(fd,horz_to_num(object->textob.horz_just)); write_real2(fd,object->textob.pos.x, object->textob.pos.y); write_real2(fd,object->textob.up_vec.x, object->textob.up_vec.y); i = 0; for (ch_ptr = object->textob.str; ch_ptr != (CHAR_OB *) NULL; ch_ptr = ch_ptr->next) i++; write_int(fd,i); for (ch_ptr = object->textob.str; ch_ptr != (CHAR_OB *) NULL; ch_ptr = ch_ptr->next) { write_real2(fd,ch_ptr->center.x, ch_ptr->center.y); write_int(fd,ch_ptr->color); write_real(fd,ch_ptr->height); write_int(fd,ch_ptr->fontstyle); write_real(fd,ch_ptr->expansion); write_real(fd,ch_ptr->width); write_char(fd,ch_ptr->ch); } } /* end write_text */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/adjust_grid_func.h0000644000175000017500000000263011413611016023743 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ extern int init_grid_color_popup(); extern int switch_grid_color_state(); extern int adjust_grid(); extern int init_grid_menu(); extern int move_grid_init(); extern int move_grid_restart(); extern int move_grid_exec(); extern int move_grid_cleanup(); extern int resize_grid_init(); extern int resize_grid_restart(); extern int resize_grid_exec(); extern int resize_grid_cleanup(); extern int adjust_grid_undo(); xgks-2.6.1+dfsg.2/src/progs/sledsrc/functbl.c0000644000175000017500000000650011413611016022061 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file contains: * find_screen_tbl_idx * find_popup_tbl_idx * find_menu_item_tbl_idx * find_menu_tbl_idx */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/functbl.c,v 2.5.4.1 1993/03/10 19:43:20 steve Exp $"; #include "screen_items.h" #include "functbl.h" #include "defs.h" #include /* * find_screen_tbl_idx * * description: returns ptr to screen tbl entry matching * area * * parameters: area (AREA) - screen area */ find_screen_tbl_idx(area) AREA area; /* screen area */ { int i; /* look for area in tbl */ for (i=0; (!eq(screen_tbl[i].area,area) && i #include /* * ident * * description: sets transformation matrix to identity * * parameters: trans (Gfloat *) - transformation matrix * (GKS format) */ ident(trans) Gfloat *trans; { trans[0] = 1; trans[1] = 0; trans[2] = 0; trans[3] = 0; trans[4] = 1; trans[5] = 0; } /* end ident */ /* * pt_mult * * description: multiplies list of pts by transformation * matrix * * parameters: pts (Gpoint *) - array of pts * nopts (int) - no of pts * trans (Gfloat *) - transformation matrix * (GKS format) */ pt_mult(pts,nopts,trans) Gpoint *pts; int nopts; Gfloat *trans; { int i; Gfloat x,y; for (i=0; i #include "changes.h" #include "ws.h" extern char *calloc(); /* * alloc_stroke_font_tbl * * description: creates list of fonts with stroke precision * * parameters: list (IDX **) - pointer to list of fonts * with stroke precision * n (int *) - no of fonts with stroke precision */ alloc_stroke_font_tbl(list,n) IDX **list; int *n; { int i,j; Gtxfac attr; ginqtextfacil(ws_type,&attr); /* count number of fonts with stroke precision */ *n = 0; for (i=0; i<(attr.fps); i++) { if ((attr.fp_list[i]).prec == GSTROKE) (*n)++; } /* assign stroke font list */ *list = (IDX *) calloc((unsigned) *n, sizeof(IDX)); j=0; for (i=0; i /* * routines which manage transformations */ AREA *trans_tbl; /* tbl of trans and corresponding areas */ TRANS_STK *stk_ptr = (TRANS_STK *) NULL; /* ptr to stack of saved trans */ /* * adjust_screen_tbl_viewports * * description: adjusts viewport of each screen area so * that entire screen is used * * parameters: none */ adjust_screen_tbl_viewports() { Gfloat xmax_dc,ymax_dc; /* max DC coordinates */ Gfloat xmax_ndc,ymax_ndc; /* max ndc coordinates */ int i; get_max_dc_coor(&xmax_dc,&ymax_dc); if (ymax_dc > xmax_dc) { xmax_ndc = xmax_dc / ymax_dc; ymax_ndc = 1.0; } else { ymax_ndc = ymax_dc / xmax_dc; xmax_ndc = 1.0; } for (i=0; itransno)); trans->next = stk_ptr; stk_ptr = trans; } /* end push_curr_trans */ /* * pop_curr_trans * * description: restores top of trans_stk as current trans * * parameters: none */ pop_curr_trans() { TRANS_STK *trans; /* if stack is not empty, pop top of stk and set curr trans equal to top of stk */ if (stk_ptr != (TRANS_STK *) NULL) { trans = stk_ptr; stk_ptr = stk_ptr->next; gselntran(trans->transno); free((char *) trans); } } /* end pop_curr_trans */ /* * find_trans * * description: find_trans * * parameters: area (AREA) - area to be mapped to trans * for future identification */ find_trans(area) AREA area; /* screen area */ { int transno; /* trans no corresponding to area */ int maximum; /* highest numbered trans available */ /* inquire how many transformations are available maximum is highest numbered transformation */ ginqmaxntrannum(&maximum); /* find trans no corresponding to area */ transno = 0; do transno++; while ((transno < maximum) && !eq(trans_tbl[transno],area)); if (!eq(trans_tbl[transno],area)) transno = NON_EXISTENT; return(transno); } /* end find_trans */ /* * set_viewport * * description: updates screen_tbl and if area * is currently mapped to actual trans * gks viewport is reset * * parameters: area (AREA) - associated area * viewport (Gpoint *) - new viewport */ set_viewport(area,viewport) AREA area; /* viewport to set */ Gpoint *viewport; /* viewport[MIN] = (xmin,ymin) viewport[MAX] = (xmax,ymax) */ { IDX idx; /* index into screen_tbl */ IDX transno; /* trans corresponding to screen area */ Glimit port; /* find screen table entry */ idx = find_screen_tbl_idx(area); /* update tbl entry with new viewport value */ screen_tbl[idx].viewport[MIN].x = viewport[MIN].x; screen_tbl[idx].viewport[MIN].y = viewport[MIN].y; screen_tbl[idx].viewport[MAX].x = viewport[MAX].x; screen_tbl[idx].viewport[MAX].y = viewport[MAX].y; /* if transformation allocated, set gks viewport too */ transno = find_trans(area); if (transno != NON_EXISTENT) { port.xmin = viewport[MIN].x; port.xmax = viewport[MAX].x; port.ymin = viewport[MIN].y; port.ymax = viewport[MAX].y; gsetviewport(transno,&port); } } /* end set_viewport */ /* * set_window * * description: updates screen_tbl and if area * is currently mapped to actual trans * gks window is reset * * parameters: area (AREA) - associated area * window (Gpoint *) - new window */ set_window(area,window) AREA area; /* window to set */ Gpoint *window; /* window[MIN] = (xmin,ymin) window[MAX] = (xmax,ymax) */ { IDX idx; /* index into screen_tbl */ IDX transno; /* trans corresponding to screen area */ Glimit wind; /* find screen table entry */ idx = find_screen_tbl_idx(area); /* update tbl entry with new window value */ screen_tbl[idx].window[MIN].x = window[MIN].x; screen_tbl[idx].window[MIN].y = window[MIN].y; screen_tbl[idx].window[MAX].x = window[MAX].x; screen_tbl[idx].window[MAX].y = window[MAX].y; /* if transformation allocated, set gks window too */ transno = find_trans(area); if (transno != NON_EXISTENT) { wind.xmin = window[MIN].x; wind.xmax = window[MAX].x; wind.ymin = window[MIN].y; wind.ymax = window[MAX].y; gsetwindow(transno,&wind); } } /* end set_window */ /* * get_viewport * * description: get viewport associated with screen area * returned in variable viewport * * parameters: area (AREA) - screen area * viewport (Gpoint *) - screen area viewport */ get_viewport(area,viewport) AREA area; /* screen area */ Gpoint *viewport; /* screen area viewport */ { IDX idx; /* index into screen_tbl */ /* find screen table entry */ idx = find_screen_tbl_idx(area); /* copy viewport info to return*/ viewport[MIN].x = screen_tbl[idx].viewport[MIN].x; viewport[MIN].y = screen_tbl[idx].viewport[MIN].y; viewport[MAX].x = screen_tbl[idx].viewport[MAX].x; viewport[MAX].y = screen_tbl[idx].viewport[MAX].y; } /* end get_viewport */ /* * get_window * * description: get window associated with screen area * returned in variable window * * parameters: area (AREA) - screen area * window (Gpoint *) - screen area window */ get_window(area,window) AREA area; /* screen area */ Gpoint *window; /* screen area window */ { IDX idx; /* index into screen_tbl */ /* find screen table entry */ idx = find_screen_tbl_idx(area); /* copy window info to return */ window[MIN].x = screen_tbl[idx].window[MIN].x; window[MIN].y = screen_tbl[idx].window[MIN].y; window[MAX].x = screen_tbl[idx].window[MAX].x; window[MAX].y = screen_tbl[idx].window[MAX].y; } /* end get_window */ /* * get_ws_trans * * description: get workstation window and viewport * * parameters: (Gpoint *) wind, view - workstation * window and viewport */ get_ws_trans(wind,view) Gpoint wind[],view[]; { Gwsti tran; ginqwstran(ws_id,&tran); wind[0].x = tran.current.w.xmin; wind[1].x = tran.current.w.xmax; wind[0].y = tran.current.w.ymin; wind[1].y = tran.current.w.ymax; view[0].x = tran.current.v.xmin; view[1].x = tran.current.v.xmax; view[0].y = tran.current.v.ymin; view[1].y = tran.current.v.ymax; printf("ws_window: min = (%.2f, %.2f), max = (%.2f, %.2f)\n", wind[0].x,wind[0].y,wind[1].x,wind[1].y); printf("ws_viewport: min = (%.2f, %.2f), max = (%.2f, %.2f)\n", view[0].x,view[0].y,view[1].x,view[1].y); } /* end get_ws_trans */ /* * is_ident * * description: tests if trans equals identity trans * * parameters: trans (Gfloat *) - trans to test * * returns: (BOOLEAN) - TRUE if trans is identity trans */ is_ident(trans) Gfloat *trans; { if ((trans[0] == 1.0) && (trans[1] == 0.0) && (trans[2] == 0.0) && (trans[3] == 0.0) && (trans[4] == 1.0) && (trans[5] == 0.0)) return(TRUE); else return(FALSE); } /* end is_ident */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/menu.c0000644000175000017500000001335711413611016021400 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file contains: * get_menu_from_area * get_area_from_menu * find_menu_item_idx * set_menu * get_parent * switch_sec_menu * display_child_menu * not_implemented * set_currmitem */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/menu.c,v 2.5.4.1 1993/03/10 19:43:21 steve Exp $"; #include "screen_items.h" #include "functbl.h" #include "key.h" #include "defs.h" #include "menu.h" #include int menu_tbl_sz = 2; struct menu_area_tbl_entry menu_tbl[2] = { { PRI_MENU_AREA, /* area */ NULL /* menu */ }, { SEC_MENU_AREA, /* area */ NULL /* menu */ } }; /* * get_menu_from_area * * description: finds menu in area and returns ptr * to area * * parameters: area (AREA) - area containing menu */ MENU * get_menu_from_area(area) AREA area; { int i; for (i=0; (ikey,menu->key)); i++); if (eq(menu_tbl[i].menu->key,menu->key)) { area = (AREA) calloc((unsigned) strlen(menu_tbl[i].area), sizeof(char)); (void) strcpy(area,menu_tbl[i].area); return(menu_tbl[i].area); } else return((AREA) NULL); } /* end get_menu_from_area */ /* * find_menu_item_idx * * description: finds menu containing item and idx * of item in menu * * parameters: key (KEY) - menu item key * menu (MENU **) - menu containing item * idx (IDX *) - menu index * * returns: menu and menu item index in menu */ find_menu_item_idx(key,menu,idx) KEY key; MENU **menu; IDX *idx; { BOOLEAN found; int i = 1; int j = 1; MENU_ITEM *menu_item_ptr; /* determine which menu contains menu_item */ /* i will be the one larger than the index of menu in menu_tbl */ /* j will be the index of menu item in menu */ found = FALSE; for (i = 0; ((iitem; for (j=0; ((j < menu_tbl[i].menu->noitems) && (!found)); j++) { if (eq(menu_item_ptr->key,key)) found = TRUE; else menu_item_ptr++; } } if (found) { *idx = j - 1; *menu = menu_tbl[i-1].menu; } else exit_error("find_menu_item_idx",10); } /* end find_menu_item_idx */ /* * set_menu * * description: sets tbl entry corresponding to area * to menu * * parameters: area (AREA) - tbl key * menu (MENU) - menu to enter */ set_menu(area,menu) AREA area; MENU *menu; { int i; for (i=0; (iparent != (MENU *) NULL) for (i=0; child_menu->parent->item[i].child != child_menu; i++); if (child_menu->parent != (MENU *) NULL) return(&(child_menu->parent->item[i])); else return ((MENU_ITEM *) NULL); }; /* get_parent */ /* * switch_sec_menu * * description: switches secondary menu to new menu * * parameters: new_menu (MENU *) - new secondary menu */ switch_sec_menu(new_menu) MENU *new_menu; /* new sec_menu */ { IDX idx; MENU *sec_menu; sec_menu = get_menu_from_area(SEC_MENU_AREA); if (sec_menu != (MENU *) NULL) { idx = find_menu_func_tbl_idx(sec_menu->key); (*(menu_func_tbl[idx].cleanup))(SEC_MENU_AREA,sec_menu); } set_menu(SEC_MENU_AREA,new_menu); sec_menu = new_menu; currmitem = (MENU_ITEM *) NULL; idx = find_menu_func_tbl_idx(sec_menu->key); (*(menu_func_tbl[idx].init))(SEC_MENU_AREA,sec_menu); } /* end switch_sec_menu */ display_child_menu(menu_item) MENU_ITEM *menu_item; { switch_sec_menu(menu_item->child); initialize_undo(); prompt(2); } /* end display_child_menu */ /* * not_implemented * * description: tells user func has not been implemented * and reprompts user * * parameters: menu_item (MENU_ITEM *) - menu item picked */ not_implemented(menu_item) MENU_ITEM *menu_item; { reprompt(0); currmitem = (MENU_ITEM *) NULL; } /* end not_implemented */ /* * set_currmitem * * description: sets currmitem to specified menu item * * parameters: menu_item (MENU_ITEM *) - new value for * currmitem */ set_currmitem(menu_item) MENU_ITEM *menu_item; { currmitem = menu_item; } /* end set_currmitem */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/edit_picture_func.h0000644000175000017500000000351211413611016024124 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ extern int edit_picture_init(); /* menu item functions */ extern int edit_picture_undo(); extern int erase(); extern int rotate_init(); extern int rotate_restart(); extern int rotate_exec(); extern int rotate_cleanup(); extern int move_init(); extern int move_restart(); extern int move_exec(); extern int move_cleanup(); extern int copy_init(); extern int copy_restart(); extern int copy_exec(); extern int copy_cleanup(); extern int delete_init(); extern int delete_restart(); extern int delete_exec(); extern int delete_cleanup(); extern int combine_init(); extern int combine_restart(); extern int combine_exec(); extern int combine_cleanup(); extern int split_init(); extern int split_restart(); extern int split_exec(); extern int split_cleanup(); /* popup functions */ extern int init_angle_popup(); extern int switch_angle_state(); xgks-2.6.1+dfsg.2/src/progs/sledsrc/prompt.c0000644000175000017500000002030211413611016021741 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file includes: * prompt * reprompt * full_prompt * display_msg * erase_msg * display_msg_area * rm_msg_area * restore_msg_area */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/prompt.c,v 2.5.4.1 1993/03/10 19:43:23 steve Exp $"; #include #include "key.h" #include "draw.h" #include "trans.h" #include "color.h" #include "popup.h" #include "functbl.h" #include #define NO_PROMPT -1 /* * prompt messages */ char *prompt_messages[] = { "NOT IMPLEMENTED", /* 0 */ "INVALID SELECTION", /* 1 */ "SELECT MENU ITEM", /* 2 */ "ADIOS AMIGO!", /* 3 */ "SELECT FIRST POINT", /* 4 */ "SELECT NEXT POINT", /* 5 */ "PLACE COLOR IN PALETTE, MIXER OR TUNER", /* 6 */ "PICK COLOR FROM WHEEL, PALETTE, MIXER OR TUNER", /* 7 */ "SELECT CENTER POINT", /* 8 */ "SELECT EXTERIOR POINT", /* 9 */ "SELECT FIRST POINT OF BOUNDING BOX", /* 10 */ "SELECT SECOND POINT OF BOUNDING BOX", /* 11 */ "SELECT TEXT LOCATION", /* 12 */ "ENTER TEXT", /* 13 */ "SELECT OBJECT TO DELETE", /* 14 */ "NO OBJECT SELECTED", /* 15 */ "SELECT OBJECT TO COPY", /* 16 */ "SELECT LOCATION FOR COPY", /* 17 */ "SELECT OBJECT TO MOVE", /* 18 */ "SELECT LOCATION FOR OBJECT", /* 19 */ "NO OBJECTS TO EDIT", /* 20 */ "NO ACTION TO UNDO", /* 21 */ "ERROR OPENING INPUT FILE", /* 22 */ "ERROR OPENING OUTPUT FILE", /* 23 */ "SELECT FIRST POINT OF BOUNDING BOX", /* 24 */ "SELECT SECOND POINT OF BOUNDING BOX", /* 25 */ "NO OBJECTS SELECTED", /* 26 */ "SELECT OBJECT TO SPLIT", /* 27 */ "ERROR READING INPUT FILE", /* 28 */ "ERROR WRITING OUTPUT FILE", /* 29 */ "SELECT NEW LOCATION FOR A GRID POINT", /* 30 */ "SELECT STATIONERY GRID POINT", /* 31 */ "SELECT NEW POSITION OF NEAREST GRID POINT", /* 32 */ "INVALID SELECTION: GRID NOT VISIBLE", /* 33 */ "SELECT OBJECT TO ROTATE", /* 34 */ "ENTER FILE NAME", /* 35 */ "SELECT FIRST CONTROL POINT OF CURVE", /* 36 */ "SELECT SECOND CONTROL POINT OF CURVE", /* 37 */ "SELECT THIRD CONTROL POINT OF CURVE", /* 38 */ "SELECT LAST CONTROL POINT OF CURVE", /* 39 */ "NO OBJECTS IN PICTURE", /* 40 */ "ONE MOMENT, PLEASE.", /* 41 */ "NOTHING TO PHOTOGRAPH", /* 42 */ "FILE NOT BY CURRENT SLED VERSION" /* 43 */ }; IDX msgno1 = NO_PROMPT; /* current msg on screen */ IDX msgno2 = NO_PROMPT; /* is "prompt_message[msgno1]: prompt_messaage[msgno2]" unless one of msgno1 or msgno2 = 0 */ /* * prompt * * description: if in verbose mode, display * prompt_messages[msgno] * * parameters: msgno (IDX) - msgno2 */ prompt(msgno) IDX msgno; { /* if system is not in verbose mode, do not display messages */ if (get_verbose_mode() == VERBOSE_MODE_ON) { erase_msg(); msgno1 = NO_PROMPT; msgno2 = msgno; display_msg(white); } else { msgno1 = NO_PROMPT; msgno2 = msgno; } } /* end prompt */ /* * reprompt * * description: if in verbose mode, redisplay prompt message * preceeded by "prompt_messages[msgno]: " * * parameters: msgno (IDX) - msgno1 */ reprompt(msgno) IDX msgno; /* msgno1 */ { /* if system is not in verbose mode, do not display messages */ if (get_verbose_mode() == VERBOSE_MODE_ON) { erase_msg(); msgno1 = msgno; display_msg(white); }; } /* end reprompt */ /* * full_prompt * * description: displays: * ": " * * parameters: new1, new2 (IDX) - message numbers * */ full_prompt(new1,new2) IDX new1,new2; { /* if system is not in verbose mode, do not display messages */ if (get_verbose_mode() == VERBOSE_MODE_ON) { erase_msg(); msgno1 = new1; msgno2 = new2; display_msg(white); }; } /* end full_promp */ /* * display_msg * * description: draw prompt message on screen * preceded by invalid input if invalid = TRUE * * parameters: (IDX) - color no */ display_msg(clrno) IDX clrno; /* color to use */ { int length; /* length of prompt msg */ char *prompt_str; /* prompt msg */ Gpoint window[2]; /* window[MIN] = (xmin,ymin) window[MAX] = (xmax,ymax) */ Gpoint center; /* center of window */ /* activate msg area and deactivate all others */ push_curr_trans(); activate(MSG_AREA); set_aspect_flags(GBUNDLED); /* determine prompt string */ if ((msgno1 != NO_PROMPT) && (msgno2 != NO_PROMPT)) { length = strlen(prompt_messages[msgno1]) + strlen(prompt_messages[msgno2]) + 3; prompt_str = (char *) calloc ((unsigned) length, sizeof(char)); (void) strcpy(prompt_str,prompt_messages[msgno1]); (void) strcat(prompt_str,": "); (void) strcat(prompt_str,prompt_messages[msgno2]); } else if ((msgno1 == NO_PROMPT) && (msgno2 != NO_PROMPT)) { length = strlen(prompt_messages[msgno2]) + 1; prompt_str = (char *) calloc ((unsigned) length, sizeof(char)); (void) strcpy(prompt_str,prompt_messages[msgno2]); } else if ((msgno1 != NO_PROMPT) && (msgno2 == NO_PROMPT)) { length = strlen(prompt_messages[msgno1]) + 1; prompt_str = (char *) calloc ((unsigned) length, sizeof(char)); (void) strcpy(prompt_str,prompt_messages[msgno1]); } else /* nothing to prompt */ prompt_str = (char *) NULL; /* find center of prompt screen area */ get_window(MSG_AREA,window); center.x = (window[MIN].x + window[MAX].x) / 2; center.y = (window[MIN].y + window[MAX].y) / 2; /* display prompt message */ if (prompt_str != (char *) NULL) { center_text(1,&prompt_str,¢er,clrno,PROMPT_TEXT); free((char *) prompt_str); } /* restore previously active windows */ set_aspect_flags(GINDIVIDUAL); pop_curr_trans(); } /* end display_msg */ /* * erase_msg * * description: erases prompt area and redraws border * i.e. erases message * * parameters: none */ erase_msg() { Gpoint window[2]; Gpoint box[4]; push_curr_trans(); activate(MSG_AREA); set_aspect_flags(GBUNDLED); get_window(MSG_AREA,window); load_box(box,window[MIN].x,window[MAX].x, window[MIN].y,window[MAX].y); gsetfillind(BLACK_SOLID); gfillarea(4,box); set_aspect_flags(GINDIVIDUAL); pop_curr_trans(); } /* end erase_msg */ /* * display_msg_area * * descrption: displays msg area on screen * * parameters: none */ display_msg_area() { Gpoint window[2]; /* boundary of prompt area window */ Gpoint box[4]; /* pts of boundary */ push_curr_trans(); if (find_trans(MSG_AREA) == NON_EXISTENT) alloc_trans(MSG_AREA); activate(MSG_AREA); set_aspect_flags(GBUNDLED); /* draw window with black background outlined in white */ get_window(MSG_AREA,window); load_box(box,window[MIN].x,window[MAX].x, window[MIN].y,window[MAX].y); gsetfillind(BLACK_SOLID); gfillarea(4,box); set_aspect_flags(GINDIVIDUAL); pop_curr_trans(); display_msg(white); } /* end display_msg_area */ /* * rm_msg_area * * description: removes msg area from screen * * parameters: none */ rm_msg_area() { msgno1 = 0; /* erase prompt area */ erase_area(MSG_AREA); free_trans(MSG_AREA); } /* end rm_msg_area */ /* * restore_msg_area * * description: replaces msg area on screen * * parameters: none */ restore_msg_area() { /* redraw screen with prompt area */ msgno1 = NO_PROMPT; (*(screen_tbl[find_screen_tbl_idx(MSG_AREA)].draw))(); } /* end restore_msg_area */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/add_objects.h0000644000175000017500000000213011413611016022665 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ #include #include "changes.h" extern Gfloat *char_wd_tbl; extern Gfloat *char_ht_tbl; xgks-2.6.1+dfsg.2/src/progs/sledsrc/input.c0000644000175000017500000000611111413611016021561 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file contains: * initialize_locator * select_pt */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/input.c,v 2.5.4.1 1993/03/10 19:43:21 steve Exp $"; #include "color.h" #include "ws.h" #include "defs.h" #include "trans.h" #include #define LOCATOR_DEV 1 #define LOCATOR_PROMPT 3 Gfloat xmax,ymax; /* workstation viewport */ /* * initialize_locator * * description: sets up echo area, echo type, prompt type * and sets locator mode to request * * parameters: none */ initialize_locator() { Gpoint pt; get_max_dc_coor(&xmax,&ymax); /* initialize locator device */ pt.x = 0.5; pt.y = 0.5; /* Not needed with new xGKS: */ /* locdata.ld_attr_flag = GCURRENT; locdata.ld_pline_fill = GPOLYLINE; locdata.ld_type_interior_asf = GINDIVIDUAL; locdata.ld_width_style_asf = GINDIVIDUAL; locdata.ld_color_asf = GINDIVIDUAL; locdata.ld_idx = 1; locdata.ld_type_interior = GSOLID; locdata.ld_color_idx = white; locdata.ld_style_idx = GSOLID; locdata.ld_width = 1.0; */ init_locator(ws_id,LOCATOR_DEV,&pt,DEFAULT_TRANS,LOCATOR_PROMPT, 0.0,xmax,0.0,ymax); /* This function is defined in dummies.c */ gsetlocmode(ws_id,LOCATOR_DEV,GREQUEST,GNOECHO); } /* end initialize_locator */ /* * select_pt * * description: returns next Gpoint selected by user as well as * transformation no used to convert to WC * * parameters: transno (IDX *) - trans used to convert pt to WC * pt (Gpoint *) - pt selected in WC */ select_pt(transno,pt) IDX *transno; /* trans used to convert pt to WC */ Gpoint *pt; /* pt selected in WC */ { Gistat status; /* GOK | GNONE */ /* keep prompting for input until locator input is legit */ gsetlocmode(ws_id,LOCATOR_DEV,GREQUEST,GECHO); req_locator(ws_id,LOCATOR_DEV,&status,transno,pt); /* Defined in dummies.c */ while (status != GOK) { reprompt(1); req_locator(ws_id,LOCATOR_DEV,&status,transno,pt); } gsetlocmode(ws_id,LOCATOR_DEV,GREQUEST,GNOECHO); init_locator(ws_id,LOCATOR_DEV,pt,*transno,LOCATOR_PROMPT, 0.0,xmax,0.0,ymax); /* Defined in dummies.c */ } /* end select_pt */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/changes.h0000644000175000017500000000225211413611016022041 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ #ifndef CHANGES #define CHANGES 1 #define TRUE 1 #define FALSE 0 #define ON 1 #define OFF 0 typedef int IDX; typedef char *WSTYPE; typedef int WSID; typedef int BOOLEAN; #endif xgks-2.6.1+dfsg.2/src/progs/sledsrc/read_input.c0000644000175000017500000002437411413611016022567 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file includes * read_picture * read_palette * read_object * read_line * read_poly * read_text */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/read_input.c,v 2.5.4.1 1993/03/10 19:43:23 steve Exp $"; #include #include "io.h" #include "defs.h" #include "screen_items.h" #include "color.h" #include "palette.h" #include "objects.h" #include "object_tbl.h" #include "object_list.h" #include #include "conversions.h" extern char *read_char_str(); extern OBJECT *read_object(); extern char *calloc(); /* * read_picture * * description: read in picture description * * parameters: filename (char *) - name of file to read * * returns: (BOOLEAN) - true if input file successfully * read in, false otherwise */ BOOLEAN read_picture(filename) char *filename; { FILE *fd; OBJECT *object; COMB_OB *comb_ob,*temp; int i,j; BOOLEAN error; char *string; Gcobundl *clrs; Gint no_clrs; COMB_OB *new_head, *new_tail; IDX fgd,bgd,fill; /* open file for reading */ fd = fopen(filename,"r"); if (fd == (FILE *) NULL) { full_prompt(22,2); return(FALSE); } /* check that file was written out by current version of program */ string = read_char_str(fd,&error); if (error == TRUE) { fclose(fd); full_prompt(28,2); return(FALSE); } if (!eq(string,VERSION_NUM)) { fclose(fd); full_prompt(43,2); return(FALSE); } /* read in fgd, bgd and fill colors and palette colors */ read_int(fd,&fgd,&error); if (error == TRUE) { fclose(fd); full_prompt(28,2); return(FALSE); } read_int(fd,&bgd,&error); if (error == TRUE) { fclose(fd); full_prompt(28,2); return(FALSE); } read_int(fd,&fill,&error); if (error == TRUE) { fclose(fd); full_prompt(28,2); return(FALSE); } read_palette_clrs(fd,&clrs,&no_clrs,&error); if (error == TRUE) { fclose(fd); full_prompt(28,2); return(FALSE); } /* read in object list */ read_int(fd,&i,&error); if (error == TRUE) { fclose(fd); full_prompt(28,2); return(FALSE); } new_head = (COMB_OB *) NULL; new_tail = (COMB_OB *) NULL; comb_ob = new_head; object = (OBJECT *) NULL; while (i > 0) { if (new_head == (COMB_OB *) NULL) { new_head = alloc_comb_ob(); new_head->prev = (COMB_OB *) NULL; comb_ob = new_head; } else { comb_ob->next = alloc_comb_ob(); comb_ob->next->prev = comb_ob; comb_ob = comb_ob->next; } read_int(fd,&j,&error); if (error == TRUE) { fclose(fd); full_prompt(28,2); return(FALSE); } while (j > 0) { if (comb_ob->child == (OBJECT *) NULL) { comb_ob->child = read_object(fd,&error); object = comb_ob->child; } else { object->next = read_object(fd,&error); object = object->next; } object->parent = comb_ob; j--; } /* end while */ i--; } /* end while */ if (new_head != (COMB_OB *) NULL) new_tail = comb_ob; /* since file has been successfully read in, get rid of free up old linked list of objects */ comb_ob = head; while (comb_ob != (COMB_OB *) NULL) { temp = comb_ob->next; free((char *) comb_ob); comb_ob = temp; } head = new_head; tail = new_tail; /* update color table, fgd, bgd and fill colors */ for (i= 0; i < no_clrs; i++) set_color((i + palstartclr),&(clrs[i])); free((char *) clrs); set_fgdclr(fgd); set_bgdclr(bgd); set_fillclr(fill); /* close file */ fclose(fd); prompt(2); return(TRUE); } /* end read_picture */ /* * read_palette_clrs * * description: allocates color table space for palette * colors in color table and initializes colors * in color table as well as initializing fgdclr * to first entry in color table (top row, * leftmost column) * * parameters: fd (FILE *) - file descriptor * clrs (Gcobundl **) - array to hold list of colors * (allocated by read_palette_clrs) * no_clrs (int *) - number of colors in palette * error (BOOLEAN *) - true if error reading input file */ read_palette_clrs(fd,clrs,no_clrs,error) FILE *fd; Gcobundl **clrs; Gint *no_clrs; BOOLEAN *error; { int i; /* read in number of rows and columns */ read_int(fd,&nrows,error); if (*error == TRUE) return; read_int(fd,&ncols,error); if (*error == TRUE) return; *no_clrs = nrows * ncols; /* read in colors and enter into color table */ *clrs = (Gcobundl *) calloc((unsigned) *no_clrs, sizeof(Gcobundl)); if (palstartclr == NOT_ALLOCATED) palstartclr = alloc_clr_tbl_entries(MAX_PAL_ENTRIES); for (i = 0; i < (nrows * ncols); i++) { read_real3(fd,&((*clrs)[i].red),&((*clrs)[i].green), &((*clrs)[i].blue),error); if (*error == TRUE) return; } *error = FALSE; } /* end read_palette_clrs */ /* * read_object * * description: reads in object description * * parameters: fd (FILE *) - file descriptor * error (BOOLEAN *) - ture if error reading * input file * * returns: (OBJECT *) - object */ OBJECT * read_object(fd,error) FILE *fd; BOOLEAN *error; { OBJECT *object; KEY key; int i; int v; key = read_char_str(fd,error); if (*error == TRUE) return((OBJECT *) NULL); object = alloc_single_ob(key); free((char *) key); /* read_int(fd,&(object->visibility),error); */ read_int(fd,&v,error); object->visibility = num_to_vis(v); if (*error == TRUE) return((OBJECT *) NULL); for (i=0; i<6; i++) { read_real(fd,&(object->trans[i]),error); if (*error == TRUE) return((OBJECT *) NULL); } i = get_object_func_tbl_idx(object->key); (*(object_func_tbl[i].read))(fd,object,error); return(object); } /* end read_object */ /* * read_line * * description: reads in fields of struct line object * * parameters: fd (FILE *) - file descriptor * object (OBJECT *) - line object * error (BOOLEAN *) - ture if error reading * input file */ read_line(fd,object,error) FILE *fd; OBJECT *object; BOOLEAN *error; { int i; read_int(fd,&(object->lineob.color),error); read_int(fd,&(object->lineob.style),error); read_int(fd,&(object->lineob.width),error); read_int(fd,&(object->lineob.nopts),error); object->lineob.pts = (Gpoint *) calloc((unsigned) object->lineob.nopts,sizeof(Gpoint)); for (i=0; ilineob.nopts; i++) { read_real2(fd,&(object->lineob.pts[i].x), &(object->lineob.pts[i].y),error); if (*error == TRUE) return; } } /* end read_line */ /* * read_poly * * description: reads in fields of struct poly object * * parameters: fd (FILE *) - file descriptor * object (OBJECT *) - poly object * error (BOOLEAN *) - true if error reading * input file */ read_poly(fd,object,error) FILE *fd; OBJECT *object; BOOLEAN *error; { int i; int prov; read_int(fd,&prov,error); if (*error == TRUE) return; object->polyob.fillstyle = num_to_style(prov); read_int(fd,&(object->polyob.fillcolor),error); if (*error == TRUE) return; read_int(fd,&(object->polyob.linecolor),error); if (*error == TRUE) return; read_int(fd,&(object->polyob.style),error); if (*error == TRUE) return; read_int(fd,&(object->polyob.width),error); if (*error == TRUE) return; read_int(fd,&(object->polyob.nopts),error); if (*error == TRUE) return; object->polyob.pts = (Gpoint *) calloc((unsigned) object->polyob.nopts,sizeof(Gpoint)); for (i=0; ipolyob.nopts; i++) { read_real2(fd,&(object->polyob.pts[i].x), &(object->polyob.pts[i].y),error); if (*error == TRUE) return; } } /* end read_poly */ /* * read_text * * description: reads in fields of struct text object * * parameters: fd (FILE *) - file descriptor * object (OBJECT *) - text object * error (BOOLEAN *) - ture if error reading * input file */ read_text(fd,object,error) FILE *fd; OBJECT *object; BOOLEAN *error; { CHAR_OB *ch_ptr; int i; int prov; /* read_int(fd,&(object->textob.path),error); */ read_int(fd,&prov,error); if (*error == TRUE) return; object->textob.path = num_to_path(prov); /* read_int(fd,&(object->textob.vert_just),error); */ read_int(fd,&prov,error); if (*error == TRUE) return; object->textob.vert_just = num_to_vert(prov); /* read_int(fd,&(object->textob.horz_just),error); */ read_int(fd,&prov,error); if (*error == TRUE) return; object->textob.horz_just = num_to_horz(prov); read_real2(fd,&(object->textob.pos.x), &(object->textob.pos.y),error); if (*error == TRUE) return; read_real2(fd,&(object->textob.up_vec.x), &(object->textob.up_vec.y),error); if (*error == TRUE) return; read_int(fd,&i,error); if (*error == TRUE) return; ch_ptr = (CHAR_OB *) NULL; while (i > 0) { if (ch_ptr == (CHAR_OB *) NULL) { object->textob.str = (CHAR_OB *) calloc((unsigned) 1, sizeof(CHAR_OB)); ch_ptr = object->textob.str; } else { ch_ptr->next = (CHAR_OB *) calloc((unsigned) 1, sizeof(CHAR_OB)); ch_ptr = ch_ptr->next; } read_real2(fd,&(ch_ptr->center.x), &(ch_ptr->center.y),error); if (*error == TRUE) return; read_int(fd,&(ch_ptr->color),error); if (*error == TRUE) return; read_real(fd,&(ch_ptr->height),error); if (*error == TRUE) return; read_int(fd,&(ch_ptr->fontstyle),error); if (*error == TRUE) return; read_real(fd,&(ch_ptr->expansion),error); if (*error == TRUE) return; read_real(fd,&(ch_ptr->width),error); if (*error == TRUE) return; read_char(fd,&(ch_ptr->ch),error); if (*error == TRUE) return; ch_ptr->next = (CHAR_OB *) NULL; i--; } /* end while */ } /* end read_text */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/README0000644000175000017500000000305311413611016021140 0ustar amckinstryamckinstry# # Copyright IBM Corporation 1989 # # All Rights Reserved # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose and without fee is hereby granted, # provided that the above copyright notice appear in all copies and that # both that copyright notice and this permission notice appear in # supporting documentation, and that the name of IBM not be # used in advertising or publicity pertaining to distribution of the # software without specific, written prior permission. # # IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING # ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL # IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR # ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, # WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, # ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS # SOFTWARE. # Before you can run sled, you need the following files: sled palette_clrs text_bndl_tbl char_hts_n_wds menu To run SLED just type: sled /* sled e 9460 */ /* (make sure to start up the workstation server r9460_ddgks first. If you plan to create a pic file, you must also start up dipic_ddgks FROM THE DIRECTORY YOU WILL BE RUNNING SLED FROM) */ For more information on sled, see the users' manual or my thesis in MS/manual and MS/thesis, respectively. To compile sled: 1) check out everything in RCS directory (i.e. co RCS/*) 2) execute makefile (i.e. make). xgks-2.6.1+dfsg.2/src/progs/sledsrc/dist.mk0000644000175000017500000000354211413611016021557 0ustar amckinstryamckinstry# $Header: /cvsroot/xgks/xgks/progs/sledsrc/dist.mk,v 2.5.4.1 1993/03/10 19:43:18 steve Exp $ # # Makefile to copy distribution to vms and unix ftp directories. # # HISTORY: # $Log: dist.mk,v $ # Revision 2.5.4.1 1993/03/10 19:43:18 steve # Initial placement under CVS control. # THIS_DIR = src/gks/x/xgks/demo/sledsrc/ SUBDIRS = \ # Sources common to UNIX and VMS distributions SOURCES = \ # Sources for UNIX distribution only UNIX_SOURCES = \ GKS_LINT.c \ Imakefile \ Makefile \ README \ add_objects.c \ add_objects.h \ add_objects_func.h \ add_objects_subs.c \ adjust_grid_func.h \ attributes.c \ attributes.h \ changes.h \ clr_selector.h \ clr_selector_draw.c \ clr_selector_draw.h \ clr_selector_exec.c \ clr_selector_func.h \ clr_selector_key.h \ color.c \ color.h \ conversions.c \ conversions.h \ defs.h \ draw.c \ draw.h \ draw_menu.c \ draw_palette.c \ dummies.c \ edit_picture.c \ edit_picture_func.h \ error.c \ func.h \ functbl.c \ functbl.h \ grid.c \ init_tbls.c \ input.c \ io.c \ io.h \ key.h \ main.c \ main_menu.c \ menu.c \ menu.h \ object_defs.h \ object_list.c \ object_list.h \ object_tbl.c \ object_tbl.h \ objects.h \ objects_copy.c \ objects_detect.c \ objects_draw.c \ objects_free.c \ objects_func.h \ objects_rotate.c \ palette.c \ palette.h \ photo.c \ photo_func.h \ photodummy.c \ picture.c \ popup.c \ popup.h \ prompt.c \ read_input.c \ read_menu.c \ screen_items.c \ screen_items.h \ trans.c \ trans.h \ trans_subs.c \ undo.c \ write_output.c \ ws.h \ # Sources for VMS distribution only VMS_SOURCES = \ # include /usr/local/ldm/src/dist.mk-rules xgks-2.6.1+dfsg.2/src/progs/sledsrc/read_menu.c0000644000175000017500000001276211413611016022372 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file contains: * read_menu_file * read_menu */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/read_menu.c,v 2.5.4.1 1993/03/10 19:43:23 steve Exp $"; #include #include #include "screen_items.h" #include "menu.h" #include "key.h" #include /* * read_menu_file * * description: read in file containing menu tree * * parameters: filename (char *) - name of file * containing menu info */ read_menu_file(filename) char *filename; { FILE *fd; /* fd for filename */ /* open file for reading */ fd = fopen(filename,"r"); if (fd == (FILE *) NULL) exit_error("read_menu_file",2); /* read in and initialize menu tree */ read_menu(fd,(MENU *) NULL,(MENU_ITEM *) NULL); set_menu(SEC_MENU_AREA,(MENU *) NULL); /* close file */ fclose(fd); } /* end read_menu_file */ /* * read_menu * * description: reads in and initializes data structures * for a single menu item. * * parameters: fd (FILE *) - fd for file containing menu tree * parent_menu (MENU *) - ptr to menu one level up * parent_menu_item (MENU_ITEM *) - ptr to menu * item called from */ read_menu(fd,parent_menu,parent_menu_item) FILE *fd; /* menu file */ MENU *parent_menu; /* menu called from */ MENU_ITEM *parent_menu_item; /* menu item called from */ { MENU *menu_ptr; /* menu being read */ MENU_ITEM *menu_item_ptr; /* menu item being read */ POPUP *popup_ptr; /* popups being read */ char **name_ptr; /* menu item name */ char *temp; /* temp for next char str */ int i,j,n; extern char *get_char_str(); /* set up parent and child links */ menu_ptr = (MENU *) calloc(1,sizeof(MENU)); if(parent_menu_item == (MENU_ITEM *) NULL) set_menu(PRI_MENU_AREA,menu_ptr); else parent_menu_item->child = menu_ptr; menu_ptr->parent = parent_menu; /* read in key */ menu_ptr->key = get_char_str(fd,2); /* read in menu name */ get_int(fd,&(menu_ptr->nlns),2); menu_ptr->name = (char **) calloc((unsigned) menu_ptr->nlns, sizeof(char *)); for (i=0; i<(menu_ptr->nlns); i++) { menu_ptr->name[i] = get_char_str(fd,2); } /* read in popups */ get_int(fd,&n,2); menu_ptr->poplst = (POPUP *) NULL; popup_ptr = (POPUP *) NULL; for (i=1; i<=n; i++) { /* allocate popup record */ if (menu_ptr->poplst == (POPUP *) NULL) { menu_ptr->poplst = (POPUP *) calloc(1, sizeof(POPUP)); popup_ptr = menu_ptr->poplst; } else { popup_ptr->next = (POPUP *) calloc(1, sizeof(POPUP)); popup_ptr = popup_ptr->next; } /* fill in record */ popup_ptr->key = get_char_str(fd,2); popup_ptr->is_active = FALSE; } /* read in menu items */ get_int(fd,&(menu_ptr->noitems),2); if (max_num_menu_entries < (menu_ptr->noitems + 1)) max_num_menu_entries = menu_ptr->noitems + 1; menu_ptr->item = (MENU_ITEM *) calloc((unsigned) menu_ptr->noitems, sizeof(MENU_ITEM)); menu_item_ptr = menu_ptr->item; menu_item_ptr->key = get_char_str(fd,2); for (i=0; inoitems; i++) { /* read in no of lns in menu item name */ get_int(fd,&(menu_item_ptr->nlns),2); /* read in menu item name */ menu_item_ptr->name = (char **) calloc((unsigned) menu_item_ptr->nlns,sizeof(char *)); name_ptr = menu_item_ptr->name; for (j=0; jnlns; j++) { *name_ptr = get_char_str(fd,2); name_ptr++; } /* read in popups */ get_int(fd,&n,2); menu_item_ptr->poplst = (POPUP *) NULL; for (j=1; j<=n; j++) { /* allocate popup record */ if (menu_item_ptr->poplst == (POPUP *) NULL) { menu_item_ptr->poplst = (POPUP *) calloc(1,sizeof(POPUP)); popup_ptr = menu_item_ptr->poplst; } else { popup_ptr->next = (POPUP *) calloc(1, sizeof(POPUP)); popup_ptr = popup_ptr->next; } /* read in popup key */ popup_ptr->key = get_char_str(fd,2); popup_ptr->is_active = FALSE; } /* check for child menu */ temp = (char *) NULL; temp = get_char_str(fd,2); if (temp[0] == '-') { /* child menu exists */ read_menu(fd,menu_ptr,menu_item_ptr); /* read in next menu item key, if any */ if (i < menu_ptr->noitems) { menu_item_ptr++; menu_item_ptr->key = get_char_str(fd,2); } } else if (i < menu_ptr->noitems) { /* if no child menu and not last menu item then temp = key of next menu item */ menu_item_ptr++; menu_item_ptr->key = (char *) calloc ((unsigned) (strlen(temp) + 1), sizeof(char)); (void) strcpy(menu_item_ptr->key,temp); } free((char *) temp); } /* end read in menu items loop */ } /* end read_menu */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/edit_picture.c0000644000175000017500000004775711413611016023127 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file includes: * edit_picture_init * move_init * move_restart * move_exec * move_cleanup * copy_init * copy_restart * copy_exec * copy_cleanup * delete_init * delete_restart * delete_exec * delete_cleanup * erase * rotate_init * rotate_restart * rotate_exec * rotate_cleanup * combine_init * combine_restart * combine_exec * combine_cleanup * split_init * split_restart * split_exec * split_cleanup * enq_comb_ob_list * edit_objects_undo * free_lists * init_angle_popup * switch_angle_state * get_rot_angle */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/edit_picture.c,v 2.5.4.1 1993/03/10 19:43:20 steve Exp $"; #include "draw.h" #include "objects.h" #include "popup.h" #include "trans.h" #include "functbl.h" #include "key.h" #include "defs.h" #include "screen_items.h" #include #define EDIT_PICTURE_UNDO "edit picture undo menu item" extern Gfloat get_rot_angle(); static COMB_OB_PTR *undo_list = (COMB_OB_PTR *) NULL; static COMB_OB_PTR *new_list = (COMB_OB_PTR *) NULL; static MENU_ITEM *mitem_in_progress; static BOOLEAN object_picked; static COMB_OB *new_comb_ob; static COMB_OB *prev_new_comb_ob; static BOOLEAN first_pt_picked; /* * edit_picture_init * * description: intializes menu, popups and undo variables * * parameters: menu_item (MENU_ITEM *) - edit picture menu item * */ edit_picture_init(menu_item) MENU_ITEM *menu_item; { if (no_objects() == TRUE) reprompt(20); else { display_child_menu(menu_item); free_lists(); mitem_in_progress = (MENU_ITEM *) NULL; } } /* end edit_picture_init */ /* * move_init * * description: initializes menu item * * parameters: menu_item (MENU_ITEM *) - move menu item */ move_init(menu_item) MENU_ITEM *menu_item; { set_currmitem(menu_item); hilite(menu_item->key); push_curr_trans(); activate(PICT_AREA); object_picked = FALSE; prompt(18); } /* end move_init */ /* * move_restart * * description: reintializes menu item * * parameters: menu_item (MENU_ITEM *) - move menu item */ move_restart(menu_item) MENU_ITEM *menu_item; { if (eq(get_newmitem(),EDIT_PICTURE_UNDO)) { set_currmitem(menu_item); } else { object_picked = FALSE; prompt(18); } } /* end move_restart */ /* * move_exec * * description: moves selected comb_ob * * parameters: pt (Gpoint) - pt selected */ move_exec(pt) Gpoint pt; { BOOLEAN hit; static COMB_OB *comb_ob; static COMB_OB *dup; static Gpoint first_pt; static Gfloat trans[6]; OBJECT *object; if (object_picked == FALSE) { detect_object(&hit,&comb_ob,&object,pt); if (hit) { object_picked = TRUE; first_pt = pt; prompt(19); } else reprompt(15); } else /* object_picked */ { free_lists(); dup = copy_comb_ob(comb_ob); dup->visibility = GVISIBLE; enq_comb_ob_list(dup,&new_list); comb_ob->visibility = GINVISIBLE; enq_comb_ob_list(comb_ob,&undo_list); s_trans_mat(trans,(pt.x - first_pt.x), (pt.y - first_pt.y)); update_trans(dup,trans); enq_comb_ob(dup); erase_comb_ob(comb_ob); if (get_update_mode() != QUICK_UPDATE) redraw_objects(); else draw_comb_ob(dup); comb_ob = dup; first_pt = pt; prompt(19); } } /* end move_exec */ /* * move_cleanup * * description: cleans up move menu item * * parameters: menu_item (MENU_ITEM *) - move menu item */ move_cleanup(menu_item) MENU_ITEM *menu_item; { if (!eq(get_newmitem(),EDIT_PICTURE_UNDO)) { pop_curr_trans(); unhilite(menu_item->key); mitem_in_progress = (MENU_ITEM *) NULL; } else { mitem_in_progress = menu_item; } set_currmitem((MENU_ITEM *) NULL); } /* end move_cleanup */ /* * copy_init * * description: initializes menu item * * parameters: menu_item (MENU_ITEM *) - copy menu item */ copy_init(menu_item) MENU_ITEM *menu_item; { set_currmitem(menu_item); hilite(menu_item->key); push_curr_trans(); activate(PICT_AREA); object_picked = FALSE; prompt(16); } /* end copy_init */ /* * copy_restart * * description: reintializes menu item * * parameters: menu_item (MENU_ITEM *) - copy menu item */ copy_restart(menu_item) MENU_ITEM *menu_item; { if (eq(get_newmitem(),EDIT_PICTURE_UNDO)) { set_currmitem(menu_item); } else { object_picked = FALSE; prompt(16); } } /* end copy_restart */ /* * copy_exec * * description: copys selected comb_ob * * parameters: pt (Gpoint) - pt selected */ copy_exec(pt) Gpoint pt; { BOOLEAN hit; static COMB_OB *comb_ob; static COMB_OB *dup; static Gpoint first_pt; static Gfloat trans[6]; OBJECT *object; if (object_picked == FALSE) { detect_object(&hit,&comb_ob,&object,pt); if (hit) { object_picked = TRUE; first_pt = pt; prompt(17); } else reprompt(15); } else /* object_picked */ { free_lists(); dup = copy_comb_ob(comb_ob); dup->visibility = GVISIBLE; enq_comb_ob_list(dup,&new_list); s_trans_mat(trans,(pt.x - first_pt.x), (pt.y - first_pt.y)); update_trans(dup,trans); enq_comb_ob(dup); draw_comb_ob(dup); prompt(17); } } /* end copy_exec */ /* * copy_cleanup * * description: cleans up copy menu item * * parameters: menu_item (MENU_ITEM *) - copy menu item */ copy_cleanup(menu_item) MENU_ITEM *menu_item; { if (!eq(get_newmitem(),EDIT_PICTURE_UNDO)) { pop_curr_trans(); unhilite(menu_item->key); mitem_in_progress = (MENU_ITEM *) NULL; } else { mitem_in_progress = menu_item; } set_currmitem((MENU_ITEM *) NULL); } /* end copy_cleanup */ /* * delete_init * * description: initializes menu item * * parameters: menu_item (MENU_ITEM *) - delete menu item */ delete_init(menu_item) MENU_ITEM *menu_item; { set_currmitem(menu_item); hilite(menu_item->key); push_curr_trans(); activate(PICT_AREA); prompt(14); } /* end delete_init */ /* * delete_restart * * description: reintializes menu item * * parameters: menu_item (MENU_ITEM *) - delete menu item */ delete_restart(menu_item) MENU_ITEM *menu_item; { if (eq(get_newmitem(),EDIT_PICTURE_UNDO)) { set_currmitem(menu_item); } prompt(14); } /* end delete_restart */ /* * delete_exec * * description: deletes selected comb_ob, if any * * parameters: pt (Gpoint) - pt selected */ delete_exec(pt) Gpoint pt; { BOOLEAN hit; COMB_OB *comb_ob; OBJECT *object; detect_object(&hit,&comb_ob,&object,pt); if (hit) { free_lists(); comb_ob->visibility = GINVISIBLE; enq_comb_ob_list(comb_ob,&undo_list); erase_comb_ob(comb_ob); if (get_update_mode() != QUICK_UPDATE) redraw_objects(); } else reprompt(15); } /* end delete_exec */ /* * delete_cleanup * * description: cleans up delete menu item * * parameters: menu_item (MENU_ITEM *) - delete menu item */ delete_cleanup(menu_item) MENU_ITEM *menu_item; { if (!eq(get_newmitem(),EDIT_PICTURE_UNDO)) { pop_curr_trans(); unhilite(menu_item->key); mitem_in_progress = (MENU_ITEM *) NULL; } else { mitem_in_progress = menu_item; } set_currmitem((MENU_ITEM *) NULL); } /* end delete_cleanup */ /* * erase * * description: delete all objects on screen * * parameters: menu_item (MENU_ITEM *) - erase menu item * */ erase(menu_item) MENU_ITEM *menu_item; { COMB_OB *comb_ob; hilite(menu_item->key); free_lists(); for (comb_ob = head; comb_ob != (COMB_OB *) NULL; comb_ob = comb_ob->next) { comb_ob->visibility = GINVISIBLE; enq_comb_ob_list(comb_ob,&undo_list); } erase_area(PICT_AREA); (*(screen_tbl[find_screen_tbl_idx(PICT_AREA)].draw))(); unhilite(menu_item->key); } /* end erase */ /* * rotate_init * * description: initializes menu item * * parameters: menu_item (MENU_ITEM *) - rotate menu item */ rotate_init(menu_item) MENU_ITEM *menu_item; { set_currmitem(menu_item); hilite(menu_item->key); display_popups(menu_item->poplst); push_curr_trans(); activate(PICT_AREA); prompt(34); } /* end rotate_init */ /* * rotate_restart * * description: reintializes menu item * * parameters: menu_item (MENU_ITEM *) - rotate menu item */ rotate_restart(menu_item) MENU_ITEM *menu_item; { if (eq(get_newmitem(),EDIT_PICTURE_UNDO)) { set_currmitem(menu_item); } else { prompt(34); } } /* end rotate_restart */ /* * rotate_exec * * description: rotates selected comb_ob * * parameters: pt (Gpoint) - pt selected */ rotate_exec(pt) Gpoint pt; { BOOLEAN hit; COMB_OB *comb_ob; COMB_OB *dup; OBJECT *object; detect_object(&hit,&comb_ob,&object,pt); if (hit) { free_lists(); dup = copy_comb_ob(comb_ob); dup->visibility = GVISIBLE; enq_comb_ob_list(dup,&new_list); comb_ob->visibility = GINVISIBLE; enq_comb_ob_list(comb_ob,&undo_list); rotate_comb_ob(dup,pt,get_rot_angle()); enq_comb_ob(dup); erase_comb_ob(comb_ob); if (get_update_mode() != QUICK_UPDATE) redraw_objects(); else draw_comb_ob(dup); prompt(34); } else reprompt(15); } /* end rotate_exec */ /* * rotate_cleanup * * description: cleans up rotate menu item * * parameters: menu_item (MENU_ITEM *) - rotate menu item */ rotate_cleanup(menu_item) MENU_ITEM *menu_item; { if (!eq(get_newmitem(),EDIT_PICTURE_UNDO)) { erase_popups(menu_item->poplst); pop_curr_trans(); unhilite(menu_item->key); mitem_in_progress = (MENU_ITEM *) NULL; } else { mitem_in_progress = menu_item; } set_currmitem((MENU_ITEM *) NULL); } /* end rotate_cleanup */ /* * combine_init * * description: initializes menu item * * parameters: menu_item (MENU_ITEM *) - combine menu item */ combine_init(menu_item) MENU_ITEM *menu_item; { set_currmitem(menu_item); hilite(menu_item->key); push_curr_trans(); activate(PICT_AREA); first_pt_picked = FALSE; new_comb_ob = (COMB_OB *) NULL; prev_new_comb_ob = (COMB_OB *) NULL; prompt(24); } /* end combine_init */ /* * combine_restart * * description: reintializes menu item * * parameters: menu_item (MENU_ITEM *) - combine menu item */ combine_restart(menu_item) MENU_ITEM *menu_item; { COMB_OB *temp_comb_ob; if (eq(get_newmitem(),EDIT_PICTURE_UNDO)) { set_currmitem(menu_item); temp_comb_ob = new_comb_ob; new_comb_ob = prev_new_comb_ob; prev_new_comb_ob = temp_comb_ob; } else new_comb_ob = (COMB_OB *) NULL; first_pt_picked = FALSE; prompt(24); } /* end combine_restart */ /* * combine_exec * * description: combines selected objects * * parameters: pt (Gpoint) - pt selected */ combine_exec(pt) Gpoint pt; { COMB_OB_PTR *comb_ob_ptr, *temp_comb_ob_ptr; COMB_OB *prev_comb_ob; COMB_OB *comb_ob; COMB_OB *dup_comb_ob = NULL; static Gpoint first_pt; OBJECT *object; OBJECT *dup_object; Gpoint extent[2]; COMB_OB_PTR *list; extern COMB_OB_PTR *get_object_list(); if (first_pt_picked == FALSE) { first_pt = pt; first_pt_picked = TRUE; prompt(25); } else /* extent defined so combine objects within extent */ { if (pt.x < first_pt.x) { extent[MIN].x = pt.x; extent[MAX].x = first_pt.x; } else { extent[MIN].x = first_pt.x; extent[MAX].x = pt.x; } if (pt.y < first_pt.y) { extent[MIN].y = pt.y; extent[MAX].y = first_pt.y; } else { extent[MIN].y = first_pt.y; extent[MAX].y = pt.y; } list = get_object_list(extent); if (list == (COMB_OB_PTR *) NULL) { first_pt_picked = FALSE; full_prompt(26,10); return; } free_lists(); collect_garbage(); /* if not allocated previously, allocate new combination object to store group of objects in list */ if (new_comb_ob == (COMB_OB *) NULL) { new_comb_ob = alloc_comb_ob(); enq_comb_ob(new_comb_ob); enq_comb_ob_list(new_comb_ob,&new_list); } else { prev_new_comb_ob = new_comb_ob; new_comb_ob = copy_comb_ob(prev_new_comb_ob); prev_new_comb_ob->visibility = GINVISIBLE; enq_comb_ob(new_comb_ob); enq_comb_ob_list(prev_new_comb_ob,&undo_list); enq_comb_ob_list(new_comb_ob,&new_list); } /* make copy of each comb_ob in list (i.e. dup_comb_ob). Put all obejcts except those picked in dup_comb_ob. Put picked objects in new_comb_ob */ prev_comb_ob = (COMB_OB *) NULL; comb_ob_ptr = list; while (comb_ob_ptr != (COMB_OB_PTR *) NULL) { /* dup_comb_ob is an exact duplicate of comb_ob except that objects from list are set to be invisible */ comb_ob = comb_ob_ptr->comb_ob; if (prev_comb_ob != comb_ob) { dup_comb_ob = copy_comb_ob(comb_ob); comb_ob->visibility = GINVISIBLE; enq_after(dup_comb_ob,comb_ob); enq_comb_ob_list(comb_ob,&undo_list); enq_comb_ob_list(dup_comb_ob,&new_list); } /* find object in list from among chldren of both comb_ob and dup_comb_ob */ object = comb_ob->child; dup_object = dup_comb_ob->child; while (object != comb_ob_ptr->object) { object = object->next; dup_object = dup_object->next; } dup_object->visibility = GINVISIBLE; dup_object = copy_object(object); add_to_comb_ob(new_comb_ob,dup_object,TAIL); prev_comb_ob = comb_ob; temp_comb_ob_ptr = comb_ob_ptr->next; free((char *) comb_ob_ptr); comb_ob_ptr = temp_comb_ob_ptr; } draw_comb_ob(new_comb_ob); first_pt_picked = FALSE; prompt(24); } } /* end combine_exec */ /* * combine_cleanup * * description: cleans up combine menu item * * parameters: menu_item (MENU_ITEM *) - combine menu item */ combine_cleanup(menu_item) MENU_ITEM *menu_item; { if (!eq(get_newmitem(),EDIT_PICTURE_UNDO)) { pop_curr_trans(); unhilite(menu_item->key); mitem_in_progress = (MENU_ITEM *) NULL; } else { mitem_in_progress = menu_item; } set_currmitem((MENU_ITEM *) NULL); } /* end combine_cleanup */ /* * split_init * * description: initializes menu item * * parameters: menu_item (MENU_ITEM *) - split menu item */ split_init(menu_item) MENU_ITEM *menu_item; { set_currmitem(menu_item); hilite(menu_item->key); push_curr_trans(); activate(PICT_AREA); prompt(27); } /* end split_init */ /* * split_restart * * description: reintializes menu item * * parameters: menu_item (MENU_ITEM *) - split menu item */ split_restart(menu_item) MENU_ITEM *menu_item; { if (eq(get_newmitem(),EDIT_PICTURE_UNDO)) { set_currmitem(menu_item); } else { prompt(27); } } /* end split_restart */ /* * split_exec * * description: splits selected comb_ob * * parameters: pt (Gpoint) - pt selected */ split_exec(pt) Gpoint pt; { BOOLEAN hit; COMB_OB *comb_ob; COMB_OB *new_comb_ob; COMB_OB *prev; OBJECT *object; OBJECT *dup_object; detect_object(&hit,&comb_ob,&object,pt); if (hit == TRUE) { free_lists(); comb_ob->visibility = GINVISIBLE; enq_comb_ob_list(comb_ob,&undo_list); prev = comb_ob; for (object = comb_ob->child; object != (OBJECT *) NULL; object = object->next) { if (object->visibility == GINVISIBLE) continue; dup_object = copy_object(object); new_comb_ob = alloc_comb_ob(); add_to_comb_ob(new_comb_ob,dup_object,TAIL); enq_after(new_comb_ob,prev); enq_comb_ob_list(new_comb_ob,&new_list); prev = new_comb_ob; } prompt(27); } else reprompt(15); } /* end split_exec */ /* * split_cleanup * * description: cleans up split menu item * * parameters: menu_item (MENU_ITEM *) - split menu item */ split_cleanup(menu_item) MENU_ITEM *menu_item; { if (!eq(get_newmitem(),EDIT_PICTURE_UNDO)) { pop_curr_trans(); unhilite(menu_item->key); mitem_in_progress = (MENU_ITEM *) NULL; } else { mitem_in_progress = menu_item; } set_currmitem((MENU_ITEM *) NULL); } /* end split_cleanup */ /* * enq_comb_ob_list * * description: enques comb_ob on list * (either undo_List or new_list) * * parameters: comb_ob (COMB_OB *) - combination object * list (COMB_OB_PTR *) - undo_list or new_list */ enq_comb_ob_list(comb_ob,list) COMB_OB *comb_ob; COMB_OB_PTR **list; { COMB_OB_PTR *comb_ob_ptr; comb_ob_ptr = (COMB_OB_PTR *) calloc((unsigned) 1, sizeof(COMB_OB_PTR)); comb_ob_ptr->next = *list; *list = comb_ob_ptr; comb_ob_ptr->comb_ob = comb_ob; } /* end enq_comb_ob_list */ /* * edit_picture_undo * * description: undoes last action (delete, erase copy etc.) * everything in undo_list is made visible * everyting in new_list is made invisible * then lists are swapped * * parameters: menu_item (MENU_ITEM *) - undo menu item */ edit_picture_undo(menu_item) MENU_ITEM *menu_item; { COMB_OB_PTR *comb_ob_ptr; /* if there is something to undo */ if ((new_list != (COMB_OB_PTR *) NULL) || (undo_list != (COMB_OB_PTR *) NULL)) { hilite(menu_item->key); /* make most recently added changes invisible */ for (comb_ob_ptr = new_list; comb_ob_ptr != (COMB_OB_PTR *) NULL; comb_ob_ptr = comb_ob_ptr->next) { comb_ob_ptr->comb_ob->visibility = GINVISIBLE; erase_comb_ob(comb_ob_ptr->comb_ob); } /* make most recently added changes visible */ for (comb_ob_ptr = undo_list; comb_ob_ptr != (COMB_OB_PTR *) NULL; comb_ob_ptr = comb_ob_ptr->next) { comb_ob_ptr->comb_ob->visibility = GVISIBLE; } if ((new_list != (COMB_OB_PTR *) NULL) || ((undo_list != (COMB_OB_PTR *) NULL) && (get_update_mode() != QUICK_UPDATE))) { redraw_objects(); } else if ((undo_list != (COMB_OB_PTR *) NULL) && (get_update_mode() == QUICK_UPDATE)) for (comb_ob_ptr = undo_list; comb_ob_ptr != (COMB_OB_PTR *) NULL; comb_ob_ptr = comb_ob_ptr->next) { draw_comb_ob(comb_ob_ptr->comb_ob); } /* swap lists so newly added changes are in new_list etc. */ comb_ob_ptr = new_list; new_list = undo_list; undo_list = comb_ob_ptr; unhilite(menu_item->key); } /* restart menu item which was in progress when undo was picked */ if (mitem_in_progress != (MENU_ITEM *) NULL) { menu_item_func_tbl[find_menu_item_func_tbl_idx( mitem_in_progress->key)].restart( mitem_in_progress); } else set_currmitem((MENU_ITEM *) NULL); } /* end edit_picture_undo */ /* * free_lists * * description: frees lists but not comb_obs being pointed to * * parameters: none */ free_lists() { COMB_OB_PTR *comb_ob_ptr, *temp; /* free undo list */ comb_ob_ptr = undo_list; while (comb_ob_ptr != (COMB_OB_PTR *) NULL) { temp = comb_ob_ptr->next; free((char *) comb_ob_ptr); comb_ob_ptr = temp; } undo_list = (COMB_OB_PTR *) NULL; comb_ob_ptr = new_list; while (comb_ob_ptr != (COMB_OB_PTR *) NULL) { temp = comb_ob_ptr->next; free((char *) comb_ob_ptr); comb_ob_ptr = temp; } new_list = (COMB_OB_PTR *) NULL; } /* free lists */ /* popup routines */ static int angle = 90; static int min_angle = 0; static int max_angle = 90; /* * init_angle_popup * * description: draws angle popup on screen * * parameters: popup (POPUP *) - line width popup */ init_angle_popup(popup) POPUP *popup; { display_number_popup(popup,"ANGLE",angle); } /* end init_angle popup */ /* * switch_angle_state * * description: updates angle * * parameters: popup (POPUP *) - line width popup */ switch_angle_state(popup,pt) POPUP *popup; Gpoint pt; { switch_number_popup_state(popup->extent,&angle,pt, min_angle,max_angle); } /* end switch_angle popup */ /* * get_rot_angle * * description: returns current value of angle in radians * * parameters: none * * returns: (Gfloat) - angle in radians */ Gfloat get_rot_angle() { return(angle * (2 * PI) / 360); } xgks-2.6.1+dfsg.2/src/progs/sledsrc/Imakefile0000644000175000017500000000302011413611016022063 0ustar amckinstryamckinstry# # $XConsortium: Imakefile,v 1.1 89/09/19 11:47:31 jim Exp $ # XGKS_TOP = ../.. #include "../../xgks.tmpl" LOCAL_LIBRARIES = $(XGKSLIB) $(XLIB) LOCAL_XGKSINCLUDES = -I.. OBJS = add_objects.o add_objects_subs.o\ clr_selector_draw.o \ clr_selector_exec.o color.o \ conversions.o draw.o draw_menu.o \ draw_palette.o dummies.o edit_picture.o \ error.o functbl.o \ grid.o \ init_tbls.o input.o \ io.o main.o main_menu.o \ menu.o object_list.o object_tbl.o \ objects_copy.o \ objects_detect.o objects_draw.o objects_free.o \ objects_rotate.o \ palette.o photodummy.o \ picture.o popup.o prompt.o \ read_input.o read_menu.o \ screen_items.o trans.o trans_subs.o undo.o \ write_output.o SRCS = add_objects.c add_objects_subs.c\ clr_selector_draw.c \ clr_selector_exec.c color.c \ conversions.c draw.c draw_menu.c \ draw_palette.c dummies.c edit_picture.c \ error.c functbl.c \ grid.c \ init_tbls.c input.c \ io.c main.c main_menu.c \ menu.c object_list.c object_tbl.c \ objects_copy.c \ objects_detect.c objects_draw.c objects_free.c \ objects_rotate.c \ palette.c photodummy.c \ picture.c popup.c prompt.c \ read_input.c read_menu.c \ screen_items.c trans.c trans_subs.c undo.c \ write_output.c SingleProgramTarget(sled,$(OBJS),$(LOCAL_LIBRARIES),-lm) all: sled DependTarget() xgks-2.6.1+dfsg.2/src/progs/sledsrc/init_tbls.c0000644000175000017500000006422511413611016022423 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file includes: * init_bundle_tbls * init_text_bundle_tbl * init_char_hts_n_wds */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/init_tbls.c,v 2.5.4.1 1993/03/10 19:43:20 steve Exp $"; #include #include "defs.h" #include "func.h" #include "key.h" #include "color.h" #include "draw.h" #include "ws.h" #include "screen_items.h" #include "functbl.h" #include "palette.h" #include "add_objects.h" #include /* * screen_tbl initializations */ int screen_tbl_sz = 14; SCREEN_AREA_TBL_ENTRY screen_tbl[] = { { /* primary menu area */ PRI_MENU_AREA, /* area */ display_pri_menu, /* draw function */ menu_area_exec, /* exec function */ FALSE, /* active */ 0.0,0.0,1.0,1.0, /* window */ .910,.0,1.0,0.970 /* viewport */ }, { /* secondary menu area */ SEC_MENU_AREA, /* area */ display_sec_menu, /* draw function */ menu_area_exec, /* exec function */ FALSE, /* active */ 0.0,0.0,1.0,1.0, /* window */ .815,.0,.905,0.970 /* viewport */ }, { /* message area */ MSG_AREA, /* area */ display_msg_area, /* draw function */ NULL, /* no exec func 'cause not pickable */ FALSE, /* active */ 0.0,0.0,1.0,1.0, /* window */ 0.0,0.975,1.0,1.0 /* viewport */ }, { /* palette area */ PAL_AREA, /* area */ display_palette, /* draw function */ palette_area_exec, /* exec function */ FALSE, /* active */ 0.0,0.0,31.5,3.5, /* window */ .315,0.0,.81,.10 /* viewport */ }, { /* picture area */ PICT_AREA, /* area */ display_picture_area, /* draw function */ picture_area_exec, /* exec function */ FALSE, /* active */ 0.0,0.0,1.0,1.0, /* window */ 0.0,0.17,.81,.970 /* viewport */ }, { /* foreground clr area */ FGDCLR_AREA, /* area */ display_fgdclr_area, /* draw function */ fgdclr_area_exec, /* exec function */ FALSE, /* active */ 0.0,0.0,1.0,1.0, /* window */ 0.0,0.0,.100,.10 /* viewport */ }, { /* background clr area */ BGDCLR_AREA, /* area */ display_bgdclr_area, /* draw function */ bgdclr_area_exec, /* exec function */ FALSE, /* active */ 0.0,0.0,1.0,1.0, /* window */ 0.105,0.0,.205,.10 /* viewport */ }, { /* fill clr area */ FILLCLR_AREA, /* area */ display_fillclr_area, /* draw function */ fillclr_area_exec, /* exec function */ FALSE, /* active */ 0.0,0.0,1.0,1.0, /* window */ 0.210,0.0,.310,.10 /* viewport */ }, { /* popup area */ POPUP_AREA, /* area */ display_popup_area, /* draw function */ popup_area_exec, /* exec function */ FALSE, /* active */ 0.0,0.0,1.0,1.0, /* window */ 0.0,.105,.81,.165 /* viewport */ }, { /* color selector palette area */ CLR_SELECTOR_PAL_AREA, /* area */ display_clr_selector_pal_area, /* draw function */ clr_selector_pal_area_exec, /* exec function */ FALSE, /* active */ 0.0,0.0,31.5,3.5, /* window */ .315,0.0,.81,.10 /* viewport */ }, { /* color picked area */ CLR_PICKED_AREA, /* area */ display_clr_picked_area, /* draw function */ NULL, /* no exec func 'cause not pickable */ FALSE, /* active */ 0.0,0.0,1.0,1.0, /* window */ 0.105,0.0,.205,.10 /* viewport */ }, { /* color mixer area */ MIXER_AREA, /* area */ display_clr_mixer_area, /* draw function */ clr_mixer_area_exec, /* exec function */ FALSE, /* active */ 0.0,0.0,1.0,1.0, /* window */ 0.0,0.21,.81,.430 /* viewport */ }, { /* color wheel area */ CLR_WHEEL_AREA, /* area */ display_clr_wheel_area, /* draw function */ clr_wheel_area_exec, /* exec function */ FALSE, /* active */ 0.0,0.0,1.0,1.0, /* window */ 0.0,0.43,.30,.945 /* viewport */ }, { /* fine tuner area */ TUNER_AREA, /* area */ display_fine_tuner_area, /* draw function */ fine_tuner_area_exec, /* exec function */ FALSE, /* active */ 0.0,0.0,1.0,1.0, /* window */ 0.35,0.5,.81,.85 /* viewport */ } }; int popup_func_tbl_sz = 29; struct popup_tbl_entry popup_func_tbl[] = { { "verbose popup", /* area */ init_verbose_popup, /* init function */ switch_verbose_state, /* exec function */ erase_popup /* cleanup function */ }, { "update popup", /* area */ init_update_popup, /* init function */ switch_update_state, /* exec function */ erase_popup /* cleanup function */ }, { "grid popup", /* area */ init_grid_popup, /* init function */ switch_grid_state, /* exec function */ erase_popup /* cleanup function */ }, { "grid color popup", /* area */ init_grid_color_popup, /* init function */ switch_grid_color_state, /* exec function */ erase_popup /* cleanup function */ }, { "line connected popup", /* area */ init_line_connected_popup, /* init function */ switch_line_connected_state, /* exec function */ erase_popup /* cleanup function */ }, { "line width popup", /* area */ init_line_width_popup, /* init function */ switch_line_width_popup, /* exec function */ erase_popup /* cleanup function */ }, { "line style popup", /* area */ init_line_style_popup, /* init function */ switch_line_style_state, /* exec function */ erase_popup /* cleanup function */ }, { "box fill style popup", /* area */ init_fill_style_popup, /* init function */ switch_fill_style_state, /* exec function */ erase_popup /* cleanup function */ }, { "box line width popup", /* area */ init_line_width_popup, /* init function */ switch_line_width_popup, /* exec function */ erase_popup /* cleanup function */ }, { "box line style popup", /* area */ init_line_style_popup, /* init function */ switch_line_style_state, /* exec function */ erase_popup /* cleanup function */ }, { "polygon fill style popup", /* area */ init_fill_style_popup, /* init function */ switch_fill_style_state, /* exec function */ erase_popup /* cleanup function */ }, { "polygon line width popup", /* area */ init_line_width_popup, /* init function */ switch_line_width_popup, /* exec function */ erase_popup /* cleanup function */ }, { "polygon line style popup", /* area */ init_line_style_popup, /* init function */ switch_line_style_state, /* exec function */ erase_popup /* cleanup function */ }, { "circle fill style popup", /* area */ init_fill_style_popup, /* init function */ switch_fill_style_state, /* exec function */ erase_popup /* cleanup function */ }, { "circle line width popup", /* area */ init_line_width_popup, /* init function */ switch_line_width_popup, /* exec function */ erase_popup /* cleanup function */ }, { "circle line style popup", /* area */ init_line_style_popup, /* init function */ switch_line_style_state, /* exec function */ erase_popup /* cleanup function */ }, { "conic fill style popup", /* area */ init_fill_style_popup, /* init function */ switch_fill_style_state, /* exec function */ erase_popup /* cleanup function */ }, { "conic line width popup", /* area */ init_line_width_popup, /* init function */ switch_line_width_popup, /* exec function */ erase_popup /* cleanup function */ }, { "conic line style popup", /* area */ init_line_style_popup, /* init function */ switch_line_style_state, /* exec function */ erase_popup /* cleanup function */ }, { "curve connected popup", /* area */ init_line_connected_popup, /* init function */ switch_curve_connected_state, /* exec function */ erase_popup /* cleanup function */ }, { "curve width popup", /* area */ init_line_width_popup, /* init function */ switch_line_width_popup, /* exec function */ erase_popup /* cleanup function */ }, { "curve style popup", /* area */ init_line_style_popup, /* init function */ switch_line_style_state, /* exec function */ erase_popup /* cleanup function */ }, { "text style popup", /* area */ init_font_style_popup, /* init function */ switch_font_style_popup, /* exec function */ erase_popup /* cleanup function */ }, { "text height popup", /* area */ init_char_height_popup, /* init function */ switch_char_height_popup, /* exec function */ erase_popup /* cleanup function */ }, { "text width popup", /* area */ init_char_width_popup, /* init function */ switch_char_width_popup, /* exec function */ erase_popup /* cleanup function */ }, { "text path popup", /* area */ init_text_path_popup, /* init function */ switch_text_path_popup, /* exec function */ erase_popup /* cleanup function */ }, { "text horizontal justification popup", /* area */ init_horz_just_popup, /* init function */ switch_horz_just_popup, /* exec function */ erase_popup /* cleanup function */ }, { "text vertical justification popup", /* area */ init_vert_just_popup, /* init function */ switch_vert_just_popup, /* exec function */ erase_popup /* cleanup function */ }, { "rotation angle popup", /* area */ init_angle_popup, /* init function */ switch_angle_state, /* exec function */ erase_popup /* cleanup function */ } }; int menu_item_func_tbl_sz = 61; struct menu_item_tbl_entry menu_item_func_tbl[] = { { "help menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "up menu item", /* key */ up, /* init function */ up, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "update menu item", /* key */ update, /* init function */ update, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "add objects menu item", /* key */ add_objects_init, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "add objects undo menu item", /* key */ add_objects_undo, /* init function */ add_objects_undo, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "line menu item", /* key */ add_line_init, /* init function */ add_line_restart, /* restart function */ add_line_exec, /* exec function */ add_line_cleanup /* cleanup function */ }, { "curve menu item", /* key */ add_curve_init, /* init function */ add_curve_restart, /* restart function */ add_curve_exec, /* exec function */ add_curve_cleanup /* cleanup function */ }, { "box menu item", /* key */ add_box_init, /* init function */ add_box_restart, /* restart function */ add_box_exec, /* exec function */ add_box_cleanup /* cleanup function */ }, { "polygon menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "circle menu item", /* key */ add_circle_init, /* init function */ add_circle_restart, /* restart function */ add_circle_exec, /* exec function */ add_circle_cleanup /* cleanup function */ }, { "conic menu item", /* key */ add_conic_init, /* init function */ add_conic_restart, /* restart function */ add_conic_exec, /* exec function */ add_conic_cleanup /* cleanup function */ }, { "text string menu item", /* key */ add_text_init, /* init function */ add_text_restart, /* restart function */ add_text_exec, /* exec function */ add_text_cleanup /* cleanup function */ }, { "text block menu item", /* key */ display_child_menu, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "text block undo menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "create block menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "split block menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "join blocks menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "enter text menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "move text menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "copy text menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "delete text menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "change text color menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "align vertically menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "change text style menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "change text size menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "symbols menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "edit objects menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "edit picture menu item", /* key */ edit_picture_init, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "edit picture undo menu item", /* key */ edit_picture_undo, /* init function */ edit_picture_undo, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "move menu item", /* key */ move_init, /* init function */ move_restart, /* restart function */ move_exec, /* exec function */ move_cleanup /* cleanup function */ }, { "copy menu item", /* key */ copy_init, /* init function */ copy_restart, /* restart function */ copy_exec, /* exec function */ copy_cleanup /* cleanup function */ }, { "delete menu item", /* key */ delete_init, /* init function */ delete_restart, /* restart function */ delete_exec, /* exec function */ delete_cleanup /* cleanup function */ }, { "erase menu item", /* key */ erase, /* init function */ erase, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "rotate menu item", /* key */ rotate_init, /* init function */ rotate_restart, /* restart function */ rotate_exec, /* exec function */ rotate_cleanup /* cleanup function */ }, { "combine menu item", /* key */ combine_init, /* init function */ combine_restart, /* restart function */ combine_exec, /* exec function */ combine_cleanup /* cleanup function */ }, { "split menu item", /* key */ split_init, /* init function */ split_restart, /* restart function */ split_exec, /* exec function */ split_cleanup /* cleanup function */ }, { "rotate menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "scale menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "shear menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "pan menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "zoom menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "adjust grid menu item", /* key */ adjust_grid, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "adjust grid undo menu item", /* key */ adjust_grid_undo, /* init function */ adjust_grid_undo, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "move grid menu item", /* key */ move_grid_init, /* init function */ move_grid_restart, /* restart function */ move_grid_exec, /* exec function */ move_grid_cleanup /* cleanup function */ }, { "resize grid menu item", /* key */ resize_grid_init, /* init function */ resize_grid_restart, /* restart function */ resize_grid_exec, /* exec function */ resize_grid_cleanup /* cleanup function */ }, { "create menu item", /* key */ display_child_menu, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "colors menu item", /* key */ colors_mitem_exec, /* init function */ NULL, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "colors undo menu item", /* key */ area_undo, /* init function */ area_undo, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "fonts menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "patterns menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "user defined symbols menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "user defined symbols menu item", /* key */ not_implemented, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "create pic file menu item", /* key */ create_pic_file, /* init function */ create_pic_file, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "photograph menu item", /* key */ photo, /* init function */ not_implemented, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "4 x 5 menu item", /* key */ four_by_five, /* init function */ four_by_five, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "8 x 10 menu item", /* key */ eight_by_ten, /* init function */ eight_by_ten, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "konica ft1 menu item", /* key */ konica_ft1, /* init function */ konica_ft1, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "1 to 1 menu item", /* key */ one_to_one, /* init function */ one_to_one, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "quit menu item", /* key */ quit, /* init function */ quit, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "save menu item", /* key */ save, /* init function */ save, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ }, { "retrieve menu item", /* key */ retrieve, /* init function */ retrieve, /* restart function */ NULL, /* exec function */ NULL /* cleanup function */ } }; int menu_func_tbl_sz = 8; struct menu_tbl_entry menu_func_tbl[] = { { "main menu", /* key */ display_menu_n_popups, /* init function */ cleanup_menu_n_popups, /* cleanup function */ }, { "add objects menu", /* key */ display_menu_n_popups, /* init function */ cleanup_menu_n_garbage, /* cleanup function */ }, { "text block menu", /* key */ display_menu_n_popups, /* init function */ cleanup_menu_n_popups, /* cleanup function */ }, { "edit picture menu", /* key */ display_menu_n_popups, /* init function */ cleanup_menu_n_garbage, /* cleanup function */ }, { "adjust grid menu", /* key */ init_grid_menu, /* init function */ cleanup_menu_n_popups, /* cleanup function */ }, { "create menu", /* key */ display_menu_n_popups, /* init function */ cleanup_menu_n_popups, /* cleanup function */ }, { "photograph menu", /* key */ display_menu_n_popups, /* init function */ cleanup_menu_n_popups, /* cleanup function */ }, { "colors menu", /* key */ init_colors_menu, /* init function */ cleanup_colors_menu /* cleanup function */ } }; /* * init_bundle_tbls * * description: loads bundle tables with appropriate * combinations to draw screen items * * parameters: none */ init_bundle_tbls() { Gflbundl frep; Glnbundl lrep; /* set up fill_area_bundle_tables */ frep.style = 1; frep.color = grey; frep.inter = GHOLLOW; gsetfillrep(ws_id,GREY_HOLLOW,&frep); frep.inter = GSOLID; gsetfillrep(ws_id,GREY_SOLID,&frep); frep.color = white; gsetfillrep(ws_id,WHITE_SOLID,&frep); frep.inter = GHOLLOW; gsetfillrep(ws_id,WHITE_HOLLOW,&frep); frep.color = black; gsetfillrep(ws_id,BLACK_HOLLOW,&frep); frep.inter = GSOLID; gsetfillrep(ws_id,BLACK_SOLID,&frep); frep.color = display_fgdclr; gsetfillrep(ws_id,FGDCLR_SOLID,&frep); frep.color = display_bgdclr; gsetfillrep(ws_id,BGDCLR_SOLID,&frep); frep.color = display_fillclr; gsetfillrep(ws_id,FILLCLR_SOLID,&frep); /* set up polyline_bundle_tables */ lrep.type = GLN_SOLID; lrep.width = 1.0; lrep.color = grey; gsetlinerep(ws_id,GREY_THIN_SOLID,&lrep); lrep.color = white; gsetlinerep(ws_id,WHITE_THIN_SOLID,&lrep); lrep.color = black; gsetlinerep(ws_id,BLACK_THIN_SOLID,&lrep); /* set up text_bundle_tables */ init_text_bundle_tbl("text_bndl_tbl"); init_char_hts_n_wds("char_hts_n_wds",&char_wd_tbl,&char_ht_tbl); } /* end init_bundle_tbls */ /* * init_text_bundle_tbl * * description: sets up text bndle table so that a key * will correspond to a particular text font, * precision, expansion, spacing and height * * parameters: filename (char *) - file containing text info * */ init_text_bundle_tbl(filename) char *filename; /* file containing text info */ { FILE *fd; /* fd for file containing text info */ Gtxbundl text_bundle; /* text bundle tbl entry info */ char *precision; /* text precision in chr form */ IDX i; /* index in text bundle table */ int n; extern char *get_char_str(); extern char *calloc(); /* open file containing text bundle tbl info */ fd = fopen(filename,"r"); if (fd == (FILE *) NULL) exit_error("init_text_bundle_tbl",3); /* read in no of entries in tbl */ get_int(fd,&n,4); text_bndl_tbl = (TEXT_BNDL *) calloc((unsigned) n, sizeof(TEXT_BNDL)); /* read in tbl entries and set up gks text bundle tbl */ for (i=0; i #include "key.h" #include "defs.h" #include "draw.h" #include "functbl.h" #include "clr_selector.h" #include "color.h" #include "trans.h" #include BOOLEAN clr_picked; /* index of color picked */ IDX display_clr_picked; /* color picked up by user */ IDX mixer_clr; /* first color in mixer from left to right */ IDX tuner_clr; /* fine tuner color */ IDX wheel_start_clr; /* first color in color wheel */ IDX num_wheel_clrs; /* num clrs in clr wheel */ Gpoint clr_wheel_center; /* center of clr clr wheel */ Gfloat outside_rad,inside_rad; /* inside and outside rad of color wheeel */ Gfloat theta; Gpoint left_extent[2],middle_extent[2], right_extent[2]; /* mixer areas */ Gpoint tuner_extent[2]; /* tuner area */ ARROW mixer_arrow; /* mixer arrow info */ ARROW val_arrow; /* value arrow info */ ARROW sat_arrow; /* sat arrow info */ ARROW hue_arrow; /* hue arrow info */ /* * init_clr_selector_clrs * * description: allocates color table space * for color selecor colors * * parameters: none */ init_clr_selector_clrs() { HSV hsv_clr; Gfloat theta_degrees; /* theta in degrees */ Gcobundl rgb_clr; int i; display_clr_picked = alloc_clr_tbl_entries(1); mixer_clr = alloc_clr_tbl_entries(3); tuner_clr = alloc_clr_tbl_entries(1); num_wheel_clrs = get_num_free_clrs(); wheel_start_clr = alloc_clr_tbl_entries(num_wheel_clrs); theta = 2.0 * PI / ((Gfloat) num_wheel_clrs); theta_degrees = 360 / (2 * PI) * theta; hsv_clr.sat = 1.0; hsv_clr.val = 1.0; for (i=0; iknob_pos != NO_KNOB_DRAWN) { draw_knob(arrow,BLACK_SOLID); } /* redraw (or if not previously on screen then ignore 're') arrow */ draw_arrow(arrow,white); /* draw knob in new position */ arrow->knob_pos = new_knob_pos; draw_knob(arrow,WHITE_SOLID); set_aspect_flags(GINDIVIDUAL); pop_curr_trans(); }; /* end display_arrow */ /* * draw_knob * * description: draws knob in specified color on screen * * parameters: arrow (ARROW *) - arrow info * fill_color (IDX) - index in fill_area bundle tbl */ draw_knob(arrow,fill_color) ARROW *arrow; IDX fill_color; { Gfloat pos; /* adjusted position of knob */ Gpoint box[4]; /* pts of knob */ pos = arrow->knob_pos; if (arrow->direction == VERT) { load_box(box,(arrow->con - KNOB_LEN / 2.0), (arrow->con + KNOB_LEN / 2.0), (pos - KNOB_WD / 2.0), (pos + KNOB_WD / 2.0)); } else /* direction = HORZ */ { load_box(box,(pos - KNOB_WD / 2.0), (pos + KNOB_WD / 2.0), (arrow->con - KNOB_LEN / 2.0), (arrow->con + KNOB_LEN / 2.0)); } gsetfillind(fill_color); gfillarea(4,box); }; /* end draw_knob */ /* * draw_arrow * * description: draws arrow on screen using specified color * * parameters: arrow (ARROW *) - arrow to draw * line_color (IDX) - color tbl index */ draw_arrow(arrow,line_color) ARROW *arrow; IDX line_color; { Gpoint pts[3]; /* draw main line of double-headed arrow */ if (arrow->direction == VERT) { pts[0].x = arrow->con; pts[1].x = arrow->con; pts[0].y = arrow->mini; pts[1].y = arrow->maxi; } else { pts[0].x = arrow->mini; pts[1].x = arrow->maxi; pts[0].y = arrow->con; pts[1].y = arrow->con; } gsetlineind(line_color); gpolyline(2,pts); /* draw arrow heads */ if (arrow->direction == VERT) { /* draw arrow at 'maxi' end of arrow */ pts[0].x = arrow->con - ARROW_LEN; pts[1].x = arrow->con; pts[2].x = arrow->con + ARROW_LEN; pts[0].y = arrow->maxi - ARROW_LEN; pts[1].y = arrow->maxi; pts[2].y = arrow->maxi - ARROW_LEN; gpolyline(3,pts); /* draw arrow at 'mini' end of arrow */ pts[0].y = arrow->mini + ARROW_LEN; pts[1].y = arrow->mini; pts[2].y = arrow->mini + ARROW_LEN; gpolyline(3,pts); } else { /* draw arrow at 'maxi' end of arrow */ pts[0].y = arrow->con - ARROW_LEN; pts[1].y = arrow->con; pts[2].y = arrow->con + ARROW_LEN; pts[0].x = arrow->maxi - ARROW_LEN; pts[1].x = arrow->maxi; pts[2].x = arrow->maxi - ARROW_LEN; gpolyline(3,pts); /* draw arrow at 'mini' end of arrow */ pts[0].x = arrow->mini + ARROW_LEN; pts[1].x = arrow->mini; pts[2].x = arrow->mini + ARROW_LEN; gpolyline(3,pts); } }; /* end draw_color */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/objects_func.h0000644000175000017500000000324311413611016023076 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * object routines */ extern int draw_line(); extern int erase_line(); extern int detect_line(); extern int get_line_extent(); extern int copy_line(); extern int rotate_gen(); extern int read_line(); extern int write_line(); extern int free_line(); extern int draw_poly(); extern int erase_poly(); extern int detect_poly(); extern int get_poly_extent(); extern int copy_poly(); extern int read_poly(); extern int write_poly(); extern int free_poly(); extern int draw_text(); extern int erase_text(); extern int detect_text(); extern int get_string_extent(); extern int copy_text(); extern int rotate_text(); extern int read_text(); extern int write_text(); extern int free_text(); xgks-2.6.1+dfsg.2/src/progs/sledsrc/error.c0000644000175000017500000000454511413611016021564 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file contains: * exit_error */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/error.c,v 2.5.4.1 1993/03/10 19:43:20 steve Exp $"; #include /* * error messages */ char *err_message[] = { "Ran out of normalization transformations", /* 0 */ "Cannot open menu file", /* 1 */ "Error reading menu file", /* 2 */ "Cannot open text_bndl_tbl file", /* 3 */ "Error reading text_bndl_tbl file", /* 4 */ "Color tbl limit exceeded", /* 5 */ "Cannot open palette_clrs file", /* 6 */ "Error reading palette_clrs file", /* 7 */ "Cannot find area in menu_tbl", /* 8 */ "Cannot find area in object_func_tbl", /* 9 */ "Cannot find menu item", /* 10 */ "No stroke fonts available", /* 11 */ "Error opening input file", /* 12 */ "Error reading input file", /* 13 */ "Error opening output file", /* 14 */ "Error reading output file", /* 15 */ "Error opening char_hts_n_wds file", /* 16 */ "Error reading char_hts_n_wds file" /* 17 */ }; /* * exit_error * * description: prints name of routine in which error occurred * and error message and exits * * parameters: routine (char *) - routine in which error * occurred * errnum (int) - error number */ exit_error(routine,errnum) char *routine; int errnum; { fprintf(stderr,"Error: %s: %s\n",routine,err_message[errnum]); abort(); } /* end exit_error */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/color.c0000644000175000017500000001556611413611016021556 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file includes: * rgb_to_hsv * hsv_to_rgb * set_color * get_color * init_screen_clrs * alloc_clr_tbl_entries */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/color.c,v 2.5.4.1 1993/03/10 19:43:18 steve Exp $"; #include #include "defs.h" #include "ws.h" #include "color.h" /* * these color tbl entries are reserved for the screen * they may not be altered by the user */ IDX black; /* clr tbl idx for black */ IDX white; /* clr tbl idx for white */ IDX grey; /* clr tbl idx for grey */ /* * other important indices */ IDX fgdclr; /* clr tbl idx for fgd_clr */ IDX fillclr; /* clr tbl idx for fgd_clr */ IDX bgdclr; /* * rgb_to_hsv * * description: converts color from rgb to hsv color model * NOTE: rgb corresponds to "Gcobundl" model in new GKS. * * parameters: rgb_clr (Gcobundl *) ptr to color in rgb form * hsv_clr (HSV *) ptr to color in hsv form */ rgb_to_hsv(rgb_clr,hsv_clr) Gcobundl *rgb_clr; /* clr in rgb form */ HSV *hsv_clr; /* color in hsv form */ { Gfloat maxi; /* max of r,g,b */ Gfloat mini; /* min of r,g,b */ Gfloat rc; /* dist from red to color */ Gfloat gc; /* dist from green to color */ Gfloat bc; /* dist from blue to color */ maxi = max3(rgb_clr->red,rgb_clr->green,rgb_clr->blue); mini = min3(rgb_clr->red,rgb_clr->green,rgb_clr->blue); /* assign value */ hsv_clr->val = maxi; /* assign saturation */ if (maxi != 0) hsv_clr->sat = (maxi - mini) / maxi; else hsv_clr->sat = 0; /* assign hue */ if (hsv_clr->sat == 0) hsv_clr->hue = UNDEFINED; /* achromatic case */ else { rc = (maxi - rgb_clr->red) / (maxi - mini); gc = (maxi - rgb_clr->green) / (maxi - mini); bc = (maxi - rgb_clr->blue) / (maxi - mini); if (rgb_clr->red == maxi) hsv_clr->hue = bc - gc; else if (rgb_clr->green == maxi) hsv_clr->hue = 2 + rc - bc; else /* rgb->blue == maxi */ hsv_clr->hue = 4 + gc - rc; hsv_clr->hue *= 60; if (hsv_clr->hue < 0) hsv_clr->hue += 360; } /* end chromatic case */ } /* end rgb_to_hsv */ /* * hsv_to_rgb * * description: converts color from hsv to rgb color model * * parameters: hsv_clr (HSV *) - ptr to color in hsv clr model * rgb_clr (RGB*) - ptr to color in rgb clr model */ hsv_to_rgb(hsv_clr,rgb_clr) HSV *hsv_clr; /* color in hsv form */ Gcobundl *rgb_clr; /* color in rgb form */ { int integer_part = 0; /* integer_part of hue */ Gfloat fractional_part; /* fractional part of hue */ Gfloat t1,t2,t3; /* temps */ if (hsv_clr->sat == 0) { /* achromatic case */ rgb_clr->red = hsv_clr->val; rgb_clr->green = hsv_clr->val; rgb_clr->blue = hsv_clr->val; } else /* chromatic case */ integer_part = (int) (hsv_clr->hue / 60); fractional_part = (hsv_clr->hue / 60) - (Gfloat) integer_part; t1 = hsv_clr->val * (1 - hsv_clr->sat); t2 = hsv_clr->val * (1 - (hsv_clr->sat * fractional_part)); t3 = hsv_clr->val * (1 - (hsv_clr->sat * (1 - fractional_part))); /* integer part = sextent and assignment of t1,t2,t3 is based on which sextent the color is in */ switch (integer_part) { case 0: rgb_clr->red = hsv_clr->val; rgb_clr->green = t3; rgb_clr->blue = t1; break; case 1: rgb_clr->red = t2; rgb_clr->green = hsv_clr->val; rgb_clr->blue = t1; break; case 2: rgb_clr->red = t1; rgb_clr->green = hsv_clr->val; rgb_clr->blue = t3; break; case 3: rgb_clr->red = t1; rgb_clr->green = t2; rgb_clr->blue = hsv_clr->val; break; case 4: rgb_clr->red = t3; rgb_clr->green = t1; rgb_clr->blue = hsv_clr->val; break; case 5: rgb_clr->red = hsv_clr->val; rgb_clr->green = t1; rgb_clr->blue = t2; break; } } /* end hsv_to_rgb */ /* * set_color * * description: sets color table entry to desired color * * parameters: idx (IDX) - index into color table * rgb_clr (Gcobundl *) - color in rgb form */ set_color(idx,rgb_clr) IDX idx; /* color table index */ Gcobundl *rgb_clr; /* actual color in rgb form */ { gsetcolorrep(ws_id,idx,rgb_clr); } /* end set_color */ /* * get_color * * description: gets color table entry * * parameters: idx (IDX) - index into color table * rgb_clr (Gcobundl *) - color in rgb form */ get_color(idx,rgb_clr) IDX idx; /* color table index */ Gcobundl *rgb_clr; /* actual color in rgb form */ { ginqcolourrep(ws_id,idx,GSET,rgb_clr); } /* end get_color */ /* * init_screen_clrs * * description: initialize colors used in drawing screen * * parameters: none */ init_screen_clrs() { Gcobundl rgb_clr; black = alloc_clr_tbl_entries(3); white = black + 1; grey = white + 1; /* set black */ rgb_clr.red = 0.0; rgb_clr.green = 0.0; rgb_clr.blue = 0.0; set_color(black,&rgb_clr); /* set white */ rgb_clr.red = 1.0; rgb_clr.green = 1.0; rgb_clr.blue = 1.0; set_color(white,&rgb_clr); /* set grey */ rgb_clr.red = 0.3; rgb_clr.green = 0.3; rgb_clr.blue = 0.3; set_color(grey,&rgb_clr); } /* end init_screen_clrs */ static IDX freeclr = 1; /* first unused entry in clr tbl */ /* * alloc_clr_tbl_entries * * description: allocates next n free entries in clr tbl * * parameters: n (int) - no of entries requested * * returns: (IDX) - index of first of n consecutive * clr tbl entries */ IDX alloc_clr_tbl_entries(n) int n; /* number of entries */ { Gwstables tbl_sz; /* make sure color table limit not exceeded */ ginqmaxwssttables(ws_type,&tbl_sz); if ((freeclr + n) > (tbl_sz.color)) { exit_error("alloc_clr_tbl_enties",5); } freeclr = freeclr + n; return(freeclr - n); }; /* end alloc_clr_tbl_entries */ /* * get_num_free_clrs * * description: returns number of free entries in color tbl * * parameters: none */ get_num_free_clrs() { Gwstables tbl_sz; ginqmaxwssttables(ws_type,&tbl_sz); return(tbl_sz.color - freeclr); } /* end get_num_free_clrs */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/draw.h0000644000175000017500000000427711413611016021377 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ #include "screen_items.h" #include "clr_selector_draw.h" #include "changes.h" /* * bundle tbl indices for fillarea tbl */ #define GREY_HOLLOW 1 #define GREY_SOLID 2 #define WHITE_SOLID 3 #define WHITE_HOLLOW 4 #define BLACK_SOLID 5 #define BLACK_HOLLOW 6 #define FGDCLR_SOLID 7 #define BGDCLR_SOLID 8 #define FILLCLR_SOLID 9 #define FREE_FILL_AREA_ENTRY 10 /* * bundle tbl indices for polymarker bundle table */ #define GRID_MARKER 1 /* * bundle tbl indices for polyline tbl */ #define WHITE_THIN_SOLID 1 #define GREY_THIN_SOLID 2 #define BLACK_THIN_SOLID 3 /* * bundle tbl keys for text tbl */ #define MENU_TEXT "menu text key" #define PROMPT_TEXT "prompt text key" #define CLR_AREA_TEXT "clr area text key" #define POPUP_TEXT "popup text key" #define POPUP_NUMBER_TEXT "popup number text key" /* * tbl of keys and text tbl indices */ typedef struct text_bndl TEXT_BNDL; struct text_bndl { KEY key; /* text style key */ IDX idx; /* index into text bndl tbl */ Gfloat char_ht; /* ht of text since not stored in real bndl tbl */ }; extern TEXT_BNDL *text_bndl_tbl; /* list of keys and indices */ #define PI 3.1415926536 #define NO_CONIC_LNS 100 xgks-2.6.1+dfsg.2/src/progs/sledsrc/object_tbl.c0000644000175000017500000001046311413611016022536 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file contains: * get_object_func_tbl_idx */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/object_tbl.c,v 2.5.4.1 1993/03/10 19:43:21 steve Exp $"; #include "defs.h" #include "objects.h" #include "object_tbl.h" #include "objects_func.h" int object_func_tbl_sz = 7; struct object_func_tbl_entry object_func_tbl[] = { { LINEOB, /* object type key */ draw_line, /* draw function */ erase_line, /* erase function */ detect_line, /* detect function */ get_line_extent, /* get_extent function */ copy_line, /* copy function */ rotate_gen, /* rotate function */ free_line, /* free function */ read_line, /* read funtion */ write_line /* write funtion */ }, { BOXOB, /* object type key */ draw_poly, /* draw function */ erase_poly, /* erase function */ detect_poly, /* detect function */ get_poly_extent, /* get_extent function */ copy_poly, /* copy function */ rotate_gen, /* rotate function */ free_poly, /* free function */ read_poly, /* read funtion */ write_poly /* write funtion */ }, { POLYOB, /* object type key */ draw_poly, /* draw function */ erase_poly, /* erase function */ detect_poly, /* detect function */ get_poly_extent, /* get_extent function */ copy_poly, /* copy function */ rotate_gen, /* rotate function */ free_poly, /* free function */ read_poly, /* read funtion */ write_poly /* write funtion */ }, { CIRCLEOB, /* object type key */ draw_poly, /* draw function */ erase_poly, /* erase function */ detect_poly, /* detect function */ get_poly_extent, /* get_extent function */ copy_poly, /* copy function */ rotate_gen, /* rotate function */ free_poly, /* free function */ read_poly, /* read funtion */ write_poly /* write funtion */ }, { CONICOB, /* object type key */ draw_poly, /* draw function */ erase_poly, /* erase function */ detect_poly, /* detect function */ get_poly_extent, /* get_extent function */ copy_poly, /* copy function */ rotate_gen, /* rotate function */ free_poly, /* free function */ read_poly, /* read funtion */ write_poly /* write funtion */ }, { CURVEOB, /* object type key */ draw_line, /* draw function */ erase_line, /* erase function */ detect_line, /* detect function */ get_line_extent, /* get_extent function */ copy_line, /* copy function */ rotate_gen, /* rotate function */ free_line, /* free function */ read_line, /* read funtion */ write_line /* write funtion */ }, { TEXTOB, /* object type key */ draw_text, /* draw function */ erase_text, /* erase function */ detect_text, /* detect function */ get_string_extent, /* get_extent function */ copy_text, /* copy function */ rotate_text, /* rotate function */ free_text, /* free function */ read_text, /* read funtion */ write_text /* write funtion */ } }; /* * get_object_func_tbl_idx * * description: finds index in object_func_tbl of * object type identified by key * * parameters: key (KEY) - key identifying object type */ IDX get_object_func_tbl_idx(key) KEY key; { IDX idx; for (idx = 0; ((idx < object_func_tbl_sz) && !eq(key,object_func_tbl[idx].key)); idx++); if (!eq(key,object_func_tbl[idx].key)) exit_error("get_object_func_tbl_idx",9); return(idx); } /* end get_object_func_tbl_idx */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/defs.h0000644000175000017500000000306211413611016021352 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ #include #include #define sqr(a) ((a) * (a)) #define abs(a) ((a) < 0 ? (-(a)) : (a)) #define max2(a,b) ((a) < (b) ? (b) : (a)) #define min2(a,b) ((a) > (b) ? (b) : (a)) #define eq(a,b) ((strlen(a) == strlen(b)) && \ (strncmp((a),(b), \ min2(strlen(a),strlen(b))) == 0)) #define max3(a,b,c) (max2(max2((a),(b)),(c))) #define min3(a,b,c) (min2(min2((a),(b)),(c))) #define dist(a,b) (sqrt(sqr((a.x) - (b.x)) + sqr((a.y) - (b.y)))) #define eq_pts(a,b) (((a.x) == (b.x)) && ((a.y) == (b.y))) #define DELTA .005 #define LINE_FAC 4.0 xgks-2.6.1+dfsg.2/src/progs/sledsrc/objects_detect.c0000644000175000017500000002256011413611016023411 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file includes: * detect_object * detect_single_line * detect_line * detect_poly * detect_text * get_text_extent * get_extent * get_line_extent * get_poly_extent * get_string_extent * is_object_inbounds */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/objects_detect.c,v 2.5.4.1 1993/03/10 19:43:22 steve Exp $"; #include "objects.h" #include "key.h" #include "ws.h" #include "object_tbl.h" #include #include "defs.h" #include "trans.h" detect_object(hit,comb_ob,object,pt) BOOLEAN *hit; COMB_OB **comb_ob; OBJECT **object; Gpoint pt; { IDX idx; COMB_OB *comb_ob_ptr; OBJECT *object_ptr; *object = (OBJECT *) NULL; *comb_ob = (COMB_OB *) NULL; *hit = FALSE; /* search priority list from tail so that first object picked has highest display priority */ for (comb_ob_ptr = tail; ((comb_ob_ptr != (COMB_OB *) NULL) && (*hit == FALSE)); comb_ob_ptr = comb_ob_ptr->prev) { if (comb_ob_ptr->visibility == GVISIBLE) { /* last object in comb_ob has highest display priority */ for (object_ptr = comb_ob_ptr->child; object_ptr != (OBJECT *) NULL; object_ptr = object_ptr->next) { if (object_ptr->visibility == GVISIBLE) { idx = get_object_func_tbl_idx(object_ptr->key); if (object_func_tbl[idx].detect != NULL) { if ((*(object_func_tbl[idx].detect)) (object_ptr,pt) == TRUE) { *object = object_ptr; *comb_ob = comb_ob_ptr; *hit = TRUE; } } } } } } } /* end detect_object */ /* * detect_single_line * * description: test if line was detected * * parameters: line (Gpoint *) - endpoints of line * pt (Gpoint) - pt picked * * returns: (BOOLEAN) - TRUE if detected */ BOOLEAN detect_single_line(line,pt) Gpoint *line; Gpoint pt; { Gpoint extent[2]; Gfloat distance; /* quick reject test */ get_extent(line,2,extent); if (!in_bounds_delta(extent,pt,DELTA)) return(FALSE); /* test distance from pt to line */ if (eq_pts(line[0],line[1])) { if (dist(pt,line[0]) <= DELTA) return(TRUE); else return(FALSE); } distance = ((pt.x - line[0].x) * (line[1].y - line[0].y) - (line[1].x - line[0].x) * (pt.y - line[0].y)) / dist(line[0],line[1]); distance = abs(distance); if (distance <= DELTA) return(TRUE); else return(FALSE); } /* end detect_single_line */ /* * detect_line * * description: tests if line object was detected * * parameters: object (OBJECT *) - line object * pt (Gpoint) - pt picked * * returns: (BOOLEAN) - true if detected */ BOOLEAN detect_line(object,pt) OBJECT *object; Gpoint pt; { BOOLEAN matched; Gpoint extent[2]; int i; get_extent(object->lineob.pts,object->lineob.nopts,extent); if (!in_bounds_delta(extent,pt,DELTA)) { return(FALSE); } else { matched = FALSE; for (i=0; i < (object->lineob.nopts - 1); i++) { if (detect_single_line(&(object->lineob.pts[i]), pt)) { matched = TRUE; break; } } } return(matched); } /* end detect_line */ /* * detect_poly * * description: tests if polygon has been detected * * parameters: object (OBJECT *) - line object * pt (Gpoint) - pt picked * * returns: (BOOLEAN) - true if detected */ BOOLEAN detect_poly(object,pt) OBJECT *object; Gpoint pt; { Gpoint extent[2]; get_extent(object->polyob.pts,object->polyob.nopts,extent); if (in_bounds_delta(extent,pt,DELTA)) return(TRUE); else return(FALSE); } /* end detect poly */ /* * detect_text * * description: tests if text object was detected * * parameters: object (OBJECT *) - line object * pt (Gpoint) - pt picked * * returns: (BOOLEAN) - true if detected */ BOOLEAN detect_text(object,pt) OBJECT *object; Gpoint pt; { BOOLEAN hit; Gpoint rot_extent[4]; CHAR_OB *ch_ptr; Gpoint extent[2]; hit = FALSE; for (ch_ptr = object->textob.str; ((ch_ptr != (CHAR_OB *) NULL) && !hit); ch_ptr = ch_ptr->next) { /* find text extent */ get_text_extent(ch_ptr->ch,ch_ptr->center, ch_ptr->fontstyle,ch_ptr->height, ch_ptr->expansion,object->textob.up_vec, rot_extent); get_extent(rot_extent,4,extent); if (in_bounds_delta(extent,pt,DELTA)) hit = TRUE; } return(hit); } /* end detect_text */ /* * get_text_extent * * description: calculates rotated text extent * for character * * parameters: ch (char) - text character * center (Gpoint) - char center * font (IDX) - char font * height (Gfloat) - char ehight * expansion (Gfloat) - char expansion * up_vec (Gpoint) - char up vector * extent (Gpoint *) - char extent (return val) * (storage must be preallocated) */ get_text_extent(ch,center,font,height,expansion,up_vec,extent) Gchar ch; Gpoint center; IDX font; Gfloat height, expansion; Gpoint up_vec; Gpoint *extent; { Gpriattr prim_attr; Gindattr indiv_attr; Gextent ext; Gchar str[2]; Gtxfp tpf; Gtxalign align; push_curr_trans(); activate(PICT_AREA); ginqprimattr(&prim_attr); ginqindivattr(&indiv_attr); gsetcharheight(height); gsetcharexpan(expansion); gsetcharup(&up_vec); align.hor = GTH_CENTER; align.ver = GTV_HALF; gsettextalign(&align); tpf.font = font; tpf.prec = GSTROKE; gsettextfontprec(&tpf); str[0] = ch; str[1] = (char) NULL; ginqtextextent(ws_id,center,str,&ext); extent[0] = ext.ll; extent[1] = ext.lr; extent[2] = ext.ur; extent[3] = ext.ul; gsetcharheight(prim_attr.height); gsetcharexpan(indiv_attr.chexp); gsetcharup(&(prim_attr.up)); gsettextalign(&(prim_attr.align)); gsettextfontprec(&(indiv_attr.fp)); pop_curr_trans(); } /* end get_text_extent */ get_extent(pts,npts,extent) Gpoint *pts; int npts; Gpoint *extent; { int i; extent[MIN].x = pts[0].x; extent[MIN].y = pts[0].y; extent[MAX].x = pts[0].x; extent[MAX].y = pts[0].y; for (i=1; i extent[MAX].x) extent[MAX].x = pts[i].x; if (pts[i].y < extent[MIN].y) extent[MIN].y = pts[i].y; else if (pts[i].y > extent[MAX].y) extent[MAX].y = pts[i].y; } } /* end get_extent */ /* * get_line_extent * * description: calculates upright rectangular extent for line * object * * parameters: object (OBJECT *) - line object * extent (Gpoint *) - array of two points * to hold min's and max's * (must be preallocated) */ get_line_extent(object,extent) OBJECT *object; Gpoint *extent; { get_extent(object->lineob.pts,object->lineob.nopts,extent); } /* get_line_object */ /* * get_poly_extent * * description: calculates upright rectangular extent for poly * object * * parameters: object (OBJECT *) - poly object * extent (Gpoint *) - array of two points * to hold min's and max's * (must be preallocated) */ get_poly_extent(object,extent) OBJECT *object; Gpoint *extent; { get_extent(object->polyob.pts,object->polyob.nopts,extent); } /* get_poly_object */ /* * get_string_extent * * description: calculates upright rectangular extent for text * object * * parameters: object (OBJECT *) - text object * extent (Gpoint *) - array of two points * to hold min's and max's * (must be preallocated) */ get_string_extent(object,extent) OBJECT *object; Gpoint *extent; { Gpoint pts[6]; CHAR_OB *ch_ptr; Gpoint up_vec; up_vec.x = 0.0; up_vec.y = 1.0; for (ch_ptr = object->textob.str; ch_ptr != (CHAR_OB *) NULL; ch_ptr = ch_ptr->next) { /* find rotated character extent */ get_text_extent(ch_ptr->ch,ch_ptr->center, ch_ptr->fontstyle,ch_ptr->height, ch_ptr->expansion,up_vec,pts); if (ch_ptr == object->textob.str) { get_extent(pts,4,extent); } else { extent[MIN] = pts[4]; extent[MAX] = pts[5]; get_extent(pts,6,extent); } } } /* end get_string_extent */ /* * is_object_inbounds * * description: tests whether object lies entirely * within extent * * parameters: object (OBJECT *) - object to test * extent (Gpoint *) - extent to test against * * returns: (BOOLEAN) - true if object is inbounds, false * otherwise */ BOOLEAN is_object_inbounds(object,extent) OBJECT *object; Gpoint *extent; { Gpoint ob_extent[2]; (*(object_func_tbl[get_object_func_tbl_idx(object->key)].get_extent)) (object,ob_extent); if ((extent[MIN].x < ob_extent[MIN].x) && (extent[MIN].y < ob_extent[MIN].y) && (extent[MAX].x > ob_extent[MAX].x) && (extent[MAX].y > ob_extent[MAX].y)) { return(TRUE); } else return(FALSE); } /* is_object_inbounds */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/palette.c0000644000175000017500000001374611413611016022074 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file contains: * set_fgdclr * get_fgdclr * set_bgdclr * get_bgdclr * init_palette_clrs * get_clr_idx_from_pt */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/palette.c,v 2.5.4.1 1993/03/10 19:43:22 steve Exp $"; #include #include "ws.h" #include "color.h" #include "key.h" #include "defs.h" #include #include "trans.h" #include "palette.h" #include "changes.h" Gint nrows; /* number of rows in in color table */ Gint ncols; /* number of columns in in color table */ IDX palstartclr = NOT_ALLOCATED; /* index of first palette color in color table */ IDX display_fgdclr; /* fgdclr area clr tbl entry */ IDX display_bgdclr; /* bgdclr area clr tbl entry */ IDX display_fillclr; /* fillclr area clr tbl entry */ /* * set_fgdclr * * description: sets fgdclr to color in palette * and sets color table entry display_fgdclr * to color in color table entry fgdclr * * parameters: idx (IDX) - index of color to set fgdclr to */ set_fgdclr(idx) IDX idx; /* new fgd clr idx */ { Gcobundl rgb_clr; /* current fgdclr */ fgdclr = idx; get_color(idx,&rgb_clr); set_color(display_fgdclr,&rgb_clr); } /* end set_fgdclr */ /* * get_fgdclr * * parameters: none * * returns: index of colorin palette which matches fgdclr */ get_fgdclr() { return(fgdclr); } /* end get_fgdclr */ /* * set_bgdclr * * description: sets bgdclr to color in palette * and sets color table entry display_bgdclr * to color in color table entry bgdclr * * parameters: idx (IDX) - index of color to set bgdclr to */ set_bgdclr(idx) IDX idx; /* new bgd clr idx */ { Gcobundl rgb_clr; /* current bgdclr */ bgdclr = idx; get_color(idx,&rgb_clr); set_color(display_bgdclr,&rgb_clr); } /* end set_bgdclr */ /* * get_bgdclr * * parameters: none * * returns: display_bgdclr (IDX) - index of bgdclr */ get_bgdclr() { return(display_bgdclr); } /* end get_bgdclr */ /* * set_fillclr * * description: sets fillclr to color in palette * and sets color table entry display_fillclr * to color in color table entry fillclr * * parameters: idx (IDX) - index of color to set fillclr to */ set_fillclr(idx) IDX idx; /* new fgd clr idx */ { Gcobundl rgb_clr; /* current fillclr */ fillclr = idx; get_color(idx,&rgb_clr); set_color(display_fillclr,&rgb_clr); } /* end set_fillclr */ /* * get_fillclr * * parameters: none * * returns: index of colorin palette which matches fillclr */ get_fillclr() { return(fillclr); } /* end get_fillclr */ /* * init_palette_clrs * * description: allocates color table space * for palette colors and initializes * colors in color table * as well as initializing fgdclr to first * entry in color table (top row, leftmost column) * * parameters: filename (char *) - name of file * containing palette size * and initial colors * in hsv form */ init_palette_clrs(filename) char *filename; { FILE *fd; /* fd for file containing colors */ HSV hsv_clr; /* color as read in */ Gcobundl rgb_clr; /* same color in rgb form */ int i; /* open file for reading */ fd = fopen(filename,"r"); if (fd == (FILE *) NULL) exit_error("init_palette_clrs",6); /* read in number of rows and columns */ get_int(fd,&(nrows),7); get_int(fd,&(ncols),7); /* read in colors and enter into color table */ if (palstartclr == NOT_ALLOCATED) palstartclr = alloc_clr_tbl_entries(MAX_PAL_ENTRIES); for (i=palstartclr; i < (palstartclr + nrows * ncols); i++) { get_real3(fd,&(hsv_clr.hue), &(hsv_clr.sat), &(hsv_clr.val),7); hsv_to_rgb(&hsv_clr,&rgb_clr); set_color(i,&rgb_clr); } /* close file */ fclose(fd); } /* init_palette_clrs */ /* * init_clr_area_clrs * * description: initializes clr tbl entries for * fgdclr, bgdclr and fillclr * * parameters: none */ init_clr_area_clrs() { display_fgdclr = alloc_clr_tbl_entries(1); set_fgdclr(palstartclr); display_bgdclr = alloc_clr_tbl_entries(1); set_bgdclr(black); display_fillclr = alloc_clr_tbl_entries(1); set_fillclr(palstartclr); } /* end init_clr_area_clrs */ /* * get_clr_idx_from_pt * * description: determines color index from pt * * parameters: pt (Gpoint) - pt corresponding * to desired color * * returns: (IDX) - index of palette color in clr tbl */ get_clr_idx_from_pt(pt) Gpoint pt; { Gpoint window[2]; /* window[MIN] = (xmin,ymin) window[MAX] = (xmax,ymax) */ int row, col; /* row and col containing pt */ Gfloat w, h; /* width & height of pal clr */ /* * since idx based on row and col of color, * determine row and col of selected color * * rows (columns) are numbered 0...nrows-1 (ncols-1) */ get_window(PAL_AREA,window); w = (window[MAX].x - window[MIN].x) / ncols; col = min2(((int) (pt.x / w)),(ncols - 1)); h = (window[MAX].y - window[MIN].y) / nrows; row = min2(((int) ((window[MAX].y - pt.y) / h)), (nrows - 1)); return(palstartclr + row * ncols + col); } /* end get_clr_idx_from_pt */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/popup.c0000644000175000017500000004166311413611016021600 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file includes: * add_to_currpoptbl * rm_from_currpoptbl * assign_popup_extent * display_popup_area * display_popup_text * display_popup * display_number_popup * switch_popup_state * switch_number_popup_state * draw_high_order_digit * draw_low_order_digit * erase_popup * display_popups * erase_popups */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/popup.c,v 2.5.4.1 1993/03/10 19:43:23 steve Exp $"; #include "key.h" #include "draw.h" #include "color.h" #include "screen_items.h" #include "trans.h" #include "popup.h" #include "functbl.h" #include #include "changes.h" /* * add_to_currpoptbl * * description: adds linked list of popups to currpoptbl * * parameters: head_popup (POPUP *) - head of popup list */ add_to_currpoptbl(head_popup) POPUP *head_popup; { POPUP *tbl_ptr; if (currpoptbl == (POPUP *) NULL) currpoptbl = head_popup; else { tbl_ptr = currpoptbl; while (tbl_ptr->next != (POPUP *) NULL) tbl_ptr = tbl_ptr->next; tbl_ptr->next = head_popup; } } /* add_to_currpoptbl */ /* * rm_from_currpoptbl * * description: removes linked list of popups from * end of currpoptbl beginning with head_popup * * parameters: head_popup (POPUP *) - head of popup list * to remove */ rm_from_currpoptbl(head_popup) POPUP *head_popup; { POPUP *tbl_ptr; if (currpoptbl == head_popup) currpoptbl = (POPUP *) NULL; else if (currpoptbl != (POPUP *) NULL) { tbl_ptr = currpoptbl; while ((tbl_ptr->next != head_popup) && (tbl_ptr->next != (POPUP *) NULL)) { tbl_ptr = tbl_ptr->next; } tbl_ptr->next = (POPUP *) NULL; } } /* rm_from_currpoptbl */ /* * assign_popup_extent * * description: assigns extent to popup based on * location in currpoptbl * * parameters: popup (POPUP *) - popup whose extent is to * be assigned */ assign_popup_extent(popup) POPUP *popup; { POPUP *tbl_ptr; /* ptr into currpoptbl */ int i; /* posiion in currpoptbl */ /* initial position is 1 */ Gpoint window[2]; /* popup area window */ Gfloat popup_width; /* width of popup */ /* determine position of popup in currpoptbl */ i = 1; tbl_ptr = currpoptbl; while (tbl_ptr != popup) { tbl_ptr = tbl_ptr->next; i++; } /* determine x-extent */ get_window(POPUP_AREA,window); popup_width = 12 * (window[MAX].x - window[MIN].x) / (MAX_NUM_POPUPS *12 + MAX_NUM_POPUPS - 1); popup->extent[MIN].x = window[MAX].x - i * popup_width - (i-1) * (popup_width / 12); popup->extent[MAX].x = popup->extent[MIN].x + popup_width; /* determine y-extent */ popup->extent[MIN].y = window[MIN].y; popup->extent[MAX].y = window[MAX].y; } /* end assign_popup_extent */ /* * display_popup_area * * description: displays popup_area * * parameters: none */ display_popup_area() { Gpoint window[2]; /* popup area window */ Gpoint box[4]; /* pts of window */ POPUP *tbl_ptr; /* ptr to popup list */ IDX idx; /* popup_func_tbl index */ push_curr_trans(); alloc_trans(POPUP_AREA); activate(POPUP_AREA); set_aspect_flags(GBUNDLED); get_window(POPUP_AREA,window); load_box(box,window[MIN].x,window[MAX].x, window[MIN].y,window[MAX].y); gsetfillind(BLACK_SOLID); gfillarea(4,box); set_aspect_flags(GINDIVIDUAL); /* display all active popups in poptbl */ for (tbl_ptr = currpoptbl; tbl_ptr != (POPUP *) NULL; tbl_ptr = tbl_ptr->next) { idx = find_popup_func_tbl_idx(tbl_ptr->key); if (tbl_ptr->is_active == TRUE) (*(popup_func_tbl[idx].init))(tbl_ptr); } pop_curr_trans(); } /* end display_popup_area */ /* * display_popup_text * * description: display text centered within popup. * * parameters: nlns (int) - no of lines to display * lines (char **) - text lines * extent (Gpoint *) - popup extent * clrno (IDX) - index of color to use */ display_popup_text(nlns,lines,extent,clrno) int nlns; /* no of lines to display */ char **lines; /* text lines to display */ Gpoint extent[]; /* popup extent */ IDX clrno; /* clr to use */ { Gpoint center; /* popup center */ center.x = (extent[MIN].x + extent[MAX].x) / 2; center.y = (extent[MIN].y + extent[MAX].y) / 2; center_text(nlns,lines,¢er,clrno,POPUP_TEXT); } /* end display_popup_text */ /* * erase_popup_text * * description: erase text centered within popup. * * parameters: extent (Gpoint *) - popup extent */ erase_popup_text(extent) Gpoint extent[]; /* popup extent */ { Gpoint box[5]; /* boundary of extent */ load_box(box,extent[MIN].x,extent[MAX].x,extent[MIN].y, extent[MAX].y); gsetfillind(GREY_SOLID); gfillarea(4,box); gsetfillind(WHITE_HOLLOW); gfillarea(4,box); } /* end erase_popup_text */ /* * display_popup * * description: display entire popup (i.e. box and text) * * REMEMBER: popup must be in currpoptbl before * before calling display_popup * * parameters: popup (POPUP *) - popup to display * nlns (int) - no of lines to display * lines (char **) - text lines */ display_popup(popup,nlns,lines) POPUP *popup; int nlns; /* no of lines of text */ char **lines; /* text to display */ { Gpoint box[4]; /* boundary of popup */ push_curr_trans(); activate(POPUP_AREA); /* draw popup box */ set_aspect_flags(GBUNDLED); assign_popup_extent(popup); load_box(box,popup->extent[MIN].x, popup->extent[MAX].x, popup->extent[MIN].y, popup->extent[MAX].y); gsetfillind(GREY_SOLID); gfillarea(4,box); gsetfillind(WHITE_HOLLOW); gfillarea(4,box); /* draw text */ display_popup_text(nlns,lines,popup->extent,white); set_aspect_flags(GINDIVIDUAL); pop_curr_trans(); popup->is_active = TRUE; } /* end display_popup */ /* * display_number_popup * * description: displays popup with numbers * * parameters: popup (POPUP *) - popup to display * text (char *) - pointer to text label * state (int) - popup state (i.e value) */ display_number_popup(popup,text,state) POPUP *popup; char *text; int state; { Gpoint center; Gpoint box[4]; push_curr_trans(); activate(POPUP_AREA); /* draw popup box */ set_aspect_flags(GBUNDLED); assign_popup_extent(popup); load_box(box,popup->extent[MIN].x, popup->extent[MAX].x, popup->extent[MIN].y, popup->extent[MAX].y); gsetfillind(GREY_SOLID); gfillarea(4,box); gsetfillind(WHITE_HOLLOW); gfillarea(4,box); /* draw text */ center.x = (popup->extent[MIN].x + popup->extent[MAX].x) / 2.0; center.y = (popup->extent[MAX].y - popup->extent[MIN].y) * 1.0 / 5.0 + popup->extent[MIN].y; center_text(1,&text,¢er,white,POPUP_TEXT); draw_high_order_digit(popup->extent,(int) (state / 10.0),white); draw_low_order_digit(popup->extent,(int) state % 10,white); set_aspect_flags(GINDIVIDUAL); pop_curr_trans(); popup->is_active = TRUE; } /* end display_number_popup */ /* * display_header_popup * * description: displays popup with headers * * parameters: popup (POPUP *) - popup to display * header_text (char *) - header string * text (char **) - pointer to text label */ display_header_popup(popup,header_text,text,nlns) POPUP *popup; char *header_text, **text; int nlns; { Gpoint center; Gpoint box[4]; push_curr_trans(); activate(POPUP_AREA); /* draw popup box */ set_aspect_flags(GBUNDLED); assign_popup_extent(popup); load_box(box,popup->extent[MIN].x, popup->extent[MAX].x, popup->extent[MIN].y, popup->extent[MAX].y); gsetfillind(GREY_SOLID); gfillarea(4,box); gsetfillind(WHITE_HOLLOW); gfillarea(4,box); /* draw header_text */ center.x = (popup->extent[MIN].x + popup->extent[MAX].x) / 2.0; center.y = (popup->extent[MAX].y - popup->extent[MIN].y) * 5.0 / 6.0 + popup->extent[MIN].y; center_text(1,&header_text,¢er,white,POPUP_TEXT); /* draw text */ center.y = (popup->extent[MAX].y - popup->extent[MIN].y) / 3.0 + popup->extent[MIN].y; center_text(nlns,text,¢er,white,POPUP_TEXT); set_aspect_flags(GINDIVIDUAL); pop_curr_trans(); popup->is_active = TRUE; } /* end display_header_popup */ /* * switch_popup_state * * description: switches popup state to next state * and redraws popup * * parameters: state - (ENUM *) current popup state * nostates (int) - no of popup states * nlns (int) - no of text lines to display * lines (char **) - nlns * state is the * starting addr of lines corresponding to * state * extent (Gpoint *) - popup extent */ switch_popup_state(state,nostates,nlns,lines,extent) int *state; /* current popup state */ int nostates; /* no of popup states */ int nlns; /* no of lines to display */ char **lines; /* popup text */ Gpoint extent[]; /* popup extent */ { char **ln_ptr; /* ptr to appropriate lines */ int i; push_curr_trans(); activate(POPUP_AREA); set_aspect_flags(GBUNDLED); /* erase old popup text */ ln_ptr = lines; for (i=0; i<(nlns * (*state)); i++) ln_ptr++; erase_popup_text(extent); /* switch state */ *state = ((*state) + 1) % nostates; /* display new popup text */ ln_ptr = lines; for (i=0; i<(nlns * (*state)); i++) ln_ptr++; display_popup_text(nlns,ln_ptr,extent,white); set_aspect_flags(GINDIVIDUAL); pop_curr_trans(); } /* end switch_popup_state */ /* * switch_number_popup_state * * description: if a digit was picked, that digit is * incremented * * parameters: extent (Gpoint *) - popup extent * state (int *) - current popup state * pt (Gpoint) -pt picked by user */ switch_number_popup_state(extent,state,pt,mini,maxi) Gpoint *extent; int *state; Gpoint pt; int mini,maxi; { Gfloat x,y; int high_order_digit; int low_order_digit; int min_high_order_digit; int min_low_order_digit; int max_high_order_digit; int max_low_order_digit; x = (extent[MIN].x + extent[MAX].x) / 2.0; y = (extent[MAX].y - extent[MIN].y) * 2.0 / 3.0 + extent[MIN].y; /* determine if either low order or high order digit was picked */ if (pt.y > y) { reprompt(1); return; } high_order_digit = (*state / 10); low_order_digit = (*state % 10); min_high_order_digit = (mini / 10); min_low_order_digit = (mini % 10); max_high_order_digit = (maxi / 10); max_low_order_digit = (maxi % 10); if (pt.x < x) { /* high order digit picked */ draw_high_order_digit(extent,high_order_digit,grey); high_order_digit = (high_order_digit + 1) % 10; if (high_order_digit > max_high_order_digit) high_order_digit = min_high_order_digit; draw_high_order_digit(extent,high_order_digit,white); /* state cannot be zero */ if ((high_order_digit == min_high_order_digit) && (low_order_digit < min_low_order_digit)) { draw_low_order_digit(extent,low_order_digit,grey); low_order_digit = min_low_order_digit; draw_low_order_digit(extent,low_order_digit,white); } else if ((high_order_digit == max_high_order_digit) && (low_order_digit > max_low_order_digit)) { draw_low_order_digit(extent,low_order_digit,grey); low_order_digit = max_low_order_digit; draw_low_order_digit(extent,low_order_digit,white); } } else { /* low order digit picked */ draw_low_order_digit(extent,low_order_digit,grey); low_order_digit = (low_order_digit + 1) % 10; /* state cannot be zero */ if ((high_order_digit == min_high_order_digit) && (low_order_digit < min_low_order_digit)) { low_order_digit = min_low_order_digit; } else if ((high_order_digit == max_high_order_digit) && (low_order_digit > max_low_order_digit)) { low_order_digit = max_low_order_digit; } draw_low_order_digit(extent,low_order_digit,white); } *state = high_order_digit * 10 + low_order_digit; } /* end switch_number_popup_state */ /* * draw_high_order_digit * * description: draws high order digit in desired color * * parameters: extent (Gpoint *) - popup extent * digit (int) - digit to draw * clrno (IDX) - clr tbl index */ draw_high_order_digit(extent,digit,clrno) Gpoint *extent; int digit; IDX clrno; { char *string; Gfloat x; Gpoint center; push_curr_trans(); activate(POPUP_AREA); set_aspect_flags(GBUNDLED); x = (extent[MIN].x + extent[MAX].x) / 2.0; /* draw digit */ center.x = x - (x - extent[MIN].x) / 4.0; center.y = x; string = (char *) calloc (2,sizeof(char)); sprintf(string,"%d",digit); center_text(1,&string,¢er,clrno,POPUP_NUMBER_TEXT); free((char *) string); set_aspect_flags(GINDIVIDUAL); pop_curr_trans(); } /* end draw_high_order_digit */ /* * draw_low_order_digit * * description: draws low order digit in desired color * * parameters: extent (Gpoint *) - popup extent * digit (int) - digit to draw * clrno (IDX) - clr tbl index */ draw_low_order_digit(extent,digit,clrno) Gpoint *extent; int digit; IDX clrno; { char *string; Gfloat x; Gpoint center; push_curr_trans(); activate(POPUP_AREA); set_aspect_flags(GBUNDLED); x = (extent[MIN].x + extent[MAX].x) / 2.0; /* draw digit */ center.x = x + (extent[MAX].x - x) / 4.0; center.y = x; string = (char *) calloc (2,sizeof(char)); sprintf(string,"%d",digit); center_text(1,&string,¢er,clrno,POPUP_NUMBER_TEXT); free((char *) string); set_aspect_flags(GINDIVIDUAL); pop_curr_trans(); } /* end draw_low_order_digit */ /* * switch_header_popup_state * * description: switches popup state to next state * and redraws popup * * parameters: state - (ENUM *) current popup state * nostates (int) - no of popup states * nlns (int) - no of text lines to display * lines (char **) - nlns * state is the * starting addr of lines corresponding to * state * extent (Gpoint *) - popup extent */ switch_header_popup_state(state,nostates,nlns,lines,extent) int *state; /* current popup state */ int nostates; /* no of popup states */ int nlns; /* no of lines to display */ char **lines; /* popup text */ Gpoint extent[]; /* popup extent */ { char **ln_ptr; /* ptr to appropriate lines */ int i; Gpoint center; push_curr_trans(); activate(POPUP_AREA); set_aspect_flags(GBUNDLED); /* erase old popup text */ ln_ptr = lines; for (i=0; i<(nlns * (*state)); i++) ln_ptr++; center.x = (extent[MIN].x + extent[MAX].x) / 2.0; center.y = (extent[MAX].y - extent[MIN].y) / 3.0 + extent[MIN].y; center_text(nlns,ln_ptr,¢er,grey,POPUP_TEXT); /* switch state */ *state = ((*state) + 1) % nostates; /* display new popup text */ ln_ptr = lines; for (i=0; i<(nlns * (*state)); i++) ln_ptr++; center_text(nlns,ln_ptr,¢er,white,POPUP_TEXT); set_aspect_flags(GINDIVIDUAL); pop_curr_trans(); } /* end switch_header_popup_state */ /* * erase_popup * * description: erases popup from screen and sets * active flag to false. * * parameters: popup (POPUP *) - popup to erase */ erase_popup(popup) POPUP *popup; /* popup to erase */ { Gpoint box[4]; /* pts of popup extent */ /* erase popup from screen */ push_curr_trans(); activate(POPUP_AREA); set_aspect_flags(GBUNDLED); load_box(box,popup->extent[MIN].x,popup->extent[MAX].x, popup->extent[MIN].y,popup->extent[MAX].y); gsetfillind(BLACK_SOLID); gfillarea(4,box); set_aspect_flags(GINDIVIDUAL); pop_curr_trans(); /* note that it is unpickable */ popup->is_active = FALSE; } /* end erase_popup */ /* * display_popups * * description: displays list of popups * checks for empty list * * parameters: poplst (POPUP *) - list of popups to display */ display_popups(poplst) POPUP *poplst; { POPUP *tbl_ptr; IDX idx; if (poplst != (POPUP *) NULL) { add_to_currpoptbl(poplst); if (screen_tbl[find_screen_tbl_idx(POPUP_AREA)].is_active == TRUE) for (tbl_ptr = poplst; tbl_ptr != (POPUP *) NULL; tbl_ptr = tbl_ptr->next) { idx = find_popup_func_tbl_idx(tbl_ptr->key); (*(popup_func_tbl[idx].init))(tbl_ptr); } } } /* end display_popups */ /* * erase_popups * * description: erases list of popups and removes them * from poptbl * * parameters: poplst (POPUP *) - list of popups */ erase_popups(poplst) POPUP *poplst; { POPUP *tbl_ptr; IDX idx; rm_from_currpoptbl(poplst); for (tbl_ptr = poplst; tbl_ptr != (POPUP *) NULL; tbl_ptr = tbl_ptr->next) { idx = find_popup_func_tbl_idx(tbl_ptr->key); (*(popup_func_tbl[idx].cleanup))(tbl_ptr); } } /* end erase_popups */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/color.h0000644000175000017500000000262011413611016021546 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * color structs */ #include #include "changes.h" #define UNDEFINED -1 /* arbitrary unused val when hue is undefined */ /* color in hsv color model */ typedef struct hsv HSV; struct hsv { Gfloat hue; /* hue */ Gfloat sat; /* saturation */ Gfloat val; /* value */ }; extern IDX black; extern IDX white; extern IDX grey; extern IDX bgdclr; extern IDX fgdclr; extern IDX fillclr; xgks-2.6.1+dfsg.2/src/progs/sledsrc/Shapefile0000644000175000017500000000246011413611016022104 0ustar amckinstryamckinstry# $Header: /cvsroot/xgks/xgks/progs/sledsrc/Shapefile,v 2.5.4.1 1993/03/10 19:43:28 steve Exp $ # # $__copyright$ # # Shapefile for the "demo/sledsrc" subdirectory of the XGKS package. IMPORT = SHAPEINCPATH SHAPEINCPATH = /u2/ldm/src/shape CSRCS = GKS_LINT.c add_objects.c add_objects_subs.c attributes.c \ clr_selector_draw.c clr_selector_exec.c color.c \ conversions.c draw.c draw_menu.c draw_palette.c \ dummies.c edit_picture.c error.c functbl.c grid.c \ init_tbls.c input.c io.c main.c main_menu.c menu.c \ object_list.c object_tbl.c objects_copy.c \ objects_detect.c objects_draw.c objects_free.c \ objects_rotate.c palette.c photo.c photodummy.c \ picture.c popup.c prompt.c read_input.c read_menu.c \ screen_items.c trans.c trans_subs.c undo.c \ write_output.c $(VERSIONID).c HSRCS = add_objects.h add_objects_func.h adjust_grid_func.h \ attributes.h changes.h clr_selector.h \ clr_selector_draw.h clr_selector_func.h \ clr_selector_key.h color.h conversions.h defs.h draw.h \ edit_picture_func.h func.h functbl.h io.h key.h menu.h \ object_defs.h object_list.h object_tbl.h objects.h \ objects_func.h palette.h photo_func.h popup.h \ screen_items.h trans.h ws.h MY_COMPONENTS = $(CSRCS) $(HSRCS) Imakefile Makefile MAKEFILE = makefile.shape include $(SHAPEINCPATH)/stdshapefile xgks-2.6.1+dfsg.2/src/progs/sledsrc/popup.h0000644000175000017500000000275411413611016021603 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ #include #define MAX_NUM_POPUPS 9 /* max num of popups to be displayed at one time */ /* * update states */ #define QUICK_UPDATE 0 #define FULL_UPDATE 1 #define FINAL_UPDATE 2 /* * grid states */ #define GRID_OFF 0 #define GRID_ON 1 #define SNAP_ON 2 /* * verbose states */ #define VERBOSE_MODE_OFF 0 #define VERBOSE_MODE_ON 1 extern Gint get_verbose_mode(); /* * grid color states */ #define WHITE_GRID 0 #define GREY_GRID 1 #define BLACK_GRID 2 xgks-2.6.1+dfsg.2/src/progs/sledsrc/add_objects.c0000644000175000017500000012026011413611016022665 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file includes: * add_objects_init * add_line_init * add_line_restart * add_line_exec * add_line_cleanup * add_curve_init * add_curve_restart * add_curve_exec * add_curve_cleanup * add_box_init * add_box_restart * add_box_exec * add_box_cleanup * add_circle_init * add_circle_restart * add_circle_exec * add_circle_cleanup * add_conic_init * add_conic_restart * add_conic_exec * add_conic_cleanup * add_text_init * add_text_restart * add_text_exec * add_text_cleanup * interrupt_handler * set_cbreak_mode * add_objects_undo * init_line_width_popup * switch_line_width_popup * get_line_width * init_line_connected_popup * switch_line_connected_state * get_line_connected * init_line_style_state * switch_line_style_state * get_line_style * switch_curve_connected * init_fill_style_popup * switch_fill_style_popup * get_fill_style_popup * init_char_width_popup * switch_char_width_popup * get_char_expansion_popup * get_char_width_popup * init_char_height_popup * switch_char_height_popup * get_char_height_popup * init_font_style_popup * switch_font_style_popup * get_font_style * init_text_path_popup * switch_text_path_popup * get_text_path * init_horz_just_popup * switch_horz_just_popup * get_horz_just * init_vert_just_popup * switch_vert_just_popup * get_vert_just */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/add_objects.c,v 2.5.4.1 1993/03/10 19:43:18 steve Exp $"; #include #include #include #include "color.h" #include "functbl.h" #include "screen_items.h" #include "key.h" #include "defs.h" #include "draw.h" #include "objects.h" #include "trans.h" #include "ws.h" #include "add_objects_func.h" #include "object_defs.h" #include "object_list.h" #include "popup.h" #include #include "changes.h" #define ADD_OBJECTS_UNDO "add objects undo menu item" #define INTERRUPT '@' #define BACKSPACE '' #define END_OF_STR '\n' extern char *calloc(); static int pt_needed; /* FIRST_PT or SECOND_PT */ static Gpoint first_pt; /* first point of line */ static Gpoint *previous_end_pt; /* previous line endpoint used by add_line menu_item */ static Gpoint control[4]; /* control points used by add_curve menu item */ static Gpoint prev_control[4]; /* previous control points used by add_curve menu item */ static Gpoint past_control[4]; /* 2nd to last set of control points used by add_curve menu item */ static OBJECT *object; /* current simple line object */ static COMB_OB *comb_ob; /* current combination line object */ static BOOLEAN can_undo; /* TRUE if there is something to undo */ static MENU_ITEM *mitem_in_progress; /* menu item in progress when undo is picked */ static CHAR_OB *curr_char; /* most recent character read */ static CHAR_OB *head_char; /* first character in string */ static BOOLEAN is_pt_needed; /* true if location of next string is needed */ static char ch; /* char just read in */ Gfloat *char_wd_tbl; Gfloat *char_ht_tbl; /* * add_objects_init * * description: initalizes menu, popups and undo variables * * parameters: menu_item */ add_objects_init(menu_item) MENU_ITEM *menu_item; { display_child_menu(menu_item); can_undo = FALSE; mitem_in_progress = (MENU_ITEM *) NULL; } /* add_objects_init */ /* * add_line_init * * description: initializes line menu item * * parameters: menu_item (MENU_ITEM *) - line menu item */ add_line_init(menu_item) MENU_ITEM *menu_item; { set_currmitem(menu_item); hilite(menu_item->key); display_popups(menu_item->poplst); comb_ob = (COMB_OB *) NULL; object = (OBJECT *) NULL; pt_needed = FIRST_PT; previous_end_pt = (Gpoint *) NULL; push_curr_trans(); activate(PICT_AREA); prompt(4); } /* end add_line_init */ /* * add_line_restart * * description: reinitializes line menu item * * parameters: menu_item (MENU_ITEM *) - line menu item */ add_line_restart(menu_item) MENU_ITEM *menu_item; { if (eq(get_newmitem(),ADD_OBJECTS_UNDO)) { set_currmitem(menu_item); if (get_line_connected() == CONNECTED) { /* last object just erased */ if ((object->visibility == GINVISIBLE) && (previous_end_pt != (Gpoint *) NULL)) { first_pt = *previous_end_pt; pt_needed = SECOND_PT; prompt(5); } else if (object->visibility == GINVISIBLE) { pt_needed = FIRST_PT; prompt(4); } else /* last object just un-erased */ { first_pt = object->lineob.pts[1]; pt_needed = SECOND_PT; prompt(5); } } else /* line_connected_state == NOT_CONNECTED */ { pt_needed = FIRST_PT; prompt(4); } } else /* undo not picked */ { comb_ob = (COMB_OB *) NULL; object = (OBJECT *) NULL; pt_needed = FIRST_PT; previous_end_pt = (Gpoint *) NULL; prompt(4); } } /* end add_line_restart */ /* * add_line_exec * * description: puts each line in simple object * and combines all simple objects in * a single combination object. * * parameters: pt (Gpoint) - pt picked */ add_line_exec(pt) Gpoint pt; { if (pt_needed == FIRST_PT) { first_pt = pt; pt_needed = SECOND_PT; prompt(5); } else /* pt_needed == SECOND_PT */ { /* if first line is being drawn, allocate comb_ob also note that there is now something to undo */ if (object == (OBJECT *) NULL) { can_undo = TRUE; comb_ob = alloc_comb_ob(); enq_comb_ob(comb_ob); } /* else if line is not connected to previous line allocate comb_ob */ else if (!eq_pts(first_pt,object->lineob.pts[1])) { comb_ob = alloc_comb_ob(); enq_comb_ob(comb_ob); } /* otherwise, add to same combination object */ /* note endpoint of last line segment drawn */ if (object != (OBJECT *) NULL) { previous_end_pt = &(object->lineob.pts[1]); } object = alloc_single_ob(LINEOB); object->lineob.nopts = 2; object->lineob.pts = (Gpoint *) calloc ((unsigned) 2, sizeof(Gpoint)); object->lineob.pts[0] = first_pt; object->lineob.pts[1] = pt; object->lineob.style = get_line_style(); object->lineob.width = get_line_width(); object->lineob.color = get_fgdclr(); ident(object->trans); add_to_comb_ob(comb_ob,object,TAIL); draw_line(object); if (get_line_connected() == CONNECTED) { first_pt = pt; prompt(5); } else { pt_needed = FIRST_PT; prompt(4); } } } /* end add_line_exec */ /* * add_line_cleanup * * description: cleans up line menu item * * parameters: MENU_ITEM * menu_item */ add_line_cleanup(menu_item) MENU_ITEM *menu_item; { if (!eq(get_newmitem(),ADD_OBJECTS_UNDO)) { erase_popups(menu_item->poplst); pop_curr_trans(); mitem_in_progress = (MENU_ITEM *) NULL; unhilite(menu_item->key); } else { mitem_in_progress = menu_item; } set_currmitem((MENU_ITEM *) NULL); } /* end add_line_cleanup */ /* * add_curve_init * * description: initializes curve menu item * * parameters: menu_item (MENU_ITEM *) - curve menu item */ add_curve_init(menu_item) MENU_ITEM *menu_item; { int i; set_currmitem(menu_item); hilite(menu_item->key); display_popups(menu_item->poplst); comb_ob = (COMB_OB *) NULL; object = (OBJECT *) NULL; pt_needed = FIRST_PT; for (i=0; i<4; i++) { past_control[i].x = -1.0; past_control[i].y = -1.0; prev_control[i].x = -1.0; prev_control[i].y = -1.0; } push_curr_trans(); activate(PICT_AREA); prompt(36); } /* end add_curve_init */ /* * add_curve_restart * * description: reinitializes curve menu item * * parameters: menu_item (MENU_ITEM *) - curve menu item */ add_curve_restart(menu_item) MENU_ITEM *menu_item; { int i; if (eq(get_newmitem(),ADD_OBJECTS_UNDO)) { set_currmitem(menu_item); if (get_line_connected() == CONNECTED) { /* last object just erased */ if ((object->visibility == GINVISIBLE) && (prev_control[0].x != -1.0)) { control[0] = past_control[3]; control[1].x = control[0].x + (control[0].x - past_control[2].x); control[1].y = control[0].y + (control[0].y - past_control[2].y); pt_needed = THIRD_PT; prompt(38); } else if (object->visibility == GINVISIBLE) { pt_needed = FIRST_PT; prompt(36); } else /* last object just un-erased */ { pt_needed = THIRD_PT; control[0] = prev_control[3]; control[1].x = control[0].x + (control[0].x - prev_control[2].x); control[1].y = control[0].y + (control[0].y - prev_control[2].y); prompt(38); } } else /* line_connected_state == NOT_CONNECTED */ { pt_needed = FIRST_PT; prompt(36); } } else /* undo not picked */ { comb_ob = (COMB_OB *) NULL; object = (OBJECT *) NULL; pt_needed = FIRST_PT; for (i=0; i<4; i++) { prev_control[i].x = -1.0; prev_control[i].y = -1.0; past_control[i].x = -1.0; past_control[i].y = -1.0; } prompt(36); } } /* end add_curve_restart */ /* * add_curve_exec * * description: puts each curve in simple object * and combines all simple objects in * a single combination object. * * parameters: pt (Gpoint) - pt picked */ #define NUM_CURVE_PTS 100 add_curve_exec(pt) Gpoint pt; { int i; if (pt_needed == FIRST_PT) { control[0] = pt; pt_needed = SECOND_PT; prompt(37); } else if (pt_needed == SECOND_PT) { control[1] = pt; pt_needed = THIRD_PT; prompt(38); } else if (pt_needed == THIRD_PT) { control[2] = pt; pt_needed = FOURTH_PT; prompt(39); } else /* pt_needed == FOURTH_PT */ { control[3] = pt; /* if first curve is being drawn, allocate comb_ob also note that there is now something to undo */ if (object == (OBJECT *) NULL) { can_undo = TRUE; comb_ob = alloc_comb_ob(); enq_comb_ob(comb_ob); } /* else if curve is not connected to previous curve allocate comb_ob */ else if (!eq_pts(first_pt,object->curveob.pts[NUM_CURVE_PTS - 1])) { comb_ob = alloc_comb_ob(); enq_comb_ob(comb_ob); } /* otherwise, add to same combination object */ /* note control points of last curve segment drawn */ if (object != (OBJECT *) NULL) { for (i=0; i<4; i++) { past_control[i] = prev_control[i]; prev_control[i] = control[i]; } } object = alloc_single_ob(CURVEOB); object->curveob.nopts = NUM_CURVE_PTS; object->curveob.pts = (Gpoint *) calloc ((unsigned) NUM_CURVE_PTS, sizeof(Gpoint)); curve(control,NUM_CURVE_PTS,object->curveob.pts); object->curveob.style = get_line_style(); object->curveob.width = get_line_width(); object->curveob.color = get_fgdclr(); ident(object->trans); add_to_comb_ob(comb_ob,object,TAIL); draw_line(object); if (get_line_connected() == CONNECTED) { pt_needed = THIRD_PT; control[0] = control[3]; control[1].x = control[0].x * 2 - control[2].x; control[1].y = control[0].y * 2 - control[2].y; prompt(38); } else { pt_needed = FIRST_PT; prompt(36); } } } /* end add_curve_exec */ /* * add_curve_cleanup * * description: cleans up curve menu item * * parameters: MENU_ITEM * menu_item */ add_curve_cleanup(menu_item) MENU_ITEM *menu_item; { if (!eq(get_newmitem(),ADD_OBJECTS_UNDO)) { erase_popups(menu_item->poplst); pop_curr_trans(); mitem_in_progress = (MENU_ITEM *) NULL; unhilite(menu_item->key); } else { mitem_in_progress = menu_item; } set_currmitem((MENU_ITEM *) NULL); } /* end add_curve_cleanup */ /* * add_box_init * * description: initializes box menu item * * parameters: menu_item (MENU_ITEM *) - box menu item */ add_box_init(menu_item) MENU_ITEM *menu_item; { set_currmitem(menu_item); hilite(menu_item->key); display_popups(menu_item->poplst); comb_ob = (COMB_OB *) NULL; object = (OBJECT *) NULL; pt_needed = FIRST_PT; push_curr_trans(); activate(PICT_AREA); prompt(4); } /* end add_box_init */ /* * add_box_restart * * description: initializes box menu item * * parameters: menu_item (MENU_ITEM *) - box menu item */ add_box_restart(menu_item) MENU_ITEM *menu_item; { if (eq(get_newmitem(),ADD_OBJECTS_UNDO)) { set_currmitem(menu_item); } else { comb_ob = (COMB_OB *) NULL; object = (OBJECT *) NULL; } pt_needed = FIRST_PT; prompt(4); } /* end add_box_restart */ /* * add_box_exec * * description: puts each box in single comb_ob * * parameters: pt (Gpoint ) - pt picked */ add_box_exec(pt) Gpoint pt; { Gfloat xmin,xmax,ymin,ymax; if (pt_needed == FIRST_PT) { first_pt = pt; pt_needed = SECOND_PT; prompt(5); } else /* pt_needed == SECOND_PT */ { comb_ob = alloc_comb_ob(); enq_comb_ob(comb_ob); object = alloc_single_ob(BOXOB); object->boxob.nopts = 5; object->boxob.pts = (Gpoint *) calloc (5, sizeof(Gpoint)); xmin = min2(first_pt.x,pt.x); ymin = min2(first_pt.y,pt.y); xmax = max2(first_pt.x,pt.x); ymax = max2(first_pt.y,pt.y); load_box(object->boxob.pts,xmin,xmax,ymin,ymax); object->boxob.pts[4] = object->boxob.pts[0]; object->boxob.fillstyle = get_fill_style(); if (object->boxob.fillstyle == GSOLID) object->boxob.fillcolor = get_fillclr(); object->boxob.style = get_line_style(); object->boxob.width = get_line_width(); object->boxob.linecolor = get_fgdclr(); ident(object->trans); add_to_comb_ob(comb_ob,object,TAIL); draw_poly(object); can_undo = TRUE; pt_needed = FIRST_PT; prompt(4); } } /* end add_box_exec */ /* * add_box_cleanup * * description: cleans up box menu item * * parameters: MENU_ITEM * menu_item */ add_box_cleanup(menu_item) MENU_ITEM *menu_item; { if (!eq(get_newmitem(),ADD_OBJECTS_UNDO)) { erase_popups(menu_item->poplst); pop_curr_trans(); mitem_in_progress = (MENU_ITEM *) NULL; unhilite(menu_item->key); } else { mitem_in_progress = menu_item; } set_currmitem((MENU_ITEM *) NULL); } /* end add_box_cleanup */ /* * add_circle_init * * description: initializes circle menu item * * parameters: menu_item (MENU_ITEM *) - circle menu item */ add_circle_init(menu_item) MENU_ITEM *menu_item; { set_currmitem(menu_item); hilite(menu_item->key); display_popups(menu_item->poplst); comb_ob = (COMB_OB *) NULL; object = (OBJECT *) NULL; pt_needed = FIRST_PT; push_curr_trans(); activate(PICT_AREA); prompt(8); } /* end add_circle_init */ /* * add_circle_restart * * description: initializes circle menu item * * parameters: menu_item (MENU_ITEM *) - circle menu item */ add_circle_restart(menu_item) MENU_ITEM *menu_item; { if (eq(get_newmitem(),ADD_OBJECTS_UNDO)) { set_currmitem(menu_item); } else { comb_ob = (COMB_OB *) NULL; object = (OBJECT *) NULL; } pt_needed = FIRST_PT; prompt(8); } /* end add_circle_restart */ /* * add_circle_exec * * description: puts each circle in single comb_ob * * parameters: pt (Gpoint ) - pt picked */ add_circle_exec(pt) Gpoint pt; { if (pt_needed == FIRST_PT) { first_pt = pt; pt_needed = SECOND_PT; prompt(9); } else /* pt_needed == SECOND_PT */ { comb_ob = alloc_comb_ob(); enq_comb_ob(comb_ob); object = alloc_single_ob(CIRCLEOB); object->circleob.nopts = NO_CONIC_LNS; object->circleob.pts = (Gpoint *) calloc ((unsigned) NO_CONIC_LNS, sizeof(Gpoint)); circle(first_pt,(dist(first_pt,pt)), NO_CONIC_LNS, object->circleob.pts); object->circleob.fillstyle = get_fill_style(); if (object->circleob.fillstyle == GSOLID) object->circleob.fillcolor = get_fillclr(); object->circleob.style = get_line_style(); object->circleob.width = get_line_width(); object->circleob.linecolor = get_fgdclr(); ident(object->trans); add_to_comb_ob(comb_ob,object,TAIL); draw_poly(object); can_undo = TRUE; pt_needed = FIRST_PT; prompt(8); } } /* end add_circle_exec */ /* * add_circle_cleanup * * description: cleans up circle menu item * * parameters: MENU_ITEM * menu_item */ add_circle_cleanup(menu_item) MENU_ITEM *menu_item; { if (!eq(get_newmitem(),ADD_OBJECTS_UNDO)) { erase_popups(menu_item->poplst); pop_curr_trans(); mitem_in_progress = (MENU_ITEM *) NULL; unhilite(menu_item->key); } else { mitem_in_progress = menu_item; } set_currmitem((MENU_ITEM *) NULL); } /* end add_circle_cleanup */ /* * add_conic_init * * description: initializes conic menu item * * parameters: menu_item (MENU_ITEM *) - conic menu item */ add_conic_init(menu_item) MENU_ITEM *menu_item; { set_currmitem(menu_item); hilite(menu_item->key); display_popups(menu_item->poplst); comb_ob = (COMB_OB *) NULL; object = (OBJECT *) NULL; pt_needed = FIRST_PT; push_curr_trans(); activate(PICT_AREA); prompt(10); } /* end add_conic_init */ /* * add_conic_restart * * description: initializes conic menu item * * parameters: menu_item (MENU_ITEM *) - conic menu item */ add_conic_restart(menu_item) MENU_ITEM *menu_item; { if (eq(get_newmitem(),ADD_OBJECTS_UNDO)) { set_currmitem(menu_item); } else { comb_ob = (COMB_OB *) NULL; object = (OBJECT *) NULL; } pt_needed = FIRST_PT; prompt(10); } /* end add_conic_restart */ /* * add_conic_exec * * description: puts each conic in single comb_ob * * parameters: pt (Gpoint ) - pt picked */ add_conic_exec(pt) Gpoint pt; { Gpoint center_pt; if (pt_needed == FIRST_PT) { first_pt = pt; pt_needed = SECOND_PT; prompt(11); } else /* pt_needed == SECOND_PT */ { comb_ob = alloc_comb_ob(); enq_comb_ob(comb_ob); object = alloc_single_ob(CONICOB); object->conicob.nopts = NO_CONIC_LNS; object->conicob.pts = (Gpoint *) calloc ((unsigned) NO_CONIC_LNS, sizeof(Gpoint)); center_pt.x = (first_pt.x + pt.x) / 2.0; center_pt.y = (first_pt.y + pt.y) / 2.0; conic(center_pt, abs(first_pt.x - pt.x), abs(first_pt.y - pt.y), NO_CONIC_LNS, object->conicob.pts); object->conicob.fillstyle = get_fill_style(); if (object->conicob.fillstyle == GSOLID) object->conicob.fillcolor = get_fillclr(); object->conicob.style = get_line_style(); object->conicob.width = get_line_width(); object->conicob.linecolor = get_fgdclr(); ident(object->trans); add_to_comb_ob(comb_ob,object,TAIL); draw_poly(object); can_undo = TRUE; pt_needed = FIRST_PT; prompt(10); } } /* end add_conic_exec */ /* * add_conic_cleanup * * description: cleans up conic menu item * * parameters: MENU_ITEM * menu_item */ add_conic_cleanup(menu_item) MENU_ITEM *menu_item; { if (!eq(get_newmitem(),ADD_OBJECTS_UNDO)) { erase_popups(menu_item->poplst); pop_curr_trans(); mitem_in_progress = (MENU_ITEM *) NULL; unhilite(menu_item->key); } else { mitem_in_progress = menu_item; } set_currmitem((MENU_ITEM *) NULL); } /* end add_conic_cleanup */ /* * add_text_init * * description: initializes text menu item * * parameters: menu_item (MENU_ITEM *) - text menu item */ add_text_init(menu_item) MENU_ITEM *menu_item; { set_currmitem(menu_item); hilite(menu_item->key); display_popups(menu_item->poplst); comb_ob = (COMB_OB *) NULL; object = (OBJECT *) NULL; is_pt_needed = TRUE; ch = (char) NULL; head_char = (CHAR_OB *) NULL; curr_char = (CHAR_OB *) NULL; push_curr_trans(); activate(PICT_AREA); prompt(12); } /* end add_text_init */ /* * add_text_restart * * description: reinitializes text menu item * * parameters: menu_item (MENU_ITEM *) - text menu item */ add_text_restart(menu_item) MENU_ITEM *menu_item; { CHAR_OB *temp_char, *temp2_char; if (eq(get_newmitem(),ADD_OBJECTS_UNDO)) { set_currmitem(menu_item); } else /* undo not picked */ { comb_ob = (COMB_OB *) NULL; object = (OBJECT *) NULL; } is_pt_needed = TRUE; ch = (char) NULL; prompt(12); temp_char = head_char; while (temp_char != (CHAR_OB *) NULL) { temp2_char = temp_char->next; free((char *) temp_char); temp_char = temp2_char; } head_char = (CHAR_OB *) NULL; curr_char = (CHAR_OB *) NULL; } /* end add_text_restart */ /* * add_text_exec * * description: puts each text in simple object * and combines all simple objects in * a single combination object. * * parameters: pt (Gpoint) - pt picked */ add_text_exec(pt) Gpoint pt; { CHAR_OB *ch_ptr; extern Gfloat get_char_width(); if (is_pt_needed == TRUE) { first_pt = pt; is_pt_needed = FALSE; prompt(13); } /* pt has been picked - just waiting for remainder of text string */ printf("Enter text:\n"); printf("(BACKSPACE is '^H'; "); /* printf(" Type '%c' to get back locator\n",INTERRUPT); */ printf(" Type RETURN at end of string.)\n"); if (head_char != (CHAR_OB *) NULL) { printf("Character string thus far is:\n'"); for (ch_ptr = head_char; ch_ptr != (CHAR_OB *) NULL; ch_ptr = ch_ptr->next) { printf("%c",ch_ptr->ch); } printf("'\n"); } set_cbreak_mode(ON); ch = (char) getchar(); while ((ch != INTERRUPT) && (ch != END_OF_STR)) { if (ch == BACKSPACE) { if (head_char == (CHAR_OB *) NULL) { ch = (char) getchar(); continue; } if (head_char == curr_char) { free((char *) curr_char); head_char = (CHAR_OB *) NULL; ch = (char) getchar(); continue; } for (ch_ptr = head_char; ch_ptr->next != curr_char; ch_ptr = ch_ptr->next); free((char *) curr_char); curr_char = ch_ptr; curr_char->next = (CHAR_OB *) NULL; ch = (char) getchar(); continue; } if (head_char == (CHAR_OB *) NULL) { head_char = curr_char = (CHAR_OB *) calloc(1,sizeof(CHAR_OB)); } else { curr_char->next = (CHAR_OB *) calloc(1,sizeof(CHAR_OB)); curr_char = curr_char->next; } curr_char->ch = ch; curr_char->color = get_fgdclr(); curr_char->height = get_char_height(); curr_char->fontstyle = get_font_style(); curr_char->expansion = get_char_expansion(); curr_char->width = get_char_width(curr_char); curr_char->next = (CHAR_OB *) NULL; ch = (char) getchar(); } /* end while */ set_cbreak_mode(OFF); if ((ch == END_OF_STR) && (head_char == (CHAR_OB *) NULL)) prompt(12); else if (ch == END_OF_STR) { /* if first text string is being drawn, note that there is now something to undo */ if (object == (OBJECT *) NULL) can_undo = TRUE; comb_ob = alloc_comb_ob(); enq_comb_ob(comb_ob); object = alloc_single_ob(TEXTOB); object->textob.pos = first_pt; object->textob.vert_just = get_vert_just(); object->textob.horz_just = get_horz_just(); object->textob.path = get_text_path(); object->textob.up_vec.x = 0.0; object->textob.up_vec.y = 1.0; ident(object->trans); add_to_comb_ob(comb_ob,object,TAIL); object->textob.str = head_char; draw_text(object); is_pt_needed = TRUE; head_char = (CHAR_OB *) NULL; curr_char = (CHAR_OB *) NULL; prompt(12); } /* end if */ else prompt(13); } /* end add_text_exec */ /* * add_text_cleanup * * description: cleans up text menu item * * parameters: MENU_ITEM * menu_item */ add_text_cleanup(menu_item) MENU_ITEM *menu_item; { CHAR_OB *temp_char, *temp2_char; if (!eq(get_newmitem(),ADD_OBJECTS_UNDO)) { erase_popups(menu_item->poplst); pop_curr_trans(); mitem_in_progress = (MENU_ITEM *) NULL; /* free partial string */ temp_char = head_char; while (temp_char != (CHAR_OB *) NULL) { temp2_char = temp_char->next; free((char *) temp_char); temp_char = temp2_char; } unhilite(menu_item->key); } else { mitem_in_progress = menu_item; } set_currmitem((MENU_ITEM *) NULL); } /* end add_text_cleanup */ /* * set_cbreak_mode * * description: sets terminal in cbreak mode and also * sets terminal to catch  (i.e. INTERRUPT * char) * * parameters: state (int) - ON | OFF */ set_cbreak_mode(state) int state; { struct sgttyb arg; ioctl(0,TIOCGETP,&arg); if (state == ON) { arg.sg_flags = arg.sg_flags | CBREAK; } else { arg.sg_flags = arg.sg_flags & ~ CBREAK; } ioctl(0,TIOCSETP,&arg); } /* end set_cbreak_mode */ /* * add_objects_undo * * description: undoes last line segment, conic, box circle * or text string on screen * * parameters: menu_item (MENU_ITEM *) - undo menu item */ add_objects_undo(menu_item) MENU_ITEM *menu_item; { OBJECT *object; if (can_undo == TRUE) { hilite(menu_item->key); object = get_last_object(); if (object->visibility == GVISIBLE) { object->visibility = GINVISIBLE; erase_object(object); if (get_update_mode() != QUICK_UPDATE) { redraw_objects(); } } else /* object == GINVISIBLE */ { object->visibility = GVISIBLE; draw_object(object); } unhilite(menu_item->key); } /* restart menu item which was in progress when undo was picked */ if (mitem_in_progress != (MENU_ITEM *) NULL) { menu_item_func_tbl[find_menu_item_func_tbl_idx( mitem_in_progress->key)].restart( mitem_in_progress); } } /* end add_objects_undo */ /* popup routines */ static Gint line_width = 1; static Gint min_line_width = 1; static Gint max_line_width = 99; /* * init_line_width_popup * * description: draws line width popup on screen * * parameters: popup (POPUP *) - line width popup */ init_line_width_popup(popup) POPUP *popup; { display_number_popup(popup,"WIDTH",line_width); } /* end init_line_width popup */ /* * switch_line_width_popup * * description: updates line width * * parameters: popup (POPUP *) - line width popup */ switch_line_width_popup(popup,pt) POPUP *popup; Gpoint pt; { switch_number_popup_state(popup->extent,&line_width,pt, min_line_width,max_line_width); } /* end switch_line_width popup */ /* * get_line_width * * description: returns current value of line width * * parameters: none * * returns: (int) - line width */ Gfloat get_line_width() { Glnfac attr; Gfloat val; ginqlinefacil(ws_type,&attr); if (min_line_width != max_line_width) val = attr.min + (attr.max - attr.min) * (Gfloat) (line_width - min_line_width) / (Gfloat) (max_line_width - min_line_width); else val = attr.min; val = val / LINE_FAC; return(val); } static int line_connected_state = CONNECTED; static char *line_connected_text[] = { "CONNEC-", "TED", "LINES", "UNCON-", "NECTED", "LINES" }; /* * init_line_connected_popup * * description: displays popup box and text * * parameters: popup (POPUP *) - line_connected popup */ init_line_connected_popup(popup) POPUP *popup; { char **ln_ptr; int i; ln_ptr = line_connected_text; for (i=0; i<(3 * line_connected_state); i++) ln_ptr++; display_popup(popup,3,ln_ptr); } /* end init_line_connected_popup */ /* * switch_line_connected_state * * description: advances popup state to next state and * redraws popup * * parameters: popup (POPUP *) - line_connected popup * pt (Gpoint) - unused */ switch_line_connected_state(popup,pt) POPUP *popup; Gpoint pt; { switch_popup_state(&line_connected_state,2,3, line_connected_text,popup->extent); switch (line_connected_state) { case CONNECTED: if ((pt_needed == FIRST_PT) && (object != (OBJECT *) NULL)) { if (object->visibility == GVISIBLE) add_line_exec(object->lineob.pts[1]); else if (previous_end_pt != (Gpoint *) NULL) add_line_exec(*previous_end_pt); } break; case NOT_CONNECTED: if (pt_needed == SECOND_PT) { pt_needed = FIRST_PT; prompt(4); } break; } } /* end switch_line_connected_state */ /* * get_line_connected * * description: finds current value of line_connected_state * * parameters: none * * returns: (int) - line_connected_state */ get_line_connected() { return(line_connected_state); } /* end get_line_connected */ static int line_style_state = SOLID_LN; static char *line_style_text[] = { "SOLID", "LINE", "DASHED", "LINE", "DASH_DOT", "LINE", "DOTTED", "LINE" }; /* * init_line_style_popup * * description: displays popup box and text * * parameters: popup (POPUP *) - line_style popup */ init_line_style_popup(popup) POPUP *popup; { char **ln_ptr; int i; ln_ptr = line_style_text; for (i=0; i<(2 * line_style_state); i++) ln_ptr++; display_popup(popup,2,ln_ptr); } /* end init_line_style_popup */ /* * switch_line_style_state * * description: advances popup state to next state and * redraws popup * * parameters: popup (POPUP *) - line_style popup * pt (Gpoint) - unused */ switch_line_style_state(popup,pt) POPUP *popup; Gpoint pt; { switch_popup_state(&line_style_state,4,2,line_style_text,popup->extent); } /* end switch_line_style_state */ /* * get_line_style * * description: finds current value of line_style_state * * parameters: none * * returns: (Gint) - line_style */ Gint get_line_style() { Gint line_style; switch (line_style_state) { case SOLID_LN: line_style = GLN_SOLID; break; case DASHED_LN: line_style = GLN_DASH; break; case DASH_DOT_LN: line_style = GLN_DOTDASH; break; case DOTTED_LN: line_style = GLN_DOT; break; default: line_style = GLN_SOLID; } return(line_style); } /* end get_line_style */ /* * switch_curve_connected_state * * description: advances popup state to next state and * redraws popup * * parameters: popup (POPUP *) - curve_connected popup * pt (Gpoint) - unused */ switch_curve_connected_state(popup,pt) POPUP *popup; Gpoint pt; { Gpoint t; switch_popup_state(&line_connected_state,2,3, line_connected_text,popup->extent); switch (line_connected_state) { case CONNECTED: if ((pt_needed == FIRST_PT) && (object != (OBJECT *) NULL)) { if (object->visibility == GVISIBLE) { add_curve_exec(prev_control[3]); t.x = prev_control[3].x * 2 - prev_control[2].x; t.y = prev_control[3].y * 2 - prev_control[2].y; add_curve_exec(t); } else if (past_control[0].x != -1.0) { add_curve_exec(past_control[3]); t.x = past_control[3].x * 2 - past_control[2].x; t.y = past_control[3].y * 2 - past_control[2].y; add_curve_exec(t); } } break; case NOT_CONNECTED: if (object != (OBJECT *) NULL) { if (pt_needed == THIRD_PT) { pt_needed = FIRST_PT; prompt(36); } } break; } } /* end switch_curve_connected_state */ static int fill_style_state = SOLID_FILL; static char *fill_style_text[] = { "SOLID", "HOLLOW" }; /* * init_fill_style_popup * * description: displays popup box and text * * parameters: popup (POPUP *) - fill_style popup */ init_fill_style_popup(popup) POPUP *popup; { char **ln_ptr; int i; ln_ptr = fill_style_text; for (i=0; i<(1 * fill_style_state); i++) ln_ptr++; display_popup(popup,1,ln_ptr); } /* end init_fill_style_popup */ /* * switch_fill_style_state * * description: advances popup state to next state and * redraws popup * * parameters: popup (POPUP *) - fill_style popup * pt (Gpoint) - unused */ switch_fill_style_state(popup,pt) POPUP *popup; Gpoint pt; { switch_popup_state(&fill_style_state,2,1, fill_style_text,popup->extent); } /* end switch_fill_style_state */ /* * get_fill_style * * description: finds current value of fill_style_state * * parameters: none * * returns: (Gflinter) - fill_style_state */ Gflinter get_fill_style() { Gflinter fill_style; switch (fill_style_state) { case SOLID_FILL: fill_style = GSOLID; break; case HOLLOW_FILL: fill_style = GHOLLOW; break; default: fill_style = GSOLID; } return(fill_style); } /* end get_fill_style */ static Gint char_width_state = MEDIUM_WD; static char *char_width_text[] = { "VERY THIN", "THIN", "MEDIUM", "MED-WIDE", "WIDE", "VERY WIDE" }; /* * init_char_width_popup * * description: draws char width popup on screen * * parameters: popup (POPUP *) - char width popup */ init_char_width_popup(popup) POPUP *popup; { char **ln_ptr; int i; ln_ptr = char_width_text; for(i=0; i<(1 * char_width_state); i++) ln_ptr++; display_header_popup(popup,"CHAR WD",ln_ptr,1); } /* end init_char_width popup */ /* * switch_char_width_popup * * description: updates char width * * parameters: popup (POPUP *) - char width popup */ switch_char_width_popup(popup,pt) POPUP *popup; Gpoint pt; { switch_header_popup_state(&char_width_state,6,1,char_width_text, popup->extent); } /* end switch_char_width popup */ /* * get_char_expansion * * description: returns current value of char expansion * * parameters: none * * returns: (Gfloat) - char expansion */ Gfloat get_char_expansion() { return(char_wd_tbl[char_width_state]); } /* end get_char_expansion */ /* * get_char_width * * description: calculates char width * * parameters: ch_ptr (CHAR_OB *) - char info * * returns: (Gfloat) - char width */ Gfloat get_char_width(ch_ptr) CHAR_OB *ch_ptr; { Gpoint bound_rect[4]; Gpoint extent[2]; Gpoint up_vec; up_vec.x = 0.0; up_vec.y = 1.0; get_text_extent(ch_ptr->ch,ch_ptr->center,ch_ptr->fontstyle, ch_ptr->height,ch_ptr->expansion,up_vec,bound_rect); get_extent(bound_rect,4,extent); return((extent[MAX].x - extent[MIN].x)); } /* end get_char_width */ static Gint char_height_state = MEDIUM_HT; static char *char_height_text[] = { "V. SHORT", "SHORT", "MEDIUM", "MED-TALL", "TALL", "VERY TALL" }; /* * init_char_height_popup * * description: draws char height popup on screen * * parameters: popup (POPUP *) - char height popup */ init_char_height_popup(popup) POPUP *popup; { char **ln_ptr; int i; ln_ptr = char_height_text; for (i=0; i<(1 * char_height_state); i++) ln_ptr++; display_header_popup(popup,"CHAR HT",ln_ptr,1); } /* end init_char_height popup */ /* * switch_char_height_popup * * description: updates char height * * parameters: popup (POPUP *) - char height popup */ switch_char_height_popup(popup,pt) POPUP *popup; Gpoint pt; { switch_header_popup_state(&char_height_state,6,1, char_height_text,popup->extent); } /* end switch_char_height popup */ /* * get_char_height * * description: returns current value of char height * * parameters: none * * returns: (Gfloat) - char height */ Gfloat get_char_height() { return(char_ht_tbl[char_height_state]); } /* end get_char_height */ static int font_index = 0; static int stroke_font_tbl_sz = 0; static IDX *stroke_font_tbl = (IDX *) NULL; static char *font_text[] = { "FONT", "STYLE" }; /* * init_font_style_popup * * description: displays popup box and text * * parameters: popup (POPUP *) - font_style popup */ init_font_style_popup(popup) POPUP *popup; { IDX old_font; Gtxprec old_precision; /* if not set up, set up font tbl */ if (stroke_font_tbl_sz == 0) { alloc_stroke_font_tbl(&stroke_font_tbl, &stroke_font_tbl_sz); if (stroke_font_tbl_sz == 0) exit_error("init_font_style_popup",11); } /* display_popup */ get_font(POPUP_TEXT,&old_font,&old_precision); set_font(POPUP_TEXT,stroke_font_tbl[font_index],GSTROKE); display_popup(popup,2,font_text); set_font(POPUP_TEXT,old_font,old_precision); } /* end init_font_style_popup */ /* * switch_font_style_popup * * description: advances popup state to next state and * redraws popup * * parameters: popup (POPUP *) - font_style popup * pt (Gpoint) - unused */ switch_font_style_popup(popup,pt) POPUP *popup; Gpoint pt; { IDX temp_font; Gtxprec temp_precision; push_curr_trans(); activate(POPUP_AREA); set_aspect_flags(GBUNDLED); font_index = (font_index + 1) % stroke_font_tbl_sz; get_font(POPUP_TEXT,&temp_font,&temp_precision); set_font(POPUP_TEXT,stroke_font_tbl[font_index],GSTROKE); display_popup(popup,2,font_text); set_font(POPUP_TEXT,temp_font,temp_precision); set_aspect_flags(GINDIVIDUAL); pop_curr_trans(); } /* end switch_font_style_popup */ /* * get_font_style * * description: finds current value of font_style_state * * parameters: none * * returns: (int) - font_style_state */ get_font_style() { return(stroke_font_tbl[font_index]); } /* end get_font_style */ static int text_path_state = RIGHT_DIR; static char *text_path_text[] = { "RIGHT", "LEFT", "DOWN", "UP" }; /* * init_text_path_popup * * description: displays popup box and text * * parameters: popup (POPUP *) - text_path popup */ init_text_path_popup(popup) POPUP *popup; { char **ln_ptr; int i; ln_ptr = text_path_text; for (i=0; i < text_path_state; i++) ln_ptr++; display_header_popup(popup,"TEXT PATH",ln_ptr,1); } /* end init_text_path_popup */ /* * switch_text_path_popup * * description: advances popup state to next state and * redraws popup * * parameters: popup (POPUP *) - text_path popup * pt (Gpoint) - unused */ switch_text_path_popup(popup,pt) POPUP *popup; Gpoint pt; { switch_header_popup_state(&text_path_state,4,1, text_path_text,popup->extent); } /* end switch_text_path_popup */ /* * get_text_path * * description: finds current value of text_path_state * * parameters: none * * returns: (Gtxpath) - text_path */ Gtxpath get_text_path() { Gtxpath text_path; switch (text_path_state) { case RIGHT_DIR: text_path = GTP_RIGHT; break; case LEFT_DIR: text_path = GTP_LEFT; break; case DOWN_DIR: text_path = GTP_DOWN; break; case UP_DIR: text_path = GTP_UP; break; default: text_path = GTP_RIGHT; } return(text_path); } /* end get_text_path */ static int horz_just_state = CENTER_HORZ; static char *horz_just_text[] = { "CENTER", "LEFT", "RIGHT" }; /* * init_horz_just_popup * * description: displays popup box and text * * parameters: popup (POPUP *) - horz_just popup */ init_horz_just_popup(popup) POPUP *popup; { char **ln_ptr; int i; ln_ptr = horz_just_text; for (i=0; i<(2 * horz_just_state); i++) ln_ptr++; display_header_popup(popup,"HORZ JUST",ln_ptr,1); } /* end init_horz_just_popup */ /* * switch_horz_just_popup * * description: advances popup state to next state and * redraws popup * * parameters: popup (POPUP *) - horz_just popup * pt (Gpoint) - unused */ switch_horz_just_popup(popup,pt) POPUP *popup; Gpoint pt; { switch_header_popup_state(&horz_just_state,3,1,horz_just_text, popup->extent); } /* end switch_horz_just_popup */ /* * get_horz_just * * description: finds current value of horz_just_state * * parameters: none * * returns: (Gtxhor) - horz_just */ Gtxhor get_horz_just() { Gtxhor horz_just; switch (horz_just_state) { case CENTER_HORZ: horz_just = GTH_CENTER; break; case LEFT_JUST_HORZ: horz_just = GTH_LEFT; break; case RIGHT_JUST_HORZ: horz_just = GTH_RIGHT; break; default: horz_just = GTH_LEFT; } return(horz_just); } /* end get_horz_just */ static int vert_just_state = CENTER_VERT; static char *vert_just_text[] = { "TOP", "CENTER", "BOTTOM" }; /* * init_vert_just_popup * * description: displays popup box and text * * parameters: popup (POPUP *) - vert_just popup */ init_vert_just_popup(popup) POPUP *popup; { char **ln_ptr; int i; ln_ptr = vert_just_text; for (i=0; i<(1 * vert_just_state); i++) ln_ptr++; display_header_popup(popup,"VERT JUST",ln_ptr,1); } /* end init_vert_just_popup */ /* * switch_vert_just_popup * * description: advances popup state to next state and * redraws popup * * parameters: popup (POPUP *) - vert_just popup * pt (Gpoint) - unused */ switch_vert_just_popup(popup,pt) POPUP *popup; Gpoint pt; { switch_header_popup_state(&vert_just_state,3,1,vert_just_text, popup->extent); } /* end switch_vert_just_popup */ /* * get_vert_just * * description: finds current value of vert_just_state * * parameters: none * * returns: (Gtxver) - vert_just */ Gtxver get_vert_just() { Gtxver vert_just; switch (vert_just_state) { case CENTER_VERT: vert_just = GTV_HALF; break; case TOP_JUST_VERT: vert_just = GTV_CAP; break; case BOTTOM_JUST_VERT: vert_just = GTV_BASE; break; default: vert_just = GTV_BASE; } return(vert_just); } /* end get_vert_just */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/photo_func.h0000644000175000017500000000216411413611016022577 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ extern int four_by_five(); extern int eight_by_ten(); extern int konica_ft1(); extern int one_to_one(); extern int photo(); xgks-2.6.1+dfsg.2/src/progs/sledsrc/object_tbl.h0000644000175000017500000000347011413611016022543 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ #include "screen_items.h" struct object_func_tbl_entry { KEY key; /* object type key */ int (*draw)(); /* draw routine for object */ int (*erase)(); /* draw routine for object */ int (*detect)(); /* routine to determine if object was selected */ int (*get_extent)(); /* routine which calculates upright rectangular extent for object */ int (*copy)(); /* routine to one object of of type key to another */ int (*rotate)(); /* routine to rotate object */ int (*free)(); /* routine for freeing object structure (such as lineob) */ int (*read)(); /* routine to read in object of type key */ int (*write)(); /* routine to write out object of type key */ }; extern int object_func_tbl_sz; extern struct object_func_tbl_entry object_func_tbl[]; xgks-2.6.1+dfsg.2/src/progs/sledsrc/clr_selector_draw.h0000644000175000017500000000227611413611016024134 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ #include "changes.h" #define CLR_WHEEL_TEXT "clr wheel text key" #define CLR_PICKED_TEXT "clr picked text key" #define MIXER_TEXT "clr mixer text key" #define TUNER_TEXT "fine tuner text key" xgks-2.6.1+dfsg.2/src/progs/sledsrc/func.h0000644000175000017500000000447511413611016021375 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ #include "clr_selector_func.h" #include "add_objects_func.h" #include "edit_picture_func.h" #include "adjust_grid_func.h" #include "photo_func.h" /* screen area functions */ extern int menu_area_exec(); extern int palette_area_exec(); extern int picture_area_exec(); extern int fgdclr_area_exec(); extern int bgdclr_area_exec(); extern int fillclr_area_exec(); extern int popup_area_exec(); extern int display_pri_menu(); extern int display_sec_menu(); extern int display_palette(); extern int display_picture_area(); extern int display_popup_area(); extern int display_fgdclr_area(); extern int display_bgdclr_area(); extern int display_fillclr_area(); extern int display_msg_area(); /* general menu functions */ extern int display_menu_n_popups(); extern int cleanup_menu_n_popups(); extern int cleanup_menu_n_garbage(); extern int display_child_menu(); extern int area_undo(); extern int menu_item_undo(); /* main menu functions */ extern int not_implemented(); extern int quit(); extern int save(); extern int retrieve(); extern int up(); extern int update(); extern int create_pic_file(); /* popup functions */ extern int init_update_popup(); extern int switch_update_state(); extern int init_grid_popup(); extern int switch_grid_state(); extern int init_verbose_popup(); extern int switch_verbose_state(); extern int erase_popup(); xgks-2.6.1+dfsg.2/src/progs/sledsrc/main_menu.c0000644000175000017500000002452611413611016022404 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file includes routines for menu items and popups associated * with main menu: * quit * up * update * retrieve * save * create_pic_file * init_update_popup * switch_update_state * init_verbose_popup * switch_verbose_state * get_verbose_mode * init_grid_popup * switch_grid_state * get_grid_state */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/main_menu.c,v 2.5.4.1 1993/03/10 19:43:21 steve Exp $"; #include #include #include "color.h" #include "defs.h" #include "key.h" #include "ws.h" #include "popup.h" #include "menu.h" #include "trans.h" #include "draw.h" #include "screen_items.h" #include "functbl.h" #include static char *last_file_accessed; extern char *gets(); /* * quit * * description: init-exec routine for menu item QUIT * * parameters: menu_item (MENU_ITEM *) - QUIT menu item */ quit(menu_item) MENU_ITEM *menu_item; /* QUIT menu item */ { signal_done(); prompt(3); currmitem = (MENU_ITEM *) NULL; } /* end quit */ /* * up * * description: replaces sec_menu with parent sec_menu * as long as parent is not primary menu * * parameters: menu_item (MENU_ITEM *) - UP menu item (unused) */ up(menu_item) MENU_ITEM *menu_item; { MENU *pri_menu; MENU *sec_menu; pri_menu = get_menu_from_area(PRI_MENU_AREA); sec_menu = get_menu_from_area(SEC_MENU_AREA); if ((sec_menu->parent != pri_menu) && (sec_menu != (MENU *) NULL)) switch_sec_menu(sec_menu->parent); else reprompt(1); currmitem = (MENU_ITEM *) NULL; } /* end up */ /* * update * * description: updates picture area by redrawing objects on * screen * * parameters: menu_item (MENU_ITEM *) - update menu_item */ update(menu_item) MENU_ITEM *menu_item; { IDX idx; idx = find_screen_tbl_idx(PICT_AREA); if (screen_tbl[idx].is_active == FALSE) { full_prompt(1,2); return; } hilite(menu_item->key); erase_area(PICT_AREA); (*(screen_tbl[idx].draw))(); unhilite(menu_item->key); prompt(2); } /* end update */ /* * create_pic_file * * description: creates PIC description of picture * * parameters: menu_item (MENU_ITEM *) - create pic file * menu item * Not used in this new GKS version. */ create_pic_file(menu_item) MENU_ITEM *menu_item; { /* Gpoint window[4]; Gpoint box[4]; char ln[80],command[100]; IDX idx; */ /* Function currently not in use; all we do now is acknowledge request: */ hilite(menu_item->key); reprompt(0); unhilite(menu_item->key); #ifdef PIC_FILE_IMPLEMENTED /* if picture_area is not active or no objects in picture then don't create pic file */ if (no_objects() == TRUE) { reprompt(40); return; } idx = find_screen_tbl_idx(PICT_AREA); if (screen_tbl[idx].is_active == FALSE) { reprompt(1); return; } hilite(menu_item->key); prompt(41); push_curr_trans(); activate(PICT_AREA); /* draw background and window outline */ set_aspect_flags(GBUNDLED); get_viewport(PICT_AREA,window); set_window(PICT_AREA,window); load_box(box,window[MIN].x,window[MAX].x, window[MIN].y,window[MAX].y); gsetfillind(BGDCLR_SOLID); gfillarea(4,box); gsetfillind(WHITE_HOLLOW); gfillarea(4,box); pop_curr_trans(); gopenws(pic_wsid,hostname,PIC_WS); gactivatews(pic_wsid); set_window(PICT_AREA,window); activate(PICT_AREA); set_aspect_flags(GINDIVIDUAL); /* draw picture */ draw_objects(); gdeactivatews(pic_wsid); gclosews(pic_wsid); pop_curr_trans(); if (get_grid_state() != GRID_OFF) draw_grid(); /* move pic file to user specified file */ printf("enter name of PIC file: "); prompt(35); gets(ln); if (ln[0] != (char) NULL) { strcpy(command,"mv uigks.pic "); strcat(command,ln); system(command); } unhilite(menu_item->key); prompt(2); #endif } /* end create_pic_file */ /* * retrieve * * description: retrieves picture description * * parameters: menu_item (MENU_ITEM *) - retrieve menu_item */ retrieve(menu_item) MENU_ITEM *menu_item; { char ln[80]; hilite(menu_item->key); /* prompt user for filename */ prompt(35); if (last_file_accessed != (char *) NULL) { printf("(hit to retrieve picture description in %s)\n", last_file_accessed); } printf("Enter filename: "); /* if no file has been specified, then return */ (void) gets(ln); if ((ln[0] == (char) NULL) && (last_file_accessed == (char *) NULL)) { unhilite(menu_item->key); return; } /* set last file accessed to specified file */ if (ln[0] != (char) NULL) { if (last_file_accessed != (char *) NULL) free(last_file_accessed); last_file_accessed = (char *) calloc((unsigned) (strlen(ln) + 1), sizeof(char)); (void) strcpy(last_file_accessed,ln); } /* retrieve picture description */ if (read_picture(last_file_accessed)) { erase_area(PICT_AREA); (*(screen_tbl[find_screen_tbl_idx(PICT_AREA)].draw))(); prompt(2); } unhilite(menu_item->key); } /* end retrieve */ /* * save * * description: saves picture description * * parameters: menu_item (MENU_ITEM *) - save menu_item */ save(menu_item) MENU_ITEM *menu_item; { char ln[80]; hilite(menu_item->key); /* prompt user for filename */ prompt(35); if (last_file_accessed != (char *) NULL) { printf("(hit to save picture description in %s)\n", last_file_accessed); } printf("Enter filename: "); /* if no file specfied, return */ (void) gets(ln); if ((ln[0] == (char) NULL) && (last_file_accessed == (char *) NULL)) { unhilite(menu_item->key); return; } /* update last file accessed */ if (ln[0] != (char) NULL) { if (last_file_accessed != (char *) NULL) free(last_file_accessed); last_file_accessed = (char *) calloc((unsigned) (strlen(ln) + 1), sizeof(char)); (void) strcpy(last_file_accessed,ln); } /* save picture description */ if (write_picture(last_file_accessed)) prompt(2); unhilite(menu_item->key); } /* end save */ /* * the following data structures and routines correspond to * the three popups associated with the main menu, namely * the VERBOSE popup, UPDATE popup and SNAP popup */ static Gint update_state = FULL_UPDATE; static char *update_text[] = { "QUICK", "UPDATE", "FULL", "UPDATE", "FINAL", "UPDATE" }; /* * init_update_popup * * description: displays popup box and text * * parameters: popup (POPUP *) - update popup */ init_update_popup(popup) POPUP *popup; { char **ln_ptr; int i; ln_ptr = update_text; for (i=0; i<(2 * update_state); i++) ln_ptr++; display_popup(popup,2,ln_ptr); } /* end init_update_popup */ /* * switch_update_state * * description: advances popup state to next state and * redraws popup * * parameters: popup (POPUP *) - update popup * pt (Gpoint) - unused */ switch_update_state(popup,pt) POPUP *popup; Gpoint pt; { switch_popup_state(&update_state,2,2,update_text,popup->extent); } /* end switch_update_state */ /* * get_update_mode * * description: finds current value of update_state * * parameters: none * * returns: (Gint) - update_state */ get_update_mode() { Gint mode; mode = update_state; return(mode); } /* end get_update_mode */ static Gint verbose_state = VERBOSE_MODE_ON; static char *verbose_text[] = { "VERBOSE", "MODE", "OFF", "VERBOSE", "MODE", "ON" }; /* * init_verbose_popup * * description: displays popup box and text * * parameters: popup (POPUP *) - verbose popup */ init_verbose_popup(popup) POPUP *popup; { char **ln_ptr; int i; ln_ptr = verbose_text; for (i=0; i<(3 * verbose_state); i++) ln_ptr++; display_popup(popup,3,ln_ptr); } /* end init_verbose_popup */ /* * switch_verbose_state * * description: advances popup state to next state and * redraws popup * * parameters: popup (POPUP *) - verbose popup * pt (Gpoint) - unused */ switch_verbose_state(popup,pt) POPUP *popup; Gpoint pt; { switch_popup_state(&verbose_state,2,3,verbose_text, popup->extent); switch (verbose_state) { case VERBOSE_MODE_ON: restore_msg_area(); break; case VERBOSE_MODE_OFF: rm_msg_area(); break; } } /* end switch_verbose_state */ /* * get_verbose_mode * * description: finds current value of verbose_state * * parameters: none * * returns: (Gint) - verbose_state */ get_verbose_mode() { return(verbose_state); } /* end get_verbose_mode */ static Gint grid_state = GRID_OFF; static char *grid_text[] = { "GRID", "OFF", "GRID ON", "SNAP OFF", "GRID ON", "SNAP ON" }; /* * init_grid_popup * * description: displays popup box and text * * parameters: popup (POPUP *) - grid popup */ init_grid_popup(popup) POPUP *popup; { char **ln_ptr; int i; ln_ptr = grid_text; for (i=0; i<(2 * grid_state); i++) ln_ptr++; display_popup(popup,2,ln_ptr); } /* end init_grid_popup */ /* * switch_grid_state * * description: advances popup state to next state and * redraws popup * * parameters: popup (POPUP *) - grid popup * pt (Gpoint) - unused */ switch_grid_state(popup,pt) POPUP *popup; Gpoint pt; { IDX prev_grid_state; prev_grid_state = grid_state; switch_popup_state(&grid_state,3,2,grid_text,popup->extent); if (screen_tbl[find_screen_tbl_idx(PICT_AREA)].is_active) { if (prev_grid_state == GRID_OFF) { draw_grid(); } else if (grid_state == GRID_OFF) { erase_grid(); } } } /* end switch_grid_state */ /* * get_grid_state * * description: returns current value of grid_state * * parameters: none */ get_grid_state() { return(grid_state); } /* end get_grid_state */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/objects_free.c0000644000175000017500000000527411413611016023065 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file includes: * free_comb_ob * free_object * free_line * free_poly * free_text */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/objects_free.c,v 2.5.4.1 1993/03/10 19:43:22 steve Exp $"; #include "objects.h" #include "object_tbl.h" /* * free_comb_ob * * description: frees storage associated with comb_ob * * parameters: comb_ob (COMB_OB *) - combination object */ free_comb_ob(comb_ob) COMB_OB *comb_ob; { OBJECT *object_ptr,*temp; object_ptr = (OBJECT *) comb_ob->child; while (object_ptr != (OBJECT *) NULL) { temp = object_ptr->next; free_object(object_ptr); object_ptr = temp; } free((char *) comb_ob); } /* end free_comb_ob */ /* * free_object * * description: frees storage associated with object * * parameters: (OBJECT *) - object */ free_object(object) OBJECT *object; { (*(object_func_tbl[get_object_func_tbl_idx(object->key)].free)) (object); free((char *) object->key); free((char *) object); } /* end free_object */ /* * free_line * * description: frees all pointers in line object * * parameters: none */ free_line(object) OBJECT *object; { free((char *) object->lineob.pts); } /* end free_line */ /* * free_poly * * description: frees all pointers in poly object * * parameters: none */ free_poly(object) OBJECT *object; { free((char *) object->polyob.pts); } /* end free_poly */ /* * free_text * * description: frees all pointers in text object * * parameters: none */ free_text(object) OBJECT *object; { CHAR_OB *ch_ptr,*temp; ch_ptr = object->textob.str; while (ch_ptr != (CHAR_OB *) NULL) { temp = ch_ptr->next; free((char *) ch_ptr); ch_ptr = temp; } } /* end free_text */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/objects_rotate.c0000644000175000017500000000611511413611016023435 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file includes * rotate_comb_ob * rotate_object * rotate_gen * rotate_text */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/objects_rotate.c,v 2.5.4.1 1993/03/10 19:43:22 steve Exp $"; #include "objects.h" #include "object_tbl.h" #include "screen_items.h" #include /* * rotate_comb_ob * * description: rotates comb-ob about given pt * * parameters: comb_ob (COMB_OB *) - original comb_ob * pt (Gpoint) - pt of rotation * angle (Gfloat) - angle of rotation * */ rotate_comb_ob(comb_ob,pt,angle) COMB_OB *comb_ob; Gpoint pt; Gfloat angle; { OBJECT *object; for (object = comb_ob->child; object != (OBJECT *) NULL; object = object->next) rotate_object(object,pt,angle); } /* end rotate_comb_ob */ /* * rotate_object * * description: rotates single object * * parameters: object (OBJECT *) - object to rotate * pt (Gpoint) - pt to rotate object about * angle (Gfloat) - angle of rotation */ rotate_object(object,pt,angle) OBJECT *object; Gpoint pt; Gfloat angle; { (*(object_func_tbl[get_object_func_tbl_idx(object->key)].rotate)) (object,pt,angle); } /* end rotate_object */ /* * rotate_gen * * description: rotates object other than text object * * parameters: object (OBJECT *) - object to rotate * pt (Gpoint) - pt to rotate object about * angle (Gfloat) - angle of rotation */ rotate_gen(object,pt,angle) OBJECT *object; Gpoint pt; Gfloat angle; { Gfloat trans[6]; s_rot_mat(trans,pt,angle); mat_mult(object->trans,trans,object->trans); } /* end rotate_gen */ /* * rotate_text * * description: rotates textob * * parameters: object (OBJECT *) - text object to rotate * pt (Gpoint) - pt to roate text about * angle (Gfloat) - angle of rotation */ rotate_text(object,pt,angle) OBJECT *object; Gpoint pt; Gfloat angle; { Gfloat trans[6]; Gpoint orig; /* rotate view up vector */ orig.x = 0.0; orig.y = 0.0; s_rot_mat(trans,orig,angle); pt_mult(&(object->textob.up_vec),1,trans); s_rot_mat(trans,pt,angle); mat_mult(object->trans,trans,object->trans); } /* end rotate_text */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/draw_menu.c0000644000175000017500000001773111413611016022415 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file contains: * display_pri_menu * display_sec_menu * display_menu_n_popups * cleanup_menu_n_popups * display_menu * hilite * unhilite */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/draw_menu.c,v 2.5.4.1 1993/03/10 19:43:19 steve Exp $"; #include "color.h" #include "defs.h" #include "key.h" #include "screen_items.h" #include "draw.h" #include "menu.h" #include "trans.h" #include "functbl.h" #include int max_num_menu_entries = 0; /* max num of entries in menu including header */ /* * display_pri_menu * * description: displays menu in pri_menu_area * * parameters: none */ display_pri_menu() { MENU *pri_menu; pri_menu = get_menu_from_area(PRI_MENU_AREA); if (find_trans(PRI_MENU_AREA) == NON_EXISTENT) alloc_trans(PRI_MENU_AREA); if (pri_menu != (MENU *) NULL) display_menu(PRI_MENU_AREA,pri_menu); } /* end display_pri_menu */ /* * display_sec_menu * * description: displays menu in sec_menu_area * * parameters: none */ display_sec_menu() { MENU *sec_menu; sec_menu = get_menu_from_area(SEC_MENU_AREA); if (find_trans(SEC_MENU_AREA) == NON_EXISTENT) alloc_trans(SEC_MENU_AREA); if (sec_menu != (MENU *) NULL) display_menu(SEC_MENU_AREA,sec_menu); } /* end display_sec_menu */ /* * display_menu_n_popups * * description: displays menu as well as popups * and sets pri_menu or sec_menu to menu * * parameters: area (AREA) - PRI_MENU_AREA or SEC_MENU_AREA * menu (MENU *) - menu to display */ display_menu_n_popups(area,menu) AREA area; MENU *menu; { POPUP *tbl_ptr; /* ptr to popup list */ IDX idx; /* popup_func_tbl index */ set_menu(area,menu); display_menu(area,menu); if (menu->poplst != (POPUP *) NULL) { add_to_currpoptbl(menu->poplst); if (screen_tbl[find_screen_tbl_idx(POPUP_AREA)].is_active == TRUE) for (tbl_ptr = menu->poplst; tbl_ptr != (POPUP *) NULL; tbl_ptr = tbl_ptr->next) { idx = find_popup_func_tbl_idx(tbl_ptr->key); (*(popup_func_tbl[idx].init))(tbl_ptr); } } } /* end display_menu_n_popups */ /* * cleanup_menu_n_popups * * description: removes popups from currpoptbl, * sets them to be inactive, * and erases them from screen. * also sets menu ptr (either * pri_menu or sec_menu to NULL. * * parameters: area (AREA) - PRI_MENU_AREA or SEC_MENU_AREA * menu (MENU *) - menu to cleanup */ cleanup_menu_n_popups(area,menu) AREA area; MENU *menu; { POPUP *tbl_ptr; /* ptr to popup list */ IDX idx; /* popup_func_tbl index */ set_menu(area,(MENU *) NULL); rm_from_currpoptbl(menu->poplst); for (tbl_ptr = menu->poplst; tbl_ptr != (POPUP *) NULL; tbl_ptr = tbl_ptr->next) { idx = find_popup_func_tbl_idx(tbl_ptr->key); (*(popup_func_tbl[idx].cleanup))(tbl_ptr); } } /* end cleanup_menu_n_popups */ /* * display_menu * * description: displays a menu * * parameters: area (AREA) - menu area (PRI_MENU_AREA or * SEC_MENU_AREA) * menu_ptr (MENU) - menu to display */ display_menu(area,menu_ptr) AREA area; /* PRI_MENU_AREA or SEC_MENU_AREA */ MENU *menu_ptr; /* menu to display */ { Gpoint window[2]; /* area window */ Gpoint box[4]; /* pts of rectangle */ Gfloat ht; /* ht of menu item */ Gfloat top, bottom; /* ymax and ymin of menu item */ Gpoint center; /* center of menu item */ Gint i; /* erase old menu */ erase_area(area); push_curr_trans(); activate(area); set_aspect_flags(GBUNDLED); get_window(area,window); /* display menu items in white */ ht = (window[MAX].y - window[MIN].y) / max_num_menu_entries; bottom = window[MAX].y; center.x = (window[MIN].x + window[MAX].x) / 2; /* draw menu name in white */ top = bottom; bottom = top - ht; load_box(box,window[MIN].x,window[MAX].x, bottom,top); gsetfillind(WHITE_SOLID); gfillarea(4,box); /* center and display menu item name */ center.y = (bottom + top) / 2; center_text(menu_ptr->nlns, menu_ptr->name,¢er,black, MENU_TEXT); for (i=0; i< menu_ptr->noitems; i++) { /* outline menu item in white */ top = bottom; bottom = top - ht; load_box(box,window[MIN].x,window[MAX].x, bottom,top); gsetfillind(GREY_SOLID); gfillarea(4,box); gsetfillind(WHITE_HOLLOW); gfillarea(4,box); /* center and display menu item name */ center.y = (bottom + top) / 2; center_text(menu_ptr->item[i].nlns, menu_ptr->item[i].name,¢er,white, MENU_TEXT); } set_aspect_flags(GINDIVIDUAL); pop_curr_trans(); } /* end display_menu */ /* * hilite * * description: hilite menu item identified by key * * parameters: key (KEY) - key to menu item */ hilite(key) KEY key; /* key of menu item to hilite */ { MENU *menu; /* pri_menu or sec_menu */ AREA area; /* PRI_MENU_AREA or SEC_MENU_AREA */ Gpoint window[2]; /* booundary of area */ Gpoint box[4]; /* pts of box */ Gpoint center; /* center of menu_item */ Gfloat boxht; /* height of menu item */ Gfloat top; /* top of menu item */ Gint i; /* determine which menu contains menu_item */ /* i will be the index of menu item in menu */ find_menu_item_idx(key,&menu,&i); area = get_area_from_menu(menu); push_curr_trans(); activate(area); set_aspect_flags(GBUNDLED); /* determine boundary of menu item */ get_window(area,window); free(area); boxht = (window[MAX].y - window[MIN].y) / max_num_menu_entries; top = window[MAX].y - (i + 1) * boxht; load_box(box,window[MIN].x,window[MAX].x, (top - boxht),top); gsetfillind(WHITE_SOLID); gfillarea(4,box); center.x = (window[MIN].x + window[MAX].x) / 2; center.y = top - 0.5 * boxht; center_text(menu->item[i].nlns,menu->item[i].name,¢er, black,MENU_TEXT); set_aspect_flags(GINDIVIDUAL); pop_curr_trans(); } /* end hilite */ /* * unhilite * * description: unhilite menu item identified by key * * parameters: key (KEY) - key to menu item */ unhilite(key) KEY key; /* key of menu item to unhilite */ { MENU *menu; /* pri_menu or sec_menu */ AREA area; /* PRI_MENU_AREA or SEC_MENU_AREA */ Gpoint window[2]; /* booundary of area */ Gpoint box[4]; /* pts of box */ Gpoint center; /* center of menu_item */ Gfloat boxht; /* height of menu item */ Gfloat top; /* top of menu item */ Gint i; /* determine which menu contains menu_item */ /* i will be the index of menu item in menu */ find_menu_item_idx(key,&menu,&i); area = get_area_from_menu(menu); push_curr_trans(); activate(area); set_aspect_flags(GBUNDLED); /* determine boundary of menu item */ get_window(area,window); free(area); boxht = (window[MAX].y - window[MIN].y) / max_num_menu_entries; top = window[MAX].y - (i + 1) * boxht; load_box(box,window[MIN].x,window[MAX].x, (top - boxht),top); gsetfillind(GREY_SOLID); gfillarea(4,box); gsetfillind(WHITE_HOLLOW); gfillarea(4,box); center.x = (window[MIN].x + window[MAX].x) / 2; center.y = top - 0.5 * boxht; center_text(menu->item[i].nlns,menu->item[i].name,¢er, white,MENU_TEXT); set_aspect_flags(GINDIVIDUAL); pop_curr_trans(); } /* end unhilite */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/object_list.c0000644000175000017500000002423011413611016022725 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file includes: * alloc_comb_ob * alloc_single_ob * add_to_comb_ob * enq_comb_ob * enq_after * deq_comb_ob * redraw_objects * get_last_object * update_trans * collect_garbage * cleanup_menu_n_garbage * no_objects * get_object_list */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/object_list.c,v 2.5.4.1 1993/03/10 19:43:21 steve Exp $"; #include "defs.h" #include "draw.h" #include "popup.h" #include "trans.h" #include "key.h" #include "objects.h" #include "object_tbl.h" #include "screen_items.h" #include extern char *calloc(); COMB_OB *head = (COMB_OB *) NULL; COMB_OB *tail = (COMB_OB *) NULL; /* * alloc_comb_ob * * description: allocates and intializes COMB_OB * * parameters: none * * returns: comb_ob (COMB_OB *) */ COMB_OB * alloc_comb_ob() { COMB_OB *comb_ob; comb_ob = (COMB_OB *) calloc(1,sizeof(COMB_OB)); comb_ob->visibility = GVISIBLE; comb_ob->child = (OBJECT *) NULL; comb_ob->prev = (COMB_OB *) NULL; comb_ob->next = (COMB_OB *) NULL; return(comb_ob); } /* end alloc_comb_ob */ /* * alloc_single_ob * * description: allocates and intializes OBJECT * * parameters: key (KEY) - object type * * returns: single_ob (OBJECT *) */ OBJECT * alloc_single_ob(key) KEY key; { OBJECT *single_ob; single_ob = (OBJECT *) calloc(1,sizeof(OBJECT)); single_ob->key = (char *) calloc((unsigned) (strlen(key) + 1), sizeof(char)); (void) strcpy(single_ob->key,key); single_ob->visibility = GVISIBLE; ident(single_ob->trans); single_ob->parent = (COMB_OB *) NULL; single_ob->next = (OBJECT *) NULL; return(single_ob); } /* end alloc_single_ob */ /* * add_to_comb_ob * * description: adds list of simple objects * to combination_object at either head or tail * of list * * parameters: comb_ob (COMB_OB *) - combination object * object_list (OBJECT *) - linked list of simple * objects * end (ENUM) - which end of current list * (HEAD or TAIL) to add new list to */ add_to_comb_ob(comb_ob,object_list,end) COMB_OB *comb_ob; /* combination object */ OBJECT *object_list; /* list of simple objects */ int end; /* HEAD or TAIL */ { OBJECT *temp_ob; OBJECT *end_of_list; if (object_list == (OBJECT *) NULL) return; if ((comb_ob->child == (OBJECT *) NULL) || (end == HEAD)) { temp_ob = comb_ob->child; comb_ob->child = object_list; /* find end of object_list */ for (end_of_list = object_list; end_of_list->next != (OBJECT *) NULL; end_of_list = end_of_list->next); end_of_list->next = temp_ob; } else /* end == TAIL */ { /* find end of list of simple objects already in comb_ob */ for (end_of_list = comb_ob->child; end_of_list->next != (OBJECT *) NULL; end_of_list = end_of_list->next); end_of_list->next = object_list; } } /* end add_to_comb_ob */ /* * enq_comb_ob * * description: enques comb_ob at tail of priority list * (i.e. highest prio => displayed last) * * parameters: comb_ob (COMB_OB) - combination object to enq */ enq_comb_ob(comb_ob) COMB_OB *comb_ob; { comb_ob->prev = tail; comb_ob->next = (COMB_OB *) NULL; if (tail == (COMB_OB *) NULL) head = comb_ob; else tail->next = comb_ob; tail = comb_ob; } /* end enq_comb_ob */ /* * enq_after * * description: enques comb_ob after specified comb_ob * (i.e. highest prio => displayed last) * * parameters: comb_ob (COMB_OB *) - combination object to enq * prev_comb_ob (COMB_OB *) - comb ob to enq after */ enq_after(comb_ob,prev_comb_ob) COMB_OB *comb_ob; COMB_OB *prev_comb_ob; { if (tail == prev_comb_ob) tail = comb_ob; else prev_comb_ob->next->prev = comb_ob; comb_ob->next = prev_comb_ob->next; comb_ob->prev = prev_comb_ob; prev_comb_ob->next = comb_ob; } /* end enq_after */ /* * deq_comb_ob * * description: deques comb_ob from priority list * * parameters: comb_ob (COMB_OB) - combination object to deq */ deq_comb_ob(comb_ob) COMB_OB *comb_ob; { if (head == comb_ob) head = comb_ob->next; if (tail == comb_ob) tail = comb_ob->prev; if (comb_ob->prev != (COMB_OB *) NULL) comb_ob->prev->next = comb_ob->next; if (comb_ob->next != (COMB_OB *) NULL) comb_ob->next->prev = comb_ob->prev; comb_ob->prev = (COMB_OB *) NULL; comb_ob->next = (COMB_OB *) NULL; } /* end deq_comb_ob */ /* * redraw_objects * * description: redraws objects on screen in proper order * * parameters: none */ redraw_objects() { Gpoint window[4]; Gpoint box[4]; push_curr_trans(); activate(PICT_AREA); set_aspect_flags(GBUNDLED); get_viewport(PICT_AREA,window); set_window(PICT_AREA,window); load_box(box,window[MIN].x,window[MAX].x, window[MIN].y,window[MAX].y); gsetfillind(WHITE_HOLLOW); gfillarea(4,box); set_aspect_flags(GINDIVIDUAL); draw_objects(); pop_curr_trans(); if (get_grid_state() != GRID_OFF) draw_grid(); } /* end redraw_objects */ /* * draw_objects * * descritpion: traces through list and draws each object * does not set transformations or flags * * parameters: none */ draw_objects() { COMB_OB *comb_ob_ptr; for (comb_ob_ptr = head; comb_ob_ptr != (COMB_OB *) NULL; comb_ob_ptr = comb_ob_ptr->next) { if (comb_ob_ptr->visibility == GVISIBLE) draw_comb_ob(comb_ob_ptr); } } /* end draw_objects */ /* * get_last_object * * description: returns last single object in list, if any * * parameters: none */ OBJECT * get_last_object() { OBJECT *object; if (tail == (COMB_OB *) NULL) object = (OBJECT *) NULL; else if (tail->child == (OBJECT *) NULL) object = (OBJECT *) NULL; else { for (object = tail->child; object->next != (OBJECT *) NULL; object = object->next); } return(object); } /* * update_trans * * description: updates transformations of all * objects in comb_ob * * parameters: comb_ob (COMB_OB *) - combination object * to transform * trans (Gfloat *) - transformation matrix */ update_trans(comb_ob,trans) COMB_OB *comb_ob; Gfloat *trans; { OBJECT *object_ptr; for (object_ptr = comb_ob->child; object_ptr != (OBJECT *) NULL; object_ptr = object_ptr->next) { mat_mult(object_ptr->trans,trans,object_ptr->trans); } } /* end update_trans */ /* * collect_garbage * * description: eliminates invisible comb_obs and objects * * parameters: none */ collect_garbage() { COMB_OB *comb_ob; COMB_OB *temp_comb_ob; OBJECT *object; OBJECT *prev; OBJECT *temp_object; comb_ob = head; while (comb_ob != (COMB_OB *) NULL) { /* delete comb_ob if invisible */ if (comb_ob->visibility == GINVISIBLE) { temp_comb_ob = comb_ob->next; deq_comb_ob(comb_ob); free_comb_ob(comb_ob); comb_ob = temp_comb_ob; } else /* check if parts of comb_ob are invisible */ { prev = (OBJECT *) NULL; object = comb_ob->child; while (object != (OBJECT *) NULL) { if (object->visibility == GINVISIBLE) { if (object == comb_ob->child) { comb_ob->child = object->next; } else { prev->next = object->next; } temp_object = object->next; free_object(object); object = temp_object; } else { prev = object; object = object->next; } } /* if all parts of comb_ob were invisible, then delete comb_ob too */ if (comb_ob->child == (OBJECT *) NULL) { temp_comb_ob = comb_ob->next; deq_comb_ob(comb_ob); free_comb_ob(comb_ob); comb_ob = temp_comb_ob; } else comb_ob = comb_ob->next; } /* end search for inivisible objects */ } } /* end collect_garbage */ /* * cleanup_menu_n_garbage * * description: cleans up menu, popups and removes invisible * elements from linked list * * parameters: area (AREA) - menu area * menu (MENU *) - ptr to menu to cleanup */ cleanup_menu_n_garbage(area,menu) AREA area; MENU *menu; { collect_garbage(); cleanup_menu_n_popups(area,menu); } /* end cleanup_menu_n_garbage */ /* * no_objects * * description: tests if linked list is empty * (may not be accurate if list has not been * garbage collected) * * parameters: none * * returns: (BOOLEAN) - true if list is empty * false, otherwise */ no_objects() { return(((head == (COMB_OB *) NULL) ? TRUE : FALSE)); } /* end no_objects */ /* * get_object_list * * description: creates list of all objects completely * within extent * * parameters: extent (Gpoint *) - extent to test objects against * * returns: list (COMB_OB_PTR *) - list of objects */ COMB_OB_PTR * get_object_list(extent) Gpoint *extent; { COMB_OB_PTR *list; COMB_OB_PTR *comb_ob_ptr; COMB_OB *comb_ob; OBJECT *object; list = (COMB_OB_PTR *) NULL; for (comb_ob = tail; comb_ob != (COMB_OB *) NULL; comb_ob = comb_ob->prev) { if (comb_ob->visibility == GINVISIBLE) continue; for (object = comb_ob->child; object != (OBJECT *) NULL; object = object->next) { if (object->visibility == GINVISIBLE) continue; if (is_object_inbounds(object,extent) == TRUE) { comb_ob_ptr = (COMB_OB_PTR *) calloc((unsigned) 1, sizeof(COMB_OB_PTR)); comb_ob_ptr->object = object; comb_ob_ptr->comb_ob = comb_ob; comb_ob_ptr->next = list; list = comb_ob_ptr; } } /* end object traversal */ } /* end comb_ob traversal */ return(list); } /* end get_object_list */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/ws.h0000644000175000017500000000217211413611016021063 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ #include "changes.h" extern WSID ws_id; extern WSID pic_wsid; extern WSTYPE ws_type; extern char *hostname; #define PIC_WS 85 xgks-2.6.1+dfsg.2/src/progs/sledsrc/picture.c0000644000175000017500000000372011413611016022100 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file includes: * display_picture_area */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/picture.c,v 2.5.4.1 1993/03/10 19:43:23 steve Exp $"; #include "key.h" #include "draw.h" #include "trans.h" #include /* * display_picture_area * * description: displays picture_area * * parameters: none */ display_picture_area() { Gpoint window[2]; /* picture area window */ Gpoint box[4]; /* pts of window */ /* draw screen area */ push_curr_trans(); if (find_trans(PICT_AREA) == NON_EXISTENT) alloc_trans(PICT_AREA); activate(PICT_AREA); set_aspect_flags(GBUNDLED); get_viewport(PICT_AREA,window); set_window(PICT_AREA,window); load_box(box,window[MIN].x,window[MAX].x, window[MIN].y,window[MAX].y); gsetfillind(BGDCLR_SOLID); gfillarea(4,box); gsetfillind(WHITE_HOLLOW); gfillarea(4,box); set_aspect_flags(GINDIVIDUAL); /* redraw objects */ redraw_objects(); pop_curr_trans(); } /* end display_picture_area */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/dummies.c0000644000175000017500000000427311413611016022074 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * This file includes: * init_locator * req_locator * in_bounds_delta */ #include "trans.h" /* Defines MIN,MAX and includes */ #include "changes.h" init_locator(id,dev,pos,ntrans,prompt,xmin,xmax,ymin,ymax) /* ,locdata) */ WSID id; int dev; Gpoint *pos; IDX ntrans; int prompt; Gfloat xmin,xmax,ymin,ymax; { Gloc init; Glimit area; Glocrec data; init.position.x = pos->x; init.position.y = pos->y; init.transform = ntrans; area.xmin = xmin; area.xmax = xmax; area.ymin = ymin; area.ymax = ymax; data.pet3.data = NULL; ginitloc(id,dev,&init,prompt,&area,&data); } req_locator(id,dev,status,ntrans,pos) WSID id; int dev; Gistat *status; IDX *ntrans; Gpoint *pos; { Gqloc response; greqloc(id,dev,&response); *status = response.status; *ntrans = response.loc.transform; pos->x = response.loc.position.x; pos->y = response.loc.position.y; } BOOLEAN in_bounds_delta(ext,point,delt) Gpoint *ext; Gpoint point; Gfloat delt; { if (((ext[MIN].x - delt) <= point.x) && ((ext[MIN].y - delt) <= point.y) && ((ext[MAX].x + delt) >= point.x) && ((ext[MAX].y + delt) >= point.y)) return(TRUE); else return(FALSE); } xgks-2.6.1+dfsg.2/src/progs/sledsrc/photodummy.c0000644000175000017500000000311611413611016022631 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * photodummy.c gives dummy definitions of the functions in photo.c when * they are not to be used - that is, when the photograph features are not * implemented. * * These functions are: * photo * four_by_five * eight_by_ten * konica_ft1 * one_to_one */ #include "screen_items.h" photo(menu_item) MENU_ITEM *menu_item; { hilite(menu_item->key); reprompt(0); unhilite(menu_item->key); } four_by_five(menu_item) MENU_ITEM *menu_item; { } eight_by_ten(menu_item) MENU_ITEM *menu_item; { } konica_ft1(menu_item) MENU_ITEM *menu_item; { } one_to_one(menu_item) MENU_ITEM *menu_item; { } xgks-2.6.1+dfsg.2/src/progs/sledsrc/CVS/0000755000175000017500000000000011413611016020712 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/progs/sledsrc/CVS/Entries0000644000175000017500000000735711413611016022262 0ustar amckinstryamckinstry/GKS_LINT.c/2.5.4.1/Wed Mar 10 19:43:18 1993// /Imakefile/2.5.4.1/Wed Mar 10 19:43:28 1993// /Makefile/2.5.4.1/Wed Mar 10 19:43:28 1993// /README/2.5.4.1/Wed Mar 10 19:43:18 1993// /Shapefile/2.5.4.1/Wed Mar 10 19:43:28 1993// /add_objects.c/2.5.4.1/Wed Mar 10 19:43:18 1993// /add_objects.h/2.5.4.1/Wed Mar 10 19:43:24 1993// /add_objects_func.h/2.5.4.1/Wed Mar 10 19:43:24 1993// /add_objects_subs.c/2.5.4.1/Wed Mar 10 19:43:19 1993// /adjust_grid_func.h/2.5.4.1/Wed Mar 10 19:43:24 1993// /attributes.c/2.5.4.1/Wed Mar 10 19:43:19 1993// /attributes.h/2.5.4.1/Wed Mar 10 19:43:24 1993// /changes.h/2.5.4.1/Wed Mar 10 19:43:24 1993// /clr_selector.h/2.5.4.1/Wed Mar 10 19:43:24 1993// /clr_selector_draw.c/2.5.4.1/Wed Mar 10 19:43:19 1993// /clr_selector_draw.h/2.5.4.1/Wed Mar 10 19:43:25 1993// /clr_selector_exec.c/2.5.4.1/Wed Mar 10 19:43:19 1993// /clr_selector_func.h/2.5.4.1/Wed Mar 10 19:43:25 1993// /clr_selector_key.h/2.5.4.1/Wed Mar 10 19:43:25 1993// /color.c/2.5.4.1/Wed Mar 10 19:43:18 1993// /color.h/2.5.4.1/Wed Mar 10 19:43:25 1993// /conversions.c/2.5.4.1/Wed Mar 10 19:43:19 1993// /conversions.h/2.5.4.1/Wed Mar 10 19:43:25 1993// /defs.h/2.5.4.1/Wed Mar 10 19:43:25 1993// /deps/2.5.4.1/Wed Mar 10 19:43:28 1993// /dist.mk/2.5.4.1/Wed Mar 10 19:43:18 1993// /draw.c/2.5.4.1/Wed Mar 10 19:43:19 1993// /draw.h/2.5.4.1/Wed Mar 10 19:43:25 1993// /draw_menu.c/2.5.4.1/Wed Mar 10 19:43:19 1993// /draw_palette.c/2.5.4.1/Wed Mar 10 19:43:20 1993// /dummies.c/2.5.4.1/Wed Mar 10 19:43:20 1993// /edit_picture.c/2.5.4.1/Wed Mar 10 19:43:20 1993// /edit_picture_func.h/2.5.4.1/Wed Mar 10 19:43:25 1993// /error.c/2.5.4.1/Wed Mar 10 19:43:20 1993// /func.h/2.5.4.1/Wed Mar 10 19:43:25 1993// /functbl.c/2.5.4.1/Wed Mar 10 19:43:20 1993// /functbl.h/2.5.4.1/Wed Mar 10 19:43:26 1993// /grid.c/2.5.4.1/Wed Mar 10 19:43:20 1993// /init_tbls.c/2.5.4.1/Wed Mar 10 19:43:20 1993// /input.c/2.5.4.1/Wed Mar 10 19:43:21 1993// /io.c/2.5.4.1/Wed Mar 10 19:43:21 1993// /io.h/2.5.4.1/Wed Mar 10 19:43:26 1993// /key.h/2.5.4.1/Wed Mar 10 19:43:26 1993// /main.c/2.5.4.1/Wed Mar 10 19:43:21 1993// /main_menu.c/2.5.4.1/Wed Mar 10 19:43:21 1993// /makefile.shape/2.5.4.1/Wed Mar 10 19:43:28 1993// /menu.c/2.5.4.1/Wed Mar 10 19:43:21 1993// /menu.h/2.5.4.1/Wed Mar 10 19:43:26 1993// /object_defs.h/2.5.4.1/Wed Mar 10 19:43:26 1993// /object_list.c/2.5.4.1/Wed Mar 10 19:43:21 1993// /object_list.h/2.5.4.1/Wed Mar 10 19:43:26 1993// /object_tbl.c/2.5.4.1/Wed Mar 10 19:43:21 1993// /object_tbl.h/2.5.4.1/Wed Mar 10 19:43:27 1993// /objects.h/2.5.4.1/Wed Mar 10 19:43:27 1993// /objects_copy.c/2.5.4.1/Wed Mar 10 19:43:22 1993// /objects_detect.c/2.5.4.1/Wed Mar 10 19:43:22 1993// /objects_draw.c/2.5.4.1/Wed Mar 10 19:43:22 1993// /objects_free.c/2.5.4.1/Wed Mar 10 19:43:22 1993// /objects_func.h/2.5.4.1/Wed Mar 10 19:43:27 1993// /objects_rotate.c/2.5.4.1/Wed Mar 10 19:43:22 1993// /palette.c/2.5.4.1/Wed Mar 10 19:43:22 1993// /palette.h/2.5.4.1/Wed Mar 10 19:43:27 1993// /photo.c/2.5.4.1/Wed Mar 10 19:43:22 1993// /photo_func.h/2.5.4.1/Wed Mar 10 19:43:27 1993// /photodummy.c/2.5.4.1/Wed Mar 10 19:43:22 1993// /picture.c/2.5.4.1/Wed Mar 10 19:43:23 1993// /popup.c/2.5.4.1/Wed Mar 10 19:43:23 1993// /popup.h/2.5.4.1/Wed Mar 10 19:43:27 1993// /prompt.c/2.5.4.1/Wed Mar 10 19:43:23 1993// /read_input.c/2.5.4.1/Wed Mar 10 19:43:23 1993// /read_menu.c/2.5.4.1/Wed Mar 10 19:43:23 1993// /screen_items.c/2.5.4.1/Wed Mar 10 19:43:23 1993// /screen_items.h/2.5.4.1/Wed Mar 10 19:43:27 1993// /sledvers.c/2.5.4.1/Wed Mar 10 19:43:28 1993// /trans.c/2.5.4.1/Wed Mar 10 19:43:23 1993// /trans.h/2.5.4.1/Wed Mar 10 19:43:27 1993// /trans_subs.c/2.5.4.1/Wed Mar 10 19:43:24 1993// /undo.c/2.5.4.1/Wed Mar 10 19:43:24 1993// /write_output.c/2.5.4.1/Wed Mar 10 19:43:24 1993// /ws.h/2.5.4.1/Wed Mar 10 19:43:27 1993// D xgks-2.6.1+dfsg.2/src/progs/sledsrc/CVS/Repository0000644000175000017500000000002311413611016023007 0ustar amckinstryamckinstryxgks/progs/sledsrc xgks-2.6.1+dfsg.2/src/progs/sledsrc/CVS/Root0000644000175000017500000000006111413611016021555 0ustar amckinstryamckinstry:pserver:anonymous@cvs.XGKS.sf.net:/cvsroot/xgks xgks-2.6.1+dfsg.2/src/progs/sledsrc/attributes.c0000644000175000017500000001007611413611016022615 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * This file contains: New xGKS commands: * get_cur_primitive_attributes replaced by: ginqprimattr * get_cur_individual_attributes " " : ginqindivattr * get_max_length_ws_tables " " : ginqmaxwssttables * get_pline_fac " " : ginqlinefacil * get_text_fac " " : ginqtextfacil */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/attributes.c,v 2.5.4.1 1993/03/10 19:43:19 steve Exp $"; #include "attributes.h" #include "ws.h" /* * get_cur_primitive_attributes * * description: returns list of current primitive attr values * * parameters: attr (struct prim_attr_val *) - struct to hold * list of attributes */ get_cur_primitive_attributes(attr) struct prim_attr_val *attr; { i_cur_primitive_attributes(&(attr->error),&(attr->pline_idx), &(attr->pmark_idx),&(attr->text_idx), &(attr->char_height),&(attr->char_up), &(attr->text_path),&(attr->text_align_horz), &(attr->text_align_vert),&(attr->fill_idx), &(attr->pattern_size), &(attr->pattern_ref_pt), &(attr->pickid)); } /* end get_cur_primitive_attributes */ /* * get_cur_individual_attributes * * description: returns list of current inidividual attr values * * parameters: attr (struct indiv_attr_val *) - struct to hold * list of attributes */ get_cur_individual_attributes(attr) struct indiv_attr_val *attr; { i_cur_individual_attributes(&(attr->error),&(attr->pline_type), &(attr->pline_width),&(attr->pline_color), &(attr->pmark_type),&(attr->pmark_size), &(attr->pmark_color),&(attr->text_font), &(attr->text_precision),&(attr->text_expansion), &(attr->text_spacing),&(attr->text_color), &(attr->fill_style),&(attr->fill_style_idx), &(attr->fill_color),attr->aspect_flags); } /* end get_cur_individual_attributes */ /* * get_max_length_ws_tables * * description: returns list of workstation table sizes * * parameters: attr (struct state_tbl_sz *) - struct to hold * list of table sizes */ get_max_length_ws_tables(tbl_sz) struct state_tbl_sz *tbl_sz; { Gint error; i_max_length_ws_tables(ws_type,&error,&(tbl_sz->pline), &(tbl_sz->pmark),&(tbl_sz->text), &(tbl_sz->fill),&(tbl_sz->pattern), &(tbl_sz->color)); } /* end get_max_length_ws_tables */ /* * get_pline_fac * * description: inquires about polyline attributes * * parameters: attr (struct pline_fac_val *) - structure * to hold info on line facilities */ get_pline_fac(attr) struct pline_fac_val *attr; { Gint error; i_pline_fac(ws_type,&error,&(attr->ntypes), &(attr->list),&(attr->nwidths),&(attr->nom_width), &(attr->min_width),&(attr->max_width),&(attr->npredef)); } /* end get_pline_fac */ /* * get_text_fac * * description: inquires about text attributes * * parameters: attr (struct pline_fac_val *) - structure * to hold info on text facilities */ get_text_fac(attr) struct text_fac_val *attr; { Gint error; i_text_fac(ws_type,&error,&(attr->nfonts), &(attr->fontpairs), &(attr->nheights), &(attr->min_height), &(attr->max_height), &(attr->nexpansion), &(attr->min_expansion), &(attr->max_expansion), &(attr->npredef)); } /* end get_text_fac */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/draw.c0000644000175000017500000002562311413611016021370 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file contains: * get_font * set_font * get_text_bndl_tbl_idx * set_aspect_flags * load_box * center_text * curve * circle * conic * draw_conic * set_free_fill_rep */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/draw.c,v 2.5.4.1 1993/03/10 19:43:19 steve Exp $"; #include "screen_items.h" #include "color.h" #include "draw.h" #include "ws.h" #include "trans.h" #include "defs.h" #include "math.h" #include TEXT_BNDL *text_bndl_tbl; /* * get_font * * description: finds font corresponding to text bundle * table entry associated with key * * parameters: key (KEY) - key to text bundle table entry * font (IDX *) - ptr to font (return value) * precision (Gtxprec*) - ptr to precision * (return value) */ get_font(key,font,precision) KEY key; IDX *font; Gtxprec *precision; { IDX idx; Gtxbundl text_bundle; idx = get_text_bndl_tbl_idx(key); ginqtextrep(ws_id,text_bndl_tbl[idx].idx,GSET,&text_bundle); *font = text_bundle.fp.font; *precision = text_bundle.fp.prec; } /* end get_font */ /* * set_font * * description: sets font corresponding to text bundle * table entry associated with key * * parameters: key (KEY) - key to text bundle table entry * font (IDX) - font style index * precision (Gtxprec) - font precision */ set_font(key,font,precision) KEY key; IDX font; Gtxprec precision; { IDX idx; Gtxbundl text_bundle; idx = get_text_bndl_tbl_idx(key); ginqtextrep(ws_id,text_bndl_tbl[idx].idx,GSET,&text_bundle); text_bundle.fp.font = font; text_bundle.fp.prec = precision; gsettextrep(ws_id,text_bndl_tbl[idx].idx,&text_bundle); } /* end set_font */ /* * get_text_bndl_tbl_idx * * description: finds index in text_bndl tbl corresonding * to key * * parameters: key (KEY) - key corresponding to bndl tbl index */ get_text_bndl_tbl_idx(key) KEY key; /* key corresponding to index */ { IDX idx; /* text_bndl_tbl index */ idx = 0; while (!eq(text_bndl_tbl[idx].key,key)) { idx++; } return(idx); }; /* end get_text_bndl_tbl_idx */ /* * set_aspect_flags * * description: set all aspect flags to same setting * * parameters: setting (Gasf) - GINDIVIDUAL | GBUNDLED */ /* set_aspect_flags(setting) Old GKS version ENUM setting; { ENUM flags[13]; int i; for (i=0; i<13; i++) flags[i] = setting; s_aspect_flags(flags); } */ set_aspect_flags(setting) /* New GKS version. */ Gasf setting; { Gasfs newfs; newfs.ln_type = setting; newfs.ln_width = setting; newfs.ln_color = setting; newfs.mk_type = setting; newfs.mk_size = setting; newfs.mk_color = setting; newfs.tx_fp = setting; newfs.tx_exp = setting; newfs.tx_space = setting; newfs.tx_color = setting; newfs.fl_inter = setting; newfs.fl_style = setting; newfs.fl_color = setting; gsetasf(&newfs); } /* end set_aspect_flags */ /* * load_box * * description: loads box array with pts to display rectangle * * parameters: box (Gpoint * or NDCPT *) - rectangle * xmin,xmax,ymin,ymax (Gpoint) - rectangle * boundary */ load_box(box,xmin,xmax,ymin,ymax) Gpoint *box; /* array of pts to be filled */ Gfloat xmin,xmax,ymin,ymax; /* could also be NDCPT */ { box[0].x = xmin; box[0].y = ymin; box[1].x = xmax; box[1].y = ymin; box[2].x = xmax; box[2].y = ymax; box[3].x = xmin; box[3].y = ymax; } /* end load_box */ /* * center_text * * description: draws multiple lines of text * centered about a point * * parameters: nolines (int) - no of text lines * lines (char **) - lines of text * center (Gpoint *) - center pt * key (KEY) - text bundle table key */ center_text(nolines,lines,center,clrno,key) int nolines; /* no of lines to display */ char **lines; /* array of lines */ Gpoint *center; /* center pt */ IDX clrno; /* text color */ KEY key; /* text bundle table key */ { IDX idx; /* text bundle tbl index containing key */ Gtxalign align; /* text alignment */ Gpoint up_vector; /* up direction for text */ Gpriattr attr; Gpoint ln_center; /* center pt for curr line */ Gtxbundl text_bundle; /* bundle tbl entry for idx */ Gfloat vert_spacing; int i; /* find index corresponding to key */ idx = get_text_bndl_tbl_idx(key); /* since not all text parameters are bundled, the ones that aren't must be saved and restored */ ginqprimattr(&attr); /* set text parameters */ align.hor = GTH_CENTER; align.ver = GTV_HALF; gsettextalign(&align); up_vector.x = 0.0; up_vector.y = 1.0; gsetcharup(&up_vector); gsettextpath(GTP_RIGHT); gsetcharheight(text_bndl_tbl[idx].char_ht); /* set text color */ ginqtextrep(ws_id,text_bndl_tbl[idx].idx,GSET,&text_bundle); text_bundle.color = clrno; gsettextrep(ws_id,text_bndl_tbl[idx].idx,&text_bundle); gsettextind(text_bndl_tbl[idx].idx); /* display text */ vert_spacing = text_bndl_tbl[idx].char_ht * (3.0 / 5.0); ln_center.x = center->x; ln_center.y = center->y + (nolines - 1) / 2.0 * (text_bndl_tbl[idx].char_ht + vert_spacing); /* printf("ht = %f, expansion = %f, spacing = %f\n", text_bndl_tbl[idx].char_ht, text_bundle.exp, text_bundle.space); */ for (i=0; i #include #include #include "key.h" #include "screen_items.h" #include "functbl.h" #include "ws.h" char *hostname; WSTYPE ws_type; WSID ws_id = 1; /* ws id no */ WSID pic_wsid = 2; /* pic ws id no */ extern int redraw_all(); /* * main */ main(argc,argv) int argc; char *argv[]; { BOOLEAN picture_read; extern char *calloc(); Gpoint pt; /* get ws_type */ ws_type = argv[1]; hostname = argv[1]; /* initialize graphics package */ init_gks(); /* initialize all variables, colors and tables */ init_screen_clrs(); /* read in picture description from external file if one was specified, otherwise read in standard palette colors */ /* It seems this feature is not implemented right now... */ adjust_screen_tbl_viewports(); init_trans_tbls(); picture_read = FALSE; if (picture_read == FALSE) init_palette_clrs("palette_clrs"); init_clr_area_clrs(); init_grid(); init_clr_selector_clrs(); init_bundle_tbls(); /* rig to get text to show up with new server */ set_font("popup text key",1,GSTROKE); gsettextind(5); pt.x = 10000.0; pt.y = 10000.0; gtext(&pt,"text"); set_font("popup text key",2,GSTROKE); /* draw initial screen area */ draw_screen_background(); (*(screen_tbl[find_screen_tbl_idx(PAL_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(FGDCLR_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(BGDCLR_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(FILLCLR_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(POPUP_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(PICT_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(MSG_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(PRI_MENU_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(SEC_MENU_AREA)].draw))(); /* read in menu hierarchy */ read_menu_file("menu"); /* initialize locator */ initialize_locator(); /* all set to go */ manage_input(); /* close down */ close_down_gks(); exit(0); } /* end main */ /* * init_gks * * description: initalizes gks, activates workstation, * sets clipping indicator, and sets deferral * mode to SURPRESSED. * * parameters: none */ init_gks() { Gfloat xmax_dc,ymax_dc; Glimit win_lim,view_lim; /* initialize ws */ gopengks(stderr,0); gopenws(ws_id,hostname,ws_type); gactivatews(ws_id); set_aspect_flags(GBUNDLED); /* set up workstation transformation */ get_max_dc_coor(&xmax_dc,&ymax_dc); if (xmax_dc > ymax_dc) { win_lim.xmin = 0.0; win_lim.xmax = 1.0; win_lim.ymin = 0.0; win_lim.ymax = (ymax_dc/xmax_dc); gsetwswindow(ws_id,&win_lim); } else { win_lim.xmin = 0.0; win_lim.xmax = (xmax_dc/ymax_dc); win_lim.ymin = 0.0; win_lim.ymax = 1.0; gsetwswindow(ws_id,&win_lim); } view_lim.xmin = 0.0; view_lim.xmax = xmax_dc; view_lim.ymin = 0.0; view_lim.ymax = ymax_dc; gsetwsviewport(ws_id,&view_lim); /* turn off automatic redraw */ gsetdeferst(ws_id,GASAP,GALLOWED); gsetclip(GCLIP); /* Set up escape features for redrawing window: */ gescstoreprimi(ws_id,GNO); gescredrawnotify(ws_id,redraw_all); } /* end init_gks */ /* * close_down_gks * * description: shuts down workstation and gks * * parameters: none */ close_down_gks() { gdeactivatews(ws_id); gclosews(ws_id); gclosegks(); } /* end close_gks */ /* * redraw_all * * Redraws all the menus and objects after window has been altered. * Set to be the redraw function by "gescredrawnotify" in "init_gks." */ redraw_all() { IDX idx; draw_screen_background(); (*(screen_tbl[find_screen_tbl_idx(PAL_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(FGDCLR_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(BGDCLR_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(FILLCLR_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(POPUP_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(PICT_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(MSG_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(PRI_MENU_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(SEC_MENU_AREA)].draw))(); idx = find_screen_tbl_idx(PICT_AREA); if (screen_tbl[idx].is_active == FALSE) { reprompt(1); return; } erase_area(PICT_AREA); (*(screen_tbl[idx].draw))(); } /* end redraw_all */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/makefile.shape0000644000175000017500000000150711413611016023061 0ustar amckinstryamckinstry# Makefile for the "demo/sledsrc" subdirectory of the XGKS package. # # $Header: /cvsroot/xgks/xgks/progs/sledsrc/makefile.shape,v 2.5.4.1 1993/03/10 19:43:28 steve Exp $ # # Log for /u2/ldm/src/gks/x/xgks/demo/sledsrc/makefile.shape[1.0] # Fri Oct 12 10:07:51 1990 steve@groucho published $ # Makefile for the demo/sledsrc subdirectory of the XGKS package. # NAME = sled VERSIONID = $(NAME)vers PRODUCT = # Directories: INCPATH = ../../include INSTALLBASE = /u2/ldm INSTALLBINDIR = $(INSTALLBASE)/bin INSTALLLIBDIR = $(INSTALLBASE)/lib INSTALLINCDIR = $(INSTALLBASE)/include INSTALL = /usr/bin/install INSTALLOPTIONS = -c -m 664 RANLIB = /bin/ranlib INCLUDES = -I$(INCPATH) CPPOPTS = $(INCLUDES) $(DEFINES) CFLAGS = -g $(CPPOPTS) xflags = -DCFFLGS='"$$Flags: <$<> $(CFLAGS) $$"' CC = cc $(xflags) all: install: clean: xgks-2.6.1+dfsg.2/src/progs/sledsrc/undo.c0000644000175000017500000001116311413611016021372 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file includes: * initialize_undo * log_last_area * log_last_menu_item * area_undo * menu_item_undo * check_undo_flag * test_undo_flag */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/undo.c,v 2.5.4.1 1993/03/10 19:43:24 steve Exp $"; #include "defs.h" #include #include "functbl.h" #include "screen_items.h" #include #include "changes.h" static AREA last_action_area = (AREA) NULL; static KEY last_action_menu_item = (KEY) NULL; static IDX last_transno; static Gpoint last_pt; static BOOLEAN undo_flag; static BOOLEAN undo_mode; /* ON = 1, OFF = 0 */ /* * initialize_undo * * description: initializes all variables associated * with undo * * parameters: none */ initialize_undo() { if (last_action_area != (AREA) NULL) { free(last_action_area); last_action_area = (AREA) NULL; } if (last_action_menu_item != (KEY) NULL) { free(last_action_menu_item); last_action_menu_item = (KEY) NULL; } undo_flag = FALSE; undo_mode = OFF; } /* end_initialize_undo */ /* * log_last_area * * description: logs last action * * parameters: (AREA) - area * (IDX) - transno * (Gpoint) - pt */ log_last_area(area,transno,pt) AREA area; IDX transno; Gpoint pt; { if (!(eq(last_action_area,area) && (last_transno == transno) && (last_pt.x == pt.x) && (last_pt.y == pt.y))) { if (!(eq(last_action_area,((AREA) NULL)))) free(last_action_area); last_action_area = (AREA) calloc((unsigned) (strlen(area) + 1), sizeof(char)); (void) strcpy(last_action_area,area); last_transno = transno; last_pt = pt; } } /* end log_last_area */ /* * log_last_menu_item * * description: logs last action * * parameters: (MENU_ITEM) - menu item * (Gpoint) - pt */ log_last_menu_item(key,pt) KEY key; Gpoint pt; { if (!(eq(last_action_menu_item,key) && (last_pt.x == pt.x) && (last_pt.y == pt.y))) { if (!(eq(last_action_menu_item,((KEY) NULL)))) free(last_action_menu_item); last_action_menu_item = (KEY) calloc((unsigned) (strlen(key) + 1), sizeof(char)); (void) strcpy(last_action_menu_item,key); last_pt = pt; } } /* end log_last_menu_item */ /* * area_undo * * description: undoes last action by setting undo_mode * to ON and toggling undo_flag * and calls appropriate area * * parameters: menu_item (MENU_ITEM *) - unused */ area_undo(menu_item) MENU_ITEM *menu_item; { undo_mode = ON; undo_flag = ((undo_flag == FALSE) ? TRUE : FALSE); if (!eq(last_action_area,(AREA) NULL)) { screen_tbl[find_screen_tbl_idx(last_action_area)].exec( last_action_area,last_transno,last_pt); } else reprompt(1); undo_mode = OFF; } /* end area_undo */ /* * menu_item_undo * * description: undoes last action by setting undo_mode * to ON and toggling undo_flag * and calls appropriate menu_item * * parameters: menu_item (MENU_ITEM *) - unused */ menu_item_undo(menu_item) MENU_ITEM *menu_item; { undo_mode = ON; undo_flag = ((undo_flag == FALSE) ? TRUE : FALSE); if (!eq(last_action_menu_item,(KEY) NULL)) { (*(menu_item_func_tbl[find_menu_item_func_tbl_idx( last_action_menu_item)].exec))(last_pt); } else reprompt(1); undo_mode = OFF; } /* end menu_item_undo */ /* * check_undo_flag * * description: sets undo flag to FALSE if undo * menu option has not been picked * * parameters: none */ check_undo_flag() { if (undo_mode == OFF) { undo_flag = FALSE; } } /* end check_undo_flag */ /* * test_undo_flag * * description: returns value of undo_flag * * parameters: none * * returns: (BOOLEAN) - undo_flag */ BOOLEAN test_undo_flag() { return(undo_flag); } /* end test_undo_flag */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/photo.c0000644000175000017500000001177611413611016021570 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ /*#include "/mntm/1/kubitz/graphics/matrix/src/libmatrix/matrix.h"*/ #include "key.h" #include "trans.h" #include "draw.h" #include "ws.h" #include "functbl.h" #ifndef _gks_types #include #endif #define FOUR_BY_FIVE 1 #define EIGHT_BY_TEN 2 #define KONICA_FT1 3 #define ONE_TO_ONE 4 /* * photo * * description: calls photograph menu item if there * is a non-empty picture to photograph * * parameters: none */ photo(menu_item) MENU_ITEM *menu_item; { if (no_objects() == FALSE) display_child_menu(menu_item); else full_prompt(42,2); } /* end photo */ /* * four_by_five * * description: snaps picture using four by five film * * parameters: four_by_five menu item */ four_by_five(menu_item) MENU_ITEM *menu_item; { photograph(FOUR_BY_FIVE); currmitem = (MENU_ITEM *) NULL; }; /* four_by_five */ /* * eight_by_ten * * description: snaps picture using four by five film * * parameters: eight_by_ten menu item */ eight_by_ten(menu_item) MENU_ITEM *menu_item; { photograph(EIGHT_BY_TEN); currmitem = (MENU_ITEM *) NULL; }; /* eight_by_ten */ /* * konica_ft1 * * description: snaps picture using four by five film * * parameters: konica_ft1 menu item */ konica_ft1(menu_item) MENU_ITEM *menu_item; { photograph(KONICA_FT1); currmitem = (MENU_ITEM *) NULL; }; /* konica_ft1 */ /* * one_to_one * * description: snaps picture using four by five film * * parameters: one_to_one menu item */ one_to_one(menu_item) MENU_ITEM *menu_item; { photograph(ONE_TO_ONE); currmitem = (MENU_ITEM *) NULL; }; /* one_to_one */ /* * photograph * * description: photographs screen * * parameters: pg (IDX) - page parameter */ photograph(pg) IDX pg; { REAL xmax_dc,ymax_dc; NDCPT new_view[2]; NDCPT viewport[2]; REAL dx, dy; REAL delta_x, delta_y; WCPT box[5]; /* erase everything and center picture area */ get_max_dc_coor(&xmax_dc,&ymax_dc); get_viewport(PICT_AREA,viewport); dx = viewport[MAX].ndc_x - viewport[MIN].ndc_x; dy = viewport[MAX].ndc_y - viewport[MIN].ndc_y; if ((dy / dx) > (ymax_dc / xmax_dc)) { new_view[MAX].ndc_y = 1.0; new_view[MIN].ndc_y = 0.0; delta_x = dx / dy; new_view[MIN].ndc_x = (xmax_dc/ymax_dc - delta_x) / 2.0; new_view[MAX].ndc_x = new_view[MIN].ndc_x + delta_x; } else { new_view[MAX].ndc_x = 1.0; new_view[MIN].ndc_x = 0.0; delta_y = dy / dx; new_view[MIN].ndc_y = (ymax_dc/xmax_dc - delta_y) / 2.0; new_view[MAX].ndc_y = new_view[MIN].ndc_y + delta_y; } /* set viewport */ set_viewport(PICT_AREA,new_view); /* draw picture */ push_curr_trans(); s_norm_trans(DEFAULT_TRANS); load_box(box,0.0,1.0,0.0,1.0); s_fill_idx(BGDCLR_SOLID); set_aspect_flags(BUNDLED); fill_area(4,box); activate(PICT_AREA); set_aspect_flags(INDIVIDUAL); draw_objects(); pop_curr_trans(); /* take the picture the profile file is .mat_profile the log file is mat_log */ #ifdef CAMERA mat_open(MAT_PROFILE,MAT_LOG_FILE); /* open film recorder */ mat_page_st(pg); /* select parm pg. */ mat_expose(); /* take a picture */ mat_close(); /* close film recorder */ #endif /* prompt user to inform sled when camera is done */ printf("wait until camera snaps then enter any character\n"); set_cbreak_mode(ON); (void) getchar(); set_cbreak_mode(OFF); /* set viewport */ set_viewport(PICT_AREA,viewport); /* redraw screen area */ draw_screen_background(); prompt(41); /* unnecessary redraw 'cause area not reactivated * yes, I know - it's kludgey! (*(screen_tbl[find_screen_tbl_idx(MSG_AREA)].draw))(); */ (*(screen_tbl[find_screen_tbl_idx(PAL_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(FGDCLR_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(BGDCLR_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(FILLCLR_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(PICT_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(PRI_MENU_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(SEC_MENU_AREA)].draw))(); (*(screen_tbl[find_screen_tbl_idx(POPUP_AREA)].draw))(); prompt(2); } /* end photograph */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/functbl.h0000644000175000017500000000477611413611016022103 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * $Header: /cvsroot/xgks/xgks/progs/sledsrc/functbl.h,v 2.5.4.1 1993/03/10 19:43:26 steve Exp $ */ #include "screen_items.h" /* * tbls of functions asscociated with screen_items */ struct popup_tbl_entry { KEY key; int (*init)(); int (*exec)(); int (*cleanup)(); }; extern struct popup_tbl_entry popup_func_tbl[]; extern int popup_func_tbl_sz; extern IDX find_popup_func_tbl_idx(); struct menu_item_tbl_entry { KEY key; int (*init)(); int (*restart)(); int (*exec)(); int (*cleanup)(); }; extern struct menu_item_tbl_entry menu_item_func_tbl[]; extern int menu_item_func_tbl_sz; extern IDX find_menu_item_func_tbl_idx(); struct menu_tbl_entry { KEY key; int (*init)(); int (*cleanup)(); }; extern struct menu_tbl_entry menu_func_tbl[]; extern int menu_func_tbl_sz; extern IDX find_menu_func_tbl_idx(); /* * screen areas * * there will be a table of screen area types and the routines to * handle them */ typedef struct screen_area_tbl_entry SCREEN_AREA_TBL_ENTRY; struct screen_area_tbl_entry { AREA area; /* screen area key */ int (*draw)(); /* func to draw area */ int (*exec)(); /* func to execute */ BOOLEAN is_active; /* true if screen area is displayed on screen */ Gpoint window[2]; /* window[0] = (xmin,ymin) window[1] = (xmax,ymax) */ Gpoint viewport[2]; /* viewport[0] = (xmin,ymin) viewport[1] = (xmax,ymax) */ }; extern int screen_tbl_sz; /* screen tbl size */ extern SCREEN_AREA_TBL_ENTRY screen_tbl[]; /* screen tbl */ extern IDX find_screen_tbl_idx(); xgks-2.6.1+dfsg.2/src/progs/sledsrc/attributes.h0000644000175000017500000000453211413611016022622 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ #ifndef _gks_types #include #endif /* This file is not needed at all under new xGKS. */ /* variables needed for call inquire primitive attribute values */ struct prim_attr_val /* equivalent to Gpriattr */ { Gint error; IDX pline_idx; IDX pmark_idx; IDX text_idx; IDX fill_idx; Gfloat char_height; Gpoint char_up; Gpoint pattern_size; Gpoint pattern_ref_pt; ENUM text_path; ENUM text_align_horz; ENUM text_align_vert; PICKID pickid; }; struct indiv_attr_val /* equiv. to Gindattr */ { Gint error; ENUM pline_type; ENUM pmark_type; ENUM text_precision; IDX text_font; ENUM aspect_flags[13]; Gfloat pline_width; Gfloat pmark_size; Gfloat text_expansion; Gfloat text_spacing; IDX pline_color; IDX pmark_color; IDX text_color; ENUM fill_style; IDX fill_style_idx; IDX fill_color; }; struct state_tbl_sz /* Is replaced by type "Gwstables." */ { ENUM pline; ENUM pmark; ENUM text; ENUM fill; ENUM pattern; ENUM color; }; struct pline_fac_val /* Is replaced by type "Glnfac." */ { Gint ntypes; Gint nwidths; Gint npredef; Gfloat nom_width; Gfloat min_width; Gfloat max_width; ENUM *list; }; struct text_fac_val /* Is replaced by type "Gtxfac." */ { Gint nfonts; Gint nheights; Gint nexpansion; Gint npredef; Gfloat min_height; Gfloat max_height; Gfloat min_expansion; Gfloat max_expansion; FONT_PAIR *fontpairs; }; xgks-2.6.1+dfsg.2/src/progs/sledsrc/conversions.h0000644000175000017500000000245611413611016023007 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * Declaration of conversion functions from enum's to integers and back: */ extern Gflinter num_to_style(); extern Gtxver num_to_vert(); extern Gtxhor num_to_horz(); extern Gtxpath num_to_path(); extern Gsegvis num_to_vis(); extern int style_to_num(),vert_to_num(), horz_to_num(), path_to_num(), vis_to_num(); xgks-2.6.1+dfsg.2/src/progs/sledsrc/objects.h0000644000175000017500000000751611413611016022072 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ #include #include "changes.h" #ifndef _objects #define _objects /* * graphics primitives */ struct line_ob { IDX color; /* line color */ Gint style; /* line style */ Gint width; /* line width */ Gint nopts; /* no of pts */ Gpoint *pts; /* endpts of lines */ }; struct poly_ob { Gflinter fillstyle; /* fill style GHOLLOW | GSOLID */ IDX fillcolor; /* polygon fill color */ IDX linecolor; /* polygon outline color */ Gint style; /* polygon outline style */ int width; /* polygon outline width */ int nopts; /* no of pts in polygon */ Gpoint *pts; /* pts of polygon */ }; /* * text strings */ typedef struct char_ob CHAR_OB; struct char_ob { Gpoint center; /* center of char */ IDX color; /* char color */ Gfloat height; /* char height */ IDX fontstyle; /* font style of char */ Gfloat expansion; /* related to character wd */ Gfloat width; /* character wd */ Gchar ch; /* char */ struct char_ob *next; /* next char in str */ }; struct text_ob { Gtxpath path; /* GTP_RIGHT | GTP_LEFT | GTP_UP | GTP_DOWN */ Gtxver vert_just; /* GTV_CAP | GTV_HALF | GTV_BASE */ Gtxhor horz_just; /* GTH_LEFT | GTH_CENTER | GTH_RIGHT */ Gpoint pos; /* text string position */ Gpoint up_vec; /* up direction */ struct char_ob *str; /* char string */ }; /* * unit objects */ typedef struct object OBJECT; typedef struct comb_ob COMB_OB; #define LINEOB "line object" #define BOXOB "box object" #define POLYOB "polygon object" #define CIRCLEOB "circle object" #define CONICOB "conic object" #define CURVEOB "curve object" #define TEXTOB "text object" #define lineob obtype.line_object #define boxob obtype.poly_object #define polyob obtype.poly_object #define circleob obtype.poly_object #define conicob obtype.poly_object #define curveob obtype.line_object #define textob obtype.text_object struct object { char *key; /* associated functions */ Gsegvis visibility; /* GVISIBLE | GINVISIBLE */ Gfloat trans[6]; /* transformation */ COMB_OB *parent; /* parent */ OBJECT *next; /* next OBJECT in COMB_OBJ */ union /* object type specific info */ { struct line_ob line_object; struct poly_ob poly_object; struct text_ob text_object; } obtype; }; /* * combination object */ struct comb_ob { Gsegvis visibility; /* GVISIBLE | GINVISIBLE */ COMB_OB *next; /* next COMB_OB in order of display priority */ COMB_OB *prev; /* previous COMB_OB in order of display priority */ OBJECT *child; /* list of OBJECTS in COMB_OB */ }; typedef struct comb_ob_ptr COMB_OB_PTR; struct comb_ob_ptr { COMB_OB *comb_ob; OBJECT *object; COMB_OB_PTR *next; }; extern COMB_OB *alloc_comb_ob(); extern OBJECT *alloc_single_ob(); extern COMB_OB *copy_comb_ob(); extern OBJECT *copy_object(); extern COMB_OB *tail; extern COMB_OB *head; #define HEAD 0 #define TAIL 1 #endif xgks-2.6.1+dfsg.2/src/progs/sledsrc/clr_selector_exec.c0000644000175000017500000003472011413611016024115 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file includes: * init_colors_menu * cleanup_color_menu * clr_selector_pal_area_exec * clr_wheel_area_exec * pt_on_clr_wheel * find_hue * clr_mixer_area_exec * adjust_middle_clr * fine_tuner_area_exec * set_tuner_clr * adjust_tuner_clr * arrow_picked */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/clr_selector_exec.c,v 2.5.4.1 1993/03/10 19:43:19 steve Exp $"; #include "screen_items.h" #include "functbl.h" #include "draw.h" #include #include "clr_selector.h" #include "defs.h" #include "key.h" #include "color.h" #include /* * colors_mitem_exec * * description: exec routine for colors menu item * causes colors menu to be displayed * * parameters: menu_item (MENU_ITEM *) - colors menu item * */ colors_mitem_exec(menu_item) MENU_ITEM *menu_item; { prompt(41); switch_sec_menu(menu_item->child); } /* end colors mitem_exec */ /* * init_colors_menu * * description: Displays colors menu, * removes PICT_AREA from screen * and displays CLR_WHEEL_AREA, FINE TUNER, * CLR_MIXER_AREA. It also switches PAL_AREA * to CLR_SELECTOR_PAL_AREA although no visual * changes are reflected on screen. CLR_PICKED_AREA * is initialized, also. Lastly, global area * variables, and clr_picked are initalized. * * parameters: area (AREA) - area containing menu * menu (MENU *) - colors menu */ init_colors_menu(area,menu) AREA area; MENU *menu; { /* adjust screen */ erase_area(PICT_AREA); free_trans(PICT_AREA); erase_area(FGDCLR_AREA); free_trans(FGDCLR_AREA); erase_area(BGDCLR_AREA); free_trans(BGDCLR_AREA); erase_area(FILLCLR_AREA); free_trans(FILLCLR_AREA); free_trans(PAL_AREA); screen_tbl[find_screen_tbl_idx(CLR_SELECTOR_PAL_AREA)].draw(); screen_tbl[find_screen_tbl_idx(CLR_PICKED_AREA)].draw(); screen_tbl[find_screen_tbl_idx(TUNER_AREA)].draw(); screen_tbl[find_screen_tbl_idx(MIXER_AREA)].draw(); screen_tbl[find_screen_tbl_idx(CLR_WHEEL_AREA)].draw(); /* display colors menu */ display_menu_n_popups(area,menu); prompt(7); /* initialize variables */ clr_picked = FALSE; initialize_undo(); } /* end init_colors menu */ /* * cleanup_colors_menu * * description: restores PICT_AREA and switches * CLR_SELECTOR_PAL_AREA to PAL_AREA, * and removes CLR_WHEEL_AREA, CLR_PICKED_AREA, * MIXER_AREA and TUNER_AREA. * cleans up colors menu. * * parameters: area (AREA) - area containing menu * menu (MENU *) - menu to cleanup */ cleanup_colors_menu(area,menu) AREA area; /* area containing menu */ MENU *menu; /* colors menu */ { /* cleanup menu */ cleanup_menu_n_popups(area,menu); /* restore screen */ erase_area(CLR_WHEEL_AREA); free_trans(CLR_WHEEL_AREA); erase_area(TUNER_AREA); free_trans(TUNER_AREA); erase_area(MIXER_AREA); free_trans(MIXER_AREA); if (clr_picked) erase_area(CLR_PICKED_AREA); free_trans(CLR_PICKED_AREA); free_trans(CLR_SELECTOR_PAL_AREA); alloc_trans(PAL_AREA); screen_tbl[find_screen_tbl_idx(FGDCLR_AREA)].draw(); screen_tbl[find_screen_tbl_idx(BGDCLR_AREA)].draw(); screen_tbl[find_screen_tbl_idx(FILLCLR_AREA)].draw(); screen_tbl[find_screen_tbl_idx(PICT_AREA)].draw(); } /* end cleanup_colors_menu */ /* * clr_selector_pal_area_exec * * description: picks and places colors in palette area * * parameters: area (AREA) - screen area * transno (IDX) - transno corresponding * to area * pt (Gpoint) - pt picked */ clr_selector_pal_area_exec(area,transno,pt) AREA area; IDX transno; Gpoint pt; { static Gcobundl old_clr; Gcobundl clr; IDX idx; check_undo_flag(); idx = get_clr_idx_from_pt(pt); if (clr_picked) { if (test_undo_flag() == FALSE) get_color(idx,&old_clr); get_color(display_clr_picked,&clr); set_color(idx,&clr); erase_picked_clr(); log_last_area(area,transno,pt); } else /* clr_picked == FALSE */ { get_color(idx,&clr); display_picked_clr(clr); if (test_undo_flag() == TRUE) set_color(idx,&old_clr); log_last_area(area,transno,pt); } } /* * clr_wheel_area_exec * * description: determines which color was selected off * color wheel and handles undo * * parameters: area (AREA) - screen area * transno (IDX) - transno corresponding * to area * pt (Gpoint) - pt picked */ clr_wheel_area_exec(area,transno,pt) AREA area; IDX transno; Gpoint pt; { static HSV hsv_clr = { 0.0, /* hue */ 1.0, /* saturation */ 1.0 /* value */ }; Gcobundl rgb_clr; extern Gfloat find_hue(); check_undo_flag(); /* if pt is not on clr wheel or color has already been picked and test_undo_flag()flag is FALSE then return */ if (!pt_on_clr_wheel(pt)) return; else if ((clr_picked == TRUE) && (test_undo_flag() == FALSE)) return; if (test_undo_flag() == FALSE) { log_last_area(area,transno,pt); hsv_clr.hue = find_hue(clr_wheel_center,pt); hsv_to_rgb(&hsv_clr,&rgb_clr); display_picked_clr(rgb_clr); } else /* test_undo_flag() = TRUE */ { erase_picked_clr(); } } /* end clr_wheel_area_exec */ /* * pt_on_clr_wheel * * description: determines if pt picked is on clr wheel * * parameters: pt (Gpoint) - pt picked by user * * returns: (BOOLEAN) - true if pt on clr wheel, * false otherwise */ pt_on_clr_wheel(pt) Gpoint pt; { Gfloat distance; distance = dist(pt,clr_wheel_center); if ((distance >= inside_rad) && (distance <= outside_rad)) return(TRUE); else return(FALSE); } /* end pt_on_clr_wheel */ /* * find_hue * * description: calculates hue of color picked based on * center of color wheel and pt picked * * parameters: center (Gpoint) - center of color wheel * pt (Gpoint) - pt picked * * returns: hue (Gfloat) - hue of color picked */ Gfloat find_hue(center,pt) Gpoint center; Gpoint pt; { Gfloat x,y; /* x and y values after translating center to origin */ Gfloat inv_tan = 0; /* arctan(abs(y/x)) */ Gfloat inv_cot = 0; /* arccot(abs(x/y)) */ Gfloat hue =0; /* hue of color selected */ /* translate pt to origin */ x = pt.x - center.x; y = pt.y - center.y; /* calculate angle (in radians) from positive x-axis */ if (x != 0) inv_tan = (360 / (2 * PI)) * atan(abs(y / x)); if (y != 0) inv_cot = (360 / (2 * PI)) * atan(abs(x / y)); if ((x > 0) && (y >= 0)) /* 0 <= angle < 90 degrees */ hue = inv_tan; else if ((x <= 0) && (y > 0)) /* 90 <= angle < 180 degrees */ hue = 90 + inv_cot; else if ((x < 0) && (y <= 0)) /* 180 <= angle < 270 degrees */ hue = 180 + inv_tan; else if ((x >= 0) && (y < 0)) /* 270 <= angle < 360 degrees */ { hue = 270 + inv_cot; if (hue > 360.0) hue = hue - 360.0; } return(hue); } /* end find_hue */ /* * clr_mixer_area_exec * * description: adjusts clr mixer knob and places * or picks clrs from mixer * * parameters: area (AREA) - screen area * transno (IDX) - transno corresponding * to area * pt (Gpoint) - pt picked */ clr_mixer_area_exec(area,transno,pt) AREA area; IDX transno; Gpoint pt; { static Gfloat old_knob_pos; static Gcobundl old_clr; Gcobundl clr; check_undo_flag(); if (test_undo_flag() == FALSE) { if (arrow_picked(mixer_arrow,pt)) { old_knob_pos = mixer_arrow.knob_pos; display_arrow(MIXER_AREA,&mixer_arrow,pt.x); adjust_middle_clr(); log_last_area(area,transno,pt); } else if (in_bounds_delta(left_extent,pt,0.0)) { if (clr_picked) { get_color(LEFT_CLR,&old_clr); get_color(display_clr_picked,&clr); set_color(LEFT_CLR,&clr); adjust_middle_clr(); erase_picked_clr(); } else { get_color(LEFT_CLR,&clr); display_picked_clr(clr); } log_last_area(area,transno,pt); } else if (in_bounds_delta(right_extent,pt,0.0)) { if (clr_picked) { get_color(RIGHT_CLR,&old_clr); get_color(display_clr_picked,&clr); set_color(RIGHT_CLR,&clr); adjust_middle_clr(); erase_picked_clr(); } else { get_color(RIGHT_CLR,&clr); display_picked_clr(clr); } log_last_area(area,transno,pt); } else if (in_bounds_delta(middle_extent,pt,0.0) && !clr_picked) { get_color(MIDDLE_CLR,&clr); display_picked_clr(clr); log_last_area(area,transno,pt); } else { reprompt(1); } } else /* test_undo_flag() == TRUE */ { if (arrow_picked(mixer_arrow,pt)) { display_arrow(MIXER_AREA, &mixer_arrow,old_knob_pos); adjust_middle_clr(); } else if (in_bounds_delta(left_extent,pt,0.0)) { if (clr_picked) { erase_picked_clr(); } else { get_color(LEFT_CLR,&clr); display_picked_clr(clr); set_color(LEFT_CLR,&old_clr); adjust_middle_clr(); } } else if (in_bounds_delta(right_extent,pt,0.0)) { if (clr_picked) { erase_picked_clr(); } else { get_color(RIGHT_CLR,&clr); display_picked_clr(clr); set_color(RIGHT_CLR,&old_clr); adjust_middle_clr(); } } else /* middle area picked */ { erase_picked_clr(); } } } /* end clr_mixer_area_exec */ /* * adjust_middle_clr * * description: adjusts middle color based on knob * pos and left and right colors. * the middle color is based on a linear * interpolation of the rgb values * of the left and right colors. * * parameters: none */ adjust_middle_clr() { Gfloat p; Gcobundl left,right,middle; p = (mixer_arrow.knob_pos - mixer_arrow.mini) / (mixer_arrow.maxi - mixer_arrow.mini); get_color(LEFT_CLR,&left); get_color(RIGHT_CLR,&right); middle.red = (1-p) * left.red + p * right.red; middle.green = (1-p) * left.green + p * right.green; middle.blue = (1-p) * left.blue + p * right.blue; set_color(MIDDLE_CLR,&middle); } /* end adjust_middle_clr */ /* * fine_tuner_area_exec * * description: handles all knob ajustments and * color selections in fine tuner area * * parameters: area (AREA) - area picked * transno (IDX) - corresponding trans no * pt (Gpoint) - pt picked */ fine_tuner_area_exec(area,transno,pt) AREA area; IDX transno; Gpoint pt; { static Gfloat old_knob_pos; static Gcobundl old_clr; Gcobundl rgb_clr; check_undo_flag(); if (test_undo_flag() == FALSE) { if (arrow_picked(hue_arrow,pt)) { old_knob_pos = hue_arrow.knob_pos; display_arrow(TUNER_AREA,&hue_arrow,pt.x); adjust_tuner_clr(); log_last_area(area,transno,pt); } else if (arrow_picked(val_arrow,pt)) { old_knob_pos = val_arrow.knob_pos; display_arrow(TUNER_AREA,&val_arrow,pt.y); adjust_tuner_clr(); log_last_area(area,transno,pt); } else if (arrow_picked(sat_arrow,pt)) { old_knob_pos = sat_arrow.knob_pos; display_arrow(TUNER_AREA,&sat_arrow,pt.y); adjust_tuner_clr(); log_last_area(area,transno,pt); } else if (in_bounds_delta(tuner_extent,pt,0.0)) { if (clr_picked) { get_color(tuner_clr,&old_clr); get_color(display_clr_picked,&rgb_clr); set_tuner_clr(rgb_clr); erase_picked_clr(); } else { get_color(tuner_clr,&rgb_clr); display_picked_clr(rgb_clr); } log_last_area(area,transno,pt); } else reprompt(1); } else /* test_undo_flag() == TRUE */ { if (arrow_picked(hue_arrow,pt)) { display_arrow(TUNER_AREA, &hue_arrow,old_knob_pos); adjust_tuner_clr(); } else if (arrow_picked(val_arrow,pt)) { display_arrow(TUNER_AREA, &val_arrow,old_knob_pos); adjust_tuner_clr(); } else if (arrow_picked(sat_arrow,pt)) { display_arrow(TUNER_AREA, &sat_arrow,old_knob_pos); adjust_tuner_clr(); } else if (in_bounds_delta(tuner_extent,pt,0.0)) { if (clr_picked) { erase_picked_clr(); } else { get_color(tuner_clr,&rgb_clr); display_picked_clr(rgb_clr); set_tuner_clr(old_clr); } } } #ifdef PRINTCOLOR get_color(tuner_clr,&rgb_clr); printf("tuner color: r = %.3f, g = %.3f, b = %.3f\n", rgb_clr.red, rgb_clr.green, rgb_clr.blue); #endif } /* end fine_tuner_area_exec */ /* * set_tuner_clr * * description: places clr in fine tuner and sets knobs * * parameters: rgb_clr (Gcobundl) - clr to set */ set_tuner_clr(rgb_clr) Gcobundl rgb_clr; { HSV hsv_clr; rgb_to_hsv(&rgb_clr,&hsv_clr); set_color(tuner_clr,&rgb_clr); display_arrow(TUNER_AREA,&hue_arrow,(hsv_clr.hue / 360.0) * (hue_arrow.maxi - hue_arrow.mini) + hue_arrow.mini); display_arrow(TUNER_AREA,&val_arrow,hsv_clr.val * (val_arrow.maxi - val_arrow.mini) + val_arrow.mini); display_arrow(TUNER_AREA,&sat_arrow,hsv_clr.sat * (sat_arrow.maxi - sat_arrow.mini) + sat_arrow.mini); } /* set_tuner_clr */ /* * adjust_tuner_clr * * description: sets tuner clr to clr defined by hue, val * and sat arrows * * parameters: none */ adjust_tuner_clr() { HSV hsv_clr; Gcobundl rgb_clr; hsv_clr.hue = 360 * (hue_arrow.knob_pos - hue_arrow.mini) / (hue_arrow.maxi - hue_arrow.mini); hsv_clr.val = (val_arrow.knob_pos - val_arrow.mini) / (val_arrow.maxi - val_arrow.mini); hsv_clr.sat = (sat_arrow.knob_pos - sat_arrow.mini) / (sat_arrow.maxi - sat_arrow.mini); hsv_to_rgb(&hsv_clr,&rgb_clr); set_color(tuner_clr,&rgb_clr); } /* adjust_tuner_clr */ /* * arrow_picked * * description: determines if arrow picked by user * * parameters: arrow (ARROW) - arrow to test against * pt (Gpoint) - pt picked * * returns: BOOLEAN - true if arrow picked */ arrow_picked(arrow,pt) ARROW arrow; Gpoint pt; { if (arrow.direction == VERT) { if ((arrow.mini <= pt.y) && (arrow.maxi >= pt.y) && (abs(arrow.con - pt.x) <= (ARROW_LEN * 2.0))) { return(TRUE); } else { return(FALSE); } } else /* direction == HORZ */ { if ((arrow.mini <= pt.x) && (arrow.maxi >= pt.x) && (abs(arrow.con - pt.y) <= (ARROW_LEN * 2.0))) { return(TRUE); } else { return(FALSE); } } } /* end arrow_picked */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/object_list.h0000644000175000017500000000206111413611016022730 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ #include "objects.h" extern OBJECT *get_last_object(); xgks-2.6.1+dfsg.2/src/progs/sledsrc/grid.c0000644000175000017500000003241111413611016021351 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file includes: * adjust_grid * init_grid_menu * get_grid_width * get_grid_color * get_grid_pt * override_snap * resume_snap * get_override_state * draw_grid * erase_grid * snap_to_grid * init_grid_color_popup * switch_grid_color_state * get_grid_color_state * save_old_grid * move_grid_init * move_grid_restart * move_grid_exec * move_grid_cleanup * resize_grid_init * resize_grid_restart * resize_grid_exec * resize_grid_cleanup * adjust_grid_undo */ #include "trans.h" #include "popup.h" #include "functbl.h" #include "key.h" #include "defs.h" #include "ws.h" #include "draw.h" #include "objects.h" #include "color.h" #include #include IDX grid_color; Gpoint grid_pt; Gfloat grid_width; Gpoint old_grid_pt; Gfloat old_grid_width; BOOLEAN override = FALSE; BOOLEAN undo; MENU_ITEM *mitem_in_progress; #define ADJUST_GRID_UNDO "adjust grid undo menu item" /* * init_grid * * description: initializes all variables associated * with grid * * parameters: none */ init_grid() { Gpoint window[2]; Gcobundl rgb; get_window(PICT_AREA,window); grid_pt = window[MIN]; grid_color = alloc_clr_tbl_entries(1); get_color(white,&rgb); set_color(grid_color,&rgb); grid_width = (window[MAX].x - window[MIN].x) / 20.0; } /* init_grid */ /* * get_grid_width * * description: returns current grid_width * * parameters: none * * returns: (Gfloat) - grid width */ Gfloat get_grid_width() { return(grid_width); } /* end get_grid_width */ /* * get_grid_color * * description: returns current grid_color * * parameters: none * * returns: (IDX) - grid color */ get_grid_color() { return(grid_color); } /* end get_grid_color */ /* * get_grid_pt * * description: returns current grid_pt * * parameters: none * * returns: (Gpoint) - grid pt */ Gpoint get_grid_pt() { return(grid_pt); } /* end get_grid_pt */ /* * override_snap * * description: set option to override snapping of user * selected point to grid * * parameters: none */ override_snap() { override = TRUE; } /* end override_snap */ /* * resume_snap * * description: unset option to override snapping of user * selected point to grid * * parameters: none */ resume_snap() { override = FALSE; } /* end resume_snap */ /* * get_override_state * * description: returns current value of snap option override * * parameters: none */ get_override_state() { return(override); } /* end get_override_state */ /* * draw_grid * * description: draws grid including activating window * and setting aspect flags * * parameters: none */ draw_grid() { Gfloat width; Gpoint pt; Gpoint window[2]; int no_x_pts, no_y_pts; int i,j; int idx; Gpoint *pts; Gmkbundl repr; if (screen_tbl[find_screen_tbl_idx(PICT_AREA)].is_active != TRUE) return; push_curr_trans(); activate(PICT_AREA); set_aspect_flags(GBUNDLED); idx = get_grid_color(); width = get_grid_width(); pt = get_grid_pt(); get_window(PICT_AREA,window); pt.x -= floor((pt.x - window[MIN].x) / width) * width; pt.y -= floor((pt.y - window[MIN].y) / width) * width; no_x_pts = floor((window[MAX].x - window[MIN].x) / width) + 1; no_y_pts = floor((window[MAX].y - window[MIN].y) / width) + 1; pts = (Gpoint *) calloc((unsigned) no_x_pts, sizeof(Gpoint)); for (i=0; ix - gridpt.x) / grid_width; if (pt->x < (gridpt.x + width / 2.0)) pt->x = gridpt.x; else if ((pt->x - d * width) < ((d + 1) * width - pt->x)) pt->x = d * width; else pt->x = (d+1) * width; d = abs(pt->y - gridpt.y) / grid_width; if (pt->y < (gridpt.y + width / 2.0)) pt->y = grid_pt.y; else if ((pt->y - d * width) < ((d + 1) * width - pt->y)) pt->y = d * width; else pt->y = (d+1) * width; } /* end snap_to_grid */ static int grid_color_state = WHITE_GRID; static char *grid_color_text[] = { "WHITE", "GRID", "GREY", "GRID", "BLACK", "GRID" }; /* * init_grid_color_popup * * description: displays popup box and text * * parameters: popup (POPUP *) - grid_color popup */ init_grid_color_popup(popup) POPUP *popup; { char **ln_ptr; int i; ln_ptr = grid_color_text; for (i=0; i<(2 * grid_color_state); i++) ln_ptr++; display_popup(popup,2,ln_ptr); } /* end init_grid_color_popup */ /* * switch_grid_color_state * * description: advances popup state to next state and * redraws popup * * parameters: popup (POPUP *) - grid_color popup * pt (Gpoint) - unused */ switch_grid_color_state(popup,pt) POPUP *popup; Gpoint pt; { Gcobundl rgb; switch_popup_state(&grid_color_state,3,2,grid_color_text,popup->extent); switch (grid_color_state) { case WHITE_GRID: get_color(white,&rgb); set_color(grid_color,&rgb); break; case GREY_GRID: get_color(grey,&rgb); set_color(grid_color,&rgb); break; case BLACK_GRID: get_color(black,&rgb); set_color(grid_color,&rgb); break; } } /* end switch_grid_color_state */ /* * save_old_grid * * description: saves old grid description * so that grid can be restored * if user wants to undo changes * * parameters: none */ save_old_grid() { undo = TRUE; old_grid_pt = grid_pt; old_grid_width = grid_width; } /* end save old grid */ /* * move_grid_init * * description: initializes menu item * * parameters: menu_item (MENU_ITEM *) - move_grid menu item */ move_grid_init(menu_item) MENU_ITEM *menu_item; { set_currmitem(menu_item); hilite(menu_item->key); push_curr_trans(); activate(PICT_AREA); override_snap(); prompt(30); } /* end move_grid_init */ /* * move_grid_restart * * description: reintializes menu item * * parameters: menu_item (MENU_ITEM *) - move_grid menu item */ move_grid_restart(menu_item) MENU_ITEM *menu_item; { if (eq(get_newmitem(),ADJUST_GRID_UNDO)) set_currmitem(menu_item); else prompt(30); } /* end move_grid_restart */ /* * move_grid_exec * * description: moves grid to new location * * parameters: pt (Gpoint) - pt selected */ move_grid_exec(pt) Gpoint pt; { save_old_grid(); erase_grid(); grid_pt = pt; draw_grid(); prompt(30); } /* end move_grid_exec */ /* * move_grid_cleanup * * description: cleans up move_grid menu item * * parameters: menu_item (MENU_ITEM *) - move_grid menu item */ move_grid_cleanup(menu_item) MENU_ITEM *menu_item; { if (!eq(get_newmitem(),ADJUST_GRID_UNDO)) { pop_curr_trans(); unhilite(menu_item->key); mitem_in_progress = (MENU_ITEM *) NULL; resume_snap(); } else { mitem_in_progress = menu_item; } set_currmitem((MENU_ITEM *) NULL); } /* end move_grid_cleanup */ BOOLEAN first_point_picked; /* * resize_grid_init * * description: initializes menu item * * parameters: menu_item (MENU_ITEM *) - resize_grid menu item */ resize_grid_init(menu_item) MENU_ITEM *menu_item; { set_currmitem(menu_item); hilite(menu_item->key); push_curr_trans(); activate(PICT_AREA); first_point_picked = FALSE; override_snap(); prompt(31); } /* end resize_grid_init */ /* * resize_grid_restart * * description: reintializes menu item * * parameters: menu_item (MENU_ITEM *) - resize_grid menu item */ resize_grid_restart(menu_item) MENU_ITEM *menu_item; { if (eq(get_newmitem(),ADJUST_GRID_UNDO)) set_currmitem(menu_item); else prompt(31); first_point_picked = FALSE; } /* end resize_grid_restart */ /* * resize_grid_exec * * description: resizes grid to new location * * parameters: pt (Gpoint) - pt selected */ resize_grid_exec(pt) Gpoint pt; { static Gpoint first_pt; Gfloat dx, dy; if (!first_point_picked) { snap_to_grid(&pt); first_pt = pt; first_point_picked = TRUE; prompt(32); } else { save_old_grid(); erase_grid(); dx = abs(first_pt.x - pt.x); dy = abs(first_pt.y - pt.y); grid_width = max2(dx,dy); draw_grid(); first_point_picked = FALSE; prompt(31); } } /* end resize_grid_exec */ /* * resize_grid_cleanup * * description: cleans up resize_grid menu item * * parameters: menu_item (MENU_ITEM *) - resize_grid menu item */ resize_grid_cleanup(menu_item) MENU_ITEM *menu_item; { if (!eq(get_newmitem(),ADJUST_GRID_UNDO)) { pop_curr_trans(); unhilite(menu_item->key); mitem_in_progress = (MENU_ITEM *) NULL; resume_snap(); } else { mitem_in_progress = menu_item; } set_currmitem((MENU_ITEM *) NULL); } /* end resize_grid_cleanup */ /* * adjust_grid_undo * * description: undoes last alteration to grid size or location * * parameters: menu_item (MENU_ITEM *) - undo menu item */ adjust_grid_undo(menu_item) MENU_ITEM *menu_item; { Gpoint temppt; Gfloat tempwd; if (undo == TRUE) { hilite(menu_item->key); erase_grid(); temppt = grid_pt; grid_pt = old_grid_pt; old_grid_pt = temppt; tempwd = grid_width; grid_width = old_grid_width; old_grid_width = tempwd; draw_grid(); unhilite(menu_item->key); } /* restart menu item which was in progress when undo was picked */ if (mitem_in_progress != (MENU_ITEM *) NULL) { menu_item_func_tbl[find_menu_item_func_tbl_idx( mitem_in_progress->key)].restart( mitem_in_progress); } } /* end adjust_grid_undo */ /* * adjust_grid * * description: init_exec routine for adjust_grid menu item * activates adjust_grid menu only if grid * on visible * * parameters: menu_item (MENU_ITEM *) - adjust_grid menu item */ adjust_grid(menu_item) MENU_ITEM *menu_item; { if (get_grid_state() == GRID_OFF) reprompt(33); else display_child_menu(menu_item); } /* end adjust_grid */ /* * init_grid_menu * * description: init routine for adjust grid menu * * parameters: area (AREA) - menu area * menu (MENU *) - adjust grid menu */ init_grid_menu(area,menu) AREA area; MENU * menu; { undo = FALSE; mitem_in_progress = (MENU_ITEM *) NULL; display_menu_n_popups(area,menu); } /* end init_grid_menu */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/key.h0000644000175000017500000000255411413611016021226 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ #include "clr_selector_key.h" #define PRI_MENU_AREA "primary menu area" #define SEC_MENU_AREA "secondary menu area" #define MSG_AREA "message area" #define PAL_AREA "palette area" #define PICT_AREA "picture area" #define FGDCLR_AREA "fgd clr area" #define BGDCLR_AREA "bgd clr area" #define FILLCLR_AREA "fill clr area" #define POPUP_AREA "popup area" xgks-2.6.1+dfsg.2/src/progs/sledsrc/clr_selector.h0000644000175000017500000000424411413611016023114 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ #include #include "changes.h" #define VERT 0 #define HORZ 1 #define NO_KNOB_DRAWN -1 #define ARROW_LEN .008 #define KNOB_LEN .030 #define KNOB_WD .015 typedef struct arrow_struct ARROW; struct arrow_struct { int direction; /* VERT | HORZ */ Gfloat maxi; /* max coor */ Gfloat mini; /* min coor */ Gfloat con; /* constant coor */ Gfloat knob_pos; /* knob position */ }; extern ARROW mixer_arrow; extern ARROW val_arrow; extern ARROW sat_arrow; extern ARROW hue_arrow; extern IDX display_clr_picked; /* color picked up by user */ extern IDX mixer_clr; /* first color in mixer from left to right */ #define LEFT_CLR (mixer_clr) #define MIDDLE_CLR (mixer_clr + 1) #define RIGHT_CLR (mixer_clr + 2) extern IDX tuner_clr; /* fine tuner color */ extern IDX wheel_start_clr; /* first color in color wheel */ extern BOOLEAN clr_picked; /* true if clr picked by user */ extern Gpoint left_extent[2],middle_extent[2], right_extent[2]; /* mixer areas */ extern Gpoint tuner_extent[2]; /* tuner area */ extern Gpoint clr_wheel_center; /* center of clr clr wheel */ extern Gfloat outside_rad,inside_rad; /* inside and outside rad of color wheeel */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/add_objects_func.h0000644000175000017500000000576311413611016023717 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * menu items */ #include #include "changes.h" extern int add_objects_init(); extern int add_line_init(); extern int add_line_restart(); extern int add_line_exec(); extern int add_line_cleanup(); extern int add_curve_init(); extern int add_curve_restart(); extern int add_curve_exec(); extern int add_curve_cleanup(); extern int add_box_init(); extern int add_box_restart(); extern int add_box_exec(); extern int add_box_cleanup(); extern int add_circle_init(); extern int add_circle_restart(); extern int add_circle_exec(); extern int add_circle_cleanup(); extern int add_conic_init(); extern int add_conic_restart(); extern int add_conic_exec(); extern int add_conic_cleanup(); extern int add_text_init(); extern int add_text_restart(); extern int add_text_exec(); extern int add_text_cleanup(); extern int add_objects_undo(); /* * popups */ extern int init_line_width_popup(); extern int switch_line_width_popup(); extern Gfloat get_line_width(); extern Gint get_line_style(); extern int init_line_connected_popup(); extern int switch_line_connected_state(); extern Gint get_line_connected(); extern int init_line_style_popup(); extern int switch_line_style_state(); extern Gint switch_line_style_state(); extern int switch_curve_connected_state(); extern int init_fill_style_popup(); extern int switch_fill_style_state(); extern Gflinter get_fill_style(); extern Gfloat get_char_expansion(); extern int init_char_width_popup(); extern int switch_char_width_popup(); extern Gfloat get_char_width(); extern int init_char_height_popup(); extern int switch_char_height_popup(); extern Gfloat get_char_height(); extern int init_text_path_popup(); extern int switch_text_path_popup(); extern Gtxpath get_text_path(); extern int init_font_style_popup(); extern int switch_font_style_popup(); extern IDX get_font_style(); extern int init_horz_just_popup(); extern int switch_horz_just_popup(); extern Gtxhor get_horz_just(); extern int init_vert_just_popup(); extern int switch_vert_just_popup(); extern Gtxver get_vert_just(); xgks-2.6.1+dfsg.2/src/progs/sledsrc/clr_selector_func.h0000644000175000017500000000275611413611016024135 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ /* screen area functions */ extern int clr_wheel_area_exec(); extern int clr_mixer_area_exec(); extern int fine_tuner_area_exec(); extern int clr_selector_pal_area_exec(); extern int display_clr_wheel_area(); extern int display_clr_mixer_area(); extern int display_clr_picked_area(); extern int display_fine_tuner_area(); extern int display_clr_selector_pal_area(); /* clr selector menu functions */ extern int colors_mitem_exec(); extern int init_colors_menu(); extern int cleanup_colors_menu(); xgks-2.6.1+dfsg.2/src/progs/sledsrc/draw_palette.c0000644000175000017500000001376311413611016023110 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file includes: * display_palette * display_fgdclr * display_bgdclr * display_fillclr * draw_clr_area */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/draw_palette.c,v 2.5.4.1 1993/03/10 19:43:20 steve Exp $"; #include #include "palette.h" #include "color.h" #include "defs.h" #include "key.h" #include "trans.h" #include "draw.h" #include #include "changes.h" /* * display_palette * * description: displays palette * * parameters: none */ display_palette() { Gindattr attr; int row, col; /* tbl entry being displayn */ Gfloat wd, ht; /* wd and ht of conic */ Gpoint window[2]; /* boundary of palette area */ Gpoint box[4]; /* pts on boundary */ IDX color_idx; /* color of (row,color) */ Gpoint center; /* center of (row,col) */ push_curr_trans(); if (find_trans(PAL_AREA) == NON_EXISTENT) alloc_trans(PAL_AREA); activate(PAL_AREA); set_aspect_flags(GBUNDLED); /* display palette background */ get_window(PAL_AREA,window); load_box(box,window[MIN].x,window[MAX].x, window[MIN].y,window[MAX].y); gsetfillind(GREY_SOLID); gfillarea(4,box); gsetfillind(WHITE_HOLLOW); gfillarea(4,box); /* display individual color splotches in palette */ set_aspect_flags(GINDIVIDUAL); ginqindivattr(&attr); wd = 2 * (window[MAX].x - window[MIN].x) / (Gfloat)(2 * ncols + ncols + 1); ht = 2 * (window[MAX].y - window[MIN].y) / (Gfloat)(2 * nrows + nrows + 1); color_idx = palstartclr - 1; for (row=0; row < nrows; row++) for (col=0; col < ncols; col++) { center.x = wd + col * 1.5 * wd; center.y = window[MAX].y - ht - row * 1.5 * ht; color_idx ++; gsetfillcolorind(color_idx); gsetfillintstyle(GSOLID); draw_conic(center,wd,ht); gsetfillcolorind(black); gsetfillintstyle(GHOLLOW); draw_conic(center,wd,ht); } /* restore previous state */ gsetfillcolorind(attr.flcolor); gsetfillintstyle(attr.flstyle); pop_curr_trans(); } /* end display_palette */ /* * display_fgdclr_area * * description: displays fgdclr * * parameters: none */ display_fgdclr_area() { if (eq(active_clr_area,FGDCLR_AREA)) draw_clr_area(FGDCLR_AREA,TRUE); else draw_clr_area(FGDCLR_AREA,FALSE); } /* end display_fgdclr_area */ /* * display_bgdclr_area * * description: displays bgdclr * * parameters: none */ display_bgdclr_area() { if (eq(active_clr_area,BGDCLR_AREA)) draw_clr_area(BGDCLR_AREA,TRUE); else draw_clr_area(BGDCLR_AREA,FALSE); } /* end display_bgdclr_area */ /* * display_fillclr_area * * description: displays fillclr * * parameters: none */ display_fillclr_area() { if (eq(active_clr_area,FILLCLR_AREA)) draw_clr_area(FILLCLR_AREA,TRUE); else draw_clr_area(FILLCLR_AREA,FALSE); } /* end display_fillclr_area */ /* * draw_clr_area * * description: draws clr area with clr splotch * of specified color and with * specified heading * * parameters: fill_area_tbl_area (IDX) - index of color * for color splotch * clr_area (AREA) - color area * hi_lite (BOOLEAN) - true if area should be * hilited * text (char **) - text to display */ draw_clr_area(clr_area,hi_lite) AREA clr_area; BOOLEAN hi_lite; { IDX fill_area_tbl_entry; char **lines; Gfloat wd, ht; /* wd and ht of conic */ Gpoint window[2]; /* boundary of palette area */ Gpoint box[4]; /* pts on boundary */ Gpoint center; /* center of (row,col) */ static char *fgdclr_lines[] = { "FOREGROUND", "COLOR" }; static char *bgdclr_lines[] = { "BACKGROUND", "COLOR" }; static char *fillclr_lines[] = { "FILL", "COLOR" }; if (eq(clr_area,FGDCLR_AREA)) { fill_area_tbl_entry = FGDCLR_SOLID; lines = fgdclr_lines; } else if (eq(clr_area,BGDCLR_AREA)) { fill_area_tbl_entry = BGDCLR_SOLID; lines = bgdclr_lines; } else /* (eq(clr_area,FILLCLR_AREA)) */ { fill_area_tbl_entry = FILLCLR_SOLID; lines = fillclr_lines; } push_curr_trans(); if (find_trans(clr_area) == NON_EXISTENT) alloc_trans(clr_area); activate(clr_area); set_aspect_flags(GBUNDLED); /* fill in window in bgd_area_clr and outline in fgd_area_clr */ get_window(clr_area,window); load_box(box,window[MIN].x,window[MAX].x, window[MIN].y,window[MAX].y); if (hi_lite == TRUE) { gsetfillind(WHITE_SOLID); gfillarea(4,box); } else { gsetfillind(GREY_SOLID); gfillarea(4,box); gsetfillind(WHITE_HOLLOW); gfillarea(4,box); } /* display fill_clr */ wd = (3.0 / 4.0) * (window[MAX].x - window[MIN].x); ht = (1.0 / 2.0) * (window[MAX].y - window[MIN].y); center.x = (window[MAX].x - window[MIN].x) * (1.0 / 2.0) + window[MIN].x; center.y = (window[MAX].y - window[MIN].y) * (3.0 / 8.0) + window[MIN].y; gsetfillind(fill_area_tbl_entry); draw_conic(center,wd,ht); gsetfillind(BLACK_HOLLOW); draw_conic(center,wd,ht); /* display text */ center.y = (window[MAX].y - window[MIN].y) * (13.0 / 16.0) + window[MIN].y; center_text(2,lines,¢er,((hi_lite == TRUE) ? grey : white), CLR_AREA_TEXT); set_aspect_flags(GINDIVIDUAL); pop_curr_trans(); } /* end draw_clr_area */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/sledvers.c0000644000175000017500000000170411413611016022254 0ustar amckinstryamckinstry/* * Copyright (C) 1988, 1989, 1990 UCAR/Unidata * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose without fee is hereby granted, provided * that the above copyright notice appear in all copies, that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of UCAR/Unidata not be used in * advertising or publicity pertaining to distribution of the software * without specific, written prior permission. UCAR makes no * representations about the suitability of this software for any purpose. * It is provided "as is" without express or implied warranty. It is * provided with no support and without obligation on the part of UCAR * Unidata, to assist in its use, correction, modification, or enhancement. */ char *sledvers () { static char ConfID[] = "1.0 [published] (Fri Mar 23 11:27:39 1990 by steve@groucho)"; return ConfID; } xgks-2.6.1+dfsg.2/src/progs/sledsrc/object_defs.h0000644000175000017500000000345411413611016022705 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ #ifndef object_defs #define object_defs #define FIRST_PT 1 #define SECOND_PT 2 #define THIRD_PT 3 #define FOURTH_PT 4 #define CENTER_PT 1 #define EXTERIOR_PT 2 #define CONNECTED 0 #define NOT_CONNECTED 1 #define SOLID_LN 0 #define DASHED_LN 1 #define DASH_DOT_LN 2 #define DOTTED_LN 3 #define SOLID_FILL 0 #define HOLLOW_FILL 1 #define RIGHT_DIR 0 #define LEFT_DIR 1 #define DOWN_DIR 2 #define UP_DIR 3 #define CENTER_HORZ 0 #define LEFT_JUST_HORZ 1 #define RIGHT_JUST_HORZ 2 #define TOP_JUST_VERT 0 #define CENTER_VERT 1 #define BOTTOM_JUST_VERT 2 #define VERY_THIN_WD 0 #define THIN_WD 1 #define MEDIUM_WD 2 #define MED_WIDE_WD 3 #define WIDE_WD 4 #define VERY_WIDE_WD 5 #define VERY_SML_HT 0 #define SMALL_HT 1 #define MEDIUM_HT 2 #define MED_TALL_HT 3 #define TALL_HT 4 #define VERY_TALL_HT 5 #endif xgks-2.6.1+dfsg.2/src/progs/sledsrc/screen_items.h0000644000175000017500000000472311413611016023116 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ #include #include "changes.h" #ifndef _screen_items_types #define _screen_items_types /* * keys */ typedef char *AREA; /* key for area */ typedef char *KEY; /* screen_item key */ /* * pop ups * * each menu item has a list of its pop ups * global popup table contains global popups and local * popups associated with current menu item */ typedef struct popup POPUP; struct popup { KEY key; /* unique key */ Gpoint extent[2]; /* extent[0] = (xmin,ymin) extent[1] = (xmax,ymax) */ POPUP *next; /* next popup in tbl */ BOOLEAN is_active; /* true when popup is active */ }; extern POPUP *currpoptbl; /* list of popups associated with current menus and menu items */ /* * menu structures * * menu is stored in tree structure */ typedef struct menu MENU; typedef struct menu_item MENU_ITEM; struct menu_item { int nlns; /* nmbr of lns in item name */ char **name; /* name of menu item */ KEY key; /* unique key */ MENU *child; /* child menu */ POPUP *poplst; /* local popup table */ }; struct menu { KEY key; /* unique key */ int nlns; /* nmbr of lns in menu name */ char **name; /* name of menu */ int noitems; /* nmbr of menu items */ struct menu_item *item; /* list of menu items */ MENU *parent; /* parent menu */ POPUP *poplst; /* local popup table */ }; extern MENU_ITEM *currmitem; /* current menu item */ extern POPUP *get_popup_from_pt(); extern KEY get_newmitem(); #endif xgks-2.6.1+dfsg.2/src/progs/sledsrc/Makefile0000644000175000017500000000421511413611016021721 0ustar amckinstryamckinstry# makefile for graphic editor xGKS version # home directory for graphics related work PROJ = /mntm/1/kubitz/graphics IHDIR = /andrew/Xgks/source/xgks/include INCLUDES = -I$(IHDIR) #CFLAGS = -g CFLAGS = $(INCLUDES) LFLAGS = -vxu # matrix film recorder library # MATRIX = $(PROJ)/matrix/lib/libmatrix # for the loader CLIBDIR = /andrew/Xgks/source/xgks/lib LIBS = $(CLIBDIR)/libxgks.a -lX11 -lm INC = add_objects_func.h clr_selector.h \ clr_selector_draw.h clr_selector_func.h clr_selector_key.h \ changes.h color.h \ conversions.h defs.h draw.h \ func.h functbl.h key.h \ menu.h object_defs.h object_tbl.h \ objects.h objects_func.h palette.h \ popup.h screen_items.h trans.h ws.h # attributes.h debug.h SRC = add_objects.c add_objects_subs.c \ clr_selector_draw.c \ clr_selector_exec.c color.c \ conversions.c draw.c draw_menu.c \ draw_palette.c dummies.c edit_picture.c \ error.c functbl.c \ grid.c \ init_tbls.c input.c \ io.c main.c main_menu.c \ menu.c object_list.c object_tbl.c \ objects_copy.c \ objects_detect.c objects_draw.c objects_free.c \ objects_rotate.c \ palette.c photodummy.c \ picture.c popup.c prompt.c \ read_input.c read_menu.c \ screen_items.c trans.c trans_subs.c undo.c \ write_output.c # attributes.c # photo.c OBJ = add_objects.o add_objects_subs.o\ clr_selector_draw.o \ clr_selector_exec.o color.o \ conversions.o draw.o draw_menu.o \ draw_palette.o dummies.o edit_picture.o \ error.o functbl.o \ grid.o \ init_tbls.o input.o \ io.o main.o main_menu.o \ menu.o object_list.o object_tbl.o \ objects_copy.o \ objects_detect.o objects_draw.o objects_free.o \ objects_rotate.o \ palette.o photodummy.o \ picture.o popup.o prompt.o \ read_input.o read_menu.o \ screen_items.o trans.o trans_subs.o undo.o \ write_output.o # attributes.o # photo.o sled: $(OBJ) @echo "Getting libxgks from" $(CLIBDIR) cc -g $(OBJ) $(LIBS) -lm -o sled .c.o: ; cc $(CFLAGS) -c $< lintinc: $(INC) lint $(LFLAGS) $(INC) lint: $(SRC) lint $(LFLAGS) $(SRC) depend: (co -l Makefile; makedepend $(INCLUDES) *.c; ci -f -q -m"make depend" -u Makefile); clean: rm *.o core # DO NOT DELETE THIS LINE -- make depend depends on it. xgks-2.6.1+dfsg.2/src/progs/sledsrc/io.c0000644000175000017500000002040611413611016021034 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file contains: * get_char_str * get_int * get_real * get_real3 * read_int * read_real * read_real2 * read_real3 * read_char * read_char_str * write_int * write_real * write_real2 * write_real3 * write_char_str * write_char */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/io.c,v 2.5.4.1 1993/03/10 19:43:21 steve Exp $"; #include #include #include #include "changes.h" extern char *calloc(); /* * get_char_str * * description: read in next char str from file * * parameters: fd (FILE *) - file to read from * * returns: str (char *) - ptr to next cahr string */ char * get_char_str(fd,errno) FILE *fd; /* file to read from */ IDX errno; /* error message no */ { char ln[80]; /* next input ln */ char *str; /* next char str */ /* read in input ln and strip off */ fgets(ln,80,fd); /* copy string into str */ str = (char *) calloc((unsigned) strlen(ln),sizeof(char)); (void) strncpy(str,ln,strlen(ln) - 1); str[strlen(ln) - 1] = (char) NULL; if (strlen(str) == 0) exit_error("get_char_str",errno); return(str); } /* end get_char_str */ /* * get_int * * description: read in next int from file * * parameters: fd (FILE *) - file to read from * i (int *) - return next integer in i */ get_int(fd,i,errno) FILE *fd; /* file to read from */ int *i; /* next int in file */ IDX errno; /* error message no */ { char ln[80]; /* next input ln */ /* read in next input ln */ fgets(ln,80,fd); if (sscanf(ln,"%d",i) != 1) exit_error("get_int",errno); } /* end get_int */ /* * get_real * * description: read in next int from file * * parameters: fd (FILE *) - file to read from * r (Gfloat *) - return next Gfloat */ get_real(fd,r,errno) FILE *fd; /* file to read from */ Gfloat *r; /* next Gfloat in file */ IDX errno; /* error message no */ { char ln[80]; /* next input ln */ /* read in next input ln */ fgets(ln,80,fd); if (sscanf(ln,"%f",r) != 1) exit_error("get_real",errno); } /* end get_real */ /* * get_real3 * * description: read in next int from file * * parameters: fd (FILE *) - file to read from * r (Gfloat *) - return next Gfloat */ get_real3(fd,r1,r2,r3,errno) FILE *fd; /* file to read from */ Gfloat *r1,*r2,*r3; /* next Gfloat in file */ IDX errno; /* error message no */ { char ln[80]; /* next input ln */ /* read in next input ln */ fgets(ln,80,fd); if (sscanf(ln,"%f%f%f",r1,r2,r3) != 3) exit_error("get_real3",errno); } /* end get_real3 */ /* * read_int * * description: reads next integer * * parameters: fd (FILE *) - file descriptor * i (int *) - next integer in file * error (BOOLEAN *) - true if error * reading int */ read_int(fd,i,error) FILE *fd; int *i; BOOLEAN *error; { char ln[80]; /* next input ln */ /* read in next input ln */ fgets(ln,80,fd); if (sscanf(ln,"%d",i) != 1) { reprompt(28); *error = TRUE; } else *error = FALSE; } /* end read_int */ /* * read_real * * description: reads next real * * parameters: fd (FILE *) - file descriptor * r (Gfloat *) - next realeger in file * error (BOOLEAN *) - true if error * reading real */ read_real(fd,r,error) FILE *fd; Gfloat *r; BOOLEAN *error; { char ln[80]; /* next input ln */ /* read in next input ln */ fgets(ln,80,fd); if (sscanf(ln,"%f",r) != 1) { reprompt(28); *error = TRUE; } else *error = FALSE; } /* end read_real */ /* * read_real2 * * description: reads next 2 reals * * parameters: fd (FILE *) - file descriptor * r1,r2 (Gfloat *) - next integer in file * error (BOOLEAN *) - true if error * reading int */ read_real2(fd,r1,r2,error) FILE *fd; Gfloat *r1,*r2; BOOLEAN *error; { char ln[80]; /* next input ln */ /* read in next input ln */ fgets(ln,80,fd); if (sscanf(ln,"%f %f",r1,r2) != 2) { reprompt(28); *error = TRUE; } else *error = FALSE; } /* end read_real2 */ /* * read_real3 * * description: reads next 3 reals * * parameters: fd (FILE *) - file descriptor * r1,r2,r3 (Gfloat *) - next 3 reals in file * error (BOOLEAN *) - true if error * reading reals */ read_real3(fd,r1,r2,r3,error) FILE *fd; Gfloat *r1,*r2,*r3; BOOLEAN *error; { char ln[80]; /* next input ln */ /* read in next input ln */ fgets(ln,80,fd); if (sscanf(ln,"%f %f %f",r1,r2,r3) != 3) { reprompt(28); *error = TRUE; } else *error = FALSE; } /* end read_real3 */ /* * read_char_str * * description: read in next char str from file * * parameters: fd (FILE *) - file to read from * error (BOOLEAN *) - true if error reading string * * returns: str (char *) - ptr to next cahr string */ char * read_char_str(fd,error) FILE *fd; /* file to read from */ BOOLEAN *error; { char ln[80]; /* next input ln */ char *str; /* next char str */ /* read in input ln and strip off */ fgets(ln,80,fd); /* copy string into str */ str = (char *) calloc((unsigned) strlen(ln),sizeof(char)); (void) strncpy(str,ln,strlen(ln) - 1); str[strlen(ln) - 1] = (char) NULL; if (strlen(str) == 0) { reprompt(28); *error = TRUE; } else { *error = FALSE; } return(str); } /* end read_char_str */ /* * read_char * * description: read in next char str from file * * parameters: fd (FILE *) - file to read from * ch - (char *) - ptr to single ch * error (BOOLEAN *) - true if error reading string */ read_char(fd,ch,error) FILE *fd; /* file to read from */ char *ch; BOOLEAN *error; { char ln[80]; /* next input ln */ fgets(ln,80,fd); /* make sure line is not blank */ if ((strlen(ln) - 1) <= 0) { reprompt(28); *error = TRUE; *ch = (char) NULL; } else { *error = FALSE; *ch = ln[0]; } return; } /* end read_char */ /* * write_int * * description: writes next integer * * parameters: fd (FILE *) - file descriptor * i (int) - next integer to write out */ write_int(fd,i) FILE *fd; int i; { fprintf(fd,"%d\n",i); } /* end write_int */ /* * write_real * * description: writes next real * * parameters: fd (FILE *) - file descriptor * r (Gfloat *) - next real to write out */ write_real(fd,r) FILE *fd; Gfloat r; { fprintf(fd,"%f\n",r); } /* end write_real */ /* * write_real2 * * description: writes next 2 reals * * parameters: fd (FILE *) - file descriptor * r1,r2 (Gfloat) - next two reals to write out */ write_real2(fd,r1,r2) FILE *fd; Gfloat r1,r2; { fprintf(fd,"%f %f\n",r1,r2); } /* end write_real2 */ /* * write_real3 * * description: writes next 3 reals * * parameters: fd (FILE *) - file descriptor * r1,r2,r3 (Gfloat) - next 3 reals to write */ write_real3(fd,r1,r2,r3) FILE *fd; Gfloat r1,r2,r3; { fprintf(fd,"%f %f %f\n",r1,r2,r3); } /* end write_real3 */ /* * write_char_str * * description: writes next char string to file * * parameters: fd (FILE *) - file to write to * str (char *) - string to write */ write_char_str(fd,str) FILE *fd; /* file to write to */ char *str; { fprintf(fd,"%s\n",str); } /* end write_char_str */ /* * write_char * * description: writes next char to file * * parameters: fd (FILE *) - file to write to * ch (char) - next char to write */ write_char(fd,ch) FILE *fd; /* file to write to */ char ch; { fprintf(fd,"%c\n",ch); } /* end write_char */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/conversions.c0000644000175000017500000000715111413611016022777 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * These procedures are used to convert the enumerated data types of xGKS into integers * and back; the integer codes of the "fake" ENUMS of the old version are used, but * basically any kind of coding could be used (though picture files coded one way would * not make sense to a sled program compiled using a different code). * The idea is to make the code independent of the way these types are defined * in GKS. * * The conversion functions are: * num_to_style * style_to_num * num_to_vert * vert_to_num * num_to_horz * horz_to_num * num_to_path * path_to_num * num_to_vis * vis_to_num */ #include Gflinter num_to_style(i) int i; { Gflinter prov; if (i == 1) prov = GSOLID; else /* default */ prov = GHOLLOW; return(prov); } style_to_num(style) Gflinter style; { int i; if (style == GSOLID) i = 1; else i = 0; return(i); } Gtxver num_to_vert(i) int i; { Gtxver prov; switch (i) { case 1: prov = GTV_TOP; break; case 2: prov = GTV_CAP; break; case 3: prov = GTV_HALF; break; case 4: prov = GTV_BASE; break; case 5: prov = GTV_BOTTOM; break; case 6: prov = GTV_NORMAL; break; default: prov = GTV_NORMAL; } /* end switch */ return(prov); } vert_to_num(ver) Gtxver ver; { int i; switch (ver) { case GTV_TOP: i = 1; break; case GTV_CAP: i = 2; break; case GTV_HALF: i = 3; break; case GTV_BASE: i = 4; break; case GTV_BOTTOM: i = 5; break; case GTV_NORMAL: i = 6; break; default: i = 6; } return(i); } Gtxhor num_to_horz(i) int i; { Gtxhor prov; switch (i) { case 1: prov = GTH_RIGHT; break; case 2: prov = GTH_LEFT; break; case 3: prov = GTH_CENTER; break; case 6: prov = GTH_NORMAL; break; default: prov = GTH_NORMAL; } /* end switch */ return(prov); } horz_to_num(hor) Gtxhor hor; { int i; switch (hor) { case GTH_RIGHT: i = 1; break; case GTH_LEFT: i = 2; break; case GTH_CENTER: i = 3; break; case GTH_NORMAL: i = 6; break; default: i = 6; } return(i); } Gtxpath num_to_path(i) int i; { Gtxpath prov; switch (i) { case 1: prov = GTP_RIGHT; break; case 2: prov = GTP_LEFT; break; case 3: prov = GTP_UP; break; case 4: prov = GTP_DOWN; break; default: prov = GTP_RIGHT; } /* end switch */ return(prov); } path_to_num(p) Gtxpath p; { int i; switch (p) { case GTP_RIGHT: i = 1; break; case GTP_LEFT: i = 2; break; case GTP_UP: i = 3; break; case GTP_DOWN: i = 4; break; default: i = 1; } return(i); } Gsegvis num_to_vis(i) int i; { Gsegvis vis; if (i == 1) vis = GVISIBLE; else vis = GINVISIBLE; return(vis); } vis_to_num(vis) Gsegvis vis; { int i; if (vis == GVISIBLE) i = 1; else i = 0; return(i); } xgks-2.6.1+dfsg.2/src/progs/sledsrc/objects_copy.c0000644000175000017500000001271711413611016023116 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file includes * copy_comb_ob * copy_object * copy_line * copy_poly * copy_text */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/objects_copy.c,v 2.5.4.1 1993/03/10 19:43:22 steve Exp $"; #include "objects.h" #include "object_tbl.h" #include "screen_items.h" /* * copy_comb_ob * * description: copies one comb_ob to another * does not copy prev and next links * * parameters: comb_ob (COMB_OB *) - original comb_ob * * returns: (COMB_OB *) - duplicate comb_ob */ COMB_OB * copy_comb_ob(comb_ob) COMB_OB *comb_ob; { COMB_OB *duplicate; OBJECT *object_ptr, *dup_ob_ptr; duplicate = alloc_comb_ob(); duplicate->visibility = comb_ob->visibility; duplicate->child = (OBJECT *) NULL; dup_ob_ptr = comb_ob->child; for (object_ptr = comb_ob->child; object_ptr != (OBJECT *) NULL; object_ptr = object_ptr->next) { if (duplicate->child == (OBJECT *) NULL) { dup_ob_ptr = copy_object(object_ptr); duplicate->child = dup_ob_ptr; } else { dup_ob_ptr->next = copy_object(object_ptr); dup_ob_ptr = dup_ob_ptr->next; } dup_ob_ptr->parent = duplicate; } return(duplicate); } /* end copy_comb_ob */ /* * copy_object * * description: copies one object to another * * parameters: object (OBJECT *) - object to copy * * returns: (OBJECT *) - duplicate */ OBJECT * copy_object(object) OBJECT *object; { OBJECT *duplicate; int i; duplicate = alloc_single_ob(object->key); duplicate->visibility = object->visibility; for (i=0; i<6; i++) duplicate->trans[i] = object->trans[i]; (*(object_func_tbl[get_object_func_tbl_idx(object->key)].copy)) (object,duplicate); return(duplicate); } /* end copy_object */ /* * copy_line * * description: copies struct lineob part of object1 * to duplicate * * parameters: object1 (OBJECT *) - line object to copy * duplicate (OBJECT *) - dupilcate * (must be allocated previously) */ copy_line(object1,duplicate) OBJECT *object1, *duplicate; { int i; duplicate->lineob.color = object1->lineob.color; duplicate->lineob.style = object1->lineob.style; duplicate->lineob.width = object1->lineob.width; duplicate->lineob.nopts = object1->lineob.nopts; duplicate->lineob.pts = (Gpoint *) calloc((unsigned) duplicate->lineob.nopts, sizeof(Gpoint)); for (i=0; i < object1->lineob.nopts; i++) duplicate->lineob.pts[i] = object1->lineob.pts[i]; } /* end copy_line */ /* * copy_poly * * description: copies struct polyob part of object1 * to duplicate * * parameters: object1 (OBJECT *) - poly object to copy * duplicate (OBJECT *) - dupilcate * (must be allocated previously) */ copy_poly(object1,duplicate) OBJECT *object1, *duplicate; { int i; duplicate->polyob.linecolor = object1->polyob.linecolor; duplicate->polyob.fillcolor = object1->polyob.fillcolor; duplicate->polyob.fillstyle = object1->polyob.fillstyle; duplicate->polyob.width = object1->polyob.width; duplicate->polyob.style = object1->polyob.style; duplicate->polyob.nopts = object1->polyob.nopts; duplicate->polyob.pts = (Gpoint *) calloc((unsigned) duplicate->polyob.nopts, sizeof(Gpoint)); for (i=0; i < object1->polyob.nopts; i++) duplicate->polyob.pts[i] = object1->polyob.pts[i]; } /* end copy_poly */ /* * copy_text * * description: copies struct textob part of object1 * to duplicate * * parameters: object1 (OBJECT *) - text object to copy * duplicate (OBJECT *) - dupilcate * (must be allocated previously) */ copy_text(object1,duplicate) OBJECT *object1, *duplicate; { CHAR_OB *ch_ptr1, *ch_ptr2; duplicate->textob.path = object1->textob.path; duplicate->textob.vert_just = object1->textob.vert_just; duplicate->textob.horz_just = object1->textob.horz_just; duplicate->textob.pos = object1->textob.pos; duplicate->textob.up_vec = object1->textob.up_vec; ch_ptr2 = (CHAR_OB *) NULL; for (ch_ptr1 = object1->textob.str; ch_ptr1 != (CHAR_OB *) NULL; ch_ptr1 = ch_ptr1->next) { if (ch_ptr2 == (CHAR_OB *) NULL) { duplicate->textob.str = ch_ptr2 = (CHAR_OB *) calloc ((unsigned) 1, sizeof(CHAR_OB)); } else { ch_ptr2->next = (CHAR_OB *) calloc((unsigned) 1, sizeof(CHAR_OB)); ch_ptr2 = ch_ptr2->next; } ch_ptr2->center = ch_ptr1->center; ch_ptr2->color = ch_ptr1->color; ch_ptr2->height = ch_ptr1->height; ch_ptr2->expansion = ch_ptr1->expansion; ch_ptr2->width = ch_ptr1->width; ch_ptr2->fontstyle = ch_ptr1->fontstyle; ch_ptr2->ch = ch_ptr1->ch; } ch_ptr2->next = (CHAR_OB *) NULL; } /* end copy_text */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/menu.h0000644000175000017500000000243311413611016021376 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ #include "screen_items.h" struct menu_area_tbl_entry { AREA area; MENU *menu; }; extern struct menu_area_tbl_entry menu_tbl[]; extern int menu_tbl_sz; extern MENU *get_menu_from_area(); extern AREA get_area_from_menu(); extern MENU_ITEM *get_parent(); extern int max_num_menu_entries; xgks-2.6.1+dfsg.2/src/progs/sledsrc/clr_selector_key.h0000644000175000017500000000235711413611016023767 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ /* color selector areas */ #define CLR_WHEEL_AREA "clr wheel area" #define TUNER_AREA "fine tuner area" #define MIXER_AREA "clr mixer area" #define CLR_PICKED_AREA "clr picked area" #define CLR_SELECTOR_PAL_AREA "clr selector pal area" xgks-2.6.1+dfsg.2/src/progs/sledsrc/palette.h0000644000175000017500000000237411413611016022074 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ #include "screen_items.h" #include #define MAX_PAL_ENTRIES 80 #define NOT_ALLOCATED -1 extern int nrows, ncols; extern IDX palstartclr; extern IDX display_fgdclr; extern IDX display_bgdclr; extern IDX display_fillclr; extern AREA active_clr_area; xgks-2.6.1+dfsg.2/src/progs/sledsrc/objects_draw.c0000644000175000017500000002506411413611016023100 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * this file includes: * draw_comb_ob * erase_comb_ob * draw_object * erase_object * draw_line * erase_line * draw_poly * erase_poly * draw_text * erase_text * display_text */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/progs/sledsrc/objects_draw.c,v 2.5.4.1 1993/03/10 19:43:22 steve Exp $"; #include "popup.h" #include "color.h" #include "objects.h" #include "object_tbl.h" #include "key.h" #include "trans.h" #include "draw.h" #include "ws.h" #define DRAW 0 #define ERASE 1 /* * draw_comb_ob * * description: draws combination object * only draws visible objects * but does not check if comb_ob is visible * * parameters: comb_ob (COMB_OB *) - comb_ob to draw */ draw_comb_ob(comb_ob) COMB_OB *comb_ob; { OBJECT *object_ptr; for (object_ptr = comb_ob->child; object_ptr != (OBJECT *) NULL; object_ptr = object_ptr->next) { if (object_ptr->visibility == GVISIBLE) draw_object(object_ptr); } } /* end draw_comb_ob */ /* * erase_comb_ob * * description: erases combination object * only erases visible objects * but does not check if comb_ob is visible * * parameters: comb_ob (COMB_OB *) - comb_ob to erase */ erase_comb_ob(comb_ob) COMB_OB *comb_ob; { OBJECT *object_ptr; for (object_ptr = comb_ob->child; object_ptr != (OBJECT *) NULL; object_ptr = object_ptr->next) { erase_object(object_ptr); } } /* end erase_comb_ob */ /* * draw_object * * description: draws object * * parameters: object (OBJECT *) - object to draw */ draw_object(object) OBJECT *object; { (*(object_func_tbl[get_object_func_tbl_idx(object->key)].draw)) (object); } /* end draw_object */ /* * erase_object * * description: erases object * * parameters: object (OBJECT *) - object to erase */ erase_object(object) OBJECT *object; { (*(object_func_tbl[get_object_func_tbl_idx(object->key)].erase)) (object); } /* end erase_object */ /* * draw_line * * description: draw routine for lineob * * parameters: object (OBJECT *) - line object */ draw_line(object) OBJECT *object; { /* update pts by multiplying them by transformation matrix and then set trans to identity matrix */ if (!is_ident(object->trans)) { pt_mult(object->lineob.pts,object->lineob.nopts, object->trans); ident(object->trans); } gsetlinecolorind(object->lineob.color); gsetlinetype(object->lineob.style); gsetlinewidth((Gfloat) (object->lineob.width)); gpolyline(object->lineob.nopts,object->lineob.pts); } /* end draw_line */ /* * erase_line * * description: erase routine for lineob * * parameters: object (OBJECT *) - line object */ erase_line(object) OBJECT *object; { gsetlinecolorind(get_bgdclr()); gsetlinetype(object->lineob.style); gsetlinewidth((Gfloat) object->lineob.width); gpolyline(object->lineob.nopts,object->lineob.pts); } /* end erase_line */ /* * draw_poly * * description: draw routine for polyob * * parameters: object (OBJECT *) - poly (or box or circle * or conic) object */ draw_poly(object) OBJECT *object; { /* update pts by multiplying them by transformation matrix and then set trans to identity matrix */ if (!is_ident(object->trans)) { pt_mult(object->polyob.pts,object->polyob.nopts, object->trans); ident(object->trans); } gsetfillintstyle(object->polyob.fillstyle); gsetfillcolorind(object->polyob.fillcolor); gfillarea(object->polyob.nopts,object->polyob.pts); gsetlinecolorind(object->polyob.linecolor); gsetlinetype(object->polyob.style); gsetlinewidth((Gfloat) (object->polyob.width)); gpolyline(object->polyob.nopts,object->polyob.pts); } /* end draw_poly */ /* * erase_poly * * description: erase routine for polyob * * parameters: none */ erase_poly(object) OBJECT *object; { if (object->polyob.fillstyle == GSOLID) { gsetfillintstyle(object->polyob.fillstyle); gsetfillcolorind(get_bgdclr()); gfillarea(object->polyob.nopts,object->polyob.pts); } gsetlinecolorind(get_bgdclr()); gsetlinetype(object->polyob.style); gsetlinewidth((Gfloat) object->polyob.width); gpolyline(object->polyob.nopts,object->polyob.pts); } /* end erase_poly */ /* * draw_text * * description: draws text string * * parameters: object (OBJECT *) - text object */ draw_text(object) OBJECT *object; { display_text(object,DRAW); } /* end draw_text */ /* * erase_text * * description: draws text string * * parameters: object (OBJECT *) - text object */ erase_text(object) OBJECT *object; { display_text(object,ERASE); } /* end erase_text */ /* * display_text * * description: draws text string * * parameters: object (OBJECT *) - text object * draw_erase (int) - DRAW | ERASE */ display_text(object,draw_erase) OBJECT *object; int draw_erase; { Gtxpath path; Gtxhor horz; Gtxver vert; Gpoint pos; Gfloat dir; Gpoint pt; Gfloat ht = 0; Gfloat wd = 0; CHAR_OB* ch_ptr; Gpoint window[2]; char str[2]; Gtxfp tfp; Gtxalign align; get_window(PICT_AREA,window); path = object->textob.path; horz = object->textob.horz_just; vert = object->textob.vert_just; pos = object->textob.pos; /* find width and height of string (ignoring transformations) */ switch (path) { case GTP_RIGHT: case GTP_LEFT: wd = 0; ht = 0; for (ch_ptr = object->textob.str; ch_ptr->next != (struct char_ob *) NULL; ch_ptr = ch_ptr->next) { /* add in wd of char */ wd += ch_ptr->width; /* add in spacing */ wd += (ch_ptr->expansion * ch_ptr-> height + ch_ptr->next->expansion * ch_ptr->next->height) / 5.0; /* find max char ht */ if (ht < ch_ptr->height) ht = ch_ptr->height; } wd += ch_ptr->width; if (ht < ch_ptr->height) ht = ch_ptr->height; break; case GTP_UP: case GTP_DOWN: wd = 0; ht = 0; for (ch_ptr = object->textob.str; ch_ptr->next != (struct char_ob *) NULL; ch_ptr = ch_ptr->next) { /* add in ht of char */ ht += ch_ptr->height; /* add in spacing */ ht += (ch_ptr->height + ch_ptr->next->height) / 40.0; /* find max char wd */ if (wd < ch_ptr->width) wd = ch_ptr->width; } ht += ch_ptr->height; if (wd < ch_ptr->width) wd = ch_ptr->width; break; } /* end switch */ /* find starting x position (ignoring transformation) */ switch (path) { case GTP_RIGHT: if (horz == GTH_LEFT) pt.x = pos.x; else if (horz == GTH_RIGHT) pt.x = pos.x - wd; else /* horz == GTH_CENTER */ pt.x = pos.x - (wd / 2.0); break; case GTP_LEFT: if (horz == GTH_LEFT) pt.x = pos.x + wd; else if (horz == GTH_RIGHT) pt.x = pos.x; else /* horz == GTH_CENTER */ pt.x = pos.x + (wd / 2.0); break; case GTP_UP: case GTP_DOWN: if (horz == GTH_LEFT) pt.x = pos.x + (wd / 2.0); else if (horz == GTH_RIGHT) pt.x = pos.x - (wd / 2.0); else /* horz == GTH_CENTER */ pt.x = pos.x; break; } /* end switch */ /* find starting y position (ignoring transformation) */ switch (path) { case GTP_RIGHT: case GTP_LEFT: if (vert == GTV_CAP) pt.y = pos.y - (ht / 2.0); else if (vert == GTV_HALF) pt.y = pos.y; else /* vert == GTV_BASE */ pt.y = pos.y + (ht / 2.0); break; case GTP_UP: if (vert == GTV_CAP) pt.y = pos.y - ht; else if (vert == GTV_HALF) pt.y = pos.y - (ht / 2.0); else /* vert == GTV_BASE */ pt.y = pos.y; break; case GTP_DOWN: if (vert == GTV_CAP) pt.y = pos.y; else if (vert == GTV_HALF) pt.y = pos.y + (ht / 2.0); else /* vert == GTV_BASE */ pt.y = pos.y + ht; break; } /* end switch */ /* calculate center of each char (ignoring transformations) */ switch (path) { case GTP_RIGHT: dir = 1.0; break; case GTP_LEFT: dir = -1.0; break; case GTP_UP: dir = 1.0; break; case GTP_DOWN: dir = -1.0; break; default: dir = 1.0; } /* end switch */ switch (path) { case GTP_RIGHT: case GTP_LEFT: for (ch_ptr = object->textob.str; ch_ptr != (struct char_ob *) NULL; ch_ptr = ch_ptr->next) { ch_ptr->center.x = pt.x + dir * ch_ptr->width / 2.0; ch_ptr->center.y = pt.y; if (ch_ptr->next != (struct char_ob *) NULL) { pt.x += (dir * ch_ptr->width); pt.x += dir * (ch_ptr->expansion * ch_ptr-> height + ch_ptr->next->expansion * ch_ptr->next->height) / 5.0; } } break; case GTP_UP: case GTP_DOWN: for (ch_ptr = object->textob.str; ch_ptr != (struct char_ob *) NULL; ch_ptr = ch_ptr->next) { ch_ptr->center.y = pt.y + dir * ch_ptr->height / 2.0; ch_ptr->center.x = pt.x; if (ch_ptr->next != (struct char_ob *) NULL) { pt.y += (dir * ch_ptr->height); pt.y += dir * (ch_ptr->height + ch_ptr->next->height) / 40.0; } } break; } /* end switch */ /* multiply pts by transformation matrix */ for (ch_ptr = object->textob.str; ch_ptr != (struct char_ob *) NULL; ch_ptr = ch_ptr->next) { pt_mult(&(ch_ptr->center),1,object->trans); } /* finally - display text */ align.hor = GTH_CENTER; align.ver = GTV_HALF; gsettextalign(&align); gsettextpath(path); gsetcharup(&(object->textob.up_vec)); str[1] = (char) NULL; for (ch_ptr = object->textob.str; ch_ptr != (CHAR_OB *) NULL; ch_ptr = ch_ptr->next) { gsettextcolorind((draw_erase == DRAW) ? ch_ptr->color : get_bgdclr()); gsetcharheight(ch_ptr->height); tfp.font = ch_ptr->fontstyle; tfp.prec = GSTROKE; gsettextfontprec(&tfp); gsetcharexpan(ch_ptr->expansion); str[0] = ch_ptr->ch; gtext(&(ch_ptr->center),str); } } /* end display_text */ xgks-2.6.1+dfsg.2/src/progs/sledsrc/io.h0000644000175000017500000000203211413611016021034 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * */ #define VERSION_NUM "version 1.1" xgks-2.6.1+dfsg.2/src/progs/star.f0000644000175000017500000000637611413611016017754 0ustar amckinstryamckinstryC PROGRAM STAR C Copyright IBM Corporation 1989 C C All Rights Reserved C C Permission to use, copy, modify, and distribute this software and its C documentation for any purpose and without fee is hereby granted, C provided that the above copyright notice appear in all copies and that C both that copyright notice and this permission notice appear in C supporting documentation, and that the name of IBM not be C used in advertising or publicity pertaining to distribution of the C software without specific, written prior permission. C C IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING C ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL C IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR C ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, C WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, C ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS C SOFTWARE. C C C DESCRIPTION: C This program draws a yellow star on a blue background and writes C the title 'Star' in green in under the star. C CONFORMANCE: C GKS level: ma C FORTRAN-77 binding with FORTRAN-77 Subset comments. C At least one output or outin workstation. C C Define GKS constants. C INTEGER GSOLID PARAMETER ( GSOLID = 1 ) INTEGER GACENT,GAHALF PARAMETER ( GACENT = 2, GAHALF = 3 ) C C Implementation dependent constants. C INTEGER ERROUT,TTOUT,WSTYPE,NBYTES PARAMETER ( ERROUT = 1, TTOUT = 5, WSTYPE = 4, NBYTES = -1 ) C C Define coordinates for drawing the star. C REAL STARX( 5 ),STARY( 5 ) DATA STARX / 0.951057, -0.951057, 0.587785, 0.0, -0.587785 / DATA STARY / 0.309017, 0.309017, -0.951057, 1.0, -0.951057 / C C Perform implementation dependent initialization C CC OPEN ( TTOUT,STATUS='NEW' ) C Open GKS and activate a workstation. C CALL GOPKS ( ERROUT,NBYTES ) CALL GOPWK ( 1,TTOUT,WSTYPE ) CALL GACWK ( 1 ) C C Center the window around the origin. C CALL GSWN ( 1,-1.25,1.25,-1.25,1.25 ) CALL GSELNT ( 1 ) C C Define the colors we'll be using C CALL GSCR ( 1,0,0.0,0.0,1.0 ) CALL GSCR ( 1,1,1.0,1.0,0.0 ) CALL GSCR ( 1,2,1.0,1.0,1.0 ) C C Fill the star with solid yellow. C CALL GSFAIS ( GSOLID ) CALL GSFACI ( 1 ) C C Draw the star. C CALL GFA ( 5,STARX,STARY ) C C Select large characters centered under the star. C CALL GSCHH ( 0.15 ) CALL GSTXAL ( GACENT,GAHALF ) CALL GSTXCI ( 2 ) C C Draw the title. C CALL GTX ( 0.0,-1.1,'Star' ) C C FORTRAN 77 subset version. C CALL GTXS ( 0.0,-1.1,4,'Star' ) C100 READ(*,*,ERR=100)IFOO C C Wait for break C PRINT *, 'Done. Enter BREAK in window...' CALL BWAIT(1) C C Close the workstation and shutdown GKS. C CALL GDAWK ( 1 ) CALL GCLWK ( 1 ) CALL GCLKS STOP END SUBROUTINE BWAIT(IWK) CHARACTER*80 RECORD CALL GINCH(IWK, 1, 0, 0, 1, 0.0, 1279.0, 0.0, 1023.0, 1, RECORD) CALL GSCHM(IWK, 1, 0, 1) 10 CALL GRQCH(IWK, 1, ISTAT, ICHNR) IF (ISTAT .NE. 0) GOTO 10 END xgks-2.6.1+dfsg.2/src/progs/Makefile-orig0000644000175000017500000001637011413611016021225 0ustar amckinstryamckinstry# $Id: Makefile-orig,v 2.5.4.1 1993/03/10 19:43:09 steve Exp $ # # Copyright (C) 1990 UCAR/Unidata # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose without fee is hereby granted, provided # that the above copyright notice appear in all copies, that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of UCAR/Unidata not be used in # advertising or publicity pertaining to distribution of the software # without specific, written prior permission. UCAR makes no # representations about the suitability of this software for any purpose. # It is provided "as is" without express or implied warranty. It is # provided with no support and without obligation on the part of UCAR or # Unidata, to assist in its use, correction, modification, or enhancement. # # Makefile for the "demonstration programs" subdirectory of the XGKS package. # Anticipated, changeable macros (others might not work): #CC = cc# C compiler. Unset => make(1) default. COPTS = -g# cc(1) options (e.g. "-g", "-O") BINMODE = 775 DESTDIR = /usr/local/ldm# assumed to contain "bin", "include", # "lib", and "man" subdirectories #FC = f77# Fortran compiler. Unset => make(1) default. # Set to empty string => platform doesn't have # Fortran compiler. FOPTS = -g# f77(1) options OS = sunos_4.1.1 X11_INCDIR = `case $(OS) in \ hp*) echo /usr/include/X11R4;; \ *) echo $${OPENWINHOME-/usr}/include;; \ esac` X11_LIBDIR = `case $(OS) in \ hp*) echo /usr/lib/X11R4;; \ *) echo $${OPENWINHOME-/usr/lib/X11}$${OPENWINHOME+/lib};; \ esac` # # udposix(3) header-file and library references: # UDPOSIX_CPP = -I$(DESTDIR)/include/udposix/$(CC) UDPOSIX_LD = -L$(DESTDIR)/lib -ludposix_$(CC) # End of anticipated macros MY_MFLAGS = \ CC="$(CC)" \ COPTS="$(COPTS)" \ BINMODE="$(BINMODE)" \ DESTDIR="$(DESTDIR)" \ FC="$(FC)" \ FOPTS="$(FOPTS)" \ OS="$(OS)" \ UDPOSIX_CPP="$(UDPOSIX_CPP)" \ UDPOSIX_LD="$(UDPOSIX_LD)" \ X11_INCDIR="$(X11_INCDIR)" \ X11_LIBDIR="$(X11_LIBDIR)" CSRCS = defcolors.c font.c hanoi.c mi.c pline.c pmark.c FSRCS = gksdemo.f star.f BINDIR = $(DESTDIR)/bin INCDIR = $(DESTDIR)/include NAME = demo VERSIONID = $(NAME)vers INCPATH = ../lib/src UNICOS_INC = `case $(OS) in unicos_5*) echo -I/usr/include/stdc;; esac` INCLUDES = -I$(INCPATH) $(UDPOSIX_CPP) -I$(X11_INCDIR) $(UNICOS_INC) DEFINES = CPPOPTS = $(INCLUDES) $(DEFINES) CFLAGS = $(CPPOPTS) $(COPTS) FFLAGS = $(FOPTS) SHELL = /bin/sh LIBDIR = $(DESTDIR)/lib # # The following macro defines the $(FC) option for adding a directory # to the library search-path. In most systems, this is "-L"; HPUX, # however, uses "-Wl,-L,". # FC-L = `case $(OS) in hpux*) echo -Wl,-L,;; *) echo -L;; esac` # # NB: The sequence of `-L's and `-l's in the following is necessary due to a # bug in the UNICOS cc(1) utility. # LIBXGKS = -L../lib/src -lxgks -L$(LIBDIR) -lxgks LIBFXGKS = $(FC-L)../lib/fortran -lfxgks $(FC-L)../lib/src -lxgks \ $(FC-L)$(LIBDIR) -lfxgks -lxgks SYSLIBS = -lX11 -lm \ `case $(OS) in \ sunos*) echo -L/usr/5lib;; \ unicos_5*) echo -lnet -lsc;; \ unicos_6*) echo -lnet;; \ esac` LIBS = $(LIBXGKS) -L$(LIBDIR) $(UDPOSIX_LD) -L$(X11_LIBDIR) \ $(SYSLIBS) LIBS_F77 = $(LIBFXGKS) $(FC-L)$(LIBDIR) $(UDPOSIX_LD) \ $(FC-L)$(X11_LIBDIR) $(SYSLIBS) LIBC = `case $(OS) in nextos*) ;; *) echo -lc;; esac` # # The following list is a subset of the XGKS programs contained # in the original X11R4 distribution. IMHO, it contains the # useful ones. # CPROGS = defcolors font hanoi mi pline pmark # # The following list contains the Fortran programs. They're cute # (especially "gksdemo") but not particularly useful. # FPROGS = star gksdemo all: $(CPROGS) @-if [ -n "$(FC)" ]; then \ $(MAKE) $(MFLAGS) $(MY_MFLAGS) $(FPROGS); \ fi # # This rule invokes $(MAKE) to enable make(1)-time redefinition of # BINDIR. # # The programs are linked during the "install" target because # the XGKS library might be a sharable one. # install: $(MAKE) $(MFLAGS) $(MY_MFLAGS) \ $(BINDIR)/defcolors \ $(BINDIR)/font \ $(BINDIR)/mi \ $(BINDIR)/pline \ $(BINDIR)/pmark \ $(BINDIR)/hanoi -if [ -n "$(FC)" ]; then \ $(MAKE) $(MFLAGS) $(MY_MFLAGS) \ $(BINDIR)/star \ $(BINDIR)/gksdemo; \ fi # NB: When run, the programs "hanoi" and "font" make "*.gksm" GKS # Metafiles by default. clean: rm -f core $(CPROGS) $(FPROGS) *.o *.log *.ln *.out *.gksm *.cgm $(BINDIR)/defcolors: defcolors cp defcolors $@ chmod $(BINMODE) $@ $(BINDIR)/font: font cp font $@ chmod $(BINMODE) $@ $(BINDIR)/mi: mi cp mi $@ chmod $(BINMODE) $@ $(BINDIR)/pline: pline cp pline $@ chmod $(BINMODE) $@ $(BINDIR)/pmark: pmark cp pmark $@ chmod $(BINMODE) $@ $(BINDIR)/hanoi: hanoi cp hanoi $@ chmod $(BINMODE) $@ $(BINDIR)/star: star cp star $@ chmod $(BINMODE) $@ $(BINDIR)/gksdemo: gksdemo cp gksdemo $@ chmod $(BINMODE) $@ defcolors: defcolors.o $(CC) $(CFLAGS) -o $@ defcolors.o $(OBJS) $(LIBS) font: font.o $(CC) $(CFLAGS) -o $@ font.o $(OBJS) $(LIBS) mi: mi.o $(CC) $(CFLAGS) -o $@ mi.o $(OBJS) $(LIBS) pline: pline.o $(CC) $(CFLAGS) -o $@ pline.o $(OBJS) $(LIBS) pmark: pmark.o $(CC) $(CFLAGS) -o $@ pmark.o $(OBJS) $(LIBS) hanoi: hanoi.o $(CC) $(CFLAGS) -o $@ hanoi.o $(OBJS) $(LIBS) gksdemo: gksdemo.o $(FC) $(FFLAGS) -o $@ gksdemo.o $(OBJS) $(LIBS_F77) $(LIBC) star: star.o $(FC) $(FFLAGS) -o $@ star.o $(OBJS) $(LIBS_F77) $(LIBC) .SUFFIXES: .ln .c .c.ln: lint -nuz $(CPPOPTS) $< -lansic -lposix 2>&1 # The following rule is for debugging using the CodeCenter # (formerly Saber-C) code-development system. # .SUFFIXES: .saber .o .c gksdemo.saber: gksdemo.o #setopt path . ../lib/src ../lib/src/cgm ../lib/src/gksm ../lib/src/x #setopt ansi #setopt load_flags -C $(CFLAGS) -I/usr/5include -DDEBUG #load -C $(CFLAGS) -I/usr/5include -DDEBUG gksdemo.o $(OBJS) \ $(LIBS_F77) -L/usr/local/lang/SC0.0 -lF77 -lc #ignore IO .o.saber: #setopt path . ../lib/src ../lib/src/cgm ../lib/src/gksm ../lib/src/x #setopt ansi #setopt load_flags -C $(CFLAGS) -I/usr/5include -DDEBUG #load -C $(CFLAGS) -I/usr/5include -DDEBUG $< $(OBJS) $(LIBS) -lc #ignore IO .c.saber: #setopt path . ../lib/src ../lib/src/cgm ../lib/src/gksm ../lib/src/x #setopt ansi #setopt load_flags -C $(CFLAGS) -I/usr/5include -DDEBUG #load -C $(CFLAGS) -I/usr/5include -DDEBUG $< $(OBJS) $(LIBS) -lc #ignore IO test: all @echo Testing window Expose and Resize @echo Testing inactive backing-store @echo "Xgks.backingstore: off" | xrdb -merge ./pmark @echo Testing active backing-store @echo "Xgks.backingstore: on" | xrdb -merge ./pline ./defcolors ./hanoi -o hanoi.gksm ./mi hanoi.gksm ./hanoi -o hanoi.cgm ./mi hanoi.cgm ./font -o font.gksm ./mi font.gksm ./font -o font.cgm ./mi font.cgm -test -f star && ./star -test -f gksdemo && ./gksdemo depend: $(CC) $(INCLUDES) $(DEFINES) -M $(CSRCS) gksdemo.o: gkspar.inc defcolors.o: defcolors.c defcolors.o: $(INCPATH)/xgks.h defcolors.o: ./demo.h font.o: font.c font.o: $(INCPATH)/xgks.h font.o: ./demo.h hanoi.o: hanoi.c hanoi.o: $(INCPATH)/xgks.h hanoi.o: ./demo.h mi.o: mi.c mi.o: $(INCPATH)/xgks.h mi.o: ./demo.h pline.o: pline.c pline.o: $(INCPATH)/xgks.h pmark.o: pmark.c pmark.o: $(INCPATH)/xgks.h xgks-2.6.1+dfsg.2/src/progs/pmark.c0000644000175000017500000001247611413611016020110 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * University of Illinois at Urbana-Champaign * Department of Computer Science * 1304 W. Springfield Ave. * Urbana, IL 61801 * * (C) Copyright 1987, 1988 by The University of Illinois Board of Trustees. * All rights reserved. * * Tool: X 11 Graphical Kernel System * Author: Gregory Scott Rogers * Author: Sung Hsien Ching Kelvin * Author: Yu Pan */ #ifndef lint static char rcsid[] = "$Id: pmark.c,v 2.5.4.1 1993/03/10 19:43:08 steve Exp $"; static char afsid[] = "$__Header$"; #endif #include "udposix.h" #include #include #include #include "xgks.h" static WaitForBreak(ws_id) Gint ws_id; { Gchoice init; Gchoicerec record; Glimit earea; earea.xmin = 0.0; earea.xmax = 1279.0; earea.ymin = 0.0; earea.ymax = 1023.0; init.status = GC_NOCHOICE; init.choice = 0; record.pet1.data = NULL; ginitchoice(ws_id, 1, &init, 1, &earea, &record); gsetchoicemode(ws_id, 1, GREQUEST, GECHO); for (; init.status != GC_NONE;) greqchoice(ws_id, 1, &init); } Gint ws_id = 1; Gint result; main(argc, argv) int argc; char *argv[]; { Gchar *conn = (char *) NULL; Gint i; for (i = 1; i < argc; i++) { if (strchr(argv[i], ':')) conn = argv[i]; } if ((result = gopengks(stdout, 0)) != 0) perr(result, "...open_gks"); if ((result = gopenws(ws_id, conn, conn)) != 0) perr(result, "...open_ws"); if ((result = gactivatews(ws_id)) != 0) perr(result, "...activate_ws"); test_pmark(); (void) fprintf(stderr, "Done, press break...\n"); WaitForBreak(1); if ((result = gdeactivatews(ws_id)) != 0) perr(result, "...deactivate_ws"); if ((result = gclosews(ws_id)) != 0) perr(result, "...close_ws"); if ((result = gclosegks()) != 0) perr(result, "...close_gks"); (void) fprintf(stdout, "after close_gks\n"); return 0; } perr(i, s) int i; char *s; { if (i) (void) fprintf(stdout, "%s %d\n", s, i); else (void) fprintf(stdout, "%s %d\n", s, i); exit(1); } #define BLACK 0 #define BLUE 1 #define GREEN 2 #define CYAN 3 #define RED 4 #define MAGENTA 5 #define YELLOW 6 #define WHITE 7 Gcobundl Colors[] = { {0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {0.0, 1.0, 0.0}, {0.0, 1.0, 1.0}, {1.0, 0.0, 0.0}, {1.0, 0.0, 1.0}, {1.0, 1.0, 0.0}, {1.0, 1.0, 1.0} }; LoadColors(ws_id) Gint ws_id; { int i; for (i = BLACK; i <= WHITE; i++) gsetcolorrep(ws_id, i, &Colors[i]); } Gasfs IASFs = { GINDIVIDUAL, GINDIVIDUAL, GINDIVIDUAL, /* polyline */ GINDIVIDUAL, GINDIVIDUAL, GINDIVIDUAL, /* polymarker */ GINDIVIDUAL, GINDIVIDUAL, GINDIVIDUAL, GINDIVIDUAL, /* text */ GINDIVIDUAL, GINDIVIDUAL, GINDIVIDUAL /* fillarea */ }; Gasfs BASFs = { GBUNDLED, GBUNDLED, GBUNDLED, /* polyline */ GINDIVIDUAL, GINDIVIDUAL, GINDIVIDUAL, /* polymarker */ GINDIVIDUAL, GINDIVIDUAL, GINDIVIDUAL, GINDIVIDUAL, /* text */ GINDIVIDUAL, GINDIVIDUAL, GINDIVIDUAL /* fillarea */ }; test_pmark() { Gpoint tpt, pt; Gint i, type; Gchar s[20]; Gpoint up; Gtxfp txfp; Gtxalign align; LoadColors(ws_id); gsetdeferst(ws_id, GASAP, GALLOWED); txfp.font = 4; txfp.prec = GSTROKE; gsettextfontprec(&txfp);; gsetcharexpan(0.5); gsetcharspace(0.4); gsettextcolorind(WHITE); /* WHITE */ gsetcharheight(0.05); up.x = 0.0; up.y = 1.0; gsetcharup(&up); align.hor = GTH_CENTER; align.ver = GTV_BASE; gsettextalign(&align); gsettextpath(GTP_RIGHT); tpt.x = 0.5; tpt.y = 0.9; gtext(&tpt, "GKS POLYMARKERS"); txfp.font = 1; txfp.prec = GSTROKE; gsettextfontprec(&txfp); gsetcharheight(0.03); align.hor = GTH_RIGHT; align.ver = GTV_HALF; gsettextalign(&align); tpt.x = 0.15; tpt.y = 0.9; pt.y = 0.9; for (i = 1; i < 9; i++) { tpt.y -= 0.1; (void) sprintf(s, "scale %5.2f", (float) (2.0 * i)); gtext(&tpt, s); gsetmarkersize((float) (2.0 * i)); gsetmarkercolorind((i % 7) + 1); pt.x = 0.25; pt.y -= 0.1; for (type = 1; type < 6; type++) { gsetmarkertype(type); gpolymarker(1, &pt); pt.x += 0.16; } } } xgks-2.6.1+dfsg.2/src/progs/stratego/0000755000175000017500000000000011413611016020450 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/progs/stratego/red.c0000644000175000017500000007365011413611016021401 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * $Header: /cvsroot/xgks/xgks/progs/stratego/red.c,v 2.5.4.1 1993/03/10 19:43:29 steve Exp $ */ #include #include #include #include #include #include "stratego.h" #include "pictures.h" static int win=FALSE; static int mycolor=RED; static int numleft[]= { 0, 1, 1, 2, 3, 4, 4, 4, 5, 8, 1, 6, 1 }; static char remote_dis[80]; static WCPT numloc= { 0.28,0.65 }; static Gloc last={ 1, 5.0, 5.0 }; static Glocrec loc; static Gcobundl co_flashon = { 1.0, 0.0, 0.0 }, co_flashoff = { 1.0, 1.0, 1.0 }; static int pRtB[2]; /* Red to Blue pipe descriptors */ static int pBtR[2]; /* Blue to Red pipe descriptors */ void main( argc, argv, envp ) int argc; char *argv[], *envp[]; { int transmit=TRUE; /* transmit or receive flag */ int quit=FALSE; /* get the remote display name */ if (argc > 1) strcpy( remote_dis, argv[1] ); else strcpy( remote_dis, getenv( "DISPLAY" ) ); /* start up blue */ #ifdef DEBUG printf( "red: about to call startup...\n" ); #endif startup(envp); #ifdef DEBUG printf( "red: past startup, mycolor = %d\n", mycolor ); #endif initialize(); #ifdef DEBUG printf( "red: past initialize, mycolor = %d\n", mycolor ); #endif setup(); #ifdef DEBUG printf( "red: past setup, mycolor = %d\n", mycolor ); #endif transmit_set_up(); #ifdef DEBUG printf( "red: past transmit_set_up, mycolor = %d\n", mycolor ); #endif /* play */ while (!win && !quit) { if (transmit) { gmessage( 1, "red move" ); quit=makemove(); sendmove(); drawmove(); #ifndef LTEST transmit=FALSE; #endif } else { gmessage( 1, "blue move" ); quit=receivemove(); drawmove(); transmit=TRUE; } } /* game over and shut down */ gdeactivatews(1); gclosews(1); gclosegks(); } /* local-only start up -- remove after debugging */ lstartup() { int i,j; drawboard(HIGH); for (i=0; i<10; ++i) for (j=0; j<4; ++j) drawpiece(i,j,board[i][j].color,board[i][j].rank); #ifdef LTEST for (i=0; i<10; ++i) for (j=6; j<10; ++j) drawcastle(i,j,board[i][j].color); #endif } /**** startup ****/ /* startup performs the function of starting the blue program and creating a pipe between the two programs. Red creates a pipe, forks, and then does an execve which replaces the child with the blue program. */ #ifndef LTEST startup(envp) char *envp[]; { char progname[80], aparms[4][80]; char *vparms[5]; /* create path name for blue program */ strcpy( progname, "blue" ); /* open the two pipes */ pipe(pRtB); /* Red to Blue */ pipe(pBtR); /* Blue to Red */ /* prepare parameters to send to blue */ strcpy( aparms[0], "blue" ); /* program name */ sprintf( aparms[1], "%d", pRtB[READ] ); /* number of read-descriptor */ sprintf( aparms[2], "%d", pBtR[WRITE] ); /* number of write-descriptor */ strcpy( aparms[3], remote_dis ); /* remote display name */ /* fill in parameter list */ vparms[0] = (char *)aparms[0]; vparms[1] = (char *)aparms[1]; vparms[2] = (char *)aparms[2]; vparms[3] = (char *)aparms[3]; vparms[4] = (char *)NULL; /* mark end of parameter list */ /* fork and replace child with blue */ if (fork()==0) { execve( progname, vparms, envp ); /* if we return, we failed */ fprintf(stderr, "can\'t start blue\n"); exit(1); } } #endif /**** initialize ****/ /* initialize does the initialization for gks,windows,color table, board, fill style, and line type. */ initialize() { Glimit templim; Gcobundl tempcol; Glimit earea; Gtxfp temptxfp; XWMHints xwmhints; Display *xdpy; Window xwin; GC xgc; #include "stratego.bitmap" #include "stratego.MASK" /* initialize gks */ gopengks((Gfile *)stderr,0); gopenws(1,NULL,NULL); gescinqxattr(1,&xdpy,&xwin,&xgc); xwmhints.flags = IconPixmapHint | IconMaskHint; xwmhints.icon_mask = XCreatePixmapFromBitmapData(xdpy,xwin,stratego_mask_bits,stratego_mask_width,stratego_mask_height,1,0,1); xwmhints.icon_pixmap = XCreatePixmapFromBitmapData(xdpy,xwin,stratego_bits,stratego_width,stratego_height,0,1,1); XSetWMHints (xdpy,xwin,&xwmhints); XSetIconName(xdpy,xwin,"XGKS stratego"); XStoreName(xdpy,xwin,"XGKS stratego"); gactivatews(1); /* set windows */ templim.xmin = 0.0; templim.xmax = 12.5; templim.ymin = 0.0; templim.ymax = 10.0; gsetwindow(1,&templim); templim.xmin = 0.0; templim.xmax = 1.0; templim.ymin = 0.0; templim.ymax = 1.0; gsetviewport(1,&templim); gselntran(1); /* prepare color table */ tempcol.red = 0.0; tempcol.blue = 0.0; tempcol.green = 0.66; gsetcolorrep(1,GREEN,&tempcol); tempcol.red = 0.66; tempcol.blue = 0.0; tempcol.green = 0.0; gsetcolorrep(1,RED,&tempcol); tempcol.red = 0.0; tempcol.blue = 0.66; tempcol.green = 0.0; gsetcolorrep(1,BLUE,&tempcol); tempcol.red = 0.0; tempcol.blue = 0.0; tempcol.green = 0.0; gsetcolorrep(1,BLACK,&tempcol); tempcol.red = 0.0; tempcol.blue = 1.0; tempcol.green = 0.0; gsetcolorrep(1,L_BLUE,&tempcol); tempcol.red = 1.0; tempcol.blue = 1.0; tempcol.green = 1.0; gsetcolorrep(1,WHITE,&tempcol); gsetcolorrep(1,FLASH1,&co_flashoff); gsetcolorrep(1,FLASH2,&co_flashoff); /* initialize locator attributes */ loc.pet3.data = NULL; /* set styles */ gsetfillintstyle(GSOLID); gsetlinetype(1); temptxfp.font = 2; temptxfp.prec = GSTRING; gsettextfontprec( &temptxfp ); /* setup locator */ earea.xmin = 0.0; earea.xmax = 1023.0; earea.ymin = 0.0; earea.ymax = 1023.0; ginitloc(1,1,&last,3,&earea,&loc); gsetlocmode(1,1,GREQUEST,GECHO); gsetviewportinputpri(1,0,GHIGHER); } /**** set up *****/ /* start of routine that allows player to initialize the board with */ /* the pieces he wants placed in the positions he wants */ setup() { int i; WCPT at,pts[5]; char string[100]; Gtxalign txalgn; drawboard(LOW); for (i=0; i<10; ++i) { drawpiece(i,8,mycolor,(i+1)); drawnum((i+0.5),9.5,numleft[i+1],WHITE); } for (i=0; i<2; ++i) { drawpiece(i,6,mycolor,(i+11)); drawnum((i+0.5),7.5,numleft[i+11],WHITE); } setupcurpts(pts); /* draw 'current piece' box */ gsetlinecolourind(BLUE); gsetlinewidth(0.3); gpolyline(5,pts); strcpy(string,"current piece"); gsetcharheight(0.15); txalgn.hor = GTH_CENTRE; txalgn.ver = GTV_HALF; gsettextalign(&txalgn); gsettextcolourind(BLUE); at.x=8.5; at.y=5.7; gtext(&at,string); drawsquare(4,6,BLUE); strcpy(string,"FINISHED"); gsettextcolourind(WHITE); at.x=4.5; at.y=5.7; gtext(&at,string); #ifndef NTEST clearboard(); /* clear the board */ #endif putdownpc(); /* call the routine that lets player put down pieces */ } /* clearboard -- sets all the board to NO_PIECE */ clearboard() { int x,y; for (x = 0; x < 10; x++) for (y = 0; y < 10; y++) { board[x][y].rank = NO_PIECE; board[x][y].color = 0; } /* set lake areas of the board to a -1 rank */ board[2][4].rank=board[2][5].rank=board[3][4].rank=board[3][5].rank= -1; board[6][4].rank=board[6][5].rank=board[7][4].rank=board[7][5].rank= -1; } /**** pick square *****/ /* this routine returns the integer value of the coordinates of the sqaure */ /* picked by the player */ Gistat picksquare(x,y) int *x,*y; { Gistat status; Gqloc locrec; greqloc(1,1,&locrec); last = locrec.loc; status = locrec.status; *x=(int)last.position.x; *y=(int)last.position.y; if (*x==10) *x=9; if (*y==10) *y=9; /* check for exception case at end of screen and round */ return(status); } /*** draw castle ****/ /* this routine draws a blank castle in any color, given x,y, and color */ drawcastle(x,y,col) int x,y,col; { int i; WCPT pts[CASTLEPNTS]; gsetfillcolourind(col); for (i=0; i1) /* horizontal move more than one space */ { if (sx=sx-spacesx && scoutmove;--i) { if (board[i][sy].rank !=NO_PIECE) { /* there was a piece in the way of the move */ scoutmove=0; } } } } else if (spacesy >1) /* vertical move more than one space */ { if (sy= sy-spacesy && scoutmove; --i) { if (board[sx][i].rank != NO_PIECE) { /* there was a piece in the way */ scoutmove=0; } } } } } } if (!scoutmove) return(0); else return(1); } return(0); /* was diagonal or was lake move */ } /**** quitgame ****/ /* quitgame prompts the user with the option to quit, skip turn, or return without skipping turn. */ quitgame() { char c; do { printf(" 1) QUIT\n"); printf(" 2) SKIP TURN\n"); printf(" 3) RETURN WITHOUT SKIPPING TURN\n"); printf("\n CHOOSE 1-3 "); c=getchar(); rewind(stdin); } while (c< '1' || c> '3'); printf("\n"); return(c-'0'); } /**** drawmove ****/ /* drawmove takes the origination square and destination square and make the move both pictorally and internally. there are two cases. 1) no fight 2) fight the first case is rather simple. however in the second case it must be determined who is the winner and who is attacking. each possability is addressed. */ drawmove() { int winner; /* the winner of a single fight */ int i,j; if (orig.x==SKIPMOVE || orig.x==QUIT) return; /* skipped or quit */ if (board[dest.x][dest.y].rank == NO_PIECE) /*** NO FIGHT ***/ { drawsquare(orig.x,orig.y,GREEN); /*erase square */ if (board[orig.x][orig.y].color == mycolor) drawpiece(dest.x,dest.y,mycolor,board[orig.x][orig.y].rank); else /* only draw shape of opponents piece */ drawcastle(dest.x,dest.y,board[orig.x][orig.y].color); /* make internal representation changes */ board[dest.x][dest.y].rank=board[orig.x][orig.y].rank; board[dest.x][dest.y].color=board[orig.x][orig.y].color; board[orig.x][orig.y].rank=NO_PIECE; } else /** FIGHT **/ { drawsquare(orig.x,orig.y,FLASH1); /* draw highlighted squares */ drawsquare(dest.x,dest.y,FLASH2); drawpiece(orig.x,orig.y,board[orig.x][orig.y].color,board[orig.x][orig.y].rank); drawpiece(dest.x,dest.y,board[dest.x][dest.y].color,board[dest.x][dest.y].rank); for (i=0;i<300;++i); /* time delay */ /* call findwinner. if return 0, piece on orig square wins (attacker) if return 1, piece on dest square wins (defender) if return 2, both pieces are equal, and both lose */ winner=findwinner(board[orig.x][orig.y].rank,board[dest.x][dest.y].rank); if (winner == 0) { /* attacker wins */ for (i=0;i<7;++i) { gsetcolorrep(1,FLASH1,&co_flashon); for (j=0; j<16000; ++j) ; gsetcolorrep(1,FLASH1,&co_flashoff); } drawsquare(orig.x,orig.y,GREEN); drawsquare(dest.x,dest.y,GREEN); if (board[orig.x][orig.y].color == mycolor) { drawpiece(dest.x,dest.y,mycolor,board[orig.x][orig.y].rank); addpow(board[dest.x][dest.y].rank); if (board[dest.x][dest.y].rank==FLAG) { printf("you win\n"); win=1; } } else /* only draw shape of opponents piece */ { drawcastle(dest.x,dest.y,board[orig.x][orig.y].color); if (board[dest.x][dest.y].rank==FLAG) { printf("you lose\n"); win=1; } } board[dest.x][dest.y].rank=board[orig.x][orig.y].rank; board[dest.x][dest.y].color=board[orig.x][orig.y].color; board[orig.x][orig.y].rank=NO_PIECE; } else if (winner==1) /* defender wins */ { for (i=0;i<7;++i) { gsetcolorrep(1,FLASH2,&co_flashon); for (j=0; j<16000; ++j) ; gsetcolorrep(1,FLASH2,&co_flashoff); } drawsquare(orig.x,orig.y,GREEN); drawsquare(dest.x,dest.y,GREEN); if (board[dest.x][dest.y].color==mycolor) { drawpiece(dest.x,dest.y,mycolor,board[dest.x][dest.y].rank); addpow(board[orig.x][orig.y].rank); } else drawcastle(dest.x,dest.y,board[dest.x][dest.y].color); board[orig.x][orig.y].rank=NO_PIECE; } else /* both pieces lose */ { for (i=0;i<7;++i) { gsetcolorrep(1,FLASH1,&co_flashon); gsetcolorrep(1,FLASH2,&co_flashon); for (j=0; j<16000; ++j) ; gsetcolorrep(1,FLASH1,&co_flashoff); gsetcolorrep(1,FLASH2,&co_flashoff); } printf(" you both lose your pieces!\n"); if (board[dest.x][dest.y].color==mycolor) addpow(board[orig.x][orig.y].rank); else addpow(board[dest.x][dest.y].rank); drawsquare(orig.x,orig.y,GREEN); drawsquare(dest.x,dest.y,GREEN); board[orig.x][orig.y].rank=board[dest.x][dest.y].rank=NO_PIECE; } } } /**** addpow ****/ /* addpow admits an opponent's piece to the P.O.W. camp and prints what pieces are in the camp. */ static int pow[]={0,0,0,0,0,0,0,0,0,0,0,0 }; addpow(rank) int rank; { WCPT at; char name[2]; if (rank!=FLAG) { (pow[rank])++; gsetcharheight( 0.25 ); if (mycolor == RED) gsettextcolorind( BLUE ); else gsettextcolorind( RED ); at.x = 11.50; at.y = 4.0 + (0.3 * (float)rank); gtext( &at, " " ); name[0] = (char)('0' + rank); name[1] = '\0'; gtext( &at, name ); } } /* drawpow -- draws initial pow camp */ void drawpow() { int i; char name[2]; WCPT at; at.x = 11.25; at.y = 8.0; gsetcharheight( 0.25 ); gtext( &at, "PsOW:" ); for (i=1; i < 12; i++) { at.x = 11.20; at.y = 4.0 + (0.3 * (float)i); switch( i ) { case 10: name[0] = 'S'; break; case 11: name[0] = 'B'; break; default: name[0] = (char)('0' + i); break; } name[1] = '\0'; gtext( &at, name ); } } /**** findwinner ****/ /* findwinner finds the winner of a single fight. the parameters are a and b. a is the rank of the attacker. b is the rank of the defender. if the a wins a 0 is returned. if b wins a 1 is returned. the method is to make a general statement that a higher piece wins and then check if a special case took place and change the result of the fight accordingly. */ findwinner(a,b) int a,b; { int victor; /* first use general rule */ if (b=6;--j) { for (i=9;i>=0;--i) { #ifdef DEBUG printf( "red: about to read piece at %d, %d\n", i, j ); #endif read(pBtR[READ],&rank,sizeof(rank)); board[i][j].rank=rank; board[i][j].color=oppcolor; drawcastle(i,j,oppcolor); } } #ifdef DEBUG printf( "red: done with transmit_set_up\n" ); #endif } xgks-2.6.1+dfsg.2/src/progs/stratego/dist.mk0000644000175000017500000000125211413611016021744 0ustar amckinstryamckinstry# $Header: /cvsroot/xgks/xgks/progs/stratego/dist.mk,v 2.5.4.1 1993/03/10 19:43:28 steve Exp $ # # Makefile to copy distribution to vms and unix ftp directories. # # HISTORY: # $Log: dist.mk,v $ # Revision 2.5.4.1 1993/03/10 19:43:28 steve # Initial placement under CVS control. # THIS_DIR = src/gks/x/xgks/demo/stratego/ SUBDIRS = \ # Sources common to UNIX and VMS distributions SOURCES = \ # Sources for UNIX distribution only UNIX_SOURCES = \ Imakefile \ Makefile \ blue.c \ pictures.h \ red.c \ stratego.MASK \ stratego.bitmap \ stratego.h \ # Sources for VMS distribution only VMS_SOURCES = \ # include /usr/local/ldm/src/dist.mk-rules xgks-2.6.1+dfsg.2/src/progs/stratego/Imakefile0000644000175000017500000000073511413611016022266 0ustar amckinstryamckinstry# # $Header: /cvsroot/xgks/xgks/progs/stratego/Imakefile,v 2.5.4.1 1993/03/10 19:43:29 steve Exp $ # XGKS_TOP = ../.. #include "../../xgks.tmpl" LOCAL_LIBRARIES = $(XGKSLIB) $(XLIB) LOCAL_XGKSINCLUDES = -I.. OBJS1 = red.o SRCS1 = red.c OBJS2 = blue.o SRCS2 = blue.c SRCS = $(SRCS1) $(SRCS2) OBJS = $(OBJS1) $(OBJS2) PROGRAMS = red blue all: $(PROGRAMS) ComplexProgramTarget_1(red,$(LOCAL_LIBRARIES),-lm) ComplexProgramTarget_2(blue,$(LOCAL_LIBRARIES),-lm) DependTarget() xgks-2.6.1+dfsg.2/src/progs/stratego/Shapefile0000644000175000017500000000065711413611016022303 0ustar amckinstryamckinstry# $Header: /cvsroot/xgks/xgks/progs/stratego/Shapefile,v 2.5.4.1 1993/03/10 19:43:30 steve Exp $ # # $__copyright$ # # Shapefile for the "demo/stratego" subdirectory of the XGKS package. IMPORT = SHAPEINCPATH SHAPEINCPATH = /u2/ldm/src/shape MY_COMPONENTS = blue.c red.c $(VERSIONID).c \ pictures.h stratego.h stratego.MASK stratego.bitmap \ Imakefile Makefile MAKEFILE = makefile.shape include $(SHAPEINCPATH)/stdshapefile xgks-2.6.1+dfsg.2/src/progs/stratego/pictures.h0000644000175000017500000000766411413611016022474 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * $Header: /cvsroot/xgks/xgks/progs/stratego/pictures.h,v 2.5.4.1 1993/03/10 19:43:29 steve Exp $ */ #define CASTLEPNTS 21 typedef Gpoint WCPT; WCPT castle[]= { 0.1, 0.05, 0.1,0.1, 0.15,0.15, 0.15,0.9, 0.2,0.9, 0.2,0.8, 0.3,0.8, 0.3,0.85, 0.45,0.85, 0.45,0.8, 0.55,0.8, 0.55,0.85, 0.7,0.85, 0.7,0.8, 0.8,0.8, 0.8,0.9, 0.85,0.9, 0.85,0.15, 0.9,0.1, 0.9,0.05, 0.1,0.05 }; WCPT pieces[12][15]= { 0.4,0.5, 0.45,0.6, 0.65,0.45, 0.55,0.35, 0.4,0.5, 0.4,0.45, 0.35,0.4, 0.4,0.35, 0.35,0.3, 0.35,0.2, 0.55,0.35, 0.55,0.2, 0.35,0.2, 0.25,0.1, 0.55,0.2, 0.4,0.5, 0.45,0.6, 0.65,0.45, 0.55,0.35, 0.4,0.5, 0.4,0.45, 0.35,0.4, 0.4,0.35, 0.35,0.3, 0.35,0.2, 0.55,0.35, 0.55,0.2, 0.35,0.2, 0.25,0.1, 0.55,0.2, 0.4,0.5, 0.45,0.6, 0.65,0.45, 0.55,0.35, 0.4,0.5, 0.4,0.45, 0.35,0.4, 0.4,0.35, 0.35,0.3, 0.35,0.2, 0.55,0.35, 0.55,0.2, 0.35,0.2, 0.25,0.1, 0.55,0.2, 0.4,0.5, 0.45,0.6, 0.65,0.45, 0.55,0.35, 0.4,0.5, 0.4,0.45, 0.35,0.4, 0.4,0.35, 0.35,0.3, 0.35,0.2, 0.55,0.35, 0.55,0.2, 0.35,0.2, 0.25,0.1, 0.55,0.2, 0.4,0.5, 0.45,0.6, 0.65,0.45, 0.55,0.35, 0.4,0.5, 0.4,0.45, 0.35,0.4, 0.4,0.35, 0.35,0.3, 0.35,0.2, 0.55,0.35, 0.55,0.2, 0.35,0.2, 0.25,0.1, 0.55,0.2, 0.4,0.5, 0.45,0.6, 0.65,0.45, 0.55,0.35, 0.4,0.5, 0.4,0.45, 0.35,0.4, 0.4,0.35, 0.35,0.3, 0.35,0.2, 0.55,0.35, 0.55,0.2, 0.35,0.2, 0.25,0.1, 0.55,0.2, 0.4,0.5, 0.45,0.6, 0.65,0.45, 0.55,0.35, 0.4,0.5, 0.4,0.45, 0.35,0.4, 0.4,0.35, 0.35,0.3, 0.35,0.2, 0.55,0.35, 0.55,0.2, 0.35,0.2, 0.25,0.1, 0.55,0.2, 0.4,0.5, 0.45,0.6, 0.65,0.45, 0.55,0.35, 0.4,0.5, 0.4,0.45, 0.35,0.4, 0.4,0.35, 0.35,0.3, 0.35,0.2, 0.55,0.35, 0.55,0.2, 0.35,0.2, 0.25,0.1, 0.55,0.2, 0.4,0.5, 0.45,0.6, 0.65,0.45, 0.55,0.35, 0.4,0.5, 0.4,0.45, 0.35,0.4, 0.4,0.35, 0.35,0.3, 0.35,0.2, 0.55,0.35, 0.55,0.2, 0.35,0.2, 0.25,0.1, 0.55,0.2, 0.4,0.5, 0.45,0.6, 0.65,0.45, 0.55,0.35, 0.4,0.5, 0.4,0.45, 0.35,0.4, 0.4,0.35, 0.35,0.3, 0.35,0.2, 0.55,0.35, 0.55,0.2, 0.35,0.2, 0.25,0.1, 0.55,0.2, 0.45,0.5, 0.35,0.475, 0.3,0.35, 0.35,0.25, 0.45,0.225, 0.54,0.25, 0.57,0.35, 0.56,0.45, 0.45,0.5, 0.5,0.55, 0.55,0.53, 0.6,0.6, 0.55,0.53, 0.58,0.49, 0.56,0.45, 0.35,0.15, 0.35,0.6, 0.7,0.6, 0.7,0.375, 0.35,0.375, 0.35,0.47, 0.55,0.47, 0.55,0.6, 0.35,0.47, 0.35,0.6, 0.55,0.47, 0.45,0.47, 0.45,0.6, 0.45,0.47, 0.45,0.47 }; xgks-2.6.1+dfsg.2/src/progs/stratego/CVS/0000755000175000017500000000000011413611016021103 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/progs/stratego/CVS/Entries0000644000175000017500000000113711413611016022441 0ustar amckinstryamckinstry/Imakefile/2.5.4.1/Wed Mar 10 19:43:29 1993// /Makefile/2.5.4.1/Wed Mar 10 19:43:30 1993// /Shapefile/2.5.4.1/Wed Mar 10 19:43:30 1993// /blue.c/2.5.4.1/Wed Mar 10 19:43:28 1993// /deps/2.5.4.1/Wed Mar 10 19:43:29 1993// /dist.mk/2.5.4.1/Wed Mar 10 19:43:28 1993// /makefile.shape/2.5.4.1/Wed Mar 10 19:43:30 1993// /pictures.h/2.5.4.1/Wed Mar 10 19:43:29 1993// /red.c/2.5.4.1/Wed Mar 10 19:43:29 1993// /stratego.MASK/2.5.4.1/Wed Mar 10 19:43:29 1993// /stratego.bitmap/2.5.4.1/Wed Mar 10 19:43:29 1993// /stratego.h/2.5.4.1/Wed Mar 10 19:43:29 1993// /strategovers.c/2.5.4.1/Wed Mar 10 19:43:30 1993// D xgks-2.6.1+dfsg.2/src/progs/stratego/CVS/Repository0000644000175000017500000000002411413611016023201 0ustar amckinstryamckinstryxgks/progs/stratego xgks-2.6.1+dfsg.2/src/progs/stratego/CVS/Root0000644000175000017500000000006111413611016021746 0ustar amckinstryamckinstry:pserver:anonymous@cvs.XGKS.sf.net:/cvsroot/xgks xgks-2.6.1+dfsg.2/src/progs/stratego/makefile.shape0000644000175000017500000000141311413611016023246 0ustar amckinstryamckinstry# Makefile for the "demo/stratego" subdirectory of the XGKS package. # # $Header: /cvsroot/xgks/xgks/progs/stratego/makefile.shape,v 2.5.4.1 1993/03/10 19:43:30 steve Exp $ # # Log for /u2/ldm/src/gks/x/xgks/demo/stratego/makefile.shape[1.0] # Thu Oct 11 13:38:37 1990 steve@groucho published $ # NAME = stratego VERSIONID = $(NAME)vers PRODUCT = # Directories: INCPATH = ../../include INSTALLBASE = /u2/ldm INSTALLBINDIR = $(INSTALLBASE)/bin INSTALLLIBDIR = $(INSTALLBASE)/lib INSTALLINCDIR = $(INSTALLBASE)/include INSTALL = /usr/bin/install INSTALLOPTIONS = -c -m 664 RANLIB = /bin/ranlib INCLUDES = -I$(INCPATH) CPPOPTS = $(INCLUDES) $(DEFINES) CFLAGS = -g $(CPPOPTS) xflags = -DCFFLGS='"$$Flags: <$<> $(CFLAGS) $$"' CC = cc $(xflags) all: install: clean: xgks-2.6.1+dfsg.2/src/progs/stratego/blue.c0000644000175000017500000006614311413611016021555 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * $Header: /cvsroot/xgks/xgks/progs/stratego/blue.c,v 2.5.4.1 1993/03/10 19:43:28 steve Exp $ */ #include #include #include #include #include #include "stratego.h" #include "pictures.h" static int won = FALSE; static int mycolor=BLUE; static int numleft[]= { 0, 1, 1, 2, 3, 4, 4, 4, 5, 8, 1, 6, 1 }; static WCPT numloc= { 0.28,0.65}; static Gloc last={ 1, 5.0, 5.0}; static Glocrec loc; static Gcobundl co_flashon = { 1.0, 0.0, 0.0 }, co_flashoff = { 1.0, 1.0, 1.0 }; static int pdes[2]; /* Blue-to-Red write descriptor and */ /* Red-to-Blue read descriptor */ Gchar tempstr[100]; void main( argc, argv, envp ) int argc; char *argv[], *envp[]; { int transmit=FALSE; /* transmit or receive flag */ int quit=FALSE; #ifdef DEBUG fprintf(stderr,"blue: args as follows:\n"); fprintf(stderr,"blue: %s\n %s\n %s\n %s\n %s\n",argv[0],argv[1],argv[2],argv[3],argv[4]); #endif startup(argv); #ifdef DEBUG fprintf(stderr,"blue: got past startup\n"); #endif initialize(); #ifdef DEBUG fprintf(stderr,"blue: got past initialize\n"); #endif setup(); #ifdef DEBUG fprintf(stderr,"blue: got past setup\n"); #endif transmit_set_up(); #ifdef DEBUG fprintf(stderr,"blue: got past transmit_set_up\n"); #endif while(!won && !quit) { if (transmit) { gmessage( 1, "blue move" ); quit=makemove(); sendmove(); drawmove(); transmit=FALSE; } else { gmessage( 1, "red move" ); quit=receivemove(); drawmove(); transmit=TRUE; } } /* game over and shut down */ gdeactivatews(1); gclosews(1); gclosegks(); } /* local start up remove after debugging */ lstartup() { int i,j; drawboard(HIGH); for (i=0; i<10; ++i) for (j=0; j<4; ++j) drawpiece(i,j,board[i][j].color,board[i][j].rank); #ifdef LTEST for (i=0; i<10; ++i) for (j=6; j<10; ++j) drawcastle(i,j,board[i][j].color); #endif } /**** startup ****/ startup(argv) char *argv[]; { XWMHints xwmhints; Display *xdpy; Window xwin; GC xgc; #include "stratego.bitmap" #include "stratego.MASK" pdes[READ] = atoi(argv[1]); /* read */ pdes[WRITE] = atoi(argv[2]); /* write */ /* initialize gks */ gopengks(stderr,0); gopenws(1,argv[3],NULL); /* argv[3] == display name */ gescinqxattr(1,&xdpy,&xwin,&xgc); xwmhints.flags = IconPixmapHint | IconMaskHint; xwmhints.icon_mask = XCreatePixmapFromBitmapData(xdpy,xwin,stratego_mask_bits,stratego_mask_width,stratego_mask_height,1,0,1); xwmhints.icon_pixmap = XCreatePixmapFromBitmapData(xdpy,xwin,stratego_bits,stratego_width,stratego_height,0,1,1); XSetWMHints (xdpy,xwin,&xwmhints); XSetIconName(xdpy,xwin,"XGKS stratego"); XStoreName(xdpy,xwin,"XGKS stratego"); gactivatews(1); } /**** initialize ****/ /* initialize does the initialization for gks,windows,color table, board, fill style, and line type. */ initialize() { Glimit templim; Gcobundl tempcol; Glimit earea; Gtxfp temptxfp; /* set windows */ templim.xmin = 0.0; templim.xmax = 12.5; templim.ymin = 0.0; templim.ymax = 10.0; gsetwindow(1,&templim); templim.xmin = 0.0; templim.xmax = 1.0; templim.ymin = 0.0; templim.ymax = 1.0; gsetviewport(1,&templim); gselntran(1); /* prepare color table */ tempcol.red = 0.0; tempcol.blue = 0.0; tempcol.green = 0.66; gsetcolorrep(1,GREEN,&tempcol); tempcol.red = 0.66; tempcol.blue = 0.0; tempcol.green = 0.0; gsetcolorrep(1,RED,&tempcol); tempcol.red = 0.0; tempcol.blue = 0.66; tempcol.green = 0.0; gsetcolorrep(1,BLUE,&tempcol); tempcol.red = 0.0; tempcol.blue = 0.0; tempcol.green = 0.0; gsetcolorrep(1,BLACK,&tempcol); tempcol.red = 0.0; tempcol.blue = 1.0; tempcol.green = 0.0; gsetcolorrep(1,L_BLUE,&tempcol); tempcol.red = 1.0; tempcol.blue = 1.0; tempcol.green = 1.0; gsetcolorrep(1,WHITE,&tempcol); gsetcolorrep(1,FLASH1,&co_flashoff); gsetcolorrep(1,FLASH2,&co_flashoff); /* initialize locator attributes */ loc.pet3.data = NULL; /* set styles */ gsetfillintstyle(GSOLID); gsetlinetype(1); temptxfp.font = 1; temptxfp.prec = GSTRING; gsettextfontprec( &temptxfp ); /* setup locator */ earea.xmin = 0.0; earea.xmax = 1023.0; earea.ymin = 0.0; earea.ymax = 1023.0; ginitloc(1,1,&last,3,&earea,&loc); gsetlocmode(1,1,GREQUEST,GECHO); gsetviewportinputpri(1,0,GHIGHER); } /**** set up *****/ /* start of routine that allows player to initialize the board with */ /* the pieces he wants placed in the positions he wants */ setup() { int i; WCPT at,pts[5]; char string[255]; Gtxalign txalgn; drawboard(LOW); for (i=0; i<10; ++i) { drawpiece(i,8,mycolor,(i+1)); drawnum((i+0.5),9.5,numleft[i+1],WHITE); } for (i=0; i<2; ++i) { drawpiece(i,6,mycolor,(i+11)); drawnum((i+0.5),7.5,numleft[i+11],WHITE); } setupcurpts(pts); /* draw 'current piece' box */ gsetlinecolourind(BLUE); gsetlinewidth(0.3); gpolyline(5,pts); strcpy( string, "current piece" ); gsetcharheight(0.15); txalgn.hor = GTH_CENTRE; txalgn.ver = GTV_HALF; gsettextalign(&txalgn); gsettextcolourind(BLUE); at.x=8.5; at.y=5.7; gtext(&at,string); drawsquare(4,6,BLUE); strcpy( string, "FINISHED" ); gsettextcolourind(WHITE); at.x=4.5; at.y=5.7; gtext(&at,string); #ifndef LTEST clearboard(); /* clear the board */ #endif putdownpc(); /* call the routine that lets player put down pieces */ } /* clearboard -- sets all the board to NO_PIECE */ clearboard() { int x,y; for (x = 0; x < 10; x++) for (y = 0; y < 10; y++) { board[x][y].rank = NO_PIECE; board[x][y].color = 0; } /* set lake areas of the board to a -1 rank */ board[2][4].rank=board[2][5].rank=board[3][4].rank=board[3][5].rank= -1; board[6][4].rank=board[6][5].rank=board[7][4].rank=board[7][5].rank= -1; } /**** pick square *****/ /* this routine returns the integer value of the coordinates of the sqaure */ /* picked by the player */ Gistat picksquare(x,y) int *x,*y; { Gistat status; Gqloc locrec; greqloc(1,1,&locrec); last = locrec.loc; status = locrec.status; *x=(int)last.position.x; *y=(int)last.position.y; if (*x==10) *x=9; if (*y==10) *y=9; /* check for exception case at end of screen and round */ return(status); } /*** draw castle ****/ /* this routine draws a blank castle in any color, given x,y, and color */ drawcastle(x,y,col) int x,y,col; { int i; WCPT pts[CASTLEPNTS]; gsetfillcolourind(col); for (i=0; i1) /* horizontal move more than one space */ { if (sx=sx-spacesx && scoutmove;--i) { if (board[i][sy].rank !=NO_PIECE) { /* there was a piece in the way of the move */ scoutmove=0; } } } } else if (spacesy >1) /* vertical move more than one space */ { if (sy= sy-spacesy && scoutmove; --i) { if (board[sx][i].rank != NO_PIECE) { /* there was a piece in the way */ scoutmove=0; } } } } } } if (!scoutmove) { return(0); } else { return(1); } } return(0); /* was diagonal or was lake move */ } /**** quitgame ****/ /* quitgame prompts the user with the option to quit, skip turn, or return without skipping turn. */ quitgame() { char c; do { fprintf(stderr," 1) QUIT\n"); fprintf(stderr," 2) SKIP TURN\n"); fprintf(stderr," 3) RETURN WITHOUT SKIPPING TURN\n"); fprintf(stderr,"\n CHOOSE 1-3 "); c=getchar(); rewind(stdin); } while (c< '1' || c> '3'); fprintf(stderr,"\n"); return(c-'0'); } /**** drawmove ****/ /* drawmove takes the origination square and destination square and make the move both pictorally and internally. there are two cases. 1) no fight 2) fight the first case is rather simple. however in the second case it must be determined who is the winner and who is attacking. each possability is addressed. */ drawmove() { int winner; /* the winner of a single fight */ int i,j; if (orig.x==SKIPMOVE || orig.x==QUIT) return; /* skipped or quit */ if (board[dest.x][dest.y].rank == NO_PIECE) /*** NO FIGHT ***/ { drawsquare(orig.x,orig.y,GREEN); /*erase square */ if (board[orig.x][orig.y].color == mycolor) drawpiece(dest.x,dest.y,mycolor,board[orig.x][orig.y].rank); else /* only draw shape of opponents piece */ drawcastle(dest.x,dest.y,board[orig.x][orig.y].color); /* make internal representation changes */ board[dest.x][dest.y].rank=board[orig.x][orig.y].rank; board[dest.x][dest.y].color=board[orig.x][orig.y].color; board[orig.x][orig.y].rank=NO_PIECE; } else /** FIGHT **/ { drawsquare(orig.x,orig.y,FLASH1); /* draw highlighted squares */ drawsquare(dest.x,dest.y,FLASH2); drawpiece(orig.x,orig.y,board[orig.x][orig.y].color,board[orig.x][orig.y].rank); drawpiece(dest.x,dest.y,board[dest.x][dest.y].color,board[dest.x][dest.y].rank); for (i=0;i<300;++i); /* time delay */ /* call findwinner. if return 0, piece on orig square wins (attacker) if return 1, piece on dest square wins (defender) if return 2, both pieces are equal, and both lose */ winner=findwinner(board[orig.x][orig.y].rank,board[dest.x][dest.y].rank); if (winner == 0) { /* attacker wins */ for (i=0;i<7;++i) { gsetcolorrep(1,FLASH1,&co_flashon); for (j=0; j<16000; ++j) ; gsetcolorrep(1,FLASH1,&co_flashoff); } drawsquare(orig.x,orig.y,GREEN); drawsquare(dest.x,dest.y,GREEN); if (board[orig.x][orig.y].color == mycolor) { drawpiece(dest.x,dest.y,mycolor,board[orig.x][orig.y].rank); addpow(board[dest.x][dest.y].rank); if (board[dest.x][dest.y].rank==FLAG) { fprintf(stderr,"you won\n"); won=1; } } else /* only draw shape of opponents piece */ { drawcastle(dest.x,dest.y,board[orig.x][orig.y].color); if (board[dest.x][dest.y].rank==FLAG) { fprintf(stderr,"you lose\n"); won=1; } } board[dest.x][dest.y].rank=board[orig.x][orig.y].rank; board[dest.x][dest.y].color=board[orig.x][orig.y].color; board[orig.x][orig.y].rank=NO_PIECE; } else if (winner==1) /* defender wins */ { for (i=0;i<7;++i) { gsetcolorrep(1,FLASH2,&co_flashon); for (j=0; j<16000; ++j) ; gsetcolorrep(1,FLASH2,&co_flashoff); } drawsquare(orig.x,orig.y,GREEN); drawsquare(dest.x,dest.y,GREEN); if (board[dest.x][dest.y].color==mycolor) { drawpiece(dest.x,dest.y,mycolor,board[dest.x][dest.y].rank); addpow(board[orig.x][orig.y].rank); } else drawcastle(dest.x,dest.y,board[dest.x][dest.y].color); board[orig.x][orig.y].rank=NO_PIECE; } else /* both pieces lose */ { for (i=0;i<7;++i) { gsetcolorrep(1,FLASH1,&co_flashon); gsetcolorrep(1,FLASH2,&co_flashon); for (j=0; j<16000; ++j) ; gsetcolorrep(1,FLASH1,&co_flashoff); gsetcolorrep(1,FLASH2,&co_flashoff); } fprintf(stderr," you both lose your pieces!\n"); if (board[dest.x][dest.y].color==mycolor) addpow(board[orig.x][orig.y].rank); else addpow(board[dest.x][dest.y].rank); drawsquare(orig.x,orig.y,GREEN); drawsquare(dest.x,dest.y,GREEN); board[orig.x][orig.y].rank=board[dest.x][dest.y].rank=NO_PIECE; } } } /**** addpow ****/ /* addpow admits an opponents piece to the P.O.W. camp and prints what pieces are in the camp. THIS IS ONLY TEMPORARY */ static int pow[]={0,0,0,0,0,0,0,0,0,0,0,0 }; addpow(rank) int rank; { #if 0 if (rank!=FLAG) { (pow[rank])++; fprintf(stderr," CAPTURED PIECES\n"); fprintf(stderr,"1 2 3 4 5 6 7 8 9 S B\n"); fprintf(stderr,"- - - - - - - - - - -\n"); fprintf(stderr,"%d %d %d %d %d %d %d %d %d %d %d\n",pow[1],pow[2],pow[3],pow[4],pow[5],pow[6],pow[7],pow[8],pow[9],pow[10],pow[11]); } #endif } /**** findwinner ****/ /* findwinner finds the winner of a single fight. the parameters are a and b. a is the rank of the attacker. b is the rank of the defender. if the a wins a 0 is returned. if b wins a 1 is returned. the method is to make a general statement that a higher piece wins and then check if a special case took place and change the result of the fight accordingly. */ findwinner(a,b) int a,b; { int victor; /* first use general rule */ if (b=6;--j) { for(i=9;i>=0;--i) { read(pdes[READ],&rank,sizeof(rank)); board[i][j].rank=rank; board[i][j].color=oppcolor; drawcastle(i,j,oppcolor); } } /* write */ for (j=0;j<4;++j) { for (i=0;i<10;++i) { rank=board[i][j].rank; write(pdes[WRITE],&rank,sizeof(rank)); } } } xgks-2.6.1+dfsg.2/src/progs/stratego/stratego.MASK0000644000175000017500000000425511413611016022763 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * $Header: /cvsroot/xgks/xgks/progs/stratego/stratego.MASK,v 2.5.4.1 1993/03/10 19:43:29 steve Exp $ */ #define stratego_mask_width 30 #define stratego_mask_height 40 static char stratego_mask_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f}; xgks-2.6.1+dfsg.2/src/progs/stratego/stratego.bitmap0000644000175000017500000000424011413611016023476 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * $Header: /cvsroot/xgks/xgks/progs/stratego/stratego.bitmap,v 2.5.4.1 1993/03/10 19:43:29 steve Exp $ */ #define stratego_width 30 #define stratego_height 40 static char stratego_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, 0x38, 0x00, 0x00, 0x07, 0x38, 0x3f, 0x3f, 0x07, 0x38, 0x3f, 0x3f, 0x07, 0x38, 0x3f, 0x3f, 0x07, 0x38, 0x3f, 0x3f, 0x07, 0xf8, 0xff, 0xff, 0x07, 0xf8, 0xff, 0xff, 0x07, 0xf8, 0xff, 0xff, 0x07, 0xf8, 0xff, 0xff, 0x07, 0xf8, 0xff, 0xff, 0x07, 0xf8, 0xff, 0xff, 0x07, 0xf8, 0xff, 0xff, 0x07, 0xf8, 0x01, 0xe0, 0x07, 0xf8, 0xa9, 0xea, 0x07, 0xf8, 0x55, 0xe5, 0x07, 0xf8, 0xa9, 0xea, 0x07, 0xf8, 0x55, 0xe5, 0x07, 0xf8, 0xa9, 0xea, 0x07, 0xf8, 0x55, 0xe5, 0x07, 0xf8, 0xa9, 0xea, 0x07, 0xf8, 0x01, 0xe0, 0x07, 0xf8, 0xfd, 0xff, 0x07, 0xf8, 0xfd, 0xff, 0x07, 0xf8, 0xfd, 0xff, 0x07, 0xf8, 0xfd, 0xff, 0x07, 0xf8, 0xfd, 0xff, 0x07, 0xf8, 0xfd, 0xff, 0x07, 0xf8, 0xfd, 0xff, 0x07, 0xf8, 0xfd, 0xff, 0x07, 0xf8, 0xfd, 0xff, 0x07, 0xf8, 0xff, 0xff, 0x07, 0xfc, 0xff, 0xff, 0x0f, 0xfe, 0xff, 0xff, 0x1f, 0xfe, 0xff, 0xff, 0x1f, 0xfe, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00}; xgks-2.6.1+dfsg.2/src/progs/stratego/Makefile0000644000175000017500000000077611413611016022122 0ustar amckinstryamckinstry# # XXXX-XXX (C) COPYRIGHT IBM CORPORATION 1988 # LICENSED MATERIALS - PROPERTY OF IBM # REFER TO COPYRIGHT INSTRUCTIONS FORM NUMBER G120-2083 # # standard makefile for use with U. of I. GKS # CFLAGS = -O -I/usr/include/local -I../../include # gks libraries LIBS = -lgks -lgksrpc -lrpc -lm # yourprog depends on its .o file and the gks libraries # yourprog.o depends on yourprog.c, but make "knows" that. red: red.o $(CC) $(CFLAGS) -o $@ $@.o $(LIBS) blue: blue.o $(CC) $(CFLAGS) -o $@ $@.o $(LIBS) xgks-2.6.1+dfsg.2/src/progs/stratego/strategovers.c0000644000175000017500000000171011413611016023343 0ustar amckinstryamckinstry/* * Copyright (C) 1988, 1989, 1990 UCAR/Unidata * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose without fee is hereby granted, provided * that the above copyright notice appear in all copies, that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of UCAR/Unidata not be used in * advertising or publicity pertaining to distribution of the software * without specific, written prior permission. UCAR makes no * representations about the suitability of this software for any purpose. * It is provided "as is" without express or implied warranty. It is * provided with no support and without obligation on the part of UCAR * Unidata, to assist in its use, correction, modification, or enhancement. */ char *strategovers () { static char ConfID[] = "1.1 [published] (Tue Mar 27 16:12:05 1990 by steve@groucho)"; return ConfID; } xgks-2.6.1+dfsg.2/src/progs/stratego/stratego.h0000644000175000017500000000523311413611016022454 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * $Header: /cvsroot/xgks/xgks/progs/stratego/stratego.h,v 2.5.4.1 1993/03/10 19:43:29 steve Exp $ */ #define NO_PIECE 0 #define MARSHAL 1 #define GENERAL 2 #define COLONEL 3 #define MAJOR 4 #define CAPTAIN 5 #define LIEUTENANT 6 #define SERGEANT 7 #define MINER 8 #define SCOUT 9 #define SPY 10 #define BOMB 11 #define FLAG 12 #define GREEN 0 #define RED 1 #define BLUE 2 #define BLACK 3 #define L_BLUE 4 #define WHITE 5 #define FLASH1 6 #define FLASH2 7 #define LOW 0 #define HIGH 1 #define QUIT -1 #define SKIPMOVE 99 #define FALSE 0 #define TRUE 1 #define READ 0 #define WRITE 1 /* variable declarations */ typedef struct { int rank,color; } SQUARE; typedef struct { int x,y; } POSITION; SQUARE board[10][10]={ 12,1, 11,1, 3,1, 1,1, 0,0, 0,0, 1,2, 3,2, 11,2, 12,2, 11,1, 11,1, 3,1, 2,1, 0,0, 0,0, 2,2, 3,2, 11,2, 11,2, 4,1, 4,1, 11,1, 5,1, 0,0, 0,0, 5,2, 11,2, 4,2, 4,2, 4,1, 5,1, 5,1, 11,1, 0,0, 0,0, 11,2, 5,2, 5,2, 4,2, 6,1, 6,1, 6,1, 5,1, 0,0, 0,0, 5,2, 6,2, 6,2, 6,2, 8,1, 8,1, 7,1, 11,1, 0,0, 0,0, 11,2, 7,2, 8,2, 8,2, 8,1, 7,1, 7,1, 6,1, 0,0, 0,0, 6,2, 7,2, 7,2, 8,2, 9,1, 9,1, 8,1, 8,1, 0,0, 0,0, 8,2, 8,2, 9,2, 9,2, 9,1, 7,1, 9,1, 9,1, 0,0, 0,0, 9,2, 9,2, 7,2, 9,2, 10,1, 9,1, 9,1, 9,1, 0,0, 0,0, 9,2, 9,2, 9,2, 10,2 }; POSITION orig,dest; /* origination and destination squares positions */ xgks-2.6.1+dfsg.2/src/progs/RELEASE.NOTES0000644000175000017500000000201211413611016020505 0ustar amckinstryamckinstrydemo.h Corrected bug in choice-area assignment making the BREAK key finally work. *.c Conversion to UDPOSIX conventions. Major cosmetic surgery. hanoi.c Corrected wrong argument in gsetlinetype() call. Modified to use getopt(3). Changed invocation syntax to "hanoi [-d display] [-n num] [-o file]" Changed default output GKSM to "hanoi.gksm" from "hanoi.out". Added setting of output colors and correct use of color indexes. font.c Modified to use getopt(3). Changed invocation syntax to "font [-d display] [-o file]". Changed default output GKSM to "font.gksm" from "font.out". mi.c Modified to use getopt(3). Changed invocation syntax to "mi [-d display] file". Added BREAK pause after every CLEAR WORKSTATION item. Removed unneeded diagnostic print statements. gksdemo.f Corrected calls to GPREC(). Character strings are no longer packed into a single array, but are separated. According to the GKS FORTRAN standard, it should have been this way all along. xgks-2.6.1+dfsg.2/src/progs/font.c0000644000175000017500000001625011413611016017736 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * University of Illinois at Urbana-Champaign * Department of Computer Science * 1304 W. Springfield Ave. * Urbana, IL 61801 * * (C) Copyright 1987, 1988 by The University of Illinois Board of Trustees. * All rights reserved. * * Tool: X 11 Graphical Kernel System * Author: Gregory Scott Rogers * Author: Sung Hsien Ching Kelvin * Author: Yu Pan */ #ifndef lint static char rcsid[] = "$Id: font.c,v 2.6 2000/08/01 16:54:20 steve Exp $"; static char afsid[] = "$__Header$"; #endif #include "udposix.h" #include /* for atof() */ #include #include #include #include "xgks.h" #include "demo.h" Gint ws_id = 1; Gint result; Glimit w; Glimit v; Glimit wsw; Glimit wsv; static int show_font(font) int font; { Gpoint tpt; char s[100]; Gpoint up; Gtxfp txfp; Gtxalign align; txfp.font = 1; txfp.prec = GSTROKE; if (gsettextfontprec(&txfp) != 0) return 0; /* gsetcharexpan(0.5); */ /* gsetcharspace(0.2); */ gsettextcolorind(WHITE); gsetcharheight(0.05); up.x = 0.0; up.y = 1.0; gsetcharup(&up); align.hor = GTH_CENTER; align.ver = GTV_BASE; gsettextalign(&align); gsettextpath(GTP_RIGHT); tpt.x = 0.5; tpt.y = 0.9; (void) sprintf(s, "GKS VECTOR FONT NUMBER %d", font); gtext(&tpt, s); gsetcharheight(0.05); align.hor = GTH_LEFT; align.ver = GTV_BASE; gsettextalign(&align); txfp.font = font; txfp.prec = GSTROKE; if (gsettextfontprec(&txfp) != 0) return 0; tpt.x = 0.01; tpt.y = 0.80; gtext(&tpt, " !\"#$%&'()*+,-./:;<=>?@"); tpt.y -= 0.08; gtext(&tpt, "0123456789"); tpt.y -= 0.08; gtext(&tpt, "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); tpt.y -= 0.08; gtext(&tpt, "abcdefghijklmnopqrstuvwxyz"); tpt.y -= 0.08; gtext(&tpt, "[\\]^_`{|}~"); return 1; } main(argc, argv) int argc; char *argv[]; { int i; int c; char *conn = NULL; char *mo_path = "font.gksm"; Gtxfac fac; extern char *optarg; extern int optind; while ((c = getopt(argc, argv, "d:o:")) != -1) { switch (c) { case 'd': conn = optarg; break; case 'o': mo_path = optarg; break; } } gopengks(stdout, 0); if ((result = gopenws(ws_id, conn, conn)) != 0) perr(result, "...open_ws"); gactivatews(ws_id); gopenws(200, mo_path, "MO"); gactivatews(200); wsw.xmin = 0.0; wsw.xmax = 1.0; wsw.ymin = 0.0; wsw.ymax = 0.8; gsetwswindow(200, &wsw); wsv.xmin = 0.0; wsv.xmax = 1279.0; wsv.ymin = 0.0; wsv.ymax = 1023.0; gsetwsviewport(200, &wsv); w.xmin = 0.0; w.xmax = 1.0; w.ymin = 0.0; w.ymax = 1.0; gsetwindow(1, &w); v.xmin = 0.0; v.xmax = 1.0; v.ymin = 0.0; v.ymax = 0.8; gsetviewport(1, &v); gsetwswindow(ws_id, &wsw); gsetwsviewport(ws_id, &wsv); gselntran(1); ginqtextfacil((char*)NULL, &fac); (void) free((voidp)fac.fp_list); test_font(fac.fps); (void) fputs("Enter BREAK in window to continue\n", stderr); WaitForBreak(1); for (i = 1; i <= fac.fps; ++i) { gclearws(200, GALWAYS); gclearws(1, GALWAYS); if (!show_font(i)) break; (void) fputs("Enter BREAK in window to continue\n", stderr); WaitForBreak(1); } if ((result = gdeactivatews(200)) != 0) perr(result, "...deactivate_ws"); if ((result = gclosews(200)) != 0) perr(result, "...close_ws"); if ((result = gdeactivatews(ws_id)) != 0) perr(result, "...deactivate_ws"); if ((result = gclosews(ws_id)) != 0) perr(result, "...close_ws"); if ((result = gclosegks()) != 0) perr(result, "...close_gks"); (void) fprintf(stdout, "after close_gks\n"); return 0; } perr(i, s) int i; char *s; { (void) fprintf(stdout, "%s %d\n", s, i); exit(1); } Gasfs asf = { GINDIVIDUAL, GINDIVIDUAL, GINDIVIDUAL, /* polyline */ GINDIVIDUAL, GINDIVIDUAL, GINDIVIDUAL, /* polymarker */ GINDIVIDUAL, GINDIVIDUAL, GINDIVIDUAL, GINDIVIDUAL, /* text */ GINDIVIDUAL, GINDIVIDUAL, GINDIVIDUAL /* fillarea */ }; test_font(nfonts) int nfonts; { Gpoint tpt; char s[100]; int i; Gpoint up; Gtxfp txfp; Gtxalign align; txfp.font = 4; txfp.prec = GSTROKE; gsettextfontprec(&txfp); /* gsetcharexpan(0.5); */ /* gsetcharspace(0.2); */ gsettextcolorind(WHITE); gsetcharheight(0.05); up.x = 0.0; up.y = 1.0; gsetcharup(&up); align.hor = GTH_CENTER; align.ver = GTV_BASE; gsettextalign(&align); gsettextpath(GTP_RIGHT); gsetasf(&asf); tpt.x = 0.5; tpt.y = 0.9; gtext(&tpt, "GKS VECTOR FONTS"); gsetcharheight(0.05); align.hor = GTH_LEFT; align.ver = GTV_BASE; gsettextalign(&align); tpt.x = 0.01; tpt.y = 0.90; for (i = 1; i <= nfonts; i++) { txfp.font = i; txfp.prec = GSTROKE; gsettextfontprec(&txfp); SetColor(i); tpt.y -= 0.08; (void) sprintf(s, "Font #%d AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz", i); gtext(&tpt, s); } } SetColor(hash) Gint hash; { Gcobundl rep; int color_index = hash%9 + 1; switch (color_index) { case 1: rep.red = 1.0; rep.green = 1.0; rep.blue = 1.0; break; case 2: rep.red = 1.0; rep.green = 0.0; rep.blue = 0.0; break; case 3: rep.red = 0.0; rep.green = 1.0; rep.blue = 0.0; break; case 4: rep.red = 0.0; rep.green = 0.0; rep.blue = 1.0; break; case 5: rep.red = 1.0; rep.green = 1.0; rep.blue = 0.0; break; case 6: rep.red = 0.0; rep.green = 1.0; rep.blue = 1.0; break; case 7: rep.red = 1.0; rep.green = 0.0; rep.blue = 1.0; break; case 8: rep.red = 1.0; rep.green = 0.5; rep.blue = 0.0; break; case 9: rep.red = 0.0; rep.green = 1.0; rep.blue = 0.5; break; } gsetcolourrep(1, color_index, &rep); gsetcolourrep(200, color_index, &rep); gsettextcolorind(color_index); return; } xgks-2.6.1+dfsg.2/src/fontdb/0000755000175000017500000000000012124103734016745 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/fontdb/depend0000644000175000017500000000025511413611016020126 0ustar amckinstryamckinstrya.o: a.c fontdbvers.o: fontdbvers.c hf2gks.o: hf2gks.c hf2gsk.o: hf2gsk.c mkfont.o: ../lib/c/font.h mkfont.o: mkfont.c rshowfont.o: ../lib/c/font.h rshowfont.o: rshowfont.c xgks-2.6.1+dfsg.2/src/fontdb/b.src0000644000175000017500000004206511413611016017703 0ustar amckinstryamckinstryU 16 # C ! m 5 105 n 5 35 n 10 35 m 5 105 n 10 105 n 10 35 m 5 15 n 0 10 n 0 5 n 5 0 n 10 0 n 15 5 n 15 10 n 10 15 n 5 15 m 5 10 n 5 5 n 10 5 n 10 10 n 5 10 E # C " m 5 105 n 0 100 n 0 70 m 5 100 n 0 70 m 5 105 n 10 100 n 0 70 m 50 105 n 45 100 n 45 70 m 50 100 n 45 70 m 50 105 n 55 100 n 45 70 E # C # m 40 125 n 5 -35 m 70 125 n 35 -35 m 5 60 n 75 60 m 0 30 n 70 30 E # C $ m 30 125 n 30 -20 n 35 -20 m 30 125 n 35 125 n 35 -20 m 55 90 n 65 90 n 55 100 n 40 105 n 25 105 n 10 100 n 0 90 n 0 80 n 5 70 n 10 65 n 50 45 n 55 40 n 60 30 n 60 20 n 55 10 n 40 5 n 25 5 n 15 10 n 10 15 m 55 90 n 50 95 n 40 100 n 25 100 n 10 95 n 5 90 n 5 80 n 10 70 n 50 50 n 60 40 n 65 30 n 65 20 n 60 10 n 55 5 n 40 0 n 25 0 n 10 5 n 0 15 n 10 15 m 60 15 n 45 5 E # C % m 90 105 n 0 0 m 25 105 n 35 95 n 35 85 n 30 75 n 20 70 n 10 70 n 0 80 n 0 90 n 5 100 n 15 105 n 25 105 n 35 100 n 50 95 n 65 95 n 80 100 n 90 105 m 70 35 n 60 30 n 55 20 n 55 10 n 65 0 n 75 0 n 85 5 n 90 15 n 90 25 n 80 35 n 70 35 E # C & m 95 70 n 85 70 n 75 65 n 70 55 n 60 25 n 55 15 n 50 10 n 40 5 n 20 5 n 10 10 n 5 20 n 5 30 n 10 40 n 15 45 n 40 60 n 50 70 n 55 80 n 55 90 n 50 100 n 40 105 n 35 105 n 25 100 n 20 90 n 20 80 n 25 65 n 35 50 n 60 20 n 75 5 n 85 0 n 95 0 m 95 70 n 95 65 n 85 65 n 75 60 m 80 65 n 75 55 n 65 25 n 60 15 n 50 5 n 40 0 n 20 0 n 10 5 n 5 10 n 0 20 n 0 30 n 5 40 n 15 50 n 40 65 n 45 70 n 50 80 n 50 90 n 45 100 m 50 95 n 40 100 n 35 100 n 25 95 m 30 100 n 25 90 n 25 80 n 30 65 n 40 50 n 65 20 n 75 10 n 85 5 n 95 5 n 95 0 E # C ' m 5 105 n 0 100 n 0 70 m 5 100 n 0 70 m 5 105 n 10 100 n 0 70 E # C ( m 35 125 n 25 115 n 15 100 n 5 80 n 0 55 n 0 35 n 5 10 n 15 -10 n 25 -25 n 35 -35 n 40 -35 m 35 125 n 40 125 n 30 115 n 20 100 n 10 80 n 5 55 n 5 35 n 10 10 n 20 -10 n 30 -25 n 40 -35 E # C ) m 0 125 n 10 115 n 20 100 n 30 80 n 35 55 n 35 35 n 30 10 n 20 -10 n 10 -25 n 0 -35 n 5 -35 m 0 125 n 5 125 n 15 115 n 25 100 n 35 80 n 40 55 n 40 35 n 35 10 n 25 -10 n 15 -25 n 5 -35 E # C * m 25 105 n 20 100 n 30 50 n 25 45 m 25 105 n 25 45 m 25 105 n 30 100 n 20 50 n 25 45 m 0 90 n 5 90 n 45 60 n 50 60 m 0 90 n 50 60 m 0 90 n 0 85 n 50 65 n 50 60 m 50 90 n 45 90 n 5 60 n 0 60 m 50 90 n 0 60 m 50 90 n 50 85 n 0 65 n 0 60 E # C + m 40 90 n 40 5 n 45 5 m 40 90 n 45 90 n 45 5 m 0 50 n 85 50 n 85 45 m 0 50 n 0 45 n 85 45 E # C , m 15 5 n 10 0 n 5 0 n 0 5 n 0 10 n 5 15 n 10 15 n 15 10 n 15 -5 n 10 -15 n 0 -20 m 5 10 n 5 5 n 10 5 n 10 10 n 5 10 m 10 0 n 15 -5 m 15 5 n 10 -15 E # C - m 0 50 n 85 50 n 85 45 m 0 50 n 0 45 n 85 45 E # C . m 5 15 n 0 10 n 0 5 n 5 0 n 10 0 n 15 5 n 15 10 n 10 15 n 5 15 m 5 10 n 5 5 n 10 5 n 10 10 n 5 10 E # C / m 90 125 n 0 -35 n 5 -35 m 90 125 n 95 125 n 5 -35 E # C 0 m 30 105 n 15 100 n 5 85 n 0 60 n 0 45 n 5 20 n 15 5 n 30 0 n 40 0 n 55 5 n 65 20 n 70 45 n 70 60 n 65 85 n 55 100 n 40 105 n 30 105 m 20 100 n 10 85 n 5 60 n 5 45 n 10 20 n 20 5 m 15 10 n 30 5 n 40 5 n 55 10 m 50 5 n 60 20 n 65 45 n 65 60 n 60 85 n 50 100 m 55 95 n 40 100 n 30 100 n 15 95 E # C 1 m 0 85 n 10 90 n 25 105 n 25 0 m 0 85 n 0 80 n 10 85 n 20 95 n 20 0 n 25 0 E # C 2 m 5 80 n 5 85 n 10 95 n 15 100 n 25 105 n 45 105 n 55 100 n 60 95 n 65 85 n 65 75 n 60 65 n 50 50 n 5 0 m 5 80 n 10 80 n 10 85 n 15 95 n 25 100 n 45 100 n 55 95 n 60 85 n 60 75 n 55 65 n 45 50 n 0 0 m 5 5 n 70 5 n 70 0 m 0 0 n 70 0 E # C 3 m 10 105 n 65 105 n 30 60 m 10 105 n 10 100 n 60 100 m 60 105 n 25 60 m 30 65 n 40 65 n 55 60 n 65 50 n 70 35 n 70 30 n 65 15 n 55 5 n 40 0 n 25 0 n 10 5 n 5 10 n 0 20 n 5 20 m 25 60 n 40 60 n 55 55 n 65 40 m 45 60 n 60 50 n 65 35 n 65 30 n 60 15 n 45 5 m 65 25 n 55 10 n 40 5 n 25 5 n 10 10 n 5 20 m 20 5 n 5 15 E # C 4 m 50 90 n 50 0 n 55 0 m 55 105 n 55 0 m 55 105 n 0 25 n 75 25 m 50 90 n 5 25 m 5 30 n 75 30 n 75 25 E # C 5 m 10 105 n 5 60 m 15 100 n 10 65 m 10 105 n 60 105 n 60 100 m 15 100 n 60 100 m 10 65 n 25 70 n 40 70 n 55 65 n 65 55 n 70 40 n 70 30 n 65 15 n 55 5 n 40 0 n 25 0 n 10 5 n 5 10 n 0 20 n 5 20 m 5 60 n 10 60 n 20 65 n 40 65 n 55 60 n 65 45 m 45 65 n 60 55 n 65 40 n 65 30 n 60 15 n 45 5 m 65 25 n 55 10 n 40 5 n 25 5 n 10 10 n 5 20 m 20 5 n 5 15 E # C 6 m 50 100 n 55 90 n 60 90 n 55 100 n 40 105 n 30 105 n 15 100 n 5 85 n 0 60 n 0 35 n 5 15 n 15 5 n 30 0 n 35 0 n 50 5 n 60 15 n 65 30 n 65 35 n 60 50 n 50 60 n 35 65 n 30 65 n 15 60 n 5 50 m 55 95 n 40 100 n 30 100 n 15 95 m 20 100 n 10 85 n 5 60 n 5 35 n 10 15 n 25 5 m 5 25 n 15 10 n 30 5 n 35 5 n 50 10 n 60 25 m 40 5 n 55 15 n 60 30 n 60 35 n 55 50 n 40 60 m 60 40 n 50 55 n 35 60 n 30 60 n 15 55 n 5 40 m 25 60 n 10 50 n 5 35 E # C 7 m 0 105 n 70 105 n 20 0 m 0 105 n 0 100 n 65 100 m 65 105 n 15 0 n 20 0 E # C 8 m 25 105 n 10 100 n 5 90 n 5 80 n 10 70 n 15 65 n 25 60 n 45 55 n 55 50 n 60 45 n 65 35 n 65 20 n 60 10 n 45 5 n 25 5 n 10 10 n 5 20 n 5 35 n 10 45 n 15 50 n 25 55 n 45 60 n 55 65 n 60 70 n 65 80 n 65 90 n 60 100 n 45 105 n 25 105 m 15 100 n 10 90 n 10 80 n 15 70 n 25 65 n 45 60 n 55 55 n 65 45 n 70 35 n 70 20 n 65 10 n 60 5 n 45 0 n 25 0 n 10 5 n 5 10 n 0 20 n 0 35 n 5 45 n 15 55 n 25 60 n 45 65 n 55 70 n 60 80 n 60 90 n 55 100 m 60 95 n 45 100 n 25 100 n 10 95 m 5 15 n 20 5 m 50 5 n 65 15 E # C 9 m 60 55 n 50 45 n 35 40 n 30 40 n 15 45 n 5 55 n 0 70 n 0 75 n 5 90 n 15 100 n 30 105 n 35 105 n 50 100 n 60 90 n 65 70 n 65 45 n 60 20 n 50 5 n 35 0 n 25 0 n 10 5 n 5 15 n 10 15 n 15 5 m 60 70 n 55 55 n 40 45 m 60 65 n 50 50 n 35 45 n 30 45 n 15 50 n 5 65 m 25 45 n 10 55 n 5 70 n 5 75 n 10 90 n 25 100 m 5 80 n 15 95 n 30 100 n 35 100 n 50 95 n 60 80 m 40 100 n 55 90 n 60 70 n 60 45 n 55 20 n 45 5 m 50 10 n 35 5 n 25 5 n 10 10 E # C : m 5 70 n 0 65 n 0 60 n 5 55 n 10 55 n 15 60 n 15 65 n 10 70 n 5 70 m 5 65 n 5 60 n 10 60 n 10 65 n 5 65 m 5 15 n 0 10 n 0 5 n 5 0 n 10 0 n 15 5 n 15 10 n 10 15 n 5 15 m 5 10 n 5 5 n 10 5 n 10 10 n 5 10 E # C ; m 5 70 n 0 65 n 0 60 n 5 55 n 10 55 n 15 60 n 15 65 n 10 70 n 5 70 m 5 65 n 5 60 n 10 60 n 10 65 n 5 65 m 15 5 n 10 0 n 5 0 n 0 5 n 0 10 n 5 15 n 10 15 n 15 10 n 15 -5 n 10 -15 n 0 -20 m 5 10 n 5 5 n 10 5 n 10 10 n 5 10 m 10 0 n 15 -5 m 15 5 n 10 -15 E # C < m 80 90 n 0 45 n 80 0 E # C = m 0 70 n 85 70 n 85 65 m 0 70 n 0 65 n 85 65 m 0 30 n 85 30 n 85 25 m 0 30 n 0 25 n 85 25 E # C > m 0 90 n 80 45 n 0 0 E # C ? m 0 80 n 0 85 n 5 95 n 10 100 n 25 105 n 40 105 n 55 100 n 60 95 n 65 85 n 65 75 n 60 65 n 55 60 n 45 55 n 30 50 m 0 80 n 5 80 n 5 85 n 10 95 n 25 100 n 40 100 n 55 95 n 60 85 n 60 75 n 55 65 n 45 60 n 30 55 m 5 90 n 20 100 m 45 100 n 60 90 m 60 70 n 40 55 m 30 55 n 30 35 n 35 35 n 35 55 m 30 15 n 25 10 n 25 5 n 30 0 n 35 0 n 40 5 n 40 10 n 35 15 n 30 15 m 30 10 n 30 5 n 35 5 n 35 10 n 30 10 E # C @ m 45 55 n 35 60 n 25 60 n 20 50 n 20 45 n 25 35 n 35 35 n 45 40 m 45 60 n 45 40 n 50 35 n 60 35 n 65 45 n 65 50 n 60 65 n 50 75 n 35 80 n 30 80 n 15 75 n 5 65 n 0 50 n 0 45 n 5 30 n 15 20 n 30 15 n 35 15 n 50 20 E # C A m 40 105 n 0 0 m 40 90 n 5 0 n 0 0 m 40 90 n 75 0 n 80 0 m 40 105 n 80 0 m 15 30 n 65 30 m 10 25 n 70 25 E # C B m 0 105 n 0 0 m 5 100 n 5 5 m 0 105 n 40 105 n 55 100 n 60 95 n 65 85 n 65 70 n 60 60 n 55 55 n 40 50 m 5 100 n 40 100 n 55 95 n 60 85 n 60 70 n 55 60 n 40 55 m 5 55 n 40 55 n 55 50 n 60 45 n 65 35 n 65 20 n 60 10 n 55 5 n 40 0 n 0 0 m 5 50 n 40 50 n 55 45 n 60 35 n 60 20 n 55 10 n 40 5 n 5 5 E # C C m 75 80 n 70 90 n 60 100 n 50 105 n 30 105 n 20 100 n 10 90 n 5 80 n 0 65 n 0 40 n 5 25 n 10 15 n 20 5 n 30 0 n 50 0 n 60 5 n 70 15 n 75 25 m 75 80 n 70 80 n 65 90 n 60 95 n 50 100 n 30 100 n 20 95 n 10 80 n 5 65 n 5 40 n 10 25 n 20 10 n 30 5 n 50 5 n 60 10 n 65 15 n 70 25 n 75 25 E # C D m 0 105 n 0 0 m 5 100 n 5 5 m 0 105 n 35 105 n 50 100 n 60 90 n 65 80 n 70 65 n 70 40 n 65 25 n 60 15 n 50 5 n 35 0 n 0 0 m 5 100 n 35 100 n 50 95 n 55 90 n 60 80 n 65 65 n 65 40 n 60 25 n 55 15 n 50 10 n 35 5 n 5 5 E # C E m 0 105 n 0 0 m 5 100 n 5 5 m 0 105 n 60 105 m 5 100 n 60 100 n 60 105 m 5 55 n 35 55 n 35 50 m 5 50 n 35 50 m 5 5 n 60 5 n 60 0 m 0 0 n 60 0 E # C F m 0 105 n 0 0 m 5 100 n 5 0 n 0 0 m 0 105 n 60 105 m 5 100 n 60 100 n 60 105 m 5 55 n 35 55 n 35 50 m 5 50 n 35 50 E # C G m 75 80 n 70 90 n 60 100 n 50 105 n 30 105 n 20 100 n 10 90 n 5 80 n 0 65 n 0 40 n 5 25 n 10 15 n 20 5 n 30 0 n 50 0 n 60 5 n 70 15 n 75 25 n 75 45 n 50 45 m 75 80 n 70 80 n 65 90 n 60 95 n 50 100 n 30 100 n 20 95 n 15 90 n 10 80 n 5 65 n 5 40 n 10 25 n 15 15 n 20 10 n 30 5 n 50 5 n 60 10 n 65 15 n 70 25 n 70 40 n 50 40 n 50 45 E # C H m 0 105 n 0 0 m 0 105 n 5 105 n 5 0 n 0 0 m 70 105 n 65 105 n 65 0 n 70 0 m 70 105 n 70 0 m 5 55 n 65 55 m 5 50 n 65 50 E # C I m 0 105 n 0 0 n 5 0 m 0 105 n 5 105 n 5 0 E # C J m 45 105 n 45 25 n 40 10 n 30 5 n 20 5 n 10 10 n 5 25 n 0 25 m 45 105 n 50 105 n 50 25 n 45 10 n 40 5 n 30 0 n 20 0 n 10 5 n 5 10 n 0 25 E # C K m 0 105 n 0 0 n 5 0 m 0 105 n 5 105 n 5 0 m 70 105 n 65 105 n 5 45 m 70 105 n 5 40 m 20 60 n 65 0 n 70 0 m 25 60 n 70 0 E # C L m 0 105 n 0 0 m 0 105 n 5 105 n 5 5 m 5 5 n 60 5 n 60 0 m 0 0 n 60 0 E # C M m 0 105 n 0 0 m 5 80 n 5 0 n 0 0 m 5 80 n 40 0 m 0 105 n 40 15 m 80 105 n 40 15 m 75 80 n 40 0 m 75 80 n 75 0 n 80 0 m 80 105 n 80 0 E # C N m 0 105 n 0 0 m 5 90 n 5 0 n 0 0 m 5 90 n 70 0 m 0 105 n 65 15 m 65 105 n 65 15 m 65 105 n 70 105 n 70 0 E # C O m 30 105 n 20 100 n 10 90 n 5 80 n 0 65 n 0 40 n 5 25 n 10 15 n 20 5 n 30 0 n 50 0 n 60 5 n 70 15 n 75 25 n 80 40 n 80 65 n 75 80 n 70 90 n 60 100 n 50 105 n 30 105 m 35 100 n 20 95 n 10 80 n 5 65 n 5 40 n 10 25 n 20 10 n 35 5 n 45 5 n 60 10 n 70 25 n 75 40 n 75 65 n 70 80 n 60 95 n 45 100 n 35 100 E # C P m 0 105 n 0 0 m 5 100 n 5 0 n 0 0 m 0 105 n 45 105 n 55 100 n 60 95 n 65 85 n 65 70 n 60 60 n 55 55 n 45 50 n 5 50 m 5 100 n 45 100 n 55 95 n 60 85 n 60 70 n 55 60 n 45 55 n 5 55 E # C Q m 30 105 n 20 100 n 10 90 n 5 80 n 0 65 n 0 40 n 5 25 n 10 15 n 20 5 n 30 0 n 50 0 n 60 5 n 70 15 n 75 25 n 80 40 n 80 65 n 75 80 n 70 90 n 60 100 n 50 105 n 30 105 m 35 100 n 20 95 n 10 80 n 5 65 n 5 40 n 10 25 n 20 10 n 35 5 n 45 5 n 60 10 n 70 25 n 75 40 n 75 65 n 70 80 n 60 95 n 45 100 n 35 100 m 45 15 n 70 -10 n 75 -10 m 45 15 n 50 15 n 75 -10 E # C R m 0 105 n 0 0 m 5 100 n 5 0 n 0 0 m 0 105 n 40 105 n 55 100 n 60 95 n 65 85 n 65 70 n 60 60 n 55 55 n 40 50 n 5 50 m 5 100 n 40 100 n 55 95 n 60 85 n 60 70 n 55 60 n 40 55 n 5 55 m 30 50 n 60 0 n 65 0 m 35 50 n 65 0 E # C S m 70 90 n 60 100 n 45 105 n 25 105 n 10 100 n 0 90 n 0 80 n 5 70 n 10 65 n 20 60 n 45 50 n 55 45 n 60 40 n 65 30 n 65 15 n 60 10 n 45 5 n 25 5 n 15 10 n 10 15 n 0 15 m 70 90 n 60 90 n 55 95 n 45 100 n 25 100 n 10 95 n 5 90 n 5 80 n 10 70 n 20 65 n 45 55 n 55 50 n 65 40 n 70 30 n 70 15 n 60 5 n 45 0 n 25 0 n 10 5 n 0 15 E # C T m 30 100 n 30 0 m 35 100 n 35 0 n 30 0 m 0 105 n 65 105 n 65 100 m 0 105 n 0 100 n 65 100 E # C U m 0 105 n 0 30 n 5 15 n 15 5 n 30 0 n 40 0 n 55 5 n 65 15 n 70 30 n 70 105 m 0 105 n 5 105 n 5 30 n 10 15 n 15 10 n 30 5 n 40 5 n 55 10 n 60 15 n 65 30 n 65 105 n 70 105 E # C V m 0 105 n 40 0 m 0 105 n 5 105 n 40 15 m 80 105 n 75 105 n 40 15 m 80 105 n 40 0 E # C W m 0 105 n 30 0 m 0 105 n 5 105 n 30 15 m 55 105 n 30 15 m 55 90 n 30 0 m 55 90 n 80 0 m 55 105 n 80 15 m 110 105 n 105 105 n 80 15 m 110 105 n 80 0 E # C X m 0 105 n 65 0 n 70 0 m 0 105 n 5 105 n 70 0 m 70 105 n 65 105 n 0 0 m 70 105 n 5 0 n 0 0 E # C Y m 0 105 n 35 55 n 35 0 n 40 0 m 0 105 n 5 105 n 40 55 m 75 105 n 70 105 n 35 55 m 75 105 n 40 55 n 40 0 E # C Z m 65 105 n 0 0 m 70 105 n 5 0 m 0 105 n 70 105 m 0 105 n 0 100 n 65 100 m 5 5 n 70 5 n 70 0 m 0 0 n 70 0 E # C [ m 0 125 n 0 -35 m 5 125 n 5 -35 m 0 125 n 35 125 m 0 -35 n 35 -35 E # C \ m 0 105 n 70 -15 E # C ] m 30 125 n 30 -35 m 35 125 n 35 -35 m 0 125 n 35 125 m 0 -35 n 35 -35 E # C ^ m 40 115 n 0 45 m 40 115 n 80 45 E # C ` m 5 105 n 30 75 m 5 105 n 0 100 n 30 75 E # C a m 60 70 n 60 0 n 65 0 m 60 70 n 65 70 n 65 0 m 60 55 n 50 65 n 40 70 n 25 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 25 0 n 40 0 n 50 5 n 60 15 m 60 55 n 40 65 n 25 65 n 15 60 n 10 55 n 5 40 n 5 30 n 10 15 n 15 10 n 25 5 n 40 5 n 60 15 E # C b m 0 105 n 0 0 n 5 0 m 0 105 n 5 105 n 5 0 m 5 55 n 15 65 n 25 70 n 40 70 n 50 65 n 60 55 n 65 40 n 65 30 n 60 15 n 50 5 n 40 0 n 25 0 n 15 5 n 5 15 m 5 55 n 25 65 n 40 65 n 50 60 n 55 55 n 60 40 n 60 30 n 55 15 n 50 10 n 40 5 n 25 5 n 5 15 E # C c m 60 55 n 50 65 n 40 70 n 25 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 25 0 n 40 0 n 50 5 n 60 15 m 60 55 n 55 50 n 50 60 n 40 65 n 25 65 n 15 60 n 10 55 n 5 40 n 5 30 n 10 15 n 15 10 n 25 5 n 40 5 n 50 10 n 55 20 n 60 15 E # C d m 60 105 n 60 0 n 65 0 m 60 105 n 65 105 n 65 0 m 60 55 n 50 65 n 40 70 n 25 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 25 0 n 40 0 n 50 5 n 60 15 m 60 55 n 40 65 n 25 65 n 15 60 n 10 55 n 5 40 n 5 30 n 10 15 n 15 10 n 25 5 n 40 5 n 60 15 E # C e m 5 35 n 60 35 n 60 50 n 55 60 n 50 65 n 40 70 n 25 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 25 0 n 40 0 n 50 5 n 60 15 m 5 40 n 55 40 n 55 50 n 50 60 n 40 65 n 25 65 n 15 60 n 10 55 n 5 40 n 5 30 n 10 15 n 15 10 n 25 5 n 40 5 n 50 10 n 55 20 n 60 15 E # C f m 40 105 n 30 105 n 20 100 n 15 85 n 15 0 n 20 0 m 40 105 n 40 100 n 30 100 n 20 95 m 25 100 n 20 85 n 20 0 m 0 70 n 35 70 n 35 65 m 0 70 n 0 65 n 35 65 E # C g m 65 70 n 60 70 n 60 -5 n 55 -20 n 50 -25 n 40 -30 n 30 -30 n 20 -25 n 15 -20 n 5 -20 m 65 70 n 65 -5 n 60 -20 n 50 -30 n 40 -35 n 25 -35 n 15 -30 n 5 -20 m 60 55 n 50 65 n 40 70 n 25 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 25 0 n 40 0 n 50 5 n 60 15 m 60 55 n 40 65 n 25 65 n 15 60 n 10 55 n 5 40 n 5 30 n 10 15 n 15 10 n 25 5 n 40 5 n 60 15 E # C h m 0 105 n 0 0 n 5 0 m 0 105 n 5 105 n 5 0 m 5 50 n 20 65 n 30 70 n 45 70 n 55 65 n 60 50 n 60 0 m 5 50 n 20 60 n 30 65 n 40 65 n 50 60 n 55 50 n 55 0 n 60 0 E # C i m 5 105 n 0 100 n 0 95 n 5 90 n 10 90 n 15 95 n 15 100 n 10 105 n 5 105 m 5 100 n 5 95 n 10 95 n 10 100 n 5 100 m 5 70 n 5 0 n 10 0 m 5 70 n 10 70 n 10 0 E # C j m 5 105 n 0 100 n 0 95 n 5 90 n 10 90 n 15 95 n 15 100 n 10 105 n 5 105 m 5 100 n 5 95 n 10 95 n 10 100 n 5 100 m 5 70 n 5 -35 n 10 -35 m 5 70 n 10 70 n 10 -35 E # C k m 0 105 n 0 0 n 5 0 m 0 105 n 5 105 n 5 0 m 60 70 n 55 70 n 5 20 m 60 70 n 5 15 m 20 35 n 50 0 n 60 0 m 25 40 n 60 0 E # C l m 0 105 n 0 0 n 5 0 m 0 105 n 5 105 n 5 0 E # C m m 0 70 n 0 0 n 5 0 m 0 70 n 5 70 n 5 0 m 5 50 n 20 65 n 30 70 n 45 70 n 55 65 n 60 50 n 60 0 m 5 50 n 20 60 n 30 65 n 40 65 n 50 60 n 55 50 n 55 0 n 60 0 m 60 50 n 75 65 n 85 70 n 100 70 n 110 65 n 115 50 n 115 0 m 60 50 n 75 60 n 85 65 n 95 65 n 105 60 n 110 50 n 110 0 n 115 0 E # C n m 0 70 n 0 0 n 5 0 m 0 70 n 5 70 n 5 0 m 5 50 n 20 65 n 30 70 n 45 70 n 55 65 n 60 50 n 60 0 m 5 50 n 20 60 n 30 65 n 40 65 n 50 60 n 55 50 n 55 0 n 60 0 E # C o m 25 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 25 0 n 40 0 n 50 5 n 60 15 n 65 30 n 65 40 n 60 55 n 50 65 n 40 70 n 25 70 m 25 65 n 15 60 n 10 55 n 5 40 n 5 30 n 10 15 n 15 10 n 25 5 n 40 5 n 50 10 n 55 15 n 60 30 n 60 40 n 55 55 n 50 60 n 40 65 n 25 65 E # C p m 0 70 n 0 -35 n 5 -35 m 0 70 n 5 70 n 5 -35 m 5 55 n 15 65 n 25 70 n 40 70 n 50 65 n 60 55 n 65 40 n 65 30 n 60 15 n 50 5 n 40 0 n 25 0 n 15 5 n 5 15 m 5 55 n 25 65 n 40 65 n 50 60 n 55 55 n 60 40 n 60 30 n 55 15 n 50 10 n 40 5 n 25 5 n 5 15 E # C q m 60 70 n 60 -35 n 65 -35 m 60 70 n 65 70 n 65 -35 m 60 55 n 50 65 n 40 70 n 25 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 25 0 n 40 0 n 50 5 n 60 15 m 60 55 n 40 65 n 25 65 n 15 60 n 10 55 n 5 40 n 5 30 n 10 15 n 15 10 n 25 5 n 40 5 n 60 15 E # C r m 0 70 n 0 0 n 5 0 m 0 70 n 5 70 n 5 0 m 5 40 n 10 55 n 20 65 n 30 70 n 45 70 m 5 40 n 10 50 n 20 60 n 30 65 n 45 65 n 45 70 E # C s m 55 55 n 50 65 n 35 70 n 20 70 n 5 65 n 0 55 n 5 45 n 15 40 n 40 30 n 50 25 m 45 30 n 50 20 n 50 15 n 45 5 m 50 10 n 35 5 n 20 5 n 5 10 m 10 5 n 5 15 n 0 15 m 55 55 n 50 55 n 45 65 m 50 60 n 35 65 n 20 65 n 5 60 m 10 65 n 5 55 n 10 45 m 5 50 n 15 45 n 40 35 n 50 30 n 55 20 n 55 15 n 50 5 n 35 0 n 20 0 n 5 5 n 0 15 E # C t m 15 105 n 15 0 n 20 0 m 15 105 n 20 105 n 20 0 m 0 70 n 35 70 n 35 65 m 0 70 n 0 65 n 35 65 E # C u m 0 70 n 0 20 n 5 5 n 15 0 n 30 0 n 40 5 n 55 20 m 0 70 n 5 70 n 5 20 n 10 10 n 20 5 n 30 5 n 40 10 n 55 20 m 55 70 n 55 0 n 60 0 m 55 70 n 60 70 n 60 0 E # C v m 0 70 n 30 0 m 0 70 n 5 70 n 30 10 m 60 70 n 55 70 n 30 10 m 60 70 n 30 0 E # C w m 0 70 n 25 0 m 0 70 n 5 70 n 25 15 m 45 70 n 25 15 m 45 55 n 25 0 m 45 55 n 65 0 m 45 70 n 65 15 m 90 70 n 85 70 n 65 15 m 90 70 n 65 0 E # C x m 0 70 n 55 0 n 60 0 m 0 70 n 5 70 n 60 0 m 60 70 n 55 70 n 0 0 m 60 70 n 5 0 n 0 0 E # C y m 0 70 n 30 0 m 0 70 n 5 70 n 30 10 m 60 70 n 55 70 n 30 10 n 10 -35 m 60 70 n 30 0 n 15 -35 n 10 -35 E # C z m 50 65 n 0 0 m 60 70 n 10 5 m 0 70 n 60 70 m 0 70 n 0 65 n 50 65 m 10 5 n 60 5 n 60 0 m 0 0 n 60 0 E # C { m 25 125 n 15 120 n 10 115 n 5 105 n 5 95 n 10 85 n 15 80 n 20 70 n 20 60 n 10 50 m 15 120 n 10 110 n 10 100 n 15 90 n 20 85 n 25 75 n 25 65 n 20 55 n 0 45 n 20 35 n 25 25 n 25 15 n 20 5 n 15 0 n 10 -10 n 10 -20 n 15 -30 m 10 40 n 20 30 n 20 20 n 15 10 n 10 5 n 5 -5 n 5 -15 n 10 -25 n 15 -30 n 25 -35 E # C | m 0 125 n 0 -35 E # C } m 0 125 n 10 120 n 15 115 n 20 105 n 20 95 n 15 85 n 10 80 n 5 70 n 5 60 n 15 50 m 10 120 n 15 110 n 15 100 n 10 90 n 5 85 n 0 75 n 0 65 n 5 55 n 25 45 n 5 35 n 0 25 n 0 15 n 5 5 n 10 0 n 15 -10 n 15 -20 n 10 -30 m 15 40 n 5 30 n 5 20 n 10 10 n 15 5 n 20 -5 n 20 -15 n 15 -25 n 10 -30 n 0 -35 E # C ~ m 0 30 n 0 40 n 5 55 n 15 60 n 25 60 n 35 55 n 55 40 n 65 35 n 75 35 n 85 40 n 90 50 m 0 40 n 5 50 n 15 55 n 25 55 n 35 50 n 55 35 n 65 30 n 75 30 n 85 35 n 90 50 n 90 60 E xgks-2.6.1+dfsg.2/src/fontdb/m.fnt0000644000175000017500000002075311413611016017716 0ustar amckinstryamckinstry# math # C $ w 26 m 10 9 n 9 8 n 10 7 n 11 8 n 10 9 m 1 -7 n 0 -8 n 1 -9 n 2 -8 n 1 -7 m 19 -7 n 18 -8 n 19 -9 n 20 -8 n 19 -7 E # C . w 10 m 4 -7 n 3 -8 n 4 -9 n 5 -8 n 4 -7 E # C " w 16 m 1 12 n 0 5 m 2 12 n 0 5 m 9 12 n 8 5 m 10 12 n 8 5 E # C ( w 14 m 7 16 n 5 14 n 3 11 n 1 7 n 0 2 n 0 -2 n 1 -7 n 3 -11 n 5 -14 n 7 -16 m 5 14 n 3 10 n 2 7 n 1 2 n 1 -2 n 2 -7 n 3 -10 n 5 -14 E # C ) w 14 m 0 16 n 2 14 n 4 11 n 6 7 n 7 2 n 7 -2 n 6 -7 n 4 -11 n 2 -14 n 0 -16 m 2 14 n 4 10 n 5 7 n 6 2 n 6 -2 n 5 -7 n 4 -10 n 2 -14 E # C 0 w 14 m 0 16 n 0 -16 m 1 16 n 1 -16 m 0 16 n 7 16 m 0 -16 n 7 -16 E # C 1 w 14 m 6 16 n 6 -16 m 7 16 n 7 -16 m 0 16 n 7 16 m 0 -16 n 7 -16 E # C 4 w 14 m 5 16 n 3 15 n 2 14 n 1 12 n 1 10 n 2 8 n 3 7 n 4 5 n 4 3 n 2 1 m 3 15 n 2 13 n 2 11 n 3 9 n 4 8 n 5 6 n 5 4 n 4 2 n 0 0 n 4 -2 n 5 -4 n 5 -6 n 4 -8 n 3 -9 n 2 -11 n 2 -13 n 3 -15 m 2 -1 n 4 -3 n 4 -5 n 3 -7 n 2 -8 n 1 -10 n 1 -12 n 2 -14 n 3 -15 n 5 -16 E # C 5 w 14 m 0 16 n 2 15 n 3 14 n 4 12 n 4 10 n 3 8 n 2 7 n 1 5 n 1 3 n 3 1 m 2 15 n 3 13 n 3 11 n 2 9 n 1 8 n 0 6 n 0 4 n 1 2 n 5 0 n 1 -2 n 0 -4 n 0 -6 n 1 -8 n 2 -9 n 3 -11 n 3 -13 n 2 -15 m 3 -1 n 1 -3 n 1 -5 n 2 -7 n 3 -8 n 4 -10 n 4 -12 n 3 -14 n 2 -15 n 0 -16 E # C % w 14 m 7 16 n 0 0 n 7 -16 E # C & w 14 m 0 16 n 7 0 n 0 -16 E # C Z w 8 m 0 16 n 0 -16 E # C L w 14 m 0 16 n 0 -16 m 6 16 n 6 -16 E # C + w 24 m 8 8 n 8 -9 m 0 0 n 16 0 m 0 -9 n 16 -9 E # C - w 24 m 8 8 n 8 -9 m 0 8 n 16 8 m 0 0 n 16 0 E # C * w 22 m 0 7 n 14 -7 m 14 7 n 0 -7 E # C / w 26 m 9 9 n 8 8 n 9 7 n 10 8 n 9 9 m 0 0 n 18 0 m 9 -7 n 8 -8 n 9 -9 n 10 -8 n 9 -7 E # C = w 26 m 16 9 n 2 -9 m 0 3 n 18 3 m 0 -3 n 18 -3 E # C # w 26 m 0 5 n 18 5 m 0 0 n 18 0 m 0 -5 n 18 -5 E # C ! w 24 m 16 9 n 0 0 n 16 -9 E # C < w 24 m 16 12 n 0 5 n 16 -2 m 0 -4 n 16 -4 m 0 -9 n 16 -9 E # C > w 24 m 0 12 n 16 5 n 0 -2 m 0 -4 n 16 -4 m 0 -9 n 16 -9 E # C N w 25 m 17 -5 n 15 -5 n 13 -4 n 11 -2 n 8 2 n 7 3 n 5 4 n 3 4 n 1 3 n 0 1 n 0 -1 n 1 -3 n 3 -4 n 5 -4 n 7 -3 n 8 -2 n 11 2 n 13 4 n 15 5 n 17 5 E # C P w 24 m 0 -3 n 0 -1 n 1 2 n 3 3 n 5 3 n 7 2 n 11 -1 n 13 -2 n 15 -2 n 17 -1 n 18 1 m 0 -1 n 1 1 n 3 2 n 5 2 n 7 1 n 11 -2 n 13 -3 n 15 -3 n 17 -2 n 18 1 n 18 3 E # C @ w 22 m 0 -2 n 8 3 n 16 -2 m 0 -2 n 8 2 n 16 -2 E # C g w 12 m 5 12 n 0 6 m 5 12 n 6 11 n 0 6 E # C ' w 10 m 1 10 n 0 11 n 1 12 n 2 11 n 2 9 n 1 7 n 0 6 E # C ` w 10 m 2 12 n 1 11 n 0 9 n 0 7 n 1 6 n 2 7 n 1 8 E # C X w 22 m 0 5 n 4 5 n 10 -7 m 3 5 n 10 -9 m 19 16 n 10 -9 E # C C w 24 m 16 8 n 9 8 n 5 7 n 3 6 n 1 4 n 0 1 n 0 -1 n 1 -4 n 3 -6 n 5 -7 n 9 -8 n 16 -8 E # C B w 24 m 0 8 n 0 1 n 1 -3 n 2 -5 n 4 -7 n 7 -8 n 9 -8 n 12 -7 n 14 -5 n 15 -3 n 16 1 n 16 8 E # C D w 24 m 0 8 n 7 8 n 11 7 n 13 6 n 15 4 n 16 1 n 16 -1 n 15 -4 n 13 -6 n 11 -7 n 7 -8 n 0 -8 E # C A w 24 m 0 -8 n 0 -1 n 1 3 n 2 5 n 4 7 n 7 8 n 9 8 n 12 7 n 14 5 n 15 3 n 16 -1 n 16 -8 E # C E w 24 m 16 8 n 9 8 n 5 7 n 3 6 n 1 4 n 0 1 n 0 -1 n 1 -4 n 3 -6 n 5 -7 n 9 -8 n 16 -8 m 0 0 n 12 0 E # C T w 26 m 15 2 n 18 0 n 15 -2 m 12 5 n 17 0 n 12 -5 m 0 0 n 17 0 E # C U w 16 m 3 6 n 5 9 n 7 6 m 0 3 n 5 8 n 10 3 m 5 8 n 5 -9 E # C V w 26 m 3 2 n 0 0 n 3 -2 m 6 5 n 1 0 n 6 -5 m 1 0 n 18 0 E # C W w 16 m 3 -6 n 5 -9 n 7 -6 m 0 -3 n 5 -8 n 10 -3 m 5 9 n 5 -8 E # C Q w 19 m 12 0 n 11 3 n 10 4 n 8 5 n 6 5 n 3 4 n 1 1 n 0 -2 n 0 -5 n 1 -7 n 2 -8 n 4 -9 n 6 -9 n 9 -8 n 11 -6 n 12 -3 n 13 2 n 13 7 n 12 10 n 11 11 n 9 12 n 6 12 n 4 11 n 3 10 n 3 9 n 4 9 n 4 10 m 6 5 n 4 4 n 2 1 n 1 -2 n 1 -6 n 2 -8 m 6 -9 n 8 -8 n 10 -6 n 11 -3 n 12 2 n 12 7 n 11 10 n 9 12 E # C R w 20 m 0 12 n 8 -9 m 1 12 n 8 -7 m 16 12 n 8 -9 m 0 12 n 16 12 m 1 11 n 15 11 E # C I w 24 m 19 15 n 18 14 n 19 13 n 20 14 n 20 15 n 19 16 n 17 16 n 15 15 n 13 13 n 12 11 n 11 8 n 10 4 n 8 -8 n 7 -12 n 6 -14 m 14 14 n 13 12 n 12 8 n 10 -4 n 9 -8 n 8 -11 n 7 -13 n 5 -15 n 3 -16 n 1 -16 n 0 -15 n 0 -14 n 1 -13 n 2 -14 n 1 -15 E # C J w 24 m 19 15 n 18 14 n 19 13 n 20 14 n 20 15 n 19 16 n 17 16 n 15 15 n 13 13 n 12 11 n 11 8 n 10 4 n 8 -8 n 7 -12 n 6 -14 m 14 14 n 13 12 n 12 8 n 10 -4 n 9 -8 n 8 -11 n 7 -13 n 5 -15 n 3 -16 n 1 -16 n 0 -15 n 0 -14 n 1 -13 n 2 -14 n 1 -15 m 9 7 n 6 6 n 4 4 n 3 1 n 3 -1 n 4 -4 n 6 -6 n 9 -7 n 11 -7 n 14 -6 n 16 -4 n 17 -1 n 17 1 n 16 4 n 14 6 n 11 7 n 9 7 E # C O w 25 m 19 -1 n 18 -3 n 16 -4 n 14 -4 n 12 -3 n 11 -2 n 8 2 n 7 3 n 5 4 n 3 4 n 1 3 n 0 1 n 0 -1 n 1 -3 n 3 -4 n 5 -4 n 7 -3 n 8 -2 n 11 2 n 12 3 n 14 4 n 16 4 n 18 3 n 19 1 n 19 -1 E # C a w 27 m 15 4 n 14 6 n 12 7 n 9 7 n 7 6 n 6 5 n 5 2 n 5 -1 n 6 -3 n 8 -4 n 11 -4 n 13 -3 n 14 -1 m 9 7 n 7 5 n 6 2 n 6 -1 n 7 -3 n 8 -4 m 15 7 n 14 -1 n 14 -3 n 16 -4 n 18 -4 n 20 -2 n 21 1 n 21 3 n 20 6 n 19 8 n 17 10 n 15 11 n 12 12 n 9 12 n 6 11 n 4 10 n 2 8 n 1 6 n 0 3 n 0 0 n 1 -3 n 2 -5 n 4 -7 n 6 -8 n 9 -9 n 12 -9 n 15 -8 n 17 -7 n 18 -6 m 16 7 n 15 -1 n 15 -3 n 16 -4 E # C b w 20 m 5 16 n 5 -13 m 9 16 n 9 -13 m 13 9 n 12 8 n 13 7 n 14 8 n 14 9 n 12 11 n 9 12 n 5 12 n 2 11 n 0 9 n 0 7 n 1 5 n 2 4 n 4 3 n 10 1 n 12 0 n 14 -2 m 0 7 n 2 5 n 4 4 n 10 2 n 12 1 n 13 0 n 14 -2 n 14 -6 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 0 -6 n 0 -5 n 1 -4 n 2 -5 n 1 -6 E # C c w 21 m 8 12 n 1 -16 m 14 12 n 7 -16 m 1 1 n 15 1 m 0 -5 n 14 -5 E # C e w 16 m 6 12 n 5 10 n 6 8 n 7 10 n 6 12 m 6 12 n 6 -16 m 6 1 n 5 -2 n 6 -16 n 7 -2 n 6 1 m 0 5 n 2 4 n 4 5 n 2 6 n 0 5 m 0 5 n 12 5 m 8 5 n 10 4 n 12 5 n 10 6 n 8 5 E # C d w 16 m 6 12 n 5 10 n 6 8 n 7 10 n 6 12 m 6 12 n 6 -2 m 6 2 n 5 0 n 7 -4 n 6 -6 n 5 -4 n 7 0 n 6 2 m 6 -2 n 6 -16 m 6 -12 n 5 -14 n 6 -16 n 7 -14 n 6 -12 m 0 5 n 2 4 n 4 5 n 2 6 n 0 5 m 0 5 n 12 5 m 8 5 n 10 4 n 12 5 n 10 6 n 8 5 m 0 -9 n 2 -10 n 4 -9 n 2 -8 n 0 -9 m 0 -9 n 12 -9 m 8 -9 n 10 -10 n 12 -9 n 10 -8 n 8 -9 E # C F w 19 m 13 12 n 13 -9 m 0 12 n 13 12 m 5 2 n 13 2 m 0 -9 n 13 -9 E # C H w 27 m 9 12 n 6 11 n 3 9 n 1 6 n 0 3 n 0 0 n 1 -3 n 3 -6 n 6 -8 n 9 -9 n 12 -9 n 15 -8 n 18 -6 n 20 -3 n 21 0 n 21 3 n 20 6 n 18 9 n 15 11 n 12 12 n 9 12 m 10 3 n 9 2 n 9 1 n 10 0 n 11 0 n 12 1 n 12 2 n 11 3 n 10 3 m 10 2 n 10 1 n 11 1 n 11 2 n 10 2 E # C G w 28 m 9 12 n 6 11 n 3 9 n 1 6 n 0 3 n 0 -1 n 1 -4 n 3 -7 n 6 -9 n 9 -10 n 13 -10 n 16 -9 n 19 -7 n 21 -4 n 22 -1 n 22 3 n 21 6 n 19 9 n 16 11 n 13 12 n 9 12 m 11 12 n 11 -10 m 0 1 n 22 1 E # C M w 34 m 4 16 n 4 -16 m 5 16 n 5 -16 m 23 16 n 23 -16 m 24 16 n 24 -16 m 0 16 n 28 16 m 0 -16 n 9 -16 m 19 -16 n 28 -16 E # C S w 31 m 2 16 n 12 2 n 1 -16 m 1 16 n 11 2 m 0 16 n 11 1 m 0 16 n 23 16 n 25 9 n 22 16 m 2 -15 n 23 -15 m 1 -16 n 23 -16 n 25 -9 n 22 -16 E # C 8 w 18 m 11 39 n 8 33 n 5 26 n 3 21 n 2 17 n 1 12 n 0 4 n 0 -4 n 1 -12 n 2 -17 n 3 -21 n 5 -26 n 8 -33 n 11 -39 m 8 33 n 6 28 n 4 22 n 3 18 n 2 12 n 1 4 n 1 -4 n 2 -12 n 3 -18 n 4 -22 n 6 -28 n 8 -33 E # C 9 w 18 m 0 39 n 3 33 n 6 26 n 8 21 n 9 17 n 10 12 n 11 4 n 11 -4 n 10 -12 n 9 -17 n 8 -21 n 6 -26 n 3 -33 n 0 -39 m 3 33 n 5 28 n 7 22 n 8 18 n 9 12 n 10 4 n 10 -4 n 9 -12 n 8 -18 n 7 -22 n 5 -28 n 3 -33 E # C 2 w 18 m 0 39 n 0 0 n 0 -39 m 1 39 n 1 0 n 1 -39 m 0 39 n 11 39 m 0 -39 n 11 -39 E # C 3 w 18 m 10 39 n 10 0 n 10 -39 m 11 39 n 11 0 n 11 -39 m 0 39 n 11 39 m 0 -39 n 11 -39 E # C 6 w 18 m 8 39 n 5 37 n 3 35 n 2 33 n 1 30 n 1 26 n 2 22 n 6 14 n 7 11 n 7 8 n 6 5 n 4 2 m 5 37 n 3 34 n 2 30 n 2 26 n 3 23 n 7 15 n 8 11 n 8 8 n 7 5 n 4 2 n 0 0 n 4 -2 n 7 -5 n 8 -8 n 8 -11 n 7 -15 n 3 -23 n 2 -26 n 2 -30 n 3 -34 n 5 -37 m 4 -2 n 6 -5 n 7 -8 n 7 -11 n 6 -14 n 2 -22 n 1 -26 n 1 -30 n 2 -33 n 3 -35 n 5 -37 n 8 -39 E # C 7 w 18 m 0 39 n 3 37 n 5 35 n 6 33 n 7 30 n 7 26 n 6 22 n 2 14 n 1 11 n 1 8 n 2 5 n 4 2 m 3 37 n 5 34 n 6 30 n 6 26 n 5 23 n 1 15 n 0 11 n 0 8 n 1 5 n 4 2 n 8 0 n 4 -2 n 1 -5 n 0 -8 n 0 -11 n 1 -15 n 5 -23 n 6 -26 n 6 -30 n 5 -34 n 3 -37 m 4 -2 n 2 -5 n 1 -8 n 1 -11 n 2 -14 n 6 -22 n 7 -26 n 7 -30 n 6 -33 n 5 -35 n 3 -37 n 0 -39 E # C : w 18 m 8 36 n 5 33 n 3 30 n 1 26 n 0 21 n 0 15 n 1 9 n 2 5 n 5 -6 n 6 -10 n 7 -16 n 7 -21 n 6 -26 n 5 -29 n 3 -33 m 5 33 n 3 29 n 2 26 n 1 21 n 1 16 n 2 10 n 3 6 n 6 -5 n 7 -9 n 8 -15 n 8 -21 n 7 -26 n 5 -30 n 3 -33 n 0 -36 E # C ; w 18 m 0 36 n 3 33 n 5 30 n 7 26 n 8 21 n 8 15 n 7 9 n 6 5 n 3 -6 n 2 -10 n 1 -16 n 1 -21 n 2 -26 n 3 -29 n 5 -33 m 3 33 n 5 29 n 6 26 n 7 21 n 7 16 n 6 10 n 5 6 n 2 -5 n 1 -9 n 0 -15 n 0 -21 n 1 -26 n 3 -30 n 5 -33 n 8 -36 E # C Y w 35 m 0 0 n 7 0 n 24 -29 m 6 0 n 23 -29 m 5 0 n 24 -32 m 32 48 n 28 8 n 24 -32 E # C K w 30 m 23 36 n 22 36 n 21 35 n 21 34 n 22 33 n 23 33 n 24 34 n 24 36 n 23 38 n 21 39 n 19 39 n 17 38 n 15 36 n 14 34 n 13 31 n 12 24 n 11 8 n 11 -24 n 10 -33 n 9 -36 m 22 35 n 22 34 n 23 34 n 23 35 n 22 35 m 12 24 n 12 -24 m 15 36 n 14 33 n 13 24 n 13 -8 n 12 -24 n 11 -31 n 10 -34 n 9 -36 n 7 -38 n 5 -39 n 3 -39 n 1 -38 n 0 -36 n 0 -34 n 1 -33 n 2 -33 n 3 -34 n 3 -35 n 2 -36 n 1 -36 m 1 -34 n 1 -35 n 2 -35 n 2 -34 n 1 -34 E xgks-2.6.1+dfsg.2/src/fontdb/gi.fnt0000644000175000017500000005223611413611016020062 0ustar amckinstryamckinstry# gothic_italian # C 0 w 20 m 2 10 n 2 -6 n 0 -7 m 3 9 n 3 -6 n 6 -8 m 4 10 n 4 -6 n 6 -7 n 7 -8 m 2 10 n 4 10 n 9 11 n 11 12 m 9 11 n 10 10 n 12 9 n 12 -7 m 10 11 n 13 9 n 13 -6 m 11 12 n 12 11 n 14 10 n 16 10 n 14 9 n 14 -7 m 0 -7 n 2 -7 n 4 -8 n 5 -9 n 7 -8 n 12 -7 n 14 -7 E # C 1 w 20 m 0 10 n 1 9 n 2 7 n 2 -6 n 0 -7 m 2 9 n 1 10 n 2 11 n 3 9 n 3 -7 n 5 -8 m 0 10 n 3 12 n 4 10 n 4 -6 n 6 -7 n 7 -7 m 0 -7 n 1 -7 n 3 -8 n 4 -9 n 5 -8 n 7 -7 E # C 2 w 20 m 1 10 n 3 10 n 5 11 n 6 12 n 8 11 n 11 10 n 13 10 m 5 10 n 7 11 m 1 10 n 3 9 n 5 9 n 7 10 n 8 11 m 11 10 n 11 2 m 12 9 n 12 3 m 13 10 n 13 2 n 6 2 n 3 1 n 1 -1 n 0 -4 n 0 -9 m 0 -9 n 4 -7 n 8 -6 n 11 -6 n 15 -7 m 3 -8 n 6 -7 n 11 -7 n 14 -8 m 0 -9 n 5 -8 n 10 -8 n 13 -9 n 15 -7 E # C 3 w 20 m 1 10 n 2 10 n 4 11 n 5 12 n 7 11 n 11 10 n 13 10 m 4 10 n 6 11 m 1 10 n 3 9 n 5 9 n 7 11 m 11 10 n 11 3 m 12 9 n 12 4 m 13 10 n 13 3 n 11 3 n 8 2 n 6 1 m 6 2 n 8 1 n 11 0 n 13 0 n 13 -7 m 12 -1 n 12 -6 m 11 0 n 11 -7 m 0 -7 n 2 -6 n 4 -6 n 6 -7 n 7 -8 m 4 -7 n 6 -8 m 0 -7 n 2 -7 n 4 -8 n 5 -9 n 7 -8 n 11 -7 n 13 -7 E # C 4 w 20 m 10 12 n 0 2 n 0 -3 n 9 -3 m 11 -3 n 15 -3 n 16 -4 n 16 -2 n 15 -3 m 1 2 n 1 -2 m 2 4 n 2 -3 m 9 11 n 9 -6 n 7 -7 m 10 8 n 11 10 n 10 11 n 10 -7 n 12 -8 m 10 12 n 12 10 n 11 8 n 11 -6 n 13 -7 n 14 -7 m 7 -7 n 8 -7 n 10 -8 n 11 -9 n 12 -8 n 14 -7 E # C 5 w 20 m 1 12 n 1 3 m 1 12 n 13 12 m 2 11 n 11 11 m 1 10 n 10 10 n 12 11 n 13 12 m 11 6 n 10 5 n 8 4 n 4 3 n 1 3 m 8 4 n 9 4 n 11 3 n 11 -7 m 10 5 n 12 4 n 12 -6 m 11 6 n 12 5 n 14 4 n 15 4 n 13 3 n 13 -7 m 0 -7 n 2 -6 n 4 -6 n 6 -7 n 7 -8 m 4 -7 n 6 -8 m 0 -7 n 2 -7 n 4 -8 n 5 -9 n 7 -8 n 11 -7 n 13 -7 E # C 6 w 20 m 2 10 n 2 -6 n 0 -7 m 3 9 n 3 -6 n 6 -8 m 4 10 n 4 -6 n 6 -7 n 7 -8 m 2 10 n 4 10 n 8 11 n 10 12 n 11 11 n 13 10 n 14 10 m 9 11 n 11 10 m 8 11 n 10 9 n 12 9 n 14 10 m 4 2 n 5 2 n 9 3 n 11 4 n 12 5 m 9 3 n 10 3 n 12 2 n 12 -7 m 11 4 n 13 2 n 13 -6 m 12 5 n 13 4 n 15 3 n 16 3 n 14 2 n 14 -7 m 0 -7 n 2 -7 n 4 -8 n 5 -9 n 7 -8 n 12 -7 n 14 -7 E # C 7 w 20 m 0 10 n 2 12 n 5 11 n 10 11 n 15 12 m 1 11 n 4 10 n 9 10 n 12 11 m 0 10 n 4 9 n 7 9 n 11 10 n 15 12 m 15 12 n 14 10 n 12 7 n 8 3 n 6 0 n 5 -3 n 5 -6 n 6 -9 m 7 1 n 6 -2 n 6 -5 n 7 -8 m 10 5 n 8 2 n 7 -1 n 7 -4 n 8 -7 n 6 -9 E # C 8 w 20 m 2 9 n 2 3 m 3 8 n 3 4 m 4 9 n 4 3 m 2 9 n 4 9 n 9 10 n 11 11 n 12 12 m 9 10 n 10 10 n 12 9 n 12 3 m 11 11 n 13 10 n 13 4 m 12 12 n 13 11 n 15 10 n 16 10 n 14 9 n 14 3 m 2 3 n 4 3 n 12 0 n 14 0 m 14 3 n 12 3 n 4 0 n 2 0 m 2 0 n 2 -6 n 0 -7 m 3 -1 n 3 -6 n 6 -8 m 4 0 n 4 -6 n 6 -7 n 7 -8 m 12 0 n 12 -7 m 13 -1 n 13 -6 m 14 0 n 14 -7 m 0 -7 n 2 -7 n 4 -8 n 5 -9 n 7 -8 n 12 -7 n 14 -7 E # C 9 w 20 m 2 10 n 2 1 n 0 0 m 3 9 n 3 0 n 5 -1 m 4 10 n 4 1 n 6 0 n 7 0 m 2 10 n 4 10 n 9 11 n 11 12 m 9 11 n 10 10 n 12 9 n 12 -7 m 10 11 n 13 9 n 13 -6 m 11 12 n 12 11 n 14 10 n 16 10 n 14 9 n 14 -7 m 0 0 n 1 0 n 3 -1 n 4 -2 n 5 -1 n 7 0 n 11 1 n 12 1 m 1 -7 n 3 -6 n 5 -6 n 7 -7 n 8 -8 m 5 -7 n 7 -8 m 1 -7 n 3 -7 n 5 -8 n 6 -9 n 8 -8 n 12 -7 n 14 -7 E # C . w 12 m 2 -6 n 0 -8 n 2 -9 n 4 -8 n 2 -6 m 2 -7 n 1 -8 n 3 -8 n 2 -7 E # C , w 12 m 2 -12 n 2 -10 n 0 -8 n 2 -6 n 3 -8 n 3 -10 n 2 -12 n 0 -13 m 2 -7 n 1 -8 n 2 -9 n 2 -7 E # C : w 12 m 2 5 n 0 3 n 2 2 n 4 3 n 2 5 m 2 4 n 1 3 n 3 3 n 2 4 m 2 -6 n 0 -8 n 2 -9 n 4 -8 n 2 -6 m 2 -7 n 1 -8 n 3 -8 n 2 -7 E # C ; w 12 m 2 5 n 0 3 n 2 2 n 4 3 n 2 5 m 2 4 n 1 3 n 3 3 n 2 4 m 2 -12 n 2 -10 n 0 -8 n 2 -6 n 3 -8 n 3 -10 n 2 -12 n 0 -13 m 2 -7 n 1 -8 n 2 -9 n 2 -7 E # C ! w 12 m 3 12 n 2 11 n 0 10 n 2 9 n 3 -2 m 3 9 n 4 10 n 3 11 n 2 10 n 3 9 n 3 -2 m 3 12 n 4 11 n 6 10 n 4 9 n 3 -2 m 3 -6 n 1 -8 n 3 -9 n 5 -8 n 3 -6 m 3 -7 n 2 -8 n 4 -8 n 3 -7 E # C ? w 18 m 0 8 n 1 10 n 2 11 n 5 12 n 7 12 n 10 11 n 11 10 n 12 8 n 12 6 n 11 4 n 9 2 n 7 1 m 1 8 n 2 10 m 10 10 n 11 9 n 11 5 n 10 4 m 0 8 n 2 7 n 2 9 n 3 11 n 5 12 m 7 12 n 9 11 n 10 9 n 10 5 n 9 3 n 7 1 m 6 1 n 6 -2 n 7 1 n 5 1 n 6 -2 m 6 -6 n 4 -8 n 6 -9 n 8 -8 n 6 -6 m 6 -7 n 5 -8 n 7 -8 n 6 -7 E # C ` w 12 m 3 12 n 1 11 n 0 9 n 0 7 n 1 5 n 3 7 n 1 9 n 1 11 m 1 8 n 1 6 n 2 7 n 1 8 E # C & w 26 m 17 4 n 18 3 n 19 3 n 20 4 m 16 3 n 17 2 n 19 2 m 16 2 n 17 1 n 18 1 n 19 2 n 20 4 m 17 4 n 11 -2 m 10 -3 n 4 -9 n 0 -4 n 6 2 m 7 3 n 11 7 n 7 12 n 2 6 n 8 0 n 12 -6 n 14 -8 n 16 -9 n 18 -9 n 19 -8 n 20 -6 m 4 -8 n 1 -4 m 10 7 n 7 11 m 3 6 n 8 1 n 12 -5 n 14 -7 n 16 -8 n 19 -8 m 5 -8 n 1 -3 m 10 6 n 6 11 m 3 7 n 9 1 n 13 -5 n 14 -6 n 16 -7 n 19 -7 n 20 -6 E # C $ w 20 m 5 16 n 5 -13 m 9 16 n 9 -13 m 9 12 n 11 11 n 12 9 n 12 7 n 14 8 n 13 10 n 12 11 n 9 12 n 5 12 n 2 11 n 0 9 n 0 6 n 1 4 n 4 2 n 10 0 n 12 -1 n 13 -3 n 13 -6 n 12 -8 m 13 8 n 12 10 m 1 6 n 2 4 n 4 3 n 10 1 n 12 0 n 13 -2 m 2 -7 n 1 -5 m 2 11 n 1 9 n 1 7 n 2 5 n 4 4 n 10 2 n 13 0 n 14 -2 n 14 -5 n 13 -7 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 2 -4 n 2 -6 n 3 -8 n 5 -9 E # C / w 23 m 18 16 n 0 -16 n 1 -16 m 18 16 n 19 16 n 1 -16 E # C ( w 14 m 7 16 n 5 14 n 3 11 n 1 7 n 0 2 n 0 -2 n 1 -7 n 3 -11 n 5 -14 n 7 -16 m 3 10 n 2 7 n 1 3 n 1 -3 n 2 -7 n 3 -10 m 5 14 n 4 12 n 3 9 n 2 3 n 2 -3 n 3 -9 n 4 -12 n 5 -14 E # C ) w 14 m 0 16 n 2 14 n 4 11 n 6 7 n 7 2 n 7 -2 n 6 -7 n 4 -11 n 2 -14 n 0 -16 m 4 10 n 5 7 n 6 3 n 6 -3 n 5 -7 n 4 -10 m 2 14 n 3 12 n 4 9 n 5 3 n 5 -3 n 4 -9 n 3 -12 n 2 -14 E # C * w 16 m 5 12 n 4 11 n 6 1 n 5 0 m 5 12 n 5 0 m 5 12 n 6 11 n 4 1 n 5 0 m 0 9 n 1 9 n 9 3 n 10 3 m 0 9 n 10 3 m 0 9 n 0 8 n 10 4 n 10 3 m 10 9 n 9 9 n 1 3 n 0 3 m 10 9 n 0 3 m 10 9 n 10 8 n 0 4 n 0 3 E # C - w 25 m 0 1 n 17 1 n 17 0 m 0 1 n 0 0 n 17 0 E # C + w 25 m 8 9 n 8 -8 n 9 -8 m 8 9 n 9 9 n 9 -8 m 0 1 n 17 1 n 17 0 m 0 1 n 0 0 n 17 0 E # C = w 25 m 0 5 n 17 5 n 17 4 m 0 5 n 0 4 n 17 4 m 0 -3 n 17 -3 n 17 -4 m 0 -3 n 0 -4 n 17 -4 E # C ' w 9 m 1 12 n 0 11 n 0 5 m 1 11 n 0 5 m 1 12 n 2 11 n 0 5 E # C " w 18 m 1 12 n 0 11 n 0 5 m 1 11 n 0 5 m 1 12 n 2 11 n 0 5 m 10 12 n 9 11 n 9 5 m 10 11 n 9 5 m 10 12 n 11 11 n 9 5 E # C A w 26 m 6 10 n 4 9 n 2 7 n 1 5 n 0 2 n 0 -1 n 1 -3 n 3 -4 m 2 6 n 1 3 n 1 -1 n 2 -3 m 6 10 n 4 8 n 3 6 n 2 3 n 2 0 n 3 -4 n 3 -6 n 2 -8 n 0 -9 m 14 10 n 16 10 n 16 -7 n 14 -7 m 17 10 n 17 -7 m 18 11 n 18 -8 m 0 12 n 3 11 n 9 10 n 14 10 n 18 11 n 20 12 m 2 2 n 16 2 m 0 -9 n 3 -8 n 9 -7 n 14 -7 n 18 -8 n 20 -9 E # C B w 26 m 4 11 n 4 -8 m 5 11 n 5 -8 m 8 12 n 6 11 n 6 -8 n 8 -9 m 0 8 n 2 10 n 4 11 n 8 12 n 13 12 n 16 11 n 18 9 n 18 7 n 17 5 m 16 10 n 17 9 n 17 7 n 16 5 m 13 12 n 15 11 n 16 9 n 16 7 n 15 6 m 9 -3 n 7 -2 n 6 0 n 6 2 n 7 4 n 8 5 n 11 6 n 14 6 n 17 5 n 19 3 n 20 1 n 20 -2 n 19 -5 n 17 -7 n 15 -8 n 12 -9 n 8 -9 n 4 -8 n 2 -7 n 0 -5 m 18 3 n 19 1 n 19 -3 n 18 -5 m 14 6 n 17 4 n 18 1 n 18 -3 n 17 -6 n 15 -8 E # C C w 26 m 20 12 n 19 10 n 18 8 n 16 10 n 14 11 n 11 12 n 9 12 n 6 11 n 4 10 n 2 8 n 1 6 n 0 3 n 0 0 n 1 -3 n 2 -5 n 4 -7 n 6 -8 n 9 -9 n 11 -9 n 14 -8 n 16 -7 n 18 -5 n 19 -7 n 20 -9 m 19 10 n 18 5 n 18 -2 n 19 -7 m 18 7 n 17 8 m 18 4 n 17 7 n 16 9 n 14 11 m 2 7 n 1 4 n 1 -1 n 2 -4 m 6 11 n 4 9 n 3 7 n 2 4 n 2 -1 n 3 -4 n 4 -6 n 6 -8 m 17 -5 n 18 -4 m 14 -8 n 16 -6 n 17 -4 n 18 -1 E # C D w 26 m 3 11 n 3 -8 m 4 11 n 4 -8 m 6 12 n 5 11 n 5 -8 n 6 -9 m 0 7 n 1 9 n 3 11 n 6 12 n 11 12 n 14 11 n 16 10 n 18 8 n 19 6 n 20 3 n 20 0 n 19 -3 n 18 -5 n 16 -7 n 14 -8 n 11 -9 n 6 -9 n 3 -8 n 1 -6 n 0 -4 m 18 7 n 19 4 n 19 -1 n 18 -4 m 14 11 n 16 9 n 17 7 n 18 4 n 18 -1 n 17 -4 n 16 -6 n 14 -8 E # C E w 26 m 20 12 n 19 10 n 18 8 n 16 10 n 14 11 n 11 12 n 9 12 n 6 11 n 4 10 n 2 8 n 1 6 n 0 3 n 0 0 n 1 -3 n 2 -5 n 4 -7 n 6 -8 n 9 -9 n 11 -9 n 14 -8 n 16 -7 n 18 -5 n 19 -7 n 20 -9 m 19 10 n 18 5 n 18 -2 n 19 -7 m 18 7 n 17 8 m 18 5 n 16 9 n 14 11 m 2 7 n 1 4 n 1 -1 n 2 -4 m 6 11 n 4 9 n 3 7 n 2 4 n 2 -1 n 3 -4 n 4 -6 n 6 -8 m 17 -5 n 18 -4 m 14 -8 n 16 -6 n 17 -4 n 18 -1 m 2 2 n 3 3 n 6 3 n 13 1 n 16 1 n 18 2 m 8 2 n 10 1 n 13 0 n 15 0 n 17 1 m 5 3 n 10 0 n 13 -1 n 15 -1 n 17 0 n 18 2 m 18 5 n 17 6 n 16 6 n 15 5 n 16 4 n 17 5 E # C F w 26 m 2 10 n 2 -8 m 5 11 n 3 10 n 3 -7 m 7 12 n 5 11 n 4 9 n 4 -7 n 6 -7 m 0 8 n 2 10 n 4 11 n 7 12 n 11 12 n 14 11 n 16 10 n 17 9 n 20 12 m 20 12 n 19 10 n 18 6 n 18 3 n 19 -1 n 20 -3 m 18 9 n 17 7 m 14 11 n 16 9 n 17 6 n 18 3 m 4 2 n 5 3 n 7 3 n 12 2 n 15 2 n 17 3 m 9 2 n 12 1 n 14 1 n 16 2 m 6 3 n 12 0 n 14 0 n 16 1 n 17 3 n 17 6 n 16 7 n 15 7 n 14 6 n 15 5 n 16 6 m 0 -9 n 2 -8 n 6 -7 n 11 -7 n 17 -8 n 20 -9 E # C G w 26 m 20 12 n 19 10 n 18 8 n 16 10 n 14 11 n 11 12 n 9 12 n 6 11 n 4 10 n 2 8 n 1 6 n 0 3 n 0 0 n 1 -3 n 2 -5 n 4 -7 n 6 -8 n 9 -9 n 12 -9 n 14 -8 n 16 -7 n 17 -6 n 18 -4 n 19 -7 n 20 -9 m 19 10 n 18 5 n 18 -2 n 19 -7 m 18 7 n 17 8 m 18 4 n 17 7 n 16 9 n 14 11 m 2 7 n 1 4 n 1 -1 n 2 -4 m 6 11 n 4 9 n 3 7 n 2 4 n 2 -1 n 3 -4 n 4 -6 n 6 -8 m 16 -6 n 17 -4 n 17 0 m 14 -8 n 15 -7 n 16 -4 n 16 1 m 3 -1 n 4 0 n 5 -1 n 4 -2 n 3 -2 n 2 -1 m 2 2 n 3 4 n 5 5 n 7 5 n 10 4 n 13 2 n 15 1 m 3 3 n 5 4 n 7 4 n 10 3 n 12 2 m 2 2 n 4 3 n 7 3 n 13 1 n 17 1 n 18 2 E # C H w 26 m 2 11 n 2 -8 n 0 -9 m 3 10 n 3 -8 m 6 10 n 4 10 n 4 -8 m 0 12 n 2 11 n 6 10 n 11 10 n 17 11 n 20 12 m 4 2 n 5 4 n 7 6 n 10 7 n 14 7 n 17 6 n 19 4 n 20 1 n 20 -2 n 19 -3 n 17 -4 m 18 4 n 19 2 n 19 -1 n 18 -3 m 14 7 n 16 6 n 17 5 n 18 3 n 18 -1 n 17 -4 n 17 -6 n 18 -8 n 20 -9 m 0 -9 n 4 -8 n 8 -8 n 13 -9 E # C I w 26 m 9 9 n 9 -7 m 10 8 n 10 -6 m 11 9 n 11 -7 m 0 12 n 4 10 n 8 9 n 12 9 n 16 10 n 20 12 m 0 -9 n 3 -8 n 7 -7 n 13 -7 n 17 -8 n 20 -9 E # C J w 26 m 12 9 n 14 9 n 14 -6 n 13 -8 n 11 -9 m 15 9 n 15 -6 n 14 -7 m 16 10 n 16 -7 m 0 12 n 4 10 n 8 9 n 12 9 n 16 10 n 20 12 m 1 3 n 0 1 n 0 -3 n 1 -6 n 3 -8 n 6 -9 n 11 -9 n 14 -8 n 16 -7 n 18 -5 n 20 -2 m 1 -3 n 2 -6 n 3 -7 m 0 -1 n 2 -3 n 3 -6 n 4 -8 n 6 -9 E # C K w 26 m 2 11 n 2 -8 n 0 -9 m 3 10 n 3 -8 m 6 10 n 4 10 n 4 -8 m 0 12 n 2 11 n 6 10 n 11 10 n 17 11 n 20 12 m 4 2 n 5 4 n 7 6 n 10 7 n 13 7 n 16 6 n 17 5 n 17 3 n 16 2 n 11 0 n 9 -1 n 8 -2 n 8 -3 n 9 -4 n 10 -3 n 9 -2 m 15 6 n 16 5 n 16 3 n 15 2 m 13 7 n 15 5 n 15 3 n 14 2 n 11 0 m 11 0 n 14 0 n 17 -1 n 18 -3 n 18 -5 n 17 -6 m 15 -1 n 17 -3 n 17 -5 m 11 0 n 14 -1 n 16 -3 n 17 -6 n 18 -8 n 19 -9 n 20 -9 m 0 -9 n 4 -8 n 8 -8 n 13 -9 E # C L w 26 m 2 11 n 2 -8 m 3 10 n 3 -7 m 6 10 n 4 10 n 4 -7 n 6 -7 m 20 7 n 18 4 n 17 2 n 16 -1 n 16 -3 n 17 -5 n 19 -6 m 18 3 n 17 0 n 17 -3 n 18 -5 m 20 7 n 19 5 n 18 1 n 18 -2 n 19 -6 n 20 -9 m 0 12 n 2 11 n 6 10 n 11 10 n 17 11 n 20 12 m 0 -9 n 2 -8 n 6 -7 n 11 -7 n 17 -8 n 20 -9 E # C M w 26 m 9 9 n 9 -7 m 10 8 n 10 -6 m 11 9 n 11 -7 m 6 -7 n 4 -5 n 2 -4 n 1 -3 n 0 0 n 0 5 n 1 8 n 3 10 n 5 11 n 8 12 n 12 12 n 15 11 n 17 10 n 19 8 n 20 5 n 20 0 n 19 -3 n 18 -4 n 16 -5 n 14 -7 m 2 -3 n 1 0 n 1 5 n 2 8 m 4 -5 n 3 -3 n 2 0 n 2 6 n 3 9 n 5 11 m 18 8 n 19 5 n 19 0 n 18 -3 m 15 11 n 17 9 n 18 6 n 18 0 n 17 -3 n 16 -5 m 0 12 n 4 10 n 8 9 n 12 9 n 16 10 n 20 12 m 0 -9 n 3 -8 n 7 -7 n 13 -7 n 17 -8 n 20 -9 E # C N w 26 m 2 10 n 2 -8 n 0 -9 m 4 10 n 3 9 n 3 -8 m 7 12 n 5 11 n 4 9 n 4 -8 m 0 8 n 2 10 n 4 11 n 7 12 n 11 12 n 14 11 n 16 10 n 18 8 n 19 6 n 20 3 n 20 -1 n 19 -3 n 17 -4 m 18 7 n 19 4 n 19 0 n 18 -3 m 14 11 n 16 9 n 17 7 n 18 4 n 18 0 n 17 -4 n 17 -6 n 18 -8 n 19 -9 n 20 -9 m 0 -9 n 4 -8 n 8 -8 n 13 -9 E # C O w 26 m 9 12 n 6 11 n 4 10 n 2 8 n 1 6 n 0 3 n 0 0 n 1 -3 n 2 -5 n 4 -7 n 6 -8 n 9 -9 n 11 -9 n 14 -8 n 16 -7 n 18 -5 n 19 -3 n 20 0 n 20 3 n 19 6 n 18 8 n 16 10 n 14 11 n 11 12 n 9 12 m 2 7 n 1 4 n 1 -1 n 2 -4 m 6 11 n 4 9 n 3 7 n 2 4 n 2 -1 n 3 -4 n 4 -6 n 6 -8 m 18 -4 n 19 -1 n 19 4 n 18 7 m 14 -8 n 16 -6 n 17 -4 n 18 -1 n 18 4 n 17 7 n 16 9 n 14 11 E # C P w 26 m 2 9 n 2 -8 m 5 10 n 3 8 n 3 -7 m 9 12 n 7 11 n 5 9 n 4 7 n 4 -7 n 6 -7 m 0 7 n 2 9 n 6 11 n 9 12 n 12 12 n 15 11 n 17 10 n 19 8 n 20 5 n 20 3 n 19 0 n 17 -2 n 14 -3 n 10 -3 n 7 -2 n 5 0 n 4 3 m 18 8 n 19 6 n 19 2 n 18 0 m 15 11 n 17 9 n 18 6 n 18 2 n 17 -1 n 14 -3 m 0 -9 n 2 -8 n 6 -7 n 11 -7 n 17 -8 n 20 -9 E # C Q w 26 m 9 12 n 6 11 n 4 10 n 2 8 n 1 6 n 0 3 n 0 0 n 1 -3 n 2 -5 n 4 -7 n 6 -8 n 9 -9 n 11 -9 n 14 -8 n 16 -7 n 18 -5 n 19 -3 n 20 0 n 20 3 n 19 6 n 18 8 n 16 10 n 14 11 n 11 12 n 9 12 m 2 7 n 1 4 n 1 -1 n 2 -4 m 6 11 n 4 9 n 3 7 n 2 4 n 2 -1 n 3 -4 n 4 -6 n 6 -8 m 18 -4 n 19 -1 n 19 4 n 18 7 m 14 -8 n 16 -6 n 17 -4 n 18 -1 n 18 4 n 17 7 n 16 9 n 14 11 m 2 -1 n 3 -3 n 6 -4 n 12 -5 n 19 -5 n 20 -6 n 20 -8 n 19 -9 n 19 -8 n 20 -7 m 8 -5 n 10 -5 m 3 -3 n 6 -5 n 9 -6 n 11 -6 n 12 -5 E # C R w 26 m 2 9 n 2 -8 n 0 -9 m 3 9 n 3 -8 m 4 10 n 4 -8 m 0 7 n 2 9 n 4 10 n 6 11 n 9 12 n 13 12 n 17 11 n 19 9 n 20 7 n 20 4 n 19 2 n 18 1 m 17 10 n 18 9 n 19 7 n 19 4 n 18 2 m 13 12 n 15 11 n 17 9 n 18 7 n 18 3 n 17 1 m 16 0 n 13 -1 n 10 -1 n 8 0 n 8 2 n 10 3 n 13 3 n 16 2 n 18 0 n 20 -3 n 20 -5 n 19 -6 n 18 -6 m 16 1 n 17 0 n 19 -4 n 19 -5 n 18 -2 m 12 3 n 14 2 n 16 0 n 17 -2 n 18 -6 n 19 -8 n 20 -9 m 0 -9 n 4 -8 n 8 -8 n 13 -9 E # C S w 26 m 12 12 n 18 11 n 20 12 n 19 10 n 19 8 n 17 10 n 15 11 n 12 12 n 8 12 n 5 11 n 2 8 n 1 5 n 1 3 n 2 0 n 4 -2 n 7 -3 n 10 -3 n 12 -2 n 13 -1 n 14 1 n 14 2 m 19 11 n 18 10 n 19 8 m 2 2 n 3 0 n 4 -1 n 7 -2 n 10 -2 n 12 -1 m 3 9 n 2 7 n 2 4 n 3 2 n 5 0 n 8 -1 n 10 -1 n 12 0 n 14 2 n 15 3 n 16 3 m 4 1 n 5 1 n 6 2 n 8 4 n 10 5 n 13 5 n 15 4 n 17 2 n 18 0 n 18 -3 n 17 -6 n 15 -8 m 8 5 n 10 6 n 13 6 n 16 5 n 18 3 n 19 0 n 19 -3 n 18 -5 m 1 -5 n 2 -7 n 1 -8 m 6 2 n 6 3 n 7 5 n 8 6 n 10 7 n 13 7 n 16 6 n 19 3 n 20 0 n 20 -2 n 19 -5 n 17 -7 n 15 -8 n 12 -9 n 8 -9 n 5 -8 n 3 -7 n 1 -5 n 1 -7 n 0 -9 n 2 -8 n 8 -9 E # C T w 26 m 9 10 n 5 10 n 3 9 n 2 8 n 1 6 n 0 3 n 0 -1 n 1 -4 n 2 -6 n 3 -7 n 5 -8 n 8 -9 n 11 -9 n 14 -8 n 16 -7 n 18 -5 n 19 -3 n 20 0 n 20 4 n 19 7 n 17 9 n 15 10 m 13 10 n 12 9 n 12 7 n 13 6 n 14 7 n 13 8 m 1 -1 n 2 -4 n 4 -6 n 6 -7 n 9 -8 n 12 -8 n 15 -7 m 2 8 n 1 4 n 1 1 n 2 -2 n 4 -5 n 6 -6 n 9 -7 n 12 -7 n 15 -6 n 17 -5 n 19 -2 n 20 0 m 0 12 n 3 9 m 3 10 n 4 11 m 1 11 n 2 11 n 3 12 n 5 11 n 9 10 n 15 10 n 18 11 n 20 12 E # C U w 26 m 4 10 n 2 8 n 1 6 n 0 3 n 0 0 n 1 -3 n 2 -5 n 4 -7 n 6 -8 n 9 -9 n 13 -9 n 16 -8 n 18 -7 m 3 8 n 2 6 n 1 3 n 1 -1 n 2 -4 m 3 9 n 4 8 n 4 7 n 3 5 n 2 2 n 2 -1 n 3 -4 n 4 -6 n 6 -8 m 14 10 n 16 10 n 16 -6 n 15 -8 n 13 -9 m 17 10 n 17 -6 n 16 -7 m 18 11 n 18 -7 n 20 -9 m 0 12 n 3 11 n 9 10 n 14 10 n 18 11 n 20 12 E # C V w 26 m 0 12 n 10 -9 m 1 11 n 2 10 n 9 -5 n 10 -7 m 2 11 n 3 10 n 10 -5 n 11 -6 m 20 12 n 10 -9 m 15 4 n 13 -1 m 17 6 n 13 1 n 12 -2 n 12 -4 m 0 12 n 2 11 n 7 10 n 13 10 n 18 11 n 20 12 E # C W w 26 m 4 10 n 2 8 n 1 6 n 0 3 n 0 0 n 1 -3 n 2 -5 n 4 -7 n 6 -8 n 9 -9 n 11 -9 n 14 -8 n 16 -7 n 18 -5 n 19 -3 n 20 0 n 20 3 n 19 6 n 18 8 n 16 10 m 2 6 n 1 3 n 1 0 n 2 -3 n 3 -5 m 2 8 n 3 7 n 3 6 n 2 3 n 2 0 n 3 -4 n 4 -6 n 6 -8 m 17 -5 n 18 -3 n 19 0 n 19 3 n 18 6 m 14 -8 n 16 -6 n 17 -4 n 18 0 n 18 3 n 17 6 n 17 7 n 18 8 m 9 9 n 9 -9 m 10 8 n 10 -8 m 11 9 n 11 -9 m 0 12 n 4 10 n 8 9 n 12 9 n 16 10 n 20 12 E # C X w 26 m 0 12 n 16 -7 n 17 -8 m 1 11 n 3 10 n 18 -8 m 4 10 n 20 -9 m 20 12 n 11 2 m 9 0 n 2 -8 m 8 -1 n 5 -3 n 4 -5 m 9 0 n 5 -2 n 4 -3 n 3 -5 n 3 -7 m 0 12 n 4 10 n 8 9 n 12 9 n 16 10 n 20 12 m 0 -9 n 2 -8 n 6 -7 n 11 -7 n 17 -8 n 20 -9 E # C Y w 26 m 16 10 n 16 -8 m 17 10 n 17 -7 m 18 11 n 18 -7 m 3 10 n 1 8 n 0 5 n 0 2 n 1 -1 n 3 -3 n 5 -4 n 8 -5 n 11 -5 n 14 -4 n 16 -3 m 4 -3 n 7 -4 n 13 -4 m 0 2 n 1 0 n 3 -2 n 6 -3 n 12 -3 n 14 -4 m 0 12 n 4 10 n 8 9 n 12 9 n 16 10 n 20 12 m 0 -5 n 2 -7 n 4 -8 n 8 -9 n 12 -9 n 16 -8 n 20 -6 E # C Z w 26 m 0 12 n 1 11 n 3 10 n 6 10 n 11 12 n 14 12 n 17 11 n 18 9 n 18 7 n 17 5 m 16 11 n 17 9 n 17 7 n 16 5 m 14 12 n 15 11 n 16 9 n 16 6 m 16 4 n 12 3 n 10 3 n 8 4 n 8 6 n 10 7 n 12 7 n 16 6 m 12 7 n 14 6 n 15 5 n 14 4 n 12 3 m 17 5 n 19 3 n 20 0 n 20 -2 n 19 -5 n 17 -7 n 15 -8 n 12 -9 n 8 -9 n 5 -8 n 3 -7 n 1 -5 n 0 -2 n 0 0 n 1 3 n 2 4 n 4 5 n 6 5 n 8 4 n 8 2 n 7 1 n 6 2 n 7 3 m 16 5 n 18 3 n 19 1 n 19 -3 n 18 -5 m 16 4 n 17 3 n 18 1 n 18 -3 n 17 -6 n 15 -8 E # C a w 17 m 3 1 n 0 -2 n 0 -6 n 3 -9 n 7 -7 m 1 -2 n 1 -6 n 3 -8 m 2 0 n 2 -5 n 5 -8 m 5 -1 n 0 4 n 1 5 n 2 4 n 1 3 m 2 4 n 6 4 n 8 5 n 10 3 n 10 -6 n 11 -7 m 8 4 n 9 3 n 9 -6 n 8 -7 n 9 -8 n 10 -7 n 9 -6 m 6 4 n 8 2 n 8 -6 n 7 -7 n 9 -9 n 11 -7 E # C b w 17 m 2 10 n 0 12 n 1 8 n 1 -6 n 4 -9 n 9 -7 n 11 -6 m 2 10 n 2 -6 n 4 -8 m 2 10 n 4 12 n 3 8 n 3 -5 n 6 -8 m 3 3 n 8 5 n 11 2 n 11 -6 m 8 4 n 10 2 n 10 -6 m 6 4 n 9 1 n 9 -7 E # C c w 12 m 0 2 n 0 -7 n 2 -9 n 4 -7 m 1 2 n 1 -7 n 2 -8 m 2 3 n 2 -6 n 3 -7 n 4 -7 m 0 2 n 6 5 n 8 3 n 6 2 n 4 4 m 5 4 n 7 3 E # C d w 16 m 5 5 n 0 2 n 0 -6 n 3 -9 n 5 -8 n 8 -7 n 10 -7 m 1 2 n 1 -6 n 3 -8 m 2 3 n 2 -5 n 5 -8 m 3 9 n 3 12 n 4 9 n 10 2 n 10 -7 m 3 9 n 9 2 n 9 -6 m 3 9 n 0 9 n 3 8 n 8 2 n 8 -7 E # C e w 13 m 0 2 n 0 -7 n 2 -9 n 4 -7 m 1 2 n 1 -7 n 2 -8 m 2 3 n 2 -6 n 3 -7 n 4 -7 m 0 2 n 6 5 n 9 1 n 2 -3 m 5 4 n 8 1 m 4 4 n 7 0 E # C f w 12 m 3 9 n 3 -6 n 2 -7 n 4 -9 m 4 9 n 4 -6 n 3 -7 n 4 -8 n 5 -7 n 4 -6 m 5 10 n 5 -6 n 6 -7 n 4 -9 m 3 9 n 9 12 n 11 10 n 9 9 n 7 11 m 8 11 n 10 10 m 0 5 n 3 5 m 5 5 n 9 5 E # C g w 17 m 0 2 n 0 -6 n 3 -9 n 8 -7 m 1 2 n 1 -6 n 3 -8 m 2 3 n 2 -5 n 5 -8 m 0 2 n 2 3 n 7 5 n 10 2 n 10 -11 n 9 -13 n 8 -14 n 6 -15 n 4 -15 n 2 -14 n 0 -15 n 2 -16 n 4 -15 m 7 4 n 9 2 n 9 -11 n 8 -13 m 3 -15 n 1 -15 m 5 4 n 8 1 n 8 -12 n 7 -14 n 6 -15 E # C h w 18 m 2 10 n 0 12 n 1 8 n 1 -6 n 0 -7 n 2 -9 m 2 10 n 2 -6 n 1 -7 n 2 -8 n 3 -7 n 2 -6 m 2 10 n 4 12 n 3 8 n 3 -6 n 4 -7 n 2 -9 m 3 3 n 6 4 n 8 5 n 11 2 n 11 -7 n 8 -11 n 8 -14 n 9 -16 n 10 -16 n 8 -14 m 8 4 n 10 2 n 10 -7 n 9 -9 m 6 4 n 9 1 n 9 -8 n 8 -11 E # C i w 10 m 2 12 n 0 10 n 2 8 n 4 10 n 2 12 m 2 11 n 1 10 n 2 9 n 3 10 n 2 11 m 2 5 n 0 3 n 1 2 n 1 -6 n 0 -7 n 2 -9 m 2 2 n 3 3 n 2 4 n 1 3 n 2 2 n 2 -6 n 1 -7 n 2 -8 n 3 -7 n 2 -6 m 2 5 n 4 3 n 3 2 n 3 -6 n 4 -7 n 2 -9 E # C j w 10 m 2 12 n 0 10 n 2 8 n 4 10 n 2 12 m 2 11 n 1 10 n 2 9 n 3 10 n 2 11 m 2 5 n 0 3 n 1 2 n 1 -7 n 4 -11 m 2 2 n 3 3 n 2 4 n 1 3 n 2 2 n 2 -7 n 3 -9 m 2 5 n 4 3 n 3 2 n 3 -8 n 4 -11 n 4 -14 n 2 -16 n 0 -15 n 0 -16 n 2 -16 E # C k w 17 m 2 10 n 0 12 n 1 8 n 1 -6 n 0 -7 n 2 -9 m 2 10 n 2 -6 n 1 -7 n 2 -8 n 3 -7 n 2 -6 m 2 10 n 4 12 n 3 8 n 3 -6 n 4 -7 n 2 -9 m 3 2 n 6 4 n 8 5 n 10 2 n 7 0 n 3 -3 m 7 4 n 9 2 m 6 4 n 8 1 m 6 -1 n 7 -2 n 8 -7 n 10 -9 n 12 -7 m 7 -1 n 8 -3 n 9 -7 n 10 -8 m 7 0 n 8 -1 n 10 -6 n 11 -7 n 12 -7 E # C l w 10 m 2 10 n 0 12 n 1 8 n 1 -6 n 0 -7 n 2 -9 m 2 10 n 2 -6 n 1 -7 n 2 -8 n 3 -7 n 2 -6 m 2 10 n 4 12 n 3 8 n 3 -6 n 4 -7 n 2 -9 E # C m w 26 m 0 3 n 1 3 n 2 2 n 2 -6 n 1 -7 n 3 -9 m 2 4 n 3 3 n 3 -6 n 2 -7 n 3 -8 n 4 -7 n 3 -6 m 0 3 n 2 5 n 4 3 n 4 -6 n 5 -7 n 3 -9 m 4 3 n 7 4 n 9 5 n 12 3 n 12 -6 n 13 -7 n 11 -9 m 9 4 n 11 3 n 11 -6 n 10 -7 n 11 -8 n 12 -7 n 11 -6 m 7 4 n 10 2 n 10 -6 n 9 -7 n 11 -9 m 12 3 n 15 4 n 17 5 n 20 3 n 20 -6 n 21 -7 n 19 -9 m 17 4 n 19 3 n 19 -6 n 18 -7 n 19 -8 n 20 -7 n 19 -6 m 15 4 n 18 2 n 18 -6 n 17 -7 n 19 -9 E # C n w 18 m 0 3 n 1 3 n 2 2 n 2 -6 n 1 -7 n 3 -9 m 2 4 n 3 3 n 3 -6 n 2 -7 n 3 -8 n 4 -7 n 3 -6 m 0 3 n 2 5 n 4 3 n 4 -6 n 5 -7 n 3 -9 m 4 3 n 7 4 n 9 5 n 12 3 n 12 -6 n 13 -7 n 11 -9 m 9 4 n 11 3 n 11 -6 n 10 -7 n 11 -8 n 12 -7 n 11 -6 m 7 4 n 10 2 n 10 -6 n 9 -7 n 11 -9 E # C o w 16 m 0 2 n 0 -6 n 3 -9 n 8 -7 n 10 -6 m 1 2 n 1 -6 n 3 -8 m 2 3 n 2 -5 n 5 -8 m 0 2 n 2 3 n 7 5 n 10 2 n 10 -6 m 7 4 n 9 2 n 9 -6 m 5 4 n 8 1 n 8 -7 E # C p w 17 m 1 5 n 2 3 n 2 -6 n 0 -7 n 2 -7 n 2 -13 n 1 -16 n 3 -14 m 3 3 n 3 -14 m 1 5 n 3 4 n 4 3 n 4 -6 n 6 -7 n 7 -8 m 3 -7 n 4 -7 n 6 -8 m 4 -8 n 5 -9 n 10 -7 n 12 -6 m 4 -8 n 4 -13 n 5 -16 n 3 -14 m 4 3 n 7 4 n 9 5 n 12 2 n 12 -6 m 9 4 n 11 2 n 11 -6 m 7 4 n 10 1 n 10 -7 E # C q w 17 m 0 2 n 0 -6 n 3 -9 n 8 -7 m 1 2 n 1 -6 n 3 -8 m 2 3 n 2 -5 n 5 -8 m 0 2 n 2 3 n 7 5 n 10 2 n 10 -13 n 11 -16 n 9 -14 m 7 4 n 9 2 n 9 -14 m 5 4 n 8 1 n 8 -13 n 7 -16 n 9 -14 E # C r w 13 m 0 3 n 1 3 n 2 2 n 2 -6 n 1 -7 n 3 -9 m 2 4 n 3 3 n 3 -6 n 2 -7 n 3 -8 n 4 -7 n 3 -6 m 0 3 n 2 5 n 4 3 n 4 -6 n 5 -7 n 3 -9 m 4 3 n 8 5 n 10 3 n 8 2 n 6 4 m 7 4 n 9 3 E # C s w 16 m 0 2 n 0 -1 n 2 -3 n 8 0 n 10 -2 n 10 -6 m 1 2 n 1 -1 n 2 -2 m 2 3 n 2 -1 n 3 -2 m 8 -1 n 9 -2 n 9 -6 m 7 -1 n 8 -2 n 8 -7 m 0 2 n 6 5 n 9 4 n 7 3 n 4 4 m 5 4 n 8 4 m 10 -6 n 4 -9 n 0 -7 n 2 -6 n 6 -8 m 2 -7 n 4 -8 E # C t w 10 m 4 10 n 2 12 n 3 8 n 3 -6 n 2 -7 n 4 -9 m 4 10 n 4 -6 n 3 -7 n 4 -8 n 5 -7 n 4 -6 m 4 10 n 6 12 n 5 8 n 5 -6 n 6 -7 n 4 -9 m 0 5 n 3 5 m 5 5 n 8 5 E # C u w 18 m 0 3 n 1 3 n 2 2 n 2 -7 n 5 -9 n 10 -7 m 2 4 n 3 3 n 3 -7 n 5 -8 m 0 3 n 2 5 n 4 3 n 4 -6 n 7 -8 m 11 5 n 13 3 n 12 2 n 12 -6 n 13 -7 n 14 -7 m 11 2 n 12 3 n 11 4 n 10 3 n 11 2 n 11 -7 n 12 -8 m 11 5 n 9 3 n 10 2 n 10 -7 n 12 -9 n 14 -7 E # C v w 18 m 0 5 n 1 3 n 1 -6 n 5 -9 n 7 -7 n 11 -5 m 1 4 n 2 3 n 2 -6 n 5 -8 m 0 5 n 2 4 n 3 3 n 3 -5 n 6 -7 n 7 -7 m 10 5 n 12 3 n 11 2 n 11 -5 m 10 2 n 11 3 n 10 4 n 9 3 n 10 2 n 10 -5 m 10 5 n 8 3 n 9 2 n 9 -6 E # C w w 26 m 0 5 n 1 3 n 1 -6 n 5 -9 n 7 -7 n 9 -6 m 1 4 n 2 3 n 2 -6 n 5 -8 m 0 5 n 2 4 n 3 3 n 3 -5 n 6 -7 n 7 -7 m 10 5 n 8 3 n 9 2 n 9 -6 n 13 -9 n 15 -7 n 19 -5 m 10 2 n 11 3 n 10 4 n 9 3 n 10 2 n 10 -6 n 13 -8 m 10 5 n 12 3 n 11 2 n 11 -5 n 14 -7 n 15 -7 m 18 5 n 20 3 n 19 2 n 19 -5 m 18 2 n 19 3 n 18 4 n 17 3 n 18 2 n 18 -5 m 18 5 n 16 3 n 17 2 n 17 -6 E # C x w 18 m 0 3 n 2 2 n 9 -8 n 10 -9 n 12 -7 m 1 4 n 3 3 n 9 -7 n 11 -8 m 0 3 n 2 5 n 3 4 n 10 -6 n 12 -7 m 12 5 n 10 5 n 10 3 n 12 3 n 12 5 n 10 3 n 7 -1 m 5 -3 n 2 -7 n 0 -9 n 2 -9 n 2 -7 n 0 -7 n 0 -9 m 2 -2 n 5 -2 m 7 -2 n 10 -2 E # C y w 18 m 0 3 n 1 3 n 2 2 n 2 -7 n 5 -9 n 10 -7 m 2 4 n 3 3 n 3 -7 n 5 -8 m 0 3 n 2 5 n 4 3 n 4 -6 n 7 -8 m 11 5 n 13 3 n 12 2 n 12 -11 n 11 -13 n 10 -14 n 8 -15 n 6 -15 n 4 -14 n 2 -15 n 4 -16 n 6 -15 m 11 2 n 12 3 n 11 4 n 10 3 n 11 2 n 11 -12 n 10 -13 m 5 -15 n 3 -15 m 11 5 n 9 3 n 10 2 n 10 -12 n 9 -14 n 8 -15 E # C z w 15 m 5 4 n 2 2 n 2 3 n 5 4 n 7 5 n 10 3 n 10 -1 n 5 -3 m 7 4 n 9 3 n 9 -1 m 5 4 n 8 2 n 8 -1 n 7 -2 m 5 -3 n 10 -5 n 10 -11 n 9 -13 n 8 -14 n 6 -15 n 4 -15 n 2 -14 n 0 -15 n 2 -16 n 4 -15 m 9 -5 n 9 -12 n 8 -13 m 3 -15 n 1 -15 m 7 -4 n 8 -5 n 8 -12 n 7 -14 n 6 -15 E xgks-2.6.1+dfsg.2/src/fontdb/NOTES0000644000175000017500000000032211413611016017552 0ustar amckinstryamckinstrygroucho$ awk 'BEGIN{xmin=999;xmax=-999;ymin=999;ymax=-999}$1=="m"||$1=="n"{if($ 2>xmax)xmax=$2;if($2ymax)ymax=$3}END{pri nt xmin, xmax, ymin, ymax}' *.src -40 165 -60 125 xgks-2.6.1+dfsg.2/src/fontdb/cc.fnt0000644000175000017500000004070711413611016020050 0ustar amckinstryamckinstry# complex_cyrillic # C A w 20 m 9 12 n 2 -9 m 9 12 n 16 -9 m 9 9 n 15 -9 m 4 -3 n 13 -3 m 0 -9 n 6 -9 m 12 -9 n 18 -9 E # C B w 22 m 3 12 n 3 -9 m 4 12 n 4 -9 m 0 12 n 16 12 n 16 6 n 15 12 m 4 2 n 12 2 n 15 1 n 16 0 n 17 -2 n 17 -5 n 16 -7 n 15 -8 n 12 -9 n 0 -9 m 12 2 n 14 1 n 15 0 n 16 -2 n 16 -5 n 15 -7 n 14 -8 n 12 -9 E # C C w 22 m 4 12 n 4 -9 m 5 12 n 5 -9 m 1 12 n 13 12 n 16 11 n 17 10 n 18 8 n 18 6 n 17 4 n 16 3 n 13 2 m 13 12 n 15 11 n 16 10 n 17 8 n 17 6 n 16 4 n 15 3 n 13 2 m 5 2 n 13 2 n 16 1 n 17 0 n 18 -2 n 18 -5 n 17 -7 n 16 -8 n 13 -9 n 1 -9 m 13 2 n 15 1 n 16 0 n 17 -2 n 17 -5 n 16 -7 n 15 -8 n 13 -9 E # C D w 18 m 3 12 n 3 -9 m 4 12 n 4 -9 m 0 12 n 15 12 n 15 6 n 14 12 m 0 -9 n 7 -9 E # C E w 24 m 7 12 n 7 6 n 6 -2 n 5 -6 n 4 -8 n 3 -9 m 17 12 n 17 -9 m 18 12 n 18 -9 m 4 12 n 21 12 m 0 -9 n 21 -9 m 0 -9 n 0 -16 m 1 -9 n 0 -16 m 20 -9 n 21 -16 m 21 -9 n 21 -16 E # C F w 21 m 3 12 n 3 -9 m 4 12 n 4 -9 m 10 6 n 10 -2 m 0 12 n 16 12 n 16 6 n 15 12 m 4 2 n 10 2 m 0 -9 n 16 -9 n 16 -3 n 15 -9 E # C G w 31 m 13 12 n 13 -9 m 14 12 n 14 -9 m 10 12 n 17 12 m 2 11 n 3 10 n 2 9 n 1 10 n 1 11 n 2 12 n 3 12 n 4 11 n 5 9 n 6 5 n 7 3 n 9 2 n 18 2 n 20 3 n 21 5 n 22 9 n 23 11 n 24 12 n 25 12 n 26 11 n 26 10 n 25 9 n 24 10 n 25 11 m 9 2 n 7 1 n 6 -1 n 5 -6 n 4 -8 n 3 -9 m 9 2 n 8 1 n 7 -1 n 6 -6 n 5 -8 n 4 -9 n 2 -9 n 1 -8 n 0 -6 m 18 2 n 20 1 n 21 -1 n 22 -6 n 23 -8 n 24 -9 m 18 2 n 19 1 n 20 -1 n 21 -6 n 22 -8 n 23 -9 n 25 -9 n 26 -8 n 27 -6 m 10 -9 n 17 -9 E # C H w 20 m 1 9 n 0 12 n 0 6 n 1 9 n 3 11 n 5 12 n 9 12 n 12 11 n 13 9 n 13 6 n 12 4 n 9 3 n 6 3 m 9 12 n 11 11 n 12 9 n 12 6 n 11 4 n 9 3 m 9 3 n 11 2 n 13 0 n 14 -2 n 14 -5 n 13 -7 n 12 -8 n 9 -9 n 4 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -4 n 1 -3 n 2 -4 n 1 -5 m 12 1 n 13 -2 n 13 -5 n 12 -7 n 11 -8 n 9 -9 E # C I w 24 m 3 12 n 3 -9 m 4 12 n 4 -9 m 16 12 n 16 -9 m 17 12 n 17 -9 m 0 12 n 7 12 m 13 12 n 20 12 m 16 10 n 4 -7 m 0 -9 n 7 -9 m 13 -9 n 20 -9 E # C J w 24 m 3 12 n 3 -9 m 4 12 n 4 -9 m 16 12 n 16 -9 m 17 12 n 17 -9 m 0 12 n 7 12 m 13 12 n 20 12 m 16 10 n 4 -7 m 0 -9 n 7 -9 m 13 -9 n 20 -9 m 6 18 n 6 19 n 5 19 n 5 18 n 6 16 n 8 15 n 12 15 n 14 16 n 15 18 E # C K w 24 m 3 12 n 3 -9 m 4 12 n 4 -9 m 0 12 n 7 12 m 4 2 n 11 2 n 13 3 n 14 5 n 15 9 n 16 11 n 17 12 n 18 12 n 19 11 n 19 10 n 18 9 n 17 10 n 18 11 m 11 2 n 13 1 n 14 -1 n 15 -6 n 16 -8 n 17 -9 m 11 2 n 12 1 n 13 -1 n 14 -6 n 15 -8 n 16 -9 n 18 -9 n 19 -8 n 20 -6 m 0 -9 n 7 -9 E # C L w 25 m 6 12 n 6 6 n 5 -2 n 4 -6 n 3 -8 n 2 -9 n 1 -9 n 0 -8 n 0 -7 n 1 -6 n 2 -7 n 1 -8 m 17 12 n 17 -9 m 18 12 n 18 -9 m 3 12 n 21 12 m 14 -9 n 21 -9 E # C M w 25 m 3 12 n 3 -9 m 4 12 n 10 -6 m 3 12 n 10 -9 m 17 12 n 10 -9 m 17 12 n 17 -9 m 18 12 n 18 -9 m 0 12 n 4 12 m 17 12 n 21 12 m 0 -9 n 6 -9 m 14 -9 n 21 -9 E # C N w 24 m 3 12 n 3 -9 m 4 12 n 4 -9 m 16 12 n 16 -9 m 17 12 n 17 -9 m 0 12 n 7 12 m 13 12 n 20 12 m 4 2 n 16 2 m 0 -9 n 7 -9 m 13 -9 n 20 -9 E # C O w 22 m 7 12 n 4 11 n 2 9 n 1 7 n 0 3 n 0 0 n 1 -4 n 2 -6 n 4 -8 n 7 -9 n 9 -9 n 12 -8 n 14 -6 n 15 -4 n 16 0 n 16 3 n 15 7 n 14 9 n 12 11 n 9 12 n 7 12 m 7 12 n 5 11 n 3 9 n 2 7 n 1 3 n 1 0 n 2 -4 n 3 -6 n 5 -8 n 7 -9 m 9 -9 n 11 -8 n 13 -6 n 14 -4 n 15 0 n 15 3 n 14 7 n 13 9 n 11 11 n 9 12 E # C P w 24 m 3 12 n 3 -9 m 4 12 n 4 -9 m 16 12 n 16 -9 m 17 12 n 17 -9 m 0 12 n 20 12 m 0 -9 n 7 -9 m 13 -9 n 20 -9 E # C Q w 22 m 3 12 n 3 -9 m 4 12 n 4 -9 m 0 12 n 12 12 n 15 11 n 16 10 n 17 8 n 17 5 n 16 3 n 15 2 n 12 1 n 4 1 m 12 12 n 14 11 n 15 10 n 16 8 n 16 5 n 15 3 n 14 2 n 12 1 m 0 -9 n 7 -9 E # C R w 21 m 14 9 n 15 6 n 15 12 n 14 9 n 12 11 n 9 12 n 7 12 n 4 11 n 2 9 n 1 7 n 0 4 n 0 -1 n 1 -4 n 2 -6 n 4 -8 n 7 -9 n 9 -9 n 12 -8 n 14 -6 n 15 -4 m 7 12 n 5 11 n 3 9 n 2 7 n 1 4 n 1 -1 n 2 -4 n 3 -6 n 5 -8 n 7 -9 E # C S w 19 m 7 12 n 7 -9 m 8 12 n 8 -9 m 1 12 n 0 6 n 0 12 n 15 12 n 15 6 n 14 12 m 4 -9 n 11 -9 E # C T w 21 m 2 12 n 9 -4 m 3 12 n 10 -4 m 17 12 n 10 -4 n 8 -7 n 7 -8 n 5 -9 n 4 -9 n 3 -8 n 3 -7 n 4 -6 n 5 -7 n 4 -8 m 0 12 n 6 12 m 13 12 n 19 12 E # C U w 25 m 9 12 n 9 -9 m 10 12 n 10 -9 m 6 12 n 13 12 m 7 9 n 3 8 n 1 6 n 0 3 n 0 0 n 1 -3 n 3 -5 n 7 -6 n 12 -6 n 16 -5 n 18 -3 n 19 0 n 19 3 n 18 6 n 16 8 n 12 9 n 7 9 m 7 9 n 4 8 n 2 6 n 1 3 n 1 0 n 2 -3 n 4 -5 n 7 -6 m 12 -6 n 15 -5 n 17 -3 n 18 0 n 18 3 n 17 6 n 15 8 n 12 9 m 6 -9 n 13 -9 E # C V w 20 m 2 12 n 15 -9 m 3 12 n 16 -9 m 16 12 n 2 -9 m 0 12 n 6 12 m 12 12 n 18 12 m 0 -9 n 6 -9 m 12 -9 n 18 -9 E # C W w 24 m 3 12 n 3 -9 m 4 12 n 4 -9 m 16 12 n 16 -9 m 17 12 n 17 -9 m 0 12 n 7 12 m 13 12 n 20 12 m 0 -9 n 20 -9 m 19 -9 n 20 -16 m 20 -9 n 20 -16 E # C X w 23 m 3 12 n 3 1 n 4 -1 n 7 -2 n 10 -2 n 13 -1 n 15 1 m 4 12 n 4 1 n 5 -1 n 7 -2 m 15 12 n 15 -9 m 16 12 n 16 -9 m 0 12 n 7 12 m 12 12 n 19 12 m 12 -9 n 19 -9 E # C Y w 33 m 3 12 n 3 -9 m 4 12 n 4 -9 m 14 12 n 14 -9 m 15 12 n 15 -9 m 25 12 n 25 -9 m 26 12 n 26 -9 m 0 12 n 7 12 m 11 12 n 18 12 m 22 12 n 29 12 m 0 -9 n 29 -9 E # C Z w 33 m 3 12 n 3 -9 m 4 12 n 4 -9 m 14 12 n 14 -9 m 15 12 n 15 -9 m 25 12 n 25 -9 m 26 12 n 26 -9 m 0 12 n 7 12 m 11 12 n 18 12 m 22 12 n 29 12 m 0 -9 n 29 -9 m 28 -9 n 29 -16 m 29 -9 n 29 -16 E # C a w 20 m 5 3 n 5 2 n 4 2 n 4 3 n 5 4 n 7 5 n 11 5 n 13 4 n 14 3 n 15 1 n 15 -6 n 16 -8 n 17 -9 m 14 3 n 14 -6 n 15 -8 n 17 -9 n 18 -9 m 14 1 n 13 0 n 7 -1 n 4 -2 n 3 -4 n 3 -6 n 4 -8 n 7 -9 n 10 -9 n 12 -8 n 14 -6 m 7 -1 n 5 -2 n 4 -4 n 4 -6 n 5 -8 n 7 -9 E # C b w 20 m 13 12 n 12 11 n 6 9 n 3 7 n 1 4 n 0 1 n 0 -3 n 1 -6 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -6 n 14 -3 n 14 -1 n 13 2 n 11 4 n 8 5 n 6 5 n 3 4 n 1 2 n 0 -1 m 13 12 n 12 10 n 10 9 n 6 8 n 3 6 n 1 4 m 6 5 n 4 4 n 2 2 n 1 -1 n 1 -3 n 2 -6 n 4 -8 n 6 -9 m 8 -9 n 10 -8 n 12 -6 n 13 -3 n 13 -1 n 12 2 n 10 4 n 8 5 E # C c w 20 m 3 5 n 3 -9 m 4 5 n 4 -9 m 0 5 n 11 5 n 14 4 n 15 2 n 15 1 n 14 -1 n 11 -2 m 11 5 n 13 4 n 14 2 n 14 1 n 13 -1 n 11 -2 m 4 -2 n 11 -2 n 14 -3 n 15 -5 n 15 -6 n 14 -8 n 11 -9 n 0 -9 m 11 -2 n 13 -3 n 14 -5 n 14 -6 n 13 -8 n 11 -9 E # C d w 18 m 3 5 n 3 -9 m 4 5 n 4 -9 m 0 5 n 14 5 n 14 0 n 13 5 m 0 -9 n 7 -9 E # C e w 23 m 6 5 n 6 1 n 5 -5 n 4 -8 n 3 -9 m 15 5 n 15 -9 m 16 5 n 16 -9 m 3 5 n 19 5 m 1 -9 n 0 -14 n 0 -9 n 19 -9 n 19 -14 n 18 -9 E # C f w 19 m 1 -1 n 13 -1 n 13 1 n 12 3 n 11 4 n 9 5 n 6 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -6 m 12 -1 n 12 2 n 11 4 m 6 5 n 4 4 n 2 2 n 1 -1 n 1 -3 n 2 -6 n 4 -8 n 6 -9 E # C g w 27 m 11 5 n 11 -9 m 12 5 n 12 -9 m 8 5 n 15 5 m 3 4 n 2 3 n 1 4 n 2 5 n 3 5 n 4 4 n 6 0 n 7 -1 n 9 -2 n 14 -2 n 16 -1 n 17 0 n 19 4 n 20 5 n 21 5 n 22 4 n 21 3 n 20 4 m 9 -2 n 7 -3 n 6 -4 n 4 -8 n 3 -9 m 9 -2 n 7 -4 n 5 -8 n 4 -9 n 2 -9 n 1 -8 n 0 -6 m 14 -2 n 16 -3 n 17 -4 n 19 -8 n 20 -9 m 14 -2 n 16 -4 n 18 -8 n 19 -9 n 21 -9 n 22 -8 n 23 -6 m 8 -9 n 15 -9 E # C h w 18 m 1 3 n 0 5 n 0 1 n 1 3 n 2 4 n 4 5 n 8 5 n 11 4 n 12 2 n 12 1 n 11 -1 n 8 -2 m 8 5 n 10 4 n 11 2 n 11 1 n 10 -1 n 8 -2 m 5 -2 n 8 -2 n 11 -3 n 12 -5 n 12 -6 n 11 -8 n 8 -9 n 4 -9 n 1 -8 n 0 -6 n 0 -5 n 1 -4 n 2 -5 n 1 -6 m 8 -2 n 10 -3 n 11 -5 n 11 -6 n 10 -8 n 8 -9 E # C i w 22 m 3 5 n 3 -9 m 4 5 n 4 -9 m 14 5 n 14 -9 m 15 5 n 15 -9 m 0 5 n 7 5 m 11 5 n 18 5 m 0 -9 n 7 -9 m 11 -9 n 18 -9 m 14 4 n 4 -8 E # C j w 22 m 3 5 n 3 -9 m 4 5 n 4 -9 m 14 5 n 14 -9 m 15 5 n 15 -9 m 0 5 n 7 5 m 11 5 n 18 5 m 0 -9 n 7 -9 m 11 -9 n 18 -9 m 14 4 n 4 -8 m 6 11 n 6 12 n 5 12 n 5 11 n 6 9 n 8 8 n 10 8 n 12 9 n 13 11 E # C k w 20 m 3 5 n 3 -9 m 4 5 n 4 -9 m 0 5 n 7 5 m 4 -2 n 6 -2 n 9 -1 n 10 0 n 12 4 n 13 5 n 14 5 n 15 4 n 14 3 n 13 4 m 6 -2 n 9 -3 n 10 -4 n 12 -8 n 13 -9 m 6 -2 n 8 -3 n 9 -4 n 11 -8 n 12 -9 n 14 -9 n 15 -8 n 16 -6 m 0 -9 n 7 -9 E # C l w 22 m 5 5 n 5 1 n 4 -5 n 3 -8 n 2 -9 n 1 -9 n 0 -8 n 1 -7 n 2 -8 m 14 5 n 14 -9 m 15 5 n 15 -9 m 2 5 n 18 5 m 11 -9 n 18 -9 E # C m w 23 m 3 5 n 3 -9 m 3 5 n 9 -9 m 4 5 n 9 -7 m 15 5 n 9 -9 m 15 5 n 15 -9 m 16 5 n 16 -9 m 0 5 n 4 5 m 15 5 n 19 5 m 0 -9 n 6 -9 m 12 -9 n 19 -9 E # C n w 22 m 3 5 n 3 -9 m 4 5 n 4 -9 m 14 5 n 14 -9 m 15 5 n 15 -9 m 0 5 n 7 5 m 11 5 n 18 5 m 4 -2 n 14 -2 m 0 -9 n 7 -9 m 11 -9 n 18 -9 E # C o w 20 m 6 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -6 n 14 -3 n 14 -1 n 13 2 n 11 4 n 8 5 n 6 5 m 6 5 n 4 4 n 2 2 n 1 -1 n 1 -3 n 2 -6 n 4 -8 n 6 -9 m 8 -9 n 10 -8 n 12 -6 n 13 -3 n 13 -1 n 12 2 n 10 4 n 8 5 E # C p w 22 m 3 5 n 3 -9 m 4 5 n 4 -9 m 14 5 n 14 -9 m 15 5 n 15 -9 m 0 5 n 18 5 m 0 -9 n 7 -9 m 11 -9 n 18 -9 E # C q w 21 m 3 5 n 3 -16 m 4 5 n 4 -16 m 4 2 n 6 4 n 8 5 n 10 5 n 13 4 n 15 2 n 16 -1 n 16 -3 n 15 -6 n 13 -8 n 10 -9 n 8 -9 n 6 -8 n 4 -6 m 10 5 n 12 4 n 14 2 n 15 -1 n 15 -3 n 14 -6 n 12 -8 n 10 -9 m 0 5 n 4 5 m 0 -16 n 7 -16 E # C r w 19 m 12 2 n 11 1 n 12 0 n 13 1 n 13 2 n 11 4 n 9 5 n 6 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -6 m 6 5 n 4 4 n 2 2 n 1 -1 n 1 -3 n 2 -6 n 4 -8 n 6 -9 E # C s w 19 m 6 5 n 6 -9 m 7 5 n 7 -9 m 1 5 n 0 0 n 0 5 n 13 5 n 13 0 n 12 5 m 3 -9 n 10 -9 E # C t w 18 m 2 5 n 8 -9 m 3 5 n 8 -7 m 14 5 n 8 -9 n 6 -13 n 4 -15 n 2 -16 n 1 -16 n 0 -15 n 1 -14 n 2 -15 m 0 5 n 6 5 m 10 5 n 16 5 E # C u w 21 m 7 12 n 7 -16 m 8 12 n 8 -16 m 4 12 n 8 12 m 7 2 n 6 4 n 5 5 n 3 5 n 1 4 n 0 1 n 0 -5 n 1 -8 n 3 -9 n 5 -9 n 6 -8 n 7 -6 m 3 5 n 2 4 n 1 1 n 1 -5 n 2 -8 n 3 -9 m 12 5 n 13 4 n 14 1 n 14 -5 n 13 -8 n 12 -9 m 8 2 n 9 4 n 10 5 n 12 5 n 14 4 n 15 1 n 15 -5 n 14 -8 n 12 -9 n 10 -9 n 9 -8 n 8 -6 m 4 -16 n 11 -16 E # C v w 20 m 2 5 n 13 -9 m 3 5 n 14 -9 m 14 5 n 2 -9 m 0 5 n 6 5 m 10 5 n 16 5 m 0 -9 n 6 -9 m 10 -9 n 16 -9 E # C w w 22 m 3 5 n 3 -9 m 4 5 n 4 -9 m 14 5 n 14 -9 m 15 5 n 15 -9 m 0 5 n 7 5 m 11 5 n 18 5 m 0 -9 n 18 -9 n 18 -14 n 17 -9 E # C x w 22 m 3 5 n 3 -2 n 4 -4 n 7 -5 n 9 -5 n 12 -4 n 14 -2 m 4 5 n 4 -2 n 5 -4 n 7 -5 m 14 5 n 14 -9 m 15 5 n 15 -9 m 0 5 n 7 5 m 11 5 n 18 5 m 11 -9 n 18 -9 E # C y w 31 m 3 5 n 3 -9 m 4 5 n 4 -9 m 13 5 n 13 -9 m 14 5 n 14 -9 m 23 5 n 23 -9 m 24 5 n 24 -9 m 0 5 n 7 5 m 10 5 n 17 5 m 20 5 n 27 5 m 0 -9 n 27 -9 E # C z w 31 m 3 5 n 3 -9 m 4 5 n 4 -9 m 13 5 n 13 -9 m 14 5 n 14 -9 m 23 5 n 23 -9 m 24 5 n 24 -9 m 0 5 n 7 5 m 10 5 n 17 5 m 20 5 n 27 5 m 0 -9 n 27 -9 n 27 -14 n 26 -9 E # C 0 w 20 m 6 12 n 3 11 n 1 8 n 0 3 n 0 0 n 1 -5 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -5 n 14 0 n 14 3 n 13 8 n 11 11 n 8 12 n 6 12 m 3 10 n 2 8 n 1 4 n 1 -1 n 2 -5 n 3 -7 m 11 -7 n 12 -5 n 13 -1 n 13 4 n 12 8 n 11 10 m 6 12 n 4 11 n 3 9 n 2 4 n 2 -1 n 3 -6 n 4 -8 n 6 -9 m 8 -9 n 10 -8 n 11 -6 n 12 -1 n 12 4 n 11 9 n 10 11 n 8 12 E # C 1 w 20 m 4 10 n 4 -9 m 5 10 n 5 -8 m 6 12 n 6 -9 m 6 12 n 3 9 n 1 8 m 0 -9 n 10 -9 m 4 -8 n 2 -9 m 4 -7 n 3 -9 m 6 -7 n 7 -9 m 6 -8 n 8 -9 E # C 2 w 20 m 4 8 n 4 7 n 5 7 n 5 8 n 4 8 m 4 9 n 5 9 n 6 8 n 6 7 n 5 6 n 4 6 n 3 7 n 3 8 n 4 10 n 5 11 n 8 12 n 12 12 n 15 11 n 16 10 n 17 8 n 17 6 n 16 4 n 13 2 n 8 0 n 6 -1 n 4 -3 n 3 -6 n 3 -9 m 15 10 n 16 8 n 16 6 n 15 4 m 12 12 n 14 11 n 15 8 n 15 6 n 14 4 n 12 2 n 8 0 m 3 -7 n 4 -6 n 6 -6 n 11 -7 n 15 -7 n 17 -6 m 6 -6 n 11 -8 n 15 -8 n 16 -7 m 6 -6 n 11 -9 n 15 -9 n 16 -8 n 17 -6 n 17 -4 E # C 3 w 20 m 1 8 n 1 7 n 2 7 n 2 8 n 1 8 m 1 9 n 2 9 n 3 8 n 3 7 n 2 6 n 1 6 n 0 7 n 0 8 n 1 10 n 2 11 n 5 12 n 9 12 n 12 11 n 13 9 n 13 6 n 12 4 n 9 3 m 11 11 n 12 9 n 12 6 n 11 4 m 8 12 n 10 11 n 11 9 n 11 6 n 10 4 n 8 3 m 6 3 n 9 3 n 11 2 n 13 0 n 14 -2 n 14 -5 n 13 -7 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -4 n 1 -3 n 2 -3 n 3 -4 n 3 -5 n 2 -6 n 1 -6 m 12 0 n 13 -2 n 13 -5 n 12 -7 m 8 3 n 10 2 n 11 1 n 12 -2 n 12 -5 n 11 -8 n 9 -9 m 1 -4 n 1 -5 n 2 -5 n 2 -4 n 1 -4 E # C 4 w 20 m 9 9 n 9 -9 m 10 10 n 10 -8 m 11 12 n 11 -9 m 11 12 n 0 -3 n 16 -3 m 6 -9 n 14 -9 m 9 -8 n 7 -9 m 9 -7 n 8 -9 m 11 -7 n 12 -9 m 11 -8 n 13 -9 E # C 5 w 20 m 2 12 n 0 2 n 2 4 n 5 5 n 8 5 n 11 4 n 13 2 n 14 -1 n 14 -3 n 13 -6 n 11 -8 n 8 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -4 n 1 -3 n 2 -3 n 3 -4 n 3 -5 n 2 -6 n 1 -6 m 12 2 n 13 0 n 13 -4 n 12 -6 m 8 5 n 10 4 n 11 3 n 12 0 n 12 -4 n 11 -7 n 10 -8 n 8 -9 m 1 -4 n 1 -5 n 2 -5 n 2 -4 n 1 -4 m 2 12 n 12 12 m 2 11 n 10 11 m 2 10 n 6 10 n 10 11 n 12 12 E # C 6 w 20 m 11 9 n 11 8 n 12 8 n 12 9 n 11 9 m 12 10 n 11 10 n 10 9 n 10 8 n 11 7 n 12 7 n 13 8 n 13 9 n 12 11 n 10 12 n 7 12 n 4 11 n 2 9 n 1 7 n 0 3 n 0 -3 n 1 -6 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -6 n 14 -3 n 14 -2 n 13 1 n 11 3 n 8 4 n 6 4 n 4 3 n 3 2 n 2 0 m 3 9 n 2 7 n 1 3 n 1 -3 n 2 -6 n 3 -7 m 12 -6 n 13 -4 n 13 -1 n 12 1 m 7 12 n 5 11 n 4 10 n 3 8 n 2 4 n 2 -3 n 3 -6 n 4 -8 n 6 -9 m 8 -9 n 10 -8 n 11 -7 n 12 -4 n 12 -1 n 11 2 n 10 3 n 8 4 E # C 7 w 20 m 0 12 n 0 6 m 14 12 n 14 9 n 13 6 n 9 1 n 8 -1 n 7 -5 n 7 -9 m 8 0 n 7 -2 n 6 -5 n 6 -9 m 13 6 n 8 1 n 6 -2 n 5 -5 n 5 -9 n 7 -9 m 0 8 n 1 10 n 3 12 n 5 12 n 10 9 n 12 9 n 13 10 n 14 12 m 2 10 n 3 11 n 5 11 n 7 10 m 0 8 n 1 9 n 3 10 n 5 10 n 10 9 E # C 8 w 20 m 5 12 n 2 11 n 1 9 n 1 6 n 2 4 n 5 3 n 9 3 n 12 4 n 13 6 n 13 9 n 12 11 n 9 12 n 5 12 m 3 11 n 2 9 n 2 6 n 3 4 m 11 4 n 12 6 n 12 9 n 11 11 m 5 12 n 4 11 n 3 9 n 3 6 n 4 4 n 5 3 m 9 3 n 10 4 n 11 6 n 11 9 n 10 11 n 9 12 m 5 3 n 2 2 n 1 1 n 0 -1 n 0 -5 n 1 -7 n 2 -8 n 5 -9 n 9 -9 n 12 -8 n 13 -7 n 14 -5 n 14 -1 n 13 1 n 12 2 n 9 3 m 2 1 n 1 -1 n 1 -5 n 2 -7 m 12 -7 n 13 -5 n 13 -1 n 12 1 m 5 3 n 3 2 n 2 -1 n 2 -5 n 3 -8 n 5 -9 m 9 -9 n 11 -8 n 12 -5 n 12 -1 n 11 2 n 9 3 E # C 9 w 20 m 2 -5 n 2 -6 n 3 -6 n 3 -5 n 2 -5 m 12 3 n 11 1 n 10 0 n 8 -1 n 6 -1 n 3 0 n 1 2 n 0 5 n 0 6 n 1 9 n 3 11 n 6 12 n 8 12 n 11 11 n 13 9 n 14 6 n 14 0 n 13 -4 n 12 -6 n 10 -8 n 7 -9 n 4 -9 n 2 -8 n 1 -6 n 1 -5 n 2 -4 n 3 -4 n 4 -5 n 4 -6 n 3 -7 n 2 -7 m 2 2 n 1 4 n 1 7 n 2 9 m 11 10 n 12 9 n 13 6 n 13 0 n 12 -4 n 11 -6 m 6 -1 n 4 0 n 3 1 n 2 4 n 2 7 n 3 10 n 4 11 n 6 12 m 8 12 n 10 11 n 11 9 n 12 6 n 12 -1 n 11 -5 n 10 -7 n 9 -8 n 7 -9 E # C . w 11 m 1 -6 n 0 -7 n 0 -8 n 1 -9 n 2 -9 n 3 -8 n 3 -7 n 2 -6 n 1 -6 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 E # C , w 11 m 3 -8 n 2 -9 n 1 -9 n 0 -8 n 0 -7 n 1 -6 n 2 -6 n 3 -7 n 3 -10 n 2 -12 n 0 -13 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 m 2 -9 n 3 -10 m 3 -8 n 2 -12 E # C : w 11 m 1 5 n 0 4 n 0 3 n 1 2 n 2 2 n 3 3 n 3 4 n 2 5 n 1 5 m 1 4 n 1 3 n 2 3 n 2 4 n 1 4 m 1 -6 n 0 -7 n 0 -8 n 1 -9 n 2 -9 n 3 -8 n 3 -7 n 2 -6 n 1 -6 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 E # C ; w 11 m 1 5 n 0 4 n 0 3 n 1 2 n 2 2 n 3 3 n 3 4 n 2 5 n 1 5 m 1 4 n 1 3 n 2 3 n 2 4 n 1 4 m 3 -8 n 2 -9 n 1 -9 n 0 -8 n 0 -7 n 1 -6 n 2 -6 n 3 -7 n 3 -10 n 2 -12 n 0 -13 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 m 2 -9 n 3 -10 m 3 -8 n 2 -12 E # C ! w 11 m 1 12 n 0 11 n 0 9 n 1 1 m 1 12 n 1 -2 n 2 -2 m 1 12 n 2 12 n 2 -2 m 2 12 n 3 11 n 3 9 n 2 1 m 1 -6 n 0 -7 n 0 -8 n 1 -9 n 2 -9 n 3 -8 n 3 -7 n 2 -6 n 1 -6 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 E # C ? w 19 m 1 7 n 1 8 n 2 8 n 2 6 n 0 6 n 0 8 n 1 10 n 2 11 n 4 12 n 8 12 n 11 11 n 12 10 n 13 8 n 13 6 n 12 4 n 11 3 n 7 1 m 11 10 n 12 9 n 12 5 n 11 4 m 8 12 n 10 11 n 11 9 n 11 5 n 10 3 n 9 2 m 6 1 n 6 -2 n 7 -2 n 7 1 n 6 1 m 6 -6 n 5 -7 n 5 -8 n 6 -9 n 7 -9 n 8 -8 n 8 -7 n 7 -6 n 6 -6 m 6 -7 n 6 -8 n 7 -8 n 7 -7 n 6 -7 E # C ` w 11 m 3 12 n 1 11 n 0 9 n 0 6 n 1 5 n 2 5 n 3 6 n 3 7 n 2 8 n 1 8 n 0 7 m 1 7 n 1 6 n 2 6 n 2 7 n 1 7 m 1 11 n 0 7 m 0 9 n 1 8 E # C & w 26 m 18 3 n 18 4 n 17 4 n 17 2 n 19 2 n 19 4 n 18 5 n 17 5 n 16 4 n 15 2 n 13 -3 n 11 -6 n 9 -8 n 7 -9 n 3 -9 n 1 -8 n 0 -6 n 0 -3 n 1 -1 n 7 3 n 9 5 n 10 7 n 10 9 n 9 11 n 7 12 n 5 11 n 4 9 n 4 6 n 5 3 n 7 0 n 11 -5 n 14 -8 n 16 -9 n 18 -9 n 19 -7 n 19 -6 m 2 -8 n 1 -6 n 1 -3 n 2 -1 n 3 0 m 9 5 n 10 9 m 10 7 n 9 11 m 5 11 n 4 7 m 5 4 n 7 1 n 11 -4 n 14 -7 n 16 -8 m 5 -9 n 3 -8 n 2 -6 n 2 -3 n 3 -1 n 7 3 m 4 9 n 5 5 n 8 1 n 12 -4 n 15 -7 n 17 -8 n 18 -8 n 19 -7 E # C $ w 20 m 5 16 n 5 -13 m 9 16 n 9 -13 m 13 7 n 13 8 n 12 8 n 12 6 n 14 6 n 14 8 n 13 10 n 12 11 n 9 12 n 5 12 n 2 11 n 0 9 n 0 6 n 1 4 n 4 2 n 10 0 n 12 -1 n 13 -3 n 13 -6 n 12 -8 m 1 6 n 2 4 n 4 3 n 10 1 n 12 0 n 13 -2 m 2 11 n 1 9 n 1 7 n 2 5 n 4 4 n 10 2 n 13 0 n 14 -2 n 14 -5 n 13 -7 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -3 n 2 -3 n 2 -5 n 1 -5 n 1 -4 E # C / w 23 m 18 16 n 0 -16 n 1 -16 m 18 16 n 19 16 n 1 -16 E # C ( w 14 m 7 16 n 5 14 n 3 11 n 1 7 n 0 2 n 0 -2 n 1 -7 n 3 -11 n 5 -14 n 7 -16 m 3 10 n 2 7 n 1 3 n 1 -3 n 2 -7 n 3 -10 m 5 14 n 4 12 n 3 9 n 2 3 n 2 -3 n 3 -9 n 4 -12 n 5 -14 E # C ) w 14 m 0 16 n 2 14 n 4 11 n 6 7 n 7 2 n 7 -2 n 6 -7 n 4 -11 n 2 -14 n 0 -16 m 4 10 n 5 7 n 6 3 n 6 -3 n 5 -7 n 4 -10 m 2 14 n 3 12 n 4 9 n 5 3 n 5 -3 n 4 -9 n 3 -12 n 2 -14 E # C * w 16 m 5 12 n 4 11 n 6 1 n 5 0 m 5 12 n 5 0 m 5 12 n 6 11 n 4 1 n 5 0 m 0 9 n 1 9 n 9 3 n 10 3 m 0 9 n 10 3 m 0 9 n 0 8 n 10 4 n 10 3 m 10 9 n 9 9 n 1 3 n 0 3 m 10 9 n 0 3 m 10 9 n 10 8 n 0 4 n 0 3 E # C - w 25 m 0 1 n 17 1 n 17 0 m 0 1 n 0 0 n 17 0 E # C + w 25 m 8 9 n 8 -8 n 9 -8 m 8 9 n 9 9 n 9 -8 m 0 1 n 17 1 n 17 0 m 0 1 n 0 0 n 17 0 E # C = w 25 m 0 5 n 17 5 n 17 4 m 0 5 n 0 4 n 17 4 m 0 -3 n 17 -3 n 17 -4 m 0 -3 n 0 -4 n 17 -4 E # C ' w 9 m 1 12 n 0 11 n 0 5 m 1 11 n 0 5 m 1 12 n 2 11 n 0 5 E # C " w 18 m 1 12 n 0 11 n 0 5 m 1 11 n 0 5 m 1 12 n 2 11 n 0 5 m 10 12 n 9 11 n 9 5 m 10 11 n 9 5 m 10 12 n 11 11 n 9 5 E xgks-2.6.1+dfsg.2/src/fontdb/dist.mk0000644000175000017500000000101411413611016020232 0ustar amckinstryamckinstry# $Id: dist.mk,v 2.5.4.1 1993/03/10 19:43:42 steve Exp $ # $__Header$ # # Makefile to copy distribution to ftp directories. THIS_DIR = src/xgks/fontdb/ SUBDIRS = # Sources common to UNIX and VMS distributions SOURCES = \ mkfont.c \ B.src \ G.src \ I.src \ R.src \ SC.src \ b.src \ i.src \ r.src \ rshowfont.c \ sc.src \ Makefile \ RELEASE.NOTES # Sources for UNIX distribution only UNIX_SOURCES = # Sources for VMS distribution only VMS_SOURCES = # include /usr/local/ldm/src/dist.mk-rules xgks-2.6.1+dfsg.2/src/fontdb/log0000644000175000017500000000010611413611016017443 0ustar amckinstryamckinstryAdded support for `margins' to make default character spacing better. xgks-2.6.1+dfsg.2/src/fontdb/hershey.new0000644000175000017500000116225311413611016021136 0ustar amckinstryamckinstry 1: -5 5: 0 5: -4 -4: -64 0: 0 5: 4 -4: -64 0: -2 -1: 2 -1:-64 -64 2: -5 5: -3 5: -3 -4: -64 0: -3 5: 1 5: 3 4: 3 2: 1 1: -64 0: -3 1: 1 1: 3 0: 3 -3: 1 -4: -3 -4:-64 -64 3: -5 6: 4 4: 2 5: 0 5: -2 4: -3 2: -3 -1: -2 -3: 0 -4: 2 -4: 4 -3:-64 -64 4: -5 5: -3 5: -3 -4: -64 0: -3 5: 0 5: 2 4: 3 2: 3 -1: 2 -3: 0 -4: -3 -4:-64 -64 5: -5 5: -3 5: -3 -4: -64 0: -3 5: 3 5: -64 0: -3 1: 1 1: -64 0: -3 -4: 3 -4:-64 -64 6: -5 4: -3 5: -3 -4: -64 0: -3 5: 3 5: -64 0: -3 1: 1 1:-64 -64 7: -5 6: 4 4: 2 5: 0 5: -2 4: -3 2: -3 -1: -2 -3: 0 -4: 2 -4: 4 -3: 4 0: -64 0: 1 0: 4 0:-64 -64 8: -5 5: -3 5: -3 -4: -64 0: 3 5: 3 -4: -64 0: -3 1: 3 1:-64 -64 9: -2 2: 0 5: 0 -4:-64 -64 10: -4 3: 1 5: 1 -2: 0 -4: -2 -4: -3 -2: -3 -1:-64 -64 11: -5 5: -3 5: -3 -4: -64 0: 3 5: -3 -1: -64 0: -1 1: 3 -4:-64 -64 12: -5 4: -3 5: -3 -4: -64 0: -3 -4: 3 -4:-64 -64 13: -6 6: -4 5: -4 -4: -64 0: -4 5: 0 -4: -64 0: 4 5: 0 -4: -64 0: 4 5: 4 -4:-64 -64 14: -5 5: -3 5: -3 -4: -64 0: -3 5: 3 -4: -64 0: 3 5: 3 -4:-64 -64 15: -5 6: 0 5: -2 4: -3 2: -3 -1: -2 -3: 0 -4: 1 -4: 3 -3: 4 -1: 4 2: 3 4: 1 5: 0 5:-64 -64 16: -5 5: -3 5: -3 -4: -64 0: -3 5: 1 5: 3 4: 3 1: 1 0: -3 0:-64 -64 17: -5 6: 0 5: -2 4: -3 2: -3 -1: -2 -3: 0 -4: 1 -4: 3 -3: 4 -1: 4 2: 3 4: 1 5: 0 5: -64 0: 1 -2: 4 -5:-64 -64 18: -5 5: -3 5: -3 -4: -64 0: -3 5: 1 5: 3 4: 3 1: 1 0: -3 0: -64 0: 0 0: 3 -4:-64 -64 19: -5 5: 3 4: 1 5: -1 5: -3 4: -3 3: -2 2: 2 0: 3 -1: 3 -3: 1 -4: -1 -4: -3 -3:-64 -64 20: -5 5: 0 5: 0 -4: -64 0: -4 5: 4 5:-64 -64 21: -5 6: -3 5: -3 -1: -2 -3: 0 -4: 1 -4: 3 -3: 4 -1: 4 5:-64 -64 22: -5 5: -4 5: 0 -4: -64 0: 4 5: 0 -4:-64 -64 23: -6 6: -4 5: -2 -4: -64 0: 0 5: -2 -4: -64 0: 0 5: 2 -4: -64 0: 4 5: 2 -4:-64 -64 24: -5 5: -3 5: 3 -4: -64 0: 3 5: -3 -4:-64 -64 25: -5 5: -4 5: 0 1: 0 -4: -64 0: 4 5: 0 1:-64 -64 26: -5 5: 3 5: -3 -4: -64 0: -3 5: 3 5: -64 0: -3 -4: 3 -4:-64 -64 27: -5 5: 0 5: -4 -4: -64 0: 0 5: 4 -4: -64 0: -2 -1: 2 -1:-64 -64 28: -5 5: -3 5: -3 -4: -64 0: -3 5: 1 5: 3 4: 3 2: 1 1: -64 0: -3 1: 1 1: 3 0: 3 -3: 1 -4: -3 -4:-64 -64 29: -5 4: -3 5: -3 -4: -64 0: -3 5: 3 5:-64 -64 30: -5 5: 0 5: -4 -4: -64 0: 0 5: 4 -4: -64 0: -4 -4: 4 -4:-64 -64 31: -5 5: -3 5: -3 -4: -64 0: -3 5: 3 5: -64 0: -3 1: 1 1: -64 0: -3 -4: 3 -4:-64 -64 32: -5 5: 3 5: -3 -4: -64 0: -3 5: 3 5: -64 0: -3 -4: 3 -4:-64 -64 33: -5 5: -3 5: -3 -4: -64 0: 3 5: 3 -4: -64 0: -3 1: 3 1:-64 -64 34: -5 6: 0 5: -2 4: -3 2: -3 -1: -2 -3: 0 -4: 1 -4: 3 -3: 4 -1: 4 2: 3 4: 1 5: 0 5: -64 0: -1 1: 2 0: -64 0: 2 1: -1 0:-64 -64 35: -2 2: 0 5: 0 -4:-64 -64 36: -5 5: -3 5: -3 -4: -64 0: 3 5: -3 -1: -64 0: -1 1: 3 -4:-64 -64 37: -5 5: 0 5: -4 -4: -64 0: 0 5: 4 -4:-64 -64 38: -6 6: -4 5: -4 -4: -64 0: -4 5: 0 -4: -64 0: 4 5: 0 -4: -64 0: 4 5: 4 -4:-64 -64 39: -5 5: -3 5: -3 -4: -64 0: -3 5: 3 -4: -64 0: 3 5: 3 -4:-64 -64 40: -5 5: -3 5: 3 5: -64 0: -2 1: 2 0: -64 0: 2 1: -2 0: -64 0: -3 -4: 3 -4:-64 -64 41: -5 6: 0 5: -2 4: -3 2: -3 -1: -2 -3: 0 -4: 1 -4: 3 -3: 4 -1: 4 2: 3 4: 1 5: 0 5:-64 -64 42: -5 5: -3 5: -3 -4: -64 0: 3 5: 3 -4: -64 0: -3 5: 3 5:-64 -64 43: -5 5: -3 5: -3 -4: -64 0: -3 5: 1 5: 3 4: 3 1: 1 0: -3 0:-64 -64 44: -5 5: -3 5: 0 1: -3 -4: -64 0: -3 5: 3 5: -64 0: -3 -4: 3 -4:-64 -64 45: -5 5: 0 5: 0 -4: -64 0: -4 5: 4 5:-64 -64 46: -5 5: -4 3: -4 4: -3 5: -2 5: -1 4: 0 2: 0 -4: -64 0: 4 3: 4 4: 3 5: 2 5: 1 4: 0 2:-64 -64 47: -6 6: 0 5: 0 -4: -64 0: -2 3: -4 2: -4 -1: -2 -2: 2 -2: 4 -1: 4 2: 2 3: -2 3:-64 -64 48: -5 5: -3 5: 3 -4: -64 0: 3 5: -3 -4:-64 -64 49: -6 6: 0 5: 0 -4: -64 0: -4 3: -3 2: -3 -1: -1 -2: 1 -2: 3 -1: 3 2: 4 3:-64 -64 50: -5 6: -3 -4: -1 -4: -3 0: -3 2: -2 4: 0 5: 1 5: 3 4: 4 2: 4 0: 2 -4: 4 -4:-64 -64 197: 0 0:-64 -64 198: -2 2:-64 -64 199: -4 4:-64 -64 200: -5 5: 0 5: -2 4: -3 2: -3 -1: -2 -3: 0 -4: 2 -3: 3 -1: 3 2: 2 4: 0 5:-64 -64 201: -5 5: -2 3: 0 5: 0 -4:-64 -64 202: -5 5: -3 4: -1 5: 1 5: 3 4: 3 2: 2 0: -3 -4: 3 -4:-64 -64 203: -5 5: -3 4: -1 5: 1 5: 3 4: 3 2: 1 1: -64 0: 0 1: 1 1: 3 0: 3 -3: 1 -4: -1 -4: -3 -3:-64 -64 204: -5 5: 1 5: 1 -4: -64 0: 1 5: -4 -1: 4 -1:-64 -64 205: -5 5: -2 5: -3 1: -1 2: 0 2: 2 1: 3 -1: 2 -3: 0 -4: -1 -4: -3 -3: -64 0: -2 5: 2 5:-64 -64 206: -5 5: 2 5: 0 5: -2 4: -3 2: -3 -1: -2 -3: 0 -4: 2 -3: 3 -1: 2 1: 0 2: -2 1: -3 -1:-64 -64 207: -5 5: 3 5: -1 -4: -64 0: -3 5: 3 5:-64 -64 208: -5 5: -1 5: -3 4: -3 2: -1 1: 1 1: 3 2: 3 4: 1 5: -1 5: -64 0: -1 1: -3 0: -3 -3: -1 -4: 1 -4: 3 -3: 3 0: 1 1:-64 -64 209: -5 5: 3 2: 2 0: 0 -1: -2 0: -3 2: -2 4: 0 5: 2 4: 3 2: 3 -1: 2 -3: 0 -4: -2 -4:-64 -64 210: -2 3: 0 -3: 0 -4: 1 -4: 1 -3: 0 -3:-64 -64 211: -2 3: 1 -4: 0 -4: 0 -3: 1 -3: 1 -5: 0 -7:-64 -64 212: -2 3: 0 2: 0 1: 1 1: 1 2: 0 2: -64 0: 0 -3: 0 -4: 1 -4: 1 -3: 0 -3:-64 -64 213: -2 3: 0 2: 0 1: 1 1: 1 2: 0 2: -64 0: 1 -4: 0 -4: 0 -3: 1 -3: 1 -5: 0 -7:-64 -64 214: -2 3: 0 5: 0 0: -64 0: 1 5: 1 0: -64 0: 0 -3: 0 -4: 1 -4: 1 -3: 0 -3:-64 -64 215: -4 5: -2 4: 0 5: 1 5: 3 4: 3 2: 0 1: 0 0: 1 0: 1 1: 3 2: -64 0: 0 -3: 0 -4: 1 -4: 1 -3: 0 -3:-64 -64 216: -2 2: 0 5: 0 1:-64 -64 217: -4 4: -2 5: -2 1: -64 0: 2 5: 2 1:-64 -64 218: -4 4: -1 5: -2 4: -2 2: -1 1: 1 1: 2 2: 2 4: 1 5: -1 5:-64 -64 219: -5 5: 3 4: 1 5: -1 5: -3 4: -3 2: -1 1: 2 0: 3 -1: 3 -3: 1 -4: -1 -4: -3 -3: -64 0: 0 6: 0 -5:-64 -64 220: -5 5: 4 6: -4 -5:-64 -64 221: -3 4: 2 6: 0 4: -1 2: -1 -1: 0 -3: 2 -5:-64 -64 222: -4 3: -2 6: 0 4: 1 2: 1 -1: 0 -3: -2 -5:-64 -64 223: -2 2: 0 6: 0 -5:-64 -64 224: -6 6: -4 0: 4 0:-64 -64 225: -6 6: 0 4: 0 -4: -64 0: -4 0: 4 0:-64 -64 226: -6 6: -4 2: 4 2: -64 0: -4 -2: 4 -2:-64 -64 227: -5 5: -3 3: 3 -3: -64 0: 3 3: -3 -3:-64 -64 228: -5 5: 0 3: 0 -3: -64 0: -3 2: 3 -2: -64 0: 3 2: -3 -2:-64 -64 229: -2 3: 0 1: 0 0: 1 0: 1 1: 0 1:-64 -64 230: -2 3: 1 5: 0 3: 0 1: 1 1: 1 2: 0 2:-64 -64 231: -2 3: 1 4: 0 4: 0 5: 1 5: 1 3: 0 1:-64 -64 232: -6 6: 1 3: 4 0: 1 -3: -64 0: -4 0: 4 0:-64 -64 233: -5 6: 0 6: -2 -5: -64 0: 3 6: 1 -5: -64 0: -3 2: 4 2: -64 0: -3 -1: 4 -1:-64 -64 234: -6 6: 4 0: 3 0: 2 -1: 1 -3: 0 -4: -3 -4: -4 -3: -4 -1: -3 0: 0 1: 1 2: 1 4: 0 5: -2 5: -3 4: -3 2: -1 -1: 1 -3: 3 -4: 4 -4:-64 -64 235: -6 6: -4 4: -3 1: -3 -1: -4 -4: -64 0: 4 4: 3 1: 3 -1: 4 -4: -64 0: -4 4: -1 3: 1 3: 4 4: -64 0: -4 -4: -1 -3: 1 -3: 4 -4:-64 -64 501: -9 9: 0 12: -8 -9: -64 0: 0 12: 8 -9: -64 0: -5 -2: 5 -2:-64 -64 502: -11 10: -7 12: -7 -9: -64 0: -7 12: 2 12: 5 11: 6 10: 7 8: 7 6: 6 4: 5 3: 2 2: -64 0: -7 2: 2 2: 5 1: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -7 -9:-64 -64 503: -10 11: 8 7: 7 9: 5 11: 3 12: -1 12: -3 11: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -3 -8: -1 -9: 3 -9: 5 -8: 7 -6: 8 -4:-64 -64 504: -11 10: -7 12: -7 -9: -64 0: -7 12: 0 12: 3 11: 5 9: 6 7: 7 4: 7 -1: 6 -4: 5 -6: 3 -8: 0 -9: -7 -9:-64 -64 505: -10 9: -6 12: -6 -9: -64 0: -6 12: 7 12: -64 0: -6 2: 2 2: -64 0: -6 -9: 7 -9:-64 -64 506: -10 8: -6 12: -6 -9: -64 0: -6 12: 7 12: -64 0: -6 2: 2 2:-64 -64 507: -10 11: 8 7: 7 9: 5 11: 3 12: -1 12: -3 11: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -3 -8: -1 -9: 3 -9: 5 -8: 7 -6: 8 -4: 8 -1: -64 0: 3 -1: 8 -1:-64 -64 508: -11 11: -7 12: -7 -9: -64 0: 7 12: 7 -9: -64 0: -7 2: 7 2:-64 -64 509: -4 4: 0 12: 0 -9:-64 -64 510: -8 8: 4 12: 4 -4: 3 -7: 2 -8: 0 -9: -2 -9: -4 -8: -5 -7: -6 -4: -6 -2:-64 -64 511: -11 10: -7 12: -7 -9: -64 0: 7 12: -7 -2: -64 0: -2 3: 7 -9:-64 -64 512: -10 7: -6 12: -6 -9: -64 0: -6 -9: 6 -9:-64 -64 513: -12 12: -8 12: -8 -9: -64 0: -8 12: 0 -9: -64 0: 8 12: 0 -9: -64 0: 8 12: 8 -9:-64 -64 514: -11 11: -7 12: -7 -9: -64 0: -7 12: 7 -9: -64 0: 7 12: 7 -9:-64 -64 515: -11 11: -2 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -2 -9: 2 -9: 4 -8: 6 -6: 7 -4: 8 -1: 8 4: 7 7: 6 9: 4 11: 2 12: -2 12:-64 -64 516: -11 10: -7 12: -7 -9: -64 0: -7 12: 2 12: 5 11: 6 10: 7 8: 7 5: 6 3: 5 2: 2 1: -7 1:-64 -64 517: -11 11: -2 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -2 -9: 2 -9: 4 -8: 6 -6: 7 -4: 8 -1: 8 4: 7 7: 6 9: 4 11: 2 12: -2 12: -64 0: 1 -5: 7 -11:-64 -64 518: -11 10: -7 12: -7 -9: -64 0: -7 12: 2 12: 5 11: 6 10: 7 8: 7 6: 6 4: 5 3: 2 2: -7 2: -64 0: 0 2: 7 -9:-64 -64 519: -10 10: 7 9: 5 11: 2 12: -2 12: -5 11: -7 9: -7 7: -6 5: -5 4: -3 3: 3 1: 5 0: 6 -1: 7 -3: 7 -6: 5 -8: 2 -9: -2 -9: -5 -8: -7 -6:-64 -64 520: -8 8: 0 12: 0 -9: -64 0: -7 12: 7 12:-64 -64 521: -11 11: -7 12: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 12:-64 -64 522: -9 9: -8 12: 0 -9: -64 0: 8 12: 0 -9:-64 -64 523: -12 12: -10 12: -5 -9: -64 0: 0 12: -5 -9: -64 0: 0 12: 5 -9: -64 0: 10 12: 5 -9:-64 -64 524: -10 10: -7 12: 7 -9: -64 0: 7 12: -7 -9:-64 -64 525: -9 9: -8 12: 0 2: 0 -9: -64 0: 8 12: 0 2:-64 -64 526: -10 10: 7 12: -7 -9: -64 0: -7 12: 7 12: -64 0: -7 -9: 7 -9:-64 -64 527: -9 9: 0 12: -8 -9: -64 0: 0 12: 8 -9: -64 0: -5 -2: 5 -2:-64 -64 528: -11 10: -7 12: -7 -9: -64 0: -7 12: 2 12: 5 11: 6 10: 7 8: 7 6: 6 4: 5 3: 2 2: -64 0: -7 2: 2 2: 5 1: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -7 -9:-64 -64 529: -10 7: -6 12: -6 -9: -64 0: -6 12: 6 12:-64 -64 530: -9 9: 0 12: -8 -9: -64 0: 0 12: 8 -9: -64 0: -8 -9: 8 -9:-64 -64 531: -10 9: -6 12: -6 -9: -64 0: -6 12: 7 12: -64 0: -6 2: 2 2: -64 0: -6 -9: 7 -9:-64 -64 532: -10 10: 7 12: -7 -9: -64 0: -7 12: 7 12: -64 0: -7 -9: 7 -9:-64 -64 533: -11 11: -7 12: -7 -9: -64 0: 7 12: 7 -9: -64 0: -7 2: 7 2:-64 -64 534: -11 11: -2 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -2 -9: 2 -9: 4 -8: 6 -6: 7 -4: 8 -1: 8 4: 7 7: 6 9: 4 11: 2 12: -2 12: -64 0: -3 2: 3 2:-64 -64 535: -4 4: 0 12: 0 -9:-64 -64 536: -11 10: -7 12: -7 -9: -64 0: 7 12: -7 -2: -64 0: -2 3: 7 -9:-64 -64 537: -9 9: 0 12: -8 -9: -64 0: 0 12: 8 -9:-64 -64 538: -12 12: -8 12: -8 -9: -64 0: -8 12: 0 -9: -64 0: 8 12: 0 -9: -64 0: 8 12: 8 -9:-64 -64 539: -11 11: -7 12: -7 -9: -64 0: -7 12: 7 -9: -64 0: 7 12: 7 -9:-64 -64 540: -9 9: -7 12: 7 12: -64 0: -3 2: 3 2: -64 0: -7 -9: 7 -9:-64 -64 541: -11 11: -2 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -2 -9: 2 -9: 4 -8: 6 -6: 7 -4: 8 -1: 8 4: 7 7: 6 9: 4 11: 2 12: -2 12:-64 -64 542: -11 11: -7 12: -7 -9: -64 0: 7 12: 7 -9: -64 0: -7 12: 7 12:-64 -64 543: -11 10: -7 12: -7 -9: -64 0: -7 12: 2 12: 5 11: 6 10: 7 8: 7 5: 6 3: 5 2: 2 1: -7 1:-64 -64 544: -9 9: -7 12: 0 2: -7 -9: -64 0: -7 12: 7 12: -64 0: -7 -9: 7 -9:-64 -64 545: -8 8: 0 12: 0 -9: -64 0: -7 12: 7 12:-64 -64 546: -9 9: -7 7: -7 9: -6 11: -5 12: -3 12: -2 11: -1 9: 0 5: 0 -9: -64 0: 7 7: 7 9: 6 11: 5 12: 3 12: 2 11: 1 9: 0 5:-64 -64 547: -10 10: 0 12: 0 -9: -64 0: -2 7: -5 6: -6 5: -7 3: -7 0: -6 -2: -5 -3: -2 -4: 2 -4: 5 -3: 6 -2: 7 0: 7 3: 6 5: 5 6: 2 7: -2 7:-64 -64 548: -10 10: -7 12: 7 -9: -64 0: -7 -9: 7 12:-64 -64 549: -11 11: 0 12: 0 -9: -64 0: -9 6: -8 6: -7 5: -6 1: -5 -1: -4 -2: -1 -3: 1 -3: 4 -2: 5 -1: 6 1: 7 5: 8 6: 9 6:-64 -64 550: -10 10: -7 -9: -3 -9: -6 -2: -7 2: -7 6: -6 9: -4 11: -1 12: 1 12: 4 11: 6 9: 7 6: 7 2: 6 -2: 3 -9: 7 -9:-64 -64 551: -11 9: -11 -9: -9 -8: -6 -5: -3 -1: 1 6: 4 12: 4 -9: 3 -6: 1 -3: -1 -1: -4 1: -6 1: -7 0: -7 -2: -6 -4: -4 -6: -1 -8: 2 -9: 7 -9:-64 -64 552: -12 11: 1 10: 2 9: 2 6: 1 2: 0 -1: -1 -3: -3 -6: -5 -8: -7 -9: -8 -9: -9 -8: -9 -5: -8 0: -7 3: -6 5: -4 8: -2 10: 0 11: 3 12: 6 12: 8 11: 9 9: 9 7: 8 5: 7 4: 5 3: 2 2: -64 0: 1 2: 2 2: 5 1: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 3 -9: 0 -9: -2 -8: -3 -6:-64 -64 553: -10 10: 2 6: 2 5: 3 4: 5 4: 7 5: 8 7: 8 9: 7 11: 5 12: 2 12: -1 11: -3 9: -5 6: -6 4: -7 0: -7 -4: -6 -7: -5 -8: -3 -9: -1 -9: 2 -8: 4 -6: 5 -4:-64 -64 554: -11 12: 2 12: 0 11: -1 9: -2 5: -3 -1: -4 -4: -5 -6: -7 -8: -9 -9: -11 -9: -12 -8: -12 -6: -11 -5: -9 -5: -7 -6: -5 -8: -2 -9: 1 -9: 4 -8: 6 -6: 8 -2: 9 3: 9 7: 8 10: 7 11: 5 12: 2 12: 0 10: 0 8: 1 5: 3 2: 5 0: 8 -2: 10 -3:-64 -64 555: -10 10: 4 8: 4 7: 5 6: 7 6: 8 7: 8 9: 7 11: 4 12: 0 12: -3 11: -4 9: -4 6: -3 4: -2 3: 1 2: -2 2: -5 1: -6 0: -7 -2: -7 -5: -6 -7: -5 -8: -2 -9: 1 -9: 4 -8: 6 -6: 7 -4:-64 -64 556: -10 10: 0 6: -2 6: -4 7: -5 9: -4 11: -1 12: 2 12: 6 11: 9 11: 11 12: -64 0: 6 11: 4 4: 2 -2: 0 -6: -2 -8: -4 -9: -6 -9: -8 -8: -9 -6: -9 -4: -8 -3: -6 -3: -4 -4: -64 0: -1 2: 8 2:-64 -64 557: -11 12: -11 -9: -9 -8: -5 -4: -2 1: -1 4: 0 8: 0 11: -1 12: -2 12: -3 11: -4 9: -4 6: -3 4: -1 3: 3 3: 6 4: 7 5: 8 7: 8 1: 7 -4: 6 -6: 4 -8: 1 -9: -3 -9: -6 -8: -8 -6: -9 -4: -9 -2:-64 -64 558: -12 12: -5 5: -7 6: -8 8: -8 9: -7 11: -5 12: -4 12: -2 11: -1 9: -1 7: -2 3: -4 -3: -6 -7: -8 -9: -10 -9: -11 -8: -11 -6: -64 0: -5 0: 4 3: 6 4: 9 6: 11 8: 12 10: 12 11: 11 12: 10 12: 8 10: 6 6: 4 0: 3 -5: 3 -8: 4 -9: 5 -9: 7 -8: 8 -7: 10 -4:-64 -64 559: -9 8: 5 -4: 3 -2: 1 1: 0 3: -1 6: -1 9: 0 11: 1 12: 3 12: 4 11: 5 9: 5 6: 4 1: 2 -4: 1 -6: -1 -8: -3 -9: -5 -9: -7 -8: -8 -6: -8 -4: -7 -3: -5 -3: -3 -4:-64 -64 560: -8 7: 2 -12: 0 -9: -2 -4: -3 2: -3 8: -2 11: 0 12: 2 12: 3 11: 4 8: 4 5: 3 0: 0 -9: -2 -15: -3 -18: -4 -20: -6 -21: -7 -20: -7 -18: -6 -15: -4 -12: -2 -10: 1 -8: 5 -6:-64 -64 561: -12 12: -5 5: -7 6: -8 8: -8 9: -7 11: -5 12: -4 12: -2 11: -1 9: -1 7: -2 3: -4 -3: -6 -7: -8 -9: -10 -9: -11 -8: -11 -6: -64 0: 12 9: 12 11: 11 12: 10 12: 8 11: 6 9: 4 6: 2 4: 0 3: -2 3: -64 0: 0 3: 1 1: 1 -6: 2 -8: 3 -9: 4 -9: 6 -8: 7 -7: 9 -4:-64 -64 562: -9 10: -5 0: -3 0: 1 1: 4 3: 6 5: 7 7: 7 10: 6 12: 4 12: 3 11: 2 9: 1 4: 0 -1: -1 -4: -2 -6: -4 -8: -6 -9: -8 -9: -9 -8: -9 -6: -8 -5: -6 -5: -4 -6: -1 -8: 2 -9: 4 -9: 7 -8: 9 -6:-64 -64 563: -18 15: -13 5: -15 6: -16 8: -16 9: -15 11: -13 12: -12 12: -10 11: -9 9: -9 7: -10 2: -11 -2: -13 -9: -64 0: -11 -2: -8 6: -6 10: -5 11: -3 12: -2 12: 0 11: 1 9: 1 7: 0 2: -1 -2: -3 -9: -64 0: -1 -2: 2 6: 4 10: 5 11: 7 12: 8 12: 10 11: 11 9: 11 7: 10 2: 8 -5: 8 -8: 9 -9: 10 -9: 12 -8: 13 -7: 15 -4:-64 -64 564: -13 11: -8 5: -10 6: -11 8: -11 9: -10 11: -8 12: -7 12: -5 11: -4 9: -4 7: -5 2: -6 -2: -8 -9: -64 0: -6 -2: -3 6: -1 10: 0 11: 2 12: 4 12: 6 11: 7 9: 7 7: 6 2: 4 -5: 4 -8: 5 -9: 6 -9: 8 -8: 9 -7: 11 -4:-64 -64 565: -10 11: 2 12: -1 11: -3 9: -5 6: -6 4: -7 0: -7 -4: -6 -7: -5 -8: -3 -9: -1 -9: 2 -8: 4 -6: 6 -3: 7 -1: 8 3: 8 7: 7 10: 6 11: 4 12: 2 12: 0 10: 0 7: 1 4: 3 1: 5 -1: 8 -3: 10 -4:-64 -64 566: -12 13: 1 10: 2 9: 2 6: 1 2: 0 -1: -1 -3: -3 -6: -5 -8: -7 -9: -8 -9: -9 -8: -9 -5: -8 0: -7 3: -6 5: -4 8: -2 10: 0 11: 3 12: 8 12: 10 11: 11 10: 12 8: 12 5: 11 3: 10 2: 8 1: 5 1: 3 2: 2 3:-64 -64 567: -10 12: 3 6: 2 4: 1 3: -1 2: -3 2: -4 4: -4 6: -3 9: -1 11: 2 12: 5 12: 7 11: 8 9: 8 5: 7 2: 5 -1: 1 -5: -2 -7: -4 -8: -7 -9: -9 -9: -10 -8: -10 -6: -9 -5: -7 -5: -5 -6: -2 -8: 1 -9: 4 -9: 7 -8: 9 -6:-64 -64 568: -12 13: 1 10: 2 9: 2 6: 1 2: 0 -1: -1 -3: -3 -6: -5 -8: -7 -9: -8 -9: -9 -8: -9 -5: -8 0: -7 3: -6 5: -4 8: -2 10: 0 11: 3 12: 7 12: 9 11: 10 10: 11 8: 11 5: 10 3: 9 2: 7 1: 4 1: 1 2: 2 1: 3 -1: 3 -6: 4 -8: 6 -9: 8 -8: 9 -7: 11 -4:-64 -64 569: -10 10: -10 -9: -8 -8: -6 -6: -3 -2: -1 1: 1 5: 2 8: 2 11: 1 12: 0 12: -1 11: -2 9: -2 7: -1 5: 1 3: 4 1: 6 -1: 7 -3: 7 -5: 6 -7: 5 -8: 2 -9: -2 -9: -5 -8: -7 -6: -8 -4: -8 -2:-64 -64 570: -10 9: 0 6: -2 6: -4 7: -5 9: -4 11: -1 12: 2 12: 6 11: 9 11: 11 12: -64 0: 6 11: 4 4: 2 -2: 0 -6: -2 -8: -4 -9: -6 -9: -8 -8: -9 -6: -9 -4: -8 -3: -6 -3: -4 -4:-64 -64 571: -13 11: -8 5: -10 6: -11 8: -11 9: -10 11: -8 12: -7 12: -5 11: -4 9: -4 7: -5 3: -6 0: -7 -4: -7 -6: -6 -8: -4 -9: -2 -9: 0 -8: 1 -7: 3 -3: 6 5: 8 12: -64 0: 6 5: 5 1: 4 -5: 4 -8: 5 -9: 6 -9: 8 -8: 9 -7: 11 -4:-64 -64 572: -12 11: -7 5: -9 6: -10 8: -10 9: -9 11: -7 12: -6 12: -4 11: -3 9: -3 7: -4 3: -5 0: -6 -4: -6 -7: -5 -9: -3 -9: -1 -8: 2 -5: 4 -2: 6 2: 7 5: 8 9: 8 11: 7 12: 6 12: 5 11: 4 9: 4 7: 5 4: 7 2: 9 1:-64 -64 573: -15 13: -10 5: -12 6: -13 8: -13 9: -12 11: -10 12: -9 12: -7 11: -6 9: -6 6: -7 -9: -64 0: 3 12: -7 -9: -64 0: 3 12: 1 -9: -64 0: 15 12: 13 11: 10 8: 7 4: 4 -2: 1 -9:-64 -64 574: -12 12: -4 6: -6 6: -7 7: -7 9: -6 11: -4 12: -2 12: 0 11: 1 9: 1 6: -1 -3: -1 -6: 0 -8: 2 -9: 4 -9: 6 -8: 7 -6: 7 -4: 6 -3: 4 -3: -64 0: 11 9: 11 11: 10 12: 8 12: 6 11: 4 9: 2 6: -2 -3: -4 -6: -6 -8: -8 -9: -10 -9: -11 -8: -11 -6:-64 -64 575: -12 11: -7 5: -9 6: -10 8: -10 9: -9 11: -7 12: -6 12: -4 11: -3 9: -3 7: -4 3: -5 0: -6 -4: -6 -6: -5 -8: -4 -9: -2 -9: 0 -8: 2 -6: 4 -3: 5 -1: 7 5: -64 0: 9 12: 7 5: 4 -5: 2 -11: 0 -16: -2 -20: -4 -21: -5 -20: -5 -18: -4 -15: -2 -12: 1 -9: 4 -7: 9 -4:-64 -64 576: -10 11: 3 6: 2 4: 1 3: -1 2: -3 2: -4 4: -4 6: -3 9: -1 11: 2 12: 5 12: 7 11: 8 9: 8 5: 7 2: 5 -2: 2 -5: -2 -8: -4 -9: -7 -9: -8 -8: -8 -6: -7 -5: -4 -5: -2 -6: -1 -7: 0 -9: 0 -12: -1 -15: -2 -17: -4 -20: -6 -21: -7 -20: -7 -18: -6 -15: -4 -12: -1 -9: 2 -7: 8 -4:-64 -64 583: -9 9: -8 12: 0 -9: -64 0: 8 12: 0 -9: -64 0: -8 12: 8 12:-64 -64 601: -9 10: 6 5: 6 -9: -64 0: 6 2: 4 4: 2 5: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: 2 -9: 4 -8: 6 -6:-64 -64 602: -10 9: -6 12: -6 -9: -64 0: -6 2: -4 4: -2 5: 1 5: 3 4: 5 2: 6 -1: 6 -3: 5 -6: 3 -8: 1 -9: -2 -9: -4 -8: -6 -6:-64 -64 603: -9 9: 6 2: 4 4: 2 5: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: 2 -9: 4 -8: 6 -6:-64 -64 604: -9 10: 6 12: 6 -9: -64 0: 6 2: 4 4: 2 5: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: 2 -9: 4 -8: 6 -6:-64 -64 605: -9 9: -6 -1: 6 -1: 6 1: 5 3: 4 4: 2 5: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: 2 -9: 4 -8: 6 -6:-64 -64 606: -5 7: 5 12: 3 12: 1 11: 0 8: 0 -9: -64 0: -3 5: 4 5:-64 -64 607: -9 10: 6 5: 6 -11: 5 -14: 4 -15: 2 -16: -1 -16: -3 -15: -64 0: 6 2: 4 4: 2 5: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: 2 -9: 4 -8: 6 -6:-64 -64 608: -9 10: -5 12: -5 -9: -64 0: -5 1: -2 4: 0 5: 3 5: 5 4: 6 1: 6 -9:-64 -64 609: -4 4: -1 12: 0 11: 1 12: 0 13: -1 12: -64 0: 0 5: 0 -9:-64 -64 610: -5 5: 0 12: 1 11: 2 12: 1 13: 0 12: -64 0: 1 5: 1 -12: 0 -15: -2 -16: -4 -16:-64 -64 611: -9 8: -5 12: -5 -9: -64 0: 5 5: -5 -5: -64 0: -1 -1: 6 -9:-64 -64 612: -4 4: 0 12: 0 -9:-64 -64 613: -15 15: -11 5: -11 -9: -64 0: -11 1: -8 4: -6 5: -3 5: -1 4: 0 1: 0 -9: -64 0: 0 1: 3 4: 5 5: 8 5: 10 4: 11 1: 11 -9:-64 -64 614: -9 10: -5 5: -5 -9: -64 0: -5 1: -2 4: 0 5: 3 5: 5 4: 6 1: 6 -9:-64 -64 615: -9 10: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: 2 -9: 4 -8: 6 -6: 7 -3: 7 -1: 6 2: 4 4: 2 5: -1 5:-64 -64 616: -10 9: -6 5: -6 -16: -64 0: -6 2: -4 4: -2 5: 1 5: 3 4: 5 2: 6 -1: 6 -3: 5 -6: 3 -8: 1 -9: -2 -9: -4 -8: -6 -6:-64 -64 617: -9 10: 6 5: 6 -16: -64 0: 6 2: 4 4: 2 5: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: 2 -9: 4 -8: 6 -6:-64 -64 618: -7 6: -3 5: -3 -9: -64 0: -3 -1: -2 2: 0 4: 2 5: 5 5:-64 -64 619: -8 9: 6 2: 5 4: 2 5: -1 5: -4 4: -5 2: -4 0: -2 -1: 3 -2: 5 -3: 6 -5: 6 -6: 5 -8: 2 -9: -1 -9: -4 -8: -5 -6:-64 -64 620: -5 7: 0 12: 0 -5: 1 -8: 3 -9: 5 -9: -64 0: -3 5: 4 5:-64 -64 621: -9 10: -5 5: -5 -5: -4 -8: -2 -9: 1 -9: 3 -8: 6 -5: -64 0: 6 5: 6 -9:-64 -64 622: -8 8: -6 5: 0 -9: -64 0: 6 5: 0 -9:-64 -64 623: -11 11: -8 5: -4 -9: -64 0: 0 5: -4 -9: -64 0: 0 5: 4 -9: -64 0: 8 5: 4 -9:-64 -64 624: -8 9: -5 5: 6 -9: -64 0: 6 5: -5 -9:-64 -64 625: -8 8: -6 5: 0 -9: -64 0: 6 5: 0 -9: -2 -13: -4 -15: -6 -16: -7 -16:-64 -64 626: -8 9: 6 5: -5 -9: -64 0: -5 5: 6 5: -64 0: -5 -9: 6 -9:-64 -64 627: -10 11: -1 5: -3 4: -5 2: -6 0: -7 -3: -7 -6: -6 -8: -4 -9: -2 -9: 0 -8: 3 -5: 5 -2: 7 2: 8 5: -64 0: -1 5: 1 5: 2 4: 3 2: 5 -6: 6 -8: 7 -9: 8 -9:-64 -64 628: -9 10: 3 12: 1 11: -1 9: -3 5: -4 2: -5 -2: -6 -8: -7 -16: -64 0: 3 12: 5 12: 7 10: 7 7: 6 5: 5 4: 3 3: 0 3: -64 0: 0 3: 2 2: 4 0: 5 -2: 5 -5: 4 -7: 3 -8: 1 -9: -1 -9: -3 -8: -4 -7: -5 -4:-64 -64 629: -9 10: -8 2: -6 4: -4 5: -3 5: -1 4: 0 3: 1 0: 1 -4: 0 -9: -64 0: 8 5: 7 2: 6 0: 0 -9: -2 -13: -3 -16:-64 -64 630: -9 9: 2 5: -1 5: -3 4: -5 2: -6 -1: -6 -4: -5 -7: -4 -8: -2 -9: 0 -9: 2 -8: 4 -6: 5 -3: 5 0: 4 3: 2 5: 0 7: -1 9: -1 11: 0 12: 2 12: 4 11: 6 9:-64 -64 631: -8 8: 5 3: 4 4: 2 5: -1 5: -3 4: -3 2: -2 0: 1 -1: -64 0: 1 -1: -3 -2: -5 -4: -5 -6: -4 -8: -2 -9: 1 -9: 3 -8: 5 -6:-64 -64 632: -8 7: 2 12: 0 11: -1 10: -1 9: 0 8: 3 7: 6 7: -64 0: 6 7: 2 5: -1 3: -4 0: -5 -3: -5 -5: -4 -7: -2 -9: 1 -11: 2 -13: 2 -15: 1 -16: -1 -16: -2 -14:-64 -64 633: -10 10: -9 1: -8 3: -6 5: -4 5: -3 4: -3 2: -4 -2: -6 -9: -64 0: -4 -2: -2 2: 0 4: 2 5: 4 5: 6 3: 6 0: 5 -5: 2 -16:-64 -64 634: -11 10: -10 1: -9 3: -7 5: -5 5: -4 4: -4 2: -5 -3: -5 -6: -4 -8: -3 -9: -1 -9: 1 -8: 3 -5: 4 -3: 5 0: 6 5: 6 8: 5 11: 3 12: 1 12: 0 10: 0 8: 1 5: 3 2: 5 0: 8 -2:-64 -64 635: -6 5: 0 5: -2 -2: -3 -6: -3 -8: -2 -9: 0 -9: 2 -7: 3 -5:-64 -64 636: -9 9: -3 5: -7 -9: -64 0: 7 4: 6 5: 5 5: 3 4: -1 0: -3 -1: -4 -1: -64 0: -4 -1: -2 -2: -1 -3: 1 -8: 2 -9: 3 -9: 4 -8:-64 -64 637: -8 8: -7 12: -5 12: -3 11: -2 10: 6 -9: -64 0: 0 5: -6 -9:-64 -64 638: -10 11: -3 5: -9 -16: -64 0: -4 1: -5 -4: -5 -7: -3 -9: -1 -9: 1 -8: 3 -6: 5 -2: -64 0: 7 5: 5 -2: 4 -6: 4 -8: 5 -9: 7 -9: 9 -7: 10 -5:-64 -64 639: -9 9: -6 5: -3 5: -4 -1: -5 -6: -6 -9: -64 0: 7 5: 6 2: 5 0: 3 -3: 0 -6: -3 -8: -6 -9:-64 -64 640: -8 8: 2 12: 0 11: -1 10: -1 9: 0 8: 3 7: 6 7: -64 0: 3 7: 0 6: -2 5: -3 3: -3 1: -1 -1: 2 -2: 4 -2: -64 0: 2 -2: -2 -3: -4 -4: -5 -6: -5 -8: -3 -10: 1 -12: 2 -13: 2 -15: 0 -16: -2 -16:-64 -64 641: -8 9: 0 5: -2 4: -4 2: -5 -1: -5 -4: -4 -7: -3 -8: -1 -9: 1 -9: 3 -8: 5 -6: 6 -3: 6 0: 5 3: 4 4: 2 5: 0 5:-64 -64 642: -11 11: -2 5: -6 -9: -64 0: 3 5: 4 -1: 5 -6: 6 -9: -64 0: -9 2: -7 4: -4 5: 9 5:-64 -64 643: -9 9: -5 -1: -5 -4: -4 -7: -3 -8: -1 -9: 1 -9: 3 -8: 5 -6: 6 -3: 6 0: 5 3: 4 4: 2 5: 0 5: -2 4: -4 2: -5 -1: -9 -16:-64 -64 644: -9 11: 9 5: -1 5: -3 4: -5 2: -6 -1: -6 -4: -5 -7: -4 -8: -2 -9: 0 -9: 2 -8: 4 -6: 5 -3: 5 0: 4 3: 3 4: 1 5:-64 -64 645: -10 10: 1 5: -2 -9: -64 0: -8 2: -6 4: -3 5: 8 5:-64 -64 646: -10 10: -9 1: -8 3: -6 5: -4 5: -3 4: -3 2: -5 -4: -5 -7: -3 -9: -1 -9: 2 -8: 4 -6: 6 -2: 7 2: 7 5:-64 -64 647: -11 11: -3 4: -5 3: -7 1: -8 -2: -8 -5: -7 -7: -6 -8: -4 -9: -1 -9: 2 -8: 5 -6: 7 -3: 8 0: 8 3: 6 5: 4 5: 2 3: 0 -1: -2 -6: -5 -16:-64 -64 648: -9 9: -7 5: -5 5: -3 3: 3 -14: 5 -16: 7 -16: -64 0: 8 5: 7 3: 5 0: -5 -11: -7 -14: -8 -16:-64 -64 649: -12 11: 4 12: -4 -16: -64 0: -11 1: -10 3: -8 5: -6 5: -5 4: -5 2: -6 -3: -6 -6: -5 -8: -3 -9: -1 -9: 2 -8: 4 -6: 6 -3: 8 2: 9 5:-64 -64 650: -12 11: -4 5: -6 4: -8 1: -9 -2: -9 -5: -8 -8: -7 -9: -5 -9: -3 -8: -1 -5: -64 0: 0 -1: -1 -5: 0 -8: 1 -9: 3 -9: 5 -8: 7 -5: 8 -2: 8 1: 7 4: 6 5:-64 -64 651: -6 10: 3 -3: 2 -1: 0 0: -2 0: -4 -1: -5 -2: -6 -4: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: 2 -6: 4 0: 3 -5: 3 -8: 4 -9: 5 -9: 7 -8: 8 -7: 10 -4:-64 -64 652: -5 9: -5 -4: -3 -1: 0 4: 1 6: 2 9: 2 11: 1 12: -1 11: -2 9: -3 5: -4 -2: -4 -8: -3 -9: -2 -9: 0 -8: 2 -6: 3 -3: 3 0: 4 -4: 5 -5: 7 -5: 9 -4:-64 -64 653: -5 6: 2 -2: 2 -1: 1 0: -1 0: -3 -1: -4 -2: -5 -4: -5 -6: -4 -8: -2 -9: 1 -9: 4 -7: 6 -4:-64 -64 654: -6 10: 3 -3: 2 -1: 0 0: -2 0: -4 -1: -5 -2: -6 -4: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: 2 -6: 8 12: -64 0: 4 0: 3 -5: 3 -8: 4 -9: 5 -9: 7 -8: 8 -7: 10 -4:-64 -64 655: -4 6: -3 -7: -1 -6: 0 -5: 1 -3: 1 -1: 0 0: -1 0: -3 -1: -4 -3: -4 -6: -3 -8: -1 -9: 1 -9: 3 -8: 4 -7: 6 -4:-64 -64 656: -3 5: -3 -4: 1 1: 3 4: 4 6: 5 9: 5 11: 4 12: 2 11: 1 9: -1 1: -4 -8: -7 -15: -8 -18: -8 -20: -7 -21: -5 -20: -4 -17: -3 -8: -2 -9: 0 -9: 2 -8: 3 -7: 5 -4:-64 -64 657: -6 9: 3 -3: 2 -1: 0 0: -2 0: -4 -1: -5 -2: -6 -4: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: 2 -7: -64 0: 4 0: 2 -7: -2 -18: -3 -20: -5 -21: -6 -20: -6 -18: -5 -15: -2 -12: 1 -10: 3 -9: 6 -7: 9 -4:-64 -64 658: -5 10: -5 -4: -3 -1: 0 4: 1 6: 2 9: 2 11: 1 12: -1 11: -2 9: -3 5: -4 -1: -5 -9: -64 0: -5 -9: -4 -6: -3 -4: -1 -1: 1 0: 3 0: 4 -1: 4 -3: 3 -6: 3 -8: 4 -9: 5 -9: 7 -8: 8 -7: 10 -4:-64 -64 659: -2 5: 1 5: 1 4: 2 4: 2 5: 1 5: -64 0: -2 -4: 0 0: -2 -6: -2 -8: -1 -9: 0 -9: 2 -8: 3 -7: 5 -4:-64 -64 660: -2 5: 1 5: 1 4: 2 4: 2 5: 1 5: -64 0: -2 -4: 0 0: -6 -18: -7 -20: -9 -21: -10 -20: -10 -18: -9 -15: -6 -12: -3 -10: -1 -9: 2 -7: 5 -4:-64 -64 661: -5 9: -5 -4: -3 -1: 0 4: 1 6: 2 9: 2 11: 1 12: -1 11: -2 9: -3 5: -4 -1: -5 -9: -64 0: -5 -9: -4 -6: -3 -4: -1 -1: 1 0: 3 0: 4 -1: 4 -3: 2 -4: -1 -4: -64 0: -1 -4: 1 -5: 2 -8: 3 -9: 4 -9: 6 -8: 7 -7: 9 -4:-64 -64 662: -3 5: -3 -4: -1 -1: 2 4: 3 6: 4 9: 4 11: 3 12: 1 11: 0 9: -1 5: -2 -2: -2 -8: -1 -9: 0 -9: 2 -8: 3 -7: 5 -4:-64 -64 663: -13 12: -13 -4: -11 -1: -9 0: -8 -1: -8 -2: -9 -6: -10 -9: -64 0: -9 -6: -8 -4: -6 -1: -4 0: -2 0: -1 -1: -1 -2: -2 -6: -3 -9: -64 0: -2 -6: -1 -4: 1 -1: 3 0: 5 0: 6 -1: 6 -3: 5 -6: 5 -8: 6 -9: 7 -9: 9 -8: 10 -7: 12 -4:-64 -64 664: -8 10: -8 -4: -6 -1: -4 0: -3 -1: -3 -2: -4 -6: -5 -9: -64 0: -4 -6: -3 -4: -1 -1: 1 0: 3 0: 4 -1: 4 -3: 3 -6: 3 -8: 4 -9: 5 -9: 7 -8: 8 -7: 10 -4:-64 -64 665: -6 8: 0 0: -2 0: -4 -1: -5 -2: -6 -4: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: 2 -7: 3 -5: 3 -3: 2 -1: 0 0: -1 -1: -1 -3: 0 -5: 2 -6: 5 -6: 7 -5: 8 -4:-64 -64 666: -7 8: -7 -4: -5 -1: -4 1: -5 -3: -11 -21: -64 0: -5 -3: -4 -1: -2 0: 0 0: 2 -1: 3 -3: 3 -5: 2 -7: 1 -8: -1 -9: -64 0: -5 -8: -3 -9: 0 -9: 3 -8: 5 -7: 8 -4:-64 -64 667: -6 9: 3 -3: 2 -1: 0 0: -2 0: -4 -1: -5 -2: -6 -4: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: -64 0: 4 0: 3 -3: 1 -8: -2 -15: -3 -18: -3 -20: -2 -21: 0 -20: 1 -17: 1 -10: 3 -9: 6 -7: 9 -4:-64 -64 668: -5 8: -5 -4: -3 -1: -2 1: -2 -1: 1 -1: 2 -2: 2 -4: 1 -7: 1 -8: 2 -9: 3 -9: 5 -8: 6 -7: 8 -4:-64 -64 669: -4 7: -4 -4: -2 -1: -1 1: -1 -1: 1 -4: 2 -6: 2 -8: 0 -9: -64 0: -4 -8: -2 -9: 2 -9: 4 -8: 5 -7: 7 -4:-64 -64 670: -3 6: -3 -4: -1 -1: 1 3: -64 0: 4 12: -2 -6: -2 -8: -1 -9: 1 -9: 3 -8: 4 -7: 6 -4: -64 0: -2 4: 5 4:-64 -64 671: -6 9: -6 -4: -4 0: -6 -6: -6 -8: -5 -9: -3 -9: -1 -8: 1 -6: 3 -3: -64 0: 4 0: 2 -6: 2 -8: 3 -9: 4 -9: 6 -8: 7 -7: 9 -4:-64 -64 672: -6 9: -6 -4: -4 0: -5 -5: -5 -8: -4 -9: -3 -9: 0 -8: 2 -6: 3 -3: 3 0: -64 0: 3 0: 4 -4: 5 -5: 7 -5: 9 -4:-64 -64 673: -9 12: -6 0: -8 -2: -9 -5: -9 -7: -8 -9: -6 -9: -4 -8: -2 -6: -64 0: 0 0: -2 -6: -2 -8: -1 -9: 1 -9: 3 -8: 5 -6: 6 -3: 6 0: -64 0: 6 0: 7 -4: 8 -5: 10 -5: 12 -4:-64 -64 674: -8 8: -8 -4: -6 -1: -4 0: -2 0: -1 -1: -1 -8: 0 -9: 3 -9: 6 -7: 8 -4: -64 0: 5 -1: 4 0: 2 0: 1 -1: -3 -8: -4 -9: -6 -9: -7 -8:-64 -64 675: -6 9: -6 -4: -4 0: -6 -6: -6 -8: -5 -9: -3 -9: -1 -8: 1 -6: 3 -3: -64 0: 4 0: -2 -18: -3 -20: -5 -21: -6 -20: -6 -18: -5 -15: -2 -12: 1 -10: 3 -9: 6 -7: 9 -4:-64 -64 676: -6 8: -6 -4: -4 -1: -2 0: 0 0: 2 -2: 2 -4: 1 -6: -1 -8: -4 -9: -2 -10: -1 -12: -1 -15: -2 -18: -3 -20: -5 -21: -6 -20: -6 -18: -5 -15: -2 -12: 1 -10: 5 -7: 8 -4:-64 -64 677: -8 10: -7 -9: -4 -8: -1 -6: 1 -4: 3 -1: 5 3: 6 7: 6 9: 5 11: 3 12: 1 11: 0 10: -1 8: -2 3: -2 -2: -1 -6: 0 -8: 2 -9: 4 -9: 6 -8: 7 -7:-64 -64 683: -9 9: 5 -3: 5 0: 4 3: 3 4: 1 5: -1 5: -3 4: -5 2: -6 -1: -6 -4: -5 -7: -4 -8: -2 -9: 0 -9: 2 -8: 4 -6: 5 -3: 6 2: 6 7: 5 10: 4 11: 2 12: 0 12: -2 11: -4 9:-64 -64 684: -8 8: 5 4: 3 5: 0 5: -2 4: -4 2: -5 -1: -5 -4: -4 -7: -3 -8: -1 -9: 2 -9: 4 -8: -64 0: -5 -2: 3 -2:-64 -64 685: -8 9: 2 12: 0 11: -2 8: -3 6: -4 3: -5 -2: -5 -6: -4 -8: -3 -9: -1 -9: 1 -8: 3 -5: 4 -3: 5 0: 6 5: 6 9: 5 11: 4 12: 2 12: -64 0: -4 2: 5 2:-64 -64 686: -10 10: 4 12: -4 -16: -64 0: -1 5: -4 4: -6 2: -7 -1: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 0: 6 2: 4 4: 1 5: -1 5:-64 -64 687: -9 9: 6 3: 5 4: 2 5: -1 5: -4 4: -5 3: -6 1: -6 -1: -5 -3: -3 -5: 1 -8: 2 -10: 2 -12: 1 -13: -1 -13:-64 -64 697: 0 0:-64 -64 698: -4 4:-64 -64 699: -8 8:-64 -64 700: -10 10: -1 12: -4 11: -6 8: -7 3: -7 0: -6 -5: -4 -8: -1 -9: 1 -9: 4 -8: 6 -5: 7 0: 7 3: 6 8: 4 11: 1 12: -1 12:-64 -64 701: -10 10: -4 8: -2 9: 1 12: 1 -9:-64 -64 702: -10 10: -6 7: -6 8: -5 10: -4 11: -2 12: 2 12: 4 11: 5 10: 6 8: 6 6: 5 4: 3 1: -7 -9: 7 -9:-64 -64 703: -10 10: -5 12: 6 12: 0 4: 3 4: 5 3: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -2 -9: -5 -8: -6 -7: -7 -5:-64 -64 704: -10 10: 3 12: -7 -2: 8 -2: -64 0: 3 12: 3 -9:-64 -64 705: -10 10: 5 12: -5 12: -6 3: -5 4: -2 5: 1 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -2 -9: -5 -8: -6 -7: -7 -5:-64 -64 706: -10 10: 6 9: 5 11: 2 12: 0 12: -3 11: -5 8: -6 3: -6 -2: -5 -6: -3 -8: 0 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 -2: 6 1: 4 3: 1 4: 0 4: -3 3: -5 1: -6 -2:-64 -64 707: -10 10: 7 12: -3 -9: -64 0: -7 12: 7 12:-64 -64 708: -10 10: -2 12: -5 11: -6 9: -6 7: -5 5: -3 4: 1 3: 4 2: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -2 -9: -5 -8: -6 -7: -7 -5: -7 -2: -6 0: -4 2: -1 3: 3 4: 5 5: 6 7: 6 9: 5 11: 2 12: -2 12:-64 -64 709: -10 10: 6 5: 5 2: 3 0: 0 -1: -1 -1: -4 0: -6 2: -7 5: -7 6: -6 9: -4 11: -1 12: 0 12: 3 11: 5 9: 6 5: 6 0: 5 -5: 3 -8: 0 -9: -2 -9: -5 -8: -6 -6:-64 -64 710: -5 5: 0 -7: -1 -8: 0 -9: 1 -8: 0 -7:-64 -64 711: -5 5: 1 -8: 0 -9: -1 -8: 0 -7: 1 -8: 1 -10: 0 -12: -1 -13:-64 -64 712: -5 5: 0 5: -1 4: 0 3: 1 4: 0 5: -64 0: 0 -7: -1 -8: 0 -9: 1 -8: 0 -7:-64 -64 713: -5 5: 0 5: -1 4: 0 3: 1 4: 0 5: -64 0: 1 -8: 0 -9: -1 -8: 0 -7: 1 -8: 1 -10: 0 -12: -1 -13:-64 -64 714: -5 5: 0 12: 0 -2: -64 0: 0 -7: -1 -8: 0 -9: 1 -8: 0 -7:-64 -64 715: -9 9: -6 7: -6 8: -5 10: -4 11: -2 12: 2 12: 4 11: 5 10: 6 8: 6 6: 5 4: 4 3: 0 1: 0 -2: -64 0: 0 -7: -1 -8: 0 -9: 1 -8: 0 -7:-64 -64 716: -4 4: 0 12: 0 5:-64 -64 717: -8 8: -4 12: -4 5: -64 0: 4 12: 4 5:-64 -64 718: -7 7: -1 12: -3 11: -4 9: -4 7: -3 5: -1 4: 1 4: 3 5: 4 7: 4 9: 3 11: 1 12: -1 12:-64 -64 719: -10 10: -2 16: -2 -13: -64 0: 2 16: 2 -13: -64 0: 7 9: 5 11: 2 12: -2 12: -5 11: -7 9: -7 7: -6 5: -5 4: -3 3: 3 1: 5 0: 6 -1: 7 -3: 7 -6: 5 -8: 2 -9: -2 -9: -5 -8: -7 -6:-64 -64 720: -11 11: 9 16: -9 -16:-64 -64 721: -7 7: 4 16: 2 14: 0 11: -2 7: -3 2: -3 -2: -2 -7: 0 -11: 2 -14: 4 -16:-64 -64 722: -7 7: -4 16: -2 14: 0 11: 2 7: 3 2: 3 -2: 2 -7: 0 -11: -2 -14: -4 -16:-64 -64 723: -4 4: 0 16: 0 -16:-64 -64 724: -13 13: -9 0: 9 0:-64 -64 725: -13 13: 0 9: 0 -9: -64 0: -9 0: 9 0:-64 -64 726: -13 13: -9 3: 9 3: -64 0: -9 -3: 9 -3:-64 -64 727: -11 11: -7 7: 7 -7: -64 0: 7 7: -7 -7:-64 -64 728: -8 8: 0 6: 0 -6: -64 0: -5 3: 5 -3: -64 0: 5 3: -5 -3:-64 -64 729: -5 5: 0 1: -1 0: 0 -1: 1 0: 0 1:-64 -64 730: -5 5: 1 12: 0 11: -1 9: -1 7: 0 6: 1 7: 0 8:-64 -64 731: -5 5: 0 10: -1 11: 0 12: 1 11: 1 9: 0 7: -1 6:-64 -64 732: -13 13: 3 5: 6 2: 9 0: 6 -2: 3 -5: -64 0: -9 0: 9 0:-64 -64 733: -10 11: 1 16: -6 -16: -64 0: 7 16: 0 -16: -64 0: -6 3: 8 3: -64 0: -7 -3: 7 -3:-64 -64 734: -13 13: 10 3: 10 4: 9 5: 8 5: 7 4: 6 2: 4 -3: 2 -6: 0 -8: -2 -9: -6 -9: -8 -8: -9 -7: -10 -5: -10 -3: -9 -1: -8 0: -1 4: 0 5: 1 7: 1 9: 0 11: -2 12: -4 11: -5 9: -5 7: -4 4: -2 1: 3 -6: 5 -8: 7 -9: 9 -9: 10 -8: 10 -7:-64 -64 735: -11 11: -9 9: -8 7: -7 3: -7 -3: -8 -7: -9 -9: -64 0: 9 9: 8 7: 7 3: 7 -3: 8 -7: 9 -9: -64 0: -9 9: -7 8: -3 7: 3 7: 7 8: 9 9: -64 0: -9 -9: -7 -8: -3 -7: 3 -7: 7 -8: 9 -9:-64 -64 737: -7 7: -3 16: -3 -9: -64 0: 3 16: 3 -9:-64 -64 738: -12 12: 0 16: 0 -9: -64 0: -9 -9: 9 -9:-64 -64 739: -12 12: 9 16: -9 -9: 9 -9:-64 -64 740: -13 13: 0 9: -1 8: 0 7: 1 8: 0 9: -64 0: -9 -7: -10 -8: -9 -9: -8 -8: -9 -7: -64 0: 9 -7: 8 -8: 9 -9: 10 -8: 9 -7:-64 -64 741: -12 12: 0 10: -4 6: -7 2: -8 -1: -8 -3: -7 -5: -5 -6: -3 -6: -1 -5: 0 -3: -64 0: 0 10: 4 6: 7 2: 8 -1: 8 -3: 7 -5: 5 -6: 3 -6: 1 -5: 0 -3: -64 0: 0 -3: -1 -7: -2 -10: -64 0: 0 -3: 1 -7: 2 -10: -64 0: -2 -10: 2 -10:-64 -64 742: -12 12: 0 4: -1 7: -2 9: -4 10: -5 10: -7 9: -8 7: -8 3: -7 0: -6 -2: -4 -5: 0 -10: -64 0: 0 4: 1 7: 2 9: 4 10: 5 10: 7 9: 8 7: 8 3: 7 0: 6 -2: 4 -5: 0 -10:-64 -64 743: -12 12: 0 11: -2 8: -6 3: -9 0: -64 0: 0 11: 2 8: 6 3: 9 0: -64 0: -9 0: -6 -3: -2 -8: 0 -11: -64 0: 9 0: 6 -3: 2 -8: 0 -11:-64 -64 744: -12 12: 0 -2: 2 -5: 4 -6: 6 -6: 8 -5: 9 -3: 9 -1: 8 1: 6 2: 4 2: 1 1: -64 0: 1 1: 3 3: 4 5: 4 7: 3 9: 1 10: -1 10: -3 9: -4 7: -4 5: -3 3: -1 1: -64 0: -1 1: -4 2: -6 2: -8 1: -9 -1: -9 -3: -8 -5: -6 -6: -4 -6: -2 -5: 0 -2: -64 0: 0 -2: -1 -7: -2 -10: -64 0: 0 -2: 1 -7: 2 -10: -64 0: -2 -10: 2 -10:-64 -64 745: -12 12: 0 0: 0 -9: -1 -10: -64 0: 0 -4: -1 -10: -64 0: 0 9: -1 10: -3 10: -4 9: -4 7: -3 4: 0 0: -64 0: 0 9: 1 10: 3 10: 4 9: 4 7: 3 4: 0 0: -64 0: 0 0: -4 3: -6 4: -8 4: -9 3: -9 1: -8 0: -64 0: 0 0: 4 3: 6 4: 8 4: 9 3: 9 1: 8 0: -64 0: 0 0: -4 -3: -6 -4: -8 -4: -9 -3: -9 -1: -8 0: -64 0: 0 0: 4 -3: 6 -4: 8 -4: 9 -3: 9 -1: 8 0:-64 -64 746: -12 12: -9 -1: -8 -1: -6 -2: -5 -4: -5 -6: -6 -8: -64 0: -9 -1: -9 0: -8 1: -6 1: -5 0: -4 -2: -4 -5: -5 -7: -6 -8: -64 0: 0 11: -2 9: -3 6: -3 3: -1 -3: -1 -6: -2 -8: 0 -10: -64 0: 0 11: 2 9: 3 6: 3 3: 1 -3: 1 -6: 2 -8: 0 -10: -64 0: 9 -1: 9 0: 8 1: 6 1: 5 0: 4 -2: 4 -5: 5 -7: 6 -8: -64 0: 9 -1: 8 -1: 6 -2: 5 -4: 5 -6: 6 -8: -64 0: -7 -4: 7 -4:-64 -64 750: -2 1: 1 0: 0 -1: -1 -1: -2 0: -2 1: -1 2: 0 2: 1 1: 1 -1: 0 -3: -1 -4: -64 0: -1 1: -1 0: 0 0: 0 1: -1 1:-64 -64 751: -2 2: -1 2: -2 1: -2 -1: -1 -2: 1 -2: 2 -1: 2 1: 1 2: -1 2: -64 0: 0 1: -1 0: 0 -1: 1 0: 0 1:-64 -64 752: -4 4: -2 3: 2 -3: -64 0: 2 3: -2 -3: -64 0: -4 0: 4 0:-64 -64 753: -5 5: 0 7: -1 5: -3 2: -5 0: -64 0: 0 7: 1 5: 3 2: 5 0: -64 0: 0 5: -3 1: -64 0: 0 5: 3 1: -64 0: 0 3: -2 1: -64 0: 0 3: 2 1: -64 0: -1 1: 1 1: -64 0: -5 0: 5 0:-64 -64 754: -5 5: -5 0: -5 1: -4 3: -3 4: -1 5: 1 5: 3 4: 4 3: 5 1: 5 0: -64 0: -2 4: 2 4: -64 0: -3 3: 3 3: -64 0: -4 2: 4 2: -64 0: -4 1: 4 1: -64 0: -5 0: 5 0:-64 -64 755: -6 0: -6 12: -6 0: 0 0: -6 12: -64 0: -6 9: -2 1: -64 0: -6 6: -3 0: -64 0: -6 3: -5 1:-64 -64 756: -5 5: 0 7: -1 5: -3 2: -5 0: -64 0: 0 7: 1 5: 3 2: 5 0:-64 -64 757: -5 5: 5 0: 5 1: 4 3: 3 4: 1 5: -1 5: -3 4: -4 3: -5 1: -5 0:-64 -64 758: -11 11: 11 0: 11 2: 10 5: 8 8: 5 10: 2 11: -2 11: -5 10: -8 8: -10 5: -11 2: -11 0:-64 -64 759: -5 5: -5 0: -5 -1: -4 -3: -3 -4: -1 -5: 1 -5: 3 -4: 4 -3: 5 -1: 5 0:-64 -64 760: -6 6: -6 2: -4 0: -1 -1: 1 -1: 4 0: 6 2:-64 -64 761: 0 3: 0 -3: 2 -2: 3 0: 2 2: 0 3:-64 -64 762: 0 4: 0 0: 3 2: 4 4: 4 6: 3 7: 2 7:-64 -64 763: -4 0: 0 0: -3 2: -4 4: -4 6: -3 7: -2 7:-64 -64 764: -5 5: 5 10: 4 11: 2 12: -1 12: -3 11: -4 10: -5 8: -5 6: -4 4: -3 3: 3 -1: 4 -2: 5 -4: 5 -6: 4 -8: 3 -9: 1 -10: -2 -10: -4 -9: -5 -8:-64 -64 765: -11 11: -9 -5: -10 -4: -11 -2: -11 1: -10 3: -9 4: -7 5: -5 5: -3 4: -2 3: 2 -3: 3 -4: 5 -5: 7 -5: 9 -4: 10 -3: 11 -1: 11 2: 10 4: 9 5:-64 -64 766: -11 11: 0 0: 2 -3: 3 -4: 5 -5: 7 -5: 9 -4: 10 -3: 11 -1: 11 1: 10 3: 9 4: 7 5: 5 5: 3 4: 2 3: -2 -3: -3 -4: -5 -5: -7 -5: -9 -4: -10 -3: -11 -1: -11 1: -10 3: -9 4: -7 5: -5 5: -3 4: -2 3: 0 0:-64 -64 767: -10 10: -7 12: -7 -9: -64 0: -10 12: 9 12: -1 2: 9 -8: -64 0: 8 -4: 9 -7: 10 -9: -64 0: 8 -4: 8 -7: -64 0: 5 -7: 8 -7: -64 0: 5 -7: 8 -8: 10 -9:-64 -64 768: -7 7: 3 17: 0 16: -2 15: -4 13: -6 10: -7 6: -7 0: -6 -3: -4 -5: -1 -6: 1 -6: 4 -5: 6 -3: 7 0: -64 0: -7 2: -6 5: -4 7: -1 8: 1 8: 4 7: 6 5: 7 2: 7 -4: 6 -8: 4 -11: 2 -13: 0 -14: -3 -15:-64 -64 796: -20 20: -20 0: 20 0:-64 -64 797: -14 14: -14 -14: 14 14:-64 -64 798: 0 0: 0 20: 0 -20:-64 -64 799: -14 14: -14 14: 14 -14:-64 -64 800: -14 14: -14 0: 14 0:-64 -64 801: -12 12: -12 -7: 12 7:-64 -64 802: -7 7: -7 -12: 7 12:-64 -64 803: 0 0: 0 14: 0 -14:-64 -64 804: -7 7: -7 12: 7 -12:-64 -64 805: -12 12: -12 7: 12 -7:-64 -64 806: -7 7: -7 0: 7 0:-64 -64 807: -5 5: -5 -5: 5 5:-64 -64 808: 0 0: 0 7: 0 -7:-64 -64 809: -5 5: -5 5: 5 -5:-64 -64 810: -11 0: 0 11: -2 11: -5 10: -8 8: -10 5: -11 2: -11 0:-64 -64 811: -11 0: -11 0: -11 -2: -10 -5: -8 -8: -5 -10: -2 -11: 0 -11:-64 -64 812: 0 11: 0 -11: 2 -11: 5 -10: 8 -8: 10 -5: 11 -2: 11 0:-64 -64 813: 0 11: 11 0: 11 2: 10 5: 8 8: 5 10: 2 11: 0 11:-64 -64 814: -14 14: -14 3: -11 1: -7 -1: -2 -2: 2 -2: 7 -1: 11 1: 14 3:-64 -64 815: -2 3: 3 14: 1 11: -1 7: -2 2: -2 -2: -1 -7: 1 -11: 3 -14:-64 -64 816: -3 2: -3 14: -1 11: 1 7: 2 2: 2 -2: 1 -7: -1 -11: -3 -14:-64 -64 817: -14 14: -14 -3: -11 -1: -7 1: -2 2: 2 2: 7 1: 11 -1: 14 -3:-64 -64 818: -7 7: 0 8: 7 4: -7 -4: 0 -8:-64 -64 819: -8 8: -8 0: -4 7: 4 -7: 8 0:-64 -64 820: -7 7: -7 -4: -7 4: 7 -4: 7 4:-64 -64 821: -8 8: -6 -6: -8 2: 8 -2: 6 6:-64 -64 822: -8 8: -8 -11: -6 -11: -3 -10: -1 -9: 2 -6: 3 -4: 4 -1: 4 3: 3 6: 2 8: 1 9: -1 9: -2 8: -3 6: -4 3: -4 -1: -3 -4: -2 -6: 1 -9: 3 -10: 6 -11: 8 -11:-64 -64 823: -9 11: 11 -8: 11 -6: 10 -3: 9 -1: 6 2: 4 3: 1 4: -3 4: -6 3: -8 2: -9 1: -9 -1: -8 -2: -6 -3: -3 -4: 1 -4: 4 -3: 6 -2: 9 1: 10 3: 11 6: 11 8:-64 -64 824: -8 8: 8 11: 6 11: 3 10: 1 9: -2 6: -3 4: -4 1: -4 -3: -3 -6: -2 -8: -1 -9: 1 -9: 2 -8: 3 -6: 4 -3: 4 1: 3 4: 2 6: -1 9: -3 10: -6 11: -8 11:-64 -64 825: -11 9: -11 8: -11 6: -10 3: -9 1: -6 -2: -4 -3: -1 -4: 3 -4: 6 -3: 8 -2: 9 -1: 9 1: 8 2: 6 3: 3 4: -1 4: -4 3: -6 2: -9 -1: -10 -3: -11 -6: -11 -8:-64 -64 826: -13 9: -13 2: -12 0: -10 -2: -8 -3: -5 -4: -1 -4: 3 -3: 6 -1: 8 2: 9 4: 8 6: 5 6: 1 5: -1 4: -4 2: -6 -1: -7 -4: -7 -7: -6 -10: -5 -12:-64 -64 827: -13 7: -13 -2: -10 -4: -7 -5: -2 -5: 1 -4: 4 -2: 6 1: 7 4: 7 6: 6 7: 4 7: 1 6: -2 4: -4 1: -5 -2: -5 -7: -4 -10: -2 -13:-64 -64 828: -3 3: -1 3: -3 1: -3 -1: -1 -3: 1 -3: 3 -1: 3 1: 1 3: -1 3: -64 0: -1 2: -2 1: -2 -1: -1 -2: 1 -2: 2 -1: 2 1: 1 2: -1 2: -64 0: 0 1: -1 0: 0 -1: 1 0: 0 1:-64 -64 829: 0 5: 0 5: 1 5: 3 4: 4 3: 5 1: 5 -1: 4 -3: 3 -4: 1 -5: 0 -5:-64 -64 830: -14 14: -14 0: -8 0: -64 0: -3 0: 3 0: -64 0: 8 0: 14 0:-64 -64 831: -14 14: -14 -3: -14 3: 14 3: 14 -3:-64 -64 832: -8 8: 0 14: -8 0: -64 0: 0 14: 8 0:-64 -64 833: -14 14: -14 0: 14 0: -64 0: -8 -7: 8 -7: -64 0: -2 -14: 2 -14:-64 -64 834: -14 14: -14 0: 14 0: -64 0: -14 0: 0 -16: -64 0: 14 0: 0 -16:-64 -64 840: -7 7: -1 7: -4 6: -6 4: -7 1: -7 -1: -6 -4: -4 -6: -1 -7: 1 -7: 4 -6: 6 -4: 7 -1: 7 1: 6 4: 4 6: 1 7: -1 7:-64 -64 841: -6 6: -6 6: -6 -6: 6 -6: 6 6: -6 6:-64 -64 842: -7 7: 0 8: -7 -4: 7 -4: 0 8:-64 -64 843: -6 6: 0 10: -6 0: 0 -10: 6 0: 0 10:-64 -64 844: -8 8: 0 9: -2 3: -8 3: -3 -1: -5 -7: 0 -3: 5 -7: 3 -1: 8 3: 2 3: 0 9:-64 -64 845: -7 7: 0 7: 0 -7: -64 0: -7 0: 7 0:-64 -64 846: -5 5: -5 5: 5 -5: -64 0: 5 5: -5 -5:-64 -64 847: -5 5: 0 6: 0 -6: -64 0: -5 3: 5 -3: -64 0: 5 3: -5 -3:-64 -64 850: -4 4: -1 4: -3 3: -4 1: -4 -1: -3 -3: -1 -4: 1 -4: 3 -3: 4 -1: 4 1: 3 3: 1 4: -1 4: -64 0: -3 1: -3 -1: -64 0: -2 2: -2 -2: -64 0: -1 3: -1 -3: -64 0: 0 3: 0 -3: -64 0: 1 3: 1 -3: -64 0: 2 2: 2 -2: -64 0: 3 1: 3 -1:-64 -64 851: -4 4: -4 4: -4 -4: 4 -4: 4 4: -4 4: -64 0: -3 3: -3 -3: -64 0: -2 3: -2 -3: -64 0: -1 3: -1 -3: -64 0: 0 3: 0 -3: -64 0: 1 3: 1 -3: -64 0: 2 3: 2 -3: -64 0: 3 3: 3 -3:-64 -64 852: -5 5: 0 6: -5 -3: 5 -3: 0 6: -64 0: 0 3: -3 -2: -64 0: 0 3: 3 -2: -64 0: 0 0: -1 -2: -64 0: 0 0: 1 -2:-64 -64 853: -6 3: -6 0: 3 -5: 3 5: -6 0: -64 0: -3 0: 2 -3: -64 0: -3 0: 2 3: -64 0: 0 0: 2 -1: -64 0: 0 0: 2 1:-64 -64 854: -5 5: 0 -6: 5 3: -5 3: 0 -6: -64 0: 0 -3: 3 2: -64 0: 0 -3: -3 2: -64 0: 0 0: 1 2: -64 0: 0 0: -1 2:-64 -64 855: -3 6: 6 0: -3 5: -3 -5: 6 0: -64 0: 3 0: -2 3: -64 0: 3 0: -2 -3: -64 0: 0 0: -2 1: -64 0: 0 0: -2 -1:-64 -64 856: -6 6: 0 6: -4 -5: 6 2: -6 2: 4 -5: 0 6: -64 0: 0 0: 0 6: -64 0: 0 0: -6 2: -64 0: 0 0: -4 -5: -64 0: 0 0: 4 -5: -64 0: 0 0: 6 2:-64 -64 857: 0 7: 0 7: 0 -7: -64 0: 0 7: 7 4: 0 1: -64 0: 1 5: 4 4: 1 3:-64 -64 860: -5 5: 0 6: 0 -6: -64 0: -3 3: 3 3: -64 0: -5 -3: -3 -5: -1 -6: 1 -6: 3 -5: 5 -3:-64 -64 861: -6 6: 0 6: 0 -6: -64 0: -6 1: -5 3: 5 3: 6 1: -64 0: -2 -5: 2 -5:-64 -64 862: -7 7: -5 4: 5 -6: -64 0: 5 4: -5 -6: -64 0: -3 6: -6 3: -7 1: -64 0: 3 6: 6 3: 7 1:-64 -64 863: -9 9: -4 9: -9 -9: -64 0: 4 9: 9 -9: -64 0: -5 5: 9 -9: -64 0: 5 5: -9 -9: -64 0: -4 9: 4 9: -64 0: -5 5: 5 5:-64 -64 864: -9 9: 0 11: 0 -4: -64 0: -5 8: 5 2: -64 0: 5 8: -5 2: -64 0: -9 -4: -6 -10: -64 0: 9 -4: 6 -10: -64 0: -9 -4: 9 -4: -64 0: -6 -10: 6 -10:-64 -64 865: -11 9: -5 8: 1 -4: -64 0: -7 2: 1 6: -64 0: -11 -10: 9 -10: 9 0: -11 -10:-64 -64 866: -6 6: -2 6: -2 2: -6 2: -6 -2: -2 -2: -2 -6: 2 -6: 2 -2: 6 -2: 6 2: 2 2: 2 6: -2 6:-64 -64 867: -7 7: 7 2: 6 4: 4 6: 1 7: -1 7: -4 6: -6 4: -7 1: -7 -1: -6 -4: -4 -6: -1 -7: 1 -7: 4 -6: 6 -4: 7 -2: -64 0: 7 2: 5 4: 3 5: 1 5: -1 4: -2 3: -3 1: -3 -1: -2 -3: -1 -4: 1 -5: 3 -5: 5 -4: 7 -2:-64 -64 868: -7 7: 0 8: -7 -4: 7 -4: 0 8: -64 0: 0 -8: 7 4: -7 4: 0 -8:-64 -64 869: -11 11: -2 9: -2 11: -1 12: 1 12: 2 11: 2 9: -64 0: -11 -8: -10 -6: -8 -4: -7 -2: -6 2: -6 7: -5 8: -3 9: 3 9: 5 8: 6 7: 6 2: 7 -2: 8 -4: 10 -6: 11 -8: -64 0: -11 -8: 11 -8: -64 0: -1 -8: -2 -9: -1 -10: 1 -10: 2 -9: 1 -8:-64 -64 870: -8 8: 0 5: 0 -1: -64 0: 0 -1: -1 -10: -64 0: 0 -1: 1 -10: -64 0: -1 -10: 1 -10: -64 0: 0 5: -1 8: -2 10: -4 11: -64 0: -1 8: -4 11: -64 0: 0 5: 1 8: 2 10: 4 11: -64 0: 1 8: 4 11: -64 0: 0 5: -4 7: -6 7: -8 5: -64 0: -2 6: -6 6: -8 5: -64 0: 0 5: 4 7: 6 7: 8 5: -64 0: 2 6: 6 6: 8 5: -64 0: 0 5: -2 4: -3 3: -3 0: -64 0: 0 5: -2 3: -3 0: -64 0: 0 5: 2 4: 3 3: 3 0: -64 0: 0 5: 2 3: 3 0:-64 -64 871: -8 8: 0 9: 0 7: -64 0: 0 4: 0 2: -64 0: 0 -1: 0 -3: -64 0: 0 -7: -1 -10: -64 0: 0 -7: 1 -10: -64 0: -1 -10: 1 -10: -64 0: 0 11: -1 9: -2 8: -64 0: 0 11: 1 9: 2 8: -64 0: -2 8: 0 9: 2 8: -64 0: 0 7: -2 4: -4 3: -5 4: -64 0: 0 7: 2 4: 4 3: 5 4: -64 0: -4 3: -2 3: 0 4: 2 3: 4 3: -64 0: 0 2: -2 -1: -4 -2: -6 -2: -7 0: -7 -1: -6 -2: -64 0: 0 2: 2 -1: 4 -2: 6 -2: 7 0: 7 -1: 6 -2: -64 0: -4 -2: -2 -2: 0 -1: 2 -2: 4 -2: -64 0: 0 -3: -2 -6: -3 -7: -5 -8: -6 -8: -7 -7: -8 -5: -8 -7: -6 -8: -64 0: 0 -3: 2 -6: 3 -7: 5 -8: 6 -8: 7 -7: 8 -5: 8 -7: 6 -8: -64 0: -5 -8: -3 -8: 0 -7: 3 -8: 5 -8:-64 -64 872: -8 8: 0 -7: -1 -10: -64 0: 0 -7: 1 -10: -64 0: -1 -10: 1 -10: -64 0: 0 -7: 3 -8: 6 -8: 8 -6: 8 -3: 7 -2: 5 -2: 7 0: 8 3: 7 5: 5 6: 3 5: 4 8: 3 10: 1 11: -1 11: -3 10: -4 8: -3 5: -5 6: -7 5: -8 3: -7 0: -5 -2: -7 -2: -8 -3: -8 -6: -6 -8: -3 -8: 0 -7:-64 -64 873: -8 8: 0 -7: -1 -10: -64 0: 0 -7: 1 -10: -64 0: -1 -10: 1 -10: -64 0: 0 -7: 4 -6: 4 -4: 6 -3: 6 0: 8 1: 8 6: 7 9: 6 10: 4 10: 2 11: -2 11: -4 10: -6 10: -7 9: -8 6: -8 1: -6 0: -6 -3: -4 -4: -4 -6: 0 -7:-64 -64 874: -9 9: -9 2: -7 0: -64 0: -6 7: -4 2: -64 0: 0 11: 0 3: -64 0: 6 7: 4 2: -64 0: 9 2: 7 0:-64 -64 899: -1 1: 0 1: -1 0: 0 -1: 1 0: 0 1:-64 -64 900: -2 2: -1 2: -2 1: -2 -1: -1 -2: 1 -2: 2 -1: 2 1: 1 2: -1 2:-64 -64 901: -4 4: -1 4: -3 3: -4 1: -4 -1: -3 -3: -1 -4: 1 -4: 3 -3: 4 -1: 4 1: 3 3: 1 4: -1 4:-64 -64 902: -5 5: -1 5: -3 4: -4 3: -5 1: -5 -1: -4 -3: -3 -4: -1 -5: 1 -5: 3 -4: 4 -3: 5 -1: 5 1: 4 3: 3 4: 1 5: -1 5:-64 -64 903: -7 7: -1 7: -4 6: -6 4: -7 1: -7 -1: -6 -4: -4 -6: -1 -7: 1 -7: 4 -6: 6 -4: 7 -1: 7 1: 6 4: 4 6: 1 7: -1 7:-64 -64 904: -11 11: -2 11: -5 10: -8 8: -10 5: -11 2: -11 -2: -10 -5: -8 -8: -5 -10: -2 -11: 2 -11: 5 -10: 8 -8: 10 -5: 11 -2: 11 2: 10 5: 8 8: 5 10: 2 11: -2 11:-64 -64 905: -17 17: -2 17: -6 16: -8 15: -11 13: -13 11: -15 8: -16 6: -17 2: -17 -2: -16 -6: -15 -8: -13 -11: -11 -13: -8 -15: -6 -16: -2 -17: 2 -17: 6 -16: 8 -15: 11 -13: 13 -11: 15 -8: 16 -6: 17 -2: 17 2: 16 6: 15 8: 13 11: 11 13: 8 15: 6 16: 2 17: -2 17:-64 -64 906: -22 22: -2 22: -7 21: -11 19: -14 17: -17 14: -19 11: -21 7: -22 2: -22 -2: -21 -7: -19 -11: -17 -14: -14 -17: -11 -19: -7 -21: -2 -22: 2 -22: 7 -21: 11 -19: 14 -17: 17 -14: 19 -11: 21 -7: 22 -2: 22 2: 21 7: 19 11: 17 14: 14 17: 11 19: 7 21: 2 22: -2 22:-64 -64 907: -41 41: -3 41: -9 40: -13 39: -18 37: -23 34: -27 31: -31 27: -34 23: -37 18: -39 13: -40 9: -41 3: -41 -3: -40 -9: -39 -13: -37 -18: -34 -23: -31 -27: -27 -31: -23 -34: -18 -37: -13 -39: -9 -40: -3 -41: 3 -41: 9 -40: 13 -39: 18 -37: 23 -34: 27 -31: 31 -27: 34 -23: 37 -18: 39 -13: 40 -9: 41 -3: 41 3: 40 9: 39 13: 37 18: 34 23: 31 27: 27 31: 23 34: 18 37: 13 39: 9 40: 3 41: -3 41:-64 -64 908: -20 20: 0 17: -2 15: -5 14: -8 14: -11 15: -13 17: -20 10: -18 8: -17 5: -17 -8: -16 -11: -14 -13: -11 -14: -5 -14: -2 -15: 0 -17: -64 0: 0 17: 2 15: 5 14: 8 14: 11 15: 13 17: 20 10: 18 8: 17 5: 17 -8: 16 -11: 14 -13: 11 -14: 5 -14: 2 -15: 0 -17:-64 -64 909: -17 17: 0 17: -2 15: -5 14: -8 14: -11 15: -13 17: -16 11: -17 7: -17 2: -16 -2: -14 -6: -11 -10: -6 -14: 0 -17: -64 0: 0 17: 2 15: 5 14: 8 14: 11 15: 13 17: 16 11: 17 7: 17 2: 16 -2: 14 -6: 11 -10: 6 -14: 0 -17: -64 0: -16 10: 16 10:-64 -64 997: -5 5: -5 -6: 5 -6:-64 -64 998: -8 8: -8 -8: 8 -8:-64 -64 999: -8 8: -8 -11: 8 -11:-64 -64 1001: -7 7: 0 7: -5 -6: -64 0: 0 4: 4 -6: -64 0: 0 7: 5 -6: -64 0: -3 -2: 2 -2: -64 0: -7 -6: -2 -6: -64 0: 2 -6: 7 -6:-64 -64 1002: -8 8: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: -6 7: 1 7: 4 6: 5 4: 4 2: 1 1: -64 0: 1 7: 3 6: 4 4: 3 2: 1 1: -64 0: -3 1: 1 1: 4 0: 5 -2: 5 -3: 4 -5: 1 -6: -6 -6: -64 0: 1 1: 3 0: 4 -2: 4 -3: 3 -5: 1 -6:-64 -64 1003: -7 7: 4 6: 5 7: 5 3: 4 6: 2 7: -1 7: -3 6: -4 5: -5 2: -5 -1: -4 -4: -3 -5: -1 -6: 2 -6: 4 -5: 5 -3: -64 0: -1 7: -3 5: -4 2: -4 -1: -3 -4: -1 -6:-64 -64 1004: -8 8: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: -6 7: 1 7: 4 6: 5 5: 6 2: 6 -1: 5 -4: 4 -5: 1 -6: -6 -6: -64 0: 1 7: 3 6: 4 5: 5 2: 5 -1: 4 -4: 3 -5: 1 -6:-64 -64 1005: -8 7: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: 1 3: 1 -1: -64 0: -6 7: 4 7: 4 3: 3 7: -64 0: -3 1: 1 1: -64 0: -6 -6: 4 -6: 4 -2: 3 -6:-64 -64 1006: -8 6: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: 1 3: 1 -1: -64 0: -6 7: 4 7: 4 3: 3 7: -64 0: -3 1: 1 1: -64 0: -6 -6: -1 -6:-64 -64 1007: -7 9: 4 6: 5 7: 5 3: 4 6: 2 7: -1 7: -3 6: -4 5: -5 2: -5 -1: -4 -4: -3 -5: -1 -6: 2 -6: 4 -5: -64 0: -1 7: -3 5: -4 2: -4 -1: -3 -4: -1 -6: -64 0: 2 -6: 3 -5: 4 -3: -64 0: 4 -1: 4 -6: -64 0: 5 -1: 5 -6: -64 0: 2 -1: 7 -1:-64 -64 1008: -8 9: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: 4 7: 4 -6: -64 0: 5 7: 5 -6: -64 0: -6 7: -1 7: -64 0: 2 7: 7 7: -64 0: -3 1: 4 1: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1009: -4 5: 0 7: 0 -6: -64 0: 1 7: 1 -6: -64 0: -2 7: 3 7: -64 0: -2 -6: 3 -6:-64 -64 1010: -6 6: 1 7: 1 -3: 0 -5: -1 -6: -64 0: 2 7: 2 -3: 1 -5: -1 -6: -2 -6: -4 -5: -5 -3: -4 -2: -3 -3: -4 -4: -64 0: -1 7: 4 7:-64 -64 1011: -8 8: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: 5 7: -3 -1: -64 0: -1 1: 4 -6: -64 0: 0 1: 5 -6: -64 0: -6 7: -1 7: -64 0: 2 7: 7 7: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1012: -7 6: -3 7: -3 -6: -64 0: -2 7: -2 -6: -64 0: -5 7: 0 7: -64 0: -5 -6: 5 -6: 5 -2: 4 -6:-64 -64 1013: -9 10: -5 7: -5 -6: -64 0: -4 4: 0 -6: -64 0: -4 7: 0 -3: -64 0: 5 7: 0 -6: -64 0: 5 7: 5 -6: -64 0: 6 7: 6 -6: -64 0: -7 7: -4 7: -64 0: 5 7: 8 7: -64 0: -7 -6: -3 -6: -64 0: 3 -6: 8 -6:-64 -64 1014: -8 8: -4 7: -4 -6: -64 0: -3 5: 4 -6: -64 0: -3 7: 4 -4: -64 0: 4 7: 4 -6: -64 0: -6 7: -3 7: -64 0: 2 7: 6 7: -64 0: -6 -6: -2 -6:-64 -64 1015: -7 8: -1 7: -3 6: -4 5: -5 2: -5 -1: -4 -4: -3 -5: -1 -6: 2 -6: 4 -5: 5 -4: 6 -1: 6 2: 5 5: 4 6: 2 7: -1 7: -64 0: -1 7: -3 5: -4 2: -4 -1: -3 -4: -1 -6: -64 0: 2 -6: 4 -4: 5 -1: 5 2: 4 5: 2 7:-64 -64 1016: -8 7: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: -6 7: 1 7: 4 6: 5 4: 5 3: 4 1: 1 0: -3 0: -64 0: 1 7: 3 6: 4 4: 4 3: 3 1: 1 0: -64 0: -6 -6: -1 -6:-64 -64 1017: -7 8: -1 7: -3 6: -4 5: -5 2: -5 -1: -4 -4: -3 -5: -1 -6: 2 -6: 4 -5: 5 -4: 6 -1: 6 2: 5 5: 4 6: 2 7: -1 7: -64 0: -1 7: -3 5: -4 2: -4 -1: -3 -4: -1 -6: -64 0: 2 -6: 4 -4: 5 -1: 5 2: 4 5: 2 7: -64 0: -2 -5: -2 -3: -1 -2: 1 -2: 2 -3: 3 -8: 4 -9: 5 -9: 6 -8: -64 0: 2 -3: 3 -6: 4 -8: 5 -9:-64 -64 1018: -8 8: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: -6 7: 1 7: 4 6: 5 4: 5 3: 4 1: 1 0: -3 0: -64 0: 1 7: 3 6: 4 4: 4 3: 3 1: 1 0: -64 0: -6 -6: -1 -6: -64 0: 1 0: 2 -1: 3 -5: 4 -6: 5 -6: 6 -5: -64 0: 1 0: 3 -1: 4 -5: 5 -6:-64 -64 1019: -7 8: 4 5: 5 7: 5 3: 4 5: 3 6: 1 7: -1 7: -3 6: -4 5: -4 3: -3 2: -1 1: 2 0: 4 -1: 5 -2: -64 0: -4 4: -3 3: -1 2: 2 1: 4 0: 5 -1: 5 -4: 4 -5: 2 -6: 0 -6: -2 -5: -3 -4: -4 -2: -4 -6: -3 -4:-64 -64 1020: -7 8: 0 7: 0 -6: -64 0: 1 7: 1 -6: -64 0: -4 7: -5 3: -5 7: 6 7: 6 3: 5 7: -64 0: -2 -6: 3 -6:-64 -64 1021: -8 9: -4 7: -4 -3: -3 -5: -1 -6: 2 -6: 4 -5: 5 -3: 5 7: -64 0: -3 7: -3 -3: -2 -5: -1 -6: -64 0: -6 7: -1 7: -64 0: 3 7: 7 7:-64 -64 1022: -7 7: -5 7: 0 -6: -64 0: -4 7: 0 -3: -64 0: 5 7: 0 -6: -64 0: -7 7: -2 7: -64 0: 2 7: 7 7:-64 -64 1023: -9 9: -6 7: -3 -6: -64 0: -5 7: -3 -2: -64 0: 0 7: -3 -6: -64 0: 0 7: 3 -6: -64 0: 1 7: 3 -2: -64 0: 6 7: 3 -6: -64 0: -8 7: -3 7: -64 0: 4 7: 8 7:-64 -64 1024: -7 8: -4 7: 4 -6: -64 0: -3 7: 5 -6: -64 0: 5 7: -4 -6: -64 0: -6 7: -1 7: -64 0: 2 7: 7 7: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1025: -6 7: -4 7: 0 0: 0 -6: -64 0: -3 7: 1 0: -64 0: 5 7: 1 0: 1 -6: -64 0: -6 7: -1 7: -64 0: 2 7: 7 7: -64 0: -2 -6: 3 -6:-64 -64 1026: -6 7: 4 7: -4 -6: -64 0: 5 7: -3 -6: -64 0: -3 7: -4 3: -4 7: 5 7: -64 0: -4 -6: 5 -6: 5 -2: 4 -6:-64 -64 1027: -7 7: 0 7: -5 -6: -64 0: 0 4: 4 -6: -64 0: 0 7: 5 -6: -64 0: -3 -2: 2 -2: -64 0: -7 -6: -2 -6: -64 0: 2 -6: 7 -6:-64 -64 1028: -8 8: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: -6 7: 1 7: 4 6: 5 4: 4 2: 1 1: -64 0: 1 7: 3 6: 4 4: 3 2: 1 1: -64 0: -3 1: 1 1: 4 0: 5 -2: 5 -3: 4 -5: 1 -6: -6 -6: -64 0: 1 1: 3 0: 4 -2: 4 -3: 3 -5: 1 -6:-64 -64 1029: -7 6: -3 7: -3 -6: -64 0: -2 7: -2 -6: -64 0: -5 7: 5 7: 5 3: 4 7: -64 0: -5 -6: 0 -6:-64 -64 1030: -7 7: 0 7: -6 -6: -64 0: 0 5: 5 -6: -64 0: 0 7: 6 -6: -64 0: -5 -5: 4 -5: -64 0: -6 -6: 6 -6:-64 -64 1031: -8 7: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: 1 3: 1 -1: -64 0: -6 7: 4 7: 4 3: 3 7: -64 0: -3 1: 1 1: -64 0: -6 -6: 4 -6: 4 -2: 3 -6:-64 -64 1032: -6 7: 4 7: -4 -6: -64 0: 5 7: -3 -6: -64 0: -3 7: -4 3: -4 7: 5 7: -64 0: -4 -6: 5 -6: 5 -2: 4 -6:-64 -64 1033: -8 9: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: 4 7: 4 -6: -64 0: 5 7: 5 -6: -64 0: -6 7: -1 7: -64 0: 2 7: 7 7: -64 0: -3 1: 4 1: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1034: -7 8: -1 7: -3 6: -4 5: -5 2: -5 -1: -4 -4: -3 -5: -1 -6: 2 -6: 4 -5: 5 -4: 6 -1: 6 2: 5 5: 4 6: 2 7: -1 7: -64 0: -1 7: -3 5: -4 2: -4 -1: -3 -4: -1 -6: -64 0: 2 -6: 4 -4: 5 -1: 5 2: 4 5: 2 7: -64 0: -1 3: -1 -2: -64 0: 2 3: 2 -2: -64 0: -1 1: 2 1: -64 0: -1 0: 2 0:-64 -64 1035: -4 5: 0 7: 0 -6: -64 0: 1 7: 1 -6: -64 0: -2 7: 3 7: -64 0: -2 -6: 3 -6:-64 -64 1036: -8 8: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: 5 7: -3 -1: -64 0: -1 1: 4 -6: -64 0: 0 1: 5 -6: -64 0: -6 7: -1 7: -64 0: 2 7: 7 7: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1037: -7 7: 0 7: -5 -6: -64 0: 0 4: 4 -6: -64 0: 0 7: 5 -6: -64 0: -7 -6: -2 -6: -64 0: 2 -6: 7 -6:-64 -64 1038: -9 10: -5 7: -5 -6: -64 0: -4 4: 0 -6: -64 0: -4 7: 0 -3: -64 0: 5 7: 0 -6: -64 0: 5 7: 5 -6: -64 0: 6 7: 6 -6: -64 0: -7 7: -4 7: -64 0: 5 7: 8 7: -64 0: -7 -6: -3 -6: -64 0: 3 -6: 8 -6:-64 -64 1039: -8 8: -4 7: -4 -6: -64 0: -3 5: 4 -6: -64 0: -3 7: 4 -4: -64 0: 4 7: 4 -6: -64 0: -6 7: -3 7: -64 0: 2 7: 6 7: -64 0: -6 -6: -2 -6:-64 -64 1040: -8 8: -5 8: -6 5: -64 0: 6 8: 5 5: -64 0: -2 2: -3 -1: -64 0: 3 2: 2 -1: -64 0: -5 -4: -6 -7: -64 0: 6 -4: 5 -7: -64 0: -5 7: 5 7: -64 0: -5 6: 5 6: -64 0: -2 1: 2 1: -64 0: -2 0: 2 0: -64 0: -5 -5: 5 -5: -64 0: -5 -6: 5 -6:-64 -64 1041: -7 8: -1 7: -3 6: -4 5: -5 2: -5 -1: -4 -4: -3 -5: -1 -6: 2 -6: 4 -5: 5 -4: 6 -1: 6 2: 5 5: 4 6: 2 7: -1 7: -64 0: -1 7: -3 5: -4 2: -4 -1: -3 -4: -1 -6: -64 0: 2 -6: 4 -4: 5 -1: 5 2: 4 5: 2 7:-64 -64 1042: -8 9: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: 4 7: 4 -6: -64 0: 5 7: 5 -6: -64 0: -6 7: 7 7: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1043: -8 7: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: -6 7: 1 7: 4 6: 5 4: 5 3: 4 1: 1 0: -3 0: -64 0: 1 7: 3 6: 4 4: 4 3: 3 1: 1 0: -64 0: -6 -6: -1 -6:-64 -64 1044: -7 9: -5 7: 0 1: -64 0: -4 7: 1 1: -5 -6: -64 0: -5 7: 5 7: 6 3: 4 7: -64 0: -4 -5: 5 -5: -64 0: -5 -6: 5 -6: 6 -2: 4 -6:-64 -64 1045: -7 8: 0 7: 0 -6: -64 0: 1 7: 1 -6: -64 0: -4 7: -5 3: -5 7: 6 7: 6 3: 5 7: -64 0: -2 -6: 3 -6:-64 -64 1046: -7 8: -5 3: -4 6: -3 7: -2 7: -1 6: 0 3: 0 -6: -64 0: 6 3: 5 6: 4 7: 3 7: 2 6: 1 3: 1 -6: -64 0: -5 3: -4 5: -3 6: -2 6: -1 5: 0 3: -64 0: 6 3: 5 5: 4 6: 3 6: 2 5: 1 3: -64 0: -2 -6: 3 -6:-64 -64 1047: -7 8: 0 7: 0 -6: -64 0: 1 7: 1 -6: -64 0: -1 4: -4 3: -5 1: -5 0: -4 -2: -1 -3: 2 -3: 5 -2: 6 0: 6 1: 5 3: 2 4: -1 4: -64 0: -1 4: -3 3: -4 1: -4 0: -3 -2: -1 -3: -64 0: 2 -3: 4 -2: 5 0: 5 1: 4 3: 2 4: -64 0: -2 7: 3 7: -64 0: -2 -6: 3 -6:-64 -64 1048: -7 8: -4 7: 4 -6: -64 0: -3 7: 5 -6: -64 0: 5 7: -4 -6: -64 0: -6 7: -1 7: -64 0: 2 7: 7 7: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1049: -8 9: 0 7: 0 -6: -64 0: 1 7: 1 -6: -64 0: -6 2: -5 3: -4 3: -3 -1: -1 -3: -64 0: 2 -3: 4 -1: 5 3: 6 3: 7 2: -64 0: -5 3: -4 0: -3 -2: -1 -3: 2 -3: 4 -2: 5 0: 6 3: -64 0: -2 7: 3 7: -64 0: -2 -6: 3 -6:-64 -64 1050: -7 8: -5 -4: -4 -6: -1 -6: -5 0: -5 3: -4 5: -3 6: -1 7: 2 7: 4 6: 5 5: 6 3: 6 0: 2 -6: 5 -6: 6 -4: -64 0: -3 -3: -4 0: -4 3: -3 5: -1 7: -64 0: 2 7: 4 5: 5 3: 5 0: 4 -3: -64 0: -4 -5: -2 -5: -64 0: 3 -5: 5 -5:-64 -64 1051: -7 7: 2 7: -7 -6: -64 0: 1 5: 2 -6: -64 0: 2 7: 3 -6: -64 0: -4 -2: 2 -2: -64 0: -9 -6: -4 -6: -64 0: 0 -6: 5 -6:-64 -64 1052: -8 7: -2 7: -6 -6: -64 0: -1 7: -5 -6: -64 0: -4 7: 3 7: 5 6: 5 4: 4 2: 1 1: -64 0: 3 7: 4 6: 4 4: 3 2: 1 1: -64 0: -3 1: 0 1: 2 0: 3 -1: 3 -3: 2 -5: -1 -6: -8 -6: -64 0: 0 1: 2 -1: 2 -3: 1 -5: -1 -6:-64 -64 1053: -7 6: 4 6: 5 6: 6 7: 5 4: 4 6: 2 7: 0 7: -2 6: -3 5: -4 3: -5 0: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -3: -64 0: 0 7: -2 5: -3 3: -4 0: -4 -4: -2 -6:-64 -64 1054: -8 7: -2 7: -6 -6: -64 0: -1 7: -5 -6: -64 0: -4 7: 2 7: 4 6: 5 4: 5 1: 4 -2: 3 -4: 2 -5: -1 -6: -8 -6: -64 0: 2 7: 3 6: 4 4: 4 1: 3 -2: 2 -4: 1 -5: -1 -6:-64 -64 1055: -8 7: -2 7: -6 -6: -64 0: -1 7: -5 -6: -64 0: 1 3: 0 -1: -64 0: -4 7: 6 7: 5 4: 5 7: -64 0: -3 1: 0 1: -64 0: -8 -6: 2 -6: 3 -3: 1 -6:-64 -64 1056: -8 6: -2 7: -6 -6: -64 0: -1 7: -5 -6: -64 0: 1 3: 0 -1: -64 0: -4 7: 6 7: 5 4: 5 7: -64 0: -3 1: 0 1: -64 0: -8 -6: -3 -6:-64 -64 1057: -7 7: 4 6: 5 6: 6 7: 5 4: 4 6: 2 7: 0 7: -2 6: -3 5: -4 3: -5 0: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -4: 4 -1: -64 0: 0 7: -2 5: -3 3: -4 0: -4 -4: -2 -6: -64 0: 0 -6: 2 -4: 3 -1: -64 0: 1 -1: 6 -1:-64 -64 1058: -8 9: -2 7: -6 -6: -64 0: -1 7: -5 -6: -64 0: 6 7: 2 -6: -64 0: 7 7: 3 -6: -64 0: -4 7: 1 7: -64 0: 4 7: 9 7: -64 0: -3 1: 4 1: -64 0: -8 -6: -3 -6: -64 0: 0 -6: 5 -6:-64 -64 1059: -4 5: 2 7: -2 -6: -64 0: 3 7: -1 -6: -64 0: 0 7: 5 7: -64 0: -4 -6: 1 -6:-64 -64 1060: -6 6: 3 7: 0 -3: -1 -5: -2 -6: -64 0: 4 7: 1 -3: 0 -5: -2 -6: -3 -6: -5 -5: -6 -3: -5 -2: -4 -3: -5 -4: -64 0: 1 7: 6 7:-64 -64 1061: -8 8: -2 7: -6 -6: -64 0: -1 7: -5 -6: -64 0: 7 7: -3 0: -64 0: 0 2: 2 -6: -64 0: 1 2: 3 -6: -64 0: -4 7: 1 7: -64 0: 4 7: 9 7: -64 0: -8 -6: -3 -6: -64 0: 0 -6: 5 -6:-64 -64 1062: -7 6: -1 7: -5 -6: -64 0: 0 7: -4 -6: -64 0: -3 7: 2 7: -64 0: -7 -6: 3 -6: 4 -3: 2 -6:-64 -64 1063: -9 10: -3 7: -7 -6: -64 0: -3 5: -2 -6: -64 0: -2 7: -1 -4: -64 0: 7 7: -2 -6: -64 0: 7 7: 3 -6: -64 0: 8 7: 4 -6: -64 0: -5 7: -2 7: -64 0: 7 7: 10 7: -64 0: -9 -6: -5 -6: -64 0: 1 -6: 6 -6:-64 -64 1064: -8 8: -2 7: -6 -6: -64 0: -2 7: 2 -6: -64 0: -1 7: 2 -3: -64 0: 6 7: 2 -6: -64 0: -4 7: -1 7: -64 0: 4 7: 8 7: -64 0: -8 -6: -4 -6:-64 -64 1065: -7 7: 0 7: -2 6: -3 5: -4 3: -5 0: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -4: 4 -2: 5 1: 5 4: 4 6: 2 7: 0 7: -64 0: 0 7: -2 5: -3 3: -4 0: -4 -4: -2 -6: -64 0: 0 -6: 2 -4: 3 -2: 4 1: 4 5: 2 7:-64 -64 1066: -8 7: -2 7: -6 -6: -64 0: -1 7: -5 -6: -64 0: -4 7: 3 7: 5 6: 6 5: 6 3: 5 1: 2 0: -3 0: -64 0: 3 7: 5 5: 5 3: 4 1: 2 0: -64 0: -8 -6: -3 -6:-64 -64 1067: -7 7: 0 7: -2 6: -3 5: -4 3: -5 0: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -4: 4 -2: 5 1: 5 4: 4 6: 2 7: 0 7: -64 0: 0 7: -2 5: -3 3: -4 0: -4 -4: -2 -6: -64 0: 0 -6: 2 -4: 3 -2: 4 1: 4 5: 2 7: -64 0: -3 -5: -3 -4: -2 -3: -1 -3: 0 -4: 0 -8: 1 -9: 2 -9: 3 -8: -64 0: 0 -4: 1 -8: 2 -9:-64 -64 1068: -8 8: -2 7: -6 -6: -64 0: -1 7: -5 -6: -64 0: -4 7: 3 7: 5 6: 6 5: 6 3: 5 1: 2 0: -3 0: -64 0: 3 7: 5 5: 5 3: 4 1: 2 0: -64 0: 1 0: 2 -5: 3 -6: 4 -6: 5 -5: -64 0: 1 0: 2 -1: 3 -5: 4 -6: -64 0: -8 -6: -3 -6:-64 -64 1069: -7 8: 5 6: 6 6: 7 7: 6 4: 5 6: 3 7: 0 7: -2 6: -3 5: -3 3: -2 2: 3 -1: 4 -2: -64 0: -3 4: -2 3: 3 0: 4 -1: 4 -4: 3 -5: 1 -6: -2 -6: -4 -5: -5 -3: -6 -6: -5 -5: -4 -5:-64 -64 1070: -7 8: 2 7: -2 -6: -64 0: 3 7: -1 -6: -64 0: -2 7: -4 4: -3 7: 8 7: 7 4: 7 7: -64 0: -4 -6: 1 -6:-64 -64 1071: -8 9: -2 7: -5 -3: -5 -5: -3 -6: 1 -6: 3 -5: 4 -3: 7 7: -64 0: -1 7: -4 -3: -4 -5: -3 -6: -64 0: -4 7: 1 7: -64 0: 5 7: 9 7:-64 -64 1072: -7 7: -3 7: -2 -6: -64 0: -2 7: -1 -4: -64 0: 7 7: -2 -6: -64 0: -5 7: 0 7: -64 0: 4 7: 9 7:-64 -64 1073: -9 9: -4 7: -5 -6: -64 0: -3 7: -4 -4: -64 0: 2 7: -5 -6: -64 0: 2 7: 1 -6: -64 0: 3 7: 2 -4: -64 0: 8 7: 1 -6: -64 0: -6 7: -1 7: -64 0: 6 7: 10 7:-64 -64 1074: -7 8: -2 7: 2 -6: -64 0: -1 7: 3 -6: -64 0: 7 7: -6 -6: -64 0: -4 7: 1 7: -64 0: 4 7: 9 7: -64 0: -8 -6: -3 -6: -64 0: 0 -6: 5 -6:-64 -64 1075: -6 7: -2 7: 0 1: -2 -6: -64 0: -1 7: 1 1: -64 0: 7 7: 1 1: -1 -6: -64 0: -4 7: 1 7: -64 0: 4 7: 9 7: -64 0: -4 -6: 1 -6:-64 -64 1076: -6 7: 6 7: -6 -6: -64 0: 7 7: -5 -6: -64 0: -1 7: -3 4: -2 7: 7 7: -64 0: -6 -6: 3 -6: 4 -3: 2 -6:-64 -64 1101: -6 8: -1 3: -2 2: -2 1: -3 1: -3 2: -1 3: 2 3: 4 1: 4 -5: 5 -6: 6 -6: -64 0: 2 3: 3 1: 3 -5: 5 -6: -64 0: 3 0: 0 -1: -2 -2: -3 -3: -3 -5: -2 -6: 1 -6: 2 -5: 3 -3: -64 0: 0 -1: -2 -3: -2 -5: -1 -6:-64 -64 1102: -8 7: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: -3 0: -2 2: 0 3: 2 3: 4 2: 5 0: 5 -3: 4 -5: 2 -6: 0 -6: -2 -5: -3 -3: -64 0: 2 3: 3 2: 4 0: 4 -3: 3 -5: 2 -6: -64 0: -6 7: -3 7:-64 -64 1103: -6 6: 4 1: 3 1: 3 0: 4 0: 4 1: 3 2: 1 3: -1 3: -3 2: -4 0: -4 -3: -3 -5: -1 -6: 1 -6: 3 -5: 4 -4: -64 0: -1 3: -2 2: -3 0: -3 -3: -2 -5: -1 -6:-64 -64 1104: -6 9: 4 7: 4 -6: -64 0: 5 7: 5 -6: -64 0: 4 0: 3 2: 1 3: -1 3: -3 2: -4 0: -4 -3: -3 -5: -1 -6: 1 -6: 3 -5: 4 -3: -64 0: -1 3: -2 2: -3 0: -3 -3: -2 -5: -1 -6: -64 0: 2 7: 5 7: -64 0: 4 -6: 7 -6:-64 -64 1105: -6 6: -3 -1: 4 -1: 4 0: 3 2: 1 3: -1 3: -3 2: -4 0: -4 -3: -3 -5: -1 -6: 1 -6: 3 -5: 4 -4: -64 0: 3 -1: 3 1: 1 3: -64 0: -1 3: -2 2: -3 0: -3 -3: -2 -5: -1 -6:-64 -64 1106: -6 5: 2 7: 3 6: 3 5: 4 5: 4 6: 2 7: 0 7: -2 5: -2 -6: -64 0: 0 7: -1 5: -1 -6: -64 0: -4 3: 1 3: -64 0: -4 -6: 1 -6:-64 -64 1107: -6 7: -1 3: -3 1: -3 -1: -1 -3: 1 -3: 3 -1: 3 1: 1 3: -1 3: -64 0: -1 3: -2 1: -2 -1: -1 -3: -64 0: 1 -3: 2 -1: 2 1: 1 3: -64 0: 2 2: 3 3: 4 3: -64 0: -2 -2: -3 -3: -3 -6: -2 -7: 2 -7: 4 -8: -64 0: -3 -5: -2 -6: 2 -6: 4 -7: 4 -9: 2 -10: -2 -10: -4 -9: -4 -7: -2 -6:-64 -64 1108: -8 9: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: -3 0: -2 2: 0 3: 2 3: 4 2: 5 0: 5 -6: -64 0: 2 3: 3 2: 4 0: 4 -6: -64 0: -6 7: -3 7: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1109: -4 5: 0 7: 0 6: 1 6: 1 7: 0 7: -64 0: 0 3: 0 -6: -64 0: 1 3: 1 -6: -64 0: -2 3: 1 3: -64 0: -2 -6: 3 -6:-64 -64 1110: -4 5: 1 7: 1 6: 2 6: 2 7: 1 7: -64 0: 1 3: 1 -8: 0 -10: -64 0: 2 3: 2 -8: 0 -10: -2 -10: -3 -9: -3 -8: -2 -8: -2 -9: -3 -9: -64 0: -1 3: 2 3:-64 -64 1111: -8 8: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: 5 3: -3 -3: -64 0: 0 -1: 4 -6: -64 0: 1 -1: 5 -6: -64 0: -6 7: -3 7: -64 0: 2 3: 7 3: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1112: -4 5: 0 7: 0 -6: -64 0: 1 7: 1 -6: -64 0: -2 7: 1 7: -64 0: -2 -6: 3 -6:-64 -64 1113: -12 13: -8 3: -8 -6: -64 0: -7 3: -7 -6: -64 0: -7 0: -6 2: -4 3: -2 3: 0 2: 1 0: 1 -6: -64 0: -2 3: -1 2: 0 0: 0 -6: -64 0: 1 0: 2 2: 4 3: 6 3: 8 2: 9 0: 9 -6: -64 0: 6 3: 7 2: 8 0: 8 -6: -64 0: -10 3: -7 3: -64 0: -10 -6: -5 -6: -64 0: -2 -6: 3 -6: -64 0: 6 -6: 11 -6:-64 -64 1114: -8 9: -4 3: -4 -6: -64 0: -3 3: -3 -6: -64 0: -3 0: -2 2: 0 3: 2 3: 4 2: 5 0: 5 -6: -64 0: 2 3: 3 2: 4 0: 4 -6: -64 0: -6 3: -3 3: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1115: -6 7: -1 3: -3 2: -4 0: -4 -3: -3 -5: -1 -6: 2 -6: 4 -5: 5 -3: 5 0: 4 2: 2 3: -1 3: -64 0: -1 3: -2 2: -3 0: -3 -3: -2 -5: -1 -6: -64 0: 2 -6: 3 -5: 4 -3: 4 0: 3 2: 2 3:-64 -64 1116: -8 7: -4 3: -4 -10: -64 0: -3 3: -3 -10: -64 0: -3 0: -2 2: 0 3: 2 3: 4 2: 5 0: 5 -3: 4 -5: 2 -6: 0 -6: -2 -5: -3 -3: -64 0: 2 3: 3 2: 4 0: 4 -3: 3 -5: 2 -6: -64 0: -6 3: -3 3: -64 0: -6 -10: -1 -10:-64 -64 1117: -7 7: 3 3: 3 -10: -64 0: 4 3: 4 -10: -64 0: 3 0: 2 2: 0 3: -2 3: -4 2: -5 0: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -3: -64 0: -2 3: -3 2: -4 0: -4 -3: -3 -5: -2 -6: -64 0: 1 -10: 6 -10:-64 -64 1118: -7 6: -3 3: -3 -6: -64 0: -2 3: -2 -6: -64 0: -2 0: -1 2: 1 3: 3 3: 4 2: 4 1: 3 1: 3 2: 4 2: -64 0: -5 3: -2 3: -64 0: -5 -6: 0 -6:-64 -64 1119: -6 7: 2 3: 3 2: 3 1: 4 1: 4 2: 2 3: -1 3: -3 2: -3 0: -1 -1: 2 -2: 4 -3: -64 0: -3 1: -1 0: 2 -1: 4 -2: 4 -5: 2 -6: -1 -6: -3 -5: -3 -4: -2 -4: -2 -5: -1 -6:-64 -64 1120: -6 5: -2 7: -2 -4: 0 -6: 2 -6: 3 -5: 3 -4: -64 0: -1 7: -1 -4: 0 -6: -64 0: -4 3: 2 3:-64 -64 1121: -8 9: -4 3: -4 -3: -3 -5: -1 -6: 1 -6: 3 -5: 4 -3: -64 0: -3 3: -3 -3: -2 -5: -1 -6: -64 0: 4 3: 4 -6: -64 0: 5 3: 5 -6: -64 0: -6 3: -3 3: -64 0: 2 3: 5 3: -64 0: 4 -6: 7 -6:-64 -64 1122: -7 7: -4 3: 0 -6: -64 0: -3 3: 0 -4: -64 0: 4 3: 0 -6: -64 0: -6 3: -1 3: -64 0: 2 3: 6 3:-64 -64 1123: -9 9: -6 3: -3 -6: -64 0: -5 3: -3 -3: -64 0: 0 3: -3 -6: -64 0: 0 3: 3 -6: -64 0: 1 3: 3 -3: -64 0: 6 3: 3 -6: -64 0: -8 3: -3 3: -64 0: 4 3: 8 3:-64 -64 1124: -7 7: -4 3: 3 -6: -64 0: -3 3: 4 -6: -64 0: 4 3: -4 -6: -64 0: -6 3: -1 3: -64 0: 2 3: 6 3: -64 0: -6 -6: -2 -6: -64 0: 1 -6: 6 -6:-64 -64 1125: -7 7: -4 3: 0 -6: -64 0: -3 3: 0 -4: -64 0: 4 3: 0 -6: -2 -9: -4 -10: -5 -10: -6 -9: -6 -8: -5 -8: -5 -9: -6 -9: -64 0: -6 3: -1 3: -64 0: 2 3: 6 3:-64 -64 1126: -6 6: 3 3: -4 -6: -64 0: 4 3: -3 -6: -64 0: -3 3: -4 1: -4 3: 4 3: -64 0: -4 -6: 4 -6: 4 -4: 3 -6:-64 -64 1127: -7 9: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: -1 -6: 1 -5: 3 -3: 5 0: 6 3: -64 0: -1 3: -3 1: -4 -1: -4 -3: -3 -5: -2 -6: -64 0: -1 3: 1 3: 3 2: 5 -5: 6 -6: -64 0: 1 3: 2 2: 4 -5: 6 -6: 7 -6:-64 -64 1128: -7 6: 0 7: -2 5: -3 3: -5 -3: -7 -10: -64 0: -1 6: -2 4: -4 -2: -6 -10: -64 0: 0 7: 2 7: 4 6: 4 4: 3 2: 0 1: -64 0: 2 7: 3 6: 3 4: 2 2: 0 1: -64 0: 0 1: 2 0: 3 -2: 3 -4: 2 -5: 0 -6: -1 -6: -3 -5: -4 -2: -64 0: 0 1: 1 0: 2 -2: 2 -4: 0 -6:-64 -64 1129: -7 7: -6 1: -4 3: -2 3: 0 2: 1 -1: 1 -6: 0 -10: -64 0: -6 1: -4 2: -2 2: 0 1: 1 -1: -64 0: 5 3: 4 0: 1 -6: -1 -10:-64 -64 1130: -7 7: 1 3: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -4: 4 -2: 4 0: 3 2: 0 4: -1 6: -1 7: 0 8: 2 8: 3 7: 4 5: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6: -64 0: 0 -6: 2 -4: 3 -2: 3 1: 1 3: -64 0: -1 6: 0 7: 2 7: 4 5:-64 -64 1131: -6 6: 4 2: 2 3: -1 3: -3 2: -3 1: -2 0: 0 -1: -64 0: -1 3: -2 2: -2 1: 0 -1: -64 0: 0 -1: -3 -2: -4 -3: -4 -5: -2 -6: 1 -6: 3 -5: -64 0: 0 -1: -2 -2: -3 -3: -3 -5: -2 -6:-64 -64 1132: -6 5: 0 7: -1 6: -1 5: 1 4: 4 4: 4 5: 1 4: -2 3: -3 2: -4 0: -4 -2: -3 -4: -2 -5: 0 -6: 1 -7: 1 -9: 0 -10: -2 -10: -3 -9: -64 0: 1 4: -1 3: -2 2: -3 0: -3 -2: -2 -4: 0 -6:-64 -64 1133: -9 7: -8 0: -7 2: -6 3: -4 3: -3 2: -3 1: -5 -6: -64 0: -5 3: -4 2: -4 1: -6 -6: -64 0: -3 1: -2 2: 0 3: 2 3: 4 2: 4 0: 1 -10: -64 0: 2 3: 3 2: 3 0: 0 -10:-64 -64 1134: -9 7: -8 -1: -7 1: -6 2: -4 2: -3 1: -3 -4: -2 -6: -64 0: -5 2: -4 1: -4 -3: -3 -5: -2 -6: -1 -6: 1 -5: 2 -4: 3 -2: 4 1: 4 4: 3 6: 2 7: 0 7: -1 6: -1 4: 0 2: 3 0: 5 -1: -64 0: -1 -6: 1 -4: 2 -2: 3 1: 3 4: 2 7:-64 -64 1135: -4 5: 0 3: -2 -4: -2 -5: -1 -6: 1 -6: 3 -5: 4 -3: -64 0: 1 3: -1 -4: -1 -5: 0 -6:-64 -64 1136: -7 7: -3 3: -6 -6: -64 0: -2 3: -5 -6: -64 0: 3 3: 4 2: 5 2: 4 3: 2 3: 0 1: -3 0: -64 0: -3 0: -2 -1: 0 -5: 2 -6: 4 -5: 5 -3: -64 0: -3 0: -1 -1: 1 -5: 2 -6:-64 -64 1137: -6 6: -6 7: -4 7: -2 6: 5 -6: -64 0: -4 7: -3 6: 4 -6: -64 0: 0 2: -5 -6: -64 0: 0 2: -4 -6:-64 -64 1138: -7 8: -3 3: -7 -10: -64 0: -2 3: -6 -10: -64 0: -4 -3: -4 -5: -3 -6: -1 -6: 1 -5: 2 -4: -64 0: 4 3: 2 -4: 2 -5: 3 -6: 5 -6: 6 -5: 7 -3: -64 0: 5 3: 3 -4: 3 -5: 4 -6:-64 -64 1139: -8 7: -4 3: -5 -6: -64 0: -3 3: -4 -3: -5 -6: -64 0: 4 0: 4 3: 5 3: 4 0: 2 -3: -1 -5: -4 -6: -5 -6: -64 0: -6 3: -3 3:-64 -64 1140: -5 6: 0 7: -1 6: -1 5: 1 4: 4 4: -64 0: 2 4: -1 3: -2 2: -2 0: 0 -1: 3 -1: -64 0: 2 4: 0 3: -1 2: -1 0: 0 -1: -64 0: 1 -1: -2 -2: -3 -3: -3 -5: -1 -6: 1 -7: 2 -8: 2 -9: 1 -10: -1 -10: -64 0: 1 -1: -1 -2: -2 -3: -2 -5: -1 -6:-64 -64 1141: -7 6: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -4: 4 -2: 4 0: 3 2: 1 3: -1 3: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6: -64 0: 0 -6: 2 -4: 3 -2: 3 1: 1 3:-64 -64 1142: -9 8: -2 2: -5 -6: -64 0: -2 2: -4 -6: -64 0: 2 2: 1 -6: -64 0: 2 2: 2 -6: -64 0: -7 1: -5 3: 6 3: -64 0: -7 1: -5 2: 6 2:-64 -64 1143: -8 6: 1 3: -1 3: -3 2: -4 1: -5 -1: -8 -10: -64 0: -1 3: -3 1: -4 -1: -7 -10: -64 0: 1 3: 3 2: 4 0: 4 -2: 3 -4: 2 -5: 0 -6: -2 -6: -4 -5: -5 -3: -64 0: 1 3: 3 1: 3 -2: 2 -4: 0 -6:-64 -64 1144: -7 9: 7 3: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -4: 4 -2: 4 0: 3 2: 7 2: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6: -64 0: 0 -6: 2 -4: 3 -2: 3 1: 1 3:-64 -64 1145: -7 8: 1 2: -1 -6: -64 0: 1 2: 0 -6: -64 0: -5 1: -3 3: 6 3: -64 0: -5 1: -3 2: 6 2:-64 -64 1146: -8 6: -7 0: -6 2: -5 3: -3 3: -2 2: -2 0: -3 -3: -3 -5: -2 -6: -64 0: -4 3: -3 2: -3 0: -4 -3: -4 -5: -2 -6: -1 -6: 1 -5: 3 -3: 4 0: 4 3: 3 3: 4 2:-64 -64 1147: -7 8: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 3 -5: 5 -3: 6 0: 6 2: 5 3: 3 3: 2 2: 1 0: 0 -3: -3 -10: -64 0: -5 -3: -4 -4: -2 -5: 0 -5: 3 -4: 5 -2: 6 0: -64 0: 6 1: 5 2: 3 2: 1 0: -64 0: 0 -3: -1 -6: -2 -10:-64 -64 1148: -7 6: -5 3: -4 3: -2 2: 1 -9: 2 -10: -64 0: -4 3: -3 2: 0 -9: 2 -10: 3 -10: -64 0: 4 3: 2 0: -4 -7: -6 -10:-64 -64 1149: -9 9: 2 7: -1 -10: -64 0: 3 7: -2 -10: -64 0: -8 0: -7 2: -6 3: -4 3: -3 2: -3 -4: -2 -5: 1 -5: 3 -4: 5 -2: -64 0: -5 3: -4 2: -4 -2: -3 -5: -2 -6: 1 -6: 3 -5: 5 -2: 6 0: 7 3:-64 -64 1150: -8 8: -4 2: -2 2: -2 3: -4 2: -5 1: -6 -1: -6 -3: -5 -5: -4 -6: -2 -6: -1 -5: 0 -3: 1 0: -64 0: -6 -3: -4 -5: -2 -5: 0 -3: -64 0: 0 0: 0 -5: 1 -6: 3 -6: 5 -4: 6 -2: 6 0: 5 2: 4 3: 4 2: 5 2: -64 0: 0 -3: 1 -5: 3 -5: 5 -4:-64 -64 1151: -7 8: 4 3: 2 -4: 2 -5: 3 -6: 5 -6: 6 -5: 7 -3: -64 0: 5 3: 3 -4: 3 -5: 4 -6: -64 0: 3 -1: 3 1: 1 3: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -4: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6:-64 -64 1152: -8 6: -3 7: -5 0: -64 0: -2 7: -4 0: -4 -4: -2 -6: -64 0: -4 0: -3 2: -1 3: 1 3: 3 2: 4 0: 4 -2: 3 -4: 2 -5: 0 -6: -2 -6: -4 -5: -5 -3: -5 0: -64 0: 1 3: 3 1: 3 -2: 2 -4: 0 -6: -64 0: -5 7: -2 7:-64 -64 1153: -7 6: 3 2: 3 1: 4 1: 3 2: 1 3: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -4: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6:-64 -64 1154: -7 8: 5 7: 2 -4: 2 -5: 3 -6: 5 -6: 6 -5: 7 -3: -64 0: 6 7: 3 -4: 3 -5: 4 -6: -64 0: 3 -1: 3 1: 1 3: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -4: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6: -64 0: 3 7: 6 7:-64 -64 1155: -7 5: -4 -3: 0 -2: 2 -1: 3 0: 3 2: 1 3: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -4: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6:-64 -64 1156: -5 6: 5 7: 6 6: 6 7: 4 7: 2 6: 1 4: -2 -7: -3 -9: -4 -10: -64 0: 4 7: 3 6: 2 4: -1 -7: -2 -9: -4 -10: -6 -10: -6 -9: -5 -10: -64 0: -2 3: 4 3:-64 -64 1157: -7 7: 4 3: 2 -4: 1 -7: 0 -9: -64 0: 5 3: 3 -4: 2 -7: 0 -9: -2 -10: -5 -10: -6 -9: -5 -9: -4 -10: -64 0: 3 -1: 3 1: 1 3: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -4: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6:-64 -64 1158: -7 8: -2 7: -6 -6: -64 0: -1 7: -5 -6: -64 0: -3 1: -2 2: 0 3: 2 3: 4 2: 4 0: 3 -3: 3 -5: 4 -6: -64 0: 2 3: 3 2: 3 0: 2 -3: 2 -5: 3 -6: 5 -6: 6 -5: 7 -3: -64 0: -4 7: -1 7:-64 -64 1159: -5 5: 1 7: 1 6: 2 6: 2 7: 1 7: -64 0: -4 0: -3 2: -2 3: 0 3: 1 2: 1 0: 0 -3: 0 -5: 1 -6: -64 0: -1 3: 0 2: 0 0: -1 -3: -1 -5: 0 -6: 2 -6: 3 -5: 4 -3:-64 -64 1160: -5 5: 2 7: 2 6: 3 6: 3 7: 2 7: -64 0: -3 0: -2 2: -1 3: 1 3: 2 2: 2 0: 0 -7: -1 -9: -3 -10: -5 -10: -5 -9: -4 -10: -64 0: 0 3: 1 2: 1 0: -1 -7: -2 -9: -3 -10:-64 -64 1161: -7 6: -2 7: -6 -6: -64 0: -1 7: -5 -6: -64 0: 4 2: 3 1: 4 1: 4 2: 3 3: 2 3: 0 1: -2 0: -3 0: -64 0: -3 0: -2 -1: -1 -5: 0 -6: 2 -6: 3 -5: 4 -3: -64 0: -3 0: -1 -1: 0 -5: 1 -6: -64 0: -4 7: -1 7:-64 -64 1162: -4 4: 1 7: -2 -4: -2 -5: -1 -6: 1 -6: 2 -5: 3 -3: -64 0: 2 7: -1 -4: -1 -5: 0 -6: -64 0: -1 7: 2 7:-64 -64 1163: -12 12: -11 0: -10 2: -9 3: -7 3: -6 2: -6 1: -8 -6: -64 0: -8 3: -7 2: -7 1: -9 -6: -64 0: -6 1: -5 2: -3 3: -1 3: 1 2: 1 1: -1 -6: -64 0: -1 3: 0 2: 0 1: -2 -6: -64 0: 1 1: 2 2: 4 3: 6 3: 8 2: 8 0: 7 -3: 7 -5: 8 -6: -64 0: 6 3: 7 2: 7 0: 6 -3: 6 -5: 7 -6: 9 -6: 10 -5: 11 -3:-64 -64 1164: -8 9: -7 0: -6 2: -5 3: -3 3: -2 2: -2 1: -4 -6: -64 0: -4 3: -3 2: -3 1: -5 -6: -64 0: -2 1: -1 2: 1 3: 3 3: 5 2: 5 0: 4 -3: 4 -5: 5 -6: -64 0: 3 3: 4 2: 4 0: 3 -3: 3 -5: 4 -6: 6 -6: 7 -5: 8 -3:-64 -64 1165: -7 6: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -4: 4 -2: 4 0: 3 2: 1 3: -1 3: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6: -64 0: 0 -6: 2 -4: 3 -2: 3 1: 1 3:-64 -64 1166: -8 7: -7 0: -6 2: -5 3: -3 3: -2 2: -2 1: -5 -10: -64 0: -4 3: -3 2: -3 1: -6 -10: -64 0: -2 1: 0 3: 2 3: 4 2: 5 0: 5 -2: 4 -4: 3 -5: 1 -6: -1 -6: -3 -4: -3 -2: -64 0: 2 3: 4 1: 4 -2: 3 -4: 1 -6: -64 0: -8 -10: -3 -10:-64 -64 1167: -7 7: 4 3: 0 -10: -64 0: 5 3: 1 -10: -64 0: 3 -1: 3 1: 1 3: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -4: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6: -64 0: -2 -10: 3 -10:-64 -64 1168: -6 6: -5 0: -4 2: -3 3: -1 3: 0 2: 0 1: -2 -6: -64 0: -2 3: -1 2: -1 1: -3 -6: -64 0: 0 1: 1 2: 3 3: 4 3: 5 2: 5 1: 4 1: 5 2:-64 -64 1169: -6 7: 4 2: 4 1: 5 1: 4 2: 2 3: -1 3: -3 2: -3 0: -1 -1: 2 -2: 4 -3: -64 0: -3 1: -1 0: 2 -1: 4 -2: 4 -5: 2 -6: -1 -6: -3 -5: -4 -4: -3 -4: -3 -5:-64 -64 1170: -4 5: 1 7: -2 -4: -2 -5: -1 -6: 1 -6: 2 -5: 3 -3: -64 0: 2 7: -1 -4: -1 -5: 0 -6: -64 0: -2 3: 3 3:-64 -64 1171: -9 8: -8 0: -7 2: -6 3: -4 3: -3 2: -3 0: -4 -3: -4 -5: -3 -6: -64 0: -5 3: -4 2: -4 0: -5 -3: -5 -5: -3 -6: -1 -6: 1 -5: 2 -4: -64 0: 4 3: 2 -4: 2 -5: 3 -6: 5 -6: 6 -5: 7 -3: -64 0: 5 3: 3 -4: 3 -5: 4 -6:-64 -64 1172: -8 6: -7 0: -6 2: -5 3: -3 3: -2 2: -2 0: -3 -3: -3 -5: -2 -6: -64 0: -4 3: -3 2: -3 0: -4 -3: -4 -5: -2 -6: -1 -6: 1 -5: 3 -3: 4 0: 4 3: 3 3: 4 2:-64 -64 1173: -10 10: -9 0: -8 2: -7 3: -5 3: -4 2: -4 0: -5 -3: -5 -5: -4 -6: -64 0: -6 3: -5 2: -5 0: -6 -3: -6 -5: -4 -6: -3 -6: -1 -5: 0 -4: -64 0: 2 3: 0 -4: 0 -5: 2 -6: -64 0: 3 3: 1 -4: 1 -5: 2 -6: 3 -6: 5 -5: 7 -3: 8 0: 8 3: 7 3: 8 2:-64 -64 1174: -8 8: -5 0: -4 2: -2 3: 0 3: 1 2: 1 0: -64 0: -1 3: 0 2: 0 0: -1 -3: -2 -5: -4 -6: -5 -6: -6 -5: -6 -4: -5 -4: -6 -5: -64 0: 6 2: 5 1: 6 1: 6 2: 5 3: 4 3: 2 2: 1 0: 0 -3: 0 -5: 1 -6: -64 0: -1 -3: -1 -5: 0 -6: 2 -6: 4 -5: 5 -3:-64 -64 1175: -9 7: -8 0: -7 2: -6 3: -4 3: -3 2: -3 0: -4 -3: -4 -5: -3 -6: -64 0: -5 3: -4 2: -4 0: -5 -3: -5 -5: -3 -6: -1 -6: 1 -5: 2 -4: -64 0: 4 3: 2 -4: 1 -7: 0 -9: -64 0: 5 3: 3 -4: 2 -7: 0 -9: -2 -10: -5 -10: -6 -9: -5 -9: -4 -10:-64 -64 1176: -7 7: 5 3: 5 2: 4 1: -4 -4: -5 -5: -5 -6: -64 0: -4 1: -3 3: 0 3: 3 1: -64 0: -3 2: 0 2: 3 1: 4 1: -64 0: -4 -4: -3 -4: 0 -5: 3 -5: -64 0: -3 -4: 0 -6: 3 -6: 4 -4:-64 -64 1177: -10 9: 0 7: 1 6: 1 5: 2 5: 2 6: 0 7: -3 7: -5 6: -6 4: -6 -6: -64 0: -3 7: -4 6: -5 4: -5 -6: -64 0: 6 7: 7 6: 7 5: 8 5: 8 6: 6 7: 4 7: 2 5: 2 -6: -64 0: 4 7: 3 5: 3 -6: -64 0: -8 3: 5 3: -64 0: -8 -6: -3 -6: -64 0: 0 -6: 5 -6:-64 -64 1178: -8 9: 3 7: 4 6: 5 6: 5 7: -1 7: -3 6: -4 4: -4 -6: -64 0: -1 7: -2 6: -3 4: -3 -6: -64 0: 4 3: 4 -6: -64 0: 5 3: 5 -6: -64 0: -6 3: 5 3: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1179: -8 9: 5 7: -1 7: -3 6: -4 4: -4 -6: -64 0: -1 7: -2 6: -3 4: -3 -6: -64 0: 3 7: 4 6: 4 -6: -64 0: 5 7: 5 -6: -64 0: -6 3: 4 3: -64 0: -6 -6: -1 -6: -64 0: 2 -6: 7 -6:-64 -64 1180: -12 13: -2 7: -1 6: -1 5: 0 5: 0 6: -2 7: -5 7: -7 6: -8 4: -8 -6: -64 0: -5 7: -6 6: -7 4: -7 -6: -64 0: 7 7: 8 6: 9 6: 9 7: 3 7: 1 6: 0 4: 0 -6: -64 0: 3 7: 2 6: 1 4: 1 -6: -64 0: 8 3: 8 -6: -64 0: 9 3: 9 -6: -64 0: -10 3: 9 3: -64 0: -10 -6: -5 -6: -64 0: -2 -6: 3 -6: -64 0: 6 -6: 11 -6:-64 -64 1181: -12 13: -2 7: -1 6: -1 5: 0 5: 0 6: -2 7: -5 7: -7 6: -8 4: -8 -6: -64 0: -5 7: -6 6: -7 4: -7 -6: -64 0: 9 7: 3 7: 1 6: 0 4: 0 -6: -64 0: 3 7: 2 6: 1 4: 1 -6: -64 0: 7 7: 8 6: 8 -6: -64 0: 9 7: 9 -6: -64 0: -10 3: 8 3: -64 0: -10 -6: -5 -6: -64 0: -2 -6: 3 -6: -64 0: 6 -6: 11 -6:-64 -64 1182: -4 5: 0 3: 0 -6: -64 0: 1 3: 1 -6: -64 0: -2 3: 1 3: -64 0: -2 -6: 3 -6:-64 -64 1184: -6 6: 4 2: 2 3: 0 3: -2 2: -3 1: -4 -1: -4 -3: -3 -5: -1 -6: 1 -6: 3 -5: -64 0: 0 3: -2 1: -3 -1: -3 -4: -1 -6: -64 0: -3 -1: 1 -1:-64 -64 1185: -6 7: 1 7: -1 6: -2 5: -3 3: -4 0: -4 -3: -3 -5: -2 -6: 0 -6: 2 -5: 3 -4: 4 -2: 5 1: 5 4: 4 6: 3 7: 1 7: -64 0: 1 7: -1 5: -2 3: -3 -1: -3 -4: -2 -6: -64 0: 0 -6: 2 -4: 3 -2: 4 2: 4 5: 3 7: -64 0: -3 1: 4 1:-64 -64 1186: -7 8: 2 7: -1 -10: -64 0: 3 7: -2 -10: -64 0: -1 3: -4 2: -5 0: -5 -3: -4 -5: -1 -6: 2 -6: 5 -5: 6 -3: 6 0: 5 2: 2 3: -1 3: -64 0: -1 3: -3 2: -4 0: -4 -3: -3 -5: -1 -6: -64 0: 2 -6: 4 -5: 5 -3: 5 0: 4 2: 2 3:-64 -64 1187: -6 6: 3 2: 4 0: 4 1: 3 2: 1 3: -1 3: -3 2: -4 0: -4 -2: -3 -4: 0 -6: -64 0: -1 3: -3 1: -3 -2: -2 -4: 0 -6: 1 -7: 1 -9: 0 -10: -2 -10:-64 -64 1191: -9 9: 4 7: 5 6: 6 6: 4 7: 1 7: -1 6: -2 5: -3 3: -6 -7: -7 -9: -8 -10: -64 0: 1 7: -1 5: -2 3: -5 -7: -6 -9: -8 -10: -10 -10: -10 -9: -9 -10: -64 0: 8 7: 9 6: 9 7: 7 7: 5 6: 4 4: 1 -7: 0 -9: -1 -10: -64 0: 7 7: 6 6: 5 4: 2 -7: 1 -9: -1 -10: -3 -10: -3 -9: -2 -10: -64 0: -6 3: 7 3:-64 -64 1192: -9 8: 4 7: 5 6: 6 6: 6 7: 1 7: -1 6: -2 5: -3 3: -6 -7: -7 -9: -8 -10: -64 0: 1 7: -1 5: -2 3: -5 -7: -6 -9: -8 -10: -10 -10: -10 -9: -9 -10: -64 0: 4 3: 2 -4: 2 -5: 3 -6: 5 -6: 6 -5: 7 -3: -64 0: 5 3: 3 -4: 3 -5: 4 -6: -64 0: -6 3: 5 3:-64 -64 1193: -9 8: 4 7: 5 6: -64 0: 6 7: 1 7: -1 6: -2 5: -3 3: -6 -7: -7 -9: -8 -10: -64 0: 1 7: -1 5: -2 3: -5 -7: -6 -9: -8 -10: -10 -10: -10 -9: -9 -10: -64 0: 5 7: 2 -4: 2 -5: 3 -6: 5 -6: 6 -5: 7 -3: -64 0: 6 7: 3 -4: 3 -5: 4 -6: -64 0: -6 3: 4 3:-64 -64 1194: -12 12: 1 7: 2 6: 2 5: -64 0: 3 6: 1 7: -2 7: -4 6: -5 5: -6 3: -9 -7: -10 -9: -11 -10: -64 0: -2 7: -4 5: -5 3: -8 -7: -9 -9: -11 -10: -13 -10: -13 -9: -12 -10: -64 0: 8 7: 9 6: 10 6: 10 7: 5 7: 3 6: -64 0: 2 5: 1 3: -2 -7: -3 -9: -4 -10: -64 0: 5 7: 3 5: 2 3: -1 -7: -2 -9: -4 -10: -6 -10: -6 -9: -5 -10: -64 0: 8 3: 6 -4: 6 -5: 7 -6: 9 -6: 10 -5: 11 -3: -64 0: 9 3: 7 -4: 7 -5: 8 -6: -64 0: -9 3: 9 3:-64 -64 1195: -12 12: 1 7: 2 6: 2 5: -64 0: 3 6: 1 7: -2 7: -4 6: -5 5: -6 3: -9 -7: -10 -9: -11 -10: -64 0: -2 7: -4 5: -5 3: -8 -7: -9 -9: -11 -10: -13 -10: -13 -9: -12 -10: -64 0: 8 7: 9 6: -64 0: 10 7: 5 7: 3 6: -64 0: 2 5: 1 3: -2 -7: -3 -9: -4 -10: -64 0: 5 7: 3 5: 2 3: -1 -7: -2 -9: -4 -10: -6 -10: -6 -9: -5 -10: -64 0: 9 7: 6 -4: 6 -5: 7 -6: 9 -6: 10 -5: 11 -3: -64 0: 10 7: 7 -4: 7 -5: 8 -6: -64 0: -9 3: 8 3:-64 -64 1196: -5 5: -4 0: -3 2: -2 3: 0 3: 1 2: 1 0: 0 -3: 0 -5: 1 -6: -64 0: -1 3: 0 2: 0 0: -1 -3: -1 -5: 0 -6: 2 -6: 3 -5: 4 -3:-64 -64 1197: 0 0:-64 -64 1198: -3 3:-64 -64 1199: -6 6:-64 -64 1200: -6 7: -1 7: -3 6: -4 3: -4 -2: -3 -5: -1 -6: 2 -6: 4 -5: 5 -2: 5 3: 4 6: 2 7: -1 7: -64 0: -1 7: -2 6: -3 3: -3 -2: -2 -5: -1 -6: -64 0: 2 -6: 3 -5: 4 -2: 4 3: 3 6: 2 7:-64 -64 1201: -6 7: -2 4: 1 7: 1 -6: -64 0: 0 6: 0 -6: -64 0: -3 -6: 4 -6:-64 -64 1202: -6 7: -3 5: -3 4: -4 4: -4 5: -3 6: -1 7: 2 7: 4 6: 5 4: 4 2: 2 1: -1 0: -3 -1: -4 -3: -4 -6: -64 0: 2 7: 3 6: 4 4: 3 2: 2 1: -64 0: -4 -5: -3 -4: -2 -4: 1 -5: 4 -5: 5 -4: -64 0: -2 -4: 1 -6: 4 -6: 5 -4: 5 -3:-64 -64 1203: -6 7: -3 5: -3 4: -4 4: -4 5: -3 6: -1 7: 2 7: 4 6: 5 4: 4 2: 2 1: -64 0: 2 7: 3 6: 4 4: 3 2: 2 1: -64 0: 0 1: 2 1: 4 0: 5 -2: 5 -3: 4 -5: 2 -6: -1 -6: -3 -5: -4 -4: -4 -3: -3 -3: -3 -4: -64 0: 2 1: 3 0: 4 -2: 4 -3: 3 -5: 2 -6:-64 -64 1204: -6 7: 1 5: 1 -6: -64 0: 2 7: 2 -6: -64 0: 2 7: -5 -2: 6 -2: -64 0: -1 -6: 4 -6:-64 -64 1205: -6 7: -3 7: -4 1: -64 0: -3 7: 4 7: -64 0: -3 6: 1 6: 4 7: -64 0: -4 1: -3 2: -1 3: 2 3: 4 2: 5 0: 5 -3: 4 -5: 2 -6: -1 -6: -3 -5: -4 -4: -4 -3: -3 -3: -3 -4: -64 0: 2 3: 3 2: 4 0: 4 -3: 3 -5: 2 -6:-64 -64 1206: -6 7: 4 5: 4 4: 5 4: 5 5: 4 6: 2 7: 0 7: -2 6: -3 5: -4 2: -4 -3: -3 -5: -1 -6: 2 -6: 4 -5: 5 -3: 5 -1: 4 1: 2 2: -1 2: -4 0: -64 0: 0 7: -2 5: -3 2: -3 -3: -2 -5: -1 -6: -64 0: 2 -6: 3 -5: 4 -3: 4 -1: 3 1: 2 2:-64 -64 1207: -6 7: -4 7: -4 3: -64 0: 4 5: 0 -2: -2 -6: -64 0: 5 7: 2 1: -1 -6: -64 0: -4 5: -2 7: 0 7: 3 5: -64 0: -4 5: -2 6: 0 6: 3 5: 4 5:-64 -64 1208: -6 7: -1 7: -3 6: -4 4: -3 2: -1 1: 2 1: 4 2: 5 4: 4 6: 2 7: -1 7: -64 0: -1 7: -2 6: -3 4: -2 2: -1 1: -64 0: 2 1: 3 2: 4 4: 3 6: 2 7: -64 0: -1 1: -3 0: -4 -2: -4 -3: -3 -5: -1 -6: 2 -6: 4 -5: 5 -3: 5 -2: 4 0: 2 1: -64 0: -1 1: -2 0: -3 -2: -3 -3: -2 -5: -1 -6: -64 0: 2 -6: 3 -5: 4 -3: 4 -2: 3 0: 2 1:-64 -64 1209: -6 7: -3 -4: -3 -3: -4 -3: -4 -4: -3 -5: -1 -6: 1 -6: 3 -5: 4 -4: 5 -1: 5 4: 4 6: 2 7: -1 7: -3 6: -4 4: -4 2: -3 0: -1 -1: 2 -1: 5 1: -64 0: 1 -6: 3 -4: 4 -1: 4 4: 3 6: 2 7: -64 0: -1 7: -2 6: -3 4: -3 2: -2 0: -1 -1:-64 -64 1210: -4 4: 0 -4: -1 -5: 0 -6: 1 -5: 0 -4:-64 -64 1211: -4 4: 1 -5: 0 -6: -1 -5: 0 -4: 1 -5: 1 -7: -1 -9:-64 -64 1212: -4 4: 0 3: -1 2: 0 1: 1 2: 0 3: -64 0: 0 -4: -1 -5: 0 -6: 1 -5: 0 -4:-64 -64 1213: -4 4: 0 3: -1 2: 0 1: 1 2: 0 3: -64 0: 1 -5: 0 -6: -1 -5: 0 -4: 1 -5: 1 -7: -1 -9:-64 -64 1214: -4 4: 0 7: -1 6: 0 -1: 1 6: 0 7: -64 0: 0 6: 0 3: -64 0: 0 -4: -1 -5: 0 -6: 1 -5: 0 -4:-64 -64 1215: -6 7: -4 4: -3 4: -3 3: -4 3: -4 4: -3 6: -1 7: 2 7: 4 6: 5 4: 5 3: 4 1: 1 0: 0 -1: 0 -2: 1 -2: -64 0: 2 7: 4 5: 4 2: 3 1: 1 0: -64 0: 0 -5: 0 -6: 1 -6: 1 -5: 0 -5:-64 -64 1216: -3 4: 0 7: 0 2: -64 0: 1 7: 0 2:-64 -64 1217: -6 6: -3 7: -3 2: -64 0: -2 7: -3 2: -64 0: 3 7: 3 2: -64 0: 4 7: 3 2:-64 -64 1218: -5 5: -1 7: -2 6: -2 4: -1 3: 1 3: 2 4: 2 6: 1 7: -1 7:-64 -64 1219: -5 5: 0 8: 0 2: -64 0: -3 7: 3 3: -64 0: 3 7: -3 3:-64 -64 1220: -7 8: 6 10: -5 -10:-64 -64 1221: -5 5: 3 10: 1 8: -1 5: -2 2: -2 -2: -1 -5: 1 -8: 3 -10: -64 0: 1 8: 0 6: -1 2: -1 -2: 0 -6: 1 -8:-64 -64 1222: -5 5: -3 10: -1 8: 1 5: 2 2: 2 -2: 1 -5: -1 -8: -3 -10: -64 0: -1 8: 0 6: 1 2: 1 -2: 0 -6: -1 -8:-64 -64 1223: -5 5: -2 10: -2 -10: -64 0: -1 10: -1 -10: -64 0: -2 10: 3 10: -64 0: -2 -10: 3 -10:-64 -64 1224: -5 5: 1 10: 1 -10: -64 0: 2 10: 2 -10: -64 0: -3 10: 2 10: -64 0: -3 -10: 2 -10:-64 -64 1225: -6 5: 1 10: -1 9: -2 8: -2 6: 0 4: 1 2: -64 0: -1 9: -2 6: -64 0: 1 4: 0 1: -64 0: -2 8: -1 6: 1 4: 1 2: 0 1: -2 0: 0 -1: 1 -2: 1 -4: -1 -6: -2 -8: -64 0: 0 -1: 1 -4: -64 0: -2 -6: -1 -9: -64 0: 1 -2: 0 -4: -2 -6: -2 -8: -1 -9: 1 -10:-64 -64 1226: -5 6: -1 10: 1 9: 2 8: 2 6: 0 4: -1 2: -64 0: 1 9: 2 6: -64 0: -1 4: 0 1: -64 0: 2 8: 1 6: -1 4: -1 2: 0 1: 2 0: 0 -1: -1 -2: -1 -4: 1 -6: 2 -8: -64 0: 0 -1: -1 -4: -64 0: 2 -6: 1 -9: -64 0: -1 -2: 0 -4: 2 -6: 2 -8: 1 -9: -1 -10:-64 -64 1227: -5 5: 2 10: -2 0: 2 -10:-64 -64 1228: -5 5: -2 10: 2 0: -2 -10:-64 -64 1229: -3 3: 0 10: 0 -10:-64 -64 1230: -5 5: -2 10: -2 -10: -64 0: 2 10: 2 -10:-64 -64 1231: -9 9: -6 0: 6 0:-64 -64 1232: -9 9: 0 6: 0 -6: -64 0: -6 0: 6 0:-64 -64 1233: -8 8: 0 5: 0 -6: -64 0: -5 0: 5 0: -64 0: -5 -6: 5 -6:-64 -64 1234: -8 8: 0 5: 0 -6: -64 0: -5 5: 5 5: -64 0: -5 0: 5 0:-64 -64 1235: -8 8: -5 5: 5 -5: -64 0: 5 5: -5 -5:-64 -64 1236: -4 4: 0 1: -1 0: 0 -1: 1 0: 0 1:-64 -64 1237: -9 9: 0 6: -1 5: 0 4: 1 5: 0 6: -64 0: -6 0: 6 0: -64 0: 0 -4: -1 -5: 0 -6: 1 -5: 0 -4:-64 -64 1238: -9 9: -6 2: 6 2: -64 0: -6 -2: 6 -2:-64 -64 1239: -9 9: 5 6: -5 -6: -64 0: -6 2: 6 2: -64 0: -6 -2: 6 -2:-64 -64 1240: -9 9: -6 4: 6 4: -64 0: -6 0: 6 0: -64 0: -6 -4: 6 -4:-64 -64 1241: -8 8: 5 6: -5 0: 5 -6:-64 -64 1242: -8 8: -5 6: 5 0: -5 -6:-64 -64 1243: -8 8: 5 7: -5 3: 5 -1: -64 0: -5 -2: 5 -2: -64 0: -5 -6: 5 -6:-64 -64 1244: -8 8: -5 7: 5 3: -5 -1: -64 0: -5 -2: 5 -2: -64 0: -5 -6: 5 -6:-64 -64 1245: -10 9: 7 -3: 5 -3: 3 -2: 2 -1: 0 2: -1 3: -3 4: -4 4: -6 3: -7 1: -7 0: -6 -2: -4 -3: -3 -3: -1 -2: 0 -1: 2 2: 3 3: 5 4: 7 4:-64 -64 1246: -8 8: -6 -2: -6 0: -5 2: -3 2: 3 -1: 5 -1: 6 0: -64 0: -6 0: -5 1: -3 1: 3 -2: 5 -2: 6 0: 6 2:-64 -64 1247: -8 8: -5 -1: 0 2: 5 -1: -64 0: -5 -1: 0 1: 5 -1:-64 -64 1248: -4 4: 1 7: -2 3: -64 0: 1 7: 2 6: -2 3:-64 -64 1249: -4 4: -1 7: 2 3: -64 0: -1 7: -2 6: 2 3:-64 -64 1250: -6 6: -4 7: -3 5: -1 4: 1 4: 3 5: 4 7: -64 0: -4 7: -3 4: -1 3: 1 3: 3 4: 4 7:-64 -64 1251: -4 4: 1 6: 0 5: -1 6: 0 7: 1 6: 1 4: -1 2:-64 -64 1252: -4 4: 1 7: -1 5: -1 3: 0 2: 1 3: 0 4: -1 3:-64 -64 1253: -4 4: -1 6: 0 5: 1 6: 0 7: -1 6: -1 4: 1 2:-64 -64 1254: -4 4: -1 7: 1 5: 1 3: 0 2: -1 3: 0 4: 1 3:-64 -64 1256: -8 8: 5 5: -1 5: -3 4: -4 3: -5 1: -5 -1: -4 -3: -3 -4: -1 -5: 5 -5:-64 -64 1257: -8 8: -5 5: -5 -1: -4 -3: -3 -4: -1 -5: 1 -5: 3 -4: 4 -3: 5 -1: 5 5:-64 -64 1258: -8 8: -5 5: 1 5: 3 4: 4 3: 5 1: 5 -1: 4 -3: 3 -4: 1 -5: -5 -5:-64 -64 1259: -8 8: -5 -5: -5 1: -4 3: -3 4: -1 5: 1 5: 3 4: 4 3: 5 1: 5 -5:-64 -64 1260: -8 8: 5 5: -1 5: -3 4: -4 3: -5 1: -5 -1: -4 -3: -3 -4: -1 -5: 5 -5: -64 0: -5 0: 3 0:-64 -64 1261: -9 9: 2 3: 3 2: 6 0: 3 -2: 2 -3: -64 0: 3 2: 5 0: 3 -2: -64 0: -6 0: 5 0:-64 -64 1262: -5 5: 0 5: 0 -6: -64 0: -3 2: -2 3: 0 6: 2 3: 3 2: -64 0: -2 3: 0 5: 2 3:-64 -64 1263: -9 9: -2 3: -3 2: -6 0: -3 -2: -2 -3: -64 0: -3 2: -5 0: -3 -2: -64 0: -5 0: 6 0:-64 -64 1264: -5 5: 0 6: 0 -5: -64 0: -3 -2: -2 -3: 0 -6: 2 -3: 3 -2: -64 0: -2 -3: 0 -5: 2 -3:-64 -64 1265: -7 7: 4 -1: 3 2: 1 3: -1 3: -3 2: -4 1: -5 -1: -5 -3: -4 -5: -2 -6: 0 -6: 2 -5: 3 -4: 4 -2: 5 1: 5 4: 4 6: 2 7: -1 7: -2 6: -1 6: 0 7: -64 0: -1 3: -3 1: -4 -1: -4 -4: -2 -6: -64 0: 0 -6: 2 -4: 3 -2: 4 1: 4 4: 3 6: 2 7:-64 -64 1266: -8 8: -6 7: 0 -6: -64 0: -5 7: 0 -4: -64 0: 6 7: 0 -6: -64 0: -6 7: 6 7: -64 0: -4 6: 5 6:-64 -64 1267: -11 9: -9 3: -6 3: 0 -5: -64 0: -7 3: 0 -6: -64 0: 9 12: 0 -6:-64 -64 1268: -9 9: 6 9: 6 8: 7 8: 7 9: 6 10: 4 10: 2 8: 1 6: 0 3: -1 -3: -2 -7: -3 -9: -64 0: 3 9: 2 7: 1 3: 0 -3: -1 -6: -2 -8: -4 -10: -6 -10: -7 -9: -7 -8: -6 -8: -6 -9:-64 -64 1269: -9 9: 6 9: 6 8: 7 8: 7 9: 6 10: 4 10: 2 8: 1 6: 0 3: -1 -3: -2 -7: -3 -9: -64 0: 3 9: 2 7: 1 3: 0 -3: -1 -6: -2 -8: -4 -10: -6 -10: -7 -9: -7 -8: -6 -8: -6 -9: -64 0: -1 4: -3 3: -4 1: -4 -1: -3 -3: -1 -4: 1 -4: 3 -3: 4 -1: 4 1: 3 3: 1 4: -1 4:-64 -64 1270: -10 10: 8 0: 7 -2: 5 -3: 4 -3: 2 -2: 1 -1: -1 2: -2 3: -4 4: -5 4: -7 3: -8 1: -8 0: -7 -2: -5 -3: -4 -3: -2 -2: -1 -1: 1 2: 2 3: 4 4: 5 4: 7 3: 8 1: 8 0:-64 -64 1271: -8 8: 6 7: -6 -6: -64 0: -3 7: -2 6: -2 4: -3 3: -5 3: -6 4: -6 6: -5 7: -3 7: 1 6: 4 6: 6 7: -64 0: 3 -2: 2 -3: 2 -5: 3 -6: 5 -6: 6 -5: 6 -3: 5 -2: 3 -2:-64 -64 1272: -8 9: 7 2: 6 2: 6 1: 7 1: 7 2: 6 3: 5 3: 4 2: 3 -2: 2 -4: 1 -5: -1 -6: -3 -6: -5 -5: -6 -4: -6 -2: -5 -1: -3 0: 0 2: 1 4: 1 6: 0 7: -2 7: -3 6: -3 4: -2 1: 3 -5: 5 -6: 6 -6: 7 -5: -64 0: -3 -6: -5 -4: -5 -2: -3 0: -64 0: -3 4: -2 2: 4 -5: 5 -6:-64 -64 1273: -8 9: 3 2: 1 3: -1 3: -2 1: -2 0: -1 -2: 1 -2: 3 -1: -64 0: 3 3: 3 -1: 4 -2: 6 -2: 7 0: 7 1: 6 4: 4 6: 1 7: 0 7: -3 6: -5 4: -6 1: -6 0: -5 -3: -3 -5: 0 -6: 1 -6: 4 -5:-64 -64 1274: -7 8: -1 10: -1 -10: -64 0: 2 10: 2 -10: -64 0: 5 6: 4 6: 4 5: 5 5: 5 6: 3 7: -2 7: -4 6: -4 4: -3 2: 4 -1: 5 -2: -64 0: -4 4: -3 3: 4 0: 5 -2: 5 -4: 4 -5: 2 -6: -1 -6: -3 -5: -4 -4: -4 -3: -3 -3: -3 -4: -4 -4:-64 -64 1275: -7 7: 0 7: -4 -10: -64 0: 4 7: 0 -10: -64 0: -4 1: 5 1: -64 0: -5 -4: 4 -4:-64 -64 1276: -6 6: 2 6: 1 6: 1 5: 2 5: 2 6: 1 7: -1 7: -2 6: -2 4: -1 2: 2 0: 3 -1: -64 0: -2 4: -1 3: 2 1: 3 -1: 3 -3: 1 -5: -64 0: -1 2: -3 0: -3 -2: -2 -4: 1 -6: 2 -7: -64 0: -3 -2: -2 -3: 1 -5: 2 -7: 2 -9: 1 -10: -1 -10: -2 -9: -2 -8: -1 -8: -1 -9: -2 -9:-64 -64 1277: -6 6: 0 7: -1 6: 0 5: 1 6: 0 7: -64 0: 0 5: 0 1: -64 0: 0 1: -1 -1: 0 -4: 1 -1: 0 1: -64 0: 0 -4: 0 -10: -64 0: -2 3: -3 4: -4 3: -3 2: -2 3: 2 3: 3 4: 4 3: 3 2: 2 3:-64 -64 1278: -6 6: 0 5: 1 6: 0 7: -1 6: 0 5: 0 1: -1 0: 1 -3: 0 -4: -64 0: 0 1: 1 0: -1 -3: 0 -4: 0 -8: -1 -9: 0 -10: 1 -9: 0 -8: -64 0: -2 3: -3 4: -4 3: -3 2: -2 3: 2 3: 3 4: 4 3: 3 2: 2 3: -64 0: -2 -6: -3 -5: -4 -6: -3 -7: -2 -6: 2 -6: 3 -5: 4 -6: 3 -7: 2 -6:-64 -64 1279: -6 7: 4 7: 4 -6: -64 0: -4 7: 4 7: -64 0: -1 1: 4 1: -64 0: -4 -6: 4 -6:-64 -64 1281: -10 10: -1 7: -4 6: -6 4: -7 1: -7 -1: -6 -4: -4 -6: -1 -7: 1 -7: 4 -6: 6 -4: 7 -1: 7 1: 6 4: 4 6: 1 7: -1 7: -64 0: 0 1: -1 0: 0 -1: 1 0: 0 1:-64 -64 1282: -6 7: -1 7: -2 6: -2 5: -1 4: -64 0: 2 7: 3 6: 3 5: 2 4: -64 0: 0 4: -2 3: -3 1: -3 0: -2 -2: 0 -3: 1 -3: 3 -2: 4 0: 4 1: 3 3: 1 4: 0 4: -64 0: 0 -3: 0 -7: -64 0: 1 -3: 1 -7: -64 0: -3 -5: 4 -5:-64 -64 1283: -6 7: 0 7: -2 6: -3 4: -3 3: -2 1: 0 0: 1 0: 3 1: 4 3: 4 4: 3 6: 1 7: 0 7: -64 0: 0 0: 0 -6: -64 0: 1 0: 1 -6: -64 0: -3 -3: 4 -3:-64 -64 1284: -10 10: -1 7: -4 6: -6 4: -7 1: -7 -1: -6 -4: -4 -6: -1 -7: 1 -7: 4 -6: 6 -4: 7 -1: 7 1: 6 4: 4 6: 1 7: -1 7: -64 0: 0 7: 0 -7: -64 0: -7 0: 7 0:-64 -64 1285: -8 7: 0 0: -2 1: -3 1: -5 0: -6 -2: -6 -3: -5 -5: -3 -6: -2 -6: 0 -5: 1 -3: 1 -2: 0 0: -64 0: 5 5: 0 0: -64 0: 0 5: 5 5: 5 0: -64 0: 0 5: 4 4: 5 0:-64 -64 1286: -8 8: -6 6: -5 7: -3 7: -1 6: 0 4: 0 2: -1 0: -2 -1: -4 -2: -64 0: -3 7: -2 6: -1 4: -1 1: -2 -1: -64 0: 4 7: 3 -6: -64 0: 5 7: 2 -6: -64 0: -4 -2: 6 -2:-64 -64 1287: -8 7: -4 7: -4 -3: -64 0: -3 7: -4 0: -64 0: -4 0: -3 2: -1 3: 1 3: 3 2: 4 1: 4 -2: 2 -4: 2 -6: 3 -7: 4 -7: 5 -6: -64 0: 1 3: 3 1: 3 -2: 2 -4: -64 0: -6 7: -3 7:-64 -64 1288: -6 7: -3 4: 0 7: 0 1: -64 0: 4 4: 1 7: 1 1: -64 0: 0 1: -2 0: -3 -2: -3 -3: -2 -5: 0 -6: 1 -6: 3 -5: 4 -3: 4 -2: 3 0: 1 1: -64 0: 0 -2: 0 -3: 1 -3: 1 -2: 0 -2:-64 -64 1289: -8 8: 0 7: 0 -7: -64 0: -5 7: -5 2: -4 0: -2 -1: 2 -1: 4 0: 5 2: 5 7: -64 0: -6 5: -5 7: -4 5: -64 0: -1 5: 0 7: 1 5: -64 0: 4 5: 5 7: 6 5: -64 0: -3 -4: 3 -4:-64 -64 1290: -8 7: -4 7: -4 -6: -64 0: -3 7: -3 -6: -64 0: -6 7: 1 7: 4 6: 5 4: 5 3: 4 1: 1 0: -3 0: -64 0: 1 7: 3 6: 4 4: 4 3: 3 1: 1 0: -64 0: -6 -6: 4 -6: 4 -3: 3 -6:-64 -64 1291: -6 7: 5 7: 2 7: -1 6: -3 4: -4 1: -4 -1: -3 -4: -1 -6: 2 -7: 5 -7: -64 0: 5 7: 2 6: 0 4: -1 1: -1 -1: 0 -4: 2 -6: 5 -7:-64 -64 1292: -8 8: 0 0: -2 1: -3 1: -5 0: -6 -2: -6 -3: -5 -5: -3 -6: -2 -6: 0 -5: 1 -3: 1 -2: 0 0: -64 0: 1 6: -1 1: -64 0: 5 5: 0 0: -64 0: 6 1: 1 -1:-64 -64 1293: -7 7: -2 5: 2 -5: -64 0: 2 5: -2 -5: -64 0: -5 2: 5 -2: -64 0: 5 2: -5 -2:-64 -64 1294: -8 9: -3 -3: -5 -3: -6 -4: -6 -6: -5 -7: -3 -7: -2 -6: -2 -4: -4 -2: -5 0: -5 3: -4 5: -3 6: -1 7: 2 7: 4 6: 5 5: 6 3: 6 0: 5 -2: 3 -4: 3 -6: 4 -7: 6 -7: 7 -6: 7 -4: 6 -3: 4 -3: -64 0: -4 5: -2 6: 3 6: 5 5:-64 -64 1295: -8 9: -3 3: -5 3: -6 4: -6 6: -5 7: -3 7: -2 6: -2 4: -4 2: -5 0: -5 -3: -4 -5: -3 -6: -1 -7: 2 -7: 4 -6: 5 -5: 6 -3: 6 0: 5 2: 3 4: 3 6: 4 7: 6 7: 7 6: 7 4: 6 3: 4 3: -64 0: -4 -5: -2 -6: 3 -6: 5 -5:-64 -64 1401: -12 12: -7 10: -7 -10: -64 0: -6 10: -6 -10: -64 0: 6 10: 6 -10: -64 0: 7 10: 7 -10: -64 0: -10 10: 10 10: -64 0: -10 -10: -3 -10: -64 0: 3 -10: 10 -10:-64 -64 1402: -10 11: -7 10: 0 1: -8 -10: -64 0: -8 10: -1 1: -64 0: -8 10: 7 10: 8 5: 6 10: -64 0: -7 -9: 6 -9: -64 0: -8 -10: 7 -10: 8 -5: 6 -10:-64 -64 1403: -7 7: 4 16: 2 14: 0 11: -2 7: -3 2: -3 -2: -2 -7: 0 -11: 2 -14: 4 -16: -64 0: 2 14: 0 10: -1 7: -2 2: -2 -2: -1 -7: 0 -10: 2 -14:-64 -64 1404: -7 7: -4 16: -2 14: 0 11: 2 7: 3 2: 3 -2: 2 -7: 0 -11: -2 -14: -4 -16: -64 0: -2 14: 0 10: 1 7: 2 2: 2 -2: 1 -7: 0 -10: -2 -14:-64 -64 1405: -7 7: -3 16: -3 -16: -64 0: -2 16: -2 -16: -64 0: -3 16: 4 16: -64 0: -3 -16: 4 -16:-64 -64 1406: -7 7: 2 16: 2 -16: -64 0: 3 16: 3 -16: -64 0: -4 16: 3 16: -64 0: -4 -16: 3 -16:-64 -64 1407: -7 7: 2 16: 0 15: -1 14: -2 12: -2 10: -1 8: 0 7: 1 5: 1 3: -1 1: -64 0: 0 15: -1 13: -1 11: 0 9: 1 8: 2 6: 2 4: 1 2: -3 0: 1 -2: 2 -4: 2 -6: 1 -8: 0 -9: -1 -11: -1 -13: 0 -15: -64 0: -1 -1: 1 -3: 1 -5: 0 -7: -1 -8: -2 -10: -2 -12: -1 -14: 0 -15: 2 -16:-64 -64 1408: -7 7: -2 16: 0 15: 1 14: 2 12: 2 10: 1 8: 0 7: -1 5: -1 3: 1 1: -64 0: 0 15: 1 13: 1 11: 0 9: -1 8: -2 6: -2 4: -1 2: 3 0: -1 -2: -2 -4: -2 -6: -1 -8: 0 -9: 1 -11: 1 -13: 0 -15: -64 0: 1 -1: -1 -3: -1 -5: 0 -7: 1 -8: 2 -10: 2 -12: 1 -14: 0 -15: -2 -16:-64 -64 1409: -7 7: 3 18: 0 15: -2 12: -3 9: -3 6: -2 3: 1 -4: 2 -7: 2 -10: 1 -13: 0 -15: -64 0: 0 15: -1 13: -2 10: -2 7: -1 4: 2 -3: 3 -6: 3 -9: 2 -12: 0 -15: -3 -18:-64 -64 1410: -7 7: -3 18: 0 15: 2 12: 3 9: 3 6: 2 3: -1 -4: -2 -7: -2 -10: -1 -13: 0 -15: -64 0: 0 15: 1 13: 2 10: 2 7: 1 4: -2 -3: -3 -6: -3 -9: -2 -12: 0 -15: 3 -18:-64 -64 1411: -17 6: -15 0: -11 0: 0 -14: -64 0: -11 -1: 0 -15: -64 0: -12 -1: 0 -16: -64 0: 6 24: 0 -16:-64 -64 1412: -12 12: 9 15: 8 14: 9 13: 10 14: 10 15: 9 16: 7 16: 5 15: 3 13: 2 11: 1 8: 0 4: -2 -8: -3 -12: -4 -14: -64 0: 4 14: 3 12: 2 8: 0 -4: -1 -8: -2 -11: -3 -13: -5 -15: -7 -16: -9 -16: -10 -15: -10 -14: -9 -13: -8 -14: -9 -15:-64 -64 2001: -10 10: 0 12: -7 -9: -64 0: 0 12: 7 -9: -64 0: 0 9: 6 -9: -64 0: -5 -3: 4 -3: -64 0: -9 -9: -3 -9: -64 0: 3 -9: 9 -9:-64 -64 2002: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 6: 7 4: 6 3: 3 2: -64 0: 3 12: 5 11: 6 10: 7 8: 7 6: 6 4: 5 3: 3 2: -64 0: -5 2: 3 2: 6 1: 7 0: 8 -2: 8 -5: 7 -7: 6 -8: 3 -9: -9 -9: -64 0: 3 2: 5 1: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 3 -9:-64 -64 2003: -11 10: 6 9: 7 6: 7 12: 6 9: 4 11: 1 12: -1 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -4: -64 0: -1 12: -3 11: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -3 -8: -1 -9:-64 -64 2004: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -9 12: 1 12: 4 11: 6 9: 7 7: 8 4: 8 -1: 7 -4: 6 -6: 4 -8: 1 -9: -9 -9: -64 0: 1 12: 3 11: 5 9: 6 7: 7 4: 7 -1: 6 -4: 5 -6: 3 -8: 1 -9:-64 -64 2005: -11 10: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: 1 6: 1 -2: -64 0: -9 12: 7 12: 7 6: 6 12: -64 0: -5 2: 1 2: -64 0: -9 -9: 7 -9: 7 -3: 6 -9:-64 -64 2006: -11 9: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: 1 6: 1 -2: -64 0: -9 12: 7 12: 7 6: 6 12: -64 0: -5 2: 1 2: -64 0: -9 -9: -2 -9:-64 -64 2007: -11 12: 6 9: 7 6: 7 12: 6 9: 4 11: 1 12: -1 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: -64 0: -1 12: -3 11: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -3 -8: -1 -9: -64 0: 6 -1: 6 -9: -64 0: 7 -1: 7 -9: -64 0: 3 -1: 10 -1:-64 -64 2008: -12 12: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: 6 12: 6 -9: -64 0: 7 12: 7 -9: -64 0: -10 12: -3 12: -64 0: 3 12: 10 12: -64 0: -6 2: 6 2: -64 0: -10 -9: -3 -9: -64 0: 3 -9: 10 -9:-64 -64 2009: -5 6: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: -3 12: 4 12: -64 0: -3 -9: 4 -9:-64 -64 2010: -7 8: 3 12: 3 -5: 2 -8: 0 -9: -2 -9: -4 -8: -5 -6: -5 -4: -4 -3: -3 -4: -4 -5: -64 0: 2 12: 2 -5: 1 -8: 0 -9: -64 0: -1 12: 6 12:-64 -64 2011: -12 10: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: 7 12: -6 -1: -64 0: -1 3: 7 -9: -64 0: -2 3: 6 -9: -64 0: -10 12: -3 12: -64 0: 3 12: 9 12: -64 0: -10 -9: -3 -9: -64 0: 3 -9: 9 -9:-64 -64 2012: -9 9: -4 12: -4 -9: -64 0: -3 12: -3 -9: -64 0: -7 12: 0 12: -64 0: -7 -9: 8 -9: 8 -3: 7 -9:-64 -64 2013: -12 13: -7 12: -7 -9: -64 0: -6 12: 0 -6: -64 0: -7 12: 0 -9: -64 0: 7 12: 0 -9: -64 0: 7 12: 7 -9: -64 0: 8 12: 8 -9: -64 0: -10 12: -6 12: -64 0: 7 12: 11 12: -64 0: -10 -9: -4 -9: -64 0: 4 -9: 11 -9:-64 -64 2014: -11 12: -6 12: -6 -9: -64 0: -5 12: 7 -7: -64 0: -5 10: 7 -9: -64 0: 7 12: 7 -9: -64 0: -9 12: -5 12: -64 0: 4 12: 10 12: -64 0: -9 -9: -3 -9:-64 -64 2015: -11 11: -1 12: -4 11: -6 9: -7 7: -8 3: -8 0: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -4: 8 0: 8 3: 7 7: 6 9: 4 11: 1 12: -1 12: -64 0: -1 12: -3 11: -5 9: -6 7: -7 3: -7 0: -6 -4: -5 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -6: 6 -4: 7 0: 7 3: 6 7: 5 9: 3 11: 1 12:-64 -64 2016: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 5: 7 3: 6 2: 3 1: -5 1: -64 0: 3 12: 5 11: 6 10: 7 8: 7 5: 6 3: 5 2: 3 1: -64 0: -9 -9: -2 -9:-64 -64 2017: -11 11: -1 12: -4 11: -6 9: -7 7: -8 3: -8 0: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -4: 8 0: 8 3: 7 7: 6 9: 4 11: 1 12: -1 12: -64 0: -1 12: -3 11: -5 9: -6 7: -7 3: -7 0: -6 -4: -5 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -6: 6 -4: 7 0: 7 3: 6 7: 5 9: 3 11: 1 12: -64 0: -4 -7: -4 -6: -3 -4: -1 -3: 0 -3: 2 -4: 3 -6: 4 -13: 5 -14: 7 -14: 8 -12: 8 -11: -64 0: 3 -6: 4 -10: 5 -12: 6 -13: 7 -13: 8 -12:-64 -64 2018: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 6: 7 4: 6 3: 3 2: -5 2: -64 0: 3 12: 5 11: 6 10: 7 8: 7 6: 6 4: 5 3: 3 2: -64 0: -9 -9: -2 -9: -64 0: 0 2: 2 1: 3 0: 6 -7: 7 -8: 8 -8: 9 -7: -64 0: 2 1: 3 -1: 5 -8: 6 -9: 8 -9: 9 -7: 9 -6:-64 -64 2019: -10 10: 6 9: 7 12: 7 6: 6 9: 4 11: 1 12: -2 12: -5 11: -7 9: -7 7: -6 5: -5 4: -3 3: 3 1: 5 0: 7 -2: -64 0: -7 7: -5 5: -3 4: 3 2: 5 1: 6 0: 7 -2: 7 -6: 5 -8: 2 -9: -1 -9: -4 -8: -6 -6: -7 -3: -7 -9: -6 -6:-64 -64 2020: -9 10: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: -6 12: -7 6: -7 12: 8 12: 8 6: 7 12: -64 0: -3 -9: 4 -9:-64 -64 2021: -12 12: -7 12: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 12: -64 0: -6 12: -6 -3: -5 -6: -3 -8: -1 -9: -64 0: -10 12: -3 12: -64 0: 4 12: 10 12:-64 -64 2022: -10 10: -7 12: 0 -9: -64 0: -6 12: 0 -6: -64 0: 7 12: 0 -9: -64 0: -9 12: -3 12: -64 0: 3 12: 9 12:-64 -64 2023: -12 12: -8 12: -4 -9: -64 0: -7 12: -4 -4: -64 0: 0 12: -4 -9: -64 0: 0 12: 4 -9: -64 0: 1 12: 4 -4: -64 0: 8 12: 4 -9: -64 0: -11 12: -4 12: -64 0: 5 12: 11 12:-64 -64 2024: -10 10: -7 12: 6 -9: -64 0: -6 12: 7 -9: -64 0: 7 12: -7 -9: -64 0: -9 12: -3 12: -64 0: 3 12: 9 12: -64 0: -9 -9: -3 -9: -64 0: 3 -9: 9 -9:-64 -64 2025: -10 11: -7 12: 0 1: 0 -9: -64 0: -6 12: 1 1: 1 -9: -64 0: 8 12: 1 1: -64 0: -9 12: -3 12: -64 0: 4 12: 10 12: -64 0: -3 -9: 4 -9:-64 -64 2026: -10 10: 6 12: -7 -9: -64 0: 7 12: -6 -9: -64 0: -6 12: -7 6: -7 12: 7 12: -64 0: -7 -9: 7 -9: 7 -3: 6 -9:-64 -64 2027: -10 10: 0 12: -7 -9: -64 0: 0 12: 7 -9: -64 0: 0 9: 6 -9: -64 0: -5 -3: 4 -3: -64 0: -9 -9: -3 -9: -64 0: 3 -9: 9 -9:-64 -64 2028: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 6: 7 4: 6 3: 3 2: -64 0: 3 12: 5 11: 6 10: 7 8: 7 6: 6 4: 5 3: 3 2: -64 0: -5 2: 3 2: 6 1: 7 0: 8 -2: 8 -5: 7 -7: 6 -8: 3 -9: -9 -9: -64 0: 3 2: 5 1: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 3 -9:-64 -64 2029: -9 9: -4 12: -4 -9: -64 0: -3 12: -3 -9: -64 0: -7 12: 8 12: 8 6: 7 12: -64 0: -7 -9: 0 -9:-64 -64 2030: -10 10: 0 12: -8 -9: -64 0: 0 12: 8 -9: -64 0: 0 9: 7 -9: -64 0: -7 -8: 7 -8: -64 0: -8 -9: 8 -9:-64 -64 2031: -11 10: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: 1 6: 1 -2: -64 0: -9 12: 7 12: 7 6: 6 12: -64 0: -5 2: 1 2: -64 0: -9 -9: 7 -9: 7 -3: 6 -9:-64 -64 2032: -10 10: 6 12: -7 -9: -64 0: 7 12: -6 -9: -64 0: -6 12: -7 6: -7 12: 7 12: -64 0: -7 -9: 7 -9: 7 -3: 6 -9:-64 -64 2033: -12 12: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: 6 12: 6 -9: -64 0: 7 12: 7 -9: -64 0: -10 12: -3 12: -64 0: 3 12: 10 12: -64 0: -6 2: 6 2: -64 0: -10 -9: -3 -9: -64 0: 3 -9: 10 -9:-64 -64 2034: -11 11: -1 12: -4 11: -6 9: -7 7: -8 3: -8 0: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -4: 8 0: 8 3: 7 7: 6 9: 4 11: 1 12: -1 12: -64 0: -1 12: -3 11: -5 9: -6 7: -7 3: -7 0: -6 -4: -5 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -6: 6 -4: 7 0: 7 3: 6 7: 5 9: 3 11: 1 12: -64 0: -3 5: -3 -2: -64 0: 3 5: 3 -2: -64 0: -3 2: 3 2: -64 0: -3 1: 3 1:-64 -64 2035: -5 6: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: -3 12: 4 12: -64 0: -3 -9: 4 -9:-64 -64 2036: -12 10: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: 7 12: -6 -1: -64 0: -1 3: 7 -9: -64 0: -2 3: 6 -9: -64 0: -10 12: -3 12: -64 0: 3 12: 9 12: -64 0: -10 -9: -3 -9: -64 0: 3 -9: 9 -9:-64 -64 2037: -10 10: 0 12: -7 -9: -64 0: 0 12: 7 -9: -64 0: 0 9: 6 -9: -64 0: -9 -9: -3 -9: -64 0: 3 -9: 9 -9:-64 -64 2038: -12 13: -7 12: -7 -9: -64 0: -6 12: 0 -6: -64 0: -7 12: 0 -9: -64 0: 7 12: 0 -9: -64 0: 7 12: 7 -9: -64 0: 8 12: 8 -9: -64 0: -10 12: -6 12: -64 0: 7 12: 11 12: -64 0: -10 -9: -4 -9: -64 0: 4 -9: 11 -9:-64 -64 2039: -11 12: -6 12: -6 -9: -64 0: -5 12: 7 -7: -64 0: -5 10: 7 -9: -64 0: 7 12: 7 -9: -64 0: -9 12: -5 12: -64 0: 4 12: 10 12: -64 0: -9 -9: -3 -9:-64 -64 2040: -11 11: -7 13: -8 8: -64 0: 8 13: 7 8: -64 0: -3 4: -4 -1: -64 0: 4 4: 3 -1: -64 0: -7 -5: -8 -10: -64 0: 8 -5: 7 -10: -64 0: -7 11: 7 11: -64 0: -7 10: 7 10: -64 0: -3 2: 3 2: -64 0: -3 1: 3 1: -64 0: -7 -7: 7 -7: -64 0: -7 -8: 7 -8:-64 -64 2041: -11 11: -1 12: -4 11: -6 9: -7 7: -8 3: -8 0: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -4: 8 0: 8 3: 7 7: 6 9: 4 11: 1 12: -1 12: -64 0: -1 12: -3 11: -5 9: -6 7: -7 3: -7 0: -6 -4: -5 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -6: 6 -4: 7 0: 7 3: 6 7: 5 9: 3 11: 1 12:-64 -64 2042: -12 12: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: 6 12: 6 -9: -64 0: 7 12: 7 -9: -64 0: -10 12: 10 12: -64 0: -10 -9: -3 -9: -64 0: 3 -9: 10 -9:-64 -64 2043: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 5: 7 3: 6 2: 3 1: -5 1: -64 0: 3 12: 5 11: 6 10: 7 8: 7 5: 6 3: 5 2: 3 1: -64 0: -9 -9: -2 -9:-64 -64 2044: -10 11: -7 12: 0 2: -8 -9: -64 0: -8 12: -1 2: -64 0: -8 12: 7 12: 8 6: 6 12: -64 0: -7 -8: 6 -8: -64 0: -8 -9: 7 -9: 8 -3: 6 -9:-64 -64 2045: -9 10: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: -6 12: -7 6: -7 12: 8 12: 8 6: 7 12: -64 0: -3 -9: 4 -9:-64 -64 2046: -9 10: -7 7: -7 9: -6 11: -5 12: -3 12: -2 11: -1 9: 0 5: 0 -9: -64 0: -7 9: -5 11: -3 11: -1 9: -64 0: 8 7: 8 9: 7 11: 6 12: 4 12: 3 11: 2 9: 1 5: 1 -9: -64 0: 8 9: 6 11: 4 11: 2 9: -64 0: -3 -9: 4 -9:-64 -64 2047: -10 11: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: -2 7: -5 6: -6 5: -7 3: -7 0: -6 -2: -5 -3: -2 -4: 3 -4: 6 -3: 7 -2: 8 0: 8 3: 7 5: 6 6: 3 7: -2 7: -64 0: -2 7: -4 6: -5 5: -6 3: -6 0: -5 -2: -4 -3: -2 -4: -64 0: 3 -4: 5 -3: 6 -2: 7 0: 7 3: 6 5: 5 6: 3 7: -64 0: -3 12: 4 12: -64 0: -3 -9: 4 -9:-64 -64 2048: -10 10: -7 12: 6 -9: -64 0: -6 12: 7 -9: -64 0: 7 12: -7 -9: -64 0: -9 12: -3 12: -64 0: 3 12: 9 12: -64 0: -9 -9: -3 -9: -64 0: 3 -9: 9 -9:-64 -64 2049: -11 12: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: -9 5: -8 6: -6 5: -5 1: -4 -1: -3 -2: -1 -3: -64 0: -8 6: -7 5: -6 1: -5 -1: -4 -2: -1 -3: 2 -3: 5 -2: 6 -1: 7 1: 8 5: 9 6: -64 0: 2 -3: 4 -2: 5 -1: 6 1: 7 5: 9 6: 10 5: -64 0: -3 12: 4 12: -64 0: -3 -9: 4 -9:-64 -64 2050: -11 11: -8 -6: -7 -9: -3 -9: -5 -5: -7 -1: -8 2: -8 6: -7 9: -5 11: -2 12: 2 12: 5 11: 7 9: 8 6: 8 2: 7 -1: 5 -5: 3 -9: 7 -9: 8 -6: -64 0: -5 -5: -6 -2: -7 2: -7 6: -6 9: -4 11: -2 12: -64 0: 2 12: 4 11: 6 9: 7 6: 7 2: 6 -2: 5 -5: -64 0: -7 -8: -4 -8: -64 0: 4 -8: 7 -8:-64 -64 2051: -10 10: 3 12: -10 -9: -64 0: 3 12: 4 -9: -64 0: 2 10: 3 -9: -64 0: -6 -3: 3 -3: -64 0: -12 -9: -6 -9: -64 0: 0 -9: 6 -9:-64 -64 2052: -12 12: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -6 12: 5 12: 8 11: 9 9: 9 7: 8 4: 7 3: 4 2: -64 0: 5 12: 7 11: 8 9: 8 7: 7 4: 6 3: 4 2: -64 0: -5 2: 4 2: 6 1: 7 -1: 7 -3: 6 -6: 4 -8: 0 -9: -12 -9: -64 0: 4 2: 5 1: 6 -1: 6 -3: 5 -6: 3 -8: 0 -9:-64 -64 2053: -10 11: 8 10: 9 10: 10 12: 9 6: 9 8: 8 10: 7 11: 5 12: 2 12: -1 11: -3 9: -5 6: -6 3: -7 -1: -7 -4: -6 -7: -5 -8: -2 -9: 1 -9: 3 -8: 5 -6: 6 -4: -64 0: 2 12: 0 11: -2 9: -4 6: -5 3: -6 -1: -6 -4: -5 -7: -4 -8: -2 -9:-64 -64 2054: -12 11: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -6 12: 3 12: 6 11: 7 10: 8 7: 8 3: 7 -1: 5 -5: 3 -7: 1 -8: -3 -9: -12 -9: -64 0: 3 12: 5 11: 6 10: 7 7: 7 3: 6 -1: 4 -5: 2 -7: 0 -8: -3 -9:-64 -64 2055: -12 11: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: 2 6: 0 -2: -64 0: -6 12: 9 12: 8 6: 8 12: -64 0: -5 2: 1 2: -64 0: -12 -9: 3 -9: 5 -4: 2 -9:-64 -64 2056: -12 10: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: 2 6: 0 -2: -64 0: -6 12: 9 12: 8 6: 8 12: -64 0: -5 2: 1 2: -64 0: -12 -9: -5 -9:-64 -64 2057: -10 12: 8 10: 9 10: 10 12: 9 6: 9 8: 8 10: 7 11: 5 12: 2 12: -1 11: -3 9: -5 6: -6 3: -7 -1: -7 -4: -6 -7: -5 -8: -2 -9: 0 -9: 3 -8: 5 -6: 7 -2: -64 0: 2 12: 0 11: -2 9: -4 6: -5 3: -6 -1: -6 -4: -5 -7: -4 -8: -2 -9: -64 0: 0 -9: 2 -8: 4 -6: 6 -2: -64 0: 3 -2: 10 -2:-64 -64 2058: -13 13: -4 12: -10 -9: -64 0: -3 12: -9 -9: -64 0: 9 12: 3 -9: -64 0: 10 12: 4 -9: -64 0: -7 12: 0 12: -64 0: 6 12: 13 12: -64 0: -6 2: 6 2: -64 0: -13 -9: -6 -9: -64 0: 0 -9: 7 -9:-64 -64 2059: -6 7: 3 12: -3 -9: -64 0: 4 12: -2 -9: -64 0: 0 12: 7 12: -64 0: -6 -9: 1 -9:-64 -64 2060: -9 9: 6 12: 1 -5: 0 -7: -1 -8: -3 -9: -5 -9: -7 -8: -8 -6: -8 -4: -7 -3: -6 -4: -7 -5: -64 0: 5 12: 0 -5: -1 -7: -3 -9: -64 0: 2 12: 9 12:-64 -64 2061: -12 11: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: 11 12: -6 -1: -64 0: 1 3: 5 -9: -64 0: 0 3: 4 -9: -64 0: -6 12: 1 12: -64 0: 7 12: 13 12: -64 0: -12 -9: -5 -9: -64 0: 1 -9: 7 -9:-64 -64 2062: -10 10: -1 12: -7 -9: -64 0: 0 12: -6 -9: -64 0: -4 12: 3 12: -64 0: -10 -9: 5 -9: 7 -3: 4 -9:-64 -64 2063: -13 14: -4 12: -10 -9: -64 0: -4 12: -3 -9: -64 0: -3 12: -2 -7: -64 0: 10 12: -3 -9: -64 0: 10 12: 4 -9: -64 0: 11 12: 5 -9: -64 0: -7 12: -3 12: -64 0: 10 12: 14 12: -64 0: -13 -9: -7 -9: -64 0: 1 -9: 8 -9:-64 -64 2064: -12 13: -3 12: -9 -9: -64 0: -3 12: 4 -6: -64 0: -3 9: 4 -9: -64 0: 10 12: 4 -9: -64 0: -6 12: -3 12: -64 0: 7 12: 13 12: -64 0: -12 -9: -6 -9:-64 -64 2065: -11 11: 1 12: -2 11: -4 9: -6 6: -7 3: -8 -1: -8 -4: -7 -7: -6 -8: -4 -9: -1 -9: 2 -8: 4 -6: 6 -3: 7 0: 8 4: 8 7: 7 10: 6 11: 4 12: 1 12: -64 0: 1 12: -1 11: -3 9: -5 6: -6 3: -7 -1: -7 -4: -6 -7: -4 -9: -64 0: -1 -9: 1 -8: 3 -6: 5 -3: 6 0: 7 4: 7 7: 6 10: 4 12:-64 -64 2066: -12 11: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -6 12: 6 12: 9 11: 10 9: 10 7: 9 4: 7 2: 3 1: -5 1: -64 0: 6 12: 8 11: 9 9: 9 7: 8 4: 6 2: 3 1: -64 0: -12 -9: -5 -9:-64 -64 2067: -11 11: 1 12: -2 11: -4 9: -6 6: -7 3: -8 -1: -8 -4: -7 -7: -6 -8: -4 -9: -1 -9: 2 -8: 4 -6: 6 -3: 7 0: 8 4: 8 7: 7 10: 6 11: 4 12: 1 12: -64 0: 1 12: -1 11: -3 9: -5 6: -6 3: -7 -1: -7 -4: -6 -7: -4 -9: -64 0: -1 -9: 1 -8: 3 -6: 5 -3: 6 0: 7 4: 7 7: 6 10: 4 12: -64 0: -6 -7: -6 -6: -5 -4: -3 -3: -2 -3: 0 -4: 1 -6: 1 -13: 2 -14: 4 -14: 5 -12: 5 -11: -64 0: 1 -6: 2 -12: 3 -13: 4 -13: 5 -12:-64 -64 2068: -12 12: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -6 12: 5 12: 8 11: 9 9: 9 7: 8 4: 7 3: 4 2: -5 2: -64 0: 5 12: 7 11: 8 9: 8 7: 7 4: 6 3: 4 2: -64 0: 0 2: 2 1: 3 0: 4 -8: 5 -9: 7 -9: 8 -7: 8 -6: -64 0: 3 0: 5 -7: 6 -8: 7 -8: 8 -7: -64 0: -12 -9: -5 -9:-64 -64 2069: -11 12: 8 10: 9 10: 10 12: 9 6: 9 8: 8 10: 7 11: 4 12: 0 12: -3 11: -5 9: -5 7: -4 5: -3 4: 4 0: 6 -2: -64 0: -5 7: -3 5: 4 1: 5 0: 6 -2: 6 -5: 5 -7: 4 -8: 1 -9: -3 -9: -6 -8: -7 -7: -8 -5: -8 -3: -9 -9: -8 -7: -7 -7:-64 -64 2070: -10 11: 3 12: -3 -9: -64 0: 4 12: -2 -9: -64 0: -3 12: -6 6: -4 12: 11 12: 10 6: 10 12: -64 0: -6 -9: 1 -9:-64 -64 2071: -12 13: -4 12: -7 1: -8 -3: -8 -6: -7 -8: -4 -9: 0 -9: 3 -8: 5 -6: 6 -3: 10 12: -64 0: -3 12: -6 1: -7 -3: -7 -6: -6 -8: -4 -9: -64 0: -7 12: 0 12: -64 0: 7 12: 13 12:-64 -64 2072: -10 10: -4 12: -3 -9: -64 0: -3 12: -2 -7: -64 0: 10 12: -3 -9: -64 0: -6 12: 0 12: -64 0: 6 12: 12 12:-64 -64 2073: -13 13: -5 12: -7 -9: -64 0: -4 12: -6 -7: -64 0: 3 12: -7 -9: -64 0: 3 12: 1 -9: -64 0: 4 12: 2 -7: -64 0: 11 12: 1 -9: -64 0: -8 12: -1 12: -64 0: 8 12: 14 12:-64 -64 2074: -11 11: -4 12: 3 -9: -64 0: -3 12: 4 -9: -64 0: 10 12: -10 -9: -64 0: -6 12: 0 12: -64 0: 6 12: 12 12: -64 0: -12 -9: -6 -9: -64 0: 0 -9: 6 -9:-64 -64 2075: -10 11: -4 12: 0 2: -3 -9: -64 0: -3 12: 1 2: -2 -9: -64 0: 11 12: 1 2: -64 0: -6 12: 0 12: -64 0: 7 12: 13 12: -64 0: -6 -9: 1 -9:-64 -64 2076: -11 11: 9 12: -10 -9: -64 0: 10 12: -9 -9: -64 0: -3 12: -6 6: -4 12: 10 12: -64 0: -10 -9: 4 -9: 6 -3: 3 -9:-64 -64 2077: -10 10: -7 9: -6 7: 6 -5: 7 -7: 7 -9: -64 0: -6 6: 6 -6: -64 0: -7 9: -7 7: -6 5: 6 -7: 7 -9: -64 0: -2 2: -6 -2: -7 -4: -7 -6: -6 -8: -7 -9: -64 0: -7 -4: -5 -8: -64 0: -6 -2: -6 -4: -5 -6: -5 -8: -7 -9: -64 0: 1 -1: 6 4: -64 0: 4 9: 4 6: 5 4: 7 4: 7 6: 5 7: 4 9: -64 0: 4 9: 5 6: 7 4:-64 -64 2101: -9 11: -4 3: -4 2: -5 2: -5 3: -4 4: -2 5: 2 5: 4 4: 5 3: 6 1: 6 -6: 7 -8: 8 -9: -64 0: 5 3: 5 -6: 6 -8: 8 -9: 9 -9: -64 0: 5 1: 4 0: -2 -1: -5 -2: -6 -4: -6 -6: -5 -8: -2 -9: 1 -9: 3 -8: 5 -6: -64 0: -2 -1: -4 -2: -5 -4: -5 -6: -4 -8: -2 -9:-64 -64 2102: -11 10: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -5 2: -3 4: -1 5: 1 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -1 -9: -3 -8: -5 -6: -64 0: 1 5: 3 4: 5 2: 6 -1: 6 -3: 5 -6: 3 -8: 1 -9: -64 0: -9 12: -5 12:-64 -64 2103: -10 9: 5 2: 4 1: 5 0: 6 1: 6 2: 4 4: 2 5: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: -64 0: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9:-64 -64 2104: -10 11: 5 12: 5 -9: -64 0: 6 12: 6 -9: -64 0: 5 2: 3 4: 1 5: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 3 -8: 5 -6: -64 0: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: -64 0: 2 12: 6 12: -64 0: 5 -9: 9 -9:-64 -64 2105: -10 9: -6 -1: 6 -1: 6 1: 5 3: 4 4: 2 5: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: -64 0: 5 -1: 5 2: 4 4: -64 0: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9:-64 -64 2106: -7 6: 3 11: 2 10: 3 9: 4 10: 4 11: 3 12: 1 12: -1 11: -2 9: -2 -9: -64 0: 1 12: 0 11: -1 9: -1 -9: -64 0: -5 5: 3 5: -64 0: -5 -9: 2 -9:-64 -64 2107: -9 10: -1 5: -3 4: -4 3: -5 1: -5 -1: -4 -3: -3 -4: -1 -5: 1 -5: 3 -4: 4 -3: 5 -1: 5 1: 4 3: 3 4: 1 5: -1 5: -64 0: -3 4: -4 2: -4 -2: -3 -4: -64 0: 3 -4: 4 -2: 4 2: 3 4: -64 0: 4 3: 5 4: 7 5: 7 4: 5 4: -64 0: -4 -3: -5 -4: -6 -6: -6 -7: -5 -9: -2 -10: 3 -10: 6 -11: 7 -12: -64 0: -6 -7: -5 -8: -2 -9: 3 -9: 6 -10: 7 -12: 7 -13: 6 -15: 3 -16: -3 -16: -6 -15: -7 -13: -7 -12: -6 -10: -3 -9:-64 -64 2108: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -5 2: -3 4: 0 5: 2 5: 5 4: 6 2: 6 -9: -64 0: 2 5: 4 4: 5 2: 5 -9: -64 0: -9 12: -5 12: -64 0: -9 -9: -2 -9: -64 0: 2 -9: 9 -9:-64 -64 2109: -5 6: 0 12: -1 11: 0 10: 1 11: 0 12: -64 0: 0 5: 0 -9: -64 0: 1 5: 1 -9: -64 0: -3 5: 1 5: -64 0: -3 -9: 4 -9:-64 -64 2110: -5 6: 1 12: 0 11: 1 10: 2 11: 1 12: -64 0: 2 5: 2 -13: 1 -15: -1 -16: -3 -16: -4 -15: -4 -14: -3 -13: -2 -14: -3 -15: -64 0: 1 5: 1 -13: 0 -15: -1 -16: -64 0: -2 5: 2 5:-64 -64 2111: -11 10: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: 5 5: -5 -5: -64 0: 0 -1: 6 -9: -64 0: -1 -1: 5 -9: -64 0: -9 12: -5 12: -64 0: 2 5: 8 5: -64 0: -9 -9: -2 -9: -64 0: 2 -9: 8 -9:-64 -64 2112: -5 6: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: -3 12: 1 12: -64 0: -3 -9: 4 -9:-64 -64 2113: -16 17: -11 5: -11 -9: -64 0: -10 5: -10 -9: -64 0: -10 2: -8 4: -5 5: -3 5: 0 4: 1 2: 1 -9: -64 0: -3 5: -1 4: 0 2: 0 -9: -64 0: 1 2: 3 4: 6 5: 8 5: 11 4: 12 2: 12 -9: -64 0: 8 5: 10 4: 11 2: 11 -9: -64 0: -14 5: -10 5: -64 0: -14 -9: -7 -9: -64 0: -3 -9: 4 -9: -64 0: 8 -9: 15 -9:-64 -64 2114: -11 11: -6 5: -6 -9: -64 0: -5 5: -5 -9: -64 0: -5 2: -3 4: 0 5: 2 5: 5 4: 6 2: 6 -9: -64 0: 2 5: 4 4: 5 2: 5 -9: -64 0: -9 5: -5 5: -64 0: -9 -9: -2 -9: -64 0: 2 -9: 9 -9:-64 -64 2115: -10 10: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 -1: 6 2: 4 4: 1 5: -1 5: -64 0: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -6: 6 -3: 6 -1: 5 2: 3 4: 1 5:-64 -64 2116: -11 10: -6 5: -6 -16: -64 0: -5 5: -5 -16: -64 0: -5 2: -3 4: -1 5: 1 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -1 -9: -3 -8: -5 -6: -64 0: 1 5: 3 4: 5 2: 6 -1: 6 -3: 5 -6: 3 -8: 1 -9: -64 0: -9 5: -5 5: -64 0: -9 -16: -2 -16:-64 -64 2117: -10 10: 5 5: 5 -16: -64 0: 6 5: 6 -16: -64 0: 5 2: 3 4: 1 5: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 3 -8: 5 -6: -64 0: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: -64 0: 2 -16: 9 -16:-64 -64 2118: -9 8: -4 5: -4 -9: -64 0: -3 5: -3 -9: -64 0: -3 -1: -2 2: 0 4: 2 5: 5 5: 6 4: 6 3: 5 2: 4 3: 5 4: -64 0: -7 5: -3 5: -64 0: -7 -9: 0 -9:-64 -64 2119: -8 9: 5 3: 6 5: 6 1: 5 3: 4 4: 2 5: -2 5: -4 4: -5 3: -5 1: -4 0: -2 -1: 3 -3: 5 -4: 6 -5: -64 0: -5 2: -4 1: -2 0: 3 -2: 5 -3: 6 -4: 6 -7: 5 -8: 3 -9: -1 -9: -3 -8: -4 -7: -5 -5: -5 -9: -4 -7:-64 -64 2120: -7 8: -2 12: -2 -5: -1 -8: 1 -9: 3 -9: 5 -8: 6 -6: -64 0: -1 12: -1 -5: 0 -8: 1 -9: -64 0: -5 5: 3 5:-64 -64 2121: -11 11: -6 5: -6 -6: -5 -8: -2 -9: 0 -9: 3 -8: 5 -6: -64 0: -5 5: -5 -6: -4 -8: -2 -9: -64 0: 5 5: 5 -9: -64 0: 6 5: 6 -9: -64 0: -9 5: -5 5: -64 0: 2 5: 6 5: -64 0: 5 -9: 9 -9:-64 -64 2122: -9 9: -6 5: 0 -9: -64 0: -5 5: 0 -7: -64 0: 6 5: 0 -9: -64 0: -8 5: -2 5: -64 0: 2 5: 8 5:-64 -64 2123: -12 12: -8 5: -4 -9: -64 0: -7 5: -4 -6: -64 0: 0 5: -4 -9: -64 0: 0 5: 4 -9: -64 0: 1 5: 4 -6: -64 0: 8 5: 4 -9: -64 0: -11 5: -4 5: -64 0: 5 5: 11 5:-64 -64 2124: -10 10: -6 5: 5 -9: -64 0: -5 5: 6 -9: -64 0: 6 5: -6 -9: -64 0: -8 5: -2 5: -64 0: 2 5: 8 5: -64 0: -8 -9: -2 -9: -64 0: 2 -9: 8 -9:-64 -64 2125: -10 9: -6 5: 0 -9: -64 0: -5 5: 0 -7: -64 0: 6 5: 0 -9: -2 -13: -4 -15: -6 -16: -7 -16: -8 -15: -7 -14: -6 -15: -64 0: -8 5: -2 5: -64 0: 2 5: 8 5:-64 -64 2126: -9 9: 5 5: -6 -9: -64 0: 6 5: -5 -9: -64 0: -5 5: -6 1: -6 5: 6 5: -64 0: -6 -9: 6 -9: 6 -5: 5 -9:-64 -64 2127: -11 12: -1 5: -4 4: -6 2: -7 0: -8 -3: -8 -6: -7 -8: -4 -9: -2 -9: 0 -8: 3 -5: 5 -2: 7 2: 8 5: -64 0: -1 5: -3 4: -5 2: -6 0: -7 -3: -7 -6: -6 -8: -4 -9: -64 0: -1 5: 1 5: 3 4: 4 2: 6 -6: 7 -8: 8 -9: -64 0: 1 5: 2 4: 3 2: 5 -6: 6 -8: 8 -9: 9 -9:-64 -64 2128: -11 10: 2 12: -1 11: -3 9: -5 5: -6 2: -7 -2: -8 -8: -9 -16: -64 0: 2 12: 0 11: -2 9: -4 5: -5 2: -6 -2: -7 -8: -8 -16: -64 0: 2 12: 4 12: 6 11: 7 10: 7 7: 6 5: 5 4: 2 3: -2 3: -64 0: 4 12: 6 10: 6 7: 5 5: 4 4: 2 3: -64 0: -2 3: 2 2: 4 0: 5 -2: 5 -5: 4 -7: 3 -8: 0 -9: -2 -9: -4 -8: -5 -7: -6 -4: -64 0: -2 3: 1 2: 3 0: 4 -2: 4 -5: 3 -7: 2 -8: 0 -9:-64 -64 2129: -10 10: -9 2: -7 4: -5 5: -3 5: -1 4: 0 3: 1 0: 1 -4: 0 -8: -3 -16: -64 0: -8 3: -6 4: -2 4: 0 3: -64 0: 8 5: 7 2: 6 0: 1 -7: -2 -12: -4 -16: -64 0: 7 5: 6 2: 5 0: 1 -7:-64 -64 2130: -9 10: 4 4: 2 5: 0 5: -3 4: -5 1: -6 -2: -6 -5: -5 -7: -4 -8: -2 -9: 0 -9: 3 -8: 5 -5: 6 -2: 6 1: 5 3: 1 8: 0 10: 0 12: 1 13: 3 13: 5 12: 7 10: -64 0: 0 5: -2 4: -4 1: -5 -2: -5 -6: -4 -8: -64 0: 0 -9: 2 -8: 4 -5: 5 -2: 5 2: 4 4: 2 7: 1 9: 1 11: 2 12: 4 12: 7 10:-64 -64 2131: -9 9: 6 2: 4 4: 2 5: -2 5: -4 4: -4 2: -2 0: 1 -1: -64 0: -2 5: -3 4: -3 2: -1 0: 1 -1: -64 0: 1 -1: -4 -2: -6 -4: -6 -6: -5 -8: -2 -9: 1 -9: 3 -8: 5 -6: -64 0: 1 -1: -3 -2: -5 -4: -5 -6: -4 -8: -2 -9:-64 -64 2132: -9 9: 2 12: 0 11: -1 10: -1 9: 0 8: 3 7: 8 7: 8 8: 5 7: 1 5: -2 3: -5 0: -6 -3: -6 -5: -5 -7: -2 -9: 1 -11: 2 -13: 2 -15: 1 -16: -1 -16: -2 -15: -64 0: 3 6: -1 3: -4 0: -5 -3: -5 -5: -4 -7: -2 -9:-64 -64 2133: -11 11: -10 1: -9 3: -7 5: -4 5: -3 4: -3 2: -4 -2: -6 -9: -64 0: -5 5: -4 4: -4 2: -5 -2: -7 -9: -64 0: -4 -2: -2 2: 0 4: 2 5: 4 5: 6 4: 7 3: 7 0: 6 -5: 3 -16: -64 0: 4 5: 6 3: 6 0: 5 -5: 2 -16:-64 -64 2134: -12 11: -11 1: -10 3: -8 5: -5 5: -4 4: -4 2: -5 -3: -5 -6: -4 -8: -3 -9: -64 0: -6 5: -5 4: -5 2: -6 -3: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: 3 -6: 5 -3: 6 0: 7 5: 7 9: 6 11: 4 12: 2 12: 0 10: 0 8: 1 5: 3 2: 5 0: 8 -2: -64 0: 1 -8: 3 -5: 4 -3: 5 0: 6 5: 6 9: 5 11: 4 12:-64 -64 2135: -6 6: 0 5: -2 -2: -3 -6: -3 -8: -2 -9: 1 -9: 3 -7: 4 -5: -64 0: 1 5: -1 -2: -2 -6: -2 -8: -1 -9:-64 -64 2136: -10 10: -4 5: -8 -9: -64 0: -3 5: -7 -9: -64 0: 6 5: 7 4: 8 4: 7 5: 5 5: 3 4: -1 0: -3 -1: -5 -1: -64 0: -3 -1: -1 -2: 1 -8: 2 -9: -64 0: -3 -1: -2 -2: 0 -8: 1 -9: 3 -9: 5 -8: 7 -5:-64 -64 2137: -10 10: -7 12: -5 12: -3 11: -2 10: -1 8: 5 -6: 6 -8: 7 -9: -64 0: -5 12: -3 10: -2 8: 4 -6: 5 -8: 7 -9: 8 -9: -64 0: 0 5: -8 -9: -64 0: 0 5: -7 -9:-64 -64 2138: -12 11: -5 5: -11 -16: -64 0: -4 5: -10 -16: -64 0: -5 2: -6 -4: -6 -7: -4 -9: -2 -9: 0 -8: 2 -6: 4 -3: -64 0: 6 5: 3 -6: 3 -8: 4 -9: 7 -9: 9 -7: 10 -5: -64 0: 7 5: 4 -6: 4 -8: 5 -9:-64 -64 2139: -10 10: -4 5: -6 -9: -64 0: -3 5: -4 -1: -5 -6: -6 -9: -64 0: 7 5: 6 1: 4 -3: -64 0: 8 5: 7 2: 6 0: 4 -3: 2 -5: -1 -7: -3 -8: -6 -9: -64 0: -7 5: -3 5:-64 -64 2140: -9 8: 2 12: 0 11: -1 10: -1 9: 0 8: 3 7: 6 7: -64 0: 3 7: -1 6: -3 5: -4 3: -4 1: -2 -1: 1 -2: 4 -2: -64 0: 3 7: 0 6: -2 5: -3 3: -3 1: -1 -1: 1 -2: -64 0: 1 -2: -3 -3: -5 -4: -6 -6: -6 -8: -4 -10: 1 -12: 2 -13: 2 -15: 0 -16: -2 -16: -64 0: 1 -2: -2 -3: -4 -4: -5 -6: -5 -8: -3 -10: 1 -12:-64 -64 2141: -9 9: 0 5: -3 4: -5 1: -6 -2: -6 -5: -5 -7: -4 -8: -2 -9: 0 -9: 3 -8: 5 -5: 6 -2: 6 1: 5 3: 4 4: 2 5: 0 5: -64 0: 0 5: -2 4: -4 1: -5 -2: -5 -6: -4 -8: -64 0: 0 -9: 2 -8: 4 -5: 5 -2: 5 2: 4 4:-64 -64 2142: -11 11: -2 4: -6 -9: -64 0: -2 4: -5 -9: -64 0: 4 4: 4 -9: -64 0: 4 4: 5 -9: -64 0: -9 2: -7 4: -4 5: 9 5: -64 0: -9 2: -7 3: -4 4: 9 4:-64 -64 2143: -10 9: -6 -4: -5 -7: -4 -8: -2 -9: 0 -9: 3 -8: 5 -5: 6 -2: 6 1: 5 3: 4 4: 2 5: 0 5: -3 4: -5 1: -6 -2: -10 -16: -64 0: 0 -9: 2 -8: 4 -5: 5 -2: 5 2: 4 4: -64 0: 0 5: -2 4: -4 1: -5 -2: -9 -16:-64 -64 2144: -10 11: 9 5: -1 5: -4 4: -6 1: -7 -2: -7 -5: -6 -7: -5 -8: -3 -9: -1 -9: 2 -8: 4 -5: 5 -2: 5 1: 4 3: 3 4: 1 5: -64 0: -1 5: -3 4: -5 1: -6 -2: -6 -6: -5 -8: -64 0: -1 -9: 1 -8: 3 -5: 4 -2: 4 2: 3 4: -64 0: 3 4: 9 4:-64 -64 2145: -10 10: 1 4: -2 -9: -64 0: 1 4: -1 -9: -64 0: -8 2: -6 4: -3 5: 8 5: -64 0: -8 2: -6 3: -3 4: 8 4:-64 -64 2146: -10 10: -9 1: -8 3: -6 5: -3 5: -2 4: -2 2: -4 -4: -4 -7: -2 -9: -64 0: -4 5: -3 4: -3 2: -5 -4: -5 -7: -4 -8: -2 -9: -1 -9: 2 -8: 4 -6: 6 -3: 7 0: 7 3: 6 5: 5 4: 6 3: 7 0: -64 0: 6 -3: 7 3:-64 -64 2147: -11 11: -3 4: -5 3: -7 1: -8 -2: -8 -5: -7 -7: -6 -8: -4 -9: -1 -9: 2 -8: 5 -6: 7 -3: 8 0: 8 3: 6 5: 4 5: 2 3: 0 -1: -2 -6: -5 -16: -64 0: -8 -5: -6 -7: -4 -8: -1 -8: 2 -7: 5 -5: 7 -3: -64 0: 8 3: 6 4: 4 4: 2 2: 0 -1: -2 -7: -4 -16:-64 -64 2148: -9 9: -7 5: -5 5: -3 4: -2 2: 3 -13: 4 -15: 5 -16: -64 0: -5 5: -4 4: -3 2: 2 -13: 3 -15: 5 -16: 7 -16: -64 0: 8 5: 7 3: 5 0: -5 -11: -7 -14: -8 -16:-64 -64 2149: -12 11: 3 12: -3 -16: -64 0: 4 12: -4 -16: -64 0: -11 1: -10 3: -8 5: -5 5: -4 4: -4 2: -5 -3: -5 -6: -3 -8: 0 -8: 2 -7: 5 -4: 7 -1: -64 0: -6 5: -5 4: -5 2: -6 -3: -6 -6: -5 -8: -3 -9: 0 -9: 2 -8: 4 -6: 6 -3: 7 -1: 9 5:-64 -64 2150: -12 11: -8 1: -6 3: -3 4: -4 5: -6 4: -8 1: -9 -2: -9 -5: -8 -8: -7 -9: -5 -9: -3 -8: -1 -5: 0 -2: -64 0: -9 -5: -8 -7: -7 -8: -5 -8: -3 -7: -1 -5: -64 0: -1 -2: -1 -5: 0 -8: 1 -9: 3 -9: 5 -8: 7 -5: 8 -2: 8 1: 7 4: 6 5: 5 4: 7 3: 8 1: -64 0: -1 -5: 0 -7: 1 -8: 3 -8: 5 -7: 7 -5:-64 -64 2151: -10 11: 6 5: 4 -2: 3 -6: 3 -8: 4 -9: 7 -9: 9 -7: 10 -5: -64 0: 7 5: 5 -2: 4 -6: 4 -8: 5 -9: -64 0: 4 -2: 4 1: 3 4: 1 5: -1 5: -4 4: -6 1: -7 -2: -7 -5: -6 -7: -5 -8: -3 -9: -1 -9: 1 -8: 3 -5: 4 -2: -64 0: -1 5: -3 4: -5 1: -6 -2: -6 -6: -5 -8:-64 -64 2152: -10 9: -2 12: -6 -1: -6 -4: -5 -7: -4 -8: -64 0: -1 12: -5 -1: -64 0: -5 -1: -4 2: -2 4: 0 5: 2 5: 4 4: 5 3: 6 1: 6 -2: 5 -5: 3 -8: 0 -9: -2 -9: -4 -8: -5 -5: -5 -1: -64 0: 4 4: 5 2: 5 -2: 4 -5: 2 -8: 0 -9: -64 0: -5 12: -1 12:-64 -64 2153: -9 9: 5 2: 5 1: 6 1: 6 2: 5 4: 3 5: 0 5: -3 4: -5 1: -6 -2: -6 -5: -5 -7: -4 -8: -2 -9: 0 -9: 3 -8: 5 -5: -64 0: 0 5: -2 4: -4 1: -5 -2: -5 -6: -4 -8:-64 -64 2154: -10 11: 8 12: 4 -2: 3 -6: 3 -8: 4 -9: 7 -9: 9 -7: 10 -5: -64 0: 9 12: 5 -2: 4 -6: 4 -8: 5 -9: -64 0: 4 -2: 4 1: 3 4: 1 5: -1 5: -4 4: -6 1: -7 -2: -7 -5: -6 -7: -5 -8: -3 -9: -1 -9: 1 -8: 3 -5: 4 -2: -64 0: -1 5: -3 4: -5 1: -6 -2: -6 -6: -5 -8: -64 0: 5 12: 9 12:-64 -64 2155: -9 9: -5 -4: -1 -3: 2 -2: 5 0: 6 2: 5 4: 3 5: 0 5: -3 4: -5 1: -6 -2: -6 -5: -5 -7: -4 -8: -2 -9: 0 -9: 3 -8: 5 -6: -64 0: 0 5: -2 4: -4 1: -5 -2: -5 -6: -4 -8:-64 -64 2156: -7 8: 8 11: 7 10: 8 9: 9 10: 9 11: 8 12: 6 12: 4 11: 3 10: 2 8: 1 5: -2 -9: -3 -13: -4 -15: -64 0: 6 12: 4 10: 3 8: 2 4: 0 -5: -1 -9: -2 -12: -3 -14: -4 -15: -6 -16: -8 -16: -9 -15: -9 -14: -8 -13: -7 -14: -8 -15: -64 0: -3 5: 7 5:-64 -64 2157: -10 10: 7 5: 3 -9: 2 -12: 0 -15: -3 -16: -6 -16: -8 -15: -9 -14: -9 -13: -8 -12: -7 -13: -8 -14: -64 0: 6 5: 2 -9: 1 -12: -1 -15: -3 -16: -64 0: 4 -2: 4 1: 3 4: 1 5: -1 5: -4 4: -6 1: -7 -2: -7 -5: -6 -7: -5 -8: -3 -9: -1 -9: 1 -8: 3 -5: 4 -2: -64 0: -1 5: -3 4: -5 1: -6 -2: -6 -6: -5 -8:-64 -64 2158: -10 11: -2 12: -8 -9: -64 0: -1 12: -7 -9: -64 0: -5 -2: -3 2: -1 4: 1 5: 3 5: 5 4: 6 3: 6 1: 4 -5: 4 -8: 5 -9: -64 0: 3 5: 5 3: 5 1: 3 -5: 3 -8: 4 -9: 7 -9: 9 -7: 10 -5: -64 0: -5 12: -1 12:-64 -64 2159: -6 7: 3 12: 2 11: 3 10: 4 11: 3 12: -64 0: -5 1: -4 3: -2 5: 1 5: 2 4: 2 1: 0 -5: 0 -8: 1 -9: -64 0: 0 5: 1 4: 1 1: -1 -5: -1 -8: 0 -9: 3 -9: 5 -7: 6 -5:-64 -64 2160: -6 7: 4 12: 3 11: 4 10: 5 11: 4 12: -64 0: -4 1: -3 3: -1 5: 2 5: 3 4: 3 1: 0 -9: -1 -12: -2 -14: -3 -15: -5 -16: -7 -16: -8 -15: -8 -14: -7 -13: -6 -14: -7 -15: -64 0: 1 5: 2 4: 2 1: -1 -9: -2 -12: -3 -14: -5 -16:-64 -64 2161: -10 10: -2 12: -8 -9: -64 0: -1 12: -7 -9: -64 0: 6 4: 5 3: 6 2: 7 3: 7 4: 6 5: 5 5: 3 4: -1 0: -3 -1: -5 -1: -64 0: -3 -1: -1 -2: 1 -8: 2 -9: -64 0: -3 -1: -2 -2: 0 -8: 1 -9: 3 -9: 5 -8: 7 -5: -64 0: -5 12: -1 12:-64 -64 2162: -5 7: 3 12: -1 -2: -2 -6: -2 -8: -1 -9: 2 -9: 4 -7: 5 -5: -64 0: 4 12: 0 -2: -1 -6: -1 -8: 0 -9: -64 0: 0 12: 4 12:-64 -64 2163: -17 16: -16 1: -15 3: -13 5: -10 5: -9 4: -9 2: -10 -2: -12 -9: -64 0: -11 5: -10 4: -10 2: -11 -2: -13 -9: -64 0: -10 -2: -8 2: -6 4: -4 5: -2 5: 0 4: 1 3: 1 1: -2 -9: -64 0: -2 5: 0 3: 0 1: -3 -9: -64 0: 0 -2: 2 2: 4 4: 6 5: 8 5: 10 4: 11 3: 11 1: 9 -5: 9 -8: 10 -9: -64 0: 8 5: 10 3: 10 1: 8 -5: 8 -8: 9 -9: 12 -9: 14 -7: 15 -5:-64 -64 2164: -12 11: -11 1: -10 3: -8 5: -5 5: -4 4: -4 2: -5 -2: -7 -9: -64 0: -6 5: -5 4: -5 2: -6 -2: -8 -9: -64 0: -5 -2: -3 2: -1 4: 1 5: 3 5: 5 4: 6 3: 6 1: 4 -5: 4 -8: 5 -9: -64 0: 3 5: 5 3: 5 1: 3 -5: 3 -8: 4 -9: 7 -9: 9 -7: 10 -5:-64 -64 2165: -9 9: 0 5: -3 4: -5 1: -6 -2: -6 -5: -5 -7: -4 -8: -2 -9: 0 -9: 3 -8: 5 -5: 6 -2: 6 1: 5 3: 4 4: 2 5: 0 5: -64 0: 0 5: -2 4: -4 1: -5 -2: -5 -6: -4 -8: -64 0: 0 -9: 2 -8: 4 -5: 5 -2: 5 2: 4 4:-64 -64 2166: -11 10: -10 1: -9 3: -7 5: -4 5: -3 4: -3 2: -4 -2: -8 -16: -64 0: -5 5: -4 4: -4 2: -5 -2: -9 -16: -64 0: -4 -2: -3 1: -1 4: 1 5: 3 5: 5 4: 6 3: 7 1: 7 -2: 6 -5: 4 -8: 1 -9: -1 -9: -3 -8: -4 -5: -4 -2: -64 0: 5 4: 6 2: 6 -2: 5 -5: 3 -8: 1 -9: -64 0: -12 -16: -5 -16:-64 -64 2167: -10 10: 6 5: 0 -16: -64 0: 7 5: 1 -16: -64 0: 4 -2: 4 1: 3 4: 1 5: -1 5: -4 4: -6 1: -7 -2: -7 -5: -6 -7: -5 -8: -3 -9: -1 -9: 1 -8: 3 -5: 4 -2: -64 0: -1 5: -3 4: -5 1: -6 -2: -6 -6: -5 -8: -64 0: -3 -16: 4 -16:-64 -64 2168: -9 8: -8 1: -7 3: -5 5: -2 5: -1 4: -1 2: -2 -2: -4 -9: -64 0: -3 5: -2 4: -2 2: -3 -2: -5 -9: -64 0: -2 -2: 0 2: 2 4: 4 5: 6 5: 7 4: 7 3: 6 2: 5 3: 6 4:-64 -64 2169: -8 9: 6 3: 6 2: 7 2: 7 3: 6 4: 3 5: 0 5: -3 4: -4 3: -4 1: -3 0: 4 -4: 5 -5: -64 0: -4 2: -3 1: 4 -3: 5 -4: 5 -7: 4 -8: 1 -9: -2 -9: -5 -8: -6 -7: -6 -6: -5 -6: -5 -7:-64 -64 2170: -7 7: 2 12: -2 -2: -3 -6: -3 -8: -2 -9: 1 -9: 3 -7: 4 -5: -64 0: 3 12: -1 -2: -2 -6: -2 -8: -1 -9: -64 0: -4 5: 5 5:-64 -64 2171: -12 11: -11 1: -10 3: -8 5: -5 5: -4 4: -4 1: -6 -5: -6 -7: -4 -9: -64 0: -6 5: -5 4: -5 1: -7 -5: -7 -7: -6 -8: -4 -9: -2 -9: 0 -8: 2 -6: 4 -2: -64 0: 6 5: 4 -2: 3 -6: 3 -8: 4 -9: 7 -9: 9 -7: 10 -5: -64 0: 7 5: 5 -2: 4 -6: 4 -8: 5 -9:-64 -64 2172: -10 10: -9 1: -8 3: -6 5: -3 5: -2 4: -2 1: -4 -5: -4 -7: -2 -9: -64 0: -4 5: -3 4: -3 1: -5 -5: -5 -7: -4 -8: -2 -9: -1 -9: 2 -8: 4 -6: 6 -3: 7 1: 7 5: 6 5: 7 3:-64 -64 2173: -15 14: -14 1: -13 3: -11 5: -8 5: -7 4: -7 1: -9 -5: -9 -7: -7 -9: -64 0: -9 5: -8 4: -8 1: -10 -5: -10 -7: -9 -8: -7 -9: -5 -9: -3 -8: -1 -6: 0 -4: -64 0: 2 5: 0 -4: 0 -7: 1 -8: 3 -9: 5 -9: 7 -8: 9 -6: 10 -4: 11 0: 11 5: 10 5: 11 3: -64 0: 3 5: 1 -4: 1 -7: 3 -9:-64 -64 2174: -10 10: -7 1: -5 4: -3 5: 0 5: 1 3: 1 0: -64 0: -1 5: 0 3: 0 0: -1 -4: -2 -6: -4 -8: -6 -9: -7 -9: -8 -8: -8 -7: -7 -6: -6 -7: -7 -8: -64 0: -1 -4: -1 -7: 0 -9: 3 -9: 5 -8: 7 -5: -64 0: 7 4: 6 3: 7 2: 8 3: 8 4: 7 5: 6 5: 4 4: 2 2: 1 0: 0 -4: 0 -7: 1 -9:-64 -64 2175: -11 10: -10 1: -9 3: -7 5: -4 5: -3 4: -3 1: -5 -5: -5 -7: -3 -9: -64 0: -5 5: -4 4: -4 1: -6 -5: -6 -7: -5 -8: -3 -9: -1 -9: 1 -8: 3 -6: 5 -2: -64 0: 8 5: 4 -9: 3 -12: 1 -15: -2 -16: -5 -16: -7 -15: -8 -14: -8 -13: -7 -12: -6 -13: -7 -14: -64 0: 7 5: 3 -9: 2 -12: 0 -15: -2 -16:-64 -64 2176: -10 10: 7 5: 6 3: 4 1: -4 -5: -6 -7: -7 -9: -64 0: -6 1: -5 3: -3 5: 0 5: 4 3: -64 0: -5 3: -3 4: 0 4: 4 3: 6 3: -64 0: -6 -7: -4 -7: 0 -8: 3 -8: 5 -7: -64 0: -4 -7: 0 -9: 3 -9: 5 -7: 6 -5:-64 -64 2177: -11 12: 4 11: 3 10: 4 9: 5 10: 5 11: 3 12: 0 12: -3 11: -5 9: -6 6: -6 -9: -64 0: 0 12: -2 11: -4 9: -5 6: -5 -9: -64 0: 10 11: 9 10: 10 9: 11 10: 11 11: 10 12: 8 12: 6 11: 5 9: 5 -9: -64 0: 8 12: 7 11: 6 9: 6 -9: -64 0: -9 5: 9 5: -64 0: -9 -9: -2 -9: -64 0: 2 -9: 9 -9:-64 -64 2178: -11 11: 5 11: 4 10: 5 9: 6 10: 5 11: 3 12: 0 12: -3 11: -5 9: -6 6: -6 -9: -64 0: 0 12: -2 11: -4 9: -5 6: -5 -9: -64 0: 5 5: 5 -9: -64 0: 6 5: 6 -9: -64 0: -9 5: 6 5: -64 0: -9 -9: -2 -9: -64 0: 2 -9: 9 -9:-64 -64 2179: -11 11: 4 11: 3 10: 4 9: 5 10: 5 11: 3 12: -64 0: 6 12: 0 12: -3 11: -5 9: -6 6: -6 -9: -64 0: 0 12: -2 11: -4 9: -5 6: -5 -9: -64 0: 5 10: 5 -9: -64 0: 6 12: 6 -9: -64 0: -9 5: 5 5: -64 0: -9 -9: -2 -9: -64 0: 2 -9: 9 -9:-64 -64 2180: -16 17: 0 11: -1 10: 0 9: 1 10: 0 11: -2 12: -5 12: -8 11: -10 9: -11 6: -11 -9: -64 0: -5 12: -7 11: -9 9: -10 6: -10 -9: -64 0: 11 11: 10 10: 11 9: 12 10: 11 11: 9 12: 6 12: 3 11: 1 9: 0 6: 0 -9: -64 0: 6 12: 4 11: 2 9: 1 6: 1 -9: -64 0: 11 5: 11 -9: -64 0: 12 5: 12 -9: -64 0: -14 5: 12 5: -64 0: -14 -9: -7 -9: -64 0: -3 -9: 4 -9: -64 0: 8 -9: 15 -9:-64 -64 2181: -16 17: 0 11: -1 10: 0 9: 1 10: 0 11: -2 12: -5 12: -8 11: -10 9: -11 6: -11 -9: -64 0: -5 12: -7 11: -9 9: -10 6: -10 -9: -64 0: 10 11: 9 10: 10 9: 11 10: 11 11: 9 12: -64 0: 12 12: 6 12: 3 11: 1 9: 0 6: 0 -9: -64 0: 6 12: 4 11: 2 9: 1 6: 1 -9: -64 0: 11 10: 11 -9: -64 0: 12 12: 12 -9: -64 0: -14 5: 11 5: -64 0: -14 -9: -7 -9: -64 0: -3 -9: 4 -9: -64 0: 8 -9: 15 -9:-64 -64 2182: -5 6: 0 5: 0 -9: -64 0: 1 5: 1 -9: -64 0: -3 5: 1 5: -64 0: -3 -9: 4 -9:-64 -64 2184: -9 8: 5 4: 3 5: 0 5: -3 4: -5 2: -6 -1: -6 -4: -5 -7: -4 -8: -1 -9: 2 -9: 4 -8: -64 0: 0 5: -2 4: -4 2: -5 -1: -5 -4: -4 -7: -3 -8: -1 -9: -64 0: -5 -2: 3 -2:-64 -64 2185: -9 10: 2 12: -1 11: -3 8: -4 6: -5 3: -6 -2: -6 -6: -5 -8: -3 -9: -1 -9: 2 -8: 4 -5: 5 -3: 6 0: 7 5: 7 9: 6 11: 4 12: 2 12: -64 0: 2 12: 0 11: -2 8: -3 6: -4 3: -5 -2: -5 -6: -4 -8: -3 -9: -64 0: -1 -9: 1 -8: 3 -5: 4 -3: 5 0: 6 5: 6 9: 5 11: 4 12: -64 0: -4 2: 5 2:-64 -64 2186: -11 11: 3 12: -3 -16: -64 0: 4 12: -4 -16: -64 0: -1 5: -5 4: -7 2: -8 -1: -8 -4: -7 -6: -5 -8: -2 -9: 1 -9: 5 -8: 7 -6: 8 -3: 8 0: 7 2: 5 4: 2 5: -1 5: -64 0: -1 5: -4 4: -6 2: -7 -1: -7 -4: -6 -6: -4 -8: -2 -9: -64 0: 1 -9: 4 -8: 6 -6: 7 -3: 7 0: 6 2: 4 4: 2 5:-64 -64 2187: -9 9: 2 5: 4 4: 6 2: 6 3: 5 4: 2 5: -1 5: -4 4: -5 3: -6 1: -6 -1: -5 -3: -3 -5: 1 -8: -64 0: -1 5: -3 4: -4 3: -5 1: -5 -1: -4 -3: 1 -8: 2 -10: 2 -12: 1 -13: -1 -13:-64 -64 2190: -11 11: -6 5: -7 4: -8 2: -8 0: -7 -3: -3 -7: -2 -9: -64 0: -8 0: -7 -2: -3 -6: -2 -9: -2 -11: -3 -14: -5 -16: -6 -16: -7 -15: -8 -13: -8 -10: -7 -6: -5 -2: -3 1: 0 4: 2 5: 4 5: 7 4: 8 2: 8 -2: 7 -6: 5 -8: 3 -9: 2 -9: 1 -8: 1 -6: 2 -5: 3 -6: 2 -7: -64 0: 4 5: 6 4: 7 2: 7 -2: 6 -6: 5 -8:-64 -64 2191: -13 13: 7 11: 6 10: 7 9: 8 10: 7 11: 5 12: 2 12: -1 11: -3 9: -4 7: -5 4: -6 0: -8 -9: -9 -13: -10 -15: -64 0: 2 12: 0 11: -2 9: -3 7: -4 4: -6 -5: -7 -9: -8 -12: -9 -14: -10 -15: -12 -16: -14 -16: -15 -15: -15 -14: -14 -13: -13 -14: -14 -15: -64 0: 13 11: 12 10: 13 9: 14 10: 14 11: 13 12: 11 12: 9 11: 8 10: 7 8: 6 5: 3 -9: 2 -13: 1 -15: -64 0: 11 12: 9 10: 8 8: 7 4: 5 -5: 4 -9: 3 -12: 2 -14: 1 -15: -1 -16: -3 -16: -4 -15: -4 -14: -3 -13: -2 -14: -3 -15: -64 0: -9 5: 12 5:-64 -64 2192: -12 12: 9 11: 8 10: 9 9: 10 10: 9 11: 6 12: 3 12: 0 11: -2 9: -3 7: -4 4: -5 0: -7 -9: -8 -13: -9 -15: -64 0: 3 12: 1 11: -1 9: -2 7: -3 4: -5 -5: -6 -9: -7 -12: -8 -14: -9 -15: -11 -16: -13 -16: -14 -15: -14 -14: -13 -13: -12 -14: -13 -15: -64 0: 7 5: 5 -2: 4 -6: 4 -8: 5 -9: 8 -9: 10 -7: 11 -5: -64 0: 8 5: 6 -2: 5 -6: 5 -8: 6 -9: -64 0: -8 5: 8 5:-64 -64 2193: -12 12: 7 11: 6 10: 7 9: 8 10: 8 11: 6 12: -64 0: 10 12: 3 12: 0 11: -2 9: -3 7: -4 4: -5 0: -7 -9: -8 -13: -9 -15: -64 0: 3 12: 1 11: -1 9: -2 7: -3 4: -5 -5: -6 -9: -7 -12: -8 -14: -9 -15: -11 -16: -13 -16: -14 -15: -14 -14: -13 -13: -12 -14: -13 -15: -64 0: 9 12: 5 -2: 4 -6: 4 -8: 5 -9: 8 -9: 10 -7: 11 -5: -64 0: 10 12: 6 -2: 5 -6: 5 -8: 6 -9: -64 0: -8 5: 7 5:-64 -64 2194: -18 17: 2 11: 1 10: 2 9: 3 10: 2 11: 0 12: -3 12: -6 11: -8 9: -9 7: -10 4: -11 0: -13 -9: -14 -13: -15 -15: -64 0: -3 12: -5 11: -7 9: -8 7: -9 4: -11 -5: -12 -9: -13 -12: -14 -14: -15 -15: -17 -16: -19 -16: -20 -15: -20 -14: -19 -13: -18 -14: -19 -15: -64 0: 14 11: 13 10: 14 9: 15 10: 14 11: 11 12: 8 12: 5 11: 3 9: 2 7: 1 4: 0 0: -2 -9: -3 -13: -4 -15: -64 0: 8 12: 6 11: 4 9: 3 7: 2 4: 0 -5: -1 -9: -2 -12: -3 -14: -4 -15: -6 -16: -8 -16: -9 -15: -9 -14: -8 -13: -7 -14: -8 -15: -64 0: 12 5: 10 -2: 9 -6: 9 -8: 10 -9: 13 -9: 15 -7: 16 -5: -64 0: 13 5: 11 -2: 10 -6: 10 -8: 11 -9: -64 0: -14 5: 13 5:-64 -64 2195: -18 17: 2 11: 1 10: 2 9: 3 10: 2 11: 0 12: -3 12: -6 11: -8 9: -9 7: -10 4: -11 0: -13 -9: -14 -13: -15 -15: -64 0: -3 12: -5 11: -7 9: -8 7: -9 4: -11 -5: -12 -9: -13 -12: -14 -14: -15 -15: -17 -16: -19 -16: -20 -15: -20 -14: -19 -13: -18 -14: -19 -15: -64 0: 12 11: 11 10: 12 9: 13 10: 13 11: 11 12: -64 0: 15 12: 8 12: 5 11: 3 9: 2 7: 1 4: 0 0: -2 -9: -3 -13: -4 -15: -64 0: 8 12: 6 11: 4 9: 3 7: 2 4: 0 -5: -1 -9: -2 -12: -3 -14: -4 -15: -6 -16: -8 -16: -9 -15: -9 -14: -8 -13: -7 -14: -8 -15: -64 0: 14 12: 10 -2: 9 -6: 9 -8: 10 -9: 13 -9: 15 -7: 16 -5: -64 0: 15 12: 11 -2: 10 -6: 10 -8: 11 -9: -64 0: -14 5: 12 5:-64 -64 2196: -6 7: -5 1: -4 3: -2 5: 1 5: 2 4: 2 1: 0 -5: 0 -8: 1 -9: -64 0: 0 5: 1 4: 1 1: -1 -5: -1 -8: 0 -9: 3 -9: 5 -7: 6 -5:-64 -64 2197: 0 0:-64 -64 2198: -4 4:-64 -64 2199: -8 8:-64 -64 2200: -10 10: -1 12: -4 11: -6 8: -7 3: -7 0: -6 -5: -4 -8: -1 -9: 1 -9: 4 -8: 6 -5: 7 0: 7 3: 6 8: 4 11: 1 12: -1 12: -64 0: -1 12: -3 11: -4 10: -5 8: -6 3: -6 0: -5 -5: -4 -7: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 4 -7: 5 -5: 6 0: 6 3: 5 8: 4 10: 3 11: 1 12:-64 -64 2201: -10 10: -4 8: -2 9: 1 12: 1 -9: -64 0: 0 11: 0 -9: -64 0: -4 -9: 5 -9:-64 -64 2202: -10 10: -6 8: -5 7: -6 6: -7 7: -7 8: -6 10: -5 11: -2 12: 2 12: 5 11: 6 10: 7 8: 7 6: 6 4: 3 2: -2 0: -4 -1: -6 -3: -7 -6: -7 -9: -64 0: 2 12: 4 11: 5 10: 6 8: 6 6: 5 4: 2 2: -2 0: -64 0: -7 -7: -6 -6: -4 -6: 1 -8: 4 -8: 6 -7: 7 -6: -64 0: -4 -6: 1 -9: 5 -9: 6 -8: 7 -6: 7 -4:-64 -64 2203: -10 10: -6 8: -5 7: -6 6: -7 7: -7 8: -6 10: -5 11: -2 12: 2 12: 5 11: 6 9: 6 6: 5 4: 2 3: -1 3: -64 0: 2 12: 4 11: 5 9: 5 6: 4 4: 2 3: -64 0: 2 3: 4 2: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -2 -9: -5 -8: -6 -7: -7 -5: -7 -4: -6 -3: -5 -4: -6 -5: -64 0: 5 1: 6 -2: 6 -5: 5 -7: 4 -8: 2 -9:-64 -64 2204: -10 10: 2 10: 2 -9: -64 0: 3 12: 3 -9: -64 0: 3 12: -8 -3: 8 -3: -64 0: -1 -9: 6 -9:-64 -64 2205: -10 10: -5 12: -7 2: -64 0: -7 2: -5 4: -2 5: 1 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -2 -9: -5 -8: -6 -7: -7 -5: -7 -4: -6 -3: -5 -4: -6 -5: -64 0: 1 5: 3 4: 5 2: 6 -1: 6 -3: 5 -6: 3 -8: 1 -9: -64 0: -5 12: 5 12: -64 0: -5 11: 0 11: 5 12:-64 -64 2206: -10 10: 5 9: 4 8: 5 7: 6 8: 6 9: 5 11: 3 12: 0 12: -3 11: -5 9: -6 7: -7 3: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 -2: 6 1: 4 3: 1 4: 0 4: -3 3: -5 1: -6 -2: -64 0: 0 12: -2 11: -4 9: -5 7: -6 3: -6 -3: -5 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -6: 6 -3: 6 -2: 5 1: 3 3: 1 4:-64 -64 2207: -10 10: -7 12: -7 6: -64 0: -7 8: -6 10: -4 12: -2 12: 3 9: 5 9: 6 10: 7 12: -64 0: -6 10: -4 11: -2 11: 3 9: -64 0: 7 12: 7 9: 6 6: 2 1: 1 -1: 0 -4: 0 -9: -64 0: 6 6: 1 1: 0 -1: -1 -4: -1 -9:-64 -64 2208: -10 10: -2 12: -5 11: -6 9: -6 6: -5 4: -2 3: 2 3: 5 4: 6 6: 6 9: 5 11: 2 12: -2 12: -64 0: -2 12: -4 11: -5 9: -5 6: -4 4: -2 3: -64 0: 2 3: 4 4: 5 6: 5 9: 4 11: 2 12: -64 0: -2 3: -5 2: -6 1: -7 -1: -7 -5: -6 -7: -5 -8: -2 -9: 2 -9: 5 -8: 6 -7: 7 -5: 7 -1: 6 1: 5 2: 2 3: -64 0: -2 3: -4 2: -5 1: -6 -1: -6 -5: -5 -7: -4 -8: -2 -9: -64 0: 2 -9: 4 -8: 5 -7: 6 -5: 6 -1: 5 1: 4 2: 2 3:-64 -64 2209: -10 10: 6 5: 5 2: 3 0: 0 -1: -1 -1: -4 0: -6 2: -7 5: -7 6: -6 9: -4 11: -1 12: 1 12: 4 11: 6 9: 7 6: 7 0: 6 -4: 5 -6: 3 -8: 0 -9: -3 -9: -5 -8: -6 -6: -6 -5: -5 -4: -4 -5: -5 -6: -64 0: -1 -1: -3 0: -5 2: -6 5: -6 6: -5 9: -3 11: -1 12: -64 0: 1 12: 3 11: 5 9: 6 6: 6 0: 5 -4: 4 -6: 2 -8: 0 -9:-64 -64 2210: -5 5: 0 -7: -1 -8: 0 -9: 1 -8: 0 -7:-64 -64 2211: -5 5: 0 -9: -1 -8: 0 -7: 1 -8: 1 -10: 0 -12: -1 -13:-64 -64 2212: -5 5: 0 5: -1 4: 0 3: 1 4: 0 5: -64 0: 0 -7: -1 -8: 0 -9: 1 -8: 0 -7:-64 -64 2213: -5 5: 0 5: -1 4: 0 3: 1 4: 0 5: -64 0: 0 -9: -1 -8: 0 -7: 1 -8: 1 -10: 0 -12: -1 -13:-64 -64 2214: -5 5: 0 12: -1 10: 0 -2: 1 10: 0 12: -64 0: 0 10: 0 4: -64 0: 0 -7: -1 -8: 0 -9: 1 -8: 0 -7:-64 -64 2215: -9 9: -5 8: -4 7: -5 6: -6 7: -6 8: -5 10: -4 11: -2 12: 1 12: 4 11: 5 10: 6 8: 6 6: 5 4: 4 3: 0 1: 0 -2: -64 0: 1 12: 3 11: 4 10: 5 8: 5 6: 4 4: 2 2: -64 0: 0 -7: -1 -8: 0 -9: 1 -8: 0 -7:-64 -64 2216: -4 4: 0 12: -1 5: -64 0: 1 12: -1 5:-64 -64 2217: -8 8: -4 12: -5 5: -64 0: -3 12: -5 5: -64 0: 4 12: 3 5: -64 0: 5 12: 3 5:-64 -64 2218: -7 7: -1 12: -3 11: -4 9: -4 7: -3 5: -1 4: 1 4: 3 5: 4 7: 4 9: 3 11: 1 12: -1 12:-64 -64 2219: -8 8: 0 12: 0 0: -64 0: -5 9: 5 3: -64 0: 5 9: -5 3:-64 -64 2220: -11 11: 9 16: -9 -16:-64 -64 2221: -7 7: 4 16: 2 14: 0 11: -2 7: -3 2: -3 -2: -2 -7: 0 -11: 2 -14: 4 -16: -64 0: 2 14: 0 10: -1 7: -2 2: -2 -2: -1 -7: 0 -10: 2 -14:-64 -64 2222: -7 7: -4 16: -2 14: 0 11: 2 7: 3 2: 3 -2: 2 -7: 0 -11: -2 -14: -4 -16: -64 0: -2 14: 0 10: 1 7: 2 2: 2 -2: 1 -7: 0 -10: -2 -14:-64 -64 2223: -7 7: -3 16: -3 -16: -64 0: -2 16: -2 -16: -64 0: -3 16: 4 16: -64 0: -3 -16: 4 -16:-64 -64 2224: -7 7: 2 16: 2 -16: -64 0: 3 16: 3 -16: -64 0: -4 16: 3 16: -64 0: -4 -16: 3 -16:-64 -64 2225: -7 7: 2 16: 0 15: -1 14: -2 12: -2 10: -1 8: 0 7: 1 5: 1 3: -1 1: -64 0: 0 15: -1 13: -1 11: 0 9: 1 8: 2 6: 2 4: 1 2: -3 0: 1 -2: 2 -4: 2 -6: 1 -8: 0 -9: -1 -11: -1 -13: 0 -15: -64 0: -1 -1: 1 -3: 1 -5: 0 -7: -1 -8: -2 -10: -2 -12: -1 -14: 0 -15: 2 -16:-64 -64 2226: -7 7: -2 16: 0 15: 1 14: 2 12: 2 10: 1 8: 0 7: -1 5: -1 3: 1 1: -64 0: 0 15: 1 13: 1 11: 0 9: -1 8: -2 6: -2 4: -1 2: 3 0: -1 -2: -2 -4: -2 -6: -1 -8: 0 -9: 1 -11: 1 -13: 0 -15: -64 0: 1 -1: -1 -3: -1 -5: 0 -7: 1 -8: 2 -10: 2 -12: 1 -14: 0 -15: -2 -16:-64 -64 2227: -7 7: 3 16: -4 0: 3 -16:-64 -64 2228: -7 7: -3 16: 4 0: -3 -16:-64 -64 2229: -4 4: 0 16: 0 -16:-64 -64 2230: -7 7: -3 16: -3 -16: -64 0: 3 16: 3 -16:-64 -64 2231: -13 13: -9 0: 9 0:-64 -64 2232: -13 13: 0 9: 0 -9: -64 0: -9 0: 9 0:-64 -64 2233: -12 12: 0 8: 0 -9: -64 0: -8 0: 8 0: -64 0: -8 -9: 8 -9:-64 -64 2234: -12 12: 0 8: 0 -9: -64 0: -8 8: 8 8: -64 0: -8 0: 8 0:-64 -64 2235: -11 11: -7 7: 7 -7: -64 0: 7 7: -7 -7:-64 -64 2236: -5 5: 0 1: -1 0: 0 -1: 1 0: 0 1:-64 -64 2237: -13 13: 0 9: -1 8: 0 7: 1 8: 0 9: -64 0: -9 0: 9 0: -64 0: 0 -7: -1 -8: 0 -9: 1 -8: 0 -7:-64 -64 2238: -13 13: -9 3: 9 3: -64 0: -9 -3: 9 -3:-64 -64 2239: -13 13: 7 9: -7 -9: -64 0: -9 3: 9 3: -64 0: -9 -3: 9 -3:-64 -64 2240: -13 13: -9 5: 9 5: -64 0: -9 0: 9 0: -64 0: -9 -5: 9 -5:-64 -64 2241: -12 12: 8 9: -8 0: 8 -9:-64 -64 2242: -12 12: -8 9: 8 0: -8 -9:-64 -64 2243: -12 12: 8 12: -8 5: 8 -2: -64 0: -8 -4: 8 -4: -64 0: -8 -9: 8 -9:-64 -64 2244: -12 12: -8 12: 8 5: -8 -2: -64 0: -8 -4: 8 -4: -64 0: -8 -9: 8 -9:-64 -64 2245: -12 13: 9 -5: 7 -5: 5 -4: 3 -2: 0 2: -1 3: -3 4: -5 4: -7 3: -8 1: -8 -1: -7 -3: -5 -4: -3 -4: -1 -3: 0 -2: 3 2: 5 4: 7 5: 9 5:-64 -64 2246: -12 12: -9 -3: -9 -1: -8 2: -6 3: -4 3: -2 2: 2 -1: 4 -2: 6 -2: 8 -1: 9 1: -64 0: -9 -1: -8 1: -6 2: -4 2: -2 1: 2 -2: 4 -3: 6 -3: 8 -2: 9 1: 9 3:-64 -64 2247: -11 11: -8 -2: 0 3: 8 -2: -64 0: -8 -2: 0 2: 8 -2:-64 -64 2248: -6 6: 2 12: -3 6: -64 0: 2 12: 3 11: -3 6:-64 -64 2249: -6 6: -2 12: 3 6: -64 0: -2 12: -3 11: 3 6:-64 -64 2250: -10 10: -7 12: -6 10: -4 8: -1 7: 1 7: 4 8: 6 10: 7 12: -64 0: -7 12: -6 9: -4 7: -1 6: 1 6: 4 7: 6 9: 7 12:-64 -64 2251: -5 5: 0 10: -1 11: 0 12: 1 11: 1 9: 0 7: -1 6:-64 -64 2252: -5 5: 1 12: 0 11: -1 9: -1 7: 0 6: 1 7: 0 8:-64 -64 2253: -5 5: 0 10: 1 11: 0 12: -1 11: -1 9: 0 7: 1 6:-64 -64 2254: -5 5: -1 12: 0 11: 1 9: 1 7: 0 6: -1 7: 0 8:-64 -64 2255: -13 9: -10 5: -6 5: 0 -7: -64 0: -7 5: 0 -9: -64 0: 9 16: 0 -9:-64 -64 2256: -12 12: 8 8: 1 8: -3 7: -5 6: -7 4: -8 1: -8 -1: -7 -4: -5 -6: -3 -7: 1 -8: 8 -8:-64 -64 2257: -12 12: -8 8: -8 1: -7 -3: -6 -5: -4 -7: -1 -8: 1 -8: 4 -7: 6 -5: 7 -3: 8 1: 8 8:-64 -64 2258: -12 12: -8 8: -1 8: 3 7: 5 6: 7 4: 8 1: 8 -1: 7 -4: 5 -6: 3 -7: -1 -8: -8 -8:-64 -64 2259: -12 12: -8 -8: -8 -1: -7 3: -6 5: -4 7: -1 8: 1 8: 4 7: 6 5: 7 3: 8 -1: 8 -8:-64 -64 2260: -12 12: 8 8: 1 8: -3 7: -5 6: -7 4: -8 1: -8 -1: -7 -4: -5 -6: -3 -7: 1 -8: 8 -8: -64 0: -8 0: 4 0:-64 -64 2261: -13 13: 6 2: 9 0: 6 -2: -64 0: 3 5: 8 0: 3 -5: -64 0: -9 0: 8 0:-64 -64 2262: -8 8: -2 6: 0 9: 2 6: -64 0: -5 3: 0 8: 5 3: -64 0: 0 8: 0 -9:-64 -64 2263: -13 13: -6 2: -9 0: -6 -2: -64 0: -3 5: -8 0: -3 -5: -64 0: -8 0: 9 0:-64 -64 2264: -8 8: -2 -6: 0 -9: 2 -6: -64 0: -5 -3: 0 -8: 5 -3: -64 0: 0 9: 0 -8:-64 -64 2265: -9 10: 6 0: 5 3: 4 4: 2 5: 0 5: -3 4: -5 1: -6 -2: -6 -5: -5 -7: -4 -8: -2 -9: 0 -9: 3 -8: 5 -6: 6 -3: 7 2: 7 7: 6 10: 5 11: 3 12: 0 12: -2 11: -3 10: -3 9: -2 9: -2 10: -64 0: 0 5: -2 4: -4 1: -5 -2: -5 -6: -4 -8: -64 0: 0 -9: 2 -8: 4 -6: 5 -3: 6 2: 6 7: 5 10: 3 12:-64 -64 2266: -10 10: -8 12: 0 -9: -64 0: -7 12: 0 -7: -64 0: 8 12: 0 -9: -64 0: -8 12: 8 12: -64 0: -7 11: 7 11:-64 -64 2267: -17 16: -14 5: -9 5: 0 -7: -64 0: -10 4: 0 -9: -64 0: 16 24: 0 -9:-64 -64 2268: -12 12: 9 15: 8 14: 9 13: 10 14: 10 15: 9 16: 7 16: 5 15: 3 13: 2 11: 1 8: 0 4: -2 -8: -3 -12: -4 -14: -64 0: 4 14: 3 12: 2 8: 0 -4: -1 -8: -2 -11: -3 -13: -5 -15: -7 -16: -9 -16: -10 -15: -10 -14: -9 -13: -8 -14: -9 -15:-64 -64 2269: -12 12: 9 15: 8 14: 9 13: 10 14: 10 15: 9 16: 7 16: 5 15: 3 13: 2 11: 1 8: 0 4: -2 -8: -3 -12: -4 -14: -64 0: 4 14: 3 12: 2 8: 0 -4: -1 -8: -2 -11: -3 -13: -5 -15: -7 -16: -9 -16: -10 -15: -10 -14: -9 -13: -8 -14: -9 -15: -64 0: -1 7: -4 6: -6 4: -7 1: -7 -1: -6 -4: -4 -6: -1 -7: 1 -7: 4 -6: 6 -4: 7 -1: 7 1: 6 4: 4 6: 1 7: -1 7:-64 -64 2270: -12 13: 10 -1: 9 -3: 7 -4: 5 -4: 3 -3: 2 -2: -1 2: -2 3: -4 4: -6 4: -8 3: -9 1: -9 -1: -8 -3: -6 -4: -4 -4: -2 -3: -1 -2: 2 2: 3 3: 5 4: 7 4: 9 3: 10 1: 10 -1:-64 -64 2271: -12 12: 9 12: -9 -9: -64 0: -4 12: -2 10: -2 8: -3 6: -5 5: -7 5: -9 7: -9 9: -8 11: -6 12: -4 12: -2 11: 1 10: 4 10: 7 11: 9 12: -64 0: 5 -2: 3 -3: 2 -5: 2 -7: 4 -9: 6 -9: 8 -8: 9 -6: 9 -4: 7 -2: 5 -2:-64 -64 2272: -12 13: 9 4: 8 3: 9 2: 10 3: 10 4: 9 5: 8 5: 7 4: 6 2: 4 -3: 2 -6: 0 -8: -2 -9: -5 -9: -8 -8: -9 -6: -9 -3: -8 -1: -2 3: 0 5: 1 7: 1 9: 0 11: -2 12: -4 11: -5 9: -5 7: -4 4: -2 1: 3 -6: 5 -8: 8 -9: 9 -9: 10 -8: 10 -7: -64 0: -5 -9: -7 -8: -8 -6: -8 -3: -7 -1: -5 1: -64 0: -5 7: -4 5: 4 -6: 6 -8: 8 -9:-64 -64 2273: -13 14: 5 4: 4 6: 2 7: -1 7: -3 6: -4 5: -5 2: -5 -1: -4 -3: -2 -4: 1 -4: 3 -3: 4 -1: -64 0: -1 7: -3 5: -4 2: -4 -1: -3 -3: -2 -4: -64 0: 5 7: 4 -1: 4 -3: 6 -4: 8 -4: 10 -2: 11 1: 11 3: 10 6: 9 8: 7 10: 5 11: 2 12: -1 12: -4 11: -6 10: -8 8: -9 6: -10 3: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 2 -9: 5 -8: 7 -7: 8 -6: -64 0: 6 7: 5 -1: 5 -3: 6 -4:-64 -64 2274: -10 10: -2 16: -2 -13: -64 0: 2 16: 2 -13: -64 0: 6 9: 5 8: 6 7: 7 8: 7 9: 5 11: 2 12: -2 12: -5 11: -7 9: -7 7: -6 5: -5 4: -3 3: 3 1: 5 0: 7 -2: -64 0: -7 7: -5 5: -3 4: 3 2: 5 1: 6 0: 7 -2: 7 -6: 5 -8: 2 -9: -2 -9: -5 -8: -7 -6: -7 -5: -6 -4: -5 -5: -6 -6:-64 -64 2275: -10 11: 1 12: -6 -16: -64 0: 7 12: 0 -16: -64 0: -6 1: 8 1: -64 0: -7 -5: 7 -5:-64 -64 2276: -8 8: 3 9: 2 8: 3 7: 4 8: 4 9: 3 11: 1 12: -1 12: -3 11: -4 9: -4 7: -3 5: -1 3: 4 0: -64 0: -3 5: 2 2: 4 0: 5 -2: 5 -4: 4 -6: 2 -8: -64 0: -2 4: -4 2: -5 0: -5 -2: -4 -4: -2 -6: 3 -9: -64 0: -4 -4: 1 -7: 3 -9: 4 -11: 4 -13: 3 -15: 1 -16: -1 -16: -3 -15: -4 -13: -4 -12: -3 -11: -2 -12: -3 -13:-64 -64 2277: -8 8: 0 12: -1 10: 0 8: 1 10: 0 12: -64 0: 0 12: 0 -16: -64 0: 0 1: -1 -2: 0 -16: 1 -2: 0 1: -64 0: -6 5: -4 4: -2 5: -4 6: -6 5: -64 0: -6 5: 6 5: -64 0: 2 5: 4 4: 6 5: 4 6: 2 5:-64 -64 2278: -8 8: 0 12: -1 10: 0 8: 1 10: 0 12: -64 0: 0 12: 0 -2: -64 0: 0 2: -1 0: 1 -4: 0 -6: -1 -4: 1 0: 0 2: -64 0: 0 -2: 0 -16: -64 0: 0 -12: -1 -14: 0 -16: 1 -14: 0 -12: -64 0: -6 5: -4 4: -2 5: -4 6: -6 5: -64 0: -6 5: 6 5: -64 0: 2 5: 4 4: 6 5: 4 6: 2 5: -64 0: -6 -9: -4 -10: -2 -9: -4 -8: -6 -9: -64 0: -6 -9: 6 -9: -64 0: 2 -9: 4 -10: 6 -9: 4 -8: 2 -9:-64 -64 2279: -9 10: 6 12: 6 -9: -64 0: -7 12: 6 12: -64 0: -2 2: 6 2: -64 0: -7 -9: 6 -9:-64 -64 2281: -13 14: -1 12: -4 11: -7 9: -9 6: -10 3: -10 0: -9 -3: -7 -6: -4 -8: -1 -9: 2 -9: 5 -8: 8 -6: 10 -3: 11 0: 11 3: 10 6: 8 9: 5 11: 2 12: -1 12: -64 0: 0 3: -1 2: -1 1: 0 0: 1 0: 2 1: 2 2: 1 3: 0 3: -64 0: 0 2: 0 1: 1 1: 1 2: 0 2:-64 -64 2282: -8 9: -2 12: -4 11: -3 9: -1 8: -64 0: -2 12: -3 11: -3 9: -64 0: 3 12: 5 11: 4 9: 2 8: -64 0: 3 12: 4 11: 4 9: -64 0: -1 8: -3 7: -4 6: -5 4: -5 1: -4 -1: -3 -2: -1 -3: 2 -3: 4 -2: 5 -1: 6 1: 6 4: 5 6: 4 7: 2 8: -1 8: -64 0: 0 -3: 0 -9: -64 0: 1 -3: 1 -9: -64 0: -4 -6: 5 -6:-64 -64 2283: -9 10: 0 12: -3 11: -5 9: -6 6: -6 5: -5 2: -3 0: 0 -1: 1 -1: 4 0: 6 2: 7 5: 7 6: 6 9: 4 11: 1 12: 0 12: -64 0: 0 -1: 0 -9: -64 0: 1 -1: 1 -9: -64 0: -4 -5: 5 -5:-64 -64 2284: -14 14: -2 12: -5 11: -8 9: -10 6: -11 3: -11 -1: -10 -4: -8 -7: -5 -9: -2 -10: 2 -10: 5 -9: 8 -7: 10 -4: 11 -1: 11 3: 10 6: 8 9: 5 11: 2 12: -2 12: -64 0: 0 12: 0 -10: -64 0: -11 1: 11 1:-64 -64 2285: -11 14: -2 5: -5 4: -7 2: -8 -1: -8 -2: -7 -5: -5 -7: -2 -8: -1 -8: 2 -7: 4 -5: 5 -2: 5 -1: 4 2: 2 4: -1 5: -2 5: -64 0: 11 11: 5 11: 9 10: 3 4: -64 0: 11 11: 11 5: 10 9: 4 3: -64 0: 10 10: 4 4:-64 -64 2286: -12 10: -9 9: -8 11: -6 12: -3 12: -1 11: 0 9: 0 6: -1 3: -2 1: -4 -1: -7 -3: -64 0: -3 12: -2 11: -1 9: -1 5: -2 2: -4 -1: -64 0: 4 12: 2 -9: -64 0: 5 12: 1 -9: -64 0: -7 -3: 7 -3:-64 -64 2287: -9 10: -5 12: -5 -3: -64 0: -4 12: -5 1: -64 0: -5 1: -4 3: -3 4: -1 5: 2 5: 5 4: 6 2: 6 0: 5 -2: 3 -4: -64 0: 2 5: 4 4: 5 2: 5 0: 2 -6: 2 -8: 3 -9: 5 -9: 7 -7: -64 0: -7 12: -4 12:-64 -64 2288: -9 10: 0 4: -3 3: -5 1: -6 -2: -6 -3: -5 -6: -3 -8: 0 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 -2: 6 1: 4 3: 1 4: 0 4: -64 0: 0 10: -4 8: 0 12: 0 4: -64 0: 1 10: 5 8: 1 12: 1 4: -64 0: 0 -1: -1 -2: -1 -3: 0 -4: 1 -4: 2 -3: 2 -2: 1 -1: 0 -1: -64 0: 0 -2: 0 -3: 1 -3: 1 -2: 0 -2:-64 -64 2289: -11 12: -1 10: 0 12: 0 -9: -64 0: 2 10: 1 12: 1 -9: -64 0: -8 10: -7 12: -7 5: -6 2: -4 0: -1 -1: 0 -1: -64 0: -5 10: -6 12: -6 4: -5 1: -64 0: 9 10: 8 12: 8 5: 7 2: 5 0: 2 -1: 1 -1: -64 0: 6 10: 7 12: 7 4: 6 1: -64 0: -4 -5: 5 -5:-64 -64 2290: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 5: 7 3: 6 2: 3 1: -5 1: -64 0: 3 12: 5 11: 6 10: 7 8: 7 5: 6 3: 5 2: 3 1: -64 0: -9 -9: 7 -9: 7 -4: 6 -9:-64 -64 2291: -10 9: 7 11: 3 11: -1 10: -4 8: -6 5: -7 2: -7 -1: -6 -4: -4 -7: -1 -9: 3 -10: 7 -10: -64 0: 7 11: 4 10: 1 8: -1 5: -2 2: -2 -1: -1 -4: 1 -7: 4 -9: 7 -10:-64 -64 2292: -12 13: -3 1: -5 1: -7 0: -8 -1: -9 -3: -9 -5: -8 -7: -7 -8: -5 -9: -3 -9: -1 -8: 0 -7: 1 -5: 1 -3: 0 -1: -1 0: -3 1: -64 0: 1 10: -2 1: -64 0: 8 8: 0 0: -64 0: 10 1: 1 -2:-64 -64 2293: -10 10: -3 7: 3 -7: -64 0: 3 7: -3 -7: -64 0: -7 3: 7 -3: -64 0: 7 3: -7 -3:-64 -64 2294: -12 12: -4 -4: -6 -3: -7 -3: -9 -4: -10 -6: -10 -7: -9 -9: -7 -10: -6 -10: -4 -9: -3 -7: -3 -6: -4 -4: -7 0: -8 3: -8 5: -7 8: -5 10: -2 11: 2 11: 5 10: 7 8: 8 5: 8 3: 7 0: 4 -4: 3 -6: 3 -7: 4 -9: 6 -10: 7 -10: 9 -9: 10 -7: 10 -6: 9 -4: 7 -3: 6 -3: 4 -4: -64 0: -8 5: -7 7: -5 9: -2 10: 2 10: 5 9: 7 7: 8 5:-64 -64 2295: -12 12: -4 5: -6 4: -7 4: -9 5: -10 7: -10 8: -9 10: -7 11: -6 11: -4 10: -3 8: -3 7: -4 5: -7 1: -8 -2: -8 -4: -7 -7: -5 -9: -2 -10: 2 -10: 5 -9: 7 -7: 8 -4: 8 -2: 7 1: 4 5: 3 7: 3 8: 4 10: 6 11: 7 11: 9 10: 10 8: 10 7: 9 5: 7 4: 6 4: 4 5: -64 0: -8 -4: -7 -6: -5 -8: -2 -9: 2 -9: 5 -8: 7 -6: 8 -4:-64 -64 2301: -12 13: -8 5: -9 6: -9 8: -8 10: -6 11: -4 11: -2 10: -1 9: 0 7: 1 2: -64 0: -9 8: -7 10: -5 10: -3 9: -2 8: -1 6: 0 2: 0 -9: -64 0: 9 5: 10 6: 10 8: 9 10: 7 11: 5 11: 3 10: 2 9: 1 7: 0 2: -64 0: 10 8: 8 10: 6 10: 4 9: 3 8: 2 6: 1 2: 1 -9:-64 -64 2302: -12 12: -9 11: -8 7: -7 5: -5 3: -2 2: 2 2: 5 3: 7 5: 8 7: 9 11: -64 0: -9 11: -8 8: -7 6: -5 4: -2 3: 2 3: 5 4: 7 6: 8 8: 9 11: -64 0: -2 3: -4 2: -5 1: -6 -1: -6 -4: -5 -6: -3 -8: -1 -9: 1 -9: 3 -8: 5 -6: 6 -4: 6 -1: 5 1: 4 2: 2 3: -64 0: -2 2: -4 1: -5 -1: -5 -4: -4 -7: -64 0: 4 -7: 5 -4: 5 -1: 4 1: 2 2:-64 -64 2303: -12 12: -5 8: -5 -4: -64 0: -4 7: -4 -3: -64 0: 4 7: 4 -3: -64 0: 5 8: 5 -4: -64 0: -9 11: -7 9: -5 8: -2 7: 2 7: 5 8: 7 9: 9 11: -64 0: -9 -7: -7 -5: -5 -4: -2 -3: 2 -3: 5 -4: 7 -5: 9 -7:-64 -64 2304: -12 12: 9 9: -6 9: -8 8: -9 6: -9 4: -8 2: -6 1: -4 1: -2 2: -1 4: -1 6: -2 8: 9 8: -64 0: -9 5: -8 3: -7 2: -5 1: -64 0: -1 5: -2 7: -3 8: -5 9: -64 0: -9 -6: 6 -6: 8 -5: 9 -3: 9 -1: 8 1: 6 2: 4 2: 2 1: 1 -1: 1 -3: 2 -5: -9 -5: -64 0: 9 -2: 8 0: 7 1: 5 2: -64 0: 1 -2: 2 -4: 3 -5: 5 -6:-64 -64 2305: -12 11: -3 -3: -5 -2: -6 -2: -8 -3: -9 -5: -9 -6: -8 -8: -6 -9: -5 -9: -3 -8: -2 -6: -2 -5: -3 -3: -8 2: -9 4: -9 7: -8 9: -6 10: -3 11: 1 11: 5 10: 7 8: 8 6: 8 3: 7 0: 4 -3: 3 -5: 3 -7: 4 -9: 6 -9: 7 -8: 8 -6: -64 0: -5 -1: -7 2: -8 4: -8 7: -7 9: -6 10: -64 0: 1 11: 4 10: 6 8: 7 6: 7 3: 6 0: 4 -3:-64 -64 2306: -11 13: -10 7: -7 10: -5 7: -5 -4: -64 0: -8 9: -6 6: -6 -4: -64 0: -5 7: -2 10: 0 7: 0 -3: -64 0: -3 9: -1 6: -1 -3: -64 0: 0 7: 3 10: 5 7: 5 -9: -64 0: 2 9: 4 6: 4 -9: -64 0: 5 7: 8 10: 9 8: 10 5: 10 2: 9 -1: 8 -3: 6 -5: 3 -7: -2 -9: -64 0: 7 9: 8 8: 9 5: 9 2: 8 -1: 7 -3: 5 -5: 2 -7: -2 -9:-64 -64 2307: -12 12: -9 -1: -5 -1: -6 0: -7 3: -7 5: -6 8: -4 10: -1 11: 1 11: 4 10: 6 8: 7 5: 7 3: 6 0: 5 -1: 9 -1: -64 0: -9 -2: -3 -2: -5 0: -6 3: -6 5: -5 8: -3 10: -1 11: -64 0: 1 11: 3 10: 5 8: 6 5: 6 3: 5 0: 3 -2: 9 -2: -64 0: -7 -6: 7 -6: -64 0: -7 -7: 7 -7:-64 -64 2308: -12 13: -11 6: -8 9: -5 6: -5 -6: -64 0: -9 8: -6 5: -6 -6: -64 0: -5 6: -2 9: 1 6: 1 -6: -64 0: -3 8: 0 5: 0 -6: -64 0: 1 6: 4 9: 7 6: 7 -5: 9 -7: -64 0: 3 8: 6 5: 6 -6: 8 -8: 11 -5:-64 -64 2309: -11 11: 8 9: -8 -7: -64 0: 8 9: 5 8: -1 8: -64 0: 6 7: 3 7: -1 8: -64 0: 8 9: 7 6: 7 0: -64 0: 6 7: 6 4: 7 0: -64 0: -1 0: -8 0: -64 0: -2 -1: -5 -1: -8 0: -64 0: -1 0: -1 -7: -64 0: -2 -1: -2 -4: -1 -7:-64 -64 2310: -12 12: -10 3: -8 7: -3 -3: -64 0: -8 5: -3 -5: 0 2: 5 2: 8 3: 9 5: 9 7: 8 9: 6 10: 5 10: 3 9: 2 7: 2 5: 3 2: 4 0: 5 -3: 5 -6: 3 -8: -64 0: 5 10: 4 9: 3 7: 3 5: 5 1: 6 -2: 6 -5: 5 -7: 3 -8:-64 -64 2311: -12 12: -9 3: -6 6: -2 4: -64 0: -7 5: -3 3: 0 6: 3 4: -64 0: -1 5: 2 3: 5 6: 7 4: -64 0: 4 5: 6 3: 9 6: -64 0: -9 -3: -6 0: -2 -2: -64 0: -7 -1: -3 -3: 0 0: 3 -2: -64 0: -1 -1: 2 -3: 5 0: 7 -2: -64 0: 4 -1: 6 -3: 9 0:-64 -64 2312: -12 12: -8 10: -4 8: -2 6: -1 3: -1 0: -2 -3: -4 -5: -8 -7: -64 0: -8 10: -5 9: -3 8: -1 6: 0 3: -64 0: 0 0: -1 -3: -3 -5: -5 -6: -8 -7: -64 0: 8 10: 5 9: 3 8: 1 6: 0 3: -64 0: 0 0: 1 -3: 3 -5: 5 -6: 8 -7: -64 0: 8 10: 4 8: 2 6: 1 3: 1 0: 2 -3: 4 -5: 8 -7: -64 0: -9 2: 9 2: -64 0: -9 1: 9 1:-64 -64 2317: -4 4: -1 1: -1 -1: 1 -1: 1 1: -1 1: -64 0: -1 1: 1 -1: -64 0: 1 1: -1 -1:-64 -64 2318: -8 8: -5 2: -1 0: 2 -2: 4 -4: 5 -7: 5 -9: 4 -11: 3 -12: -64 0: -5 1: 1 -2: -64 0: -5 0: -2 -1: 2 -3: 4 -5: 5 -7:-64 -64 2319: -8 8: 5 7: 4 5: 2 3: -2 1: -5 0: -64 0: 1 2: -5 -1: -64 0: 3 12: 4 11: 5 9: 5 7: 4 4: 2 2: -1 0: -5 -2:-64 -64 2320: -10 10: 1 5: -3 4: -6 2: -7 0: -7 -2: -6 -4: -4 -5: -1 -5: 3 -4: 6 -2: 7 0: 7 2: 6 4: 4 5: 1 5: -64 0: 6 4: 1 5: -64 0: 4 5: -1 4: -6 2: -64 0: -3 4: -7 0: -64 0: -6 -4: -1 -5: -64 0: -4 -5: 1 -4: 6 -2: -64 0: 3 -4: 7 0:-64 -64 2321: -10 10: 1 5: -3 4: -6 2: -7 0: -7 -2: -6 -4: -4 -5: -1 -5: 3 -4: 6 -2: 7 0: 7 2: 6 4: 4 5: 1 5: -64 0: 6 4: 1 5: -64 0: 4 5: -1 4: -6 2: -64 0: -3 4: -7 0: -64 0: -6 -4: -1 -5: -64 0: -4 -5: 1 -4: 6 -2: -64 0: 3 -4: 7 0:-64 -64 2322: -8 9: 1 5: -2 4: -4 2: -5 0: -5 -2: -4 -4: -2 -5: 0 -5: 3 -4: 5 -2: 6 0: 6 2: 5 4: 3 5: 1 5: -64 0: -3 2: 3 5: -64 0: -4 0: 4 4: -64 0: -5 -2: 5 3: -64 0: -4 -3: 6 2: -64 0: -3 -4: 5 0: -64 0: -2 -5: 4 -2:-64 -64 2323: -8 8: -3 11: -3 -12: -64 0: 3 12: 3 -11: -64 0: -5 4: 5 6: -64 0: -5 3: 5 5: -64 0: -5 -5: 5 -3: -64 0: -5 -6: 5 -4:-64 -64 2324: -8 8: -4 12: -4 -6: -64 0: 4 6: 4 -12: -64 0: -4 4: 4 6: -64 0: -4 3: 4 5: -64 0: -4 -5: 4 -3: -64 0: -4 -6: 4 -4:-64 -64 2325: -8 8: -4 16: -4 -5: -64 0: -4 4: -1 6: 2 6: 4 5: 5 3: 5 1: 4 -1: 1 -3: -1 -4: -4 -5: -64 0: -4 4: -1 5: 2 5: 4 4: -64 0: 3 5: 4 3: 4 1: 3 -1: 1 -3:-64 -64 2326: -13 13: -10 9: -10 6: -64 0: 10 9: 10 6: -64 0: -10 9: 10 9: -64 0: -10 8: 10 8: -64 0: -10 7: 10 7: -64 0: -10 6: 10 6:-64 -64 2327: -8 8: -5 4: -5 1: -64 0: 5 4: 5 1: -64 0: -5 4: 5 4: -64 0: -5 3: 5 3: -64 0: -5 2: 5 2: -64 0: -5 1: 5 1:-64 -64 2328: -8 8: -5 6: 5 -6: -64 0: -5 6: -3 4: -1 3: 2 3: 4 4: 5 5: 5 7: 3 7: 3 5: 2 3: -64 0: -3 4: 2 3: -64 0: -1 3: 5 5: -64 0: 4 7: 4 4: -64 0: 3 6: 5 6: -64 0: 5 -6: 3 -4: 1 -3: -2 -3: -4 -4: -5 -5: -5 -7: -3 -7: -3 -5: -2 -3: -64 0: 3 -4: -2 -3: -64 0: 1 -3: -5 -5: -64 0: -4 -4: -4 -7: -64 0: -5 -6: -3 -6:-64 -64 2329: -8 8: -2 3: -3 5: -3 7: -5 7: -5 5: -4 4: -2 3: 1 3: 3 4: 5 6: -64 0: -4 7: -4 4: -64 0: -5 6: -3 6: -64 0: -5 5: 1 3: -64 0: -2 3: 3 4: -64 0: 5 6: 5 -7:-64 -64 2330: -17 12: -11 -20: -10 -20: -9 -19: -9 -18: -10 -17: -11 -17: -12 -18: -12 -20: -11 -22: -9 -23: -7 -23: -4 -22: -2 -20: -1 -18: 0 -14: 0 -3: -1 23: -1 30: 0 35: 1 37: 3 38: 4 38: 6 37: 7 35: 7 31: 6 28: 5 26: 3 23: -2 19: -8 15: -10 13: -12 10: -13 8: -14 4: -14 0: -13 -4: -11 -7: -8 -9: -4 -10: 0 -10: 4 -9: 6 -8: 8 -5: 9 -2: 9 2: 8 5: 7 7: 5 9: 2 10: -2 10: -5 9: -7 7: -8 4: -8 0: -7 -3: -5 -5: -64 0: -11 -18: -11 -19: -10 -19: -10 -18: -11 -18: -64 0: 3 23: -1 19: -6 15: -9 12: -11 9: -12 7: -13 4: -13 0: -12 -4: -11 -6: -8 -9: -64 0: 0 -10: 3 -9: 5 -8: 7 -5: 8 -2: 8 2: 7 5: 6 7: 4 9: 2 10:-64 -64 2331: -13 20: -4 -1: -3 -3: -1 -4: 1 -4: 3 -3: 4 -1: 4 1: 3 3: 1 4: -1 4: -3 3: -4 2: -5 -1: -5 -4: -4 -7: -2 -9: 1 -10: 4 -10: 7 -9: 9 -7: 10 -5: 11 -2: 11 2: 10 5: 8 8: 6 9: 3 10: 0 10: -3 9: -5 8: -7 6: -9 3: -10 -1: -10 -6: -9 -11: -7 -15: -5 -17: -2 -19: 2 -20: 7 -20: 11 -19: 14 -17: 16 -15: -64 0: -7 6: -8 4: -9 0: -9 -6: -8 -10: -6 -14: -4 -16: -1 -18: 3 -19: 7 -19: 11 -18: 13 -17: 16 -15: -64 0: -2 3: 2 3: -64 0: -3 2: 3 2: -64 0: -4 1: 4 1: -64 0: -4 0: 4 0: -64 0: -4 -1: 4 -1: -64 0: -3 -2: 3 -2: -64 0: -2 -3: 2 -3: -64 0: 15 6: 15 4: 17 4: 17 6: 15 6: -64 0: 16 6: 16 4: -64 0: 15 5: 17 5: -64 0: 15 -4: 15 -6: 17 -6: 17 -4: 15 -4: -64 0: 16 -4: 16 -6: -64 0: 15 -5: 17 -5:-64 -64 2332: -14 14: -10 18: -10 -18: -64 0: -5 18: -5 -18: -64 0: 5 18: 5 -18: -64 0: 10 18: 10 -18: -64 0: -5 5: 5 7: -64 0: -5 4: 5 6: -64 0: -5 3: 5 5: -64 0: -5 -5: 5 -3: -64 0: -5 -6: 5 -4: -64 0: -5 -7: 5 -5:-64 -64 2367: -4 4: -1 1: -1 -1: 1 -1: 1 1: -1 1: -64 0: -1 1: 1 -1: -64 0: 1 1: -1 -1:-64 -64 2368: -8 8: -5 2: -1 0: 2 -2: 4 -4: 5 -7: 5 -9: 4 -11: 3 -12: -64 0: -5 1: 1 -2: -64 0: -5 0: -2 -1: 2 -3: 4 -5: 5 -7:-64 -64 2369: -8 8: 5 7: 4 5: 2 3: -2 1: -5 0: -64 0: 1 2: -5 -1: -64 0: 3 12: 4 11: 5 9: 5 7: 4 4: 2 2: -1 0: -5 -2:-64 -64 2370: -10 10: -2 5: -5 4: -6 3: -7 1: -7 -1: -6 -3: -5 -4: -2 -5: 2 -5: 5 -4: 6 -3: 7 -1: 7 1: 6 3: 5 4: 2 5: -2 5: -64 0: -5 4: -6 2: -6 -1: -5 -3: -4 -4: -2 -5: -64 0: 5 -4: 6 -2: 6 1: 5 3: 4 4: 2 5:-64 -64 2371: -10 10: 1 5: -3 4: -6 2: -7 0: -7 -2: -6 -4: -4 -5: -1 -5: 3 -4: 6 -2: 7 0: 7 2: 6 4: 4 5: 1 5: -64 0: 6 4: 1 5: -64 0: 4 5: -1 4: -6 2: -64 0: -3 4: -7 0: -64 0: -6 -4: -1 -5: -64 0: -4 -5: 1 -4: 6 -2: -64 0: 3 -4: 7 0:-64 -64 2372: -8 9: 1 5: -2 4: -4 2: -5 0: -5 -2: -4 -4: -2 -5: 0 -5: 3 -4: 5 -2: 6 0: 6 2: 5 4: 3 5: 1 5: -64 0: -3 2: 3 5: -64 0: -4 0: 4 4: -64 0: -5 -2: 5 3: -64 0: -4 -3: 6 2: -64 0: -3 -4: 5 0: -64 0: -2 -5: 4 -2:-64 -64 2373: -8 8: -3 11: -3 -12: -64 0: 3 12: 3 -11: -64 0: -5 4: 5 6: -64 0: -5 3: 5 5: -64 0: -5 -5: 5 -3: -64 0: -5 -6: 5 -4:-64 -64 2374: -8 8: -4 12: -4 -6: -64 0: 4 6: 4 -12: -64 0: -4 4: 4 6: -64 0: -4 3: 4 5: -64 0: -4 -5: 4 -3: -64 0: -4 -6: 4 -4:-64 -64 2375: -8 8: -4 16: -4 -5: -64 0: -4 4: -1 6: 2 6: 4 5: 5 3: 5 1: 4 -1: 1 -3: -1 -4: -4 -5: -64 0: -4 4: -1 5: 2 5: 4 4: -64 0: 3 5: 4 3: 4 1: 3 -1: 1 -3:-64 -64 2376: -13 13: -10 9: -10 6: -64 0: 10 9: 10 6: -64 0: -10 9: 10 9: -64 0: -10 8: 10 8: -64 0: -10 7: 10 7: -64 0: -10 6: 10 6:-64 -64 2377: -8 8: -5 4: -5 1: -64 0: 5 4: 5 1: -64 0: -5 4: 5 4: -64 0: -5 3: 5 3: -64 0: -5 2: 5 2: -64 0: -5 1: 5 1:-64 -64 2378: -8 8: -1 15: 4 5: 0 -2: 0 -3: -64 0: 3 6: -1 -1: -64 0: 2 9: 2 7: -2 0: 0 -3: 3 -7: -64 0: 5 -10: 3 -7: 1 -6: -1 -6: -3 -7: -4 -9: -4 -11: -3 -13: 0 -15: -64 0: 5 -10: 3 -8: 1 -7: -3 -7: -3 -11: -2 -13: 0 -15: -64 0: 1 -6: -2 -8: -4 -11:-64 -64 2379: -8 8: -2 3: -3 5: -3 7: -5 7: -5 5: -4 4: -2 3: 1 3: 3 4: 5 6: -64 0: -4 7: -4 4: -64 0: -5 6: -3 6: -64 0: -5 5: 1 3: -64 0: -2 3: 3 4: -64 0: 5 6: 1 -7:-64 -64 2380: -17 12: -11 -20: -10 -20: -9 -19: -9 -18: -10 -17: -11 -17: -12 -18: -12 -20: -11 -22: -9 -23: -7 -23: -4 -22: -2 -20: -1 -18: 0 -14: 0 -3: -1 23: -1 30: 0 35: 1 37: 3 38: 4 38: 6 37: 7 35: 7 31: 6 28: 5 26: 3 23: -2 19: -8 15: -10 13: -12 10: -13 8: -14 4: -14 0: -13 -4: -11 -7: -8 -9: -4 -10: 0 -10: 4 -9: 6 -8: 8 -5: 9 -2: 9 2: 8 5: 7 7: 5 9: 2 10: -2 10: -5 9: -7 7: -8 4: -8 0: -7 -3: -5 -5: -64 0: -11 -18: -11 -19: -10 -19: -10 -18: -11 -18: -64 0: 3 23: -1 19: -6 15: -9 12: -11 9: -12 7: -13 4: -13 0: -12 -4: -11 -6: -8 -9: -64 0: 0 -10: 3 -9: 5 -8: 7 -5: 8 -2: 8 2: 7 5: 6 7: 4 9: 2 10:-64 -64 2381: -9 24: -4 1: -3 3: -1 4: 1 4: 3 3: 4 1: 4 -1: 3 -3: 1 -4: -1 -4: -3 -3: -4 -2: -5 1: -5 4: -4 7: -2 9: 1 10: 5 10: 9 9: 12 7: 14 4: 15 0: 15 -5: 14 -9: 13 -11: 11 -14: 8 -17: 4 -20: -1 -23: -5 -25: -64 0: 5 10: 8 9: 11 7: 13 4: 14 0: 14 -5: 13 -9: 12 -11: 10 -14: 7 -17: 2 -21: -1 -23: -64 0: -2 3: 2 3: -64 0: -3 2: 3 2: -64 0: -4 1: 4 1: -64 0: -4 0: 4 0: -64 0: -4 -1: 4 -1: -64 0: -3 -2: 3 -2: -64 0: -2 -3: 2 -3: -64 0: 19 6: 19 4: 21 4: 21 6: 19 6: -64 0: 20 6: 20 4: -64 0: 19 5: 21 5: -64 0: 19 -4: 19 -6: 21 -6: 21 -4: 19 -4: -64 0: 20 -4: 20 -6: -64 0: 19 -5: 21 -5:-64 -64 2382: -14 14: -10 20: -10 -20: -64 0: -9 20: -9 -20: -64 0: -5 20: -5 -20: -64 0: -1 16: 1 16: 1 14: -1 14: -1 17: 0 19: 2 20: 5 20: 7 19: 9 17: 10 14: 10 9: 9 6: 7 4: 5 3: 3 3: 1 4: 0 6: -1 4: -3 1: -4 0: -3 -1: -1 -4: 0 -6: 1 -4: 3 -3: 5 -3: 7 -4: 9 -6: 10 -9: 10 -14: 9 -17: 7 -19: 5 -20: 2 -20: 0 -19: -1 -17: -1 -14: 1 -14: 1 -16: -1 -16: -64 0: 0 16: 0 14: -64 0: -1 15: 1 15: -64 0: 7 19: 8 17: 9 14: 9 9: 8 6: 7 4: -64 0: 0 6: 0 4: -2 1: -4 0: -2 -1: 0 -4: 0 -6: -64 0: 7 -4: 8 -6: 9 -9: 9 -14: 8 -17: 7 -19: -64 0: 0 -14: 0 -16: -64 0: -1 -15: 1 -15:-64 -64 2401: -17 17: -10 16: -10 -16: -64 0: -9 16: -9 -16: -64 0: 9 16: 9 -16: -64 0: 10 16: 10 -16: -64 0: -14 16: 14 16: -64 0: -14 -16: -5 -16: -64 0: 5 -16: 14 -16:-64 -64 2402: -16 15: -11 16: -1 2: -12 -16: -64 0: -12 16: -2 2: -64 0: -13 16: -2 1: -64 0: -13 16: 10 16: 12 9: 9 16: -64 0: -11 -15: 10 -15: -64 0: -12 -16: 10 -16: 12 -9: 9 -16:-64 -64 2403: -9 9: 6 39: 3 33: 0 26: -2 21: -3 17: -4 12: -5 4: -5 -4: -4 -12: -3 -17: -2 -21: 0 -26: 3 -33: 6 -39: -64 0: 3 33: 1 28: -1 22: -2 18: -3 12: -4 4: -4 -4: -3 -12: -2 -18: -1 -22: 1 -28: 3 -33:-64 -64 2404: -9 9: -6 39: -3 33: 0 26: 2 21: 3 17: 4 12: 5 4: 5 -4: 4 -12: 3 -17: 2 -21: 0 -26: -3 -33: -6 -39: -64 0: -3 33: -1 28: 1 22: 2 18: 3 12: 4 4: 4 -4: 3 -12: 2 -18: 1 -22: -1 -28: -3 -33:-64 -64 2405: -9 9: -5 39: -5 0: -5 -39: -64 0: -4 39: -4 0: -4 -39: -64 0: -5 39: 6 39: -64 0: -5 -39: 6 -39:-64 -64 2406: -9 9: 4 39: 4 0: 4 -39: -64 0: 5 39: 5 0: 5 -39: -64 0: -6 39: 5 39: -64 0: -6 -39: 5 -39:-64 -64 2407: -9 9: 4 39: 1 37: -1 35: -2 33: -3 30: -3 26: -2 22: 2 14: 3 11: 3 8: 2 5: 0 2: -64 0: 1 37: -1 34: -2 30: -2 26: -1 23: 3 15: 4 11: 4 8: 3 5: 0 2: -4 0: 0 -2: 3 -5: 4 -8: 4 -11: 3 -15: -1 -23: -2 -26: -2 -30: -1 -34: 1 -37: -64 0: 0 -2: 2 -5: 3 -8: 3 -11: 2 -14: -2 -22: -3 -26: -3 -30: -2 -33: -1 -35: 1 -37: 4 -39:-64 -64 2408: -9 9: -4 39: -1 37: 1 35: 2 33: 3 30: 3 26: 2 22: -2 14: -3 11: -3 8: -2 5: 0 2: -64 0: -1 37: 1 34: 2 30: 2 26: 1 23: -3 15: -4 11: -4 8: -3 5: 0 2: 4 0: 0 -2: -3 -5: -4 -8: -4 -11: -3 -15: 1 -23: 2 -26: 2 -30: 1 -34: -1 -37: -64 0: 0 -2: -2 -5: -3 -8: -3 -11: -2 -14: 2 -22: 3 -26: 3 -30: 2 -33: 1 -35: -1 -37: -4 -39:-64 -64 2409: -9 9: 4 36: 1 33: -1 30: -3 26: -4 21: -4 15: -3 9: -2 5: 1 -6: 2 -10: 3 -16: 3 -21: 2 -26: 1 -29: -1 -33: -64 0: 1 33: -1 29: -2 26: -3 21: -3 16: -2 10: -1 6: 2 -5: 3 -9: 4 -15: 4 -21: 3 -26: 1 -30: -1 -33: -4 -36:-64 -64 2410: -9 9: -4 36: -1 33: 1 30: 3 26: 4 21: 4 15: 3 9: 2 5: -1 -6: -2 -10: -3 -16: -3 -21: -2 -26: -1 -29: 1 -33: -64 0: -1 33: 1 29: 2 26: 3 21: 3 16: 2 10: 1 6: -2 -5: -3 -9: -4 -15: -4 -21: -3 -26: -1 -30: 1 -33: 4 -36:-64 -64 2411: -27 8: -24 0: -17 0: 0 -29: -64 0: -18 0: -1 -29: -64 0: -19 0: 0 -32: -64 0: 8 48: 4 8: 0 -32:-64 -64 2412: -15 15: 11 36: 10 36: 9 35: 9 34: 10 33: 11 33: 12 34: 12 36: 11 38: 9 39: 7 39: 5 38: 3 36: 2 34: 1 31: 0 24: -1 8: -1 -24: -2 -33: -3 -36: -64 0: 10 35: 10 34: 11 34: 11 35: 10 35: -64 0: 0 24: 0 -24: -64 0: 3 36: 2 33: 1 24: 1 -8: 0 -24: -1 -31: -2 -34: -3 -36: -5 -38: -7 -39: -9 -39: -11 -38: -12 -36: -12 -34: -11 -33: -10 -33: -9 -34: -9 -35: -10 -36: -11 -36: -64 0: -11 -34: -11 -35: -10 -35: -10 -34: -11 -34:-64 -64 2501: -10 10: 0 12: -8 -9: -64 0: 0 9: -7 -9: -8 -9: -64 0: 0 9: 7 -9: 8 -9: -64 0: 0 12: 8 -9: -64 0: -5 -3: 5 -3: -64 0: -6 -4: 6 -4:-64 -64 2502: -10 10: -6 12: -6 -9: -64 0: -5 11: -5 -8: -64 0: -6 12: 2 12: 5 11: 6 10: 7 8: 7 5: 6 3: 5 2: 2 1: -64 0: -5 11: 2 11: 5 10: 6 8: 6 5: 5 3: 2 2: -64 0: -5 2: 2 2: 5 1: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -6 -9: -64 0: -5 1: 2 1: 5 0: 6 -2: 6 -5: 5 -7: 2 -8: -5 -8:-64 -64 2503: -10 11: 8 7: 7 9: 5 11: 3 12: -1 12: -3 11: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -3 -8: -1 -9: 3 -9: 5 -8: 7 -6: 8 -4: -64 0: 8 7: 7 7: 6 9: 5 10: 3 11: -1 11: -3 10: -5 7: -6 4: -6 -1: -5 -4: -3 -7: -1 -8: 3 -8: 5 -7: 6 -6: 7 -4: 8 -4:-64 -64 2504: -10 11: -6 12: -6 -9: -64 0: -5 11: -5 -8: -64 0: -6 12: 1 12: 4 11: 6 9: 7 7: 8 4: 8 -1: 7 -4: 6 -6: 4 -8: 1 -9: -6 -9: -64 0: -5 11: 1 11: 4 10: 5 9: 6 7: 7 4: 7 -1: 6 -4: 5 -6: 4 -7: 1 -8: -5 -8:-64 -64 2505: -9 10: -5 12: -5 -9: -64 0: -4 11: -4 -8: -64 0: -5 12: 7 12: -64 0: -4 11: 7 11: 7 12: -64 0: -4 2: 2 2: 2 1: -64 0: -4 1: 2 1: -64 0: -4 -8: 7 -8: 7 -9: -64 0: -5 -9: 7 -9:-64 -64 2506: -9 9: -5 12: -5 -9: -64 0: -4 11: -4 -9: -5 -9: -64 0: -5 12: 7 12: -64 0: -4 11: 7 11: 7 12: -64 0: -4 2: 2 2: 2 1: -64 0: -4 1: 2 1:-64 -64 2507: -10 11: 8 7: 7 9: 5 11: 3 12: -1 12: -3 11: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -3 -8: -1 -9: 3 -9: 5 -8: 7 -6: 8 -4: 8 0: 3 0: -64 0: 8 7: 7 7: 6 9: 5 10: 3 11: -1 11: -3 10: -4 9: -5 7: -6 4: -6 -1: -5 -4: -4 -6: -3 -7: -1 -8: 3 -8: 5 -7: 6 -6: 7 -4: 7 -1: 3 -1: 3 0:-64 -64 2508: -11 11: -7 12: -7 -9: -64 0: -7 12: -6 12: -6 -9: -7 -9: -64 0: 7 12: 6 12: 6 -9: 7 -9: -64 0: 7 12: 7 -9: -64 0: -6 2: 6 2: -64 0: -6 1: 6 1:-64 -64 2509: -4 5: 0 12: 0 -9: 1 -9: -64 0: 0 12: 1 12: 1 -9:-64 -64 2510: -8 9: 4 12: 4 -4: 3 -7: 1 -8: -1 -8: -3 -7: -4 -4: -5 -4: -64 0: 4 12: 5 12: 5 -4: 4 -7: 3 -8: 1 -9: -1 -9: -3 -8: -4 -7: -5 -4:-64 -64 2511: -10 11: -6 12: -6 -9: -5 -9: -64 0: -6 12: -5 12: -5 -9: -64 0: 8 12: 7 12: -5 0: -64 0: 8 12: -5 -1: -64 0: -2 3: 7 -9: 8 -9: -64 0: -1 3: 8 -9:-64 -64 2512: -9 8: -5 12: -5 -9: -64 0: -5 12: -4 12: -4 -8: -64 0: -4 -8: 7 -8: 7 -9: -64 0: -5 -9: 7 -9:-64 -64 2513: -12 12: -8 12: -8 -9: -64 0: -7 7: -7 -9: -8 -9: -64 0: -7 7: 0 -9: -64 0: -8 12: 0 -6: -64 0: 8 12: 0 -6: -64 0: 7 7: 0 -9: -64 0: 7 7: 7 -9: 8 -9: -64 0: 8 12: 8 -9:-64 -64 2514: -11 11: -7 12: -7 -9: -64 0: -6 9: -6 -9: -7 -9: -64 0: -6 9: 7 -9: -64 0: -7 12: 6 -6: -64 0: 6 12: 6 -6: -64 0: 6 12: 7 12: 7 -9:-64 -64 2515: -11 11: -2 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -2 -9: 2 -9: 4 -8: 6 -6: 7 -4: 8 -1: 8 4: 7 7: 6 9: 4 11: 2 12: -2 12: -64 0: -1 11: -4 10: -6 7: -7 4: -7 -1: -6 -4: -4 -7: -1 -8: 1 -8: 4 -7: 6 -4: 7 -1: 7 4: 6 7: 4 10: 1 11: -1 11:-64 -64 2516: -10 10: -6 12: -6 -9: -64 0: -5 11: -5 -9: -6 -9: -64 0: -6 12: 3 12: 5 11: 6 10: 7 8: 7 5: 6 3: 5 2: 3 1: -5 1: -64 0: -5 11: 3 11: 5 10: 6 8: 6 5: 5 3: 3 2: -5 2:-64 -64 2517: -11 11: -2 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -2 -9: 2 -9: 4 -8: 6 -6: 7 -4: 8 -1: 8 4: 7 7: 6 9: 4 11: 2 12: -2 12: -64 0: -1 11: -4 10: -6 7: -7 4: -7 -1: -6 -4: -4 -7: -1 -8: 1 -8: 4 -7: 6 -4: 7 -1: 7 4: 6 7: 4 10: 1 11: -1 11: -64 0: 1 -6: 6 -11: 7 -11: -64 0: 1 -6: 2 -6: 7 -11:-64 -64 2518: -10 10: -6 12: -6 -9: -64 0: -5 11: -5 -9: -6 -9: -64 0: -6 12: 2 12: 5 11: 6 10: 7 8: 7 5: 6 3: 5 2: 2 1: -5 1: -64 0: -5 11: 2 11: 5 10: 6 8: 6 5: 5 3: 2 2: -5 2: -64 0: 0 1: 6 -9: 7 -9: -64 0: 1 1: 7 -9:-64 -64 2519: -10 10: 7 9: 5 11: 2 12: -2 12: -5 11: -7 9: -7 7: -6 5: -5 4: -3 3: 2 1: 4 0: 5 -1: 6 -3: 6 -6: 5 -7: 2 -8: -2 -8: -4 -7: -5 -6: -7 -6: -64 0: 7 9: 5 9: 4 10: 2 11: -2 11: -5 10: -6 9: -6 7: -5 5: -3 4: 2 2: 4 1: 6 -1: 7 -3: 7 -6: 5 -8: 2 -9: -2 -9: -5 -8: -7 -6:-64 -64 2520: -8 9: 0 11: 0 -9: -64 0: 1 11: 1 -9: 0 -9: -64 0: -6 12: 7 12: 7 11: -64 0: -6 12: -6 11: 7 11:-64 -64 2521: -11 11: -7 12: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 12: -64 0: -7 12: -6 12: -6 -3: -5 -6: -4 -7: -1 -8: 1 -8: 4 -7: 5 -6: 6 -3: 6 12: 7 12:-64 -64 2522: -10 10: -8 12: 0 -9: -64 0: -8 12: -7 12: 0 -6: -64 0: 8 12: 7 12: 0 -6: -64 0: 8 12: 0 -9:-64 -64 2523: -13 13: -11 12: -5 -9: -64 0: -11 12: -10 12: -5 -6: -64 0: 0 12: -5 -6: -64 0: 0 9: -5 -9: -64 0: 0 9: 5 -9: -64 0: 0 12: 5 -6: -64 0: 11 12: 10 12: 5 -6: -64 0: 11 12: 5 -9:-64 -64 2524: -10 10: -7 12: 6 -9: 7 -9: -64 0: -7 12: -6 12: 7 -9: -64 0: 7 12: 6 12: -7 -9: -64 0: 7 12: -6 -9: -7 -9:-64 -64 2525: -9 10: -7 12: 0 2: 0 -9: 1 -9: -64 0: -7 12: -6 12: 1 2: -64 0: 8 12: 7 12: 0 2: -64 0: 8 12: 1 2: 1 -9:-64 -64 2526: -10 10: 6 12: -7 -9: -64 0: 7 12: -6 -9: -64 0: -7 12: 7 12: -64 0: -7 12: -7 11: 6 11: -64 0: -6 -8: 7 -8: 7 -9: -64 0: -7 -9: 7 -9:-64 -64 2551: -13 10: 6 12: 4 10: 2 7: -1 2: -3 -1: -6 -5: -9 -8: -11 -9: -13 -9: -14 -8: -14 -6: -13 -5: -12 -6: -13 -7: -64 0: 6 12: 5 8: 3 -2: 2 -9: -64 0: 6 12: 3 -9: -64 0: 2 -9: 2 -7: 1 -4: 0 -2: -2 0: -4 1: -6 1: -7 0: -7 -2: -6 -5: -3 -8: 0 -9: 4 -9: 6 -8:-64 -64 2552: -12 12: 3 11: 2 10: 1 8: -1 3: -3 -3: -4 -5: -6 -8: -8 -9: -64 0: 2 10: 1 7: -1 -1: -2 -4: -3 -6: -5 -8: -8 -9: -10 -9: -11 -8: -11 -6: -10 -5: -9 -6: -10 -7: -64 0: -3 6: -4 4: -5 3: -7 3: -8 4: -8 6: -7 8: -5 10: -3 11: 0 12: 6 12: 8 11: 9 9: 9 7: 8 5: 6 4: 2 3: 0 3: -64 0: 6 12: 7 11: 8 9: 8 7: 7 5: 6 4: -64 0: 2 3: 5 2: 6 1: 7 -1: 7 -4: 6 -7: 5 -8: 3 -9: 1 -9: 0 -8: 0 -6: 1 -3: -64 0: 2 3: 4 2: 5 1: 6 -1: 6 -4: 5 -7: 3 -9:-64 -64 2553: -10 11: -7 10: -8 8: -8 6: -7 4: -4 3: -1 3: 3 4: 5 5: 7 7: 8 9: 8 11: 7 12: 5 12: 2 11: -1 8: -3 5: -5 1: -6 -3: -6 -6: -5 -8: -2 -9: 0 -9: 3 -8: 5 -6: 6 -4: 6 -2: 5 0: 3 0: 1 -1: 0 -3: -64 0: 5 12: 3 11: 0 8: -2 5: -4 1: -5 -3: -5 -6: -4 -8: -2 -9:-64 -64 2554: -12 11: 3 11: 2 10: 1 8: -1 3: -3 -3: -4 -5: -6 -8: -8 -9: -64 0: 2 10: 1 7: -1 -1: -2 -4: -3 -6: -5 -8: -8 -9: -10 -9: -11 -8: -11 -6: -10 -5: -8 -5: -6 -6: -4 -8: -2 -9: 1 -9: 3 -8: 5 -6: 7 -2: 8 3: 8 6: 7 9: 5 11: 3 12: -2 12: -5 11: -7 9: -8 7: -8 5: -7 4: -5 4: -4 5: -3 7:-64 -64 2555: -9 10: 5 9: 4 8: 4 6: 5 5: 7 5: 8 7: 8 9: 7 11: 5 12: 2 12: 0 11: -1 10: -2 8: -2 6: -1 4: 1 3: -64 0: 2 12: 0 10: -1 8: -1 5: 1 3: -64 0: 1 3: -1 3: -4 2: -6 0: -7 -2: -7 -5: -6 -7: -5 -8: -3 -9: 0 -9: 3 -8: 5 -6: 6 -4: 6 -2: 5 0: 3 0: 1 -1: 0 -3: -64 0: -1 3: -3 2: -5 0: -6 -2: -6 -6: -5 -8:-64 -64 2556: -11 10: 5 10: 4 8: 2 3: 0 -3: -1 -5: -3 -8: -5 -9: -64 0: -1 6: -2 4: -4 3: -6 3: -7 5: -7 7: -6 9: -4 11: -1 12: 9 12: 6 11: 5 10: 4 7: 2 -1: 1 -4: 0 -6: -2 -8: -5 -9: -7 -9: -9 -8: -10 -7: -10 -6: -9 -5: -8 -6: -9 -7: -64 0: 1 12: 5 11: 6 11: -64 0: -3 -1: -2 0: 0 1: 4 1: 6 2: 8 5: 6 -2:-64 -64 2557: -11 11: -8 9: -9 7: -9 5: -8 3: -6 2: -3 2: 0 3: 2 4: 5 7: 6 10: 6 11: 5 12: 4 12: 2 11: 0 9: -1 7: -2 4: -2 1: -1 -1: 1 -2: 3 -2: 5 -1: 7 1: 8 3: -64 0: 5 12: 3 11: 1 9: 0 7: -1 4: -1 0: 1 -2: -64 0: 8 3: 7 -1: 5 -5: 3 -7: 1 -8: -3 -9: -6 -9: -8 -8: -9 -6: -9 -5: -8 -4: -7 -5: -8 -6: -64 0: 7 -1: 5 -4: 3 -6: 0 -8: -3 -9:-64 -64 2558: -12 12: -6 6: -7 7: -7 9: -6 11: -3 12: 0 12: -3 1: -5 -5: -6 -7: -7 -8: -9 -9: -11 -9: -12 -8: -12 -6: -11 -5: -10 -6: -11 -7: -64 0: 0 12: -3 3: -4 0: -6 -5: -7 -7: -9 -9: -64 0: -8 -2: -7 -1: -5 0: 4 3: 6 4: 9 6: 11 8: 12 10: 12 11: 11 12: 10 12: 8 11: 6 8: 5 6: 3 0: 2 -4: 2 -7: 4 -9: 5 -9: 7 -8: 9 -6: -64 0: 10 12: 8 10: 6 6: 4 0: 3 -4: 3 -7: 4 -9:-64 -64 2559: -9 7: 5 10: 3 7: 1 2: -1 -3: -2 -5: -4 -8: -6 -9: -64 0: 7 6: 5 4: 2 3: -1 3: -3 4: -4 6: -4 8: -3 10: -1 11: 3 12: 7 12: 5 10: 4 8: 2 2: 0 -4: -1 -6: -3 -8: -6 -9: -8 -9: -9 -8: -9 -6: -8 -5: -7 -6: -8 -7:-64 -64 2560: -9 8: 7 12: 5 10: 3 7: 1 2: -2 -7: -4 -11: -64 0: 7 5: 5 3: 2 2: -1 2: -3 3: -4 5: -4 7: -3 9: -1 11: 3 12: 7 12: 5 9: 4 7: 1 -2: -1 -6: -2 -8: -4 -11: -5 -12: -7 -13: -8 -12: -8 -10: -7 -8: -5 -6: -3 -5: 0 -4: 4 -3:-64 -64 2561: -12 12: -6 6: -7 7: -7 9: -5 11: -2 12: 0 12: -3 1: -5 -5: -6 -7: -7 -8: -9 -9: -11 -9: -12 -8: -12 -6: -11 -5: -10 -6: -11 -7: -64 0: 0 12: -3 3: -4 0: -6 -5: -7 -7: -9 -9: -64 0: 8 11: 5 7: 3 5: 1 4: -2 3: -64 0: 11 11: 10 10: 11 9: 12 10: 12 11: 11 12: 10 12: 8 11: 5 6: 4 5: 2 4: -2 3: -64 0: -2 3: 1 2: 2 0: 3 -7: 4 -9: -64 0: -2 3: 0 2: 1 0: 2 -7: 4 -9: 5 -9: 7 -8: 9 -6:-64 -64 2562: -9 9: -5 9: -6 7: -6 5: -5 3: -3 2: 0 2: 3 3: 5 4: 8 7: 9 10: 9 11: 8 12: 7 12: 5 11: 4 10: 2 7: -2 -3: -3 -5: -5 -8: -7 -9: -64 0: 4 10: 2 6: 0 -1: -1 -4: -2 -6: -4 -8: -7 -9: -9 -9: -10 -8: -10 -6: -9 -5: -7 -5: -5 -6: -2 -8: 0 -9: 3 -9: 5 -8: 7 -6:-64 -64 2563: -14 14: 0 12: -4 3: -7 -3: -9 -6: -11 -8: -13 -9: -15 -9: -16 -8: -16 -6: -15 -5: -14 -6: -15 -7: -64 0: 0 12: -2 5: -3 1: -4 -4: -4 -8: -2 -9: -64 0: 0 12: -1 8: -2 3: -3 -4: -3 -8: -2 -9: -64 0: 9 12: 5 3: 0 -6: -2 -9: -64 0: 9 12: 7 5: 6 1: 5 -4: 5 -8: 7 -9: 8 -9: 10 -8: 12 -6: -64 0: 9 12: 8 8: 7 3: 6 -4: 6 -8: 7 -9:-64 -64 2564: -11 12: 0 12: -1 8: -3 2: -5 -3: -6 -5: -8 -8: -10 -9: -12 -9: -13 -8: -13 -6: -12 -5: -11 -6: -12 -7: -64 0: 0 12: 0 7: 1 -4: 2 -9: -64 0: 0 12: 1 7: 2 -4: 2 -9: -64 0: 14 11: 13 10: 14 9: 15 10: 15 11: 14 12: 12 12: 10 11: 8 8: 7 6: 5 1: 3 -5: 2 -9:-64 -64 2565: -10 11: 1 12: -1 11: -3 9: -5 6: -6 4: -7 0: -7 -4: -6 -7: -5 -8: -3 -9: -1 -9: 2 -8: 4 -6: 6 -3: 7 -1: 8 3: 8 7: 7 10: 6 11: 5 11: 3 10: 1 8: -1 4: -2 -1: -2 -4: -64 0: -1 11: -3 8: -5 4: -6 0: -6 -4: -5 -7: -3 -9:-64 -64 2566: -12 11: 3 11: 2 10: 1 8: -1 3: -3 -3: -4 -5: -6 -8: -8 -9: -64 0: 2 10: 1 7: -1 -1: -2 -4: -3 -6: -5 -8: -8 -9: -10 -9: -11 -8: -11 -6: -10 -5: -9 -6: -10 -7: -64 0: -3 6: -4 4: -5 3: -7 3: -8 4: -8 6: -7 8: -5 10: -3 11: 0 12: 4 12: 7 11: 8 10: 9 8: 9 5: 8 3: 7 2: 4 1: 2 1: 0 2: -64 0: 4 12: 6 11: 7 10: 8 8: 8 5: 7 3: 6 2: 4 1:-64 -64 2567: -10 11: 3 8: 3 6: 2 4: 1 3: -1 2: -3 2: -4 4: -4 6: -3 9: -1 11: 2 12: 5 12: 7 11: 8 9: 8 5: 7 2: 5 -1: 1 -5: -2 -7: -4 -8: -7 -9: -9 -9: -10 -8: -10 -6: -9 -5: -7 -5: -5 -6: -2 -8: 1 -9: 4 -9: 6 -8: 8 -6: -64 0: 5 12: 6 11: 7 9: 7 5: 6 2: 4 -1: 1 -4: -3 -7: -7 -9:-64 -64 2568: -12 12: 3 11: 2 10: 1 8: -1 3: -3 -3: -4 -5: -6 -8: -8 -9: -64 0: 2 10: 1 7: -1 -1: -2 -4: -3 -6: -5 -8: -8 -9: -10 -9: -11 -8: -11 -6: -10 -5: -9 -6: -10 -7: -64 0: -3 6: -4 4: -5 3: -7 3: -8 4: -8 6: -7 8: -5 10: -3 11: 0 12: 5 12: 8 11: 9 9: 9 7: 8 5: 7 4: 4 3: 0 3: -64 0: 5 12: 7 11: 8 9: 8 7: 7 5: 6 4: 4 3: -64 0: 0 3: 3 2: 4 0: 5 -7: 6 -9: -64 0: 0 3: 2 2: 3 0: 4 -7: 6 -9: 7 -9: 9 -8: 11 -6:-64 -64 2569: -10 10: -4 9: -5 7: -5 5: -4 3: -2 2: 1 2: 4 3: 6 4: 9 7: 10 10: 10 11: 9 12: 8 12: 6 11: 5 10: 4 8: 3 5: 1 -2: 0 -5: -2 -8: -4 -9: -64 0: 4 8: 3 4: 2 -3: 1 -6: -1 -8: -4 -9: -7 -9: -9 -8: -10 -6: -10 -5: -9 -4: -8 -5: -9 -6:-64 -64 2570: -9 9: 7 10: 6 8: 4 3: 2 -3: 1 -5: -1 -8: -3 -9: -64 0: 1 6: 0 4: -2 3: -4 3: -5 5: -5 7: -4 9: -2 11: 1 12: 10 12: 8 11: 7 10: 6 7: 4 -1: 3 -4: 2 -6: 0 -8: -3 -9: -5 -9: -7 -8: -8 -7: -8 -6: -7 -5: -6 -6: -7 -7: -64 0: 3 12: 7 11: 8 11:-64 -64 2571: -11 11: -10 8: -8 11: -6 12: -5 12: -3 10: -3 7: -4 4: -7 -4: -7 -7: -6 -9: -64 0: -5 12: -4 10: -4 7: -7 -1: -8 -4: -8 -7: -6 -9: -4 -9: -2 -8: 1 -5: 3 -2: 4 0: -64 0: 8 12: 4 0: 3 -4: 3 -7: 5 -9: 6 -9: 8 -8: 10 -6: -64 0: 9 12: 5 0: 4 -4: 4 -7: 5 -9:-64 -64 2572: -11 10: -10 8: -8 11: -6 12: -5 12: -3 10: -3 7: -4 3: -6 -4: -6 -7: -5 -9: -64 0: -5 12: -4 10: -4 7: -6 0: -7 -4: -7 -7: -5 -9: -4 -9: -1 -8: 2 -5: 4 -2: 6 2: 7 5: 8 9: 8 11: 7 12: 6 12: 5 11: 4 9: 4 6: 5 4: 7 2: 9 1: 11 1:-64 -64 2573: -12 11: -9 6: -10 6: -11 7: -11 9: -10 11: -8 12: -4 12: -5 10: -6 6: -7 -3: -8 -9: -64 0: -6 6: -6 -3: -7 -9: -64 0: 4 12: 2 10: 0 6: -3 -3: -5 -7: -7 -9: -64 0: 4 12: 3 10: 2 6: 1 -3: 0 -9: -64 0: 2 6: 2 -3: 1 -9: -64 0: 14 12: 12 11: 10 9: 8 6: 5 -3: 3 -7: 1 -9:-64 -64 2574: -10 10: -2 7: -3 6: -5 6: -6 7: -6 9: -5 11: -3 12: -1 12: 1 11: 2 9: 2 6: 1 2: -1 -3: -3 -6: -5 -8: -8 -9: -10 -9: -11 -8: -11 -6: -10 -5: -9 -6: -10 -7: -64 0: -1 12: 0 11: 1 9: 1 6: 0 2: -2 -3: -4 -6: -6 -8: -8 -9: -64 0: 11 11: 10 10: 11 9: 12 10: 12 11: 11 12: 9 12: 7 11: 5 9: 3 6: 1 2: 0 -3: 0 -6: 1 -8: 2 -9: 3 -9: 5 -8: 7 -6:-64 -64 2575: -11 11: -8 8: -6 11: -4 12: -3 12: -1 11: -1 9: -3 3: -3 0: -2 -2: -64 0: -3 12: -2 11: -2 9: -4 3: -4 0: -2 -2: 0 -2: 3 -1: 5 1: 7 4: 8 6: -64 0: 10 12: 8 6: 5 -2: 3 -6: -64 0: 11 12: 9 6: 7 1: 5 -3: 3 -6: 1 -8: -2 -9: -6 -9: -8 -8: -9 -6: -9 -5: -8 -4: -7 -5: -8 -6:-64 -64 2576: -11 10: 8 10: 7 8: 5 3: 4 0: 3 -2: 1 -5: -1 -7: -3 -8: -6 -9: -64 0: 1 6: 0 4: -2 3: -4 3: -5 5: -5 7: -4 9: -2 11: 1 12: 11 12: 9 11: 8 10: 7 7: 6 3: 4 -3: 2 -6: -1 -8: -6 -9: -10 -9: -11 -8: -11 -6: -10 -5: -8 -5: -6 -6: -3 -8: -1 -9: 2 -9: 5 -8: 7 -6: -64 0: 4 12: 8 11: 9 11:-64 -64 2601: -10 10: 5 5: 5 -9: 6 -9: -64 0: 5 5: 6 5: 6 -9: -64 0: 5 2: 3 4: 1 5: -2 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -2 -9: 1 -9: 3 -8: 5 -6: -64 0: 5 2: 1 4: -2 4: -4 3: -5 2: -6 -1: -6 -3: -5 -6: -4 -7: -2 -8: 1 -8: 5 -6:-64 -64 2602: -10 10: -6 12: -6 -9: -5 -9: -64 0: -6 12: -5 12: -5 -9: -64 0: -5 2: -3 4: -1 5: 2 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 2 -9: -1 -9: -3 -8: -5 -6: -64 0: -5 2: -1 4: 2 4: 4 3: 5 2: 6 -1: 6 -3: 5 -6: 4 -7: 2 -8: -1 -8: -5 -6:-64 -64 2603: -9 9: 6 2: 4 4: 2 5: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: 2 -9: 4 -8: 6 -6: -64 0: 6 2: 5 1: 4 3: 2 4: -1 4: -3 3: -4 2: -5 -1: -5 -3: -4 -6: -3 -7: -1 -8: 2 -8: 4 -7: 5 -5: 6 -6:-64 -64 2604: -10 10: 5 12: 5 -9: 6 -9: -64 0: 5 12: 6 12: 6 -9: -64 0: 5 2: 3 4: 1 5: -2 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -2 -9: 1 -9: 3 -8: 5 -6: -64 0: 5 2: 1 4: -2 4: -4 3: -5 2: -6 -1: -6 -3: -5 -6: -4 -7: -2 -8: 1 -8: 5 -6:-64 -64 2605: -9 9: -5 -2: 6 -2: 6 1: 5 3: 4 4: 2 5: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: 2 -9: 4 -8: 6 -6: -64 0: -5 -1: 5 -1: 5 1: 4 3: 2 4: -1 4: -3 3: -4 2: -5 -1: -5 -3: -4 -6: -3 -7: -1 -8: 2 -8: 4 -7: 5 -5: 6 -6:-64 -64 2606: -6 8: 5 12: 3 12: 1 11: 0 8: 0 -9: 1 -9: -64 0: 5 12: 5 11: 3 11: 1 10: -64 0: 2 11: 1 8: 1 -9: -64 0: -3 5: 4 5: 4 4: -64 0: -3 5: -3 4: 4 4:-64 -64 2607: -10 10: 6 5: 5 5: 5 -10: 4 -13: 3 -14: 1 -15: -1 -15: -3 -14: -4 -13: -6 -13: -64 0: 6 5: 6 -10: 5 -13: 3 -15: 1 -16: -2 -16: -4 -15: -6 -13: -64 0: 5 2: 3 4: 1 5: -2 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -2 -9: 1 -9: 3 -8: 5 -6: -64 0: 5 2: 1 4: -2 4: -4 3: -5 2: -6 -1: -6 -3: -5 -6: -4 -7: -2 -8: 1 -8: 5 -6:-64 -64 2608: -10 10: -6 12: -6 -9: -5 -9: -64 0: -6 12: -5 12: -5 -9: -64 0: -5 1: -2 4: 0 5: 3 5: 5 4: 6 1: 6 -9: -64 0: -5 1: -2 3: 0 4: 2 4: 4 3: 5 1: 5 -9: 6 -9:-64 -64 2609: -4 5: 0 12: -1 11: -1 10: 0 9: 1 9: 2 10: 2 11: 1 12: 0 12: -64 0: 0 11: 0 10: 1 10: 1 11: 0 11: -64 0: 0 5: 0 -9: 1 -9: -64 0: 0 5: 1 5: 1 -9:-64 -64 2610: -4 5: 0 12: -1 11: -1 10: 0 9: 1 9: 2 10: 2 11: 1 12: 0 12: -64 0: 0 11: 0 10: 1 10: 1 11: 0 11: -64 0: 0 5: 0 -16: 1 -16: -64 0: 0 5: 1 5: 1 -16:-64 -64 2611: -10 9: -6 12: -6 -9: -5 -9: -64 0: -6 12: -5 12: -5 -9: -64 0: 6 5: 5 5: -5 -5: -64 0: 6 5: -5 -6: -64 0: -2 -2: 4 -9: 6 -9: -64 0: -1 -1: 6 -9:-64 -64 2612: -4 5: 0 12: 0 -9: 1 -9: -64 0: 0 12: 1 12: 1 -9:-64 -64 2613: -15 16: -11 5: -11 -9: -10 -9: -64 0: -11 5: -10 5: -10 -9: -64 0: -10 1: -7 4: -5 5: -2 5: 0 4: 1 1: 1 -9: -64 0: -10 1: -7 3: -5 4: -3 4: -1 3: 0 1: 0 -9: 1 -9: -64 0: 1 1: 4 4: 6 5: 9 5: 11 4: 12 1: 12 -9: -64 0: 1 1: 4 3: 6 4: 8 4: 10 3: 11 1: 11 -9: 12 -9:-64 -64 2614: -10 10: -6 5: -6 -9: -5 -9: -64 0: -6 5: -5 5: -5 -9: -64 0: -5 1: -2 4: 0 5: 3 5: 5 4: 6 1: 6 -9: -64 0: -5 1: -2 3: 0 4: 2 4: 4 3: 5 1: 5 -9: 6 -9:-64 -64 2615: -9 10: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: 2 -9: 4 -8: 6 -6: 7 -3: 7 -1: 6 2: 4 4: 2 5: -1 5: -64 0: -1 4: -3 3: -4 2: -5 -1: -5 -3: -4 -6: -3 -7: -1 -8: 2 -8: 4 -7: 5 -6: 6 -3: 6 -1: 5 2: 4 3: 2 4: -1 4:-64 -64 2616: -10 10: -6 5: -6 -16: -5 -16: -64 0: -6 5: -5 5: -5 -16: -64 0: -5 2: -3 4: -1 5: 2 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 2 -9: -1 -9: -3 -8: -5 -6: -64 0: -5 2: -1 4: 2 4: 4 3: 5 2: 6 -1: 6 -3: 5 -6: 4 -7: 2 -8: -1 -8: -5 -6:-64 -64 2617: -10 10: 5 5: 5 -16: 6 -16: -64 0: 5 5: 6 5: 6 -16: -64 0: 5 2: 3 4: 1 5: -2 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -2 -9: 1 -9: 3 -8: 5 -6: -64 0: 5 2: 1 4: -2 4: -4 3: -5 2: -6 -1: -6 -3: -5 -6: -4 -7: -2 -8: 1 -8: 5 -6:-64 -64 2618: -7 7: -3 5: -3 -9: -2 -9: -64 0: -3 5: -2 5: -2 -9: -64 0: -2 -1: -1 2: 1 4: 3 5: 6 5: -64 0: -2 -1: -1 1: 1 3: 3 4: 6 4: 6 5:-64 -64 2619: -8 9: 6 2: 5 4: 2 5: -1 5: -4 4: -5 2: -4 0: -2 -1: 3 -3: 5 -4: -64 0: 4 -3: 5 -5: 5 -6: 4 -8: -64 0: 5 -7: 2 -8: -1 -8: -4 -7: -64 0: -3 -8: -4 -6: -5 -6: -64 0: 6 2: 5 2: 4 4: -64 0: 5 3: 2 4: -1 4: -4 3: -64 0: -3 4: -4 2: -3 0: -64 0: -4 1: -2 0: 3 -2: 5 -3: 6 -5: 6 -6: 5 -8: 2 -9: -1 -9: -4 -8: -5 -6:-64 -64 2620: -5 6: 0 12: 0 -9: 1 -9: -64 0: 0 12: 1 12: 1 -9: -64 0: -3 5: 4 5: 4 4: -64 0: -3 5: -3 4: 4 4:-64 -64 2621: -10 10: -6 5: -6 -5: -5 -8: -3 -9: 0 -9: 2 -8: 5 -5: -64 0: -6 5: -5 5: -5 -5: -4 -7: -2 -8: 0 -8: 2 -7: 5 -5: -64 0: 5 5: 5 -9: 6 -9: -64 0: 5 5: 6 5: 6 -9:-64 -64 2622: -8 8: -6 5: 0 -9: -64 0: -6 5: -5 5: 0 -7: -64 0: 6 5: 5 5: 0 -7: -64 0: 6 5: 0 -9:-64 -64 2623: -12 12: -9 5: -4 -9: -64 0: -9 5: -8 5: -4 -6: -64 0: 0 5: -4 -6: -64 0: 0 2: -4 -9: -64 0: 0 2: 4 -9: -64 0: 0 5: 4 -6: -64 0: 9 5: 8 5: 4 -6: -64 0: 9 5: 4 -9:-64 -64 2624: -9 9: -6 5: 5 -9: 6 -9: -64 0: -6 5: -5 5: 6 -9: -64 0: 6 5: 5 5: -6 -9: -64 0: 6 5: -5 -9: -6 -9:-64 -64 2625: -8 8: -6 5: 0 -9: -64 0: -6 5: -5 5: 0 -7: -64 0: 6 5: 5 5: 0 -7: -4 -16: -64 0: 6 5: 0 -9: -3 -16: -4 -16:-64 -64 2626: -9 9: 4 4: -6 -9: -64 0: 6 5: -4 -8: -64 0: -6 5: 6 5: -64 0: -6 5: -6 4: 4 4: -64 0: -4 -8: 6 -8: 6 -9: -64 0: -6 -9: 6 -9:-64 -64 2651: -7 9: 3 -3: 2 -1: 0 0: -2 0: -4 -1: -5 -2: -6 -4: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: 2 -6: -64 0: -2 0: -4 -2: -5 -4: -5 -7: -3 -9: -64 0: 4 0: 2 -6: 2 -8: 4 -9: 6 -8: 7 -7: 9 -4: -64 0: 5 0: 3 -6: 3 -8: 4 -9:-64 -64 2652: -6 8: -6 -4: -4 -1: -2 3: -64 0: 1 12: -5 -6: -5 -8: -3 -9: -2 -9: 0 -8: 2 -6: 3 -3: 3 0: 4 -4: 5 -5: 6 -5: 8 -4: -64 0: 2 12: -4 -6: -4 -8: -3 -9:-64 -64 2653: -6 6: 2 -1: 1 -2: 2 -2: 2 -1: 1 0: -1 0: -3 -1: -4 -2: -5 -4: -5 -6: -4 -8: -2 -9: 1 -9: 4 -7: 6 -4: -64 0: -1 0: -3 -2: -4 -4: -4 -7: -2 -9:-64 -64 2654: -7 9: 3 -3: 2 -1: 0 0: -2 0: -4 -1: -5 -2: -6 -4: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: 2 -6: -64 0: -2 0: -4 -2: -5 -4: -5 -7: -3 -9: -64 0: 8 12: 2 -6: 2 -8: 4 -9: 6 -8: 7 -7: 9 -4: -64 0: 9 12: 3 -6: 3 -8: 4 -9:-64 -64 2655: -6 6: -3 -7: -1 -6: 0 -5: 1 -3: 1 -1: 0 0: -1 0: -3 -1: -4 -2: -5 -4: -5 -6: -4 -8: -2 -9: 1 -9: 4 -7: 6 -4: -64 0: -1 0: -3 -2: -4 -4: -4 -7: -2 -9:-64 -64 2656: -3 6: 0 0: 3 3: 5 6: 6 9: 6 11: 5 12: 3 11: 2 9: -7 -18: -7 -20: -6 -21: -4 -20: -3 -17: -2 -8: -1 -9: 1 -9: 3 -8: 4 -7: 6 -4: -64 0: 2 9: 1 4: 0 0: -3 -9: -5 -14: -7 -18:-64 -64 2657: -7 9: 3 -3: 2 -1: 0 0: -2 0: -4 -1: -5 -2: -6 -4: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: 2 -6: -64 0: -2 0: -4 -2: -5 -4: -5 -7: -3 -9: -64 0: 4 0: -2 -18: -64 0: 5 0: 2 -9: 0 -14: -2 -18: -3 -20: -5 -21: -6 -20: -6 -18: -5 -15: -3 -13: 0 -11: 4 -9: 7 -7: 9 -4:-64 -64 2658: -6 9: -6 -4: -4 -1: -2 3: -64 0: 1 12: -6 -9: -64 0: 2 12: -5 -9: -64 0: -3 -3: -1 -1: 1 0: 2 0: 4 -1: 4 -3: 3 -6: 3 -8: 4 -9: -64 0: 2 0: 3 -1: 3 -3: 2 -6: 2 -8: 4 -9: 6 -8: 7 -7: 9 -4:-64 -64 2659: -4 4: 1 6: 0 5: 1 4: 2 5: 1 6: -64 0: -1 0: -3 -6: -3 -8: -1 -9: 1 -8: 2 -7: 4 -4: -64 0: 0 0: -2 -6: -2 -8: -1 -9:-64 -64 2660: -4 4: 1 6: 0 5: 1 4: 2 5: 1 6: -64 0: -1 0: -7 -18: -64 0: 0 0: -3 -9: -5 -14: -7 -18: -8 -20: -10 -21: -11 -20: -11 -18: -10 -15: -8 -13: -5 -11: -1 -9: 2 -7: 4 -4:-64 -64 2661: -6 8: -6 -4: -4 -1: -2 3: -64 0: 1 12: -6 -9: -64 0: 2 12: -5 -9: -64 0: 3 0: 3 -1: 4 -1: 3 0: 2 0: 0 -2: -3 -3: -64 0: -3 -3: 0 -4: 1 -8: 2 -9: -64 0: -3 -3: -1 -4: 0 -8: 2 -9: 3 -9: 6 -7: 8 -4:-64 -64 2662: -4 4: -4 -4: -2 -1: 0 3: -64 0: 3 12: -3 -6: -3 -8: -1 -9: 1 -8: 2 -7: 4 -4: -64 0: 4 12: -2 -6: -2 -8: -1 -9:-64 -64 2663: -13 12: -13 -4: -11 -1: -9 0: -7 -1: -7 -3: -9 -9: -64 0: -9 0: -8 -1: -8 -3: -10 -9: -64 0: -7 -3: -5 -1: -3 0: -2 0: 0 -1: 0 -3: -2 -9: -64 0: -2 0: -1 -1: -1 -3: -3 -9: -64 0: 0 -3: 2 -1: 4 0: 5 0: 7 -1: 7 -3: 6 -6: 6 -8: 7 -9: -64 0: 5 0: 6 -1: 6 -3: 5 -6: 5 -8: 7 -9: 9 -8: 10 -7: 12 -4:-64 -64 2664: -9 9: -9 -4: -7 -1: -5 0: -3 -1: -3 -3: -5 -9: -64 0: -5 0: -4 -1: -4 -3: -6 -9: -64 0: -3 -3: -1 -1: 1 0: 2 0: 4 -1: 4 -3: 3 -6: 3 -8: 4 -9: -64 0: 2 0: 3 -1: 3 -3: 2 -6: 2 -8: 4 -9: 6 -8: 7 -7: 9 -4:-64 -64 2665: -7 7: 0 0: -2 0: -4 -1: -5 -2: -6 -4: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: 2 -7: 3 -5: 3 -3: 2 -1: 0 0: -1 -1: -1 -3: 0 -5: 2 -6: 4 -6: 6 -5: 7 -4: -64 0: -2 0: -4 -2: -5 -4: -5 -7: -3 -9:-64 -64 2666: -6 9: -6 -4: -4 -1: -2 3: -64 0: -1 6: -10 -21: -64 0: 0 6: -9 -21: -64 0: -3 -3: -1 -1: 1 0: 2 0: 4 -1: 4 -3: 3 -6: 3 -8: 4 -9: -64 0: 2 0: 3 -1: 3 -3: 2 -6: 2 -8: 4 -9: 6 -8: 7 -7: 9 -4:-64 -64 2667: -7 9: 3 -3: 2 -1: 0 0: -2 0: -4 -1: -5 -2: -6 -4: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: -64 0: -2 0: -4 -2: -5 -4: -5 -7: -3 -9: -64 0: 4 0: -2 -18: -2 -20: -1 -21: 1 -20: 2 -17: 2 -9: 4 -9: 7 -7: 9 -4: -64 0: 5 0: 2 -9: 0 -14: -2 -18:-64 -64 2668: -6 8: -6 -4: -4 -1: -2 0: 0 -1: 0 -3: -2 -9: -64 0: -2 0: -1 -1: -1 -3: -3 -9: -64 0: 0 -3: 2 -1: 4 0: 5 0: 4 -3: -64 0: 4 0: 4 -3: 5 -5: 6 -5: 8 -4:-64 -64 2669: -4 8: -4 -4: -2 -1: -1 1: -1 -1: 2 -3: 3 -5: 3 -7: 2 -8: 0 -9: -64 0: -1 -1: 1 -3: 2 -5: 2 -7: 0 -9: -64 0: -4 -8: -2 -9: 3 -9: 6 -7: 8 -4:-64 -64 2670: -4 4: -4 -4: -2 -1: 0 3: -64 0: 3 12: -3 -6: -3 -8: -1 -9: 1 -8: 2 -7: 4 -4: -64 0: 4 12: -2 -6: -2 -8: -1 -9: -64 0: -2 4: 4 4:-64 -64 2671: -7 9: -4 0: -6 -6: -6 -8: -4 -9: -3 -9: -1 -8: 1 -6: 3 -3: -64 0: -3 0: -5 -6: -5 -8: -4 -9: -64 0: 4 0: 2 -6: 2 -8: 4 -9: 6 -8: 7 -7: 9 -4: -64 0: 5 0: 3 -6: 3 -8: 4 -9:-64 -64 2672: -7 8: -4 0: -5 -2: -6 -5: -6 -8: -4 -9: -3 -9: 0 -8: 2 -6: 3 -3: 3 0: -64 0: -3 0: -4 -2: -5 -5: -5 -8: -4 -9: -64 0: 3 0: 4 -4: 5 -5: 6 -5: 8 -4:-64 -64 2673: -10 11: -6 0: -8 -2: -9 -5: -9 -8: -7 -9: -6 -9: -4 -8: -2 -6: -64 0: -5 0: -7 -2: -8 -5: -8 -8: -7 -9: -64 0: 0 0: -2 -6: -2 -8: 0 -9: 1 -9: 3 -8: 5 -6: 6 -3: 6 0: -64 0: 1 0: -1 -6: -1 -8: 0 -9: -64 0: 6 0: 7 -4: 8 -5: 9 -5: 11 -4:-64 -64 2674: -8 8: -8 -4: -6 -1: -4 0: -2 0: -1 -1: -1 -3: -2 -6: -3 -8: -5 -9: -6 -9: -7 -8: -7 -7: -6 -7: -7 -8: -64 0: 5 -1: 4 -2: 5 -2: 5 -1: 4 0: 3 0: 1 -1: 0 -3: -1 -6: -1 -8: 0 -9: 3 -9: 6 -7: 8 -4: -64 0: -1 -1: 0 -3: -64 0: 1 -1: -1 -3: -64 0: -2 -6: -1 -8: -64 0: -1 -6: -3 -8:-64 -64 2675: -7 9: -4 0: -6 -6: -6 -8: -4 -9: -3 -9: -1 -8: 1 -6: 3 -3: -64 0: -3 0: -5 -6: -5 -8: -4 -9: -64 0: 4 0: -2 -18: -64 0: 5 0: 2 -9: 0 -14: -2 -18: -3 -20: -5 -21: -6 -20: -6 -18: -5 -15: -3 -13: 0 -11: 4 -9: 7 -7: 9 -4:-64 -64 2676: -6 7: -6 -4: -4 -1: -2 0: 0 0: 2 -1: 2 -4: 1 -6: -2 -8: -4 -9: -64 0: 0 0: 1 -1: 1 -4: 0 -6: -2 -8: -64 0: -4 -9: -2 -10: -1 -12: -1 -15: -2 -18: -4 -20: -6 -21: -7 -20: -7 -18: -6 -15: -3 -12: 0 -10: 4 -7: 7 -4: -64 0: -4 -9: -3 -10: -2 -12: -2 -15: -3 -18: -4 -20:-64 -64 2697: 0 0:-64 -64 2698: -4 4:-64 -64 2699: -8 8:-64 -64 2700: -10 10: -1 12: -4 11: -6 8: -7 3: -7 0: -6 -5: -4 -8: -1 -9: 1 -9: 4 -8: 6 -5: 7 0: 7 3: 6 8: 4 11: 1 12: -1 12: -64 0: -3 11: -5 8: -6 3: -6 0: -5 -5: -3 -8: -64 0: -4 -7: -1 -8: 1 -8: 4 -7: -64 0: 3 -8: 5 -5: 6 0: 6 3: 5 8: 3 11: -64 0: 4 10: 1 11: -1 11: -4 10:-64 -64 2701: -10 10: -4 8: -2 9: 1 12: 1 -9: -64 0: -4 8: -4 7: -2 8: 0 10: 0 -9: 1 -9:-64 -64 2702: -10 10: -6 7: -6 8: -5 10: -4 11: -2 12: 2 12: 4 11: 5 10: 6 8: 6 6: 5 4: 3 1: -6 -9: -64 0: -6 7: -5 7: -5 8: -4 10: -2 11: 2 11: 4 10: 5 8: 5 6: 4 4: 2 1: -7 -9: -64 0: -6 -8: 7 -8: 7 -9: -64 0: -7 -9: 7 -9:-64 -64 2703: -10 10: -5 12: 6 12: -1 3: -64 0: -5 12: -5 11: 5 11: -64 0: 5 12: -2 3: -64 0: -1 4: 1 4: 4 3: 6 1: 7 -2: 7 -3: 6 -6: 4 -8: 1 -9: -2 -9: -5 -8: -6 -7: -7 -5: -6 -5: -64 0: -2 3: 1 3: 4 2: 6 -1: -64 0: 2 3: 5 1: 6 -2: 6 -3: 5 -6: 2 -8: -64 0: 6 -4: 4 -7: 1 -8: -2 -8: -5 -7: -6 -5: -64 0: -3 -8: -6 -6:-64 -64 2704: -10 10: 3 9: 3 -9: 4 -9: -64 0: 4 12: 4 -9: -64 0: 4 12: -7 -4: 8 -4: -64 0: 3 9: -6 -4: -64 0: -6 -3: 8 -3: 8 -4:-64 -64 2705: -10 10: -5 12: -6 3: -64 0: -4 11: -5 4: -64 0: -5 12: 5 12: 5 11: -64 0: -4 11: 5 11: -64 0: -5 4: -2 5: 1 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -2 -9: -5 -8: -6 -7: -7 -5: -6 -5: -64 0: -6 3: -5 3: -3 4: 1 4: 4 3: 6 0: -64 0: 2 4: 5 2: 6 -1: 6 -3: 5 -6: 2 -8: -64 0: 6 -4: 4 -7: 1 -8: -2 -8: -5 -7: -6 -5: -64 0: -3 -8: -6 -6:-64 -64 2706: -10 10: 4 11: 5 9: 6 9: 5 11: 2 12: 0 12: -3 11: -5 8: -6 3: -6 -2: -5 -6: -3 -8: 0 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 -2: 6 1: 4 3: 1 4: 0 4: -3 3: -5 1: -64 0: 5 10: 2 11: 0 11: -3 10: -64 0: -2 11: -4 8: -5 3: -5 -2: -4 -6: -1 -8: -64 0: -5 -4: -3 -7: 0 -8: 1 -8: 4 -7: 6 -4: -64 0: 2 -8: 5 -6: 6 -3: 6 -2: 5 1: 2 3: -64 0: 6 -1: 4 2: 1 3: 0 3: -3 2: -5 -1: -64 0: -1 3: -4 1: -5 -2:-64 -64 2707: -10 10: -7 12: 7 12: -3 -9: -64 0: -7 12: -7 11: 6 11: -64 0: 6 12: -4 -9: -3 -9:-64 -64 2708: -10 10: -2 12: -5 11: -6 9: -6 7: -5 5: -4 4: -2 3: 2 2: 4 1: 5 0: 6 -2: 6 -5: 5 -7: 2 -8: -2 -8: -5 -7: -6 -5: -6 -2: -5 0: -4 1: -2 2: 2 3: 4 4: 5 5: 6 7: 6 9: 5 11: 2 12: -2 12: -64 0: -4 11: -5 9: -5 7: -4 5: -2 4: 2 3: 4 2: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -2 -9: -5 -8: -6 -7: -7 -5: -7 -2: -6 0: -4 2: -2 3: 2 4: 4 5: 5 7: 5 9: 4 11: -64 0: 5 10: 2 11: -2 11: -5 10: -64 0: -6 -6: -3 -8: -64 0: 3 -8: 6 -6:-64 -64 2709: -10 10: 5 2: 3 0: 0 -1: -1 -1: -4 0: -6 2: -7 5: -7 6: -6 9: -4 11: -1 12: 0 12: 3 11: 5 9: 6 5: 6 0: 5 -5: 3 -8: 0 -9: -2 -9: -5 -8: -6 -6: -5 -6: -4 -8: -64 0: 5 5: 4 2: 1 0: -64 0: 5 4: 3 1: 0 0: -1 0: -4 1: -6 4: -64 0: -2 0: -5 2: -6 5: -6 6: -5 9: -2 11: -64 0: -6 7: -4 10: -1 11: 0 11: 3 10: 5 7: -64 0: 1 11: 4 9: 5 5: 5 0: 4 -5: 2 -8: -64 0: 3 -7: 0 -8: -2 -8: -5 -7:-64 -64 2710: -5 6: 0 -6: -1 -7: -1 -8: 0 -9: 1 -9: 2 -8: 2 -7: 1 -6: 0 -6: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7:-64 -64 2711: -5 6: 2 -8: 1 -9: 0 -9: -1 -8: -1 -7: 0 -6: 1 -6: 2 -7: 2 -10: 1 -12: -1 -13: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7: -64 0: 1 -9: 2 -10: -64 0: 2 -8: 1 -12:-64 -64 2712: -5 6: 0 5: -1 4: -1 3: 0 2: 1 2: 2 3: 2 4: 1 5: 0 5: -64 0: 0 4: 0 3: 1 3: 1 4: 0 4: -64 0: 0 -6: -1 -7: -1 -8: 0 -9: 1 -9: 2 -8: 2 -7: 1 -6: 0 -6: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7:-64 -64 2713: -5 6: 0 5: -1 4: -1 3: 0 2: 1 2: 2 3: 2 4: 1 5: 0 5: -64 0: 0 4: 0 3: 1 3: 1 4: 0 4: -64 0: 2 -8: 1 -9: 0 -9: -1 -8: -1 -7: 0 -6: 1 -6: 2 -7: 2 -10: 1 -12: -1 -13: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7: -64 0: 1 -9: 2 -10: -64 0: 2 -8: 1 -12:-64 -64 2714: -5 6: 0 12: 0 -2: 1 -2: -64 0: 0 12: 1 12: 1 -2: -64 0: 0 -6: -1 -7: -1 -8: 0 -9: 1 -9: 2 -8: 2 -7: 1 -6: 0 -6: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7:-64 -64 2715: -9 10: -6 7: -6 8: -5 10: -4 11: -1 12: 2 12: 5 11: 6 10: 7 8: 7 6: 6 4: 5 3: 3 2: 0 1: -64 0: -6 7: -5 7: -5 8: -4 10: -1 11: 2 11: 5 10: 6 8: 6 6: 5 4: 3 3: 0 2: -64 0: -5 9: -2 11: -64 0: 3 11: 6 9: -64 0: 6 5: 2 2: -64 0: 0 2: 0 -2: 1 -2: 1 2: -64 0: 0 -6: -1 -7: -1 -8: 0 -9: 1 -9: 2 -8: 2 -7: 1 -6: 0 -6: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7:-64 -64 2716: -5 6: 2 12: 0 11: -1 9: -1 6: 0 5: 1 5: 2 6: 2 7: 1 8: 0 8: -1 7: -64 0: 0 7: 0 6: 1 6: 1 7: 0 7: -64 0: 0 11: -1 7: -64 0: -1 9: 0 8:-64 -64 2717: -5 6: 2 10: 1 9: 0 9: -1 10: -1 11: 0 12: 1 12: 2 11: 2 8: 1 6: -1 5: -64 0: 0 11: 0 10: 1 10: 1 11: 0 11: -64 0: 1 9: 2 8: -64 0: 2 10: 1 6:-64 -64 2718: -12 13: 10 5: 8 5: 6 4: 5 2: 3 -4: 2 -6: 1 -7: -1 -8: -5 -8: -7 -7: -8 -5: -8 -3: -7 -1: -6 0: -1 3: 1 5: 2 7: 2 9: 1 11: -1 12: -2 12: -4 11: -5 9: -5 7: -4 4: -2 1: 3 -5: 6 -8: 8 -9: 10 -9: -64 0: 10 5: 10 4: 8 4: 6 3: -64 0: 7 4: 6 2: 4 -4: 3 -6: 1 -8: -1 -9: -5 -9: -7 -8: -8 -7: -9 -5: -9 -3: -8 -1: -6 1: -1 4: 0 5: 1 7: 1 9: 0 11: -64 0: 1 10: -1 11: -2 11: -4 10: -64 0: -3 11: -4 9: -4 7: -3 4: -1 1: 4 -5: 6 -7: 8 -8: 10 -8: 10 -9:-64 -64 2719: -9 10: 0 16: 0 -13: 1 -13: -64 0: 0 16: 1 16: 1 -13: -64 0: 5 9: 7 9: 5 11: 2 12: -1 12: -4 11: -6 9: -6 7: -5 5: -4 4: 4 0: 5 -1: 6 -3: 6 -5: 5 -7: 2 -8: -1 -8: -3 -7: -4 -6: -64 0: 5 9: 4 10: 2 11: -1 11: -4 10: -5 9: -5 7: -4 5: 4 1: 6 -1: 7 -3: 7 -5: 6 -7: 5 -8: 2 -9: -1 -9: -4 -8: -6 -6: -4 -6: -64 0: 6 -6: 3 -8:-64 -64 2720: -11 12: 9 16: -9 -16: -8 -16: -64 0: 9 16: 10 16: -8 -16:-64 -64 2721: -7 7: 3 16: 1 14: -1 11: -3 7: -4 2: -4 -2: -3 -7: -1 -11: 1 -14: 3 -16: 4 -16: -64 0: 3 16: 4 16: 2 14: 0 11: -2 7: -3 2: -3 -2: -2 -7: 0 -11: 2 -14: 4 -16:-64 -64 2722: -7 7: -4 16: -2 14: 0 11: 2 7: 3 2: 3 -2: 2 -7: 0 -11: -2 -14: -4 -16: -3 -16: -64 0: -4 16: -3 16: -1 14: 1 11: 3 7: 4 2: 4 -2: 3 -7: 1 -11: -1 -14: -3 -16:-64 -64 2723: -8 8: 0 12: -1 11: 1 1: 0 0: -64 0: 0 12: 0 0: -64 0: 0 12: 1 11: -1 1: 0 0: -64 0: -5 9: -4 9: 4 3: 5 3: -64 0: -5 9: 5 3: -64 0: -5 9: -5 8: 5 4: 5 3: -64 0: 5 9: 4 9: -4 3: -5 3: -64 0: 5 9: -5 3: -64 0: 5 9: 5 8: -5 4: -5 3:-64 -64 2724: -12 13: -8 1: 9 1: 9 0: -64 0: -8 1: -8 0: 9 0:-64 -64 2725: -12 13: 0 9: 0 -8: 1 -8: -64 0: 0 9: 1 9: 1 -8: -64 0: -8 1: 9 1: 9 0: -64 0: -8 1: -8 0: 9 0:-64 -64 2726: -12 13: -8 5: 9 5: 9 4: -64 0: -8 5: -8 4: 9 4: -64 0: -8 -3: 9 -3: 9 -4: -64 0: -8 -3: -8 -4: 9 -4:-64 -64 2727: -4 5: 1 12: 0 11: 0 5: -64 0: 1 11: 0 5: -64 0: 1 12: 2 11: 0 5:-64 -64 2728: -9 9: -4 12: -5 11: -5 5: -64 0: -4 11: -5 5: -64 0: -4 12: -3 11: -5 5: -64 0: 5 12: 4 11: 4 5: -64 0: 5 11: 4 5: -64 0: 5 12: 6 11: 4 5:-64 -64 2729: -7 7: -1 12: -3 11: -4 9: -4 7: -3 5: -1 4: 1 4: 3 5: 4 7: 4 9: 3 11: 1 12: -1 12: -64 0: -1 12: -4 9: -3 5: 1 4: 4 7: 3 11: -1 12: -64 0: 1 12: -3 11: -4 7: -1 4: 3 5: 4 9: 1 12:-64 -64 2747: 0 0:-64 -64 2748: -4 4:-64 -64 2749: -8 8:-64 -64 2750: -10 11: 2 12: -1 11: -3 9: -5 6: -6 3: -7 -1: -7 -4: -6 -7: -5 -8: -3 -9: -1 -9: 2 -8: 4 -6: 6 -3: 7 0: 8 4: 8 7: 7 10: 6 11: 4 12: 2 12: -64 0: 2 12: 0 11: -2 9: -4 6: -5 3: -6 -1: -6 -4: -5 -7: -3 -9: -64 0: -1 -9: 1 -8: 3 -6: 5 -3: 6 0: 7 4: 7 7: 6 10: 4 12:-64 -64 2751: -10 11: 2 8: -3 -9: -64 0: 4 12: -2 -9: -64 0: 4 12: 1 9: -2 7: -4 6: -64 0: 3 9: -1 7: -4 6:-64 -64 2752: -10 11: -3 8: -2 7: -3 6: -4 7: -4 8: -3 10: -2 11: 1 12: 4 12: 7 11: 8 9: 8 7: 7 5: 5 3: 2 1: -2 -1: -5 -3: -7 -5: -9 -9: -64 0: 4 12: 6 11: 7 9: 7 7: 6 5: 4 3: -2 -1: -64 0: -8 -7: -7 -6: -5 -6: 0 -8: 3 -8: 5 -7: 6 -5: -64 0: -5 -6: 0 -9: 3 -9: 5 -8: 6 -5:-64 -64 2753: -10 11: -3 8: -2 7: -3 6: -4 7: -4 8: -3 10: -2 11: 1 12: 4 12: 7 11: 8 9: 8 7: 7 5: 4 3: 1 2: -64 0: 4 12: 6 11: 7 9: 7 7: 6 5: 4 3: -64 0: -1 2: 1 2: 4 1: 5 0: 6 -2: 6 -5: 5 -7: 4 -8: 1 -9: -3 -9: -6 -8: -7 -7: -8 -5: -8 -4: -7 -3: -6 -4: -7 -5: -64 0: 1 2: 3 1: 4 0: 5 -2: 5 -5: 4 -7: 3 -8: 1 -9:-64 -64 2754: -10 11: 6 11: 0 -9: -64 0: 7 12: 1 -9: -64 0: 7 12: -8 -3: 8 -3:-64 -64 2755: -10 11: -1 12: -6 2: -64 0: -1 12: 9 12: -64 0: -1 11: 4 11: 9 12: -64 0: -6 2: -5 3: -2 4: 1 4: 4 3: 5 2: 6 0: 6 -3: 5 -6: 3 -8: 0 -9: -3 -9: -6 -8: -7 -7: -8 -5: -8 -4: -7 -3: -6 -4: -7 -5: -64 0: 1 4: 3 3: 4 2: 5 0: 5 -3: 4 -6: 2 -8: 0 -9:-64 -64 2756: -10 11: 7 9: 6 8: 7 7: 8 8: 8 9: 7 11: 5 12: 2 12: -1 11: -3 9: -5 6: -6 3: -7 -1: -7 -5: -6 -7: -5 -8: -3 -9: 0 -9: 3 -8: 5 -6: 6 -4: 6 -1: 5 1: 4 2: 2 3: -1 3: -3 2: -5 0: -6 -2: -64 0: 2 12: 0 11: -2 9: -4 6: -5 3: -6 -1: -6 -6: -5 -8: -64 0: 0 -9: 2 -8: 4 -6: 5 -4: 5 0: 4 2:-64 -64 2757: -10 11: -4 12: -6 6: -64 0: 9 12: 8 9: 6 6: 1 0: -1 -3: -2 -5: -3 -9: -64 0: 6 6: 0 0: -2 -3: -3 -5: -4 -9: -64 0: -5 9: -2 12: 0 12: 5 9: -64 0: -4 10: -2 11: 0 11: 5 9: 7 9: 8 10: 9 12:-64 -64 2758: -10 11: 1 12: -2 11: -3 10: -4 8: -4 5: -3 3: -1 2: 2 2: 6 3: 7 4: 8 6: 8 9: 7 11: 4 12: 1 12: -64 0: 1 12: -1 11: -2 10: -3 8: -3 5: -2 3: -1 2: -64 0: 2 2: 5 3: 6 4: 7 6: 7 9: 6 11: 4 12: -64 0: -1 2: -5 1: -7 -1: -8 -3: -8 -6: -7 -8: -4 -9: 0 -9: 4 -8: 5 -7: 6 -5: 6 -2: 5 0: 4 1: 2 2: -64 0: -1 2: -4 1: -6 -1: -7 -3: -7 -6: -6 -8: -4 -9: -64 0: 0 -9: 3 -8: 4 -7: 5 -5: 5 -1: 4 1:-64 -64 2759: -10 11: 7 5: 6 3: 4 1: 2 0: -1 0: -3 1: -4 2: -5 4: -5 7: -4 9: -2 11: 1 12: 4 12: 6 11: 7 10: 8 8: 8 4: 7 0: 6 -3: 4 -6: 2 -8: -1 -9: -4 -9: -6 -8: -7 -6: -7 -5: -6 -4: -5 -5: -6 -6: -64 0: -3 1: -4 3: -4 7: -3 9: -1 11: 1 12: -64 0: 6 11: 7 9: 7 4: 6 0: 5 -3: 3 -6: 1 -8: -1 -9:-64 -64 2760: -5 6: -2 -7: -3 -8: -2 -9: -1 -8: -2 -7:-64 -64 2761: -5 6: -2 -9: -3 -8: -2 -7: -1 -8: -1 -9: -2 -11: -4 -13:-64 -64 2762: -5 6: 1 5: 0 4: 1 3: 2 4: 1 5: -64 0: -2 -7: -3 -8: -2 -9: -1 -8:-64 -64 2763: -5 6: 1 5: 0 4: 1 3: 2 4: 1 5: -64 0: -2 -9: -3 -8: -2 -7: -1 -8: -1 -9: -2 -11: -4 -13:-64 -64 2764: -5 6: 3 12: 2 11: 0 -1: -64 0: 3 11: 0 -1: -64 0: 3 12: 4 11: 0 -1: -64 0: -2 -7: -3 -8: -2 -9: -1 -8: -2 -7:-64 -64 2765: -10 11: -3 8: -2 7: -3 6: -4 7: -4 8: -3 10: -2 11: 1 12: 5 12: 8 11: 9 9: 9 7: 8 5: 7 4: 1 2: -1 1: -1 -1: 0 -2: 2 -2: -64 0: 5 12: 7 11: 8 9: 8 7: 7 5: 6 4: 4 3: -64 0: -2 -7: -3 -8: -2 -9: -1 -8: -2 -7:-64 -64 2766: -5 6: 4 12: 2 10: 1 8: 1 7: 2 6: 3 7: 2 8:-64 -64 2767: -5 6: 3 10: 2 11: 3 12: 4 11: 4 10: 3 8: 1 6:-64 -64 2768: -13 13: 10 4: 9 3: 10 2: 11 3: 11 4: 10 5: 9 5: 7 4: 5 2: 0 -6: -2 -8: -4 -9: -7 -9: -10 -8: -11 -6: -11 -4: -10 -2: -9 -1: -7 0: -2 2: 0 3: 2 5: 3 7: 3 9: 2 11: 0 12: -2 11: -3 9: -3 6: -2 0: -1 -3: 1 -6: 3 -8: 5 -9: 7 -9: 8 -7: 8 -6: -64 0: -7 -9: -9 -8: -10 -6: -10 -4: -9 -2: -8 -1: -2 2: -64 0: -3 6: -2 1: -1 -2: 1 -5: 3 -7: 5 -8: 7 -8: 8 -7:-64 -64 2769: -10 11: 2 16: -6 -13: -64 0: 7 16: -1 -13: -64 0: 8 8: 7 7: 8 6: 9 7: 9 8: 8 10: 7 11: 4 12: 0 12: -3 11: -5 9: -5 7: -4 5: -3 4: 4 0: 6 -2: -64 0: -5 7: -3 5: 4 1: 5 0: 6 -2: 6 -5: 5 -7: 4 -8: 1 -9: -3 -9: -6 -8: -7 -7: -8 -5: -8 -4: -7 -3: -6 -4: -7 -5:-64 -64 2770: -11 11: 13 16: -13 -16:-64 -64 2771: -7 8: 8 16: 4 13: 1 10: -1 7: -3 3: -4 -2: -4 -6: -3 -11: -2 -14: -1 -16: -64 0: 4 13: 1 9: -1 5: -2 2: -3 -3: -3 -8: -2 -13: -1 -16:-64 -64 2772: -8 7: 1 16: 2 14: 3 11: 4 6: 4 2: 3 -3: 1 -7: -1 -10: -4 -13: -8 -16: -64 0: 1 16: 2 13: 3 8: 3 3: 2 -2: 1 -5: -1 -9: -4 -13:-64 -64 2773: -8 9: 2 12: 2 0: -64 0: -3 9: 7 3: -64 0: 7 9: -3 3:-64 -64 2774: -13 13: -9 0: 9 0:-64 -64 2775: -13 13: 0 9: 0 -9: -64 0: -9 0: 9 0:-64 -64 2776: -13 13: -9 3: 9 3: -64 0: -9 -3: 9 -3:-64 -64 2777: -4 5: 3 12: 1 5: -64 0: 4 12: 1 5:-64 -64 2778: -9 9: -2 12: -4 5: -64 0: -1 12: -4 5: -64 0: 7 12: 5 5: -64 0: 8 12: 5 5:-64 -64 2779: -7 8: 1 12: -1 11: -2 9: -2 7: -1 5: 1 4: 3 4: 5 5: 6 7: 6 9: 5 11: 3 12: 1 12:-64 -64 2801: -10 10: 0 12: -7 -9: -64 0: 0 12: 7 -9: -64 0: 0 9: 6 -9: -64 0: -5 -3: 4 -3: -64 0: -9 -9: -3 -9: -64 0: 3 -9: 9 -9:-64 -64 2802: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -9 12: 7 12: 7 6: 6 12: -64 0: -5 2: 3 2: 6 1: 7 0: 8 -2: 8 -5: 7 -7: 6 -8: 3 -9: -9 -9: -64 0: 3 2: 5 1: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 3 -9:-64 -64 2803: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 6: 7 4: 6 3: 3 2: -64 0: 3 12: 5 11: 6 10: 7 8: 7 6: 6 4: 5 3: 3 2: -64 0: -5 2: 3 2: 6 1: 7 0: 8 -2: 8 -5: 7 -7: 6 -8: 3 -9: -9 -9: -64 0: 3 2: 5 1: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 3 -9:-64 -64 2804: -9 9: -4 12: -4 -9: -64 0: -3 12: -3 -9: -64 0: -7 12: 8 12: 8 6: 7 12: -64 0: -7 -9: 0 -9:-64 -64 2805: -12 12: -4 12: -4 6: -5 -2: -6 -6: -7 -8: -8 -9: -64 0: 6 12: 6 -9: -64 0: 7 12: 7 -9: -64 0: -7 12: 10 12: -64 0: -11 -9: 10 -9: -64 0: -11 -9: -11 -16: -64 0: -10 -9: -11 -16: -64 0: 9 -9: 10 -16: -64 0: 10 -9: 10 -16:-64 -64 2806: -11 10: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: 1 6: 1 -2: -64 0: -9 12: 7 12: 7 6: 6 12: -64 0: -5 2: 1 2: -64 0: -9 -9: 7 -9: 7 -3: 6 -9:-64 -64 2807: -15 16: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: -3 12: 4 12: -64 0: -11 11: -10 10: -11 9: -12 10: -12 11: -11 12: -10 12: -9 11: -8 9: -7 5: -6 3: -4 2: 5 2: 7 3: 8 5: 9 9: 10 11: 11 12: 12 12: 13 11: 13 10: 12 9: 11 10: 12 11: -64 0: -4 2: -6 1: -7 -1: -8 -6: -9 -8: -10 -9: -64 0: -4 2: -5 1: -6 -1: -7 -6: -8 -8: -9 -9: -11 -9: -12 -8: -13 -6: -64 0: 5 2: 7 1: 8 -1: 9 -6: 10 -8: 11 -9: -64 0: 5 2: 6 1: 7 -1: 8 -6: 9 -8: 10 -9: 12 -9: 13 -8: 14 -6: -64 0: -3 -9: 4 -9:-64 -64 2808: -10 10: -6 9: -7 12: -7 6: -6 9: -4 11: -2 12: 2 12: 5 11: 6 9: 6 6: 5 4: 2 3: -1 3: -64 0: 2 12: 4 11: 5 9: 5 6: 4 4: 2 3: -64 0: 2 3: 4 2: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -3 -9: -5 -8: -6 -7: -7 -5: -7 -4: -6 -3: -5 -4: -6 -5: -64 0: 5 1: 6 -2: 6 -5: 5 -7: 4 -8: 2 -9:-64 -64 2809: -12 12: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: 6 12: 6 -9: -64 0: 7 12: 7 -9: -64 0: -10 12: -3 12: -64 0: 3 12: 10 12: -64 0: 6 10: -6 -7: -64 0: -10 -9: -3 -9: -64 0: 3 -9: 10 -9:-64 -64 2810: -12 12: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: 6 12: 6 -9: -64 0: 7 12: 7 -9: -64 0: -10 12: -3 12: -64 0: 3 12: 10 12: -64 0: 6 10: -6 -7: -64 0: -10 -9: -3 -9: -64 0: 3 -9: 10 -9: -64 0: -4 18: -4 19: -5 19: -5 18: -4 16: -2 15: 2 15: 4 16: 5 18:-64 -64 2811: -12 12: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: -10 12: -3 12: -64 0: -6 2: 1 2: 3 3: 4 5: 5 9: 6 11: 7 12: 8 12: 9 11: 9 10: 8 9: 7 10: 8 11: -64 0: 1 2: 3 1: 4 -1: 5 -6: 6 -8: 7 -9: -64 0: 1 2: 2 1: 3 -1: 4 -6: 5 -8: 6 -9: 8 -9: 9 -8: 10 -6: -64 0: -10 -9: -3 -9:-64 -64 2812: -13 12: -5 12: -5 6: -6 -2: -7 -6: -8 -8: -9 -9: -10 -9: -11 -8: -11 -7: -10 -6: -9 -7: -10 -8: -64 0: 6 12: 6 -9: -64 0: 7 12: 7 -9: -64 0: -8 12: 10 12: -64 0: 3 -9: 10 -9:-64 -64 2813: -12 13: -7 12: -7 -9: -64 0: -6 12: 0 -6: -64 0: -7 12: 0 -9: -64 0: 7 12: 0 -9: -64 0: 7 12: 7 -9: -64 0: 8 12: 8 -9: -64 0: -10 12: -6 12: -64 0: 7 12: 11 12: -64 0: -10 -9: -4 -9: -64 0: 4 -9: 11 -9:-64 -64 2814: -12 12: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: 6 12: 6 -9: -64 0: 7 12: 7 -9: -64 0: -10 12: -3 12: -64 0: 3 12: 10 12: -64 0: -6 2: 6 2: -64 0: -10 -9: -3 -9: -64 0: 3 -9: 10 -9:-64 -64 2815: -11 11: -1 12: -4 11: -6 9: -7 7: -8 3: -8 0: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -4: 8 0: 8 3: 7 7: 6 9: 4 11: 1 12: -1 12: -64 0: -1 12: -3 11: -5 9: -6 7: -7 3: -7 0: -6 -4: -5 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -6: 6 -4: 7 0: 7 3: 6 7: 5 9: 3 11: 1 12:-64 -64 2816: -12 12: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: 6 12: 6 -9: -64 0: 7 12: 7 -9: -64 0: -10 12: 10 12: -64 0: -10 -9: -3 -9: -64 0: 3 -9: 10 -9:-64 -64 2817: -11 11: -6 12: -6 -9: -64 0: -5 12: -5 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 5: 7 3: 6 2: 3 1: -5 1: -64 0: 3 12: 5 11: 6 10: 7 8: 7 5: 6 3: 5 2: 3 1: -64 0: -9 -9: -2 -9:-64 -64 2818: -11 10: 6 9: 7 6: 7 12: 6 9: 4 11: 1 12: -1 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -4: -64 0: -1 12: -3 11: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -3 -8: -1 -9:-64 -64 2819: -9 10: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: -6 12: -7 6: -7 12: 8 12: 8 6: 7 12: -64 0: -3 -9: 4 -9:-64 -64 2820: -10 11: -7 12: 0 -4: -64 0: -6 12: 1 -4: -64 0: 8 12: 1 -4: -1 -7: -2 -8: -4 -9: -5 -9: -6 -8: -6 -7: -5 -6: -4 -7: -5 -8: -64 0: -9 12: -3 12: -64 0: 4 12: 10 12:-64 -64 2821: -12 13: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: -3 12: 4 12: -64 0: -2 9: -6 8: -8 6: -9 3: -9 0: -8 -3: -6 -5: -2 -6: 3 -6: 7 -5: 9 -3: 10 0: 10 3: 9 6: 7 8: 3 9: -2 9: -64 0: -2 9: -5 8: -7 6: -8 3: -8 0: -7 -3: -5 -5: -2 -6: -64 0: 3 -6: 6 -5: 8 -3: 9 0: 9 3: 8 6: 6 8: 3 9: -64 0: -3 -9: 4 -9:-64 -64 2822: -10 10: -7 12: 6 -9: -64 0: -6 12: 7 -9: -64 0: 7 12: -7 -9: -64 0: -9 12: -3 12: -64 0: 3 12: 9 12: -64 0: -9 -9: -3 -9: -64 0: 3 -9: 9 -9:-64 -64 2823: -12 12: -7 12: -7 -9: -64 0: -6 12: -6 -9: -64 0: 6 12: 6 -9: -64 0: 7 12: 7 -9: -64 0: -10 12: -3 12: -64 0: 3 12: 10 12: -64 0: -10 -9: 10 -9: -64 0: 9 -9: 10 -16: -64 0: 10 -9: 10 -16:-64 -64 2824: -12 11: -7 12: -7 1: -6 -1: -3 -2: 0 -2: 3 -1: 5 1: -64 0: -6 12: -6 1: -5 -1: -3 -2: -64 0: 5 12: 5 -9: -64 0: 6 12: 6 -9: -64 0: -10 12: -3 12: -64 0: 2 12: 9 12: -64 0: 2 -9: 9 -9:-64 -64 2825: -16 17: -11 12: -11 -9: -64 0: -10 12: -10 -9: -64 0: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: 11 12: 11 -9: -64 0: 12 12: 12 -9: -64 0: -14 12: -7 12: -64 0: -3 12: 4 12: -64 0: 8 12: 15 12: -64 0: -14 -9: 15 -9:-64 -64 2826: -16 17: -11 12: -11 -9: -64 0: -10 12: -10 -9: -64 0: 0 12: 0 -9: -64 0: 1 12: 1 -9: -64 0: 11 12: 11 -9: -64 0: 12 12: 12 -9: -64 0: -14 12: -7 12: -64 0: -3 12: 4 12: -64 0: 8 12: 15 12: -64 0: -14 -9: 15 -9: -64 0: 14 -9: 15 -16: -64 0: 15 -9: 15 -16:-64 -64 2827: -12 14: -2 12: -2 -9: -64 0: -1 12: -1 -9: -64 0: -9 12: -10 6: -10 12: 2 12: -64 0: -1 2: 6 2: 9 1: 10 0: 11 -2: 11 -5: 10 -7: 9 -8: 6 -9: -5 -9: -64 0: 6 2: 8 1: 9 0: 10 -2: 10 -5: 9 -7: 8 -8: 6 -9:-64 -64 2828: -15 15: -10 12: -10 -9: -64 0: -9 12: -9 -9: -64 0: -13 12: -6 12: -64 0: -9 2: -2 2: 1 1: 2 0: 3 -2: 3 -5: 2 -7: 1 -8: -2 -9: -13 -9: -64 0: -2 2: 0 1: 1 0: 2 -2: 2 -5: 1 -7: 0 -8: -2 -9: -64 0: 9 12: 9 -9: -64 0: 10 12: 10 -9: -64 0: 6 12: 13 12: -64 0: 6 -9: 13 -9:-64 -64 2829: -10 11: -5 12: -5 -9: -64 0: -4 12: -4 -9: -64 0: -8 12: -1 12: -64 0: -4 2: 3 2: 6 1: 7 0: 8 -2: 8 -5: 7 -7: 6 -8: 3 -9: -8 -9: -64 0: 3 2: 5 1: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 3 -9:-64 -64 2830: -10 11: -6 9: -7 12: -7 6: -6 9: -4 11: -1 12: 1 12: 4 11: 6 9: 7 7: 8 4: 8 -1: 7 -4: 6 -6: 4 -8: 1 -9: -2 -9: -5 -8: -6 -7: -7 -5: -7 -4: -6 -3: -5 -4: -6 -5: -64 0: 1 12: 3 11: 5 9: 6 7: 7 4: 7 -1: 6 -4: 5 -6: 3 -8: 1 -9: -64 0: -2 2: 7 2:-64 -64 2831: -15 16: -10 12: -10 -9: -64 0: -9 12: -9 -9: -64 0: -13 12: -6 12: -64 0: -13 -9: -6 -9: -64 0: 4 12: 1 11: -1 9: -2 7: -3 3: -3 0: -2 -4: -1 -6: 1 -8: 4 -9: 6 -9: 9 -8: 11 -6: 12 -4: 13 0: 13 3: 12 7: 11 9: 9 11: 6 12: 4 12: -64 0: 4 12: 2 11: 0 9: -1 7: -2 3: -2 0: -1 -4: 0 -6: 2 -8: 4 -9: -64 0: 6 -9: 8 -8: 10 -6: 11 -4: 12 0: 12 3: 11 7: 10 9: 8 11: 6 12: -64 0: -9 2: -3 2:-64 -64 2832: -11 11: 5 12: 5 -9: -64 0: 6 12: 6 -9: -64 0: 9 12: -3 12: -6 11: -7 10: -8 8: -8 6: -7 4: -6 3: -3 2: 5 2: -64 0: -3 12: -5 11: -6 10: -7 8: -7 6: -6 4: -5 3: -3 2: -64 0: 0 2: -2 1: -3 0: -6 -7: -7 -8: -8 -8: -9 -7: -64 0: -2 1: -3 -1: -5 -8: -6 -9: -8 -9: -9 -7: -9 -6: -64 0: 2 -9: 9 -9:-64 -64 2901: -9 11: -4 3: -4 2: -5 2: -5 3: -4 4: -2 5: 2 5: 4 4: 5 3: 6 1: 6 -6: 7 -8: 8 -9: -64 0: 5 3: 5 -6: 6 -8: 8 -9: 9 -9: -64 0: 5 1: 4 0: -2 -1: -5 -2: -6 -4: -6 -6: -5 -8: -2 -9: 1 -9: 3 -8: 5 -6: -64 0: -2 -1: -4 -2: -5 -4: -5 -6: -4 -8: -2 -9:-64 -64 2902: -10 10: 6 12: 5 11: -1 9: -4 7: -6 4: -7 1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 -1: 6 2: 4 4: 1 5: -1 5: -4 4: -6 2: -7 -1: -64 0: 6 12: 5 10: 3 9: -1 8: -4 6: -6 4: -64 0: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -6: 6 -3: 6 -1: 5 2: 3 4: 1 5:-64 -64 2903: -10 10: -5 5: -5 -9: -64 0: -4 5: -4 -9: -64 0: -8 5: 3 5: 6 4: 7 2: 7 1: 6 -1: 3 -2: -64 0: 3 5: 5 4: 6 2: 6 1: 5 -1: 3 -2: -64 0: -4 -2: 3 -2: 6 -3: 7 -5: 7 -6: 6 -8: 3 -9: -8 -9: -64 0: 3 -2: 5 -3: 6 -5: 6 -6: 5 -8: 3 -9:-64 -64 2904: -10 8: -5 5: -5 -9: -64 0: -4 5: -4 -9: -64 0: -8 5: 6 5: 6 0: 5 5: -64 0: -8 -9: -1 -9:-64 -64 2905: -12 11: -4 5: -4 1: -5 -5: -6 -8: -7 -9: -64 0: 5 5: 5 -9: -64 0: 6 5: 6 -9: -64 0: -7 5: 9 5: -64 0: -9 -9: -10 -14: -10 -9: 9 -9: 9 -14: 8 -9:-64 -64 2906: -10 9: -6 -1: 6 -1: 6 1: 5 3: 4 4: 2 5: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: -64 0: 5 -1: 5 2: 4 4: -64 0: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9:-64 -64 2907: -13 14: 0 5: 0 -9: -64 0: 1 5: 1 -9: -64 0: -3 5: 4 5: -64 0: -8 4: -9 3: -10 4: -9 5: -8 5: -7 4: -5 0: -4 -1: -2 -2: 3 -2: 5 -1: 6 0: 8 4: 9 5: 10 5: 11 4: 10 3: 9 4: -64 0: -2 -2: -4 -3: -5 -4: -7 -8: -8 -9: -64 0: -2 -2: -4 -4: -6 -8: -7 -9: -9 -9: -10 -8: -11 -6: -64 0: 3 -2: 5 -3: 6 -4: 8 -8: 9 -9: -64 0: 3 -2: 5 -4: 7 -8: 8 -9: 10 -9: 11 -8: 12 -6: -64 0: -3 -9: 4 -9:-64 -64 2908: -9 9: -5 3: -6 5: -6 1: -5 3: -4 4: -2 5: 2 5: 5 4: 6 2: 6 1: 5 -1: 2 -2: -64 0: 2 5: 4 4: 5 2: 5 1: 4 -1: 2 -2: -64 0: -1 -2: 2 -2: 5 -3: 6 -5: 6 -6: 5 -8: 2 -9: -2 -9: -5 -8: -6 -6: -6 -5: -5 -4: -4 -5: -5 -6: -64 0: 2 -2: 4 -3: 5 -5: 5 -6: 4 -8: 2 -9:-64 -64 2909: -11 11: -6 5: -6 -9: -64 0: -5 5: -5 -9: -64 0: 5 5: 5 -9: -64 0: 6 5: 6 -9: -64 0: -9 5: -2 5: -64 0: 2 5: 9 5: -64 0: -9 -9: -2 -9: -64 0: 2 -9: 9 -9: -64 0: 5 4: -5 -8:-64 -64 2910: -11 11: -6 5: -6 -9: -64 0: -5 5: -5 -9: -64 0: 5 5: 5 -9: -64 0: 6 5: 6 -9: -64 0: -9 5: -2 5: -64 0: 2 5: 9 5: -64 0: -9 -9: -2 -9: -64 0: 2 -9: 9 -9: -64 0: 5 4: -5 -8: -64 0: -3 11: -3 12: -4 12: -4 11: -3 9: -1 8: 1 8: 3 9: 4 11:-64 -64 2911: -10 10: -5 5: -5 -9: -64 0: -4 5: -4 -9: -64 0: -8 5: -1 5: -64 0: -4 -2: -2 -2: 1 -1: 2 0: 4 4: 5 5: 6 5: 7 4: 6 3: 5 4: -64 0: -2 -2: 1 -3: 2 -4: 4 -8: 5 -9: -64 0: -2 -2: 0 -3: 1 -4: 3 -8: 4 -9: 6 -9: 7 -8: 8 -6: -64 0: -8 -9: -1 -9:-64 -64 2912: -11 11: -4 5: -4 1: -5 -5: -6 -8: -7 -9: -8 -9: -9 -8: -8 -7: -7 -8: -64 0: 5 5: 5 -9: -64 0: 6 5: 6 -9: -64 0: -7 5: 9 5: -64 0: 2 -9: 9 -9:-64 -64 2913: -11 12: -6 5: -6 -9: -64 0: -6 5: 0 -9: -64 0: -5 5: 0 -7: -64 0: 6 5: 0 -9: -64 0: 6 5: 6 -9: -64 0: 7 5: 7 -9: -64 0: -9 5: -5 5: -64 0: 6 5: 10 5: -64 0: -9 -9: -3 -9: -64 0: 3 -9: 10 -9:-64 -64 2914: -11 11: -6 5: -6 -9: -64 0: -5 5: -5 -9: -64 0: 5 5: 5 -9: -64 0: 6 5: 6 -9: -64 0: -9 5: -2 5: -64 0: 2 5: 9 5: -64 0: -5 -2: 5 -2: -64 0: -9 -9: -2 -9: -64 0: 2 -9: 9 -9:-64 -64 2915: -10 10: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 -1: 6 2: 4 4: 1 5: -1 5: -64 0: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -6: 6 -3: 6 -1: 5 2: 3 4: 1 5:-64 -64 2916: -11 11: -6 5: -6 -9: -64 0: -5 5: -5 -9: -64 0: 5 5: 5 -9: -64 0: 6 5: 6 -9: -64 0: -9 5: 9 5: -64 0: -9 -9: -2 -9: -64 0: 2 -9: 9 -9:-64 -64 2917: -11 10: -6 5: -6 -16: -64 0: -5 5: -5 -16: -64 0: -5 2: -3 4: -1 5: 1 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -1 -9: -3 -8: -5 -6: -64 0: 1 5: 3 4: 5 2: 6 -1: 6 -3: 5 -6: 3 -8: 1 -9: -64 0: -9 5: -5 5: -64 0: -9 -16: -2 -16:-64 -64 2918: -10 9: 5 2: 4 1: 5 0: 6 1: 6 2: 4 4: 2 5: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: -64 0: -1 5: -3 4: -5 2: -6 -1: -6 -3: -5 -6: -3 -8: -1 -9:-64 -64 2919: -9 10: 0 5: 0 -9: -64 0: 1 5: 1 -9: -64 0: -5 5: -6 0: -6 5: 7 5: 7 0: 6 5: -64 0: -3 -9: 4 -9:-64 -64 2920: -9 9: -6 5: 0 -9: -64 0: -5 5: 0 -7: -64 0: 6 5: 0 -9: -2 -13: -4 -15: -6 -16: -7 -16: -8 -15: -7 -14: -6 -15: -64 0: -8 5: -2 5: -64 0: 2 5: 8 5:-64 -64 2921: -10 11: 0 12: 0 -16: -64 0: 1 12: 1 -16: -64 0: -3 12: 1 12: -64 0: 0 2: -1 4: -2 5: -4 5: -6 4: -7 1: -7 -5: -6 -8: -4 -9: -2 -9: -1 -8: 0 -6: -64 0: -4 5: -5 4: -6 1: -6 -5: -5 -8: -4 -9: -64 0: 5 5: 6 4: 7 1: 7 -5: 6 -8: 5 -9: -64 0: 1 2: 2 4: 3 5: 5 5: 7 4: 8 1: 8 -5: 7 -8: 5 -9: 3 -9: 2 -8: 1 -6: -64 0: -3 -16: 4 -16:-64 -64 2922: -10 10: -6 5: 5 -9: -64 0: -5 5: 6 -9: -64 0: 6 5: -6 -9: -64 0: -8 5: -2 5: -64 0: 2 5: 8 5: -64 0: -8 -9: -2 -9: -64 0: 2 -9: 8 -9:-64 -64 2923: -11 11: -6 5: -6 -9: -64 0: -5 5: -5 -9: -64 0: 5 5: 5 -9: -64 0: 6 5: 6 -9: -64 0: -9 5: -2 5: -64 0: 2 5: 9 5: -64 0: -9 -9: 9 -9: 9 -14: 8 -9:-64 -64 2924: -11 11: -6 5: -6 -2: -5 -4: -2 -5: 0 -5: 3 -4: 5 -2: -64 0: -5 5: -5 -2: -4 -4: -2 -5: -64 0: 5 5: 5 -9: -64 0: 6 5: 6 -9: -64 0: -9 5: -2 5: -64 0: 2 5: 9 5: -64 0: 2 -9: 9 -9:-64 -64 2925: -15 16: -10 5: -10 -9: -64 0: -9 5: -9 -9: -64 0: 0 5: 0 -9: -64 0: 1 5: 1 -9: -64 0: 10 5: 10 -9: -64 0: 11 5: 11 -9: -64 0: -13 5: -6 5: -64 0: -3 5: 4 5: -64 0: 7 5: 14 5: -64 0: -13 -9: 14 -9:-64 -64 2926: -15 16: -10 5: -10 -9: -64 0: -9 5: -9 -9: -64 0: 0 5: 0 -9: -64 0: 1 5: 1 -9: -64 0: 10 5: 10 -9: -64 0: 11 5: 11 -9: -64 0: -13 5: -6 5: -64 0: -3 5: 4 5: -64 0: 7 5: 14 5: -64 0: -13 -9: 14 -9: 14 -14: 13 -9:-64 -64 2927: -10 11: -1 5: -1 -9: -64 0: 0 5: 0 -9: -64 0: -6 5: -7 0: -7 5: 3 5: -64 0: 0 -2: 4 -2: 7 -3: 8 -5: 8 -6: 7 -8: 4 -9: -4 -9: -64 0: 4 -2: 6 -3: 7 -5: 7 -6: 6 -8: 4 -9:-64 -64 2928: -13 13: -8 5: -8 -9: -64 0: -7 5: -7 -9: -64 0: -11 5: -4 5: -64 0: -7 -2: -3 -2: 0 -3: 1 -5: 1 -6: 0 -8: -3 -9: -11 -9: -64 0: -3 -2: -1 -3: 0 -5: 0 -6: -1 -8: -3 -9: -64 0: 7 5: 7 -9: -64 0: 8 5: 8 -9: -64 0: 4 5: 11 5: -64 0: 4 -9: 11 -9:-64 -64 2929: -8 9: -3 5: -3 -9: -64 0: -2 5: -2 -9: -64 0: -6 5: 1 5: -64 0: -2 -2: 2 -2: 5 -3: 6 -5: 6 -6: 5 -8: 2 -9: -6 -9: -64 0: 2 -2: 4 -3: 5 -5: 5 -6: 4 -8: 2 -9:-64 -64 2930: -9 10: -5 3: -6 5: -6 1: -5 3: -4 4: -2 5: 1 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -2 -9: -4 -8: -6 -6: -6 -5: -5 -4: -4 -5: -5 -6: -64 0: 1 5: 3 4: 5 2: 6 -1: 6 -3: 5 -6: 3 -8: 1 -9: -64 0: 0 -2: 6 -2:-64 -64 2931: -14 15: -9 5: -9 -9: -64 0: -8 5: -8 -9: -64 0: -12 5: -5 5: -64 0: -12 -9: -5 -9: -64 0: 4 5: 1 4: -1 2: -2 -1: -2 -3: -1 -6: 1 -8: 4 -9: 6 -9: 9 -8: 11 -6: 12 -3: 12 -1: 11 2: 9 4: 6 5: 4 5: -64 0: 4 5: 2 4: 0 2: -1 -1: -1 -3: 0 -6: 2 -8: 4 -9: -64 0: 6 -9: 8 -8: 10 -6: 11 -3: 11 -1: 10 2: 8 4: 6 5: -64 0: -8 -2: -2 -2:-64 -64 2932: -11 10: 4 5: 4 -9: -64 0: 5 5: 5 -9: -64 0: 8 5: -3 5: -6 4: -7 2: -7 1: -6 -1: -3 -2: 4 -2: -64 0: -3 5: -5 4: -6 2: -6 1: -5 -1: -3 -2: -64 0: 2 -2: -1 -3: -2 -4: -4 -8: -5 -9: -64 0: 2 -2: 0 -3: -1 -4: -3 -8: -4 -9: -6 -9: -7 -8: -8 -6: -64 0: 1 -9: 8 -9:-64 -64 3001: -10 10: 0 12: -7 -8: -64 0: -1 9: 5 -9: -64 0: 0 9: 6 -9: -64 0: 0 12: 7 -9: -64 0: -5 -3: 4 -3: -64 0: -9 -9: -3 -9: -64 0: 2 -9: 9 -9: -64 0: -7 -8: -8 -9: -64 0: -7 -8: -5 -9: -64 0: 5 -8: 3 -9: -64 0: 5 -7: 4 -9: -64 0: 6 -7: 8 -9:-64 -64 3002: -11 11: -6 12: -6 -9: -64 0: -5 11: -5 -8: -64 0: -4 12: -4 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 6: 7 4: 6 3: 3 2: -64 0: 6 10: 7 8: 7 6: 6 4: -64 0: 3 12: 5 11: 6 9: 6 5: 5 3: 3 2: -64 0: -4 2: 3 2: 6 1: 7 0: 8 -2: 8 -5: 7 -7: 6 -8: 3 -9: -9 -9: -64 0: 6 0: 7 -2: 7 -5: 6 -7: -64 0: 3 2: 5 1: 6 -1: 6 -6: 5 -8: 3 -9: -64 0: -8 12: -6 11: -64 0: -7 12: -6 10: -64 0: -3 12: -4 10: -64 0: -2 12: -4 11: -64 0: -6 -8: -8 -9: -64 0: -6 -7: -7 -9: -64 0: -4 -7: -3 -9: -64 0: -4 -8: -2 -9:-64 -64 3003: -11 10: 6 9: 7 12: 7 6: 6 9: 4 11: 2 12: -1 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -1 -9: 2 -9: 4 -8: 6 -6: 7 -4: -64 0: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -64 0: -1 12: -3 11: -5 8: -6 4: -6 -1: -5 -5: -3 -8: -1 -9:-64 -64 3004: -11 11: -6 12: -6 -9: -64 0: -5 11: -5 -8: -64 0: -4 12: -4 -9: -64 0: -9 12: 1 12: 4 11: 6 9: 7 7: 8 4: 8 -1: 7 -4: 6 -6: 4 -8: 1 -9: -9 -9: -64 0: 5 9: 6 7: 7 4: 7 -1: 6 -4: 5 -6: -64 0: 1 12: 3 11: 5 8: 6 4: 6 -1: 5 -5: 3 -8: 1 -9: -64 0: -8 12: -6 11: -64 0: -7 12: -6 10: -64 0: -3 12: -4 10: -64 0: -2 12: -4 11: -64 0: -6 -8: -8 -9: -64 0: -6 -7: -7 -9: -64 0: -4 -7: -3 -9: -64 0: -4 -8: -2 -9:-64 -64 3005: -11 10: -6 12: -6 -9: -64 0: -5 11: -5 -8: -64 0: -4 12: -4 -9: -64 0: -9 12: 7 12: 7 6: -64 0: -4 2: 2 2: -64 0: 2 6: 2 -2: -64 0: -9 -9: 7 -9: 7 -3: -64 0: -8 12: -6 11: -64 0: -7 12: -6 10: -64 0: -3 12: -4 10: -64 0: -2 12: -4 11: -64 0: 2 12: 7 11: -64 0: 4 12: 7 10: -64 0: 5 12: 7 9: -64 0: 6 12: 7 6: -64 0: 2 6: 1 2: 2 -2: -64 0: 2 4: 0 2: 2 0: -64 0: 2 3: -2 2: 2 1: -64 0: -6 -8: -8 -9: -64 0: -6 -7: -7 -9: -64 0: -4 -7: -3 -9: -64 0: -4 -8: -2 -9: -64 0: 2 -9: 7 -8: -64 0: 4 -9: 7 -7: -64 0: 5 -9: 7 -6: -64 0: 6 -9: 7 -3:-64 -64 3006: -11 9: -6 12: -6 -9: -64 0: -5 11: -5 -8: -64 0: -4 12: -4 -9: -64 0: -9 12: 7 12: 7 6: -64 0: -4 2: 2 2: -64 0: 2 6: 2 -2: -64 0: -9 -9: -1 -9: -64 0: -8 12: -6 11: -64 0: -7 12: -6 10: -64 0: -3 12: -4 10: -64 0: -2 12: -4 11: -64 0: 2 12: 7 11: -64 0: 4 12: 7 10: -64 0: 5 12: 7 9: -64 0: 6 12: 7 6: -64 0: 2 6: 1 2: 2 -2: -64 0: 2 4: 0 2: 2 0: -64 0: 2 3: -2 2: 2 1: -64 0: -6 -8: -8 -9: -64 0: -6 -7: -7 -9: -64 0: -4 -7: -3 -9: -64 0: -4 -8: -2 -9:-64 -64 3007: -11 12: 6 9: 7 12: 7 6: 6 9: 4 11: 2 12: -1 12: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -1 -9: 2 -9: 4 -8: 6 -8: 7 -9: 7 -1: -64 0: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -64 0: -1 12: -3 11: -5 8: -6 4: -6 -1: -5 -5: -3 -8: -1 -9: -64 0: 6 -2: 6 -7: -64 0: 5 -1: 5 -7: 4 -8: -64 0: 2 -1: 10 -1: -64 0: 3 -1: 5 -2: -64 0: 4 -1: 5 -3: -64 0: 8 -1: 7 -3: -64 0: 9 -1: 7 -2:-64 -64 3008: -12 12: -7 12: -7 -9: -64 0: -6 11: -6 -8: -64 0: -5 12: -5 -9: -64 0: 5 12: 5 -9: -64 0: 6 11: 6 -8: -64 0: 7 12: 7 -9: -64 0: -10 12: -2 12: -64 0: 2 12: 10 12: -64 0: -5 2: 5 2: -64 0: -10 -9: -2 -9: -64 0: 2 -9: 10 -9: -64 0: -9 12: -7 11: -64 0: -8 12: -7 10: -64 0: -4 12: -5 10: -64 0: -3 12: -5 11: -64 0: 3 12: 5 11: -64 0: 4 12: 5 10: -64 0: 8 12: 7 10: -64 0: 9 12: 7 11: -64 0: -7 -8: -9 -9: -64 0: -7 -7: -8 -9: -64 0: -5 -7: -4 -9: -64 0: -5 -8: -3 -9: -64 0: 5 -8: 3 -9: -64 0: 5 -7: 4 -9: -64 0: 7 -7: 8 -9: -64 0: 7 -8: 9 -9:-64 -64 3009: -6 6: -1 12: -1 -9: -64 0: 0 11: 0 -8: -64 0: 1 12: 1 -9: -64 0: -4 12: 4 12: -64 0: -4 -9: 4 -9: -64 0: -3 12: -1 11: -64 0: -2 12: -1 10: -64 0: 2 12: 1 10: -64 0: 3 12: 1 11: -64 0: -1 -8: -3 -9: -64 0: -1 -7: -2 -9: -64 0: 1 -7: 2 -9: -64 0: 1 -8: 3 -9:-64 -64 3010: -8 -8: 1 12: 1 -5: 0 -8: -1 -9: -64 0: 2 11: 2 -5: 1 -8: -64 0: 3 12: 3 -5: 2 -8: -1 -9: -3 -9: -5 -8: -6 -6: -6 -4: -5 -3: -4 -3: -3 -4: -3 -5: -4 -6: -5 -6: -64 0: -5 -4: -5 -5: -4 -5: -4 -4: -5 -4: -64 0: -2 12: 6 12: -64 0: -1 12: 1 11: -64 0: 0 12: 1 10: -64 0: 4 12: 3 10: -64 0: 5 12: 3 11:-64 -64 3011: -12 10: -7 12: -7 -9: -64 0: -6 11: -6 -8: -64 0: -5 12: -5 -9: -64 0: 6 11: -5 0: -64 0: -2 2: 5 -9: -64 0: -1 2: 6 -9: -64 0: -1 4: 7 -9: -64 0: -10 12: -2 12: -64 0: 3 12: 9 12: -64 0: -10 -9: -2 -9: -64 0: 2 -9: 9 -9: -64 0: -9 12: -7 11: -64 0: -8 12: -7 10: -64 0: -4 12: -5 10: -64 0: -3 12: -5 11: -64 0: 5 12: 6 11: -64 0: 8 12: 6 11: -64 0: -7 -8: -9 -9: -64 0: -7 -7: -8 -9: -64 0: -5 -7: -4 -9: -64 0: -5 -8: -3 -9: -64 0: 5 -7: 3 -9: -64 0: 5 -7: 8 -9:-64 -64 3012: -9 9: -4 12: -4 -9: -64 0: -3 11: -3 -8: -64 0: -2 12: -2 -9: -64 0: -7 12: 1 12: -64 0: -7 -9: 8 -9: 8 -3: -64 0: -6 12: -4 11: -64 0: -5 12: -4 10: -64 0: -1 12: -2 10: -64 0: 0 12: -2 11: -64 0: -4 -8: -6 -9: -64 0: -4 -7: -5 -9: -64 0: -2 -7: -1 -9: -64 0: -2 -8: 0 -9: -64 0: 3 -9: 8 -8: -64 0: 5 -9: 8 -7: -64 0: 6 -9: 8 -6: -64 0: 7 -9: 8 -3:-64 -64 3013: -13 13: -8 12: -8 -8: -64 0: -8 12: -1 -9: -64 0: -7 12: -1 -6: -64 0: -6 12: 0 -6: -64 0: 6 12: -1 -9: -64 0: 6 12: 6 -9: -64 0: 7 11: 7 -8: -64 0: 8 12: 8 -9: -64 0: -11 12: -6 12: -64 0: 6 12: 11 12: -64 0: -11 -9: -5 -9: -64 0: 3 -9: 11 -9: -64 0: -10 12: -8 11: -64 0: 9 12: 8 10: -64 0: 10 12: 8 11: -64 0: -8 -8: -10 -9: -64 0: -8 -8: -6 -9: -64 0: 6 -8: 4 -9: -64 0: 6 -7: 5 -9: -64 0: 8 -7: 9 -9: -64 0: 8 -8: 10 -9:-64 -64 3014: -12 12: -7 12: -7 -8: -64 0: -7 12: 7 -9: -64 0: -6 12: 6 -6: -64 0: -5 12: 7 -6: -64 0: 7 11: 7 -9: -64 0: -10 12: -5 12: -64 0: 4 12: 10 12: -64 0: -10 -9: -4 -9: -64 0: -9 12: -7 11: -64 0: 5 12: 7 11: -64 0: 9 12: 7 11: -64 0: -7 -8: -9 -9: -64 0: -7 -8: -5 -9:-64 -64 3015: -11 11: -1 12: -4 11: -6 9: -7 7: -8 3: -8 0: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -4: 8 0: 8 3: 7 7: 6 9: 4 11: 1 12: -1 12: -64 0: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -64 0: 5 -6: 6 -4: 7 -1: 7 4: 6 7: 5 9: -64 0: -1 12: -3 11: -5 8: -6 4: -6 -1: -5 -5: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -5: 6 -1: 6 4: 5 8: 3 11: 1 12:-64 -64 3016: -11 11: -6 12: -6 -9: -64 0: -5 11: -5 -8: -64 0: -4 12: -4 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 5: 7 3: 6 2: 3 1: -4 1: -64 0: 6 10: 7 8: 7 5: 6 3: -64 0: 3 12: 5 11: 6 9: 6 4: 5 2: 3 1: -64 0: -9 -9: -1 -9: -64 0: -8 12: -6 11: -64 0: -7 12: -6 10: -64 0: -3 12: -4 10: -64 0: -2 12: -4 11: -64 0: -6 -8: -8 -9: -64 0: -6 -7: -7 -9: -64 0: -4 -7: -3 -9: -64 0: -4 -8: -2 -9:-64 -64 3017: -11 11: -1 12: -4 11: -6 9: -7 7: -8 3: -8 0: -7 -4: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -4: 8 0: 8 3: 7 7: 6 9: 4 11: 1 12: -1 12: -64 0: -5 9: -6 7: -7 4: -7 -1: -6 -4: -5 -6: -64 0: 5 -6: 6 -4: 7 -1: 7 4: 6 7: 5 9: -64 0: -1 12: -3 11: -5 8: -6 4: -6 -1: -5 -5: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 5 -5: 6 -1: 6 4: 5 8: 3 11: 1 12: -64 0: -4 -6: -3 -4: -1 -3: 0 -3: 2 -4: 3 -6: 4 -12: 5 -14: 7 -14: 8 -12: 8 -10: -64 0: 4 -10: 5 -12: 6 -13: 7 -13: -64 0: 3 -6: 5 -11: 6 -12: 7 -12: 8 -11:-64 -64 3018: -11 11: -6 12: -6 -9: -64 0: -5 11: -5 -8: -64 0: -4 12: -4 -9: -64 0: -9 12: 3 12: 6 11: 7 10: 8 8: 8 6: 7 4: 6 3: 3 2: -4 2: -64 0: 6 10: 7 8: 7 6: 6 4: -64 0: 3 12: 5 11: 6 9: 6 5: 5 3: 3 2: -64 0: 0 2: 2 1: 3 -1: 5 -7: 6 -9: 8 -9: 9 -7: 9 -5: -64 0: 5 -5: 6 -7: 7 -8: 8 -8: -64 0: 2 1: 3 0: 6 -6: 7 -7: 8 -7: 9 -6: -64 0: -9 -9: -1 -9: -64 0: -8 12: -6 11: -64 0: -7 12: -6 10: -64 0: -3 12: -4 10: -64 0: -2 12: -4 11: -64 0: -6 -8: -8 -9: -64 0: -6 -7: -7 -9: -64 0: -4 -7: -3 -9: -64 0: -4 -8: -2 -9:-64 -64 3019: -10 10: 6 9: 7 12: 7 6: 6 9: 4 11: 1 12: -2 12: -5 11: -7 9: -7 6: -6 4: -3 2: 3 0: 5 -1: 6 -3: 6 -6: 5 -8: -64 0: -6 6: -5 4: -3 3: 3 1: 5 0: 6 -2: -64 0: -5 11: -6 9: -6 7: -5 5: -3 4: 3 2: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -1 -9: -4 -8: -6 -6: -7 -3: -7 -9: -6 -6:-64 -64 3020: -10 10: -8 12: -8 6: -64 0: -1 12: -1 -9: -64 0: 0 11: 0 -8: -64 0: 1 12: 1 -9: -64 0: 8 12: 8 6: -64 0: -8 12: 8 12: -64 0: -4 -9: 4 -9: -64 0: -7 12: -8 6: -64 0: -6 12: -8 9: -64 0: -5 12: -8 10: -64 0: -3 12: -8 11: -64 0: 3 12: 8 11: -64 0: 5 12: 8 10: -64 0: 6 12: 8 9: -64 0: 7 12: 8 6: -64 0: -1 -8: -3 -9: -64 0: -1 -7: -2 -9: -64 0: 1 -7: 2 -9: -64 0: 1 -8: 3 -9:-64 -64 3021: -12 12: -7 12: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 11: -64 0: -6 11: -6 -4: -5 -6: -64 0: -5 12: -5 -4: -4 -7: -3 -8: -1 -9: -64 0: -10 12: -2 12: -64 0: 4 12: 10 12: -64 0: -9 12: -7 11: -64 0: -8 12: -7 10: -64 0: -4 12: -5 10: -64 0: -3 12: -5 11: -64 0: 5 12: 7 11: -64 0: 9 12: 7 11:-64 -64 3022: -10 10: -7 12: 0 -9: -64 0: -6 12: 0 -6: 0 -9: -64 0: -5 12: 1 -6: -64 0: 7 11: 0 -9: -64 0: -9 12: -2 12: -64 0: 3 12: 9 12: -64 0: -8 12: -6 10: -64 0: -4 12: -5 10: -64 0: -3 12: -5 11: -64 0: 5 12: 7 11: -64 0: 8 12: 7 11:-64 -64 3023: -12 12: -8 12: -4 -9: -64 0: -7 12: -4 -4: -4 -9: -64 0: -6 12: -3 -4: -64 0: 0 12: -3 -4: -4 -9: -64 0: 0 12: 4 -9: -64 0: 1 12: 4 -4: 4 -9: -64 0: 2 12: 5 -4: -64 0: 8 11: 5 -4: 4 -9: -64 0: -11 12: -3 12: -64 0: 0 12: 2 12: -64 0: 5 12: 11 12: -64 0: -10 12: -7 11: -64 0: -9 12: -7 10: -64 0: -5 12: -6 10: -64 0: -4 12: -6 11: -64 0: 6 12: 8 11: -64 0: 10 12: 8 11:-64 -64 3024: -10 10: -7 12: 5 -9: -64 0: -6 12: 6 -9: -64 0: -5 12: 7 -9: -64 0: 6 11: -6 -8: -64 0: -9 12: -2 12: -64 0: 3 12: 9 12: -64 0: -9 -9: -3 -9: -64 0: 2 -9: 9 -9: -64 0: -8 12: -5 10: -64 0: -4 12: -5 10: -64 0: -3 12: -5 11: -64 0: 4 12: 6 11: -64 0: 8 12: 6 11: -64 0: -6 -8: -8 -9: -64 0: -6 -8: -4 -9: -64 0: 5 -8: 3 -9: -64 0: 5 -7: 4 -9: -64 0: 5 -7: 8 -9:-64 -64 3025: -11 11: -8 12: -1 1: -1 -9: -64 0: -7 12: 0 1: 0 -8: -64 0: -6 12: 1 1: 1 -9: -64 0: 7 11: 1 1: -64 0: -10 12: -3 12: -64 0: 4 12: 10 12: -64 0: -4 -9: 4 -9: -64 0: -9 12: -7 11: -64 0: -4 12: -6 11: -64 0: 5 12: 7 11: -64 0: 9 12: 7 11: -64 0: -1 -8: -3 -9: -64 0: -1 -7: -2 -9: -64 0: 1 -7: 2 -9: -64 0: 1 -8: 3 -9:-64 -64 3026: -10 10: 7 12: -7 12: -7 6: -64 0: 5 12: -7 -9: -64 0: 6 12: -6 -9: -64 0: 7 12: -5 -9: -64 0: -7 -9: 7 -9: 7 -3: -64 0: -6 12: -7 6: -64 0: -5 12: -7 9: -64 0: -4 12: -7 10: -64 0: -2 12: -7 11: -64 0: 2 -9: 7 -8: -64 0: 4 -9: 7 -7: -64 0: 5 -9: 7 -6: -64 0: 6 -9: 7 -3:-64 -64 3051: -10 10: 3 12: -9 -8: -64 0: 1 8: 2 -9: -64 0: 2 10: 3 -8: -64 0: 3 12: 3 10: 4 -7: 4 -9: -64 0: -6 -3: 2 -3: -64 0: -12 -9: -6 -9: -64 0: -1 -9: 6 -9: -64 0: -9 -8: -11 -9: -64 0: -9 -8: -7 -9: -64 0: 2 -8: 0 -9: -64 0: 2 -7: 1 -9: -64 0: 4 -7: 5 -9:-64 -64 3052: -12 12: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -1 12: -7 -9: -64 0: -6 12: 5 12: 8 11: 9 9: 9 7: 8 4: 7 3: 4 2: -64 0: 7 11: 8 9: 8 7: 7 4: 6 3: -64 0: 5 12: 6 11: 7 9: 7 7: 6 4: 4 2: -64 0: -4 2: 4 2: 6 1: 7 -1: 7 -3: 6 -6: 4 -8: 0 -9: -12 -9: -64 0: 5 1: 6 -1: 6 -3: 5 -6: 3 -8: -64 0: 4 2: 5 0: 5 -3: 4 -6: 2 -8: 0 -9: -64 0: -5 12: -2 11: -64 0: -4 12: -3 10: -64 0: 0 12: -2 10: -64 0: 1 12: -2 11: -64 0: -8 -8: -11 -9: -64 0: -8 -7: -10 -9: -64 0: -7 -7: -6 -9: -64 0: -8 -8: -5 -9:-64 -64 3053: -10 11: 8 10: 9 10: 10 12: 9 6: 9 8: 8 10: 7 11: 5 12: 2 12: -1 11: -3 9: -5 6: -6 3: -7 -1: -7 -4: -6 -7: -5 -8: -2 -9: 1 -9: 3 -8: 5 -6: 6 -4: -64 0: -1 10: -3 8: -4 6: -5 3: -6 -1: -6 -5: -5 -7: -64 0: 2 12: 0 11: -2 8: -3 6: -4 3: -5 -1: -5 -6: -4 -8: -2 -9:-64 -64 3054: -12 11: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -1 12: -7 -9: -64 0: -6 12: 3 12: 6 11: 7 10: 8 7: 8 3: 7 -1: 5 -5: 3 -7: 1 -8: -3 -9: -12 -9: -64 0: 5 11: 6 10: 7 7: 7 3: 6 -1: 4 -5: 2 -7: -64 0: 3 12: 5 10: 6 7: 6 3: 5 -1: 3 -5: 0 -8: -3 -9: -64 0: -5 12: -2 11: -64 0: -4 12: -3 10: -64 0: 0 12: -2 10: -64 0: 1 12: -2 11: -64 0: -8 -8: -11 -9: -64 0: -8 -7: -10 -9: -64 0: -7 -7: -6 -9: -64 0: -8 -8: -5 -9:-64 -64 3055: -12 11: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -1 12: -7 -9: -64 0: 3 6: 1 -2: -64 0: -6 12: 9 12: 8 6: -64 0: -4 2: 2 2: -64 0: -12 -9: 3 -9: 5 -4: -64 0: -5 12: -2 11: -64 0: -4 12: -3 10: -64 0: 0 12: -2 10: -64 0: 1 12: -2 11: -64 0: 5 12: 8 11: -64 0: 6 12: 8 10: -64 0: 7 12: 8 9: -64 0: 8 12: 8 6: -64 0: 3 6: 1 2: 1 -2: -64 0: 2 4: 0 2: 1 0: -64 0: 2 3: -1 2: 1 1: -64 0: -8 -8: -11 -9: -64 0: -8 -7: -10 -9: -64 0: -7 -7: -6 -9: -64 0: -8 -8: -5 -9: -64 0: -2 -9: 3 -8: -64 0: 0 -9: 3 -7: -64 0: 3 -7: 5 -4:-64 -64 3056: -12 10: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -1 12: -7 -9: -64 0: 3 6: 1 -2: -64 0: -6 12: 9 12: 8 6: -64 0: -4 2: 2 2: -64 0: -12 -9: -4 -9: -64 0: -5 12: -2 11: -64 0: -4 12: -3 10: -64 0: 0 12: -2 10: -64 0: 1 12: -2 11: -64 0: 5 12: 8 11: -64 0: 6 12: 8 10: -64 0: 7 12: 8 9: -64 0: 8 12: 8 6: -64 0: 3 6: 1 2: 1 -2: -64 0: 2 4: 0 2: 1 0: -64 0: 2 3: -1 2: 1 1: -64 0: -8 -8: -11 -9: -64 0: -8 -7: -10 -9: -64 0: -7 -7: -6 -9: -64 0: -8 -8: -5 -9:-64 -64 3057: -10 12: 8 10: 9 10: 10 12: 9 6: 9 8: 8 10: 7 11: 5 12: 2 12: -1 11: -3 9: -5 6: -6 3: -7 -1: -7 -4: -6 -7: -5 -8: -2 -9: 0 -9: 3 -8: 5 -6: 7 -2: -64 0: -1 10: -3 8: -4 6: -5 3: -6 -1: -6 -5: -5 -7: -64 0: 4 -6: 5 -5: 6 -2: -64 0: 2 12: 0 11: -2 8: -3 6: -4 3: -5 -1: -5 -6: -4 -8: -2 -9: -64 0: 0 -9: 2 -8: 4 -5: 5 -2: -64 0: 2 -2: 10 -2: -64 0: 3 -2: 5 -3: -64 0: 4 -2: 5 -5: -64 0: 8 -2: 6 -4: -64 0: 9 -2: 6 -3:-64 -64 3058: -13 13: -4 12: -10 -9: -64 0: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: 8 12: 2 -9: -64 0: 9 12: 3 -9: -64 0: 10 12: 4 -9: -64 0: -7 12: 1 12: -64 0: 5 12: 13 12: -64 0: -6 2: 6 2: -64 0: -13 -9: -5 -9: -64 0: -1 -9: 7 -9: -64 0: -6 12: -3 11: -64 0: -5 12: -4 10: -64 0: -1 12: -3 10: -64 0: 0 12: -3 11: -64 0: 6 12: 9 11: -64 0: 7 12: 8 10: -64 0: 11 12: 9 10: -64 0: 12 12: 9 11: -64 0: -9 -8: -12 -9: -64 0: -9 -7: -11 -9: -64 0: -8 -7: -7 -9: -64 0: -9 -8: -6 -9: -64 0: 3 -8: 0 -9: -64 0: 3 -7: 1 -9: -64 0: 4 -7: 5 -9: -64 0: 3 -8: 6 -9:-64 -64 3059: -7 7: 2 12: -4 -9: -64 0: 3 12: -3 -9: -64 0: 4 12: -2 -9: -64 0: -1 12: 7 12: -64 0: -7 -9: 1 -9: -64 0: 0 12: 3 11: -64 0: 1 12: 2 10: -64 0: 5 12: 3 10: -64 0: 6 12: 3 11: -64 0: -3 -8: -6 -9: -64 0: -3 -7: -5 -9: -64 0: -2 -7: -1 -9: -64 0: -3 -8: 0 -9:-64 -64 3060: -9 10: 5 12: 0 -5: -1 -7: -3 -9: -64 0: 6 12: 2 -1: 1 -4: 0 -6: -64 0: 7 12: 3 -1: 1 -6: -1 -8: -3 -9: -5 -9: -7 -8: -8 -6: -8 -4: -7 -3: -6 -3: -5 -4: -5 -5: -6 -6: -7 -6: -64 0: -7 -4: -7 -5: -6 -5: -6 -4: -7 -4: -64 0: 2 12: 10 12: -64 0: 3 12: 6 11: -64 0: 4 12: 5 10: -64 0: 8 12: 6 10: -64 0: 9 12: 6 11:-64 -64 3061: -12 11: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -1 12: -7 -9: -64 0: 10 11: -5 0: -64 0: -1 3: 3 -9: -64 0: 0 3: 4 -9: -64 0: 1 4: 5 -8: -64 0: -6 12: 2 12: -64 0: 7 12: 13 12: -64 0: -12 -9: -4 -9: -64 0: 0 -9: 7 -9: -64 0: -5 12: -2 11: -64 0: -4 12: -3 10: -64 0: 0 12: -2 10: -64 0: 1 12: -2 11: -64 0: 8 12: 10 11: -64 0: 12 12: 10 11: -64 0: -8 -8: -11 -9: -64 0: -8 -7: -10 -9: -64 0: -7 -7: -6 -9: -64 0: -8 -8: -5 -9: -64 0: 3 -8: 1 -9: -64 0: 3 -7: 2 -9: -64 0: 4 -7: 6 -9:-64 -64 3062: -10 10: -1 12: -7 -9: -64 0: 0 12: -6 -9: -64 0: 1 12: -5 -9: -64 0: -4 12: 4 12: -64 0: -10 -9: 5 -9: 7 -3: -64 0: -3 12: 0 11: -64 0: -2 12: -1 10: -64 0: 2 12: 0 10: -64 0: 3 12: 0 11: -64 0: -6 -8: -9 -9: -64 0: -6 -7: -8 -9: -64 0: -5 -7: -4 -9: -64 0: -6 -8: -3 -9: -64 0: 0 -9: 5 -8: -64 0: 2 -9: 6 -6: -64 0: 4 -9: 7 -3:-64 -64 3063: -14 14: -5 12: -11 -8: -64 0: -5 11: -4 -7: -4 -9: -64 0: -4 12: -3 -7: -64 0: -3 12: -2 -6: -64 0: 9 12: -2 -6: -4 -9: -64 0: 9 12: 3 -9: -64 0: 10 12: 4 -9: -64 0: 11 12: 5 -9: -64 0: -8 12: -3 12: -64 0: 9 12: 14 12: -64 0: -14 -9: -8 -9: -64 0: 0 -9: 8 -9: -64 0: -7 12: -5 11: -64 0: -6 12: -5 10: -64 0: 12 12: 10 10: -64 0: 13 12: 10 11: -64 0: -11 -8: -13 -9: -64 0: -11 -8: -9 -9: -64 0: 4 -8: 1 -9: -64 0: 4 -7: 2 -9: -64 0: 5 -7: 6 -9: -64 0: 4 -8: 7 -9:-64 -64 3064: -12 13: -3 12: -9 -8: -64 0: -3 12: 4 -9: -64 0: -2 12: 4 -6: -64 0: -1 12: 5 -6: -64 0: 10 11: 5 -6: 4 -9: -64 0: -6 12: -1 12: -64 0: 7 12: 13 12: -64 0: -12 -9: -6 -9: -64 0: -5 12: -2 11: -64 0: -4 12: -2 10: -64 0: 8 12: 10 11: -64 0: 12 12: 10 11: -64 0: -9 -8: -11 -9: -64 0: -9 -8: -7 -9:-64 -64 3065: -11 11: 1 12: -2 11: -4 9: -6 6: -7 3: -8 -1: -8 -4: -7 -7: -6 -8: -4 -9: -1 -9: 2 -8: 4 -6: 6 -3: 7 0: 8 4: 8 7: 7 10: 6 11: 4 12: 1 12: -64 0: -3 9: -5 6: -6 3: -7 -1: -7 -5: -6 -7: -64 0: 3 -6: 5 -3: 6 0: 7 4: 7 8: 6 10: -64 0: 1 12: -1 11: -3 8: -4 6: -5 3: -6 -1: -6 -6: -5 -8: -4 -9: -64 0: -1 -9: 1 -8: 3 -5: 4 -3: 5 0: 6 4: 6 9: 5 11: 4 12:-64 -64 3066: -12 11: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -1 12: -7 -9: -64 0: -6 12: 6 12: 9 11: 10 9: 10 7: 9 4: 7 2: 3 1: -5 1: -64 0: 8 11: 9 9: 9 7: 8 4: 6 2: -64 0: 6 12: 7 11: 8 9: 8 7: 7 4: 5 2: 3 1: -64 0: -12 -9: -4 -9: -64 0: -5 12: -2 11: -64 0: -4 12: -3 10: -64 0: 0 12: -2 10: -64 0: 1 12: -2 11: -64 0: -8 -8: -11 -9: -64 0: -8 -7: -10 -9: -64 0: -7 -7: -6 -9: -64 0: -8 -8: -5 -9:-64 -64 3067: -11 11: 1 12: -2 11: -4 9: -6 6: -7 3: -8 -1: -8 -4: -7 -7: -6 -8: -4 -9: -1 -9: 2 -8: 4 -6: 6 -3: 7 0: 8 4: 8 7: 7 10: 6 11: 4 12: 1 12: -64 0: -3 9: -5 6: -6 3: -7 -1: -7 -5: -6 -7: -64 0: 3 -6: 5 -3: 6 0: 7 4: 7 8: 6 10: -64 0: 1 12: -1 11: -3 8: -4 6: -5 3: -6 -1: -6 -6: -5 -8: -4 -9: -64 0: -1 -9: 1 -8: 3 -5: 4 -3: 5 0: 6 4: 6 9: 5 11: 4 12: -64 0: -6 -6: -5 -4: -3 -3: -2 -3: 0 -4: 1 -6: 2 -11: 3 -12: 4 -12: 5 -11: -64 0: 2 -12: 3 -13: 4 -13: -64 0: 1 -6: 1 -13: 2 -14: 4 -14: 5 -11: 5 -10:-64 -64 3068: -12 12: -3 12: -9 -9: -64 0: -2 12: -8 -9: -64 0: -1 12: -7 -9: -64 0: -6 12: 5 12: 8 11: 9 9: 9 7: 8 4: 7 3: 4 2: -4 2: -64 0: 7 11: 8 9: 8 7: 7 4: 6 3: -64 0: 5 12: 6 11: 7 9: 7 7: 6 4: 4 2: -64 0: 0 2: 2 1: 3 0: 5 -6: 6 -7: 7 -7: 8 -6: -64 0: 5 -7: 6 -8: 7 -8: -64 0: 3 0: 4 -8: 5 -9: 7 -9: 8 -6: 8 -5: -64 0: -12 -9: -4 -9: -64 0: -5 12: -2 11: -64 0: -4 12: -3 10: -64 0: 0 12: -2 10: -64 0: 1 12: -2 11: -64 0: -8 -8: -11 -9: -64 0: -8 -7: -10 -9: -64 0: -7 -7: -6 -9: -64 0: -8 -8: -5 -9:-64 -64 3069: -11 12: 8 10: 9 10: 10 12: 9 6: 9 8: 8 10: 7 11: 4 12: 0 12: -3 11: -5 9: -5 6: -4 4: -2 2: 4 -1: 5 -3: 5 -6: 4 -8: -64 0: -4 6: -3 4: 4 0: 5 -2: -64 0: -3 11: -4 9: -4 7: -3 5: 3 2: 5 0: 6 -2: 6 -5: 5 -7: 4 -8: 1 -9: -3 -9: -6 -8: -7 -7: -8 -5: -8 -3: -9 -9: -8 -7: -7 -7:-64 -64 3070: -11 11: 2 12: -4 -9: -64 0: 3 12: -3 -9: -64 0: 4 12: -2 -9: -64 0: -5 12: -7 6: -64 0: 11 12: 10 6: -64 0: -5 12: 11 12: -64 0: -7 -9: 1 -9: -64 0: -4 12: -7 6: -64 0: -2 12: -6 9: -64 0: 0 12: -5 11: -64 0: 7 12: 10 11: -64 0: 8 12: 10 10: -64 0: 9 12: 10 9: -64 0: 10 12: 10 6: -64 0: -3 -8: -6 -9: -64 0: -3 -7: -5 -9: -64 0: -2 -7: -1 -9: -64 0: -3 -8: 0 -9:-64 -64 3071: -12 13: -4 12: -7 1: -8 -3: -8 -6: -7 -8: -4 -9: 0 -9: 3 -8: 5 -6: 6 -3: 10 11: -64 0: -3 12: -6 1: -7 -3: -7 -7: -6 -8: -64 0: -2 12: -5 1: -6 -3: -6 -7: -4 -9: -64 0: -7 12: 1 12: -64 0: 7 12: 13 12: -64 0: -6 12: -3 11: -64 0: -5 12: -4 10: -64 0: -1 12: -3 10: -64 0: 0 12: -3 11: -64 0: 8 12: 10 11: -64 0: 12 12: 10 11:-64 -64 3072: -10 10: -4 12: -4 10: -3 -7: -3 -9: -64 0: -3 11: -2 -6: -64 0: -2 12: -1 -5: -64 0: 9 11: -3 -9: -64 0: -6 12: 1 12: -64 0: 6 12: 12 12: -64 0: -5 12: -4 10: -64 0: -1 12: -2 10: -64 0: 0 12: -3 11: -64 0: 7 12: 9 11: -64 0: 11 12: 9 11:-64 -64 3073: -13 13: -5 12: -5 10: -7 -7: -7 -9: -64 0: -4 11: -6 -6: -64 0: -3 12: -5 -5: -64 0: 3 12: -5 -5: -7 -9: -64 0: 3 12: 3 10: 1 -7: 1 -9: -64 0: 4 11: 2 -6: -64 0: 5 12: 3 -5: -64 0: 11 11: 3 -5: 1 -9: -64 0: -8 12: 0 12: -64 0: 3 12: 5 12: -64 0: 8 12: 14 12: -64 0: -7 12: -4 11: -64 0: -6 12: -5 10: -64 0: -2 12: -4 9: -64 0: -1 12: -4 11: -64 0: 9 12: 11 11: -64 0: 13 12: 11 11:-64 -64 3074: -11 11: -4 12: 2 -9: -64 0: -3 12: 3 -9: -64 0: -2 12: 4 -9: -64 0: 9 11: -9 -8: -64 0: -6 12: 1 12: -64 0: 6 12: 12 12: -64 0: -12 -9: -6 -9: -64 0: -1 -9: 6 -9: -64 0: -5 12: -3 10: -64 0: -1 12: -2 10: -64 0: 0 12: -2 11: -64 0: 7 12: 9 11: -64 0: 11 12: 9 11: -64 0: -9 -8: -11 -9: -64 0: -9 -8: -7 -9: -64 0: 2 -8: 0 -9: -64 0: 2 -7: 1 -9: -64 0: 3 -7: 5 -9:-64 -64 3075: -11 11: -5 12: -1 2: -4 -9: -64 0: -4 12: 0 2: -3 -9: -64 0: -3 12: 1 2: -2 -9: -64 0: 10 11: 1 2: -64 0: -7 12: 0 12: -64 0: 7 12: 13 12: -64 0: -7 -9: 1 -9: -64 0: -6 12: -4 11: -64 0: -2 12: -3 10: -64 0: -1 12: -4 11: -64 0: 8 12: 10 11: -64 0: 12 12: 10 11: -64 0: -3 -8: -6 -9: -64 0: -3 -7: -5 -9: -64 0: -2 -7: -1 -9: -64 0: -3 -8: 0 -9:-64 -64 3076: -11 11: 8 12: -10 -9: -64 0: 9 12: -9 -9: -64 0: 10 12: -8 -9: -64 0: 10 12: -4 12: -6 6: -64 0: -10 -9: 4 -9: 6 -3: -64 0: -3 12: -6 6: -64 0: -2 12: -5 9: -64 0: 0 12: -4 11: -64 0: 0 -9: 4 -8: -64 0: 2 -9: 5 -6: -64 0: 3 -9: 6 -3:-64 -64 3101: -9 11: -4 2: -4 3: -3 3: -3 1: -5 1: -5 3: -4 4: -2 5: 2 5: 4 4: 5 3: 6 1: 6 -6: 7 -8: 8 -9: -64 0: 4 3: 5 1: 5 -6: 6 -8: -64 0: 2 5: 3 4: 4 2: 4 -6: 5 -8: 8 -9: 9 -9: -64 0: 4 0: 3 -1: -2 -2: -5 -3: -6 -5: -6 -6: -5 -8: -2 -9: 1 -9: 3 -8: 4 -6: -64 0: -4 -3: -5 -5: -5 -6: -4 -8: -64 0: 3 -1: -1 -2: -3 -3: -4 -5: -4 -6: -3 -8: -2 -9:-64 -64 3102: -11 10: -6 12: -6 -9: -5 -8: -3 -8: -64 0: -5 11: -5 -7: -64 0: -9 12: -4 12: -4 -8: -64 0: -4 2: -3 4: -1 5: 1 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -1 -9: -3 -8: -4 -6: -64 0: 5 2: 6 0: 6 -4: 5 -6: -64 0: 1 5: 3 4: 4 3: 5 0: 5 -4: 4 -7: 3 -8: 1 -9: -64 0: -8 12: -6 11: -64 0: -7 12: -6 10:-64 -64 3103: -10 9: 5 1: 5 2: 4 2: 4 0: 6 0: 6 2: 4 4: 2 5: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: -64 0: -5 2: -6 0: -6 -4: -5 -6: -64 0: -1 5: -3 4: -4 3: -5 0: -5 -4: -4 -7: -3 -8: -1 -9:-64 -64 3104: -10 11: 4 12: 4 -9: 9 -9: -64 0: 5 11: 5 -8: -64 0: 1 12: 6 12: 6 -9: -64 0: 4 2: 3 4: 1 5: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 3 -8: 4 -6: -64 0: -5 2: -6 0: -6 -4: -5 -6: -64 0: -1 5: -3 4: -4 3: -5 0: -5 -4: -4 -7: -3 -8: -1 -9: -64 0: 2 12: 4 11: -64 0: 3 12: 4 10: -64 0: 6 -7: 7 -9: -64 0: 6 -8: 8 -9:-64 -64 3105: -10 9: -5 -1: 6 -1: 6 1: 5 3: 4 4: 1 5: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: -64 0: 5 0: 5 1: 4 3: -64 0: -5 2: -6 0: -6 -4: -5 -6: -64 0: 4 -1: 4 2: 3 4: 1 5: -64 0: -1 5: -3 4: -4 3: -5 0: -5 -4: -4 -7: -3 -8: -1 -9:-64 -64 3106: -7 7: 5 10: 5 11: 4 11: 4 9: 6 9: 6 11: 5 12: 2 12: 0 11: -1 10: -2 7: -2 -9: -64 0: 0 10: -1 7: -1 -8: -64 0: 2 12: 1 11: 0 9: 0 -9: -64 0: -5 5: 4 5: -64 0: -5 -9: 3 -9: -64 0: -2 -8: -4 -9: -64 0: -2 -7: -3 -9: -64 0: 0 -7: 1 -9: -64 0: 0 -8: 2 -9:-64 -64 3107: -9 10: 6 4: 7 3: 8 4: 7 5: 6 5: 4 4: 3 3: -64 0: -1 5: -3 4: -4 3: -5 1: -5 -1: -4 -3: -3 -4: -1 -5: 1 -5: 3 -4: 4 -3: 5 -1: 5 1: 4 3: 3 4: 1 5: -1 5: -64 0: -3 3: -4 1: -4 -1: -3 -3: -64 0: 3 -3: 4 -1: 4 1: 3 3: -64 0: -1 5: -2 4: -3 2: -3 -2: -2 -4: -1 -5: -64 0: 1 -5: 2 -4: 3 -2: 3 2: 2 4: 1 5: -64 0: -4 -3: -5 -4: -6 -6: -6 -7: -5 -9: -4 -10: -1 -11: 3 -11: 6 -12: 7 -13: -64 0: -4 -9: -1 -10: 3 -10: 6 -11: -64 0: -6 -7: -5 -8: -2 -9: 3 -9: 6 -10: 7 -12: 7 -13: 6 -15: 3 -16: -3 -16: -6 -15: -7 -13: -7 -12: -6 -10: -3 -9: -64 0: -3 -16: -5 -15: -6 -13: -6 -12: -5 -10: -3 -9:-64 -64 3108: -11 12: -6 12: -6 -9: -64 0: -5 11: -5 -8: -64 0: -9 12: -4 12: -4 -9: -64 0: -4 1: -3 3: -2 4: 0 5: 3 5: 5 4: 6 3: 7 0: 7 -9: -64 0: 5 3: 6 0: 6 -8: -64 0: 3 5: 4 4: 5 1: 5 -9: -64 0: -9 -9: -1 -9: -64 0: 2 -9: 10 -9: -64 0: -8 12: -6 11: -64 0: -7 12: -6 10: -64 0: -6 -8: -8 -9: -64 0: -6 -7: -7 -9: -64 0: -4 -7: -3 -9: -64 0: -4 -8: -2 -9: -64 0: 5 -8: 3 -9: -64 0: 5 -7: 4 -9: -64 0: 7 -7: 8 -9: -64 0: 7 -8: 9 -9:-64 -64 3109: -6 6: -1 12: -1 10: 1 10: 1 12: -1 12: -64 0: 0 12: 0 10: -64 0: -1 11: 1 11: -64 0: -1 5: -1 -9: -64 0: 0 4: 0 -8: -64 0: -4 5: 1 5: 1 -9: -64 0: -4 -9: 4 -9: -64 0: -3 5: -1 4: -64 0: -2 5: -1 3: -64 0: -1 -8: -3 -9: -64 0: -1 -7: -2 -9: -64 0: 1 -7: 2 -9: -64 0: 1 -8: 3 -9:-64 -64 3110: -7 6: 0 12: 0 10: 2 10: 2 12: 0 12: -64 0: 1 12: 1 10: -64 0: 0 11: 2 11: -64 0: 0 5: 0 -12: -1 -15: -2 -16: -64 0: 1 4: 1 -11: 0 -14: -64 0: -3 5: 2 5: 2 -11: 1 -14: 0 -15: -2 -16: -5 -16: -6 -15: -6 -13: -4 -13: -4 -15: -5 -15: -5 -14: -64 0: -2 5: 0 4: -64 0: -1 5: 0 3:-64 -64 3111: -11 11: -6 12: -6 -9: -64 0: -5 11: -5 -8: -64 0: -9 12: -4 12: -4 -9: -64 0: 5 4: -4 -5: -64 0: 0 -1: 7 -9: -64 0: 0 -2: 6 -9: -64 0: -1 -2: 5 -9: -64 0: 2 5: 9 5: -64 0: -9 -9: -1 -9: -64 0: 2 -9: 9 -9: -64 0: -8 12: -6 11: -64 0: -7 12: -6 10: -64 0: 3 5: 5 4: -64 0: 8 5: 5 4: -64 0: -6 -8: -8 -9: -64 0: -6 -7: -7 -9: -64 0: -4 -7: -3 -9: -64 0: -4 -8: -2 -9: -64 0: 5 -7: 3 -9: -64 0: 4 -7: 8 -9:-64 -64 3112: -6 6: -1 12: -1 -9: -64 0: 0 11: 0 -8: -64 0: -4 12: 1 12: 1 -9: -64 0: -4 -9: 4 -9: -64 0: -3 12: -1 11: -64 0: -2 12: -1 10: -64 0: -1 -8: -3 -9: -64 0: -1 -7: -2 -9: -64 0: 1 -7: 2 -9: -64 0: 1 -8: 3 -9:-64 -64 3113: -17 17: -12 5: -12 -9: -64 0: -11 4: -11 -8: -64 0: -15 5: -10 5: -10 -9: -64 0: -10 1: -9 3: -8 4: -6 5: -3 5: -1 4: 0 3: 1 0: 1 -9: -64 0: -1 3: 0 0: 0 -8: -64 0: -3 5: -2 4: -1 1: -1 -9: -64 0: 1 1: 2 3: 3 4: 5 5: 8 5: 10 4: 11 3: 12 0: 12 -9: -64 0: 10 3: 11 0: 11 -8: -64 0: 8 5: 9 4: 10 1: 10 -9: -64 0: -15 -9: -7 -9: -64 0: -4 -9: 4 -9: -64 0: 7 -9: 15 -9: -64 0: -14 5: -12 4: -64 0: -13 5: -12 3: -64 0: -12 -8: -14 -9: -64 0: -12 -7: -13 -9: -64 0: -10 -7: -9 -9: -64 0: -10 -8: -8 -9: -64 0: -1 -8: -3 -9: -64 0: -1 -7: -2 -9: -64 0: 1 -7: 2 -9: -64 0: 1 -8: 3 -9: -64 0: 10 -8: 8 -9: -64 0: 10 -7: 9 -9: -64 0: 12 -7: 13 -9: -64 0: 12 -8: 14 -9:-64 -64 3114: -11 12: -6 5: -6 -9: -64 0: -5 4: -5 -8: -64 0: -9 5: -4 5: -4 -9: -64 0: -4 1: -3 3: -2 4: 0 5: 3 5: 5 4: 6 3: 7 0: 7 -9: -64 0: 5 3: 6 0: 6 -8: -64 0: 3 5: 4 4: 5 1: 5 -9: -64 0: -9 -9: -1 -9: -64 0: 2 -9: 10 -9: -64 0: -8 5: -6 4: -64 0: -7 5: -6 3: -64 0: -6 -8: -8 -9: -64 0: -6 -7: -7 -9: -64 0: -4 -7: -3 -9: -64 0: -4 -8: -2 -9: -64 0: 5 -8: 3 -9: -64 0: 5 -7: 4 -9: -64 0: 7 -7: 8 -9: -64 0: 7 -8: 9 -9:-64 -64 3115: -10 10: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 -1: 6 2: 4 4: 1 5: -1 5: -64 0: -5 2: -6 0: -6 -4: -5 -6: -64 0: 5 -6: 6 -4: 6 0: 5 2: -64 0: -1 5: -3 4: -4 3: -5 0: -5 -4: -4 -7: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 4 -7: 5 -4: 5 0: 4 3: 3 4: 1 5:-64 -64 3116: -11 10: -6 5: -6 -16: -64 0: -5 4: -5 -15: -64 0: -9 5: -4 5: -4 -16: -64 0: -4 2: -3 4: -1 5: 1 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -1 -9: -3 -8: -4 -6: -64 0: 5 2: 6 0: 6 -4: 5 -6: -64 0: 1 5: 3 4: 4 3: 5 0: 5 -4: 4 -7: 3 -8: 1 -9: -64 0: -9 -16: -1 -16: -64 0: -8 5: -6 4: -64 0: -7 5: -6 3: -64 0: -6 -15: -8 -16: -64 0: -6 -14: -7 -16: -64 0: -4 -14: -3 -16: -64 0: -4 -15: -2 -16:-64 -64 3117: -10 10: 4 4: 4 -16: -64 0: 5 3: 5 -15: -64 0: 3 4: 5 4: 6 5: 6 -16: -64 0: 4 2: 3 4: 1 5: -1 5: -4 4: -6 2: -7 -1: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 3 -8: 4 -6: -64 0: -5 2: -6 0: -6 -4: -5 -6: -64 0: -1 5: -3 4: -4 3: -5 0: -5 -4: -4 -7: -3 -8: -1 -9: -64 0: 1 -16: 9 -16: -64 0: 4 -15: 2 -16: -64 0: 4 -14: 3 -16: -64 0: 6 -14: 7 -16: -64 0: 6 -15: 8 -16:-64 -64 3118: -9 8: -4 5: -4 -9: -64 0: -3 4: -3 -8: -64 0: -7 5: -2 5: -2 -9: -64 0: 5 3: 5 4: 4 4: 4 2: 6 2: 6 4: 5 5: 3 5: 1 4: -1 2: -2 -1: -64 0: -7 -9: 1 -9: -64 0: -6 5: -4 4: -64 0: -5 5: -4 3: -64 0: -4 -8: -6 -9: -64 0: -4 -7: -5 -9: -64 0: -2 -7: -1 -9: -64 0: -2 -8: 0 -9:-64 -64 3119: -8 9: 5 3: 6 5: 6 1: 5 3: 4 4: 2 5: -2 5: -4 4: -5 3: -5 1: -4 -1: -2 -2: 3 -3: 5 -4: 6 -7: -64 0: -4 4: -5 1: -64 0: -4 0: -2 -1: 3 -2: 5 -3: -64 0: 6 -4: 5 -8: -64 0: -5 3: -4 1: -2 0: 3 -1: 5 -2: 6 -4: 6 -7: 5 -8: 3 -9: -1 -9: -3 -8: -4 -7: -5 -5: -5 -9: -4 -7:-64 -64 3120: -7 8: -2 10: -2 -4: -1 -7: 0 -8: 2 -9: 4 -9: 6 -8: 7 -6: -64 0: -1 10: -1 -5: 0 -7: -64 0: -2 10: 0 12: 0 -5: 1 -8: 2 -9: -64 0: -5 5: 4 5:-64 -64 3121: -11 12: -6 5: -6 -4: -5 -7: -4 -8: -2 -9: 1 -9: 3 -8: 4 -7: 5 -5: -64 0: -5 4: -5 -5: -4 -7: -64 0: -9 5: -4 5: -4 -5: -3 -8: -2 -9: -64 0: 5 5: 5 -9: 10 -9: -64 0: 6 4: 6 -8: -64 0: 2 5: 7 5: 7 -9: -64 0: -8 5: -6 4: -64 0: -7 5: -6 3: -64 0: 7 -7: 8 -9: -64 0: 7 -8: 9 -9:-64 -64 3122: -9 9: -6 5: 0 -9: -64 0: -5 5: 0 -7: -64 0: -4 5: 1 -7: -64 0: 6 4: 1 -7: 0 -9: -64 0: -8 5: -1 5: -64 0: 2 5: 8 5: -64 0: -7 5: -4 3: -64 0: -2 5: -4 4: -64 0: 4 5: 6 4: -64 0: 7 5: 6 4:-64 -64 3123: -12 12: -8 5: -4 -9: -64 0: -7 5: -4 -6: -64 0: -6 5: -3 -6: -64 0: 0 5: -3 -6: -4 -9: -64 0: 0 5: 4 -9: -64 0: 1 5: 4 -6: -64 0: 0 5: 2 5: 5 -6: -64 0: 8 4: 5 -6: 4 -9: -64 0: -11 5: -3 5: -64 0: 5 5: 11 5: -64 0: -10 5: -7 4: -64 0: -4 5: -6 4: -64 0: 6 5: 8 4: -64 0: 10 5: 8 4:-64 -64 3124: -10 10: -6 5: 4 -9: -64 0: -5 5: 5 -9: -64 0: -4 5: 6 -9: -64 0: 5 4: -5 -8: -64 0: -8 5: -1 5: -64 0: 2 5: 8 5: -64 0: -8 -9: -2 -9: -64 0: 1 -9: 8 -9: -64 0: -7 5: -5 4: -64 0: -2 5: -4 4: -64 0: 3 5: 5 4: -64 0: 7 5: 5 4: -64 0: -5 -8: -7 -9: -64 0: -5 -8: -3 -9: -64 0: 4 -8: 2 -9: -64 0: 5 -8: 7 -9:-64 -64 3125: -10 9: -6 5: 0 -9: -64 0: -5 5: 0 -7: -64 0: -4 5: 1 -7: -64 0: 6 4: 1 -7: -2 -13: -4 -15: -6 -16: -8 -16: -9 -15: -9 -13: -7 -13: -7 -15: -8 -15: -8 -14: -64 0: -8 5: -1 5: -64 0: 2 5: 8 5: -64 0: -7 5: -4 3: -64 0: -2 5: -4 4: -64 0: 4 5: 6 4: -64 0: 7 5: 6 4:-64 -64 3126: -9 9: 4 5: -6 -9: -64 0: 5 5: -5 -9: -64 0: 6 5: -4 -9: -64 0: 6 5: -6 5: -6 1: -64 0: -6 -9: 6 -9: 6 -5: -64 0: -5 5: -6 1: -64 0: -4 5: -6 2: -64 0: -3 5: -6 3: -64 0: -1 5: -6 4: -64 0: 1 -9: 6 -8: -64 0: 3 -9: 6 -7: -64 0: 4 -9: 6 -6: -64 0: 5 -9: 6 -5:-64 -64 3151: -11 11: 5 5: 3 -2: 3 -6: 4 -8: 5 -9: 7 -9: 9 -7: 10 -5: -64 0: 6 5: 4 -2: 4 -8: -64 0: 5 5: 7 5: 5 -2: 4 -6: -64 0: 3 -2: 3 1: 2 4: 0 5: -2 5: -5 4: -7 1: -8 -2: -8 -4: -7 -7: -6 -8: -4 -9: -2 -9: 0 -8: 1 -7: 2 -5: 3 -2: -64 0: -4 4: -6 1: -7 -2: -7 -5: -6 -7: -64 0: -2 5: -4 3: -5 1: -6 -2: -6 -5: -5 -8: -4 -9:-64 -64 3152: -9 10: -2 12: -4 5: -5 -1: -5 -5: -4 -7: -3 -8: -1 -9: 1 -9: 4 -8: 6 -5: 7 -2: 7 0: 6 3: 5 4: 3 5: 1 5: -1 4: -2 3: -3 1: -4 -2: -64 0: -1 12: -3 5: -4 1: -4 -5: -3 -8: -64 0: 4 -7: 5 -5: 6 -2: 6 1: 5 3: -64 0: -5 12: 0 12: -2 5: -4 -2: -64 0: 1 -9: 3 -7: 4 -5: 5 -2: 5 1: 4 4: 3 5: -64 0: -4 12: -1 11: -64 0: -3 12: -2 10:-64 -64 3153: -9 9: 5 1: 5 2: 4 2: 4 0: 6 0: 6 2: 5 4: 3 5: 0 5: -3 4: -5 1: -6 -2: -6 -4: -5 -7: -4 -8: -2 -9: 0 -9: 3 -8: 5 -5: -64 0: -3 3: -4 1: -5 -2: -5 -5: -4 -7: -64 0: 0 5: -2 3: -3 1: -4 -2: -4 -5: -3 -8: -2 -9:-64 -64 3154: -11 11: 7 12: 4 1: 3 -3: 3 -6: 4 -8: 5 -9: 7 -9: 9 -7: 10 -5: -64 0: 8 12: 5 1: 4 -3: 4 -8: -64 0: 4 12: 9 12: 5 -2: 4 -6: -64 0: 3 -2: 3 1: 2 4: 0 5: -2 5: -5 4: -7 1: -8 -2: -8 -4: -7 -7: -6 -8: -4 -9: -2 -9: 0 -8: 1 -7: 2 -5: 3 -2: -64 0: -5 3: -6 1: -7 -2: -7 -5: -6 -7: -64 0: -2 5: -4 3: -5 1: -6 -2: -6 -5: -5 -8: -4 -9: -64 0: 5 12: 8 11: -64 0: 6 12: 7 10:-64 -64 3155: -9 9: -5 -4: -1 -3: 2 -2: 5 0: 6 2: 5 4: 3 5: 0 5: -3 4: -5 1: -6 -2: -6 -4: -5 -7: -4 -8: -2 -9: 0 -9: 3 -8: 5 -6: -64 0: -3 3: -4 1: -5 -2: -5 -5: -4 -7: -64 0: 0 5: -2 3: -3 1: -4 -2: -4 -5: -3 -8: -2 -9:-64 -64 3156: -8 8: 8 10: 8 11: 7 11: 7 9: 9 9: 9 11: 8 12: 6 12: 4 11: 2 9: 1 7: 0 4: -1 0: -3 -9: -4 -12: -5 -14: -7 -16: -64 0: 2 8: 1 5: 0 0: -2 -9: -3 -12: -64 0: 6 12: 4 10: 3 8: 2 5: 1 0: -1 -8: -2 -11: -3 -13: -5 -15: -7 -16: -9 -16: -10 -15: -10 -13: -8 -13: -8 -15: -9 -15: -9 -14: -64 0: -4 5: 7 5:-64 -64 3157: -10 11: 6 5: 2 -9: 1 -12: -1 -15: -3 -16: -64 0: 7 5: 3 -9: 1 -13: -64 0: 6 5: 8 5: 4 -9: 2 -13: 0 -15: -3 -16: -6 -16: -8 -15: -9 -14: -9 -12: -7 -12: -7 -14: -8 -14: -8 -13: -64 0: 4 -2: 4 1: 3 4: 1 5: -1 5: -4 4: -6 1: -7 -2: -7 -4: -6 -7: -5 -8: -3 -9: -1 -9: 1 -8: 2 -7: 3 -5: 4 -2: -64 0: -4 3: -5 1: -6 -2: -6 -5: -5 -7: -64 0: -1 5: -3 3: -4 1: -5 -2: -5 -5: -4 -8: -3 -9:-64 -64 3158: -11 11: -3 12: -9 -9: -7 -9: -64 0: -2 12: -8 -9: -64 0: -6 12: -1 12: -7 -9: -64 0: -5 -2: -3 2: -1 4: 1 5: 3 5: 5 4: 6 2: 6 -1: 4 -6: -64 0: 5 4: 5 0: 4 -4: 4 -8: -64 0: 5 2: 3 -3: 3 -6: 4 -8: 5 -9: 7 -9: 9 -7: 10 -5: -64 0: -5 12: -2 11: -64 0: -4 12: -3 10:-64 -64 3159: -7 6: 1 12: 1 10: 3 10: 3 12: 1 12: -64 0: 2 12: 2 10: -64 0: 1 11: 3 11: -64 0: -6 1: -5 3: -3 5: -1 5: 0 4: 1 2: 1 -1: -1 -6: -64 0: 0 4: 0 0: -1 -4: -1 -8: -64 0: 0 2: -2 -3: -2 -6: -1 -8: 0 -9: 2 -9: 4 -7: 5 -5:-64 -64 3160: -7 6: 3 12: 3 10: 5 10: 5 12: 3 12: -64 0: 4 12: 4 10: -64 0: 3 11: 5 11: -64 0: -5 1: -4 3: -2 5: 0 5: 1 4: 2 2: 2 -1: 0 -8: -1 -11: -2 -13: -4 -15: -6 -16: -8 -16: -9 -15: -9 -13: -7 -13: -7 -15: -8 -15: -8 -14: -64 0: 1 4: 1 -1: -1 -8: -2 -11: -3 -13: -64 0: 1 2: 0 -2: -2 -9: -3 -12: -4 -14: -6 -16:-64 -64 3161: -11 11: -3 12: -9 -9: -7 -9: -64 0: -2 12: -8 -9: -64 0: -6 12: -1 12: -7 -9: -64 0: 7 3: 7 4: 6 4: 6 2: 8 2: 8 4: 7 5: 5 5: 3 4: -1 0: -3 -1: -64 0: -5 -1: -3 -1: -1 -2: 0 -3: 2 -7: 3 -8: 5 -8: -64 0: -1 -3: 1 -7: 2 -8: -64 0: -3 -1: -2 -2: 0 -8: 1 -9: 3 -9: 5 -8: 7 -5: -64 0: -5 12: -2 11: -64 0: -4 12: -3 10:-64 -64 3162: -6 6: 2 12: -1 1: -2 -3: -2 -6: -1 -8: 0 -9: 2 -9: 4 -7: 5 -5: -64 0: 3 12: 0 1: -1 -3: -1 -8: -64 0: -1 12: 4 12: 0 -2: -1 -6: -64 0: 0 12: 3 11: -64 0: 1 12: 2 10:-64 -64 3163: -18 17: -17 1: -16 3: -14 5: -12 5: -11 4: -10 2: -10 -1: -12 -9: -64 0: -11 4: -11 -1: -13 -9: -64 0: -11 2: -12 -2: -14 -9: -12 -9: -64 0: -10 -1: -8 2: -6 4: -4 5: -2 5: 0 4: 1 2: 1 -1: -1 -9: -64 0: 0 4: 0 -1: -2 -9: -64 0: 0 2: -1 -2: -3 -9: -1 -9: -64 0: 1 -1: 3 2: 5 4: 7 5: 9 5: 11 4: 12 2: 12 -1: 10 -6: -64 0: 11 4: 11 0: 10 -4: 10 -8: -64 0: 11 2: 9 -3: 9 -6: 10 -8: 11 -9: 13 -9: 15 -7: 16 -5:-64 -64 3164: -12 12: -11 1: -10 3: -8 5: -6 5: -5 4: -4 2: -4 -1: -6 -9: -64 0: -5 4: -5 -1: -7 -9: -64 0: -5 2: -6 -2: -8 -9: -6 -9: -64 0: -4 -1: -2 2: 0 4: 2 5: 4 5: 6 4: 7 2: 7 -1: 5 -6: -64 0: 6 4: 6 0: 5 -4: 5 -8: -64 0: 6 2: 4 -3: 4 -6: 5 -8: 6 -9: 8 -9: 10 -7: 11 -5:-64 -64 3165: -10 10: -1 5: -4 4: -6 1: -7 -2: -7 -4: -6 -7: -5 -8: -2 -9: 1 -9: 4 -8: 6 -5: 7 -2: 7 0: 6 3: 5 4: 2 5: -1 5: -64 0: -4 3: -5 1: -6 -2: -6 -5: -5 -7: -64 0: 4 -7: 5 -5: 6 -2: 6 1: 5 3: -64 0: -1 5: -3 3: -4 1: -5 -2: -5 -5: -4 -8: -2 -9: -64 0: 1 -9: 3 -7: 4 -5: 5 -2: 5 1: 4 4: 2 5:-64 -64 3166: -11 11: -10 1: -9 3: -7 5: -5 5: -4 4: -3 2: -3 -1: -4 -5: -7 -16: -64 0: -4 4: -4 -1: -5 -5: -8 -16: -64 0: -4 2: -5 -2: -9 -16: -64 0: -3 -2: -2 1: -1 3: 0 4: 2 5: 4 5: 6 4: 7 3: 8 0: 8 -2: 7 -5: 5 -8: 2 -9: 0 -9: -2 -8: -3 -5: -3 -2: -64 0: 6 3: 7 1: 7 -2: 6 -5: 5 -7: -64 0: 4 5: 5 4: 6 1: 6 -2: 5 -5: 4 -7: 2 -9: -64 0: -12 -16: -4 -16: -64 0: -8 -15: -11 -16: -64 0: -8 -14: -10 -16: -64 0: -7 -14: -6 -16: -64 0: -8 -15: -5 -16:-64 -64 3167: -11 10: 5 5: -1 -16: -64 0: 6 5: 0 -16: -64 0: 5 5: 7 5: 1 -16: -64 0: 3 -2: 3 1: 2 4: 0 5: -2 5: -5 4: -7 1: -8 -2: -8 -4: -7 -7: -6 -8: -4 -9: -2 -9: 0 -8: 1 -7: 2 -5: 3 -2: -64 0: -5 3: -6 1: -7 -2: -7 -5: -6 -7: -64 0: -2 5: -4 3: -5 1: -6 -2: -6 -5: -5 -8: -4 -9: -64 0: -4 -16: 4 -16: -64 0: 0 -15: -3 -16: -64 0: 0 -14: -2 -16: -64 0: 1 -14: 2 -16: -64 0: 0 -15: 3 -16:-64 -64 3168: -9 9: -8 1: -7 3: -5 5: -3 5: -2 4: -1 2: -1 -2: -3 -9: -64 0: -2 4: -2 -2: -4 -9: -64 0: -2 2: -3 -2: -5 -9: -3 -9: -64 0: 7 3: 7 4: 6 4: 6 2: 8 2: 8 4: 7 5: 5 5: 3 4: 1 2: -1 -2:-64 -64 3169: -8 9: 6 2: 6 3: 5 3: 5 1: 7 1: 7 3: 6 4: 3 5: 0 5: -3 4: -4 3: -4 1: -3 -1: -1 -2: 2 -3: 4 -4: 5 -6: -64 0: -3 4: -4 1: -64 0: -3 0: -1 -1: 2 -2: 4 -3: -64 0: 5 -4: 4 -8: -64 0: -4 3: -3 1: -1 0: 2 -1: 4 -2: 5 -4: 5 -6: 4 -8: 1 -9: -2 -9: -5 -8: -6 -7: -6 -5: -4 -5: -4 -7: -5 -7: -5 -6:-64 -64 3170: -7 7: 2 12: -1 1: -2 -3: -2 -6: -1 -8: 0 -9: 2 -9: 4 -7: 5 -5: -64 0: 3 12: 0 1: -1 -3: -1 -8: -64 0: 2 12: 4 12: 0 -2: -1 -6: -64 0: -4 5: 6 5:-64 -64 3171: -12 12: -11 1: -10 3: -8 5: -6 5: -5 4: -4 2: -4 -1: -6 -6: -64 0: -5 4: -5 0: -6 -4: -6 -8: -64 0: -5 2: -7 -3: -7 -6: -6 -8: -4 -9: -2 -9: 0 -8: 2 -6: 4 -3: -64 0: 6 5: 4 -3: 4 -6: 5 -8: 6 -9: 8 -9: 10 -7: 11 -5: -64 0: 7 5: 5 -3: 5 -8: -64 0: 6 5: 8 5: 6 -2: 5 -6:-64 -64 3172: -10 10: -9 1: -8 3: -6 5: -4 5: -3 4: -2 2: -2 -1: -4 -6: -64 0: -3 4: -3 0: -4 -4: -4 -8: -64 0: -3 2: -5 -3: -5 -6: -4 -8: -2 -9: 0 -9: 2 -8: 4 -6: 6 -3: 7 1: 7 5: 6 5: 6 4: 7 2:-64 -64 3173: -15 15: -14 1: -13 3: -11 5: -9 5: -8 4: -7 2: -7 -1: -9 -6: -64 0: -8 4: -8 0: -9 -4: -9 -8: -64 0: -8 2: -10 -3: -10 -6: -9 -8: -7 -9: -5 -9: -3 -8: -1 -6: 0 -3: -64 0: 2 5: 0 -3: 0 -6: 1 -8: 3 -9: 5 -9: 7 -8: 9 -6: 11 -3: 12 1: 12 5: 11 5: 11 4: 12 2: -64 0: 3 5: 1 -3: 1 -8: -64 0: 2 5: 4 5: 2 -2: 1 -6:-64 -64 3174: -11 11: -8 1: -6 4: -4 5: -2 5: 0 4: 1 2: 1 0: -64 0: -2 5: -1 4: -1 0: -2 -4: -3 -6: -5 -8: -7 -9: -9 -9: -10 -8: -10 -6: -8 -6: -8 -8: -9 -8: -9 -7: -64 0: 0 3: 0 0: -1 -4: -1 -7: -64 0: 8 3: 8 4: 7 4: 7 2: 9 2: 9 4: 8 5: 6 5: 4 4: 2 2: 1 0: 0 -4: 0 -8: 1 -9: -64 0: -2 -4: -2 -6: -1 -8: 1 -9: 3 -9: 5 -8: 7 -5:-64 -64 3175: -11 11: -10 1: -9 3: -7 5: -5 5: -4 4: -3 2: -3 -1: -5 -6: -64 0: -4 4: -4 0: -5 -4: -5 -8: -64 0: -4 2: -6 -3: -6 -6: -5 -8: -3 -9: -1 -9: 1 -8: 3 -6: 5 -2: -64 0: 7 5: 3 -9: 2 -12: 0 -15: -2 -16: -64 0: 8 5: 4 -9: 2 -13: -64 0: 7 5: 9 5: 5 -9: 3 -13: 1 -15: -2 -16: -5 -16: -7 -15: -8 -14: -8 -12: -6 -12: -6 -14: -7 -14: -7 -13:-64 -64 3176: -10 10: 7 5: 6 3: 4 1: -4 -5: -6 -7: -7 -9: -64 0: 6 3: -3 3: -5 2: -6 0: -64 0: 4 3: 0 4: -3 4: -4 3: -64 0: 4 3: 0 5: -3 5: -5 3: -6 0: -64 0: -6 -7: 3 -7: 5 -6: 6 -4: -64 0: -4 -7: 0 -8: 3 -8: 4 -7: -64 0: -4 -7: 0 -9: 3 -9: 5 -7: 6 -4:-64 -64 3197: 0 0:-64 -64 3198: -4 4:-64 -64 3199: -8 8:-64 -64 3200: -10 10: -1 12: -4 11: -6 8: -7 3: -7 0: -6 -5: -4 -8: -1 -9: 1 -9: 4 -8: 6 -5: 7 0: 7 3: 6 8: 4 11: 1 12: -1 12: -64 0: -4 10: -5 8: -6 4: -6 -1: -5 -5: -4 -7: -64 0: 4 -7: 5 -5: 6 -1: 6 4: 5 8: 4 10: -64 0: -1 12: -3 11: -4 9: -5 4: -5 -1: -4 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 4 -6: 5 -1: 5 4: 4 9: 3 11: 1 12:-64 -64 3201: -10 10: -1 10: -1 -9: -64 0: 0 10: 0 -8: -64 0: 1 12: 1 -9: -64 0: 1 12: -2 9: -4 8: -64 0: -5 -9: 5 -9: -64 0: -1 -8: -3 -9: -64 0: -1 -7: -2 -9: -64 0: 1 -7: 2 -9: -64 0: 1 -8: 3 -9:-64 -64 3202: -10 10: -6 8: -6 7: -5 7: -5 8: -6 8: -64 0: -6 9: -5 9: -4 8: -4 7: -5 6: -6 6: -7 7: -7 8: -6 10: -5 11: -2 12: 2 12: 5 11: 6 10: 7 8: 7 6: 6 4: 3 2: -2 0: -4 -1: -6 -3: -7 -6: -7 -9: -64 0: 5 10: 6 8: 6 6: 5 4: -64 0: 2 12: 4 11: 5 8: 5 6: 4 4: 2 2: -2 0: -64 0: -7 -7: -6 -6: -4 -6: 1 -7: 5 -7: 7 -6: -64 0: -4 -6: 1 -8: 5 -8: 6 -7: -64 0: -4 -6: 1 -9: 5 -9: 6 -8: 7 -6: 7 -4:-64 -64 3203: -10 10: -6 8: -6 7: -5 7: -5 8: -6 8: -64 0: -6 9: -5 9: -4 8: -4 7: -5 6: -6 6: -7 7: -7 8: -6 10: -5 11: -2 12: 2 12: 5 11: 6 9: 6 6: 5 4: 2 3: -64 0: 4 11: 5 9: 5 6: 4 4: -64 0: 1 12: 3 11: 4 9: 4 6: 3 4: 1 3: -64 0: -1 3: 2 3: 4 2: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -2 -9: -5 -8: -6 -7: -7 -5: -7 -4: -6 -3: -5 -3: -4 -4: -4 -5: -5 -6: -6 -6: -64 0: 5 0: 6 -2: 6 -5: 5 -7: -64 0: 1 3: 3 2: 4 1: 5 -2: 5 -5: 4 -8: 2 -9: -64 0: -6 -4: -6 -5: -5 -5: -5 -4: -6 -4:-64 -64 3204: -10 10: 1 9: 1 -9: -64 0: 2 10: 2 -8: -64 0: 3 12: 3 -9: -64 0: 3 12: -8 -3: 8 -3: -64 0: -2 -9: 6 -9: -64 0: 1 -8: -1 -9: -64 0: 1 -7: 0 -9: -64 0: 3 -7: 4 -9: -64 0: 3 -8: 5 -9:-64 -64 3205: -10 10: -5 12: -7 2: -5 4: -2 5: 1 5: 4 4: 6 2: 7 -1: 7 -3: 6 -6: 4 -8: 1 -9: -2 -9: -5 -8: -6 -7: -7 -5: -7 -4: -6 -3: -5 -3: -4 -4: -4 -5: -5 -6: -6 -6: -64 0: 5 2: 6 0: 6 -4: 5 -6: -64 0: 1 5: 3 4: 4 3: 5 0: 5 -4: 4 -7: 3 -8: 1 -9: -64 0: -6 -4: -6 -5: -5 -5: -5 -4: -6 -4: -64 0: -5 12: 5 12: -64 0: -5 11: 3 11: -64 0: -5 10: -1 10: 3 11: 5 12:-64 -64 3206: -10 10: 4 9: 4 8: 5 8: 5 9: 4 9: -64 0: 5 10: 4 10: 3 9: 3 8: 4 7: 5 7: 6 8: 6 9: 5 11: 3 12: 0 12: -3 11: -5 9: -6 7: -7 3: -7 -3: -6 -6: -4 -8: -1 -9: 1 -9: 4 -8: 6 -6: 7 -3: 7 -2: 6 1: 4 3: 1 4: -1 4: -3 3: -4 2: -5 0: -64 0: -4 9: -5 7: -6 3: -6 -3: -5 -6: -4 -7: -64 0: 5 -6: 6 -4: 6 -1: 5 1: -64 0: 0 12: -2 11: -3 10: -4 8: -5 4: -5 -3: -4 -6: -3 -8: -1 -9: -64 0: 1 -9: 3 -8: 4 -7: 5 -4: 5 -1: 4 2: 3 3: 1 4:-64 -64 3207: -10 10: -7 12: -7 6: -64 0: 7 12: 7 9: 6 6: 2 1: 1 -1: 0 -5: 0 -9: -64 0: 1 0: 0 -2: -1 -5: -1 -9: -64 0: 6 6: 1 1: -1 -2: -2 -5: -2 -9: 0 -9: -64 0: -7 8: -6 10: -4 12: -2 12: 3 9: 5 9: 6 10: 7 12: -64 0: -5 10: -4 11: -2 11: 0 10: -64 0: -7 8: -6 9: -4 10: -2 10: 3 9:-64 -64 3208: -10 10: -2 12: -5 11: -6 9: -6 6: -5 4: -2 3: 2 3: 5 4: 6 6: 6 9: 5 11: 2 12: -2 12: -64 0: -4 11: -5 9: -5 6: -4 4: -64 0: 4 4: 5 6: 5 9: 4 11: -64 0: -2 12: -3 11: -4 9: -4 6: -3 4: -2 3: -64 0: 2 3: 3 4: 4 6: 4 9: 3 11: 2 12: -64 0: -2 3: -5 2: -6 1: -7 -1: -7 -5: -6 -7: -5 -8: -2 -9: 2 -9: 5 -8: 6 -7: 7 -5: 7 -1: 6 1: 5 2: 2 3: -64 0: -5 1: -6 -1: -6 -5: -5 -7: -64 0: 5 -7: 6 -5: 6 -1: 5 1: -64 0: -2 3: -4 2: -5 -1: -5 -5: -4 -8: -2 -9: -64 0: 2 -9: 4 -8: 5 -5: 5 -1: 4 2: 2 3:-64 -64 3209: -10 10: -5 -5: -5 -6: -4 -6: -4 -5: -5 -5: -64 0: 5 3: 4 1: 3 0: 1 -1: -1 -1: -4 0: -6 2: -7 5: -7 6: -6 9: -4 11: -1 12: 1 12: 4 11: 6 9: 7 6: 7 0: 6 -4: 5 -6: 3 -8: 0 -9: -3 -9: -5 -8: -6 -6: -6 -5: -5 -4: -4 -4: -3 -5: -3 -6: -4 -7: -5 -7: -64 0: -5 2: -6 4: -6 7: -5 9: -64 0: 4 10: 5 9: 6 6: 6 0: 5 -4: 4 -6: -64 0: -1 -1: -3 0: -4 1: -5 4: -5 7: -4 10: -3 11: -1 12: -64 0: 1 12: 3 11: 4 9: 5 6: 5 -1: 4 -5: 3 -7: 2 -8: 0 -9:-64 -64 3210: -5 6: 0 -6: -1 -7: -1 -8: 0 -9: 1 -9: 2 -8: 2 -7: 1 -6: 0 -6: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7:-64 -64 3211: -5 6: 2 -8: 1 -9: 0 -9: -1 -8: -1 -7: 0 -6: 1 -6: 2 -7: 2 -10: 1 -12: -1 -13: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7: -64 0: 1 -9: 2 -10: -64 0: 2 -8: 1 -12:-64 -64 3212: -5 6: 0 5: -1 4: -1 3: 0 2: 1 2: 2 3: 2 4: 1 5: 0 5: -64 0: 0 4: 0 3: 1 3: 1 4: 0 4: -64 0: 0 -6: -1 -7: -1 -8: 0 -9: 1 -9: 2 -8: 2 -7: 1 -6: 0 -6: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7:-64 -64 3213: -5 6: 0 5: -1 4: -1 3: 0 2: 1 2: 2 3: 2 4: 1 5: 0 5: -64 0: 0 4: 0 3: 1 3: 1 4: 0 4: -64 0: 2 -8: 1 -9: 0 -9: -1 -8: -1 -7: 0 -6: 1 -6: 2 -7: 2 -10: 1 -12: -1 -13: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7: -64 0: 1 -9: 2 -10: -64 0: 2 -8: 1 -12:-64 -64 3214: -5 6: 0 12: -1 11: -1 9: 0 1: -64 0: 0 12: 0 -2: 1 -2: -64 0: 0 12: 1 12: 1 -2: -64 0: 1 12: 2 11: 2 9: 1 1: -64 0: 0 -6: -1 -7: -1 -8: 0 -9: 1 -9: 2 -8: 2 -7: 1 -6: 0 -6: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7:-64 -64 3215: -9 10: -5 7: -5 8: -4 8: -4 6: -6 6: -6 8: -5 10: -4 11: -2 12: 2 12: 5 11: 6 10: 7 8: 7 6: 6 4: 5 3: 1 1: -64 0: 5 10: 6 9: 6 5: 5 4: -64 0: 2 12: 4 11: 5 9: 5 5: 4 3: 3 2: -64 0: 0 1: 0 -2: 1 -2: 1 1: 0 1: -64 0: 0 -6: -1 -7: -1 -8: 0 -9: 1 -9: 2 -8: 2 -7: 1 -6: 0 -6: -64 0: 0 -7: 0 -8: 1 -8: 1 -7: 0 -7:-64 -64 3216: -5 6: 2 12: 0 11: -1 9: -1 6: 0 5: 1 5: 2 6: 2 7: 1 8: 0 8: -1 7: -64 0: 0 7: 0 6: 1 6: 1 7: 0 7: -64 0: 0 11: -1 7: -64 0: -1 9: 0 8:-64 -64 3217: -5 6: 2 10: 1 9: 0 9: -1 10: -1 11: 0 12: 1 12: 2 11: 2 8: 1 6: -1 5: -64 0: 0 11: 0 10: 1 10: 1 11: 0 11: -64 0: 1 9: 2 8: -64 0: 2 10: 1 6:-64 -64 3218: -13 13: 9 3: 9 4: 8 4: 8 2: 10 2: 10 4: 9 5: 8 5: 7 4: 6 2: 4 -3: 2 -6: 0 -8: -2 -9: -6 -9: -8 -8: -9 -6: -9 -3: -8 -1: -2 3: 0 5: 1 7: 1 9: 0 11: -2 12: -4 11: -5 9: -5 6: -4 3: -2 0: 2 -5: 5 -8: 7 -9: 9 -9: 10 -7: 10 -6: -64 0: -7 -8: -8 -6: -8 -3: -7 -1: -6 0: -64 0: 0 5: 1 9: -64 0: 1 7: 0 11: -64 0: -4 11: -5 7: -64 0: -4 4: -2 1: 2 -4: 5 -7: 7 -8: -64 0: -4 -9: -6 -8: -7 -6: -7 -3: -6 -1: -2 3: -64 0: -5 9: -4 5: -1 1: 3 -4: 6 -7: 8 -8: 9 -8: 10 -7:-64 -64 3219: -10 10: -2 16: -2 -13: -64 0: 2 16: 2 -13: -64 0: 6 7: 6 8: 5 8: 5 6: 7 6: 7 8: 6 10: 5 11: 2 12: -2 12: -5 11: -7 9: -7 6: -6 4: -3 2: 3 0: 5 -1: 6 -3: 6 -6: 5 -8: -64 0: -6 6: -5 4: -3 3: 3 1: 5 0: 6 -2: -64 0: -5 11: -6 9: -6 7: -5 5: -3 4: 3 2: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -2 -9: -5 -8: -6 -7: -7 -5: -7 -3: -5 -3: -5 -5: -6 -5: -6 -4:-64 -64 3220: -11 12: 9 16: -9 -16: -8 -16: -64 0: 9 16: 10 16: -8 -16:-64 -64 3221: -7 7: 3 16: 1 14: -1 11: -3 7: -4 2: -4 -2: -3 -7: -1 -11: 1 -14: 3 -16: -64 0: -1 10: -2 7: -3 3: -3 -3: -2 -7: -1 -10: -64 0: 1 14: 0 12: -1 9: -2 3: -2 -3: -1 -9: 0 -12: 1 -14:-64 -64 3222: -7 7: -3 16: -1 14: 1 11: 3 7: 4 2: 4 -2: 3 -7: 1 -11: -1 -14: -3 -16: -64 0: 1 10: 2 7: 3 3: 3 -3: 2 -7: 1 -10: -64 0: -1 14: 0 12: 1 9: 2 3: 2 -3: 1 -9: 0 -12: -1 -14:-64 -64 3223: -8 8: 0 12: -1 11: 1 1: 0 0: -64 0: 0 12: 0 0: -64 0: 0 12: 1 11: -1 1: 0 0: -64 0: -5 9: -4 9: 4 3: 5 3: -64 0: -5 9: 5 3: -64 0: -5 9: -5 8: 5 4: 5 3: -64 0: 5 9: 4 9: -4 3: -5 3: -64 0: 5 9: -5 3: -64 0: 5 9: 5 8: -5 4: -5 3:-64 -64 3224: -12 13: -8 1: 9 1: 9 0: -64 0: -8 1: -8 0: 9 0:-64 -64 3225: -12 13: 0 9: 0 -8: 1 -8: -64 0: 0 9: 1 9: 1 -8: -64 0: -8 1: 9 1: 9 0: -64 0: -8 1: -8 0: 9 0:-64 -64 3226: -12 13: -8 5: 9 5: 9 4: -64 0: -8 5: -8 4: 9 4: -64 0: -8 -3: 9 -3: 9 -4: -64 0: -8 -3: -8 -4: 9 -4:-64 -64 3227: -4 5: 1 12: 0 11: 0 5: -64 0: 1 11: 0 5: -64 0: 1 12: 2 11: 0 5:-64 -64 3228: -9 9: -4 12: -5 11: -5 5: -64 0: -4 11: -5 5: -64 0: -4 12: -3 11: -5 5: -64 0: 5 12: 4 11: 4 5: -64 0: 5 11: 4 5: -64 0: 5 12: 6 11: 4 5:-64 -64 3229: -7 7: -1 12: -3 11: -4 9: -4 7: -3 5: -1 4: 1 4: 3 5: 4 7: 4 9: 3 11: 1 12: -1 12: -64 0: -1 12: -4 9: -3 5: 1 4: 4 7: 3 11: -1 12: -64 0: 1 12: -3 11: -4 7: -1 4: 3 5: 4 9: 1 12:-64 -64 3247: 0 0:-64 -64 3248: -4 4:-64 -64 3249: -8 8:-64 -64 3250: -10 11: 2 12: -1 11: -3 9: -5 6: -6 3: -7 -1: -7 -4: -6 -7: -5 -8: -3 -9: -1 -9: 2 -8: 4 -6: 6 -3: 7 0: 8 4: 8 7: 7 10: 6 11: 4 12: 2 12: -64 0: -1 10: -3 8: -4 6: -5 3: -6 -1: -6 -5: -5 -7: -64 0: 2 -7: 4 -5: 5 -3: 6 0: 7 4: 7 8: 6 10: -64 0: 2 12: 0 11: -2 8: -3 6: -4 3: -5 -1: -5 -6: -4 -8: -3 -9: -64 0: -1 -9: 1 -8: 3 -5: 4 -3: 5 0: 6 4: 6 9: 5 11: 4 12:-64 -64 3251: -10 11: 2 8: -3 -9: -1 -9: -64 0: 5 12: 3 8: -2 -9: -64 0: 5 12: -1 -9: -64 0: 5 12: 2 9: -1 7: -3 6: -64 0: 2 8: 0 7: -3 6:-64 -64 3252: -10 11: -3 7: -3 8: -2 8: -2 6: -4 6: -4 8: -3 10: -2 11: 1 12: 4 12: 7 11: 8 9: 8 7: 7 5: 5 3: -5 -3: -7 -5: -9 -9: -64 0: 6 11: 7 9: 7 7: 6 5: 4 3: 1 1: -64 0: 4 12: 5 11: 6 9: 6 7: 5 5: 3 3: -5 -3: -64 0: -8 -7: -7 -6: -5 -6: 0 -7: 5 -7: 6 -6: -64 0: -5 -6: 0 -8: 5 -8: -64 0: -5 -6: 0 -9: 3 -9: 5 -8: 6 -6: 6 -5:-64 -64 3253: -10 11: -3 7: -3 8: -2 8: -2 6: -4 6: -4 8: -3 10: -2 11: 1 12: 4 12: 7 11: 8 9: 8 7: 7 5: 6 4: 4 3: 1 2: -64 0: 6 11: 7 9: 7 7: 6 5: 5 4: -64 0: 4 12: 5 11: 6 9: 6 7: 5 5: 3 3: 1 2: -64 0: -1 2: 1 2: 4 1: 5 0: 6 -2: 6 -5: 5 -7: 3 -8: 0 -9: -3 -9: -6 -8: -7 -7: -8 -5: -8 -3: -6 -3: -6 -5: -7 -5: -7 -4: -64 0: 4 0: 5 -2: 5 -5: 4 -7: -64 0: 1 2: 3 1: 4 -1: 4 -5: 3 -7: 2 -8: 0 -9:-64 -64 3254: -10 11: 5 8: 0 -9: 2 -9: -64 0: 8 12: 6 8: 1 -9: -64 0: 8 12: 2 -9: -64 0: 8 12: -8 -3: 8 -3:-64 -64 3255: -10 11: -1 12: -6 2: -64 0: -1 12: 9 12: -64 0: -1 11: 7 11: -64 0: -2 10: 3 10: 7 11: 9 12: -64 0: -6 2: -5 3: -2 4: 1 4: 4 3: 5 2: 6 0: 6 -3: 5 -6: 3 -8: -1 -9: -4 -9: -6 -8: -7 -7: -8 -5: -8 -3: -6 -3: -6 -5: -7 -5: -7 -4: -64 0: 4 2: 5 0: 5 -3: 4 -6: 2 -8: -64 0: 1 4: 3 3: 4 1: 4 -3: 3 -6: 1 -8: -1 -9:-64 -64 3256: -10 11: 7 8: 7 9: 6 9: 6 7: 8 7: 8 9: 7 11: 5 12: 2 12: -1 11: -3 9: -5 6: -6 3: -7 -1: -7 -4: -6 -7: -5 -8: -3 -9: 0 -9: 3 -8: 5 -6: 6 -4: 6 -1: 5 1: 4 2: 2 3: -1 3: -3 2: -4 1: -5 -1: -64 0: -2 9: -4 6: -5 3: -6 -1: -6 -5: -5 -7: -64 0: 4 -6: 5 -4: 5 -1: 4 1: -64 0: 2 12: 0 11: -2 8: -3 6: -4 3: -5 -1: -5 -6: -4 -8: -3 -9: -64 0: 0 -9: 2 -8: 3 -7: 4 -4: 4 0: 3 2: 2 3:-64 -64 3257: -10 11: -4 12: -6 6: -64 0: 9 12: 8 9: 6 6: 2 1: 0 -2: -1 -5: -2 -9: -64 0: 0 -1: -2 -5: -3 -9: -64 0: 6 6: 0 0: -2 -3: -3 -5: -4 -9: -2 -9: -64 0: -5 9: -2 12: 0 12: 5 9: -64 0: -3 11: 0 11: 5 9: -64 0: -5 9: -3 10: 0 10: 5 9: 7 9: 8 10: 9 12:-64 -64 3258: -10 11: 1 12: -2 11: -3 10: -4 8: -4 5: -3 3: -1 2: 2 2: 5 3: 7 4: 8 6: 8 9: 7 11: 5 12: 1 12: -64 0: 3 12: -2 11: -64 0: -2 10: -3 8: -3 4: -2 3: -64 0: -3 3: 0 2: -64 0: 1 2: 5 3: -64 0: 6 4: 7 6: 7 9: 6 11: -64 0: 7 11: 3 12: -64 0: 1 12: -1 10: -2 8: -2 4: -1 2: -64 0: 2 2: 4 3: 5 4: 6 6: 6 10: 5 12: -64 0: -1 2: -5 1: -7 -1: -8 -3: -8 -6: -7 -8: -4 -9: 0 -9: 4 -8: 5 -7: 6 -5: 6 -2: 5 0: 4 1: 2 2: -64 0: 0 2: -5 1: -64 0: -4 1: -6 -1: -7 -3: -7 -6: -6 -8: -64 0: -7 -8: -2 -9: 4 -8: -64 0: 4 -7: 5 -5: 5 -2: 4 0: -64 0: 4 1: 1 2: -64 0: -1 2: -3 1: -5 -1: -6 -3: -6 -6: -5 -8: -4 -9: -64 0: 0 -9: 2 -8: 3 -7: 4 -5: 4 -1: 3 1: 2 2:-64 -64 3259: -10 11: 6 4: 5 2: 4 1: 2 0: -1 0: -3 1: -4 2: -5 4: -5 7: -4 9: -2 11: 1 12: 4 12: 6 11: 7 10: 8 7: 8 4: 7 0: 6 -3: 4 -6: 2 -8: -1 -9: -4 -9: -6 -8: -7 -6: -7 -4: -5 -4: -5 -6: -6 -6: -6 -5: -64 0: -3 2: -4 4: -4 7: -3 9: -64 0: 6 10: 7 8: 7 4: 6 0: 5 -3: 3 -6: -64 0: -1 0: -2 1: -3 3: -3 7: -2 10: -1 11: 1 12: -64 0: 4 12: 5 11: 6 9: 6 4: 5 0: 4 -3: 3 -5: 1 -8: -1 -9:-64 -64 3260: -5 6: -2 -6: -3 -7: -3 -8: -2 -9: -1 -9: 0 -8: 0 -7: -1 -6: -2 -6: -64 0: -2 -7: -2 -8: -1 -8: -1 -7: -2 -7:-64 -64 3261: -5 6: -1 -9: -2 -9: -3 -8: -3 -7: -2 -6: -1 -6: 0 -7: 0 -9: -1 -11: -2 -12: -4 -13: -64 0: -2 -7: -2 -8: -1 -8: -1 -7: -2 -7: -64 0: -1 -9: -1 -10: -2 -12:-64 -64 3262: -5 6: 1 5: 0 4: 0 3: 1 2: 2 2: 3 3: 3 4: 2 5: 1 5: -64 0: 1 4: 1 3: 2 3: 2 4: 1 4: -64 0: -2 -6: -3 -7: -3 -8: -2 -9: -1 -9: 0 -8: 0 -7: -1 -6: -2 -6: -64 0: -2 -7: -2 -8: -1 -8: -1 -7: -2 -7:-64 -64 3263: -5 6: 1 5: 0 4: 0 3: 1 2: 2 2: 3 3: 3 4: 2 5: 1 5: -64 0: 1 4: 1 3: 2 3: 2 4: 1 4: -64 0: -1 -9: -2 -9: -3 -8: -3 -7: -2 -6: -1 -6: 0 -7: 0 -9: -1 -11: -2 -12: -4 -13: -64 0: -2 -7: -2 -8: -1 -8: -1 -7: -2 -7: -64 0: -1 -9: -1 -10: -2 -12:-64 -64 3264: -5 6: 4 12: 3 12: 2 11: 0 -2: -64 0: 4 11: 3 11: 0 -2: -64 0: 4 11: 4 10: 0 -2: -64 0: 4 12: 5 11: 5 10: 0 -2: -64 0: -2 -6: -3 -7: -3 -8: -2 -9: -1 -9: 0 -8: 0 -7: -1 -6: -2 -6: -64 0: -2 -7: -2 -8: -1 -8: -1 -7: -2 -7:-64 -64 3265: -10 11: -3 7: -3 8: -2 8: -2 6: -4 6: -4 8: -3 10: -2 11: 1 12: 5 12: 8 11: 9 9: 9 7: 8 5: 7 4: 5 3: 1 2: -1 1: -1 -1: 1 -2: 2 -2: -64 0: 3 12: 8 11: -64 0: 7 11: 8 9: 8 7: 7 5: 6 4: 4 3: -64 0: 5 12: 6 11: 7 9: 7 7: 6 5: 5 4: 1 2: 0 1: 0 -1: 1 -2: -64 0: -2 -6: -3 -7: -3 -8: -2 -9: -1 -9: 0 -8: 0 -7: -1 -6: -2 -6: -64 0: -2 -7: -2 -8: -1 -8: -1 -7: -2 -7:-64 -64 3266: -5 6: 5 12: 3 11: 2 10: 1 8: 1 6: 2 5: 3 5: 4 6: 4 7: 3 8: 2 8: -64 0: 3 11: 2 9: 2 8: -64 0: 2 7: 2 6: 3 6: 3 7: 2 7:-64 -64 3267: -5 6: 4 9: 3 9: 2 10: 2 11: 3 12: 4 12: 5 11: 5 9: 4 7: 3 6: 1 5: -64 0: 3 11: 3 10: 4 10: 4 11: 3 11: -64 0: 4 9: 4 8: 3 6:-64 -64 3268: -13 13: 10 3: 10 4: 9 4: 9 2: 11 2: 11 4: 10 5: 9 5: 7 4: 5 2: 0 -6: -2 -8: -4 -9: -7 -9: -10 -8: -11 -6: -11 -4: -10 -2: -9 -1: -7 0: -2 2: 0 3: 2 5: 3 7: 3 9: 2 11: 0 12: -2 11: -3 9: -3 6: -2 0: -1 -3: 0 -5: 2 -8: 4 -9: 6 -9: 7 -7: 7 -6: -64 0: -6 -9: -10 -8: -64 0: -9 -8: -10 -6: -10 -4: -9 -2: -8 -1: -6 0: -64 0: -2 2: -1 -1: 2 -7: 4 -8: -64 0: -7 -9: -8 -8: -9 -6: -9 -4: -8 -2: -7 -1: -5 0: 0 3: -64 0: -3 6: -2 3: -1 0: 1 -4: 3 -7: 5 -8: 6 -8: 7 -7:-64 -64 3269: -10 11: 2 16: -6 -13: -64 0: 7 16: -1 -13: -64 0: 8 7: 8 8: 7 8: 7 6: 9 6: 9 8: 8 10: 7 11: 4 12: 0 12: -3 11: -5 9: -5 6: -4 4: -2 2: 4 -1: 5 -3: 5 -6: 4 -8: -64 0: -4 6: -3 4: 4 0: 5 -2: -64 0: -3 11: -4 9: -4 7: -3 5: 3 2: 5 0: 6 -2: 6 -5: 5 -7: 4 -8: 1 -9: -3 -9: -6 -8: -7 -7: -8 -5: -8 -3: -6 -3: -6 -5: -7 -5: -7 -4:-64 -64 3270: -11 12: 13 16: -13 -16: -12 -16: -64 0: 13 16: 14 16: -12 -16:-64 -64 3271: -8 8: 8 16: 6 15: 3 13: 0 10: -2 7: -4 3: -5 -1: -5 -6: -4 -10: -3 -13: -1 -16: -64 0: 1 10: -1 7: -3 3: -4 -2: -4 -10: -64 0: 8 16: 5 14: 2 11: 0 8: -1 6: -2 3: -3 -1: -4 -10: -64 0: -4 -2: -3 -11: -2 -14: -1 -16:-64 -64 3272: -8 8: 1 16: 3 13: 4 10: 5 6: 5 1: 4 -3: 2 -7: 0 -10: -3 -13: -6 -15: -8 -16: -64 0: 4 10: 4 2: 3 -3: 1 -7: -1 -10: -64 0: 1 16: 2 14: 3 11: 4 2: -64 0: 4 10: 3 1: 2 -3: 1 -6: 0 -8: -2 -11: -5 -14: -8 -16:-64 -64 3273: -8 9: 2 12: 1 11: 3 1: 2 0: -64 0: 2 12: 2 0: -64 0: 2 12: 3 11: 1 1: 2 0: -64 0: -3 9: -2 9: 6 3: 7 3: -64 0: -3 9: 7 3: -64 0: -3 9: -3 8: 7 4: 7 3: -64 0: 7 9: 6 9: -2 3: -3 3: -64 0: 7 9: -3 3: -64 0: 7 9: 7 8: -3 4: -3 3:-64 -64 3274: -12 13: -8 1: 9 1: 9 0: -64 0: -8 1: -8 0: 9 0:-64 -64 3275: -12 13: 0 9: 0 -8: 1 -8: -64 0: 0 9: 1 9: 1 -8: -64 0: -8 1: 9 1: 9 0: -64 0: -8 1: -8 0: 9 0:-64 -64 3276: -12 13: -8 5: 9 5: 9 4: -64 0: -8 5: -8 4: 9 4: -64 0: -8 -3: 9 -3: 9 -4: -64 0: -8 -3: -8 -4: 9 -4:-64 -64 3277: -5 5: 3 12: 2 11: 0 5: -64 0: 3 11: 0 5: -64 0: 3 12: 4 11: 0 5:-64 -64 3278: -10 10: -2 12: -3 11: -5 5: -64 0: -2 11: -5 5: -64 0: -2 12: -1 11: -5 5: -64 0: 8 12: 7 11: 5 5: -64 0: 8 11: 5 5: -64 0: 8 12: 9 11: 5 5:-64 -64 3279: -7 8: 1 12: -1 11: -2 9: -2 7: -1 5: 1 4: 3 4: 5 5: 6 7: 6 9: 5 11: 3 12: 1 12: -64 0: 1 12: -2 9: -1 5: 3 4: 6 7: 5 11: 1 12: -64 0: 3 12: -1 11: -2 7: 1 4: 5 5: 6 9: 3 12:-64 -64 3301: -12 12: -9 10: -8 9: -9 8: -10 9: -9 11: -7 12: -5 12: -3 11: -2 10: -1 7: -1 3: -2 0: -4 -2: -6 -3: -9 -4: -64 0: -3 10: -2 7: -2 2: -3 0: -64 0: -5 12: -4 11: -3 8: -3 2: -4 -1: -6 -3: -64 0: -6 -4: -3 -7: -64 0: -7 -4: -3 -8: -64 0: -9 -4: -4 -9: 3 -4: -64 0: 10 11: 9 10: 10 10: 10 11: 9 12: 7 12: 5 11: 4 10: 3 8: 3 -7: 5 -9: 9 -5: -64 0: 5 10: 4 8: 4 -6: 6 -8: -64 0: 7 12: 6 11: 5 8: 5 -5: 7 -7:-64 -64 3302: -13 13: -11 1: -11 0: -10 -1: -8 -1: -6 0: -6 3: -7 5: -9 8: -9 10: -7 12: -64 0: -7 3: -9 7: -64 0: -8 -1: -7 0: -7 2: -9 5: -10 7: -10 9: -9 11: -7 12: -4 12: -2 11: -1 10: 0 8: 0 0: -1 -3: -3 -5: -64 0: -2 10: -1 8: -1 -2: -64 0: -4 12: -3 11: -2 8: -2 -3: -3 -5: -64 0: 0 9: 1 11: 3 12: 5 12: 7 11: 8 10: 9 8: 10 7: -64 0: 7 10: 8 8: -64 0: 5 12: 6 11: 7 8: 8 7: 10 7: -64 0: 10 7: 0 2: -64 0: 7 5: 9 3: 10 0: 10 -3: 9 -6: 7 -8: 4 -9: 1 -9: -2 -8: -8 -5: -9 -5: -10 -6: -64 0: 6 4: 7 4: 9 2: -64 0: 4 4: 7 3: 9 1: 10 -1: -64 0: 2 -8: 0 -8: -6 -5: -7 -5: -64 0: 8 -7: 6 -8: 3 -8: 0 -7: -4 -5: -7 -4: -9 -4: -10 -6: -10 -8: -9 -9: -8 -8: -9 -7:-64 -64 3303: -12 12: 0 10: -2 12: -4 12: -6 11: -8 8: -9 4: -9 0: -8 -4: -6 -7: -4 -8: -1 -9: 2 -9: 5 -8: 7 -7: 9 -5: -64 0: -6 10: -7 8: -8 5: -8 0: -7 -4: -5 -7: -2 -8: -64 0: -4 12: -5 11: -6 9: -7 5: -7 1: -6 -3: -5 -5: -3 -7: 0 -8: 3 -8: 6 -7: 9 -5: -64 0: 3 12: 0 10: -1 9: -2 7: -2 6: -1 4: 2 2: 3 0: 3 -2: -64 0: -1 7: -1 6: 3 2: 3 1: -64 0: -1 9: -1 8: 0 6: 3 4: 4 2: 4 0: 3 -2: 1 -3: 0 -3: -2 -2: -3 0: -64 0: 3 12: 4 11: 6 10: 8 10: -64 0: 3 11: 4 10: 5 10: -64 0: 2 11: 4 9: 6 9: 8 10: 9 11:-64 -64 3304: -13 13: -10 6: -10 7: -9 9: -7 11: -4 12: 0 12: 3 11: 5 10: 7 8: 9 5: 10 1: 10 -3: 9 -6: 7 -8: 4 -9: 1 -9: -2 -8: -8 -5: -9 -5: -10 -6: -64 0: -7 10: -5 11: 0 11: 3 10: 5 9: 7 7: 9 4: -64 0: 2 -8: 0 -8: -6 -5: -7 -5: -64 0: -10 7: -8 9: -5 10: 0 10: 3 9: 5 8: 7 6: 9 3: 10 0: -64 0: 8 -7: 6 -8: 3 -8: 0 -7: -4 -5: -7 -4: -9 -4: -10 -6: -10 -8: -9 -9: -8 -8: -9 -7: -64 0: -2 10: -5 7: -6 5: -6 3: -4 -1: -4 -3: -64 0: -5 4: -5 3: -4 1: -4 0: -64 0: -5 7: -5 5: -3 1: -3 -1: -4 -3: -5 -4: -7 -4: -8 -3: -8 -2:-64 -64 3305: -12 12: 0 10: -2 12: -4 12: -6 11: -8 8: -9 4: -9 0: -8 -4: -6 -7: -4 -8: -1 -9: 2 -9: 5 -8: 7 -7: 9 -5: -64 0: -6 10: -7 8: -8 5: -8 0: -7 -4: -5 -7: -2 -8: -64 0: -4 12: -5 11: -6 9: -7 5: -7 1: -6 -3: -5 -5: -3 -7: 0 -8: 3 -8: 6 -7: 9 -5: -64 0: 3 12: 0 10: -1 9: -2 7: -2 6: -1 4: 2 2: 3 0: 3 -2: -64 0: -1 7: -1 6: 3 2: 3 1: -64 0: -1 9: -1 8: 0 6: 3 4: 4 2: 4 0: 3 -2: 1 -3: 0 -3: -2 -2: -3 0: -64 0: 3 12: 4 11: 6 10: 8 10: -64 0: 3 11: 4 10: 5 10: -64 0: 2 11: 4 9: 6 9: 8 10: 9 11: -64 0: 3 4: 7 7: -64 0: 7 7: 8 6: 10 6: -64 0: 6 6: 7 5: 8 5: -64 0: 5 5: 6 4: 8 4: 10 6:-64 -64 3306: -12 12: -5 4: -7 5: -8 7: -8 9: -7 11: -4 12: -1 12: 2 11: 6 9: -64 0: -7 10: -5 11: 0 11: 3 10: -64 0: -8 7: -7 9: -5 10: 0 10: 6 9: 8 9: 9 10: 9 11: 8 12: 7 12: -64 0: 1 10: 0 9: -1 7: -1 5: 0 3: 4 -1: 5 -4: 5 -7: 4 -10: 3 -11: 1 -12: -64 0: 2 2: 5 -1: 6 -4: 6 -7: 5 -9: -64 0: -1 5: 1 3: 4 1: 6 -1: 7 -4: 7 -7: 6 -9: 4 -11: 1 -12: -3 -12: -6 -11: -7 -10: -8 -8: -8 -5: -6 -2: -6 0: -7 1: -64 0: -6 -10: -7 -9: -7 -5: -6 -3: -64 0: -3 -12: -5 -11: -6 -9: -6 -5: -5 -2: -5 0: -6 1: -8 1: -9 0: -9 -1: -64 0: 3 2: 7 6: -64 0: 7 6: 8 5: 10 5: -64 0: 6 5: 7 4: 8 4: -64 0: 5 4: 6 3: 8 3: 10 5:-64 -64 3307: -13 13: 3 8: 2 10: 1 11: -1 12: -4 12: -7 11: -9 8: -10 4: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 2 -9: 5 -8: 7 -7: 9 -5: 10 -2: 10 1: 9 4: 7 6: -64 0: -7 10: -8 8: -9 5: -9 0: -8 -3: -7 -5: -64 0: 8 -5: 9 -3: 9 1: 8 4: 7 5: -64 0: -4 12: -6 11: -7 9: -8 5: -8 0: -7 -4: -6 -6: -4 -8: -64 0: 5 -8: 7 -6: 8 -3: 8 1: 7 3: 5 5: -64 0: 3 12: 0 10: -2 8: -3 6: -3 5: -2 3: 1 1: 2 -1: 2 -3: -64 0: -2 6: -2 5: 2 1: 2 0: -64 0: -2 8: -2 7: -1 5: 2 3: 3 1: 3 -1: 2 -3: 0 -4: -1 -4: -3 -3: -4 -1: -64 0: 2 3: 7 6: 8 8: -64 0: 10 12: 8 8: -64 0: 7 11: 11 9: -64 0: 10 12: 9 11: 7 11: 8 10: 8 8: 9 9: 11 9: 10 10: 10 12:-64 -64 3308: -12 13: 0 12: -2 11: -4 9: -5 7: -5 5: -4 3: -2 1: -1 -1: -1 -3: -64 0: -4 6: -4 5: -1 1: -1 0: -64 0: -4 9: -4 7: -3 5: -1 3: 0 1: 0 -1: -1 -3: -2 -4: -4 -5: -6 -5: -8 -4: -9 -3: -10 -1: -10 1: -9 2: -8 1: -9 0: -64 0: 0 12: 2 10: 4 10: 6 11: -64 0: -1 11: 1 10: -64 0: -2 11: -1 10: 1 9: 3 9: 6 11: -64 0: 0 2: 7 7: -64 0: 7 7: 9 4: 10 1: 10 -2: 9 -5: 7 -7: 4 -8: 0 -9: -64 0: 6 6: 8 4: 9 1: 9 -3: 8 -5: -64 0: 4 5: 5 5: 7 3: 8 0: 8 -4: 7 -6: 6 -7: 4 -8: -64 0: 4 -8: 2 -8: 0 -7: -2 -7: -4 -8: -5 -10: -4 -12: -2 -13: 0 -13: 2 -12: -64 0: 1 -8: -1 -8: -64 0: 0 -9: -2 -8: -4 -8:-64 -64 3309: -12 13: -2 2: -4 2: -6 3: -7 4: -8 6: -8 8: -7 10: -6 11: -3 12: -1 12: 2 11: 5 8: 7 7: -64 0: -6 10: -4 11: 0 11: 2 10: 3 9: -64 0: -8 8: -7 9: -5 10: -1 10: 2 9: 4 8: 7 7: 9 7: 10 8: 10 10: 9 11: 7 11: -64 0: -8 -6: -7 -7: -8 -8: -9 -7: -9 -5: -8 -4: -6 -4: -4 -5: -2 -7: 0 -10: 2 -12: -64 0: -4 -6: -3 -7: -1 -10: 0 -11: -64 0: -6 -4: -5 -5: -4 -7: -2 -10: -1 -11: 1 -12: 4 -12: 6 -11: 7 -10: 8 -8: 8 -5: 7 -3: 5 0: 4 2: 4 3: -64 0: 7 -6: 7 -5: 4 0: 4 1: -64 0: 6 -11: 7 -9: 7 -7: 6 -5: 4 -2: 3 0: 3 2: 5 4: 7 4: 8 3: 8 2:-64 -64 3310: -12 13: -2 2: -4 2: -6 3: -7 4: -8 6: -8 8: -7 10: -6 11: -3 12: -1 12: 2 11: 5 8: 7 7: -64 0: -6 10: -4 11: 0 11: 2 10: 3 9: -64 0: -8 8: -7 9: -5 10: -1 10: 2 9: 4 8: 7 7: 9 7: 10 8: 10 10: 9 11: 7 11: -64 0: -8 -6: -7 -7: -8 -8: -9 -7: -9 -5: -8 -4: -6 -4: -4 -5: -2 -7: 0 -10: 2 -12: -64 0: -4 -6: -3 -7: -1 -10: 0 -11: -64 0: -6 -4: -5 -5: -4 -7: -2 -10: -1 -11: 1 -12: 4 -12: 6 -11: 7 -10: 8 -8: 8 -5: 7 -3: 5 0: 4 2: 4 3: -64 0: 7 -6: 7 -5: 4 0: 4 1: -64 0: 6 -11: 7 -9: 7 -7: 6 -5: 4 -2: 3 0: 3 2: 5 4: 7 4: 8 3: 8 2:-64 -64 3311: -13 13: 9 7: 8 9: 6 11: 3 12: 0 12: -3 11: -5 9: -6 7: -6 4: -5 1: -2 -5: -2 -7: -4 -9: -64 0: -5 4: -5 3: -2 -3: -2 -4: -64 0: -4 10: -5 8: -5 5: -4 3: -2 -1: -1 -4: -1 -6: -2 -8: -4 -9: -6 -9: -8 -8: -64 0: -10 -4: -8 -8: -64 0: -11 -7: -7 -5: -64 0: -10 -4: -10 -6: -11 -7: -9 -7: -8 -8: -8 -6: -7 -5: -9 -5: -10 -4: -64 0: -4 3: -4 5: -3 7: -1 8: 2 8: 4 7: 6 5: 7 5: -64 0: 3 7: 5 5: -64 0: 0 8: 2 7: 3 6: 4 4: -64 0: 7 5: -2 1: -64 0: 3 3: 7 -6: 8 -7: 9 -7: -64 0: 2 2: 6 -6: 8 -8: -64 0: 1 2: 5 -7: 7 -9: 10 -6:-64 -64 3312: -11 12: 8 -1: 7 -2: 4 -2: 3 -1: 3 1: 4 3: 6 6: 7 8: 7 10: -64 0: 4 1: 4 2: 7 6: 7 7: -64 0: 5 -2: 4 -1: 4 0: 5 2: 7 4: 8 6: 8 8: 7 10: 6 11: 3 12: -2 12: -5 11: -6 10: -7 8: -7 6: -6 4: -4 1: -3 -1: -3 -2: -4 -4: -64 0: -6 7: -6 6: -3 1: -3 0: -64 0: -6 10: -6 8: -5 6: -3 3: -2 1: -2 -1: -3 -3: -5 -5: -8 -7: -64 0: -5 -5: -3 -5: 0 -7: 3 -8: 6 -8: 8 -7: -64 0: -4 -6: -3 -6: 1 -8: 2 -8: -64 0: -8 -7: -6 -6: -5 -6: -1 -8: 2 -9: 4 -9: 7 -8: 8 -7: 9 -5:-64 -64 3313: -16 16: -13 1: -13 0: -12 -1: -10 -1: -8 0: -8 3: -9 5: -11 8: -11 10: -9 12: -64 0: -9 3: -11 7: -64 0: -10 -1: -9 0: -9 2: -11 5: -12 7: -12 9: -11 11: -9 12: -7 12: -5 11: -3 9: -2 6: -2 0: -3 -3: -4 -5: -6 -7: -9 -9: -10 -8: -11 -8: -64 0: -4 9: -3 6: -3 0: -4 -3: -5 -5: -64 0: -8 -8: -9 -7: -10 -7: -64 0: -7 12: -5 10: -4 7: -4 0: -5 -4: -6 -6: -7 -7: -8 -6: -9 -6: -12 -9: -64 0: -4 11: -2 12: 0 12: 2 11: 4 9: 5 6: 5 0: 4 -3: 3 -5: 1 -7: -1 -9: -2 -8: -3 -8: -64 0: 3 9: 4 6: 4 0: 3 -4: -64 0: 0 -8: -1 -7: -2 -7: -64 0: 0 12: 2 10: 3 7: 3 -1: 2 -5: 1 -7: 0 -6: -1 -6: -4 -9: -64 0: 3 10: 4 11: 6 12: 8 12: 10 11: 11 10: 12 8: 13 7: -64 0: 10 10: 11 8: -64 0: 8 12: 9 11: 10 8: 11 7: 13 7: -64 0: 13 7: 10 5: 9 4: 8 1: 8 -2: 9 -6: 11 -9: 14 -6: -64 0: 10 4: 9 2: 9 -2: 10 -5: 12 -8: -64 0: 13 7: 11 5: 10 3: 10 -1: 11 -5: 13 -7:-64 -64 3314: -14 14: -11 1: -11 0: -10 -1: -8 -1: -6 0: -6 3: -7 5: -9 8: -9 10: -7 12: -64 0: -7 3: -9 7: -64 0: -8 -1: -7 0: -7 2: -9 5: -10 7: -10 9: -9 11: -7 12: -4 12: -2 11: 0 9: 1 6: 1 0: 0 -3: -1 -5: -3 -7: -6 -9: -7 -8: -9 -8: -11 -9: -64 0: -1 9: 0 7: 0 0: -1 -3: -2 -5: -3 -6: -64 0: -5 -8: -7 -7: -9 -7: -64 0: -4 12: -2 10: -1 7: -1 0: -2 -4: -4 -7: -6 -6: -8 -6: -11 -9: -64 0: 0 10: 1 11: 3 12: 5 12: 7 11: 8 10: 9 8: 10 7: -64 0: 7 10: 8 8: -64 0: 5 12: 6 11: 7 8: 8 7: 10 7: -64 0: 10 7: 7 5: 6 4: 5 1: 5 -2: 6 -6: 8 -9: 11 -6: -64 0: 7 4: 6 2: 6 -2: 7 -5: 9 -8: -64 0: 10 7: 8 5: 7 3: 7 -1: 8 -5: 10 -7:-64 -64 3315: -14 14: -2 12: -4 11: -6 9: -7 7: -7 5: -5 1: -5 -1: -64 0: -6 6: -6 5: -5 3: -5 2: -64 0: -6 9: -6 7: -4 3: -4 1: -5 -1: -6 -2: -8 -2: -9 -1: -9 0: -64 0: -2 12: -1 11: 5 9: 8 7: 9 5: 10 2: 10 -1: 9 -4: 8 -6: 6 -8: 3 -9: 0 -9: -3 -8: -9 -5: -10 -5: -11 -6: -64 0: -2 11: -1 10: 5 8: 7 7: 8 6: -64 0: -2 12: -2 10: -1 9: 5 7: 7 6: 9 4: 10 2: -64 0: 1 -8: -1 -8: -7 -5: -8 -5: -64 0: 7 -7: 5 -8: 2 -8: -1 -7: -5 -5: -8 -4: -10 -4: -11 -6: -11 -8: -10 -9: -9 -8: -10 -7:-64 -64 3316: -13 14: -10 1: -10 0: -9 -1: -7 -1: -5 0: -5 3: -6 5: -8 8: -8 10: -6 12: -64 0: -6 3: -8 7: -64 0: -7 -1: -6 0: -6 2: -8 5: -9 7: -9 9: -8 11: -6 12: -3 12: -1 11: 0 10: 1 8: 1 -3: -64 0: 1 -5: 1 -10: 0 -12: -2 -13: -5 -13: -6 -12: -6 -10: -5 -9: -4 -10: -5 -11: -64 0: -1 10: 0 8: 0 -10: -1 -12: -64 0: -3 12: -2 11: -1 8: -1 -3: -64 0: -1 -5: -1 -10: -2 -12: -3 -13: -64 0: 1 8: 6 12: -64 0: 6 12: 8 9: 9 7: 10 3: 10 0: 9 -3: 7 -6: 4 -9: -64 0: 5 11: 8 7: 9 4: 9 3: -64 0: 4 10: 6 8: 8 5: 9 2: 9 -1: 8 -4: 7 -6: -64 0: 5 -7: 3 -4: 1 -3: -64 0: -1 -3: -3 -4: -5 -6: -64 0: 5 -8: 3 -5: 1 -4: -2 -4: -64 0: 4 -9: 2 -6: 1 -5: -64 0: -1 -5: -3 -5: -5 -6:-64 -64 3317: -14 14: -2 12: -4 11: -6 9: -7 7: -7 5: -5 1: -5 -1: -64 0: -6 6: -6 5: -5 3: -5 2: -64 0: -6 9: -6 7: -4 3: -4 1: -5 -1: -6 -2: -8 -2: -9 -1: -9 0: -64 0: -2 12: -1 11: 5 9: 8 7: 9 5: 10 2: 10 -1: 9 -4: 8 -6: -64 0: 6 -8: 3 -9: 0 -9: -3 -8: -9 -5: -10 -5: -11 -6: -64 0: -2 11: -1 10: 5 8: 7 7: 8 6: -64 0: -2 12: -2 10: -1 9: 5 7: 7 6: 9 4: 10 2: -64 0: 1 -8: -1 -8: -7 -5: -8 -5: -64 0: 6 -8: 2 -8: -1 -7: -5 -5: -8 -4: -10 -4: -11 -6: -11 -8: -10 -9: -9 -8: -10 -7: -64 0: 2 -6: 4 -4: 6 -4: 10 -8: 11 -8: -64 0: 5 -5: 6 -5: 9 -8: -64 0: 3 -5: 4 -5: 8 -9: 10 -9: 12 -7:-64 -64 3318: -14 14: -11 1: -11 0: -10 -1: -8 -1: -6 0: -6 3: -7 5: -9 8: -9 10: -7 12: -64 0: -7 3: -9 7: -64 0: -8 -1: -7 0: -7 2: -9 5: -10 7: -10 9: -9 11: -7 12: -4 12: -2 11: -1 10: 0 8: 0 -4: -1 -6: -3 -8: -5 -9: -7 -9: -9 -8: -64 0: -2 10: -1 8: -1 -4: -2 -6: -64 0: -4 12: -3 11: -2 8: -2 -4: -3 -7: -5 -9: -64 0: -11 -4: -9 -8: -64 0: -12 -7: -8 -5: -64 0: -11 -4: -11 -6: -12 -7: -10 -7: -9 -8: -9 -6: -8 -5: -10 -5: -11 -4: -64 0: 0 9: 1 11: 3 12: 5 12: 7 11: 8 10: 9 8: 10 7: -64 0: 7 10: 8 8: -64 0: 5 12: 6 11: 7 8: 8 7: 10 7: -64 0: 10 7: 0 2: -64 0: 2 3: 6 -7: 8 -9: 11 -6: -64 0: 3 3: 7 -6: 9 -8: -64 0: 4 4: 8 -6: 9 -7: 10 -7:-64 -64 3319: -13 14: 10 10: 9 11: 10 12: 11 11: 11 9: 10 7: 8 7: 4 9: 1 10: -3 10: -7 9: -9 7: -64 0: 7 8: 4 10: 1 11: -3 11: -6 10: -64 0: 11 9: 10 8: 8 8: 4 11: 1 12: -3 12: -6 11: -8 9: -9 7: -10 4: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 3 -9: 6 -8: 8 -7: 10 -5: 11 -2: 11 1: 10 3: 8 4: 5 4: 3 3: 1 0: -1 -1: -3 -1: -64 0: -6 -6: -4 -7: -1 -8: 3 -8: 7 -7: -64 0: -9 -3: -7 -5: -5 -6: -2 -7: 3 -7: 7 -6: 9 -5: 10 -4: 11 -2: -64 0: 6 3: 5 3: 1 -1: 0 -1: -64 0: 11 1: 9 3: 7 3: 5 2: 3 -1: 1 -2: -1 -2: -3 -1: -4 1: -4 3: -3 5: -1 6:-64 -64 3320: -12 13: -6 4: -8 5: -9 7: -9 9: -8 11: -5 12: 0 12: 3 11: 7 8: 9 8: 10 9: -64 0: -8 10: -6 11: 0 11: 3 10: 6 8: -64 0: -9 7: -8 9: -6 10: 0 10: 3 9: 7 7: 9 7: 10 9: 10 11: 9 12: 8 11: 9 10: -64 0: 3 9: 0 6: -1 4: -1 2: 1 -2: 1 -4: -64 0: 0 3: 0 2: 1 0: 1 -1: -64 0: 0 6: 0 4: 2 0: 2 -2: 1 -4: 0 -5: -2 -5: -3 -4: -3 -2: -64 0: -8 -7: -7 -8: -8 -9: -9 -8: -9 -6: -8 -4: -6 -4: -3 -5: 1 -7: 4 -8: 7 -8: 9 -7: -64 0: -6 -5: -5 -5: 1 -8: 3 -8: -64 0: -9 -6: -8 -5: -7 -5: -5 -6: -1 -8: 2 -9: 5 -9: 8 -8: 10 -6:-64 -64 3321: -11 11: -8 10: -7 10: -6 9: -6 -5: -8 -6: -64 0: -7 11: -5 10: -5 -6: -2 -8: -64 0: -9 9: -6 12: -4 10: -4 -5: -2 -7: 0 -7: -64 0: -8 -6: -7 -6: -5 -7: -3 -9: 0 -7: 4 -4: -64 0: 2 10: 3 10: 4 9: 4 -7: 6 -9: 9 -6: -64 0: 3 11: 5 10: 5 -7: 7 -8: -64 0: 1 9: 4 12: 7 10: 6 9: 6 -6: 7 -7: 8 -7:-64 -64 3322: -14 14: -11 1: -11 0: -10 -1: -8 -1: -6 0: -6 3: -7 5: -9 8: -9 10: -7 12: -64 0: -7 3: -9 7: -64 0: -8 -1: -7 0: -7 2: -9 5: -10 7: -10 9: -9 11: -7 12: -4 12: -2 11: -1 10: 0 8: 0 0: -1 -3: -3 -5: -64 0: -2 10: -1 8: -1 -2: -64 0: -4 12: -3 11: -2 8: -2 -3: -3 -5: -64 0: 0 9: 1 11: 3 12: 5 12: 7 11: 9 8: 10 7: -64 0: 7 10: 8 8: -64 0: 5 12: 6 11: 7 8: 8 7: 10 7: -64 0: 8 7: 6 7: 5 6: 5 4: 6 2: 9 0: 10 -2: -64 0: 6 3: 9 1: -64 0: 5 5: 6 4: 9 2: 10 0: 10 -4: 9 -6: 7 -8: 5 -9: 1 -9: -2 -8: -8 -5: -9 -5: -10 -6: -64 0: 2 -8: 0 -8: -6 -5: -7 -5: -64 0: 8 -7: 6 -8: 3 -8: 0 -7: -4 -5: -7 -4: -9 -4: -10 -6: -10 -8: -9 -9: -8 -8: -9 -7:-64 -64 3323: -16 17: -13 1: -13 0: -12 -1: -10 -1: -8 0: -8 3: -9 5: -11 8: -11 10: -9 12: -64 0: -9 3: -11 7: -64 0: -10 -1: -9 0: -9 2: -11 5: -12 7: -12 9: -11 11: -9 12: -6 12: -4 11: -3 10: -2 8: -2 4: -3 1: -5 -2: -7 -4: -64 0: -4 10: -3 8: -3 3: -4 0: -64 0: -6 12: -5 11: -4 8: -4 3: -5 -1: -7 -4: -64 0: -4 11: -2 12: 1 12: 3 11: -64 0: 5 12: 2 11: 1 9: 1 5: 2 2: 4 -1: 5 -3: 5 -5: 4 -7: -64 0: 2 5: 2 4: 5 -1: 5 -2: -64 0: 5 12: 3 11: 2 9: 2 6: 3 4: 5 1: 6 -2: 6 -4: 5 -6: 3 -8: 1 -9: -3 -9: -5 -8: -7 -6: -9 -5: -11 -5: -12 -6: -64 0: -4 -8: -7 -5: -8 -5: -64 0: -1 -9: -3 -8: -6 -5: -8 -4: -11 -4: -12 -6: -12 -8: -11 -9: -10 -8: -11 -7: -64 0: 5 12: 8 12: 10 11: 12 8: 13 7: -64 0: 10 10: 11 8: -64 0: 8 12: 9 11: 10 8: 11 7: 13 7: -64 0: 11 7: 9 7: 8 6: 8 4: 9 2: 12 0: 13 -2: -64 0: 9 3: 12 1: -64 0: 8 5: 9 4: 12 2: 13 0: 13 -5: 12 -7: 11 -8: 9 -9: 6 -9: 3 -8: -64 0: 7 -8: 6 -8: 4 -7: -64 0: 12 -7: 10 -8: 8 -8: 6 -7: 5 -6:-64 -64 3324: -12 12: -7 10: -5 10: -3 9: -2 8: -1 5: -1 3: -64 0: -1 1: -1 -3: -2 -6: -5 -9: -7 -8: -9 -9: -64 0: -4 -8: -6 -7: -7 -7: -64 0: -3 -7: -4 -7: -6 -6: -9 -9: -64 0: -5 11: -2 10: -1 9: 0 6: 0 -3: 1 -5: 3 -7: 5 -8: -64 0: -9 9: -4 12: -2 11: 0 9: 1 6: 1 3: -64 0: 1 1: 1 -2: 2 -5: 3 -6: 5 -7: 7 -7: -64 0: -1 -3: 0 -6: 2 -8: 4 -9: 9 -6: -64 0: 1 6: 2 9: 5 12: 7 11: 9 12: -64 0: 4 11: 6 10: 7 10: -64 0: 3 10: 4 10: 6 9: 9 12: -64 0: -7 -1: -5 3: -1 3: -64 0: 1 3: 5 3: 7 5: -64 0: -5 2: 5 2: -64 0: -7 -1: -5 1: -1 1: -64 0: 1 1: 5 1: 7 5:-64 -64 3325: -13 13: -10 1: -10 0: -9 -1: -7 -1: -5 0: -5 3: -6 5: -8 8: -8 10: -6 12: -64 0: -6 3: -8 7: -64 0: -7 -1: -6 0: -6 2: -8 5: -9 7: -9 9: -8 11: -6 12: -3 12: -1 11: 0 10: 1 8: 1 3: 0 0: -1 -2: -1 -3: 1 -5: 2 -5: -64 0: -1 10: 0 8: 0 2: -1 -1: -2 -3: 1 -6: -64 0: -3 12: -2 11: -1 8: -1 2: -2 -2: -3 -4: 0 -7: 3 -4: -64 0: 1 8: 9 12: -64 0: 7 11: 7 -8: 6 -11: -64 0: 8 11: 8 -6: 7 -9: -64 0: 9 12: 9 -4: 8 -8: 7 -10: 5 -12: 2 -13: -2 -13: -5 -12: -7 -10: -8 -8: -7 -7: -6 -8: -7 -9:-64 -64 3326: -12 12: -4 9: -3 11: -1 12: 2 12: 4 11: 5 10: 6 8: 6 5: 5 3: 4 2: 2 1: -64 0: -1 1: -3 2: -4 4: -64 0: 4 10: 5 9: 5 4: 4 3: -64 0: 2 12: 3 11: 4 9: 4 4: 3 2: 2 1: -64 0: -5 -3: -4 -1: -3 0: -1 1: 2 1: 5 0: 7 -2: 8 -4: 8 -8: 7 -10: 5 -12: 2 -13: -2 -13: -4 -12: -7 -8: -8 -7: -64 0: 6 -2: 7 -4: 7 -8: 6 -10: -64 0: 2 1: 5 -1: 6 -3: 6 -9: 5 -11: 4 -12: 2 -13: -64 0: -3 -12: -4 -11: -6 -8: -7 -7: -64 0: 0 -13: -2 -12: -3 -11: -5 -8: -6 -7: -9 -7: -10 -8: -10 -10: -9 -11: -8 -11:-64 -64 3401: -8 9: 2 5: -1 4: -3 3: -4 2: -5 -1: -5 -4: -4 -7: -3 -9: 3 -6: -64 0: -4 -4: -3 -7: -2 -8: -64 0: -1 4: -3 2: -4 -1: -4 -3: -3 -6: -1 -8: -64 0: 0 4: 1 3: 3 2: 3 -7: 5 -9: 8 -6: -64 0: 1 4: 4 2: 4 -6: 6 -8: -64 0: 2 5: 3 4: 5 3: 6 3: -64 0: 5 2: 6 3: -64 0: 5 2: 5 -6: 6 -7: 7 -7:-64 -64 3402: -8 9: -6 10: -5 9: -4 7: -64 0: 2 12: -1 11: -3 9: -4 7: -4 -6: -5 -7: -64 0: -2 9: -3 7: -3 -6: 0 -8: -64 0: 2 12: 0 11: -1 10: -2 7: -2 -6: 0 -7: 1 -8: -64 0: -5 -7: -4 -7: -2 -8: -1 -9: 2 -8: -64 0: -2 2: 4 5: 5 3: 6 0: 6 -3: 5 -6: 4 -7: 2 -8: -64 0: 3 4: 4 3: 5 1: -64 0: 2 4: 4 2: 5 -1: 5 -3: 4 -6: 2 -8:-64 -64 3403: -7 6: 0 4: 2 2: 4 3: 2 5: 0 4: -3 2: -4 0: -4 -5: -3 -7: -1 -9: 3 -7: -64 0: 1 4: 3 3: -64 0: -2 2: -3 0: -3 -5: -2 -7: -1 -8: -64 0: -1 3: -2 1: -2 -4: -1 -6: 1 -8:-64 -64 3404: -8 9: -1 12: -4 9: -4 7: -3 6: 1 4: 4 2: 5 0: 5 -3: 4 -6: 2 -8: -64 0: -3 8: -3 7: 1 5: 4 3: 5 2: -64 0: -3 10: -3 9: -2 8: 3 5: 5 3: 6 0: 6 -3: 5 -6: 2 -8: -1 -9: -64 0: 0 4: -4 2: -4 -6: -5 -7: -64 0: -3 2: -3 -6: 0 -8: -64 0: -2 3: -2 -6: 0 -7: 1 -8: -64 0: -5 -7: -4 -7: -2 -8: -1 -9:-64 -64 3405: -7 6: -2 -3: 4 1: 1 5: -3 2: -4 0: -4 -5: -3 -7: -1 -9: 3 -7: -64 0: 3 1: 0 4: -64 0: -2 2: -3 0: -3 -5: -2 -7: -1 -8: -64 0: 2 0: 0 3: -1 3: -2 1: -2 -4: -1 -6: 1 -8:-64 -64 3406: -6 7: 6 12: 5 11: 3 11: 1 12: -1 12: -2 10: -2 5: -3 3: -4 2: -64 0: 4 10: 2 10: 0 11: -1 11: -64 0: 6 12: 5 10: 4 9: 2 9: 0 10: -1 10: -2 9: -64 0: -2 7: -1 5: 0 4: 2 3: 4 3: 4 2: -64 0: -4 2: -2 2: -64 0: 0 2: 4 2: -64 0: -2 2: -2 -2: -1 -14: -64 0: 1 3: -2 3: -1 4: -1 -9: -64 0: 0 2: 0 -2: -1 -14:-64 -64 3407: -8 9: 2 5: -1 4: -3 3: -4 2: -5 -1: -5 -4: -4 -7: -3 -9: 3 -6: -64 0: -4 -5: -3 -7: -2 -8: -64 0: -1 4: -3 2: -4 -1: -4 -3: -3 -6: -1 -8: -64 0: 0 4: 1 3: 3 2: 3 -6: 4 -9: 4 -11: 3 -13: -64 0: 1 4: 4 2: 4 -8: -64 0: 2 5: 3 4: 5 3: 6 3: -64 0: 5 2: 6 3: -64 0: 5 2: 5 -10: 4 -12: 3 -13: 1 -14: -2 -14: -4 -13: -5 -12: -5 -11: -4 -11: -4 -12:-64 -64 3408: -8 9: -6 10: -5 9: -4 7: -64 0: 2 12: -1 11: -3 9: -4 7: -4 -6: -5 -7: -64 0: -2 9: -3 7: -3 -7: -2 -8: -64 0: 2 12: 0 11: -1 10: -2 7: -2 -6: -1 -7: 0 -7: -64 0: -5 -7: -3 -8: -2 -9: 1 -6: -64 0: -2 2: 4 5: 5 3: 6 -1: 6 -5: 5 -8: 4 -10: 2 -12: -1 -14: -64 0: 3 4: 4 3: 5 0: -64 0: 2 4: 4 1: 5 -2: 5 -5: 4 -9: 2 -12:-64 -64 3409: -5 5: 0 12: -1 11: -1 10: 0 9: 1 10: 1 11: 0 12: -64 0: -1 11: 1 10: -64 0: -1 10: 1 11: -64 0: -3 3: -2 3: -1 2: -1 -7: 1 -9: 4 -6: -64 0: -2 4: 0 3: 0 -6: 2 -8: -64 0: -4 2: -1 5: 0 4: 2 3: -64 0: 1 2: 2 3: -64 0: 1 2: 1 -6: 2 -7: 3 -7:-64 -64 3410: -5 5: 0 12: -1 11: -1 10: 0 9: 1 10: 1 11: 0 12: -64 0: -1 11: 1 10: -64 0: -1 10: 1 11: -64 0: -3 3: -2 3: -1 2: -1 -9: -2 -12: -3 -13: -5 -14: -64 0: -2 4: 0 3: 0 -9: -1 -11: -64 0: -4 2: -1 5: 0 4: 2 3: -64 0: 1 2: 2 3: -64 0: 1 2: 1 -9: 0 -11: -2 -13: -5 -14: -64 0: 1 -9: 2 -11: 3 -12:-64 -64 3411: -7 7: -4 10: -3 9: -2 7: -64 0: 3 12: 1 11: -1 9: -2 7: -2 5: -3 3: -4 2: -64 0: -2 2: -2 -6: -3 -7: -64 0: 0 9: -1 7: -1 5: -64 0: -1 3: -2 3: -1 5: -1 -6: 1 -8: -64 0: 3 12: 1 10: 0 7: 0 3: -64 0: 0 2: 0 -6: 1 -7: 2 -7: -64 0: -3 -7: -1 -8: 0 -9: 3 -6: -64 0: 0 6: 4 9: 5 8: 5 6: 3 4: 1 3: -64 0: 3 8: 4 7: 4 6: 3 4: -64 0: 0 3: 5 3: 5 2: -64 0: -4 2: -2 2: -64 0: 0 2: 5 2:-64 -64 3412: -5 5: -3 10: -2 9: -1 7: -64 0: 5 12: 2 11: 0 9: -1 7: -1 -6: -2 -7: -64 0: 1 9: 0 7: 0 -7: 2 -8: -64 0: 5 12: 3 11: 2 10: 1 7: 1 -6: 2 -7: 3 -7: -64 0: -2 -7: 0 -8: 1 -9: 4 -6:-64 -64 3413: -13 13: -11 3: -10 3: -9 2: -9 -6: -10 -7: -8 -9: -64 0: -10 4: -8 2: -8 -6: -9 -7: -8 -8: -7 -7: -8 -6: -64 0: -12 2: -9 5: -7 3: -7 -6: -6 -7: -8 -9: -64 0: -4 4: -2 3: -1 1: -1 -6: -2 -7: 0 -9: -64 0: -2 4: -1 3: 0 1: 0 -6: -1 -7: 0 -8: 1 -7: 0 -6: -64 0: -7 2: -4 4: -2 5: 0 4: 1 2: 1 -6: 2 -7: 0 -9: -64 0: 4 4: 5 3: 7 2: 7 -7: 9 -9: 12 -6: -64 0: 5 4: 8 2: 8 -6: 10 -8: -64 0: 1 2: 4 4: 6 5: 7 4: 9 3: 10 3: -64 0: 9 2: 10 3: -64 0: 9 2: 9 -6: 10 -7: 11 -7:-64 -64 3414: -9 9: -7 3: -6 3: -5 2: -5 -6: -6 -7: -4 -9: -64 0: -6 4: -4 2: -4 -6: -5 -7: -4 -8: -3 -7: -4 -6: -64 0: -8 2: -5 5: -3 3: -3 -6: -2 -7: -4 -9: -64 0: 0 4: 1 3: 3 2: 3 -7: 5 -9: 8 -6: -64 0: 1 4: 4 2: 4 -6: 6 -8: -64 0: -3 2: 0 4: 2 5: 3 4: 5 3: 6 3: -64 0: 5 2: 6 3: -64 0: 5 2: 5 -6: 6 -7: 7 -7:-64 -64 3415: -8 9: -4 2: -4 -6: -5 -7: -64 0: -3 2: -3 -6: 0 -8: -64 0: -1 3: -2 2: -2 -6: 0 -7: 1 -8: -64 0: -5 -7: -4 -7: -2 -8: -1 -9: 2 -8: -64 0: -4 2: -1 3: 4 5: 5 3: 6 0: 6 -3: 5 -6: 4 -7: 2 -8: -64 0: 3 4: 4 3: 5 1: -64 0: 2 4: 4 2: 5 -1: 5 -3: 4 -6: 2 -8:-64 -64 3416: -8 9: -3 8: -5 6: -5 4: -4 1: -4 -6: -6 -8: -64 0: -4 -7: -3 -14: -64 0: -4 5: -4 4: -3 1: -3 -9: -64 0: -4 7: -4 6: -3 4: -2 1: -2 -6: -1 -6: 1 -7: 2 -8: -64 0: -2 -7: -3 -14: -64 0: 1 -8: -1 -7: -64 0: 2 -8: 0 -9: -2 -7: -64 0: -4 -7: -6 -8: -64 0: -2 2: 4 5: 5 3: 6 0: 6 -3: 5 -6: 4 -7: 2 -8: -64 0: 3 4: 4 3: 5 1: -64 0: 2 4: 4 2: 5 -1: 5 -3: 4 -6: 2 -8:-64 -64 3417: -8 9: 2 5: -1 4: -3 3: -4 2: -5 -1: -5 -4: -4 -7: -3 -9: 3 -6: -64 0: -4 -5: -3 -7: -2 -8: -64 0: -1 4: -3 2: -4 -1: -4 -3: -3 -6: -1 -8: -64 0: 0 4: 1 3: 3 2: 3 -6: 4 -14: -64 0: 1 4: 4 2: 4 -9: -64 0: 2 5: 3 4: 5 3: 6 3: -64 0: 5 2: 6 3: -64 0: 5 2: 5 -6: 4 -14:-64 -64 3418: -7 7: -4 3: -3 3: -2 2: -2 -6: -3 -7: -64 0: -3 4: -1 2: -1 -7: 1 -8: -64 0: -5 2: -2 5: 0 3: 0 -6: 1 -7: 2 -7: -64 0: -3 -7: -1 -8: 0 -9: 3 -6: -64 0: 2 4: 3 2: 5 3: 4 5: 0 3: -64 0: 3 4: 4 3:-64 -64 3419: -6 5: 6 12: 5 11: 3 11: 1 12: -1 12: -2 10: -2 5: -3 3: -4 2: -64 0: 4 10: 2 10: 0 11: -1 11: -64 0: 6 12: 5 10: 4 9: 2 9: 0 10: -1 10: -2 9: -64 0: -2 7: 0 2: -64 0: -2 2: -2 -2: -1 -14: -64 0: -1 3: -2 3: -1 4: -1 -9: -64 0: 0 2: 0 -2: -1 -14: -64 0: -4 2: -2 2:-64 -64 3420: -6 6: 1 9: 0 6: -1 4: -2 3: -4 2: -64 0: 1 9: 1 3: 4 3: 4 2: -64 0: -4 2: -1 2: -64 0: 1 2: 4 2: -64 0: -1 2: -1 -6: -2 -7: -64 0: 0 3: -1 3: 0 5: 0 -6: 2 -8: -64 0: 1 2: 1 -6: 2 -7: 3 -7: -64 0: -2 -7: 0 -8: 1 -9: 4 -6:-64 -64 3421: -9 9: -7 3: -6 3: -5 2: -5 -6: -6 -7: -64 0: -6 4: -4 2: -4 -6: -2 -8: -64 0: -8 2: -5 5: -3 3: -3 -6: -1 -7: 0 -8: -64 0: -6 -7: -5 -7: -3 -8: -2 -9: 0 -8: 3 -6: -64 0: 4 5: 2 3: 3 2: 3 -7: 5 -9: 8 -6: -64 0: 4 2: 5 3: 4 4: 3 3: 4 2: 4 -6: 6 -8: -64 0: 4 5: 6 3: 5 2: 5 -6: 6 -7: 7 -7:-64 -64 3422: -8 9: -3 7: -5 5: -5 3: -4 0: -4 -6: -5 -7: -64 0: -4 4: -4 3: -3 0: -3 -6: 0 -8: -64 0: -4 6: -4 5: -3 3: -2 0: -2 -6: 0 -7: 1 -8: -64 0: -5 -7: -4 -7: -2 -8: -1 -9: 2 -8: -64 0: -2 2: 4 5: 5 3: 6 0: 6 -3: 5 -6: 4 -7: 2 -8: -64 0: 3 4: 4 3: 5 1: -64 0: 2 4: 4 2: 5 -1: 5 -3: 4 -6: 2 -8:-64 -64 3423: -12 13: -7 7: -9 5: -9 3: -8 0: -8 -6: -9 -7: -7 -9: -64 0: -8 4: -8 3: -7 0: -7 -6: -8 -7: -7 -8: -6 -7: -7 -6: -64 0: -8 6: -8 5: -7 3: -6 0: -6 -6: -5 -7: -7 -9: -64 0: -3 4: -1 3: 0 1: 0 -6: -1 -7: -64 0: -1 4: 0 3: 1 1: 1 -6: 4 -8: -64 0: -6 2: -3 4: -1 5: 1 4: 2 2: 2 -6: 4 -7: 5 -8: -64 0: -1 -7: 0 -7: 2 -8: 3 -9: 6 -8: -64 0: 2 2: 8 5: 9 3: 10 0: 10 -2: 9 -6: 8 -7: 6 -8: -64 0: 7 4: 8 3: 9 1: -64 0: 6 4: 8 2: 9 -1: 9 -3: 8 -6: 6 -8:-64 -64 3424: -7 8: -3 3: -2 3: -1 2: -1 -6: -2 -6: -4 -7: -5 -9: -5 -11: -4 -13: -2 -14: 1 -14: 4 -13: 4 -12: 3 -12: 3 -13: -64 0: -2 4: 0 2: 0 -6: 3 -8: -64 0: -4 2: -1 5: 1 3: 1 -6: 3 -7: 4 -8: -64 0: 6 -7: 2 -9: 1 -8: -1 -7: -3 -7: -5 -9: -64 0: 3 4: 4 2: 6 3: 5 5: 1 3: -64 0: 4 4: 5 3:-64 -64 3425: -8 9: -3 7: -5 5: -5 3: -4 0: -4 -6: -5 -7: -64 0: -4 4: -4 3: -3 0: -3 -7: -1 -8: -64 0: -4 6: -4 5: -3 3: -2 0: -2 -6: -1 -7: 0 -7: -64 0: -5 -7: -3 -8: -2 -9: 1 -6: -64 0: -2 2: 4 5: 5 3: 6 -1: 6 -5: 5 -8: 4 -10: 2 -12: -1 -14: -64 0: 3 4: 4 3: 5 0: -64 0: 2 4: 4 1: 5 -2: 5 -5: 4 -9: 2 -12:-64 -64 3426: -7 7: -4 2: 1 5: 3 4: 4 2: 4 0: 3 -2: -1 -4: -64 0: 1 4: 3 3: -64 0: 0 4: 2 3: 3 1: 3 0: 2 -2: 1 -3: -64 0: 1 -3: 3 -5: 4 -7: 4 -11: 3 -13: 1 -14: -1 -14: -3 -13: -4 -11: -4 -9: -3 -7: -1 -6: 5 -4: -64 0: 0 -4: 2 -5: 3 -7: -64 0: -1 -4: 2 -6: 3 -8: 3 -11: 2 -13: 1 -14:-64 -64 3427: -8 8: 0 5: -2 4: -5 2: -5 0: -4 -3: -64 0: -4 2: -4 0: -3 -2: -64 0: -2 4: -3 3: -3 0: -2 -2: -64 0: -2 4: 0 3: 2 3: 4 4: 5 5: 5 7: 4 8: 2 8: -64 0: -1 4: 1 4: -64 0: 0 5: 2 4: 4 4: -64 0: -4 -3: 4 0: 5 -3: 5 -5: 4 -7: 0 -9: -64 0: 3 -1: 4 -3: 4 -6: 3 -7: -64 0: 2 -1: 3 -3: 3 -6: 2 -8: -64 0: 2 -8: 0 -7: -3 -7: -6 -9: -64 0: 1 -8: -1 -8: -64 0: 0 -9: -2 -8: -4 -8: -6 -9:-64 -64 3428: -8 9: 4 12: 3 11: 1 11: -1 12: -3 12: -4 10: -4 5: -5 3: -6 2: -64 0: 2 10: 0 10: -2 11: -3 11: -64 0: 4 12: 3 10: 2 9: 0 9: -2 10: -3 10: -4 9: -64 0: -4 7: -2 2: -64 0: -4 2: -4 -2: -3 -14: -64 0: -3 3: -4 3: -3 4: -3 -9: -64 0: -2 2: -2 -2: -3 -14: -64 0: -6 2: -4 2: -64 0: -2 2: 3 5: 5 4: 6 2: 6 0: 5 -2: 1 -4: -64 0: 3 4: 5 3: -64 0: 2 4: 4 3: 5 1: 5 0: 4 -2: 3 -3: -64 0: 3 -3: 5 -4: 6 -6: 6 -9: 5 -11: 3 -13: 0 -14: -64 0: 3 -4: 5 -5: -64 0: 1 -4: 2 -4: 4 -5: 5 -7: 5 -10: 4 -12:-64 -64 3429: -8 9: -2 9: -3 6: -4 4: -5 3: -7 2: -64 0: -2 9: -2 -6: -1 -7: -3 -9: -64 0: -3 3: -4 3: -3 4: -3 -6: -4 -7: -3 -8: -2 -7: -3 -6: -64 0: -7 2: -4 2: -4 -6: -5 -7: -3 -9: -64 0: -2 2: 3 5: 5 4: 6 2: 6 0: 5 -2: 1 -4: -64 0: 3 4: 5 3: -64 0: 2 4: 4 3: 5 1: 5 0: 4 -2: 3 -3: -64 0: 3 -3: 5 -4: 6 -6: 6 -9: 5 -11: 3 -13: 0 -14: -64 0: 3 -4: 5 -5: -64 0: 1 -4: 2 -4: 4 -5: 5 -7: 5 -10: 4 -12:-64 -64 3501: -11 11: -6 9: -4 11: -2 12: 0 12: 1 11: 8 -5: 9 -6: 11 -6: -64 0: -1 11: 0 10: 7 -6: 8 -8: 9 -7: 7 -6: -64 0: -4 11: -2 11: -1 10: 6 -6: 7 -8: 8 -9: 9 -9: 11 -6: -64 0: -6 5: -5 6: -3 7: -2 7: -1 6: -64 0: -2 6: -2 5: -64 0: -5 6: -3 6: -2 4: -64 0: -11 -9: -9 -7: -7 -6: -4 -6: -2 -7: -64 0: -8 -7: -4 -7: -3 -8: -64 0: -11 -9: -8 -8: -5 -8: -4 -9: -2 -7: -64 0: 0 8: -6 -6: -64 0: -4 -1: 4 -1:-64 -64 3502: -12 12: -10 10: -8 12: -5 12: -3 11: -1 12: -64 0: -7 11: -4 11: -64 0: -10 10: -8 11: -6 10: -3 10: -1 12: -64 0: -5 7: -6 6: -7 4: -7 3: -9 3: -10 2: -10 0: -9 1: -7 1: -7 -5: -64 0: -6 5: -6 -3: -64 0: -9 2: -6 2: -64 0: -5 7: -5 -2: -6 -4: -7 -5: -64 0: 0 9: -1 8: -2 6: -2 -3: -64 0: -1 7: -1 -1: -64 0: 0 9: 0 0: -1 -2: -2 -3: -64 0: 0 9: 6 12: 8 11: 9 9: 9 7: 7 5: 3 3: -64 0: 6 11: 8 9: 8 7: -64 0: 4 11: 6 10: 7 9: 7 6: 5 4: -64 0: 5 4: 8 2: 9 0: 9 -6: -64 0: 7 2: 8 0: 8 -5: -64 0: 5 4: 6 3: 7 1: 7 -6: -64 0: -8 -9: -5 -7: -2 -6: 2 -6: 5 -7: -64 0: -6 -8: -3 -7: 2 -7: 4 -8: -64 0: -8 -9: -4 -8: 1 -8: 3 -9: 5 -7: 7 -6: 9 -6: -64 0: 3 3: 3 -6: -64 0: 3 0: 7 0: -64 0: 3 -3: 7 -3:-64 -64 3503: -13 11: -4 11: -6 10: -8 8: -9 6: -10 3: -10 -1: -9 -4: -8 -6: -5 -8: -2 -9: 1 -9: 4 -8: 6 -7: 8 -5: 9 -3: -64 0: -8 7: -9 4: -9 -1: -7 -5: -4 -7: -1 -8: 2 -8: 5 -7: -64 0: -4 11: -6 9: -7 7: -8 4: -8 0: -7 -3: -4 -6: -1 -7: 2 -7: 5 -6: 7 -5: 9 -3: -64 0: -2 8: -2 -4: -64 0: -1 8: -1 -2: -64 0: 0 9: 0 -1: -1 -3: -2 -4: -64 0: -2 8: 0 9: 3 12: 5 11: 7 11: 8 12: -64 0: 2 11: 4 10: 6 10: -64 0: 1 10: 3 9: 5 9: 7 10: 8 12: -64 0: 5 9: 5 -6:-64 -64 3504: -11 12: -9 12: 5 12: 7 11: 8 9: 8 -6: -64 0: -7 11: 5 11: 7 9: 7 -5: -64 0: -9 12: -8 11: -6 10: 5 10: 6 9: 6 -6: -64 0: -3 7: -4 6: -5 4: -5 3: -7 3: -8 2: -8 0: -7 1: -5 1: -5 -4: -64 0: -4 5: -4 -2: -64 0: -7 2: -4 2: -64 0: -3 7: -3 -1: -4 -3: -5 -4: -64 0: -9 -9: -6 -7: -3 -6: 1 -6: 4 -7: -64 0: -7 -8: -4 -7: 1 -7: 3 -8: -64 0: -9 -9: -5 -8: 0 -8: 2 -9: 4 -7: 6 -6: 8 -6: -64 0: 0 10: 0 -6: -64 0: 0 5: 2 4: 4 4: 6 5: -64 0: 0 -1: 2 0: 4 0: 6 -1:-64 -64 3505: -11 11: -9 10: -7 12: -5 12: -3 11: -1 12: -64 0: -6 11: -4 11: -64 0: -9 10: -7 11: -5 10: -3 10: -1 12: -64 0: -4 7: -5 6: -6 4: -6 3: -8 3: -9 2: -9 0: -8 1: -6 1: -6 -5: -64 0: -5 5: -5 -3: -64 0: -8 2: -5 2: -64 0: -4 7: -4 -2: -5 -4: -6 -5: -64 0: -1 5: 0 8: 1 10: 2 11: 4 12: 6 12: 9 11: -64 0: 2 10: 4 11: 6 11: 8 10: -64 0: 0 8: 1 9: 3 10: 5 10: 7 9: 9 11: -64 0: -1 -3: 0 0: 1 2: 2 3: 4 3: 6 2: -64 0: 2 2: 4 2: 5 1: -64 0: 0 0: 1 1: 3 1: 4 0: 6 2: -64 0: -7 -9: -4 -7: 0 -6: 5 -6: 9 -7: -64 0: -5 -8: -2 -7: 5 -7: 8 -8: -64 0: -7 -9: -3 -8: 4 -8: 7 -9: 9 -7: -64 0: -1 5: -1 -6:-64 -64 3506: -12 11: -8 10: -6 12: -3 12: -1 11: 1 12: -64 0: -5 11: -2 11: -64 0: -8 10: -6 11: -4 10: -1 10: 1 12: -64 0: -2 7: -3 6: -4 4: -4 3: -6 3: -7 2: -7 0: -6 1: -4 1: -4 -4: -64 0: -3 5: -3 -2: -64 0: -6 2: -3 2: -64 0: -2 7: -2 -1: -3 -3: -4 -4: -64 0: 1 8: 1 -7: 0 -8: -1 -8: -5 -6: -7 -6: -9 -7: -11 -9: -64 0: 2 8: 2 -6: -64 0: 2 2: 6 2: -64 0: -2 -8: -3 -8: -5 -7: -8 -7: -64 0: 3 9: 3 3: 6 3: -64 0: 6 1: 3 1: 3 -5: 2 -7: -2 -9: -4 -9: -6 -8: -8 -8: -11 -9: -64 0: 1 8: 3 9: 6 12: 8 11: 10 11: 11 12: -64 0: 5 11: 7 10: 9 10: -64 0: 4 10: 6 9: 8 9: 10 10: 11 12: -64 0: 6 9: 6 -5:-64 -64 3507: -13 12: -4 11: -6 10: -8 8: -9 6: -10 3: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 3 -9: 6 -8: 8 -6: 9 -4: 9 -1: 8 1: 7 2: 5 3: 3 3: -64 0: -8 7: -9 4: -9 -1: -8 -4: -64 0: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -64 0: 7 -6: 8 -5: 8 -1: 7 1: -64 0: 3 -9: 5 -8: 6 -7: 7 -5: 7 -1: 6 1: 5 2: 3 3: -64 0: -2 8: -2 -5: -64 0: -1 8: -1 -3: -64 0: 0 9: 0 -2: -1 -4: -2 -5: -64 0: -2 8: 0 9: 3 12: 5 11: 7 11: 8 12: -64 0: 2 11: 4 10: 6 10: -64 0: 1 10: 3 9: 5 9: 7 10: 8 12: -64 0: 7 10: 3 3: 3 -9: -64 0: 3 -1: 7 -1: -64 0: 3 -4: 7 -4:-64 -64 3508: -12 12: -10 10: -8 12: -5 12: -3 11: -1 12: -64 0: -7 11: -4 11: -64 0: -10 10: -8 11: -6 10: -3 10: -1 12: -64 0: -5 7: -6 6: -7 4: -7 3: -9 3: -10 2: -10 0: -9 1: -7 1: -7 -5: -64 0: -6 5: -6 -3: -64 0: -9 2: -6 2: -64 0: -5 7: -5 -2: -6 -4: -7 -5: -64 0: -8 -9: -5 -7: -2 -6: 1 -6: 3 -7: -64 0: -6 -8: -3 -7: 0 -7: 2 -8: -64 0: -8 -9: -4 -8: -1 -8: 1 -9: 3 -7: -64 0: 0 9: -1 8: -2 6: -2 -3: -64 0: -1 7: -1 -1: -64 0: 0 9: 0 0: -1 -2: -2 -3: -64 0: 0 9: 2 11: 4 12: 6 12: 8 11: -64 0: 5 11: 6 11: 7 10: -64 0: 2 11: 4 11: 6 9: 8 11: -64 0: 3 3: 5 4: 7 6: 8 5: 9 2: 9 -2: 8 -6: 6 -9: -64 0: 6 5: 7 4: 8 2: 8 -3: 7 -6: -64 0: 5 4: 6 4: 7 2: 7 -3: 6 -9: -64 0: 3 3: 3 -7: -64 0: 3 0: 7 0: -64 0: 3 -3: 7 -3:-64 -64 3509: -9 10: -6 10: -4 12: -1 12: 2 11: 4 12: -64 0: -3 11: 1 11: -64 0: -6 10: -4 11: -1 10: 2 10: 4 12: -64 0: 1 7: 0 6: -1 4: -1 3: -3 3: -4 2: -4 0: -3 1: -1 1: -1 -4: -64 0: 0 5: 0 -2: -64 0: -3 2: 0 2: -64 0: 1 7: 1 -1: 0 -3: -1 -4: -64 0: 7 10: 5 8: 4 5: 4 -6: 3 -8: 1 -8: -3 -6: -5 -6: -7 -7: -9 -9: -64 0: 5 7: 5 -5: -64 0: 0 -8: -1 -8: -3 -7: -6 -7: -64 0: 7 10: 6 8: 6 -4: 5 -6: 3 -8: 1 -9: -2 -9: -4 -8: -7 -8: -9 -9:-64 -64 3510: -10 10: -6 10: -4 12: -1 12: 2 11: 4 12: -64 0: -3 11: 1 11: -64 0: -6 10: -4 11: -1 10: 2 10: 4 12: -64 0: 1 7: 0 6: -1 4: -1 3: -3 3: -4 2: -4 0: -3 1: -1 1: -1 -4: -64 0: 0 5: 0 -2: -64 0: -3 2: 0 2: -64 0: 1 7: 1 -1: 0 -3: -1 -4: -64 0: 7 10: 5 8: 4 5: 4 -6: 3 -8: -64 0: 5 7: 5 -5: -64 0: 7 10: 6 8: 6 -4: 5 -6: 3 -8: 0 -9: -3 -9: -6 -8: -8 -6: -8 -4: -7 -3: -6 -3: -5 -4: -6 -5: -7 -5: -64 0: -8 -4: -5 -4:-64 -64 3511: -12 12: -10 10: -8 12: -5 12: -3 11: -1 12: -64 0: -7 11: -4 11: -64 0: -10 10: -8 11: -6 10: -3 10: -1 12: -64 0: -5 7: -6 6: -7 4: -7 3: -9 3: -10 2: -10 0: -9 1: -7 1: -7 -5: -64 0: -6 5: -6 -3: -64 0: -9 2: -6 2: -64 0: -5 7: -5 -2: -6 -4: -7 -5: -64 0: -8 -9: -5 -7: -2 -6: 1 -6: 3 -7: -64 0: -6 -8: -4 -7: 0 -7: 2 -8: -64 0: -8 -9: -4 -8: -1 -8: 1 -9: 3 -7: -64 0: 0 9: -1 8: -2 6: -2 -3: -64 0: -1 7: -1 -1: -64 0: 0 9: 0 0: -1 -2: -2 -3: -64 0: 0 9: 2 11: 4 12: 6 12: 8 11: -64 0: 5 11: 6 11: 7 10: -64 0: 2 11: 4 11: 6 9: 8 11: -64 0: 3 3: 6 6: 7 5: 9 4: -64 0: 5 5: 7 4: 9 4: -64 0: 9 4: 7 1: 5 -1: 3 -3: -64 0: 5 -1: 7 -2: 8 -6: 9 -8: 10 -8: -64 0: 7 -4: 8 -8: -64 0: 5 -1: 6 -2: 7 -8: 8 -9: 9 -9: 10 -8: -64 0: 3 3: 3 -7:-64 -64 3512: -11 11: -9 10: -7 12: -4 12: -2 11: 0 12: -64 0: -6 11: -3 11: -64 0: -9 10: -7 11: -5 10: -2 10: 0 12: -64 0: -4 7: -5 6: -6 4: -6 3: -8 3: -9 2: -9 0: -8 1: -6 1: -6 -5: -64 0: -5 5: -5 -3: -64 0: -8 2: -5 2: -64 0: -4 7: -4 -2: -5 -4: -6 -5: -64 0: -7 -9: -4 -7: 0 -6: 5 -6: 9 -7: -64 0: -5 -8: -2 -7: 5 -7: 8 -8: -64 0: -7 -9: -3 -8: 4 -8: 7 -9: 9 -7: -64 0: 1 9: 0 8: -1 6: -1 -3: -64 0: 0 7: 0 -1: -64 0: 1 9: 1 0: 0 -2: -1 -3: -64 0: 1 9: 3 11: 5 12: 7 12: 9 11: -64 0: 6 11: 7 11: 8 10: -64 0: 3 11: 5 11: 7 9: 9 11: -64 0: 5 11: 5 -6:-64 -64 3513: -14 14: -6 8: -7 7: -8 5: -8 3: -10 3: -11 2: -11 0: -10 1: -8 1: -8 -3: -64 0: -7 6: -7 -1: -64 0: -10 2: -7 2: -64 0: -6 8: -6 0: -7 -2: -8 -3: -64 0: -13 -9: -11 -7: -9 -6: -7 -6: -5 -7: -4 -7: -3 -6: -64 0: -10 -7: -7 -7: -5 -8: -64 0: -13 -9: -11 -8: -8 -8: -6 -9: -5 -9: -4 -8: -3 -6: -64 0: -6 8: -2 12: 2 8: 2 -5: 3 -7: 4 -7: -64 0: -2 11: 1 8: 1 -6: 0 -7: 1 -8: 2 -7: 1 -6: -64 0: -2 2: 1 2: -64 0: -4 10: -3 10: 0 7: 0 3: -3 3: -64 0: -3 1: 0 1: 0 -6: -1 -7: 1 -9: 4 -7: 5 -6: -64 0: 2 8: 6 12: 10 8: 10 -5: 11 -7: 12 -7: -64 0: 6 11: 9 8: 9 -6: 11 -8: -64 0: 6 2: 9 2: -64 0: 4 10: 5 10: 8 7: 8 3: 5 3: -64 0: 5 1: 8 1: 8 -7: 10 -9: 12 -7: -64 0: -3 10: -3 -6: -64 0: 5 10: 5 -6:-64 -64 3514: -13 12: -11 9: -9 11: -7 12: -5 12: -3 11: -1 8: 4 -3: 6 -6: 7 -7: -64 0: -5 11: -3 9: -2 7: 4 -5: 7 -8: -64 0: -9 11: -7 11: -5 10: -3 7: 2 -4: 4 -7: 5 -8: 7 -9: -64 0: 4 10: 6 9: 8 9: 10 10: 11 12: -64 0: 5 11: 7 10: 9 10: -64 0: 4 10: 6 12: 8 11: 10 11: 11 12: -64 0: -7 3: -9 3: -10 2: -10 0: -9 1: -7 1: -64 0: -9 2: -7 2: -64 0: -11 -9: -9 -7: -7 -6: -4 -6: -2 -7: -64 0: -8 -7: -5 -7: -3 -8: -64 0: -11 -9: -8 -8: -5 -8: -4 -9: -2 -7: -64 0: -7 11: -7 -6: -64 0: 7 9: 7 -9: -64 0: 0 6: 1 5: 3 4: 5 4: 7 5: -64 0: -7 -2: -5 -1: -1 -1: 1 -2:-64 -64 3515: -13 13: -4 12: -6 11: -8 9: -9 7: -10 4: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 1 -9: 4 -8: 6 -7: 8 -5: 9 -3: 10 0: 10 4: 9 7: 8 9: 6 11: 4 12: 3 11: 0 9: -3 8: -64 0: -8 8: -9 5: -9 -1: -8 -4: -64 0: -4 12: -6 10: -7 8: -8 5: -8 -1: -7 -4: -6 -6: -4 -8: -64 0: 8 -4: 9 -1: 9 5: 7 9: 6 10: -64 0: 4 -8: 6 -6: 7 -4: 8 -1: 8 5: 7 7: 5 10: 3 11: -64 0: -3 8: -3 -5: -64 0: -2 8: -2 -3: -64 0: -1 8: -1 -2: -2 -4: -3 -5: -64 0: 3 11: 3 -8: -64 0: 3 5: 5 4: 6 4: 8 5: -64 0: 3 -1: 5 0: 6 0: 8 -1:-64 -64 3516: -10 12: -7 12: -6 11: -5 9: -5 3: -7 3: -8 2: -8 0: -7 1: -5 1: -5 -7: -8 -9: -5 -8: -5 -16: -3 -14: -64 0: -5 10: -4 8: -4 -14: -64 0: -7 2: -4 2: -64 0: -7 12: -5 11: -4 10: -3 8: -3 -14: -64 0: -3 7: 0 9: 4 12: 8 8: 8 -6: -64 0: 4 11: 7 8: 7 -6: -64 0: 2 10: 3 10: 6 7: 6 -7: -64 0: 0 -6: 3 -6: 6 -7: -64 0: 1 -7: 3 -7: 5 -8: -64 0: 0 -8: 2 -8: 4 -9: 6 -7: 8 -6: -64 0: 0 9: 0 -13: -64 0: 0 5: 2 4: 4 4: 6 5: -64 0: 0 -1: 2 0: 4 0: 6 -1:-64 -64 3517: -13 13: -4 12: -6 11: -8 9: -9 7: -10 4: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -2 -9: 2 -9: 4 -8: 6 -7: 8 -5: 9 -3: 10 0: 10 4: 9 7: 8 9: 6 11: 4 12: 3 11: 0 9: -3 8: -64 0: -8 8: -9 5: -9 -1: -8 -4: -64 0: -4 12: -6 10: -7 8: -8 5: -8 -1: -7 -4: -6 -6: -4 -8: -64 0: 8 -4: 9 -1: 9 5: 7 9: 6 10: -64 0: 4 -8: 6 -6: 7 -4: 8 -1: 8 5: 7 7: 5 10: 3 11: -64 0: -3 8: -3 -5: -64 0: -2 8: -2 -3: -64 0: -1 8: -1 -2: -2 -4: -3 -5: -64 0: 3 11: 3 -8: -64 0: 3 5: 5 4: 6 4: 8 5: -64 0: 3 -1: 5 0: 6 0: 8 -1: -64 0: -2 -9: -1 -8: 0 -8: 2 -9: 6 -14: 8 -15: 9 -15: -64 0: 2 -10: 4 -13: 6 -15: 7 -15: -64 0: 0 -8: 1 -9: 4 -15: 6 -16: 8 -16: 9 -15:-64 -64 3518: -12 12: -10 10: -8 12: -5 12: -3 11: -1 12: -64 0: -7 11: -4 11: -64 0: -10 10: -8 11: -6 10: -3 10: -1 12: -64 0: -5 7: -6 6: -7 4: -7 3: -9 3: -10 2: -10 0: -9 1: -7 1: -7 -5: -64 0: -6 5: -6 -3: -64 0: -9 2: -6 2: -64 0: -5 7: -5 -2: -6 -4: -7 -5: -64 0: -8 -9: -5 -7: -2 -6: 0 -6: 3 -7: -64 0: -6 -8: -4 -7: 0 -7: 2 -8: -64 0: -8 -9: -4 -8: -1 -8: 1 -9: 3 -7: -64 0: 0 9: -1 8: -2 6: -2 -3: -64 0: -1 7: -1 -1: -64 0: 0 9: 0 0: -1 -2: -2 -3: -64 0: 0 9: 3 11: 5 12: 7 11: 8 9: 8 6: 7 4: 6 3: 2 1: 0 0: -64 0: 5 11: 6 11: 7 9: 7 5: 6 4: -64 0: 3 11: 5 10: 6 8: 6 5: 5 3: 2 1: -64 0: 2 1: 4 0: 5 -1: 8 -6: 9 -7: 10 -7: -64 0: 5 -2: 7 -6: 9 -8: -64 0: 2 1: 4 -1: 6 -7: 8 -9: 10 -7:-64 -64 3519: -11 12: 3 9: 2 10: 0 11: -3 12: -64 0: 4 10: 2 11: -64 0: 5 11: 1 12: -3 12: -6 11: -7 10: -8 8: -7 6: -6 5: -3 4: 5 4: 7 3: 8 2: 8 0: 7 -3: -64 0: -7 7: -6 6: -3 5: 6 5: 8 4: 9 3: 9 1: 8 -1: -64 0: -7 10: -7 8: -6 7: -3 6: 7 6: 9 5: 10 3: 10 1: 7 -3: 3 -9: -64 0: -9 3: -8 2: -6 1: 3 1: 4 0: 4 -1: 3 -3: -64 0: -8 1: -6 0: 2 0: 3 -1: -64 0: -9 3: -9 2: -8 0: -6 -1: 1 -1: 3 -2: 3 -3: -64 0: -9 -9: -6 -7: -2 -6: 1 -6: 4 -7: -64 0: -7 -8: -4 -7: 0 -7: 3 -8: -64 0: -9 -9: -5 -8: 0 -8: 3 -9: -64 0: 5 11: 3 9: 1 6: -64 0: 0 4: -2 1: -64 0: -3 -1: -5 -3: -7 -4: -8 -4: -8 -3: -7 -4:-64 -64 3520: -13 11: -8 8: -9 6: -10 3: -10 -1: -9 -4: -7 -7: -5 -8: -2 -9: 1 -9: 4 -8: 6 -7: 8 -5: 9 -3: -64 0: -9 -1: -8 -4: -6 -6: -4 -7: -1 -8: 2 -8: 5 -7: -64 0: -8 8: -9 5: -9 1: -8 -2: -6 -5: -4 -6: -1 -7: 2 -7: 5 -6: 7 -5: 9 -3: -64 0: -10 9: -9 11: -7 12: -3 12: 3 11: 7 11: 9 12: -64 0: -2 11: 2 10: 6 10: -64 0: -10 9: -9 10: -7 11: -4 11: 2 9: 5 9: 7 10: 9 12: -64 0: 1 9: 0 8: -2 7: -2 -4: -64 0: -1 7: -1 -2: -64 0: 0 8: 0 -1: -1 -3: -2 -4: -64 0: 5 9: 5 -6:-64 -64 3521: -12 12: -10 10: -8 12: -6 12: -3 11: -1 12: -64 0: -7 11: -4 11: -64 0: -10 10: -8 11: -5 10: -3 10: -1 12: -64 0: -7 8: -8 6: -9 3: -9 -1: -8 -4: -7 -6: -5 -8: -2 -9: 1 -9: 4 -8: 6 -7: 8 -9: 10 -7: -64 0: -8 -1: -7 -4: -4 -7: -1 -8: 2 -8: -64 0: -7 8: -8 4: -8 1: -7 -2: -6 -4: -4 -6: -1 -7: 3 -7: 6 -6: -64 0: 3 9: -1 8: -2 6: -2 -4: -64 0: -1 7: -1 -2: -64 0: 0 8: 0 -1: -1 -3: -2 -4: -64 0: 3 9: 5 10: 7 12: 8 11: 10 10: 8 9: 8 -5: 9 -7: 10 -7: -64 0: 7 9: 8 10: 7 11: 6 10: 7 9: 7 -6: 9 -8: -64 0: 5 10: 6 9: 6 -6: -64 0: 3 9: 3 -7: -64 0: 3 4: 6 4: -64 0: 3 0: 6 0:-64 -64 3522: -11 12: -8 12: -7 11: -6 9: -6 3: -8 3: -9 2: -9 0: -8 1: -6 1: -6 -6: -8 -7: -64 0: -6 10: -5 8: -5 -6: -64 0: -8 2: -5 2: -64 0: -4 -7: -1 -7: 1 -8: -64 0: -8 12: -6 11: -5 10: -4 8: -4 -6: 0 -6: 3 -7: -64 0: -8 -7: -5 -7: -2 -8: 0 -9: 3 -7: 6 -6: 8 -6: -64 0: 0 8: 3 9: 5 10: 7 12: 8 11: 10 10: 8 9: 8 -6: -64 0: 7 9: 8 10: 7 11: 6 10: 7 9: 7 -5: -64 0: 5 10: 6 9: 6 -6: -64 0: 0 8: 0 -6: -64 0: 0 5: 2 4: 4 4: 6 5: -64 0: 0 -1: 2 0: 4 0: 6 -1:-64 -64 3523: -13 14: -10 12: -9 11: -8 9: -8 3: -10 3: -11 2: -11 0: -10 1: -8 1: -8 -6: -10 -7: -64 0: -8 10: -7 8: -7 -6: -64 0: -10 2: -7 2: -64 0: -6 -7: -4 -7: -2 -8: -64 0: -10 12: -8 11: -7 10: -6 8: -6 -6: -3 -6: -1 -7: -64 0: -10 -7: -7 -7: -4 -8: -3 -9: -1 -7: 2 -6: 4 -7: 5 -9: 7 -7: 10 -6: -64 0: -3 10: 0 12: 2 10: 2 -6: 5 -6: 7 -7: -64 0: 0 11: 1 10: 1 -6: -64 0: -3 10: -1 10: 0 9: 0 -6: -1 -7: -64 0: 5 -7: 6 -8: -64 0: 5 10: 8 12: 10 10: 10 -6: -64 0: 8 11: 9 10: 9 -6: -64 0: 5 10: 7 10: 8 9: 8 -6: 7 -7: -64 0: -3 10: -3 -6: -64 0: 5 10: 5 -6: -64 0: -3 4: 0 4: -64 0: -3 0: 0 0: -64 0: 5 4: 8 4: -64 0: 5 0: 8 0:-64 -64 3524: -11 11: -10 9: -8 11: -6 12: -4 12: -3 11: 5 -7: 6 -8: 8 -8: -64 0: -5 11: -4 10: 4 -7: 5 -8: -64 0: -8 11: -6 11: -5 10: 3 -8: 4 -9: 6 -9: 8 -8: 10 -6: -64 0: 5 12: 7 11: 9 11: 10 12: -64 0: 5 11: 6 10: 8 10: -64 0: 4 10: 5 9: 7 9: 9 10: 10 12: -64 0: -10 -9: -9 -7: -7 -6: -5 -6: -4 -7: -64 0: -8 -7: -6 -7: -5 -8: -64 0: -10 -9: -9 -8: -7 -8: -5 -9: -64 0: 5 12: 1 3: -64 0: -1 0: -5 -9: -64 0: -6 2: -2 2: -64 0: 1 2: 6 2:-64 -64 3525: -11 12: -8 12: -7 11: -6 9: -6 3: -8 3: -9 2: -9 0: -8 1: -6 1: -6 -6: -8 -7: -64 0: -6 10: -5 8: -5 -6: -64 0: -8 2: -5 2: -64 0: -4 -7: -1 -7: 1 -8: -64 0: -8 12: -6 11: -5 10: -4 8: -4 -6: 0 -6: 3 -7: -64 0: -8 -7: -5 -7: -2 -8: 0 -9: 3 -7: 6 -6: -64 0: 0 8: 3 9: 5 10: 7 12: 8 11: 10 10: 8 9: 8 -12: 7 -14: 5 -16: 3 -15: -1 -14: -6 -14: -64 0: 7 9: 8 10: 7 11: 6 10: 7 9: 7 -7: -64 0: 5 10: 6 9: 6 -6: 8 -9: -64 0: 6 -15: 4 -14: 1 -14: -64 0: 7 -14: 4 -13: -2 -13: -6 -14: -64 0: 0 8: 0 -6: -64 0: 0 5: 2 4: 4 4: 6 5: -64 0: 0 -1: 2 0: 4 0: 6 -1:-64 -64 3526: -10 10: 6 11: 5 9: 0 3: -3 -1: -5 -5: -8 -9: -64 0: 4 7: -4 -4: -64 0: 8 12: 5 8: 3 4: 0 0: -5 -6: -6 -8: -64 0: -8 10: -6 12: -3 11: 3 11: 8 12: -64 0: -7 11: -3 10: 1 10: 5 11: -64 0: -8 10: -4 9: 0 9: 4 10: 6 11: -64 0: -6 -8: -4 -7: 0 -6: 4 -6: 8 -7: -64 0: -5 -8: -1 -7: 3 -7: 7 -8: -64 0: -8 -9: -3 -8: 3 -8: 6 -9: 8 -7: -64 0: -5 2: -1 2: -64 0: 2 2: 6 2:-64 -64 3601: -8 9: -2 0: -4 -2: -5 -4: -5 -6: -4 -8: -2 -9: 0 -7: 3 -6: -64 0: -5 -4: -4 -6: -3 -7: -1 -8: -64 0: -4 -2: -4 -4: -3 -6: -1 -7: 0 -7: -64 0: -4 2: -2 2: 1 3: 3 4: 4 5: 6 3: 5 2: 5 -6: 6 -7: 7 -7: -64 0: -3 4: -4 3: -1 3: -64 0: 2 3: 5 3: 4 4: 4 -7: 5 -8: -64 0: -5 3: -3 5: -2 4: 0 3: 3 2: 3 -7: 5 -9: 7 -7: -64 0: -5 3: 0 -2:-64 -64 3602: -9 9: -6 10: -5 8: -5 -6: -7 -7: -64 0: -4 8: -5 10: -4 11: -4 -6: -1 -8: -64 0: -6 10: -3 12: -3 -6: -1 -7: 0 -8: -64 0: -7 -7: -5 -7: -3 -8: -2 -9: 0 -8: 3 -7: 5 -7: -64 0: -3 2: 0 3: 2 4: 3 5: 4 4: 6 3: 7 3: 5 2: 5 -7: -64 0: 2 4: 4 3: 4 -6: -64 0: 0 3: 1 3: 3 2: 3 -7:-64 -64 3603: -8 6: -4 3: -4 -6: -6 -7: -5 -7: -3 -8: -2 -9: -64 0: -3 3: -3 -7: -1 -8: -64 0: -2 3: -2 -6: 0 -7: 1 -7: -1 -8: -2 -9: -64 0: -4 3: 0 4: 2 5: 3 4: 5 3: 6 3: -64 0: 1 4: 2 3: 4 3: -64 0: -2 3: 0 4: 2 2: 4 2: 6 3:-64 -64 3604: -9 8: 0 5: -2 4: -5 3: -5 -6: -7 -7: -64 0: -4 3: -4 -6: -1 -8: -64 0: 0 5: -3 3: -3 -6: -1 -7: 0 -8: -64 0: -7 -7: -5 -7: -3 -8: -2 -9: 0 -8: 3 -7: 5 -7: -64 0: -5 10: -2 12: -1 9: 5 3: 5 -7: -64 0: -2 9: -4 10: -3 11: -2 9: 4 3: 4 -6: -64 0: -5 10: 3 2: 3 -7:-64 -64 3605: -8 6: -4 3: -4 -6: -6 -7: -5 -7: -3 -8: -2 -9: -64 0: -3 3: -3 -7: -1 -8: -64 0: -2 3: -2 -6: 0 -7: 1 -7: -1 -8: -2 -9: -64 0: -4 3: 0 4: 2 5: 5 1: 3 0: -2 -3: -64 0: 1 4: 4 1: -64 0: -2 3: 0 4: 3 0:-64 -64 3606: -8 5: -4 10: -4 -6: -6 -7: -5 -7: -3 -8: -2 -9: -64 0: -3 10: -3 -7: -1 -8: -64 0: -2 10: -2 -6: 0 -7: 1 -7: -1 -8: -2 -9: -64 0: -4 10: -1 11: 1 12: 2 11: 4 10: 5 10: -64 0: 0 11: 1 10: 3 10: -64 0: -2 10: -1 11: 1 9: 3 9: 5 10: -64 0: -7 5: -4 5: -64 0: -2 5: 2 5:-64 -64 3607: -9 9: -5 3: -5 -6: -7 -7: -6 -7: -4 -8: -3 -9: -2 -8: 0 -7: 3 -6: -64 0: -4 2: -4 -7: -2 -8: -64 0: -3 3: -3 -6: -1 -7: 0 -7: -64 0: -5 3: -3 3: 0 4: 2 5: 3 4: 5 3: 7 3: 5 2: 5 -10: 4 -13: 2 -15: 0 -16: -1 -15: -3 -14: -5 -14: -64 0: 1 4: 4 2: 4 -10: -64 0: 1 -15: -1 -14: -2 -14: -64 0: 0 4: 1 3: 3 2: 3 -8: 4 -11: 4 -13: -64 0: 2 -15: 1 -14: -1 -13: -3 -13: -5 -14:-64 -64 3608: -9 9: -6 10: -5 8: -5 -6: -7 -7: -6 -7: -4 -8: -3 -9: -64 0: -4 8: -5 10: -4 11: -4 -7: -2 -8: -64 0: -6 10: -3 12: -3 -6: -1 -7: -3 -9: -64 0: -3 2: 0 3: 2 4: 3 5: 4 4: 6 3: 7 3: 5 2: 5 -7: 3 -9: 2 -11: -64 0: 2 4: 4 3: 4 -7: 3 -9: -64 0: 0 3: 1 3: 3 2: 3 -7: 2 -11: 2 -14: 3 -16: 4 -16: 2 -14:-64 -64 3609: -5 5: 0 12: -2 10: 0 9: 2 10: 0 12: -64 0: 0 11: -1 10: 1 10: 0 11: -64 0: 0 5: -1 4: -3 3: -1 2: -1 -7: 1 -9: 3 -7: -64 0: 0 2: 1 3: 0 4: -1 3: 0 2: 0 -7: 1 -8: -64 0: 0 5: 1 4: 3 3: 1 2: 1 -6: 2 -7: 3 -7:-64 -64 3610: -5 5: 0 12: -2 10: 0 9: 2 10: 0 12: -64 0: 0 11: -1 10: 1 10: 0 11: -64 0: 0 5: -1 4: -3 3: -1 2: -1 -7: 1 -9: 2 -11: -64 0: 0 2: 1 3: 0 4: -1 3: 0 2: 0 -7: 1 -9: -64 0: 0 5: 1 4: 3 3: 1 2: 1 -7: 2 -11: 2 -14: 0 -16: -2 -16: -2 -15: 0 -16:-64 -64 3611: -9 8: -6 10: -5 8: -5 -6: -7 -7: -6 -7: -4 -8: -3 -9: -64 0: -4 8: -5 10: -4 11: -4 -7: -2 -8: -64 0: -6 10: -3 12: -3 -6: -1 -7: -3 -9: -64 0: -3 2: 0 4: 2 5: 4 2: 1 0: -3 -3: -64 0: 1 4: 3 2: -64 0: 0 4: 2 1: -64 0: 1 0: 2 -1: 4 -6: 5 -7: 6 -7: -64 0: 1 -1: 2 -2: 3 -7: 4 -8: -64 0: 0 -1: 1 -2: 2 -7: 4 -9: 6 -7:-64 -64 3612: -5 5: -2 10: -1 8: -1 -6: -3 -7: -2 -7: 0 -8: 1 -9: -64 0: 0 8: -1 10: 0 11: 0 -7: 2 -8: -64 0: -2 10: 1 12: 1 -6: 3 -7: 4 -7: 2 -8: 1 -9:-64 -64 3613: -13 13: -11 3: -10 3: -9 2: -9 -6: -11 -7: -10 -7: -8 -8: -7 -9: -64 0: -9 4: -8 3: -8 -7: -6 -8: -64 0: -11 3: -9 5: -7 3: -7 -6: -5 -7: -7 -9: -64 0: -7 2: -4 3: -2 4: -1 5: 1 3: 1 -6: 3 -7: 1 -9: -64 0: -2 4: 0 3: 0 -7: 2 -8: -64 0: -4 3: -3 3: -1 2: -1 -6: -2 -7: 0 -8: 1 -9: -64 0: 1 2: 4 3: 6 4: 7 5: 8 4: 10 3: 11 3: 9 2: 9 -6: 10 -7: 11 -7: -64 0: 6 4: 8 3: 8 -7: 9 -8: -64 0: 4 3: 5 3: 7 2: 7 -7: 9 -9: 11 -7:-64 -64 3614: -9 9: -7 3: -6 3: -5 2: -5 -6: -7 -7: -6 -7: -4 -8: -3 -9: -64 0: -5 4: -4 3: -4 -7: -2 -8: -64 0: -7 3: -5 5: -3 3: -3 -6: -1 -7: -3 -9: -64 0: -3 2: 0 3: 2 4: 3 5: 4 4: 6 3: 7 3: 5 2: 5 -6: 6 -7: 7 -7: -64 0: 2 4: 4 3: 4 -7: 5 -8: -64 0: 0 3: 1 3: 3 2: 3 -7: 5 -9: 7 -7:-64 -64 3615: -9 9: -5 3: -5 -6: -7 -7: -64 0: -4 2: -4 -6: -1 -8: -64 0: -3 3: -3 -6: -1 -7: 0 -8: -64 0: -7 -7: -5 -7: -3 -8: -2 -9: 0 -8: 3 -7: 5 -7: -64 0: -5 3: -3 3: 0 4: 2 5: 3 4: 5 3: 7 3: 5 2: 5 -7: -64 0: 1 4: 4 2: 4 -6: -64 0: 0 4: 1 3: 3 2: 3 -7:-64 -64 3616: -9 9: -6 5: -5 3: -5 -6: -7 -7: -5 -7: -5 -16: -64 0: -5 4: -4 3: -4 -15: -3 -14: -4 -12: -64 0: -4 -7: -3 -7: -1 -8: -64 0: -6 5: -4 4: -3 3: -3 -6: -1 -7: 0 -8: -64 0: -3 -8: -2 -9: 0 -8: 3 -7: 5 -7: -64 0: -3 -8: -3 -12: -2 -14: -5 -16: -64 0: -3 2: 0 3: 2 4: 3 5: 4 4: 6 3: 7 3: 5 2: 5 -7: -64 0: 2 4: 4 3: 4 -6: -64 0: 0 3: 1 3: 3 2: 3 -7:-64 -64 3617: -9 9: -5 3: -5 -6: -7 -7: -64 0: -4 2: -4 -7: -2 -8: -64 0: -3 3: -3 -6: -1 -7: 0 -7: -64 0: -7 -7: -6 -7: -4 -8: -3 -9: -2 -8: 0 -7: 3 -6: -64 0: -5 3: -3 3: 0 4: 2 5: 3 4: 5 3: 7 3: 5 2: 5 -16: -64 0: 1 4: 4 2: 4 -15: 3 -14: 4 -12: -64 0: 0 4: 1 3: 3 2: 3 -12: 2 -14: 5 -16:-64 -64 3618: -8 6: -6 3: -5 3: -4 2: -4 -6: -6 -7: -5 -7: -3 -8: -2 -9: -64 0: -5 4: -3 3: -3 -7: -1 -8: -64 0: -6 3: -4 5: -2 3: -2 -6: 0 -7: 1 -7: -1 -8: -2 -9: -64 0: -2 3: 2 5: 3 4: 5 3: 6 3: -64 0: 1 4: 2 3: 4 3: -64 0: 0 4: 2 2: 4 2: 6 3:-64 -64 3619: -8 8: -5 3: -5 -1: -3 -2: 3 -2: 5 -3: 5 -7: -64 0: -4 3: -4 -1: -64 0: 4 -3: 4 -7: -64 0: -2 4: -3 3: -3 -1: -1 -2: -64 0: 1 -2: 3 -3: 3 -7: 2 -8: -64 0: -5 3: -2 4: 0 5: 2 4: 4 4: 5 5: -64 0: -1 4: 1 4: -64 0: -2 4: 0 3: 2 3: 4 4: -64 0: 5 -7: 2 -8: 0 -9: -2 -8: -4 -8: -6 -9: -64 0: 1 -8: -1 -8: -64 0: 2 -8: 0 -7: -3 -7: -6 -9: -64 0: 5 5: 4 3: 2 0: -3 -5: -6 -9:-64 -64 3620: -5 5: -2 10: -1 8: -1 -6: -3 -7: -2 -7: 0 -8: 1 -9: -64 0: 0 8: -1 10: 0 11: 0 -7: 2 -8: -64 0: -2 10: 1 12: 1 -6: 3 -7: 4 -7: 2 -8: 1 -9: -64 0: -4 5: -1 5: -64 0: 1 5: 4 5:-64 -64 3621: -9 9: -7 3: -6 3: -5 2: -5 -6: -7 -7: -64 0: -6 4: -4 3: -4 -7: -2 -8: -64 0: -7 3: -5 5: -3 3: -3 -6: -1 -7: 0 -7: -64 0: -7 -7: -6 -7: -4 -8: -3 -9: -2 -8: 0 -7: 3 -6: -64 0: 3 5: 4 4: 6 3: 7 3: 5 2: 5 -6: 6 -7: 7 -7: -64 0: 2 4: 4 3: 4 -7: 5 -8: -64 0: 3 5: 1 3: 3 2: 3 -7: 5 -9: 7 -7:-64 -64 3622: -9 9: -6 5: -5 3: -5 -6: -2 -9: 0 -7: 3 -6: 5 -6: -64 0: -5 4: -4 3: -4 -6: -1 -8: -64 0: -6 5: -4 4: -3 3: -3 -5: -2 -6: 0 -7: -64 0: 3 5: 4 4: 6 3: 7 3: 5 2: 5 -6: -64 0: 2 4: 4 3: 4 -5: -64 0: 3 5: 1 3: 3 2: 3 -6:-64 -64 3623: -13 13: -10 5: -9 3: -9 -6: -6 -9: -4 -7: -1 -6: -64 0: -9 4: -8 3: -8 -6: -5 -8: -64 0: -10 5: -8 4: -7 3: -7 -5: -6 -6: -4 -7: -64 0: -1 5: -3 3: -1 2: -1 -6: 2 -9: 4 -7: 7 -6: 9 -6: -64 0: -2 4: 0 3: 0 -6: 3 -8: -64 0: -1 5: 0 4: 2 3: 1 2: 1 -5: 2 -6: 4 -7: -64 0: 7 5: 8 4: 10 3: 11 3: 9 2: 9 -6: -64 0: 6 4: 8 3: 8 -5: -64 0: 7 5: 5 3: 7 2: 7 -6:-64 -64 3624: -10 9: -7 3: -6 3: -4 2: -3 1: 1 -7: 2 -8: 4 -9: 6 -7: -64 0: -5 4: -3 3: 2 -7: 4 -8: -64 0: -7 3: -5 5: -3 4: -2 3: 2 -5: 3 -6: 5 -7: 6 -7: -64 0: 0 -1: 3 5: 4 4: 6 4: 7 5: -64 0: 3 4: 4 3: 5 3: -64 0: 2 3: 4 2: 6 3: 7 5: -64 0: -1 -3: -4 -9: -5 -8: -7 -8: -8 -9: -64 0: -4 -8: -5 -7: -6 -7: -64 0: -3 -7: -5 -6: -7 -7: -8 -9: -64 0: -5 -2: -2 -2: -64 0: 1 -2: 4 -2:-64 -64 3625: -9 9: -7 3: -6 3: -5 2: -5 -6: -7 -7: -64 0: -6 4: -4 3: -4 -7: -2 -8: -64 0: -7 3: -5 5: -3 3: -3 -6: -1 -7: 0 -7: -64 0: -7 -7: -6 -7: -4 -8: -3 -9: -2 -8: 0 -7: 3 -6: -64 0: 3 5: 4 4: 6 3: 7 3: 5 2: 5 -10: 4 -13: 2 -15: 0 -16: -1 -15: -3 -14: -5 -14: -64 0: 2 4: 4 3: 4 -10: -64 0: 1 -15: -1 -14: -2 -14: -64 0: 3 5: 1 3: 3 2: 3 -8: 4 -11: 4 -13: -64 0: 2 -15: 1 -14: -1 -13: -3 -13: -5 -14:-64 -64 3626: -9 9: 6 5: -6 -9: -64 0: -6 3: -4 2: -1 2: 2 3: 6 5: -64 0: -5 4: -3 3: 1 3: -64 0: -6 3: -4 5: -2 4: 2 4: 6 5: -64 0: -6 -9: -2 -7: 1 -6: 4 -6: 6 -7: -64 0: -1 -7: 3 -7: 5 -8: -64 0: -6 -9: -2 -8: 2 -8: 4 -9: 6 -7: -64 0: -4 -2: 4 -2:-64 -64 3697: 0 0:-64 -64 3698: -4 4:-64 -64 3699: -8 8:-64 -64 3700: -10 10: -6 10: -6 -6: -8 -7: -64 0: -5 9: -5 -6: -2 -8: -64 0: -4 10: -4 -6: -2 -7: -1 -8: -64 0: -6 10: -4 10: 1 11: 3 12: -64 0: 1 11: 2 10: 4 9: 4 -7: -64 0: 2 11: 5 9: 5 -6: -64 0: 3 12: 4 11: 6 10: 8 10: 6 9: 6 -7: -64 0: -8 -7: -6 -7: -4 -8: -3 -9: -1 -8: 4 -7: 6 -7:-64 -64 3701: -10 10: -3 10: -2 9: -1 7: -1 -6: -3 -7: -64 0: -1 9: -2 10: -1 11: 0 9: 0 -7: 2 -8: -64 0: -3 10: 0 12: 1 10: 1 -6: 3 -7: 4 -7: -64 0: -3 -7: -2 -7: 0 -8: 1 -9: 2 -8: 4 -7:-64 -64 3702: -10 10: -6 10: -4 10: -2 11: -1 12: 1 11: 4 10: 6 10: -64 0: -2 10: 0 11: -64 0: -6 10: -4 9: -2 9: 0 10: 1 11: -64 0: 4 10: 4 2: -64 0: 5 9: 5 3: -64 0: 6 10: 6 2: -1 2: -4 1: -6 -1: -7 -4: -7 -9: -64 0: -7 -9: -3 -7: 1 -6: 4 -6: 8 -7: -64 0: -4 -8: -1 -7: 4 -7: 7 -8: -64 0: -7 -9: -2 -8: 3 -8: 6 -9: 8 -7:-64 -64 3703: -10 10: -6 10: -5 10: -3 11: -2 12: 0 11: 4 10: 6 10: -64 0: -3 10: -1 11: -64 0: -6 10: -4 9: -2 9: 0 11: -64 0: 4 10: 4 3: -64 0: 5 9: 5 4: -64 0: 6 10: 6 3: 4 3: 1 2: -1 1: -64 0: -1 2: 1 1: 4 0: 6 0: 6 -7: -64 0: 5 -1: 5 -6: -64 0: 4 0: 4 -7: -64 0: -7 -7: -5 -6: -3 -6: -1 -7: 0 -8: -64 0: -3 -7: -1 -8: -64 0: -7 -7: -5 -7: -3 -8: -2 -9: 0 -8: 4 -7: 6 -7:-64 -64 3704: -10 10: 3 12: -7 2: -7 -3: 2 -3: -64 0: 4 -3: 8 -3: 9 -4: 9 -2: 8 -3: -64 0: -6 2: -6 -2: -64 0: -5 4: -5 -3: -64 0: 2 11: 2 -6: 0 -7: -64 0: 3 8: 4 10: 3 11: 3 -7: 5 -8: -64 0: 3 12: 5 10: 4 8: 4 -6: 6 -7: 7 -7: -64 0: 0 -7: 1 -7: 3 -8: 4 -9: 5 -8: 7 -7:-64 -64 3705: -10 10: -6 12: -6 3: -64 0: -6 12: 6 12: -64 0: -5 11: 4 11: -64 0: -6 10: 3 10: 5 11: 6 12: -64 0: 4 6: 3 5: 1 4: -3 3: -6 3: -64 0: 1 4: 2 4: 4 3: 4 -7: -64 0: 3 5: 5 4: 5 -6: -64 0: 4 6: 5 5: 7 4: 8 4: 6 3: 6 -7: -64 0: -7 -7: -5 -6: -3 -6: -1 -7: 0 -8: -64 0: -3 -7: -1 -8: -64 0: -7 -7: -5 -7: -3 -8: -2 -9: 0 -8: 4 -7: 6 -7:-64 -64 3706: -10 10: -6 10: -6 -6: -8 -7: -64 0: -5 9: -5 -6: -2 -8: -64 0: -4 10: -4 -6: -2 -7: -1 -8: -64 0: -6 10: -4 10: 0 11: 2 12: 3 11: 5 10: 6 10: -64 0: 1 11: 3 10: -64 0: 0 11: 2 9: 4 9: 6 10: -64 0: -4 2: -3 2: 1 3: 3 4: 4 5: -64 0: 1 3: 2 3: 4 2: 4 -7: -64 0: 3 4: 5 2: 5 -6: -64 0: 4 5: 5 4: 7 3: 8 3: 6 2: 6 -7: -64 0: -8 -7: -6 -7: -4 -8: -3 -9: -1 -8: 4 -7: 6 -7:-64 -64 3707: -10 10: -7 10: -5 12: -2 11: 3 11: 8 12: -64 0: -6 11: -3 10: 2 10: 5 11: -64 0: -7 10: -3 9: 0 9: 4 10: 8 12: -64 0: 8 12: 7 10: 5 7: 1 3: -1 0: -2 -3: -2 -6: -1 -9: -64 0: 0 1: -1 -2: -1 -5: 0 -8: -64 0: 3 5: 1 2: 0 -1: 0 -4: 1 -7: -1 -9:-64 -64 3708: -10 10: -6 9: -6 3: -64 0: -5 8: -5 4: -64 0: -4 9: -4 3: -64 0: -6 9: -4 9: 1 10: 3 11: 4 12: -64 0: 1 10: 2 10: 4 9: 4 3: -64 0: 3 11: 5 10: 5 4: -64 0: 4 12: 5 11: 7 10: 8 10: 6 9: 6 3: -64 0: -6 3: -4 3: 4 0: 6 0: -64 0: 6 3: 4 3: -4 0: -6 0: -64 0: -6 0: -6 -6: -8 -7: -64 0: -5 -1: -5 -6: -2 -8: -64 0: -4 0: -4 -6: -2 -7: -1 -8: -64 0: 4 0: 4 -7: -64 0: 5 -1: 5 -6: -64 0: 6 0: 6 -7: -64 0: -8 -7: -6 -7: -4 -8: -3 -9: -1 -8: 4 -7: 6 -7:-64 -64 3709: -10 10: -6 10: -6 1: -8 0: -64 0: -5 9: -5 0: -3 -1: -64 0: -4 10: -4 1: -2 0: -1 0: -64 0: -6 10: -4 10: 1 11: 3 12: -64 0: 1 11: 2 10: 4 9: 4 -7: -64 0: 2 11: 5 9: 5 -6: -64 0: 3 12: 4 11: 6 10: 8 10: 6 9: 6 -7: -64 0: -8 0: -7 0: -5 -1: -4 -2: -3 -1: -1 0: 3 1: 4 1: -64 0: -7 -7: -5 -6: -3 -6: -1 -7: 0 -8: -64 0: -3 -7: -1 -8: -64 0: -7 -7: -5 -7: -3 -8: -2 -9: 0 -8: 4 -7: 6 -7:-64 -64 3710: -6 6: 0 -6: -2 -8: 0 -9: 2 -8: 0 -6: -64 0: 0 -7: -1 -8: 1 -8: 0 -7:-64 -64 3711: -6 6: 0 -12: 0 -10: -2 -8: 0 -6: 1 -8: 1 -10: 0 -12: -2 -13: -64 0: 0 -7: -1 -8: 0 -9: 0 -7:-64 -64 3712: -6 6: 0 5: -2 3: 0 2: 2 3: 0 5: -64 0: 0 4: -1 3: 1 3: 0 4: -64 0: 0 -6: -2 -8: 0 -9: 2 -8: 0 -6: -64 0: 0 -7: -1 -8: 1 -8: 0 -7:-64 -64 3713: -6 6: 0 5: -2 3: 0 2: 2 3: 0 5: -64 0: 0 4: -1 3: 1 3: 0 4: -64 0: 0 -12: 0 -10: -2 -8: 0 -6: 1 -8: 1 -10: 0 -12: -2 -13: -64 0: 0 -7: -1 -8: 0 -9: 0 -7:-64 -64 3714: -6 6: 0 12: -1 11: -3 10: -1 9: 0 -2: -64 0: 0 9: 1 10: 0 11: -1 10: 0 9: 0 -2: -64 0: 0 12: 1 11: 3 10: 1 9: 0 -2: -64 0: 0 -6: -2 -8: 0 -9: 2 -8: 0 -6: -64 0: 0 -7: -1 -8: 1 -8: 0 -7:-64 -64 3715: -9 9: -6 8: -5 10: -4 11: -1 12: 1 12: 4 11: 5 10: 6 8: 6 6: 5 4: 3 2: 1 1: -64 0: -5 8: -4 10: -64 0: 4 10: 5 9: 5 5: 4 4: -64 0: -6 8: -4 7: -4 9: -3 11: -1 12: -64 0: 1 12: 3 11: 4 9: 4 5: 3 3: 1 1: -64 0: 0 1: 0 -2: 1 1: -1 1: 0 -2: -64 0: 0 -6: -2 -8: 0 -9: 2 -8: 0 -6: -64 0: 0 -7: -1 -8: 1 -8: 0 -7:-64 -64 3716: -6 6: 2 12: 0 11: -1 9: -1 7: 0 5: 2 7: 0 9: 0 11: -64 0: 0 8: 0 6: 1 7: 0 8:-64 -64 3717: -6 6: 0 6: 0 8: -2 10: 0 12: 1 10: 1 8: 0 6: -2 5: -64 0: 0 11: -1 10: 0 9: 0 11:-64 -64 3718: -13 13: 7 4: 8 3: 9 3: 10 4: -64 0: 6 3: 7 2: 9 2: -64 0: 6 2: 7 1: 8 1: 9 2: 10 4: -64 0: 7 4: 1 -2: -64 0: 0 -3: -6 -9: -10 -4: -4 2: -64 0: -3 3: 1 7: -3 12: -8 6: -2 0: 2 -6: 4 -8: 6 -9: 8 -9: 9 -8: 10 -6: -64 0: -6 -8: -9 -4: -64 0: 0 7: -3 11: -64 0: -7 6: -2 1: 2 -5: 4 -7: 6 -8: 9 -8: -64 0: -5 -8: -9 -3: -64 0: 0 6: -4 11: -64 0: -7 7: -1 1: 3 -5: 4 -6: 6 -7: 9 -7: 10 -6:-64 -64 3719: -10 10: -2 16: -2 -13: -64 0: 2 16: 2 -13: -64 0: 2 12: 4 11: 5 9: 5 7: 7 8: 6 10: 5 11: 2 12: -2 12: -5 11: -7 9: -7 6: -6 4: -3 2: 3 0: 5 -1: 6 -3: 6 -6: 5 -8: -64 0: 6 8: 5 10: -64 0: -6 6: -5 4: -3 3: 3 1: 5 0: 6 -2: -64 0: -5 -7: -6 -5: -64 0: -5 11: -6 9: -6 7: -5 5: -3 4: 3 2: 6 0: 7 -2: 7 -5: 6 -7: 5 -8: 2 -9: -2 -9: -5 -8: -6 -7: -7 -5: -5 -4: -5 -6: -4 -8: -2 -9:-64 -64 3720: -11 12: 9 16: -9 -16: -8 -16: -64 0: 9 16: 10 16: -8 -16:-64 -64 3721: -7 7: 3 16: 1 14: -1 11: -3 7: -4 2: -4 -2: -3 -7: -1 -11: 1 -14: 3 -16: -64 0: -1 10: -2 7: -3 3: -3 -3: -2 -7: -1 -10: -64 0: 1 14: 0 12: -1 9: -2 3: -2 -3: -1 -9: 0 -12: 1 -14:-64 -64 3722: -7 7: -3 16: -1 14: 1 11: 3 7: 4 2: 4 -2: 3 -7: 1 -11: -1 -14: -3 -16: -64 0: 1 10: 2 7: 3 3: 3 -3: 2 -7: 1 -10: -64 0: -1 14: 0 12: 1 9: 2 3: 2 -3: 1 -9: 0 -12: -1 -14:-64 -64 3723: -8 8: 0 12: -1 11: 1 1: 0 0: -64 0: 0 12: 0 0: -64 0: 0 12: 1 11: -1 1: 0 0: -64 0: -5 9: -4 9: 4 3: 5 3: -64 0: -5 9: 5 3: -64 0: -5 9: -5 8: 5 4: 5 3: -64 0: 5 9: 4 9: -4 3: -5 3: -64 0: 5 9: -5 3: -64 0: 5 9: 5 8: -5 4: -5 3:-64 -64 3724: -12 13: -8 1: 9 1: 9 0: -64 0: -8 1: -8 0: 9 0:-64 -64 3725: -12 13: 0 9: 0 -8: 1 -8: -64 0: 0 9: 1 9: 1 -8: -64 0: -8 1: 9 1: 9 0: -64 0: -8 1: -8 0: 9 0:-64 -64 3726: -12 13: -8 5: 9 5: 9 4: -64 0: -8 5: -8 4: 9 4: -64 0: -8 -3: 9 -3: 9 -4: -64 0: -8 -3: -8 -4: 9 -4:-64 -64 3727: -4 5: 1 12: 0 11: 0 5: -64 0: 1 11: 0 5: -64 0: 1 12: 2 11: 0 5:-64 -64 3728: -9 9: -4 12: -5 11: -5 5: -64 0: -4 11: -5 5: -64 0: -4 12: -3 11: -5 5: -64 0: 5 12: 4 11: 4 5: -64 0: 5 11: 4 5: -64 0: 5 12: 6 11: 4 5:-64 -64 3729: -7 7: -1 12: -3 11: -4 9: -4 7: -3 5: -1 4: 1 4: 3 5: 4 7: 4 9: 3 11: 1 12: -1 12: -64 0: -1 12: -4 9: -3 5: 1 4: 4 7: 3 11: -1 12: -64 0: 1 12: -3 11: -4 7: -1 4: 3 5: 4 9: 1 12:-64 -64 3801: -13 13: -4 10: -6 9: -8 7: -9 5: -10 2: -10 -1: -9 -3: -7 -4: -64 0: -8 6: -9 3: -9 -1: -8 -3: -64 0: -4 10: -6 8: -7 6: -8 3: -8 0: -7 -4: -7 -6: -8 -8: -10 -9: -64 0: 4 10: 6 10: 6 -7: 4 -7: -64 0: 7 10: 7 -7: -64 0: 8 11: 8 -8: -64 0: -10 12: -7 11: -1 10: 4 10: 8 11: 10 12: -64 0: -8 2: 6 2: -64 0: -10 -9: -7 -8: -1 -7: 4 -7: 8 -8: 10 -9:-64 -64 3802: -13 13: -6 11: -6 -8: -64 0: -5 11: -5 -8: -64 0: -2 12: -4 11: -4 -8: -2 -9: -64 0: -10 8: -8 10: -6 11: -2 12: 3 12: 6 11: 8 9: 8 7: 7 5: -64 0: 6 10: 7 9: 7 7: 6 5: -64 0: 3 12: 5 11: 6 9: 6 7: 5 6: -64 0: -1 -3: -3 -2: -4 0: -4 2: -3 4: -2 5: 1 6: 4 6: 7 5: 9 3: 10 1: 10 -2: 9 -5: 7 -7: 5 -8: 2 -9: -2 -9: -6 -8: -8 -7: -10 -5: -64 0: 8 3: 9 1: 9 -3: 8 -5: -64 0: 4 6: 7 4: 8 1: 8 -3: 7 -6: 5 -8:-64 -64 3803: -13 13: 10 12: 9 10: 8 8: 6 10: 4 11: 1 12: -1 12: -4 11: -6 10: -8 8: -9 6: -10 3: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 1 -9: 4 -8: 6 -7: 8 -5: 9 -7: 10 -9: -64 0: 9 10: 8 5: 8 -2: 9 -7: -64 0: 8 7: 7 8: -64 0: 8 4: 7 7: 6 9: 4 11: -64 0: -8 7: -9 4: -9 -1: -8 -4: -64 0: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -64 0: 7 -5: 8 -4: -64 0: 4 -8: 6 -6: 7 -4: 8 -1:-64 -64 3804: -13 13: -7 11: -7 -8: -64 0: -6 11: -6 -8: -64 0: -4 12: -5 11: -5 -8: -4 -9: -64 0: -10 7: -9 9: -7 11: -4 12: 1 12: 4 11: 6 10: 8 8: 9 6: 10 3: 10 0: 9 -3: 8 -5: 6 -7: 4 -8: 1 -9: -4 -9: -7 -8: -9 -6: -10 -4: -64 0: 8 7: 9 4: 9 -1: 8 -4: -64 0: 4 11: 6 9: 7 7: 8 4: 8 -1: 7 -4: 6 -6: 4 -8:-64 -64 3805: -13 13: 10 12: 9 10: 8 8: 6 10: 4 11: 1 12: -1 12: -4 11: -6 10: -8 8: -9 6: -10 3: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 1 -9: 4 -8: 6 -7: 8 -5: 9 -7: 10 -9: -64 0: 9 10: 8 5: 8 -2: 9 -7: -64 0: 8 7: 7 8: -64 0: 8 5: 6 9: 4 11: -64 0: -8 7: -9 4: -9 -1: -8 -4: -64 0: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -64 0: 7 -5: 8 -4: -64 0: 4 -8: 6 -6: 7 -4: 8 -1: -64 0: -8 2: -7 3: -4 3: 3 1: 6 1: 8 2: -64 0: -2 2: 0 1: 3 0: 5 0: 7 1: -64 0: -5 3: 0 0: 3 -1: 5 -1: 7 0: 8 2: -64 0: 8 5: 7 6: 6 6: 5 5: 6 4: 7 5:-64 -64 3806: -13 13: -8 10: -8 -8: -64 0: -5 11: -7 10: -7 -7: -64 0: -3 12: -5 11: -6 9: -6 -7: -4 -7: -64 0: -10 8: -8 10: -6 11: -3 12: 1 12: 4 11: 6 10: 7 9: 10 12: -64 0: 10 12: 9 10: 8 6: 8 3: 9 -1: 10 -3: -64 0: 8 9: 7 7: -64 0: 4 11: 6 9: 7 6: 8 3: -64 0: -6 2: -5 3: -3 3: 2 2: 5 2: 7 3: -64 0: -1 2: 2 1: 4 1: 6 2: -64 0: -4 3: 2 0: 4 0: 6 1: 7 3: 7 6: 6 7: 5 7: 4 6: 5 5: 6 6: -64 0: -10 -9: -8 -8: -4 -7: 1 -7: 7 -8: 10 -9:-64 -64 3807: -13 13: 10 12: 9 10: 8 8: 6 10: 4 11: 1 12: -1 12: -4 11: -6 10: -8 8: -9 6: -10 3: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 2 -9: 4 -8: 6 -7: 7 -6: 8 -4: 9 -7: 10 -9: -64 0: 9 10: 8 5: 8 -2: 9 -7: -64 0: 8 7: 7 8: -64 0: 8 4: 7 7: 6 9: 4 11: -64 0: -8 7: -9 4: -9 -1: -8 -4: -64 0: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -64 0: 6 -6: 7 -4: 7 0: -64 0: 4 -8: 5 -7: 6 -4: 6 1: -64 0: -7 -1: -6 0: -5 -1: -6 -2: -7 -2: -8 -1: -64 0: -8 2: -7 4: -5 5: -3 5: 0 4: 3 2: 5 1: -64 0: -7 3: -5 4: -3 4: 0 3: 2 2: -64 0: -8 2: -6 3: -3 3: 3 1: 7 1: 8 2:-64 -64 3808: -13 13: -8 11: -8 -8: -10 -9: -64 0: -7 10: -7 -8: -64 0: -4 10: -6 10: -6 -8: -64 0: -10 12: -8 11: -4 10: 1 10: 7 11: 10 12: -64 0: -6 2: -5 4: -3 6: 0 7: 4 7: 7 6: 9 4: 10 1: 10 -2: 9 -3: 7 -4: -64 0: 8 4: 9 2: 9 -1: 8 -3: -64 0: 4 7: 6 6: 7 5: 8 3: 8 -1: 7 -4: 7 -6: 8 -8: 10 -9: -64 0: -10 -9: -6 -8: -2 -8: 3 -9:-64 -64 3809: -13 13: -1 9: -1 -7: -64 0: 0 8: 0 -6: -64 0: 1 9: 1 -7: -64 0: -10 12: -6 10: -2 9: 2 9: 6 10: 10 12: -64 0: -10 -9: -7 -8: -3 -7: 3 -7: 7 -8: 10 -9:-64 -64 3810: -13 13: 2 9: 4 9: 4 -6: 3 -8: 1 -9: -64 0: 5 9: 5 -6: 4 -7: -64 0: 6 10: 6 -7: -64 0: -10 12: -6 10: -2 9: 2 9: 6 10: 10 12: -64 0: -9 3: -10 1: -10 -3: -9 -6: -7 -8: -4 -9: 1 -9: 4 -8: 6 -7: 8 -5: 10 -2: -64 0: -9 -3: -8 -6: -7 -7: -64 0: -10 -1: -8 -3: -7 -6: -6 -8: -4 -9:-64 -64 3811: -13 13: -8 11: -8 -8: -10 -9: -64 0: -7 10: -7 -8: -64 0: -4 10: -6 10: -6 -8: -64 0: -10 12: -8 11: -4 10: 1 10: 7 11: 10 12: -64 0: -6 2: -5 4: -3 6: 0 7: 3 7: 6 6: 7 5: 7 3: 6 2: 1 0: -1 -1: -2 -2: -2 -3: -1 -4: 0 -3: -1 -2: -64 0: 5 6: 6 5: 6 3: 5 2: -64 0: 3 7: 5 5: 5 3: 4 2: 1 0: -64 0: 1 0: 4 0: 7 -1: 8 -3: 8 -5: 7 -6: -64 0: 5 -1: 7 -3: 7 -5: -64 0: 1 0: 4 -1: 6 -3: 7 -6: 8 -8: 9 -9: 10 -9: -64 0: -10 -9: -6 -8: -2 -8: 3 -9:-64 -64 3812: -13 13: -8 11: -8 -8: -64 0: -7 10: -7 -7: -64 0: -4 10: -6 10: -6 -7: -4 -7: -64 0: 10 7: 8 4: 7 2: 6 -1: 6 -3: 7 -5: 9 -6: -64 0: 8 3: 7 0: 7 -3: 8 -5: -64 0: 10 7: 9 5: 8 1: 8 -2: 9 -6: 10 -9: -64 0: -10 12: -8 11: -4 10: 1 10: 7 11: 10 12: -64 0: -10 -9: -8 -8: -4 -7: 1 -7: 7 -8: 10 -9:-64 -64 3813: -13 13: -1 9: -1 -7: -64 0: 0 8: 0 -6: -64 0: 1 9: 1 -7: -64 0: -4 -7: -6 -5: -8 -4: -9 -3: -10 0: -10 5: -9 8: -7 10: -5 11: -2 12: 2 12: 5 11: 7 10: 9 8: 10 5: 10 0: 9 -3: 8 -4: 6 -5: 4 -7: -64 0: -8 -3: -9 0: -9 5: -8 8: -64 0: -6 -5: -7 -3: -8 0: -8 6: -7 9: -5 11: -64 0: 8 8: 9 5: 9 0: 8 -3: -64 0: 5 11: 7 9: 8 6: 8 0: 7 -3: 6 -5: -64 0: -10 12: -6 10: -2 9: 2 9: 6 10: 10 12: -64 0: -10 -9: -7 -8: -3 -7: 3 -7: 7 -8: 10 -9:-64 -64 3814: -13 13: -8 10: -8 -8: -10 -9: -64 0: -6 10: -7 9: -7 -8: -64 0: -3 12: -5 11: -6 9: -6 -8: -64 0: -10 8: -8 10: -6 11: -3 12: 1 12: 4 11: 6 10: 8 8: 9 6: 10 3: 10 -1: 9 -3: 7 -4: -64 0: 8 7: 9 4: 9 0: 8 -3: -64 0: 4 11: 6 9: 7 7: 8 4: 8 0: 7 -4: 7 -6: 8 -8: 9 -9: 10 -9: -64 0: -10 -9: -6 -8: -2 -8: 3 -9:-64 -64 3815: -13 13: -1 12: -4 11: -6 10: -8 8: -9 6: -10 3: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 1 -9: 4 -8: 6 -7: 8 -5: 9 -3: 10 0: 10 3: 9 6: 8 8: 6 10: 4 11: 1 12: -1 12: -64 0: -8 7: -9 4: -9 -1: -8 -4: -64 0: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -64 0: 8 -4: 9 -1: 9 4: 8 7: -64 0: 4 -8: 6 -6: 7 -4: 8 -1: 8 4: 7 7: 6 9: 4 11:-64 -64 3816: -13 13: -8 9: -8 -8: -64 0: -5 10: -7 8: -7 -7: -64 0: -1 12: -3 11: -5 9: -6 7: -6 -7: -4 -7: -64 0: -10 7: -8 9: -4 11: -1 12: 2 12: 5 11: 7 10: 9 8: 10 5: 10 3: 9 0: 7 -2: 4 -3: 0 -3: -3 -2: -5 0: -6 3: -64 0: 8 8: 9 6: 9 2: 8 0: -64 0: 5 11: 7 9: 8 6: 8 2: 7 -1: 4 -3: -64 0: -10 -9: -8 -8: -4 -7: 1 -7: 7 -8: 10 -9:-64 -64 3817: -13 13: -1 12: -4 11: -6 10: -8 8: -9 6: -10 3: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 1 -9: 4 -8: 6 -7: 8 -5: 9 -3: 10 0: 10 3: 9 6: 8 8: 6 10: 4 11: 1 12: -1 12: -64 0: -8 7: -9 4: -9 -1: -8 -4: -64 0: -4 11: -6 9: -7 7: -8 4: -8 -1: -7 -4: -6 -6: -4 -8: -64 0: 8 -4: 9 -1: 9 4: 8 7: -64 0: 4 -8: 6 -6: 7 -4: 8 -1: 8 4: 7 7: 6 9: 4 11: -64 0: -8 -1: -7 -3: -4 -4: 2 -5: 9 -5: 10 -6: 10 -8: 9 -9: 9 -8: 10 -7: -64 0: -2 -5: 0 -5: -64 0: -7 -3: -4 -5: -1 -6: 1 -6: 2 -5:-64 -64 3818: -13 13: -8 9: -8 -8: -10 -9: -64 0: -7 9: -7 -8: -64 0: -6 10: -6 -8: -64 0: -10 7: -8 9: -6 10: -4 11: -1 12: 3 12: 7 11: 9 9: 10 7: 10 4: 9 2: 8 1: -64 0: 7 10: 8 9: 9 7: 9 4: 8 2: -64 0: 3 12: 5 11: 7 9: 8 7: 8 3: 7 1: -64 0: 6 0: 3 -1: 0 -1: -2 0: -2 2: 0 3: 3 3: 6 2: 8 0: 10 -3: 10 -5: 9 -6: 8 -6: -64 0: 6 1: 7 0: 9 -4: 9 -5: 8 -2: -64 0: 2 3: 4 2: 6 0: 7 -2: 8 -6: 9 -8: 10 -9: -64 0: -10 -9: -6 -8: -2 -8: 3 -9:-64 -64 3819: -13 13: 2 12: 8 11: 10 12: 9 10: 9 8: 7 10: 5 11: 2 12: -2 12: -5 11: -8 8: -9 5: -9 3: -8 0: -6 -2: -3 -3: 0 -3: 2 -2: 3 -1: 4 1: 4 2: -64 0: 9 11: 8 10: 9 8: -64 0: -8 2: -7 0: -6 -1: -3 -2: 0 -2: 2 -1: -64 0: -7 9: -8 7: -8 4: -7 2: -5 0: -2 -1: 0 -1: 2 0: 4 2: 5 3: 6 3: -64 0: -6 1: -5 1: -4 2: -2 4: 0 5: 3 5: 5 4: 7 2: 8 0: 8 -3: 7 -6: 5 -8: -64 0: -2 5: 0 6: 3 6: 6 5: 8 3: 9 0: 9 -3: 8 -5: -64 0: -9 -5: -8 -7: -9 -8: -64 0: -4 2: -4 3: -3 5: -2 6: 0 7: 3 7: 6 6: 9 3: 10 0: 10 -2: 9 -5: 7 -7: 5 -8: 2 -9: -2 -9: -5 -8: -7 -7: -9 -5: -9 -7: -10 -9: -8 -8: -2 -9:-64 -64 3820: -13 13: -1 10: -5 10: -7 9: -8 8: -9 6: -10 3: -10 -1: -9 -4: -8 -6: -7 -7: -5 -8: -2 -9: 1 -9: 4 -8: 6 -7: 8 -5: 9 -3: 10 0: 10 4: 9 7: 7 9: 5 10: -64 0: 3 10: 2 9: 2 7: 3 6: 4 7: 3 8: -64 0: -9 -1: -8 -4: -6 -6: -4 -7: -1 -8: 2 -8: 5 -7: -64 0: -8 8: -9 4: -9 1: -8 -2: -6 -5: -4 -6: -1 -7: 2 -7: 5 -6: 7 -5: 9 -2: 10 0: -64 0: -10 12: -7 9: -64 0: -7 10: -6 11: -64 0: -9 11: -8 11: -7 12: -5 11: -1 10: 5 10: 8 11: 10 12:-64 -64 3821: -13 13: -6 10: -8 8: -9 6: -10 3: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 3 -9: 6 -8: 8 -7: -64 0: -7 8: -8 6: -9 3: -9 -1: -8 -4: -64 0: -7 9: -6 8: -6 7: -7 5: -8 2: -8 -1: -7 -4: -6 -6: -4 -8: -64 0: 4 10: 6 10: 6 -6: 5 -8: 3 -9: -64 0: 7 10: 7 -6: 6 -7: -64 0: 8 11: 8 -7: 10 -9: -64 0: -10 12: -7 11: -1 10: 4 10: 8 11: 10 12:-64 -64 3822: -13 13: -10 12: 0 -9: -64 0: -9 11: -8 10: -1 -5: 0 -7: -64 0: -8 11: -7 10: 0 -5: 1 -6: -64 0: 10 12: 0 -9: -64 0: 5 4: 3 -1: -64 0: 7 6: 3 1: 2 -2: 2 -4: -64 0: -10 12: -8 11: -3 10: 3 10: 8 11: 10 12:-64 -64 3823: -13 13: -6 10: -8 8: -9 6: -10 3: -10 0: -9 -3: -8 -5: -6 -7: -4 -8: -1 -9: 1 -9: 4 -8: 6 -7: 8 -5: 9 -3: 10 0: 10 3: 9 6: 8 8: 6 10: -64 0: -8 6: -9 3: -9 0: -8 -3: -7 -5: -64 0: -8 8: -7 7: -7 6: -8 3: -8 0: -7 -4: -6 -6: -4 -8: -64 0: 7 -5: 8 -3: 9 0: 9 3: 8 6: -64 0: 4 -8: 6 -6: 7 -4: 8 0: 8 3: 7 6: 7 7: 8 8: -64 0: -1 9: -1 -9: -64 0: 0 8: 0 -8: -64 0: 1 9: 1 -9: -64 0: -10 12: -6 10: -2 9: 2 9: 6 10: 10 12:-64 -64 3824: -13 13: -10 12: 6 -7: 7 -8: -64 0: -9 11: -7 10: 8 -8: -64 0: -6 10: 10 -9: -64 0: 10 12: 1 2: -64 0: -1 0: -8 -8: -64 0: -2 -1: -5 -3: -6 -5: -64 0: -1 0: -5 -2: -6 -3: -7 -5: -7 -7: -64 0: -10 12: -6 10: -2 9: 2 9: 6 10: 10 12: -64 0: -10 -9: -8 -8: -4 -7: 1 -7: 7 -8: 10 -9:-64 -64 3825: -13 13: 6 10: 6 -8: -64 0: 7 10: 7 -7: -64 0: 8 11: 8 -7: -64 0: -7 10: -9 8: -10 5: -10 2: -9 -1: -7 -3: -5 -4: -2 -5: 1 -5: 4 -4: 6 -3: -64 0: -6 -3: -3 -4: 3 -4: -64 0: -10 2: -9 0: -7 -2: -4 -3: 2 -3: 4 -4: -64 0: -10 12: -6 10: -2 9: 2 9: 6 10: 10 12: -64 0: -10 -5: -8 -7: -6 -8: -2 -9: 2 -9: 6 -8: 10 -6:-64 -64 3826: -13 13: -10 12: -9 11: -7 10: -4 10: 1 12: 4 12: 7 11: 8 9: 8 7: 7 5: -64 0: 6 11: 7 9: 7 7: 6 5: -64 0: 4 12: 5 11: 6 9: 6 6: -64 0: 6 4: 2 3: 0 3: -2 4: -2 6: 0 7: 2 7: 6 6: -64 0: 2 7: 4 6: 5 5: 4 4: 2 3: -64 0: 7 5: 9 3: 10 0: 10 -2: 9 -5: 7 -7: 5 -8: 2 -9: -2 -9: -5 -8: -7 -7: -9 -5: -10 -2: -10 0: -9 3: -8 4: -6 5: -4 5: -2 4: -2 2: -3 1: -4 2: -3 3: -64 0: 6 5: 8 3: 9 1: 9 -3: 8 -5: -64 0: 6 4: 7 3: 8 1: 8 -3: 7 -6: 5 -8:-64 -64 3901: -8 9: -2 1: -5 -2: -5 -6: -2 -9: 2 -7: -64 0: -4 -2: -4 -6: -2 -8: -64 0: -3 0: -3 -5: 0 -8: -64 0: 0 -1: -5 4: -4 5: -3 4: -4 3: -64 0: -3 4: 1 4: 3 5: 5 3: 5 -6: 6 -7: -64 0: 3 4: 4 3: 4 -6: 3 -7: 4 -8: 5 -7: 4 -6: -64 0: 1 4: 3 2: 3 -6: 2 -7: 4 -9: 6 -7:-64 -64 3902: -9 8: -4 10: -6 12: -5 8: -5 -6: -2 -9: 3 -7: 5 -6: -64 0: -4 10: -4 -6: -2 -8: -64 0: -4 10: -2 12: -3 8: -3 -5: 0 -8: -64 0: -3 3: 2 5: 5 2: 5 -6: -64 0: 2 4: 4 2: 4 -6: -64 0: 0 4: 3 1: 3 -7:-64 -64 3903: -7 5: -4 2: -4 -7: -2 -9: 0 -7: -64 0: -3 2: -3 -7: -2 -8: -64 0: -2 3: -2 -6: -1 -7: 0 -7: -64 0: -4 2: 2 5: 4 3: 2 2: 0 4: -64 0: 1 4: 3 3:-64 -64 3904: -8 8: 0 5: -5 2: -5 -6: -2 -9: 0 -8: 3 -7: 5 -7: -64 0: -4 2: -4 -6: -2 -8: -64 0: -3 3: -3 -5: 0 -8: -64 0: -2 9: -2 12: -1 9: 5 2: 5 -7: -64 0: -2 9: 4 2: 4 -6: -64 0: -2 9: -5 9: -2 8: 3 2: 3 -7:-64 -64 3905: -7 6: -4 2: -4 -7: -2 -9: 0 -7: -64 0: -3 2: -3 -7: -2 -8: -64 0: -2 3: -2 -6: -1 -7: 0 -7: -64 0: -4 2: 2 5: 5 1: -2 -3: -64 0: 1 4: 4 1: -64 0: 0 4: 3 0:-64 -64 3906: -7 5: -3 9: -3 -6: -4 -7: -2 -9: -64 0: -2 9: -2 -6: -3 -7: -2 -8: -1 -7: -2 -6: -64 0: -1 10: -1 -6: 0 -7: -2 -9: -64 0: -3 9: 3 12: 5 10: 3 9: 1 11: -64 0: 2 11: 4 10: -64 0: -6 5: -3 5: -64 0: -1 5: 3 5:-64 -64 3907: -8 9: -5 2: -5 -6: -2 -9: 3 -7: -64 0: -4 2: -4 -6: -2 -8: -64 0: -3 3: -3 -5: 0 -8: -64 0: -5 2: -3 3: 2 5: 5 2: 5 -11: 4 -13: 3 -14: 1 -15: -1 -15: -3 -14: -5 -15: -3 -16: -1 -15: -64 0: 2 4: 4 2: 4 -11: 3 -13: -64 0: -2 -15: -4 -15: -64 0: 0 4: 3 1: 3 -12: 2 -14: 1 -15:-64 -64 3908: -9 9: -4 10: -6 12: -5 8: -5 -6: -6 -7: -4 -9: -64 0: -4 10: -4 -6: -5 -7: -4 -8: -3 -7: -4 -6: -64 0: -4 10: -2 12: -3 8: -3 -6: -2 -7: -4 -9: -64 0: -3 3: 0 4: 2 5: 5 2: 5 -7: 2 -11: 2 -14: 3 -16: 4 -16: 2 -14: -64 0: 2 4: 4 2: 4 -7: 3 -9: -64 0: 0 4: 3 1: 3 -8: 2 -11:-64 -64 3909: -5 5: 0 12: -2 10: 0 8: 2 10: 0 12: -64 0: 0 11: -1 10: 0 9: 1 10: 0 11: -64 0: 0 5: -2 3: -1 2: -1 -6: -2 -7: 0 -9: -64 0: 0 2: 1 3: 0 4: -1 3: 0 2: 0 -6: -1 -7: 0 -8: 1 -7: 0 -6: -64 0: 0 5: 2 3: 1 2: 1 -6: 2 -7: 0 -9:-64 -64 3910: -5 5: 0 12: -2 10: 0 8: 2 10: 0 12: -64 0: 0 11: -1 10: 0 9: 1 10: 0 11: -64 0: 0 5: -2 3: -1 2: -1 -7: 2 -11: -64 0: 0 2: 1 3: 0 4: -1 3: 0 2: 0 -7: 1 -9: -64 0: 0 5: 2 3: 1 2: 1 -8: 2 -11: 2 -14: 0 -16: -2 -15: -2 -16: 0 -16:-64 -64 3911: -9 8: -4 10: -6 12: -5 8: -5 -6: -6 -7: -4 -9: -64 0: -4 10: -4 -6: -5 -7: -4 -8: -3 -7: -4 -6: -64 0: -4 10: -2 12: -3 8: -3 -6: -2 -7: -4 -9: -64 0: -3 2: 0 4: 2 5: 4 2: 1 0: -3 -3: -64 0: 1 4: 3 2: -64 0: 0 4: 2 1: -64 0: 0 -1: 1 -2: 2 -7: 4 -9: 6 -7: -64 0: 1 -1: 2 -3: 3 -7: 4 -8: -64 0: 1 0: 2 -1: 4 -6: 5 -7: 6 -7:-64 -64 3912: -5 5: 0 10: -2 12: -1 8: -1 -6: -2 -7: 0 -9: -64 0: 0 10: 0 -6: -1 -7: 0 -8: 1 -7: 0 -6: -64 0: 0 10: 2 12: 1 8: 1 -6: 2 -7: 0 -9:-64 -64 3913: -13 13: -11 3: -10 3: -9 2: -9 -6: -10 -7: -8 -9: -64 0: -9 4: -8 3: -8 -6: -9 -7: -8 -8: -7 -7: -8 -6: -64 0: -11 3: -9 5: -7 3: -7 -6: -6 -7: -8 -9: -64 0: -7 3: -4 4: -2 5: 1 3: 1 -6: 2 -7: 0 -9: -64 0: -2 4: 0 3: 0 -6: -1 -7: 0 -8: 1 -7: 0 -6: -64 0: -4 4: -1 2: -1 -6: -2 -7: 0 -9: -64 0: 1 3: 4 4: 6 5: 9 3: 9 -6: 10 -7: 8 -9: -64 0: 6 4: 8 3: 8 -6: 7 -7: 8 -8: 9 -7: 8 -6: -64 0: 4 4: 7 2: 7 -6: 6 -7: 8 -9:-64 -64 3914: -9 9: -7 3: -6 3: -5 2: -5 -6: -6 -7: -4 -9: -64 0: -5 4: -4 3: -4 -6: -5 -7: -4 -8: -3 -7: -4 -6: -64 0: -7 3: -5 5: -3 3: -3 -6: -2 -7: -4 -9: -64 0: -3 3: 0 4: 2 5: 5 3: 5 -6: 6 -7: 4 -9: -64 0: 2 4: 4 3: 4 -6: 3 -7: 4 -8: 5 -7: 4 -6: -64 0: 0 4: 3 2: 3 -6: 2 -7: 4 -9:-64 -64 3915: -8 8: -5 2: -5 -6: -2 -9: 3 -7: 5 -6: -64 0: -4 2: -4 -6: -2 -8: -64 0: -3 3: -3 -5: 0 -8: -64 0: -5 2: -3 3: 2 5: 5 2: 5 -6: -64 0: 2 4: 4 2: 4 -6: -64 0: 0 4: 3 1: 3 -7:-64 -64 3916: -9 8: -6 5: -5 3: -5 -6: -7 -7: -5 -7: -5 -13: -6 -16: -4 -14: -64 0: -4 3: -4 -14: -64 0: -6 5: -4 4: -3 3: -3 -6: -1 -7: 0 -8: -64 0: -4 -7: -3 -7: -1 -8: -64 0: -3 -8: -2 -9: 3 -7: 5 -6: -64 0: -3 -8: -3 -13: -2 -16: -4 -14: -64 0: -3 3: 0 4: 2 5: 5 2: 5 -6: -64 0: 2 4: 4 2: 4 -6: -64 0: 0 4: 3 1: 3 -7:-64 -64 3917: -8 9: -5 2: -5 -6: -2 -9: 3 -7: -64 0: -4 2: -4 -6: -2 -8: -64 0: -3 3: -3 -5: 0 -8: -64 0: -5 2: -3 3: 2 5: 5 2: 5 -13: 6 -16: 4 -14: -64 0: 2 4: 4 2: 4 -14: -64 0: 0 4: 3 1: 3 -13: 2 -16: 4 -14:-64 -64 3918: -7 6: -5 3: -4 3: -3 2: -3 -6: -4 -7: -2 -9: -64 0: -3 4: -2 3: -2 -6: -3 -7: -2 -8: -1 -7: -2 -6: -64 0: -5 3: -3 5: -1 3: -1 -6: 0 -7: -2 -9: -64 0: -1 3: 3 5: 5 3: 3 2: 1 4: -64 0: 2 4: 4 3:-64 -64 3919: -8 8: -5 2: -5 -1: -3 -3: 3 0: 5 -2: 5 -6: -64 0: -4 2: -4 -1: -3 -2: -64 0: -3 3: -3 -1: -2 -2: -64 0: 3 -1: 4 -2: 4 -6: -64 0: 2 -1: 3 -2: 3 -7: -64 0: -5 2: 1 5: 4 4: 2 3: -1 4: -64 0: 0 4: 3 4: -64 0: 5 -6: -1 -9: -5 -7: -3 -6: 1 -8: -64 0: -3 -7: -1 -8:-64 -64 3920: -5 5: 0 10: -2 12: -1 8: -1 -6: -2 -7: 0 -9: -64 0: 0 10: 0 -6: -1 -7: 0 -8: 1 -7: 0 -6: -64 0: 0 10: 2 12: 1 8: 1 -6: 2 -7: 0 -9: -64 0: -4 5: -1 5: -64 0: 1 5: 4 5:-64 -64 3921: -9 9: -7 3: -6 3: -5 2: -5 -7: -2 -9: 3 -7: -64 0: -5 4: -4 3: -4 -7: -2 -8: -64 0: -7 3: -5 5: -3 3: -3 -6: 0 -8: -64 0: 4 5: 6 3: 5 2: 5 -6: 6 -7: 7 -7: -64 0: 4 2: 5 3: 4 4: 3 3: 4 2: 4 -7: 5 -8: -64 0: 4 5: 2 3: 3 2: 3 -7: 5 -9: 7 -7:-64 -64 3922: -9 9: -6 5: -5 3: -5 -6: -1 -9: 1 -7: 5 -5: -64 0: -5 4: -4 3: -4 -6: -1 -8: -64 0: -6 5: -4 4: -3 3: -3 -5: 0 -7: 1 -7: -64 0: 4 5: 6 3: 5 2: 5 -5: -64 0: 4 2: 5 3: 4 4: 3 3: 4 2: 4 -5: -64 0: 4 5: 2 3: 3 2: 3 -6:-64 -64 3923: -13 13: -10 5: -9 3: -9 -6: -5 -9: -3 -7: -1 -6: -64 0: -9 4: -8 3: -8 -6: -5 -8: -64 0: -10 5: -8 4: -7 3: -7 -5: -4 -7: -3 -7: -64 0: 0 5: -2 3: -1 2: -1 -6: 3 -9: 5 -7: 9 -5: -64 0: 0 2: 1 3: 0 4: -1 3: 0 2: 0 -6: 3 -8: -64 0: 0 5: 2 3: 1 2: 1 -5: 4 -7: 5 -7: -64 0: 8 5: 10 3: 9 2: 9 -5: -64 0: 8 2: 9 3: 8 4: 7 3: 8 2: 8 -5: -64 0: 8 5: 6 3: 7 2: 7 -6:-64 -64 3924: -9 9: -6 3: -4 2: 3 -8: 4 -9: 6 -7: -64 0: -5 4: -3 3: 3 -7: 5 -8: -64 0: -6 3: -4 5: -3 4: 4 -6: 6 -7: -64 0: 6 5: 4 5: 4 3: 6 3: 6 5: 4 3: 1 -1: -64 0: -1 -3: -4 -7: -6 -9: -4 -9: -4 -7: -6 -7: -6 -9: -64 0: -4 -2: -1 -2: -64 0: 1 -2: 4 -2:-64 -64 3925: -9 9: -7 3: -6 3: -5 2: -5 -7: -2 -9: 3 -7: -64 0: -5 4: -4 3: -4 -7: -2 -8: -64 0: -7 3: -5 5: -3 3: -3 -6: 0 -8: -64 0: 4 5: 6 3: 5 2: 5 -11: 4 -13: 3 -14: 1 -15: -1 -15: -3 -14: -5 -15: -3 -16: -1 -15: -64 0: 4 2: 5 3: 4 4: 3 3: 4 2: 4 -12: 3 -13: -64 0: -2 -15: -4 -15: -64 0: 4 5: 2 3: 3 2: 3 -12: 2 -14: 1 -15:-64 -64 3926: -6 9: 0 4: -3 2: -3 3: 0 4: 2 5: 5 3: 5 -1: 0 -3: -64 0: 2 4: 4 3: 4 -1: -64 0: 0 4: 3 2: 3 -1: 2 -2: -64 0: 0 -3: 5 -5: 5 -11: 4 -13: 3 -14: 1 -15: -1 -15: -3 -14: -5 -15: -3 -16: -1 -15: -64 0: 4 -5: 4 -12: 3 -13: -64 0: -2 -15: -4 -15: -64 0: 2 -4: 3 -5: 3 -12: 2 -14: 1 -15:-64 -64 3927: -9 9: -9 -16: 9 -16:-64 -64 3928: -11 9: -11 -16: 9 -16:-64 -64 3929: -10 10: -10 -16: 10 -16:-64 -64 3930: -13 16: -13 -16: 16 -16:-64 -64 3931: -11 11: -11 -16: 11 -16:-64 -64 3932: -12 12: -12 -16: 12 -16:-64 -64 3933: -13 13: -13 -16: 13 -16:-64 -64 3934: -8 8: -8 12: -8 -9: -7 -9: -7 12: -6 12: -6 -9: -5 -9: -5 12: -4 12: -4 -9: -3 -9: -3 12: -2 12: -2 -9: -1 -9: -1 12: 0 12: 0 -9: 1 -9: 1 12: 2 12: 2 -9: 3 -9: 3 12: 4 12: 4 -9: 5 -9: 5 12: 6 12: 6 -9: 7 -9: 7 12: 8 12: 8 -9:-64 -64 xgks-2.6.1+dfsg.2/src/fontdb/G.src0000644000175000017500000012035111413611016017643 0ustar amckinstryamckinstryU 16 # C ! m 15 105 n 10 100 n 0 95 n 10 90 n 15 35 m 15 90 n 20 95 n 15 100 n 10 95 n 15 90 n 15 35 m 15 105 n 20 100 n 30 95 n 20 90 n 15 35 m 15 15 n 5 5 n 15 0 n 25 5 n 15 15 m 15 10 n 10 5 n 20 5 n 15 10 E # C " m 5 105 n 0 100 n 0 70 m 5 100 n 0 70 m 5 105 n 10 100 n 0 70 m 50 105 n 45 100 n 45 70 m 50 100 n 45 70 m 50 105 n 55 100 n 45 70 E # C # m 40 125 n 5 -35 m 70 125 n 35 -35 m 5 60 n 75 60 m 0 30 n 70 30 E # C $ m 25 125 n 25 -20 m 45 125 n 45 -20 m 45 105 n 55 100 n 60 90 n 60 80 n 70 85 n 65 95 n 60 100 n 45 105 n 25 105 n 10 100 n 0 90 n 0 75 n 5 65 n 20 55 n 50 45 n 60 40 n 65 30 n 65 15 n 60 5 m 65 85 n 60 95 m 5 75 n 10 65 n 20 60 n 50 50 n 60 45 n 65 35 m 10 10 n 5 20 m 10 100 n 5 90 n 5 80 n 10 70 n 20 65 n 50 55 n 65 45 n 70 35 n 70 20 n 65 10 n 60 5 n 45 0 n 25 0 n 10 5 n 5 10 n 0 20 n 10 25 n 10 15 n 15 5 n 25 0 E # C & m 85 65 n 90 60 n 95 60 n 100 65 m 80 60 n 85 55 n 95 55 m 80 55 n 85 50 n 90 50 n 95 55 n 100 65 m 85 65 n 55 35 m 50 30 n 20 0 n 0 25 n 30 55 m 35 60 n 55 80 n 35 105 n 10 75 n 40 45 n 60 15 n 70 5 n 80 0 n 90 0 n 95 5 n 100 15 m 20 5 n 5 25 m 50 80 n 35 100 m 15 75 n 40 50 n 60 20 n 70 10 n 80 5 n 95 5 m 25 5 n 5 30 m 50 75 n 30 100 m 15 80 n 45 50 n 65 20 n 70 15 n 80 10 n 95 10 n 100 15 E # C ' m 10 75 n 10 85 n 0 95 n 10 105 n 15 95 n 15 85 n 10 75 n 0 70 m 10 100 n 5 95 n 10 90 n 10 100 E # C ( m 35 125 n 25 115 n 15 100 n 5 80 n 0 55 n 0 35 n 5 10 n 15 -10 n 25 -25 n 35 -35 m 15 95 n 10 80 n 5 60 n 5 30 n 10 10 n 15 -5 m 25 115 n 20 105 n 15 90 n 10 60 n 10 30 n 15 0 n 20 -15 n 25 -25 E # C ) m 0 125 n 10 115 n 20 100 n 30 80 n 35 55 n 35 35 n 30 10 n 20 -10 n 10 -25 n 0 -35 m 20 95 n 25 80 n 30 60 n 30 30 n 25 10 n 20 -5 m 10 115 n 15 105 n 20 90 n 25 60 n 25 30 n 20 0 n 15 -15 n 10 -25 E # C * m 25 105 n 20 100 n 30 50 n 25 45 m 25 105 n 25 45 m 25 105 n 30 100 n 20 50 n 25 45 m 0 90 n 5 90 n 45 60 n 50 60 m 0 90 n 50 60 m 0 90 n 0 85 n 50 65 n 50 60 m 50 90 n 45 90 n 5 60 n 0 60 m 50 90 n 0 60 m 50 90 n 50 85 n 0 65 n 0 60 E # C + m 40 90 n 40 5 n 45 5 m 40 90 n 45 90 n 45 5 m 0 50 n 85 50 n 85 45 m 0 50 n 0 45 n 85 45 E # C , m 10 -15 n 10 -5 n 0 5 n 10 15 n 15 5 n 15 -5 n 10 -15 n 0 -20 m 10 10 n 5 5 n 10 0 n 10 10 E # C - m 0 50 n 85 50 n 85 45 m 0 50 n 0 45 n 85 45 E # C . m 10 15 n 0 5 n 10 0 n 20 5 n 10 15 m 10 10 n 5 5 n 15 5 n 10 10 E # C / m 90 125 n 0 -35 n 5 -35 m 90 125 n 95 125 n 5 -35 E # C 0 m 10 95 n 10 15 n 0 10 m 15 90 n 15 15 n 30 5 m 20 95 n 20 15 n 30 10 n 35 5 m 10 95 n 20 95 n 45 100 n 55 105 m 45 100 n 50 95 n 60 90 n 60 10 m 50 100 n 65 90 n 65 15 m 55 105 n 60 100 n 70 95 n 80 95 n 70 90 n 70 10 m 0 10 n 10 10 n 20 5 n 25 0 n 35 5 n 60 10 n 70 10 E # C 1 m 0 95 n 5 90 n 10 80 n 10 15 n 0 10 m 10 90 n 5 95 n 10 100 n 15 90 n 15 10 n 25 5 m 0 95 n 15 105 n 20 95 n 20 15 n 30 10 n 35 10 m 0 10 n 5 10 n 15 5 n 20 0 n 25 5 n 35 10 E # C 2 m 5 95 n 15 95 n 25 100 n 30 105 n 40 100 n 55 95 n 65 95 m 25 95 n 35 100 m 5 95 n 15 90 n 25 90 n 35 95 n 40 100 m 55 95 n 55 55 m 60 90 n 60 60 m 65 95 n 65 55 n 30 55 n 15 50 n 5 40 n 0 25 n 0 0 m 0 0 n 20 10 n 40 15 n 55 15 n 75 10 m 15 5 n 30 10 n 55 10 n 70 5 m 0 0 n 25 5 n 50 5 n 65 0 n 75 10 E # C 3 m 5 95 n 10 95 n 20 100 n 25 105 n 35 100 n 55 95 n 65 95 m 20 95 n 30 100 m 5 95 n 15 90 n 25 90 n 35 100 m 55 95 n 55 60 m 60 90 n 60 65 m 65 95 n 65 60 n 55 60 n 40 55 n 30 50 m 30 55 n 40 50 n 55 45 n 65 45 n 65 10 m 60 40 n 60 15 m 55 45 n 55 10 m 0 10 n 10 15 n 20 15 n 30 10 n 35 5 m 20 10 n 30 5 m 0 10 n 10 10 n 20 5 n 25 0 n 35 5 n 55 10 n 65 10 E # C 4 m 50 105 n 0 55 n 0 30 n 45 30 m 55 30 n 75 30 n 80 25 n 80 35 n 75 30 m 5 55 n 5 35 m 10 65 n 10 30 m 45 100 n 45 15 n 35 10 m 50 85 n 55 95 n 50 100 n 50 10 n 60 5 m 50 105 n 60 95 n 55 85 n 55 15 n 65 10 n 70 10 m 35 10 n 40 10 n 50 5 n 55 0 n 60 5 n 70 10 E # C 5 m 5 105 n 5 60 m 5 105 n 65 105 m 10 100 n 55 100 m 5 95 n 50 95 n 60 100 n 65 105 m 55 75 n 50 70 n 40 65 n 20 60 n 5 60 m 40 65 n 45 65 n 55 60 n 55 10 m 50 70 n 60 65 n 60 15 m 55 75 n 60 70 n 70 65 n 75 65 n 65 60 n 65 10 m 0 10 n 10 15 n 20 15 n 30 10 n 35 5 m 20 10 n 30 5 m 0 10 n 10 10 n 20 5 n 25 0 n 35 5 n 55 10 n 65 10 E # C 6 m 10 95 n 10 15 n 0 10 m 15 90 n 15 15 n 30 5 m 20 95 n 20 15 n 30 10 n 35 5 m 10 95 n 20 95 n 40 100 n 50 105 n 55 100 n 65 95 n 70 95 m 45 100 n 55 95 m 40 100 n 50 90 n 60 90 n 70 95 m 20 55 n 25 55 n 45 60 n 55 65 n 60 70 m 45 60 n 50 60 n 60 55 n 60 10 m 55 65 n 65 55 n 65 15 m 60 70 n 65 65 n 75 60 n 80 60 n 70 55 n 70 10 m 0 10 n 10 10 n 20 5 n 25 0 n 35 5 n 60 10 n 70 10 E # C 7 m 0 95 n 10 105 n 25 100 n 50 100 n 75 105 m 5 100 n 20 95 n 45 95 n 60 100 m 0 95 n 20 90 n 35 90 n 55 95 n 75 105 m 75 105 n 70 95 n 60 80 n 40 60 n 30 45 n 25 30 n 25 15 n 30 0 m 35 50 n 30 35 n 30 20 n 35 5 m 50 70 n 40 55 n 35 40 n 35 25 n 40 10 n 30 0 E # C 8 m 10 90 n 10 60 m 15 85 n 15 65 m 20 90 n 20 60 m 10 90 n 20 90 n 45 95 n 55 100 n 60 105 m 45 95 n 50 95 n 60 90 n 60 60 m 55 100 n 65 95 n 65 65 m 60 105 n 65 100 n 75 95 n 80 95 n 70 90 n 70 60 m 10 60 n 20 60 n 60 45 n 70 45 m 70 60 n 60 60 n 20 45 n 10 45 m 10 45 n 10 15 n 0 10 m 15 40 n 15 15 n 30 5 m 20 45 n 20 15 n 30 10 n 35 5 m 60 45 n 60 10 m 65 40 n 65 15 m 70 45 n 70 10 m 0 10 n 10 10 n 20 5 n 25 0 n 35 5 n 60 10 n 70 10 E # C 9 m 10 95 n 10 50 n 0 45 m 15 90 n 15 45 n 25 40 m 20 95 n 20 50 n 30 45 n 35 45 m 10 95 n 20 95 n 45 100 n 55 105 m 45 100 n 50 95 n 60 90 n 60 10 m 50 100 n 65 90 n 65 15 m 55 105 n 60 100 n 70 95 n 80 95 n 70 90 n 70 10 m 0 45 n 5 45 n 15 40 n 20 35 n 25 40 n 35 45 n 55 50 n 60 50 m 5 10 n 15 15 n 25 15 n 35 10 n 40 5 m 25 10 n 35 5 m 5 10 n 15 10 n 25 5 n 30 0 n 40 5 n 60 10 n 70 10 E # C : m 10 70 n 0 60 n 10 55 n 20 60 n 10 70 m 10 65 n 5 60 n 15 60 n 10 65 m 10 15 n 0 5 n 10 0 n 20 5 n 10 15 m 10 10 n 5 5 n 15 5 n 10 10 E # C ; m 10 70 n 0 60 n 10 55 n 20 60 n 10 70 m 10 65 n 5 60 n 15 60 n 10 65 m 10 -15 n 10 -5 n 0 5 n 10 15 n 15 5 n 15 -5 n 10 -15 n 0 -20 m 10 10 n 5 5 n 10 0 n 10 10 E # C < m 80 90 n 0 45 n 80 0 E # C = m 0 70 n 85 70 n 85 65 m 0 70 n 0 65 n 85 65 m 0 30 n 85 30 n 85 25 m 0 30 n 0 25 n 85 25 E # C > m 0 90 n 80 45 n 0 0 E # C ? m 0 85 n 5 95 n 10 100 n 25 105 n 35 105 n 50 100 n 55 95 n 60 85 n 60 75 n 55 65 n 45 55 n 35 50 m 5 85 n 10 95 m 50 95 n 55 90 n 55 70 n 50 65 m 0 85 n 10 80 n 10 90 n 15 100 n 25 105 m 35 105 n 45 100 n 50 90 n 50 70 n 45 60 n 35 50 m 30 50 n 30 35 n 35 50 n 25 50 n 30 35 m 30 15 n 20 5 n 30 0 n 40 5 n 30 15 m 30 10 n 25 5 n 35 5 n 30 10 E # C @ m 75 65 n 70 75 n 60 80 n 45 80 n 35 75 n 30 70 n 25 55 n 25 40 n 30 30 n 40 25 n 55 25 n 65 30 n 70 40 m 45 80 n 35 70 n 30 55 n 30 40 n 35 30 n 40 25 m 75 80 n 70 40 n 70 30 n 80 25 n 90 25 n 100 35 n 105 50 n 105 60 n 100 75 n 95 85 n 85 95 n 75 100 n 60 105 n 45 105 n 30 100 n 20 95 n 10 85 n 5 75 n 0 60 n 0 45 n 5 30 n 10 20 n 20 10 n 30 5 n 45 0 n 60 0 n 75 5 n 85 10 n 90 15 m 80 80 n 75 40 n 75 30 n 80 25 E # C A m 25 90 n 35 100 n 45 105 n 55 105 n 60 100 n 95 20 n 100 15 n 110 15 m 50 100 n 55 95 n 90 15 n 95 5 n 100 10 n 90 15 m 35 100 n 45 100 n 50 95 n 85 15 n 90 5 n 95 0 n 100 0 n 110 15 m 25 70 n 30 75 n 40 80 n 45 80 n 50 75 m 45 75 n 45 70 m 30 75 n 40 75 n 45 65 m 0 0 n 10 10 n 20 15 n 35 15 n 45 10 m 15 10 n 35 10 n 40 5 m 0 0 n 15 5 n 30 5 n 35 0 n 45 10 m 55 85 n 25 15 m 35 40 n 75 40 E # C B m 0 95 n 10 105 n 25 105 n 35 100 n 45 105 m 15 100 n 30 100 m 0 95 n 10 100 n 20 95 n 35 95 n 45 105 m 25 80 n 20 75 n 15 65 n 15 60 n 5 60 n 0 55 n 0 45 n 5 50 n 15 50 n 15 20 m 20 70 n 20 30 m 5 55 n 20 55 m 25 80 n 25 35 n 20 25 n 15 20 m 50 90 n 45 85 n 40 75 n 40 30 m 45 80 n 45 40 m 50 90 n 50 45 n 45 35 n 40 30 m 50 90 n 80 105 n 90 100 n 95 90 n 95 80 n 85 70 n 65 60 m 80 100 n 90 90 n 90 80 m 70 100 n 80 95 n 85 90 n 85 75 n 75 65 m 75 65 n 90 55 n 95 45 n 95 15 m 85 55 n 90 45 n 90 20 m 75 65 n 80 60 n 85 50 n 85 15 m 10 0 n 25 10 n 40 15 n 60 15 n 75 10 m 20 5 n 35 10 n 60 10 n 70 5 m 10 0 n 30 5 n 55 5 n 65 0 n 75 10 n 85 15 n 95 15 m 65 60 n 65 15 m 65 45 n 85 45 m 65 30 n 85 30 E # C C m 30 100 n 20 95 n 10 85 n 5 75 n 0 60 n 0 40 n 5 25 n 10 15 n 25 5 n 40 0 n 55 0 n 70 5 n 80 10 n 90 20 n 95 30 m 10 80 n 5 65 n 5 40 n 15 20 n 30 10 n 45 5 n 60 5 n 75 10 m 30 100 n 20 90 n 15 80 n 10 65 n 10 45 n 15 30 n 30 15 n 45 10 n 60 10 n 75 15 n 85 20 n 95 30 m 40 85 n 40 25 m 45 85 n 45 35 m 50 90 n 50 40 n 45 30 n 40 25 m 40 85 n 50 90 n 65 105 n 75 100 n 85 100 n 90 105 m 60 100 n 70 95 n 80 95 m 55 95 n 65 90 n 75 90 n 85 95 n 90 105 m 75 90 n 75 15 E # C D m 0 105 n 70 105 n 80 100 n 85 90 n 85 15 m 10 100 n 70 100 n 80 90 n 80 20 m 0 105 n 5 100 n 15 95 n 70 95 n 75 90 n 75 15 m 30 80 n 25 75 n 20 65 n 20 60 n 10 60 n 5 55 n 5 45 n 10 50 n 20 50 n 20 25 m 25 70 n 25 35 m 10 55 n 25 55 m 30 80 n 30 40 n 25 30 n 20 25 m 0 0 n 15 10 n 30 15 n 50 15 n 65 10 m 10 5 n 25 10 n 50 10 n 60 5 m 0 0 n 20 5 n 45 5 n 55 0 n 65 10 n 75 15 n 85 15 m 45 95 n 45 15 m 45 70 n 55 65 n 65 65 n 75 70 m 45 40 n 55 45 n 65 45 n 75 40 E # C E m 0 95 n 10 105 n 20 105 n 30 100 n 40 105 m 15 100 n 25 100 m 0 95 n 10 100 n 20 95 n 30 95 n 40 105 m 25 80 n 20 75 n 15 65 n 15 60 n 5 60 n 0 55 n 0 45 n 5 50 n 15 50 n 15 20 m 20 70 n 20 30 m 5 55 n 20 55 m 25 80 n 25 35 n 20 25 n 15 20 m 40 70 n 45 85 n 50 95 n 55 100 n 65 105 n 75 105 n 90 100 m 55 95 n 65 100 n 75 100 n 85 95 m 45 85 n 50 90 n 60 95 n 70 95 n 80 90 n 90 100 m 40 30 n 45 45 n 50 55 n 55 60 n 65 60 n 75 55 m 55 55 n 65 55 n 70 50 m 45 45 n 50 50 n 60 50 n 65 45 n 75 55 m 10 0 n 25 10 n 45 15 n 70 15 n 90 10 m 20 5 n 35 10 n 70 10 n 85 5 m 10 0 n 30 5 n 65 5 n 80 0 n 90 10 m 40 70 n 40 15 E # C F m 15 95 n 25 105 n 40 105 n 50 100 n 60 105 m 30 100 n 45 100 m 15 95 n 25 100 n 35 95 n 50 95 n 60 105 m 45 80 n 40 75 n 35 65 n 35 60 n 25 60 n 20 55 n 20 45 n 25 50 n 35 50 n 35 25 m 40 70 n 40 35 m 25 55 n 40 55 m 45 80 n 45 40 n 40 30 n 35 25 m 60 85 n 60 10 n 55 5 n 50 5 n 30 15 n 20 15 n 10 10 n 0 0 m 65 85 n 65 15 m 65 55 n 85 55 m 45 5 n 40 5 n 30 10 n 15 10 m 70 90 n 70 60 n 85 60 m 85 50 n 70 50 n 70 20 n 65 10 n 45 0 n 35 0 n 25 5 n 15 5 n 0 0 m 60 85 n 70 90 n 85 105 n 95 100 n 105 100 n 110 105 m 80 100 n 90 95 n 100 95 m 75 95 n 85 90 n 95 90 n 105 95 n 110 105 m 85 90 n 85 20 E # C G m 30 100 n 20 95 n 10 85 n 5 75 n 0 60 n 0 45 n 5 30 n 10 20 n 20 10 n 30 5 n 45 0 n 65 0 n 80 5 n 90 15 n 95 25 n 95 40 n 90 50 n 85 55 n 75 60 n 65 60 m 10 80 n 5 65 n 5 40 n 10 25 m 30 100 n 20 90 n 15 80 n 10 65 n 10 40 n 15 25 n 20 15 n 30 5 m 85 15 n 90 20 n 90 40 n 85 50 m 65 0 n 75 5 n 80 10 n 85 20 n 85 40 n 80 50 n 75 55 n 65 60 m 40 85 n 40 20 m 45 85 n 45 30 m 50 90 n 50 35 n 45 25 n 40 20 m 40 85 n 50 90 n 65 105 n 75 100 n 85 100 n 90 105 m 60 100 n 70 95 n 80 95 m 55 95 n 65 90 n 75 90 n 85 95 n 90 105 m 85 95 n 65 60 n 65 0 m 65 40 n 85 40 m 65 25 n 85 25 E # C H m 0 95 n 10 105 n 25 105 n 35 100 n 45 105 m 15 100 n 30 100 m 0 95 n 10 100 n 20 95 n 35 95 n 45 105 m 25 80 n 20 75 n 15 65 n 15 60 n 5 60 n 0 55 n 0 45 n 5 50 n 15 50 n 15 20 m 20 70 n 20 30 m 5 55 n 20 55 m 25 80 n 25 35 n 20 25 n 15 20 m 10 0 n 25 10 n 40 15 n 55 15 n 65 10 m 20 5 n 35 10 n 50 10 n 60 5 m 10 0 n 30 5 n 45 5 n 55 0 n 65 10 m 50 90 n 45 85 n 40 75 n 40 30 m 45 80 n 45 40 m 50 90 n 50 45 n 45 35 n 40 30 m 50 90 n 60 100 n 70 105 n 80 105 n 90 100 m 75 100 n 80 100 n 85 95 m 60 100 n 70 100 n 80 90 n 90 100 m 65 60 n 75 65 n 85 75 n 90 70 n 95 55 n 95 35 n 90 15 n 80 0 m 80 70 n 85 65 n 90 55 n 90 30 n 85 15 m 75 65 n 80 65 n 85 55 n 85 30 n 80 0 m 65 60 n 65 10 m 65 45 n 85 45 m 65 30 n 85 30 E # C I m 15 95 n 25 105 n 40 105 n 55 100 n 65 105 m 30 100 n 50 100 m 15 95 n 25 100 n 40 95 n 55 95 n 65 105 m 50 80 n 45 75 n 40 65 n 40 60 n 30 60 n 25 55 n 25 45 n 30 50 n 40 50 n 40 25 m 45 70 n 45 35 m 30 55 n 45 55 m 50 80 n 50 40 n 45 30 n 40 25 m 80 95 n 70 85 n 65 70 n 65 15 n 60 5 n 50 5 n 30 15 n 20 15 n 10 10 n 0 0 m 70 80 n 70 20 m 45 5 n 40 5 n 30 10 n 15 10 m 80 95 n 75 85 n 75 25 n 70 15 n 60 5 n 50 0 n 35 0 n 25 5 n 10 5 n 0 0 E # C J m 10 95 n 20 105 n 35 105 n 50 100 n 60 105 m 25 100 n 45 100 m 10 95 n 20 100 n 35 95 n 50 95 n 60 105 m 45 80 n 40 75 n 35 65 n 35 60 n 25 60 n 20 55 n 20 45 n 25 50 n 35 50 n 35 25 m 40 70 n 40 35 m 25 55 n 40 55 m 45 80 n 45 40 n 40 30 n 35 25 m 75 95 n 65 85 n 60 70 n 60 15 n 55 5 m 65 80 n 65 20 m 75 95 n 70 85 n 70 25 n 65 15 n 55 5 n 40 0 n 25 0 n 10 5 n 0 15 n 0 25 n 5 30 n 10 30 n 15 25 n 10 20 n 5 20 m 0 25 n 15 25 E # C K m 0 95 n 10 105 n 25 105 n 35 100 n 45 105 m 15 100 n 30 100 m 0 95 n 10 100 n 20 95 n 35 95 n 45 105 m 25 80 n 20 75 n 15 65 n 15 60 n 5 60 n 0 55 n 0 45 n 5 50 n 15 50 n 15 20 m 20 70 n 20 30 m 5 55 n 20 55 m 25 80 n 25 35 n 20 25 n 15 20 m 10 0 n 25 10 n 40 15 n 55 15 n 65 10 m 20 5 n 30 10 n 50 10 n 60 5 m 10 0 n 30 5 n 45 5 n 55 0 n 65 10 m 50 90 n 45 85 n 40 75 n 40 30 m 45 80 n 45 40 m 50 90 n 50 45 n 45 35 n 40 30 m 50 90 n 60 100 n 70 105 n 80 105 n 90 100 m 75 100 n 80 100 n 85 95 m 60 100 n 70 100 n 80 90 n 90 100 m 65 60 n 80 75 n 85 70 n 95 65 m 75 70 n 85 65 n 95 65 m 95 65 n 85 50 n 75 40 n 65 30 m 75 40 n 85 35 n 90 15 n 95 5 n 100 5 m 85 25 n 90 5 m 75 40 n 80 35 n 85 5 n 90 0 n 95 0 n 100 5 m 65 60 n 65 10 E # C L m 0 95 n 10 105 n 25 105 n 35 100 n 45 105 m 15 100 n 30 100 m 0 95 n 10 100 n 20 95 n 35 95 n 45 105 m 25 80 n 20 75 n 15 65 n 15 60 n 5 60 n 0 55 n 0 45 n 5 50 n 15 50 n 15 20 m 20 70 n 20 30 m 5 55 n 20 55 m 25 80 n 25 35 n 20 25 n 15 20 m 10 0 n 25 10 n 45 15 n 70 15 n 90 10 m 20 5 n 35 10 n 70 10 n 85 5 m 10 0 n 30 5 n 65 5 n 80 0 n 90 10 m 50 90 n 45 85 n 40 75 n 40 30 m 45 80 n 45 40 m 50 90 n 50 45 n 45 35 n 40 30 m 50 90 n 60 100 n 70 105 n 80 105 n 90 100 m 75 100 n 80 100 n 85 95 m 60 100 n 70 100 n 80 90 n 90 100 m 70 100 n 70 15 E # C M m 35 85 n 30 80 n 25 70 n 25 60 n 15 60 n 10 55 n 10 45 n 15 50 n 25 50 n 25 30 m 30 75 n 30 40 m 15 55 n 30 55 m 35 85 n 35 45 n 30 35 n 25 30 m 0 0 n 10 10 n 20 15 n 30 15 n 40 10 n 45 10 n 50 15 m 15 10 n 30 10 n 40 5 m 0 0 n 10 5 n 25 5 n 35 0 n 40 0 n 45 5 n 50 15 m 35 85 n 55 105 n 75 85 n 75 20 n 80 10 n 85 10 m 55 100 n 70 85 n 70 15 n 65 10 n 70 5 n 75 10 n 70 15 m 55 55 n 70 55 m 45 95 n 50 95 n 65 80 n 65 60 n 50 60 m 50 50 n 65 50 n 65 15 n 60 10 n 70 0 n 85 10 n 90 15 m 75 85 n 95 105 n 115 85 n 115 20 n 120 10 n 125 10 m 95 100 n 110 85 n 110 15 n 120 5 m 95 55 n 110 55 m 85 95 n 90 95 n 105 80 n 105 60 n 90 60 m 90 50 n 105 50 n 105 10 n 115 0 n 125 10 m 50 95 n 50 15 m 90 95 n 90 15 E # C N m 0 90 n 10 100 n 20 105 n 30 105 n 40 100 n 50 85 n 75 30 n 85 15 n 90 10 m 30 100 n 40 90 n 45 80 n 75 20 n 90 5 m 10 100 n 20 100 n 30 95 n 40 80 n 65 25 n 75 10 n 80 5 n 90 0 m 75 95 n 85 90 n 95 90 n 105 95 n 110 105 m 80 100 n 90 95 n 100 95 m 75 95 n 85 105 n 95 100 n 105 100 n 110 105 m 20 60 n 10 60 n 5 55 n 5 45 n 10 50 n 20 50 m 10 55 n 20 55 m 0 0 n 10 10 n 20 15 n 35 15 n 45 10 m 15 10 n 30 10 n 40 5 m 0 0 n 15 5 n 30 5 n 35 0 n 45 10 m 20 100 n 20 15 m 90 90 n 90 0 m 55 75 n 60 70 n 70 65 n 80 65 n 90 70 m 20 35 n 30 40 n 50 40 n 60 35 E # C O m 30 105 n 20 100 n 10 90 n 5 80 n 0 65 n 0 45 n 5 30 n 10 20 n 20 10 n 30 5 n 45 0 n 55 0 n 70 5 n 80 10 n 90 20 n 95 30 n 100 45 n 100 65 n 95 80 n 90 90 n 80 100 n 70 105 n 65 100 n 50 90 n 35 85 m 10 85 n 5 70 n 5 40 n 10 25 m 30 105 n 20 95 n 15 85 n 10 70 n 10 40 n 15 25 n 20 15 n 30 5 m 90 25 n 95 40 n 95 70 n 85 90 n 80 95 m 70 5 n 80 15 n 85 25 n 90 40 n 90 70 n 85 80 n 75 95 n 65 100 m 35 85 n 35 20 m 40 85 n 40 30 m 45 85 n 45 35 n 40 25 n 35 20 m 65 100 n 65 5 m 65 70 n 75 65 n 80 65 n 90 70 m 65 40 n 75 45 n 80 45 n 90 40 E # C P m 5 105 n 10 100 n 15 90 n 15 60 n 5 60 n 0 55 n 0 45 n 5 50 n 15 50 n 15 10 n 0 0 n 15 5 n 15 -35 n 25 -25 m 15 95 n 20 85 n 20 -25 m 5 55 n 20 55 m 5 105 n 15 100 n 20 95 n 25 85 n 25 -25 m 25 80 n 40 90 n 60 105 n 80 85 n 80 15 m 60 100 n 75 85 n 75 15 m 50 95 n 55 95 n 70 80 n 70 10 m 40 15 n 55 15 n 70 10 m 45 10 n 55 10 n 65 5 m 40 5 n 50 5 n 60 0 n 70 10 n 80 15 m 40 90 n 40 -20 m 40 70 n 50 65 n 60 65 n 70 70 m 40 40 n 50 45 n 60 45 n 70 40 E # C Q m 30 105 n 20 100 n 10 90 n 5 80 n 0 65 n 0 45 n 5 30 n 10 20 n 20 10 n 30 5 n 40 0 n 60 0 n 70 5 n 80 10 n 90 20 n 95 30 n 100 45 n 100 65 n 95 80 n 90 90 n 80 100 n 70 105 n 65 100 n 50 90 n 35 85 m 10 85 n 5 70 n 5 40 n 10 25 m 30 105 n 20 95 n 15 85 n 10 70 n 10 40 n 15 25 n 20 15 n 30 5 m 90 25 n 95 40 n 95 70 n 85 90 n 80 95 m 70 5 n 80 15 n 85 25 n 90 40 n 90 70 n 85 80 n 75 95 n 65 100 m 35 85 n 35 20 m 40 85 n 40 30 m 45 85 n 45 35 n 40 25 n 35 20 m 65 100 n 65 5 m 65 70 n 75 65 n 80 65 n 90 70 m 65 40 n 75 45 n 80 45 n 90 40 m 40 0 n 45 5 n 50 5 n 60 0 n 80 -25 n 90 -30 n 95 -30 m 60 -5 n 70 -20 n 80 -30 n 85 -30 m 50 5 n 55 0 n 70 -30 n 80 -35 n 90 -35 n 95 -30 E # C R m 0 95 n 10 105 n 25 105 n 35 100 n 45 105 m 15 100 n 30 100 m 0 95 n 10 100 n 20 95 n 35 95 n 45 105 m 25 80 n 20 75 n 15 65 n 15 60 n 5 60 n 0 55 n 0 45 n 5 50 n 15 50 n 15 20 m 20 70 n 20 30 m 5 55 n 20 55 m 25 80 n 25 35 n 20 25 n 15 20 m 10 0 n 25 10 n 40 15 n 50 15 n 65 10 m 20 5 n 30 10 n 50 10 n 60 5 m 10 0 n 30 5 n 45 5 n 55 0 n 65 10 m 50 90 n 45 85 n 40 75 n 40 30 m 45 80 n 45 40 m 50 90 n 50 45 n 45 35 n 40 30 m 50 90 n 65 100 n 75 105 n 85 100 n 90 90 n 90 75 n 85 65 n 80 60 n 60 50 n 50 45 m 75 100 n 80 100 n 85 90 n 85 70 n 80 65 m 65 100 n 75 95 n 80 85 n 80 70 n 75 60 n 60 50 m 60 50 n 70 45 n 75 40 n 90 15 n 95 10 n 100 10 m 75 35 n 85 15 n 95 5 m 60 50 n 70 40 n 80 10 n 90 0 n 100 10 E # C S m 60 90 n 55 95 n 45 100 n 30 105 m 65 95 n 55 100 m 70 100 n 50 105 n 30 105 n 15 100 n 10 95 n 5 85 n 10 75 n 15 70 n 30 65 n 70 65 n 80 60 n 85 55 n 85 45 n 80 30 m 10 80 n 15 75 n 30 70 n 75 70 n 85 65 n 90 60 n 90 50 n 85 40 m 10 95 n 10 85 n 15 80 n 30 75 n 80 75 n 90 70 n 95 60 n 95 50 n 80 30 n 60 0 m 0 60 n 5 55 n 15 50 n 60 50 n 65 45 n 65 40 n 60 30 m 5 50 n 15 45 n 55 45 n 60 40 m 0 60 n 0 55 n 5 45 n 15 40 n 50 40 n 60 35 n 60 30 m 0 0 n 15 10 n 35 15 n 50 15 n 65 10 m 10 5 n 25 10 n 45 10 n 60 5 m 0 0 n 20 5 n 45 5 n 60 0 m 70 100 n 60 90 n 50 75 m 45 65 n 35 50 m 30 40 n 20 30 n 10 25 n 5 25 n 5 30 n 10 25 E # C T m 10 85 n 5 75 n 0 60 n 0 40 n 5 25 n 15 10 n 25 5 n 40 0 n 55 0 n 70 5 n 80 10 n 90 20 n 95 30 m 5 40 n 10 25 n 20 15 n 30 10 n 45 5 n 60 5 n 75 10 m 10 85 n 5 70 n 5 50 n 10 35 n 20 20 n 30 15 n 45 10 n 60 10 n 75 15 n 85 20 n 95 30 m 0 90 n 5 100 n 15 105 n 35 105 n 65 100 n 85 100 n 95 105 m 40 100 n 60 95 n 80 95 m 0 90 n 5 95 n 15 100 n 30 100 n 60 90 n 75 90 n 85 95 n 95 105 m 55 90 n 50 85 n 40 80 n 40 25 m 45 80 n 45 35 m 50 85 n 50 40 n 45 30 n 40 25 m 75 90 n 75 15 E # C U m 0 95 n 10 105 n 20 105 n 35 100 n 45 105 m 15 100 n 30 100 m 0 95 n 10 100 n 25 95 n 35 95 n 45 105 m 15 85 n 10 75 n 5 60 n 5 40 n 10 25 n 15 15 n 25 5 n 40 0 n 55 0 n 70 5 n 80 10 n 90 0 n 100 10 m 10 40 n 15 25 n 30 10 n 45 5 n 60 5 m 15 85 n 10 65 n 10 50 n 15 35 n 20 25 n 30 15 n 45 10 n 65 10 n 80 15 m 65 90 n 45 85 n 40 75 n 40 25 m 45 80 n 45 35 m 50 85 n 50 40 n 45 30 n 40 25 m 65 90 n 75 95 n 85 105 n 90 100 n 100 95 n 90 90 n 90 20 n 95 10 n 100 10 m 85 90 n 90 95 n 85 100 n 80 95 n 85 90 n 85 15 n 95 5 m 75 95 n 80 90 n 80 15 m 65 90 n 65 10 m 65 65 n 80 65 m 65 45 n 80 45 E # C V m 5 105 n 10 100 n 15 90 n 15 60 n 5 60 n 0 55 n 0 45 n 5 50 n 15 50 n 15 15 n 5 10 m 15 95 n 20 85 n 20 15 m 5 55 n 20 55 m 25 10 n 40 10 n 50 5 m 5 105 n 15 100 n 20 95 n 25 85 n 25 15 n 45 15 n 60 10 m 5 10 n 20 10 n 35 5 n 45 0 n 60 10 n 75 15 n 85 15 m 45 85 n 60 90 n 70 95 n 80 105 n 85 100 n 95 95 n 85 90 n 85 15 m 80 90 n 85 95 n 80 100 n 75 95 n 80 90 n 80 20 m 70 95 n 75 90 n 75 15 m 45 85 n 45 15 m 45 70 n 55 65 n 65 65 n 75 70 m 45 40 n 55 45 n 65 45 n 75 40 E # C W m 5 105 n 10 100 n 15 90 n 15 60 n 5 60 n 0 55 n 0 45 n 5 50 n 15 50 n 15 15 n 5 10 m 15 95 n 20 85 n 20 15 m 5 55 n 20 55 m 25 10 n 35 10 n 45 5 m 5 105 n 15 100 n 20 95 n 25 85 n 25 15 n 40 15 n 50 10 m 5 10 n 20 10 n 35 5 n 40 0 n 50 10 n 65 15 n 75 10 n 80 0 n 90 10 n 105 15 m 40 95 n 55 105 n 65 95 n 65 15 n 80 15 n 90 10 m 55 100 n 60 95 n 60 15 m 40 95 n 50 95 n 55 90 n 55 15 n 50 10 m 80 10 n 85 5 m 80 95 n 95 105 n 105 95 n 105 15 m 95 100 n 100 95 n 100 15 m 80 95 n 90 95 n 95 90 n 95 15 n 90 10 m 40 95 n 40 15 m 80 95 n 80 15 m 40 65 n 55 65 m 40 45 n 55 45 m 80 65 n 95 65 m 80 45 n 95 45 E # C X m 0 90 n 10 100 n 20 105 n 30 105 n 35 100 n 75 10 n 80 5 n 90 5 m 25 100 n 30 95 n 70 10 n 75 5 m 10 100 n 20 100 n 25 95 n 65 5 n 70 0 n 80 0 n 90 5 n 100 15 m 75 105 n 85 100 n 95 100 n 100 105 m 75 100 n 80 95 n 90 95 m 70 95 n 75 90 n 85 90 n 95 95 n 100 105 m 0 0 n 5 10 n 15 15 n 25 15 n 30 10 m 10 10 n 20 10 n 25 5 m 0 0 n 5 5 n 15 5 n 25 0 m 75 105 n 55 60 m 45 45 n 25 0 m 20 55 n 40 55 m 55 55 n 80 55 E # C Y m 5 105 n 10 100 n 15 90 n 15 60 n 5 60 n 0 55 n 0 45 n 5 50 n 15 50 n 15 15 n 5 10 m 15 95 n 20 85 n 20 15 m 5 55 n 20 55 m 25 10 n 40 10 n 50 5 m 5 105 n 15 100 n 20 95 n 25 85 n 25 15 n 45 15 n 60 10 m 5 10 n 20 10 n 35 5 n 45 0 n 60 10 n 75 15 m 45 85 n 60 90 n 70 95 n 80 105 n 85 100 n 95 95 n 85 90 n 85 -15 n 80 -25 n 70 -35 n 60 -30 n 40 -25 n 15 -25 m 80 90 n 85 95 n 80 100 n 75 95 n 80 90 n 80 10 m 70 95 n 75 90 n 75 15 n 85 0 m 75 -30 n 65 -25 n 50 -25 m 80 -25 n 65 -20 n 35 -20 n 15 -25 m 45 85 n 45 15 m 45 70 n 55 65 n 65 65 n 75 70 m 45 40 n 55 45 n 65 45 n 75 40 E # C Z m 70 100 n 65 90 n 40 60 n 25 40 n 15 20 n 0 0 m 60 80 n 20 25 m 80 105 n 65 85 n 55 65 n 40 45 n 15 15 n 10 5 m 0 95 n 10 105 n 25 100 n 55 100 n 80 105 m 5 100 n 25 95 n 45 95 n 65 100 m 0 95 n 20 90 n 40 90 n 60 95 n 70 100 m 10 5 n 20 10 n 40 15 n 60 15 n 80 10 m 15 5 n 35 10 n 55 10 n 75 5 m 0 0 n 25 5 n 55 5 n 70 0 n 80 10 m 15 55 n 35 55 m 50 55 n 70 55 E # C [ m 0 125 n 0 -35 m 5 125 n 5 -35 m 0 125 n 35 125 m 0 -35 n 35 -35 E # C \ m 0 105 n 70 -15 E # C ] m 30 125 n 30 -35 m 35 125 n 35 -35 m 0 125 n 35 125 m 0 -35 n 35 -35 E # C ^ m 40 115 n 0 45 m 40 115 n 80 45 E # C ` m 15 105 n 5 100 n 0 90 n 0 80 n 5 70 n 15 80 n 5 90 n 5 100 m 5 85 n 5 75 n 10 80 n 5 85 E # C a m 15 45 n 5 35 n 0 25 n 0 15 n 5 5 n 15 0 n 25 10 n 40 15 m 0 25 n 5 15 n 10 10 n 20 5 m 5 35 n 5 25 n 10 15 n 20 10 n 25 10 m 5 55 n 15 55 n 30 60 n 40 65 n 45 70 n 55 60 n 50 55 n 50 15 n 55 10 n 60 10 m 10 65 n 5 60 n 20 60 m 35 60 n 50 60 n 45 65 n 45 10 n 50 5 m 0 60 n 10 70 n 15 65 n 25 60 n 40 55 n 40 10 n 50 0 n 60 10 m 0 60 n 25 35 E # C b m 5 95 n 10 85 n 10 15 n 0 10 m 15 85 n 10 95 n 15 100 n 15 15 n 30 5 m 5 95 n 20 105 n 20 15 n 30 10 n 35 5 m 0 10 n 10 10 n 20 5 n 25 0 n 35 5 n 50 10 n 60 10 m 20 55 n 35 60 n 45 65 n 50 70 n 55 65 n 65 60 n 70 60 n 60 55 n 60 10 m 45 65 n 55 60 n 55 15 m 35 60 n 40 60 n 50 55 n 50 10 E # C c m 10 60 n 10 15 n 0 10 n 5 10 n 15 5 n 20 0 m 15 60 n 15 10 n 25 5 m 20 60 n 20 15 n 30 10 n 35 10 n 25 5 n 20 0 m 10 60 n 30 65 n 40 70 n 45 65 n 55 60 n 60 60 m 35 65 n 40 60 n 50 60 m 20 60 n 30 65 n 40 55 n 50 55 n 60 60 E # C d m 35 70 n 25 65 n 10 60 n 10 15 n 0 10 m 15 60 n 15 15 n 30 5 m 35 70 n 20 60 n 20 15 n 30 10 n 35 5 m 0 10 n 10 10 n 20 5 n 25 0 n 35 5 n 50 10 n 60 10 m 10 95 n 25 105 n 30 90 n 60 60 n 60 10 m 25 90 n 15 95 n 20 100 n 25 90 n 55 60 n 55 15 m 10 95 n 50 55 n 50 10 E # C e m 10 60 n 10 15 n 0 10 n 5 10 n 15 5 n 20 0 m 15 60 n 15 10 n 25 5 m 20 60 n 20 15 n 30 10 n 35 10 n 25 5 n 20 0 m 10 60 n 30 65 n 40 70 n 55 50 n 45 45 n 20 30 m 35 65 n 50 50 m 20 60 n 30 65 n 45 45 E # C f m 15 95 n 15 15 n 5 10 n 10 10 n 20 5 n 25 0 m 20 95 n 20 10 n 30 5 m 25 95 n 25 15 n 35 10 n 40 10 n 30 5 n 25 0 m 15 95 n 30 100 n 40 105 n 45 100 n 55 95 n 60 95 m 35 100 n 40 95 n 50 95 m 25 95 n 30 100 n 40 90 n 50 90 n 60 95 m 0 70 n 15 70 m 25 70 n 45 70 E # C g m 10 60 n 10 15 n 0 10 n 5 10 n 15 5 n 20 0 n 25 5 n 35 10 n 50 15 m 15 55 n 15 10 n 25 5 m 20 60 n 20 15 n 30 10 n 35 10 m 10 60 n 20 60 n 35 65 n 45 70 n 50 65 n 60 60 n 70 60 n 60 55 n 60 -5 n 55 -20 n 45 -30 n 35 -35 n 30 -30 n 20 -25 n 10 -25 m 40 65 n 55 55 n 55 -5 m 40 -30 n 30 -25 n 25 -25 m 35 65 n 40 60 n 50 55 n 50 5 n 55 -10 n 55 -20 m 45 -30 n 40 -25 n 30 -20 n 20 -20 n 10 -25 E # C h m 5 95 n 10 85 n 10 15 n 0 10 n 5 10 n 15 5 n 20 0 m 15 85 n 10 95 n 15 100 n 15 10 n 25 5 m 5 95 n 20 105 n 20 15 n 30 10 n 20 0 m 20 55 n 35 60 n 45 65 n 50 70 n 55 65 n 65 60 n 70 60 n 60 55 n 60 10 n 50 0 n 45 -10 m 45 65 n 55 60 n 55 10 n 50 0 m 35 60 n 40 60 n 50 55 n 50 10 n 45 -10 n 45 -25 n 50 -35 n 55 -35 n 45 -25 E # C i m 15 105 n 5 95 n 15 90 n 25 95 n 15 105 m 15 100 n 10 95 n 20 95 n 15 100 m 15 70 n 10 65 n 0 60 n 10 55 n 10 10 n 20 0 n 30 10 m 15 55 n 20 60 n 15 65 n 10 60 n 15 55 n 15 10 n 20 5 m 15 70 n 20 65 n 30 60 n 20 55 n 20 15 n 25 10 n 30 10 E # C j m 15 105 n 5 95 n 15 90 n 25 95 n 15 105 m 15 100 n 10 95 n 20 95 n 15 100 m 15 70 n 10 65 n 0 60 n 10 55 n 10 10 n 20 0 n 25 -10 m 15 55 n 20 60 n 15 65 n 10 60 n 15 55 n 15 10 n 20 0 m 15 70 n 20 65 n 30 60 n 20 55 n 20 10 n 25 -10 n 25 -25 n 15 -35 n 5 -35 n 5 -30 n 15 -35 E # C k m 5 95 n 10 85 n 10 15 n 0 10 n 5 10 n 15 5 n 20 0 m 15 85 n 10 95 n 15 100 n 15 10 n 25 5 m 5 95 n 20 105 n 20 15 n 30 10 n 20 0 m 20 55 n 35 65 n 45 70 n 55 55 n 40 45 n 20 30 m 40 65 n 50 55 m 35 65 n 45 50 m 40 45 n 45 40 n 55 15 n 60 10 n 65 10 m 40 40 n 45 35 n 50 10 n 55 5 m 35 40 n 40 35 n 45 10 n 55 0 n 65 10 E # C l m 5 95 n 10 85 n 10 15 n 0 10 n 5 10 n 15 5 n 20 0 m 15 85 n 10 95 n 15 100 n 15 10 n 25 5 m 5 95 n 20 105 n 20 15 n 30 10 n 35 10 n 25 5 n 20 0 E # C m m 0 60 n 5 60 n 10 55 n 10 15 n 0 10 n 5 10 n 15 5 n 20 0 m 10 65 n 15 60 n 15 10 n 25 5 m 0 60 n 10 70 n 20 60 n 20 15 n 30 10 n 20 0 m 20 55 n 35 60 n 45 65 n 50 70 n 60 60 n 60 15 n 70 10 n 60 0 m 45 65 n 55 60 n 55 10 n 65 5 m 35 60 n 40 60 n 50 55 n 50 15 n 45 10 n 55 5 n 60 0 m 60 55 n 75 60 n 85 65 n 90 70 n 95 65 n 105 60 n 110 60 n 100 55 n 100 15 n 105 10 n 110 10 m 85 65 n 95 60 n 95 10 n 100 5 m 75 60 n 80 60 n 90 55 n 90 10 n 100 0 n 110 10 E # C n m 0 60 n 5 60 n 10 55 n 10 15 n 0 10 n 5 10 n 15 5 n 20 0 m 10 65 n 15 60 n 15 10 n 25 5 m 0 60 n 10 70 n 20 60 n 20 15 n 30 10 n 20 0 m 20 55 n 35 60 n 45 65 n 50 70 n 55 65 n 65 60 n 70 60 n 60 55 n 60 15 n 65 10 n 70 10 m 45 65 n 55 60 n 55 10 n 60 5 m 35 60 n 40 60 n 50 55 n 50 10 n 60 0 n 70 10 E # C o m 10 60 n 10 15 n 0 10 m 15 55 n 15 15 n 30 5 m 20 60 n 20 15 n 30 10 n 35 5 m 0 10 n 10 10 n 20 5 n 25 0 n 35 5 n 50 10 n 60 10 m 10 60 n 20 60 n 35 65 n 45 70 n 50 65 n 60 60 n 70 60 n 60 55 n 60 10 m 40 65 n 55 55 n 55 15 m 35 65 n 40 60 n 50 55 n 50 10 E # C p m 5 70 n 10 60 n 10 15 n 0 10 n 10 10 n 10 -35 m 10 65 n 15 60 n 15 -30 n 20 -25 n 15 -15 m 15 10 n 20 10 n 30 5 m 5 70 n 15 65 n 20 60 n 20 15 n 30 10 n 35 5 m 20 5 n 25 0 n 35 5 n 50 10 n 60 10 m 20 5 n 20 -15 n 25 -25 n 10 -35 m 20 55 n 35 60 n 45 65 n 50 70 n 55 65 n 65 60 n 70 60 n 60 55 n 60 10 m 45 65 n 55 60 n 55 15 m 35 60 n 40 60 n 50 55 n 50 10 E # C q m 10 60 n 10 15 n 0 10 m 15 55 n 15 10 n 25 5 m 20 60 n 20 15 n 30 10 n 35 10 m 0 10 n 5 10 n 15 5 n 20 0 n 25 5 n 35 10 n 50 15 m 10 60 n 20 60 n 35 65 n 45 70 n 50 65 n 60 60 n 70 60 n 60 55 n 60 -35 m 40 65 n 55 55 n 55 -30 n 50 -25 n 55 -15 m 35 65 n 40 60 n 50 55 n 50 -15 n 45 -25 n 60 -35 E # C r m 0 60 n 5 60 n 10 55 n 10 15 n 0 10 n 5 10 n 15 5 n 20 0 m 5 65 n 15 60 n 15 10 n 25 5 m 0 60 n 10 70 n 20 60 n 20 15 n 30 10 n 35 10 n 25 5 n 20 0 m 20 60 n 40 70 n 45 65 n 55 60 n 60 60 m 35 65 n 40 60 n 50 60 m 30 65 n 40 55 n 50 55 n 60 60 E # C s m 5 60 n 5 40 n 15 35 n 45 35 n 55 30 n 55 10 m 10 60 n 10 40 m 50 30 n 50 10 m 20 65 n 15 60 n 15 40 n 25 35 m 35 35 n 45 30 n 45 10 n 40 5 m 5 60 n 20 65 n 30 70 n 40 65 n 50 65 n 55 70 m 25 65 n 35 65 m 20 65 n 30 60 n 40 60 n 50 65 m 55 10 n 40 5 n 30 0 n 20 5 n 10 5 n 0 0 m 35 5 n 25 5 m 40 5 n 30 10 n 15 10 n 0 0 m 55 70 n 50 60 n 40 45 n 15 20 n 0 0 E # C t m 10 95 n 15 85 n 15 15 n 5 10 n 10 10 n 20 5 n 25 0 m 20 85 n 15 95 n 20 100 n 20 10 n 30 5 m 10 95 n 25 105 n 25 15 n 35 10 n 40 10 n 30 5 n 25 0 m 0 70 n 15 70 m 25 70 n 40 70 E # C u m 0 60 n 5 60 n 10 55 n 10 15 n 0 10 m 5 65 n 15 60 n 15 10 n 25 5 m 0 60 n 10 70 n 20 60 n 20 15 n 30 10 n 35 10 m 0 10 n 5 10 n 15 5 n 20 0 n 25 5 n 35 10 n 50 15 m 50 70 n 55 65 n 65 60 n 70 60 n 60 55 n 60 15 n 65 10 n 70 10 m 45 65 n 55 60 n 55 10 n 60 5 m 50 70 n 40 60 n 50 55 n 50 10 n 60 0 n 70 10 E # C v m 0 70 n 5 60 n 5 15 n 20 0 n 30 10 n 45 15 n 55 15 m 5 65 n 10 60 n 10 15 n 25 5 m 0 70 n 10 65 n 15 60 n 15 20 n 20 15 n 30 10 m 45 70 n 50 65 n 60 60 n 65 60 n 55 55 n 55 15 m 40 65 n 50 60 n 50 20 m 45 70 n 35 60 n 45 55 n 45 15 E # C w m 0 70 n 5 60 n 5 15 n 20 0 n 30 10 n 45 15 m 5 65 n 10 60 n 10 15 n 25 5 m 0 70 n 10 65 n 15 60 n 15 20 n 20 15 n 30 10 m 45 70 n 35 60 n 45 55 n 45 15 n 60 0 n 70 10 n 85 15 n 95 15 m 40 65 n 50 60 n 50 15 n 65 5 m 45 70 n 50 65 n 60 60 n 55 55 n 55 20 n 60 15 n 70 10 m 85 70 n 90 65 n 100 60 n 105 60 n 95 55 n 95 15 m 80 65 n 90 60 n 90 20 m 85 70 n 75 60 n 85 55 n 85 15 E # C x m 5 60 n 10 60 n 20 55 n 25 50 n 45 10 n 50 5 n 60 0 n 70 10 m 15 65 n 25 60 n 50 10 n 60 5 m 5 60 n 15 70 n 25 65 n 30 60 n 50 20 n 55 15 n 65 10 n 70 10 m 40 40 n 55 70 n 60 65 n 70 65 n 75 70 m 55 65 n 60 60 n 65 60 m 50 60 n 60 55 n 70 60 n 75 70 m 35 30 n 20 0 n 15 5 n 5 5 n 0 0 m 20 5 n 15 10 n 10 10 m 25 10 n 15 15 n 5 10 n 0 0 m 15 35 n 30 35 m 45 35 n 60 35 E # C y m 0 60 n 5 60 n 10 55 n 10 15 n 0 10 m 5 65 n 15 60 n 15 10 n 25 5 m 0 60 n 10 70 n 20 60 n 20 15 n 30 10 n 35 10 m 0 10 n 5 10 n 15 5 n 20 0 n 25 5 n 35 10 n 50 15 m 50 70 n 55 65 n 65 60 n 70 60 n 60 55 n 60 -5 n 55 -20 n 45 -30 n 35 -35 n 30 -30 n 20 -25 n 10 -25 m 45 65 n 55 60 n 55 -5 m 40 -30 n 30 -25 n 25 -25 m 50 70 n 40 60 n 50 55 n 50 5 n 55 -10 n 55 -20 m 45 -30 n 40 -25 n 30 -20 n 20 -20 n 10 -25 E # C z m 60 70 n 0 0 m 0 60 n 10 55 n 25 55 n 40 60 n 60 70 m 5 65 n 15 60 n 35 60 m 0 60 n 10 70 n 20 65 n 40 65 n 60 70 m 0 0 n 20 10 n 35 15 n 50 15 n 60 10 m 25 10 n 45 10 n 55 5 m 0 0 n 20 5 n 40 5 n 50 0 n 60 10 m 10 35 n 50 35 E # C { m 25 125 n 15 120 n 10 115 n 5 105 n 5 95 n 10 85 n 15 80 n 20 70 n 20 60 n 10 50 m 15 120 n 10 110 n 10 100 n 15 90 n 20 85 n 25 75 n 25 65 n 20 55 n 0 45 n 20 35 n 25 25 n 25 15 n 20 5 n 15 0 n 10 -10 n 10 -20 n 15 -30 m 10 40 n 20 30 n 20 20 n 15 10 n 10 5 n 5 -5 n 5 -15 n 10 -25 n 15 -30 n 25 -35 E # C | m 0 125 n 0 -35 E # C } m 0 125 n 10 120 n 15 115 n 20 105 n 20 95 n 15 85 n 10 80 n 5 70 n 5 60 n 15 50 m 10 120 n 15 110 n 15 100 n 10 90 n 5 85 n 0 75 n 0 65 n 5 55 n 25 45 n 5 35 n 0 25 n 0 15 n 5 5 n 10 0 n 15 -10 n 15 -20 n 10 -30 m 15 40 n 5 30 n 5 20 n 10 10 n 15 5 n 20 -5 n 20 -15 n 15 -25 n 10 -30 n 0 -35 E # C ~ m 0 30 n 0 40 n 5 55 n 15 60 n 25 60 n 35 55 n 55 40 n 65 35 n 75 35 n 85 40 n 90 50 m 0 40 n 5 50 n 15 55 n 25 55 n 35 50 n 55 35 n 65 30 n 75 30 n 85 35 n 90 50 n 90 60 E # C *A m 45 105 n 10 0 m 45 105 n 80 0 m 45 90 n 75 0 m 20 30 n 65 30 m 0 0 n 30 0 m 60 0 n 90 0 E # C *B m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 60 105 n 75 100 n 80 95 n 85 85 n 85 75 n 80 65 n 75 60 n 60 55 m 60 105 n 70 100 n 75 95 n 80 85 n 80 75 n 75 65 n 70 60 n 60 55 m 20 55 n 60 55 n 75 50 n 80 45 n 85 35 n 85 20 n 80 10 n 75 5 n 60 0 n 0 0 m 60 55 n 70 50 n 75 45 n 80 35 n 80 20 n 75 10 n 70 5 n 60 0 E # C *Q m 45 105 n 45 0 m 50 105 n 50 0 m 0 70 n 5 75 n 15 70 n 20 50 n 25 40 n 30 35 n 40 30 m 5 75 n 10 70 n 15 50 n 20 40 n 25 35 n 40 30 n 55 30 n 70 35 n 75 40 n 80 50 n 85 70 n 90 75 m 55 30 n 65 35 n 70 40 n 75 50 n 80 70 n 90 75 n 95 70 m 30 105 n 65 105 m 30 0 n 65 0 E # C *D m 40 105 n 0 0 m 40 105 n 80 0 m 40 90 n 75 0 m 5 5 n 75 5 m 0 0 n 80 0 E # C *E m 15 105 n 15 0 m 20 105 n 20 0 m 50 75 n 50 35 m 0 105 n 80 105 n 80 75 n 75 105 m 20 55 n 50 55 m 0 0 n 80 0 n 80 30 n 75 0 E # C *F m 35 105 n 35 0 m 40 105 n 40 0 m 25 80 n 10 75 n 5 70 n 0 60 n 0 45 n 5 35 n 10 30 n 25 25 n 50 25 n 65 30 n 70 35 n 75 45 n 75 60 n 70 70 n 65 75 n 50 80 n 25 80 m 25 80 n 15 75 n 10 70 n 5 60 n 5 45 n 10 35 n 15 30 n 25 25 m 50 25 n 60 30 n 65 35 n 70 45 n 70 60 n 65 70 n 60 75 n 50 80 m 20 105 n 55 105 m 20 0 n 55 0 E # C *G m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 75 105 n 75 75 n 70 105 m 0 0 n 35 0 E # C *Y m 15 105 n 15 0 m 20 105 n 20 0 m 80 105 n 80 0 m 85 105 n 85 0 m 0 105 n 35 105 m 65 105 n 100 105 m 20 55 n 80 55 m 0 0 n 35 0 m 65 0 n 100 0 E # C *I m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 35 105 m 0 0 n 35 0 E # C *C m 5 110 n 0 85 m 80 110 n 75 85 m 25 65 n 20 40 m 60 65 n 55 40 m 5 20 n 0 -5 m 80 20 n 75 -5 m 5 100 n 75 100 m 5 95 n 75 95 m 25 55 n 55 55 m 25 50 n 55 50 m 5 10 n 75 10 m 5 5 n 75 5 E # C *K m 15 105 n 15 0 m 20 105 n 20 0 m 85 105 n 20 40 m 45 60 n 85 0 m 40 60 n 80 0 m 0 105 n 35 105 m 65 105 n 95 105 m 0 0 n 35 0 m 65 0 n 95 0 E # C *L m 45 105 n 10 0 m 45 105 n 80 0 m 45 90 n 75 0 m 0 0 n 30 0 m 60 0 n 90 0 E # C *M m 15 105 n 15 0 m 20 105 n 50 15 m 15 105 n 50 0 m 85 105 n 50 0 m 85 105 n 85 0 m 90 105 n 90 0 m 0 105 n 20 105 m 85 105 n 105 105 m 0 0 n 30 0 m 70 0 n 105 0 E # C *N m 15 105 n 15 0 m 20 105 n 80 10 m 20 95 n 80 0 m 80 105 n 80 0 m 0 105 n 20 105 m 65 105 n 95 105 m 0 0 n 30 0 E # C *O m 35 105 n 20 100 n 10 90 n 5 80 n 0 60 n 0 45 n 5 25 n 10 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 n 75 25 n 80 45 n 80 60 n 75 80 n 70 90 n 60 100 n 45 105 n 35 105 m 35 105 n 25 100 n 15 90 n 10 80 n 5 60 n 5 45 n 10 25 n 15 15 n 25 5 n 35 0 m 45 0 n 55 5 n 65 15 n 70 25 n 75 45 n 75 60 n 70 80 n 65 90 n 55 100 n 45 105 E # C *P m 15 105 n 15 0 m 20 105 n 20 0 m 80 105 n 80 0 m 85 105 n 85 0 m 0 105 n 100 105 m 0 0 n 35 0 m 65 0 n 100 0 E # C *R m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 60 105 n 75 100 n 80 95 n 85 85 n 85 70 n 80 60 n 75 55 n 60 50 n 20 50 m 60 105 n 70 100 n 75 95 n 80 85 n 80 70 n 75 60 n 70 55 n 60 50 m 0 0 n 35 0 E # C *S m 5 105 n 40 55 n 0 0 m 0 105 n 35 55 m 0 105 n 75 105 n 80 75 n 70 105 m 5 5 n 70 5 m 0 0 n 75 0 n 80 30 n 70 0 E # C *T m 35 105 n 35 0 m 40 105 n 40 0 m 5 105 n 0 75 n 0 105 n 75 105 n 75 75 n 70 105 m 20 0 n 55 0 E # C *U m 35 105 n 20 100 n 10 90 n 5 80 n 0 60 n 0 45 n 5 25 n 10 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 n 75 25 n 80 45 n 80 60 n 75 80 n 70 90 n 60 100 n 45 105 n 35 105 m 35 105 n 25 100 n 15 90 n 10 80 n 5 60 n 5 45 n 10 25 n 15 15 n 25 5 n 35 0 m 45 0 n 55 5 n 65 15 n 70 25 n 75 45 n 75 60 n 70 80 n 65 90 n 55 100 n 45 105 m 25 70 n 25 35 m 55 70 n 55 35 m 25 55 n 55 55 m 25 50 n 55 50 E # C *W m 0 15 n 5 0 n 25 0 n 15 20 n 5 40 n 0 55 n 0 75 n 5 90 n 15 100 n 30 105 n 50 105 n 65 100 n 75 90 n 80 75 n 80 55 n 75 40 n 65 20 n 55 0 n 75 0 n 80 15 m 15 20 n 10 35 n 5 55 n 5 75 n 10 90 n 20 100 n 30 105 m 50 105 n 60 100 n 70 90 n 75 75 n 75 55 n 70 35 n 65 20 m 5 5 n 20 5 m 60 5 n 75 5 E # C *X m 10 105 n 75 0 m 15 105 n 80 0 m 80 105 n 10 0 m 0 105 n 30 105 m 60 105 n 90 105 m 0 0 n 30 0 m 60 0 n 90 0 E # C *U m 0 80 n 0 90 n 5 100 n 10 105 n 20 105 n 25 100 n 30 90 n 35 70 n 35 0 m 0 90 n 10 100 n 20 100 n 30 90 m 75 80 n 75 90 n 70 100 n 65 105 n 55 105 n 50 100 n 45 90 n 40 70 n 40 0 m 75 90 n 65 100 n 55 100 n 45 90 m 20 0 n 55 0 E # C *Z m 65 105 n 0 0 m 70 105 n 5 0 m 5 105 n 0 75 n 0 105 n 70 105 m 0 0 n 70 0 n 70 30 n 65 0 E # C *a m 35 70 n 20 65 n 10 55 n 5 45 n 0 30 n 0 15 n 5 5 n 20 0 n 30 0 n 40 5 n 55 20 n 65 35 n 75 55 n 80 70 m 35 70 n 25 65 n 15 55 n 10 45 n 5 30 n 5 15 n 10 5 n 20 0 m 35 70 n 45 70 n 55 65 n 60 55 n 70 15 n 75 5 n 80 0 m 45 70 n 50 65 n 55 55 n 65 15 n 70 5 n 80 0 n 85 0 E # C *b m 55 105 n 40 100 n 30 90 n 20 70 n 15 55 n 10 35 n 5 5 n 0 -35 m 55 105 n 45 100 n 35 90 n 25 70 n 20 55 n 15 35 n 10 5 n 5 -35 m 55 105 n 65 105 n 75 100 n 80 95 n 80 80 n 75 70 n 70 65 n 55 60 n 35 60 m 65 105 n 75 95 n 75 80 n 70 70 n 65 65 n 55 60 m 35 60 n 55 55 n 65 45 n 70 35 n 70 20 n 65 10 n 60 5 n 45 0 n 35 0 n 25 5 n 20 10 n 15 25 m 35 60 n 50 55 n 60 45 n 65 35 n 65 20 n 60 10 n 55 5 n 45 0 E # C *q m 70 105 n 40 -35 m 75 105 n 35 -35 m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 30 30 n 30 15 n 40 5 n 55 5 n 65 10 n 80 25 n 90 40 m 25 70 n 30 65 n 30 55 n 25 30 n 25 15 n 30 5 n 40 0 n 55 0 n 65 5 n 75 15 n 85 30 n 90 40 n 100 70 E # C *d m 50 65 n 40 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 20 n 60 35 n 60 50 n 55 60 n 35 85 n 30 95 n 30 105 n 35 110 n 45 110 n 55 105 n 65 95 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 20 n 55 35 n 55 55 n 50 65 n 40 80 n 35 90 n 35 100 n 40 105 n 50 105 n 65 95 E # C *e m 60 55 n 50 65 n 40 70 n 20 70 n 10 65 n 10 55 n 20 45 n 35 40 m 20 70 n 15 65 n 15 55 n 25 45 n 35 40 m 35 40 n 10 35 n 0 25 n 0 15 n 5 5 n 20 0 n 35 0 n 45 5 n 55 15 m 35 40 n 15 35 n 5 25 n 5 15 n 10 5 n 20 0 E # C *f m 25 65 n 15 60 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 35 0 n 50 5 n 65 15 n 75 30 n 80 45 n 80 60 n 70 70 n 60 70 n 50 60 n 40 40 n 30 15 n 15 -35 m 0 20 n 10 10 n 20 5 n 35 5 n 50 10 n 65 20 n 75 30 m 80 60 n 70 65 n 60 65 n 50 55 n 40 40 n 30 10 n 20 -35 E # C *g m 0 55 n 10 65 n 20 70 n 30 70 n 40 65 n 45 60 n 50 45 n 50 25 n 45 5 n 30 -35 m 5 60 n 15 65 n 35 65 n 45 60 m 85 70 n 80 55 n 75 45 n 50 10 n 35 -15 n 25 -35 m 80 70 n 75 55 n 70 45 n 50 10 E # C *y m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 30 35 n 20 0 m 25 70 n 30 65 n 30 55 n 25 35 n 15 0 m 30 35 n 40 55 n 50 65 n 60 70 n 70 70 n 80 65 n 85 60 n 85 45 n 80 20 n 65 -35 m 70 70 n 80 60 n 80 45 n 75 20 n 60 -35 E # C *i m 15 70 n 5 35 n 0 15 n 0 5 n 5 0 n 20 0 n 30 10 n 35 20 m 20 70 n 10 35 n 5 15 n 5 5 n 10 0 E # C *c m 40 105 n 30 100 n 25 95 n 25 90 n 30 85 n 45 80 n 60 80 m 45 80 n 25 75 n 15 70 n 10 60 n 10 50 n 20 40 n 35 35 n 50 35 m 45 80 n 30 75 n 20 70 n 15 60 n 15 50 n 25 40 n 35 35 m 35 35 n 15 30 n 5 25 n 0 15 n 0 5 n 10 -5 n 35 -15 n 40 -20 n 40 -30 n 30 -35 n 20 -35 m 35 35 n 20 30 n 10 25 n 5 15 n 5 5 n 15 -5 n 35 -15 E # C *k m 20 70 n 0 0 m 25 70 n 5 0 m 70 70 n 75 65 n 80 65 n 75 70 n 65 70 n 55 65 n 35 45 n 25 40 n 15 40 m 25 40 n 35 35 n 45 5 n 50 0 m 25 40 n 30 35 n 40 5 n 45 0 n 55 0 n 65 5 n 75 20 E # C *l m 5 105 n 15 105 n 25 100 n 30 95 n 35 85 n 65 15 n 70 5 n 75 0 m 15 105 n 25 95 n 30 85 n 60 15 n 65 5 n 75 0 n 80 0 m 40 70 n 0 0 m 40 70 n 5 0 E # C *m m 30 70 n 0 -35 m 35 70 n 5 -35 m 30 55 n 25 25 n 25 10 n 35 0 n 45 0 n 55 5 n 65 15 n 75 30 m 85 70 n 70 15 n 70 5 n 75 0 n 90 0 n 100 10 n 105 20 m 90 70 n 75 15 n 75 5 n 80 0 E # C *n m 15 70 n 5 0 m 20 70 n 15 40 n 10 15 n 5 0 m 70 70 n 65 50 n 55 30 m 75 70 n 70 55 n 65 45 n 55 30 n 45 20 n 30 10 n 20 5 n 5 0 m 0 70 n 20 70 E # C *o m 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 20 n 60 35 n 60 50 n 55 60 n 50 65 n 40 70 n 30 70 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 20 n 55 35 n 55 55 n 50 65 E # C *p m 35 65 n 15 0 m 35 65 n 20 0 m 65 65 n 65 0 m 65 65 n 70 0 m 0 55 n 10 65 n 25 70 n 90 70 m 0 55 n 10 60 n 25 65 n 90 65 E # C *r m 20 25 n 25 10 n 30 5 n 40 0 n 50 0 n 65 5 n 75 20 n 80 35 n 80 50 n 75 60 n 70 65 n 60 70 n 50 70 n 35 65 n 25 50 n 20 35 n 0 -35 m 50 0 n 60 5 n 70 20 n 75 35 n 75 55 n 70 65 m 50 70 n 40 65 n 30 50 n 25 35 n 5 -35 E # C *s m 80 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 20 n 60 35 n 60 50 n 55 60 n 50 65 n 40 70 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 20 n 55 35 n 55 55 n 50 65 m 50 65 n 80 65 E # C *t m 45 65 n 30 0 m 45 65 n 35 0 m 0 55 n 10 65 n 25 70 n 80 70 m 0 55 n 10 60 n 25 65 n 80 65 E # C *h m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 30 30 n 30 15 n 35 5 n 40 0 m 25 70 n 30 65 n 30 55 n 25 30 n 25 15 n 30 5 n 40 0 n 50 0 n 60 5 n 70 15 n 80 30 n 85 45 n 90 70 n 90 90 n 85 100 n 75 105 n 65 105 n 55 95 n 55 85 n 60 70 n 70 55 n 80 45 n 95 35 m 60 5 n 70 20 n 75 30 n 80 45 n 85 70 n 85 90 n 80 100 n 75 105 E # C *w m 5 50 n 15 60 n 30 65 n 25 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 5 n 10 0 n 20 0 n 30 5 n 40 20 n 45 35 m 0 20 n 5 10 n 10 5 n 20 5 n 30 10 n 40 20 m 40 35 n 40 20 n 45 5 n 50 0 n 60 0 n 70 5 n 80 20 n 85 35 n 85 50 n 80 65 n 75 70 n 70 65 n 80 60 n 85 50 m 40 20 n 45 10 n 50 5 n 60 5 n 70 10 n 80 20 E # C ts m 40 70 n 50 65 n 60 55 n 60 60 n 55 65 n 40 70 n 25 70 n 10 65 n 5 60 n 0 50 n 0 40 n 5 30 n 15 20 n 35 5 m 25 70 n 15 65 n 10 60 n 5 50 n 5 40 n 10 30 n 35 5 n 40 -5 n 40 -15 n 35 -20 n 25 -20 E # C *x m 5 70 n 15 70 n 25 65 n 30 55 n 55 -20 n 60 -30 n 65 -35 m 15 70 n 20 65 n 25 55 n 50 -20 n 55 -30 n 65 -35 n 75 -35 m 80 70 n 75 60 n 65 45 n 15 -10 n 5 -25 n 0 -35 E # C *u m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 25 25 n 25 10 n 35 0 m 25 70 n 30 65 n 30 55 n 20 25 n 20 10 n 25 5 n 35 0 n 40 0 n 55 5 n 65 15 n 75 30 n 80 45 n 80 60 n 75 70 n 70 65 n 75 60 n 80 45 m 75 30 n 80 60 E # C *z m 40 105 n 30 100 n 25 95 n 25 90 n 30 85 n 45 80 n 70 80 n 70 85 n 55 80 n 35 70 n 20 60 n 5 45 n 0 30 n 0 20 n 5 10 n 20 0 n 35 -10 n 40 -20 n 40 -30 n 35 -35 n 25 -35 n 20 -30 m 45 75 n 25 60 n 10 45 n 5 30 n 5 20 n 10 10 n 20 0 E # C pd m 60 45 n 55 60 n 50 65 n 40 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 15 n 60 30 n 65 55 n 65 80 n 60 95 n 55 100 n 45 105 n 30 105 n 20 100 n 15 95 n 15 90 n 20 90 n 20 95 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 15 n 55 30 n 60 55 n 60 80 n 55 95 n 45 105 E # C gr m 0 105 n 40 0 m 5 105 n 40 10 m 80 105 n 40 0 m 0 105 n 80 105 m 5 100 n 75 100 E xgks-2.6.1+dfsg.2/src/fontdb/B.src0000644000175000017500000010764011413611016017644 0ustar amckinstryamckinstryU 16 # C ! m 5 105 n 0 100 n 0 90 n 5 50 m 5 105 n 5 35 n 10 35 m 5 105 n 10 105 n 10 35 m 10 105 n 15 100 n 15 90 n 10 50 m 5 15 n 0 10 n 0 5 n 5 0 n 10 0 n 15 5 n 15 10 n 10 15 n 5 15 m 5 10 n 5 5 n 10 5 n 10 10 n 5 10 E # C " m 5 105 n 0 100 n 0 70 m 5 100 n 0 70 m 5 105 n 10 100 n 0 70 m 50 105 n 45 100 n 45 70 m 50 100 n 45 70 m 50 105 n 55 100 n 45 70 E # C # m 40 125 n 5 -35 m 70 125 n 35 -35 m 5 60 n 75 60 m 0 30 n 70 30 E # C $ m 25 125 n 25 -20 m 45 125 n 45 -20 m 65 80 n 65 85 n 60 85 n 60 75 n 70 75 n 70 85 n 65 95 n 60 100 n 45 105 n 25 105 n 10 100 n 0 90 n 0 75 n 5 65 n 20 55 n 50 45 n 60 40 n 65 30 n 65 15 n 60 5 m 5 75 n 10 65 n 20 60 n 50 50 n 60 45 n 65 35 m 10 100 n 5 90 n 5 80 n 10 70 n 20 65 n 50 55 n 65 45 n 70 35 n 70 20 n 65 10 n 60 5 n 45 0 n 25 0 n 10 5 n 5 10 n 0 20 n 0 30 n 10 30 n 10 20 n 5 20 n 5 25 E # C % m 90 105 n 0 0 m 25 105 n 35 95 n 35 85 n 30 75 n 20 70 n 10 70 n 0 80 n 0 90 n 5 100 n 15 105 n 25 105 n 35 100 n 50 95 n 65 95 n 80 100 n 90 105 m 70 35 n 60 30 n 55 20 n 55 10 n 65 0 n 75 0 n 85 5 n 90 15 n 90 25 n 80 35 n 70 35 E # C & m 90 60 n 90 65 n 85 65 n 85 55 n 95 55 n 95 65 n 90 70 n 85 70 n 80 65 n 75 55 n 65 30 n 55 15 n 45 5 n 35 0 n 15 0 n 5 5 n 0 15 n 0 30 n 5 40 n 35 60 n 45 70 n 50 80 n 50 90 n 45 100 n 35 105 n 25 100 n 20 90 n 20 75 n 25 60 n 35 45 n 55 20 n 70 5 n 80 0 n 90 0 n 95 10 n 95 15 m 10 5 n 5 15 n 5 30 n 10 40 n 15 45 m 45 70 n 50 90 m 50 80 n 45 100 m 25 100 n 20 80 m 25 65 n 35 50 n 55 25 n 70 10 n 80 5 m 25 0 n 15 5 n 10 15 n 10 30 n 15 40 n 35 60 m 20 90 n 25 70 n 40 50 n 60 25 n 75 10 n 85 5 n 90 5 n 95 10 E # C ' m 5 105 n 0 100 n 0 70 m 5 100 n 0 70 m 5 105 n 10 100 n 0 70 E # C ( m 35 125 n 25 115 n 15 100 n 5 80 n 0 55 n 0 35 n 5 10 n 15 -10 n 25 -25 n 35 -35 m 15 95 n 10 80 n 5 60 n 5 30 n 10 10 n 15 -5 m 25 115 n 20 105 n 15 90 n 10 60 n 10 30 n 15 0 n 20 -15 n 25 -25 E # C ) m 0 125 n 10 115 n 20 100 n 30 80 n 35 55 n 35 35 n 30 10 n 20 -10 n 10 -25 n 0 -35 m 20 95 n 25 80 n 30 60 n 30 30 n 25 10 n 20 -5 m 10 115 n 15 105 n 20 90 n 25 60 n 25 30 n 20 0 n 15 -15 n 10 -25 E # C * m 25 105 n 20 100 n 30 50 n 25 45 m 25 105 n 25 45 m 25 105 n 30 100 n 20 50 n 25 45 m 0 90 n 5 90 n 45 60 n 50 60 m 0 90 n 50 60 m 0 90 n 0 85 n 50 65 n 50 60 m 50 90 n 45 90 n 5 60 n 0 60 m 50 90 n 0 60 m 50 90 n 50 85 n 0 65 n 0 60 E # C + m 40 90 n 40 5 n 45 5 m 40 90 n 45 90 n 45 5 m 0 50 n 85 50 n 85 45 m 0 50 n 0 45 n 85 45 E # C , m 15 5 n 10 0 n 5 0 n 0 5 n 0 10 n 5 15 n 10 15 n 15 10 n 15 -5 n 10 -15 n 0 -20 m 5 10 n 5 5 n 10 5 n 10 10 n 5 10 m 10 0 n 15 -5 m 15 5 n 10 -15 E # C - m 0 50 n 85 50 n 85 45 m 0 50 n 0 45 n 85 45 E # C . m 5 15 n 0 10 n 0 5 n 5 0 n 10 0 n 15 5 n 15 10 n 10 15 n 5 15 m 5 10 n 5 5 n 10 5 n 10 10 n 5 10 E # C / m 90 125 n 0 -35 n 5 -35 m 90 125 n 95 125 n 5 -35 E # C 0 m 30 105 n 15 100 n 5 85 n 0 60 n 0 45 n 5 20 n 15 5 n 30 0 n 40 0 n 55 5 n 65 20 n 70 45 n 70 60 n 65 85 n 55 100 n 40 105 n 30 105 m 15 95 n 10 85 n 5 65 n 5 40 n 10 20 n 15 10 m 55 10 n 60 20 n 65 40 n 65 65 n 60 85 n 55 95 m 30 105 n 20 100 n 15 90 n 10 65 n 10 40 n 15 15 n 20 5 n 30 0 m 40 0 n 50 5 n 55 15 n 60 40 n 60 65 n 55 90 n 50 100 n 40 105 E # C 1 m 20 95 n 20 0 m 25 95 n 25 5 m 30 105 n 30 0 m 30 105 n 15 90 n 5 85 m 0 0 n 50 0 m 20 5 n 10 0 m 20 10 n 15 0 m 30 10 n 35 0 m 30 5 n 40 0 E # C 2 m 5 85 n 5 80 n 10 80 n 10 85 n 5 85 m 5 90 n 10 90 n 15 85 n 15 80 n 10 75 n 5 75 n 0 80 n 0 85 n 5 95 n 10 100 n 25 105 n 45 105 n 60 100 n 65 95 n 70 85 n 70 75 n 65 65 n 50 55 n 25 45 n 15 40 n 5 30 n 0 15 n 0 0 m 60 95 n 65 85 n 65 75 n 60 65 m 45 105 n 55 100 n 60 85 n 60 75 n 55 65 n 45 55 n 25 45 m 0 10 n 5 15 n 15 15 n 40 10 n 60 10 n 70 15 m 15 15 n 40 5 n 60 5 n 65 10 m 15 15 n 40 0 n 60 0 n 65 5 n 70 15 n 70 25 E # C 3 m 5 85 n 5 80 n 10 80 n 10 85 n 5 85 m 5 90 n 10 90 n 15 85 n 15 80 n 10 75 n 5 75 n 0 80 n 0 85 n 5 95 n 10 100 n 25 105 n 45 105 n 60 100 n 65 90 n 65 75 n 60 65 n 45 60 m 55 100 n 60 90 n 60 75 n 55 65 m 40 105 n 50 100 n 55 90 n 55 75 n 50 65 n 40 60 m 30 60 n 45 60 n 55 55 n 65 45 n 70 35 n 70 20 n 65 10 n 60 5 n 45 0 n 25 0 n 10 5 n 5 10 n 0 20 n 0 25 n 5 30 n 10 30 n 15 25 n 15 20 n 10 15 n 5 15 m 60 45 n 65 35 n 65 20 n 60 10 m 40 60 n 50 55 n 55 50 n 60 35 n 60 20 n 55 5 n 45 0 m 5 25 n 5 20 n 10 20 n 10 25 n 5 25 E # C 4 m 45 90 n 45 0 m 50 95 n 50 5 m 55 105 n 55 0 m 55 105 n 0 30 n 80 30 m 30 0 n 70 0 m 45 5 n 35 0 m 45 10 n 40 0 m 55 10 n 60 0 m 55 5 n 65 0 E # C 5 m 10 105 n 0 55 n 10 65 n 25 70 n 40 70 n 55 65 n 65 55 n 70 40 n 70 30 n 65 15 n 55 5 n 40 0 n 25 0 n 10 5 n 5 10 n 0 20 n 0 25 n 5 30 n 10 30 n 15 25 n 15 20 n 10 15 n 5 15 m 60 55 n 65 45 n 65 25 n 60 15 m 40 70 n 50 65 n 55 60 n 60 45 n 60 25 n 55 10 n 50 5 n 40 0 m 5 25 n 5 20 n 10 20 n 10 25 n 5 25 m 10 105 n 60 105 m 10 100 n 50 100 m 10 95 n 30 95 n 50 100 n 60 105 E # C 6 m 55 90 n 55 85 n 60 85 n 60 90 n 55 90 m 60 95 n 55 95 n 50 90 n 50 85 n 55 80 n 60 80 n 65 85 n 65 90 n 60 100 n 50 105 n 35 105 n 20 100 n 10 90 n 5 80 n 0 60 n 0 30 n 5 15 n 15 5 n 30 0 n 40 0 n 55 5 n 65 15 n 70 30 n 70 35 n 65 50 n 55 60 n 40 65 n 30 65 n 20 60 n 15 55 n 10 45 m 15 90 n 10 80 n 5 60 n 5 30 n 10 15 n 15 10 m 60 15 n 65 25 n 65 40 n 60 50 m 35 105 n 25 100 n 20 95 n 15 85 n 10 65 n 10 30 n 15 15 n 20 5 n 30 0 m 40 0 n 50 5 n 55 10 n 60 25 n 60 40 n 55 55 n 50 60 n 40 65 E # C 7 m 0 105 n 0 75 m 70 105 n 70 90 n 65 75 n 45 50 n 40 40 n 35 20 n 35 0 m 40 45 n 35 35 n 30 20 n 30 0 m 65 75 n 40 50 n 30 35 n 25 20 n 25 0 n 35 0 m 0 85 n 5 95 n 15 105 n 25 105 n 50 90 n 60 90 n 65 95 n 70 105 m 10 95 n 15 100 n 25 100 n 35 95 m 0 85 n 5 90 n 15 95 n 25 95 n 50 90 E # C 8 m 25 105 n 10 100 n 5 90 n 5 75 n 10 65 n 25 60 n 45 60 n 60 65 n 65 75 n 65 90 n 60 100 n 45 105 n 25 105 m 15 100 n 10 90 n 10 75 n 15 65 m 55 65 n 60 75 n 60 90 n 55 100 m 25 105 n 20 100 n 15 90 n 15 75 n 20 65 n 25 60 m 45 60 n 50 65 n 55 75 n 55 90 n 50 100 n 45 105 m 25 60 n 10 55 n 5 50 n 0 40 n 0 20 n 5 10 n 10 5 n 25 0 n 45 0 n 60 5 n 65 10 n 70 20 n 70 40 n 65 50 n 60 55 n 45 60 m 10 50 n 5 40 n 5 20 n 10 10 m 60 10 n 65 20 n 65 40 n 60 50 m 25 60 n 15 55 n 10 40 n 10 20 n 15 5 n 25 0 m 45 0 n 55 5 n 60 20 n 60 40 n 55 55 n 45 60 E # C 9 m 10 20 n 10 15 n 15 15 n 15 20 n 10 20 m 60 60 n 55 50 n 50 45 n 40 40 n 30 40 n 15 45 n 5 55 n 0 70 n 0 75 n 5 90 n 15 100 n 30 105 n 40 105 n 55 100 n 65 90 n 70 75 n 70 45 n 65 25 n 60 15 n 50 5 n 35 0 n 20 0 n 10 5 n 5 15 n 5 20 n 10 25 n 15 25 n 20 20 n 20 15 n 15 10 n 10 10 m 10 55 n 5 65 n 5 80 n 10 90 m 55 95 n 60 90 n 65 75 n 65 45 n 60 25 n 55 15 m 30 40 n 20 45 n 15 50 n 10 65 n 10 80 n 15 95 n 20 100 n 30 105 m 40 105 n 50 100 n 55 90 n 60 75 n 60 40 n 55 20 n 50 10 n 45 5 n 35 0 E # C : m 5 70 n 0 65 n 0 60 n 5 55 n 10 55 n 15 60 n 15 65 n 10 70 n 5 70 m 5 65 n 5 60 n 10 60 n 10 65 n 5 65 m 5 15 n 0 10 n 0 5 n 5 0 n 10 0 n 15 5 n 15 10 n 10 15 n 5 15 m 5 10 n 5 5 n 10 5 n 10 10 n 5 10 E # C ; m 5 70 n 0 65 n 0 60 n 5 55 n 10 55 n 15 60 n 15 65 n 10 70 n 5 70 m 5 65 n 5 60 n 10 60 n 10 65 n 5 65 m 15 5 n 10 0 n 5 0 n 0 5 n 0 10 n 5 15 n 10 15 n 15 10 n 15 -5 n 10 -15 n 0 -20 m 5 10 n 5 5 n 10 5 n 10 10 n 5 10 m 10 0 n 15 -5 m 15 5 n 10 -15 E # C < m 80 90 n 0 45 n 80 0 E # C = m 0 70 n 85 70 n 85 65 m 0 70 n 0 65 n 85 65 m 0 30 n 85 30 n 85 25 m 0 30 n 0 25 n 85 25 E # C > m 0 90 n 80 45 n 0 0 E # C ? m 5 80 n 5 85 n 10 85 n 10 75 n 0 75 n 0 85 n 5 95 n 10 100 n 20 105 n 40 105 n 55 100 n 60 95 n 65 85 n 65 75 n 60 65 n 55 60 n 35 50 m 55 95 n 60 90 n 60 70 n 55 65 m 40 105 n 50 100 n 55 90 n 55 70 n 50 60 n 45 55 m 30 50 n 30 35 n 35 35 n 35 50 n 30 50 m 30 15 n 25 10 n 25 5 n 30 0 n 35 0 n 40 5 n 40 10 n 35 15 n 30 15 m 30 10 n 30 5 n 35 5 n 35 10 n 30 10 E # C @ m 45 55 n 35 60 n 25 60 n 20 50 n 20 45 n 25 35 n 35 35 n 45 40 m 45 60 n 45 40 n 50 35 n 60 35 n 65 45 n 65 50 n 60 65 n 50 75 n 35 80 n 30 80 n 15 75 n 5 65 n 0 50 n 0 45 n 5 30 n 15 20 n 30 15 n 35 15 n 50 20 E # C A m 45 105 n 10 5 m 40 90 n 70 0 m 45 90 n 75 0 m 45 105 n 80 0 m 20 30 n 65 30 m 0 0 n 30 0 m 55 0 n 90 0 m 10 5 n 5 0 m 10 5 n 20 0 m 70 5 n 60 0 m 70 10 n 65 0 m 75 10 n 85 0 E # C B m 15 105 n 15 0 m 20 100 n 20 5 m 25 105 n 25 0 m 0 105 n 60 105 n 75 100 n 80 95 n 85 85 n 85 75 n 80 65 n 75 60 n 60 55 m 75 95 n 80 85 n 80 75 n 75 65 m 60 105 n 70 100 n 75 90 n 75 70 n 70 60 n 60 55 m 25 55 n 60 55 n 75 50 n 80 45 n 85 35 n 85 20 n 80 10 n 75 5 n 60 0 n 0 0 m 75 45 n 80 35 n 80 20 n 75 10 m 60 55 n 70 50 n 75 40 n 75 15 n 70 5 n 60 0 m 5 105 n 15 100 m 10 105 n 15 95 m 30 105 n 25 95 m 35 105 n 25 100 m 15 5 n 5 0 m 15 10 n 10 0 m 25 10 n 30 0 m 25 5 n 35 0 E # C C m 70 90 n 75 105 n 75 75 n 70 90 n 60 100 n 50 105 n 35 105 n 20 100 n 10 90 n 5 80 n 0 65 n 0 40 n 5 25 n 10 15 n 20 5 n 35 0 n 50 0 n 60 5 n 70 15 n 75 25 m 15 90 n 10 80 n 5 65 n 5 40 n 10 25 n 15 15 m 35 105 n 25 100 n 15 85 n 10 65 n 10 40 n 15 20 n 25 5 n 35 0 E # C D m 15 105 n 15 0 m 20 100 n 20 5 m 25 105 n 25 0 m 0 105 n 50 105 n 65 100 n 75 90 n 80 80 n 85 65 n 85 40 n 80 25 n 75 15 n 65 5 n 50 0 n 0 0 m 70 90 n 75 80 n 80 65 n 80 40 n 75 25 n 70 15 m 50 105 n 60 100 n 70 85 n 75 65 n 75 40 n 70 20 n 60 5 n 50 0 m 5 105 n 15 100 m 10 105 n 15 95 m 30 105 n 25 95 m 35 105 n 25 100 m 15 5 n 5 0 m 15 10 n 10 0 m 25 10 n 30 0 m 25 5 n 35 0 E # C E m 15 105 n 15 0 m 20 100 n 20 5 m 25 105 n 25 0 m 0 105 n 80 105 n 80 75 m 25 55 n 55 55 m 55 75 n 55 35 m 0 0 n 80 0 n 80 30 m 5 105 n 15 100 m 10 105 n 15 95 m 30 105 n 25 95 m 35 105 n 25 100 m 55 105 n 80 100 m 65 105 n 80 95 m 70 105 n 80 90 m 75 105 n 80 75 m 55 75 n 50 55 n 55 35 m 55 65 n 45 55 n 55 45 m 55 60 n 35 55 n 55 50 m 15 5 n 5 0 m 15 10 n 10 0 m 25 10 n 30 0 m 25 5 n 35 0 m 55 0 n 80 5 m 65 0 n 80 10 m 70 0 n 80 15 m 75 0 n 80 30 E # C F m 15 105 n 15 0 m 20 100 n 20 5 m 25 105 n 25 0 m 0 105 n 80 105 n 80 75 m 25 55 n 55 55 m 55 75 n 55 35 m 0 0 n 40 0 m 5 105 n 15 100 m 10 105 n 15 95 m 30 105 n 25 95 m 35 105 n 25 100 m 55 105 n 80 100 m 65 105 n 80 95 m 70 105 n 80 90 m 75 105 n 80 75 m 55 75 n 50 55 n 55 35 m 55 65 n 45 55 n 55 45 m 55 60 n 35 55 n 55 50 m 15 5 n 5 0 m 15 10 n 10 0 m 25 10 n 30 0 m 25 5 n 35 0 E # C G m 70 90 n 75 105 n 75 75 n 70 90 n 60 100 n 50 105 n 35 105 n 20 100 n 10 90 n 5 80 n 0 65 n 0 40 n 5 25 n 10 15 n 20 5 n 35 0 n 50 0 n 60 5 n 70 5 n 75 0 n 75 40 m 15 90 n 10 80 n 5 65 n 5 40 n 10 25 n 15 15 m 35 105 n 25 100 n 15 85 n 10 65 n 10 40 n 15 20 n 25 5 n 35 0 m 70 35 n 70 10 m 65 40 n 65 10 n 60 5 m 50 40 n 90 40 m 55 40 n 65 35 m 60 40 n 65 30 m 80 40 n 75 30 m 85 40 n 75 35 E # C H m 15 105 n 15 0 m 20 100 n 20 5 m 25 105 n 25 0 m 75 105 n 75 0 m 80 100 n 80 5 m 85 105 n 85 0 m 0 105 n 40 105 m 60 105 n 100 105 m 25 55 n 75 55 m 0 0 n 40 0 m 60 0 n 100 0 m 5 105 n 15 100 m 10 105 n 15 95 m 30 105 n 25 95 m 35 105 n 25 100 m 65 105 n 75 100 m 70 105 n 75 95 m 90 105 n 85 95 m 95 105 n 85 100 m 15 5 n 5 0 m 15 10 n 10 0 m 25 10 n 30 0 m 25 5 n 35 0 m 75 5 n 65 0 m 75 10 n 70 0 m 85 10 n 90 0 m 85 5 n 95 0 E # C I m 15 105 n 15 0 m 20 100 n 20 5 m 25 105 n 25 0 m 0 105 n 40 105 m 0 0 n 40 0 m 5 105 n 15 100 m 10 105 n 15 95 m 30 105 n 25 95 m 35 105 n 25 100 m 15 5 n 5 0 m 15 10 n 10 0 m 25 10 n 30 0 m 25 5 n 35 0 E # C J m 35 105 n 35 20 n 30 5 n 25 0 m 40 100 n 40 20 n 35 5 m 45 105 n 45 20 n 40 5 n 25 0 n 15 0 n 5 5 n 0 15 n 0 25 n 5 30 n 10 30 n 15 25 n 15 20 n 10 15 n 5 15 m 5 25 n 5 20 n 10 20 n 10 25 n 5 25 m 20 105 n 60 105 m 25 105 n 35 100 m 30 105 n 35 95 m 50 105 n 45 95 m 55 105 n 45 100 E # C K m 15 105 n 15 0 m 20 100 n 20 5 m 25 105 n 25 0 m 80 100 n 25 45 m 40 55 n 75 0 m 45 55 n 80 0 m 45 65 n 85 0 m 0 105 n 40 105 m 65 105 n 95 105 m 0 0 n 40 0 m 60 0 n 95 0 m 5 105 n 15 100 m 10 105 n 15 95 m 30 105 n 25 95 m 35 105 n 25 100 m 75 105 n 80 100 m 90 105 n 80 100 m 15 5 n 5 0 m 15 10 n 10 0 m 25 10 n 30 0 m 25 5 n 35 0 m 75 10 n 65 0 m 75 10 n 90 0 E # C L m 15 105 n 15 0 m 20 100 n 20 5 m 25 105 n 25 0 m 0 105 n 40 105 m 0 0 n 75 0 n 75 30 m 5 105 n 15 100 m 10 105 n 15 95 m 30 105 n 25 95 m 35 105 n 25 100 m 15 5 n 5 0 m 15 10 n 10 0 m 25 10 n 30 0 m 25 5 n 35 0 m 50 0 n 75 5 m 60 0 n 75 10 m 65 0 n 75 15 m 70 0 n 75 30 E # C M m 15 105 n 15 5 m 15 105 n 50 0 m 20 105 n 50 15 m 25 105 n 55 15 m 85 105 n 50 0 m 85 105 n 85 0 m 90 100 n 90 5 m 95 105 n 95 0 m 0 105 n 25 105 m 85 105 n 110 105 m 0 0 n 30 0 m 70 0 n 110 0 m 5 105 n 15 100 m 100 105 n 95 95 m 105 105 n 95 100 m 15 5 n 5 0 m 15 5 n 25 0 m 85 5 n 75 0 m 85 10 n 80 0 m 95 10 n 100 0 m 95 5 n 105 0 E # C N m 15 105 n 15 5 m 15 105 n 85 0 m 20 105 n 80 15 m 25 105 n 85 15 m 85 100 n 85 0 m 0 105 n 25 105 m 70 105 n 100 105 m 0 0 n 30 0 m 5 105 n 15 100 m 75 105 n 85 100 m 95 105 n 85 100 m 15 5 n 5 0 m 15 5 n 25 0 E # C O m 35 105 n 20 100 n 10 90 n 5 80 n 0 60 n 0 45 n 5 25 n 10 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 n 75 25 n 80 45 n 80 60 n 75 80 n 70 90 n 60 100 n 45 105 n 35 105 m 15 90 n 10 80 n 5 65 n 5 40 n 10 25 n 15 15 m 65 15 n 70 25 n 75 40 n 75 65 n 70 80 n 65 90 m 35 105 n 25 100 n 15 85 n 10 65 n 10 40 n 15 20 n 25 5 n 35 0 m 45 0 n 55 5 n 65 20 n 70 40 n 70 65 n 65 85 n 55 100 n 45 105 E # C P m 15 105 n 15 0 m 20 100 n 20 5 m 25 105 n 25 0 m 0 105 n 60 105 n 75 100 n 80 95 n 85 85 n 85 70 n 80 60 n 75 55 n 60 50 n 25 50 m 75 95 n 80 85 n 80 70 n 75 60 m 60 105 n 70 100 n 75 90 n 75 65 n 70 55 n 60 50 m 0 0 n 40 0 m 5 105 n 15 100 m 10 105 n 15 95 m 30 105 n 25 95 m 35 105 n 25 100 m 15 5 n 5 0 m 15 10 n 10 0 m 25 10 n 30 0 m 25 5 n 35 0 E # C Q m 35 105 n 20 100 n 10 90 n 5 80 n 0 60 n 0 45 n 5 25 n 10 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 n 75 25 n 80 45 n 80 60 n 75 80 n 70 90 n 60 100 n 45 105 n 35 105 m 15 90 n 10 80 n 5 65 n 5 40 n 10 25 n 15 15 m 65 15 n 70 25 n 75 40 n 75 65 n 70 80 n 65 90 m 35 105 n 25 100 n 15 85 n 10 65 n 10 40 n 15 20 n 25 5 n 35 0 m 45 0 n 55 5 n 65 20 n 70 40 n 70 65 n 65 85 n 55 100 n 45 105 m 20 15 n 25 25 n 35 30 n 40 30 n 50 25 n 55 15 n 60 -15 n 65 -25 n 75 -25 n 80 -15 n 80 -5 m 60 -5 n 65 -15 n 70 -20 n 75 -20 m 55 15 n 65 -10 n 70 -15 n 75 -15 n 80 -10 E # C R m 15 105 n 15 0 m 20 100 n 20 5 m 25 105 n 25 0 m 0 105 n 60 105 n 75 100 n 80 95 n 85 85 n 85 75 n 80 65 n 75 60 n 60 55 n 25 55 m 75 95 n 80 85 n 80 75 n 75 65 m 60 105 n 70 100 n 75 90 n 75 70 n 70 60 n 60 55 m 45 55 n 55 50 n 60 40 n 70 10 n 75 0 n 85 0 n 90 10 n 90 20 m 70 20 n 75 10 n 80 5 n 85 5 m 55 50 n 60 45 n 75 15 n 80 10 n 85 10 n 90 15 m 0 0 n 40 0 m 5 105 n 15 100 m 10 105 n 15 95 m 30 105 n 25 95 m 35 105 n 25 100 m 15 5 n 5 0 m 15 10 n 10 0 m 25 10 n 30 0 m 25 5 n 35 0 E # C S m 65 90 n 70 105 n 70 75 n 65 90 n 55 100 n 40 105 n 25 105 n 10 100 n 0 90 n 0 75 n 5 65 n 20 55 n 50 45 n 60 40 n 65 30 n 65 15 n 60 5 m 5 75 n 10 65 n 20 60 n 50 50 n 60 45 n 65 35 m 10 100 n 5 90 n 5 80 n 10 70 n 20 65 n 50 55 n 65 45 n 70 35 n 70 20 n 65 10 n 60 5 n 45 0 n 30 0 n 15 5 n 5 15 n 0 30 n 0 0 n 5 15 E # C T m 0 105 n 0 75 m 35 105 n 35 0 m 40 100 n 40 5 m 45 105 n 45 0 m 80 105 n 80 75 m 0 105 n 80 105 m 20 0 n 60 0 m 5 105 n 0 75 m 10 105 n 0 90 m 15 105 n 0 95 m 25 105 n 0 100 m 55 105 n 80 100 m 65 105 n 80 95 m 70 105 n 80 90 m 75 105 n 80 75 m 35 5 n 25 0 m 35 10 n 30 0 m 45 10 n 50 0 m 45 5 n 55 0 E # C U m 15 105 n 15 30 n 20 15 n 30 5 n 45 0 n 55 0 n 70 5 n 80 15 n 85 30 n 85 100 m 20 100 n 20 25 n 25 15 m 25 105 n 25 25 n 30 10 n 35 5 n 45 0 m 0 105 n 40 105 m 70 105 n 100 105 m 5 105 n 15 100 m 10 105 n 15 95 m 30 105 n 25 95 m 35 105 n 25 100 m 75 105 n 85 100 m 95 105 n 85 100 E # C V m 10 105 n 45 0 m 15 105 n 45 15 n 45 0 m 20 105 n 50 15 m 80 100 n 45 0 m 0 105 n 35 105 m 60 105 n 90 105 m 5 105 n 15 95 m 25 105 n 20 95 m 30 105 n 20 100 m 70 105 n 80 100 m 85 105 n 80 100 E # C W m 15 105 n 35 0 m 20 105 n 35 25 n 35 0 m 25 105 n 40 25 m 55 105 n 40 25 n 35 0 m 55 105 n 75 0 m 60 105 n 75 25 n 75 0 m 65 105 n 80 25 m 95 100 n 80 25 n 75 0 m 0 105 n 40 105 m 55 105 n 65 105 m 80 105 n 110 105 m 5 105 n 20 100 m 10 105 n 20 95 m 30 105 n 25 95 m 35 105 n 25 100 m 85 105 n 95 100 m 105 105 n 95 100 E # C X m 10 105 n 70 0 m 15 105 n 75 0 m 20 105 n 80 0 m 75 100 n 15 5 m 0 105 n 35 105 m 60 105 n 90 105 m 0 0 n 30 0 m 55 0 n 90 0 m 5 105 n 20 95 m 25 105 n 20 95 m 30 105 n 20 100 m 65 105 n 75 100 m 85 105 n 75 100 m 15 5 n 5 0 m 15 5 n 25 0 m 70 5 n 60 0 m 70 10 n 65 0 m 70 10 n 85 0 E # C Y m 10 105 n 45 50 n 45 0 m 15 105 n 50 50 n 50 5 m 20 105 n 55 50 n 55 0 m 85 100 n 55 50 m 0 105 n 35 105 m 70 105 n 100 105 m 30 0 n 70 0 m 5 105 n 15 100 m 30 105 n 20 100 m 75 105 n 85 100 m 95 105 n 85 100 m 45 5 n 35 0 m 45 10 n 40 0 m 55 10 n 60 0 m 55 5 n 65 0 E # C Z m 70 105 n 0 105 n 0 75 m 60 105 n 0 0 m 65 105 n 5 0 m 70 105 n 10 0 m 0 0 n 70 0 n 70 30 m 5 105 n 0 75 m 10 105 n 0 90 m 15 105 n 0 95 m 25 105 n 0 100 m 45 0 n 70 5 m 55 0 n 70 10 m 60 0 n 70 15 m 65 0 n 70 30 E # C [ m 0 125 n 0 -35 m 5 125 n 5 -35 m 0 125 n 35 125 m 0 -35 n 35 -35 E # C \ m 0 105 n 70 -15 E # C ] m 30 125 n 30 -35 m 35 125 n 35 -35 m 0 125 n 35 125 m 0 -35 n 35 -35 E # C ^ m 40 115 n 0 45 m 40 115 n 80 45 E # C ` m 5 105 n 30 75 m 5 105 n 0 100 n 30 75 E # C a m 10 55 n 10 60 n 15 60 n 15 50 n 5 50 n 5 60 n 10 65 n 20 70 n 40 70 n 50 65 n 55 60 n 60 50 n 60 15 n 65 5 n 70 0 m 50 60 n 55 50 n 55 15 n 60 5 m 40 70 n 45 65 n 50 55 n 50 15 n 55 5 n 70 0 n 75 0 m 50 45 n 45 40 n 20 35 n 5 30 n 0 20 n 0 15 n 5 5 n 20 0 n 35 0 n 45 5 n 50 15 m 10 30 n 5 20 n 5 15 n 10 5 m 45 40 n 25 35 n 15 30 n 10 20 n 10 15 n 15 5 n 20 0 E # C b m 15 105 n 15 0 n 20 5 n 30 5 m 20 100 n 20 10 m 0 105 n 25 105 n 25 5 m 25 55 n 30 65 n 40 70 n 50 70 n 65 65 n 75 55 n 80 40 n 80 30 n 75 15 n 65 5 n 50 0 n 40 0 n 30 5 n 25 15 m 70 55 n 75 45 n 75 25 n 70 15 m 50 70 n 60 65 n 65 60 n 70 45 n 70 25 n 65 10 n 60 5 n 50 0 m 5 105 n 15 100 m 10 105 n 15 95 E # C c m 60 50 n 60 55 n 55 55 n 55 45 n 65 45 n 65 55 n 55 65 n 45 70 n 30 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 30 0 n 40 0 n 55 5 n 65 15 m 10 55 n 5 45 n 5 25 n 10 15 m 30 70 n 20 65 n 15 60 n 10 45 n 10 25 n 15 10 n 20 5 n 30 0 E # C d m 55 105 n 55 0 n 80 0 m 60 100 n 60 5 m 40 105 n 65 105 n 65 0 m 55 55 n 50 65 n 40 70 n 30 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 30 0 n 40 0 n 50 5 n 55 15 m 10 55 n 5 45 n 5 25 n 10 15 m 30 70 n 20 65 n 15 60 n 10 45 n 10 25 n 15 10 n 20 5 n 30 0 m 45 105 n 55 100 m 50 105 n 55 95 m 65 10 n 70 0 m 65 5 n 75 0 E # C e m 10 40 n 65 40 n 65 50 n 60 60 n 55 65 n 40 70 n 30 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 30 0 n 40 0 n 55 5 n 65 15 m 60 45 n 60 50 n 55 60 m 10 55 n 5 45 n 5 25 n 10 15 m 55 40 n 55 55 n 50 65 n 40 70 m 30 70 n 20 65 n 15 60 n 10 45 n 10 25 n 15 10 n 20 5 n 30 0 E # C f m 50 95 n 50 100 n 45 100 n 45 90 n 55 90 n 55 100 n 50 105 n 35 105 n 25 100 n 20 95 n 15 80 n 15 0 m 25 95 n 20 80 n 20 5 m 35 105 n 30 100 n 25 90 n 25 0 m 0 70 n 45 70 m 0 0 n 40 0 m 15 5 n 5 0 m 15 10 n 10 0 m 25 10 n 30 0 m 25 5 n 35 0 E # C g m 65 65 n 70 60 n 75 65 n 70 70 n 65 70 n 55 65 n 50 60 m 30 70 n 20 65 n 15 60 n 10 50 n 10 40 n 15 30 n 20 25 n 30 20 n 40 20 n 50 25 n 55 30 n 60 40 n 60 50 n 55 60 n 50 65 n 40 70 n 30 70 m 20 60 n 15 50 n 15 40 n 20 30 m 50 30 n 55 40 n 55 50 n 50 60 m 30 70 n 25 65 n 20 55 n 20 35 n 25 25 n 30 20 m 40 20 n 45 25 n 50 35 n 50 55 n 45 65 n 40 70 m 15 30 n 10 25 n 5 15 n 5 10 n 10 0 n 15 -5 n 30 -10 n 50 -10 n 65 -15 n 70 -20 m 15 0 n 30 -5 n 50 -5 n 65 -10 m 5 10 n 10 5 n 25 0 n 50 0 n 65 -5 n 70 -15 n 70 -20 n 65 -30 n 50 -35 n 20 -35 n 5 -30 n 0 -20 n 0 -15 n 5 -5 n 20 0 m 20 -35 n 10 -30 n 5 -20 n 5 -15 n 10 -5 n 20 0 E # C h m 15 105 n 15 0 m 20 100 n 20 5 m 0 105 n 25 105 n 25 0 m 25 50 n 30 60 n 35 65 n 45 70 n 60 70 n 70 65 n 75 60 n 80 45 n 80 0 m 70 60 n 75 45 n 75 5 m 60 70 n 65 65 n 70 50 n 70 0 m 0 0 n 40 0 m 55 0 n 95 0 m 5 105 n 15 100 m 10 105 n 15 95 m 15 5 n 5 0 m 15 10 n 10 0 m 25 10 n 30 0 m 25 5 n 35 0 m 70 5 n 60 0 m 70 10 n 65 0 m 80 10 n 85 0 m 80 5 n 90 0 E # C i m 15 105 n 15 95 n 25 95 n 25 105 n 15 105 m 20 105 n 20 95 m 15 100 n 25 100 m 15 70 n 15 0 m 20 65 n 20 5 m 0 70 n 25 70 n 25 0 m 0 0 n 40 0 m 5 70 n 15 65 m 10 70 n 15 60 m 15 5 n 5 0 m 15 10 n 10 0 m 25 10 n 30 0 m 25 5 n 35 0 E # C j m 30 105 n 30 95 n 40 95 n 40 105 n 30 105 m 35 105 n 35 95 m 30 100 n 40 100 m 30 70 n 30 -15 n 25 -30 n 20 -35 m 35 65 n 35 -10 n 30 -25 m 15 70 n 40 70 n 40 -10 n 35 -25 n 30 -30 n 20 -35 n 5 -35 n 0 -30 n 0 -20 n 10 -20 n 10 -30 n 5 -30 n 5 -25 m 20 70 n 30 65 m 25 70 n 30 60 E # C k m 15 105 n 15 0 m 20 100 n 20 5 m 0 105 n 25 105 n 25 0 m 70 65 n 25 20 m 45 40 n 80 0 m 45 35 n 75 0 m 40 35 n 70 0 m 55 70 n 90 70 m 0 0 n 40 0 m 55 0 n 90 0 m 5 105 n 15 100 m 10 105 n 15 95 m 60 70 n 70 65 m 85 70 n 70 65 m 15 5 n 5 0 m 15 10 n 10 0 m 25 10 n 30 0 m 25 5 n 35 0 m 70 10 n 60 0 m 65 10 n 85 0 E # C l m 15 105 n 15 0 m 20 100 n 20 5 m 0 105 n 25 105 n 25 0 m 0 0 n 40 0 m 5 105 n 15 100 m 10 105 n 15 95 m 15 5 n 5 0 m 15 10 n 10 0 m 25 10 n 30 0 m 25 5 n 35 0 E # C m m 15 70 n 15 0 m 20 65 n 20 5 m 0 70 n 25 70 n 25 0 m 25 50 n 30 60 n 35 65 n 45 70 n 60 70 n 70 65 n 75 60 n 80 45 n 80 0 m 70 60 n 75 45 n 75 5 m 60 70 n 65 65 n 70 50 n 70 0 m 80 50 n 85 60 n 90 65 n 100 70 n 115 70 n 125 65 n 130 60 n 135 45 n 135 0 m 125 60 n 130 45 n 130 5 m 115 70 n 120 65 n 125 50 n 125 0 m 0 0 n 40 0 m 55 0 n 95 0 m 110 0 n 150 0 m 5 70 n 15 65 m 10 70 n 15 60 m 15 5 n 5 0 m 15 10 n 10 0 m 25 10 n 30 0 m 25 5 n 35 0 m 70 5 n 60 0 m 70 10 n 65 0 m 80 10 n 85 0 m 80 5 n 90 0 m 125 5 n 115 0 m 125 10 n 120 0 m 135 10 n 140 0 m 135 5 n 145 0 E # C n m 15 70 n 15 0 m 20 65 n 20 5 m 0 70 n 25 70 n 25 0 m 25 50 n 30 60 n 35 65 n 45 70 n 60 70 n 70 65 n 75 60 n 80 45 n 80 0 m 70 60 n 75 45 n 75 5 m 60 70 n 65 65 n 70 50 n 70 0 m 0 0 n 40 0 m 55 0 n 95 0 m 5 70 n 15 65 m 10 70 n 15 60 m 15 5 n 5 0 m 15 10 n 10 0 m 25 10 n 30 0 m 25 5 n 35 0 m 70 5 n 60 0 m 70 10 n 65 0 m 80 10 n 85 0 m 80 5 n 90 0 E # C o m 30 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 30 0 n 40 0 n 55 5 n 65 15 n 70 30 n 70 40 n 65 55 n 55 65 n 40 70 n 30 70 m 10 55 n 5 45 n 5 25 n 10 15 m 60 15 n 65 25 n 65 45 n 60 55 m 30 70 n 20 65 n 15 60 n 10 45 n 10 25 n 15 10 n 20 5 n 30 0 m 40 0 n 50 5 n 55 10 n 60 25 n 60 45 n 55 60 n 50 65 n 40 70 E # C p m 15 70 n 15 -35 m 20 65 n 20 -30 m 0 70 n 25 70 n 25 -35 m 25 55 n 30 65 n 40 70 n 50 70 n 65 65 n 75 55 n 80 40 n 80 30 n 75 15 n 65 5 n 50 0 n 40 0 n 30 5 n 25 15 m 70 55 n 75 45 n 75 25 n 70 15 m 50 70 n 60 65 n 65 60 n 70 45 n 70 25 n 65 10 n 60 5 n 50 0 m 0 -35 n 40 -35 m 5 70 n 15 65 m 10 70 n 15 60 m 15 -30 n 5 -35 m 15 -25 n 10 -35 m 25 -25 n 30 -35 m 25 -30 n 35 -35 E # C q m 55 65 n 55 -35 m 60 60 n 60 -30 m 50 65 n 60 65 n 65 70 n 65 -35 m 55 55 n 50 65 n 40 70 n 30 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 30 0 n 40 0 n 50 5 n 55 15 m 10 55 n 5 45 n 5 25 n 10 15 m 30 70 n 20 65 n 15 60 n 10 45 n 10 25 n 15 10 n 20 5 n 30 0 m 40 -35 n 80 -35 m 55 -30 n 45 -35 m 55 -25 n 50 -35 m 65 -25 n 70 -35 m 65 -30 n 75 -35 E # C r m 15 70 n 15 0 m 20 65 n 20 5 m 0 70 n 25 70 n 25 0 m 60 60 n 60 65 n 55 65 n 55 55 n 65 55 n 65 65 n 60 70 n 50 70 n 40 65 n 30 55 n 25 40 m 0 0 n 40 0 m 5 70 n 15 65 m 10 70 n 15 60 m 15 5 n 5 0 m 15 10 n 10 0 m 25 10 n 30 0 m 25 5 n 35 0 E # C s m 50 60 n 55 70 n 55 50 n 50 60 n 45 65 n 35 70 n 15 70 n 5 65 n 0 60 n 0 50 n 5 40 n 15 35 n 40 30 n 50 25 n 55 10 m 5 65 n 0 50 m 5 45 n 15 40 n 40 35 n 50 30 m 55 25 n 50 5 m 0 60 n 5 50 n 15 45 n 40 40 n 50 35 n 55 25 n 55 10 n 50 5 n 40 0 n 20 0 n 10 5 n 5 10 n 0 20 n 0 0 n 5 10 E # C t m 15 95 n 15 25 n 20 10 n 25 5 n 35 0 n 45 0 n 55 5 n 60 15 m 20 95 n 20 20 n 25 10 m 15 95 n 25 105 n 25 20 n 30 5 n 35 0 m 0 70 n 45 70 E # C u m 15 70 n 15 25 n 20 10 n 25 5 n 35 0 n 50 0 n 60 5 n 65 10 n 70 20 m 20 65 n 20 20 n 25 10 m 0 70 n 25 70 n 25 20 n 30 5 n 35 0 m 70 70 n 70 0 n 95 0 m 75 65 n 75 5 m 55 70 n 80 70 n 80 0 m 5 70 n 15 65 m 10 70 n 15 60 m 80 10 n 85 0 m 80 5 n 90 0 E # C v m 10 70 n 40 0 m 15 70 n 40 10 m 20 70 n 45 10 m 70 65 n 45 10 n 40 0 m 0 70 n 35 70 m 50 70 n 80 70 m 5 70 n 20 60 m 30 70 n 20 65 m 60 70 n 70 65 m 75 70 n 70 65 E # C w m 15 70 n 35 0 m 20 70 n 35 15 m 25 70 n 40 15 m 55 70 n 40 15 n 35 0 m 55 70 n 75 0 m 60 70 n 75 15 m 55 70 n 65 70 n 80 15 m 95 65 n 80 15 n 75 0 m 0 70 n 40 70 m 80 70 n 110 70 m 5 70 n 20 65 m 35 70 n 25 65 m 85 70 n 95 65 m 105 70 n 95 65 E # C x m 10 70 n 60 0 m 15 70 n 65 0 m 20 70 n 70 0 m 65 65 n 15 5 m 0 70 n 35 70 m 50 70 n 80 70 m 0 0 n 30 0 m 45 0 n 80 0 m 5 70 n 15 65 m 30 70 n 20 65 m 55 70 n 65 65 m 75 70 n 65 65 m 15 5 n 5 0 m 15 5 n 25 0 m 60 5 n 50 0 m 65 5 n 75 0 E # C y m 15 70 n 45 0 m 20 70 n 45 10 m 25 70 n 50 10 m 75 65 n 50 10 n 35 -20 n 25 -30 n 15 -35 n 5 -35 n 0 -30 n 0 -20 n 10 -20 n 10 -30 n 5 -30 n 5 -25 m 5 70 n 40 70 m 55 70 n 85 70 m 10 70 n 25 60 m 35 70 n 25 65 m 65 70 n 75 65 m 80 70 n 75 65 E # C z m 50 70 n 0 0 m 55 70 n 5 0 m 60 70 n 10 0 m 60 70 n 0 70 n 0 50 m 0 0 n 60 0 n 60 20 m 5 70 n 0 50 m 10 70 n 0 55 m 15 70 n 0 60 m 25 70 n 0 65 m 35 0 n 60 5 m 45 0 n 60 10 m 50 0 n 60 15 m 55 0 n 60 20 E # C { m 25 125 n 15 120 n 10 115 n 5 105 n 5 95 n 10 85 n 15 80 n 20 70 n 20 60 n 10 50 m 15 120 n 10 110 n 10 100 n 15 90 n 20 85 n 25 75 n 25 65 n 20 55 n 0 45 n 20 35 n 25 25 n 25 15 n 20 5 n 15 0 n 10 -10 n 10 -20 n 15 -30 m 10 40 n 20 30 n 20 20 n 15 10 n 10 5 n 5 -5 n 5 -15 n 10 -25 n 15 -30 n 25 -35 E # C | m 0 125 n 0 -35 E # C } m 0 125 n 10 120 n 15 115 n 20 105 n 20 95 n 15 85 n 10 80 n 5 70 n 5 60 n 15 50 m 10 120 n 15 110 n 15 100 n 10 90 n 5 85 n 0 75 n 0 65 n 5 55 n 25 45 n 5 35 n 0 25 n 0 15 n 5 5 n 10 0 n 15 -10 n 15 -20 n 10 -30 m 15 40 n 5 30 n 5 20 n 10 10 n 15 5 n 20 -5 n 20 -15 n 15 -25 n 10 -30 n 0 -35 E # C ~ m 0 30 n 0 40 n 5 55 n 15 60 n 25 60 n 35 55 n 55 40 n 65 35 n 75 35 n 85 40 n 90 50 m 0 40 n 5 50 n 15 55 n 25 55 n 35 50 n 55 35 n 65 30 n 75 30 n 85 35 n 90 50 n 90 60 E # C *A m 45 105 n 10 0 m 45 105 n 80 0 m 45 90 n 75 0 m 20 30 n 65 30 m 0 0 n 30 0 m 60 0 n 90 0 E # C *B m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 60 105 n 75 100 n 80 95 n 85 85 n 85 75 n 80 65 n 75 60 n 60 55 m 60 105 n 70 100 n 75 95 n 80 85 n 80 75 n 75 65 n 70 60 n 60 55 m 20 55 n 60 55 n 75 50 n 80 45 n 85 35 n 85 20 n 80 10 n 75 5 n 60 0 n 0 0 m 60 55 n 70 50 n 75 45 n 80 35 n 80 20 n 75 10 n 70 5 n 60 0 E # C *Q m 45 105 n 45 0 m 50 105 n 50 0 m 0 70 n 5 75 n 15 70 n 20 50 n 25 40 n 30 35 n 40 30 m 5 75 n 10 70 n 15 50 n 20 40 n 25 35 n 40 30 n 55 30 n 70 35 n 75 40 n 80 50 n 85 70 n 90 75 m 55 30 n 65 35 n 70 40 n 75 50 n 80 70 n 90 75 n 95 70 m 30 105 n 65 105 m 30 0 n 65 0 E # C *D m 40 105 n 0 0 m 40 105 n 80 0 m 40 90 n 75 0 m 5 5 n 75 5 m 0 0 n 80 0 E # C *E m 15 105 n 15 0 m 20 105 n 20 0 m 50 75 n 50 35 m 0 105 n 80 105 n 80 75 n 75 105 m 20 55 n 50 55 m 0 0 n 80 0 n 80 30 n 75 0 E # C *F m 35 105 n 35 0 m 40 105 n 40 0 m 25 80 n 10 75 n 5 70 n 0 60 n 0 45 n 5 35 n 10 30 n 25 25 n 50 25 n 65 30 n 70 35 n 75 45 n 75 60 n 70 70 n 65 75 n 50 80 n 25 80 m 25 80 n 15 75 n 10 70 n 5 60 n 5 45 n 10 35 n 15 30 n 25 25 m 50 25 n 60 30 n 65 35 n 70 45 n 70 60 n 65 70 n 60 75 n 50 80 m 20 105 n 55 105 m 20 0 n 55 0 E # C *G m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 75 105 n 75 75 n 70 105 m 0 0 n 35 0 E # C *Y m 15 105 n 15 0 m 20 105 n 20 0 m 80 105 n 80 0 m 85 105 n 85 0 m 0 105 n 35 105 m 65 105 n 100 105 m 20 55 n 80 55 m 0 0 n 35 0 m 65 0 n 100 0 E # C *H m 35 105 n 20 100 n 10 90 n 5 80 n 0 60 n 0 45 n 5 25 n 10 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 n 75 25 n 80 45 n 80 60 n 75 80 n 70 90 n 60 100 n 45 105 n 35 105 m 35 105 n 25 100 n 15 90 n 10 80 n 5 60 n 5 45 n 10 25 n 15 15 n 25 5 n 35 0 m 45 0 n 55 5 n 65 15 n 70 25 n 75 45 n 75 60 n 70 80 n 65 90 n 55 100 n 45 105 m 15 40 n 20 40 n 20 45 n 25 50 n 55 50 n 60 45 n 60 40 n 65 40 n 65 65 n 60 65 n 60 60 n 55 55 n 25 55 n 20 60 n 20 65 n 15 65 n 15 40 E # C *I m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 35 105 m 0 0 n 35 0 E # C *C m 5 110 n 0 85 m 80 110 n 75 85 m 25 65 n 20 40 m 60 65 n 55 40 m 5 20 n 0 -5 m 80 20 n 75 -5 m 5 100 n 75 100 m 5 95 n 75 95 m 25 55 n 55 55 m 25 50 n 55 50 m 5 10 n 75 10 m 5 5 n 75 5 E # C *K m 15 105 n 15 0 m 20 105 n 20 0 m 85 105 n 20 40 m 45 60 n 85 0 m 40 60 n 80 0 m 0 105 n 35 105 m 65 105 n 95 105 m 0 0 n 35 0 m 65 0 n 95 0 E # C *L m 45 105 n 10 0 m 45 105 n 80 0 m 45 90 n 75 0 m 0 0 n 30 0 m 60 0 n 90 0 E # C *M m 15 105 n 15 0 m 20 105 n 50 15 m 15 105 n 50 0 m 85 105 n 50 0 m 85 105 n 85 0 m 90 105 n 90 0 m 0 105 n 20 105 m 85 105 n 105 105 m 0 0 n 30 0 m 70 0 n 105 0 E # C *N m 15 105 n 15 0 m 20 105 n 80 10 m 20 95 n 80 0 m 80 105 n 80 0 m 0 105 n 20 105 m 65 105 n 95 105 m 0 0 n 30 0 E # C *O m 35 105 n 20 100 n 10 90 n 5 80 n 0 60 n 0 45 n 5 25 n 10 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 n 75 25 n 80 45 n 80 60 n 75 80 n 70 90 n 60 100 n 45 105 n 35 105 m 35 105 n 25 100 n 15 90 n 10 80 n 5 60 n 5 45 n 10 25 n 15 15 n 25 5 n 35 0 m 45 0 n 55 5 n 65 15 n 70 25 n 75 45 n 75 60 n 70 80 n 65 90 n 55 100 n 45 105 E # C *P m 15 105 n 15 0 m 20 105 n 20 0 m 80 105 n 80 0 m 85 105 n 85 0 m 0 105 n 100 105 m 0 0 n 35 0 m 65 0 n 100 0 E # C *R m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 60 105 n 75 100 n 80 95 n 85 85 n 85 70 n 80 60 n 75 55 n 60 50 n 20 50 m 60 105 n 70 100 n 75 95 n 80 85 n 80 70 n 75 60 n 70 55 n 60 50 m 0 0 n 35 0 E # C *S m 5 105 n 40 55 n 0 0 m 0 105 n 35 55 m 0 105 n 75 105 n 80 75 n 70 105 m 5 5 n 70 5 m 0 0 n 75 0 n 80 30 n 70 0 E # C *T m 35 105 n 35 0 m 40 105 n 40 0 m 5 105 n 0 75 n 0 105 n 75 105 n 75 75 n 70 105 m 20 0 n 55 0 E # C *U m 35 105 n 20 100 n 10 90 n 5 80 n 0 60 n 0 45 n 5 25 n 10 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 n 75 25 n 80 45 n 80 60 n 75 80 n 70 90 n 60 100 n 45 105 n 35 105 m 35 105 n 25 100 n 15 90 n 10 80 n 5 60 n 5 45 n 10 25 n 15 15 n 25 5 n 35 0 m 45 0 n 55 5 n 65 15 n 70 25 n 75 45 n 75 60 n 70 80 n 65 90 n 55 100 n 45 105 m 25 70 n 25 35 m 55 70 n 55 35 m 25 55 n 55 55 m 25 50 n 55 50 E # C *W m 0 15 n 5 0 n 25 0 n 15 20 n 5 40 n 0 55 n 0 75 n 5 90 n 15 100 n 30 105 n 50 105 n 65 100 n 75 90 n 80 75 n 80 55 n 75 40 n 65 20 n 55 0 n 75 0 n 80 15 m 15 20 n 10 35 n 5 55 n 5 75 n 10 90 n 20 100 n 30 105 m 50 105 n 60 100 n 70 90 n 75 75 n 75 55 n 70 35 n 65 20 m 5 5 n 20 5 m 60 5 n 75 5 E # C *X m 10 105 n 75 0 m 15 105 n 80 0 m 80 105 n 10 0 m 0 105 n 30 105 m 60 105 n 90 105 m 0 0 n 30 0 m 60 0 n 90 0 E # C *U m 0 80 n 0 90 n 5 100 n 10 105 n 20 105 n 25 100 n 30 90 n 35 70 n 35 0 m 0 90 n 10 100 n 20 100 n 30 90 m 75 80 n 75 90 n 70 100 n 65 105 n 55 105 n 50 100 n 45 90 n 40 70 n 40 0 m 75 90 n 65 100 n 55 100 n 45 90 m 20 0 n 55 0 E # C *Z m 65 105 n 0 0 m 70 105 n 5 0 m 5 105 n 0 75 n 0 105 n 70 105 m 0 0 n 70 0 n 70 30 n 65 0 E # C *a m 35 70 n 20 65 n 10 55 n 5 45 n 0 30 n 0 15 n 5 5 n 20 0 n 30 0 n 40 5 n 55 20 n 65 35 n 75 55 n 80 70 m 35 70 n 25 65 n 15 55 n 10 45 n 5 30 n 5 15 n 10 5 n 20 0 m 35 70 n 45 70 n 55 65 n 60 55 n 70 15 n 75 5 n 80 0 m 45 70 n 50 65 n 55 55 n 65 15 n 70 5 n 80 0 n 85 0 E # C *b m 55 105 n 40 100 n 30 90 n 20 70 n 15 55 n 10 35 n 5 5 n 0 -35 m 55 105 n 45 100 n 35 90 n 25 70 n 20 55 n 15 35 n 10 5 n 5 -35 m 55 105 n 65 105 n 75 100 n 80 95 n 80 80 n 75 70 n 70 65 n 55 60 n 35 60 m 65 105 n 75 95 n 75 80 n 70 70 n 65 65 n 55 60 m 35 60 n 55 55 n 65 45 n 70 35 n 70 20 n 65 10 n 60 5 n 45 0 n 35 0 n 25 5 n 20 10 n 15 25 m 35 60 n 50 55 n 60 45 n 65 35 n 65 20 n 60 10 n 55 5 n 45 0 E # C *q m 70 105 n 40 -35 m 75 105 n 35 -35 m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 30 30 n 30 15 n 40 5 n 55 5 n 65 10 n 80 25 n 90 40 m 25 70 n 30 65 n 30 55 n 25 30 n 25 15 n 30 5 n 40 0 n 55 0 n 65 5 n 75 15 n 85 30 n 90 40 n 100 70 E # C *d m 50 65 n 40 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 20 n 60 35 n 60 50 n 55 60 n 35 85 n 30 95 n 30 105 n 35 110 n 45 110 n 55 105 n 65 95 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 20 n 55 35 n 55 55 n 50 65 n 40 80 n 35 90 n 35 100 n 40 105 n 50 105 n 65 95 E # C *e m 60 55 n 50 65 n 40 70 n 20 70 n 10 65 n 10 55 n 20 45 n 35 40 m 20 70 n 15 65 n 15 55 n 25 45 n 35 40 m 35 40 n 10 35 n 0 25 n 0 15 n 5 5 n 20 0 n 35 0 n 45 5 n 55 15 m 35 40 n 15 35 n 5 25 n 5 15 n 10 5 n 20 0 E # C *f m 25 65 n 15 60 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 35 0 n 50 5 n 65 15 n 75 30 n 80 45 n 80 60 n 70 70 n 60 70 n 50 60 n 40 40 n 30 15 n 15 -35 m 0 20 n 10 10 n 20 5 n 35 5 n 50 10 n 65 20 n 75 30 m 80 60 n 70 65 n 60 65 n 50 55 n 40 40 n 30 10 n 20 -35 E # C *g m 0 55 n 10 65 n 20 70 n 30 70 n 40 65 n 45 60 n 50 45 n 50 25 n 45 5 n 30 -35 m 5 60 n 15 65 n 35 65 n 45 60 m 85 70 n 80 55 n 75 45 n 50 10 n 35 -15 n 25 -35 m 80 70 n 75 55 n 70 45 n 50 10 E # C *y m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 30 35 n 20 0 m 25 70 n 30 65 n 30 55 n 25 35 n 15 0 m 30 35 n 40 55 n 50 65 n 60 70 n 70 70 n 80 65 n 85 60 n 85 45 n 80 20 n 65 -35 m 70 70 n 80 60 n 80 45 n 75 20 n 60 -35 E # C *i m 15 70 n 5 35 n 0 15 n 0 5 n 5 0 n 20 0 n 30 10 n 35 20 m 20 70 n 10 35 n 5 15 n 5 5 n 10 0 E # C *c m 40 105 n 30 100 n 25 95 n 25 90 n 30 85 n 45 80 n 60 80 m 45 80 n 25 75 n 15 70 n 10 60 n 10 50 n 20 40 n 35 35 n 50 35 m 45 80 n 30 75 n 20 70 n 15 60 n 15 50 n 25 40 n 35 35 m 35 35 n 15 30 n 5 25 n 0 15 n 0 5 n 10 -5 n 35 -15 n 40 -20 n 40 -30 n 30 -35 n 20 -35 m 35 35 n 20 30 n 10 25 n 5 15 n 5 5 n 15 -5 n 35 -15 E # C *k m 20 70 n 0 0 m 25 70 n 5 0 m 70 70 n 75 65 n 80 65 n 75 70 n 65 70 n 55 65 n 35 45 n 25 40 n 15 40 m 25 40 n 35 35 n 45 5 n 50 0 m 25 40 n 30 35 n 40 5 n 45 0 n 55 0 n 65 5 n 75 20 E # C *l m 5 105 n 15 105 n 25 100 n 30 95 n 35 85 n 65 15 n 70 5 n 75 0 m 15 105 n 25 95 n 30 85 n 60 15 n 65 5 n 75 0 n 80 0 m 40 70 n 0 0 m 40 70 n 5 0 E # C *m m 30 70 n 0 -35 m 35 70 n 5 -35 m 30 55 n 25 25 n 25 10 n 35 0 n 45 0 n 55 5 n 65 15 n 75 30 m 85 70 n 70 15 n 70 5 n 75 0 n 90 0 n 100 10 n 105 20 m 90 70 n 75 15 n 75 5 n 80 0 E # C *n m 15 70 n 5 0 m 20 70 n 15 40 n 10 15 n 5 0 m 70 70 n 65 50 n 55 30 m 75 70 n 70 55 n 65 45 n 55 30 n 45 20 n 30 10 n 20 5 n 5 0 m 0 70 n 20 70 E # C *o m 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 20 n 60 35 n 60 50 n 55 60 n 50 65 n 40 70 n 30 70 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 20 n 55 35 n 55 55 n 50 65 E # C *p m 35 65 n 15 0 m 35 65 n 20 0 m 65 65 n 65 0 m 65 65 n 70 0 m 0 55 n 10 65 n 25 70 n 90 70 m 0 55 n 10 60 n 25 65 n 90 65 E # C *r m 20 25 n 25 10 n 30 5 n 40 0 n 50 0 n 65 5 n 75 20 n 80 35 n 80 50 n 75 60 n 70 65 n 60 70 n 50 70 n 35 65 n 25 50 n 20 35 n 0 -35 m 50 0 n 60 5 n 70 20 n 75 35 n 75 55 n 70 65 m 50 70 n 40 65 n 30 50 n 25 35 n 5 -35 E # C *s m 80 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 20 n 60 35 n 60 50 n 55 60 n 50 65 n 40 70 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 20 n 55 35 n 55 55 n 50 65 m 50 65 n 80 65 E # C *t m 45 65 n 30 0 m 45 65 n 35 0 m 0 55 n 10 65 n 25 70 n 80 70 m 0 55 n 10 60 n 25 65 n 80 65 E # C *h m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 30 30 n 30 15 n 35 5 n 40 0 m 25 70 n 30 65 n 30 55 n 25 30 n 25 15 n 30 5 n 40 0 n 50 0 n 60 5 n 70 15 n 80 30 n 85 45 n 90 70 n 90 90 n 85 100 n 75 105 n 65 105 n 55 95 n 55 85 n 60 70 n 70 55 n 80 45 n 95 35 m 60 5 n 70 20 n 75 30 n 80 45 n 85 70 n 85 90 n 80 100 n 75 105 E # C *w m 5 50 n 15 60 n 30 65 n 25 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 5 n 10 0 n 20 0 n 30 5 n 40 20 n 45 35 m 0 20 n 5 10 n 10 5 n 20 5 n 30 10 n 40 20 m 40 35 n 40 20 n 45 5 n 50 0 n 60 0 n 70 5 n 80 20 n 85 35 n 85 50 n 80 65 n 75 70 n 70 65 n 80 60 n 85 50 m 40 20 n 45 10 n 50 5 n 60 5 n 70 10 n 80 20 E # C ts m 40 70 n 50 65 n 60 55 n 60 60 n 55 65 n 40 70 n 25 70 n 10 65 n 5 60 n 0 50 n 0 40 n 5 30 n 15 20 n 35 5 m 25 70 n 15 65 n 10 60 n 5 50 n 5 40 n 10 30 n 35 5 n 40 -5 n 40 -15 n 35 -20 n 25 -20 E # C *x m 5 70 n 15 70 n 25 65 n 30 55 n 55 -20 n 60 -30 n 65 -35 m 15 70 n 20 65 n 25 55 n 50 -20 n 55 -30 n 65 -35 n 75 -35 m 80 70 n 75 60 n 65 45 n 15 -10 n 5 -25 n 0 -35 E # C *u m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 25 25 n 25 10 n 35 0 m 25 70 n 30 65 n 30 55 n 20 25 n 20 10 n 25 5 n 35 0 n 40 0 n 55 5 n 65 15 n 75 30 n 80 45 n 80 60 n 75 70 n 70 65 n 75 60 n 80 45 m 75 30 n 80 60 E # C *z m 40 105 n 30 100 n 25 95 n 25 90 n 30 85 n 45 80 n 70 80 n 70 85 n 55 80 n 35 70 n 20 60 n 5 45 n 0 30 n 0 20 n 5 10 n 20 0 n 35 -10 n 40 -20 n 40 -30 n 35 -35 n 25 -35 n 20 -30 m 45 75 n 25 60 n 10 45 n 5 30 n 5 20 n 10 10 n 20 0 E # C pd m 60 45 n 55 60 n 50 65 n 40 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 15 n 60 30 n 65 55 n 65 80 n 60 95 n 55 100 n 45 105 n 30 105 n 20 100 n 15 95 n 15 90 n 20 90 n 20 95 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 15 n 55 30 n 60 55 n 60 80 n 55 95 n 45 105 E # C gr m 0 105 n 40 0 m 5 105 n 40 10 m 80 105 n 40 0 m 0 105 n 80 105 m 5 100 n 75 100 E xgks-2.6.1+dfsg.2/src/fontdb/ge.fnt0000644000175000017500000006515611413611016020063 0ustar amckinstryamckinstry# gothic_english # C 0 w 20 m 6 12 n 3 11 n 1 8 n 0 3 n 0 0 n 1 -5 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -5 n 14 0 n 14 3 n 13 8 n 11 11 n 8 12 n 6 12 m 3 10 n 2 8 n 1 4 n 1 -1 n 2 -5 n 3 -7 m 11 -7 n 12 -5 n 13 -1 n 13 4 n 12 8 n 11 10 m 6 12 n 4 11 n 3 9 n 2 4 n 2 -1 n 3 -6 n 4 -8 n 6 -9 m 8 -9 n 10 -8 n 11 -6 n 12 -1 n 12 4 n 11 9 n 10 11 n 8 12 E # C 1 w 20 m 4 10 n 4 -9 m 5 10 n 5 -8 m 6 12 n 6 -9 m 6 12 n 3 9 n 1 8 m 0 -9 n 10 -9 m 4 -8 n 2 -9 m 4 -7 n 3 -9 m 6 -7 n 7 -9 m 6 -8 n 8 -9 E # C 2 w 20 m 4 8 n 4 7 n 5 7 n 5 8 n 4 8 m 4 9 n 5 9 n 6 8 n 6 7 n 5 6 n 4 6 n 3 7 n 3 8 n 4 10 n 5 11 n 8 12 n 12 12 n 15 11 n 16 10 n 17 8 n 17 6 n 16 4 n 13 2 n 8 0 n 6 -1 n 4 -3 n 3 -6 n 3 -9 m 15 10 n 16 8 n 16 6 n 15 4 m 12 12 n 14 11 n 15 8 n 15 6 n 14 4 n 12 2 n 8 0 m 3 -7 n 4 -6 n 6 -6 n 11 -7 n 15 -7 n 17 -6 m 6 -6 n 11 -8 n 15 -8 n 16 -7 m 6 -6 n 11 -9 n 15 -9 n 16 -8 n 17 -6 n 17 -4 E # C 3 w 20 m 1 8 n 1 7 n 2 7 n 2 8 n 1 8 m 1 9 n 2 9 n 3 8 n 3 7 n 2 6 n 1 6 n 0 7 n 0 8 n 1 10 n 2 11 n 5 12 n 9 12 n 12 11 n 13 9 n 13 6 n 12 4 n 9 3 m 11 11 n 12 9 n 12 6 n 11 4 m 8 12 n 10 11 n 11 9 n 11 6 n 10 4 n 8 3 m 6 3 n 9 3 n 11 2 n 13 0 n 14 -2 n 14 -5 n 13 -7 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -4 n 1 -3 n 2 -3 n 3 -4 n 3 -5 n 2 -6 n 1 -6 m 12 0 n 13 -2 n 13 -5 n 12 -7 m 8 3 n 10 2 n 11 1 n 12 -2 n 12 -5 n 11 -8 n 9 -9 m 1 -4 n 1 -5 n 2 -5 n 2 -4 n 1 -4 E # C 4 w 20 m 9 9 n 9 -9 m 10 10 n 10 -8 m 11 12 n 11 -9 m 11 12 n 0 -3 n 16 -3 m 6 -9 n 14 -9 m 9 -8 n 7 -9 m 9 -7 n 8 -9 m 11 -7 n 12 -9 m 11 -8 n 13 -9 E # C 5 w 20 m 2 12 n 0 2 n 2 4 n 5 5 n 8 5 n 11 4 n 13 2 n 14 -1 n 14 -3 n 13 -6 n 11 -8 n 8 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -4 n 1 -3 n 2 -3 n 3 -4 n 3 -5 n 2 -6 n 1 -6 m 12 2 n 13 0 n 13 -4 n 12 -6 m 8 5 n 10 4 n 11 3 n 12 0 n 12 -4 n 11 -7 n 10 -8 n 8 -9 m 1 -4 n 1 -5 n 2 -5 n 2 -4 n 1 -4 m 2 12 n 12 12 m 2 11 n 10 11 m 2 10 n 6 10 n 10 11 n 12 12 E # C 6 w 20 m 11 9 n 11 8 n 12 8 n 12 9 n 11 9 m 12 10 n 11 10 n 10 9 n 10 8 n 11 7 n 12 7 n 13 8 n 13 9 n 12 11 n 10 12 n 7 12 n 4 11 n 2 9 n 1 7 n 0 3 n 0 -3 n 1 -6 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -6 n 14 -3 n 14 -2 n 13 1 n 11 3 n 8 4 n 6 4 n 4 3 n 3 2 n 2 0 m 3 9 n 2 7 n 1 3 n 1 -3 n 2 -6 n 3 -7 m 12 -6 n 13 -4 n 13 -1 n 12 1 m 7 12 n 5 11 n 4 10 n 3 8 n 2 4 n 2 -3 n 3 -6 n 4 -8 n 6 -9 m 8 -9 n 10 -8 n 11 -7 n 12 -4 n 12 -1 n 11 2 n 10 3 n 8 4 E # C 7 w 20 m 0 12 n 0 6 m 14 12 n 14 9 n 13 6 n 9 1 n 8 -1 n 7 -5 n 7 -9 m 8 0 n 7 -2 n 6 -5 n 6 -9 m 13 6 n 8 1 n 6 -2 n 5 -5 n 5 -9 n 7 -9 m 0 8 n 1 10 n 3 12 n 5 12 n 10 9 n 12 9 n 13 10 n 14 12 m 2 10 n 3 11 n 5 11 n 7 10 m 0 8 n 1 9 n 3 10 n 5 10 n 10 9 E # C 8 w 20 m 5 12 n 2 11 n 1 9 n 1 6 n 2 4 n 5 3 n 9 3 n 12 4 n 13 6 n 13 9 n 12 11 n 9 12 n 5 12 m 3 11 n 2 9 n 2 6 n 3 4 m 11 4 n 12 6 n 12 9 n 11 11 m 5 12 n 4 11 n 3 9 n 3 6 n 4 4 n 5 3 m 9 3 n 10 4 n 11 6 n 11 9 n 10 11 n 9 12 m 5 3 n 2 2 n 1 1 n 0 -1 n 0 -5 n 1 -7 n 2 -8 n 5 -9 n 9 -9 n 12 -8 n 13 -7 n 14 -5 n 14 -1 n 13 1 n 12 2 n 9 3 m 2 1 n 1 -1 n 1 -5 n 2 -7 m 12 -7 n 13 -5 n 13 -1 n 12 1 m 5 3 n 3 2 n 2 -1 n 2 -5 n 3 -8 n 5 -9 m 9 -9 n 11 -8 n 12 -5 n 12 -1 n 11 2 n 9 3 E # C 9 w 20 m 2 -5 n 2 -6 n 3 -6 n 3 -5 n 2 -5 m 12 3 n 11 1 n 10 0 n 8 -1 n 6 -1 n 3 0 n 1 2 n 0 5 n 0 6 n 1 9 n 3 11 n 6 12 n 8 12 n 11 11 n 13 9 n 14 6 n 14 0 n 13 -4 n 12 -6 n 10 -8 n 7 -9 n 4 -9 n 2 -8 n 1 -6 n 1 -5 n 2 -4 n 3 -4 n 4 -5 n 4 -6 n 3 -7 n 2 -7 m 2 2 n 1 4 n 1 7 n 2 9 m 11 10 n 12 9 n 13 6 n 13 0 n 12 -4 n 11 -6 m 6 -1 n 4 0 n 3 1 n 2 4 n 2 7 n 3 10 n 4 11 n 6 12 m 8 12 n 10 11 n 11 9 n 12 6 n 12 -1 n 11 -5 n 10 -7 n 9 -8 n 7 -9 E # C . w 11 m 1 -6 n 0 -7 n 0 -8 n 1 -9 n 2 -9 n 3 -8 n 3 -7 n 2 -6 n 1 -6 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 E # C , w 11 m 3 -8 n 2 -9 n 1 -9 n 0 -8 n 0 -7 n 1 -6 n 2 -6 n 3 -7 n 3 -10 n 2 -12 n 0 -13 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 m 2 -9 n 3 -10 m 3 -8 n 2 -12 E # C : w 11 m 1 5 n 0 4 n 0 3 n 1 2 n 2 2 n 3 3 n 3 4 n 2 5 n 1 5 m 1 4 n 1 3 n 2 3 n 2 4 n 1 4 m 1 -6 n 0 -7 n 0 -8 n 1 -9 n 2 -9 n 3 -8 n 3 -7 n 2 -6 n 1 -6 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 E # C ; w 11 m 1 5 n 0 4 n 0 3 n 1 2 n 2 2 n 3 3 n 3 4 n 2 5 n 1 5 m 1 4 n 1 3 n 2 3 n 2 4 n 1 4 m 3 -8 n 2 -9 n 1 -9 n 0 -8 n 0 -7 n 1 -6 n 2 -6 n 3 -7 n 3 -10 n 2 -12 n 0 -13 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 m 2 -9 n 3 -10 m 3 -8 n 2 -12 E # C ! w 11 m 1 12 n 0 11 n 0 9 n 1 1 m 1 12 n 1 -2 n 2 -2 m 1 12 n 2 12 n 2 -2 m 2 12 n 3 11 n 3 9 n 2 1 m 1 -6 n 0 -7 n 0 -8 n 1 -9 n 2 -9 n 3 -8 n 3 -7 n 2 -6 n 1 -6 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 E # C ? w 19 m 1 7 n 1 8 n 2 8 n 2 6 n 0 6 n 0 8 n 1 10 n 2 11 n 4 12 n 8 12 n 11 11 n 12 10 n 13 8 n 13 6 n 12 4 n 11 3 n 7 1 m 11 10 n 12 9 n 12 5 n 11 4 m 8 12 n 10 11 n 11 9 n 11 5 n 10 3 n 9 2 m 6 1 n 6 -2 n 7 -2 n 7 1 n 6 1 m 6 -6 n 5 -7 n 5 -8 n 6 -9 n 7 -9 n 8 -8 n 8 -7 n 7 -6 n 6 -6 m 6 -7 n 6 -8 n 7 -8 n 7 -7 n 6 -7 E # C ` w 11 m 3 12 n 1 11 n 0 9 n 0 6 n 1 5 n 2 5 n 3 6 n 3 7 n 2 8 n 1 8 n 0 7 m 1 7 n 1 6 n 2 6 n 2 7 n 1 7 m 1 11 n 0 7 m 0 9 n 1 8 E # C & w 26 m 18 3 n 18 4 n 17 4 n 17 2 n 19 2 n 19 4 n 18 5 n 17 5 n 16 4 n 15 2 n 13 -3 n 11 -6 n 9 -8 n 7 -9 n 3 -9 n 1 -8 n 0 -6 n 0 -3 n 1 -1 n 7 3 n 9 5 n 10 7 n 10 9 n 9 11 n 7 12 n 5 11 n 4 9 n 4 6 n 5 3 n 7 0 n 11 -5 n 14 -8 n 16 -9 n 18 -9 n 19 -7 n 19 -6 m 2 -8 n 1 -6 n 1 -3 n 2 -1 n 3 0 m 9 5 n 10 9 m 10 7 n 9 11 m 5 11 n 4 7 m 5 4 n 7 1 n 11 -4 n 14 -7 n 16 -8 m 5 -9 n 3 -8 n 2 -6 n 2 -3 n 3 -1 n 7 3 m 4 9 n 5 5 n 8 1 n 12 -4 n 15 -7 n 17 -8 n 18 -8 n 19 -7 E # C $ w 20 m 5 16 n 5 -13 m 9 16 n 9 -13 m 13 7 n 13 8 n 12 8 n 12 6 n 14 6 n 14 8 n 13 10 n 12 11 n 9 12 n 5 12 n 2 11 n 0 9 n 0 6 n 1 4 n 4 2 n 10 0 n 12 -1 n 13 -3 n 13 -6 n 12 -8 m 1 6 n 2 4 n 4 3 n 10 1 n 12 0 n 13 -2 m 2 11 n 1 9 n 1 7 n 2 5 n 4 4 n 10 2 n 13 0 n 14 -2 n 14 -5 n 13 -7 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -3 n 2 -3 n 2 -5 n 1 -5 n 1 -4 E # C / w 23 m 18 16 n 0 -16 n 1 -16 m 18 16 n 19 16 n 1 -16 E # C ( w 14 m 7 16 n 5 14 n 3 11 n 1 7 n 0 2 n 0 -2 n 1 -7 n 3 -11 n 5 -14 n 7 -16 m 3 10 n 2 7 n 1 3 n 1 -3 n 2 -7 n 3 -10 m 5 14 n 4 12 n 3 9 n 2 3 n 2 -3 n 3 -9 n 4 -12 n 5 -14 E # C ) w 14 m 0 16 n 2 14 n 4 11 n 6 7 n 7 2 n 7 -2 n 6 -7 n 4 -11 n 2 -14 n 0 -16 m 4 10 n 5 7 n 6 3 n 6 -3 n 5 -7 n 4 -10 m 2 14 n 3 12 n 4 9 n 5 3 n 5 -3 n 4 -9 n 3 -12 n 2 -14 E # C * w 16 m 5 12 n 4 11 n 6 1 n 5 0 m 5 12 n 5 0 m 5 12 n 6 11 n 4 1 n 5 0 m 0 9 n 1 9 n 9 3 n 10 3 m 0 9 n 10 3 m 0 9 n 0 8 n 10 4 n 10 3 m 10 9 n 9 9 n 1 3 n 0 3 m 10 9 n 0 3 m 10 9 n 10 8 n 0 4 n 0 3 E # C - w 25 m 0 1 n 17 1 n 17 0 m 0 1 n 0 0 n 17 0 E # C + w 25 m 8 9 n 8 -8 n 9 -8 m 8 9 n 9 9 n 9 -8 m 0 1 n 17 1 n 17 0 m 0 1 n 0 0 n 17 0 E # C = w 25 m 0 5 n 17 5 n 17 4 m 0 5 n 0 4 n 17 4 m 0 -3 n 17 -3 n 17 -4 m 0 -3 n 0 -4 n 17 -4 E # C ' w 9 m 1 12 n 0 11 n 0 5 m 1 11 n 0 5 m 1 12 n 2 11 n 0 5 E # C " w 18 m 1 12 n 0 11 n 0 5 m 1 11 n 0 5 m 1 12 n 2 11 n 0 5 m 10 12 n 9 11 n 9 5 m 10 11 n 9 5 m 10 12 n 11 11 n 9 5 E # C A w 22 m 5 9 n 7 11 n 9 12 n 11 12 n 12 11 n 19 -5 n 20 -6 n 22 -6 m 10 11 n 11 10 n 18 -6 n 19 -8 n 20 -7 n 18 -6 m 7 11 n 9 11 n 10 10 n 17 -6 n 18 -8 n 19 -9 n 20 -9 n 22 -6 m 5 5 n 6 6 n 8 7 n 9 7 n 10 6 m 9 6 n 9 5 m 6 6 n 8 6 n 9 4 m 0 -9 n 2 -7 n 4 -6 n 7 -6 n 9 -7 m 3 -7 n 7 -7 n 8 -8 m 0 -9 n 3 -8 n 6 -8 n 7 -9 n 9 -7 m 11 8 n 5 -6 m 7 -1 n 15 -1 E # C B w 24 m 0 10 n 2 12 n 5 12 n 7 11 n 9 12 m 3 11 n 6 11 m 0 10 n 2 11 n 4 10 n 7 10 n 9 12 m 5 7 n 4 6 n 3 4 n 3 3 n 1 3 n 0 2 n 0 0 n 1 1 n 3 1 n 3 -5 m 4 5 n 4 -3 m 1 2 n 4 2 m 5 7 n 5 -2 n 4 -4 n 3 -5 m 10 9 n 9 8 n 8 6 n 8 -3 m 9 7 n 9 -1 m 10 9 n 10 0 n 9 -2 n 8 -3 m 10 9 n 16 12 n 18 11 n 19 9 n 19 7 n 17 5 n 13 3 m 16 11 n 18 9 n 18 7 m 14 11 n 16 10 n 17 9 n 17 6 n 15 4 m 15 4 n 18 2 n 19 0 n 19 -6 m 17 2 n 18 0 n 18 -5 m 15 4 n 16 3 n 17 1 n 17 -6 m 2 -9 n 5 -7 n 8 -6 n 12 -6 n 15 -7 m 4 -8 n 7 -7 n 12 -7 n 14 -8 m 2 -9 n 6 -8 n 11 -8 n 13 -9 n 15 -7 n 17 -6 n 19 -6 m 13 3 n 13 -6 m 13 0 n 17 0 m 13 -3 n 17 -3 E # C C w 24 m 6 11 n 4 10 n 2 8 n 1 6 n 0 3 n 0 -1 n 1 -4 n 2 -6 n 5 -8 n 8 -9 n 11 -9 n 14 -8 n 16 -7 n 18 -5 n 19 -3 m 2 7 n 1 4 n 1 -1 n 3 -5 n 6 -7 n 9 -8 n 12 -8 n 15 -7 m 6 11 n 4 9 n 3 7 n 2 4 n 2 0 n 3 -3 n 6 -6 n 9 -7 n 12 -7 n 15 -6 n 17 -5 n 19 -3 m 8 8 n 8 -4 m 9 8 n 9 -2 m 10 9 n 10 -1 n 9 -3 n 8 -4 m 8 8 n 10 9 n 13 12 n 15 11 n 17 11 n 18 12 m 12 11 n 14 10 n 16 10 m 11 10 n 13 9 n 15 9 n 17 10 n 18 12 m 15 9 n 15 -6 E # C D w 23 m 0 12 n 14 12 n 16 11 n 17 9 n 17 -6 m 2 11 n 14 11 n 16 9 n 16 -5 m 0 12 n 1 11 n 3 10 n 14 10 n 15 9 n 15 -6 m 6 7 n 5 6 n 4 4 n 4 3 n 2 3 n 1 2 n 1 0 n 2 1 n 4 1 n 4 -4 m 5 5 n 5 -2 m 2 2 n 5 2 m 6 7 n 6 -1 n 5 -3 n 4 -4 m 0 -9 n 3 -7 n 6 -6 n 10 -6 n 13 -7 m 2 -8 n 5 -7 n 10 -7 n 12 -8 m 0 -9 n 4 -8 n 9 -8 n 11 -9 n 13 -7 n 15 -6 n 17 -6 m 9 10 n 9 -6 m 9 5 n 11 4 n 13 4 n 15 5 m 9 -1 n 11 0 n 13 0 n 15 -1 E # C E w 22 m 0 10 n 2 12 n 4 12 n 6 11 n 8 12 m 3 11 n 5 11 m 0 10 n 2 11 n 4 10 n 6 10 n 8 12 m 5 7 n 4 6 n 3 4 n 3 3 n 1 3 n 0 2 n 0 0 n 1 1 n 3 1 n 3 -5 m 4 5 n 4 -3 m 1 2 n 4 2 m 5 7 n 5 -2 n 4 -4 n 3 -5 m 8 5 n 9 8 n 10 10 n 11 11 n 13 12 n 15 12 n 18 11 m 11 10 n 13 11 n 15 11 n 17 10 m 9 8 n 10 9 n 12 10 n 14 10 n 16 9 n 18 11 m 8 -3 n 9 0 n 10 2 n 11 3 n 13 3 n 15 2 m 11 2 n 13 2 n 14 1 m 9 0 n 10 1 n 12 1 n 13 0 n 15 2 m 2 -9 n 5 -7 n 9 -6 n 14 -6 n 18 -7 m 4 -8 n 7 -7 n 14 -7 n 17 -8 m 2 -9 n 6 -8 n 13 -8 n 16 -9 n 18 -7 m 8 5 n 8 -6 E # C F w 23 m 3 10 n 5 12 n 8 12 n 10 11 n 12 12 m 6 11 n 9 11 m 3 10 n 5 11 n 7 10 n 10 10 n 12 12 m 9 7 n 8 6 n 7 4 n 7 3 n 5 3 n 4 2 n 4 0 n 5 1 n 7 1 n 7 -4 m 8 5 n 8 -2 m 5 2 n 8 2 m 9 7 n 9 -1 n 8 -3 n 7 -4 m 12 8 n 12 -7 n 11 -8 n 10 -8 n 6 -6 n 4 -6 n 2 -7 n 0 -9 m 13 8 n 13 -6 m 13 2 n 17 2 m 9 -8 n 8 -8 n 6 -7 n 3 -7 m 14 9 n 14 3 n 17 3 m 17 1 n 14 1 n 14 -5 n 13 -7 n 9 -9 n 7 -9 n 5 -8 n 3 -8 n 0 -9 m 12 8 n 14 9 n 17 12 n 19 11 n 21 11 n 22 12 m 16 11 n 18 10 n 20 10 m 15 10 n 17 9 n 19 9 n 21 10 n 22 12 m 17 9 n 17 -5 E # C G w 25 m 6 11 n 4 10 n 2 8 n 1 6 n 0 3 n 0 0 n 1 -3 n 2 -5 n 4 -7 n 6 -8 n 9 -9 n 13 -9 n 16 -8 n 18 -6 n 19 -4 n 19 -1 n 18 1 n 17 2 n 15 3 n 13 3 m 2 7 n 1 4 n 1 -1 n 2 -4 m 6 11 n 4 9 n 3 7 n 2 4 n 2 -1 n 3 -4 n 4 -6 n 6 -8 m 17 -6 n 18 -5 n 18 -1 n 17 1 m 13 -9 n 15 -8 n 16 -7 n 17 -5 n 17 -1 n 16 1 n 15 2 n 13 3 m 8 8 n 8 -5 m 9 8 n 9 -3 m 10 9 n 10 -2 n 9 -4 n 8 -5 m 8 8 n 10 9 n 13 12 n 15 11 n 17 11 n 18 12 m 12 11 n 14 10 n 16 10 m 11 10 n 13 9 n 15 9 n 17 10 n 18 12 m 17 10 n 13 3 n 13 -9 m 13 -1 n 17 -1 m 13 -4 n 17 -4 E # C H w 24 m 0 10 n 2 12 n 5 12 n 7 11 n 9 12 m 3 11 n 6 11 m 0 10 n 2 11 n 4 10 n 7 10 n 9 12 m 5 7 n 4 6 n 3 4 n 3 3 n 1 3 n 0 2 n 0 0 n 1 1 n 3 1 n 3 -5 m 4 5 n 4 -3 m 1 2 n 4 2 m 5 7 n 5 -2 n 4 -4 n 3 -5 m 2 -9 n 5 -7 n 8 -6 n 11 -6 n 13 -7 m 4 -8 n 7 -7 n 10 -7 n 12 -8 m 2 -9 n 6 -8 n 9 -8 n 11 -9 n 13 -7 m 10 9 n 9 8 n 8 6 n 8 -3 m 9 7 n 9 -1 m 10 9 n 10 0 n 9 -2 n 8 -3 m 10 9 n 12 11 n 14 12 n 16 12 n 18 11 m 15 11 n 16 11 n 17 10 m 12 11 n 14 11 n 16 9 n 18 11 m 13 3 n 15 4 n 17 6 n 18 5 n 19 2 n 19 -2 n 18 -6 n 16 -9 m 16 5 n 17 4 n 18 2 n 18 -3 n 17 -6 m 15 4 n 16 4 n 17 2 n 17 -3 n 16 -9 m 13 3 n 13 -7 m 13 0 n 17 0 m 13 -3 n 17 -3 E # C I w 19 m 3 10 n 5 12 n 8 12 n 11 11 n 13 12 m 6 11 n 10 11 m 3 10 n 5 11 n 8 10 n 11 10 n 13 12 m 10 7 n 9 6 n 8 4 n 8 3 n 6 3 n 5 2 n 5 0 n 6 1 n 8 1 n 8 -4 m 9 5 n 9 -2 m 6 2 n 9 2 m 10 7 n 10 -1 n 9 -3 n 8 -4 m 16 10 n 14 8 n 13 5 n 13 -6 n 12 -8 n 10 -8 n 6 -6 n 4 -6 n 2 -7 n 0 -9 m 14 7 n 14 -5 m 9 -8 n 8 -8 n 6 -7 n 3 -7 m 16 10 n 15 8 n 15 -4 n 14 -6 n 12 -8 n 10 -9 n 7 -9 n 5 -8 n 2 -8 n 0 -9 E # C J w 20 m 2 10 n 4 12 n 7 12 n 10 11 n 12 12 m 5 11 n 9 11 m 2 10 n 4 11 n 7 10 n 10 10 n 12 12 m 9 7 n 8 6 n 7 4 n 7 3 n 5 3 n 4 2 n 4 0 n 5 1 n 7 1 n 7 -4 m 8 5 n 8 -2 m 5 2 n 8 2 m 9 7 n 9 -1 n 8 -3 n 7 -4 m 15 10 n 13 8 n 12 5 n 12 -6 n 11 -8 m 13 7 n 13 -5 m 15 10 n 14 8 n 14 -4 n 13 -6 n 11 -8 n 8 -9 n 5 -9 n 2 -8 n 0 -6 n 0 -4 n 1 -3 n 2 -3 n 3 -4 n 2 -5 n 1 -5 m 0 -4 n 3 -4 E # C K w 24 m 0 10 n 2 12 n 5 12 n 7 11 n 9 12 m 3 11 n 6 11 m 0 10 n 2 11 n 4 10 n 7 10 n 9 12 m 5 7 n 4 6 n 3 4 n 3 3 n 1 3 n 0 2 n 0 0 n 1 1 n 3 1 n 3 -5 m 4 5 n 4 -3 m 1 2 n 4 2 m 5 7 n 5 -2 n 4 -4 n 3 -5 m 2 -9 n 5 -7 n 8 -6 n 11 -6 n 13 -7 m 4 -8 n 6 -7 n 10 -7 n 12 -8 m 2 -9 n 6 -8 n 9 -8 n 11 -9 n 13 -7 m 10 9 n 9 8 n 8 6 n 8 -3 m 9 7 n 9 -1 m 10 9 n 10 0 n 9 -2 n 8 -3 m 10 9 n 12 11 n 14 12 n 16 12 n 18 11 m 15 11 n 16 11 n 17 10 m 12 11 n 14 11 n 16 9 n 18 11 m 13 3 n 16 6 n 17 5 n 19 4 m 15 5 n 17 4 n 19 4 m 19 4 n 17 1 n 15 -1 n 13 -3 m 15 -1 n 17 -2 n 18 -6 n 19 -8 n 20 -8 m 17 -4 n 18 -8 m 15 -1 n 16 -2 n 17 -8 n 18 -9 n 19 -9 n 20 -8 m 13 3 n 13 -7 E # C L w 22 m 0 10 n 2 12 n 5 12 n 7 11 n 9 12 m 3 11 n 6 11 m 0 10 n 2 11 n 4 10 n 7 10 n 9 12 m 5 7 n 4 6 n 3 4 n 3 3 n 1 3 n 0 2 n 0 0 n 1 1 n 3 1 n 3 -5 m 4 5 n 4 -3 m 1 2 n 4 2 m 5 7 n 5 -2 n 4 -4 n 3 -5 m 2 -9 n 5 -7 n 9 -6 n 14 -6 n 18 -7 m 4 -8 n 7 -7 n 14 -7 n 17 -8 m 2 -9 n 6 -8 n 13 -8 n 16 -9 n 18 -7 m 10 9 n 9 8 n 8 6 n 8 -3 m 9 7 n 9 -1 m 10 9 n 10 0 n 9 -2 n 8 -3 m 10 9 n 12 11 n 14 12 n 16 12 n 18 11 m 15 11 n 16 11 n 17 10 m 12 11 n 14 11 n 16 9 n 18 11 m 14 11 n 14 -6 E # C M w 28 m 7 8 n 6 7 n 5 5 n 5 3 n 3 3 n 2 2 n 2 0 n 3 1 n 5 1 n 5 -3 m 6 6 n 6 -1 m 3 2 n 6 2 m 7 8 n 7 0 n 6 -2 n 5 -3 m 0 -9 n 2 -7 n 4 -6 n 6 -6 n 8 -7 n 9 -7 n 10 -6 m 3 -7 n 6 -7 n 8 -8 m 0 -9 n 2 -8 n 5 -8 n 7 -9 n 8 -9 n 9 -8 n 10 -6 m 7 8 n 11 12 n 15 8 n 15 -5 n 16 -7 n 17 -7 m 11 11 n 14 8 n 14 -6 n 13 -7 n 14 -8 n 15 -7 n 14 -6 m 11 2 n 14 2 m 9 10 n 10 10 n 13 7 n 13 3 n 10 3 m 10 1 n 13 1 n 13 -6 n 12 -7 n 14 -9 n 17 -7 n 18 -6 m 15 8 n 19 12 n 23 8 n 23 -5 n 24 -7 n 25 -7 m 19 11 n 22 8 n 22 -6 n 24 -8 m 19 2 n 22 2 m 17 10 n 18 10 n 21 7 n 21 3 n 18 3 m 18 1 n 21 1 n 21 -7 n 23 -9 n 25 -7 m 10 10 n 10 -6 m 18 10 n 18 -6 E # C N w 25 m 0 9 n 2 11 n 4 12 n 6 12 n 8 11 n 10 8 n 15 -3 n 17 -6 n 18 -7 m 6 11 n 8 9 n 9 7 n 15 -5 n 18 -8 m 2 11 n 4 11 n 6 10 n 8 7 n 13 -4 n 15 -7 n 16 -8 n 18 -9 m 15 10 n 17 9 n 19 9 n 21 10 n 22 12 m 16 11 n 18 10 n 20 10 m 15 10 n 17 12 n 19 11 n 21 11 n 22 12 m 4 3 n 2 3 n 1 2 n 1 0 n 2 1 n 4 1 m 2 2 n 4 2 m 0 -9 n 2 -7 n 4 -6 n 7 -6 n 9 -7 m 3 -7 n 6 -7 n 8 -8 m 0 -9 n 3 -8 n 6 -8 n 7 -9 n 9 -7 m 4 11 n 4 -6 m 18 9 n 18 -9 m 11 6 n 12 5 n 14 4 n 16 4 n 18 5 m 4 -2 n 6 -1 n 10 -1 n 12 -2 E # C O w 26 m 6 12 n 4 11 n 2 9 n 1 7 n 0 4 n 0 0 n 1 -3 n 2 -5 n 4 -7 n 6 -8 n 9 -9 n 11 -9 n 14 -8 n 16 -7 n 18 -5 n 19 -3 n 20 0 n 20 4 n 19 7 n 18 9 n 16 11 n 14 12 n 13 11 n 10 9 n 7 8 m 2 8 n 1 5 n 1 -1 n 2 -4 m 6 12 n 4 10 n 3 8 n 2 5 n 2 -1 n 3 -4 n 4 -6 n 6 -8 m 18 -4 n 19 -1 n 19 5 n 17 9 n 16 10 m 14 -8 n 16 -6 n 17 -4 n 18 -1 n 18 5 n 17 7 n 15 10 n 13 11 m 7 8 n 7 -5 m 8 8 n 8 -3 m 9 8 n 9 -2 n 8 -4 n 7 -5 m 13 11 n 13 -8 m 13 5 n 15 4 n 16 4 n 18 5 m 13 -1 n 15 0 n 16 0 n 18 -1 E # C P w 22 m 1 12 n 2 11 n 3 9 n 3 3 n 1 3 n 0 2 n 0 0 n 1 1 n 3 1 n 3 -7 n 0 -9 n 3 -8 n 3 -16 n 5 -14 m 3 10 n 4 8 n 4 -14 m 1 2 n 4 2 m 1 12 n 3 11 n 4 10 n 5 8 n 5 -14 m 5 7 n 8 9 n 12 12 n 16 8 n 16 -6 m 12 11 n 15 8 n 15 -6 m 10 10 n 11 10 n 14 7 n 14 -7 m 8 -6 n 11 -6 n 14 -7 m 9 -7 n 11 -7 n 13 -8 m 8 -8 n 10 -8 n 12 -9 n 14 -7 n 16 -6 m 8 9 n 8 -13 m 8 5 n 10 4 n 12 4 n 14 5 m 8 -1 n 10 0 n 12 0 n 14 -1 E # C Q w 26 m 6 12 n 4 11 n 2 9 n 1 7 n 0 4 n 0 0 n 1 -3 n 2 -5 n 4 -7 n 6 -8 n 8 -9 n 12 -9 n 14 -8 n 16 -7 n 18 -5 n 19 -3 n 20 0 n 20 4 n 19 7 n 18 9 n 16 11 n 14 12 n 13 11 n 10 9 n 7 8 m 2 8 n 1 5 n 1 -1 n 2 -4 m 6 12 n 4 10 n 3 8 n 2 5 n 2 -1 n 3 -4 n 4 -6 n 6 -8 m 18 -4 n 19 -1 n 19 5 n 17 9 n 16 10 m 14 -8 n 16 -6 n 17 -4 n 18 -1 n 18 5 n 17 7 n 15 10 n 13 11 m 7 8 n 7 -5 m 8 8 n 8 -3 m 9 8 n 9 -2 n 8 -4 n 7 -5 m 13 11 n 13 -8 m 13 5 n 15 4 n 16 4 n 18 5 m 13 -1 n 15 0 n 16 0 n 18 -1 m 8 -9 n 9 -8 n 10 -8 n 12 -9 n 16 -14 n 18 -15 n 19 -15 m 12 -10 n 14 -13 n 16 -15 n 17 -15 m 10 -8 n 11 -9 n 14 -15 n 16 -16 n 18 -16 n 19 -15 E # C R w 24 m 0 10 n 2 12 n 5 12 n 7 11 n 9 12 m 3 11 n 6 11 m 0 10 n 2 11 n 4 10 n 7 10 n 9 12 m 5 7 n 4 6 n 3 4 n 3 3 n 1 3 n 0 2 n 0 0 n 1 1 n 3 1 n 3 -5 m 4 5 n 4 -3 m 1 2 n 4 2 m 5 7 n 5 -2 n 4 -4 n 3 -5 m 2 -9 n 5 -7 n 8 -6 n 10 -6 n 13 -7 m 4 -8 n 6 -7 n 10 -7 n 12 -8 m 2 -9 n 6 -8 n 9 -8 n 11 -9 n 13 -7 m 10 9 n 9 8 n 8 6 n 8 -3 m 9 7 n 9 -1 m 10 9 n 10 0 n 9 -2 n 8 -3 m 10 9 n 13 11 n 15 12 n 17 11 n 18 9 n 18 6 n 17 4 n 16 3 n 12 1 n 10 0 m 15 11 n 16 11 n 17 9 n 17 5 n 16 4 m 13 11 n 15 10 n 16 8 n 16 5 n 15 3 n 12 1 m 12 1 n 14 0 n 15 -1 n 18 -6 n 19 -7 n 20 -7 m 15 -2 n 17 -6 n 19 -8 m 12 1 n 14 -1 n 16 -7 n 18 -9 n 20 -7 E # C S w 23 m 12 9 n 11 10 n 9 11 n 6 12 m 13 10 n 11 11 m 14 11 n 10 12 n 6 12 n 3 11 n 2 10 n 1 8 n 2 6 n 3 5 n 6 4 n 14 4 n 16 3 n 17 2 n 17 0 n 16 -3 m 2 7 n 3 6 n 6 5 n 15 5 n 17 4 n 18 3 n 18 1 n 17 -1 m 2 10 n 2 8 n 3 7 n 6 6 n 16 6 n 18 5 n 19 3 n 19 1 n 16 -3 n 12 -9 m 0 3 n 1 2 n 3 1 n 12 1 n 13 0 n 13 -1 n 12 -3 m 1 1 n 3 0 n 11 0 n 12 -1 m 0 3 n 0 2 n 1 0 n 3 -1 n 10 -1 n 12 -2 n 12 -3 m 0 -9 n 3 -7 n 7 -6 n 10 -6 n 13 -7 m 2 -8 n 5 -7 n 9 -7 n 12 -8 m 0 -9 n 4 -8 n 9 -8 n 12 -9 m 14 11 n 12 9 n 10 6 m 9 4 n 7 1 m 6 -1 n 4 -3 n 2 -4 n 1 -4 n 1 -3 n 2 -4 E # C T w 24 m 2 8 n 1 6 n 0 3 n 0 -1 n 1 -4 n 3 -7 n 5 -8 n 8 -9 n 11 -9 n 14 -8 n 16 -7 n 18 -5 n 19 -3 m 1 -1 n 2 -4 n 4 -6 n 6 -7 n 9 -8 n 12 -8 n 15 -7 m 2 8 n 1 5 n 1 1 n 2 -2 n 4 -5 n 6 -6 n 9 -7 n 12 -7 n 15 -6 n 17 -5 n 19 -3 m 0 9 n 1 11 n 3 12 n 7 12 n 13 11 n 17 11 n 19 12 m 8 11 n 12 10 n 16 10 m 0 9 n 1 10 n 3 11 n 6 11 n 12 9 n 15 9 n 17 10 n 19 12 m 11 9 n 10 8 n 8 7 n 8 -4 m 9 7 n 9 -2 m 10 8 n 10 -1 n 9 -3 n 8 -4 m 15 9 n 15 -6 E # C U w 24 m 0 10 n 2 12 n 4 12 n 7 11 n 9 12 m 3 11 n 6 11 m 0 10 n 2 11 n 5 10 n 7 10 n 9 12 m 3 8 n 2 6 n 1 3 n 1 -1 n 2 -4 n 3 -6 n 5 -8 n 8 -9 n 11 -9 n 14 -8 n 16 -7 n 18 -9 n 20 -7 m 2 -1 n 3 -4 n 6 -7 n 9 -8 n 12 -8 m 3 8 n 2 4 n 2 1 n 3 -2 n 4 -4 n 6 -6 n 9 -7 n 13 -7 n 16 -6 m 13 9 n 9 8 n 8 6 n 8 -4 m 9 7 n 9 -2 m 10 8 n 10 -1 n 9 -3 n 8 -4 m 13 9 n 15 10 n 17 12 n 18 11 n 20 10 n 18 9 n 18 -5 n 19 -7 n 20 -7 m 17 9 n 18 10 n 17 11 n 16 10 n 17 9 n 17 -6 n 19 -8 m 15 10 n 16 9 n 16 -6 m 13 9 n 13 -7 m 13 4 n 16 4 m 13 0 n 16 0 E # C V w 23 m 1 12 n 2 11 n 3 9 n 3 3 n 1 3 n 0 2 n 0 0 n 1 1 n 3 1 n 3 -6 n 1 -7 m 3 10 n 4 8 n 4 -6 m 1 2 n 4 2 m 5 -7 n 8 -7 n 10 -8 m 1 12 n 3 11 n 4 10 n 5 8 n 5 -6 n 9 -6 n 12 -7 m 1 -7 n 4 -7 n 7 -8 n 9 -9 n 12 -7 n 15 -6 n 17 -6 m 9 8 n 12 9 n 14 10 n 16 12 n 17 11 n 19 10 n 17 9 n 17 -6 m 16 9 n 17 10 n 16 11 n 15 10 n 16 9 n 16 -5 m 14 10 n 15 9 n 15 -6 m 9 8 n 9 -6 m 9 5 n 11 4 n 13 4 n 15 5 m 9 -1 n 11 0 n 13 0 n 15 -1 E # C W w 27 m 1 12 n 2 11 n 3 9 n 3 3 n 1 3 n 0 2 n 0 0 n 1 1 n 3 1 n 3 -6 n 1 -7 m 3 10 n 4 8 n 4 -6 m 1 2 n 4 2 m 5 -7 n 7 -7 n 9 -8 m 1 12 n 3 11 n 4 10 n 5 8 n 5 -6 n 8 -6 n 10 -7 m 1 -7 n 4 -7 n 7 -8 n 8 -9 n 10 -7 n 13 -6 n 15 -7 n 16 -9 n 18 -7 n 21 -6 m 8 10 n 11 12 n 13 10 n 13 -6 n 16 -6 n 18 -7 m 11 11 n 12 10 n 12 -6 m 8 10 n 10 10 n 11 9 n 11 -6 n 10 -7 m 16 -7 n 17 -8 m 16 10 n 19 12 n 21 10 n 21 -6 m 19 11 n 20 10 n 20 -6 m 16 10 n 18 10 n 19 9 n 19 -6 n 18 -7 m 8 10 n 8 -6 m 16 10 n 16 -6 m 8 4 n 11 4 m 8 0 n 11 0 m 16 4 n 19 4 m 16 0 n 19 0 E # C X w 22 m 0 9 n 2 11 n 4 12 n 6 12 n 7 11 n 15 -7 n 16 -8 n 18 -8 m 5 11 n 6 10 n 14 -7 n 15 -8 m 2 11 n 4 11 n 5 10 n 13 -8 n 14 -9 n 16 -9 n 18 -8 n 20 -6 m 15 12 n 17 11 n 19 11 n 20 12 m 15 11 n 16 10 n 18 10 m 14 10 n 15 9 n 17 9 n 19 10 n 20 12 m 0 -9 n 1 -7 n 3 -6 n 5 -6 n 6 -7 m 2 -7 n 4 -7 n 5 -8 m 0 -9 n 1 -8 n 3 -8 n 5 -9 m 15 12 n 11 3 m 9 0 n 5 -9 m 4 2 n 8 2 m 11 2 n 16 2 E # C Y w 23 m 1 12 n 2 11 n 3 9 n 3 3 n 1 3 n 0 2 n 0 0 n 1 1 n 3 1 n 3 -6 n 1 -7 m 3 10 n 4 8 n 4 -6 m 1 2 n 4 2 m 5 -7 n 8 -7 n 10 -8 m 1 12 n 3 11 n 4 10 n 5 8 n 5 -6 n 9 -6 n 12 -7 m 1 -7 n 4 -7 n 7 -8 n 9 -9 n 12 -7 n 15 -6 m 9 8 n 12 9 n 14 10 n 16 12 n 17 11 n 19 10 n 17 9 n 17 -12 n 16 -14 n 14 -16 n 12 -15 n 8 -14 n 3 -14 m 16 9 n 17 10 n 16 11 n 15 10 n 16 9 n 16 -7 m 14 10 n 15 9 n 15 -6 n 17 -9 m 15 -15 n 13 -14 n 10 -14 m 16 -14 n 13 -13 n 7 -13 n 3 -14 m 9 8 n 9 -6 m 9 5 n 11 4 n 13 4 n 15 5 m 9 -1 n 11 0 n 13 0 n 15 -1 E # C Z w 20 m 14 11 n 13 9 n 8 3 n 5 -1 n 3 -5 n 0 -9 m 12 7 n 4 -4 m 16 12 n 13 8 n 11 4 n 8 0 n 3 -6 n 2 -8 m 0 10 n 2 12 n 5 11 n 11 11 n 16 12 m 1 11 n 5 10 n 9 10 n 13 11 m 0 10 n 4 9 n 8 9 n 12 10 n 14 11 m 2 -8 n 4 -7 n 8 -6 n 12 -6 n 16 -7 m 3 -8 n 7 -7 n 11 -7 n 15 -8 m 0 -9 n 5 -8 n 11 -8 n 14 -9 n 16 -7 m 3 2 n 7 2 m 10 2 n 14 2 E # C a w 17 m 3 0 n 1 -2 n 0 -4 n 0 -6 n 1 -8 n 3 -9 n 5 -7 n 8 -6 m 0 -4 n 1 -6 n 2 -7 n 4 -8 m 1 -2 n 1 -4 n 2 -6 n 4 -7 n 5 -7 m 1 2 n 3 2 n 6 3 n 8 4 n 9 5 n 11 3 n 10 2 n 10 -6 n 11 -7 n 12 -7 m 2 4 n 1 3 n 4 3 m 7 3 n 10 3 n 9 4 n 9 -7 n 10 -8 m 0 3 n 2 5 n 3 4 n 5 3 n 8 2 n 8 -7 n 10 -9 n 12 -7 m 0 3 n 5 -2 E # C b w 18 m 1 10 n 2 8 n 2 -6 n 0 -7 m 3 8 n 2 10 n 3 11 n 3 -6 n 6 -8 m 1 10 n 4 12 n 4 -6 n 6 -7 n 7 -8 m 0 -7 n 2 -7 n 4 -8 n 5 -9 n 7 -8 n 10 -7 n 12 -7 m 4 2 n 7 3 n 9 4 n 10 5 n 11 4 n 13 3 n 14 3 n 12 2 n 12 -7 m 9 4 n 11 3 n 11 -6 m 7 3 n 8 3 n 10 2 n 10 -7 E # C c w 14 m 2 3 n 2 -6 n 0 -7 n 1 -7 n 3 -8 n 4 -9 m 3 3 n 3 -7 n 5 -8 m 4 3 n 4 -6 n 6 -7 n 7 -7 n 5 -8 n 4 -9 m 2 3 n 6 4 n 8 5 n 9 4 n 11 3 n 12 3 m 7 4 n 8 3 n 10 3 m 4 3 n 6 4 n 8 2 n 10 2 n 12 3 E # C d w 17 m 7 5 n 5 4 n 2 3 n 2 -6 n 0 -7 m 3 3 n 3 -6 n 6 -8 m 7 5 n 4 3 n 4 -6 n 6 -7 n 7 -8 m 0 -7 n 2 -7 n 4 -8 n 5 -9 n 7 -8 n 10 -7 n 12 -7 m 2 10 n 5 12 n 6 9 n 12 3 n 12 -7 m 5 9 n 3 10 n 4 11 n 5 9 n 11 3 n 11 -6 m 2 10 n 10 2 n 10 -7 E # C e w 14 m 2 3 n 2 -6 n 0 -7 n 1 -7 n 3 -8 n 4 -9 m 3 3 n 3 -7 n 5 -8 m 4 3 n 4 -6 n 6 -7 n 7 -7 n 5 -8 n 4 -9 m 2 3 n 6 4 n 8 5 n 11 1 n 9 0 n 4 -3 m 7 4 n 10 1 m 4 3 n 6 4 n 9 0 E # C f w 13 m 3 10 n 3 -6 n 1 -7 n 2 -7 n 4 -8 n 5 -9 m 4 10 n 4 -7 n 6 -8 m 5 10 n 5 -6 n 7 -7 n 8 -7 n 6 -8 n 5 -9 m 3 10 n 6 11 n 8 12 n 9 11 n 11 10 n 12 10 m 7 11 n 8 10 n 10 10 m 5 10 n 6 11 n 8 9 n 10 9 n 12 10 m 0 5 n 3 5 m 5 5 n 9 5 E # C g w 18 m 2 3 n 2 -6 n 0 -7 n 1 -7 n 3 -8 n 4 -9 n 5 -8 n 7 -7 n 10 -6 m 3 2 n 3 -7 n 5 -8 m 4 3 n 4 -6 n 6 -7 n 7 -7 m 2 3 n 4 3 n 7 4 n 9 5 n 10 4 n 12 3 n 14 3 n 12 2 n 12 -10 n 11 -13 n 9 -15 n 7 -16 n 6 -15 n 4 -14 n 2 -14 m 8 4 n 11 2 n 11 -10 m 8 -15 n 6 -14 n 5 -14 m 7 4 n 8 3 n 10 2 n 10 -8 n 11 -11 n 11 -13 m 9 -15 n 8 -14 n 6 -13 n 4 -13 n 2 -14 E # C h w 18 m 1 10 n 2 8 n 2 -6 n 0 -7 n 1 -7 n 3 -8 n 4 -9 m 3 8 n 2 10 n 3 11 n 3 -7 n 5 -8 m 1 10 n 4 12 n 4 -6 n 6 -7 n 4 -9 m 4 2 n 7 3 n 9 4 n 10 5 n 11 4 n 13 3 n 14 3 n 12 2 n 12 -7 n 10 -9 n 9 -11 m 9 4 n 11 3 n 11 -7 n 10 -9 m 7 3 n 8 3 n 10 2 n 10 -7 n 9 -11 n 9 -14 n 10 -16 n 11 -16 n 9 -14 E # C i w 10 m 3 12 n 1 10 n 3 9 n 5 10 n 3 12 m 3 11 n 2 10 n 4 10 n 3 11 m 3 5 n 2 4 n 0 3 n 2 2 n 2 -7 n 4 -9 n 6 -7 m 3 2 n 4 3 n 3 4 n 2 3 n 3 2 n 3 -7 n 4 -8 m 3 5 n 4 4 n 6 3 n 4 2 n 4 -6 n 5 -7 n 6 -7 E # C j w 10 m 3 12 n 1 10 n 3 9 n 5 10 n 3 12 m 3 11 n 2 10 n 4 10 n 3 11 m 3 5 n 2 4 n 0 3 n 2 2 n 2 -7 n 4 -9 n 5 -11 m 3 2 n 4 3 n 3 4 n 2 3 n 3 2 n 3 -7 n 4 -9 m 3 5 n 4 4 n 6 3 n 4 2 n 4 -7 n 5 -11 n 5 -14 n 3 -16 n 1 -16 n 1 -15 n 3 -16 E # C k w 17 m 1 10 n 2 8 n 2 -6 n 0 -7 n 1 -7 n 3 -8 n 4 -9 m 3 8 n 2 10 n 3 11 n 3 -7 n 5 -8 m 1 10 n 4 12 n 4 -6 n 6 -7 n 4 -9 m 4 2 n 7 4 n 9 5 n 11 2 n 8 0 n 4 -3 m 8 4 n 10 2 m 7 4 n 9 1 m 8 0 n 9 -1 n 11 -6 n 12 -7 n 13 -7 m 8 -1 n 9 -2 n 10 -7 n 11 -8 m 7 -1 n 8 -2 n 9 -7 n 11 -9 n 13 -7 E # C l w 10 m 1 10 n 2 8 n 2 -6 n 0 -7 n 1 -7 n 3 -8 n 4 -9 m 3 8 n 2 10 n 3 11 n 3 -7 n 5 -8 m 1 10 n 4 12 n 4 -6 n 6 -7 n 7 -7 n 5 -8 n 4 -9 E # C m w 26 m 0 3 n 1 3 n 2 2 n 2 -6 n 0 -7 n 1 -7 n 3 -8 n 4 -9 m 2 4 n 3 3 n 3 -7 n 5 -8 m 0 3 n 2 5 n 4 3 n 4 -6 n 6 -7 n 4 -9 m 4 2 n 7 3 n 9 4 n 10 5 n 12 3 n 12 -6 n 14 -7 n 12 -9 m 9 4 n 11 3 n 11 -7 n 13 -8 m 7 3 n 8 3 n 10 2 n 10 -6 n 9 -7 n 11 -8 n 12 -9 m 12 2 n 15 3 n 17 4 n 18 5 n 19 4 n 21 3 n 22 3 n 20 2 n 20 -6 n 21 -7 n 22 -7 m 17 4 n 19 3 n 19 -7 n 20 -8 m 15 3 n 16 3 n 18 2 n 18 -7 n 20 -9 n 22 -7 E # C n w 18 m 0 3 n 1 3 n 2 2 n 2 -6 n 0 -7 n 1 -7 n 3 -8 n 4 -9 m 2 4 n 3 3 n 3 -7 n 5 -8 m 0 3 n 2 5 n 4 3 n 4 -6 n 6 -7 n 4 -9 m 4 2 n 7 3 n 9 4 n 10 5 n 11 4 n 13 3 n 14 3 n 12 2 n 12 -6 n 13 -7 n 14 -7 m 9 4 n 11 3 n 11 -7 n 12 -8 m 7 3 n 8 3 n 10 2 n 10 -7 n 12 -9 n 14 -7 E # C o w 18 m 2 3 n 2 -6 n 0 -7 m 3 2 n 3 -6 n 6 -8 m 4 3 n 4 -6 n 6 -7 n 7 -8 m 0 -7 n 2 -7 n 4 -8 n 5 -9 n 7 -8 n 10 -7 n 12 -7 m 2 3 n 4 3 n 7 4 n 9 5 n 10 4 n 12 3 n 14 3 n 12 2 n 12 -7 m 8 4 n 11 2 n 11 -6 m 7 4 n 8 3 n 10 2 n 10 -7 E # C p w 18 m 1 5 n 2 3 n 2 -6 n 0 -7 n 2 -7 n 2 -16 m 2 4 n 3 3 n 3 -15 n 4 -14 n 3 -12 m 3 -7 n 4 -7 n 6 -8 m 1 5 n 3 4 n 4 3 n 4 -6 n 6 -7 n 7 -8 m 4 -8 n 5 -9 n 7 -8 n 10 -7 n 12 -7 m 4 -8 n 4 -12 n 5 -14 n 2 -16 m 4 2 n 7 3 n 9 4 n 10 5 n 11 4 n 13 3 n 14 3 n 12 2 n 12 -7 m 9 4 n 11 3 n 11 -6 m 7 3 n 8 3 n 10 2 n 10 -7 E # C q w 18 m 2 3 n 2 -6 n 0 -7 m 3 2 n 3 -7 n 5 -8 m 4 3 n 4 -6 n 6 -7 n 7 -7 m 0 -7 n 1 -7 n 3 -8 n 4 -9 n 5 -8 n 7 -7 n 10 -6 m 2 3 n 4 3 n 7 4 n 9 5 n 10 4 n 12 3 n 14 3 n 12 2 n 12 -16 m 8 4 n 11 2 n 11 -15 n 10 -14 n 11 -12 m 7 4 n 8 3 n 10 2 n 10 -12 n 9 -14 n 12 -16 E # C r w 14 m 0 3 n 1 3 n 2 2 n 2 -6 n 0 -7 n 1 -7 n 3 -8 n 4 -9 m 1 4 n 3 3 n 3 -7 n 5 -8 m 0 3 n 2 5 n 4 3 n 4 -6 n 6 -7 n 7 -7 n 5 -8 n 4 -9 m 4 3 n 8 5 n 9 4 n 11 3 n 12 3 m 7 4 n 8 3 n 10 3 m 6 4 n 8 2 n 10 2 n 12 3 E # C s w 16 m 1 3 n 1 -1 n 3 -2 n 9 -2 n 11 -3 n 11 -7 m 2 3 n 2 -1 m 10 -3 n 10 -7 m 4 4 n 3 3 n 3 -1 n 5 -2 m 7 -2 n 9 -3 n 9 -7 n 8 -8 m 1 3 n 4 4 n 6 5 n 8 4 n 10 4 n 11 5 m 5 4 n 7 4 m 4 4 n 6 3 n 8 3 n 10 4 m 11 -7 n 8 -8 n 6 -9 n 4 -8 n 2 -8 n 0 -9 m 7 -8 n 5 -8 m 8 -8 n 6 -7 n 3 -7 n 0 -9 m 11 5 n 10 3 n 8 0 n 3 -5 n 0 -9 E # C t w 10 m 2 10 n 3 8 n 3 -6 n 1 -7 n 2 -7 n 4 -8 n 5 -9 m 4 8 n 3 10 n 4 11 n 4 -7 n 6 -8 m 2 10 n 5 12 n 5 -6 n 7 -7 n 8 -7 n 6 -8 n 5 -9 m 0 5 n 3 5 m 5 5 n 8 5 E # C u w 18 m 0 3 n 1 3 n 2 2 n 2 -6 n 0 -7 m 1 4 n 3 3 n 3 -7 n 5 -8 m 0 3 n 2 5 n 4 3 n 4 -6 n 6 -7 n 7 -7 m 0 -7 n 1 -7 n 3 -8 n 4 -9 n 5 -8 n 7 -7 n 10 -6 m 10 5 n 11 4 n 13 3 n 14 3 n 12 2 n 12 -6 n 13 -7 n 14 -7 m 9 4 n 11 3 n 11 -7 n 12 -8 m 10 5 n 8 3 n 10 2 n 10 -7 n 12 -9 n 14 -7 E # C v w 18 m 0 5 n 1 3 n 1 -6 n 4 -9 n 6 -7 n 9 -6 n 11 -6 m 1 4 n 2 3 n 2 -6 n 5 -8 m 0 5 n 2 4 n 3 3 n 3 -5 n 4 -6 n 6 -7 m 9 5 n 10 4 n 12 3 n 13 3 n 11 2 n 11 -6 m 8 4 n 10 3 n 10 -5 m 9 5 n 7 3 n 9 2 n 9 -6 E # C w w 26 m 0 5 n 1 3 n 1 -6 n 4 -9 n 6 -7 n 9 -6 m 1 4 n 2 3 n 2 -6 n 5 -8 m 0 5 n 2 4 n 3 3 n 3 -5 n 4 -6 n 6 -7 m 9 5 n 7 3 n 9 2 n 9 -6 n 12 -9 n 14 -7 n 17 -6 n 19 -6 m 8 4 n 10 3 n 10 -6 n 13 -8 m 9 5 n 10 4 n 12 3 n 11 2 n 11 -5 n 12 -6 n 14 -7 m 17 5 n 18 4 n 20 3 n 21 3 n 19 2 n 19 -6 m 16 4 n 18 3 n 18 -5 m 17 5 n 15 3 n 17 2 n 17 -6 E # C x w 19 m 1 3 n 2 3 n 4 2 n 5 1 n 9 -7 n 10 -8 n 12 -9 n 14 -7 m 3 4 n 5 3 n 10 -7 n 12 -8 m 1 3 n 3 5 n 5 4 n 6 3 n 10 -5 n 11 -6 n 13 -7 n 14 -7 m 8 -1 n 11 5 n 12 4 n 14 4 n 15 5 m 11 4 n 12 3 n 13 3 m 10 3 n 12 2 n 14 3 n 15 5 m 7 -3 n 4 -9 n 3 -8 n 1 -8 n 0 -9 m 4 -8 n 3 -7 n 2 -7 m 5 -7 n 3 -6 n 1 -7 n 0 -9 m 3 -2 n 6 -2 m 9 -2 n 12 -2 E # C y w 18 m 0 3 n 1 3 n 2 2 n 2 -6 n 0 -7 m 1 4 n 3 3 n 3 -7 n 5 -8 m 0 3 n 2 5 n 4 3 n 4 -6 n 6 -7 n 7 -7 m 0 -7 n 1 -7 n 3 -8 n 4 -9 n 5 -8 n 7 -7 n 10 -6 m 10 5 n 11 4 n 13 3 n 14 3 n 12 2 n 12 -10 n 11 -13 n 9 -15 n 7 -16 n 6 -15 n 4 -14 n 2 -14 m 9 4 n 11 3 n 11 -10 m 8 -15 n 6 -14 n 5 -14 m 10 5 n 8 3 n 10 2 n 10 -8 n 11 -11 n 11 -13 m 9 -15 n 8 -14 n 6 -13 n 4 -13 n 2 -14 E # C z w 18 m 12 5 n 0 -9 m 0 3 n 2 2 n 5 2 n 8 3 n 12 5 m 1 4 n 3 3 n 7 3 m 0 3 n 2 5 n 4 4 n 8 4 n 12 5 m 0 -9 n 4 -7 n 7 -6 n 10 -6 n 12 -7 m 5 -7 n 9 -7 n 11 -8 m 0 -9 n 4 -8 n 8 -8 n 10 -9 n 12 -7 m 2 -2 n 10 -2 E xgks-2.6.1+dfsg.2/src/fontdb/R.src0000644000175000017500000006477311413611016017675 0ustar amckinstryamckinstryU 16 # C ! m 5 105 n 0 95 n 5 35 n 10 95 n 5 105 m 5 95 n 5 65 m 5 10 n 0 5 n 5 0 n 10 5 n 5 10 E # C " m 5 105 n 0 70 m 10 105 n 0 70 m 45 105 n 40 70 m 50 105 n 40 70 E # C # m 40 105 n 5 -35 m 70 105 n 35 -35 m 5 50 n 75 50 m 0 20 n 70 20 E # C $ m 25 125 n 25 -20 m 45 125 n 45 -20 m 65 90 n 60 85 n 65 80 n 70 85 n 70 90 n 60 100 n 45 105 n 25 105 n 10 100 n 0 90 n 0 80 n 5 70 n 10 65 n 20 60 n 50 50 n 60 45 n 70 35 m 0 80 n 10 70 n 20 65 n 50 55 n 60 50 n 65 45 n 70 35 n 70 15 n 60 5 n 45 0 n 25 0 n 10 5 n 0 15 n 0 20 n 5 25 n 10 20 n 5 15 E # C % m 90 105 n 0 0 m 25 105 n 35 95 n 35 85 n 30 75 n 20 70 n 10 70 n 0 80 n 0 90 n 5 100 n 15 105 n 25 105 n 35 100 n 50 95 n 65 95 n 80 100 n 90 105 m 70 35 n 60 30 n 55 20 n 55 10 n 65 0 n 75 0 n 85 5 n 90 15 n 90 25 n 80 35 n 70 35 E # C & m 90 65 n 85 60 n 90 55 n 95 60 n 95 65 n 90 70 n 85 70 n 80 65 n 75 55 n 65 30 n 55 15 n 45 5 n 35 0 n 20 0 n 5 5 n 0 15 n 0 30 n 5 40 n 35 60 n 45 70 n 50 80 n 50 90 n 45 100 n 35 105 n 25 100 n 20 90 n 20 80 n 25 65 n 35 50 n 60 15 n 70 5 n 85 0 n 90 0 n 95 5 n 95 10 m 20 0 n 10 5 n 5 15 n 5 30 n 10 40 n 20 50 m 20 80 n 25 70 n 65 15 n 75 5 n 85 0 E # C ' m 5 105 n 0 70 m 10 105 n 0 70 E # C ( m 35 125 n 25 115 n 15 100 n 5 80 n 0 55 n 0 35 n 5 10 n 15 -10 n 25 -25 n 35 -35 m 25 115 n 15 95 n 10 80 n 5 55 n 5 35 n 10 10 n 15 -5 n 25 -25 E # C ) m 0 125 n 10 115 n 20 100 n 30 80 n 35 55 n 35 35 n 30 10 n 20 -10 n 10 -25 n 0 -35 m 10 115 n 20 95 n 25 80 n 30 55 n 30 35 n 25 10 n 20 -5 n 10 -25 E # C * m 25 105 n 25 45 m 0 90 n 50 60 m 50 90 n 0 60 E # C + m 45 90 n 45 0 m 0 45 n 90 45 E # C , m 5 0 n 0 5 n 5 10 n 10 5 n 10 -5 n 5 -15 n 0 -20 E # C - m 0 45 n 90 45 E # C . m 5 10 n 0 5 n 5 0 n 10 5 n 5 10 E # C / m 90 125 n 0 -35 E # C 0 m 30 105 n 15 100 n 5 85 n 0 60 n 0 45 n 5 20 n 15 5 n 30 0 n 40 0 n 55 5 n 65 20 n 70 45 n 70 60 n 65 85 n 55 100 n 40 105 n 30 105 m 30 105 n 20 100 n 15 95 n 10 85 n 5 60 n 5 45 n 10 20 n 15 10 n 20 5 n 30 0 m 40 0 n 50 5 n 55 10 n 60 20 n 65 45 n 65 60 n 60 85 n 55 95 n 50 100 n 40 105 E # C 1 m 0 85 n 10 90 n 25 105 n 25 0 m 20 100 n 20 0 m 0 0 n 45 0 E # C 2 m 5 85 n 10 80 n 5 75 n 0 80 n 0 85 n 5 95 n 10 100 n 25 105 n 45 105 n 60 100 n 65 95 n 70 85 n 70 75 n 65 65 n 50 55 n 25 45 n 15 40 n 5 30 n 0 15 n 0 0 m 45 105 n 55 100 n 60 95 n 65 85 n 65 75 n 60 65 n 45 55 n 25 45 m 0 10 n 5 15 n 15 15 n 40 5 n 55 5 n 65 10 n 70 15 m 15 15 n 40 0 n 60 0 n 65 5 n 70 15 n 70 25 E # C 3 m 5 85 n 10 80 n 5 75 n 0 80 n 0 85 n 5 95 n 10 100 n 25 105 n 45 105 n 60 100 n 65 90 n 65 75 n 60 65 n 45 60 n 30 60 m 45 105 n 55 100 n 60 90 n 60 75 n 55 65 n 45 60 m 45 60 n 55 55 n 65 45 n 70 35 n 70 20 n 65 10 n 60 5 n 45 0 n 25 0 n 10 5 n 5 10 n 0 20 n 0 25 n 5 30 n 10 25 n 5 20 m 60 50 n 65 35 n 65 20 n 60 10 n 55 5 n 45 0 E # C 4 m 50 95 n 50 0 m 55 105 n 55 0 m 55 105 n 0 30 n 80 30 m 35 0 n 70 0 E # C 5 m 10 105 n 0 55 m 0 55 n 10 65 n 25 70 n 40 70 n 55 65 n 65 55 n 70 40 n 70 30 n 65 15 n 55 5 n 40 0 n 25 0 n 10 5 n 5 10 n 0 20 n 0 25 n 5 30 n 10 25 n 5 20 m 40 70 n 50 65 n 60 55 n 65 40 n 65 30 n 60 15 n 50 5 n 40 0 m 10 105 n 60 105 m 10 100 n 35 100 n 60 105 E # C 6 m 60 90 n 55 85 n 60 80 n 65 85 n 65 90 n 60 100 n 50 105 n 35 105 n 20 100 n 10 90 n 5 80 n 0 60 n 0 30 n 5 15 n 15 5 n 30 0 n 40 0 n 55 5 n 65 15 n 70 30 n 70 35 n 65 50 n 55 60 n 40 65 n 35 65 n 20 60 n 10 50 n 5 35 m 35 105 n 25 100 n 15 90 n 10 80 n 5 60 n 5 30 n 10 15 n 20 5 n 30 0 m 40 0 n 50 5 n 60 15 n 65 30 n 65 35 n 60 50 n 50 60 n 40 65 E # C 7 m 0 105 n 0 75 m 0 85 n 5 95 n 15 105 n 25 105 n 50 90 n 60 90 n 65 95 n 70 105 m 5 95 n 15 100 n 25 100 n 50 90 m 70 105 n 70 90 n 65 75 n 45 50 n 40 40 n 35 25 n 35 0 m 65 75 n 40 50 n 35 40 n 30 25 n 30 0 E # C 8 m 25 105 n 10 100 n 5 90 n 5 75 n 10 65 n 25 60 n 45 60 n 60 65 n 65 75 n 65 90 n 60 100 n 45 105 n 25 105 m 25 105 n 15 100 n 10 90 n 10 75 n 15 65 n 25 60 m 45 60 n 55 65 n 60 75 n 60 90 n 55 100 n 45 105 m 25 60 n 10 55 n 5 50 n 0 40 n 0 20 n 5 10 n 10 5 n 25 0 n 45 0 n 60 5 n 65 10 n 70 20 n 70 40 n 65 50 n 60 55 n 45 60 m 25 60 n 15 55 n 10 50 n 5 40 n 5 20 n 10 10 n 15 5 n 25 0 m 45 0 n 55 5 n 60 10 n 65 20 n 65 40 n 60 50 n 55 55 n 45 60 E # C 9 m 65 70 n 60 55 n 50 45 n 35 40 n 30 40 n 15 45 n 5 55 n 0 70 n 0 75 n 5 90 n 15 100 n 30 105 n 40 105 n 55 100 n 65 90 n 70 75 n 70 45 n 65 25 n 60 15 n 50 5 n 35 0 n 20 0 n 10 5 n 5 15 n 5 20 n 10 25 n 15 20 n 10 15 m 30 40 n 20 45 n 10 55 n 5 70 n 5 75 n 10 90 n 20 100 n 30 105 m 40 105 n 50 100 n 60 90 n 65 75 n 65 45 n 60 25 n 55 15 n 45 5 n 35 0 E # C : m 5 70 n 0 65 n 5 60 n 10 65 n 5 70 m 5 10 n 0 5 n 5 0 n 10 5 n 5 10 E # C ; m 5 70 n 0 65 n 5 60 n 10 65 n 5 70 m 5 0 n 0 5 n 5 10 n 10 5 n 10 -5 n 5 -15 n 0 -20 E # C < m 80 90 n 0 45 n 80 0 E # C = m 0 60 n 90 60 m 0 30 n 90 30 E # C > m 0 90 n 80 45 n 0 0 E # C ? m 5 85 n 10 80 n 5 75 n 0 80 n 0 85 n 5 95 n 10 100 n 20 105 n 35 105 n 50 100 n 55 95 n 60 85 n 60 75 n 55 65 n 50 60 n 30 50 n 30 35 m 35 105 n 45 100 n 50 95 n 55 85 n 55 75 n 50 65 n 40 55 m 30 10 n 25 5 n 30 0 n 35 5 n 30 10 E # C @ m 75 65 n 70 75 n 60 80 n 45 80 n 35 75 n 30 70 n 25 55 n 25 40 n 30 30 n 40 25 n 55 25 n 65 30 n 70 40 m 45 80 n 35 70 n 30 55 n 30 40 n 35 30 n 40 25 m 75 80 n 70 40 n 70 30 n 80 25 n 90 25 n 100 35 n 105 50 n 105 60 n 100 75 n 95 85 n 85 95 n 75 100 n 60 105 n 45 105 n 30 100 n 20 95 n 10 85 n 5 75 n 0 60 n 0 45 n 5 30 n 10 20 n 20 10 n 30 5 n 45 0 n 60 0 n 75 5 n 85 10 n 90 15 m 80 80 n 75 40 n 75 30 n 80 25 E # C A m 45 105 n 10 0 m 45 105 n 80 0 m 45 90 n 75 0 m 20 30 n 65 30 m 0 0 n 30 0 m 60 0 n 90 0 E # C B m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 60 105 n 75 100 n 80 95 n 85 85 n 85 75 n 80 65 n 75 60 n 60 55 m 60 105 n 70 100 n 75 95 n 80 85 n 80 75 n 75 65 n 70 60 n 60 55 m 20 55 n 60 55 n 75 50 n 80 45 n 85 35 n 85 20 n 80 10 n 75 5 n 60 0 n 0 0 m 60 55 n 70 50 n 75 45 n 80 35 n 80 20 n 75 10 n 70 5 n 60 0 E # C C m 70 90 n 75 75 n 75 105 n 70 90 n 60 100 n 45 105 n 35 105 n 20 100 n 10 90 n 5 80 n 0 65 n 0 40 n 5 25 n 10 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 n 75 25 m 35 105 n 25 100 n 15 90 n 10 80 n 5 65 n 5 40 n 10 25 n 15 15 n 25 5 n 35 0 E # C D m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 50 105 n 65 100 n 75 90 n 80 80 n 85 65 n 85 40 n 80 25 n 75 15 n 65 5 n 50 0 n 0 0 m 50 105 n 60 100 n 70 90 n 75 80 n 80 65 n 80 40 n 75 25 n 70 15 n 60 5 n 50 0 E # C E m 15 105 n 15 0 m 20 105 n 20 0 m 50 75 n 50 35 m 0 105 n 80 105 n 80 75 n 75 105 m 20 55 n 50 55 m 0 0 n 80 0 n 80 30 n 75 0 E # C F m 15 105 n 15 0 m 20 105 n 20 0 m 50 75 n 50 35 m 0 105 n 80 105 n 80 75 n 75 105 m 20 55 n 50 55 m 0 0 n 35 0 E # C G m 70 90 n 75 75 n 75 105 n 70 90 n 60 100 n 45 105 n 35 105 n 20 100 n 10 90 n 5 80 n 0 65 n 0 40 n 5 25 n 10 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 m 35 105 n 25 100 n 15 90 n 10 80 n 5 65 n 5 40 n 10 25 n 15 15 n 25 5 n 35 0 m 70 40 n 70 0 m 75 40 n 75 0 m 55 40 n 90 40 E # C H m 15 105 n 15 0 m 20 105 n 20 0 m 80 105 n 80 0 m 85 105 n 85 0 m 0 105 n 35 105 m 65 105 n 100 105 m 20 55 n 80 55 m 0 0 n 35 0 m 65 0 n 100 0 E # C I m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 35 105 m 0 0 n 35 0 E # C J m 40 105 n 40 20 n 35 5 n 25 0 n 15 0 n 5 5 n 0 15 n 0 25 n 5 30 n 10 25 n 5 20 m 35 105 n 35 20 n 30 5 n 25 0 m 20 105 n 55 105 E # C K m 15 105 n 15 0 m 20 105 n 20 0 m 85 105 n 20 40 m 45 60 n 85 0 m 40 60 n 80 0 m 0 105 n 35 105 m 65 105 n 95 105 m 0 0 n 35 0 m 65 0 n 95 0 E # C L m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 35 105 m 0 0 n 75 0 n 75 30 n 70 0 E # C M m 15 105 n 15 0 m 20 105 n 50 15 m 15 105 n 50 0 m 85 105 n 50 0 m 85 105 n 85 0 m 90 105 n 90 0 m 0 105 n 20 105 m 85 105 n 105 105 m 0 0 n 30 0 m 70 0 n 105 0 E # C N m 15 105 n 15 0 m 20 105 n 80 10 m 20 95 n 80 0 m 80 105 n 80 0 m 0 105 n 20 105 m 65 105 n 95 105 m 0 0 n 30 0 E # C O m 35 105 n 20 100 n 10 90 n 5 80 n 0 60 n 0 45 n 5 25 n 10 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 n 75 25 n 80 45 n 80 60 n 75 80 n 70 90 n 60 100 n 45 105 n 35 105 m 35 105 n 25 100 n 15 90 n 10 80 n 5 60 n 5 45 n 10 25 n 15 15 n 25 5 n 35 0 m 45 0 n 55 5 n 65 15 n 70 25 n 75 45 n 75 60 n 70 80 n 65 90 n 55 100 n 45 105 E # C P m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 60 105 n 75 100 n 80 95 n 85 85 n 85 70 n 80 60 n 75 55 n 60 50 n 20 50 m 60 105 n 70 100 n 75 95 n 80 85 n 80 70 n 75 60 n 70 55 n 60 50 m 0 0 n 35 0 E # C Q m 35 105 n 20 100 n 10 90 n 5 80 n 0 60 n 0 45 n 5 25 n 10 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 n 75 25 n 80 45 n 80 60 n 75 80 n 70 90 n 60 100 n 45 105 n 35 105 m 35 105 n 25 100 n 15 90 n 10 80 n 5 60 n 5 45 n 10 25 n 15 15 n 25 5 n 35 0 m 45 0 n 55 5 n 65 15 n 70 25 n 75 45 n 75 60 n 70 80 n 65 90 n 55 100 n 45 105 m 20 10 n 20 15 n 25 25 n 35 30 n 40 30 n 50 25 n 55 15 n 60 -20 n 65 -25 n 75 -25 n 80 -15 n 80 -10 m 55 15 n 60 -5 n 65 -15 n 70 -20 n 75 -20 n 80 -15 E # C R m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 60 105 n 75 100 n 80 95 n 85 85 n 85 75 n 80 65 n 75 60 n 60 55 n 20 55 m 60 105 n 70 100 n 75 95 n 80 85 n 80 75 n 75 65 n 70 60 n 60 55 m 0 0 n 35 0 m 45 55 n 55 50 n 60 45 n 75 10 n 80 5 n 85 5 n 90 10 m 55 50 n 60 40 n 70 5 n 75 0 n 85 0 n 90 10 n 90 15 E # C S m 65 90 n 70 105 n 70 75 n 65 90 n 55 100 n 40 105 n 25 105 n 10 100 n 0 90 n 0 80 n 5 70 n 10 65 n 20 60 n 50 50 n 60 45 n 70 35 m 0 80 n 10 70 n 20 65 n 50 55 n 60 50 n 65 45 n 70 35 n 70 15 n 60 5 n 45 0 n 30 0 n 15 5 n 5 15 n 0 30 n 0 0 n 5 15 E # C T m 35 105 n 35 0 m 40 105 n 40 0 m 5 105 n 0 75 n 0 105 n 75 105 n 75 75 n 70 105 m 20 0 n 55 0 E # C U m 15 105 n 15 30 n 20 15 n 30 5 n 45 0 n 55 0 n 70 5 n 80 15 n 85 30 n 85 105 m 20 105 n 20 30 n 25 15 n 35 5 n 45 0 m 0 105 n 35 105 m 70 105 n 100 105 E # C V m 10 105 n 45 0 m 15 105 n 45 15 m 80 105 n 45 0 m 0 105 n 30 105 m 60 105 n 90 105 E # C W m 15 105 n 35 0 m 20 105 n 35 25 m 55 105 n 35 0 m 55 105 n 75 0 m 60 105 n 75 25 m 95 105 n 75 0 m 0 105 n 35 105 m 80 105 n 110 105 E # C X m 10 105 n 75 0 m 15 105 n 80 0 m 80 105 n 10 0 m 0 105 n 30 105 m 60 105 n 90 105 m 0 0 n 30 0 m 60 0 n 90 0 E # C Y m 10 105 n 45 50 n 45 0 m 15 105 n 50 50 n 50 0 m 85 105 n 50 50 m 0 105 n 30 105 m 65 105 n 95 105 m 30 0 n 65 0 E # C Z m 65 105 n 0 0 m 70 105 n 5 0 m 5 105 n 0 75 n 0 105 n 70 105 m 0 0 n 70 0 n 70 30 n 65 0 E # C [ m 0 125 n 0 -35 m 5 125 n 5 -35 m 0 125 n 35 125 m 0 -35 n 35 -35 E # C \ m 0 105 n 70 -15 E # C ] m 30 125 n 30 -35 m 35 125 n 35 -35 m 0 125 n 35 125 m 0 -35 n 35 -35 E # C ^ m 40 115 n 0 45 m 40 115 n 80 45 E # C ` m 5 105 n 30 75 m 5 105 n 0 100 n 30 75 E # C a m 10 60 n 10 55 n 5 55 n 5 60 n 10 65 n 20 70 n 40 70 n 50 65 n 55 60 n 60 50 n 60 15 n 65 5 n 70 0 m 55 60 n 55 15 n 60 5 n 70 0 n 75 0 m 55 50 n 50 45 n 20 40 n 5 35 n 0 25 n 0 15 n 5 5 n 20 0 n 35 0 n 45 5 n 55 15 m 20 40 n 10 35 n 5 25 n 5 15 n 10 5 n 20 0 E # C b m 15 105 n 15 0 m 20 105 n 20 0 m 20 55 n 30 65 n 40 70 n 50 70 n 65 65 n 75 55 n 80 40 n 80 30 n 75 15 n 65 5 n 50 0 n 40 0 n 30 5 n 20 15 m 50 70 n 60 65 n 70 55 n 75 40 n 75 30 n 70 15 n 60 5 n 50 0 m 0 105 n 20 105 E # C c m 60 55 n 55 50 n 60 45 n 65 50 n 65 55 n 55 65 n 45 70 n 30 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 30 0 n 40 0 n 55 5 n 65 15 m 30 70 n 20 65 n 10 55 n 5 40 n 5 30 n 10 15 n 20 5 n 30 0 E # C d m 60 105 n 60 0 m 65 105 n 65 0 m 60 55 n 50 65 n 40 70 n 30 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 30 0 n 40 0 n 50 5 n 60 15 m 30 70 n 20 65 n 10 55 n 5 40 n 5 30 n 10 15 n 20 5 n 30 0 m 45 105 n 65 105 m 60 0 n 80 0 E # C e m 5 40 n 65 40 n 65 50 n 60 60 n 55 65 n 45 70 n 30 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 30 0 n 40 0 n 55 5 n 65 15 m 60 40 n 60 55 n 55 65 m 30 70 n 20 65 n 10 55 n 5 40 n 5 30 n 10 15 n 20 5 n 30 0 E # C f m 40 100 n 35 95 n 40 90 n 45 95 n 45 100 n 40 105 n 30 105 n 20 100 n 15 90 n 15 0 m 30 105 n 25 100 n 20 90 n 20 0 m 0 70 n 40 70 m 0 0 n 35 0 E # C g m 30 70 n 20 65 n 15 60 n 10 50 n 10 40 n 15 30 n 20 25 n 30 20 n 40 20 n 50 25 n 55 30 n 60 40 n 60 50 n 55 60 n 50 65 n 40 70 n 30 70 m 20 65 n 15 55 n 15 35 n 20 25 m 50 25 n 55 35 n 55 55 n 50 65 m 55 60 n 60 65 n 70 70 n 70 65 n 60 65 m 15 30 n 10 25 n 5 15 n 5 10 n 10 0 n 25 -5 n 50 -5 n 65 -10 n 70 -15 m 5 10 n 10 5 n 25 0 n 50 0 n 65 -5 n 70 -15 n 70 -20 n 65 -30 n 50 -35 n 20 -35 n 5 -30 n 0 -20 n 0 -15 n 5 -5 n 20 0 E # C h m 15 105 n 15 0 m 20 105 n 20 0 m 20 55 n 30 65 n 45 70 n 55 70 n 70 65 n 75 55 n 75 0 m 55 70 n 65 65 n 70 55 n 70 0 m 0 105 n 20 105 m 0 0 n 35 0 m 55 0 n 90 0 E # C i m 15 105 n 10 100 n 15 95 n 20 100 n 15 105 m 15 70 n 15 0 m 20 70 n 20 0 m 0 70 n 20 70 m 0 0 n 35 0 E # C j m 25 105 n 20 100 n 25 95 n 30 100 n 25 105 m 30 70 n 30 -20 n 25 -30 n 15 -35 n 5 -35 n 0 -30 n 0 -25 n 5 -20 n 10 -25 n 5 -30 m 25 70 n 25 -20 n 20 -30 n 15 -35 m 10 70 n 30 70 E # C k m 15 105 n 15 0 m 20 105 n 20 0 m 70 70 n 20 20 m 45 40 n 75 0 m 40 40 n 70 0 m 0 105 n 20 105 m 55 70 n 85 70 m 0 0 n 35 0 m 55 0 n 85 0 E # C l m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 20 105 m 0 0 n 35 0 E # C m m 15 70 n 15 0 m 20 70 n 20 0 m 20 55 n 30 65 n 45 70 n 55 70 n 70 65 n 75 55 n 75 0 m 55 70 n 65 65 n 70 55 n 70 0 m 75 55 n 85 65 n 100 70 n 110 70 n 125 65 n 130 55 n 130 0 m 110 70 n 120 65 n 125 55 n 125 0 m 0 70 n 20 70 m 0 0 n 35 0 m 55 0 n 90 0 m 110 0 n 145 0 E # C n m 15 70 n 15 0 m 20 70 n 20 0 m 20 55 n 30 65 n 45 70 n 55 70 n 70 65 n 75 55 n 75 0 m 55 70 n 65 65 n 70 55 n 70 0 m 0 70 n 20 70 m 0 0 n 35 0 m 55 0 n 90 0 E # C o m 30 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 30 0 n 40 0 n 55 5 n 65 15 n 70 30 n 70 40 n 65 55 n 55 65 n 40 70 n 30 70 m 30 70 n 20 65 n 10 55 n 5 40 n 5 30 n 10 15 n 20 5 n 30 0 m 40 0 n 50 5 n 60 15 n 65 30 n 65 40 n 60 55 n 50 65 n 40 70 E # C p m 15 70 n 15 -35 m 20 70 n 20 -35 m 20 55 n 30 65 n 40 70 n 50 70 n 65 65 n 75 55 n 80 40 n 80 30 n 75 15 n 65 5 n 50 0 n 40 0 n 30 5 n 20 15 m 50 70 n 60 65 n 70 55 n 75 40 n 75 30 n 70 15 n 60 5 n 50 0 m 0 70 n 20 70 m 0 -35 n 35 -35 E # C q m 60 70 n 60 -35 m 65 70 n 65 -35 m 60 55 n 50 65 n 40 70 n 30 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 30 0 n 40 0 n 50 5 n 60 15 m 30 70 n 20 65 n 10 55 n 5 40 n 5 30 n 10 15 n 20 5 n 30 0 m 45 -35 n 80 -35 E # C r m 15 70 n 15 0 m 20 70 n 20 0 m 20 40 n 25 55 n 35 65 n 45 70 n 60 70 n 65 65 n 65 60 n 60 55 n 55 60 n 60 65 m 0 70 n 20 70 m 0 0 n 35 0 E # C s m 50 60 n 55 70 n 55 50 n 50 60 n 45 65 n 35 70 n 15 70 n 5 65 n 0 60 n 0 50 n 5 45 n 15 40 n 40 30 n 50 25 n 55 20 m 0 55 n 5 50 n 15 45 n 40 35 n 50 30 n 55 25 n 55 10 n 50 5 n 40 0 n 20 0 n 10 5 n 5 10 n 0 20 n 0 0 n 5 10 E # C t m 15 105 n 15 20 n 20 5 n 30 0 n 40 0 n 50 5 n 55 15 m 20 105 n 20 20 n 25 5 n 30 0 m 0 70 n 40 70 E # C u m 15 70 n 15 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 m 20 70 n 20 15 n 25 5 n 35 0 m 70 70 n 70 0 m 75 70 n 75 0 m 0 70 n 20 70 m 55 70 n 75 70 m 70 0 n 90 0 E # C v m 10 70 n 40 0 m 15 70 n 40 10 m 70 70 n 40 0 m 0 70 n 30 70 m 50 70 n 80 70 E # C w m 15 70 n 35 0 m 20 70 n 35 15 m 55 70 n 35 0 m 55 70 n 75 0 m 60 70 n 75 15 m 95 70 n 75 0 m 0 70 n 35 70 m 80 70 n 110 70 E # C x m 10 70 n 65 0 m 15 70 n 70 0 m 70 70 n 10 0 m 0 70 n 30 70 m 50 70 n 80 70 m 0 0 n 30 0 m 50 0 n 80 0 E # C y m 10 70 n 40 0 m 15 70 n 40 10 m 70 70 n 40 0 n 30 -20 n 20 -30 n 10 -35 n 5 -35 n 0 -30 n 5 -25 n 10 -30 m 0 70 n 30 70 m 50 70 n 80 70 E # C z m 55 70 n 0 0 m 60 70 n 5 0 m 5 70 n 0 50 n 0 70 n 60 70 m 0 0 n 60 0 n 60 20 n 55 0 E # C { m 25 125 n 15 120 n 10 115 n 5 105 n 5 95 n 10 85 n 15 80 n 20 70 n 20 60 n 10 50 m 15 120 n 10 110 n 10 100 n 15 90 n 20 85 n 25 75 n 25 65 n 20 55 n 0 45 n 20 35 n 25 25 n 25 15 n 20 5 n 15 0 n 10 -10 n 10 -20 n 15 -30 m 10 40 n 20 30 n 20 20 n 15 10 n 10 5 n 5 -5 n 5 -15 n 10 -25 n 15 -30 n 25 -35 E # C | m 0 125 n 0 -35 E # C } m 0 125 n 10 120 n 15 115 n 20 105 n 20 95 n 15 85 n 10 80 n 5 70 n 5 60 n 15 50 m 10 120 n 15 110 n 15 100 n 10 90 n 5 85 n 0 75 n 0 65 n 5 55 n 25 45 n 5 35 n 0 25 n 0 15 n 5 5 n 10 0 n 15 -10 n 15 -20 n 10 -30 m 15 40 n 5 30 n 5 20 n 10 10 n 15 5 n 20 -5 n 20 -15 n 15 -25 n 10 -30 n 0 -35 E # C ~ m 0 40 n 0 50 n 5 65 n 15 70 n 25 70 n 35 65 n 55 50 n 65 45 n 75 45 n 85 50 n 90 60 m 0 50 n 5 60 n 15 65 n 25 65 n 35 60 n 55 45 n 65 40 n 75 40 n 85 45 n 90 60 n 90 70 E # C *A m 45 105 n 10 0 m 45 105 n 80 0 m 45 90 n 75 0 m 20 30 n 65 30 m 0 0 n 30 0 m 60 0 n 90 0 E # C *B m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 60 105 n 75 100 n 80 95 n 85 85 n 85 75 n 80 65 n 75 60 n 60 55 m 60 105 n 70 100 n 75 95 n 80 85 n 80 75 n 75 65 n 70 60 n 60 55 m 20 55 n 60 55 n 75 50 n 80 45 n 85 35 n 85 20 n 80 10 n 75 5 n 60 0 n 0 0 m 60 55 n 70 50 n 75 45 n 80 35 n 80 20 n 75 10 n 70 5 n 60 0 E # C *Q m 45 105 n 45 0 m 50 105 n 50 0 m 0 70 n 5 75 n 15 70 n 20 50 n 25 40 n 30 35 n 40 30 m 5 75 n 10 70 n 15 50 n 20 40 n 25 35 n 40 30 n 55 30 n 70 35 n 75 40 n 80 50 n 85 70 n 90 75 m 55 30 n 65 35 n 70 40 n 75 50 n 80 70 n 90 75 n 95 70 m 30 105 n 65 105 m 30 0 n 65 0 E # C *D m 40 105 n 0 0 m 40 105 n 80 0 m 40 90 n 75 0 m 5 5 n 75 5 m 0 0 n 80 0 E # C *E m 15 105 n 15 0 m 20 105 n 20 0 m 50 75 n 50 35 m 0 105 n 80 105 n 80 75 n 75 105 m 20 55 n 50 55 m 0 0 n 80 0 n 80 30 n 75 0 E # C *F m 35 105 n 35 0 m 40 105 n 40 0 m 25 80 n 10 75 n 5 70 n 0 60 n 0 45 n 5 35 n 10 30 n 25 25 n 50 25 n 65 30 n 70 35 n 75 45 n 75 60 n 70 70 n 65 75 n 50 80 n 25 80 m 25 80 n 15 75 n 10 70 n 5 60 n 5 45 n 10 35 n 15 30 n 25 25 m 50 25 n 60 30 n 65 35 n 70 45 n 70 60 n 65 70 n 60 75 n 50 80 m 20 105 n 55 105 m 20 0 n 55 0 E # C *G m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 75 105 n 75 75 n 70 105 m 0 0 n 35 0 E # C *Y m 15 105 n 15 0 m 20 105 n 20 0 m 80 105 n 80 0 m 85 105 n 85 0 m 0 105 n 35 105 m 65 105 n 100 105 m 20 55 n 80 55 m 0 0 n 35 0 m 65 0 n 100 0 E # C *H m 35 105 n 20 100 n 10 90 n 5 80 n 0 60 n 0 45 n 5 25 n 10 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 n 75 25 n 80 45 n 80 60 n 75 80 n 70 90 n 60 100 n 45 105 n 35 105 m 35 105 n 25 100 n 15 90 n 10 80 n 5 60 n 5 45 n 10 25 n 15 15 n 25 5 n 35 0 m 45 0 n 55 5 n 65 15 n 70 25 n 75 45 n 75 60 n 70 80 n 65 90 n 55 100 n 45 105 m 15 40 n 20 40 n 20 45 n 25 50 n 55 50 n 60 45 n 60 40 n 65 40 n 65 65 n 60 65 n 60 60 n 55 55 n 25 55 n 20 60 n 20 65 n 15 65 n 15 40 E # C *I m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 35 105 m 0 0 n 35 0 E # C *C m 5 110 n 0 85 m 80 110 n 75 85 m 25 65 n 20 40 m 60 65 n 55 40 m 5 20 n 0 -5 m 80 20 n 75 -5 m 5 100 n 75 100 m 5 95 n 75 95 m 25 55 n 55 55 m 25 50 n 55 50 m 5 10 n 75 10 m 5 5 n 75 5 E # C *K m 15 105 n 15 0 m 20 105 n 20 0 m 85 105 n 20 40 m 45 60 n 85 0 m 40 60 n 80 0 m 0 105 n 35 105 m 65 105 n 95 105 m 0 0 n 35 0 m 65 0 n 95 0 E # C *L m 45 105 n 10 0 m 45 105 n 80 0 m 45 90 n 75 0 m 0 0 n 30 0 m 60 0 n 90 0 E # C *M m 15 105 n 15 0 m 20 105 n 50 15 m 15 105 n 50 0 m 85 105 n 50 0 m 85 105 n 85 0 m 90 105 n 90 0 m 0 105 n 20 105 m 85 105 n 105 105 m 0 0 n 30 0 m 70 0 n 105 0 E # C *N m 15 105 n 15 0 m 20 105 n 80 10 m 20 95 n 80 0 m 80 105 n 80 0 m 0 105 n 20 105 m 65 105 n 95 105 m 0 0 n 30 0 E # C *O m 35 105 n 20 100 n 10 90 n 5 80 n 0 60 n 0 45 n 5 25 n 10 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 n 75 25 n 80 45 n 80 60 n 75 80 n 70 90 n 60 100 n 45 105 n 35 105 m 35 105 n 25 100 n 15 90 n 10 80 n 5 60 n 5 45 n 10 25 n 15 15 n 25 5 n 35 0 m 45 0 n 55 5 n 65 15 n 70 25 n 75 45 n 75 60 n 70 80 n 65 90 n 55 100 n 45 105 E # C *P m 15 105 n 15 0 m 20 105 n 20 0 m 80 105 n 80 0 m 85 105 n 85 0 m 0 105 n 100 105 m 0 0 n 35 0 m 65 0 n 100 0 E # C *R m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 60 105 n 75 100 n 80 95 n 85 85 n 85 70 n 80 60 n 75 55 n 60 50 n 20 50 m 60 105 n 70 100 n 75 95 n 80 85 n 80 70 n 75 60 n 70 55 n 60 50 m 0 0 n 35 0 E # C *S m 5 105 n 40 55 n 0 0 m 0 105 n 35 55 m 0 105 n 75 105 n 80 75 n 70 105 m 5 5 n 70 5 m 0 0 n 75 0 n 80 30 n 70 0 E # C *T m 35 105 n 35 0 m 40 105 n 40 0 m 5 105 n 0 75 n 0 105 n 75 105 n 75 75 n 70 105 m 20 0 n 55 0 E # C *U m 35 105 n 20 100 n 10 90 n 5 80 n 0 60 n 0 45 n 5 25 n 10 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 n 75 25 n 80 45 n 80 60 n 75 80 n 70 90 n 60 100 n 45 105 n 35 105 m 35 105 n 25 100 n 15 90 n 10 80 n 5 60 n 5 45 n 10 25 n 15 15 n 25 5 n 35 0 m 45 0 n 55 5 n 65 15 n 70 25 n 75 45 n 75 60 n 70 80 n 65 90 n 55 100 n 45 105 m 25 70 n 25 35 m 55 70 n 55 35 m 25 55 n 55 55 m 25 50 n 55 50 E # C *W m 0 15 n 5 0 n 25 0 n 15 20 n 5 40 n 0 55 n 0 75 n 5 90 n 15 100 n 30 105 n 50 105 n 65 100 n 75 90 n 80 75 n 80 55 n 75 40 n 65 20 n 55 0 n 75 0 n 80 15 m 15 20 n 10 35 n 5 55 n 5 75 n 10 90 n 20 100 n 30 105 m 50 105 n 60 100 n 70 90 n 75 75 n 75 55 n 70 35 n 65 20 m 5 5 n 20 5 m 60 5 n 75 5 E # C *X m 10 105 n 75 0 m 15 105 n 80 0 m 80 105 n 10 0 m 0 105 n 30 105 m 60 105 n 90 105 m 0 0 n 30 0 m 60 0 n 90 0 E # C *U m 0 80 n 0 90 n 5 100 n 10 105 n 20 105 n 25 100 n 30 90 n 35 70 n 35 0 m 0 90 n 10 100 n 20 100 n 30 90 m 75 80 n 75 90 n 70 100 n 65 105 n 55 105 n 50 100 n 45 90 n 40 70 n 40 0 m 75 90 n 65 100 n 55 100 n 45 90 m 20 0 n 55 0 E # C *Z m 65 105 n 0 0 m 70 105 n 5 0 m 5 105 n 0 75 n 0 105 n 70 105 m 0 0 n 70 0 n 70 30 n 65 0 E # C *a m 35 70 n 20 65 n 10 55 n 5 45 n 0 30 n 0 15 n 5 5 n 20 0 n 30 0 n 40 5 n 55 20 n 65 35 n 75 55 n 80 70 m 35 70 n 25 65 n 15 55 n 10 45 n 5 30 n 5 15 n 10 5 n 20 0 m 35 70 n 45 70 n 55 65 n 60 55 n 70 15 n 75 5 n 80 0 m 45 70 n 50 65 n 55 55 n 65 15 n 70 5 n 80 0 n 85 0 E # C *b m 55 105 n 40 100 n 30 90 n 20 70 n 15 55 n 10 35 n 5 5 n 0 -35 m 55 105 n 45 100 n 35 90 n 25 70 n 20 55 n 15 35 n 10 5 n 5 -35 m 55 105 n 65 105 n 75 100 n 80 95 n 80 80 n 75 70 n 70 65 n 55 60 n 35 60 m 65 105 n 75 95 n 75 80 n 70 70 n 65 65 n 55 60 m 35 60 n 55 55 n 65 45 n 70 35 n 70 20 n 65 10 n 60 5 n 45 0 n 35 0 n 25 5 n 20 10 n 15 25 m 35 60 n 50 55 n 60 45 n 65 35 n 65 20 n 60 10 n 55 5 n 45 0 E # C *q m 70 105 n 40 -35 m 75 105 n 35 -35 m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 30 30 n 30 15 n 40 5 n 55 5 n 65 10 n 80 25 n 90 40 m 25 70 n 30 65 n 30 55 n 25 30 n 25 15 n 30 5 n 40 0 n 55 0 n 65 5 n 75 15 n 85 30 n 90 40 n 100 70 E # C *d m 50 65 n 40 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 20 n 60 35 n 60 50 n 55 60 n 35 85 n 30 95 n 30 105 n 35 110 n 45 110 n 55 105 n 65 95 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 20 n 55 35 n 55 55 n 50 65 n 40 80 n 35 90 n 35 100 n 40 105 n 50 105 n 65 95 E # C *e m 60 55 n 50 65 n 40 70 n 20 70 n 10 65 n 10 55 n 20 45 n 35 40 m 20 70 n 15 65 n 15 55 n 25 45 n 35 40 m 35 40 n 10 35 n 0 25 n 0 15 n 5 5 n 20 0 n 35 0 n 45 5 n 55 15 m 35 40 n 15 35 n 5 25 n 5 15 n 10 5 n 20 0 E # C *f m 25 65 n 15 60 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 35 0 n 50 5 n 65 15 n 75 30 n 80 45 n 80 60 n 70 70 n 60 70 n 50 60 n 40 40 n 30 15 n 15 -35 m 0 20 n 10 10 n 20 5 n 35 5 n 50 10 n 65 20 n 75 30 m 80 60 n 70 65 n 60 65 n 50 55 n 40 40 n 30 10 n 20 -35 E # C *g m 0 55 n 10 65 n 20 70 n 30 70 n 40 65 n 45 60 n 50 45 n 50 25 n 45 5 n 30 -35 m 5 60 n 15 65 n 35 65 n 45 60 m 85 70 n 80 55 n 75 45 n 50 10 n 35 -15 n 25 -35 m 80 70 n 75 55 n 70 45 n 50 10 E # C *y m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 30 35 n 20 0 m 25 70 n 30 65 n 30 55 n 25 35 n 15 0 m 30 35 n 40 55 n 50 65 n 60 70 n 70 70 n 80 65 n 85 60 n 85 45 n 80 20 n 65 -35 m 70 70 n 80 60 n 80 45 n 75 20 n 60 -35 E # C *i m 15 70 n 5 35 n 0 15 n 0 5 n 5 0 n 20 0 n 30 10 n 35 20 m 20 70 n 10 35 n 5 15 n 5 5 n 10 0 E # C *c m 40 105 n 30 100 n 25 95 n 25 90 n 30 85 n 45 80 n 60 80 m 45 80 n 25 75 n 15 70 n 10 60 n 10 50 n 20 40 n 35 35 n 50 35 m 45 80 n 30 75 n 20 70 n 15 60 n 15 50 n 25 40 n 35 35 m 35 35 n 15 30 n 5 25 n 0 15 n 0 5 n 10 -5 n 35 -15 n 40 -20 n 40 -30 n 30 -35 n 20 -35 m 35 35 n 20 30 n 10 25 n 5 15 n 5 5 n 15 -5 n 35 -15 E # C *k m 20 70 n 0 0 m 25 70 n 5 0 m 70 70 n 75 65 n 80 65 n 75 70 n 65 70 n 55 65 n 35 45 n 25 40 n 15 40 m 25 40 n 35 35 n 45 5 n 50 0 m 25 40 n 30 35 n 40 5 n 45 0 n 55 0 n 65 5 n 75 20 E # C *l m 5 105 n 15 105 n 25 100 n 30 95 n 35 85 n 65 15 n 70 5 n 75 0 m 15 105 n 25 95 n 30 85 n 60 15 n 65 5 n 75 0 n 80 0 m 40 70 n 0 0 m 40 70 n 5 0 E # C *m m 30 70 n 0 -35 m 35 70 n 5 -35 m 30 55 n 25 25 n 25 10 n 35 0 n 45 0 n 55 5 n 65 15 n 75 30 m 85 70 n 70 15 n 70 5 n 75 0 n 90 0 n 100 10 n 105 20 m 90 70 n 75 15 n 75 5 n 80 0 E # C *n m 15 70 n 5 0 m 20 70 n 15 40 n 10 15 n 5 0 m 70 70 n 65 50 n 55 30 m 75 70 n 70 55 n 65 45 n 55 30 n 45 20 n 30 10 n 20 5 n 5 0 m 0 70 n 20 70 E # C *o m 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 20 n 60 35 n 60 50 n 55 60 n 50 65 n 40 70 n 30 70 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 20 n 55 35 n 55 55 n 50 65 E # C *p m 35 65 n 15 0 m 35 65 n 20 0 m 65 65 n 65 0 m 65 65 n 70 0 m 0 55 n 10 65 n 25 70 n 90 70 m 0 55 n 10 60 n 25 65 n 90 65 E # C *r m 20 25 n 25 10 n 30 5 n 40 0 n 50 0 n 65 5 n 75 20 n 80 35 n 80 50 n 75 60 n 70 65 n 60 70 n 50 70 n 35 65 n 25 50 n 20 35 n 0 -35 m 50 0 n 60 5 n 70 20 n 75 35 n 75 55 n 70 65 m 50 70 n 40 65 n 30 50 n 25 35 n 5 -35 E # C *s m 80 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 20 n 60 35 n 60 50 n 55 60 n 50 65 n 40 70 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 20 n 55 35 n 55 55 n 50 65 m 50 65 n 80 65 E # C *t m 45 65 n 30 0 m 45 65 n 35 0 m 0 55 n 10 65 n 25 70 n 80 70 m 0 55 n 10 60 n 25 65 n 80 65 E # C *h m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 30 30 n 30 15 n 35 5 n 40 0 m 25 70 n 30 65 n 30 55 n 25 30 n 25 15 n 30 5 n 40 0 n 50 0 n 60 5 n 70 15 n 80 30 n 85 45 n 90 70 n 90 90 n 85 100 n 75 105 n 65 105 n 55 95 n 55 85 n 60 70 n 70 55 n 80 45 n 95 35 m 60 5 n 70 20 n 75 30 n 80 45 n 85 70 n 85 90 n 80 100 n 75 105 E # C *w m 5 50 n 15 60 n 30 65 n 25 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 5 n 10 0 n 20 0 n 30 5 n 40 20 n 45 35 m 0 20 n 5 10 n 10 5 n 20 5 n 30 10 n 40 20 m 40 35 n 40 20 n 45 5 n 50 0 n 60 0 n 70 5 n 80 20 n 85 35 n 85 50 n 80 65 n 75 70 n 70 65 n 80 60 n 85 50 m 40 20 n 45 10 n 50 5 n 60 5 n 70 10 n 80 20 E # C ts m 40 70 n 50 65 n 60 55 n 60 60 n 55 65 n 40 70 n 25 70 n 10 65 n 5 60 n 0 50 n 0 40 n 5 30 n 15 20 n 35 5 m 25 70 n 15 65 n 10 60 n 5 50 n 5 40 n 10 30 n 35 5 n 40 -5 n 40 -15 n 35 -20 n 25 -20 E # C *x m 5 70 n 15 70 n 25 65 n 30 55 n 55 -20 n 60 -30 n 65 -35 m 15 70 n 20 65 n 25 55 n 50 -20 n 55 -30 n 65 -35 n 75 -35 m 80 70 n 75 60 n 65 45 n 15 -10 n 5 -25 n 0 -35 E # C *u m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 25 25 n 25 10 n 35 0 m 25 70 n 30 65 n 30 55 n 20 25 n 20 10 n 25 5 n 35 0 n 40 0 n 55 5 n 65 15 n 75 30 n 80 45 n 80 60 n 75 70 n 70 65 n 75 60 n 80 45 m 75 30 n 80 60 E # C *z m 40 105 n 30 100 n 25 95 n 25 90 n 30 85 n 45 80 n 70 80 n 70 85 n 55 80 n 35 70 n 20 60 n 5 45 n 0 30 n 0 20 n 5 10 n 20 0 n 35 -10 n 40 -20 n 40 -30 n 35 -35 n 25 -35 n 20 -30 m 45 75 n 25 60 n 10 45 n 5 30 n 5 20 n 10 10 n 20 0 E # C pd m 60 45 n 55 60 n 50 65 n 40 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 15 n 60 30 n 65 55 n 65 80 n 60 95 n 55 100 n 45 105 n 30 105 n 20 100 n 15 95 n 15 90 n 20 90 n 20 95 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 15 n 55 30 n 60 55 n 60 80 n 55 95 n 45 105 E # C gr m 0 105 n 40 0 m 5 105 n 40 10 m 80 105 n 40 0 m 0 105 n 80 105 m 5 100 n 75 100 E xgks-2.6.1+dfsg.2/src/fontdb/cg.fnt0000644000175000017500000002743611413611016020060 0ustar amckinstryamckinstry# complex_greek # C A w 14 m 7 7 n 2 -6 m 7 4 n 11 -6 m 7 7 n 12 -6 m 4 -2 n 9 -2 m 0 -6 n 5 -6 m 9 -6 n 14 -6 E # C B w 16 m 2 7 n 2 -6 m 3 7 n 3 -6 m 0 7 n 7 7 n 10 6 n 11 4 n 10 2 n 7 1 m 7 7 n 9 6 n 10 4 n 9 2 n 7 1 m 3 1 n 7 1 n 10 0 n 11 -2 n 11 -3 n 10 -5 n 7 -6 n 0 -6 m 7 1 n 9 0 n 10 -2 n 10 -3 n 9 -5 n 7 -6 E # C C w 13 m 2 7 n 2 -6 m 3 7 n 3 -6 m 0 7 n 10 7 n 10 3 n 9 7 m 0 -6 n 5 -6 E # C D w 14 m 6 7 n 0 -6 m 6 5 n 11 -6 m 6 7 n 12 -6 m 1 -5 n 10 -5 m 0 -6 n 12 -6 E # C E w 15 m 2 7 n 2 -6 m 3 7 n 3 -6 m 7 3 n 7 -1 m 0 7 n 10 7 n 10 3 n 9 7 m 3 1 n 7 1 m 0 -6 n 10 -6 n 10 -2 n 9 -6 E # C F w 13 m 8 7 n 0 -6 m 9 7 n 1 -6 m 1 7 n 0 3 n 0 7 n 9 7 m 0 -6 n 9 -6 n 9 -2 n 8 -6 E # C G w 17 m 2 7 n 2 -6 m 3 7 n 3 -6 m 10 7 n 10 -6 m 11 7 n 11 -6 m 0 7 n 5 7 m 8 7 n 13 7 m 3 1 n 10 1 m 0 -6 n 5 -6 m 8 -6 n 13 -6 E # C H w 15 m 4 7 n 2 6 n 1 5 n 0 2 n 0 -1 n 1 -4 n 2 -5 n 4 -6 n 7 -6 n 9 -5 n 10 -4 n 11 -1 n 11 2 n 10 5 n 9 6 n 7 7 n 4 7 m 4 7 n 2 5 n 1 2 n 1 -1 n 2 -4 n 4 -6 m 7 -6 n 9 -4 n 10 -1 n 10 2 n 9 5 n 7 7 m 4 3 n 4 -2 m 7 3 n 7 -2 m 4 1 n 7 1 m 4 0 n 7 0 E # C I w 9 m 2 7 n 2 -6 m 3 7 n 3 -6 m 0 7 n 5 7 m 0 -6 n 5 -6 E # C J w 16 m 2 7 n 2 -6 m 3 7 n 3 -6 m 11 7 n 3 -1 m 5 1 n 10 -6 m 6 1 n 11 -6 m 0 7 n 5 7 m 8 7 n 13 7 m 0 -6 n 5 -6 m 8 -6 n 13 -6 E # C K w 14 m 7 7 n 2 -6 m 7 4 n 11 -6 m 7 7 n 12 -6 m 0 -6 n 5 -6 m 9 -6 n 14 -6 E # C L w 19 m 2 7 n 2 -6 m 3 4 n 7 -6 m 3 7 n 7 -3 m 12 7 n 7 -6 m 12 7 n 12 -6 m 13 7 n 13 -6 m 0 7 n 3 7 m 12 7 n 15 7 m 0 -6 n 4 -6 m 10 -6 n 15 -6 E # C M w 16 m 2 7 n 2 -6 m 3 5 n 10 -6 m 3 7 n 10 -4 m 10 7 n 10 -6 m 0 7 n 3 7 m 8 7 n 12 7 m 0 -6 n 4 -6 E # C N w 16 m 1 8 n 0 5 m 12 8 n 11 5 m 4 2 n 3 -1 m 9 2 n 8 -1 m 1 -4 n 0 -7 m 12 -4 n 11 -7 m 1 7 n 11 7 m 1 6 n 11 6 m 4 1 n 8 1 m 4 0 n 8 0 m 1 -5 n 11 -5 m 1 -6 n 11 -6 E # C O w 15 m 4 7 n 2 6 n 1 5 n 0 2 n 0 -1 n 1 -4 n 2 -5 n 4 -6 n 7 -6 n 9 -5 n 10 -4 n 11 -1 n 11 2 n 10 5 n 9 6 n 7 7 n 4 7 m 4 7 n 2 5 n 1 2 n 1 -1 n 2 -4 n 4 -6 m 7 -6 n 9 -4 n 10 -1 n 10 2 n 9 5 n 7 7 E # C P w 17 m 2 7 n 2 -6 m 3 7 n 3 -6 m 10 7 n 10 -6 m 11 7 n 11 -6 m 0 7 n 13 7 m 0 -6 n 5 -6 m 8 -6 n 13 -6 E # C Q w 15 m 2 7 n 2 -6 m 3 7 n 3 -6 m 0 7 n 7 7 n 10 6 n 11 4 n 11 3 n 10 1 n 7 0 n 3 0 m 7 7 n 9 6 n 10 4 n 10 3 n 9 1 n 7 0 m 0 -6 n 5 -6 E # C R w 16 m 0 7 n 5 1 m 1 7 n 6 1 n 0 -6 m 0 7 n 10 7 n 11 3 n 9 7 m 1 -5 n 10 -5 m 0 -6 n 10 -6 n 11 -2 n 9 -6 E # C S w 15 m 5 7 n 5 -6 m 6 7 n 6 -6 m 1 7 n 0 3 n 0 7 n 11 7 n 11 3 n 10 7 m 3 -6 n 8 -6 E # C T w 15 m 0 3 n 1 6 n 2 7 n 3 7 n 4 6 n 5 3 n 5 -6 m 11 3 n 10 6 n 9 7 n 8 7 n 7 6 n 6 3 n 6 -6 m 0 3 n 1 5 n 2 6 n 3 6 n 4 5 n 5 3 m 11 3 n 10 5 n 9 6 n 8 6 n 7 5 n 6 3 m 3 -6 n 8 -6 E # C U w 15 m 5 7 n 5 -6 m 6 7 n 6 -6 m 4 4 n 1 3 n 0 1 n 0 0 n 1 -2 n 4 -3 n 7 -3 n 10 -2 n 11 0 n 11 1 n 10 3 n 7 4 n 4 4 m 4 4 n 2 3 n 1 1 n 1 0 n 2 -2 n 4 -3 m 7 -3 n 9 -2 n 10 0 n 10 1 n 9 3 n 7 4 m 3 7 n 8 7 m 3 -6 n 8 -6 E # C V w 15 m 2 7 n 10 -6 m 3 7 n 11 -6 m 11 7 n 2 -6 m 0 7 n 5 7 m 8 7 n 13 7 m 0 -6 n 5 -6 m 8 -6 n 13 -6 E # C W w 17 m 6 7 n 6 -6 m 7 7 n 7 -6 m 0 2 n 1 3 n 2 3 n 3 -1 n 5 -3 m 8 -3 n 10 -1 n 11 3 n 12 3 n 13 2 m 1 3 n 2 0 n 3 -2 n 5 -3 n 8 -3 n 10 -2 n 11 0 n 12 3 m 4 7 n 9 7 m 4 -6 n 9 -6 E # C X w 15 m 0 -4 n 1 -6 n 4 -6 n 0 0 n 0 3 n 1 5 n 2 6 n 4 7 n 7 7 n 9 6 n 10 5 n 11 3 n 11 0 n 7 -6 n 10 -6 n 11 -4 m 2 -3 n 1 0 n 1 3 n 2 5 n 4 7 m 7 7 n 9 5 n 10 3 n 10 0 n 9 -3 m 1 -5 n 3 -5 m 8 -5 n 10 -5 E # C y w 14 m 2 3 n 6 -6 m 3 3 n 6 -4 m 10 3 n 6 -6 n 4 -9 n 2 -10 n 1 -10 n 0 -9 n 0 -8 n 1 -8 n 1 -9 n 0 -9 m 0 3 n 5 3 m 8 3 n 12 3 E # C z w 12 m 7 3 n 0 -6 m 8 3 n 1 -6 m 1 3 n 0 1 n 0 3 n 8 3 m 0 -6 n 8 -6 n 8 -4 n 7 -6 E # C a w 16 m 9 3 n 7 2 n 6 1 n 5 -1 n 5 -3 n 6 -5 n 8 -6 n 9 -6 n 11 -5 n 13 -3 n 15 0 n 16 3 m 9 3 n 7 1 n 6 -1 n 6 -3 n 7 -5 n 8 -6 m 9 3 n 11 3 n 13 2 n 15 -5 n 16 -6 m 11 3 n 12 2 n 14 -5 n 16 -6 n 17 -6 E # C b w 13 m 7 7 n 5 5 n 4 3 n 2 -3 n 0 -10 m 6 6 n 5 4 n 3 -2 n 1 -10 m 7 7 n 9 7 n 11 6 n 11 4 n 10 2 n 7 1 m 9 7 n 10 6 n 10 4 n 9 2 n 7 1 m 7 1 n 9 0 n 10 -2 n 10 -4 n 9 -5 n 7 -6 n 6 -6 n 4 -5 n 3 -2 m 7 1 n 8 0 n 9 -2 n 9 -4 n 7 -6 E # C c w 14 m 0 1 n 2 3 n 4 3 n 6 2 n 7 -1 n 7 -6 n 6 -10 m 0 1 n 2 2 n 4 2 n 6 1 n 7 -1 m 11 3 n 10 0 n 7 -6 n 5 -10 E # C d w 14 m 6 3 n 4 3 n 2 2 n 1 1 n 0 -1 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -4 n 9 -2 n 9 0 n 8 2 n 5 4 n 4 6 n 4 7 n 5 8 n 7 8 n 8 7 n 9 5 m 4 3 n 2 1 n 1 -1 n 1 -4 n 3 -6 m 5 -6 n 7 -4 n 8 -2 n 8 1 n 6 3 m 4 6 n 5 7 n 7 7 n 9 5 E # C e w 12 m 8 2 n 6 3 n 3 3 n 1 2 n 1 1 n 2 0 n 4 -1 m 3 3 n 2 2 n 2 1 n 4 -1 m 4 -1 n 1 -2 n 0 -3 n 0 -5 n 2 -6 n 5 -6 n 7 -5 m 4 -1 n 2 -2 n 1 -3 n 1 -5 n 2 -6 E # C f w 11 m 4 7 n 3 6 n 3 5 n 5 4 n 8 4 n 8 5 n 5 4 n 2 3 n 1 2 n 0 0 n 0 -2 n 1 -4 n 2 -5 n 4 -6 n 5 -7 n 5 -9 n 4 -10 n 2 -10 n 1 -9 m 5 4 n 3 3 n 2 2 n 1 0 n 1 -2 n 2 -4 n 4 -6 E # C g w 16 m 0 0 n 1 2 n 2 3 n 4 3 n 5 2 n 5 1 n 3 -6 m 3 3 n 4 2 n 4 1 n 2 -6 m 5 1 n 6 2 n 8 3 n 10 3 n 12 2 n 12 0 n 9 -10 m 10 3 n 11 2 n 11 0 n 8 -10 E # C h w 16 m 0 -1 n 1 1 n 2 2 n 4 2 n 5 1 n 5 -4 n 6 -6 m 3 2 n 4 1 n 4 -3 n 5 -5 n 6 -6 n 7 -6 n 9 -5 n 10 -4 n 11 -2 n 12 1 n 12 4 n 11 6 n 10 7 n 8 7 n 7 6 n 7 4 n 8 2 n 11 0 n 13 -1 m 7 -6 n 9 -4 n 10 -2 n 11 1 n 11 4 n 10 7 E # C i w 9 m 2 3 n 0 -4 n 0 -5 n 1 -6 n 3 -6 n 5 -5 n 6 -3 m 3 3 n 1 -4 n 1 -5 n 2 -6 E # C j w 14 m 3 3 n 0 -6 m 4 3 n 1 -6 m 9 3 n 10 2 n 11 2 n 10 3 n 8 3 n 6 1 n 3 0 m 3 0 n 4 -1 n 6 -5 n 8 -6 n 10 -5 n 11 -3 m 3 0 n 5 -1 n 7 -5 n 8 -6 E # C k w 12 m 0 7 n 2 7 n 4 6 n 11 -6 m 2 7 n 3 6 n 10 -6 m 6 2 n 1 -6 m 6 2 n 2 -6 E # C l w 15 m 4 3 n 0 -10 m 5 3 n 1 -10 m 3 -3 n 3 -5 n 4 -6 n 6 -6 n 8 -5 n 9 -4 m 11 3 n 9 -4 n 9 -5 n 10 -6 n 12 -6 n 13 -5 n 14 -3 m 12 3 n 10 -4 n 10 -5 n 11 -6 E # C m w 15 m 2 3 n 1 -6 m 3 3 n 2 -3 n 1 -6 m 10 0 n 10 3 n 11 3 n 10 0 n 8 -3 n 5 -5 n 2 -6 n 1 -6 m 0 3 n 3 3 E # C n w 11 m 3 7 n 2 6 n 2 5 n 4 4 n 7 4 m 5 4 n 2 3 n 1 2 n 1 0 n 3 -1 n 6 -1 m 5 4 n 3 3 n 2 2 n 2 0 n 3 -1 m 4 -1 n 1 -2 n 0 -3 n 0 -5 n 2 -6 n 4 -7 n 5 -8 n 5 -9 n 4 -10 n 2 -10 m 4 -1 n 2 -2 n 1 -3 n 1 -5 n 2 -6 E # C o w 13 m 4 3 n 2 2 n 1 1 n 0 -1 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -4 n 9 -2 n 9 0 n 8 2 n 6 3 n 4 3 m 4 3 n 2 1 n 1 -1 n 1 -4 n 3 -6 m 5 -6 n 7 -4 n 8 -2 n 8 1 n 6 3 E # C p w 17 m 5 2 n 2 -6 m 5 2 n 3 -6 m 9 2 n 8 -6 m 9 2 n 9 -6 m 0 1 n 2 3 n 13 3 m 0 1 n 2 2 n 13 2 E # C q w 14 m 9 3 n 7 3 n 5 2 n 4 1 n 3 -1 n 0 -10 m 7 3 n 5 1 n 4 -1 n 1 -10 m 9 3 n 11 2 n 12 0 n 12 -2 n 11 -4 n 10 -5 n 8 -6 n 6 -6 n 4 -5 n 3 -3 m 9 3 n 11 1 n 11 -2 n 10 -4 n 8 -6 E # C r w 16 m 12 3 n 4 3 n 2 2 n 1 1 n 0 -1 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -4 n 9 -2 n 9 0 n 8 2 n 12 2 m 4 3 n 2 1 n 1 -1 n 1 -4 n 3 -6 m 5 -6 n 7 -4 n 8 -2 n 8 1 n 6 3 E # C s w 15 m 6 2 n 4 -6 m 6 2 n 5 -6 m 0 1 n 2 3 n 11 3 m 0 1 n 2 2 n 11 2 E # C t w 14 m 0 0 n 1 2 n 2 3 n 4 3 n 5 2 n 5 0 n 4 -3 n 4 -5 n 5 -6 m 3 3 n 4 2 n 4 0 n 3 -3 n 3 -5 n 5 -6 n 6 -6 n 8 -5 n 10 -3 n 11 0 n 11 3 n 10 3 n 11 2 E # C u w 15 m 2 2 n 1 1 n 0 -1 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 8 -5 n 10 -3 n 11 0 n 11 2 n 10 3 n 8 3 n 7 2 n 6 0 n 5 -3 n 2 -10 m 0 -3 n 1 -4 n 3 -5 n 5 -5 n 8 -4 n 10 -2 n 11 0 m 11 1 n 10 2 n 8 2 n 6 0 m 5 -3 n 4 -6 n 3 -10 E # C v w 13 m 1 3 n 2 3 n 4 2 n 7 -9 n 8 -10 m 2 3 n 3 2 n 6 -9 n 8 -10 n 9 -10 m 10 3 n 8 0 n 2 -7 n 0 -10 E # C w w 18 m 10 7 n 7 -10 m 11 7 n 6 -10 m 0 0 n 1 2 n 2 3 n 4 3 n 5 2 n 5 -4 n 6 -5 n 9 -5 n 11 -4 n 13 -2 m 3 3 n 4 2 n 4 -2 n 5 -5 n 6 -6 n 9 -6 n 11 -5 n 13 -2 n 14 0 n 15 3 E # C x w 16 m 2 2 n 4 2 n 4 3 n 2 2 n 1 1 n 0 -1 n 0 -3 n 1 -5 n 2 -6 n 4 -6 n 5 -5 n 6 -3 n 7 0 m 0 -3 n 2 -5 n 4 -5 n 6 -3 m 6 0 n 6 -5 n 7 -6 n 9 -6 n 11 -4 n 12 -2 n 12 0 n 11 2 n 10 3 n 10 2 n 11 2 m 6 -3 n 7 -5 n 9 -5 n 11 -4 E # C 0 w 13 m 3 7 n 1 6 n 0 3 n 0 -2 n 1 -5 n 3 -6 n 6 -6 n 8 -5 n 9 -2 n 9 3 n 8 6 n 6 7 n 3 7 m 3 7 n 2 6 n 1 3 n 1 -2 n 2 -5 n 3 -6 m 6 -6 n 7 -5 n 8 -2 n 8 3 n 7 6 n 6 7 E # C 1 w 13 m 1 4 n 4 7 n 4 -6 m 3 6 n 3 -6 m 0 -6 n 7 -6 E # C 2 w 13 m 1 5 n 1 4 n 0 4 n 0 5 n 1 6 n 3 7 n 6 7 n 8 6 n 9 4 n 8 2 n 6 1 n 3 0 n 1 -1 n 0 -3 n 0 -6 m 6 7 n 7 6 n 8 4 n 7 2 n 6 1 m 0 -5 n 1 -4 n 2 -4 n 5 -5 n 8 -5 n 9 -4 m 2 -4 n 5 -6 n 8 -6 n 9 -4 n 9 -3 E # C 3 w 13 m 1 5 n 1 4 n 0 4 n 0 5 n 1 6 n 3 7 n 6 7 n 8 6 n 9 4 n 8 2 n 6 1 m 6 7 n 7 6 n 8 4 n 7 2 n 6 1 m 4 1 n 6 1 n 8 0 n 9 -2 n 9 -3 n 8 -5 n 6 -6 n 3 -6 n 1 -5 n 0 -4 n 0 -3 n 1 -3 n 1 -4 m 6 1 n 7 0 n 8 -2 n 8 -3 n 7 -5 n 6 -6 E # C 4 w 13 m 6 5 n 6 -6 m 7 7 n 7 -6 m 7 7 n 0 -2 n 11 -2 m 4 -6 n 9 -6 E # C 5 w 13 m 1 7 n 0 1 m 1 7 n 8 7 m 1 6 n 5 6 n 8 7 m 0 1 n 1 2 n 3 3 n 6 3 n 8 2 n 9 0 n 9 -3 n 8 -5 n 6 -6 n 3 -6 n 1 -5 n 0 -4 n 0 -3 n 1 -3 n 1 -4 m 6 3 n 7 2 n 8 0 n 8 -3 n 7 -5 n 6 -6 E # C 6 w 13 m 8 5 n 8 4 n 9 4 n 9 5 n 8 6 n 6 7 n 4 7 n 2 6 n 1 5 n 0 2 n 0 -3 n 1 -5 n 3 -6 n 6 -6 n 8 -5 n 9 -3 n 9 -1 n 8 1 n 6 2 n 3 2 n 0 0 m 4 7 n 2 5 n 1 2 n 1 -3 n 2 -5 n 3 -6 m 6 -6 n 7 -5 n 8 -3 n 8 -1 n 7 1 n 6 2 E # C 7 w 13 m 0 7 n 0 3 m 8 5 n 4 -2 n 2 -6 m 9 7 n 6 1 n 3 -6 m 0 5 n 2 7 n 4 7 n 7 5 m 0 5 n 2 6 n 4 6 n 7 5 n 8 5 E # C 8 w 13 m 3 7 n 1 6 n 0 4 n 1 2 n 3 1 n 6 1 n 8 2 n 9 4 n 8 6 n 6 7 n 3 7 m 3 7 n 2 6 n 1 4 n 2 2 n 3 1 m 6 1 n 7 2 n 8 4 n 7 6 n 6 7 m 3 1 n 1 0 n 0 -2 n 0 -3 n 1 -5 n 3 -6 n 6 -6 n 8 -5 n 9 -3 n 9 -2 n 8 0 n 6 1 m 3 1 n 2 0 n 1 -2 n 1 -3 n 2 -5 n 3 -6 m 6 -6 n 7 -5 n 8 -3 n 8 -2 n 7 0 n 6 1 E # C 9 w 13 m 1 -4 n 1 -3 n 0 -3 n 0 -4 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -4 n 9 -1 n 9 4 n 8 6 n 6 7 n 3 7 n 1 6 n 0 4 n 0 2 n 1 0 n 3 -1 n 6 -1 n 9 1 m 5 -6 n 7 -4 n 8 -1 n 8 4 n 7 6 n 6 7 m 3 7 n 2 6 n 1 4 n 1 2 n 2 0 n 3 -1 E # C . w 8 m 1 -4 n 0 -5 n 1 -6 n 2 -5 n 1 -4 E # C , w 8 m 2 -5 n 1 -6 n 0 -5 n 1 -4 n 2 -5 n 2 -7 n 0 -9 E # C : w 8 m 1 3 n 0 2 n 1 1 n 2 2 n 1 3 m 1 -4 n 0 -5 n 1 -6 n 2 -5 n 1 -4 E # C ; w 8 m 1 3 n 0 2 n 1 1 n 2 2 n 1 3 m 2 -5 n 1 -6 n 0 -5 n 1 -4 n 2 -5 n 2 -7 n 0 -9 E # C ! w 8 m 1 7 n 0 6 n 1 -1 n 2 6 n 1 7 m 1 6 n 1 3 m 1 -4 n 0 -5 n 1 -6 n 2 -5 n 1 -4 E # C ? w 13 m 0 4 n 1 4 n 1 3 n 0 3 n 0 4 n 1 6 n 3 7 n 6 7 n 8 6 n 9 4 n 9 3 n 8 1 n 5 0 n 4 -1 n 4 -2 n 5 -2 m 6 7 n 8 5 n 8 2 n 7 1 n 5 0 m 4 -5 n 4 -6 n 5 -6 n 5 -5 n 4 -5 E # C ' w 7 m 0 7 n 0 2 m 1 7 n 0 2 E # C " w 12 m 0 7 n 0 2 m 1 7 n 0 2 m 6 7 n 6 2 m 7 7 n 6 2 E # C * w 10 m 3 8 n 3 2 m 0 7 n 6 3 m 6 7 n 0 3 E # C / w 15 m 11 10 n 0 -10 E # C ( w 10 m 5 10 n 3 8 n 1 5 n 0 2 n 0 -2 n 1 -5 n 3 -8 n 5 -10 m 3 8 n 2 6 n 1 2 n 1 -2 n 2 -6 n 3 -8 E # C ) w 10 m 0 10 n 2 8 n 4 5 n 5 2 n 5 -2 n 4 -5 n 2 -8 n 0 -10 m 2 8 n 3 6 n 4 2 n 4 -2 n 3 -6 n 2 -8 E # C [ w 10 m 0 10 n 0 -10 m 1 10 n 1 -10 m 0 10 n 5 10 m 0 -10 n 5 -10 E # C ] w 10 m 4 10 n 4 -10 m 5 10 n 5 -10 m 0 10 n 5 10 m 0 -10 n 5 -10 E # C { w 11 m 3 10 n 1 9 n 0 8 n 0 6 n 2 4 n 3 2 m 1 9 n 0 6 m 3 4 n 2 1 m 0 8 n 1 6 n 3 4 n 3 2 n 2 1 n 0 0 n 2 -1 n 3 -2 n 3 -4 n 1 -6 n 0 -8 m 2 -1 n 3 -4 m 0 -6 n 1 -9 m 3 -2 n 2 -4 n 0 -6 n 0 -8 n 1 -9 n 3 -10 E # C } w 11 m 0 10 n 2 9 n 3 8 n 3 6 n 1 4 n 0 2 m 2 9 n 3 6 m 0 4 n 1 1 m 3 8 n 2 6 n 0 4 n 0 2 n 1 1 n 3 0 n 1 -1 n 0 -2 n 0 -4 n 2 -6 n 3 -8 m 1 -1 n 0 -4 m 3 -6 n 2 -9 m 0 -2 n 1 -4 n 3 -6 n 3 -8 n 2 -9 n 0 -10 E # C < w 10 m 4 10 n 0 0 n 4 -10 E # C > w 10 m 0 10 n 4 0 n 0 -10 E # C | w 6 m 0 10 n 0 -10 E # C - w 18 m 0 0 n 12 0 E # C + w 18 m 6 6 n 6 -6 m 0 0 n 12 0 E # C = w 18 m 0 2 n 12 2 m 0 -2 n 12 -2 E # C ~ w 16 m 0 -2 n 0 0 n 1 2 n 3 2 n 9 -1 n 11 -1 n 12 0 m 0 0 n 1 1 n 3 1 n 9 -2 n 11 -2 n 12 0 n 12 2 E # C ` w 8 m 2 6 n 3 5 n 4 6 n 3 7 n 2 6 n 2 4 n 4 2 E # C & w 17 m 13 2 n 12 2 n 12 1 n 13 1 n 13 2 n 12 3 n 11 3 n 10 2 n 9 -2 n 8 -4 n 7 -5 n 5 -6 n 3 -6 n 1 -5 n 0 -4 n 0 -2 n 1 -1 n 3 0 n 6 2 n 7 4 n 7 6 n 6 7 n 4 7 n 3 6 n 3 4 n 4 1 n 9 -5 n 11 -6 n 12 -6 n 13 -5 m 3 -6 n 1 -4 n 1 -2 n 3 0 m 3 4 n 4 2 n 10 -5 n 11 -6 E # C @ w 17 m 9 2 n 7 3 n 5 3 n 4 1 n 4 0 n 5 -2 n 7 -2 n 9 -1 m 9 3 n 9 -1 n 10 -2 n 12 -2 n 13 0 n 13 1 n 12 4 n 10 6 n 7 7 n 6 7 n 3 6 n 1 4 n 0 1 n 0 0 n 1 -3 n 3 -5 n 6 -6 n 7 -6 n 10 -5 E # C $ w 15 m 3 10 n 3 -10 m 6 10 n 6 -10 m 9 6 n 8 6 n 8 5 n 9 5 n 9 6 n 7 7 n 2 7 n 0 6 n 0 4 n 1 2 n 8 -1 n 9 -2 m 0 4 n 1 3 n 8 0 n 9 -2 n 9 -4 n 8 -5 n 6 -6 n 3 -6 n 1 -5 n 0 -4 n 0 -3 n 1 -3 n 1 -4 n 0 -4 E # C # w 14 m 5 7 n 1 -10 m 9 7 n 5 -10 m 1 1 n 10 1 m 0 -4 n 9 -4 E xgks-2.6.1+dfsg.2/src/fontdb/cs.fnt0000644000175000017500000004142211413611016020063 0ustar amckinstryamckinstry# complex_script # C A m 20 12 n 18 10 n 16 7 n 13 2 n 11 -1 n 8 -5 n 5 -8 n 3 -9 n 1 -9 n 0 -8 n 0 -6 n 1 -5 n 2 -6 n 1 -7 m 20 12 n 19 8 n 17 -2 n 16 -9 m 20 12 n 17 -9 m 16 -9 n 16 -7 n 15 -4 n 14 -2 n 12 0 n 10 1 n 8 1 n 7 0 n 7 -2 n 8 -5 n 11 -8 n 14 -9 n 18 -9 n 20 -8 E # C B m 14 11 n 13 10 n 12 8 n 10 3 n 8 -3 n 7 -5 n 5 -8 n 3 -9 m 13 10 n 12 7 n 10 -1 n 9 -4 n 8 -6 n 6 -8 n 3 -9 n 1 -9 n 0 -8 n 0 -6 n 1 -5 n 2 -6 n 1 -7 m 8 6 n 7 4 n 6 3 n 4 3 n 3 4 n 3 6 n 4 8 n 6 10 n 8 11 n 11 12 n 17 12 n 19 11 n 20 9 n 20 7 n 19 5 n 17 4 n 13 3 n 11 3 m 17 12 n 18 11 n 19 9 n 19 7 n 18 5 n 17 4 m 13 3 n 16 2 n 17 1 n 18 -1 n 18 -4 n 17 -7 n 16 -8 n 14 -9 n 12 -9 n 11 -8 n 11 -6 n 12 -3 m 13 3 n 15 2 n 16 1 n 17 -1 n 17 -4 n 16 -7 n 14 -9 E # C C m 1 10 n 0 8 n 0 6 n 1 4 n 4 3 n 7 3 n 11 4 n 13 5 n 15 7 n 16 9 n 16 11 n 15 12 n 13 12 n 10 11 n 7 8 n 5 5 n 3 1 n 2 -3 n 2 -6 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -6 n 14 -4 n 14 -2 n 13 0 n 11 0 n 9 -1 n 8 -3 m 13 12 n 11 11 n 8 8 n 6 5 n 4 1 n 3 -3 n 3 -6 n 4 -8 n 6 -9 E # C D m 14 11 n 13 10 n 12 8 n 10 3 n 8 -3 n 7 -5 n 5 -8 n 3 -9 m 13 10 n 12 7 n 10 -1 n 9 -4 n 8 -6 n 6 -8 n 3 -9 n 1 -9 n 0 -8 n 0 -6 n 1 -5 n 3 -5 n 5 -6 n 7 -8 n 9 -9 n 12 -9 n 14 -8 n 16 -6 n 18 -2 n 19 3 n 19 6 n 18 9 n 16 11 n 14 12 n 9 12 n 6 11 n 4 9 n 3 7 n 3 5 n 4 4 n 6 4 n 7 5 n 8 7 E # C E m 12 9 n 11 8 n 11 6 n 12 5 n 14 5 n 15 7 n 15 9 n 14 11 n 12 12 n 9 12 n 7 11 n 6 10 n 5 8 n 5 6 n 6 4 n 8 3 m 9 12 n 7 10 n 6 8 n 6 5 n 8 3 m 8 3 n 6 3 n 3 2 n 1 0 n 0 -2 n 0 -5 n 1 -7 n 2 -8 n 4 -9 n 7 -9 n 10 -8 n 12 -6 n 13 -4 n 13 -2 n 12 0 n 10 0 n 8 -1 n 7 -3 m 6 3 n 4 2 n 2 0 n 1 -2 n 1 -6 n 2 -8 E # C F m 15 10 n 14 8 n 12 3 n 10 -3 n 9 -5 n 7 -8 n 5 -9 m 9 6 n 8 4 n 6 3 n 4 3 n 3 5 n 3 7 n 4 9 n 6 11 n 9 12 n 19 12 n 16 11 n 15 10 n 14 7 n 12 -1 n 11 -4 n 10 -6 n 8 -8 n 5 -9 n 3 -9 n 1 -8 n 0 -7 n 0 -6 n 1 -5 n 2 -6 n 1 -7 m 11 12 n 15 11 n 16 11 m 7 -1 n 8 0 n 10 1 n 14 1 n 16 2 n 18 5 n 16 -2 E # C G m 1 9 n 0 7 n 0 5 n 1 3 n 3 2 n 6 2 n 9 3 n 11 4 n 14 7 n 15 10 n 15 11 n 14 12 n 13 12 n 11 11 n 9 9 n 8 7 n 7 4 n 7 1 n 8 -1 n 10 -2 n 12 -2 n 14 -1 n 16 1 n 17 3 m 14 12 n 12 11 n 10 9 n 9 7 n 8 4 n 8 0 n 10 -2 m 17 3 n 16 -1 n 14 -5 n 12 -7 n 10 -8 n 6 -9 n 3 -9 n 1 -8 n 0 -6 n 0 -5 n 1 -4 n 2 -5 n 1 -6 m 16 -1 n 14 -4 n 12 -6 n 9 -8 n 6 -9 E # C H m 6 6 n 5 7 n 5 9 n 6 11 n 9 12 n 12 12 n 9 1 n 7 -5 n 6 -7 n 5 -8 n 3 -9 n 1 -9 n 0 -8 n 0 -6 n 1 -5 n 2 -6 n 1 -7 m 12 12 n 9 3 n 8 0 n 6 -5 n 5 -7 n 3 -9 m 4 -2 n 5 -1 n 7 0 n 16 3 n 18 4 n 21 6 n 23 8 n 24 10 n 24 11 n 23 12 n 22 12 n 20 11 n 18 8 n 17 6 n 15 0 n 14 -4 n 14 -7 n 16 -9 n 17 -9 n 19 -8 n 21 -6 m 22 12 n 20 10 n 18 6 n 16 0 n 15 -4 n 15 -7 n 16 -9 E # C I m 14 10 n 12 7 n 10 2 n 8 -3 n 7 -5 n 5 -8 n 3 -9 m 16 6 n 14 4 n 11 3 n 8 3 n 6 4 n 5 6 n 5 8 n 6 10 n 8 11 n 12 12 n 16 12 n 14 10 n 13 8 n 11 2 n 9 -4 n 8 -6 n 6 -8 n 3 -9 n 1 -9 n 0 -8 n 0 -6 n 1 -5 n 2 -6 n 1 -7 E # C J m 15 12 n 13 10 n 11 7 n 9 2 n 6 -7 n 4 -11 m 15 5 n 13 3 n 10 2 n 7 2 n 5 3 n 4 5 n 4 7 n 5 9 n 7 11 n 11 12 n 15 12 n 13 9 n 12 7 n 9 -2 n 7 -6 n 6 -8 n 4 -11 n 3 -12 n 1 -13 n 0 -12 n 0 -10 n 1 -8 n 3 -6 n 5 -5 n 8 -4 n 12 -3 E # C K m 6 6 n 5 7 n 5 9 n 7 11 n 10 12 n 12 12 n 9 1 n 7 -5 n 6 -7 n 5 -8 n 3 -9 n 1 -9 n 0 -8 n 0 -6 n 1 -5 n 2 -6 n 1 -7 m 12 12 n 9 3 n 8 0 n 6 -5 n 5 -7 n 3 -9 m 20 11 n 17 7 n 15 5 n 13 4 n 10 3 m 23 11 n 22 10 n 23 9 n 24 10 n 24 11 n 23 12 n 22 12 n 20 11 n 17 6 n 16 5 n 14 4 n 10 3 m 10 3 n 13 2 n 14 0 n 15 -7 n 16 -9 m 10 3 n 12 2 n 13 0 n 14 -7 n 16 -9 n 17 -9 n 19 -8 n 21 -6 E # C L m 5 9 n 4 7 n 4 5 n 5 3 n 7 2 n 10 2 n 13 3 n 15 4 n 18 7 n 19 10 n 19 11 n 18 12 n 17 12 n 15 11 n 14 10 n 12 7 n 8 -3 n 7 -5 n 5 -8 n 3 -9 m 14 10 n 12 6 n 10 -1 n 9 -4 n 8 -6 n 6 -8 n 3 -9 n 1 -9 n 0 -8 n 0 -6 n 1 -5 n 3 -5 n 5 -6 n 8 -8 n 10 -9 n 13 -9 n 15 -8 n 17 -6 E # C M m 16 12 n 12 3 n 9 -3 n 7 -6 n 5 -8 n 3 -9 n 1 -9 n 0 -8 n 0 -6 n 1 -5 n 2 -6 n 1 -7 m 16 12 n 14 5 n 13 1 n 12 -4 n 12 -8 n 14 -9 m 16 12 n 15 8 n 14 3 n 13 -4 n 13 -8 n 14 -9 m 25 12 n 21 3 n 16 -6 n 14 -9 m 25 12 n 23 5 n 22 1 n 21 -4 n 21 -8 n 23 -9 n 24 -9 n 26 -8 n 28 -6 m 25 12 n 24 8 n 23 3 n 22 -4 n 22 -8 n 23 -9 E # C N m 13 12 n 12 8 n 10 2 n 8 -3 n 7 -5 n 5 -8 n 3 -9 n 1 -9 n 0 -8 n 0 -6 n 1 -5 n 2 -6 n 1 -7 m 13 12 n 13 7 n 14 -4 n 15 -9 m 13 12 n 14 7 n 15 -4 n 15 -9 m 27 11 n 26 10 n 27 9 n 28 10 n 28 11 n 27 12 n 25 12 n 23 11 n 21 8 n 20 6 n 18 1 n 16 -5 n 15 -9 E # C O m 8 12 n 6 11 n 4 9 n 2 6 n 1 4 n 0 0 n 0 -4 n 1 -7 n 2 -8 n 4 -9 n 6 -9 n 9 -8 n 11 -6 n 13 -3 n 14 -1 n 15 3 n 15 7 n 14 10 n 13 11 n 12 11 n 10 10 n 8 8 n 6 4 n 5 -1 n 5 -4 m 6 11 n 4 8 n 2 4 n 1 0 n 1 -4 n 2 -7 n 4 -9 E # C P m 14 11 n 13 10 n 12 8 n 10 3 n 8 -3 n 7 -5 n 5 -8 n 3 -9 m 13 10 n 12 7 n 10 -1 n 9 -4 n 8 -6 n 6 -8 n 3 -9 n 1 -9 n 0 -8 n 0 -6 n 1 -5 n 2 -6 n 1 -7 m 8 6 n 7 4 n 6 3 n 4 3 n 3 4 n 3 6 n 4 8 n 6 10 n 8 11 n 11 12 n 15 12 n 18 11 n 19 10 n 20 8 n 20 5 n 19 3 n 18 2 n 15 1 n 13 1 n 11 2 m 15 12 n 17 11 n 18 10 n 19 8 n 19 5 n 18 3 n 17 2 n 15 1 E # C Q m 13 8 n 13 6 n 12 4 n 11 3 n 9 2 n 7 2 n 6 4 n 6 6 n 7 9 n 9 11 n 12 12 n 15 12 n 17 11 n 18 9 n 18 5 n 17 2 n 15 -1 n 11 -5 n 8 -7 n 6 -8 n 3 -9 n 1 -9 n 0 -8 n 0 -6 n 1 -5 n 3 -5 n 5 -6 n 8 -8 n 11 -9 n 14 -9 n 16 -8 n 18 -6 m 15 12 n 16 11 n 17 9 n 17 5 n 16 2 n 14 -1 n 11 -4 n 7 -7 n 3 -9 E # C R m 14 11 n 13 10 n 12 8 n 10 3 n 8 -3 n 7 -5 n 5 -8 n 3 -9 m 13 10 n 12 7 n 10 -1 n 9 -4 n 8 -6 n 6 -8 n 3 -9 n 1 -9 n 0 -8 n 0 -6 n 1 -5 n 2 -6 n 1 -7 m 8 6 n 7 4 n 6 3 n 4 3 n 3 4 n 3 6 n 4 8 n 6 10 n 8 11 n 11 12 n 16 12 n 19 11 n 20 9 n 20 7 n 19 5 n 18 4 n 15 3 n 11 3 m 16 12 n 18 11 n 19 9 n 19 7 n 18 5 n 17 4 n 15 3 m 11 3 n 14 2 n 15 0 n 16 -7 n 17 -9 m 11 3 n 13 2 n 14 0 n 15 -7 n 17 -9 n 18 -9 n 20 -8 n 22 -6 E # C S m 6 9 n 5 7 n 5 5 n 6 3 n 8 2 n 11 2 n 14 3 n 16 4 n 19 7 n 20 10 n 20 11 n 19 12 n 18 12 n 16 11 n 15 10 n 14 8 n 13 5 n 11 -2 n 10 -5 n 8 -8 n 6 -9 m 14 8 n 13 4 n 12 -3 n 11 -6 n 9 -8 n 6 -9 n 3 -9 n 1 -8 n 0 -6 n 0 -5 n 1 -4 n 2 -5 n 1 -6 E # C T m 15 10 n 14 8 n 12 3 n 10 -3 n 9 -5 n 7 -8 n 5 -9 m 9 6 n 8 4 n 6 3 n 4 3 n 3 5 n 3 7 n 4 9 n 6 11 n 9 12 n 18 12 n 16 11 n 15 10 n 14 7 n 12 -1 n 11 -4 n 10 -6 n 8 -8 n 5 -9 n 3 -9 n 1 -8 n 0 -7 n 0 -6 n 1 -5 n 2 -6 n 1 -7 m 11 12 n 15 11 n 16 11 E # C U m 0 8 n 2 11 n 4 12 n 5 12 n 7 10 n 7 7 n 6 4 n 3 -4 n 3 -7 n 4 -9 m 5 12 n 6 10 n 6 7 n 3 -1 n 2 -4 n 2 -7 n 4 -9 n 6 -9 n 8 -8 n 11 -5 n 13 -2 n 14 0 m 18 12 n 14 0 n 13 -4 n 13 -7 n 15 -9 n 16 -9 n 18 -8 n 20 -6 m 19 12 n 15 0 n 14 -4 n 14 -7 n 15 -9 E # C V m 0 8 n 2 11 n 4 12 n 5 12 n 7 10 n 7 7 n 6 3 n 4 -4 n 4 -7 n 5 -9 m 5 12 n 6 10 n 6 7 n 4 0 n 3 -4 n 3 -7 n 5 -9 n 6 -9 n 9 -8 n 12 -5 n 14 -2 n 16 2 n 17 5 n 18 9 n 18 11 n 17 12 n 16 12 n 15 11 n 14 9 n 14 6 n 15 4 n 17 2 n 19 1 n 21 1 E # C W m 2 6 n 1 6 n 0 7 n 0 9 n 1 11 n 3 12 n 7 12 n 6 10 n 5 6 n 4 -3 n 3 -9 m 5 6 n 5 -3 n 4 -9 m 15 12 n 13 10 n 11 6 n 8 -3 n 6 -7 n 4 -9 m 15 12 n 14 10 n 13 6 n 12 -3 n 11 -9 m 13 6 n 13 -3 n 12 -9 m 25 12 n 23 11 n 21 9 n 19 6 n 16 -3 n 14 -7 n 12 -9 E # C X m 9 7 n 8 6 n 6 6 n 5 7 n 5 9 n 6 11 n 8 12 n 10 12 n 12 11 n 13 9 n 13 6 n 12 2 n 10 -3 n 8 -6 n 6 -8 n 3 -9 n 1 -9 n 0 -8 n 0 -6 n 1 -5 n 2 -6 n 1 -7 m 10 12 n 11 11 n 12 9 n 12 6 n 11 2 n 9 -3 n 7 -6 n 5 -8 n 3 -9 m 22 11 n 21 10 n 22 9 n 23 10 n 23 11 n 22 12 n 20 12 n 18 11 n 16 9 n 14 6 n 12 2 n 11 -3 n 11 -6 n 12 -8 n 13 -9 n 14 -9 n 16 -8 n 18 -6 E # C Y m 1 8 n 3 11 n 5 12 n 6 12 n 8 11 n 8 9 n 6 3 n 6 0 n 7 -2 m 6 12 n 7 11 n 7 9 n 5 3 n 5 0 n 7 -2 n 9 -2 n 12 -1 n 14 1 n 16 4 n 17 6 m 19 12 n 17 6 n 14 -2 n 12 -6 m 20 12 n 18 6 n 16 1 n 14 -3 n 12 -6 n 10 -8 n 7 -9 n 3 -9 n 1 -8 n 0 -6 n 0 -5 n 1 -4 n 2 -5 n 1 -6 E # C Z m 19 10 n 18 8 n 16 3 n 15 0 n 14 -2 n 12 -5 n 10 -7 n 8 -8 n 5 -9 m 12 6 n 11 4 n 9 3 n 7 3 n 6 5 n 6 7 n 7 9 n 9 11 n 12 12 n 22 12 n 20 11 n 19 10 n 18 7 n 17 3 n 15 -3 n 13 -6 n 10 -8 n 5 -9 n 1 -9 n 0 -8 n 0 -6 n 1 -5 n 3 -5 n 5 -6 n 8 -8 n 10 -9 n 13 -9 n 16 -8 n 18 -6 m 15 12 n 19 11 n 20 11 E # C a m 9 -3 n 8 -1 n 6 0 n 4 0 n 2 -1 n 1 -2 n 0 -4 n 0 -6 n 1 -8 n 3 -9 n 5 -9 n 7 -8 n 8 -6 m 4 0 n 2 -2 n 1 -4 n 1 -7 n 3 -9 m 10 0 n 8 -6 n 8 -8 n 10 -9 n 12 -8 n 13 -7 n 15 -4 m 11 0 n 9 -6 n 9 -8 n 10 -9 E # C b m 0 -4 n 2 -1 n 4 3 m 7 12 n 1 -6 n 1 -8 n 3 -9 n 4 -9 n 6 -8 n 8 -6 n 9 -3 n 9 0 n 10 -4 n 11 -5 n 12 -5 n 14 -4 m 8 12 n 2 -6 n 2 -8 n 3 -9 E # C c m 7 -1 n 6 -2 n 7 -2 n 7 -1 n 6 0 n 4 0 n 2 -1 n 1 -2 n 0 -4 n 0 -6 n 1 -8 n 3 -9 n 6 -9 n 9 -7 n 11 -4 m 4 0 n 2 -2 n 1 -4 n 1 -7 n 3 -9 E # C d m 9 -3 n 8 -1 n 6 0 n 4 0 n 2 -1 n 1 -2 n 0 -4 n 0 -6 n 1 -8 n 3 -9 n 5 -9 n 7 -8 n 8 -6 m 4 0 n 2 -2 n 1 -4 n 1 -7 n 3 -9 m 14 12 n 8 -6 n 8 -8 n 10 -9 n 12 -8 n 13 -7 n 15 -4 m 15 12 n 9 -6 n 9 -8 n 10 -9 E # C e m 2 -7 n 4 -6 n 5 -5 n 6 -3 n 6 -1 n 5 0 n 4 0 n 2 -1 n 1 -2 n 0 -4 n 0 -6 n 1 -8 n 3 -9 n 6 -9 n 9 -7 n 11 -4 m 4 0 n 2 -2 n 1 -4 n 1 -7 n 3 -9 E # C f m 7 0 n 10 3 n 12 6 n 13 9 n 13 11 n 12 12 n 10 11 n 9 9 n 0 -18 n 0 -20 n 1 -21 n 3 -20 n 4 -17 n 5 -8 n 6 -9 n 8 -9 n 10 -8 n 11 -7 n 13 -4 m 9 9 n 8 4 n 7 0 n 4 -9 n 2 -14 n 0 -18 E # C g m 9 -3 n 8 -1 n 6 0 n 4 0 n 2 -1 n 1 -2 n 0 -4 n 0 -6 n 1 -8 n 3 -9 n 5 -9 n 7 -8 n 8 -6 m 4 0 n 2 -2 n 1 -4 n 1 -7 n 3 -9 m 10 0 n 4 -18 m 11 0 n 8 -9 n 6 -14 n 4 -18 n 3 -20 n 1 -21 n 0 -20 n 0 -18 n 1 -15 n 3 -13 n 6 -11 n 10 -9 n 13 -7 n 15 -4 E # C h m 0 -4 n 2 -1 n 4 3 m 7 12 n 0 -9 m 8 12 n 1 -9 m 3 -3 n 5 -1 n 7 0 n 8 0 n 10 -1 n 10 -3 n 9 -6 n 9 -8 n 10 -9 m 8 0 n 9 -1 n 9 -3 n 8 -6 n 8 -8 n 10 -9 n 12 -8 n 13 -7 n 15 -4 E # C i m 4 6 n 3 5 n 4 4 n 5 5 n 4 6 m 2 0 n 0 -6 n 0 -8 n 2 -9 n 4 -8 n 5 -7 n 7 -4 m 3 0 n 1 -6 n 1 -8 n 2 -9 E # C j m 12 6 n 11 5 n 12 4 n 13 5 n 12 6 m 10 0 n 4 -18 m 11 0 n 8 -9 n 6 -14 n 4 -18 n 3 -20 n 1 -21 n 0 -20 n 0 -18 n 1 -15 n 3 -13 n 6 -11 n 10 -9 n 13 -7 n 15 -4 E # C k m 0 -4 n 2 -1 n 4 3 m 7 12 n 0 -9 m 8 12 n 1 -9 m 9 0 n 9 -1 n 10 -1 n 9 0 n 8 0 n 6 -2 n 3 -3 m 3 -3 n 6 -4 n 7 -8 n 8 -9 m 3 -3 n 5 -4 n 6 -8 n 8 -9 n 9 -9 n 12 -7 n 14 -4 E # C l m 0 -4 n 2 -1 n 4 3 m 7 12 n 1 -6 n 1 -8 n 3 -9 n 5 -8 n 6 -7 n 8 -4 m 8 12 n 2 -6 n 2 -8 n 3 -9 E # C m m 0 -4 n 2 -1 n 4 0 n 6 -1 n 6 -3 n 4 -9 m 4 0 n 5 -1 n 5 -3 n 3 -9 m 6 -3 n 8 -1 n 10 0 n 11 0 n 13 -1 n 13 -3 n 11 -9 m 11 0 n 12 -1 n 12 -3 n 10 -9 m 13 -3 n 15 -1 n 17 0 n 18 0 n 20 -1 n 20 -3 n 19 -6 n 19 -8 n 20 -9 m 18 0 n 19 -1 n 19 -3 n 18 -6 n 18 -8 n 20 -9 n 22 -8 n 23 -7 n 25 -4 E # C n m 0 -4 n 2 -1 n 4 0 n 6 -1 n 6 -3 n 4 -9 m 4 0 n 5 -1 n 5 -3 n 3 -9 m 6 -3 n 8 -1 n 10 0 n 11 0 n 13 -1 n 13 -3 n 12 -6 n 12 -8 n 13 -9 m 11 0 n 12 -1 n 12 -3 n 11 -6 n 11 -8 n 13 -9 n 15 -8 n 16 -7 n 18 -4 E # C o m 6 0 n 4 0 n 2 -1 n 1 -2 n 0 -4 n 0 -6 n 1 -8 n 3 -9 n 5 -9 n 7 -8 n 8 -7 n 9 -5 n 9 -3 n 8 -1 n 6 0 n 5 -1 n 5 -3 n 6 -5 n 8 -6 n 10 -6 n 12 -5 n 13 -4 m 4 0 n 2 -2 n 1 -4 n 1 -7 n 3 -9 E # C p m 4 -4 n 6 -1 n 8 3 m 9 6 n 0 -21 m 10 6 n 1 -21 m 7 -3 n 9 -1 n 11 0 n 12 0 n 14 -1 n 14 -3 n 13 -6 n 13 -8 n 14 -9 m 12 0 n 13 -1 n 13 -3 n 12 -6 n 12 -8 n 14 -9 n 16 -8 n 17 -7 n 19 -4 E # C q m 9 -3 n 8 -1 n 6 0 n 4 0 n 2 -1 n 1 -2 n 0 -4 n 0 -6 n 1 -8 n 3 -9 n 5 -9 n 7 -8 m 4 0 n 2 -2 n 1 -4 n 1 -7 n 3 -9 m 10 0 n 4 -18 n 4 -20 n 5 -21 n 7 -20 n 8 -17 n 8 -9 n 10 -9 n 13 -7 n 15 -4 m 11 0 n 8 -9 n 6 -14 n 4 -18 E # C r m 0 -4 n 2 -1 n 4 0 n 6 -1 n 6 -3 n 4 -9 m 4 0 n 5 -1 n 5 -3 n 3 -9 m 6 -3 n 8 -1 n 10 0 n 11 0 n 10 -3 m 10 0 n 10 -3 n 11 -5 n 12 -5 n 14 -4 E # C s m 0 -4 n 2 -1 n 3 1 n 3 -1 n 6 -3 n 7 -5 n 7 -7 n 6 -8 n 4 -9 m 3 -1 n 5 -3 n 6 -5 n 6 -7 n 4 -9 m 0 -8 n 2 -9 n 7 -9 n 10 -7 n 12 -4 E # C t m 0 -4 n 2 -1 n 4 3 m 7 12 n 1 -6 n 1 -8 n 3 -9 n 5 -8 n 6 -7 n 8 -4 m 8 12 n 2 -6 n 2 -8 n 3 -9 m 2 4 n 8 4 E # C u m 2 0 n 0 -6 n 0 -8 n 2 -9 n 3 -9 n 5 -8 n 7 -6 n 9 -3 m 3 0 n 1 -6 n 1 -8 n 2 -9 m 10 0 n 8 -6 n 8 -8 n 10 -9 n 12 -8 n 13 -7 n 15 -4 m 11 0 n 9 -6 n 9 -8 n 10 -9 E # C v m 2 0 n 1 -2 n 0 -5 n 0 -8 n 2 -9 n 3 -9 n 6 -8 n 8 -6 n 9 -3 n 9 0 m 3 0 n 2 -2 n 1 -5 n 1 -8 n 2 -9 m 9 0 n 10 -4 n 11 -5 n 12 -5 n 14 -4 E # C w m 3 0 n 1 -2 n 0 -5 n 0 -8 n 2 -9 n 3 -9 n 5 -8 n 7 -6 m 4 0 n 2 -2 n 1 -5 n 1 -8 n 2 -9 m 9 0 n 7 -6 n 7 -8 n 9 -9 n 10 -9 n 12 -8 n 14 -6 n 15 -3 n 15 0 m 10 0 n 8 -6 n 8 -8 n 9 -9 m 15 0 n 16 -4 n 17 -5 n 18 -5 n 20 -4 E # C x m 0 -4 n 2 -1 n 4 0 n 6 0 n 7 -1 n 7 -3 n 6 -6 n 5 -8 n 3 -9 n 2 -9 n 1 -8 n 1 -7 n 2 -7 n 1 -8 m 13 -1 n 12 -2 n 13 -2 n 13 -1 n 12 0 n 11 0 n 9 -1 n 8 -3 n 7 -6 n 7 -8 n 8 -9 n 11 -9 n 14 -7 n 16 -4 m 7 -1 n 8 -3 m 9 -1 n 7 -3 m 6 -6 n 7 -8 m 7 -6 n 5 -8 E # C y m 2 0 n 0 -6 n 0 -8 n 2 -9 n 3 -9 n 5 -8 n 7 -6 n 9 -3 m 3 0 n 1 -6 n 1 -8 n 2 -9 m 10 0 n 4 -18 m 11 0 n 8 -9 n 6 -14 n 4 -18 n 3 -20 n 1 -21 n 0 -20 n 0 -18 n 1 -15 n 3 -13 n 6 -11 n 10 -9 n 13 -7 n 15 -4 E # C z m 1 -4 n 3 -1 n 5 0 n 7 0 n 9 -1 n 9 -4 n 8 -6 n 5 -8 n 3 -9 m 7 0 n 8 -1 n 8 -4 n 7 -6 n 5 -8 m 3 -9 n 5 -10 n 6 -12 n 6 -15 n 5 -18 n 3 -20 n 1 -21 n 0 -20 n 0 -18 n 1 -15 n 4 -12 n 7 -10 n 11 -7 n 14 -4 m 3 -9 n 4 -10 n 5 -12 n 5 -15 n 4 -18 n 3 -20 E # C 0 m 9 12 n 6 11 n 4 9 n 2 6 n 1 3 n 0 -1 n 0 -4 n 1 -7 n 2 -8 n 4 -9 n 6 -9 n 9 -8 n 11 -6 n 13 -3 n 14 0 n 15 4 n 15 7 n 14 10 n 13 11 n 11 12 n 9 12 m 9 12 n 7 11 n 5 9 n 3 6 n 2 3 n 1 -1 n 1 -4 n 2 -7 n 4 -9 m 6 -9 n 8 -8 n 10 -6 n 12 -3 n 13 0 n 14 4 n 14 7 n 13 10 n 11 12 E # C 1 m 6 8 n 1 -9 m 8 12 n 2 -9 m 8 12 n 5 9 n 2 7 n 0 6 m 7 9 n 3 7 n 0 6 E # C 2 m 6 8 n 7 7 n 6 6 n 5 7 n 5 8 n 6 10 n 7 11 n 10 12 n 13 12 n 16 11 n 17 9 n 17 7 n 16 5 n 14 3 n 11 1 n 7 -1 n 4 -3 n 2 -5 n 0 -9 m 13 12 n 15 11 n 16 9 n 16 7 n 15 5 n 13 3 n 7 -1 m 1 -7 n 2 -6 n 4 -6 n 9 -8 n 12 -8 n 14 -7 n 15 -5 m 4 -6 n 9 -9 n 12 -9 n 14 -8 n 15 -5 E # C 3 m 5 8 n 6 7 n 5 6 n 4 7 n 4 8 n 5 10 n 6 11 n 9 12 n 12 12 n 15 11 n 16 9 n 16 7 n 15 5 n 12 3 n 9 2 m 12 12 n 14 11 n 15 9 n 15 7 n 14 5 n 12 3 m 7 2 n 9 2 n 12 1 n 13 0 n 14 -2 n 14 -5 n 13 -7 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -4 n 1 -3 n 2 -4 n 1 -5 m 9 2 n 11 1 n 12 0 n 13 -2 n 13 -5 n 12 -7 n 11 -8 n 9 -9 E # C 4 m 14 11 n 8 -9 m 15 12 n 9 -9 m 15 12 n 0 -3 n 16 -3 E # C 5 m 7 12 n 2 2 m 7 12 n 17 12 m 7 11 n 12 11 n 17 12 m 2 2 n 3 3 n 6 4 n 9 4 n 12 3 n 13 2 n 14 0 n 14 -3 n 13 -6 n 11 -8 n 8 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -4 n 1 -3 n 2 -4 n 1 -5 m 9 4 n 11 3 n 12 2 n 13 0 n 13 -3 n 12 -6 n 10 -8 n 8 -9 E # C 6 m 14 9 n 13 8 n 14 7 n 15 8 n 15 9 n 14 11 n 12 12 n 9 12 n 6 11 n 4 9 n 2 6 n 1 3 n 0 -1 n 0 -5 n 1 -7 n 2 -8 n 4 -9 n 7 -9 n 10 -8 n 12 -6 n 13 -4 n 13 -1 n 12 1 n 11 2 n 9 3 n 6 3 n 4 2 n 2 0 n 1 -2 m 9 12 n 7 11 n 5 9 n 3 6 n 2 3 n 1 -1 n 1 -6 n 2 -8 m 7 -9 n 9 -8 n 11 -6 n 12 -4 n 12 0 n 11 2 E # C 7 m 2 12 n 0 6 m 15 12 n 14 9 n 12 6 n 7 0 n 5 -3 n 4 -5 n 3 -9 m 12 6 n 6 0 n 4 -3 n 3 -5 n 2 -9 m 1 9 n 4 12 n 6 12 n 11 9 m 2 10 n 4 11 n 6 11 n 11 9 n 13 9 n 14 10 n 15 12 E # C 8 m 9 12 n 6 11 n 5 10 n 4 8 n 4 5 n 5 3 n 7 2 n 10 2 n 14 3 n 15 4 n 16 6 n 16 9 n 15 11 n 12 12 n 9 12 m 9 12 n 7 11 n 6 10 n 5 8 n 5 5 n 6 3 n 7 2 m 10 2 n 13 3 n 14 4 n 15 6 n 15 9 n 14 11 n 12 12 m 7 2 n 3 1 n 1 -1 n 0 -3 n 0 -6 n 1 -8 n 4 -9 n 8 -9 n 12 -8 n 13 -7 n 14 -5 n 14 -2 n 13 0 n 12 1 n 10 2 m 7 2 n 4 1 n 2 -1 n 1 -3 n 1 -6 n 2 -8 n 4 -9 m 8 -9 n 11 -8 n 12 -7 n 13 -5 n 13 -1 n 12 1 E # C 9 m 14 5 n 13 3 n 11 1 n 9 0 n 6 0 n 4 1 n 3 2 n 2 4 n 2 7 n 3 9 n 5 11 n 8 12 n 11 12 n 13 11 n 14 10 n 15 8 n 15 4 n 14 0 n 13 -3 n 11 -6 n 9 -8 n 6 -9 n 3 -9 n 1 -8 n 0 -6 n 0 -5 n 1 -4 n 2 -5 n 1 -6 m 4 1 n 3 3 n 3 7 n 4 9 n 6 11 n 8 12 m 13 11 n 14 9 n 14 4 n 13 0 n 12 -3 n 10 -6 n 8 -8 n 6 -9 E # C . m 1 -7 n 0 -8 n 1 -9 n 2 -8 n 1 -7 E # C , m 2 -9 n 1 -8 n 2 -7 n 3 -8 n 3 -9 n 2 -11 n 0 -13 E # C : m 4 5 n 3 4 n 4 3 n 5 4 n 4 5 m 1 -7 n 0 -8 n 1 -9 n 2 -8 E # C ; m 5 5 n 4 4 n 5 3 n 6 4 n 5 5 m 2 -9 n 1 -8 n 2 -7 n 3 -8 n 3 -9 n 2 -11 n 0 -13 E # C ! m 6 12 n 5 11 n 3 -1 m 6 11 n 3 -1 m 6 12 n 7 11 n 3 -1 m 1 -7 n 0 -8 n 1 -9 n 2 -8 n 1 -7 E # C ? m 1 8 n 2 7 n 1 6 n 0 7 n 0 8 n 1 10 n 2 11 n 5 12 n 9 12 n 12 11 n 13 9 n 13 7 n 12 5 n 11 4 n 5 2 n 3 1 n 3 -1 n 4 -2 n 6 -2 m 9 12 n 11 11 n 12 9 n 12 7 n 11 5 n 10 4 n 8 3 m 2 -7 n 1 -8 n 2 -9 n 3 -8 n 2 -7 E # C ` m 3 12 n 1 10 n 0 8 n 0 7 n 1 6 n 2 7 n 1 8 E # C & m 21 4 n 20 3 n 21 2 n 22 3 n 22 4 n 21 5 n 20 5 n 18 4 n 16 2 n 11 -6 n 9 -8 n 7 -9 n 4 -9 n 1 -8 n 0 -6 n 0 -4 n 1 -2 n 2 -1 n 4 0 n 9 2 n 11 3 n 13 5 n 14 7 n 14 9 n 13 11 n 11 12 n 9 11 n 8 9 n 8 6 n 9 0 n 10 -3 n 12 -6 n 14 -8 n 16 -9 n 18 -9 n 19 -7 n 19 -6 m 4 -9 n 2 -8 n 1 -6 n 1 -4 n 2 -2 n 3 -1 n 9 2 m 8 6 n 9 1 n 10 -2 n 12 -5 n 14 -7 n 16 -8 n 18 -8 n 19 -7 E # C $ m 10 16 n 2 -13 m 15 16 n 7 -13 m 16 8 n 15 7 n 16 6 n 17 7 n 17 8 n 16 10 n 15 11 n 12 12 n 8 12 n 5 11 n 3 9 n 3 7 n 4 5 n 5 4 n 12 0 n 14 -2 m 3 7 n 5 5 n 12 1 n 13 0 n 14 -2 n 14 -5 n 13 -7 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -4 n 1 -3 n 2 -4 n 1 -5 E # C / m 26 16 n 0 -16 E # C ( m 12 16 n 8 13 n 5 10 n 3 7 n 1 3 n 0 -2 n 0 -6 n 1 -11 n 2 -14 n 3 -16 m 8 13 n 5 9 n 3 5 n 2 2 n 1 -3 n 1 -8 n 2 -13 n 3 -16 E # C ) m 9 16 n 10 14 n 11 11 n 12 6 n 12 2 n 11 -3 n 9 -7 n 7 -10 n 4 -13 n 0 -16 m 9 16 n 10 13 n 11 8 n 11 3 n 10 -2 n 9 -5 n 7 -9 n 4 -13 E # C * m 5 12 n 5 0 m 0 9 n 10 3 m 10 9 n 0 3 E # C - m 0 0 n 18 0 E # C + m 9 9 n 9 -9 m 0 0 n 18 0 E # C = m 0 3 n 18 3 m 0 -3 n 18 -3 E # C ' m 2 12 n 0 5 m 3 12 n 0 5 E # C " m 2 12 n 0 5 m 3 12 n 0 5 m 11 12 n 9 5 m 12 12 n 9 5 E xgks-2.6.1+dfsg.2/src/fontdb/r.src0000644000175000017500000002155511413611016017724 0ustar amckinstryamckinstryU 16 # C ! m 5 105 n 5 35 m 5 10 n 0 5 n 5 0 n 10 5 n 5 10 E # C " m 0 105 n 0 70 m 40 105 n 40 70 E # C # m 40 125 n 5 -35 m 70 125 n 35 -35 m 5 60 n 75 60 m 0 30 n 70 30 E # C $ m 25 125 n 25 -20 m 45 125 n 45 -20 m 70 90 n 60 100 n 45 105 n 25 105 n 10 100 n 0 90 n 0 80 n 5 70 n 10 65 n 20 60 n 50 50 n 60 45 n 65 40 n 70 30 n 70 15 n 60 5 n 45 0 n 25 0 n 10 5 n 0 15 E # C % m 90 105 n 0 0 m 25 105 n 35 95 n 35 85 n 30 75 n 20 70 n 10 70 n 0 80 n 0 90 n 5 100 n 15 105 n 25 105 n 35 100 n 50 95 n 65 95 n 80 100 n 90 105 m 70 35 n 60 30 n 55 20 n 55 10 n 65 0 n 75 0 n 85 5 n 90 15 n 90 25 n 80 35 n 70 35 E # C & m 100 60 n 100 65 n 95 70 n 90 70 n 85 65 n 80 55 n 70 30 n 60 15 n 50 5 n 40 0 n 20 0 n 10 5 n 5 10 n 0 20 n 0 30 n 5 40 n 10 45 n 45 65 n 50 70 n 55 80 n 55 90 n 50 100 n 40 105 n 30 100 n 25 90 n 25 80 n 30 65 n 40 50 n 65 15 n 75 5 n 85 0 n 95 0 n 100 5 n 100 10 E # C ' m 0 105 n 0 70 E # C ( m 35 125 n 25 115 n 15 100 n 5 80 n 0 55 n 0 35 n 5 10 n 15 -10 n 25 -25 n 35 -35 E # C ) m 0 125 n 10 115 n 20 100 n 30 80 n 35 55 n 35 35 n 30 10 n 20 -10 n 10 -25 n 0 -35 E # C * m 25 75 n 25 15 m 0 60 n 50 30 m 50 60 n 0 30 E # C + m 45 90 n 45 0 m 0 45 n 90 45 E # C , m 10 5 n 5 0 n 0 5 n 5 10 n 10 5 n 10 -5 n 5 -15 n 0 -20 E # C - m 0 45 n 90 45 E # C . m 5 10 n 0 5 n 5 0 n 10 5 n 5 10 E # C / m 0 -15 n 70 105 E # C 0 m 30 105 n 15 100 n 5 85 n 0 60 n 0 45 n 5 20 n 15 5 n 30 0 n 40 0 n 55 5 n 65 20 n 70 45 n 70 60 n 65 85 n 55 100 n 40 105 n 30 105 E # C 1 m 0 85 n 10 90 n 25 105 n 25 0 E # C 2 m 5 80 n 5 85 n 10 95 n 15 100 n 25 105 n 45 105 n 55 100 n 60 95 n 65 85 n 65 75 n 60 65 n 50 50 n 0 0 n 70 0 E # C 3 m 10 105 n 65 105 n 35 65 n 50 65 n 60 60 n 65 55 n 70 40 n 70 30 n 65 15 n 55 5 n 40 0 n 25 0 n 10 5 n 5 10 n 0 20 E # C 4 m 50 105 n 0 35 n 75 35 m 50 105 n 50 0 E # C 5 m 60 105 n 10 105 n 5 60 n 10 65 n 25 70 n 40 70 n 55 65 n 65 55 n 70 40 n 70 30 n 65 15 n 55 5 n 40 0 n 25 0 n 10 5 n 5 10 n 0 20 E # C 6 m 60 90 n 55 100 n 40 105 n 30 105 n 15 100 n 5 85 n 0 60 n 0 35 n 5 15 n 15 5 n 30 0 n 35 0 n 50 5 n 60 15 n 65 30 n 65 35 n 60 50 n 50 60 n 35 65 n 30 65 n 15 60 n 5 50 n 0 35 E # C 7 m 70 105 n 20 0 m 0 105 n 70 105 E # C 8 m 25 105 n 10 100 n 5 90 n 5 80 n 10 70 n 20 65 n 40 60 n 55 55 n 65 45 n 70 35 n 70 20 n 65 10 n 60 5 n 45 0 n 25 0 n 10 5 n 5 10 n 0 20 n 0 35 n 5 45 n 15 55 n 30 60 n 50 65 n 60 70 n 65 80 n 65 90 n 60 100 n 45 105 n 25 105 E # C 9 m 65 70 n 60 55 n 50 45 n 35 40 n 30 40 n 15 45 n 5 55 n 0 70 n 0 75 n 5 90 n 15 100 n 30 105 n 35 105 n 50 100 n 60 90 n 65 70 n 65 45 n 60 20 n 50 5 n 35 0 n 25 0 n 10 5 n 5 15 E # C : m 5 70 n 0 65 n 5 60 n 10 65 n 5 70 m 5 10 n 0 5 n 5 0 n 10 5 n 5 10 E # C ; m 5 70 n 0 65 n 5 60 n 10 65 n 5 70 m 10 5 n 5 0 n 0 5 n 5 10 n 10 5 n 10 -5 n 5 -15 n 0 -20 E # C < m 80 90 n 0 45 n 80 0 E # C = m 0 60 n 90 60 m 0 30 n 90 30 E # C > m 0 90 n 80 45 n 0 0 E # C ? m 0 80 n 0 85 n 5 95 n 10 100 n 20 105 n 40 105 n 50 100 n 55 95 n 60 85 n 60 75 n 55 65 n 50 60 n 30 50 n 30 35 m 30 10 n 25 5 n 30 0 n 35 5 n 30 10 E # C @ m 45 55 n 35 60 n 25 60 n 20 50 n 20 45 n 25 35 n 35 35 n 45 40 m 45 60 n 45 40 n 50 35 n 60 35 n 65 45 n 65 50 n 60 65 n 50 75 n 35 80 n 30 80 n 15 75 n 5 65 n 0 50 n 0 45 n 5 30 n 15 20 n 30 15 n 35 15 n 50 20 E # C A m 40 105 n 0 0 m 40 105 n 80 0 m 15 35 n 65 35 E # C B m 0 105 n 0 0 m 0 105 n 45 105 n 60 100 n 65 95 n 70 85 n 70 75 n 65 65 n 60 60 n 45 55 m 0 55 n 45 55 n 60 50 n 65 45 n 70 35 n 70 20 n 65 10 n 60 5 n 45 0 n 0 0 E # C C m 75 80 n 70 90 n 60 100 n 50 105 n 30 105 n 20 100 n 10 90 n 5 80 n 0 65 n 0 40 n 5 25 n 10 15 n 20 5 n 30 0 n 50 0 n 60 5 n 70 15 n 75 25 E # C D m 0 105 n 0 0 m 0 105 n 35 105 n 50 100 n 60 90 n 65 80 n 70 65 n 70 40 n 65 25 n 60 15 n 50 5 n 35 0 n 0 0 E # C E m 0 105 n 0 0 m 0 105 n 65 105 m 0 55 n 40 55 m 0 0 n 65 0 E # C F m 0 105 n 0 0 m 0 105 n 65 105 m 0 55 n 40 55 E # C G m 75 80 n 70 90 n 60 100 n 50 105 n 30 105 n 20 100 n 10 90 n 5 80 n 0 65 n 0 40 n 5 25 n 10 15 n 20 5 n 30 0 n 50 0 n 60 5 n 70 15 n 75 25 n 75 40 m 50 40 n 75 40 E # C H m 0 105 n 0 0 m 70 105 n 70 0 m 0 55 n 70 55 E # C I m 0 105 n 0 0 E # C J m 50 105 n 50 25 n 45 10 n 40 5 n 30 0 n 20 0 n 10 5 n 5 10 n 0 25 n 0 35 E # C K m 0 105 n 0 0 m 70 105 n 0 35 m 25 60 n 70 0 E # C L m 0 105 n 0 0 m 0 0 n 60 0 E # C M m 0 105 n 0 0 m 0 105 n 40 0 m 80 105 n 40 0 m 80 105 n 80 0 E # C N m 0 105 n 0 0 m 0 105 n 70 0 m 70 105 n 70 0 E # C O m 30 105 n 20 100 n 10 90 n 5 80 n 0 65 n 0 40 n 5 25 n 10 15 n 20 5 n 30 0 n 50 0 n 60 5 n 70 15 n 75 25 n 80 40 n 80 65 n 75 80 n 70 90 n 60 100 n 50 105 n 30 105 E # C P m 0 105 n 0 0 m 0 105 n 45 105 n 60 100 n 65 95 n 70 85 n 70 70 n 65 60 n 60 55 n 45 50 n 0 50 E # C Q m 30 105 n 20 100 n 10 90 n 5 80 n 0 65 n 0 40 n 5 25 n 10 15 n 20 5 n 30 0 n 50 0 n 60 5 n 70 15 n 75 25 n 80 40 n 80 65 n 75 80 n 70 90 n 60 100 n 50 105 n 30 105 m 45 20 n 75 -10 E # C R m 0 105 n 0 0 m 0 105 n 45 105 n 60 100 n 65 95 n 70 85 n 70 75 n 65 65 n 60 60 n 45 55 n 0 55 m 35 55 n 70 0 E # C S m 70 90 n 60 100 n 45 105 n 25 105 n 10 100 n 0 90 n 0 80 n 5 70 n 10 65 n 20 60 n 50 50 n 60 45 n 65 40 n 70 30 n 70 15 n 60 5 n 45 0 n 25 0 n 10 5 n 0 15 E # C T m 35 105 n 35 0 m 0 105 n 70 105 E # C U m 0 105 n 0 30 n 5 15 n 15 5 n 30 0 n 40 0 n 55 5 n 65 15 n 70 30 n 70 105 E # C V m 0 105 n 40 0 m 80 105 n 40 0 E # C W m 0 105 n 25 0 m 50 105 n 25 0 m 50 105 n 75 0 m 100 105 n 75 0 E # C X m 0 105 n 70 0 m 70 105 n 0 0 E # C Y m 0 105 n 40 55 n 40 0 m 80 105 n 40 55 E # C Z m 70 105 n 0 0 m 0 105 n 70 105 m 0 0 n 70 0 E # C [ m 0 125 n 0 -35 m 5 125 n 5 -35 m 0 125 n 35 125 m 0 -35 n 35 -35 E # C \ m 0 105 n 70 -15 E # C ] m 30 125 n 30 -35 m 35 125 n 35 -35 m 0 125 n 35 125 m 0 -35 n 35 -35 E # C ^ m 40 115 n 0 45 m 40 115 n 80 45 E # C ` m 5 105 n 30 75 m 5 105 n 0 100 n 30 75 E # C a m 60 70 n 60 0 m 60 55 n 50 65 n 40 70 n 25 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 25 0 n 40 0 n 50 5 n 60 15 E # C b m 0 105 n 0 0 m 0 55 n 10 65 n 20 70 n 35 70 n 45 65 n 55 55 n 60 40 n 60 30 n 55 15 n 45 5 n 35 0 n 20 0 n 10 5 n 0 15 E # C c m 60 55 n 50 65 n 40 70 n 25 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 25 0 n 40 0 n 50 5 n 60 15 E # C d m 60 105 n 60 0 m 60 55 n 50 65 n 40 70 n 25 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 25 0 n 40 0 n 50 5 n 60 15 E # C e m 0 40 n 60 40 n 60 50 n 55 60 n 50 65 n 40 70 n 25 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 25 0 n 40 0 n 50 5 n 60 15 E # C f m 40 105 n 30 105 n 20 100 n 15 85 n 15 0 m 0 70 n 35 70 E # C g m 60 70 n 60 -10 n 55 -25 n 50 -30 n 40 -35 n 25 -35 n 15 -30 m 60 55 n 50 65 n 40 70 n 25 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 25 0 n 40 0 n 50 5 n 60 15 E # C h m 0 105 n 0 0 m 0 50 n 15 65 n 25 70 n 40 70 n 50 65 n 55 50 n 55 0 E # C i m 0 105 n 5 100 n 10 105 n 5 110 n 0 105 m 5 70 n 5 0 E # C j m 20 105 n 25 100 n 30 105 n 25 110 n 20 105 m 25 70 n 25 -15 n 20 -30 n 10 -35 n 0 -35 E # C k m 0 105 n 0 0 m 50 70 n 0 20 m 20 40 n 55 0 E # C l u 25 m 0 105 n 0 0 E # C m m 0 70 n 0 0 m 0 50 n 15 65 n 25 70 n 40 70 n 50 65 n 55 50 n 55 0 m 55 50 n 70 65 n 80 70 n 95 70 n 105 65 n 110 50 n 110 0 E # C n m 0 70 n 0 0 m 0 50 n 15 65 n 25 70 n 40 70 n 50 65 n 55 50 n 55 0 E # C o m 25 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 25 0 n 40 0 n 50 5 n 60 15 n 65 30 n 65 40 n 60 55 n 50 65 n 40 70 n 25 70 E # C p m 0 70 n 0 -35 m 0 55 n 10 65 n 20 70 n 35 70 n 45 65 n 55 55 n 60 40 n 60 30 n 55 15 n 45 5 n 35 0 n 20 0 n 10 5 n 0 15 E # C q m 60 70 n 60 -35 m 60 55 n 50 65 n 40 70 n 25 70 n 15 65 n 5 55 n 0 40 n 0 30 n 5 15 n 15 5 n 25 0 n 40 0 n 50 5 n 60 15 E # C r m 0 70 n 0 0 m 0 40 n 5 55 n 15 65 n 25 70 n 40 70 E # C s m 55 55 n 50 65 n 35 70 n 20 70 n 5 65 n 0 55 n 5 45 n 15 40 n 40 35 n 50 30 n 55 20 n 55 15 n 50 5 n 35 0 n 20 0 n 5 5 n 0 15 E # C t m 15 105 n 15 20 n 20 5 n 30 0 n 40 0 m 0 70 n 35 70 E # C u m 0 70 n 0 20 n 5 5 n 15 0 n 30 0 n 40 5 n 55 20 m 55 70 n 55 0 E # C v m 0 70 n 30 0 m 60 70 n 30 0 E # C w m 0 70 n 20 0 m 40 70 n 20 0 m 40 70 n 60 0 m 80 70 n 60 0 E # C x m 0 70 n 55 0 m 55 70 n 0 0 E # C y m 5 70 n 35 0 m 65 70 n 35 0 n 25 -20 n 15 -30 n 5 -35 n 0 -35 E # C z m 55 70 n 0 0 m 0 70 n 55 70 m 0 0 n 55 0 E # C { m 25 125 n 15 120 n 10 115 n 5 105 n 5 95 n 10 85 n 15 80 n 20 70 n 20 60 n 10 50 m 15 120 n 10 110 n 10 100 n 15 90 n 20 85 n 25 75 n 25 65 n 20 55 n 0 45 n 20 35 n 25 25 n 25 15 n 20 5 n 15 0 n 10 -10 n 10 -20 n 15 -30 m 10 40 n 20 30 n 20 20 n 15 10 n 10 5 n 5 -5 n 5 -15 n 10 -25 n 15 -30 n 25 -35 E # C | m 0 125 n 0 -35 E # C } m 0 125 n 10 120 n 15 115 n 20 105 n 20 95 n 15 85 n 10 80 n 5 70 n 5 60 n 15 50 m 10 120 n 15 110 n 15 100 n 10 90 n 5 85 n 0 75 n 0 65 n 5 55 n 25 45 n 5 35 n 0 25 n 0 15 n 5 5 n 10 0 n 15 -10 n 15 -20 n 10 -30 m 15 40 n 5 30 n 5 20 n 10 10 n 15 5 n 20 -5 n 20 -15 n 15 -25 n 10 -30 n 0 -35 E # C ~ m 0 40 n 0 50 n 5 65 n 15 70 n 25 70 n 35 65 n 55 50 n 65 45 n 75 45 n 85 50 n 90 60 m 0 50 n 5 60 n 15 65 n 25 65 n 35 60 n 55 45 n 65 40 n 75 40 n 85 45 n 90 60 n 90 70 E xgks-2.6.1+dfsg.2/src/fontdb/ci.fnt0000644000175000017500000003064511413611016020056 0ustar amckinstryamckinstry# complex_italic # C A w 14 m 11 7 n 2 -6 m 10 5 n 11 -6 m 11 7 n 12 -6 m 5 -2 n 11 -2 m 0 -6 n 5 -6 m 9 -6 n 14 -6 E # C B w 15 m 6 7 n 2 -6 m 7 7 n 3 -6 m 4 7 n 11 7 n 13 6 n 13 4 n 12 2 n 9 1 m 11 7 n 12 6 n 12 4 n 11 2 n 9 1 m 5 1 n 8 1 n 10 0 n 11 -1 n 11 -3 n 10 -5 n 7 -6 n 0 -6 m 8 1 n 10 -1 n 10 -3 n 9 -5 n 7 -6 E # C C w 13 m 9 6 n 10 6 n 11 7 n 10 4 n 9 6 n 7 7 n 5 7 n 3 6 n 2 5 n 1 3 n 0 0 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -3 m 5 7 n 3 5 n 2 3 n 1 0 n 1 -4 n 3 -6 E # C D w 15 m 6 7 n 2 -6 m 7 7 n 3 -6 m 4 7 n 10 7 n 12 6 n 13 4 n 13 1 n 12 -2 n 11 -4 n 10 -5 n 7 -6 n 0 -6 m 10 7 n 11 6 n 12 4 n 12 1 n 11 -2 n 10 -4 n 9 -5 n 7 -6 E # C E w 15 m 6 7 n 2 -6 m 7 7 n 3 -6 m 9 3 n 8 -1 m 4 7 n 14 7 n 13 4 n 13 7 m 5 1 n 8 1 m 0 -6 n 10 -6 n 11 -3 n 9 -6 E # C F w 14 m 6 7 n 2 -6 m 7 7 n 3 -6 m 9 3 n 8 -1 m 4 7 n 14 7 n 13 4 n 13 7 m 5 1 n 8 1 m 0 -6 n 5 -6 E # C G w 14 m 9 6 n 10 6 n 11 7 n 10 4 n 9 6 n 7 7 n 5 7 n 3 6 n 2 5 n 1 3 n 0 0 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -4 n 9 -1 m 5 7 n 3 5 n 2 3 n 1 0 n 1 -4 n 3 -6 m 5 -6 n 7 -4 n 8 -1 m 6 -1 n 11 -1 E # C H w 17 m 6 7 n 2 -6 m 7 7 n 3 -6 m 14 7 n 10 -6 m 15 7 n 11 -6 m 4 7 n 9 7 m 12 7 n 17 7 m 5 1 n 12 1 m 0 -6 n 5 -6 m 8 -6 n 13 -6 E # C I w 9 m 6 7 n 2 -6 m 7 7 n 3 -6 m 4 7 n 9 7 m 0 -6 n 5 -6 E # C J w 12 m 9 7 n 6 -3 n 5 -5 n 4 -6 m 10 7 n 7 -3 n 6 -5 n 4 -6 n 3 -6 n 1 -5 n 0 -3 n 1 -2 n 2 -3 n 1 -4 m 7 7 n 12 7 E # C K w 16 m 6 7 n 2 -6 m 7 7 n 3 -6 m 15 7 n 5 0 m 8 2 n 10 -6 m 9 2 n 11 -6 m 4 7 n 9 7 m 12 7 n 17 7 m 0 -6 n 5 -6 m 8 -6 n 13 -6 E # C L w 13 m 6 7 n 2 -6 m 7 7 n 3 -6 m 4 7 n 9 7 m 0 -6 n 10 -6 n 11 -3 n 9 -6 E # C M w 19 m 6 7 n 2 -6 m 6 5 n 7 -6 m 7 7 n 8 -4 m 16 7 n 7 -6 m 16 7 n 12 -6 m 17 7 n 13 -6 m 4 7 n 7 7 m 16 7 n 19 7 m 0 -6 n 4 -6 m 10 -6 n 15 -6 E # C N w 16 m 6 7 n 2 -6 m 6 7 n 10 -6 m 7 7 n 10 -3 m 14 7 n 10 -6 m 4 7 n 7 7 m 12 7 n 16 7 m 0 -6 n 4 -6 E # C O w 14 m 5 7 n 3 6 n 2 5 n 1 3 n 0 0 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -4 n 9 -2 n 10 1 n 10 4 n 9 6 n 7 7 n 5 7 m 5 7 n 3 5 n 2 3 n 1 0 n 1 -4 n 3 -6 m 5 -6 n 7 -4 n 8 -2 n 9 1 n 9 5 n 7 7 E # C P w 15 m 6 7 n 2 -6 m 7 7 n 3 -6 m 4 7 n 11 7 n 13 6 n 14 5 n 14 3 n 13 1 n 10 0 n 5 0 m 11 7 n 13 5 n 13 3 n 12 1 n 10 0 m 0 -6 n 5 -6 E # C Q w 14 m 5 7 n 3 6 n 2 5 n 1 3 n 0 0 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -4 n 9 -2 n 10 1 n 10 4 n 9 6 n 7 7 n 5 7 m 5 7 n 3 5 n 2 3 n 1 0 n 1 -4 n 3 -6 m 5 -6 n 7 -4 n 8 -2 n 9 1 n 9 5 n 7 7 m 2 -5 n 2 -4 n 3 -3 n 4 -3 n 5 -4 n 5 -8 n 6 -9 n 7 -9 n 8 -8 m 5 -4 n 6 -8 n 7 -9 E # C R w 16 m 6 7 n 2 -6 m 7 7 n 3 -6 m 4 7 n 11 7 n 13 6 n 14 5 n 14 3 n 13 1 n 10 0 n 5 0 m 11 7 n 13 5 n 13 3 n 12 1 n 10 0 m 9 0 n 10 -5 n 11 -6 n 12 -6 n 13 -5 m 9 0 n 10 -1 n 11 -5 n 12 -6 m 0 -6 n 5 -6 E # C S w 15 m 11 6 n 12 6 n 13 7 n 12 4 n 11 6 n 9 7 n 6 7 n 4 6 n 3 5 n 3 3 n 4 2 n 9 -1 n 10 -2 m 3 4 n 4 3 n 9 0 n 10 -1 n 10 -4 n 9 -5 n 7 -6 n 4 -6 n 2 -5 n 1 -3 n 0 -6 n 1 -5 n 2 -5 E # C T w 15 m 6 7 n 2 -6 m 7 7 n 3 -6 m 2 7 n 0 4 n 1 7 n 12 7 n 11 4 n 11 7 m 0 -6 n 5 -6 E # C U w 17 m 3 7 n 0 -3 n 0 -5 n 2 -6 n 6 -6 n 8 -5 n 9 -3 n 12 7 m 4 7 n 1 -3 n 1 -5 n 2 -6 m 1 7 n 6 7 m 10 7 n 14 7 E # C V w 14 m 2 7 n 3 -6 m 3 7 n 4 -4 m 12 7 n 3 -6 m 0 7 n 5 7 m 9 7 n 14 7 E # C W w 18 m 2 7 n 1 -6 m 3 7 n 2 -4 m 8 7 n 1 -6 m 8 7 n 7 -6 m 9 7 n 8 -4 m 14 7 n 7 -6 m 0 7 n 5 7 m 12 7 n 16 7 E # C X w 15 m 6 7 n 10 -6 m 7 7 n 11 -6 m 15 7 n 2 -6 m 4 7 n 9 7 m 12 7 n 17 7 m 0 -6 n 5 -6 m 8 -6 n 13 -6 E # C Y w 13 m 2 7 n 4 1 n 2 -6 m 3 7 n 5 1 m 11 7 n 5 1 n 3 -6 m 0 7 n 5 7 m 8 7 n 13 7 m 0 -6 n 5 -6 E # C Z w 13 m 12 7 n 0 -6 m 13 7 n 1 -6 m 5 7 n 3 4 n 4 7 n 13 7 m 0 -6 n 9 -6 n 10 -3 n 8 -6 E # C a w 15 m 9 3 n 7 -4 n 7 -5 n 8 -6 n 10 -6 n 11 -5 n 12 -3 m 10 3 n 8 -4 n 8 -5 n 9 -6 m 8 -1 n 8 1 n 6 3 n 4 3 n 2 2 n 1 1 n 0 -1 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 7 -4 m 4 3 n 2 1 n 1 -1 n 1 -4 n 3 -6 E # C b w 14 m 2 7 n 0 0 m 3 7 n 1 0 n 1 -4 n 3 -6 m 1 0 n 2 2 n 4 3 n 6 3 n 8 2 n 9 0 n 9 -2 n 8 -4 n 7 -5 n 5 -6 n 3 -6 n 1 -5 n 0 -3 n 0 0 m 6 3 n 8 1 n 8 -2 n 7 -4 n 5 -6 m 0 7 n 3 7 E # C c w 13 m 8 2 n 8 1 n 9 1 n 8 2 n 6 3 n 4 3 n 2 2 n 1 1 n 0 -1 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -4 m 4 3 n 2 1 n 1 -1 n 1 -4 n 3 -6 E # C d w 15 m 10 7 n 7 -4 n 7 -5 n 8 -6 n 10 -6 n 11 -5 n 12 -3 m 11 7 n 8 -4 n 8 -5 n 9 -6 m 8 -1 n 8 1 n 6 3 n 4 3 n 2 2 n 1 1 n 0 -1 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 7 -4 m 4 3 n 2 1 n 1 -1 n 1 -4 n 3 -6 m 8 7 n 11 7 E # C e w 12 m 1 -3 n 5 -2 n 7 -1 n 8 0 n 8 2 n 6 3 n 4 3 n 2 2 n 1 1 n 0 -1 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -4 m 4 3 n 2 1 n 1 -1 n 1 -4 n 3 -6 E # C f w 11 m 11 7 n 12 6 n 12 7 n 10 7 n 8 6 n 7 4 n 4 -7 n 3 -9 n 2 -10 m 10 7 n 9 6 n 8 4 n 5 -7 n 4 -9 n 2 -10 n 0 -10 n 0 -9 n 1 -10 m 4 3 n 10 3 E # C g w 14 m 10 3 n 8 -4 n 7 -7 n 6 -9 m 11 3 n 9 -4 n 8 -7 n 6 -9 n 4 -10 n 1 -10 n 0 -9 n 1 -9 n 2 -10 m 9 -1 n 9 1 n 7 3 n 5 3 n 3 2 n 2 1 n 1 -1 n 1 -3 n 2 -5 n 4 -6 n 6 -6 n 8 -4 m 5 3 n 3 1 n 2 -1 n 2 -4 n 4 -6 E # C h w 15 m 4 7 n 0 -6 m 5 7 n 1 -6 m 3 1 n 4 2 n 6 3 n 8 3 n 10 2 n 10 0 n 9 -3 n 9 -5 n 10 -6 m 8 3 n 9 2 n 9 0 n 8 -3 n 8 -5 n 9 -6 n 11 -6 n 12 -5 n 13 -3 m 2 7 n 5 7 E # C i w 10 m 5 7 n 5 6 n 6 6 n 6 7 n 5 7 m 0 0 n 1 2 n 2 3 n 4 3 n 5 2 n 5 0 n 4 -3 n 4 -5 n 5 -6 m 3 3 n 4 2 n 4 0 n 3 -3 n 3 -5 n 4 -6 n 6 -6 n 7 -5 n 8 -3 E # C j w 10 m 7 7 n 7 6 n 8 6 n 8 7 n 7 7 m 2 0 n 3 2 n 4 3 n 6 3 n 7 2 n 7 0 n 5 -7 n 4 -9 n 2 -10 n 0 -10 n 0 -9 n 1 -10 m 5 3 n 6 2 n 6 0 n 4 -7 n 3 -9 n 2 -10 E # C k w 13 m 4 7 n 0 -6 m 5 7 n 1 -6 m 10 2 n 9 1 n 10 1 n 10 2 n 9 3 n 8 3 n 6 1 n 4 0 n 3 0 m 3 0 n 4 -1 n 5 -5 n 6 -6 n 8 -6 n 9 -5 n 10 -3 m 3 0 n 5 -1 n 6 -5 n 7 -6 m 2 7 n 5 7 E # C l w 8 m 3 7 n 0 -4 n 0 -5 n 1 -6 n 3 -6 n 4 -5 n 5 -3 m 4 7 n 1 -4 n 1 -5 n 2 -6 m 1 7 n 4 7 E # C m w 24 m 0 0 n 1 2 n 2 3 n 4 3 n 5 2 n 5 1 n 3 -6 m 3 3 n 4 2 n 4 1 n 2 -6 m 5 1 n 6 2 n 8 3 n 10 3 n 12 2 n 12 1 n 10 -6 m 10 3 n 11 2 n 11 1 n 9 -6 m 12 1 n 13 2 n 15 3 n 17 3 n 19 2 n 19 0 n 18 -3 n 18 -5 n 19 -6 m 17 3 n 18 2 n 18 0 n 17 -3 n 17 -5 n 18 -6 n 20 -6 n 21 -5 n 22 -3 E # C n w 17 m 0 0 n 1 2 n 2 3 n 4 3 n 5 2 n 5 1 n 3 -6 m 3 3 n 4 2 n 4 1 n 2 -6 m 5 1 n 6 2 n 8 3 n 10 3 n 12 2 n 12 0 n 11 -3 n 11 -5 n 12 -6 m 10 3 n 11 2 n 11 0 n 10 -3 n 10 -5 n 11 -6 n 13 -6 n 14 -5 n 15 -3 E # C o w 13 m 4 3 n 2 2 n 1 1 n 0 -1 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -4 n 9 -2 n 9 0 n 8 2 n 6 3 n 4 3 m 4 3 n 2 1 n 1 -1 n 1 -4 n 3 -6 m 5 -6 n 7 -4 n 8 -2 n 8 1 n 6 3 E # C p w 15 m 1 0 n 2 2 n 3 3 n 5 3 n 6 2 n 6 1 n 3 -10 m 4 3 n 5 2 n 5 1 n 2 -10 m 6 1 n 8 3 n 10 3 n 12 2 n 13 0 n 13 -2 n 12 -4 n 11 -5 n 9 -6 n 7 -6 n 5 -4 n 5 -2 m 10 3 n 12 1 n 12 -2 n 11 -4 n 9 -6 m 0 -10 n 5 -10 E # C q w 14 m 9 3 n 5 -10 m 10 3 n 6 -10 m 8 -1 n 8 1 n 6 3 n 4 3 n 2 2 n 1 1 n 0 -1 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 7 -4 m 4 3 n 2 1 n 1 -1 n 1 -4 n 3 -6 m 3 -10 n 8 -10 E # C r w 12 m 0 0 n 1 2 n 2 3 n 4 3 n 5 2 n 5 1 n 3 -6 m 3 3 n 4 2 n 4 1 n 2 -6 m 5 1 n 6 2 n 8 3 n 9 3 n 10 2 n 10 1 n 9 1 n 10 2 E # C s w 13 m 8 2 n 8 1 n 9 1 n 8 2 n 6 3 n 3 3 n 1 2 n 1 0 n 3 -1 n 6 -2 n 8 -3 m 1 1 n 3 0 n 6 -1 n 8 -2 n 8 -5 n 6 -6 n 3 -6 n 1 -5 n 0 -4 n 1 -4 n 1 -5 E # C t w 9 m 3 7 n 0 -4 n 0 -5 n 1 -6 n 3 -6 n 4 -5 n 5 -3 m 4 7 n 1 -4 n 1 -5 n 2 -6 m 0 3 n 5 3 E # C u w 17 m 0 0 n 1 2 n 2 3 n 4 3 n 5 2 n 5 0 n 4 -3 n 4 -5 n 5 -6 m 3 3 n 4 2 n 4 0 n 3 -3 n 3 -5 n 5 -6 n 7 -6 n 9 -5 n 10 -4 m 12 3 n 10 -4 n 10 -5 n 11 -6 n 13 -6 n 14 -5 n 15 -3 m 13 3 n 11 -4 n 11 -5 n 12 -6 E # C v w 14 m 0 0 n 1 2 n 2 3 n 4 3 n 5 2 n 5 0 n 4 -3 n 4 -5 n 5 -6 m 3 3 n 4 2 n 4 0 n 3 -3 n 3 -5 n 5 -6 n 6 -6 n 8 -5 n 10 -3 n 11 0 n 11 3 n 10 3 n 11 2 E # C w w 20 m 0 0 n 1 2 n 2 3 n 4 3 n 5 2 n 5 0 n 4 -3 n 4 -5 n 5 -6 m 3 3 n 4 2 n 4 0 n 3 -3 n 3 -5 n 5 -6 n 6 -6 n 8 -5 n 9 -4 m 11 3 n 9 -4 n 9 -5 n 11 -6 m 12 3 n 10 -4 n 10 -5 n 11 -6 n 12 -6 n 14 -5 n 16 -3 n 17 0 n 17 3 n 16 3 n 17 2 E # C x w 16 m 1 0 n 2 2 n 4 3 n 6 3 n 7 2 n 7 0 m 5 3 n 6 2 n 6 0 n 5 -3 n 4 -5 n 2 -6 n 1 -6 n 0 -5 n 0 -4 n 1 -4 n 0 -5 m 12 2 n 11 1 n 12 1 n 12 2 n 11 3 n 10 3 n 8 2 n 7 0 n 6 -3 n 6 -5 n 7 -6 m 5 -3 n 5 -5 n 6 -6 n 8 -6 n 10 -5 n 11 -3 E # C y w 16 m 0 0 n 1 2 n 2 3 n 4 3 n 5 2 n 5 0 n 4 -3 n 4 -5 n 5 -6 m 3 3 n 4 2 n 4 0 n 3 -3 n 3 -5 n 5 -6 n 7 -6 n 9 -5 n 10 -4 m 12 3 n 10 -4 n 9 -7 n 8 -9 m 13 3 n 11 -4 n 10 -7 n 8 -9 n 6 -10 n 3 -10 n 2 -9 n 3 -9 n 4 -10 E # C z w 14 m 10 3 n 10 2 n 9 1 n 1 -4 n 0 -5 n 0 -6 m 1 1 n 2 3 n 5 3 n 8 1 m 2 2 n 5 2 n 8 1 n 9 1 m 1 -4 n 2 -4 n 5 -5 n 8 -5 m 2 -4 n 5 -6 n 8 -6 n 9 -4 E # C 0 w 13 m 3 7 n 1 6 n 0 3 n 0 -2 n 1 -5 n 3 -6 n 6 -6 n 8 -5 n 9 -2 n 9 3 n 8 6 n 6 7 n 3 7 m 3 7 n 2 6 n 1 3 n 1 -2 n 2 -5 n 3 -6 m 6 -6 n 7 -5 n 8 -2 n 8 3 n 7 6 n 6 7 E # C 1 w 13 m 1 4 n 4 7 n 4 -6 m 3 6 n 3 -6 m 0 -6 n 7 -6 E # C 2 w 13 m 1 5 n 1 4 n 0 4 n 0 5 n 1 6 n 3 7 n 6 7 n 8 6 n 9 4 n 8 2 n 6 1 n 3 0 n 1 -1 n 0 -3 n 0 -6 m 6 7 n 7 6 n 8 4 n 7 2 n 6 1 m 0 -5 n 1 -4 n 2 -4 n 5 -5 n 8 -5 n 9 -4 m 2 -4 n 5 -6 n 8 -6 n 9 -4 n 9 -3 E # C 3 w 13 m 1 5 n 1 4 n 0 4 n 0 5 n 1 6 n 3 7 n 6 7 n 8 6 n 9 4 n 8 2 n 6 1 m 6 7 n 7 6 n 8 4 n 7 2 n 6 1 m 4 1 n 6 1 n 8 0 n 9 -2 n 9 -3 n 8 -5 n 6 -6 n 3 -6 n 1 -5 n 0 -4 n 0 -3 n 1 -3 n 1 -4 m 6 1 n 7 0 n 8 -2 n 8 -3 n 7 -5 n 6 -6 E # C 4 w 13 m 6 5 n 6 -6 m 7 7 n 7 -6 m 7 7 n 0 -2 n 11 -2 m 4 -6 n 9 -6 E # C 5 w 13 m 1 7 n 0 1 m 1 7 n 8 7 m 1 6 n 5 6 n 8 7 m 0 1 n 1 2 n 3 3 n 6 3 n 8 2 n 9 0 n 9 -3 n 8 -5 n 6 -6 n 3 -6 n 1 -5 n 0 -4 n 0 -3 n 1 -3 n 1 -4 m 6 3 n 7 2 n 8 0 n 8 -3 n 7 -5 n 6 -6 E # C 6 w 13 m 8 5 n 8 4 n 9 4 n 9 5 n 8 6 n 6 7 n 4 7 n 2 6 n 1 5 n 0 2 n 0 -3 n 1 -5 n 3 -6 n 6 -6 n 8 -5 n 9 -3 n 9 -1 n 8 1 n 6 2 n 3 2 n 0 0 m 4 7 n 2 5 n 1 2 n 1 -3 n 2 -5 n 3 -6 m 6 -6 n 7 -5 n 8 -3 n 8 -1 n 7 1 n 6 2 E # C 7 w 13 m 0 7 n 0 3 m 8 5 n 4 -2 n 2 -6 m 9 7 n 6 1 n 3 -6 m 0 5 n 2 7 n 4 7 n 7 5 m 0 5 n 2 6 n 4 6 n 7 5 n 8 5 E # C 8 w 13 m 3 7 n 1 6 n 0 4 n 1 2 n 3 1 n 6 1 n 8 2 n 9 4 n 8 6 n 6 7 n 3 7 m 3 7 n 2 6 n 1 4 n 2 2 n 3 1 m 6 1 n 7 2 n 8 4 n 7 6 n 6 7 m 3 1 n 1 0 n 0 -2 n 0 -3 n 1 -5 n 3 -6 n 6 -6 n 8 -5 n 9 -3 n 9 -2 n 8 0 n 6 1 m 3 1 n 2 0 n 1 -2 n 1 -3 n 2 -5 n 3 -6 m 6 -6 n 7 -5 n 8 -3 n 8 -2 n 7 0 n 6 1 E # C 9 w 13 m 1 -4 n 1 -3 n 0 -3 n 0 -4 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -4 n 9 -1 n 9 4 n 8 6 n 6 7 n 3 7 n 1 6 n 0 4 n 0 2 n 1 0 n 3 -1 n 6 -1 n 9 1 m 5 -6 n 7 -4 n 8 -1 n 8 4 n 7 6 n 6 7 m 3 7 n 2 6 n 1 4 n 1 2 n 2 0 n 3 -1 E # C . w 8 m 1 -4 n 0 -5 n 1 -6 n 2 -5 n 1 -4 E # C , w 8 m 2 -5 n 1 -6 n 0 -5 n 1 -4 n 2 -5 n 2 -7 n 0 -9 E # C : w 8 m 1 3 n 0 2 n 1 1 n 2 2 n 1 3 m 1 -4 n 0 -5 n 1 -6 n 2 -5 n 1 -4 E # C ; w 8 m 1 3 n 0 2 n 1 1 n 2 2 n 1 3 m 2 -5 n 1 -6 n 0 -5 n 1 -4 n 2 -5 n 2 -7 n 0 -9 E # C ! w 8 m 1 7 n 0 6 n 1 -1 n 2 6 n 1 7 m 1 6 n 1 3 m 1 -4 n 0 -5 n 1 -6 n 2 -5 n 1 -4 E # C ? w 13 m 0 4 n 1 4 n 1 3 n 0 3 n 0 4 n 1 6 n 3 7 n 6 7 n 8 6 n 9 4 n 9 3 n 8 1 n 5 0 n 4 -1 n 4 -2 n 5 -2 m 6 7 n 8 5 n 8 2 n 7 1 n 5 0 m 4 -5 n 4 -6 n 5 -6 n 5 -5 n 4 -5 E # C ' w 7 m 0 7 n 0 2 m 1 7 n 0 2 E # C " w 12 m 0 7 n 0 2 m 1 7 n 0 2 m 6 7 n 6 2 m 7 7 n 6 2 E # C * w 10 m 3 8 n 3 2 m 0 7 n 6 3 m 6 7 n 0 3 E # C / w 15 m 11 10 n 0 -10 E # C ( w 10 m 5 10 n 3 8 n 1 5 n 0 2 n 0 -2 n 1 -5 n 3 -8 n 5 -10 m 3 8 n 2 6 n 1 2 n 1 -2 n 2 -6 n 3 -8 E # C ) w 10 m 0 10 n 2 8 n 4 5 n 5 2 n 5 -2 n 4 -5 n 2 -8 n 0 -10 m 2 8 n 3 6 n 4 2 n 4 -2 n 3 -6 n 2 -8 E # C [ w 10 m 0 10 n 0 -10 m 1 10 n 1 -10 m 0 10 n 5 10 m 0 -10 n 5 -10 E # C ] w 10 m 4 10 n 4 -10 m 5 10 n 5 -10 m 0 10 n 5 10 m 0 -10 n 5 -10 E # C { w 11 m 3 10 n 1 9 n 0 8 n 0 6 n 2 4 n 3 2 m 1 9 n 0 6 m 3 4 n 2 1 m 0 8 n 1 6 n 3 4 n 3 2 n 2 1 n 0 0 n 2 -1 n 3 -2 n 3 -4 n 1 -6 n 0 -8 m 2 -1 n 3 -4 m 0 -6 n 1 -9 m 3 -2 n 2 -4 n 0 -6 n 0 -8 n 1 -9 n 3 -10 E # C } w 11 m 0 10 n 2 9 n 3 8 n 3 6 n 1 4 n 0 2 m 2 9 n 3 6 m 0 4 n 1 1 m 3 8 n 2 6 n 0 4 n 0 2 n 1 1 n 3 0 n 1 -1 n 0 -2 n 0 -4 n 2 -6 n 3 -8 m 1 -1 n 0 -4 m 3 -6 n 2 -9 m 0 -2 n 1 -4 n 3 -6 n 3 -8 n 2 -9 n 0 -10 E # C < w 10 m 4 10 n 0 0 n 4 -10 E # C > w 10 m 0 10 n 4 0 n 0 -10 E # C | w 6 m 0 10 n 0 -10 E # C - w 18 m 0 0 n 12 0 E # C + w 18 m 6 6 n 6 -6 m 0 0 n 12 0 E # C = w 18 m 0 2 n 12 2 m 0 -2 n 12 -2 E # C ` w 8 m 1 7 n 4 3 m 1 7 n 0 6 n 4 3 E # C & w 17 m 13 2 n 12 2 n 12 1 n 13 1 n 13 2 n 12 3 n 11 3 n 10 2 n 9 -2 n 8 -4 n 7 -5 n 5 -6 n 3 -6 n 1 -5 n 0 -4 n 0 -2 n 1 -1 n 3 0 n 6 2 n 7 4 n 7 6 n 6 7 n 4 7 n 3 6 n 3 4 n 4 1 n 9 -5 n 11 -6 n 12 -6 n 13 -5 m 3 -6 n 1 -4 n 1 -2 n 3 0 m 3 4 n 4 2 n 10 -5 n 11 -6 E # C @ w 17 m 9 2 n 7 3 n 5 3 n 4 1 n 4 0 n 5 -2 n 7 -2 n 9 -1 m 9 3 n 9 -1 n 10 -2 n 12 -2 n 13 0 n 13 1 n 12 4 n 10 6 n 7 7 n 6 7 n 3 6 n 1 4 n 0 1 n 0 0 n 1 -3 n 3 -5 n 6 -6 n 7 -6 n 10 -5 E # C $ w 15 m 3 10 n 3 -10 m 6 10 n 6 -10 m 9 6 n 8 6 n 8 5 n 9 5 n 9 6 n 7 7 n 2 7 n 0 6 n 0 4 n 1 2 n 8 -1 n 9 -2 m 0 4 n 1 3 n 8 0 n 9 -2 n 9 -4 n 8 -5 n 6 -6 n 3 -6 n 1 -5 n 0 -4 n 0 -3 n 1 -3 n 1 -4 n 0 -4 E # C # w 14 m 5 7 n 1 -10 m 9 7 n 5 -10 m 1 1 n 10 1 m 0 -4 n 9 -4 E xgks-2.6.1+dfsg.2/src/fontdb/fontdbvers.c0000644000175000017500000000164311413611016021266 0ustar amckinstryamckinstry/* * Copyright (C) 1988, 1989, 1990 UCAR/Unidata * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose without fee is hereby granted, provided * that the above copyright notice appear in all copies, that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of UCAR/Unidata not be used in * advertising or publicity pertaining to distribution of the software * without specific, written prior permission. UCAR makes no * representations about the suitability of this software for any purpose. * It is provided "as is" without express or implied warranty. It is * provided with no support and without obligation on the part of UCAR * Unidata, to assist in its use, correction, modification, or enhancement. */ char *fontdbvers () { return "$Id: fontdbvers.c,v 2.5.4.1 1993/03/10 19:43:43 steve Exp $"; } xgks-2.6.1+dfsg.2/src/fontdb/sg.fnt0000644000175000017500000001701311413611016020066 0ustar amckinstryamckinstry# simplex_greek # C A w 18 m 8 12 n 0 -9 m 8 12 n 16 -9 m 3 -2 n 13 -2 E # C B w 21 m 0 12 n 0 -9 m 0 12 n 9 12 n 12 11 n 13 10 n 14 8 n 14 6 n 13 4 n 12 3 n 9 2 m 0 2 n 9 2 n 12 1 n 13 0 n 14 -2 n 14 -5 n 13 -7 n 12 -8 n 9 -9 n 0 -9 E # C C w 17 m 0 12 n 0 -9 m 0 12 n 12 12 E # C D w 18 m 8 12 n 0 -9 m 8 12 n 16 -9 m 0 -9 n 16 -9 E # C E w 19 m 0 12 n 0 -9 m 0 12 n 13 12 m 0 2 n 8 2 m 0 -9 n 13 -9 E # C F w 20 m 14 12 n 0 -9 m 0 12 n 14 12 m 0 -9 n 14 -9 E # C G w 22 m 0 12 n 0 -9 m 14 12 n 14 -9 m 0 2 n 14 2 E # C H w 22 m 6 12 n 4 11 n 2 9 n 1 7 n 0 4 n 0 -1 n 1 -4 n 2 -6 n 4 -8 n 6 -9 n 10 -9 n 12 -8 n 14 -6 n 15 -4 n 16 -1 n 16 4 n 15 7 n 14 9 n 12 11 n 10 12 n 6 12 m 5 2 n 11 2 E # C I w 8 m 0 12 n 0 -9 E # C J w 21 m 0 12 n 0 -9 m 14 12 n 0 -2 m 5 3 n 14 -9 E # C K w 18 m 8 12 n 0 -9 m 8 12 n 16 -9 E # C L w 24 m 0 12 n 0 -9 m 0 12 n 8 -9 m 16 12 n 8 -9 m 16 12 n 16 -9 E # C M w 22 m 0 12 n 0 -9 m 0 12 n 14 -9 m 14 12 n 14 -9 E # C N w 18 m 0 12 n 14 12 m 4 2 n 10 2 m 0 -9 n 14 -9 E # C O w 22 m 6 12 n 4 11 n 2 9 n 1 7 n 0 4 n 0 -1 n 1 -4 n 2 -6 n 4 -8 n 6 -9 n 10 -9 n 12 -8 n 14 -6 n 15 -4 n 16 -1 n 16 4 n 15 7 n 14 9 n 12 11 n 10 12 n 6 12 E # C P w 22 m 0 12 n 0 -9 m 14 12 n 14 -9 m 0 12 n 14 12 E # C Q w 21 m 0 12 n 0 -9 m 0 12 n 9 12 n 12 11 n 13 10 n 14 8 n 14 5 n 13 3 n 12 2 n 9 1 n 0 1 E # C R w 18 m 0 12 n 7 2 n 0 -9 m 0 12 n 14 12 m 0 -9 n 14 -9 E # C S w 16 m 7 12 n 7 -9 m 0 12 n 14 12 E # C T w 18 m 0 7 n 0 9 n 1 11 n 2 12 n 4 12 n 5 11 n 6 9 n 7 5 n 7 -9 m 14 7 n 14 9 n 13 11 n 12 12 n 10 12 n 9 11 n 8 9 n 7 5 E # C U w 20 m 7 12 n 7 -9 m 5 7 n 2 6 n 1 5 n 0 3 n 0 0 n 1 -2 n 2 -3 n 5 -4 n 9 -4 n 12 -3 n 13 -2 n 14 0 n 14 3 n 13 5 n 12 6 n 9 7 n 5 7 E # C V w 20 m 0 12 n 14 -9 m 0 -9 n 14 12 E # C W w 22 m 9 12 n 9 -9 m 0 6 n 1 6 n 2 5 n 3 1 n 4 -1 n 5 -2 n 8 -3 n 10 -3 n 13 -2 n 14 -1 n 15 1 n 16 5 n 17 6 n 18 6 E # C X w 20 m 0 -9 n 4 -9 n 1 -2 n 0 2 n 0 6 n 1 9 n 3 11 n 6 12 n 8 12 n 11 11 n 13 9 n 14 6 n 14 2 n 13 -2 n 10 -9 n 14 -9 E # C a w 21 m 6 5 n 4 4 n 2 2 n 1 0 n 0 -3 n 0 -6 n 1 -8 n 3 -9 n 5 -9 n 7 -8 n 10 -5 n 12 -2 n 14 2 n 15 5 m 6 5 n 8 5 n 9 4 n 10 2 n 12 -6 n 13 -8 n 14 -9 n 15 -9 E # C b w 19 m 10 12 n 8 11 n 6 9 n 4 5 n 3 2 n 2 -2 n 1 -8 n 0 -16 m 10 12 n 12 12 n 14 10 n 14 7 n 13 5 n 12 4 n 10 3 n 7 3 m 7 3 n 9 2 n 11 0 n 12 -2 n 12 -5 n 11 -7 n 10 -8 n 8 -9 n 6 -9 n 4 -8 n 3 -7 n 2 -4 E # C c w 19 m 0 2 n 2 4 n 4 5 n 5 5 n 7 4 n 8 3 n 9 0 n 9 -4 n 8 -9 m 16 5 n 15 2 n 14 0 n 8 -9 n 6 -13 n 5 -16 E # C d w 18 m 8 5 n 5 5 n 3 4 n 1 2 n 0 -1 n 0 -4 n 1 -7 n 2 -8 n 4 -9 n 6 -9 n 8 -8 n 10 -6 n 11 -3 n 11 0 n 10 3 n 8 5 n 6 7 n 5 9 n 5 11 n 6 12 n 8 12 n 10 11 n 12 9 E # C e w 16 m 10 3 n 9 4 n 7 5 n 4 5 n 2 4 n 2 2 n 3 0 n 6 -1 m 6 -1 n 2 -2 n 0 -4 n 0 -6 n 1 -8 n 3 -9 n 6 -9 n 8 -8 n 10 -6 E # C f w 15 m 7 12 n 5 11 n 4 10 n 4 9 n 5 8 n 8 7 n 11 7 m 11 7 n 7 5 n 4 3 n 1 0 n 0 -3 n 0 -5 n 1 -7 n 3 -9 n 6 -11 n 7 -13 n 7 -15 n 6 -16 n 4 -16 n 3 -14 E # C g w 20 m 0 1 n 1 3 n 3 5 n 5 5 n 6 4 n 6 2 n 5 -2 n 3 -9 m 5 -2 n 7 2 n 9 4 n 11 5 n 13 5 n 15 3 n 15 0 n 14 -5 n 11 -16 E # C h w 21 m 0 1 n 1 3 n 3 5 n 5 5 n 6 4 n 6 2 n 5 -3 n 5 -6 n 6 -8 n 7 -9 n 9 -9 n 11 -8 n 13 -5 n 14 -3 n 15 0 n 16 5 n 16 8 n 15 11 n 13 12 n 11 12 n 10 10 n 10 8 n 11 5 n 13 2 n 15 0 n 18 -2 E # C i w 11 m 3 5 n 1 -2 n 0 -6 n 0 -8 n 1 -9 n 3 -9 n 5 -7 n 6 -5 E # C j w 18 m 4 5 n 0 -9 m 14 4 n 13 5 n 12 5 n 10 4 n 6 0 n 4 -1 n 3 -1 m 3 -1 n 5 -2 n 6 -3 n 8 -8 n 9 -9 n 10 -9 n 11 -8 E # C k w 16 m 0 12 n 2 12 n 4 11 n 5 10 n 13 -9 m 7 5 n 1 -9 E # C l w 21 m 6 5 n 0 -16 m 5 1 n 4 -4 n 4 -7 n 6 -9 n 8 -9 n 10 -8 n 12 -6 n 14 -2 m 16 5 n 14 -2 n 13 -6 n 13 -8 n 14 -9 n 16 -9 n 18 -7 n 19 -5 E # C m w 18 m 0 5 n 3 5 n 2 -1 n 1 -6 n 0 -9 m 13 5 n 12 2 n 11 0 n 9 -3 n 6 -6 n 3 -8 n 0 -9 E # C n w 16 m 7 12 n 5 11 n 4 10 n 4 9 n 5 8 n 8 7 n 11 7 m 8 7 n 5 6 n 3 5 n 2 3 n 2 1 n 4 -1 n 7 -2 n 9 -2 m 7 -2 n 3 -3 n 1 -4 n 0 -6 n 0 -8 n 2 -10 n 6 -12 n 7 -13 n 7 -15 n 5 -16 n 3 -16 E # C o w 17 m 5 5 n 3 4 n 1 2 n 0 -1 n 0 -4 n 1 -7 n 2 -8 n 4 -9 n 6 -9 n 8 -8 n 10 -6 n 11 -3 n 11 0 n 10 3 n 9 4 n 7 5 n 5 5 E # C p w 22 m 7 5 n 3 -9 m 12 5 n 13 -1 n 14 -6 n 15 -9 m 0 2 n 2 4 n 5 5 n 18 5 E # C q w 18 m 4 -1 n 4 -4 n 5 -7 n 6 -8 n 8 -9 n 10 -9 n 12 -8 n 14 -6 n 15 -3 n 15 0 n 14 3 n 13 4 n 11 5 n 9 5 n 7 4 n 5 2 n 4 -1 n 0 -16 E # C r w 20 m 15 5 n 5 5 n 3 4 n 1 2 n 0 -1 n 0 -4 n 1 -7 n 2 -8 n 4 -9 n 6 -9 n 8 -8 n 10 -6 n 11 -3 n 11 0 n 10 3 n 9 4 n 7 5 E # C s w 20 m 9 5 n 6 -9 m 0 2 n 2 4 n 5 5 n 16 5 E # C t w 20 m 0 1 n 1 3 n 3 5 n 5 5 n 6 4 n 6 2 n 4 -4 n 4 -7 n 6 -9 n 8 -9 n 11 -8 n 13 -6 n 15 -2 n 16 2 n 16 5 E # C u w 22 m 5 4 n 3 3 n 1 1 n 0 -2 n 0 -5 n 1 -7 n 2 -8 n 4 -9 n 7 -9 n 10 -8 n 13 -6 n 15 -3 n 16 0 n 16 3 n 14 5 n 12 5 n 10 3 n 8 -1 n 6 -6 n 3 -16 E # C v w 18 m 1 5 n 3 5 n 5 3 n 11 -14 n 13 -16 n 15 -16 m 16 5 n 15 3 n 13 0 n 3 -11 n 1 -14 n 0 -16 E # C w w 23 m 15 12 n 7 -16 m 0 1 n 1 3 n 3 5 n 5 5 n 6 4 n 6 2 n 5 -3 n 5 -6 n 6 -8 n 8 -9 n 10 -9 n 13 -8 n 15 -6 n 17 -3 n 19 2 n 20 5 E # C x w 23 m 5 5 n 3 4 n 1 1 n 0 -2 n 0 -5 n 1 -8 n 2 -9 n 4 -9 n 6 -8 n 8 -5 m 9 -1 n 8 -5 n 9 -8 n 10 -9 n 12 -9 n 14 -8 n 16 -5 n 17 -2 n 17 1 n 16 4 n 15 5 E # C 0 w 20 m 6 12 n 3 11 n 1 8 n 0 3 n 0 0 n 1 -5 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -5 n 14 0 n 14 3 n 13 8 n 11 11 n 8 12 n 6 12 E # C 1 w 20 m 0 8 n 2 9 n 5 12 n 5 -9 E # C 2 w 20 m 1 7 n 1 8 n 2 10 n 3 11 n 5 12 n 9 12 n 11 11 n 12 10 n 13 8 n 13 6 n 12 4 n 10 1 n 0 -9 n 14 -9 E # C 3 w 20 m 2 12 n 13 12 n 7 4 n 10 4 n 12 3 n 13 2 n 14 -1 n 14 -3 n 13 -6 n 11 -8 n 8 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 E # C 4 w 20 m 10 12 n 0 -2 n 15 -2 m 10 12 n 10 -9 E # C 5 w 20 m 12 12 n 2 12 n 1 3 n 2 4 n 5 5 n 8 5 n 11 4 n 13 2 n 14 -1 n 14 -3 n 13 -6 n 11 -8 n 8 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 E # C 6 w 20 m 12 9 n 11 11 n 8 12 n 6 12 n 3 11 n 1 8 n 0 3 n 0 -2 n 1 -6 n 3 -8 n 6 -9 n 7 -9 n 10 -8 n 12 -6 n 13 -3 n 13 -2 n 12 1 n 10 3 n 7 4 n 6 4 n 3 3 n 1 1 n 0 -2 E # C 7 w 20 m 14 12 n 4 -9 m 0 12 n 14 12 E # C 8 w 20 m 5 12 n 2 11 n 1 9 n 1 7 n 2 5 n 4 4 n 8 3 n 11 2 n 13 0 n 14 -2 n 14 -5 n 13 -7 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -2 n 1 0 n 3 2 n 6 3 n 10 4 n 12 5 n 13 7 n 13 9 n 12 11 n 9 12 n 5 12 E # C 9 w 20 m 13 5 n 12 2 n 10 0 n 7 -1 n 6 -1 n 3 0 n 1 2 n 0 5 n 0 6 n 1 9 n 3 11 n 6 12 n 7 12 n 10 11 n 12 9 n 13 5 n 13 0 n 12 -5 n 10 -8 n 7 -9 n 5 -9 n 2 -8 n 1 -6 E # C . w 10 m 1 -7 n 0 -8 n 1 -9 n 2 -8 n 1 -7 E # C , w 10 m 2 -8 n 1 -9 n 0 -8 n 1 -7 n 2 -8 n 2 -10 n 1 -12 n 0 -13 E # C : w 10 m 1 5 n 0 4 n 1 3 n 2 4 n 1 5 m 1 -7 n 0 -8 n 1 -9 n 2 -8 n 1 -7 E # C ; w 10 m 1 5 n 0 4 n 1 3 n 2 4 n 1 5 m 2 -8 n 1 -9 n 0 -8 n 1 -7 n 2 -8 n 2 -10 n 1 -12 n 0 -13 E # C ! w 10 m 1 12 n 1 -2 m 1 -7 n 0 -8 n 1 -9 n 2 -8 n 1 -7 E # C " w 16 m 0 12 n 0 5 m 8 12 n 8 5 E # C $ w 20 m 5 16 n 5 -13 m 9 16 n 9 -13 m 14 9 n 12 11 n 9 12 n 5 12 n 2 11 n 0 9 n 0 7 n 1 5 n 2 4 n 4 3 n 10 1 n 12 0 n 13 -1 n 14 -3 n 14 -6 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 0 -6 E # C / w 22 m 18 16 n 0 -16 E # C ( w 14 m 7 16 n 5 14 n 3 11 n 1 7 n 0 2 n 0 -2 n 1 -7 n 3 -11 n 5 -14 n 7 -16 E # C ) w 14 m 0 16 n 2 14 n 4 11 n 6 7 n 7 2 n 7 -2 n 6 -7 n 4 -11 n 2 -14 n 0 -16 E # C | w 8 m 0 16 n 0 -16 E # C - w 26 m 0 0 n 18 0 E # C + w 26 m 9 9 n 9 -9 m 0 0 n 18 0 E # C = w 26 m 0 3 n 18 3 m 0 -3 n 18 -3 E # C * w 22 m 0 7 n 14 -7 m 14 7 n 0 -7 E # C ' w 10 m 1 10 n 0 11 n 1 12 n 2 11 n 2 9 n 1 7 n 0 6 E # C # w 21 m 8 16 n 1 -16 m 14 16 n 7 -16 m 1 3 n 15 3 m 0 -3 n 14 -3 E # C & w 26 m 20 3 n 20 4 n 19 5 n 18 5 n 17 4 n 16 2 n 14 -3 n 12 -6 n 10 -8 n 8 -9 n 4 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -3 n 1 -1 n 2 0 n 9 4 n 10 5 n 11 7 n 11 9 n 10 11 n 8 12 n 6 11 n 5 9 n 5 7 n 6 4 n 8 1 n 13 -6 n 15 -8 n 17 -9 n 19 -9 n 20 -8 n 20 -7 E xgks-2.6.1+dfsg.2/src/fontdb/tr.fnt0000644000175000017500000005356611413611016020117 0ustar amckinstryamckinstry# triplex_roman # C A w 20 m 9 12 n 2 -8 m 8 9 n 14 -9 m 9 9 n 15 -9 m 9 12 n 16 -9 m 4 -3 n 13 -3 m 0 -9 n 6 -9 m 11 -9 n 18 -9 m 2 -8 n 1 -9 m 2 -8 n 4 -9 m 14 -8 n 12 -9 m 14 -7 n 13 -9 m 15 -7 n 17 -9 E # C B w 22 m 3 12 n 3 -9 m 4 11 n 4 -8 m 5 12 n 5 -9 m 0 12 n 12 12 n 15 11 n 16 10 n 17 8 n 17 6 n 16 4 n 15 3 n 12 2 m 15 10 n 16 8 n 16 6 n 15 4 m 12 12 n 14 11 n 15 9 n 15 5 n 14 3 n 12 2 m 5 2 n 12 2 n 15 1 n 16 0 n 17 -2 n 17 -5 n 16 -7 n 15 -8 n 12 -9 n 0 -9 m 15 0 n 16 -2 n 16 -5 n 15 -7 m 12 2 n 14 1 n 15 -1 n 15 -6 n 14 -8 n 12 -9 m 1 12 n 3 11 m 2 12 n 3 10 m 6 12 n 5 10 m 7 12 n 5 11 m 3 -8 n 1 -9 m 3 -7 n 2 -9 m 5 -7 n 6 -9 m 5 -8 n 7 -9 E # C C w 21 m 14 9 n 15 12 n 15 6 n 14 9 n 12 11 n 10 12 n 7 12 n 4 11 n 2 9 n 1 7 n 0 4 n 0 -1 n 1 -4 n 2 -6 n 4 -8 n 7 -9 n 10 -9 n 12 -8 n 14 -6 n 15 -4 m 3 9 n 2 7 n 1 4 n 1 -1 n 2 -4 n 3 -6 m 7 12 n 5 11 n 3 8 n 2 4 n 2 -1 n 3 -5 n 5 -8 n 7 -9 E # C D w 22 m 3 12 n 3 -9 m 4 11 n 4 -8 m 5 12 n 5 -9 m 0 12 n 10 12 n 13 11 n 15 9 n 16 7 n 17 4 n 17 -1 n 16 -4 n 15 -6 n 13 -8 n 10 -9 n 0 -9 m 14 9 n 15 7 n 16 4 n 16 -1 n 15 -4 n 14 -6 m 10 12 n 12 11 n 14 8 n 15 4 n 15 -1 n 14 -5 n 12 -8 n 10 -9 m 1 12 n 3 11 m 2 12 n 3 10 m 6 12 n 5 10 m 7 12 n 5 11 m 3 -8 n 1 -9 m 3 -7 n 2 -9 m 5 -7 n 6 -9 m 5 -8 n 7 -9 E # C E w 21 m 3 12 n 3 -9 m 4 11 n 4 -8 m 5 12 n 5 -9 m 0 12 n 16 12 n 16 6 m 5 2 n 11 2 m 11 6 n 11 -2 m 0 -9 n 16 -9 n 16 -3 m 1 12 n 3 11 m 2 12 n 3 10 m 6 12 n 5 10 m 7 12 n 5 11 m 11 12 n 16 11 m 13 12 n 16 10 m 14 12 n 16 9 m 15 12 n 16 6 m 11 6 n 10 2 n 11 -2 m 11 4 n 9 2 n 11 0 m 11 3 n 7 2 n 11 1 m 3 -8 n 1 -9 m 3 -7 n 2 -9 m 5 -7 n 6 -9 m 5 -8 n 7 -9 m 11 -9 n 16 -8 m 13 -9 n 16 -7 m 14 -9 n 16 -6 m 15 -9 n 16 -3 E # C F w 20 m 3 12 n 3 -9 m 4 11 n 4 -8 m 5 12 n 5 -9 m 0 12 n 16 12 n 16 6 m 5 2 n 11 2 m 11 6 n 11 -2 m 0 -9 n 8 -9 m 1 12 n 3 11 m 2 12 n 3 10 m 6 12 n 5 10 m 7 12 n 5 11 m 11 12 n 16 11 m 13 12 n 16 10 m 14 12 n 16 9 m 15 12 n 16 6 m 11 6 n 10 2 n 11 -2 m 11 4 n 9 2 n 11 0 m 11 3 n 7 2 n 11 1 m 3 -8 n 1 -9 m 3 -7 n 2 -9 m 5 -7 n 6 -9 m 5 -8 n 7 -9 E # C G w 23 m 14 9 n 15 12 n 15 6 n 14 9 n 12 11 n 10 12 n 7 12 n 4 11 n 2 9 n 1 7 n 0 4 n 0 -1 n 1 -4 n 2 -6 n 4 -8 n 7 -9 n 10 -9 n 12 -8 n 14 -8 n 15 -9 n 15 -1 m 3 9 n 2 7 n 1 4 n 1 -1 n 2 -4 n 3 -6 m 7 12 n 5 11 n 3 8 n 2 4 n 2 -1 n 3 -5 n 5 -8 n 7 -9 m 14 -2 n 14 -7 m 13 -1 n 13 -7 n 12 -8 m 10 -1 n 18 -1 m 11 -1 n 13 -2 m 12 -1 n 13 -3 m 16 -1 n 15 -3 m 17 -1 n 15 -2 E # C H w 24 m 3 12 n 3 -9 m 4 11 n 4 -8 m 5 12 n 5 -9 m 15 12 n 15 -9 m 16 11 n 16 -8 m 17 12 n 17 -9 m 0 12 n 8 12 m 12 12 n 20 12 m 5 2 n 15 2 m 0 -9 n 8 -9 m 12 -9 n 20 -9 m 1 12 n 3 11 m 2 12 n 3 10 m 6 12 n 5 10 m 7 12 n 5 11 m 13 12 n 15 11 m 14 12 n 15 10 m 18 12 n 17 10 m 19 12 n 17 11 m 3 -8 n 1 -9 m 3 -7 n 2 -9 m 5 -7 n 6 -9 m 5 -8 n 7 -9 m 15 -8 n 13 -9 m 15 -7 n 14 -9 m 17 -7 n 18 -9 m 17 -8 n 19 -9 E # C I w 12 m 3 12 n 3 -9 m 4 11 n 4 -8 m 5 12 n 5 -9 m 0 12 n 8 12 m 0 -9 n 8 -9 m 1 12 n 3 11 m 2 12 n 3 10 m 6 12 n 5 10 m 7 12 n 5 11 m 3 -8 n 1 -9 m 3 -7 n 2 -9 m 5 -7 n 6 -9 m 5 -8 n 7 -9 E # C J w 0 m 7 12 n 7 -5 n 6 -8 n 5 -9 m 8 11 n 8 -5 n 7 -8 m 9 12 n 9 -5 n 8 -8 n 5 -9 n 3 -9 n 1 -8 n 0 -6 n 0 -4 n 1 -3 n 2 -3 n 3 -4 n 3 -5 n 2 -6 n 1 -6 m 1 -4 n 1 -5 n 2 -5 n 2 -4 n 1 -4 m 4 12 n 12 12 m 5 12 n 7 11 m 6 12 n 7 10 m 10 12 n 9 10 m 11 12 n 9 11 E # C K w 22 m 3 12 n 3 -9 m 4 11 n 4 -8 m 5 12 n 5 -9 m 16 11 n 5 0 m 8 2 n 15 -9 m 9 2 n 16 -9 m 9 4 n 17 -9 m 0 12 n 8 12 m 13 12 n 19 12 m 0 -9 n 8 -9 m 12 -9 n 19 -9 m 1 12 n 3 11 m 2 12 n 3 10 m 6 12 n 5 10 m 7 12 n 5 11 m 15 12 n 16 11 m 18 12 n 16 11 m 3 -8 n 1 -9 m 3 -7 n 2 -9 m 5 -7 n 6 -9 m 5 -8 n 7 -9 m 15 -7 n 13 -9 m 15 -7 n 18 -9 E # C L w 18 m 3 12 n 3 -9 m 4 11 n 4 -8 m 5 12 n 5 -9 m 0 12 n 8 12 m 0 -9 n 15 -9 n 15 -3 m 1 12 n 3 11 m 2 12 n 3 10 m 6 12 n 5 10 m 7 12 n 5 11 m 3 -8 n 1 -9 m 3 -7 n 2 -9 m 5 -7 n 6 -9 m 5 -8 n 7 -9 m 10 -9 n 15 -8 m 12 -9 n 15 -7 m 13 -9 n 15 -6 m 14 -9 n 15 -3 E # C M w 26 m 3 12 n 3 -8 m 3 12 n 10 -9 m 4 12 n 10 -6 m 5 12 n 11 -6 m 17 12 n 10 -9 m 17 12 n 17 -9 m 18 11 n 18 -8 m 19 12 n 19 -9 m 0 12 n 5 12 m 17 12 n 22 12 m 0 -9 n 6 -9 m 14 -9 n 22 -9 m 1 12 n 3 11 m 20 12 n 19 10 m 21 12 n 19 11 m 3 -8 n 1 -9 m 3 -8 n 5 -9 m 17 -8 n 15 -9 m 17 -7 n 16 -9 m 19 -7 n 20 -9 m 19 -8 n 21 -9 E # C N w 24 m 3 12 n 3 -8 m 3 12 n 17 -9 m 4 12 n 16 -6 m 5 12 n 17 -6 m 17 11 n 17 -9 m 0 12 n 5 12 m 14 12 n 20 12 m 0 -9 n 6 -9 m 1 12 n 3 11 m 15 12 n 17 11 m 19 12 n 17 11 m 3 -8 n 1 -9 m 3 -8 n 5 -9 E # C O w 22 m 7 12 n 4 11 n 2 9 n 1 7 n 0 3 n 0 0 n 1 -4 n 2 -6 n 4 -8 n 7 -9 n 9 -9 n 12 -8 n 14 -6 n 15 -4 n 16 0 n 16 3 n 15 7 n 14 9 n 12 11 n 9 12 n 7 12 m 3 9 n 2 7 n 1 4 n 1 -1 n 2 -4 n 3 -6 m 13 -6 n 14 -4 n 15 -1 n 15 4 n 14 7 n 13 9 m 7 12 n 5 11 n 3 8 n 2 4 n 2 -1 n 3 -5 n 5 -8 n 7 -9 m 9 -9 n 11 -8 n 13 -5 n 14 -1 n 14 4 n 13 8 n 11 11 n 9 12 E # C P w 22 m 3 12 n 3 -9 m 4 11 n 4 -8 m 5 12 n 5 -9 m 0 12 n 12 12 n 15 11 n 16 10 n 17 8 n 17 5 n 16 3 n 15 2 n 12 1 n 5 1 m 15 10 n 16 8 n 16 5 n 15 3 m 12 12 n 14 11 n 15 9 n 15 4 n 14 2 n 12 1 m 0 -9 n 8 -9 m 1 12 n 3 11 m 2 12 n 3 10 m 6 12 n 5 10 m 7 12 n 5 11 m 3 -8 n 1 -9 m 3 -7 n 2 -9 m 5 -7 n 6 -9 m 5 -8 n 7 -9 E # C Q w 22 m 7 12 n 4 11 n 2 9 n 1 7 n 0 3 n 0 0 n 1 -4 n 2 -6 n 4 -8 n 7 -9 n 9 -9 n 12 -8 n 14 -6 n 15 -4 n 16 0 n 16 3 n 15 7 n 14 9 n 12 11 n 9 12 n 7 12 m 3 9 n 2 7 n 1 4 n 1 -1 n 2 -4 n 3 -6 m 13 -6 n 14 -4 n 15 -1 n 15 4 n 14 7 n 13 9 m 7 12 n 5 11 n 3 8 n 2 4 n 2 -1 n 3 -5 n 5 -8 n 7 -9 m 9 -9 n 11 -8 n 13 -5 n 14 -1 n 14 4 n 13 8 n 11 11 n 9 12 m 4 -6 n 5 -4 n 7 -3 n 8 -3 n 10 -4 n 11 -6 n 12 -12 n 13 -14 n 15 -14 n 16 -12 n 16 -10 m 12 -10 n 13 -12 n 14 -13 n 15 -13 m 11 -6 n 13 -11 n 14 -12 n 15 -12 n 16 -11 E # C R w 22 m 3 12 n 3 -9 m 4 11 n 4 -8 m 5 12 n 5 -9 m 0 12 n 12 12 n 15 11 n 16 10 n 17 8 n 17 6 n 16 4 n 15 3 n 12 2 n 5 2 m 15 10 n 16 8 n 16 6 n 15 4 m 12 12 n 14 11 n 15 9 n 15 5 n 14 3 n 12 2 m 9 2 n 11 1 n 12 -1 n 14 -7 n 15 -9 n 17 -9 n 18 -7 n 18 -5 m 14 -5 n 15 -7 n 16 -8 n 17 -8 m 11 1 n 12 0 n 15 -6 n 16 -7 n 17 -7 n 18 -6 m 0 -9 n 8 -9 m 1 12 n 3 11 m 2 12 n 3 10 m 6 12 n 5 10 m 7 12 n 5 11 m 3 -8 n 1 -9 m 3 -7 n 2 -9 m 5 -7 n 6 -9 m 5 -8 n 7 -9 E # C S w 20 m 13 9 n 14 12 n 14 6 n 13 9 n 11 11 n 8 12 n 5 12 n 2 11 n 0 9 n 0 6 n 1 4 n 4 2 n 10 0 n 12 -1 n 13 -3 n 13 -6 n 12 -8 m 1 6 n 2 4 n 4 3 n 10 1 n 12 0 n 13 -2 m 2 11 n 1 9 n 1 7 n 2 5 n 4 4 n 10 2 n 13 0 n 14 -2 n 14 -5 n 13 -7 n 12 -8 n 9 -9 n 6 -9 n 3 -8 n 1 -6 n 0 -3 n 0 -9 n 1 -6 E # C T w 20 m 0 12 n 0 6 m 7 12 n 7 -9 m 8 11 n 8 -8 m 9 12 n 9 -9 m 16 12 n 16 6 m 0 12 n 16 12 m 4 -9 n 12 -9 m 1 12 n 0 6 m 2 12 n 0 9 m 3 12 n 0 10 m 5 12 n 0 11 m 11 12 n 16 11 m 13 12 n 16 10 m 14 12 n 16 9 m 15 12 n 16 6 m 7 -8 n 5 -9 m 7 -7 n 6 -9 m 9 -7 n 10 -9 m 9 -8 n 11 -9 E # C U w 24 m 3 12 n 3 -3 n 4 -6 n 6 -8 n 9 -9 n 11 -9 n 14 -8 n 16 -6 n 17 -3 n 17 11 m 4 11 n 4 -4 n 5 -6 m 5 12 n 5 -4 n 6 -7 n 7 -8 n 9 -9 m 0 12 n 8 12 m 14 12 n 20 12 m 1 12 n 3 11 m 2 12 n 3 10 m 6 12 n 5 10 m 7 12 n 5 11 m 15 12 n 17 11 m 19 12 n 17 11 E # C V w 20 m 2 12 n 9 -9 m 3 12 n 9 -6 n 9 -9 m 4 12 n 10 -6 m 16 11 n 9 -9 m 0 12 n 7 12 m 12 12 n 18 12 m 1 12 n 3 10 m 5 12 n 4 10 m 6 12 n 4 11 m 14 12 n 16 11 m 17 12 n 16 11 E # C W w 24 m 3 12 n 7 -9 m 4 12 n 7 -4 n 7 -9 m 5 12 n 8 -4 m 11 12 n 8 -4 n 7 -9 m 11 12 n 15 -9 m 12 12 n 15 -4 n 15 -9 m 13 12 n 16 -4 m 19 11 n 16 -4 n 15 -9 m 0 12 n 8 12 m 11 12 n 13 12 m 16 12 n 22 12 m 1 12 n 4 11 m 2 12 n 4 10 m 6 12 n 5 10 m 7 12 n 5 11 m 17 12 n 19 11 m 21 12 n 19 11 E # C X w 20 m 2 12 n 14 -9 m 3 12 n 15 -9 m 4 12 n 16 -9 m 15 11 n 3 -8 m 0 12 n 7 12 m 12 12 n 18 12 m 0 -9 n 6 -9 m 11 -9 n 18 -9 m 1 12 n 4 10 m 5 12 n 4 10 m 6 12 n 4 11 m 13 12 n 15 11 m 17 12 n 15 11 m 3 -8 n 1 -9 m 3 -8 n 5 -9 m 14 -8 n 12 -9 m 14 -7 n 13 -9 m 14 -7 n 17 -9 E # C Y w 22 m 2 12 n 9 1 n 9 -9 m 3 12 n 10 1 n 10 -8 m 4 12 n 11 1 n 11 -9 m 17 11 n 11 1 m 0 12 n 7 12 m 14 12 n 20 12 m 6 -9 n 14 -9 m 1 12 n 3 11 m 6 12 n 4 11 m 15 12 n 17 11 m 19 12 n 17 11 m 9 -8 n 7 -9 m 9 -7 n 8 -9 m 11 -7 n 12 -9 m 11 -8 n 13 -9 E # C Z w 20 m 14 12 n 0 12 n 0 6 m 12 12 n 0 -9 m 13 12 n 1 -9 m 14 12 n 2 -9 m 0 -9 n 14 -9 n 14 -3 m 1 12 n 0 6 m 2 12 n 0 9 m 3 12 n 0 10 m 5 12 n 0 11 m 9 -9 n 14 -8 m 11 -9 n 14 -7 m 12 -9 n 14 -6 m 13 -9 n 14 -3 E # C a w 20 m 2 2 n 2 3 n 3 3 n 3 1 n 1 1 n 1 3 n 2 4 n 4 5 n 8 5 n 10 4 n 11 3 n 12 1 n 12 -6 n 13 -8 n 14 -9 m 10 3 n 11 1 n 11 -6 n 12 -8 m 8 5 n 9 4 n 10 2 n 10 -6 n 11 -8 n 14 -9 n 15 -9 m 10 0 n 9 -1 n 4 -2 n 1 -3 n 0 -5 n 0 -6 n 1 -8 n 4 -9 n 7 -9 n 9 -8 n 10 -6 m 2 -3 n 1 -5 n 1 -6 n 2 -8 m 9 -1 n 5 -2 n 3 -3 n 2 -5 n 2 -6 n 3 -8 n 4 -9 E # C b w 21 m 3 12 n 3 -9 n 4 -8 n 6 -8 m 4 11 n 4 -7 m 0 12 n 5 12 n 5 -8 m 5 2 n 6 4 n 8 5 n 10 5 n 13 4 n 15 2 n 16 -1 n 16 -3 n 15 -6 n 13 -8 n 10 -9 n 8 -9 n 6 -8 n 5 -6 m 14 2 n 15 0 n 15 -4 n 14 -6 m 10 5 n 12 4 n 13 3 n 14 0 n 14 -4 n 13 -7 n 12 -8 n 10 -9 m 1 12 n 3 11 m 2 12 n 3 10 E # C c w 19 m 12 1 n 12 2 n 11 2 n 11 0 n 13 0 n 13 2 n 11 4 n 9 5 n 6 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -6 m 2 2 n 1 0 n 1 -4 n 2 -6 m 6 5 n 4 4 n 3 3 n 2 0 n 2 -4 n 3 -7 n 4 -8 n 6 -9 E # C d w 21 m 11 12 n 11 -9 n 16 -9 m 12 11 n 12 -8 m 8 12 n 13 12 n 13 -9 m 11 2 n 10 4 n 8 5 n 6 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 6 -9 n 8 -9 n 10 -8 n 11 -6 m 2 2 n 1 0 n 1 -4 n 2 -6 m 6 5 n 4 4 n 3 3 n 2 0 n 2 -4 n 3 -7 n 4 -8 n 6 -9 m 9 12 n 11 11 m 10 12 n 11 10 m 13 -7 n 14 -9 m 13 -8 n 15 -9 E # C e w 19 m 2 -1 n 13 -1 n 13 1 n 12 3 n 11 4 n 8 5 n 6 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -6 m 12 0 n 12 1 n 11 3 m 2 2 n 1 0 n 1 -4 n 2 -6 m 11 -1 n 11 2 n 10 4 n 8 5 m 6 5 n 4 4 n 3 3 n 2 0 n 2 -4 n 3 -7 n 4 -8 n 6 -9 E # C f w 14 m 10 10 n 10 11 n 9 11 n 9 9 n 11 9 n 11 11 n 10 12 n 7 12 n 5 11 n 4 10 n 3 7 n 3 -9 m 5 10 n 4 7 n 4 -8 m 7 12 n 6 11 n 5 9 n 5 -9 m 0 5 n 9 5 m 0 -9 n 8 -9 m 3 -8 n 1 -9 m 3 -7 n 2 -9 m 5 -7 n 6 -9 m 5 -8 n 7 -9 E # C g w 19 m 13 4 n 14 3 n 15 4 n 14 5 n 13 5 n 11 4 n 10 3 m 6 5 n 4 4 n 3 3 n 2 1 n 2 -1 n 3 -3 n 4 -4 n 6 -5 n 8 -5 n 10 -4 n 11 -3 n 12 -1 n 12 1 n 11 3 n 10 4 n 8 5 n 6 5 m 4 3 n 3 1 n 3 -1 n 4 -3 m 10 -3 n 11 -1 n 11 1 n 10 3 m 6 5 n 5 4 n 4 2 n 4 -2 n 5 -4 n 6 -5 m 8 -5 n 9 -4 n 10 -2 n 10 2 n 9 4 n 8 5 m 3 -3 n 2 -4 n 1 -6 n 1 -7 n 2 -9 n 3 -10 n 6 -11 n 10 -11 n 13 -12 n 14 -13 m 3 -9 n 6 -10 n 10 -10 n 13 -11 m 1 -7 n 2 -8 n 5 -9 n 10 -9 n 13 -10 n 14 -12 n 14 -13 n 13 -15 n 10 -16 n 4 -16 n 1 -15 n 0 -13 n 0 -12 n 1 -10 n 4 -9 m 4 -16 n 2 -15 n 1 -13 n 1 -12 n 2 -10 n 4 -9 E # C h w 23 m 3 12 n 3 -9 m 4 11 n 4 -8 m 0 12 n 5 12 n 5 -9 m 5 1 n 6 3 n 7 4 n 9 5 n 12 5 n 14 4 n 15 3 n 16 0 n 16 -9 m 14 3 n 15 0 n 15 -8 m 12 5 n 13 4 n 14 1 n 14 -9 m 0 -9 n 8 -9 m 11 -9 n 19 -9 m 1 12 n 3 11 m 2 12 n 3 10 m 3 -8 n 1 -9 m 3 -7 n 2 -9 m 5 -7 n 6 -9 m 5 -8 n 7 -9 m 14 -8 n 12 -9 m 14 -7 n 13 -9 m 16 -7 n 17 -9 m 16 -8 n 18 -9 E # C i w 12 m 3 12 n 3 10 n 5 10 n 5 12 n 3 12 m 4 12 n 4 10 m 3 11 n 5 11 m 3 5 n 3 -9 m 4 4 n 4 -8 m 0 5 n 5 5 n 5 -9 m 0 -9 n 8 -9 m 1 5 n 3 4 m 2 5 n 3 3 m 3 -8 n 1 -9 m 3 -7 n 2 -9 m 5 -7 n 6 -9 m 5 -8 n 7 -9 E # C j w 13 m 6 12 n 6 10 n 8 10 n 8 12 n 6 12 m 7 12 n 7 10 m 6 11 n 8 11 m 6 5 n 6 -12 n 5 -15 n 4 -16 m 7 4 n 7 -11 n 6 -14 m 3 5 n 8 5 n 8 -11 n 7 -14 n 6 -15 n 4 -16 n 1 -16 n 0 -15 n 0 -13 n 2 -13 n 2 -15 n 1 -15 n 1 -14 m 4 5 n 6 4 m 5 5 n 6 3 E # C k w 22 m 3 12 n 3 -9 m 4 11 n 4 -8 m 0 12 n 5 12 n 5 -9 m 14 4 n 5 -5 m 9 -1 n 16 -9 m 9 -2 n 15 -9 m 8 -2 n 14 -9 m 11 5 n 18 5 m 0 -9 n 8 -9 m 11 -9 n 18 -9 m 1 12 n 3 11 m 2 12 n 3 10 m 12 5 n 14 4 m 17 5 n 14 4 m 3 -8 n 1 -9 m 3 -7 n 2 -9 m 5 -7 n 6 -9 m 5 -8 n 7 -9 m 14 -7 n 12 -9 m 13 -7 n 17 -9 E # C l w 12 m 3 12 n 3 -9 m 4 11 n 4 -8 m 0 12 n 5 12 n 5 -9 m 0 -9 n 8 -9 m 1 12 n 3 11 m 2 12 n 3 10 m 3 -8 n 1 -9 m 3 -7 n 2 -9 m 5 -7 n 6 -9 m 5 -8 n 7 -9 E # C m w 34 m 3 5 n 3 -9 m 4 4 n 4 -8 m 0 5 n 5 5 n 5 -9 m 5 1 n 6 3 n 7 4 n 9 5 n 12 5 n 14 4 n 15 3 n 16 0 n 16 -9 m 14 3 n 15 0 n 15 -8 m 12 5 n 13 4 n 14 1 n 14 -9 m 16 1 n 17 3 n 18 4 n 20 5 n 23 5 n 25 4 n 26 3 n 27 0 n 27 -9 m 25 3 n 26 0 n 26 -8 m 23 5 n 24 4 n 25 1 n 25 -9 m 0 -9 n 8 -9 m 11 -9 n 19 -9 m 22 -9 n 30 -9 m 1 5 n 3 4 m 2 5 n 3 3 m 3 -8 n 1 -9 m 3 -7 n 2 -9 m 5 -7 n 6 -9 m 5 -8 n 7 -9 m 14 -8 n 12 -9 m 14 -7 n 13 -9 m 16 -7 n 17 -9 m 16 -8 n 18 -9 m 25 -8 n 23 -9 m 25 -7 n 24 -9 m 27 -7 n 28 -9 m 27 -8 n 29 -9 E # C n w 23 m 3 5 n 3 -9 m 4 4 n 4 -8 m 0 5 n 5 5 n 5 -9 m 5 1 n 6 3 n 7 4 n 9 5 n 12 5 n 14 4 n 15 3 n 16 0 n 16 -9 m 14 3 n 15 0 n 15 -8 m 12 5 n 13 4 n 14 1 n 14 -9 m 0 -9 n 8 -9 m 11 -9 n 19 -9 m 1 5 n 3 4 m 2 5 n 3 3 m 3 -8 n 1 -9 m 3 -7 n 2 -9 m 5 -7 n 6 -9 m 5 -8 n 7 -9 m 14 -8 n 12 -9 m 14 -7 n 13 -9 m 16 -7 n 17 -9 m 16 -8 n 18 -9 E # C o w 20 m 6 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -6 n 14 -3 n 14 -1 n 13 2 n 11 4 n 8 5 n 6 5 m 2 2 n 1 0 n 1 -4 n 2 -6 m 12 -6 n 13 -4 n 13 0 n 12 2 m 6 5 n 4 4 n 3 3 n 2 0 n 2 -4 n 3 -7 n 4 -8 n 6 -9 m 8 -9 n 10 -8 n 11 -7 n 12 -4 n 12 0 n 11 3 n 10 4 n 8 5 E # C p w 21 m 3 5 n 3 -16 m 4 4 n 4 -15 m 0 5 n 5 5 n 5 -16 m 5 2 n 6 4 n 8 5 n 10 5 n 13 4 n 15 2 n 16 -1 n 16 -3 n 15 -6 n 13 -8 n 10 -9 n 8 -9 n 6 -8 n 5 -6 m 14 2 n 15 0 n 15 -4 n 14 -6 m 10 5 n 12 4 n 13 3 n 14 0 n 14 -4 n 13 -7 n 12 -8 n 10 -9 m 0 -16 n 8 -16 m 1 5 n 3 4 m 2 5 n 3 3 m 3 -15 n 1 -16 m 3 -14 n 2 -16 m 5 -14 n 6 -16 m 5 -15 n 7 -16 E # C q w 20 m 11 4 n 11 -16 m 12 3 n 12 -15 m 10 4 n 12 4 n 13 5 n 13 -16 m 11 2 n 10 4 n 8 5 n 6 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 6 -9 n 8 -9 n 10 -8 n 11 -6 m 2 2 n 1 0 n 1 -4 n 2 -6 m 6 5 n 4 4 n 3 3 n 2 0 n 2 -4 n 3 -7 n 4 -8 n 6 -9 m 8 -16 n 16 -16 m 11 -15 n 9 -16 m 11 -14 n 10 -16 m 13 -14 n 14 -16 m 13 -15 n 15 -16 E # C r w 17 m 3 5 n 3 -9 m 4 4 n 4 -8 m 0 5 n 5 5 n 5 -9 m 12 3 n 12 4 n 11 4 n 11 2 n 13 2 n 13 4 n 12 5 n 10 5 n 8 4 n 6 2 n 5 -1 m 0 -9 n 8 -9 m 1 5 n 3 4 m 2 5 n 3 3 m 3 -8 n 1 -9 m 3 -7 n 2 -9 m 5 -7 n 6 -9 m 5 -8 n 7 -9 E # C s w 17 m 10 3 n 11 5 n 11 1 n 10 3 n 9 4 n 7 5 n 3 5 n 1 4 n 0 3 n 0 1 n 1 -1 n 3 -2 n 8 -3 n 10 -4 n 11 -7 m 1 4 n 0 1 m 1 0 n 3 -1 n 8 -2 n 10 -3 m 11 -4 n 10 -8 m 0 3 n 1 1 n 3 0 n 8 -1 n 10 -2 n 11 -4 n 11 -7 n 10 -8 n 8 -9 n 4 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -9 n 1 -7 E # C t w 15 m 3 10 n 3 -4 n 4 -7 n 5 -8 n 7 -9 n 9 -9 n 11 -8 n 12 -6 m 4 10 n 4 -5 n 5 -7 m 3 10 n 5 12 n 5 -5 n 6 -8 n 7 -9 m 0 5 n 9 5 E # C u w 23 m 3 5 n 3 -4 n 4 -7 n 5 -8 n 7 -9 n 10 -9 n 12 -8 n 13 -7 n 14 -5 m 4 4 n 4 -5 n 5 -7 m 0 5 n 5 5 n 5 -5 n 6 -8 n 7 -9 m 14 5 n 14 -9 n 19 -9 m 15 4 n 15 -8 m 11 5 n 16 5 n 16 -9 m 1 5 n 3 4 m 2 5 n 3 3 m 16 -7 n 17 -9 m 16 -8 n 18 -9 E # C v w 18 m 2 5 n 8 -9 m 3 5 n 8 -7 m 4 5 n 9 -7 m 14 4 n 9 -7 n 8 -9 m 0 5 n 7 5 m 10 5 n 16 5 m 1 5 n 4 3 m 6 5 n 4 4 m 12 5 n 14 4 m 15 5 n 14 4 E # C w w 24 m 3 5 n 7 -9 m 4 5 n 7 -6 m 5 5 n 8 -6 m 11 5 n 8 -6 n 7 -9 m 11 5 n 15 -9 m 12 5 n 15 -6 m 11 5 n 13 5 n 16 -6 m 19 4 n 16 -6 n 15 -9 m 0 5 n 8 5 m 16 5 n 22 5 m 1 5 n 4 4 m 7 5 n 5 4 m 17 5 n 19 4 m 21 5 n 19 4 E # C x w 20 m 2 5 n 12 -9 m 3 5 n 13 -9 m 4 5 n 14 -9 m 13 4 n 3 -8 m 0 5 n 7 5 m 10 5 n 16 5 m 0 -9 n 6 -9 m 9 -9 n 16 -9 m 1 5 n 3 4 m 6 5 n 4 4 m 11 5 n 13 4 m 15 5 n 13 4 m 3 -8 n 1 -9 m 3 -8 n 5 -9 m 12 -8 n 10 -9 m 13 -8 n 15 -9 E # C y w 19 m 3 5 n 9 -9 m 4 5 n 9 -7 m 5 5 n 10 -7 m 15 4 n 10 -7 n 7 -13 n 5 -15 n 3 -16 n 1 -16 n 0 -15 n 0 -13 n 2 -13 n 2 -15 n 1 -15 n 1 -14 m 1 5 n 8 5 m 11 5 n 17 5 m 2 5 n 5 3 m 7 5 n 5 4 m 13 5 n 15 4 m 16 5 n 15 4 E # C z w 18 m 10 5 n 0 -9 m 11 5 n 1 -9 m 12 5 n 2 -9 m 12 5 n 0 5 n 0 1 m 0 -9 n 12 -9 n 12 -5 m 1 5 n 0 1 m 2 5 n 0 2 m 3 5 n 0 3 m 5 5 n 0 4 m 7 -9 n 12 -8 m 9 -9 n 12 -7 m 10 -9 n 12 -6 m 11 -9 n 12 -5 E # C 0 w 20 m 6 12 n 3 11 n 1 8 n 0 3 n 0 0 n 1 -5 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -5 n 14 0 n 14 3 n 13 8 n 11 11 n 8 12 n 6 12 m 3 10 n 2 8 n 1 4 n 1 -1 n 2 -5 n 3 -7 m 11 -7 n 12 -5 n 13 -1 n 13 4 n 12 8 n 11 10 m 6 12 n 4 11 n 3 9 n 2 4 n 2 -1 n 3 -6 n 4 -8 n 6 -9 m 8 -9 n 10 -8 n 11 -6 n 12 -1 n 12 4 n 11 9 n 10 11 n 8 12 E # C 1 w 20 m 4 10 n 4 -9 m 5 10 n 5 -8 m 6 12 n 6 -9 m 6 12 n 3 9 n 1 8 m 0 -9 n 10 -9 m 4 -8 n 2 -9 m 4 -7 n 3 -9 m 6 -7 n 7 -9 m 6 -8 n 8 -9 E # C 2 w 20 m 1 8 n 1 7 n 2 7 n 2 8 n 1 8 m 1 9 n 2 9 n 3 8 n 3 7 n 2 6 n 1 6 n 0 7 n 0 8 n 1 10 n 2 11 n 5 12 n 9 12 n 12 11 n 13 10 n 14 8 n 14 6 n 13 4 n 10 2 n 5 0 n 3 -1 n 1 -3 n 0 -6 n 0 -9 m 12 10 n 13 8 n 13 6 n 12 4 m 9 12 n 11 11 n 12 8 n 12 6 n 11 4 n 9 2 n 5 0 m 0 -7 n 1 -6 n 3 -6 n 8 -7 n 12 -7 n 14 -6 m 3 -6 n 8 -8 n 12 -8 n 13 -7 m 3 -6 n 8 -9 n 12 -9 n 13 -8 n 14 -6 n 14 -4 E # C 3 w 20 m 1 8 n 1 7 n 2 7 n 2 8 n 1 8 m 1 9 n 2 9 n 3 8 n 3 7 n 2 6 n 1 6 n 0 7 n 0 8 n 1 10 n 2 11 n 5 12 n 9 12 n 12 11 n 13 9 n 13 6 n 12 4 n 9 3 m 11 11 n 12 9 n 12 6 n 11 4 m 8 12 n 10 11 n 11 9 n 11 6 n 10 4 n 8 3 m 6 3 n 9 3 n 11 2 n 13 0 n 14 -2 n 14 -5 n 13 -7 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -4 n 1 -3 n 2 -3 n 3 -4 n 3 -5 n 2 -6 n 1 -6 m 12 0 n 13 -2 n 13 -5 n 12 -7 m 8 3 n 10 2 n 11 1 n 12 -2 n 12 -5 n 11 -8 n 9 -9 m 1 -4 n 1 -5 n 2 -5 n 2 -4 n 1 -4 E # C 4 w 20 m 9 9 n 9 -9 m 10 10 n 10 -8 m 11 12 n 11 -9 m 11 12 n 0 -3 n 16 -3 m 6 -9 n 14 -9 m 9 -8 n 7 -9 m 9 -7 n 8 -9 m 11 -7 n 12 -9 m 11 -8 n 13 -9 E # C 5 w 20 m 2 12 n 0 2 n 2 4 n 5 5 n 8 5 n 11 4 n 13 2 n 14 -1 n 14 -3 n 13 -6 n 11 -8 n 8 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -4 n 1 -3 n 2 -3 n 3 -4 n 3 -5 n 2 -6 n 1 -6 m 12 2 n 13 0 n 13 -4 n 12 -6 m 8 5 n 10 4 n 11 3 n 12 0 n 12 -4 n 11 -7 n 10 -8 n 8 -9 m 1 -4 n 1 -5 n 2 -5 n 2 -4 n 1 -4 m 2 12 n 12 12 m 2 11 n 10 11 m 2 10 n 6 10 n 10 11 n 12 12 E # C 6 w 20 m 11 9 n 11 8 n 12 8 n 12 9 n 11 9 m 12 10 n 11 10 n 10 9 n 10 8 n 11 7 n 12 7 n 13 8 n 13 9 n 12 11 n 10 12 n 7 12 n 4 11 n 2 9 n 1 7 n 0 3 n 0 -3 n 1 -6 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -6 n 14 -3 n 14 -2 n 13 1 n 11 3 n 8 4 n 6 4 n 4 3 n 3 2 n 2 0 m 3 9 n 2 7 n 1 3 n 1 -3 n 2 -6 n 3 -7 m 12 -6 n 13 -4 n 13 -1 n 12 1 m 7 12 n 5 11 n 4 10 n 3 8 n 2 4 n 2 -3 n 3 -6 n 4 -8 n 6 -9 m 8 -9 n 10 -8 n 11 -7 n 12 -4 n 12 -1 n 11 2 n 10 3 n 8 4 E # C 7 w 20 m 0 12 n 0 6 m 14 12 n 14 9 n 13 6 n 9 1 n 8 -1 n 7 -5 n 7 -9 m 8 0 n 7 -2 n 6 -5 n 6 -9 m 13 6 n 8 1 n 6 -2 n 5 -5 n 5 -9 n 7 -9 m 0 8 n 1 10 n 3 12 n 5 12 n 10 9 n 12 9 n 13 10 n 14 12 m 2 10 n 3 11 n 5 11 n 7 10 m 0 8 n 1 9 n 3 10 n 5 10 n 10 9 E # C 8 w 20 m 5 12 n 2 11 n 1 9 n 1 6 n 2 4 n 5 3 n 9 3 n 12 4 n 13 6 n 13 9 n 12 11 n 9 12 n 5 12 m 3 11 n 2 9 n 2 6 n 3 4 m 11 4 n 12 6 n 12 9 n 11 11 m 5 12 n 4 11 n 3 9 n 3 6 n 4 4 n 5 3 m 9 3 n 10 4 n 11 6 n 11 9 n 10 11 n 9 12 m 5 3 n 2 2 n 1 1 n 0 -1 n 0 -5 n 1 -7 n 2 -8 n 5 -9 n 9 -9 n 12 -8 n 13 -7 n 14 -5 n 14 -1 n 13 1 n 12 2 n 9 3 m 2 1 n 1 -1 n 1 -5 n 2 -7 m 12 -7 n 13 -5 n 13 -1 n 12 1 m 5 3 n 3 2 n 2 -1 n 2 -5 n 3 -8 n 5 -9 m 9 -9 n 11 -8 n 12 -5 n 12 -1 n 11 2 n 9 3 E # C 9 w 20 m 2 -5 n 2 -6 n 3 -6 n 3 -5 n 2 -5 m 12 3 n 11 1 n 10 0 n 8 -1 n 6 -1 n 3 0 n 1 2 n 0 5 n 0 6 n 1 9 n 3 11 n 6 12 n 8 12 n 11 11 n 13 9 n 14 6 n 14 0 n 13 -4 n 12 -6 n 10 -8 n 7 -9 n 4 -9 n 2 -8 n 1 -6 n 1 -5 n 2 -4 n 3 -4 n 4 -5 n 4 -6 n 3 -7 n 2 -7 m 2 2 n 1 4 n 1 7 n 2 9 m 11 10 n 12 9 n 13 6 n 13 0 n 12 -4 n 11 -6 m 6 -1 n 4 0 n 3 1 n 2 4 n 2 7 n 3 10 n 4 11 n 6 12 m 8 12 n 10 11 n 11 9 n 12 6 n 12 -1 n 11 -5 n 10 -7 n 9 -8 n 7 -9 E # C . w 11 m 1 -6 n 0 -7 n 0 -8 n 1 -9 n 2 -9 n 3 -8 n 3 -7 n 2 -6 n 1 -6 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 E # C , w 11 m 3 -8 n 2 -9 n 1 -9 n 0 -8 n 0 -7 n 1 -6 n 2 -6 n 3 -7 n 3 -10 n 2 -12 n 0 -13 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 m 2 -9 n 3 -10 m 3 -8 n 2 -12 E # C : w 11 m 1 5 n 0 4 n 0 3 n 1 2 n 2 2 n 3 3 n 3 4 n 2 5 n 1 5 m 1 4 n 1 3 n 2 3 n 2 4 n 1 4 m 1 -6 n 0 -7 n 0 -8 n 1 -9 n 2 -9 n 3 -8 n 3 -7 n 2 -6 n 1 -6 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 E # C ; w 11 m 1 5 n 0 4 n 0 3 n 1 2 n 2 2 n 3 3 n 3 4 n 2 5 n 1 5 m 1 4 n 1 3 n 2 3 n 2 4 n 1 4 m 3 -8 n 2 -9 n 1 -9 n 0 -8 n 0 -7 n 1 -6 n 2 -6 n 3 -7 n 3 -10 n 2 -12 n 0 -13 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 m 2 -9 n 3 -10 m 3 -8 n 2 -12 E # C ! w 11 m 1 12 n 0 11 n 0 9 n 1 1 m 1 12 n 1 -2 n 2 -2 m 1 12 n 2 12 n 2 -2 m 2 12 n 3 11 n 3 9 n 2 1 m 1 -6 n 0 -7 n 0 -8 n 1 -9 n 2 -9 n 3 -8 n 3 -7 n 2 -6 n 1 -6 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 E # C ? w 19 m 1 7 n 1 8 n 2 8 n 2 6 n 0 6 n 0 8 n 1 10 n 2 11 n 4 12 n 8 12 n 11 11 n 12 10 n 13 8 n 13 6 n 12 4 n 11 3 n 7 1 m 11 10 n 12 9 n 12 5 n 11 4 m 8 12 n 10 11 n 11 9 n 11 5 n 10 3 n 9 2 m 6 1 n 6 -2 n 7 -2 n 7 1 n 6 1 m 6 -6 n 5 -7 n 5 -8 n 6 -9 n 7 -9 n 8 -8 n 8 -7 n 7 -6 n 6 -6 m 6 -7 n 6 -8 n 7 -8 n 7 -7 n 6 -7 E # C ` w 11 m 3 12 n 1 11 n 0 9 n 0 6 n 1 5 n 2 5 n 3 6 n 3 7 n 2 8 n 1 8 n 0 7 m 1 7 n 1 6 n 2 6 n 2 7 n 1 7 m 1 11 n 0 7 m 0 9 n 1 8 E # C & w 26 m 18 3 n 18 4 n 17 4 n 17 2 n 19 2 n 19 4 n 18 5 n 17 5 n 16 4 n 15 2 n 13 -3 n 11 -6 n 9 -8 n 7 -9 n 3 -9 n 1 -8 n 0 -6 n 0 -3 n 1 -1 n 7 3 n 9 5 n 10 7 n 10 9 n 9 11 n 7 12 n 5 11 n 4 9 n 4 6 n 5 3 n 7 0 n 11 -5 n 14 -8 n 16 -9 n 18 -9 n 19 -7 n 19 -6 m 2 -8 n 1 -6 n 1 -3 n 2 -1 n 3 0 m 9 5 n 10 9 m 10 7 n 9 11 m 5 11 n 4 7 m 5 4 n 7 1 n 11 -4 n 14 -7 n 16 -8 m 5 -9 n 3 -8 n 2 -6 n 2 -3 n 3 -1 n 7 3 m 4 9 n 5 5 n 8 1 n 12 -4 n 15 -7 n 17 -8 n 18 -8 n 19 -7 E # C $ w 20 m 5 16 n 5 -13 m 9 16 n 9 -13 m 13 7 n 13 8 n 12 8 n 12 6 n 14 6 n 14 8 n 13 10 n 12 11 n 9 12 n 5 12 n 2 11 n 0 9 n 0 6 n 1 4 n 4 2 n 10 0 n 12 -1 n 13 -3 n 13 -6 n 12 -8 m 1 6 n 2 4 n 4 3 n 10 1 n 12 0 n 13 -2 m 2 11 n 1 9 n 1 7 n 2 5 n 4 4 n 10 2 n 13 0 n 14 -2 n 14 -5 n 13 -7 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -3 n 2 -3 n 2 -5 n 1 -5 n 1 -4 E # C / w 23 m 18 16 n 0 -16 n 1 -16 m 18 16 n 19 16 n 1 -16 E # C ( w 14 m 7 16 n 5 14 n 3 11 n 1 7 n 0 2 n 0 -2 n 1 -7 n 3 -11 n 5 -14 n 7 -16 m 3 10 n 2 7 n 1 3 n 1 -3 n 2 -7 n 3 -10 m 5 14 n 4 12 n 3 9 n 2 3 n 2 -3 n 3 -9 n 4 -12 n 5 -14 E # C ) w 14 m 0 16 n 2 14 n 4 11 n 6 7 n 7 2 n 7 -2 n 6 -7 n 4 -11 n 2 -14 n 0 -16 m 4 10 n 5 7 n 6 3 n 6 -3 n 5 -7 n 4 -10 m 2 14 n 3 12 n 4 9 n 5 3 n 5 -3 n 4 -9 n 3 -12 n 2 -14 E # C * w 16 m 5 12 n 4 11 n 6 1 n 5 0 m 5 12 n 5 0 m 5 12 n 6 11 n 4 1 n 5 0 m 0 9 n 1 9 n 9 3 n 10 3 m 0 9 n 10 3 m 0 9 n 0 8 n 10 4 n 10 3 m 10 9 n 9 9 n 1 3 n 0 3 m 10 9 n 0 3 m 10 9 n 10 8 n 0 4 n 0 3 E # C - w 25 m 0 1 n 17 1 n 17 0 m 0 1 n 0 0 n 17 0 E # C + w 25 m 8 9 n 8 -8 n 9 -8 m 8 9 n 9 9 n 9 -8 m 0 1 n 17 1 n 17 0 m 0 1 n 0 0 n 17 0 E # C = w 25 m 0 5 n 17 5 n 17 4 m 0 5 n 0 4 n 17 4 m 0 -3 n 17 -3 n 17 -4 m 0 -3 n 0 -4 n 17 -4 E # C ' w 9 m 1 12 n 0 11 n 0 5 m 1 11 n 0 5 m 1 12 n 2 11 n 0 5 E # C " w 18 m 1 12 n 0 11 n 0 5 m 1 11 n 0 5 m 1 12 n 2 11 n 0 5 m 10 12 n 9 11 n 9 5 m 10 11 n 9 5 m 10 12 n 11 11 n 9 5 E xgks-2.6.1+dfsg.2/src/fontdb/Makefile.in0000644000175000017500000000525612124103724021021 0ustar amckinstryamckinstry# Makefile for the XGKS fonts. # # $Id: Makefile.in,v 2.8 2000/08/07 22:23:56 emmerson Exp $ DEFINES = INCLUDES = -I../lib/c -I../port/misc CPPFLAGS = $(INCLUDES) $(DEFINES) @CPPFLAGS@ CFLAGS = @CFLAGS@ prefix = ../.. LIBDIR = $(prefix)/lib FONTDBDIR = $(LIBDIR)/xgksfonts FONT_SRCS = B.src G.src I.src R.src SC.src b.src i.src r.src sc.src FONTS = r.gksfont R.gksfont b.gksfont B.gksfont i.gksfont \ I.gksfont sc.gksfont SC.gksfont G.gksfont HERSHEY_FONTS = cc.gksfont cg.gksfont ci.gksfont cr.gksfont cs.gksfont \ dr.gksfont ge.gksfont gg.gksfont gi.gksfont m.gksfont \ sg.gksfont sr.gksfont ss.gksfont ti.gksfont tr.gksfont LINKS = 1 2 3 4 5 6 7 8 9 MANIFEST = Makefile.in depend $(FONT_SRCS) $(SRCS) mkfont.c PROGRAM = mkfont OBJS = $(PROGRAM).o LIBS = -L../port/misc -ludport GARBAGE = *.gksfont $(PROGRAM) $(LINKS) all:: $(PROGRAM) $(FONTS) $(LINKS) install:: $(FONTDBDIR) \ $(FONTDBDIR)/1 \ $(FONTDBDIR)/2 \ $(FONTDBDIR)/3 \ $(FONTDBDIR)/4 \ $(FONTDBDIR)/5 \ $(FONTDBDIR)/6 \ $(FONTDBDIR)/7 \ $(FONTDBDIR)/8 \ $(FONTDBDIR)/9 1: r.gksfont rm -f $@ ln $? $@ 2: R.gksfont rm -f $@ ln $? $@ 3: b.gksfont rm -f $@ ln $? $@ 4: B.gksfont rm -f $@ ln $? $@ 5: i.gksfont rm -f $@ ln $? $@ 6: I.gksfont rm -f $@ ln $? $@ 7: sc.gksfont rm -f $@ ln $? $@ 8: SC.gksfont rm -f $@ ln $? $@ 9: G.gksfont rm -f $@ ln $? $@ $(FONTDBDIR): $(LIBDIR) if test -d $@; then \ : true; \ else \ mkdir $@; \ fi $(FONTDBDIR)/1: $(FONTDBDIR)/r.gksfont rm -f $@ ln $? $@ $(FONTDBDIR)/2: $(FONTDBDIR)/R.gksfont rm -f $@ ln $? $@ $(FONTDBDIR)/3: $(FONTDBDIR)/b.gksfont rm -f $@ ln $? $@ $(FONTDBDIR)/4: $(FONTDBDIR)/B.gksfont rm -f $@ ln $? $@ $(FONTDBDIR)/5: $(FONTDBDIR)/i.gksfont rm -f $@ ln $? $@ $(FONTDBDIR)/6: $(FONTDBDIR)/I.gksfont rm -f $@ ln $? $@ $(FONTDBDIR)/7: $(FONTDBDIR)/sc.gksfont rm -f $@ ln $? $@ $(FONTDBDIR)/8: $(FONTDBDIR)/SC.gksfont rm -f $@ ln $? $@ $(FONTDBDIR)/9: $(FONTDBDIR)/G.gksfont rm -f $@ ln $? $@ $(FONTDBDIR)/r.gksfont: r.gksfont cp $? $@ $(FONTDBDIR)/R.gksfont: R.gksfont cp $? $@ $(FONTDBDIR)/b.gksfont: b.gksfont cp $? $@ $(FONTDBDIR)/B.gksfont: B.gksfont cp $? $@ $(FONTDBDIR)/i.gksfont: i.gksfont cp $? $@ $(FONTDBDIR)/I.gksfont: I.gksfont cp $? $@ $(FONTDBDIR)/sc.gksfont: sc.gksfont cp $? $@ $(FONTDBDIR)/SC.gksfont: SC.gksfont cp $? $@ $(FONTDBDIR)/G.gksfont: G.gksfont cp $? $@ $(FONTS) $(HERSHEY_FONTS): $(PROGRAM) include ../port/master.mk .SUFFIXES: .gksfont .src .fnt .src.gksfont: ./$(PROGRAM) $< $@ .fnt.gksfont: ./$(PROGRAM) $< $@ ### Everything after the following line might be overwritten ### ### DO NOT DELETE THIS LINE. make depend DEPENDS ON IT ### include depend xgks-2.6.1+dfsg.2/src/fontdb/I.src0000644000175000017500000011131311413611016017643 0ustar amckinstryamckinstryU 12 # C ! m 35 105 n 30 105 n 25 100 n 15 35 m 35 100 n 30 100 n 15 35 m 35 100 n 35 95 n 15 35 m 35 105 n 40 100 n 40 95 n 15 35 m 5 15 n 0 10 n 0 5 n 5 0 n 10 0 n 15 5 n 15 10 n 10 15 n 5 15 m 5 10 n 5 5 n 10 5 n 10 10 n 5 10 E # C " m 15 105 n 10 100 n 0 70 m 15 100 n 0 70 m 15 105 n 20 100 n 0 70 m 65 105 n 60 100 n 50 70 m 65 100 n 50 70 m 65 105 n 70 100 n 50 70 E # C # m 40 105 n 5 -35 m 70 105 n 35 -35 m 5 50 n 75 50 m 0 20 n 70 20 E # C $ m 50 125 n 10 -20 m 75 125 n 35 -20 m 80 80 n 80 85 n 75 85 n 75 75 n 85 75 n 85 85 n 80 95 n 75 100 n 60 105 n 40 105 n 25 100 n 15 90 n 15 75 n 20 65 n 30 55 n 60 40 n 65 30 n 65 15 n 60 5 m 20 75 n 25 65 n 60 45 n 65 35 m 25 100 n 20 90 n 20 80 n 25 70 n 55 55 n 65 45 n 70 35 n 70 20 n 65 10 n 60 5 n 45 0 n 25 0 n 10 5 n 5 10 n 0 20 n 0 30 n 10 30 n 10 20 n 5 20 n 5 25 E # C % m 90 105 n 0 0 m 25 105 n 35 95 n 35 85 n 30 75 n 20 70 n 10 70 n 0 80 n 0 90 n 5 100 n 15 105 n 25 105 n 35 100 n 50 95 n 65 95 n 80 100 n 90 105 m 70 35 n 60 30 n 55 20 n 55 10 n 65 0 n 75 0 n 85 5 n 90 15 n 90 25 n 80 35 n 70 35 E # C & m 105 60 n 105 65 n 100 65 n 100 55 n 110 55 n 110 65 n 105 70 n 100 70 n 90 65 n 80 55 n 55 15 n 45 5 n 35 0 n 20 0 n 5 5 n 0 15 n 0 25 n 5 35 n 10 40 n 20 45 n 45 55 n 55 60 n 65 70 n 70 80 n 70 90 n 65 100 n 55 105 n 45 100 n 40 90 n 40 75 n 45 45 n 50 30 n 55 20 n 65 5 n 75 0 n 85 0 n 90 10 n 90 15 m 25 0 n 5 5 m 10 5 n 5 15 n 5 25 n 10 35 n 15 40 n 25 45 m 45 55 n 50 40 n 65 10 n 75 5 m 20 0 n 15 5 n 10 15 n 10 25 n 15 35 n 20 40 n 30 45 n 55 60 m 40 75 n 45 60 n 50 45 n 60 25 n 70 10 n 80 5 n 85 5 n 90 10 E # C ' m 15 90 n 10 90 n 5 95 n 5 100 n 10 105 n 15 105 n 20 100 n 20 90 n 15 80 n 10 75 n 0 70 m 10 100 n 10 95 n 15 95 n 15 100 n 10 100 m 15 90 n 15 85 n 10 75 E # C ( m 65 125 n 55 120 n 40 110 n 25 95 n 15 80 n 5 60 n 0 40 n 0 15 n 5 -5 n 10 -20 n 20 -35 m 30 95 n 20 80 n 10 60 n 5 35 n 5 -5 m 65 125 n 50 115 n 35 100 n 25 85 n 20 75 n 15 60 n 10 40 n 5 -5 m 5 35 n 10 -10 n 15 -25 n 20 -35 E # C ) m 45 125 n 55 110 n 60 95 n 65 75 n 65 50 n 60 30 n 50 10 n 40 -5 n 25 -20 n 10 -30 n 0 -35 m 60 95 n 60 55 n 55 30 n 45 10 n 35 -5 m 45 125 n 50 115 n 55 100 n 60 55 m 60 95 n 55 50 n 50 30 n 45 15 n 40 5 n 30 -10 n 15 -25 n 0 -35 E # C * m 25 105 n 20 100 n 30 50 n 25 45 m 25 105 n 25 45 m 25 105 n 30 100 n 20 50 n 25 45 m 0 90 n 5 90 n 45 60 n 50 60 m 0 90 n 50 60 m 0 90 n 0 85 n 50 65 n 50 60 m 50 90 n 45 90 n 5 60 n 0 60 m 50 90 n 0 60 m 50 90 n 50 85 n 0 65 n 0 60 E # C + m 40 90 n 40 5 n 45 5 m 40 90 n 45 90 n 45 5 m 0 50 n 85 50 n 85 45 m 0 50 n 0 45 n 85 45 E # C , m 15 0 n 10 0 n 5 5 n 5 10 n 10 15 n 15 15 n 20 10 n 20 0 n 15 -10 n 10 -15 n 0 -20 m 10 10 n 10 5 n 15 5 n 15 10 n 10 10 m 15 0 n 15 -5 n 10 -15 E # C - m 0 50 n 85 50 n 85 45 m 0 50 n 0 45 n 85 45 E # C . m 5 15 n 0 10 n 0 5 n 5 0 n 10 0 n 15 5 n 15 10 n 10 15 n 5 15 m 5 10 n 5 5 n 10 5 n 10 10 n 5 10 E # C / m 130 125 n 0 -35 n 5 -35 m 130 125 n 135 125 n 5 -35 E # C 0 m 45 105 n 30 100 n 20 90 n 10 75 n 5 60 n 0 40 n 0 25 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 15 n 65 30 n 70 45 n 75 65 n 75 80 n 70 95 n 65 100 n 55 105 n 45 105 m 30 95 n 20 85 n 15 75 n 10 60 n 5 40 n 5 20 n 10 10 m 45 10 n 55 20 n 60 30 n 65 45 n 70 65 n 70 85 n 65 95 m 45 105 n 35 100 n 25 85 n 20 75 n 15 60 n 10 40 n 10 15 n 15 5 n 20 0 m 30 0 n 40 5 n 50 20 n 55 30 n 60 45 n 65 65 n 65 90 n 60 100 n 55 105 E # C 1 m 25 85 n 0 0 n 10 0 m 40 105 n 30 85 n 5 0 m 40 105 n 10 0 m 40 105 n 25 90 n 10 80 n 0 75 m 25 85 n 15 80 n 0 75 E # C 2 m 30 80 n 30 85 n 35 85 n 35 75 n 25 75 n 25 85 n 30 95 n 35 100 n 50 105 n 65 105 n 80 100 n 85 90 n 85 80 n 80 70 n 70 60 n 20 30 n 10 20 n 0 0 m 75 100 n 80 90 n 80 80 n 75 70 n 65 60 n 50 50 m 65 105 n 70 100 n 75 90 n 75 80 n 70 70 n 60 60 n 20 30 m 5 10 n 10 15 n 20 15 n 45 10 n 70 10 n 75 15 m 20 15 n 45 5 n 70 5 m 20 15 n 45 0 n 60 0 n 70 5 n 75 15 n 75 20 E # C 3 m 25 80 n 25 85 n 30 85 n 30 75 n 20 75 n 20 85 n 25 95 n 30 100 n 45 105 n 60 105 n 75 100 n 80 90 n 80 80 n 75 70 n 70 65 n 60 60 n 45 55 m 70 100 n 75 90 n 75 80 n 70 70 n 65 65 m 60 105 n 65 100 n 70 90 n 70 80 n 65 70 n 55 60 n 45 55 m 35 55 n 45 55 n 60 50 n 65 45 n 70 35 n 70 20 n 65 10 n 55 5 n 40 0 n 25 0 n 10 5 n 5 10 n 0 20 n 0 30 n 10 30 n 10 20 n 5 20 n 5 25 m 60 45 n 65 35 n 65 20 n 60 10 m 45 55 n 55 50 n 60 40 n 60 20 n 55 10 n 50 5 n 40 0 E # C 4 m 65 85 n 40 0 n 50 0 m 80 105 n 70 85 n 45 0 m 80 105 n 50 0 m 80 105 n 0 30 n 80 30 E # C 5 m 35 105 n 10 55 m 35 105 n 85 105 m 35 100 n 75 100 m 30 95 n 55 95 n 75 100 n 85 105 m 10 55 n 15 60 n 30 65 n 45 65 n 60 60 n 65 55 n 70 45 n 70 30 n 65 15 n 55 5 n 35 0 n 20 0 n 10 5 n 5 10 n 0 20 n 0 30 n 10 30 n 10 20 n 5 20 n 5 25 m 60 55 n 65 45 n 65 30 n 60 15 n 50 5 m 45 65 n 55 60 n 60 50 n 60 30 n 55 15 n 45 5 n 35 0 E # C 6 m 70 85 n 70 90 n 65 90 n 65 80 n 75 80 n 75 90 n 70 100 n 60 105 n 45 105 n 30 100 n 20 90 n 10 75 n 5 60 n 0 40 n 0 25 n 5 10 n 10 5 n 20 0 n 35 0 n 50 5 n 60 15 n 65 25 n 65 40 n 60 50 n 55 55 n 45 60 n 30 60 n 20 55 n 15 50 n 10 40 m 25 90 n 15 75 n 10 60 n 5 40 n 5 20 n 10 10 m 55 15 n 60 25 n 60 40 n 55 50 m 45 105 n 35 100 n 25 85 n 20 75 n 15 60 n 10 40 n 10 15 n 15 5 n 20 0 m 35 0 n 45 5 n 50 10 n 55 25 n 55 45 n 50 55 n 45 60 E # C 7 m 10 105 n 0 75 m 75 105 n 70 90 n 60 75 n 40 50 n 30 35 n 25 20 n 20 0 m 30 40 n 20 20 n 15 0 m 60 75 n 30 45 n 20 30 n 15 20 n 10 0 n 20 0 m 5 90 n 20 105 n 30 105 n 55 90 m 15 100 n 30 100 n 55 90 m 5 90 n 15 95 n 30 95 n 55 90 n 65 90 n 70 95 n 75 105 E # C 8 m 45 105 n 30 100 n 25 95 n 20 85 n 20 70 n 25 60 n 35 55 n 50 55 n 65 60 n 75 65 n 80 75 n 80 90 n 75 100 n 65 105 n 45 105 m 55 105 n 30 100 m 30 95 n 25 85 n 25 65 n 30 60 m 25 60 n 40 55 m 45 55 n 65 60 m 70 65 n 75 75 n 75 90 n 70 100 m 75 100 n 55 105 m 45 105 n 35 95 n 30 85 n 30 65 n 35 55 m 50 55 n 60 60 n 65 65 n 70 75 n 70 95 n 65 105 m 35 55 n 15 50 n 5 40 n 0 30 n 0 15 n 5 5 n 20 0 n 40 0 n 60 5 n 65 10 n 70 20 n 70 35 n 65 45 n 60 50 n 50 55 m 40 55 n 15 50 m 20 50 n 10 40 n 5 30 n 5 15 n 10 5 m 5 5 n 30 0 n 60 5 m 60 10 n 65 20 n 65 35 n 60 45 m 60 50 n 45 55 m 35 55 n 25 50 n 15 40 n 10 30 n 10 15 n 15 5 n 20 0 m 40 0 n 50 5 n 55 10 n 60 20 n 60 40 n 55 50 n 50 55 E # C 9 m 65 65 n 60 55 n 55 50 n 45 45 n 30 45 n 20 50 n 15 55 n 10 65 n 10 80 n 15 90 n 25 100 n 40 105 n 55 105 n 65 100 n 70 95 n 75 80 n 75 65 n 70 45 n 65 30 n 55 15 n 45 5 n 30 0 n 15 0 n 5 5 n 0 15 n 0 25 n 10 25 n 10 15 n 5 15 n 5 20 m 20 55 n 15 65 n 15 80 n 20 90 m 65 95 n 70 85 n 70 65 n 65 45 n 60 30 n 50 15 m 30 45 n 25 50 n 20 60 n 20 80 n 25 95 n 30 100 n 40 105 m 55 105 n 60 100 n 65 90 n 65 65 n 60 45 n 55 30 n 50 20 n 40 5 n 30 0 E # C : m 20 70 n 15 65 n 15 60 n 20 55 n 25 55 n 30 60 n 30 65 n 25 70 n 20 70 m 20 65 n 20 60 n 25 60 n 25 65 n 20 65 m 5 15 n 0 10 n 0 5 n 5 0 n 10 0 n 15 5 n 15 10 n 10 15 n 5 15 m 5 10 n 5 5 n 10 5 n 10 10 n 5 10 E # C ; m 25 70 n 20 65 n 20 60 n 25 55 n 30 55 n 35 60 n 35 65 n 30 70 n 25 70 m 25 65 n 25 60 n 30 60 n 30 65 n 25 65 m 15 0 n 10 0 n 5 5 n 5 10 n 10 15 n 15 15 n 20 10 n 20 0 n 15 -10 n 10 -15 n 0 -20 m 10 10 n 10 5 n 15 5 n 15 10 n 10 10 m 15 0 n 15 -5 n 10 -15 E # C < m 80 90 n 0 45 n 80 0 E # C = m 0 70 n 85 70 n 85 65 m 0 70 n 0 65 n 85 65 m 0 30 n 85 30 n 85 25 m 0 30 n 0 25 n 85 25 E # C > m 0 90 n 80 45 n 0 0 E # C ? m 5 80 n 5 85 n 10 85 n 10 75 n 0 75 n 0 85 n 5 95 n 10 100 n 25 105 n 45 105 n 60 100 n 65 90 n 65 80 n 60 70 n 55 65 n 45 60 n 25 55 n 15 50 n 15 40 n 25 35 n 30 35 m 35 105 n 60 100 m 55 100 n 60 90 n 60 80 n 55 70 n 50 65 n 40 60 m 45 105 n 50 100 n 55 90 n 55 80 n 50 70 n 45 65 n 25 55 n 20 50 n 20 40 n 25 35 m 10 15 n 5 10 n 5 5 n 10 0 n 15 0 n 20 5 n 20 10 n 15 15 n 10 15 m 10 10 n 10 5 n 15 5 n 15 10 n 10 10 E # C @ m 75 65 n 70 75 n 60 80 n 45 80 n 35 75 n 30 70 n 25 55 n 25 40 n 30 30 n 40 25 n 55 25 n 65 30 n 70 40 m 45 80 n 35 70 n 30 55 n 30 40 n 35 30 n 40 25 m 75 80 n 70 40 n 70 30 n 80 25 n 90 25 n 100 35 n 105 50 n 105 60 n 100 75 n 95 85 n 85 95 n 75 100 n 60 105 n 45 105 n 30 100 n 20 95 n 10 85 n 5 75 n 0 60 n 0 45 n 5 30 n 10 20 n 20 10 n 30 5 n 45 0 n 60 0 n 75 5 n 85 10 n 90 15 m 80 80 n 75 40 n 75 30 n 80 25 E # C A m 75 105 n 15 5 m 65 85 n 70 0 m 70 95 n 75 5 m 75 105 n 75 95 n 80 10 n 80 0 m 30 30 n 70 30 m 0 0 n 30 0 m 55 0 n 90 0 m 15 5 n 5 0 m 15 5 n 25 0 m 70 5 n 60 0 m 70 10 n 65 0 m 80 10 n 85 0 E # C B m 45 105 n 15 0 m 50 105 n 20 0 m 55 105 n 25 0 m 30 105 n 85 105 n 100 100 n 105 90 n 105 80 n 100 65 n 95 60 n 80 55 m 95 100 n 100 90 n 100 80 n 95 65 n 90 60 m 85 105 n 90 100 n 95 90 n 95 80 n 90 65 n 80 55 m 40 55 n 80 55 n 90 50 n 95 40 n 95 30 n 90 15 n 80 5 n 60 0 n 0 0 m 85 50 n 90 40 n 90 30 n 85 15 n 75 5 m 80 55 n 85 45 n 85 30 n 80 15 n 70 5 n 60 0 m 35 105 n 50 100 m 40 105 n 45 95 m 60 105 n 50 95 m 65 105 n 50 100 m 20 5 n 5 0 m 20 10 n 10 0 m 25 10 n 30 0 m 20 5 n 35 0 E # C C m 75 95 n 80 95 n 85 105 n 80 75 n 80 85 n 75 95 n 70 100 n 60 105 n 45 105 n 30 100 n 20 90 n 10 75 n 5 60 n 0 40 n 0 25 n 5 10 n 10 5 n 25 0 n 40 0 n 50 5 n 60 15 n 65 25 m 30 95 n 20 85 n 15 75 n 10 60 n 5 40 n 5 20 n 10 10 m 45 105 n 35 100 n 25 85 n 20 75 n 15 60 n 10 40 n 10 15 n 15 5 n 25 0 E # C D m 45 105 n 15 0 m 50 105 n 20 0 m 55 105 n 25 0 m 30 105 n 75 105 n 90 100 n 95 95 n 100 80 n 100 60 n 95 40 n 85 20 n 75 10 n 65 5 n 45 0 n 0 0 m 85 100 n 90 95 n 95 80 n 95 60 n 90 40 n 80 20 n 70 10 m 75 105 n 85 95 n 90 80 n 90 60 n 85 40 n 75 20 n 60 5 n 45 0 m 35 105 n 50 100 m 40 105 n 45 95 m 60 105 n 50 95 m 65 105 n 50 100 m 20 5 n 5 0 m 20 10 n 10 0 m 25 10 n 30 0 m 20 5 n 35 0 E # C E m 45 105 n 15 0 m 50 105 n 20 0 m 55 105 n 25 0 m 75 75 n 65 35 m 30 105 n 105 105 n 100 75 m 40 55 n 70 55 m 0 0 n 75 0 n 85 25 m 35 105 n 50 100 m 40 105 n 45 95 m 60 105 n 50 95 m 65 105 n 50 100 m 85 105 n 100 100 m 90 105 n 100 95 m 95 105 n 100 90 m 100 105 n 100 75 m 75 75 n 65 55 n 65 35 m 70 65 n 60 55 n 65 45 m 70 60 n 55 55 n 65 50 m 20 5 n 5 0 m 20 10 n 10 0 m 25 10 n 30 0 m 20 5 n 35 0 m 50 0 n 75 5 m 60 0 n 75 10 m 75 10 n 85 25 E # C F m 45 105 n 15 0 m 50 105 n 20 0 m 55 105 n 25 0 m 75 75 n 65 35 m 30 105 n 105 105 n 100 75 m 40 55 n 70 55 m 0 0 n 40 0 m 35 105 n 50 100 m 40 105 n 45 95 m 60 105 n 50 95 m 65 105 n 50 100 m 85 105 n 100 100 m 90 105 n 100 95 m 95 105 n 100 90 m 100 105 n 100 75 m 75 75 n 65 55 n 65 35 m 70 65 n 60 55 n 65 45 m 70 60 n 55 55 n 65 50 m 20 5 n 5 0 m 20 10 n 10 0 m 25 10 n 30 0 m 20 5 n 35 0 E # C G m 75 95 n 80 95 n 85 105 n 80 75 n 80 85 n 75 95 n 70 100 n 60 105 n 45 105 n 30 100 n 20 90 n 10 75 n 5 60 n 0 40 n 0 25 n 5 10 n 10 5 n 25 0 n 35 0 n 50 5 n 60 15 n 70 35 m 30 95 n 20 85 n 15 75 n 10 60 n 5 40 n 5 20 n 10 10 m 55 15 n 60 20 n 65 35 m 45 105 n 35 100 n 25 85 n 20 75 n 15 60 n 10 40 n 10 15 n 15 5 n 25 0 m 35 0 n 45 5 n 55 20 n 60 35 m 45 35 n 85 35 m 50 35 n 60 30 m 55 35 n 60 20 m 75 35 n 65 25 m 80 35 n 65 30 E # C H m 45 105 n 15 0 m 50 105 n 20 0 m 55 105 n 25 0 m 105 105 n 75 0 m 110 105 n 80 0 m 115 105 n 85 0 m 30 105 n 70 105 m 90 105 n 130 105 m 35 55 n 95 55 m 0 0 n 40 0 m 60 0 n 100 0 m 35 105 n 50 100 m 40 105 n 45 95 m 60 105 n 50 95 m 65 105 n 50 100 m 95 105 n 110 100 m 100 105 n 105 95 m 120 105 n 110 95 m 125 105 n 110 100 m 20 5 n 5 0 m 20 10 n 10 0 m 25 10 n 30 0 m 20 5 n 35 0 m 80 5 n 65 0 m 80 10 n 70 0 m 85 10 n 90 0 m 80 5 n 95 0 E # C I m 45 105 n 15 0 m 50 105 n 20 0 m 55 105 n 25 0 m 30 105 n 70 105 m 0 0 n 40 0 m 35 105 n 50 100 m 40 105 n 45 95 m 60 105 n 50 95 m 65 105 n 50 100 m 20 5 n 5 0 m 20 10 n 10 0 m 25 10 n 30 0 m 20 5 n 35 0 E # C J m 65 105 n 40 20 n 35 10 n 25 0 m 70 105 n 50 40 n 45 25 n 40 15 m 75 105 n 55 40 n 45 15 n 35 5 n 25 0 n 15 0 n 5 5 n 0 15 n 0 25 n 5 30 n 10 30 n 15 25 n 15 20 n 10 15 n 5 15 m 5 25 n 5 20 n 10 20 n 10 25 n 5 25 m 50 105 n 90 105 m 55 105 n 70 100 m 60 105 n 65 95 m 80 105 n 70 95 m 85 105 n 70 100 E # C K m 45 105 n 15 0 m 50 105 n 20 0 m 55 105 n 25 0 m 110 100 n 35 45 m 55 60 n 75 0 m 60 60 n 80 0 m 65 65 n 85 5 m 30 105 n 70 105 m 95 105 n 125 105 m 0 0 n 40 0 m 60 0 n 95 0 m 35 105 n 50 100 m 40 105 n 45 95 m 60 105 n 50 95 m 65 105 n 50 100 m 100 105 n 110 100 m 120 105 n 110 100 m 20 5 n 5 0 m 20 10 n 10 0 m 25 10 n 30 0 m 20 5 n 35 0 m 75 5 n 65 0 m 75 10 n 70 0 m 80 10 n 90 0 E # C L m 45 105 n 15 0 m 50 105 n 20 0 m 55 105 n 25 0 m 30 105 n 70 105 m 0 0 n 75 0 n 85 30 m 35 105 n 50 100 m 40 105 n 45 95 m 60 105 n 50 95 m 65 105 n 50 100 m 20 5 n 5 0 m 20 10 n 10 0 m 25 10 n 30 0 m 20 5 n 35 0 m 50 0 n 75 5 m 60 0 n 80 15 m 70 0 n 85 30 E # C M m 45 105 n 15 5 m 45 100 n 50 10 n 50 0 m 50 105 n 55 10 m 55 105 n 60 15 m 115 105 n 60 15 n 50 0 m 115 105 n 85 0 m 120 105 n 90 0 m 125 105 n 95 0 m 30 105 n 55 105 m 115 105 n 140 105 m 0 0 n 30 0 m 70 0 n 110 0 m 35 105 n 45 100 m 40 105 n 45 95 m 130 105 n 120 95 m 135 105 n 120 100 m 15 5 n 5 0 m 15 5 n 25 0 m 90 5 n 75 0 m 90 10 n 80 0 m 95 10 n 100 0 m 90 5 n 105 0 E # C N m 45 105 n 15 5 m 45 105 n 80 0 m 50 105 n 80 15 m 55 105 n 85 15 m 110 100 n 85 15 n 80 0 m 30 105 n 55 105 m 95 105 n 125 105 m 0 0 n 30 0 m 35 105 n 50 100 m 40 105 n 50 95 m 100 105 n 110 100 m 120 105 n 110 100 m 15 5 n 5 0 m 15 5 n 25 0 E # C O m 45 105 n 30 100 n 20 90 n 10 75 n 5 60 n 0 40 n 0 25 n 5 10 n 10 5 n 20 0 n 35 0 n 50 5 n 60 15 n 70 30 n 75 45 n 80 65 n 80 80 n 75 95 n 70 100 n 60 105 n 45 105 m 25 90 n 15 75 n 10 60 n 5 40 n 5 20 n 10 10 m 55 15 n 65 30 n 70 45 n 75 65 n 75 85 n 70 95 m 45 105 n 35 100 n 25 85 n 20 75 n 15 60 n 10 40 n 10 15 n 15 5 n 20 0 m 35 0 n 45 5 n 55 20 n 60 30 n 65 45 n 70 65 n 70 90 n 65 100 n 60 105 E # C P m 45 105 n 15 0 m 50 105 n 20 0 m 55 105 n 25 0 m 30 105 n 90 105 n 105 100 n 110 90 n 110 80 n 105 65 n 95 55 n 75 50 n 35 50 m 100 100 n 105 90 n 105 80 n 100 65 n 90 55 m 90 105 n 95 100 n 100 90 n 100 80 n 95 65 n 85 55 n 75 50 m 0 0 n 40 0 m 35 105 n 50 100 m 40 105 n 45 95 m 60 105 n 50 95 m 65 105 n 50 100 m 20 5 n 5 0 m 20 10 n 10 0 m 25 10 n 30 0 m 20 5 n 35 0 E # C Q m 45 105 n 30 100 n 20 90 n 10 75 n 5 60 n 0 40 n 0 25 n 5 10 n 10 5 n 20 0 n 35 0 n 50 5 n 60 15 n 70 30 n 75 45 n 80 65 n 80 80 n 75 95 n 70 100 n 60 105 n 45 105 m 25 90 n 15 75 n 10 60 n 5 40 n 5 20 n 10 10 m 55 15 n 65 30 n 70 45 n 75 65 n 75 85 n 70 95 m 45 105 n 35 100 n 25 85 n 20 75 n 15 60 n 10 40 n 10 15 n 15 5 n 20 0 m 35 0 n 45 5 n 55 20 n 60 30 n 65 45 n 70 65 n 70 90 n 65 100 n 60 105 m 10 15 n 15 25 n 25 30 n 30 30 n 40 25 n 45 15 n 50 -10 n 55 -15 n 60 -15 n 65 -10 m 50 -15 n 55 -20 n 60 -20 m 45 15 n 45 -20 n 50 -25 n 60 -25 n 65 -10 n 65 -5 E # C R m 45 105 n 15 0 m 50 105 n 20 0 m 55 105 n 25 0 m 30 105 n 85 105 n 100 100 n 105 90 n 105 80 n 100 65 n 95 60 n 80 55 n 40 55 m 95 100 n 100 90 n 100 80 n 95 65 n 90 60 m 85 105 n 90 100 n 95 90 n 95 80 n 90 65 n 80 55 m 60 55 n 70 50 n 75 45 n 85 15 n 90 10 n 95 10 n 100 15 m 85 10 n 90 5 n 95 5 m 75 45 n 80 5 n 85 0 n 95 0 n 100 15 n 100 20 m 0 0 n 40 0 m 35 105 n 50 100 m 40 105 n 45 95 m 60 105 n 50 95 m 65 105 n 50 100 m 20 5 n 5 0 m 20 10 n 10 0 m 25 10 n 30 0 m 20 5 n 35 0 E # C S m 85 95 n 90 95 n 95 105 n 90 75 n 90 85 n 85 95 n 80 100 n 65 105 n 45 105 n 30 100 n 20 90 n 20 75 n 25 65 n 35 55 n 65 40 n 70 30 n 70 15 n 65 5 m 25 75 n 30 65 n 65 45 n 70 35 m 30 100 n 25 90 n 25 80 n 30 70 n 60 55 n 70 45 n 75 35 n 75 20 n 70 10 n 65 5 n 50 0 n 30 0 n 15 5 n 10 10 n 5 20 n 5 30 n 0 0 n 5 10 n 10 10 E # C T m 45 105 n 15 0 m 50 105 n 20 0 m 55 105 n 25 0 m 10 105 n 0 75 m 90 105 n 85 75 m 10 105 n 90 105 m 0 0 n 40 0 m 15 105 n 0 75 m 25 105 n 5 90 m 35 105 n 10 100 m 70 105 n 85 100 m 75 105 n 85 95 m 80 105 n 85 90 m 85 105 n 85 75 m 20 5 n 5 0 m 20 10 n 10 0 m 25 10 n 30 0 m 20 5 n 35 0 E # C U m 20 105 n 5 50 n 0 30 n 0 15 n 5 5 n 20 0 n 40 0 n 55 5 n 65 15 n 70 30 n 90 100 m 25 105 n 10 50 n 5 30 n 5 10 n 10 5 m 30 105 n 15 50 n 10 30 n 10 10 n 20 0 m 5 105 n 45 105 m 75 105 n 105 105 m 10 105 n 25 100 m 15 105 n 20 95 m 35 105 n 25 95 m 40 105 n 25 100 m 80 105 n 90 100 m 100 105 n 90 100 E # C V m 10 105 n 10 95 n 15 10 n 15 0 m 15 100 n 20 15 m 20 105 n 25 20 m 75 100 n 15 0 m 0 105 n 35 105 m 60 105 n 90 105 m 5 105 n 10 95 m 25 105 n 20 95 m 30 105 n 15 100 m 65 105 n 75 100 m 85 105 n 75 100 E # C W m 15 105 n 15 95 n 5 10 n 5 0 m 20 100 n 10 15 m 25 105 n 15 20 m 55 105 n 15 20 n 5 0 m 55 105 n 55 95 n 45 10 n 45 0 m 60 100 n 50 15 m 65 105 n 55 20 m 95 100 n 55 20 n 45 0 m 0 105 n 40 105 m 55 105 n 65 105 m 80 105 n 110 105 m 5 105 n 20 100 m 10 105 n 15 95 m 30 105 n 20 90 m 35 105 n 20 100 m 85 105 n 95 100 m 105 105 n 95 100 E # C X m 40 105 n 70 0 m 45 105 n 75 0 m 50 105 n 80 0 m 105 100 n 15 5 m 30 105 n 65 105 m 90 105 n 120 105 m 0 0 n 30 0 m 55 0 n 90 0 m 35 105 n 45 95 m 55 105 n 50 95 m 60 105 n 50 100 m 95 105 n 105 100 m 115 105 n 105 100 m 15 5 n 5 0 m 15 5 n 25 0 m 70 5 n 60 0 m 70 10 n 65 0 m 75 10 n 85 0 E # C Y m 10 105 n 30 55 n 15 0 m 15 105 n 35 55 n 20 0 m 20 105 n 40 55 n 25 0 m 85 100 n 40 55 m 0 105 n 35 105 m 70 105 n 100 105 m 0 0 n 40 0 m 5 105 n 15 100 m 25 105 n 20 95 m 30 105 n 15 100 m 75 105 n 85 100 m 95 105 n 85 100 m 20 5 n 5 0 m 20 10 n 10 0 m 25 10 n 30 0 m 20 5 n 35 0 E # C Z m 90 105 n 0 0 m 95 105 n 5 0 m 100 105 n 10 0 m 100 105 n 30 105 n 20 75 m 0 0 n 70 0 n 80 30 m 35 105 n 20 75 m 40 105 n 25 90 m 50 105 n 30 100 m 50 0 n 70 5 m 60 0 n 75 15 m 65 0 n 80 30 E # C [ m 0 125 n 0 -35 m 5 125 n 5 -35 m 0 125 n 35 125 m 0 -35 n 35 -35 E # C \ m 0 105 n 70 -15 E # C ] m 30 125 n 30 -35 m 35 125 n 35 -35 m 0 125 n 35 125 m 0 -35 n 35 -35 E # C ^ m 40 115 n 0 45 m 40 115 n 80 45 E # C ` m 20 105 n 10 100 n 5 95 n 0 85 n 0 75 n 5 70 n 10 70 n 15 75 n 15 80 n 10 85 n 5 85 m 10 100 n 5 90 n 5 85 m 5 80 n 5 75 n 10 75 n 10 80 n 5 80 E # C a m 65 70 n 55 35 n 55 15 n 60 5 n 65 0 n 75 0 n 85 10 n 90 20 m 70 70 n 60 35 n 60 5 m 65 70 n 75 70 n 65 35 n 60 15 m 55 35 n 55 50 n 50 65 n 40 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 25 n 5 10 n 10 5 n 20 0 n 30 0 n 40 5 n 45 10 n 50 20 n 55 35 m 20 65 n 10 50 n 5 35 n 5 20 n 10 10 m 30 70 n 20 60 n 15 50 n 10 35 n 10 20 n 15 5 n 20 0 E # C b m 15 105 n 5 70 n 0 40 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 20 n 60 35 n 60 45 n 55 60 n 50 65 n 40 70 n 30 70 n 20 65 n 15 60 n 10 50 n 5 35 m 20 105 n 10 70 n 5 50 n 5 20 n 10 5 m 45 10 n 50 20 n 55 35 n 55 50 n 50 60 m 0 105 n 25 105 n 15 70 n 5 35 m 30 0 n 40 10 n 45 20 n 50 35 n 50 50 n 45 65 n 40 70 m 5 105 n 20 100 m 10 105 n 15 95 E # C c m 55 50 n 55 55 n 50 55 n 50 45 n 60 45 n 60 55 n 55 65 n 45 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 25 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 20 m 15 60 n 10 50 n 5 35 n 5 20 n 10 10 m 30 70 n 20 60 n 15 50 n 10 35 n 10 20 n 15 5 n 20 0 E # C d m 75 105 n 60 50 n 55 30 n 55 15 n 60 5 n 65 0 n 75 0 n 85 10 n 90 20 m 80 105 n 65 50 n 60 30 n 60 5 m 60 105 n 85 105 n 65 35 n 60 15 m 55 35 n 55 50 n 50 65 n 40 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 25 n 5 10 n 10 5 n 20 0 n 30 0 n 40 5 n 45 10 n 50 20 n 55 35 m 15 60 n 10 50 n 5 35 n 5 20 n 10 10 m 30 70 n 20 60 n 15 50 n 10 35 n 10 20 n 15 5 n 20 0 m 65 105 n 80 100 m 70 105 n 75 95 E # C e m 5 25 n 25 30 n 40 35 n 55 45 n 60 55 n 55 65 n 45 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 25 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 15 m 15 60 n 10 50 n 5 35 n 5 20 n 10 10 m 30 70 n 20 60 n 15 50 n 10 35 n 10 20 n 15 5 n 20 0 E # C f m 90 95 n 90 100 n 85 100 n 85 90 n 95 90 n 95 100 n 90 105 n 80 105 n 70 100 n 60 90 n 55 80 n 50 65 n 45 45 n 35 0 n 30 -15 n 25 -25 n 15 -35 m 60 85 n 55 70 n 50 45 n 40 0 n 35 -15 m 80 105 n 70 95 n 65 85 n 60 70 n 55 45 n 45 5 n 40 -10 n 35 -20 n 25 -30 n 15 -35 n 5 -35 n 0 -30 n 0 -20 n 10 -20 n 10 -30 n 5 -30 n 5 -25 m 30 70 n 85 70 E # C g m 75 70 n 55 0 n 50 -15 n 40 -30 n 30 -35 m 80 70 n 60 0 n 50 -20 m 75 70 n 85 70 n 65 0 n 55 -20 n 45 -30 n 30 -35 n 15 -35 n 5 -30 n 0 -25 n 0 -15 n 10 -15 n 10 -25 n 5 -25 n 5 -20 m 65 35 n 65 50 n 60 65 n 50 70 n 40 70 n 25 65 n 15 50 n 10 35 n 10 25 n 15 10 n 20 5 n 30 0 n 40 0 n 50 5 n 55 10 n 60 20 n 65 35 m 25 60 n 20 50 n 15 35 n 15 20 n 20 10 m 40 70 n 30 60 n 25 50 n 20 35 n 20 20 n 25 5 n 30 0 E # C h m 30 105 n 0 0 n 10 0 m 35 105 n 5 0 m 15 105 n 40 105 n 10 0 m 20 35 n 30 55 n 40 65 n 50 70 n 60 70 n 70 65 n 75 55 n 75 40 n 65 15 m 70 65 n 70 45 n 65 25 n 65 5 m 70 55 n 60 30 n 60 15 n 65 5 n 70 0 n 80 0 n 90 10 n 95 20 m 20 105 n 35 100 m 25 105 n 30 95 E # C i m 35 105 n 35 95 n 45 95 n 45 105 n 35 105 m 40 105 n 40 95 m 35 100 n 45 100 m 0 50 n 5 60 n 15 70 n 25 70 n 30 65 n 35 55 n 35 40 n 25 15 m 30 65 n 30 45 n 25 25 n 25 5 m 30 55 n 20 30 n 20 15 n 25 5 n 30 0 n 40 0 n 50 10 n 55 20 E # C j m 60 105 n 60 95 n 70 95 n 70 105 n 60 105 m 65 105 n 65 95 m 60 100 n 70 100 m 20 50 n 25 60 n 35 70 n 45 70 n 50 65 n 55 55 n 55 40 n 45 5 n 40 -10 n 35 -20 n 25 -30 n 15 -35 n 5 -35 n 0 -30 n 0 -20 n 10 -20 n 10 -30 n 5 -30 n 5 -25 m 50 65 n 50 40 n 40 5 n 35 -10 n 30 -20 m 50 55 n 45 35 n 35 0 n 30 -15 n 25 -25 n 15 -35 E # C k m 30 105 n 0 0 n 10 0 m 35 105 n 5 0 m 15 105 n 40 105 n 10 0 m 80 60 n 80 65 n 75 65 n 75 55 n 85 55 n 85 65 n 80 70 n 70 70 n 60 65 n 40 45 n 30 40 m 20 40 n 30 40 n 40 35 n 45 30 n 55 10 n 60 5 n 70 5 m 40 30 n 50 10 n 55 5 m 30 40 n 35 35 n 45 5 n 50 0 n 60 0 n 70 5 n 80 20 m 20 105 n 35 100 m 25 105 n 30 95 E # C l m 20 105 n 5 50 n 0 30 n 0 15 n 5 5 n 10 0 n 20 0 n 30 10 n 35 20 m 25 105 n 10 50 n 5 30 n 5 5 m 5 105 n 30 105 n 10 35 n 5 15 m 10 105 n 25 100 m 15 105 n 20 95 E # C m m 0 50 n 5 60 n 15 70 n 25 70 n 30 65 n 35 55 n 35 40 n 25 0 m 30 65 n 30 40 n 20 0 m 30 55 n 25 35 n 15 0 n 25 0 m 35 40 n 45 55 n 55 65 n 65 70 n 75 70 n 85 65 n 90 55 n 90 40 n 80 0 m 85 65 n 85 40 n 75 0 m 85 55 n 80 35 n 70 0 n 80 0 m 90 40 n 100 55 n 110 65 n 120 70 n 130 70 n 140 65 n 145 55 n 145 40 n 135 15 m 140 65 n 140 45 n 135 25 n 135 5 m 140 55 n 130 30 n 130 15 n 135 5 n 140 0 n 150 0 n 160 10 n 165 20 E # C n m 0 50 n 5 60 n 15 70 n 25 70 n 30 65 n 35 55 n 35 40 n 25 0 m 30 65 n 30 40 n 20 0 m 30 55 n 25 35 n 15 0 n 25 0 m 35 40 n 45 55 n 55 65 n 65 70 n 75 70 n 85 65 n 90 55 n 90 40 n 80 15 m 85 65 n 85 45 n 80 25 n 80 5 m 85 55 n 75 30 n 75 15 n 80 5 n 85 0 n 95 0 n 105 10 n 110 20 E # C o m 30 70 n 15 65 n 5 50 n 0 35 n 0 25 n 5 10 n 10 5 n 25 0 n 40 0 n 55 5 n 65 20 n 70 35 n 70 45 n 65 60 n 60 65 n 45 70 n 30 70 m 15 60 n 10 50 n 5 35 n 5 20 n 10 10 m 55 10 n 60 20 n 65 35 n 65 50 n 60 60 m 30 70 n 20 60 n 15 50 n 10 35 n 10 20 n 15 5 n 25 0 m 40 0 n 50 10 n 55 20 n 60 35 n 60 50 n 55 65 n 45 70 E # C p m 10 50 n 15 60 n 25 70 n 35 70 n 40 65 n 45 55 n 45 40 n 40 20 n 25 -35 m 40 65 n 40 40 n 35 20 n 20 -35 m 40 55 n 35 35 n 15 -35 m 45 35 n 50 50 n 55 60 n 60 65 n 70 70 n 80 70 n 90 65 n 95 60 n 100 45 n 100 35 n 95 20 n 85 5 n 70 0 n 60 0 n 50 5 n 45 20 n 45 35 m 90 60 n 95 50 n 95 35 n 90 20 n 85 10 m 80 70 n 85 65 n 90 50 n 90 35 n 85 20 n 80 10 n 70 0 m 0 -35 n 40 -35 m 20 -30 n 5 -35 m 20 -25 n 10 -35 m 25 -25 n 30 -35 m 20 -30 n 35 -35 E # C q m 65 70 n 35 -35 m 70 70 n 40 -35 m 65 70 n 75 70 n 45 -35 m 55 35 n 55 50 n 50 65 n 40 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 25 n 5 10 n 10 5 n 20 0 n 30 0 n 40 5 n 45 10 n 50 20 n 55 35 m 15 60 n 10 50 n 5 35 n 5 20 n 10 10 m 30 70 n 20 60 n 15 50 n 10 35 n 10 20 n 15 5 n 20 0 m 20 -35 n 60 -35 m 40 -30 n 25 -35 m 40 -25 n 30 -35 m 45 -25 n 50 -35 m 40 -30 n 55 -35 E # C r m 0 50 n 5 60 n 15 70 n 25 70 n 30 65 n 35 55 n 35 35 n 25 0 m 30 65 n 30 35 n 20 0 m 30 55 n 25 35 n 15 0 n 25 0 m 75 60 n 75 65 n 70 65 n 70 55 n 80 55 n 80 65 n 75 70 n 65 70 n 55 65 n 45 55 n 35 35 E # C s m 60 55 n 60 60 n 55 60 n 55 50 n 65 50 n 65 60 n 60 65 n 45 70 n 30 70 n 15 65 n 10 60 n 10 50 n 15 40 n 25 35 n 40 30 n 50 25 n 55 15 m 15 65 n 10 50 m 15 45 n 25 40 n 40 35 n 50 30 m 55 25 n 50 5 m 10 60 n 15 50 n 25 45 n 40 40 n 50 35 n 55 25 n 55 15 n 50 5 n 35 0 n 20 0 n 5 5 n 0 10 n 0 20 n 10 20 n 10 10 n 5 10 n 5 15 E # C t m 30 105 n 15 50 n 10 30 n 10 15 n 15 5 n 20 0 n 30 0 n 40 10 n 45 20 m 35 105 n 20 50 n 15 30 n 15 5 m 30 105 n 40 105 n 20 35 n 15 15 m 0 70 n 50 70 E # C u m 0 50 n 5 60 n 15 70 n 25 70 n 30 65 n 35 55 n 35 40 n 25 15 m 30 65 n 30 45 n 25 25 n 25 5 m 30 55 n 20 30 n 20 15 n 25 5 n 35 0 n 45 0 n 55 5 n 65 15 n 75 30 m 85 70 n 75 30 n 75 15 n 80 5 n 85 0 n 95 0 n 105 10 n 110 20 m 90 70 n 80 30 n 80 5 m 85 70 n 95 70 n 85 35 n 80 15 E # C v m 0 50 n 5 60 n 15 70 n 25 70 n 30 65 n 35 55 n 35 40 n 25 15 m 30 65 n 30 45 n 25 25 n 25 5 m 30 55 n 20 30 n 20 15 n 25 5 n 35 0 n 45 0 n 55 5 n 65 15 n 75 30 n 80 50 n 80 70 n 75 70 n 75 65 n 80 55 E # C w m 0 50 n 5 60 n 15 70 n 25 70 n 30 65 n 35 55 n 35 40 n 25 15 m 30 65 n 30 45 n 25 25 n 25 5 m 30 55 n 20 30 n 20 15 n 25 5 n 35 0 n 45 0 n 55 5 n 65 15 n 70 30 m 80 70 n 70 30 n 70 15 n 75 5 n 85 0 n 95 0 n 105 5 n 115 15 n 125 30 n 130 50 n 130 70 n 125 70 n 125 65 n 130 55 m 85 70 n 75 30 n 75 5 m 80 70 n 90 70 n 80 35 n 75 15 E # C x m 10 50 n 20 65 n 30 70 n 40 70 n 50 65 n 55 55 n 55 45 m 40 70 n 45 65 n 45 45 n 40 25 n 35 15 n 25 5 n 15 0 n 5 0 n 0 5 n 0 15 n 10 15 n 10 5 n 5 5 n 5 10 m 50 60 n 50 45 n 45 25 n 45 10 m 90 60 n 90 65 n 85 65 n 85 55 n 95 55 n 95 65 n 90 70 n 80 70 n 70 65 n 60 55 n 55 45 n 50 25 n 50 5 n 55 0 m 40 25 n 40 15 n 45 5 n 55 0 n 65 0 n 75 5 n 85 20 E # C y m 0 50 n 5 60 n 15 70 n 25 70 n 30 65 n 35 55 n 35 40 n 25 15 m 30 65 n 30 45 n 25 25 n 25 5 m 30 55 n 20 30 n 20 15 n 25 5 n 35 0 n 45 0 n 55 5 n 65 15 n 75 35 m 85 70 n 65 0 n 60 -15 n 50 -30 n 40 -35 m 90 70 n 70 0 n 60 -20 m 85 70 n 95 70 n 75 0 n 65 -20 n 55 -30 n 40 -35 n 25 -35 n 15 -30 n 10 -25 n 10 -15 n 20 -15 n 20 -25 n 15 -25 n 15 -20 E # C z m 70 70 n 65 60 n 55 50 n 15 20 n 5 10 n 0 0 m 65 60 n 20 60 n 10 55 n 5 45 m 55 60 n 35 65 n 20 65 n 15 60 m 55 60 n 35 70 n 20 70 n 10 60 n 5 45 m 5 10 n 50 10 n 60 15 n 65 25 m 15 10 n 35 5 n 50 5 n 55 10 m 15 10 n 35 0 n 50 0 n 60 10 n 65 25 E # C { m 25 125 n 15 120 n 10 115 n 5 105 n 5 95 n 10 85 n 15 80 n 20 70 n 20 60 n 10 50 m 15 120 n 10 110 n 10 100 n 15 90 n 20 85 n 25 75 n 25 65 n 20 55 n 0 45 n 20 35 n 25 25 n 25 15 n 20 5 n 15 0 n 10 -10 n 10 -20 n 15 -30 m 10 40 n 20 30 n 20 20 n 15 10 n 10 5 n 5 -5 n 5 -15 n 10 -25 n 15 -30 n 25 -35 E # C | m 0 125 n 0 -35 E # C } m 0 125 n 10 120 n 15 115 n 20 105 n 20 95 n 15 85 n 10 80 n 5 70 n 5 60 n 15 50 m 10 120 n 15 110 n 15 100 n 10 90 n 5 85 n 0 75 n 0 65 n 5 55 n 25 45 n 5 35 n 0 25 n 0 15 n 5 5 n 10 0 n 15 -10 n 15 -20 n 10 -30 m 15 40 n 5 30 n 5 20 n 10 10 n 15 5 n 20 -5 n 20 -15 n 15 -25 n 10 -30 n 0 -35 E # C ~ m 0 40 n 0 50 n 5 65 n 15 70 n 25 70 n 35 65 n 55 50 n 65 45 n 75 45 n 85 50 n 90 60 m 0 50 n 5 60 n 15 65 n 25 65 n 35 60 n 55 45 n 65 40 n 75 40 n 85 45 n 90 60 n 90 70 E # C *A m 45 105 n 10 0 m 45 105 n 80 0 m 45 90 n 75 0 m 20 30 n 65 30 m 0 0 n 30 0 m 60 0 n 90 0 E # C *B m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 60 105 n 75 100 n 80 95 n 85 85 n 85 75 n 80 65 n 75 60 n 60 55 m 60 105 n 70 100 n 75 95 n 80 85 n 80 75 n 75 65 n 70 60 n 60 55 m 20 55 n 60 55 n 75 50 n 80 45 n 85 35 n 85 20 n 80 10 n 75 5 n 60 0 n 0 0 m 60 55 n 70 50 n 75 45 n 80 35 n 80 20 n 75 10 n 70 5 n 60 0 E # C *Q m 45 105 n 45 0 m 50 105 n 50 0 m 0 70 n 5 75 n 15 70 n 20 50 n 25 40 n 30 35 n 40 30 m 5 75 n 10 70 n 15 50 n 20 40 n 25 35 n 40 30 n 55 30 n 70 35 n 75 40 n 80 50 n 85 70 n 90 75 m 55 30 n 65 35 n 70 40 n 75 50 n 80 70 n 90 75 n 95 70 m 30 105 n 65 105 m 30 0 n 65 0 E # C *D m 40 105 n 0 0 m 40 105 n 80 0 m 40 90 n 75 0 m 5 5 n 75 5 m 0 0 n 80 0 E # C *E m 15 105 n 15 0 m 20 105 n 20 0 m 50 75 n 50 35 m 0 105 n 80 105 n 80 75 n 75 105 m 20 55 n 50 55 m 0 0 n 80 0 n 80 30 n 75 0 E # C *F m 35 105 n 35 0 m 40 105 n 40 0 m 25 80 n 10 75 n 5 70 n 0 60 n 0 45 n 5 35 n 10 30 n 25 25 n 50 25 n 65 30 n 70 35 n 75 45 n 75 60 n 70 70 n 65 75 n 50 80 n 25 80 m 25 80 n 15 75 n 10 70 n 5 60 n 5 45 n 10 35 n 15 30 n 25 25 m 50 25 n 60 30 n 65 35 n 70 45 n 70 60 n 65 70 n 60 75 n 50 80 m 20 105 n 55 105 m 20 0 n 55 0 E # C *G m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 75 105 n 75 75 n 70 105 m 0 0 n 35 0 E # C *Y m 15 105 n 15 0 m 20 105 n 20 0 m 80 105 n 80 0 m 85 105 n 85 0 m 0 105 n 35 105 m 65 105 n 100 105 m 20 55 n 80 55 m 0 0 n 35 0 m 65 0 n 100 0 E # C *H m 35 105 n 20 100 n 10 90 n 5 80 n 0 60 n 0 45 n 5 25 n 10 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 n 75 25 n 80 45 n 80 60 n 75 80 n 70 90 n 60 100 n 45 105 n 35 105 m 35 105 n 25 100 n 15 90 n 10 80 n 5 60 n 5 45 n 10 25 n 15 15 n 25 5 n 35 0 m 45 0 n 55 5 n 65 15 n 70 25 n 75 45 n 75 60 n 70 80 n 65 90 n 55 100 n 45 105 m 15 40 n 20 40 n 20 45 n 25 50 n 55 50 n 60 45 n 60 40 n 65 40 n 65 65 n 60 65 n 60 60 n 55 55 n 25 55 n 20 60 n 20 65 n 15 65 n 15 40 E # C *I m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 35 105 m 0 0 n 35 0 E # C *C m 5 110 n 0 85 m 80 110 n 75 85 m 25 65 n 20 40 m 60 65 n 55 40 m 5 20 n 0 -5 m 80 20 n 75 -5 m 5 100 n 75 100 m 5 95 n 75 95 m 25 55 n 55 55 m 25 50 n 55 50 m 5 10 n 75 10 m 5 5 n 75 5 E # C *K m 15 105 n 15 0 m 20 105 n 20 0 m 85 105 n 20 40 m 45 60 n 85 0 m 40 60 n 80 0 m 0 105 n 35 105 m 65 105 n 95 105 m 0 0 n 35 0 m 65 0 n 95 0 E # C *L m 45 105 n 10 0 m 45 105 n 80 0 m 45 90 n 75 0 m 0 0 n 30 0 m 60 0 n 90 0 E # C *M m 15 105 n 15 0 m 20 105 n 50 15 m 15 105 n 50 0 m 85 105 n 50 0 m 85 105 n 85 0 m 90 105 n 90 0 m 0 105 n 20 105 m 85 105 n 105 105 m 0 0 n 30 0 m 70 0 n 105 0 E # C *N m 15 105 n 15 0 m 20 105 n 80 10 m 20 95 n 80 0 m 80 105 n 80 0 m 0 105 n 20 105 m 65 105 n 95 105 m 0 0 n 30 0 E # C *O m 35 105 n 20 100 n 10 90 n 5 80 n 0 60 n 0 45 n 5 25 n 10 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 n 75 25 n 80 45 n 80 60 n 75 80 n 70 90 n 60 100 n 45 105 n 35 105 m 35 105 n 25 100 n 15 90 n 10 80 n 5 60 n 5 45 n 10 25 n 15 15 n 25 5 n 35 0 m 45 0 n 55 5 n 65 15 n 70 25 n 75 45 n 75 60 n 70 80 n 65 90 n 55 100 n 45 105 E # C *P m 15 105 n 15 0 m 20 105 n 20 0 m 80 105 n 80 0 m 85 105 n 85 0 m 0 105 n 100 105 m 0 0 n 35 0 m 65 0 n 100 0 E # C *R m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 60 105 n 75 100 n 80 95 n 85 85 n 85 70 n 80 60 n 75 55 n 60 50 n 20 50 m 60 105 n 70 100 n 75 95 n 80 85 n 80 70 n 75 60 n 70 55 n 60 50 m 0 0 n 35 0 E # C *S m 5 105 n 40 55 n 0 0 m 0 105 n 35 55 m 0 105 n 75 105 n 80 75 n 70 105 m 5 5 n 70 5 m 0 0 n 75 0 n 80 30 n 70 0 E # C *T m 35 105 n 35 0 m 40 105 n 40 0 m 5 105 n 0 75 n 0 105 n 75 105 n 75 75 n 70 105 m 20 0 n 55 0 E # C *U m 35 105 n 20 100 n 10 90 n 5 80 n 0 60 n 0 45 n 5 25 n 10 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 n 75 25 n 80 45 n 80 60 n 75 80 n 70 90 n 60 100 n 45 105 n 35 105 m 35 105 n 25 100 n 15 90 n 10 80 n 5 60 n 5 45 n 10 25 n 15 15 n 25 5 n 35 0 m 45 0 n 55 5 n 65 15 n 70 25 n 75 45 n 75 60 n 70 80 n 65 90 n 55 100 n 45 105 m 25 70 n 25 35 m 55 70 n 55 35 m 25 55 n 55 55 m 25 50 n 55 50 E # C *W m 0 15 n 5 0 n 25 0 n 15 20 n 5 40 n 0 55 n 0 75 n 5 90 n 15 100 n 30 105 n 50 105 n 65 100 n 75 90 n 80 75 n 80 55 n 75 40 n 65 20 n 55 0 n 75 0 n 80 15 m 15 20 n 10 35 n 5 55 n 5 75 n 10 90 n 20 100 n 30 105 m 50 105 n 60 100 n 70 90 n 75 75 n 75 55 n 70 35 n 65 20 m 5 5 n 20 5 m 60 5 n 75 5 E # C *X m 10 105 n 75 0 m 15 105 n 80 0 m 80 105 n 10 0 m 0 105 n 30 105 m 60 105 n 90 105 m 0 0 n 30 0 m 60 0 n 90 0 E # C *U m 0 80 n 0 90 n 5 100 n 10 105 n 20 105 n 25 100 n 30 90 n 35 70 n 35 0 m 0 90 n 10 100 n 20 100 n 30 90 m 75 80 n 75 90 n 70 100 n 65 105 n 55 105 n 50 100 n 45 90 n 40 70 n 40 0 m 75 90 n 65 100 n 55 100 n 45 90 m 20 0 n 55 0 E # C *Z m 65 105 n 0 0 m 70 105 n 5 0 m 5 105 n 0 75 n 0 105 n 70 105 m 0 0 n 70 0 n 70 30 n 65 0 E # C *a m 35 70 n 20 65 n 10 55 n 5 45 n 0 30 n 0 15 n 5 5 n 20 0 n 30 0 n 40 5 n 55 20 n 65 35 n 75 55 n 80 70 m 35 70 n 25 65 n 15 55 n 10 45 n 5 30 n 5 15 n 10 5 n 20 0 m 35 70 n 45 70 n 55 65 n 60 55 n 70 15 n 75 5 n 80 0 m 45 70 n 50 65 n 55 55 n 65 15 n 70 5 n 80 0 n 85 0 E # C *b m 55 105 n 40 100 n 30 90 n 20 70 n 15 55 n 10 35 n 5 5 n 0 -35 m 55 105 n 45 100 n 35 90 n 25 70 n 20 55 n 15 35 n 10 5 n 5 -35 m 55 105 n 65 105 n 75 100 n 80 95 n 80 80 n 75 70 n 70 65 n 55 60 n 35 60 m 65 105 n 75 95 n 75 80 n 70 70 n 65 65 n 55 60 m 35 60 n 55 55 n 65 45 n 70 35 n 70 20 n 65 10 n 60 5 n 45 0 n 35 0 n 25 5 n 20 10 n 15 25 m 35 60 n 50 55 n 60 45 n 65 35 n 65 20 n 60 10 n 55 5 n 45 0 E # C *q m 70 105 n 40 -35 m 75 105 n 35 -35 m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 30 30 n 30 15 n 40 5 n 55 5 n 65 10 n 80 25 n 90 40 m 25 70 n 30 65 n 30 55 n 25 30 n 25 15 n 30 5 n 40 0 n 55 0 n 65 5 n 75 15 n 85 30 n 90 40 n 100 70 E # C *d m 50 65 n 40 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 20 n 60 35 n 60 50 n 55 60 n 35 85 n 30 95 n 30 105 n 35 110 n 45 110 n 55 105 n 65 95 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 20 n 55 35 n 55 55 n 50 65 n 40 80 n 35 90 n 35 100 n 40 105 n 50 105 n 65 95 E # C *e m 60 55 n 50 65 n 40 70 n 20 70 n 10 65 n 10 55 n 20 45 n 35 40 m 20 70 n 15 65 n 15 55 n 25 45 n 35 40 m 35 40 n 10 35 n 0 25 n 0 15 n 5 5 n 20 0 n 35 0 n 45 5 n 55 15 m 35 40 n 15 35 n 5 25 n 5 15 n 10 5 n 20 0 E # C *f m 25 65 n 15 60 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 35 0 n 50 5 n 65 15 n 75 30 n 80 45 n 80 60 n 70 70 n 60 70 n 50 60 n 40 40 n 30 15 n 15 -35 m 0 20 n 10 10 n 20 5 n 35 5 n 50 10 n 65 20 n 75 30 m 80 60 n 70 65 n 60 65 n 50 55 n 40 40 n 30 10 n 20 -35 E # C *g m 0 55 n 10 65 n 20 70 n 30 70 n 40 65 n 45 60 n 50 45 n 50 25 n 45 5 n 30 -35 m 5 60 n 15 65 n 35 65 n 45 60 m 85 70 n 80 55 n 75 45 n 50 10 n 35 -15 n 25 -35 m 80 70 n 75 55 n 70 45 n 50 10 E # C *y m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 30 35 n 20 0 m 25 70 n 30 65 n 30 55 n 25 35 n 15 0 m 30 35 n 40 55 n 50 65 n 60 70 n 70 70 n 80 65 n 85 60 n 85 45 n 80 20 n 65 -35 m 70 70 n 80 60 n 80 45 n 75 20 n 60 -35 E # C *i m 15 70 n 5 35 n 0 15 n 0 5 n 5 0 n 20 0 n 30 10 n 35 20 m 20 70 n 10 35 n 5 15 n 5 5 n 10 0 E # C *c m 40 105 n 30 100 n 25 95 n 25 90 n 30 85 n 45 80 n 60 80 m 45 80 n 25 75 n 15 70 n 10 60 n 10 50 n 20 40 n 35 35 n 50 35 m 45 80 n 30 75 n 20 70 n 15 60 n 15 50 n 25 40 n 35 35 m 35 35 n 15 30 n 5 25 n 0 15 n 0 5 n 10 -5 n 35 -15 n 40 -20 n 40 -30 n 30 -35 n 20 -35 m 35 35 n 20 30 n 10 25 n 5 15 n 5 5 n 15 -5 n 35 -15 E # C *k m 20 70 n 0 0 m 25 70 n 5 0 m 70 70 n 75 65 n 80 65 n 75 70 n 65 70 n 55 65 n 35 45 n 25 40 n 15 40 m 25 40 n 35 35 n 45 5 n 50 0 m 25 40 n 30 35 n 40 5 n 45 0 n 55 0 n 65 5 n 75 20 E # C *l m 5 105 n 15 105 n 25 100 n 30 95 n 35 85 n 65 15 n 70 5 n 75 0 m 15 105 n 25 95 n 30 85 n 60 15 n 65 5 n 75 0 n 80 0 m 40 70 n 0 0 m 40 70 n 5 0 E # C *m m 30 70 n 0 -35 m 35 70 n 5 -35 m 30 55 n 25 25 n 25 10 n 35 0 n 45 0 n 55 5 n 65 15 n 75 30 m 85 70 n 70 15 n 70 5 n 75 0 n 90 0 n 100 10 n 105 20 m 90 70 n 75 15 n 75 5 n 80 0 E # C *n m 15 70 n 5 0 m 20 70 n 15 40 n 10 15 n 5 0 m 70 70 n 65 50 n 55 30 m 75 70 n 70 55 n 65 45 n 55 30 n 45 20 n 30 10 n 20 5 n 5 0 m 0 70 n 20 70 E # C *o m 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 20 n 60 35 n 60 50 n 55 60 n 50 65 n 40 70 n 30 70 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 20 n 55 35 n 55 55 n 50 65 E # C *p m 35 65 n 15 0 m 35 65 n 20 0 m 65 65 n 65 0 m 65 65 n 70 0 m 0 55 n 10 65 n 25 70 n 90 70 m 0 55 n 10 60 n 25 65 n 90 65 E # C *r m 20 25 n 25 10 n 30 5 n 40 0 n 50 0 n 65 5 n 75 20 n 80 35 n 80 50 n 75 60 n 70 65 n 60 70 n 50 70 n 35 65 n 25 50 n 20 35 n 0 -35 m 50 0 n 60 5 n 70 20 n 75 35 n 75 55 n 70 65 m 50 70 n 40 65 n 30 50 n 25 35 n 5 -35 E # C *s m 80 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 20 n 60 35 n 60 50 n 55 60 n 50 65 n 40 70 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 20 n 55 35 n 55 55 n 50 65 m 50 65 n 80 65 E # C *t m 45 65 n 30 0 m 45 65 n 35 0 m 0 55 n 10 65 n 25 70 n 80 70 m 0 55 n 10 60 n 25 65 n 80 65 E # C *h m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 30 30 n 30 15 n 35 5 n 40 0 m 25 70 n 30 65 n 30 55 n 25 30 n 25 15 n 30 5 n 40 0 n 50 0 n 60 5 n 70 15 n 80 30 n 85 45 n 90 70 n 90 90 n 85 100 n 75 105 n 65 105 n 55 95 n 55 85 n 60 70 n 70 55 n 80 45 n 95 35 m 60 5 n 70 20 n 75 30 n 80 45 n 85 70 n 85 90 n 80 100 n 75 105 E # C *w m 5 50 n 15 60 n 30 65 n 25 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 5 n 10 0 n 20 0 n 30 5 n 40 20 n 45 35 m 0 20 n 5 10 n 10 5 n 20 5 n 30 10 n 40 20 m 40 35 n 40 20 n 45 5 n 50 0 n 60 0 n 70 5 n 80 20 n 85 35 n 85 50 n 80 65 n 75 70 n 70 65 n 80 60 n 85 50 m 40 20 n 45 10 n 50 5 n 60 5 n 70 10 n 80 20 E # C ts m 40 70 n 50 65 n 60 55 n 60 60 n 55 65 n 40 70 n 25 70 n 10 65 n 5 60 n 0 50 n 0 40 n 5 30 n 15 20 n 35 5 m 25 70 n 15 65 n 10 60 n 5 50 n 5 40 n 10 30 n 35 5 n 40 -5 n 40 -15 n 35 -20 n 25 -20 E # C *x m 5 70 n 15 70 n 25 65 n 30 55 n 55 -20 n 60 -30 n 65 -35 m 15 70 n 20 65 n 25 55 n 50 -20 n 55 -30 n 65 -35 n 75 -35 m 80 70 n 75 60 n 65 45 n 15 -10 n 5 -25 n 0 -35 E # C *u m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 25 25 n 25 10 n 35 0 m 25 70 n 30 65 n 30 55 n 20 25 n 20 10 n 25 5 n 35 0 n 40 0 n 55 5 n 65 15 n 75 30 n 80 45 n 80 60 n 75 70 n 70 65 n 75 60 n 80 45 m 75 30 n 80 60 E # C *z m 40 105 n 30 100 n 25 95 n 25 90 n 30 85 n 45 80 n 70 80 n 70 85 n 55 80 n 35 70 n 20 60 n 5 45 n 0 30 n 0 20 n 5 10 n 20 0 n 35 -10 n 40 -20 n 40 -30 n 35 -35 n 25 -35 n 20 -30 m 45 75 n 25 60 n 10 45 n 5 30 n 5 20 n 10 10 n 20 0 E # C pd m 60 45 n 55 60 n 50 65 n 40 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 15 n 60 30 n 65 55 n 65 80 n 60 95 n 55 100 n 45 105 n 30 105 n 20 100 n 15 95 n 15 90 n 20 90 n 20 95 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 15 n 55 30 n 60 55 n 60 80 n 55 95 n 45 105 E # C gr m 0 105 n 40 0 m 5 105 n 40 10 m 80 105 n 40 0 m 0 105 n 80 105 m 5 100 n 75 100 E xgks-2.6.1+dfsg.2/src/fontdb/SC.src0000644000175000017500000007562711413611016020001 0ustar amckinstryamckinstryU 0 # C ! m 40 105 n 35 100 n 25 40 m 40 100 n 25 40 m 40 105 n 45 100 n 25 40 m 15 10 n 10 5 n 15 0 n 20 5 n 15 10 E # C " m 25 105 n 20 100 n 20 70 m 25 100 n 20 70 m 25 105 n 30 100 n 20 70 m 70 105 n 65 100 n 65 70 m 70 100 n 65 70 m 70 105 n 75 100 n 65 70 E # C # m 40 105 n 5 -35 m 70 105 n 35 -35 m 5 50 n 75 50 m 0 20 n 70 20 E # C $ m 60 125 n 20 -20 m 85 125 n 45 -20 m 90 85 n 85 80 n 90 75 n 95 80 n 95 85 n 90 95 n 85 100 n 70 105 n 50 105 n 35 100 n 25 90 n 25 80 n 30 70 n 35 65 n 70 45 n 80 35 m 25 80 n 35 70 n 70 50 n 75 45 n 80 35 n 80 20 n 75 10 n 70 5 n 55 0 n 35 0 n 20 5 n 15 10 n 10 20 n 10 25 n 15 30 n 20 25 n 15 20 E # C % m 90 105 n 0 0 m 25 105 n 35 95 n 35 85 n 30 75 n 20 70 n 10 70 n 0 80 n 0 90 n 5 100 n 15 105 n 25 105 n 35 100 n 50 95 n 65 95 n 80 100 n 90 105 m 70 35 n 60 30 n 55 20 n 55 10 n 65 0 n 75 0 n 85 5 n 90 15 n 90 25 n 80 35 n 70 35 E # C & m 115 65 n 110 60 n 115 55 n 120 60 n 120 65 n 115 70 n 110 70 n 100 65 n 90 55 n 65 15 n 55 5 n 45 0 n 30 0 n 15 5 n 10 15 n 10 25 n 15 35 n 20 40 n 30 45 n 55 55 n 65 60 n 75 70 n 80 80 n 80 90 n 75 100 n 65 105 n 55 100 n 50 90 n 50 75 n 55 45 n 60 30 n 70 15 n 80 5 n 90 0 n 100 0 n 105 10 n 105 15 m 30 0 n 20 5 n 15 15 n 15 25 n 20 35 n 25 40 n 55 55 m 50 75 n 55 50 n 60 35 n 70 20 n 80 10 n 90 5 n 100 5 n 105 10 E # C ' m 25 95 n 20 100 n 25 105 n 30 100 n 30 90 n 25 80 n 20 75 E # C ( m 75 125 n 55 110 n 40 95 n 30 80 n 20 60 n 15 35 n 15 15 n 20 -10 n 25 -25 n 30 -35 m 55 110 n 40 90 n 30 70 n 25 55 n 20 30 n 20 5 n 25 -20 n 30 -35 E # C ) m 45 125 n 50 115 n 55 100 n 60 75 n 60 55 n 55 30 n 45 10 n 35 -5 n 20 -20 n 0 -35 m 45 125 n 50 110 n 55 85 n 55 60 n 50 35 n 45 20 n 35 0 n 20 -20 E # C * m 50 105 n 50 45 m 25 90 n 75 60 m 75 90 n 25 60 E # C + m 65 90 n 65 0 m 20 45 n 110 45 E # C , m 15 0 n 10 5 n 15 10 n 20 5 n 20 0 n 15 -10 n 5 -20 E # C - m 20 45 n 110 45 E # C . m 15 10 n 10 5 n 15 0 n 20 5 n 15 10 E # C / m 120 125 n -10 -35 E # C 0 m 60 105 n 45 100 n 35 90 n 25 75 n 20 60 n 15 40 n 15 25 n 20 10 n 25 5 n 35 0 n 45 0 n 60 5 n 70 15 n 80 30 n 85 45 n 90 65 n 90 80 n 85 95 n 80 100 n 70 105 n 60 105 m 60 105 n 50 100 n 40 90 n 30 75 n 25 60 n 20 40 n 20 25 n 25 10 n 35 0 m 45 0 n 55 5 n 65 15 n 75 30 n 80 45 n 85 65 n 85 80 n 80 95 n 70 105 E # C 1 m 60 85 n 35 0 m 70 105 n 40 0 m 70 105 n 55 90 n 40 80 n 30 75 m 65 90 n 45 80 n 30 75 E # C 2 m 35 85 n 40 80 n 35 75 n 30 80 n 30 85 n 35 95 n 40 100 n 55 105 n 70 105 n 85 100 n 90 90 n 90 80 n 85 70 n 75 60 n 60 50 n 40 40 n 25 30 n 15 20 n 5 0 m 70 105 n 80 100 n 85 90 n 85 80 n 80 70 n 70 60 n 40 40 m 10 10 n 15 15 n 25 15 n 50 5 n 65 5 n 75 10 n 80 20 m 25 15 n 50 0 n 65 0 n 75 5 n 80 20 E # C 3 m 35 85 n 40 80 n 35 75 n 30 80 n 30 85 n 35 95 n 40 100 n 55 105 n 70 105 n 85 100 n 90 90 n 90 80 n 85 70 n 70 60 n 55 55 m 70 105 n 80 100 n 85 90 n 85 80 n 80 70 n 70 60 m 45 55 n 55 55 n 70 50 n 75 45 n 80 35 n 80 20 n 75 10 n 70 5 n 55 0 n 35 0 n 20 5 n 15 10 n 10 20 n 10 25 n 15 30 n 20 25 n 15 20 m 55 55 n 65 50 n 70 45 n 75 35 n 75 20 n 70 10 n 65 5 n 55 0 E # C 4 m 80 100 n 50 0 m 85 105 n 55 0 m 85 105 n 10 30 n 90 30 E # C 5 m 45 105 n 20 55 m 45 105 n 95 105 m 45 100 n 70 100 n 95 105 m 20 55 n 25 60 n 40 65 n 55 65 n 70 60 n 75 55 n 80 45 n 80 30 n 75 15 n 65 5 n 50 0 n 35 0 n 20 5 n 15 10 n 10 20 n 10 25 n 15 30 n 20 25 n 15 20 m 55 65 n 65 60 n 70 55 n 75 45 n 75 30 n 70 15 n 60 5 n 50 0 E # C 6 m 85 90 n 80 85 n 85 80 n 90 85 n 90 90 n 85 100 n 75 105 n 60 105 n 45 100 n 35 90 n 25 75 n 20 60 n 15 40 n 15 20 n 20 10 n 25 5 n 35 0 n 50 0 n 65 5 n 75 15 n 80 25 n 80 40 n 75 50 n 70 55 n 60 60 n 45 60 n 35 55 n 25 45 n 20 35 m 60 105 n 50 100 n 40 90 n 30 75 n 25 60 n 20 40 n 20 15 n 25 5 m 50 0 n 60 5 n 70 15 n 75 25 n 75 45 n 70 55 E # C 7 m 30 105 n 20 75 m 95 105 n 90 90 n 80 75 n 55 45 n 45 30 n 40 20 n 35 0 m 80 75 n 50 45 n 40 30 n 35 20 n 30 0 m 25 90 n 40 105 n 50 105 n 75 90 m 30 95 n 40 100 n 50 100 n 75 90 n 85 90 n 90 95 n 95 105 E # C 8 m 55 105 n 40 100 n 35 95 n 30 85 n 30 70 n 35 60 n 45 55 n 60 55 n 80 60 n 85 65 n 90 75 n 90 90 n 85 100 n 70 105 n 55 105 m 55 105 n 45 100 n 40 95 n 35 85 n 35 70 n 40 60 n 45 55 m 60 55 n 75 60 n 80 65 n 85 75 n 85 90 n 80 100 n 70 105 m 45 55 n 25 50 n 15 40 n 10 30 n 10 15 n 15 5 n 30 0 n 50 0 n 70 5 n 75 10 n 80 20 n 80 35 n 75 45 n 70 50 n 60 55 m 45 55 n 30 50 n 20 40 n 15 30 n 15 15 n 20 5 n 30 0 m 50 0 n 65 5 n 70 10 n 75 20 n 75 40 n 70 50 E # C 9 m 85 70 n 80 60 n 70 50 n 60 45 n 45 45 n 35 50 n 30 55 n 25 65 n 25 80 n 30 90 n 40 100 n 55 105 n 70 105 n 80 100 n 85 95 n 90 85 n 90 65 n 85 45 n 80 30 n 70 15 n 60 5 n 45 0 n 30 0 n 20 5 n 15 15 n 15 20 n 20 25 n 25 20 n 20 15 m 35 50 n 30 60 n 30 80 n 35 90 n 45 100 n 55 105 m 80 100 n 85 90 n 85 65 n 80 45 n 75 30 n 65 15 n 55 5 n 45 0 E # C : m 30 70 n 25 65 n 30 60 n 35 65 n 30 70 m 15 10 n 10 5 n 15 0 n 20 5 E # C ; m 30 70 n 25 65 n 30 60 n 35 65 n 30 70 m 15 0 n 10 5 n 15 10 n 20 5 n 20 0 n 15 -10 n 5 -20 E # C < m 80 90 n 0 45 n 80 0 E # C = m 20 60 n 110 60 m 20 30 n 110 30 E # C > m 0 90 n 80 45 n 0 0 E # C ? m 35 85 n 40 80 n 35 75 n 30 80 n 30 85 n 35 95 n 40 100 n 55 105 n 75 105 n 90 100 n 95 90 n 95 80 n 90 70 n 85 65 n 55 55 n 45 50 n 45 40 n 50 35 n 60 35 m 75 105 n 85 100 n 90 90 n 90 80 n 85 70 n 80 65 n 70 60 m 40 10 n 35 5 n 40 0 n 45 5 n 40 10 E # C A m 95 105 n 85 95 n 75 80 n 60 55 n 50 40 n 35 20 n 20 5 n 10 0 n 0 0 n -5 5 n -5 15 n 0 20 n 5 15 n 0 10 m 95 105 n 90 85 n 80 35 n 75 0 m 95 105 n 80 0 m 75 0 n 75 10 n 70 25 n 65 35 n 55 45 n 45 50 n 35 50 n 30 45 n 30 35 n 35 20 n 50 5 n 65 0 n 85 0 n 95 5 E # C B m 75 100 n 70 95 n 65 85 n 55 60 n 45 30 n 40 20 n 30 5 n 20 0 m 70 95 n 65 80 n 55 40 n 50 25 n 45 15 n 35 5 n 20 0 n 10 0 n 5 5 n 5 15 n 10 20 n 15 15 n 10 10 m 45 75 n 40 65 n 35 60 n 25 60 n 20 65 n 20 75 n 25 85 n 35 95 n 45 100 n 60 105 n 90 105 n 100 100 n 105 90 n 105 80 n 100 70 n 90 65 n 70 60 n 60 60 m 90 105 n 95 100 n 100 90 n 100 80 n 95 70 n 90 65 m 70 60 n 85 55 n 90 50 n 95 40 n 95 25 n 90 10 n 85 5 n 75 0 n 65 0 n 60 5 n 60 15 n 65 30 m 70 60 n 80 55 n 85 50 n 90 40 n 90 25 n 85 10 n 75 0 E # C C m 15 95 n 10 85 n 10 75 n 15 65 n 30 60 n 45 60 n 65 65 n 75 70 n 85 80 n 90 90 n 90 100 n 85 105 n 75 105 n 60 100 n 45 85 n 35 70 n 25 50 n 20 30 n 20 15 n 25 5 n 40 0 n 50 0 n 65 5 n 75 15 n 80 25 n 80 35 n 75 45 n 65 45 n 55 40 n 50 30 m 75 105 n 65 100 n 50 85 n 40 70 n 30 50 n 25 30 n 25 15 n 30 5 n 40 0 E # C D m 75 100 n 70 95 n 65 85 n 55 60 n 45 30 n 40 20 n 30 5 n 20 0 m 70 95 n 65 80 n 55 40 n 50 25 n 45 15 n 35 5 n 20 0 n 10 0 n 5 5 n 5 15 n 10 20 n 20 20 n 30 15 n 40 5 n 50 0 n 65 0 n 75 5 n 85 15 n 95 35 n 100 60 n 100 75 n 95 90 n 85 100 n 75 105 n 50 105 n 35 100 n 25 90 n 20 80 n 20 70 n 25 65 n 35 65 n 40 70 n 45 80 E # C E m 70 90 n 65 85 n 65 75 n 70 70 n 80 70 n 85 80 n 85 90 n 80 100 n 70 105 n 55 105 n 45 100 n 40 95 n 35 85 n 35 75 n 40 65 n 50 60 m 55 105 n 45 95 n 40 85 n 40 70 n 50 60 m 50 60 n 40 60 n 25 55 n 15 45 n 10 35 n 10 20 n 15 10 n 20 5 n 30 0 n 45 0 n 60 5 n 70 15 n 75 25 n 75 35 n 70 45 n 60 45 n 50 40 n 45 30 m 40 60 n 30 55 n 20 45 n 15 35 n 15 15 n 20 5 E # C F m 80 95 n 75 85 n 65 60 n 55 30 n 50 20 n 40 5 n 30 0 m 50 75 n 45 65 n 35 60 n 25 60 n 20 70 n 20 80 n 25 90 n 35 100 n 50 105 n 100 105 n 85 100 n 80 95 n 75 80 n 65 40 n 60 25 n 55 15 n 45 5 n 30 0 n 20 0 n 10 5 n 5 10 n 5 15 n 10 20 n 15 15 n 10 10 m 60 105 n 80 100 n 85 100 m 40 40 n 45 45 n 55 50 n 75 50 n 85 55 n 95 70 n 85 35 E # C G m 15 90 n 10 80 n 10 70 n 15 60 n 25 55 n 40 55 n 55 60 n 65 65 n 80 80 n 85 95 n 85 100 n 80 105 n 75 105 n 65 100 n 55 90 n 50 80 n 45 65 n 45 50 n 50 40 n 60 35 n 70 35 n 80 40 n 90 50 n 95 60 m 80 105 n 70 100 n 60 90 n 55 80 n 50 65 n 50 45 n 60 35 m 95 60 n 90 40 n 80 20 n 70 10 n 60 5 n 40 0 n 25 0 n 15 5 n 10 15 n 10 20 n 15 25 n 20 20 n 15 15 m 90 40 n 80 25 n 70 15 n 55 5 n 40 0 E # C H m 30 75 n 25 80 n 25 90 n 30 100 n 45 105 n 60 105 n 45 50 n 35 20 n 30 10 n 25 5 n 15 0 n 5 0 n 0 5 n 0 15 n 5 20 n 10 15 n 5 10 m 60 105 n 45 60 n 40 45 n 30 20 n 25 10 n 15 0 m 20 35 n 25 40 n 35 45 n 80 60 n 90 65 n 105 75 n 115 85 n 120 95 n 120 100 n 115 105 n 110 105 n 100 100 n 90 85 n 85 75 n 75 45 n 70 25 n 70 10 n 80 0 n 85 0 n 95 5 n 105 15 m 110 105 n 100 95 n 90 75 n 80 45 n 75 25 n 75 10 n 80 0 E # C I m 70 95 n 60 80 n 50 55 n 40 30 n 35 20 n 25 5 n 15 0 m 80 75 n 70 65 n 55 60 n 40 60 n 30 65 n 25 75 n 25 85 n 30 95 n 40 100 n 60 105 n 80 105 n 70 95 n 65 85 n 55 55 n 45 25 n 40 15 n 30 5 n 15 0 n 5 0 n 0 5 n 0 15 n 5 20 n 10 15 n 5 10 E # C J m 80 105 n 70 95 n 60 80 n 50 55 n 35 10 n 25 -10 m 80 70 n 70 60 n 55 55 n 40 55 n 30 60 n 25 70 n 25 80 n 30 90 n 40 100 n 60 105 n 80 105 n 70 90 n 65 80 n 50 35 n 40 15 n 35 5 n 25 -10 n 20 -15 n 10 -20 n 5 -15 n 5 -5 n 10 5 n 20 15 n 30 20 n 45 25 n 65 30 E # C K m 30 75 n 25 80 n 25 90 n 35 100 n 50 105 n 60 105 n 45 50 n 35 20 n 30 10 n 25 5 n 15 0 n 5 0 n 0 5 n 0 15 n 5 20 n 10 15 n 5 10 m 60 105 n 45 60 n 40 45 n 30 20 n 25 10 n 15 0 m 100 100 n 85 80 n 75 70 n 65 65 n 50 60 m 115 100 n 110 95 n 115 90 n 120 95 n 120 100 n 115 105 n 110 105 n 100 100 n 85 75 n 80 70 n 70 65 n 50 60 m 50 60 n 65 55 n 70 45 n 75 10 n 80 0 m 50 60 n 60 55 n 65 45 n 70 10 n 80 0 n 85 0 n 95 5 n 105 15 E # C L m 20 90 n 15 80 n 15 70 n 20 60 n 30 55 n 45 55 n 60 60 n 70 65 n 85 80 n 90 95 n 90 100 n 85 105 n 80 105 n 70 100 n 65 95 n 55 80 n 35 30 n 30 20 n 20 5 n 10 0 m 65 95 n 55 75 n 45 40 n 40 25 n 35 15 n 25 5 n 10 0 n 0 0 n -5 5 n -5 15 n 0 20 n 10 20 n 20 15 n 35 5 n 45 0 n 60 0 n 70 5 n 80 15 E # C M m 70 105 n 50 60 n 35 30 n 25 15 n 15 5 n 5 0 n -5 0 n -10 5 n -10 15 n -5 20 n 0 15 n -5 10 m 70 105 n 60 70 n 55 50 n 50 25 n 50 5 n 60 0 m 70 105 n 65 85 n 60 60 n 55 25 n 55 5 n 60 0 m 115 105 n 95 60 n 70 15 n 60 0 m 115 105 n 105 70 n 100 50 n 95 25 n 95 5 n 105 0 n 110 0 n 120 5 n 130 15 m 115 105 n 110 85 n 105 60 n 100 25 n 100 5 n 105 0 E # C N m 55 105 n 50 85 n 40 55 n 30 30 n 25 20 n 15 5 n 5 0 n -5 0 n -10 5 n -10 15 n -5 20 n 0 15 n -5 10 m 55 105 n 55 80 n 60 25 n 65 0 m 55 105 n 60 80 n 65 25 n 65 0 m 125 100 n 120 95 n 125 90 n 130 95 n 130 100 n 125 105 n 115 105 n 105 100 n 95 85 n 90 75 n 80 50 n 70 20 n 65 0 E # C O m 55 105 n 45 100 n 35 90 n 25 75 n 20 65 n 15 45 n 15 25 n 20 10 n 25 5 n 35 0 n 45 0 n 60 5 n 70 15 n 80 30 n 85 40 n 90 60 n 90 80 n 85 95 n 80 100 n 75 100 n 65 95 n 55 85 n 45 65 n 40 40 n 40 25 m 45 100 n 35 85 n 25 65 n 20 45 n 20 25 n 25 10 n 35 0 E # C P m 75 100 n 70 95 n 65 85 n 55 60 n 45 30 n 40 20 n 30 5 n 20 0 m 70 95 n 65 80 n 55 40 n 50 25 n 45 15 n 35 5 n 20 0 n 10 0 n 5 5 n 5 15 n 10 20 n 15 15 n 10 10 m 45 75 n 40 65 n 35 60 n 25 60 n 20 65 n 20 75 n 25 85 n 35 95 n 45 100 n 60 105 n 80 105 n 95 100 n 100 95 n 105 85 n 105 70 n 100 60 n 95 55 n 80 50 n 70 50 n 60 55 m 80 105 n 90 100 n 95 95 n 100 85 n 100 70 n 95 60 n 90 55 n 80 50 E # C Q m 65 85 n 65 75 n 60 65 n 55 60 n 45 55 n 35 55 n 30 65 n 30 75 n 35 90 n 45 100 n 60 105 n 75 105 n 85 100 n 90 90 n 90 70 n 85 55 n 75 40 n 55 20 n 40 10 n 30 5 n 15 0 n 5 0 n 0 5 n 0 15 n 5 20 n 15 20 n 25 15 n 40 5 n 55 0 n 70 0 n 80 5 n 90 15 m 75 105 n 80 100 n 85 90 n 85 70 n 80 55 n 70 40 n 55 25 n 35 10 n 15 0 E # C R m 75 100 n 70 95 n 65 85 n 55 60 n 45 30 n 40 20 n 30 5 n 20 0 m 70 95 n 65 80 n 55 40 n 50 25 n 45 15 n 35 5 n 20 0 n 10 0 n 5 5 n 5 15 n 10 20 n 15 15 n 10 10 m 45 75 n 40 65 n 35 60 n 25 60 n 20 65 n 20 75 n 25 85 n 35 95 n 45 100 n 60 105 n 85 105 n 100 100 n 105 90 n 105 80 n 100 70 n 95 65 n 80 60 n 60 60 m 85 105 n 95 100 n 100 90 n 100 80 n 95 70 n 90 65 n 80 60 m 60 60 n 75 55 n 80 45 n 85 10 n 90 0 m 60 60 n 70 55 n 75 45 n 80 10 n 90 0 n 95 0 n 105 5 n 115 15 E # C S m 30 90 n 25 80 n 25 70 n 30 60 n 40 55 n 55 55 n 70 60 n 80 65 n 95 80 n 100 95 n 100 100 n 95 105 n 90 105 n 80 100 n 75 95 n 70 85 n 65 70 n 55 35 n 50 20 n 40 5 n 30 0 m 70 85 n 65 65 n 60 30 n 55 15 n 45 5 n 30 0 n 15 0 n 5 5 n 0 15 n 0 20 n 5 25 n 10 20 n 5 15 E # C T m 80 95 n 75 85 n 65 60 n 55 30 n 50 20 n 40 5 n 30 0 m 50 75 n 45 65 n 35 60 n 25 60 n 20 70 n 20 80 n 25 90 n 35 100 n 50 105 n 95 105 n 85 100 n 80 95 n 75 80 n 65 40 n 60 25 n 55 15 n 45 5 n 30 0 n 20 0 n 10 5 n 5 10 n 5 15 n 10 20 n 15 15 n 10 10 m 60 105 n 80 100 n 85 100 E # C U m 5 85 n 15 100 n 25 105 n 30 105 n 40 95 n 40 80 n 35 65 n 20 25 n 20 10 n 25 0 m 30 105 n 35 95 n 35 80 n 20 40 n 15 25 n 15 10 n 25 0 n 35 0 n 45 5 n 60 20 n 70 35 n 75 45 m 95 105 n 75 45 n 70 25 n 70 10 n 80 0 n 85 0 n 95 5 n 105 15 m 100 105 n 80 45 n 75 25 n 75 10 n 80 0 E # C V m 5 85 n 15 100 n 25 105 n 30 105 n 40 95 n 40 80 n 35 60 n 25 25 n 25 10 n 30 0 m 30 105 n 35 95 n 35 80 n 25 45 n 20 25 n 20 10 n 30 0 n 35 0 n 50 5 n 65 20 n 75 35 n 85 55 n 90 70 n 95 90 n 95 100 n 90 105 n 85 105 n 80 100 n 75 90 n 75 75 n 80 65 n 90 55 n 100 50 n 110 50 E # C W m 15 75 n 10 75 n 5 80 n 5 90 n 10 100 n 20 105 n 40 105 n 35 95 n 30 75 n 25 30 n 20 0 m 30 75 n 30 30 n 25 0 m 80 105 n 70 95 n 60 75 n 45 30 n 35 10 n 25 0 m 80 105 n 75 95 n 70 75 n 65 30 n 60 0 m 70 75 n 70 30 n 65 0 m 130 105 n 120 100 n 110 90 n 100 75 n 85 30 n 75 10 n 65 0 E # C X m 40 80 n 35 75 n 25 75 n 20 80 n 20 90 n 25 100 n 35 105 n 45 105 n 55 100 n 60 90 n 60 75 n 55 55 n 45 30 n 35 15 n 25 5 n 10 0 n 0 0 n -5 5 n -5 15 n 0 20 n 5 15 n 0 10 m 45 105 n 50 100 n 55 90 n 55 75 n 50 55 n 40 30 n 30 15 n 20 5 n 10 0 m 105 100 n 100 95 n 105 90 n 110 95 n 110 100 n 105 105 n 95 105 n 85 100 n 75 90 n 65 75 n 55 55 n 50 30 n 50 15 n 55 5 n 60 0 n 65 0 n 75 5 n 85 15 E # C Y m 15 85 n 25 100 n 35 105 n 40 105 n 50 100 n 50 90 n 40 60 n 40 45 n 45 35 m 40 105 n 45 100 n 45 90 n 35 60 n 35 45 n 45 35 n 55 35 n 70 40 n 80 50 n 90 65 n 95 75 m 105 105 n 95 75 n 80 35 n 70 15 m 110 105 n 100 75 n 90 50 n 80 30 n 70 15 n 60 5 n 45 0 n 25 0 n 15 5 n 10 15 n 10 20 n 15 25 n 20 20 n 15 15 E # C Z m 95 95 n 90 85 n 80 60 n 75 45 n 70 35 n 60 20 n 50 10 n 40 5 n 25 0 m 60 75 n 55 65 n 45 60 n 35 60 n 30 70 n 30 80 n 35 90 n 45 100 n 60 105 n 110 105 n 100 100 n 95 95 n 90 80 n 85 60 n 75 30 n 65 15 n 50 5 n 25 0 n 5 0 n 0 5 n 0 15 n 5 20 n 15 20 n 25 15 n 40 5 n 50 0 n 65 0 n 80 5 n 90 15 m 75 105 n 95 100 n 100 100 E # C [ m 0 125 n 0 -35 m 5 125 n 5 -35 m 0 125 n 35 125 m 0 -35 n 35 -35 E # C \ m 0 105 n 70 -15 E # C ] m 30 125 n 30 -35 m 35 125 n 35 -35 m 0 125 n 35 125 m 0 -35 n 35 -35 E # C ^ m 40 115 n 0 45 m 40 115 n 80 45 E # C ` m 5 105 n 30 75 m 5 105 n 0 100 n 30 75 E # C a m 50 30 n 45 40 n 35 45 n 25 45 n 15 40 n 10 35 n 5 25 n 5 15 n 10 5 n 20 0 n 30 0 n 40 5 n 45 15 m 25 45 n 15 35 n 10 25 n 10 10 n 20 0 m 55 45 n 45 15 n 45 5 n 55 0 n 65 5 n 70 10 n 80 25 m 60 45 n 50 15 n 50 5 n 55 0 E # C b m 0 25 n 10 40 n 20 60 m 35 105 n 5 15 n 5 5 n 15 0 n 20 0 n 30 5 n 40 15 n 45 30 n 45 45 n 50 25 n 55 20 n 60 20 n 70 25 m 40 105 n 10 15 n 10 5 n 15 0 E # C c m 40 40 n 35 35 n 40 35 n 40 40 n 35 45 n 25 45 n 15 40 n 10 35 n 5 25 n 5 15 n 10 5 n 20 0 n 35 0 n 50 10 n 60 25 m 25 45 n 15 35 n 10 25 n 10 10 n 20 0 E # C d m 50 30 n 45 40 n 35 45 n 25 45 n 15 40 n 10 35 n 5 25 n 5 15 n 10 5 n 20 0 n 30 0 n 40 5 n 45 15 m 25 45 n 15 35 n 10 25 n 10 10 n 20 0 m 75 105 n 45 15 n 45 5 n 55 0 n 65 5 n 70 10 n 80 25 m 80 105 n 50 15 n 50 5 n 55 0 E # C e m 15 10 n 25 15 n 30 20 n 35 30 n 35 40 n 30 45 n 25 45 n 15 40 n 10 35 n 5 25 n 5 15 n 10 5 n 20 0 n 35 0 n 50 10 n 60 25 m 25 45 n 15 35 n 10 25 n 10 10 n 20 0 E # C f m 15 45 n 30 60 n 40 75 n 45 90 n 45 100 n 40 105 n 30 100 n 25 90 n -20 -45 n -20 -55 n -15 -60 n -5 -55 n 0 -40 n 5 5 n 10 0 n 20 0 n 30 5 n 35 10 n 45 25 m 25 90 n 20 65 n 15 45 n 0 0 n -10 -25 n -20 -45 E # C g m 50 30 n 45 40 n 35 45 n 25 45 n 15 40 n 10 35 n 5 25 n 5 15 n 10 5 n 20 0 n 30 0 n 40 5 n 45 15 m 25 45 n 15 35 n 10 25 n 10 10 n 20 0 m 55 45 n 25 -45 m 60 45 n 45 0 n 35 -25 n 25 -45 n 20 -55 n 10 -60 n 5 -55 n 5 -45 n 10 -30 n 20 -20 n 35 -10 n 55 0 n 70 10 n 80 25 E # C h m 0 25 n 10 40 n 20 60 m 35 105 n 0 0 m 40 105 n 5 0 m 15 30 n 25 40 n 35 45 n 40 45 n 50 40 n 50 30 n 45 15 n 45 5 n 50 0 m 40 45 n 45 40 n 45 30 n 40 15 n 40 5 n 50 0 n 60 5 n 65 10 n 75 25 E # C i m 25 75 n 20 70 n 25 65 n 30 70 n 25 75 m 15 45 n 5 15 n 5 5 n 15 0 n 25 5 n 30 10 n 40 25 m 20 45 n 10 15 n 10 5 n 15 0 E # C j m 25 75 n 20 70 n 25 65 n 30 70 n 25 75 m 15 45 n -15 -45 m 20 45 n 5 0 n -5 -25 n -15 -45 n -20 -55 n -30 -60 n -35 -55 n -35 -45 n -30 -30 n -20 -20 n -5 -10 n 15 0 n 30 10 n 40 25 E # C k m 0 25 n 10 40 n 20 60 m 35 105 n 0 0 m 40 105 n 5 0 m 45 45 n 45 40 n 50 40 n 45 45 n 40 45 n 30 35 n 15 30 m 15 30 n 30 25 n 35 5 n 40 0 m 15 30 n 25 25 n 30 5 n 40 0 n 45 0 n 60 10 n 70 25 E # C l m 0 25 n 10 40 n 20 60 m 35 105 n 5 15 n 5 5 n 15 0 n 25 5 n 30 10 n 40 25 m 40 105 n 10 15 n 10 5 n 15 0 E # C m m 0 25 n 10 40 n 20 45 n 30 40 n 30 30 n 20 0 m 20 45 n 25 40 n 25 30 n 15 0 m 30 30 n 40 40 n 50 45 n 55 45 n 65 40 n 65 30 n 55 0 m 55 45 n 60 40 n 60 30 n 50 0 m 65 30 n 75 40 n 85 45 n 90 45 n 100 40 n 100 30 n 95 15 n 95 5 n 100 0 m 90 45 n 95 40 n 95 30 n 90 15 n 90 5 n 100 0 n 110 5 n 115 10 n 125 25 E # C n m 0 25 n 10 40 n 20 45 n 30 40 n 30 30 n 20 0 m 20 45 n 25 40 n 25 30 n 15 0 m 30 30 n 40 40 n 50 45 n 55 45 n 65 40 n 65 30 n 60 15 n 60 5 n 65 0 m 55 45 n 60 40 n 60 30 n 55 15 n 55 5 n 65 0 n 75 5 n 80 10 n 90 25 E # C o m 35 45 n 25 45 n 15 40 n 10 35 n 5 25 n 5 15 n 10 5 n 20 0 n 30 0 n 40 5 n 45 10 n 50 20 n 50 30 n 45 40 n 35 45 n 30 40 n 30 30 n 35 20 n 45 15 n 55 15 n 65 20 n 70 25 m 25 45 n 15 35 n 10 25 n 10 10 n 20 0 E # C p m 0 25 n 10 40 n 20 60 m 25 75 n -20 -60 m 30 75 n -15 -60 m 15 30 n 25 40 n 35 45 n 40 45 n 50 40 n 50 30 n 45 15 n 45 5 n 50 0 m 40 45 n 45 40 n 45 30 n 40 15 n 40 5 n 50 0 n 60 5 n 65 10 n 75 25 E # C q m 50 30 n 45 40 n 35 45 n 25 45 n 15 40 n 10 35 n 5 25 n 5 15 n 10 5 n 20 0 n 30 0 n 40 5 m 25 45 n 15 35 n 10 25 n 10 10 n 20 0 m 55 45 n 25 -45 n 25 -55 n 30 -60 n 40 -55 n 45 -40 n 45 0 n 55 0 n 70 10 n 80 25 m 60 45 n 45 0 n 35 -25 n 25 -45 E # C r m 0 25 n 10 40 n 20 45 n 30 40 n 30 30 n 20 0 m 20 45 n 25 40 n 25 30 n 15 0 m 30 30 n 40 40 n 50 45 n 55 45 n 50 30 m 50 45 n 50 30 n 55 20 n 60 20 n 70 25 E # C s m 0 25 n 10 40 n 15 50 n 15 40 n 30 30 n 35 20 n 35 10 n 30 5 n 20 0 m 15 40 n 25 30 n 30 20 n 30 10 n 20 0 m 0 5 n 10 0 n 35 0 n 50 10 n 60 25 E # C t m 0 25 n 10 40 n 20 60 m 35 105 n 5 15 n 5 5 n 15 0 n 25 5 n 30 10 n 40 25 m 40 105 n 10 15 n 10 5 n 15 0 m 10 65 n 40 65 E # C u m 15 45 n 5 15 n 5 5 n 15 0 n 20 0 n 30 5 n 40 15 n 50 30 m 20 45 n 10 15 n 10 5 n 15 0 m 55 45 n 45 15 n 45 5 n 55 0 n 65 5 n 70 10 n 80 25 m 60 45 n 50 15 n 50 5 n 55 0 E # C v m 15 45 n 10 35 n 5 20 n 5 5 n 15 0 n 20 0 n 35 5 n 45 15 n 50 30 n 50 45 m 20 45 n 15 35 n 10 20 n 10 5 n 15 0 m 50 45 n 55 25 n 60 20 n 65 20 n 75 25 E # C w m 20 45 n 10 35 n 5 20 n 5 5 n 15 0 n 20 0 n 30 5 n 40 15 m 25 45 n 15 35 n 10 20 n 10 5 n 15 0 m 50 45 n 40 15 n 40 5 n 50 0 n 55 0 n 65 5 n 75 15 n 80 30 n 80 45 m 55 45 n 45 15 n 45 5 n 50 0 m 80 45 n 85 25 n 90 20 n 95 20 n 105 25 E # C x m 0 25 n 10 40 n 20 45 n 30 45 n 35 40 n 35 30 n 30 15 n 25 5 n 15 0 n 10 0 n 5 5 n 5 10 n 10 10 n 5 5 m 65 40 n 60 35 n 65 35 n 65 40 n 60 45 n 55 45 n 45 40 n 40 30 n 35 15 n 35 5 n 40 0 n 55 0 n 70 10 n 80 25 m 35 40 n 40 30 m 45 40 n 35 30 m 30 15 n 35 5 m 35 15 n 25 5 E # C y m 15 45 n 5 15 n 5 5 n 15 0 n 20 0 n 30 5 n 40 15 n 50 30 m 20 45 n 10 15 n 10 5 n 15 0 m 55 45 n 25 -45 m 60 45 n 45 0 n 35 -25 n 25 -45 n 20 -55 n 10 -60 n 5 -55 n 5 -45 n 10 -30 n 20 -20 n 35 -10 n 55 0 n 70 10 n 80 25 E # C z m 0 25 n 10 40 n 20 45 n 30 45 n 40 40 n 40 25 n 35 15 n 20 5 n 10 0 m 30 45 n 35 40 n 35 25 n 30 15 n 20 5 m 10 0 n 20 -5 n 25 -15 n 25 -30 n 20 -45 n 10 -55 n 0 -60 n -5 -55 n -5 -45 n 0 -30 n 15 -15 n 30 -5 n 50 10 n 65 25 m 10 0 n 15 -5 n 20 -15 n 20 -30 n 15 -45 n 10 -55 E # C { m 25 125 n 15 120 n 10 115 n 5 105 n 5 95 n 10 85 n 15 80 n 20 70 n 20 60 n 10 50 m 15 120 n 10 110 n 10 100 n 15 90 n 20 85 n 25 75 n 25 65 n 20 55 n 0 45 n 20 35 n 25 25 n 25 15 n 20 5 n 15 0 n 10 -10 n 10 -20 n 15 -30 m 10 40 n 20 30 n 20 20 n 15 10 n 10 5 n 5 -5 n 5 -15 n 10 -25 n 15 -30 n 25 -35 E # C | m 0 125 n 0 -35 E # C } m 0 125 n 10 120 n 15 115 n 20 105 n 20 95 n 15 85 n 10 80 n 5 70 n 5 60 n 15 50 m 10 120 n 15 110 n 15 100 n 10 90 n 5 85 n 0 75 n 0 65 n 5 55 n 25 45 n 5 35 n 0 25 n 0 15 n 5 5 n 10 0 n 15 -10 n 15 -20 n 10 -30 m 15 40 n 5 30 n 5 20 n 10 10 n 15 5 n 20 -5 n 20 -15 n 15 -25 n 10 -30 n 0 -35 E # C ~ m 0 30 n 0 40 n 5 55 n 15 60 n 25 60 n 35 55 n 55 40 n 65 35 n 75 35 n 85 40 n 90 50 m 0 40 n 5 50 n 15 55 n 25 55 n 35 50 n 55 35 n 65 30 n 75 30 n 85 35 n 90 50 n 90 60 E # C *A m 45 105 n 10 0 m 45 105 n 80 0 m 45 90 n 75 0 m 20 30 n 65 30 m 0 0 n 30 0 m 60 0 n 90 0 E # C *B m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 60 105 n 75 100 n 80 95 n 85 85 n 85 75 n 80 65 n 75 60 n 60 55 m 60 105 n 70 100 n 75 95 n 80 85 n 80 75 n 75 65 n 70 60 n 60 55 m 20 55 n 60 55 n 75 50 n 80 45 n 85 35 n 85 20 n 80 10 n 75 5 n 60 0 n 0 0 m 60 55 n 70 50 n 75 45 n 80 35 n 80 20 n 75 10 n 70 5 n 60 0 E # C *Q m 45 105 n 45 0 m 50 105 n 50 0 m 0 70 n 5 75 n 15 70 n 20 50 n 25 40 n 30 35 n 40 30 m 5 75 n 10 70 n 15 50 n 20 40 n 25 35 n 40 30 n 55 30 n 70 35 n 75 40 n 80 50 n 85 70 n 90 75 m 55 30 n 65 35 n 70 40 n 75 50 n 80 70 n 90 75 n 95 70 m 30 105 n 65 105 m 30 0 n 65 0 E # C *D m 40 105 n 0 0 m 40 105 n 80 0 m 40 90 n 75 0 m 5 5 n 75 5 m 0 0 n 80 0 E # C *E m 15 105 n 15 0 m 20 105 n 20 0 m 50 75 n 50 35 m 0 105 n 80 105 n 80 75 n 75 105 m 20 55 n 50 55 m 0 0 n 80 0 n 80 30 n 75 0 E # C *F m 35 105 n 35 0 m 40 105 n 40 0 m 25 80 n 10 75 n 5 70 n 0 60 n 0 45 n 5 35 n 10 30 n 25 25 n 50 25 n 65 30 n 70 35 n 75 45 n 75 60 n 70 70 n 65 75 n 50 80 n 25 80 m 25 80 n 15 75 n 10 70 n 5 60 n 5 45 n 10 35 n 15 30 n 25 25 m 50 25 n 60 30 n 65 35 n 70 45 n 70 60 n 65 70 n 60 75 n 50 80 m 20 105 n 55 105 m 20 0 n 55 0 E # C *G m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 75 105 n 75 75 n 70 105 m 0 0 n 35 0 E # C *Y m 15 105 n 15 0 m 20 105 n 20 0 m 80 105 n 80 0 m 85 105 n 85 0 m 0 105 n 35 105 m 65 105 n 100 105 m 20 55 n 80 55 m 0 0 n 35 0 m 65 0 n 100 0 E # C *H m 35 105 n 20 100 n 10 90 n 5 80 n 0 60 n 0 45 n 5 25 n 10 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 n 75 25 n 80 45 n 80 60 n 75 80 n 70 90 n 60 100 n 45 105 n 35 105 m 35 105 n 25 100 n 15 90 n 10 80 n 5 60 n 5 45 n 10 25 n 15 15 n 25 5 n 35 0 m 45 0 n 55 5 n 65 15 n 70 25 n 75 45 n 75 60 n 70 80 n 65 90 n 55 100 n 45 105 m 15 40 n 20 40 n 20 45 n 25 50 n 55 50 n 60 45 n 60 40 n 65 40 n 65 65 n 60 65 n 60 60 n 55 55 n 25 55 n 20 60 n 20 65 n 15 65 n 15 40 E # C *I m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 35 105 m 0 0 n 35 0 E # C *C m 5 110 n 0 85 m 80 110 n 75 85 m 25 65 n 20 40 m 60 65 n 55 40 m 5 20 n 0 -5 m 80 20 n 75 -5 m 5 100 n 75 100 m 5 95 n 75 95 m 25 55 n 55 55 m 25 50 n 55 50 m 5 10 n 75 10 m 5 5 n 75 5 E # C *K m 15 105 n 15 0 m 20 105 n 20 0 m 85 105 n 20 40 m 45 60 n 85 0 m 40 60 n 80 0 m 0 105 n 35 105 m 65 105 n 95 105 m 0 0 n 35 0 m 65 0 n 95 0 E # C *L m 45 105 n 10 0 m 45 105 n 80 0 m 45 90 n 75 0 m 0 0 n 30 0 m 60 0 n 90 0 E # C *M m 15 105 n 15 0 m 20 105 n 50 15 m 15 105 n 50 0 m 85 105 n 50 0 m 85 105 n 85 0 m 90 105 n 90 0 m 0 105 n 20 105 m 85 105 n 105 105 m 0 0 n 30 0 m 70 0 n 105 0 E # C *N m 15 105 n 15 0 m 20 105 n 80 10 m 20 95 n 80 0 m 80 105 n 80 0 m 0 105 n 20 105 m 65 105 n 95 105 m 0 0 n 30 0 E # C *O m 35 105 n 20 100 n 10 90 n 5 80 n 0 60 n 0 45 n 5 25 n 10 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 n 75 25 n 80 45 n 80 60 n 75 80 n 70 90 n 60 100 n 45 105 n 35 105 m 35 105 n 25 100 n 15 90 n 10 80 n 5 60 n 5 45 n 10 25 n 15 15 n 25 5 n 35 0 m 45 0 n 55 5 n 65 15 n 70 25 n 75 45 n 75 60 n 70 80 n 65 90 n 55 100 n 45 105 E # C *P m 15 105 n 15 0 m 20 105 n 20 0 m 80 105 n 80 0 m 85 105 n 85 0 m 0 105 n 100 105 m 0 0 n 35 0 m 65 0 n 100 0 E # C *R m 15 105 n 15 0 m 20 105 n 20 0 m 0 105 n 60 105 n 75 100 n 80 95 n 85 85 n 85 70 n 80 60 n 75 55 n 60 50 n 20 50 m 60 105 n 70 100 n 75 95 n 80 85 n 80 70 n 75 60 n 70 55 n 60 50 m 0 0 n 35 0 E # C *S m 5 105 n 40 55 n 0 0 m 0 105 n 35 55 m 0 105 n 75 105 n 80 75 n 70 105 m 5 5 n 70 5 m 0 0 n 75 0 n 80 30 n 70 0 E # C *T m 35 105 n 35 0 m 40 105 n 40 0 m 5 105 n 0 75 n 0 105 n 75 105 n 75 75 n 70 105 m 20 0 n 55 0 E # C *U m 35 105 n 20 100 n 10 90 n 5 80 n 0 60 n 0 45 n 5 25 n 10 15 n 20 5 n 35 0 n 45 0 n 60 5 n 70 15 n 75 25 n 80 45 n 80 60 n 75 80 n 70 90 n 60 100 n 45 105 n 35 105 m 35 105 n 25 100 n 15 90 n 10 80 n 5 60 n 5 45 n 10 25 n 15 15 n 25 5 n 35 0 m 45 0 n 55 5 n 65 15 n 70 25 n 75 45 n 75 60 n 70 80 n 65 90 n 55 100 n 45 105 m 25 70 n 25 35 m 55 70 n 55 35 m 25 55 n 55 55 m 25 50 n 55 50 E # C *W m 0 15 n 5 0 n 25 0 n 15 20 n 5 40 n 0 55 n 0 75 n 5 90 n 15 100 n 30 105 n 50 105 n 65 100 n 75 90 n 80 75 n 80 55 n 75 40 n 65 20 n 55 0 n 75 0 n 80 15 m 15 20 n 10 35 n 5 55 n 5 75 n 10 90 n 20 100 n 30 105 m 50 105 n 60 100 n 70 90 n 75 75 n 75 55 n 70 35 n 65 20 m 5 5 n 20 5 m 60 5 n 75 5 E # C *X m 10 105 n 75 0 m 15 105 n 80 0 m 80 105 n 10 0 m 0 105 n 30 105 m 60 105 n 90 105 m 0 0 n 30 0 m 60 0 n 90 0 E # C *U m 0 80 n 0 90 n 5 100 n 10 105 n 20 105 n 25 100 n 30 90 n 35 70 n 35 0 m 0 90 n 10 100 n 20 100 n 30 90 m 75 80 n 75 90 n 70 100 n 65 105 n 55 105 n 50 100 n 45 90 n 40 70 n 40 0 m 75 90 n 65 100 n 55 100 n 45 90 m 20 0 n 55 0 E # C *Z m 65 105 n 0 0 m 70 105 n 5 0 m 5 105 n 0 75 n 0 105 n 70 105 m 0 0 n 70 0 n 70 30 n 65 0 E # C *a m 35 70 n 20 65 n 10 55 n 5 45 n 0 30 n 0 15 n 5 5 n 20 0 n 30 0 n 40 5 n 55 20 n 65 35 n 75 55 n 80 70 m 35 70 n 25 65 n 15 55 n 10 45 n 5 30 n 5 15 n 10 5 n 20 0 m 35 70 n 45 70 n 55 65 n 60 55 n 70 15 n 75 5 n 80 0 m 45 70 n 50 65 n 55 55 n 65 15 n 70 5 n 80 0 n 85 0 E # C *b m 55 105 n 40 100 n 30 90 n 20 70 n 15 55 n 10 35 n 5 5 n 0 -35 m 55 105 n 45 100 n 35 90 n 25 70 n 20 55 n 15 35 n 10 5 n 5 -35 m 55 105 n 65 105 n 75 100 n 80 95 n 80 80 n 75 70 n 70 65 n 55 60 n 35 60 m 65 105 n 75 95 n 75 80 n 70 70 n 65 65 n 55 60 m 35 60 n 55 55 n 65 45 n 70 35 n 70 20 n 65 10 n 60 5 n 45 0 n 35 0 n 25 5 n 20 10 n 15 25 m 35 60 n 50 55 n 60 45 n 65 35 n 65 20 n 60 10 n 55 5 n 45 0 E # C *q m 70 105 n 40 -35 m 75 105 n 35 -35 m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 30 30 n 30 15 n 40 5 n 55 5 n 65 10 n 80 25 n 90 40 m 25 70 n 30 65 n 30 55 n 25 30 n 25 15 n 30 5 n 40 0 n 55 0 n 65 5 n 75 15 n 85 30 n 90 40 n 100 70 E # C *d m 50 65 n 40 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 20 n 60 35 n 60 50 n 55 60 n 35 85 n 30 95 n 30 105 n 35 110 n 45 110 n 55 105 n 65 95 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 20 n 55 35 n 55 55 n 50 65 n 40 80 n 35 90 n 35 100 n 40 105 n 50 105 n 65 95 E # C *e m 60 55 n 50 65 n 40 70 n 20 70 n 10 65 n 10 55 n 20 45 n 35 40 m 20 70 n 15 65 n 15 55 n 25 45 n 35 40 m 35 40 n 10 35 n 0 25 n 0 15 n 5 5 n 20 0 n 35 0 n 45 5 n 55 15 m 35 40 n 15 35 n 5 25 n 5 15 n 10 5 n 20 0 E # C *f m 25 65 n 15 60 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 35 0 n 50 5 n 65 15 n 75 30 n 80 45 n 80 60 n 70 70 n 60 70 n 50 60 n 40 40 n 30 15 n 15 -35 m 0 20 n 10 10 n 20 5 n 35 5 n 50 10 n 65 20 n 75 30 m 80 60 n 70 65 n 60 65 n 50 55 n 40 40 n 30 10 n 20 -35 E # C *g m 0 55 n 10 65 n 20 70 n 30 70 n 40 65 n 45 60 n 50 45 n 50 25 n 45 5 n 30 -35 m 5 60 n 15 65 n 35 65 n 45 60 m 85 70 n 80 55 n 75 45 n 50 10 n 35 -15 n 25 -35 m 80 70 n 75 55 n 70 45 n 50 10 E # C *y m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 30 35 n 20 0 m 25 70 n 30 65 n 30 55 n 25 35 n 15 0 m 30 35 n 40 55 n 50 65 n 60 70 n 70 70 n 80 65 n 85 60 n 85 45 n 80 20 n 65 -35 m 70 70 n 80 60 n 80 45 n 75 20 n 60 -35 E # C *i m 15 70 n 5 35 n 0 15 n 0 5 n 5 0 n 20 0 n 30 10 n 35 20 m 20 70 n 10 35 n 5 15 n 5 5 n 10 0 E # C *c m 40 105 n 30 100 n 25 95 n 25 90 n 30 85 n 45 80 n 60 80 m 45 80 n 25 75 n 15 70 n 10 60 n 10 50 n 20 40 n 35 35 n 50 35 m 45 80 n 30 75 n 20 70 n 15 60 n 15 50 n 25 40 n 35 35 m 35 35 n 15 30 n 5 25 n 0 15 n 0 5 n 10 -5 n 35 -15 n 40 -20 n 40 -30 n 30 -35 n 20 -35 m 35 35 n 20 30 n 10 25 n 5 15 n 5 5 n 15 -5 n 35 -15 E # C *k m 20 70 n 0 0 m 25 70 n 5 0 m 70 70 n 75 65 n 80 65 n 75 70 n 65 70 n 55 65 n 35 45 n 25 40 n 15 40 m 25 40 n 35 35 n 45 5 n 50 0 m 25 40 n 30 35 n 40 5 n 45 0 n 55 0 n 65 5 n 75 20 E # C *l m 5 105 n 15 105 n 25 100 n 30 95 n 35 85 n 65 15 n 70 5 n 75 0 m 15 105 n 25 95 n 30 85 n 60 15 n 65 5 n 75 0 n 80 0 m 40 70 n 0 0 m 40 70 n 5 0 E # C *m m 30 70 n 0 -35 m 35 70 n 5 -35 m 30 55 n 25 25 n 25 10 n 35 0 n 45 0 n 55 5 n 65 15 n 75 30 m 85 70 n 70 15 n 70 5 n 75 0 n 90 0 n 100 10 n 105 20 m 90 70 n 75 15 n 75 5 n 80 0 E # C *n m 15 70 n 5 0 m 20 70 n 15 40 n 10 15 n 5 0 m 70 70 n 65 50 n 55 30 m 75 70 n 70 55 n 65 45 n 55 30 n 45 20 n 30 10 n 20 5 n 5 0 m 0 70 n 20 70 E # C *o m 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 20 n 60 35 n 60 50 n 55 60 n 50 65 n 40 70 n 30 70 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 20 n 55 35 n 55 55 n 50 65 E # C *p m 35 65 n 15 0 m 35 65 n 20 0 m 65 65 n 65 0 m 65 65 n 70 0 m 0 55 n 10 65 n 25 70 n 90 70 m 0 55 n 10 60 n 25 65 n 90 65 E # C *r m 20 25 n 25 10 n 30 5 n 40 0 n 50 0 n 65 5 n 75 20 n 80 35 n 80 50 n 75 60 n 70 65 n 60 70 n 50 70 n 35 65 n 25 50 n 20 35 n 0 -35 m 50 0 n 60 5 n 70 20 n 75 35 n 75 55 n 70 65 m 50 70 n 40 65 n 30 50 n 25 35 n 5 -35 E # C *s m 80 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 20 n 60 35 n 60 50 n 55 60 n 50 65 n 40 70 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 20 n 55 35 n 55 55 n 50 65 m 50 65 n 80 65 E # C *t m 45 65 n 30 0 m 45 65 n 35 0 m 0 55 n 10 65 n 25 70 n 80 70 m 0 55 n 10 60 n 25 65 n 80 65 E # C *h m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 30 30 n 30 15 n 35 5 n 40 0 m 25 70 n 30 65 n 30 55 n 25 30 n 25 15 n 30 5 n 40 0 n 50 0 n 60 5 n 70 15 n 80 30 n 85 45 n 90 70 n 90 90 n 85 100 n 75 105 n 65 105 n 55 95 n 55 85 n 60 70 n 70 55 n 80 45 n 95 35 m 60 5 n 70 20 n 75 30 n 80 45 n 85 70 n 85 90 n 80 100 n 75 105 E # C *w m 5 50 n 15 60 n 30 65 n 25 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 5 n 10 0 n 20 0 n 30 5 n 40 20 n 45 35 m 0 20 n 5 10 n 10 5 n 20 5 n 30 10 n 40 20 m 40 35 n 40 20 n 45 5 n 50 0 n 60 0 n 70 5 n 80 20 n 85 35 n 85 50 n 80 65 n 75 70 n 70 65 n 80 60 n 85 50 m 40 20 n 45 10 n 50 5 n 60 5 n 70 10 n 80 20 E # C ts m 40 70 n 50 65 n 60 55 n 60 60 n 55 65 n 40 70 n 25 70 n 10 65 n 5 60 n 0 50 n 0 40 n 5 30 n 15 20 n 35 5 m 25 70 n 15 65 n 10 60 n 5 50 n 5 40 n 10 30 n 35 5 n 40 -5 n 40 -15 n 35 -20 n 25 -20 E # C *x m 5 70 n 15 70 n 25 65 n 30 55 n 55 -20 n 60 -30 n 65 -35 m 15 70 n 20 65 n 25 55 n 50 -20 n 55 -30 n 65 -35 n 75 -35 m 80 70 n 75 60 n 65 45 n 15 -10 n 5 -25 n 0 -35 E # C *u m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 25 25 n 25 10 n 35 0 m 25 70 n 30 65 n 30 55 n 20 25 n 20 10 n 25 5 n 35 0 n 40 0 n 55 5 n 65 15 n 75 30 n 80 45 n 80 60 n 75 70 n 70 65 n 75 60 n 80 45 m 75 30 n 80 60 E # C *z m 40 105 n 30 100 n 25 95 n 25 90 n 30 85 n 45 80 n 70 80 n 70 85 n 55 80 n 35 70 n 20 60 n 5 45 n 0 30 n 0 20 n 5 10 n 20 0 n 35 -10 n 40 -20 n 40 -30 n 35 -35 n 25 -35 n 20 -30 m 45 75 n 25 60 n 10 45 n 5 30 n 5 20 n 10 10 n 20 0 E # C pd m 60 45 n 55 60 n 50 65 n 40 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 15 n 60 30 n 65 55 n 65 80 n 60 95 n 55 100 n 45 105 n 30 105 n 20 100 n 15 95 n 15 90 n 20 90 n 20 95 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 15 n 55 30 n 60 55 n 60 80 n 55 95 n 45 105 E # C gr m 0 105 n 40 0 m 5 105 n 40 10 m 80 105 n 40 0 m 0 105 n 80 105 m 5 100 n 75 100 E xgks-2.6.1+dfsg.2/src/fontdb/CVS/0000755000175000017500000000000011413611016017375 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/fontdb/CVS/Entries0000644000175000017500000000351711413611016020737 0ustar amckinstryamckinstry/B.src/2.5.4.1/Wed Mar 10 19:43:40 1993// /G.src/2.5.4.1/Wed Mar 10 19:43:40 1993// /GR.src/2.1/Mon Aug 7 22:23:56 2000// /I.src/2.5.4.1/Wed Mar 10 19:43:40 1993// /Makefile-orig/2.5.4.1/Wed Mar 10 19:43:41 1993// /Makefile.in/2.8/Mon Aug 7 22:23:56 2000// /NOTES/2.5.4.1/Wed Mar 10 19:43:39 1993// /R.src/2.5.4.1/Wed Mar 10 19:43:41 1993// /RELEASE.NOTES/2.5.4.1/Wed Mar 10 19:43:43 1993// /SC.src/2.5.4.1/Wed Mar 10 19:43:42 1993// /a.c/2.5.4.1/Wed Mar 10 19:43:40 1993// /b.src/2.5.4.1/Wed Mar 10 19:43:41 1993// /cc.fnt/2.5.4.1/Wed Mar 10 19:43:37 1993// /cg.fnt/2.5.4.1/Wed Mar 10 19:43:37 1993// /ci.fnt/2.5.4.1/Wed Mar 10 19:43:37 1993// /cr.fnt/2.5.4.1/Wed Mar 10 19:43:37 1993// /cs.fnt/2.5.4.1/Wed Mar 10 19:43:37 1993// /depend/2.7/Mon Aug 7 22:23:56 2000// /dist.mk/2.5.4.1/Wed Mar 10 19:43:42 1993// /dr.fnt/2.5.4.1/Wed Mar 10 19:43:38 1993// /extent/2.5.4.1/Wed Mar 10 19:43:40 1993// /font.c.new/2.5.4.1/Wed Mar 10 19:43:42 1993// /font.gksm/2.6/Tue Aug 1 17:31:16 2000// /fontdbvers.c/2.5.4.1/Wed Mar 10 19:43:43 1993// /ge.fnt/2.5.4.1/Wed Mar 10 19:43:38 1993// /gg.fnt/2.5.4.1/Wed Mar 10 19:43:38 1993// /gi.fnt/2.5.4.1/Wed Mar 10 19:43:38 1993// /hershey.new/2.5.4.1/Wed Mar 10 19:43:44 1993// /hf2gks.1/2.5.4.1/Wed Mar 10 19:43:43 1993// /hf2gks.c/2.5.4.1/Wed Mar 10 19:43:41 1993// /hf2gsk.c/2.5.4.1/Wed Mar 10 19:43:43 1993// /i.src/2.5.4.1/Wed Mar 10 19:43:42 1993// /log/2.5.4.1/Wed Mar 10 19:43:43 1993// /m.fnt/2.5.4.1/Wed Mar 10 19:43:38 1993// /mkfont.c/2.5.4.1/Wed Mar 10 19:43:43 1993// /r.src/2.5.4.1/Wed Mar 10 19:43:42 1993// /rshowfont.c/2.5.4.1/Wed Mar 10 19:43:43 1993// /sc.src/2.5.4.1/Wed Mar 10 19:43:42 1993// /sg.fnt/2.5.4.1/Wed Mar 10 19:43:39 1993// /sr.fnt/2.5.4.1/Wed Mar 10 19:43:39 1993// /ss.fnt/2.5.4.1/Wed Mar 10 19:43:39 1993// /ti.fnt/2.5.4.1/Wed Mar 10 19:43:39 1993// /tr.fnt/2.5.4.1/Wed Mar 10 19:43:39 1993// D xgks-2.6.1+dfsg.2/src/fontdb/CVS/Repository0000644000175000017500000000001411413611016021472 0ustar amckinstryamckinstryxgks/fontdb xgks-2.6.1+dfsg.2/src/fontdb/CVS/Root0000644000175000017500000000006111413611016020240 0ustar amckinstryamckinstry:pserver:anonymous@cvs.XGKS.sf.net:/cvsroot/xgks xgks-2.6.1+dfsg.2/src/fontdb/ss.fnt0000644000175000017500000002763611413611016020116 0ustar amckinstryamckinstry# simplex_script # C A m 0 -9 n 2 -8 n 5 -5 n 8 -1 n 12 6 n 15 12 n 15 -9 n 14 -6 n 12 -3 n 10 -1 n 7 1 n 5 1 n 4 0 n 4 -2 n 5 -4 n 7 -6 n 10 -8 n 13 -9 n 18 -9 E # C B m 10 10 n 11 9 n 11 6 n 10 2 n 9 -1 n 8 -3 n 6 -6 n 4 -8 n 2 -9 n 1 -9 n 0 -8 n 0 -5 n 1 0 n 2 3 n 3 5 n 5 8 n 7 10 n 9 11 n 12 12 n 15 12 n 17 11 n 18 9 n 18 7 n 17 5 n 16 4 n 14 3 n 11 2 m 10 2 n 11 2 n 14 1 n 15 0 n 16 -2 n 16 -5 n 15 -7 n 14 -8 n 12 -9 n 9 -9 n 7 -8 n 6 -6 E # C C m 9 6 n 9 5 n 10 4 n 12 4 n 14 5 n 15 7 n 15 9 n 14 11 n 12 12 n 9 12 n 6 11 n 4 9 n 2 6 n 1 4 n 0 0 n 0 -4 n 1 -7 n 2 -8 n 4 -9 n 6 -9 n 9 -8 n 11 -6 n 12 -4 E # C D m 14 12 n 12 11 n 11 9 n 10 5 n 9 -1 n 8 -4 n 7 -6 n 5 -8 n 3 -9 n 1 -9 n 0 -8 n 0 -6 n 1 -5 n 3 -5 n 5 -6 n 7 -8 n 10 -9 n 13 -9 n 16 -8 n 18 -6 n 20 -2 n 21 3 n 21 7 n 20 10 n 19 11 n 17 12 n 14 12 n 12 10 n 12 8 n 13 5 n 15 2 n 17 0 n 20 -2 n 22 -3 E # C E m 11 8 n 11 7 n 12 6 n 14 6 n 15 7 n 15 9 n 14 11 n 11 12 n 7 12 n 4 11 n 3 9 n 3 6 n 4 4 n 5 3 n 8 2 n 5 2 n 2 1 n 1 0 n 0 -2 n 0 -5 n 1 -7 n 2 -8 n 5 -9 n 8 -9 n 11 -8 n 13 -6 n 14 -4 E # C F m 9 6 n 7 6 n 5 7 n 4 9 n 5 11 n 8 12 n 11 12 n 15 11 n 18 11 n 20 12 m 15 11 n 13 4 n 11 -2 n 9 -6 n 7 -8 n 5 -9 n 3 -9 n 1 -8 n 0 -6 n 0 -4 n 1 -3 n 3 -3 n 5 -4 m 8 2 n 17 2 E # C G m 0 -9 n 2 -8 n 6 -4 n 9 1 n 10 4 n 11 8 n 11 11 n 10 12 n 9 12 n 8 11 n 7 9 n 7 6 n 8 4 n 10 3 n 14 3 n 17 4 n 18 5 n 19 7 n 19 1 n 18 -4 n 17 -6 n 15 -8 n 12 -9 n 8 -9 n 5 -8 n 3 -6 n 2 -4 n 2 -2 E # C H m 6 5 n 4 6 n 3 8 n 3 9 n 4 11 n 6 12 n 7 12 n 9 11 n 10 9 n 10 7 n 9 3 n 7 -3 n 5 -7 n 3 -9 n 1 -9 n 0 -8 n 0 -6 m 6 0 n 15 3 n 17 4 n 20 6 n 22 8 n 23 10 n 23 11 n 22 12 n 21 12 n 19 10 n 17 6 n 15 0 n 14 -5 n 14 -8 n 15 -9 n 16 -9 n 18 -8 n 19 -7 n 21 -4 E # C I m 13 -4 n 11 -2 n 9 1 n 8 3 n 7 6 n 7 9 n 8 11 n 9 12 n 11 12 n 12 11 n 13 9 n 13 6 n 12 1 n 10 -4 n 9 -6 n 7 -8 n 5 -9 n 3 -9 n 1 -8 n 0 -6 n 0 -4 n 1 -3 n 3 -3 n 5 -4 E # C J m 9 -12 n 7 -9 n 5 -4 n 4 2 n 4 8 n 5 11 n 7 12 n 9 12 n 10 11 n 11 8 n 11 5 n 10 0 n 7 -9 n 5 -15 n 4 -18 n 3 -20 n 1 -21 n 0 -20 n 0 -18 n 1 -15 n 3 -12 n 5 -10 n 8 -8 n 12 -6 E # C K m 6 5 n 4 6 n 3 8 n 3 9 n 4 11 n 6 12 n 7 12 n 9 11 n 10 9 n 10 7 n 9 3 n 7 -3 n 5 -7 n 3 -9 n 1 -9 n 0 -8 n 0 -6 m 23 9 n 23 11 n 22 12 n 21 12 n 19 11 n 17 9 n 15 6 n 13 4 n 11 3 n 9 3 m 11 3 n 12 1 n 12 -6 n 13 -8 n 14 -9 n 15 -9 n 17 -8 n 18 -7 n 20 -4 E # C L m 4 0 n 6 0 n 10 1 n 13 3 n 15 5 n 16 7 n 16 10 n 15 12 n 13 12 n 12 11 n 11 9 n 10 4 n 9 -1 n 8 -4 n 7 -6 n 5 -8 n 3 -9 n 1 -9 n 0 -8 n 0 -6 n 1 -5 n 3 -5 n 5 -6 n 8 -8 n 11 -9 n 13 -9 n 16 -8 n 18 -6 E # C M m 3 5 n 1 6 n 0 8 n 0 9 n 1 11 n 3 12 n 4 12 n 6 11 n 7 9 n 7 7 n 6 2 n 5 -2 n 3 -9 m 5 -2 n 8 6 n 10 10 n 11 11 n 13 12 n 14 12 n 16 11 n 17 9 n 17 7 n 16 2 n 15 -2 n 13 -9 m 15 -2 n 18 6 n 20 10 n 21 11 n 23 12 n 24 12 n 26 11 n 27 9 n 27 7 n 26 2 n 24 -5 n 24 -8 n 25 -9 n 26 -9 n 28 -8 n 29 -7 n 31 -4 E # C N m 3 5 n 1 6 n 0 8 n 0 9 n 1 11 n 3 12 n 4 12 n 6 11 n 7 9 n 7 7 n 6 2 n 5 -2 n 3 -9 m 5 -2 n 8 6 n 10 10 n 11 11 n 13 12 n 15 12 n 17 11 n 18 9 n 18 7 n 17 2 n 15 -5 n 15 -8 n 16 -9 n 17 -9 n 19 -8 n 20 -7 n 22 -4 E # C O m 9 12 n 6 11 n 4 9 n 2 6 n 1 4 n 0 0 n 0 -4 n 1 -7 n 2 -8 n 4 -9 n 6 -9 n 9 -8 n 11 -6 n 13 -3 n 14 -1 n 15 3 n 15 7 n 14 10 n 13 11 n 11 12 n 9 12 n 7 10 n 7 7 n 8 4 n 10 1 n 12 -1 n 15 -3 n 17 -4 E # C P m 10 10 n 11 9 n 11 6 n 10 2 n 9 -1 n 8 -3 n 6 -6 n 4 -8 n 2 -9 n 1 -9 n 0 -8 n 0 -5 n 1 0 n 2 3 n 3 5 n 5 8 n 7 10 n 9 11 n 12 12 n 17 12 n 19 11 n 20 10 n 21 8 n 21 5 n 20 3 n 19 2 n 17 1 n 14 1 n 12 2 n 11 3 E # C Q m 13 6 n 12 4 n 11 3 n 9 2 n 7 2 n 6 4 n 6 6 n 7 9 n 9 11 n 12 12 n 15 12 n 17 11 n 18 9 n 18 5 n 17 2 n 15 -1 n 11 -5 n 8 -7 n 6 -8 n 3 -9 n 1 -9 n 0 -8 n 0 -6 n 1 -5 n 3 -5 n 5 -6 n 8 -8 n 11 -9 n 14 -9 n 17 -8 n 19 -6 E # C R m 10 10 n 11 9 n 11 6 n 10 2 n 9 -1 n 8 -3 n 6 -6 n 4 -8 n 2 -9 n 1 -9 n 0 -8 n 0 -5 n 1 0 n 2 3 n 3 5 n 5 8 n 7 10 n 9 11 n 12 12 n 16 12 n 18 11 n 19 10 n 20 8 n 20 5 n 19 3 n 18 2 n 16 1 n 13 1 n 10 2 n 11 1 n 12 -1 n 12 -6 n 13 -8 n 15 -9 n 17 -8 n 18 -7 n 20 -4 E # C S m 0 -9 n 2 -8 n 4 -6 n 7 -2 n 9 1 n 11 5 n 12 8 n 12 11 n 11 12 n 10 12 n 9 11 n 8 9 n 8 7 n 9 5 n 11 3 n 14 1 n 16 -1 n 17 -3 n 17 -5 n 16 -7 n 15 -8 n 12 -9 n 8 -9 n 5 -8 n 3 -6 n 2 -4 n 2 -2 E # C T m 9 6 n 7 6 n 5 7 n 4 9 n 5 11 n 8 12 n 11 12 n 15 11 n 18 11 n 20 12 m 15 11 n 13 4 n 11 -2 n 9 -6 n 7 -8 n 5 -9 n 3 -9 n 1 -8 n 0 -6 n 0 -4 n 1 -3 n 3 -3 n 5 -4 E # C U m 3 5 n 1 6 n 0 8 n 0 9 n 1 11 n 3 12 n 4 12 n 6 11 n 7 9 n 7 7 n 6 3 n 5 0 n 4 -4 n 4 -6 n 5 -8 n 7 -9 n 9 -9 n 11 -8 n 12 -7 n 14 -3 n 17 5 n 19 12 m 17 5 n 16 1 n 15 -5 n 15 -8 n 16 -9 n 17 -9 n 19 -8 n 20 -7 n 22 -4 E # C V m 3 5 n 1 6 n 0 8 n 0 9 n 1 11 n 3 12 n 4 12 n 6 11 n 7 9 n 7 7 n 6 3 n 5 0 n 4 -4 n 4 -7 n 5 -9 n 7 -9 n 9 -8 n 12 -5 n 14 -2 n 16 2 n 17 5 n 18 9 n 18 11 n 17 12 n 16 12 n 15 11 n 14 9 n 14 7 n 15 4 n 17 2 n 19 1 E # C W m 3 5 n 1 6 n 0 8 n 0 9 n 1 11 n 3 12 n 4 12 n 6 11 n 7 9 n 7 6 n 6 -9 m 16 12 n 6 -9 m 16 12 n 14 -9 m 28 12 n 26 11 n 23 8 n 20 4 n 17 -2 n 14 -9 E # C X m 7 6 n 5 6 n 4 7 n 4 9 n 5 11 n 7 12 n 9 12 n 11 11 n 12 9 n 12 6 n 10 -3 n 10 -6 n 11 -8 n 13 -9 n 15 -9 n 17 -8 n 18 -6 n 18 -4 n 17 -3 n 15 -3 m 22 9 n 22 11 n 21 12 n 19 12 n 17 11 n 15 9 n 13 6 n 9 -3 n 7 -6 n 5 -8 n 3 -9 n 1 -9 n 0 -8 n 0 -6 E # C Y m 3 5 n 1 6 n 0 8 n 0 9 n 1 11 n 3 12 n 4 12 n 6 11 n 7 9 n 7 7 n 6 3 n 5 0 n 4 -4 n 4 -6 n 5 -8 n 6 -9 n 8 -9 n 10 -8 n 12 -6 n 14 -3 n 15 -1 n 17 5 m 19 12 n 17 5 n 14 -5 n 12 -11 n 10 -16 n 8 -20 n 6 -21 n 5 -20 n 5 -18 n 6 -15 n 8 -12 n 11 -9 n 14 -7 n 19 -4 E # C Z m 11 6 n 10 4 n 9 3 n 7 2 n 5 2 n 4 4 n 4 6 n 5 9 n 7 11 n 10 12 n 13 12 n 15 11 n 16 9 n 16 5 n 15 2 n 13 -2 n 10 -5 n 6 -8 n 4 -9 n 1 -9 n 0 -8 n 0 -6 n 1 -5 n 4 -5 n 6 -6 n 7 -7 n 8 -9 n 8 -12 n 7 -15 n 6 -17 n 4 -20 n 2 -21 n 1 -20 n 1 -18 n 2 -15 n 4 -12 n 7 -9 n 10 -7 n 16 -4 E # C a m 9 -3 n 8 -1 n 6 0 n 4 0 n 2 -1 n 1 -2 n 0 -4 n 0 -6 n 1 -8 n 3 -9 n 5 -9 n 7 -8 n 8 -6 n 10 0 n 9 -5 n 9 -8 n 10 -9 n 11 -9 n 13 -8 n 14 -7 n 16 -4 E # C b m 0 -4 n 2 -1 n 5 4 n 6 6 n 7 9 n 7 11 n 6 12 n 4 11 n 3 9 n 2 5 n 1 -2 n 1 -8 n 2 -9 n 3 -9 n 5 -8 n 7 -6 n 8 -3 n 8 0 n 9 -4 n 10 -5 n 12 -5 n 14 -4 E # C c m 7 -2 n 7 -1 n 6 0 n 4 0 n 2 -1 n 1 -2 n 0 -4 n 0 -6 n 1 -8 n 3 -9 n 6 -9 n 9 -7 n 11 -4 E # C d m 9 -3 n 8 -1 n 6 0 n 4 0 n 2 -1 n 1 -2 n 0 -4 n 0 -6 n 1 -8 n 3 -9 n 5 -9 n 7 -8 n 8 -6 n 14 12 m 10 0 n 9 -5 n 9 -8 n 10 -9 n 11 -9 n 13 -8 n 14 -7 n 16 -4 E # C e m 1 -7 n 3 -6 n 4 -5 n 5 -3 n 5 -1 n 4 0 n 3 0 n 1 -1 n 0 -3 n 0 -6 n 1 -8 n 3 -9 n 5 -9 n 7 -8 n 8 -7 n 10 -4 E # C f m 5 -4 n 9 1 n 11 4 n 12 6 n 13 9 n 13 11 n 12 12 n 10 11 n 9 9 n 7 1 n 4 -8 n 1 -15 n 0 -18 n 0 -20 n 1 -21 n 3 -20 n 4 -17 n 5 -8 n 6 -9 n 8 -9 n 10 -8 n 11 -7 n 13 -4 E # C g m 9 -3 n 8 -1 n 6 0 n 4 0 n 2 -1 n 1 -2 n 0 -4 n 0 -6 n 1 -8 n 3 -9 n 5 -9 n 7 -8 n 8 -7 m 10 0 n 8 -7 n 4 -18 n 3 -20 n 1 -21 n 0 -20 n 0 -18 n 1 -15 n 4 -12 n 7 -10 n 9 -9 n 12 -7 n 15 -4 E # C h m 0 -4 n 2 -1 n 5 4 n 6 6 n 7 9 n 7 11 n 6 12 n 4 11 n 3 9 n 2 5 n 1 -1 n 0 -9 m 0 -9 n 1 -6 n 2 -4 n 4 -1 n 6 0 n 8 0 n 9 -1 n 9 -3 n 8 -6 n 8 -8 n 9 -9 n 10 -9 n 12 -8 n 13 -7 n 15 -4 E # C i m 3 5 n 3 4 n 4 4 n 4 5 n 3 5 m 0 -4 n 2 0 n 0 -6 n 0 -8 n 1 -9 n 2 -9 n 4 -8 n 5 -7 n 7 -4 E # C j m 11 5 n 11 4 n 12 4 n 12 5 n 11 5 m 8 -4 n 10 0 n 4 -18 n 3 -20 n 1 -21 n 0 -20 n 0 -18 n 1 -15 n 4 -12 n 7 -10 n 9 -9 n 12 -7 n 15 -4 E # C k m 0 -4 n 2 -1 n 5 4 n 6 6 n 7 9 n 7 11 n 6 12 n 4 11 n 3 9 n 2 5 n 1 -1 n 0 -9 m 0 -9 n 1 -6 n 2 -4 n 4 -1 n 6 0 n 8 0 n 9 -1 n 9 -3 n 7 -4 n 4 -4 m 4 -4 n 6 -5 n 7 -8 n 8 -9 n 9 -9 n 11 -8 n 12 -7 n 14 -4 E # C l m 0 -4 n 2 -1 n 5 4 n 6 6 n 7 9 n 7 11 n 6 12 n 4 11 n 3 9 n 2 5 n 1 -2 n 1 -8 n 2 -9 n 3 -9 n 5 -8 n 6 -7 n 8 -4 E # C m m 0 -4 n 2 -1 n 4 0 n 5 -1 n 5 -2 n 4 -6 n 3 -9 m 4 -6 n 5 -4 n 7 -1 n 9 0 n 11 0 n 12 -1 n 12 -2 n 11 -6 n 10 -9 m 11 -6 n 12 -4 n 14 -1 n 16 0 n 18 0 n 19 -1 n 19 -3 n 18 -6 n 18 -8 n 19 -9 n 20 -9 n 22 -8 n 23 -7 n 25 -4 E # C n m 0 -4 n 2 -1 n 4 0 n 5 -1 n 5 -2 n 4 -6 n 3 -9 m 4 -6 n 5 -4 n 7 -1 n 9 0 n 11 0 n 12 -1 n 12 -3 n 11 -6 n 11 -8 n 12 -9 n 13 -9 n 15 -8 n 16 -7 n 18 -4 E # C o m 6 0 n 4 0 n 2 -1 n 1 -2 n 0 -4 n 0 -6 n 1 -8 n 3 -9 n 5 -9 n 7 -8 n 8 -7 n 9 -5 n 9 -3 n 8 -1 n 6 0 n 5 -1 n 5 -3 n 6 -5 n 8 -6 n 11 -6 n 13 -5 n 14 -4 E # C p m 4 -4 n 6 -1 n 7 1 n 6 -3 n 0 -21 m 6 -3 n 7 -1 n 9 0 n 11 0 n 13 -1 n 14 -3 n 14 -5 n 13 -7 n 12 -8 n 10 -9 m 6 -8 n 8 -9 n 11 -9 n 14 -8 n 16 -7 n 19 -4 E # C q m 9 -3 n 8 -1 n 6 0 n 4 0 n 2 -1 n 1 -2 n 0 -4 n 0 -6 n 1 -8 n 3 -9 n 5 -9 n 7 -8 m 10 0 n 9 -3 n 7 -8 n 4 -15 n 3 -18 n 3 -20 n 4 -21 n 6 -20 n 7 -17 n 7 -10 n 9 -9 n 12 -7 n 15 -4 E # C r m 0 -4 n 2 -1 n 3 1 n 3 -1 n 6 -1 n 7 -2 n 7 -4 n 6 -7 n 6 -8 n 7 -9 n 8 -9 n 10 -8 n 11 -7 n 13 -4 E # C s m 0 -4 n 2 -1 n 3 1 n 3 -1 n 5 -4 n 6 -6 n 6 -8 n 4 -9 m 0 -8 n 2 -9 n 6 -9 n 8 -8 n 9 -7 n 11 -4 E # C t m 0 -4 n 2 -1 n 4 3 m 7 12 n 1 -6 n 1 -8 n 2 -9 n 4 -9 n 6 -8 n 7 -7 n 9 -4 m 1 4 n 8 4 E # C u m 0 -4 n 2 0 n 0 -6 n 0 -8 n 1 -9 n 3 -9 n 5 -8 n 7 -6 n 9 -3 m 10 0 n 8 -6 n 8 -8 n 9 -9 n 10 -9 n 12 -8 n 13 -7 n 15 -4 E # C v m 0 -4 n 2 0 n 1 -5 n 1 -8 n 2 -9 n 3 -9 n 6 -8 n 8 -6 n 9 -3 n 9 0 m 9 0 n 10 -4 n 11 -5 n 13 -5 n 15 -4 E # C w m 3 0 n 1 -2 n 0 -5 n 0 -7 n 1 -9 n 3 -9 n 5 -8 n 7 -6 m 9 0 n 7 -6 n 7 -8 n 8 -9 n 10 -9 n 12 -8 n 14 -6 n 15 -3 n 15 0 m 15 0 n 16 -4 n 17 -5 n 19 -5 n 21 -4 E # C x m 0 -4 n 2 -1 n 4 0 n 6 0 n 7 -1 n 7 -8 n 8 -9 n 11 -9 n 14 -7 n 16 -4 m 13 -1 n 12 0 n 10 0 n 9 -1 n 5 -8 n 4 -9 n 2 -9 n 1 -8 E # C y m 0 -4 n 2 0 n 0 -6 n 0 -8 n 1 -9 n 3 -9 n 5 -8 n 7 -6 n 9 -3 m 10 0 n 4 -18 n 3 -20 n 1 -21 n 0 -20 n 0 -18 n 1 -15 n 4 -12 n 7 -10 n 9 -9 n 12 -7 n 15 -4 E # C z m 0 -4 n 2 -1 n 4 0 n 6 0 n 8 -2 n 8 -4 n 7 -6 n 5 -8 n 2 -9 n 4 -10 n 5 -12 n 5 -15 n 4 -18 n 3 -20 n 1 -21 n 0 -20 n 0 -18 n 1 -15 n 4 -12 n 7 -10 n 11 -7 n 14 -4 E # C 0 m 6 12 n 3 11 n 1 8 n 0 3 n 0 0 n 1 -5 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -5 n 14 0 n 14 3 n 13 8 n 11 11 n 8 12 n 6 12 E # C 1 m 0 8 n 2 9 n 5 12 n 5 -9 E # C 2 m 1 7 n 1 8 n 2 10 n 3 11 n 5 12 n 9 12 n 11 11 n 12 10 n 13 8 n 13 6 n 12 4 n 10 1 n 0 -9 n 14 -9 E # C 3 m 2 12 n 13 12 n 7 4 n 10 4 n 12 3 n 13 2 n 14 -1 n 14 -3 n 13 -6 n 11 -8 n 8 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 E # C 4 m 10 12 n 0 -2 n 15 -2 m 10 12 n 10 -9 E # C 5 m 12 12 n 2 12 n 1 3 n 2 4 n 5 5 n 8 5 n 11 4 n 13 2 n 14 -1 n 14 -3 n 13 -6 n 11 -8 n 8 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 E # C 6 m 12 9 n 11 11 n 8 12 n 6 12 n 3 11 n 1 8 n 0 3 n 0 -2 n 1 -6 n 3 -8 n 6 -9 n 7 -9 n 10 -8 n 12 -6 n 13 -3 n 13 -2 n 12 1 n 10 3 n 7 4 n 6 4 n 3 3 n 1 1 n 0 -2 E # C 7 m 14 12 n 4 -9 m 0 12 n 14 12 E # C 8 m 5 12 n 2 11 n 1 9 n 1 7 n 2 5 n 4 4 n 8 3 n 11 2 n 13 0 n 14 -2 n 14 -5 n 13 -7 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -2 n 1 0 n 3 2 n 6 3 n 10 4 n 12 5 n 13 7 n 13 9 n 12 11 n 9 12 n 5 12 E # C 9 m 13 5 n 12 2 n 10 0 n 7 -1 n 6 -1 n 3 0 n 1 2 n 0 5 n 0 6 n 1 9 n 3 11 n 6 12 n 7 12 n 10 11 n 12 9 n 13 5 n 13 0 n 12 -5 n 10 -8 n 7 -9 n 5 -9 n 2 -8 n 1 -6 E # C . m 1 -7 n 0 -8 n 1 -9 n 2 -8 n 1 -7 E # C , m 2 -8 n 1 -9 n 0 -8 n 1 -7 n 2 -8 n 2 -10 n 1 -12 n 0 -13 E # C : m 1 5 n 0 4 n 1 3 n 2 4 n 1 5 m 1 -7 n 0 -8 n 1 -9 n 2 -8 n 1 -7 E # C ; m 1 5 n 0 4 n 1 3 n 2 4 n 1 5 m 2 -8 n 1 -9 n 0 -8 n 1 -7 n 2 -8 n 2 -10 n 1 -12 n 0 -13 E # C ! m 1 12 n 1 -2 m 1 -7 n 0 -8 n 1 -9 n 2 -8 n 1 -7 E # C " m 0 12 n 0 5 m 8 12 n 8 5 E # C $ m 5 16 n 5 -13 m 9 16 n 9 -13 m 14 9 n 12 11 n 9 12 n 5 12 n 2 11 n 0 9 n 0 7 n 1 5 n 2 4 n 4 3 n 10 1 n 12 0 n 13 -1 n 14 -3 n 14 -6 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 0 -6 E # C / m 18 16 n 0 -16 E # C ( m 7 16 n 5 14 n 3 11 n 1 7 n 0 2 n 0 -2 n 1 -7 n 3 -11 n 5 -14 n 7 -16 E # C ) m 0 16 n 2 14 n 4 11 n 6 7 n 7 2 n 7 -2 n 6 -7 n 4 -11 n 2 -14 n 0 -16 E # C | m 0 16 n 0 -16 E # C - m 0 0 n 18 0 E # C + m 9 9 n 9 -9 m 0 0 n 18 0 E # C = m 0 3 n 18 3 m 0 -3 n 18 -3 E # C * m 5 6 n 5 -6 m 0 3 n 10 -3 m 10 3 n 0 -3 E # C ' m 1 10 n 0 11 n 1 12 n 2 11 n 2 9 n 1 7 n 0 6 E # C # m 8 16 n 1 -16 m 14 16 n 7 -16 m 1 3 n 15 3 m 0 -3 n 14 -3 E # C & m 20 3 n 20 4 n 19 5 n 18 5 n 17 4 n 16 2 n 14 -3 n 12 -6 n 10 -8 n 8 -9 n 4 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -3 n 1 -1 n 2 0 n 9 4 n 10 5 n 11 7 n 11 9 n 10 11 n 8 12 n 6 11 n 5 9 n 5 7 n 6 4 n 8 1 n 13 -6 n 15 -8 n 17 -9 n 19 -9 n 20 -8 n 20 -7 E xgks-2.6.1+dfsg.2/src/fontdb/rshowfont.c0000644000175000017500000001016011413611016021135 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * * University of Illinois at Urbana-Champaign * Department of Computer Science * 1304 W. Springfield Ave. * Urbana, IL 61801 * * (C) Copyright 1987, 1988 by The University of Illinois Board of Trustees. * All rights reserved. * * Tool: X 11 Graphical Kernel System * Author: Gregory Scott Rogers * Author: Sung Hsien Ching Kelvin * Author: Yu Pan */ /*LINTLIBRARY*/ #ifndef lint static char rcsid[] = "$Id: rshowfont.c,v 2.5.4.1 1993/03/10 19:43:43 steve Exp $"; #endif #include "udposix.h" #include #include "font.h" #define DX (160/Scale) #define DY (170/Scale) int XORG = 0, YORG = 0; int Scale = 0; int xmin = 0, ymin = 0, xmax = 0, ymax = 0; short Wd = 0, Ht = 0; static void ReadFont(Fpp, Fn) FONT **Fpp; char *Fn; { int fd; int size; char *malloc(); if ((fd = open(Fn, O_RDONLY, 0644)) < 0) { perror("open"); exit(0); } if (read(fd, &size, sizeof(int)) != sizeof(int)) { perror("read size"); exit(0); } if ((*Fpp = (FONT *) malloc((unsigned) size)) == NULL) { perror("malloc failed"); exit(0); } if (read(fd, *Fpp, size) != size) { perror("read Font"); exit(0); } close(fd); } static void DisplayFont(Fp, scale) FONT *Fp; int scale; { int c, co; struct vcharst *cp; Scale = scale; ropenrtk(60); /* ibmaed origin at top left */ XORG = 0 - DX; /* BIG NUM off right edge */ YORG = 950 - 125 / Scale; for (c = 0; c < 256; c++) if ((co = Fp->fcharoffset[c]) != -1) { NextChar(); for (cp = &(Fp->fchars[co]); (cp->vc_type != 'e'); cp++) switch (cp->vc_type) { case 's': xmin = cp->vc_x; ymin = cp->vc_y; break; case 'S': xmax = cp->vc_x; ymax = cp->vc_y; break; case 'm': rmove(XORG + ((cp->vc_x) / Scale), YORG + ((cp->vc_y) / Scale)); /* * fprintf(stderr, "M %d %d\n",(cp->vc_x)/Scale+XORG, * (cp->vc_y)/Scale+YORG); */ break; case 'd': rqline(XORG + ((cp->vc_x) / Scale), YORG + ((cp->vc_y) / Scale)); /* * fprintf(stderr, "L %d %d\n",(cp->vc_x)/Scale+XORG, * (cp->vc_y)/Scale+YORG); */ break; }; } getchar(); rclosertk(); } static void NextChar() { /* * show extent rmove(XORG+(xmin/Scale), YORG+(ymin/Scale)); * rqline(XORG+(xmax/Scale), YORG+(ymin/Scale)); * rqline(XORG+(xmax/Scale), YORG+(ymax/Scale)); * rqline(XORG+(xmin/Scale), YORG+(ymax/Scale)); * rqline(XORG+(xmin/Scale), YORG+(ymin/Scale)); */ XORG += DX; if ((XORG + DX) > 1274) { XORG = 0; YORG -= DY; if ((YORG - 35 / Scale) < 0) { fprintf(stderr, "Next page...\n"); rflush(); getchar(); rberase(); XORG = 0; YORG = 950 - 125 / Scale; } } } main(argc, argv) int argc; char *argv[]; { FONT *fp; if (argc < 3) { fprintf(stderr, "usage:showfont font scale\n"); exit(0); } ReadFont(&fp, argv[1]); DisplayFont(fp, atoi(argv[2])); } xgks-2.6.1+dfsg.2/src/fontdb/mkfont.c0000644000175000017500000002266111413611016020413 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * * University of Illinois at Urbana-Champaign * Department of Computer Science * 1304 W. Springfield Ave. * Urbana, IL 61801 * * (C) Copyright 1987, 1988 by The University of Illinois Board of Trustees. * All rights reserved. * * Tool: X 11 Graphical Kernel System * Author: Gregory Scott Rogers * Author: Sung Hsien Ching Kelvin * Author: Yu Pan */ /* LINTLIBRARY */ #include "udposix.h" #include #include #include #include #include #include "font.h" #ifdef lint static void lint_malloc(n) size_t n; { n++; } # define malloc(n) (lint_malloc((n)), 0) #else static char rcsid[] = "$Id: mkfont.c,v 2.5.4.1 1993/03/10 19:43:43 steve Exp $"; static char afsid[] = "$__Header$"; #endif #define MAXVC 6000 struct Font { char fn[30]; bits16 fnominalx, fnominaly; bits16 ftop, fcap, fhalf, fbase, fbottom; int fc[256]; struct vcharst fvc[MAXVC]; } Font = { "FontName", 0, 0, 0, 0, 0, 0, 0, { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { {'e', 0, 0}, } }; static int Vc = 0; /* next available vcharst slot */ static struct vcharst *Vcp = Font.fvc; /* pointer to same */ static FILE *fontfile; static int xmin, ymin, xmax, ymax; static int cname; static int margin; static int default_margin; static void SetCapHalf() { struct vcharst *vcp; if (Font.fc['A'] != -1) { vcp = &(Font.fvc[Font.fc['A']]); while (vcp->vc_type != 'S') vcp++; Font.fcap = vcp->vc_y; } else Font.fcap = Font.fnominaly; if (Font.fc['a'] != -1) { vcp = &(Font.fvc[Font.fc['a']]); while (vcp->vc_type != 'S') vcp++; Font.fhalf = vcp->vc_y; } else Font.fhalf = Font.fnominaly / 2; Font.fbase = 0; } static void MakeSpaceChar() { struct vcharst *vcpN; int code; if (Font.fc['N'] != -1) { vcpN = &(Font.fvc[Font.fc['N']]); while (vcpN->vc_type != 'S') vcpN++; } else vcpN = NULL; Font.fc[' '] = Vc; /* Begin a SPACE charater */ for (code = 1; code < 255; code++) /* Make all invalid chars * point to SPACE */ if (Font.fc[code] == -1) Font.fc[code] = Vc; Vcp->vc_type = 's'; /* extent minimum */ Vcp->vc_x = 0; Vcp++->vc_y = 0; Vc++; Vcp->vc_type = 'S'; /* extent maximum */ Vcp->vc_x = (vcpN != NULL) ? vcpN->vc_x : Font.fnominalx; Vcp++->vc_y = (vcpN != NULL) ? vcpN->vc_y : Font.fnominaly; Vc++; Vcp->vc_type = 'm'; /* commands to make a space */ Vcp->vc_x = 0; Vcp++->vc_y = 0; Vc++; Vcp->vc_type = 'm'; Vcp->vc_x = (vcpN != NULL) ? vcpN->vc_x : Font.fnominalx; Vcp++->vc_y = (vcpN != NULL) ? vcpN->vc_y : Font.fnominaly; Vc++; Vcp->vc_type = 'e'; Vcp->vc_x = 0; Vcp++->vc_y = 0; Vc++; } static void WriteFont() { int fd; int size; size = (char *) Vcp - (char *) &Font; if ((fd = open(Font.fn, O_CREAT | O_RDWR, 0644)) < 0) { perror("open"); (void) exit(1); } if (write(fd, (char *) &size, sizeof(int)) != sizeof(int)) { perror("write size"); (void) exit(1); } if (write(fd, (char *) &Font, size) != size) { perror("write Font"); (void) exit(1); } (void) close(fd); } #if 0 static void ReadFont(Fpp, Fn) FONT **Fpp; char *Fn; { int fd; int size; if ((fd = open(Fn, O_RDONLY, 0644)) < 0) { perror("open"); (void) exit(1); } if (read(fd, (char *) &size, sizeof(int)) != sizeof(int)) { perror("read size"); (void) exit(1); } if ((*Fpp = (FONT *) malloc((size_t) size)) == NULL) { perror("malloc failed"); (void) exit(1); } if (read(fd, (char *) *Fpp, size) != size) { perror("read Font"); (void) exit(1); } (void) close(fd); } #endif #if 0 static void PrintFont(F) FONT *F; { int c, co; struct vcharst *cp; (void) printf("Font name = %s\n", F->fname); (void) fflush(stdout); for (c = 0; c < 256; c++) if ((co = F->fcharoffset[c]) != -1) { (void) printf("character %c [%d] : ", c, c); for (cp = &(F->fchars[co]); (cp->vc_type != 'e'); cp++) (void) printf("{ '%c', %d, %d} ", cp->vc_type, cp->vc_x, cp->vc_y); (void) printf("\n"); } } #endif static void cklimits(x, y) int x, y; { if (x < xmin) xmin = x; if (x > xmax) xmax = x; if (y < ymin) ymin = y; if (y > ymax) ymax = y; if (y > Font.ftop) Font.ftop = y; if (y < Font.fbottom) Font.fbottom = y; } static void BeginChar(s) char *s; { margin = default_margin; xmin = ymin = 5000; xmax = ymax = -5000; if (strlen(s) == 1) cname = *s; else cname = 128 + *(++s); Font.fc[cname] = Vc; Vcp++; Vc++; /* save room for min */ Vcp++; Vc++; /* save room for max */ } static void FinishChar() { struct vcharst *vp; vp = &(Font.fvc[Font.fc[cname]]); vp->vc_type = 's'; vp->vc_x = xmin - margin; vp++->vc_y = ymin - margin; vp->vc_type = 'S'; vp->vc_x = xmax + margin; vp->vc_y = ymax + margin; Vcp->vc_type = 'e'; Vcp->vc_x = 0; Vcp++->vc_y = 0; Vc++; if ((xmax - xmin) + 2*margin > Font.fnominalx) Font.fnominalx = (xmax - xmin) + 2*margin; if ((ymax - ymin) + 2*margin > Font.fnominaly) Font.fnominaly = (ymax - ymin) + 2*margin; } static void ReadVFont(argc, argv) int argc; char *argv[]; { int x, y, spacing, width, i; char s[80], *sp; if (argc < 3) { (void) fprintf(stderr, "usage:mkfont vfontin gksfontout\n"); (void) exit(1); } if ((fontfile = fopen(argv[1], "r")) == NULL) { (void) fprintf(stderr, "can't fopen(%s,\"r\")\n", argv[1]); (void) exit(1); } (void) strncpy(Font.fn, argv[2], 30); /* font name */ /* * Make sure every char is undefined. */ for (i = 0; i < 256; i++) Font.fc[i] = -1; Font.ftop = -9999; Font.fbottom = 9999; Font.fnominalx = 0; Font.fnominaly = 0; while (fgets(s, 80, fontfile) != NULL) { sp = s; switch (*sp++) { case 'S': /* (void)fprintf(stdout,"Special font\n"); */ break; case 'U': (void) sscanf(sp, "%d", &spacing); default_margin = spacing/2; break; case 'u': (void) sscanf(sp, "%d", &spacing); margin = spacing/2; break; case 'C': sp++; sp[strlen(sp) - 1] = NULL; /* past the space & null */ /* (void)fprintf(stdout,"Character name = %s\n",sp); */ BeginChar(sp); break; case 'w': (void) sscanf(sp, "%d", &width); /* (void)fprintf(stdout,"total width = %d\n",width); */ break; case 'm': (void) sscanf(sp, "%d%d", &x, &y); x += margin; y += margin; cklimits(x, y); Vcp->vc_type = 'm'; Vcp->vc_x = x; Vcp++->vc_y = y; Vc++; break; case 'n': (void) sscanf(sp, "%d%d", &x, &y); x += margin; y += margin; cklimits(x, y); Vcp->vc_type = 'd'; Vcp->vc_x = x; Vcp++->vc_y = y; Vc++; break; case 'E': /* (void)fprintf(stdout,"End of that one...."); */ FinishChar(); break; default: /* (void)fprintf(stdout,"%s\n",s); */ break; } } } main(argc, argv) int argc; char *argv[]; { ReadVFont(argc, argv); SetCapHalf(); MakeSpaceChar(); WriteFont(); return 0; } xgks-2.6.1+dfsg.2/src/fontdb/font.gksm0000644000175000017500000002272211413611016020600 0ustar amckinstryamckinstryGKSMsteve@ernie.unidata.ucar.edu 93/05/10 1 0 3 6 611 1 1dummy info.dummy info. 61 44 0.00000 1.00000 0.00000 1.00000 21 6 1 22 6 1 23 11 1.00000 24 6 1 25 6 1 26 6 3 27 11 1.00000 28 6 1 29 6 1 30 12 1 0 31 11 1.00000 32 11 0.00000 33 6 1 35 6 0 36 12 0 0 34 44 0.00000 0.01000 0.01000 0.00000 37 6 1 38 6 0 39 6 1 40 6 1 41 44 1.00000 0.00000 0.00000 1.00000 42 22 0.00000 0.00000 43 78 1 1 1 1 1 1 1 1 1 1 1 1 1 44 6 0 71 44 0.00000 1.00000 0.00000 0.80000 72 44 0.00000 1279.00000 0.00000 1023.00000 42 22 0.00000 0.00000 41 44 1.00000 0.00000 0.00000 1.00000 34 44 0.00000 0.01000 0.01000 0.00000 42 22 0.00000 0.00000 41 44 1.00000 0.00000 0.00000 1.00000 34 44 0.00000 0.01000 0.01000 0.00000 61 44 0.00000 1.00000 0.00000 1.00000 42 22 0.00000 0.00000 41 44 1.00000 0.00000 0.00000 1.00000 34 44 0.00000 0.00800 0.01000 0.00000 61 44 0.00000 1.00000 0.00000 0.80000 30 12 4 2 33 6 1 34 44 0.00000 0.04000 0.05000 0.00000 34 44 0.00000 0.04000 0.05000 0.00000 36 12 0 0 36 12 2 4 35 6 0 43 78 1 1 1 1 1 1 1 1 1 1 1 1 1 13 44 0.50000 0.72000 16GKS VECTOR FONTS 34 44 0.00000 0.04000 0.05000 0.00000 36 12 0 0 36 12 1 4 30 12 1 2 56 39 1 1.00000 1.00000 1.00000 33 6 1 13 89 0.01000 0.65600 61Font #1 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz 30 12 2 2 56 39 2 1.00000 0.00000 0.00000 33 6 2 13 89 0.01000 0.59200 61Font #2 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz 30 12 3 2 56 39 3 0.00000 1.00000 0.00000 33 6 3 13 89 0.01000 0.52800 61Font #3 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz 30 12 4 2 56 39 4 0.00000 0.00000 1.00000 33 6 4 13 89 0.01000 0.46400 61Font #4 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz 30 12 5 2 56 39 5 1.00000 1.00000 0.00000 33 6 5 13 89 0.01000 0.40000 61Font #5 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz 30 12 6 2 56 39 6 0.00000 1.00000 1.00000 33 6 6 13 89 0.01000 0.33600 61Font #6 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz 30 12 7 2 56 39 7 1.00000 0.00000 1.00000 33 6 7 13 89 0.01000 0.27200 61Font #7 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz 30 12 8 2 56 39 8 1.00000 0.50000 0.00000 33 6 8 13 89 0.01000 0.20800 61Font #8 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz 30 12 9 2 56 39 0 0.00000 1.00000 0.50000 33 6 0 13 89 0.01000 0.14400 61Font #9 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz 1 6 1 30 12 1 2 33 6 1 34 44 0.00000 0.04000 0.05000 0.00000 34 44 0.00000 0.04000 0.05000 0.00000 36 12 0 0 36 12 2 4 35 6 0 13 52 0.50000 0.72000 24GKS VECTOR FONT NUMBER 1 34 44 0.00000 0.04000 0.05000 0.00000 36 12 0 0 36 12 1 4 30 12 1 2 13 51 0.01000 0.64000 23 !"#$%&'()*+,-./:;<=>?@ 13 38 0.01000 0.57600 100123456789 13 54 0.01000 0.51200 26ABCDEFGHIJKLMNOPQRSTUVWXYZ 13 54 0.01000 0.44800 26abcdefghijklmnopqrstuvwxyz 13 38 0.01000 0.38400 10[\]^_`{|}~ 1 6 1 30 12 1 2 33 6 1 34 44 0.00000 0.04000 0.05000 0.00000 34 44 0.00000 0.04000 0.05000 0.00000 36 12 0 0 36 12 2 4 35 6 0 13 52 0.50000 0.72000 24GKS VECTOR FONT NUMBER 2 34 44 0.00000 0.04000 0.05000 0.00000 36 12 0 0 36 12 1 4 30 12 2 2 13 51 0.01000 0.64000 23 !"#$%&'()*+,-./:;<=>?@ 13 38 0.01000 0.57600 100123456789 13 54 0.01000 0.51200 26ABCDEFGHIJKLMNOPQRSTUVWXYZ 13 54 0.01000 0.44800 26abcdefghijklmnopqrstuvwxyz 13 38 0.01000 0.38400 10[\]^_`{|}~ 1 6 1 30 12 1 2 33 6 1 34 44 0.00000 0.04000 0.05000 0.00000 34 44 0.00000 0.04000 0.05000 0.00000 36 12 0 0 36 12 2 4 35 6 0 13 52 0.50000 0.72000 24GKS VECTOR FONT NUMBER 3 34 44 0.00000 0.04000 0.05000 0.00000 36 12 0 0 36 12 1 4 30 12 3 2 13 51 0.01000 0.64000 23 !"#$%&'()*+,-./:;<=>?@ 13 38 0.01000 0.57600 100123456789 13 54 0.01000 0.51200 26ABCDEFGHIJKLMNOPQRSTUVWXYZ 13 54 0.01000 0.44800 26abcdefghijklmnopqrstuvwxyz 13 38 0.01000 0.38400 10[\]^_`{|}~ 1 6 1 30 12 1 2 33 6 1 34 44 0.00000 0.04000 0.05000 0.00000 34 44 0.00000 0.04000 0.05000 0.00000 36 12 0 0 36 12 2 4 35 6 0 13 52 0.50000 0.72000 24GKS VECTOR FONT NUMBER 4 34 44 0.00000 0.04000 0.05000 0.00000 36 12 0 0 36 12 1 4 30 12 4 2 13 51 0.01000 0.64000 23 !"#$%&'()*+,-./:;<=>?@ 13 38 0.01000 0.57600 100123456789 13 54 0.01000 0.51200 26ABCDEFGHIJKLMNOPQRSTUVWXYZ 13 54 0.01000 0.44800 26abcdefghijklmnopqrstuvwxyz 13 38 0.01000 0.38400 10[\]^_`{|}~ 1 6 1 30 12 1 2 33 6 1 34 44 0.00000 0.04000 0.05000 0.00000 34 44 0.00000 0.04000 0.05000 0.00000 36 12 0 0 36 12 2 4 35 6 0 13 52 0.50000 0.72000 24GKS VECTOR FONT NUMBER 5 34 44 0.00000 0.04000 0.05000 0.00000 36 12 0 0 36 12 1 4 30 12 5 2 13 51 0.01000 0.64000 23 !"#$%&'()*+,-./:;<=>?@ 13 38 0.01000 0.57600 100123456789 13 54 0.01000 0.51200 26ABCDEFGHIJKLMNOPQRSTUVWXYZ 13 54 0.01000 0.44800 26abcdefghijklmnopqrstuvwxyz 13 38 0.01000 0.38400 10[\]^_`{|}~ 1 6 1 30 12 1 2 33 6 1 34 44 0.00000 0.04000 0.05000 0.00000 34 44 0.00000 0.04000 0.05000 0.00000 36 12 0 0 36 12 2 4 35 6 0 13 52 0.50000 0.72000 24GKS VECTOR FONT NUMBER 6 34 44 0.00000 0.04000 0.05000 0.00000 36 12 0 0 36 12 1 4 30 12 6 2 13 51 0.01000 0.64000 23 !"#$%&'()*+,-./:;<=>?@ 13 38 0.01000 0.57600 100123456789 13 54 0.01000 0.51200 26ABCDEFGHIJKLMNOPQRSTUVWXYZ 13 54 0.01000 0.44800 26abcdefghijklmnopqrstuvwxyz 13 38 0.01000 0.38400 10[\]^_`{|}~ 1 6 1 30 12 1 2 33 6 1 34 44 0.00000 0.04000 0.05000 0.00000 34 44 0.00000 0.04000 0.05000 0.00000 36 12 0 0 36 12 2 4 35 6 0 13 52 0.50000 0.72000 24GKS VECTOR FONT NUMBER 7 34 44 0.00000 0.04000 0.05000 0.00000 36 12 0 0 36 12 1 4 30 12 7 2 13 51 0.01000 0.64000 23 !"#$%&'()*+,-./:;<=>?@ 13 38 0.01000 0.57600 100123456789 13 54 0.01000 0.51200 26ABCDEFGHIJKLMNOPQRSTUVWXYZ 13 54 0.01000 0.44800 26abcdefghijklmnopqrstuvwxyz 13 38 0.01000 0.38400 10[\]^_`{|}~ 1 6 1 30 12 1 2 33 6 1 34 44 0.00000 0.04000 0.05000 0.00000 34 44 0.00000 0.04000 0.05000 0.00000 36 12 0 0 36 12 2 4 35 6 0 13 52 0.50000 0.72000 24GKS VECTOR FONT NUMBER 8 34 44 0.00000 0.04000 0.05000 0.00000 36 12 0 0 36 12 1 4 30 12 8 2 13 51 0.01000 0.64000 23 !"#$%&'()*+,-./:;<=>?@ 13 38 0.01000 0.57600 100123456789 13 54 0.01000 0.51200 26ABCDEFGHIJKLMNOPQRSTUVWXYZ 13 54 0.01000 0.44800 26abcdefghijklmnopqrstuvwxyz 13 38 0.01000 0.38400 10[\]^_`{|}~ 1 6 1 30 12 1 2 33 6 1 34 44 0.00000 0.04000 0.05000 0.00000 34 44 0.00000 0.04000 0.05000 0.00000 36 12 0 0 36 12 2 4 35 6 0 13 52 0.50000 0.72000 24GKS VECTOR FONT NUMBER 9 34 44 0.00000 0.04000 0.05000 0.00000 36 12 0 0 36 12 1 4 30 12 9 2 13 51 0.01000 0.64000 23 !"#$%&'()*+,-./:;<=>?@ 13 38 0.01000 0.57600 100123456789 13 54 0.01000 0.51200 26ABCDEFGHIJKLMNOPQRSTUVWXYZ 13 54 0.01000 0.44800 26abcdefghijklmnopqrstuvwxyz 13 38 0.01000 0.38400 10[\]^_`{|}~ xgks-2.6.1+dfsg.2/src/fontdb/ti.fnt0000644000175000017500000004355111413611016020077 0ustar amckinstryamckinstry# triplex_italic # C A w 20 m 15 12 n 2 -9 m 15 12 n 16 -9 m 14 10 n 15 -9 m 6 -3 n 15 -3 m 0 -9 n 6 -9 m 12 -9 n 18 -9 E # C B w 24 m 9 12 n 3 -9 m 10 12 n 4 -9 m 6 12 n 17 12 n 20 11 n 21 9 n 21 7 n 20 4 n 19 3 n 16 2 m 17 12 n 19 11 n 20 9 n 20 7 n 19 4 n 18 3 n 16 2 m 7 2 n 16 2 n 18 1 n 19 -1 n 19 -3 n 18 -6 n 16 -8 n 12 -9 n 0 -9 m 16 2 n 17 1 n 18 -1 n 18 -3 n 17 -6 n 15 -8 n 12 -9 E # C C w 21 m 15 10 n 16 10 n 17 12 n 16 6 n 16 8 n 15 10 n 14 11 n 12 12 n 9 12 n 6 11 n 4 9 n 2 6 n 1 3 n 0 -1 n 0 -4 n 1 -7 n 2 -8 n 5 -9 n 8 -9 n 10 -8 n 12 -6 n 13 -4 m 9 12 n 7 11 n 5 9 n 3 6 n 2 3 n 1 -1 n 1 -4 n 2 -7 n 3 -8 n 5 -9 E # C D w 23 m 9 12 n 3 -9 m 10 12 n 4 -9 m 6 12 n 15 12 n 18 11 n 19 10 n 20 7 n 20 3 n 19 -1 n 17 -5 n 15 -7 n 13 -8 n 9 -9 n 0 -9 m 15 12 n 17 11 n 18 10 n 19 7 n 19 3 n 18 -1 n 16 -5 n 14 -7 n 12 -8 n 9 -9 E # C E w 23 m 9 12 n 3 -9 m 10 12 n 4 -9 m 14 6 n 12 -2 m 6 12 n 21 12 n 20 6 n 20 12 m 7 2 n 13 2 m 0 -9 n 15 -9 n 17 -4 n 14 -9 E # C F w 22 m 9 12 n 3 -9 m 10 12 n 4 -9 m 14 6 n 12 -2 m 6 12 n 21 12 n 20 6 n 20 12 m 7 2 n 13 2 m 0 -9 n 7 -9 E # C G w 22 m 15 10 n 16 10 n 17 12 n 16 6 n 16 8 n 15 10 n 14 11 n 12 12 n 9 12 n 6 11 n 4 9 n 2 6 n 1 3 n 0 -1 n 0 -4 n 1 -7 n 2 -8 n 5 -9 n 7 -9 n 10 -8 n 12 -6 n 14 -2 m 9 12 n 7 11 n 5 9 n 3 6 n 2 3 n 1 -1 n 1 -4 n 2 -7 n 3 -8 n 5 -9 m 7 -9 n 9 -8 n 11 -6 n 13 -2 m 10 -2 n 17 -2 E # C H w 26 m 9 12 n 3 -9 m 10 12 n 4 -9 m 22 12 n 16 -9 m 23 12 n 17 -9 m 6 12 n 13 12 m 19 12 n 26 12 m 7 2 n 19 2 m 0 -9 n 7 -9 m 13 -9 n 20 -9 E # C I w 13 m 9 12 n 3 -9 m 10 12 n 4 -9 m 6 12 n 13 12 m 0 -9 n 7 -9 E # C J w 18 m 14 12 n 9 -5 n 8 -7 n 7 -8 n 5 -9 n 3 -9 n 1 -8 n 0 -6 n 0 -4 n 1 -3 n 2 -4 n 1 -5 m 13 12 n 8 -5 n 7 -7 n 5 -9 m 10 12 n 17 12 E # C K w 23 m 9 12 n 3 -9 m 10 12 n 4 -9 m 23 12 n 6 -1 m 13 3 n 17 -9 m 12 3 n 16 -9 m 6 12 n 13 12 m 19 12 n 25 12 m 0 -9 n 7 -9 m 13 -9 n 19 -9 E # C L w 20 m 9 12 n 3 -9 m 10 12 n 4 -9 m 6 12 n 13 12 m 0 -9 n 15 -9 n 17 -3 n 14 -9 E # C M w 27 m 9 12 n 3 -9 m 9 12 n 10 -9 m 10 12 n 11 -7 m 23 12 n 10 -9 m 23 12 n 17 -9 m 24 12 n 18 -9 m 6 12 n 10 12 m 23 12 n 27 12 m 0 -9 n 6 -9 m 14 -9 n 21 -9 E # C N w 25 m 9 12 n 3 -9 m 9 12 n 16 -6 m 9 9 n 16 -9 m 22 12 n 16 -9 m 6 12 n 9 12 m 19 12 n 25 12 m 0 -9 n 6 -9 E # C O w 22 m 9 12 n 6 11 n 4 9 n 2 6 n 1 3 n 0 -1 n 0 -4 n 1 -7 n 2 -8 n 4 -9 n 7 -9 n 10 -8 n 12 -6 n 14 -3 n 15 0 n 16 4 n 16 7 n 15 10 n 14 11 n 12 12 n 9 12 m 9 12 n 7 11 n 5 9 n 3 6 n 2 3 n 1 -1 n 1 -4 n 2 -7 n 4 -9 m 7 -9 n 9 -8 n 11 -6 n 13 -3 n 14 0 n 15 4 n 15 7 n 14 10 n 12 12 E # C P w 23 m 9 12 n 3 -9 m 10 12 n 4 -9 m 6 12 n 18 12 n 21 11 n 22 9 n 22 7 n 21 4 n 19 2 n 15 1 n 7 1 m 18 12 n 20 11 n 21 9 n 21 7 n 20 4 n 18 2 n 15 1 m 0 -9 n 7 -9 E # C Q w 22 m 9 12 n 6 11 n 4 9 n 2 6 n 1 3 n 0 -1 n 0 -4 n 1 -7 n 2 -8 n 4 -9 n 7 -9 n 10 -8 n 12 -6 n 14 -3 n 15 0 n 16 4 n 16 7 n 15 10 n 14 11 n 12 12 n 9 12 m 9 12 n 7 11 n 5 9 n 3 6 n 2 3 n 1 -1 n 1 -4 n 2 -7 n 4 -9 m 7 -9 n 9 -8 n 11 -6 n 13 -3 n 14 0 n 15 4 n 15 7 n 14 10 n 12 12 m 2 -7 n 2 -6 n 3 -4 n 5 -3 n 6 -3 n 8 -4 n 9 -6 n 9 -13 n 10 -14 n 12 -14 n 13 -12 n 13 -11 m 9 -6 n 10 -12 n 11 -13 n 12 -13 n 13 -12 E # C R w 24 m 9 12 n 3 -9 m 10 12 n 4 -9 m 6 12 n 17 12 n 20 11 n 21 9 n 21 7 n 20 4 n 19 3 n 16 2 n 7 2 m 17 12 n 19 11 n 20 9 n 20 7 n 19 4 n 18 3 n 16 2 m 12 2 n 14 1 n 15 0 n 16 -8 n 17 -9 n 19 -9 n 20 -7 n 20 -6 m 15 0 n 17 -7 n 18 -8 n 19 -8 n 20 -7 m 0 -9 n 7 -9 E # C S w 23 m 17 10 n 18 10 n 19 12 n 18 6 n 18 8 n 17 10 n 16 11 n 13 12 n 9 12 n 6 11 n 4 9 n 4 7 n 5 5 n 6 4 n 13 0 n 15 -2 m 4 7 n 6 5 n 13 1 n 14 0 n 15 -2 n 15 -5 n 14 -7 n 13 -8 n 10 -9 n 6 -9 n 3 -8 n 2 -7 n 1 -5 n 1 -3 n 0 -9 n 1 -7 n 2 -7 E # C T w 21 m 9 12 n 3 -9 m 10 12 n 4 -9 m 3 12 n 0 6 n 2 12 n 17 12 n 16 6 n 16 12 m 0 -9 n 7 -9 E # C U w 25 m 4 12 n 1 1 n 0 -3 n 0 -6 n 1 -8 n 4 -9 n 8 -9 n 11 -8 n 13 -6 n 14 -3 n 18 12 m 5 12 n 2 1 n 1 -3 n 1 -6 n 2 -8 n 4 -9 m 1 12 n 8 12 m 15 12 n 21 12 E # C V w 20 m 2 12 n 3 -9 m 3 12 n 4 -7 m 16 12 n 3 -9 m 0 12 n 6 12 m 12 12 n 18 12 E # C W w 26 m 3 12 n 1 -9 m 4 12 n 2 -7 m 11 12 n 1 -9 m 11 12 n 9 -9 m 12 12 n 10 -7 m 19 12 n 9 -9 m 0 12 n 7 12 m 16 12 n 22 12 E # C X w 22 m 8 12 n 15 -9 m 9 12 n 16 -9 m 22 12 n 2 -9 m 6 12 n 12 12 m 18 12 n 24 12 m 0 -9 n 6 -9 m 12 -9 n 18 -9 E # C Y w 21 m 2 12 n 6 2 n 3 -9 m 3 12 n 7 2 n 4 -9 m 17 12 n 7 2 m 0 12 n 6 12 m 13 12 n 19 12 m 0 -9 n 7 -9 E # C Z w 22 m 19 12 n 0 -9 m 20 12 n 1 -9 m 7 12 n 4 6 n 6 12 n 20 12 m 0 -9 n 14 -9 n 16 -3 n 13 -9 E # C a w 22 m 13 5 n 11 -2 n 11 -6 n 12 -8 n 13 -9 n 15 -9 n 17 -7 n 18 -5 m 14 5 n 12 -2 n 12 -8 m 13 5 n 15 5 n 13 -2 n 12 -6 m 11 -2 n 11 1 n 10 4 n 8 5 n 6 5 n 3 4 n 1 1 n 0 -2 n 0 -4 n 1 -7 n 2 -8 n 4 -9 n 6 -9 n 8 -8 n 9 -7 n 10 -5 n 11 -2 m 4 4 n 2 1 n 1 -2 n 1 -5 n 2 -7 m 6 5 n 4 3 n 3 1 n 2 -2 n 2 -5 n 3 -8 n 4 -9 E # C b w 19 m 3 12 n 1 5 n 0 -1 n 0 -5 n 1 -7 n 2 -8 n 4 -9 n 6 -9 n 9 -8 n 11 -5 n 12 -2 n 12 0 n 11 3 n 10 4 n 8 5 n 6 5 n 4 4 n 3 3 n 2 1 n 1 -2 m 4 12 n 2 5 n 1 1 n 1 -5 n 2 -8 m 9 -7 n 10 -5 n 11 -2 n 11 1 n 10 3 m 0 12 n 5 12 n 3 5 n 1 -2 m 6 -9 n 8 -7 n 9 -5 n 10 -2 n 10 1 n 9 4 n 8 5 m 1 12 n 4 11 m 2 12 n 3 10 E # C c w 18 m 11 1 n 11 2 n 10 2 n 10 0 n 12 0 n 12 2 n 11 4 n 9 5 n 6 5 n 3 4 n 1 1 n 0 -2 n 0 -4 n 1 -7 n 2 -8 n 4 -9 n 6 -9 n 9 -8 n 11 -5 m 3 3 n 2 1 n 1 -2 n 1 -5 n 2 -7 m 6 5 n 4 3 n 3 1 n 2 -2 n 2 -5 n 3 -8 n 4 -9 E # C d w 22 m 21 12 n 18 1 n 17 -3 n 17 -6 n 18 -8 n 19 -9 n 21 -9 n 23 -7 n 24 -5 m 22 12 n 19 1 n 18 -3 n 18 -8 m 18 12 n 23 12 n 19 -2 n 18 -6 m 17 -2 n 17 1 n 16 4 n 14 5 n 12 5 n 9 4 n 7 1 n 6 -2 n 6 -4 n 7 -7 n 8 -8 n 10 -9 n 12 -9 n 14 -8 n 15 -7 n 16 -5 n 17 -2 m 9 3 n 8 1 n 7 -2 n 7 -5 n 8 -7 m 12 5 n 10 3 n 9 1 n 8 -2 n 8 -5 n 9 -8 n 10 -9 m 19 12 n 22 11 m 20 12 n 21 10 E # C e w 18 m 1 -4 n 5 -3 n 8 -2 n 11 0 n 12 2 n 11 4 n 9 5 n 6 5 n 3 4 n 1 1 n 0 -2 n 0 -4 n 1 -7 n 2 -8 n 4 -9 n 6 -9 n 9 -8 n 11 -6 m 3 3 n 2 1 n 1 -2 n 1 -5 n 2 -7 m 6 5 n 4 3 n 3 1 n 2 -2 n 2 -5 n 3 -8 n 4 -9 E # C f w 16 m 18 10 n 18 11 n 17 11 n 17 9 n 19 9 n 19 11 n 18 12 n 16 12 n 14 11 n 12 9 n 11 7 n 10 4 n 9 0 n 7 -9 n 6 -12 n 5 -14 n 3 -16 m 12 8 n 11 5 n 10 0 n 8 -9 n 7 -12 m 16 12 n 14 10 n 13 8 n 12 5 n 11 0 n 9 -8 n 8 -11 n 7 -13 n 5 -15 n 3 -16 n 1 -16 n 0 -15 n 0 -13 n 2 -13 n 2 -15 n 1 -15 n 1 -14 m 6 5 n 17 5 E # C g w 21 m 18 5 n 14 -9 n 13 -12 n 11 -15 n 9 -16 m 19 5 n 15 -9 n 13 -13 m 18 5 n 20 5 n 16 -9 n 14 -13 n 12 -15 n 9 -16 n 6 -16 n 4 -15 n 3 -14 n 3 -12 n 5 -12 n 5 -14 n 4 -14 n 4 -13 m 16 -2 n 16 1 n 15 4 n 13 5 n 11 5 n 8 4 n 6 1 n 5 -2 n 5 -4 n 6 -7 n 7 -8 n 9 -9 n 11 -9 n 13 -8 n 14 -7 n 15 -5 n 16 -2 m 8 3 n 7 1 n 6 -2 n 6 -5 n 7 -7 m 11 5 n 9 3 n 8 1 n 7 -2 n 7 -5 n 8 -8 n 9 -9 E # C h w 22 m 6 12 n 0 -9 n 2 -9 m 7 12 n 1 -9 m 3 12 n 8 12 n 2 -9 m 4 -2 n 6 2 n 8 4 n 10 5 n 12 5 n 14 4 n 15 2 n 15 -1 n 13 -6 m 14 4 n 14 0 n 13 -4 n 13 -8 m 14 2 n 12 -3 n 12 -6 n 13 -8 n 14 -9 n 16 -9 n 18 -7 n 19 -5 m 4 12 n 7 11 m 5 12 n 6 10 E # C i w 13 m 7 12 n 7 10 n 9 10 n 9 12 n 7 12 m 8 12 n 8 10 m 7 11 n 9 11 m 0 1 n 1 3 n 3 5 n 5 5 n 6 4 n 7 2 n 7 -1 n 5 -6 m 6 4 n 6 0 n 5 -4 n 5 -8 m 6 2 n 4 -3 n 4 -6 n 5 -8 n 6 -9 n 8 -9 n 10 -7 n 11 -5 E # C j w 13 m 12 12 n 12 10 n 14 10 n 14 12 n 12 12 m 13 12 n 13 10 m 12 11 n 14 11 m 4 1 n 5 3 n 7 5 n 9 5 n 10 4 n 11 2 n 11 -1 n 9 -8 n 8 -11 n 7 -13 n 5 -15 n 3 -16 n 1 -16 n 0 -15 n 0 -13 n 2 -13 n 2 -15 n 1 -15 n 1 -14 m 10 4 n 10 -1 n 8 -8 n 7 -11 n 6 -13 m 10 2 n 9 -2 n 7 -9 n 6 -12 n 5 -14 n 3 -16 E # C k w 22 m 6 12 n 0 -9 n 2 -9 m 7 12 n 1 -9 m 3 12 n 8 12 n 2 -9 m 16 3 n 16 4 n 15 4 n 15 2 n 17 2 n 17 4 n 16 5 n 14 5 n 12 4 n 8 0 n 6 -1 m 4 -1 n 6 -1 n 8 -2 n 9 -3 n 11 -7 n 12 -8 n 14 -8 m 8 -3 n 10 -7 n 11 -8 m 6 -1 n 7 -2 n 9 -8 n 10 -9 n 12 -9 n 14 -8 n 16 -5 m 4 12 n 7 11 m 5 12 n 6 10 E # C l w 12 m 4 12 n 1 1 n 0 -3 n 0 -6 n 1 -8 n 2 -9 n 4 -9 n 6 -7 n 7 -5 m 5 12 n 2 1 n 1 -3 n 1 -8 m 1 12 n 6 12 n 2 -2 n 1 -6 m 2 12 n 5 11 m 3 12 n 4 10 E # C m w 35 m 0 1 n 1 3 n 3 5 n 5 5 n 6 4 n 7 2 n 7 -1 n 5 -9 m 6 4 n 6 -1 n 4 -9 m 6 2 n 5 -2 n 3 -9 n 5 -9 m 7 -1 n 9 2 n 11 4 n 13 5 n 15 5 n 17 4 n 18 2 n 18 -1 n 16 -9 m 17 4 n 17 -1 n 15 -9 m 17 2 n 16 -2 n 14 -9 n 16 -9 m 18 -1 n 20 2 n 22 4 n 24 5 n 26 5 n 28 4 n 29 2 n 29 -1 n 27 -6 m 28 4 n 28 0 n 27 -4 n 27 -8 m 28 2 n 26 -3 n 26 -6 n 27 -8 n 28 -9 n 30 -9 n 32 -7 n 33 -5 E # C n w 24 m 0 1 n 1 3 n 3 5 n 5 5 n 6 4 n 7 2 n 7 -1 n 5 -9 m 6 4 n 6 -1 n 4 -9 m 6 2 n 5 -2 n 3 -9 n 5 -9 m 7 -1 n 9 2 n 11 4 n 13 5 n 15 5 n 17 4 n 18 2 n 18 -1 n 16 -6 m 17 4 n 17 0 n 16 -4 n 16 -8 m 17 2 n 15 -3 n 15 -6 n 16 -8 n 17 -9 n 19 -9 n 21 -7 n 22 -5 E # C o w 20 m 6 5 n 3 4 n 1 1 n 0 -2 n 0 -4 n 1 -7 n 2 -8 n 5 -9 n 8 -9 n 11 -8 n 13 -5 n 14 -2 n 14 0 n 13 3 n 12 4 n 9 5 n 6 5 m 3 3 n 2 1 n 1 -2 n 1 -5 n 2 -7 m 11 -7 n 12 -5 n 13 -2 n 13 1 n 12 3 m 6 5 n 4 3 n 3 1 n 2 -2 n 2 -5 n 3 -8 n 5 -9 m 8 -9 n 10 -7 n 11 -5 n 12 -2 n 12 1 n 11 4 n 9 5 E # C p w 22 m 2 1 n 3 3 n 5 5 n 7 5 n 8 4 n 9 2 n 9 -1 n 8 -5 n 5 -16 m 8 4 n 8 -1 n 7 -5 n 4 -16 m 8 2 n 7 -2 n 3 -16 m 9 -2 n 10 1 n 11 3 n 12 4 n 14 5 n 16 5 n 18 4 n 19 3 n 20 0 n 20 -2 n 19 -5 n 17 -8 n 14 -9 n 12 -9 n 10 -8 n 9 -5 n 9 -2 m 18 3 n 19 1 n 19 -2 n 18 -5 n 17 -7 m 16 5 n 17 4 n 18 1 n 18 -2 n 17 -5 n 16 -7 n 14 -9 m 0 -16 n 8 -16 m 4 -15 n 1 -16 m 4 -14 n 2 -16 m 5 -14 n 6 -16 m 4 -15 n 7 -16 E # C q w 21 m 13 5 n 7 -16 m 14 5 n 8 -16 m 13 5 n 15 5 n 9 -16 m 11 -2 n 11 1 n 10 4 n 8 5 n 6 5 n 3 4 n 1 1 n 0 -2 n 0 -4 n 1 -7 n 2 -8 n 4 -9 n 6 -9 n 8 -8 n 9 -7 n 10 -5 n 11 -2 m 3 3 n 2 1 n 1 -2 n 1 -5 n 2 -7 m 6 5 n 4 3 n 3 1 n 2 -2 n 2 -5 n 3 -8 n 4 -9 m 4 -16 n 12 -16 m 8 -15 n 5 -16 m 8 -14 n 6 -16 m 9 -14 n 10 -16 m 8 -15 n 11 -16 E # C r w 18 m 0 1 n 1 3 n 3 5 n 5 5 n 6 4 n 7 2 n 7 -2 n 5 -9 m 6 4 n 6 -2 n 4 -9 m 6 2 n 5 -2 n 3 -9 n 5 -9 m 15 3 n 15 4 n 14 4 n 14 2 n 16 2 n 16 4 n 15 5 n 13 5 n 11 4 n 9 2 n 7 -2 E # C s w 17 m 12 2 n 12 3 n 11 3 n 11 1 n 13 1 n 13 3 n 12 4 n 9 5 n 6 5 n 3 4 n 2 3 n 2 1 n 3 -1 n 5 -2 n 8 -3 n 10 -4 n 11 -6 m 3 4 n 2 1 m 3 0 n 5 -1 n 8 -2 n 10 -3 m 11 -4 n 10 -8 m 2 3 n 3 1 n 5 0 n 8 -1 n 10 -2 n 11 -4 n 11 -6 n 10 -8 n 7 -9 n 4 -9 n 1 -8 n 0 -7 n 0 -5 n 2 -5 n 2 -7 n 1 -7 n 1 -6 E # C t w 14 m 6 12 n 3 1 n 2 -3 n 2 -6 n 3 -8 n 4 -9 n 6 -9 n 8 -7 n 9 -5 m 7 12 n 4 1 n 3 -3 n 3 -8 m 6 12 n 8 12 n 4 -2 n 3 -6 m 0 5 n 10 5 E # C u w 24 m 0 1 n 1 3 n 3 5 n 5 5 n 6 4 n 7 2 n 7 -1 n 5 -6 m 6 4 n 6 0 n 5 -4 n 5 -8 m 6 2 n 4 -3 n 4 -6 n 5 -8 n 7 -9 n 9 -9 n 11 -8 n 13 -6 n 15 -3 m 17 5 n 15 -3 n 15 -6 n 16 -8 n 17 -9 n 19 -9 n 21 -7 n 22 -5 m 18 5 n 16 -3 n 16 -8 m 17 5 n 19 5 n 17 -2 n 16 -6 E # C v w 20 m 0 1 n 1 3 n 3 5 n 5 5 n 6 4 n 7 2 n 7 -1 n 5 -6 m 6 4 n 6 0 n 5 -4 n 5 -8 m 6 2 n 4 -3 n 4 -6 n 5 -8 n 7 -9 n 9 -9 n 11 -8 n 13 -6 n 15 -3 n 16 1 n 16 5 n 15 5 n 15 4 n 16 2 E # C w w 30 m 0 1 n 1 3 n 3 5 n 5 5 n 6 4 n 7 2 n 7 -1 n 5 -6 m 6 4 n 6 0 n 5 -4 n 5 -8 m 6 2 n 4 -3 n 4 -6 n 5 -8 n 7 -9 n 9 -9 n 11 -8 n 13 -6 n 14 -3 m 16 5 n 14 -3 n 14 -6 n 15 -8 n 17 -9 n 19 -9 n 21 -8 n 23 -6 n 25 -3 n 26 1 n 26 5 n 25 5 n 25 4 n 26 2 m 17 5 n 15 -3 n 15 -8 m 16 5 n 18 5 n 16 -2 n 15 -6 E # C x w 22 m 2 1 n 4 4 n 6 5 n 8 5 n 10 4 n 11 2 n 11 0 m 8 5 n 9 4 n 9 0 n 8 -4 n 7 -6 n 5 -8 n 3 -9 n 1 -9 n 0 -8 n 0 -6 n 2 -6 n 2 -8 n 1 -8 n 1 -7 m 10 3 n 10 0 n 9 -4 n 9 -7 m 18 3 n 18 4 n 17 4 n 17 2 n 19 2 n 19 4 n 18 5 n 16 5 n 14 4 n 12 2 n 11 0 n 10 -4 n 10 -8 n 11 -9 m 8 -4 n 8 -6 n 9 -8 n 11 -9 n 13 -9 n 15 -8 n 17 -5 E # C y w 22 m 0 1 n 1 3 n 3 5 n 5 5 n 6 4 n 7 2 n 7 -1 n 5 -6 m 6 4 n 6 0 n 5 -4 n 5 -8 m 6 2 n 4 -3 n 4 -6 n 5 -8 n 7 -9 n 9 -9 n 11 -8 n 13 -6 n 15 -2 m 17 5 n 13 -9 n 12 -12 n 10 -15 n 8 -16 m 18 5 n 14 -9 n 12 -13 m 17 5 n 19 5 n 15 -9 n 13 -13 n 11 -15 n 8 -16 n 5 -16 n 3 -15 n 2 -14 n 2 -12 n 4 -12 n 4 -14 n 3 -14 n 3 -13 E # C z w 20 m 14 5 n 13 3 n 11 1 n 3 -5 n 1 -7 n 0 -9 m 13 3 n 4 3 n 2 2 n 1 0 m 11 3 n 7 4 n 4 4 n 3 3 m 11 3 n 7 5 n 4 5 n 2 3 n 1 0 m 1 -7 n 10 -7 n 12 -6 n 13 -4 m 3 -7 n 7 -8 n 10 -8 n 11 -7 m 3 -7 n 7 -9 n 10 -9 n 12 -7 n 13 -4 E # C ` w 11 m 3 12 n 1 11 n 0 9 n 0 6 n 1 5 n 2 5 n 3 6 n 3 7 n 2 8 n 1 8 n 0 7 m 1 7 n 1 6 n 2 6 n 2 7 n 1 7 m 1 11 n 0 7 m 0 9 n 1 8 E # C 0 w 21 m 9 12 n 6 11 n 4 9 n 2 6 n 1 3 n 0 -1 n 0 -4 n 1 -7 n 2 -8 n 4 -9 n 6 -9 n 9 -8 n 11 -6 n 13 -3 n 14 0 n 15 4 n 15 7 n 14 10 n 13 11 n 11 12 n 9 12 m 6 10 n 4 8 n 3 6 n 2 3 n 1 -1 n 1 -5 n 2 -7 m 9 -7 n 11 -5 n 12 -3 n 13 0 n 14 4 n 14 8 n 13 10 m 9 12 n 7 11 n 5 8 n 4 6 n 3 3 n 2 -1 n 2 -6 n 3 -8 n 4 -9 m 6 -9 n 8 -8 n 10 -5 n 11 -3 n 12 0 n 13 4 n 13 9 n 12 11 n 11 12 E # C 1 w 21 m 5 8 n 0 -9 n 2 -9 m 8 12 n 6 8 n 1 -9 m 8 12 n 2 -9 m 8 12 n 5 9 n 2 7 n 0 6 m 5 8 n 3 7 n 0 6 E # C 2 w 21 m 6 7 n 6 8 n 7 8 n 7 6 n 5 6 n 5 8 n 6 10 n 7 11 n 10 12 n 13 12 n 16 11 n 17 9 n 17 7 n 16 5 n 14 3 n 4 -3 n 2 -5 n 0 -9 m 15 11 n 16 9 n 16 7 n 15 5 n 13 3 n 10 1 m 13 12 n 14 11 n 15 9 n 15 7 n 14 5 n 12 3 n 4 -3 m 1 -7 n 2 -6 n 4 -6 n 9 -7 n 14 -7 n 15 -6 m 4 -6 n 9 -8 n 14 -8 m 4 -6 n 9 -9 n 12 -9 n 14 -8 n 15 -6 n 15 -5 E # C 3 w 21 m 5 7 n 5 8 n 6 8 n 6 6 n 4 6 n 4 8 n 5 10 n 6 11 n 9 12 n 12 12 n 15 11 n 16 9 n 16 7 n 15 5 n 14 4 n 12 3 n 9 2 m 14 11 n 15 9 n 15 7 n 14 5 n 13 4 m 12 12 n 13 11 n 14 9 n 14 7 n 13 5 n 11 3 n 9 2 m 7 2 n 9 2 n 12 1 n 13 0 n 14 -2 n 14 -5 n 13 -7 n 11 -8 n 8 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -3 n 2 -3 n 2 -5 n 1 -5 n 1 -4 m 12 0 n 13 -2 n 13 -5 n 12 -7 m 9 2 n 11 1 n 12 -1 n 12 -5 n 11 -7 n 10 -8 n 8 -9 E # C 4 w 21 m 13 8 n 8 -9 n 10 -9 m 16 12 n 14 8 n 9 -9 m 16 12 n 10 -9 m 16 12 n 0 -3 n 16 -3 E # C 5 w 21 m 7 12 n 2 2 m 7 12 n 17 12 m 7 11 n 15 11 m 6 10 n 11 10 n 15 11 n 17 12 m 2 2 n 3 3 n 6 4 n 9 4 n 12 3 n 13 2 n 14 0 n 14 -3 n 13 -6 n 11 -8 n 7 -9 n 4 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -3 n 2 -3 n 2 -5 n 1 -5 n 1 -4 m 12 2 n 13 0 n 13 -3 n 12 -6 n 10 -8 m 9 4 n 11 3 n 12 1 n 12 -3 n 11 -6 n 9 -8 n 7 -9 E # C 6 w 21 m 14 8 n 14 9 n 13 9 n 13 7 n 15 7 n 15 9 n 14 11 n 12 12 n 9 12 n 6 11 n 4 9 n 2 6 n 1 3 n 0 -1 n 0 -4 n 1 -7 n 2 -8 n 4 -9 n 7 -9 n 10 -8 n 12 -6 n 13 -4 n 13 -1 n 12 1 n 11 2 n 9 3 n 6 3 n 4 2 n 3 1 n 2 -1 m 5 9 n 3 6 n 2 3 n 1 -1 n 1 -5 n 2 -7 m 11 -6 n 12 -4 n 12 -1 n 11 1 m 9 12 n 7 11 n 5 8 n 4 6 n 3 3 n 2 -1 n 2 -6 n 3 -8 n 4 -9 m 7 -9 n 9 -8 n 10 -7 n 11 -4 n 11 0 n 10 2 n 9 3 E # C 7 w 21 m 2 12 n 0 6 m 15 12 n 14 9 n 12 6 n 8 1 n 6 -2 n 5 -5 n 4 -9 m 6 -1 n 4 -5 n 3 -9 m 12 6 n 6 0 n 4 -3 n 3 -5 n 2 -9 n 4 -9 m 1 9 n 4 12 n 6 12 n 11 9 m 3 11 n 6 11 n 11 9 m 1 9 n 3 10 n 6 10 n 11 9 n 13 9 n 14 10 n 15 12 E # C 8 w 21 m 9 12 n 6 11 n 5 10 n 4 8 n 4 5 n 5 3 n 7 2 n 10 2 n 13 3 n 15 4 n 16 6 n 16 9 n 15 11 n 13 12 n 9 12 m 11 12 n 6 11 m 6 10 n 5 8 n 5 4 n 6 3 m 5 3 n 8 2 m 9 2 n 13 3 m 14 4 n 15 6 n 15 9 n 14 11 m 15 11 n 11 12 m 9 12 n 7 10 n 6 8 n 6 4 n 7 2 m 10 2 n 12 3 n 13 4 n 14 6 n 14 10 n 13 12 m 7 2 n 3 1 n 1 -1 n 0 -3 n 0 -6 n 1 -8 n 4 -9 n 8 -9 n 12 -8 n 13 -7 n 14 -5 n 14 -2 n 13 0 n 12 1 n 10 2 m 8 2 n 3 1 m 4 1 n 2 -1 n 1 -3 n 1 -6 n 2 -8 m 1 -8 n 6 -9 n 12 -8 m 12 -7 n 13 -5 n 13 -2 n 12 0 m 12 1 n 9 2 m 7 2 n 5 1 n 3 -1 n 2 -3 n 2 -6 n 3 -8 n 4 -9 m 8 -9 n 10 -8 n 11 -7 n 12 -5 n 12 -1 n 11 1 n 10 2 E # C 9 w 21 m 13 4 n 12 2 n 11 1 n 9 0 n 6 0 n 4 1 n 3 2 n 2 4 n 2 7 n 3 9 n 5 11 n 8 12 n 11 12 n 13 11 n 14 10 n 15 7 n 15 4 n 14 0 n 13 -3 n 11 -6 n 9 -8 n 6 -9 n 3 -9 n 1 -8 n 0 -6 n 0 -4 n 2 -4 n 2 -6 n 1 -6 n 1 -5 m 4 2 n 3 4 n 3 7 n 4 9 m 13 10 n 14 8 n 14 4 n 13 0 n 12 -3 n 10 -6 m 6 0 n 5 1 n 4 3 n 4 7 n 5 10 n 6 11 n 8 12 m 11 12 n 12 11 n 13 9 n 13 4 n 12 0 n 11 -3 n 10 -5 n 8 -8 n 6 -9 E # C . w 11 m 1 -6 n 0 -7 n 0 -8 n 1 -9 n 2 -9 n 3 -8 n 3 -7 n 2 -6 n 1 -6 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 E # C , w 11 m 3 -9 n 2 -9 n 1 -8 n 1 -7 n 2 -6 n 3 -6 n 4 -7 n 4 -9 n 3 -11 n 2 -12 n 0 -13 m 2 -7 n 2 -8 n 3 -8 n 3 -7 n 2 -7 m 3 -9 n 3 -10 n 2 -12 E # C : w 11 m 4 5 n 3 4 n 3 3 n 4 2 n 5 2 n 6 3 n 6 4 n 5 5 n 4 5 m 4 4 n 4 3 n 5 3 n 5 4 n 4 4 m 1 -6 n 0 -7 n 0 -8 n 1 -9 n 2 -9 n 3 -8 n 3 -7 n 2 -6 n 1 -6 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 E # C ; w 11 m 5 5 n 4 4 n 4 3 n 5 2 n 6 2 n 7 3 n 7 4 n 6 5 n 5 5 m 5 4 n 5 3 n 6 3 n 6 4 n 5 4 m 3 -9 n 2 -9 n 1 -8 n 1 -7 n 2 -6 n 3 -6 n 4 -7 n 4 -9 n 3 -11 n 2 -12 n 0 -13 m 2 -7 n 2 -8 n 3 -8 n 3 -7 n 2 -7 m 3 -9 n 3 -10 n 2 -12 E # C ! w 11 m 7 12 n 6 12 n 5 11 n 3 -2 m 7 11 n 6 11 n 3 -2 m 7 11 n 7 10 n 3 -2 m 7 12 n 8 11 n 8 10 n 3 -2 m 1 -6 n 0 -7 n 0 -8 n 1 -9 n 2 -9 n 3 -8 n 3 -7 n 2 -6 n 1 -6 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 E # C $ w 21 m 1 7 n 1 8 n 2 8 n 2 6 n 0 6 n 0 8 n 1 10 n 2 11 n 5 12 n 9 12 n 12 11 n 13 9 n 13 7 n 12 5 n 11 4 n 9 3 n 5 2 n 3 1 n 3 -1 n 5 -2 n 6 -2 m 7 12 n 12 11 m 11 11 n 12 9 n 12 7 n 11 5 n 10 4 n 8 3 m 9 12 n 10 11 n 11 9 n 11 7 n 10 5 n 9 4 n 5 2 n 4 1 n 4 -1 n 5 -2 m 2 -6 n 1 -7 n 1 -8 n 2 -9 n 3 -9 n 4 -8 n 4 -7 n 3 -6 n 2 -6 m 2 -7 n 2 -8 n 3 -8 n 3 -7 n 2 -7 E # C & w 26 m 21 3 n 21 4 n 20 4 n 20 2 n 22 2 n 22 4 n 21 5 n 20 5 n 18 4 n 16 2 n 11 -6 n 9 -8 n 7 -9 n 4 -9 n 1 -8 n 0 -6 n 0 -4 n 1 -2 n 2 -1 n 4 0 n 9 2 n 11 3 n 13 5 n 14 7 n 14 9 n 13 11 n 11 12 n 9 11 n 8 9 n 8 6 n 9 0 n 10 -3 n 11 -5 n 13 -8 n 15 -9 n 17 -9 n 18 -7 n 18 -6 m 5 -9 n 1 -8 m 2 -8 n 1 -6 n 1 -4 n 2 -2 n 3 -1 n 5 0 m 9 2 n 10 -1 n 13 -7 n 15 -8 m 4 -9 n 3 -8 n 2 -6 n 2 -4 n 3 -2 n 4 -1 n 6 0 n 11 3 m 8 6 n 9 3 n 10 0 n 12 -4 n 14 -7 n 16 -8 n 17 -8 n 18 -7 E # C / w 23 m 26 16 n 0 -16 n 1 -16 m 26 16 n 27 16 n 1 -16 E # C ( w 16 m 13 16 n 11 15 n 8 13 n 5 10 n 3 7 n 1 3 n 0 -1 n 0 -6 n 1 -10 n 2 -13 n 4 -16 m 6 10 n 4 7 n 2 3 n 1 -2 n 1 -10 m 13 16 n 10 14 n 7 11 n 5 8 n 4 6 n 3 3 n 2 -1 n 1 -10 m 1 -2 n 2 -11 n 3 -14 n 4 -16 E # C ) w 16 m 9 16 n 11 13 n 12 10 n 13 6 n 13 1 n 12 -3 n 10 -7 n 8 -10 n 5 -13 n 2 -15 n 0 -16 m 12 10 n 12 2 n 11 -3 n 9 -7 n 7 -10 m 9 16 n 10 14 n 11 11 n 12 2 m 12 10 n 11 1 n 10 -3 n 9 -6 n 8 -8 n 6 -11 n 3 -14 n 0 -16 E # C * w 17 m 5 12 n 4 11 n 6 1 n 5 0 m 5 12 n 5 0 m 5 12 n 6 11 n 4 1 n 5 0 m 0 9 n 1 9 n 9 3 n 10 3 m 0 9 n 10 3 m 0 9 n 0 8 n 10 4 n 10 3 m 10 9 n 9 9 n 1 3 n 0 3 m 10 9 n 0 3 m 10 9 n 10 8 n 0 4 n 0 3 E # C - w 25 m 0 1 n 17 1 n 17 0 m 0 1 n 0 0 n 17 0 E # C + w 25 m 8 9 n 8 -8 n 9 -8 m 8 9 n 9 9 n 9 -8 m 0 1 n 17 1 n 17 0 m 0 1 n 0 0 n 17 0 E # C = w 25 m 0 5 n 17 5 n 17 4 m 0 5 n 0 4 n 17 4 m 0 -3 n 17 -3 n 17 -4 m 0 -3 n 0 -4 n 17 -4 E # C ' w 10 m 3 12 n 2 11 n 0 5 m 3 11 n 0 5 m 3 12 n 4 11 n 0 5 E # C " w 20 m 3 12 n 2 11 n 0 5 m 3 11 n 0 5 m 3 12 n 4 11 n 0 5 m 13 12 n 12 11 n 10 5 m 13 11 n 10 5 m 13 12 n 14 11 n 10 5 E xgks-2.6.1+dfsg.2/src/fontdb/font.c.new0000644000175000017500000001421311413611016020645 0ustar amckinstryamckinstry/* * Copyright IBM Corporation 1989 * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * University of Illinois at Urbana-Champaign * Department of Computer Science * 1304 W. Springfield Ave. * Urbana, IL 61801 * * (C) Copyright 1987, 1988 by The University of Illinois Board of Trustees. * All rights reserved. * * Tool: X 11 Graphical Kernel System * Author: Gregory Scott Rogers * Author: Sung Hsien Ching Kelvin * Author: Yu Pan */ static char rcsid[] = "$Header: /cvsroot/xgks/xgks/fontdb/font.c.new,v 2.5.4.1 1993/03/10 19:43:42 steve Exp $"; #include #include #include "demo.h" Gint ws_id = 1; Gint result; Glimit w; /*MIT*/ Glimit v; /*MIT*/ Glimit wsw; /*MIT*/ Glimit wsv; /*MIT*/ main(argc,argv) int argc; char *argv[]; { double atof(); int i; char *conn = (char *)NULL; for( i=1; i?@"); tpt.y -= 0.08; gtext(&tpt, "0123456789"); tpt.y -= 0.08; gtext(&tpt, "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); tpt.y -= 0.08; gtext(&tpt, "abcdefghijklmnopqrstuvwxyz"); tpt.y -= 0.08; gtext(&tpt, "[\\]^_`{|}~"); /*MIT*/ tpt.y -= 0.08; gtext(&tpt, "The rain in Spain falls on a comma ','"); /*MIT*/ tpt.y -= 0.08; gtext(&tpt, "Yesterday Love Was Such A Lovely Game To Play."); /*MIT*/ } SetColor (hash) Gint hash; { switch (hash) { case 1 : gsettextcolorind(WHITE); return; case 2 : gsettextcolorind(RED); return; case 3 : gsettextcolorind(GREEN); return; case 4 : gsettextcolorind(BLUE); return; case 5 : gsettextcolorind(YELLOW); return; case 6 : gsettextcolorind(CYAN); return; case 7 : gsettextcolorind(SILVER); return; case 8 : gsettextcolorind(DARKGREEN); return; case 9 : gsettextcolorind(BEIGE); return; } } xgks-2.6.1+dfsg.2/src/fontdb/i.src0000644000175000017500000004230411413611016017706 0ustar amckinstryamckinstryU 12 # C ! m 30 105 n 25 100 n 15 40 m 30 100 n 15 40 m 30 105 n 35 100 n 15 40 m 5 10 n 0 5 n 5 0 n 10 5 n 5 10 E # C " m 5 105 n 0 100 n 0 70 m 5 100 n 0 70 m 5 105 n 10 100 n 0 70 m 50 105 n 45 100 n 45 70 m 50 100 n 45 70 m 50 105 n 55 100 n 45 70 E # C # m 40 125 n 5 -35 m 70 125 n 35 -35 m 5 60 n 75 60 m 0 30 n 70 30 E # C $ m 50 125 n 10 -20 m 75 125 n 35 -20 m 80 85 n 75 80 n 80 75 n 85 80 n 85 85 n 80 95 n 75 100 n 60 105 n 40 105 n 25 100 n 15 90 n 15 80 n 20 70 n 25 65 n 60 45 n 70 35 m 15 80 n 25 70 n 60 50 n 65 45 n 70 35 n 70 20 n 65 10 n 60 5 n 45 0 n 25 0 n 10 5 n 5 10 n 0 20 n 0 25 n 5 30 n 10 25 n 5 20 E # C % m 90 105 n 0 0 m 25 105 n 35 95 n 35 85 n 30 75 n 20 70 n 10 70 n 0 80 n 0 90 n 5 100 n 15 105 n 25 105 n 35 100 n 50 95 n 65 95 n 80 100 n 90 105 m 70 35 n 60 30 n 55 20 n 55 10 n 65 0 n 75 0 n 85 5 n 90 15 n 90 25 n 80 35 n 70 35 E # C & m 105 65 n 100 60 n 105 55 n 110 60 n 110 65 n 105 70 n 100 70 n 90 65 n 80 55 n 55 15 n 45 5 n 35 0 n 20 0 n 5 5 n 0 15 n 0 25 n 5 35 n 10 40 n 20 45 n 45 55 n 55 60 n 65 70 n 70 80 n 70 90 n 65 100 n 55 105 n 45 100 n 40 90 n 40 75 n 45 45 n 50 30 n 60 15 n 70 5 n 80 0 n 90 0 n 95 10 n 95 15 m 20 0 n 10 5 n 5 15 n 5 25 n 10 35 n 15 40 n 45 55 m 40 75 n 45 50 n 50 35 n 60 20 n 70 10 n 80 5 n 90 5 n 95 10 E # C ' m 5 95 n 0 100 n 5 105 n 10 100 n 10 90 n 5 80 n 0 75 E # C ( m 60 125 n 40 110 n 25 95 n 15 80 n 5 60 n 0 35 n 0 15 n 5 -10 n 10 -25 n 15 -35 m 40 110 n 25 90 n 15 70 n 10 55 n 5 30 n 5 5 n 10 -20 n 15 -35 E # C ) m 45 125 n 50 115 n 55 100 n 60 75 n 60 55 n 55 30 n 45 10 n 35 -5 n 20 -20 n 0 -35 m 45 125 n 50 110 n 55 85 n 55 60 n 50 35 n 45 20 n 35 0 n 20 -20 E # C * m 25 105 n 25 45 m 0 90 n 50 60 m 50 90 n 0 60 E # C + m 45 90 n 45 0 m 0 45 n 90 45 E # C , m 10 0 n 5 5 n 10 10 n 15 5 n 15 0 n 10 -10 n 0 -20 E # C - m 0 45 n 90 45 E # C . m 5 10 n 0 5 n 5 0 n 10 5 n 5 10 E # C / m 130 125 n 0 -35 E # C 0 m 45 105 n 30 100 n 20 90 n 10 75 n 5 60 n 0 40 n 0 25 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 15 n 65 30 n 70 45 n 75 65 n 75 80 n 70 95 n 65 100 n 55 105 n 45 105 m 45 105 n 35 100 n 25 90 n 15 75 n 10 60 n 5 40 n 5 25 n 10 10 n 20 0 m 30 0 n 40 5 n 50 15 n 60 30 n 65 45 n 70 65 n 70 80 n 65 95 n 55 105 E # C 1 m 30 85 n 5 0 m 40 105 n 10 0 m 40 105 n 25 90 n 10 80 n 0 75 m 35 90 n 15 80 n 0 75 E # C 2 m 30 85 n 35 80 n 30 75 n 25 80 n 25 85 n 30 95 n 35 100 n 50 105 n 65 105 n 80 100 n 85 90 n 85 80 n 80 70 n 70 60 n 55 50 n 35 40 n 20 30 n 10 20 n 0 0 m 65 105 n 75 100 n 80 90 n 80 80 n 75 70 n 65 60 n 35 40 m 5 10 n 10 15 n 20 15 n 45 5 n 60 5 n 70 10 n 75 20 m 20 15 n 45 0 n 60 0 n 70 5 n 75 20 E # C 3 m 25 85 n 30 80 n 25 75 n 20 80 n 20 85 n 25 95 n 30 100 n 45 105 n 60 105 n 75 100 n 80 90 n 80 80 n 75 70 n 60 60 n 45 55 m 60 105 n 70 100 n 75 90 n 75 80 n 70 70 n 60 60 m 35 55 n 45 55 n 60 50 n 65 45 n 70 35 n 70 20 n 65 10 n 60 5 n 45 0 n 25 0 n 10 5 n 5 10 n 0 20 n 0 25 n 5 30 n 10 25 n 5 20 m 45 55 n 55 50 n 60 45 n 65 35 n 65 20 n 60 10 n 55 5 n 45 0 E # C 4 m 70 100 n 40 0 m 75 105 n 45 0 m 75 105 n 0 30 n 80 30 E # C 5 m 35 105 n 10 55 m 35 105 n 85 105 m 35 100 n 60 100 n 85 105 m 10 55 n 15 60 n 30 65 n 45 65 n 60 60 n 65 55 n 70 45 n 70 30 n 65 15 n 55 5 n 40 0 n 25 0 n 10 5 n 5 10 n 0 20 n 0 25 n 5 30 n 10 25 n 5 20 m 45 65 n 55 60 n 60 55 n 65 45 n 65 30 n 60 15 n 50 5 n 40 0 E # C 6 m 70 90 n 65 85 n 70 80 n 75 85 n 75 90 n 70 100 n 60 105 n 45 105 n 30 100 n 20 90 n 10 75 n 5 60 n 0 40 n 0 20 n 5 10 n 10 5 n 20 0 n 35 0 n 50 5 n 60 15 n 65 25 n 65 40 n 60 50 n 55 55 n 45 60 n 30 60 n 20 55 n 10 45 n 5 35 m 45 105 n 35 100 n 25 90 n 15 75 n 10 60 n 5 40 n 5 15 n 10 5 m 35 0 n 45 5 n 55 15 n 60 25 n 60 45 n 55 55 E # C 7 m 10 105 n 0 75 m 75 105 n 70 90 n 60 75 n 35 45 n 25 30 n 20 20 n 15 0 m 60 75 n 30 45 n 20 30 n 15 20 n 10 0 m 5 90 n 20 105 n 30 105 n 55 90 m 10 95 n 20 100 n 30 100 n 55 90 n 65 90 n 70 95 n 75 105 E # C 8 m 45 105 n 30 100 n 25 95 n 20 85 n 20 70 n 25 60 n 35 55 n 50 55 n 70 60 n 75 65 n 80 75 n 80 90 n 75 100 n 60 105 n 45 105 m 45 105 n 35 100 n 30 95 n 25 85 n 25 70 n 30 60 n 35 55 m 50 55 n 65 60 n 70 65 n 75 75 n 75 90 n 70 100 n 60 105 m 35 55 n 15 50 n 5 40 n 0 30 n 0 15 n 5 5 n 20 0 n 40 0 n 60 5 n 65 10 n 70 20 n 70 35 n 65 45 n 60 50 n 50 55 m 35 55 n 20 50 n 10 40 n 5 30 n 5 15 n 10 5 n 20 0 m 40 0 n 55 5 n 60 10 n 65 20 n 65 40 n 60 50 E # C 9 m 70 70 n 65 60 n 55 50 n 45 45 n 30 45 n 20 50 n 15 55 n 10 65 n 10 80 n 15 90 n 25 100 n 40 105 n 55 105 n 65 100 n 70 95 n 75 85 n 75 65 n 70 45 n 65 30 n 55 15 n 45 5 n 30 0 n 15 0 n 5 5 n 0 15 n 0 20 n 5 25 n 10 20 n 5 15 m 20 50 n 15 60 n 15 80 n 20 90 n 30 100 n 40 105 m 65 100 n 70 90 n 70 65 n 65 45 n 60 30 n 50 15 n 40 5 n 30 0 E # C : m 20 70 n 15 65 n 20 60 n 25 65 n 20 70 m 5 10 n 0 5 n 5 0 n 10 5 E # C ; m 25 70 n 20 65 n 25 60 n 30 65 n 25 70 m 10 0 n 5 5 n 10 10 n 15 5 n 15 0 n 10 -10 n 0 -20 E # C < m 80 90 n 0 45 n 80 0 E # C = m 0 60 n 90 60 m 0 30 n 90 30 E # C > m 0 90 n 80 45 n 0 0 E # C ? m 5 85 n 10 80 n 5 75 n 0 80 n 0 85 n 5 95 n 10 100 n 25 105 n 45 105 n 60 100 n 65 90 n 65 80 n 60 70 n 55 65 n 25 55 n 15 50 n 15 40 n 20 35 n 30 35 m 45 105 n 55 100 n 60 90 n 60 80 n 55 70 n 50 65 n 40 60 m 10 10 n 5 5 n 10 0 n 15 5 n 10 10 E # C @ m 45 55 n 35 60 n 25 60 n 20 50 n 20 45 n 25 35 n 35 35 n 45 40 m 45 60 n 45 40 n 50 35 n 60 35 n 65 45 n 65 50 n 60 65 n 50 75 n 35 80 n 30 80 n 15 75 n 5 65 n 0 50 n 0 45 n 5 30 n 15 20 n 30 15 n 35 15 n 50 20 E # C A m 75 105 n 10 0 m 75 105 n 80 0 m 70 95 n 75 0 m 30 30 n 75 30 m 0 0 n 30 0 m 60 0 n 90 0 E # C B m 45 105 n 15 0 m 50 105 n 20 0 m 30 105 n 85 105 n 100 100 n 105 90 n 105 80 n 100 65 n 95 60 n 80 55 m 85 105 n 95 100 n 100 90 n 100 80 n 95 65 n 90 60 n 80 55 m 35 55 n 80 55 n 90 50 n 95 40 n 95 30 n 90 15 n 80 5 n 60 0 n 0 0 m 80 55 n 85 50 n 90 40 n 90 30 n 85 15 n 75 5 n 60 0 E # C C m 75 95 n 80 95 n 85 105 n 80 75 n 80 85 n 75 95 n 70 100 n 60 105 n 45 105 n 30 100 n 20 90 n 10 75 n 5 60 n 0 40 n 0 25 n 5 10 n 10 5 n 25 0 n 40 0 n 50 5 n 60 15 n 65 25 m 45 105 n 35 100 n 25 90 n 15 75 n 10 60 n 5 40 n 5 25 n 10 10 n 15 5 n 25 0 E # C D m 45 105 n 15 0 m 50 105 n 20 0 m 30 105 n 75 105 n 90 100 n 95 95 n 100 80 n 100 60 n 95 40 n 85 20 n 75 10 n 65 5 n 45 0 n 0 0 m 75 105 n 85 100 n 90 95 n 95 80 n 95 60 n 90 40 n 80 20 n 70 10 n 60 5 n 45 0 E # C E m 45 105 n 15 0 m 50 105 n 20 0 m 70 75 n 60 35 m 30 105 n 105 105 n 100 75 n 100 105 m 35 55 n 65 55 m 0 0 n 75 0 n 85 25 n 70 0 E # C F m 45 105 n 15 0 m 50 105 n 20 0 m 70 75 n 60 35 m 30 105 n 105 105 n 100 75 n 100 105 m 35 55 n 65 55 m 0 0 n 35 0 E # C G m 75 95 n 80 95 n 85 105 n 80 75 n 80 85 n 75 95 n 70 100 n 60 105 n 45 105 n 30 100 n 20 90 n 10 75 n 5 60 n 0 40 n 0 25 n 5 10 n 10 5 n 25 0 n 35 0 n 50 5 n 60 15 n 70 35 m 45 105 n 35 100 n 25 90 n 15 75 n 10 60 n 5 40 n 5 25 n 10 10 n 15 5 n 25 0 m 35 0 n 45 5 n 55 15 n 65 35 m 50 35 n 85 35 E # C H m 45 105 n 15 0 m 50 105 n 20 0 m 110 105 n 80 0 m 115 105 n 85 0 m 30 105 n 65 105 m 95 105 n 130 105 m 35 55 n 95 55 m 0 0 n 35 0 m 65 0 n 100 0 E # C I m 45 105 n 15 0 m 50 105 n 20 0 m 30 105 n 65 105 m 0 0 n 35 0 E # C J m 70 105 n 45 20 n 40 10 n 35 5 n 25 0 n 15 0 n 5 5 n 0 15 n 0 25 n 5 30 n 10 25 n 5 20 m 65 105 n 40 20 n 35 10 n 25 0 m 50 105 n 85 105 E # C K m 45 105 n 15 0 m 50 105 n 20 0 m 115 105 n 30 40 m 65 60 n 85 0 m 60 60 n 80 0 m 30 105 n 65 105 m 95 105 n 125 105 m 0 0 n 35 0 m 65 0 n 95 0 E # C L m 45 105 n 15 0 m 50 105 n 20 0 m 30 105 n 65 105 m 0 0 n 75 0 n 85 30 n 70 0 E # C M m 45 105 n 15 0 m 45 105 n 50 0 m 50 105 n 55 10 m 115 105 n 50 0 m 115 105 n 85 0 m 120 105 n 90 0 m 30 105 n 50 105 m 115 105 n 135 105 m 0 0 n 30 0 m 70 0 n 105 0 E # C N m 45 105 n 15 0 m 45 105 n 80 15 m 45 90 n 80 0 m 110 105 n 80 0 m 30 105 n 45 105 m 95 105 n 125 105 m 0 0 n 30 0 E # C O m 45 105 n 30 100 n 20 90 n 10 75 n 5 60 n 0 40 n 0 25 n 5 10 n 10 5 n 20 0 n 35 0 n 50 5 n 60 15 n 70 30 n 75 45 n 80 65 n 80 80 n 75 95 n 70 100 n 60 105 n 45 105 m 45 105 n 35 100 n 25 90 n 15 75 n 10 60 n 5 40 n 5 25 n 10 10 n 20 0 m 35 0 n 45 5 n 55 15 n 65 30 n 70 45 n 75 65 n 75 80 n 70 95 n 60 105 E # C P m 45 105 n 15 0 m 50 105 n 20 0 m 30 105 n 90 105 n 105 100 n 110 90 n 110 80 n 105 65 n 95 55 n 75 50 n 35 50 m 90 105 n 100 100 n 105 90 n 105 80 n 100 65 n 90 55 n 75 50 m 0 0 n 35 0 E # C Q m 45 105 n 30 100 n 20 90 n 10 75 n 5 60 n 0 40 n 0 25 n 5 10 n 10 5 n 20 0 n 35 0 n 50 5 n 60 15 n 70 30 n 75 45 n 80 65 n 80 80 n 75 95 n 70 100 n 60 105 n 45 105 m 45 105 n 35 100 n 25 90 n 15 75 n 10 60 n 5 40 n 5 25 n 10 10 n 20 0 m 35 0 n 45 5 n 55 15 n 65 30 n 70 45 n 75 65 n 75 80 n 70 95 n 60 105 m 10 10 n 10 15 n 15 25 n 25 30 n 30 30 n 40 25 n 45 15 n 45 -20 n 50 -25 n 60 -25 n 65 -15 n 65 -10 m 45 15 n 50 -15 n 55 -20 n 60 -20 n 65 -15 E # C R m 45 105 n 15 0 m 50 105 n 20 0 m 30 105 n 85 105 n 100 100 n 105 90 n 105 80 n 100 65 n 95 60 n 80 55 n 35 55 m 85 105 n 95 100 n 100 90 n 100 80 n 95 65 n 90 60 n 80 55 m 60 55 n 70 50 n 75 45 n 80 5 n 85 0 n 95 0 n 100 10 n 100 15 m 75 45 n 85 10 n 90 5 n 95 5 n 100 10 m 0 0 n 35 0 E # C S m 85 95 n 90 95 n 95 105 n 90 75 n 90 85 n 85 95 n 80 100 n 65 105 n 45 105 n 30 100 n 20 90 n 20 80 n 25 70 n 30 65 n 65 45 n 75 35 m 20 80 n 30 70 n 65 50 n 70 45 n 75 35 n 75 20 n 70 10 n 65 5 n 50 0 n 30 0 n 15 5 n 10 10 n 5 20 n 5 30 n 0 0 n 5 10 n 10 10 E # C T m 45 105 n 15 0 m 50 105 n 20 0 m 15 105 n 0 75 n 10 105 n 85 105 n 80 75 n 80 105 m 0 0 n 35 0 E # C U m 20 105 n 5 50 n 0 30 n 0 15 n 5 5 n 20 0 n 40 0 n 55 5 n 65 15 n 70 30 n 90 105 m 25 105 n 10 50 n 5 30 n 5 15 n 10 5 n 20 0 m 5 105 n 40 105 m 75 105 n 105 105 E # C V m 10 105 n 15 0 m 15 105 n 20 10 m 80 105 n 15 0 m 0 105 n 30 105 m 60 105 n 90 105 E # C W m 15 105 n 5 0 m 20 105 n 10 10 m 55 105 n 5 0 m 55 105 n 45 0 m 60 105 n 50 10 m 95 105 n 45 0 m 0 105 n 35 105 m 80 105 n 110 105 E # C X m 40 105 n 75 0 m 45 105 n 80 0 m 110 105 n 10 0 m 30 105 n 60 105 m 90 105 n 120 105 m 0 0 n 30 0 m 60 0 n 90 0 E # C Y m 10 105 n 30 55 n 15 0 m 15 105 n 35 55 n 20 0 m 85 105 n 35 55 m 0 105 n 30 105 m 65 105 n 95 105 m 0 0 n 35 0 E # C Z m 95 105 n 0 0 m 100 105 n 5 0 m 35 105 n 20 75 n 30 105 n 100 105 m 0 0 n 70 0 n 80 30 n 65 0 E # C [ m 0 125 n 0 -35 m 5 125 n 5 -35 m 0 125 n 35 125 m 0 -35 n 35 -35 E # C \ m 0 105 n 70 -15 E # C ] m 30 125 n 30 -35 m 35 125 n 35 -35 m 0 125 n 35 125 m 0 -35 n 35 -35 E # C ^ m 40 115 n 0 45 m 40 115 n 80 45 E # C ` m 10 105 n 5 100 n 0 90 n 0 80 n 5 75 n 10 80 n 5 85 E # C a m 65 70 n 55 35 n 50 15 n 50 5 n 55 0 n 70 0 n 80 10 n 85 20 m 70 70 n 60 35 n 55 15 n 55 5 n 60 0 m 55 35 n 55 50 n 50 65 n 40 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 40 5 n 50 20 n 55 35 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 E # C b m 20 105 n 0 40 n 0 25 n 5 10 n 10 5 m 25 105 n 5 40 m 5 40 n 10 55 n 20 65 n 30 70 n 40 70 n 50 65 n 55 60 n 60 50 n 60 35 n 55 20 n 45 5 n 30 0 n 20 0 n 10 5 n 5 20 n 5 40 m 50 65 n 55 55 n 55 35 n 50 20 n 40 5 n 30 0 m 5 105 n 25 105 E # C c m 55 55 n 55 50 n 60 50 n 60 55 n 55 65 n 45 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 20 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 E # C d m 75 105 n 55 35 n 50 15 n 50 5 n 55 0 n 70 0 n 80 10 n 85 20 m 80 105 n 60 35 n 55 15 n 55 5 n 60 0 m 55 35 n 55 50 n 50 65 n 40 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 40 5 n 50 20 n 55 35 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 60 105 n 80 105 E # C e m 5 25 n 25 30 n 40 35 n 55 45 n 60 55 n 55 65 n 45 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 15 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 E # C f m 85 100 n 80 95 n 85 90 n 90 95 n 90 100 n 85 105 n 75 105 n 65 100 n 60 95 n 55 85 n 50 70 n 35 0 n 30 -20 n 25 -30 m 75 105 n 65 95 n 60 85 n 55 65 n 45 20 n 40 0 n 35 -15 n 30 -25 n 25 -30 n 15 -35 n 5 -35 n 0 -30 n 0 -25 n 5 -20 n 10 -25 n 5 -30 m 30 70 n 80 70 E # C g m 80 70 n 60 0 n 55 -15 n 45 -30 n 30 -35 n 15 -35 n 5 -30 n 0 -25 n 0 -20 n 5 -15 n 10 -20 n 5 -25 m 75 70 n 55 0 n 50 -15 n 40 -30 n 30 -35 m 65 35 n 65 50 n 60 65 n 50 70 n 40 70 n 25 65 n 15 50 n 10 35 n 10 20 n 15 10 n 20 5 n 30 0 n 40 0 n 50 5 n 60 20 n 65 35 m 40 70 n 30 65 n 20 50 n 15 35 n 15 15 n 20 5 E # C h m 30 105 n 0 0 m 35 105 n 5 0 m 15 35 n 25 55 n 35 65 n 45 70 n 55 70 n 65 65 n 70 60 n 70 50 n 60 20 n 60 5 n 65 0 m 55 70 n 65 60 n 65 50 n 55 20 n 55 5 n 60 0 n 75 0 n 85 10 n 90 20 m 15 105 n 35 105 E # C i m 40 105 n 35 100 n 40 95 n 45 100 n 40 105 m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 50 n 25 20 n 25 5 n 30 0 m 25 70 n 30 65 n 30 50 n 20 20 n 20 5 n 25 0 n 40 0 n 50 10 n 55 20 E # C j m 60 105 n 55 100 n 60 95 n 65 100 n 60 105 m 20 50 n 25 60 n 35 70 n 50 70 n 55 65 n 55 50 n 40 0 n 35 -15 n 30 -25 n 25 -30 n 15 -35 n 5 -35 n 0 -30 n 0 -25 n 5 -20 n 10 -25 n 5 -30 m 45 70 n 50 65 n 50 50 n 35 0 n 30 -15 n 25 -25 n 15 -35 E # C k m 30 105 n 0 0 m 35 105 n 5 0 m 70 65 n 65 60 n 70 55 n 75 60 n 75 65 n 70 70 n 65 70 n 55 65 n 35 45 n 25 40 n 15 40 m 25 40 n 35 35 n 45 5 n 50 0 m 25 40 n 30 35 n 40 5 n 45 0 n 55 0 n 65 5 n 75 20 m 15 105 n 35 105 E # C l m 25 105 n 5 35 n 0 15 n 0 5 n 5 0 n 20 0 n 30 10 n 35 20 m 30 105 n 10 35 n 5 15 n 5 5 n 10 0 m 10 105 n 30 105 E # C m m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 30 35 n 20 0 m 25 70 n 30 65 n 30 55 n 25 35 n 15 0 m 30 35 n 40 55 n 50 65 n 60 70 n 70 70 n 80 65 n 85 60 n 85 50 n 70 0 m 70 70 n 80 60 n 80 50 n 65 0 m 80 35 n 90 55 n 100 65 n 110 70 n 120 70 n 130 65 n 135 60 n 135 50 n 125 20 n 125 5 n 130 0 m 120 70 n 130 60 n 130 50 n 120 20 n 120 5 n 125 0 n 140 0 n 150 10 n 155 20 E # C n m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 30 35 n 20 0 m 25 70 n 30 65 n 30 55 n 25 35 n 15 0 m 30 35 n 40 55 n 50 65 n 60 70 n 70 70 n 80 65 n 85 60 n 85 50 n 75 20 n 75 5 n 80 0 m 70 70 n 80 60 n 80 50 n 70 20 n 70 5 n 75 0 n 90 0 n 100 10 n 105 20 E # C o m 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 45 5 n 55 20 n 60 35 n 60 50 n 55 60 n 50 65 n 40 70 n 30 70 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 30 0 n 40 5 n 50 20 n 55 35 n 55 55 n 50 65 E # C p m 10 50 n 15 60 n 25 70 n 40 70 n 45 65 n 45 55 n 40 35 n 20 -35 m 35 70 n 40 65 n 40 55 n 35 35 n 15 -35 m 40 35 n 45 50 n 55 65 n 65 70 n 75 70 n 85 65 n 90 60 n 95 50 n 95 35 n 90 20 n 80 5 n 65 0 n 55 0 n 45 5 n 40 20 n 40 35 m 85 65 n 90 55 n 90 35 n 85 20 n 75 5 n 65 0 m 0 -35 n 35 -35 E # C q m 65 70 n 35 -35 m 70 70 n 40 -35 m 55 35 n 55 50 n 50 65 n 40 70 n 30 70 n 15 65 n 5 50 n 0 35 n 0 20 n 5 10 n 10 5 n 20 0 n 30 0 n 40 5 n 50 20 n 55 35 m 30 70 n 20 65 n 10 50 n 5 35 n 5 15 n 10 5 m 20 -35 n 55 -35 E # C r m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 55 n 30 35 n 20 0 m 25 70 n 30 65 n 30 55 n 25 35 n 15 0 m 30 35 n 40 55 n 50 65 n 60 70 n 70 70 n 75 65 n 75 60 n 70 55 n 65 60 n 70 65 E # C s m 60 60 n 60 55 n 65 55 n 65 60 n 60 65 n 45 70 n 30 70 n 15 65 n 10 60 n 10 50 n 15 45 n 50 25 n 55 20 m 10 55 n 15 50 n 50 30 n 55 25 n 55 10 n 50 5 n 35 0 n 20 0 n 5 5 n 0 10 n 0 15 n 5 15 n 5 10 E # C t m 30 105 n 10 35 n 5 15 n 5 5 n 10 0 n 25 0 n 35 10 n 40 20 m 35 105 n 15 35 n 10 15 n 10 5 n 15 0 m 0 70 n 45 70 E # C u m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 50 n 25 20 n 25 10 n 35 0 m 25 70 n 30 65 n 30 50 n 20 20 n 20 10 n 25 5 n 35 0 n 45 0 n 55 5 n 65 15 n 75 35 m 85 70 n 75 35 n 70 15 n 70 5 n 75 0 n 90 0 n 100 10 n 105 20 m 90 70 n 80 35 n 75 15 n 75 5 n 80 0 E # C v m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 50 n 25 20 n 25 10 n 35 0 m 25 70 n 30 65 n 30 50 n 20 20 n 20 10 n 25 5 n 35 0 n 40 0 n 55 5 n 65 15 n 75 30 n 80 50 n 80 70 n 75 70 n 80 60 E # C w m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 50 n 25 20 n 25 10 n 35 0 m 25 70 n 30 65 n 30 50 n 20 20 n 20 10 n 25 5 n 35 0 n 45 0 n 55 5 n 65 15 n 70 25 m 80 70 n 70 25 n 70 10 n 75 5 n 85 0 n 95 0 n 105 5 n 115 15 n 120 25 n 125 45 n 125 70 n 120 70 n 125 60 m 85 70 n 75 25 n 75 10 n 85 0 E # C x m 5 50 n 15 65 n 25 70 n 40 70 n 45 60 n 45 45 m 35 70 n 40 60 n 40 45 n 35 25 n 30 15 n 20 5 n 10 0 n 5 0 n 0 5 n 0 10 n 5 15 n 10 10 n 5 5 m 35 25 n 35 10 n 40 0 n 55 0 n 65 5 n 75 20 m 75 65 n 70 60 n 75 55 n 80 60 n 80 65 n 75 70 n 70 70 n 60 65 n 50 55 n 45 45 n 40 25 n 40 10 n 45 0 E # C y m 0 50 n 5 60 n 15 70 n 30 70 n 35 65 n 35 50 n 25 20 n 25 10 n 35 0 m 25 70 n 30 65 n 30 50 n 20 20 n 20 10 n 25 5 n 35 0 n 45 0 n 55 5 n 65 15 n 75 35 m 90 70 n 70 0 n 65 -15 n 55 -30 n 40 -35 n 25 -35 n 15 -30 n 10 -25 n 10 -20 n 15 -15 n 20 -20 n 15 -25 m 85 70 n 65 0 n 60 -15 n 50 -30 n 40 -35 E # C z m 70 70 n 65 60 n 55 50 n 15 20 n 5 10 n 0 0 m 5 50 n 10 60 n 20 70 n 35 70 n 55 60 m 10 60 n 20 65 n 35 65 n 55 60 n 65 60 m 5 10 n 15 10 n 35 5 n 50 5 n 60 10 m 15 10 n 35 0 n 50 0 n 60 10 n 65 20 E # C { m 25 125 n 15 120 n 10 115 n 5 105 n 5 95 n 10 85 n 15 80 n 20 70 n 20 60 n 10 50 m 15 120 n 10 110 n 10 100 n 15 90 n 20 85 n 25 75 n 25 65 n 20 55 n 0 45 n 20 35 n 25 25 n 25 15 n 20 5 n 15 0 n 10 -10 n 10 -20 n 15 -30 m 10 40 n 20 30 n 20 20 n 15 10 n 10 5 n 5 -5 n 5 -15 n 10 -25 n 15 -30 n 25 -35 E # C | m 0 125 n 0 -35 E # C } m 0 125 n 10 120 n 15 115 n 20 105 n 20 95 n 15 85 n 10 80 n 5 70 n 5 60 n 15 50 m 10 120 n 15 110 n 15 100 n 10 90 n 5 85 n 0 75 n 0 65 n 5 55 n 25 45 n 5 35 n 0 25 n 0 15 n 5 5 n 10 0 n 15 -10 n 15 -20 n 10 -30 m 15 40 n 5 30 n 5 20 n 10 10 n 15 5 n 20 -5 n 20 -15 n 15 -25 n 10 -30 n 0 -35 E # C ~ m 0 40 n 0 50 n 5 65 n 15 70 n 25 70 n 35 65 n 55 50 n 65 45 n 75 45 n 85 50 n 90 60 m 0 50 n 5 60 n 15 65 n 25 65 n 35 60 n 55 45 n 65 40 n 75 40 n 85 45 n 90 60 n 90 70 E # xgks-2.6.1+dfsg.2/src/fontdb/Makefile-orig0000644000175000017500000000614111413611016021342 0ustar amckinstryamckinstry# $Id: Makefile-orig,v 2.5.4.1 1993/03/10 19:43:41 steve Exp $ # # Makefile for the "fontdb" subdirectory of the XGKS package. # Anticipated, changeable macros (others might not work): #CC = cc# C compiler. Unset => make(1) default. COPTS = -O DESTDIR = /usr/local/ldm# assumed to contain "bin", "etc", "include", # "lib", and "man" subdirectories LIBMODE = 664 OS = sunos_4.1.1 RANLIB = ranlib # # udposix(3) header-file and library references: # UDPOSIX_CPP = -I$(DESTDIR)/include/udposix/$(CC) UDPOSIX_LD = -L$(DESTDIR)/lib -ludposix_$(CC) # End of anticipated macros MY_MFLAGS = \ CC="$(CC)" \ COPTS="$(COPTS)" \ DESTDIR="$(DESTDIR)" \ LIBMODE="$(LIBMODE)" \ OS="$(OS)" \ RANLIB="$(RANLIB)" \ UDPOSIX_CPP="$(UDPOSIX_CPP)" \ UDPOSIX_LD="$(UDPOSIX_LD)" # Directories: LIBDIR = $(DESTDIR)/lib INCDIR = $(DESTDIR)/include FONTDBDIR = $(LIBDIR)/xgksfonts NAME = fontdb VERSIONID = $(NAME)vers INCPATH = ../lib/src INCLUDES = -I$(INCPATH) $(UDPOSIX_CPP) DEFINES = -DFONTDBDIR="\"$(FONTDBDIR)\"" CPPOPTS = $(INCLUDES) $(DEFINES) CFLAGS = $(CPPOPTS) $(COPTS) SHELL = /bin/sh INST = cp HERSHEY_FONTS = cc.gksfont cg.gksfont ci.gksfont cr.gksfont cs.gksfont \ dr.gksfont ge.gksfont gg.gksfont gi.gksfont m.gksfont \ sg.gksfont sr.gksfont ss.gksfont ti.gksfont tr.gksfont FONTS = r.gksfont R.gksfont b.gksfont B.gksfont i.gksfont \ I.gksfont sc.gksfont SC.gksfont G.gksfont all: $(FONTS) hershey_fonts: $(HERSHEY_FONTS) install: @$(MAKE) $(MFLAGS) $(MY_MFLAGS) \ $(FONTDBDIR) \ $(FONTDBDIR)/1 \ $(FONTDBDIR)/2 \ $(FONTDBDIR)/3 \ $(FONTDBDIR)/4 \ $(FONTDBDIR)/5 \ $(FONTDBDIR)/6 \ $(FONTDBDIR)/7 \ $(FONTDBDIR)/8 \ $(FONTDBDIR)/9 clean: rm -f $(FONTS) mkfont *.o *.log core tags *.ln *.bak hf2gks: hf2gks.o $(CC) -o $@ $? .SUFFIXES: .gksfont .src .fnt .src.gksfont: ./mkfont $< $@ .fnt.gksfont: ./mkfont $< $@ r.gksfont \ R.gksfont \ b.gksfont \ B.gksfont \ i.gksfont \ I.gksfont \ sc.gksfont \ SC.gksfont \ G.gksfont \ cc.fnt \ cg.fnt \ ci.fnt \ cr.fnt \ cs.fnt \ dr.fnt \ ge.fnt \ gg.fnt \ gi.fnt \ m.fnt \ sg.fnt \ sr.fnt \ ss.fnt \ ti.fnt \ tr.fnt \ : mkfont $(FONTDBDIR): mkdir $@ $(FONTDBDIR)/1: r.gksfont $(INST) r.gksfont $(FONTDBDIR) rm -f $@ -cd $(FONTDBDIR); ln r.gksfont 1 $(FONTDBDIR)/2: R.gksfont $(INST) R.gksfont $(FONTDBDIR) rm -f $@ -cd $(FONTDBDIR); ln R.gksfont 2 $(FONTDBDIR)/3: b.gksfont $(INST) b.gksfont $(FONTDBDIR) rm -f $@ -cd $(FONTDBDIR); ln b.gksfont 3 $(FONTDBDIR)/4: B.gksfont $(INST) B.gksfont $(FONTDBDIR) rm -f $@ -cd $(FONTDBDIR); ln B.gksfont 4 $(FONTDBDIR)/5: i.gksfont $(INST) i.gksfont $(FONTDBDIR) rm -f $@ -cd $(FONTDBDIR); ln i.gksfont 5 $(FONTDBDIR)/6: I.gksfont $(INST) I.gksfont $(FONTDBDIR) rm -f $@ -cd $(FONTDBDIR); ln I.gksfont 6 $(FONTDBDIR)/7: sc.gksfont $(INST) sc.gksfont $(FONTDBDIR) rm -f $@ -cd $(FONTDBDIR); ln sc.gksfont 7 $(FONTDBDIR)/8: SC.gksfont $(INST) SC.gksfont $(FONTDBDIR) rm -f $@ -cd $(FONTDBDIR); ln SC.gksfont 8 $(FONTDBDIR)/9: G.gksfont $(INST) G.gksfont $(FONTDBDIR) rm -f $@ -cd $(FONTDBDIR); ln G.gksfont 9 mkfont: mkfont.c $(CC) $(CFLAGS) -o $@ mkfont.c xgks-2.6.1+dfsg.2/src/fontdb/sc.src0000644000175000017500000004207611413611016020071 0ustar amckinstryamckinstryU 0 # C ! m 30 105 n 25 100 n 15 40 m 30 100 n 15 40 m 30 105 n 35 100 n 15 40 m 5 10 n 0 5 n 5 0 n 10 5 n 5 10 E # C " m 5 105 n 0 100 n 0 70 m 5 100 n 0 70 m 5 105 n 10 100 n 0 70 m 50 105 n 45 100 n 45 70 m 50 100 n 45 70 m 50 105 n 55 100 n 45 70 E # C # m 40 125 n 5 -35 m 70 125 n 35 -35 m 5 60 n 75 60 m 0 30 n 70 30 E # C $ m 50 125 n 10 -20 m 75 125 n 35 -20 m 80 85 n 75 80 n 80 75 n 85 80 n 85 85 n 80 95 n 75 100 n 60 105 n 40 105 n 25 100 n 15 90 n 15 80 n 20 70 n 25 65 n 60 45 n 70 35 m 15 80 n 25 70 n 60 50 n 65 45 n 70 35 n 70 20 n 65 10 n 60 5 n 45 0 n 25 0 n 10 5 n 5 10 n 0 20 n 0 25 n 5 30 n 10 25 n 5 20 E # C % m 90 105 n 0 0 m 25 105 n 35 95 n 35 85 n 30 75 n 20 70 n 10 70 n 0 80 n 0 90 n 5 100 n 15 105 n 25 105 n 35 100 n 50 95 n 65 95 n 80 100 n 90 105 m 70 35 n 60 30 n 55 20 n 55 10 n 65 0 n 75 0 n 85 5 n 90 15 n 90 25 n 80 35 n 70 35 E # C & m 105 65 n 100 60 n 105 55 n 110 60 n 110 65 n 105 70 n 100 70 n 90 65 n 80 55 n 55 15 n 45 5 n 35 0 n 20 0 n 5 5 n 0 15 n 0 25 n 5 35 n 10 40 n 20 45 n 45 55 n 55 60 n 65 70 n 70 80 n 70 90 n 65 100 n 55 105 n 45 100 n 40 90 n 40 75 n 45 45 n 50 30 n 60 15 n 70 5 n 80 0 n 90 0 n 95 10 n 95 15 m 20 0 n 10 5 n 5 15 n 5 25 n 10 35 n 15 40 n 45 55 m 40 75 n 45 50 n 50 35 n 60 20 n 70 10 n 80 5 n 90 5 n 95 10 E # C ' m 25 95 n 20 100 n 25 105 n 30 100 n 30 90 n 25 80 n 20 75 E # C ( m 60 125 n 40 110 n 25 95 n 15 80 n 5 60 n 0 35 n 0 15 n 5 -10 n 10 -25 n 15 -35 m 40 110 n 25 90 n 15 70 n 10 55 n 5 30 n 5 5 n 10 -20 n 15 -35 E # C ) m 45 125 n 50 115 n 55 100 n 60 75 n 60 55 n 55 30 n 45 10 n 35 -5 n 20 -20 n 0 -35 m 45 125 n 50 110 n 55 85 n 55 60 n 50 35 n 45 20 n 35 0 n 20 -20 E # C * m 40 75 n 40 15 m 15 60 n 65 30 m 65 60 n 15 30 E # C + m 65 90 n 65 0 m 20 45 n 110 45 E # C , m 30 5 n 25 0 n 20 5 n 25 10 n 30 5 n 30 -5 n 25 -15 n 20 -20 E # C - m 20 45 n 110 45 E # C . m 25 10 n 20 5 n 25 0 n 30 5 n 25 10 E # C / m 0 -15 n 70 105 E # C 0 m 60 105 n 45 100 n 35 90 n 25 75 n 20 60 n 15 40 n 15 25 n 20 10 n 25 5 n 35 0 n 45 0 n 60 5 n 70 15 n 80 30 n 85 45 n 90 65 n 90 80 n 85 95 n 80 100 n 70 105 n 60 105 m 60 105 n 50 100 n 40 90 n 30 75 n 25 60 n 20 40 n 20 25 n 25 10 n 35 0 m 45 0 n 55 5 n 65 15 n 75 30 n 80 45 n 85 65 n 85 80 n 80 95 n 70 105 E # C 1 m 60 85 n 35 0 m 70 105 n 40 0 m 70 105 n 55 90 n 40 80 n 30 75 m 65 90 n 45 80 n 30 75 E # C 2 m 35 85 n 40 80 n 35 75 n 30 80 n 30 85 n 35 95 n 40 100 n 55 105 n 70 105 n 85 100 n 90 90 n 90 80 n 85 70 n 75 60 n 60 50 n 40 40 n 25 30 n 15 20 n 5 0 m 70 105 n 80 100 n 85 90 n 85 80 n 80 70 n 70 60 n 40 40 m 10 10 n 15 15 n 25 15 n 50 5 n 65 5 n 75 10 n 80 20 m 25 15 n 50 0 n 65 0 n 75 5 n 80 20 E # C 3 m 35 85 n 40 80 n 35 75 n 30 80 n 30 85 n 35 95 n 40 100 n 55 105 n 70 105 n 85 100 n 90 90 n 90 80 n 85 70 n 70 60 n 55 55 m 70 105 n 80 100 n 85 90 n 85 80 n 80 70 n 70 60 m 45 55 n 55 55 n 70 50 n 75 45 n 80 35 n 80 20 n 75 10 n 70 5 n 55 0 n 35 0 n 20 5 n 15 10 n 10 20 n 10 25 n 15 30 n 20 25 n 15 20 m 55 55 n 65 50 n 70 45 n 75 35 n 75 20 n 70 10 n 65 5 n 55 0 E # C 4 m 80 100 n 50 0 m 85 105 n 55 0 m 85 105 n 10 30 n 90 30 E # C 5 m 45 105 n 20 55 m 45 105 n 95 105 m 45 100 n 70 100 n 95 105 m 20 55 n 25 60 n 40 65 n 55 65 n 70 60 n 75 55 n 80 45 n 80 30 n 75 15 n 65 5 n 50 0 n 35 0 n 20 5 n 15 10 n 10 20 n 10 25 n 15 30 n 20 25 n 15 20 m 55 65 n 65 60 n 70 55 n 75 45 n 75 30 n 70 15 n 60 5 n 50 0 E # C 6 m 85 90 n 80 85 n 85 80 n 90 85 n 90 90 n 85 100 n 75 105 n 60 105 n 45 100 n 35 90 n 25 75 n 20 60 n 15 40 n 15 20 n 20 10 n 25 5 n 35 0 n 50 0 n 65 5 n 75 15 n 80 25 n 80 40 n 75 50 n 70 55 n 60 60 n 45 60 n 35 55 n 25 45 n 20 35 m 60 105 n 50 100 n 40 90 n 30 75 n 25 60 n 20 40 n 20 15 n 25 5 m 50 0 n 60 5 n 70 15 n 75 25 n 75 45 n 70 55 E # C 7 m 30 105 n 20 75 m 95 105 n 90 90 n 80 75 n 55 45 n 45 30 n 40 20 n 35 0 m 80 75 n 50 45 n 40 30 n 35 20 n 30 0 m 25 90 n 40 105 n 50 105 n 75 90 m 30 95 n 40 100 n 50 100 n 75 90 n 85 90 n 90 95 n 95 105 E # C 8 m 55 105 n 40 100 n 35 95 n 30 85 n 30 70 n 35 60 n 45 55 n 60 55 n 80 60 n 85 65 n 90 75 n 90 90 n 85 100 n 70 105 n 55 105 m 55 105 n 45 100 n 40 95 n 35 85 n 35 70 n 40 60 n 45 55 m 60 55 n 75 60 n 80 65 n 85 75 n 85 90 n 80 100 n 70 105 m 45 55 n 25 50 n 15 40 n 10 30 n 10 15 n 15 5 n 30 0 n 50 0 n 70 5 n 75 10 n 80 20 n 80 35 n 75 45 n 70 50 n 60 55 m 45 55 n 30 50 n 20 40 n 15 30 n 15 15 n 20 5 n 30 0 m 50 0 n 65 5 n 70 10 n 75 20 n 75 40 n 70 50 E # C 9 m 85 70 n 80 60 n 70 50 n 60 45 n 45 45 n 35 50 n 30 55 n 25 65 n 25 80 n 30 90 n 40 100 n 55 105 n 70 105 n 80 100 n 85 95 n 90 85 n 90 65 n 85 45 n 80 30 n 70 15 n 60 5 n 45 0 n 30 0 n 20 5 n 15 15 n 15 20 n 20 25 n 25 20 n 20 15 m 35 50 n 30 60 n 30 80 n 35 90 n 45 100 n 55 105 m 80 100 n 85 90 n 85 65 n 80 45 n 75 30 n 65 15 n 55 5 n 45 0 E # C : m 20 70 n 15 65 n 20 60 n 25 65 n 20 70 m 5 10 n 0 5 n 5 0 n 10 5 E # C ; m 25 70 n 20 65 n 25 60 n 30 65 n 25 70 m 10 0 n 5 5 n 10 10 n 15 5 n 15 0 n 10 -10 n 0 -20 E # C < m 80 90 n 0 45 n 80 0 E # C = m 0 60 n 90 60 m 0 30 n 90 30 E # C > m 0 90 n 80 45 n 0 0 E # C ? m 5 85 n 10 80 n 5 75 n 0 80 n 0 85 n 5 95 n 10 100 n 25 105 n 45 105 n 60 100 n 65 90 n 65 80 n 60 70 n 55 65 n 25 55 n 15 50 n 15 40 n 20 35 n 30 35 m 45 105 n 55 100 n 60 90 n 60 80 n 55 70 n 50 65 n 40 60 m 10 10 n 5 5 n 10 0 n 15 5 n 10 10 E # C @ m 45 55 n 35 60 n 25 60 n 20 50 n 20 45 n 25 35 n 35 35 n 45 40 m 45 60 n 45 40 n 50 35 n 60 35 n 65 45 n 65 50 n 60 65 n 50 75 n 35 80 n 30 80 n 15 75 n 5 65 n 0 50 n 0 45 n 5 30 n 15 20 n 30 15 n 35 15 n 50 20 E # C A m 0 0 n 10 5 n 25 20 n 40 40 n 60 75 n 75 105 n 75 0 n 70 15 n 60 30 n 50 40 n 35 50 n 25 50 n 20 45 n 20 35 n 25 25 n 35 15 n 50 5 n 65 0 n 90 0 E # C B m 65 95 n 70 90 n 70 75 n 65 55 n 60 40 n 55 30 n 45 15 n 35 5 n 25 0 n 20 0 n 15 5 n 15 20 n 20 45 n 25 60 n 30 70 n 40 85 n 50 95 n 60 100 n 75 105 n 90 105 n 100 100 n 105 90 n 105 80 n 100 70 n 95 65 n 85 60 n 70 55 m 65 55 n 70 55 n 85 50 n 90 45 n 95 35 n 95 20 n 90 10 n 85 5 n 75 0 n 60 0 n 50 5 n 45 15 E # C C m 60 75 n 60 70 n 65 65 n 75 65 n 85 70 n 90 80 n 90 90 n 85 100 n 75 105 n 60 105 n 45 100 n 35 90 n 25 75 n 20 65 n 15 45 n 15 25 n 20 10 n 25 5 n 35 0 n 45 0 n 60 5 n 70 15 n 75 25 E # C D m 65 105 n 55 100 n 50 90 n 45 70 n 40 40 n 35 25 n 30 15 n 20 5 n 10 0 n 0 0 n -5 5 n -5 15 n 0 20 n 10 20 n 20 15 n 30 5 n 45 0 n 60 0 n 75 5 n 85 15 n 95 35 n 100 60 n 100 80 n 95 95 n 90 100 n 80 105 n 65 105 n 55 95 n 55 85 n 60 70 n 70 55 n 80 45 n 95 35 n 105 30 E # C E m 70 85 n 70 80 n 75 75 n 85 75 n 90 80 n 90 90 n 85 100 n 70 105 n 50 105 n 35 100 n 30 90 n 30 75 n 35 65 n 40 60 n 55 55 n 40 55 n 25 50 n 20 45 n 15 35 n 15 20 n 20 10 n 25 5 n 40 0 n 55 0 n 70 5 n 80 15 n 85 25 E # C F m 50 75 n 40 75 n 30 80 n 25 90 n 30 100 n 45 105 n 60 105 n 80 100 n 95 100 n 105 105 m 80 100 n 70 65 n 60 35 n 50 15 n 40 5 n 30 0 n 20 0 n 10 5 n 5 15 n 5 25 n 10 30 n 20 30 n 30 25 m 45 55 n 90 55 E # C G m 0 0 n 10 5 n 30 25 n 45 50 n 50 65 n 55 85 n 55 100 n 50 105 n 45 105 n 40 100 n 35 90 n 35 75 n 40 65 n 50 60 n 70 60 n 85 65 n 90 70 n 95 80 n 95 50 n 90 25 n 85 15 n 75 5 n 60 0 n 40 0 n 25 5 n 15 15 n 10 25 n 10 35 E # C H m 35 70 n 25 75 n 20 85 n 20 90 n 25 100 n 35 105 n 40 105 n 50 100 n 55 90 n 55 80 n 50 60 n 40 30 n 30 10 n 20 0 n 10 0 n 5 5 n 5 15 m 35 45 n 80 60 n 90 65 n 105 75 n 115 85 n 120 95 n 120 100 n 115 105 n 110 105 n 100 95 n 90 75 n 80 45 n 75 20 n 75 5 n 80 0 n 85 0 n 95 5 n 100 10 n 110 25 E # C I m 70 25 n 60 35 n 50 50 n 45 60 n 40 75 n 40 90 n 45 100 n 50 105 n 60 105 n 65 100 n 70 90 n 70 75 n 65 50 n 55 25 n 50 15 n 40 5 n 30 0 n 20 0 n 10 5 n 5 15 n 5 25 n 10 30 n 20 30 n 30 25 E # C J m 50 -15 n 40 0 n 30 25 n 25 55 n 25 85 n 30 100 n 40 105 n 50 105 n 55 100 n 60 85 n 60 70 n 55 45 n 40 0 n 30 -30 n 25 -45 n 20 -55 n 10 -60 n 5 -55 n 5 -45 n 10 -30 n 20 -15 n 30 -5 n 45 5 n 65 15 E # C K m 35 70 n 25 75 n 20 85 n 20 90 n 25 100 n 35 105 n 40 105 n 50 100 n 55 90 n 55 80 n 50 60 n 40 30 n 30 10 n 20 0 n 10 0 n 5 5 n 5 15 m 120 90 n 120 100 n 115 105 n 110 105 n 100 100 n 90 90 n 80 75 n 70 65 n 60 60 n 50 60 m 60 60 n 65 50 n 65 15 n 70 5 n 75 0 n 80 0 n 90 5 n 95 10 n 105 25 E # C L m 20 45 n 30 45 n 50 50 n 65 60 n 75 70 n 80 80 n 80 95 n 75 105 n 65 105 n 60 100 n 55 90 n 50 65 n 45 40 n 40 25 n 35 15 n 25 5 n 15 0 n 5 0 n 0 5 n 0 15 n 5 20 n 15 20 n 25 15 n 40 5 n 55 0 n 65 0 n 80 5 n 90 15 E # C M m 25 70 n 15 75 n 10 85 n 10 90 n 15 100 n 25 105 n 30 105 n 40 100 n 45 90 n 45 80 n 40 55 n 35 35 n 25 0 m 35 35 n 50 75 n 60 95 n 65 100 n 75 105 n 80 105 n 90 100 n 95 90 n 95 80 n 90 55 n 85 35 n 75 0 m 85 35 n 100 75 n 110 95 n 115 100 n 125 105 n 130 105 n 140 100 n 145 90 n 145 80 n 140 55 n 130 20 n 130 5 n 135 0 n 140 0 n 150 5 n 155 10 n 165 25 E # C N m 25 70 n 15 75 n 10 85 n 10 90 n 15 100 n 25 105 n 30 105 n 40 100 n 45 90 n 45 80 n 40 55 n 35 35 n 25 0 m 35 35 n 50 75 n 60 95 n 65 100 n 75 105 n 85 105 n 95 100 n 100 90 n 100 80 n 95 55 n 85 20 n 85 5 n 90 0 n 95 0 n 105 5 n 110 10 n 120 25 E # C O m 60 105 n 45 100 n 35 90 n 25 75 n 20 65 n 15 45 n 15 25 n 20 10 n 25 5 n 35 0 n 45 0 n 60 5 n 70 15 n 80 30 n 85 40 n 90 60 n 90 80 n 85 95 n 80 100 n 70 105 n 60 105 n 50 95 n 50 80 n 55 65 n 65 50 n 75 40 n 90 30 n 100 25 E # C P m 65 95 n 70 90 n 70 75 n 65 55 n 60 40 n 55 30 n 45 15 n 35 5 n 25 0 n 20 0 n 15 5 n 15 20 n 20 45 n 25 60 n 30 70 n 40 85 n 50 95 n 60 100 n 75 105 n 100 105 n 110 100 n 115 95 n 120 85 n 120 70 n 115 60 n 110 55 n 100 50 n 85 50 n 75 55 n 70 60 E # C Q m 65 75 n 60 65 n 55 60 n 45 55 n 35 55 n 30 65 n 30 75 n 35 90 n 45 100 n 60 105 n 75 105 n 85 100 n 90 90 n 90 70 n 85 55 n 75 40 n 55 20 n 40 10 n 30 5 n 15 0 n 5 0 n 0 5 n 0 15 n 5 20 n 15 20 n 25 15 n 40 5 n 55 0 n 70 0 n 85 5 n 95 15 E # C R m 65 95 n 70 90 n 70 75 n 65 55 n 60 40 n 55 30 n 45 15 n 35 5 n 25 0 n 20 0 n 15 5 n 15 20 n 20 45 n 25 60 n 30 70 n 40 85 n 50 95 n 60 100 n 75 105 n 95 105 n 105 100 n 110 95 n 115 85 n 115 70 n 110 60 n 105 55 n 95 50 n 80 50 n 65 55 n 70 50 n 75 40 n 75 15 n 80 5 n 90 0 n 100 5 n 105 10 n 115 25 E # C S m 0 0 n 10 5 n 20 15 n 35 35 n 45 50 n 55 70 n 60 85 n 60 100 n 55 105 n 50 105 n 45 100 n 40 90 n 40 80 n 45 70 n 55 60 n 70 50 n 80 40 n 85 30 n 85 20 n 80 10 n 75 5 n 60 0 n 40 0 n 25 5 n 15 15 n 10 25 n 10 35 E # C T m 50 75 n 40 75 n 30 80 n 25 90 n 30 100 n 45 105 n 60 105 n 80 100 n 95 100 n 105 105 m 80 100 n 70 65 n 60 35 n 50 15 n 40 5 n 30 0 n 20 0 n 10 5 n 5 15 n 5 25 n 10 30 n 20 30 n 30 25 E # C U m 25 70 n 15 75 n 10 85 n 10 90 n 15 100 n 25 105 n 30 105 n 40 100 n 45 90 n 45 80 n 40 60 n 35 45 n 30 25 n 30 15 n 35 5 n 45 0 n 55 0 n 65 5 n 70 10 n 80 30 n 95 70 n 105 105 m 95 70 n 90 50 n 85 20 n 85 5 n 90 0 n 95 0 n 105 5 n 110 10 n 120 25 E # C V m 25 70 n 15 75 n 10 85 n 10 90 n 15 100 n 25 105 n 30 105 n 40 100 n 45 90 n 45 80 n 40 60 n 35 45 n 30 25 n 30 10 n 35 0 n 45 0 n 55 5 n 70 20 n 80 35 n 90 55 n 95 70 n 100 90 n 100 100 n 95 105 n 90 105 n 85 100 n 80 90 n 80 80 n 85 65 n 95 55 n 105 50 E # C W m 25 70 n 15 75 n 10 85 n 10 90 n 15 100 n 25 105 n 30 105 n 40 100 n 45 90 n 45 75 n 40 0 m 90 105 n 40 0 m 90 105 n 80 0 m 150 105 n 140 100 n 125 85 n 110 65 n 95 35 n 80 0 E # C X m 40 75 n 30 75 n 25 80 n 25 90 n 30 100 n 40 105 n 50 105 n 60 100 n 65 90 n 65 75 n 55 30 n 55 15 n 60 5 n 70 0 n 80 0 n 90 5 n 95 15 n 95 25 n 90 30 n 80 30 m 115 90 n 115 100 n 110 105 n 100 105 n 90 100 n 80 90 n 70 75 n 50 30 n 40 15 n 30 5 n 20 0 n 10 0 n 5 5 n 5 15 E # C Y m 25 70 n 15 75 n 10 85 n 10 90 n 15 100 n 25 105 n 30 105 n 40 100 n 45 90 n 45 80 n 40 60 n 35 45 n 30 25 n 30 15 n 35 5 n 40 0 n 50 0 n 60 5 n 70 15 n 80 30 n 85 40 n 95 70 m 105 105 n 95 70 n 80 20 n 70 -10 n 60 -35 n 50 -55 n 40 -60 n 35 -55 n 35 -45 n 40 -30 n 50 -15 n 65 0 n 80 10 n 105 25 E # C Z m 65 75 n 60 65 n 55 60 n 45 55 n 35 55 n 30 65 n 30 75 n 35 90 n 45 100 n 60 105 n 75 105 n 85 100 n 90 90 n 90 70 n 85 55 n 75 35 n 60 20 n 40 5 n 30 0 n 15 0 n 10 5 n 10 15 n 15 20 n 30 20 n 40 15 n 45 10 n 50 0 n 50 -15 n 45 -30 n 40 -40 n 30 -55 n 20 -60 n 15 -55 n 15 -45 n 20 -30 n 30 -15 n 45 0 n 60 10 n 90 25 E # C [ m 0 125 n 0 -35 m 5 125 n 5 -35 m 0 125 n 35 125 m 0 -35 n 35 -35 E # C \ m 0 105 n 70 -15 E # C ] m 30 125 n 30 -35 m 35 125 n 35 -35 m 0 125 n 35 125 m 0 -35 n 35 -35 E # C ^ m 40 115 n 0 45 m 40 115 n 80 45 E # C ` m 5 105 n 30 75 m 5 105 n 0 100 n 30 75 E # C a m 45 30 n 40 40 n 30 45 n 20 45 n 10 40 n 5 35 n 0 25 n 0 15 n 5 5 n 15 0 n 25 0 n 35 5 n 40 15 n 50 45 n 45 20 n 45 5 n 50 0 n 55 0 n 65 5 n 70 10 n 80 25 E # C b m 0 25 n 10 40 n 25 65 n 30 75 n 35 90 n 35 100 n 30 105 n 20 100 n 15 90 n 10 70 n 5 35 n 5 5 n 10 0 n 15 0 n 25 5 n 35 15 n 40 30 n 40 45 n 45 25 n 50 20 n 60 20 n 70 25 E # C c m 35 35 n 35 40 n 30 45 n 20 45 n 10 40 n 5 35 n 0 25 n 0 15 n 5 5 n 15 0 n 30 0 n 45 10 n 55 25 E # C d m 45 30 n 40 40 n 30 45 n 20 45 n 10 40 n 5 35 n 0 25 n 0 15 n 5 5 n 15 0 n 25 0 n 35 5 n 40 15 n 70 105 m 50 45 n 45 20 n 45 5 n 50 0 n 55 0 n 65 5 n 70 10 n 80 25 E # C e m 5 10 n 15 15 n 20 20 n 25 30 n 25 40 n 20 45 n 15 45 n 5 40 n 0 30 n 0 15 n 5 5 n 15 0 n 25 0 n 35 5 n 40 10 n 50 25 E # C f m 0 25 n 20 50 n 30 65 n 35 75 n 40 90 n 40 100 n 35 105 n 25 100 n 20 90 n 10 50 n -5 5 n -20 -30 n -25 -45 n -25 -55 n -20 -60 n -10 -55 n -5 -40 n 0 5 n 5 0 n 15 0 n 25 5 n 30 10 n 40 25 E # C g m 45 30 n 40 40 n 30 45 n 20 45 n 10 40 n 5 35 n 0 25 n 0 15 n 5 5 n 15 0 n 25 0 n 35 5 n 40 10 m 50 45 n 40 10 n 20 -45 n 15 -55 n 5 -60 n 0 -55 n 0 -45 n 5 -30 n 20 -15 n 35 -5 n 45 0 n 60 10 n 75 25 E # C h m 0 25 n 10 40 n 25 65 n 30 75 n 35 90 n 35 100 n 30 105 n 20 100 n 15 90 n 10 70 n 5 40 n 0 0 m 0 0 n 5 15 n 10 25 n 20 40 n 30 45 n 40 45 n 45 40 n 45 30 n 40 15 n 40 5 n 45 0 n 50 0 n 60 5 n 65 10 n 75 25 E # C i m 15 70 n 15 65 n 20 65 n 20 70 n 15 70 m 0 25 n 10 45 n 0 15 n 0 5 n 5 0 n 10 0 n 20 5 n 25 10 n 35 25 E # C j m 15 70 n 15 65 n 20 65 n 20 70 n 15 70 m 0 25 n 10 45 n -20 -45 n -25 -55 n -35 -60 n -40 -55 n -40 -45 n -35 -30 n -20 -15 n -5 -5 n 5 0 n 20 10 n 35 25 E # C k m 0 25 n 10 40 n 25 65 n 30 75 n 35 90 n 35 100 n 30 105 n 20 100 n 15 90 n 10 70 n 5 40 n 0 0 m 0 0 n 5 15 n 10 25 n 20 40 n 30 45 n 40 45 n 45 40 n 45 30 n 35 25 n 20 25 m 20 25 n 30 20 n 35 5 n 40 0 n 45 0 n 55 5 n 60 10 n 70 25 E # C l m 0 25 n 10 40 n 25 65 n 30 75 n 35 90 n 35 100 n 30 105 n 20 100 n 15 90 n 10 70 n 5 35 n 5 5 n 10 0 n 15 0 n 25 5 n 30 10 n 40 25 E # C m m 0 25 n 10 40 n 20 45 n 25 40 n 25 35 n 20 15 n 15 0 m 20 15 n 25 25 n 35 40 n 45 45 n 55 45 n 60 40 n 60 35 n 55 15 n 50 0 m 55 15 n 60 25 n 70 40 n 80 45 n 90 45 n 95 40 n 95 30 n 90 15 n 90 5 n 95 0 n 100 0 n 110 5 n 115 10 n 125 25 E # C n m 0 25 n 10 40 n 20 45 n 25 40 n 25 35 n 20 15 n 15 0 m 20 15 n 25 25 n 35 40 n 45 45 n 55 45 n 60 40 n 60 30 n 55 15 n 55 5 n 60 0 n 65 0 n 75 5 n 80 10 n 90 25 E # C o m 30 45 n 20 45 n 10 40 n 5 35 n 0 25 n 0 15 n 5 5 n 15 0 n 25 0 n 35 5 n 40 10 n 45 20 n 45 30 n 40 40 n 30 45 n 25 40 n 25 30 n 30 20 n 40 15 n 55 15 n 65 20 n 70 25 E # C p m 0 25 n 10 40 n 15 50 n 10 30 n -20 -60 m 10 30 n 15 40 n 25 45 n 35 45 n 45 40 n 50 30 n 50 20 n 45 10 n 40 5 n 30 0 m 10 5 n 20 0 n 35 0 n 50 5 n 60 10 n 75 25 E # C q m 45 30 n 40 40 n 30 45 n 20 45 n 10 40 n 5 35 n 0 25 n 0 15 n 5 5 n 15 0 n 25 0 n 35 5 m 50 45 n 45 30 n 35 5 n 20 -30 n 15 -45 n 15 -55 n 20 -60 n 30 -55 n 35 -40 n 35 -5 n 45 0 n 60 10 n 75 25 E # C r m 0 25 n 10 40 n 15 50 n 15 40 n 30 40 n 35 35 n 35 25 n 30 10 n 30 5 n 35 0 n 40 0 n 50 5 n 55 10 n 65 25 E # C s m 0 25 n 10 40 n 15 50 n 15 40 n 25 25 n 30 15 n 30 5 n 20 0 m 0 5 n 10 0 n 30 0 n 40 5 n 45 10 n 55 25 E # C t m 0 25 n 10 40 n 20 60 m 35 105 n 5 15 n 5 5 n 10 0 n 20 0 n 30 5 n 35 10 n 45 25 m 5 65 n 40 65 E # C u m 0 25 n 10 45 n 0 15 n 0 5 n 5 0 n 15 0 n 25 5 n 35 15 n 45 30 m 50 45 n 40 15 n 40 5 n 45 0 n 50 0 n 60 5 n 65 10 n 75 25 E # C v m 0 25 n 10 45 n 5 20 n 5 5 n 10 0 n 15 0 n 30 5 n 40 15 n 45 30 n 45 45 m 45 45 n 50 25 n 55 20 n 65 20 n 75 25 E # C w m 15 45 n 5 35 n 0 20 n 0 10 n 5 0 n 15 0 n 25 5 n 35 15 m 45 45 n 35 15 n 35 5 n 40 0 n 50 0 n 60 5 n 70 15 n 75 30 n 75 45 m 75 45 n 80 25 n 85 20 n 95 20 n 105 25 E # C x m 0 25 n 10 40 n 20 45 n 30 45 n 35 40 n 35 5 n 40 0 n 55 0 n 70 10 n 80 25 m 65 40 n 60 45 n 50 45 n 45 40 n 25 5 n 20 0 n 10 0 n 5 5 E # C y m 0 25 n 10 45 n 0 15 n 0 5 n 5 0 n 15 0 n 25 5 n 35 15 n 45 30 m 50 45 n 20 -45 n 15 -55 n 5 -60 n 0 -55 n 0 -45 n 5 -30 n 20 -15 n 35 -5 n 45 0 n 60 10 n 75 25 E # C z m 0 25 n 10 40 n 20 45 n 30 45 n 40 35 n 40 25 n 35 15 n 25 5 n 10 0 n 20 -5 n 25 -15 n 25 -30 n 20 -45 n 15 -55 n 5 -60 n 0 -55 n 0 -45 n 5 -30 n 20 -15 n 35 -5 n 55 10 n 70 25 E # C { m 25 125 n 15 120 n 10 115 n 5 105 n 5 95 n 10 85 n 15 80 n 20 70 n 20 60 n 10 50 m 15 120 n 10 110 n 10 100 n 15 90 n 20 85 n 25 75 n 25 65 n 20 55 n 0 45 n 20 35 n 25 25 n 25 15 n 20 5 n 15 0 n 10 -10 n 10 -20 n 15 -30 m 10 40 n 20 30 n 20 20 n 15 10 n 10 5 n 5 -5 n 5 -15 n 10 -25 n 15 -30 n 25 -35 E # C | m 0 125 n 0 -35 E # C } m 0 125 n 10 120 n 15 115 n 20 105 n 20 95 n 15 85 n 10 80 n 5 70 n 5 60 n 15 50 m 10 120 n 15 110 n 15 100 n 10 90 n 5 85 n 0 75 n 0 65 n 5 55 n 25 45 n 5 35 n 0 25 n 0 15 n 5 5 n 10 0 n 15 -10 n 15 -20 n 10 -30 m 15 40 n 5 30 n 5 20 n 10 10 n 15 5 n 20 -5 n 20 -15 n 15 -25 n 10 -30 n 0 -35 E # C ~ m 0 30 n 0 40 n 5 55 n 15 60 n 25 60 n 35 55 n 55 40 n 65 35 n 75 35 n 85 40 n 90 50 m 0 40 n 5 50 n 15 55 n 25 55 n 35 50 n 55 35 n 65 30 n 75 30 n 85 35 n 90 50 n 90 60 E xgks-2.6.1+dfsg.2/src/fontdb/gg.fnt0000644000175000017500000006760111413611016020062 0ustar amckinstryamckinstry# gothic_german # C 0 w 20 m 6 12 n 3 11 n 1 8 n 0 3 n 0 0 n 1 -5 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -5 n 14 0 n 14 3 n 13 8 n 11 11 n 8 12 n 6 12 m 3 10 n 2 8 n 1 4 n 1 -1 n 2 -5 n 3 -7 m 11 -7 n 12 -5 n 13 -1 n 13 4 n 12 8 n 11 10 m 6 12 n 4 11 n 3 9 n 2 4 n 2 -1 n 3 -6 n 4 -8 n 6 -9 m 8 -9 n 10 -8 n 11 -6 n 12 -1 n 12 4 n 11 9 n 10 11 n 8 12 E # C 1 w 20 m 4 10 n 4 -9 m 5 10 n 5 -8 m 6 12 n 6 -9 m 6 12 n 3 9 n 1 8 m 0 -9 n 10 -9 m 4 -8 n 2 -9 m 4 -7 n 3 -9 m 6 -7 n 7 -9 m 6 -8 n 8 -9 E # C 2 w 20 m 4 8 n 4 7 n 5 7 n 5 8 n 4 8 m 4 9 n 5 9 n 6 8 n 6 7 n 5 6 n 4 6 n 3 7 n 3 8 n 4 10 n 5 11 n 8 12 n 12 12 n 15 11 n 16 10 n 17 8 n 17 6 n 16 4 n 13 2 n 8 0 n 6 -1 n 4 -3 n 3 -6 n 3 -9 m 15 10 n 16 8 n 16 6 n 15 4 m 12 12 n 14 11 n 15 8 n 15 6 n 14 4 n 12 2 n 8 0 m 3 -7 n 4 -6 n 6 -6 n 11 -7 n 15 -7 n 17 -6 m 6 -6 n 11 -8 n 15 -8 n 16 -7 m 6 -6 n 11 -9 n 15 -9 n 16 -8 n 17 -6 n 17 -4 E # C 3 w 20 m 1 8 n 1 7 n 2 7 n 2 8 n 1 8 m 1 9 n 2 9 n 3 8 n 3 7 n 2 6 n 1 6 n 0 7 n 0 8 n 1 10 n 2 11 n 5 12 n 9 12 n 12 11 n 13 9 n 13 6 n 12 4 n 9 3 m 11 11 n 12 9 n 12 6 n 11 4 m 8 12 n 10 11 n 11 9 n 11 6 n 10 4 n 8 3 m 6 3 n 9 3 n 11 2 n 13 0 n 14 -2 n 14 -5 n 13 -7 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -4 n 1 -3 n 2 -3 n 3 -4 n 3 -5 n 2 -6 n 1 -6 m 12 0 n 13 -2 n 13 -5 n 12 -7 m 8 3 n 10 2 n 11 1 n 12 -2 n 12 -5 n 11 -8 n 9 -9 m 1 -4 n 1 -5 n 2 -5 n 2 -4 n 1 -4 E # C 4 w 20 m 9 9 n 9 -9 m 10 10 n 10 -8 m 11 12 n 11 -9 m 11 12 n 0 -3 n 16 -3 m 6 -9 n 14 -9 m 9 -8 n 7 -9 m 9 -7 n 8 -9 m 11 -7 n 12 -9 m 11 -8 n 13 -9 E # C 5 w 20 m 2 12 n 0 2 n 2 4 n 5 5 n 8 5 n 11 4 n 13 2 n 14 -1 n 14 -3 n 13 -6 n 11 -8 n 8 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -4 n 1 -3 n 2 -3 n 3 -4 n 3 -5 n 2 -6 n 1 -6 m 12 2 n 13 0 n 13 -4 n 12 -6 m 8 5 n 10 4 n 11 3 n 12 0 n 12 -4 n 11 -7 n 10 -8 n 8 -9 m 1 -4 n 1 -5 n 2 -5 n 2 -4 n 1 -4 m 2 12 n 12 12 m 2 11 n 10 11 m 2 10 n 6 10 n 10 11 n 12 12 E # C 6 w 20 m 11 9 n 11 8 n 12 8 n 12 9 n 11 9 m 12 10 n 11 10 n 10 9 n 10 8 n 11 7 n 12 7 n 13 8 n 13 9 n 12 11 n 10 12 n 7 12 n 4 11 n 2 9 n 1 7 n 0 3 n 0 -3 n 1 -6 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -6 n 14 -3 n 14 -2 n 13 1 n 11 3 n 8 4 n 6 4 n 4 3 n 3 2 n 2 0 m 3 9 n 2 7 n 1 3 n 1 -3 n 2 -6 n 3 -7 m 12 -6 n 13 -4 n 13 -1 n 12 1 m 7 12 n 5 11 n 4 10 n 3 8 n 2 4 n 2 -3 n 3 -6 n 4 -8 n 6 -9 m 8 -9 n 10 -8 n 11 -7 n 12 -4 n 12 -1 n 11 2 n 10 3 n 8 4 E # C 7 w 20 m 0 12 n 0 6 m 14 12 n 14 9 n 13 6 n 9 1 n 8 -1 n 7 -5 n 7 -9 m 8 0 n 7 -2 n 6 -5 n 6 -9 m 13 6 n 8 1 n 6 -2 n 5 -5 n 5 -9 n 7 -9 m 0 8 n 1 10 n 3 12 n 5 12 n 10 9 n 12 9 n 13 10 n 14 12 m 2 10 n 3 11 n 5 11 n 7 10 m 0 8 n 1 9 n 3 10 n 5 10 n 10 9 E # C 8 w 20 m 5 12 n 2 11 n 1 9 n 1 6 n 2 4 n 5 3 n 9 3 n 12 4 n 13 6 n 13 9 n 12 11 n 9 12 n 5 12 m 3 11 n 2 9 n 2 6 n 3 4 m 11 4 n 12 6 n 12 9 n 11 11 m 5 12 n 4 11 n 3 9 n 3 6 n 4 4 n 5 3 m 9 3 n 10 4 n 11 6 n 11 9 n 10 11 n 9 12 m 5 3 n 2 2 n 1 1 n 0 -1 n 0 -5 n 1 -7 n 2 -8 n 5 -9 n 9 -9 n 12 -8 n 13 -7 n 14 -5 n 14 -1 n 13 1 n 12 2 n 9 3 m 2 1 n 1 -1 n 1 -5 n 2 -7 m 12 -7 n 13 -5 n 13 -1 n 12 1 m 5 3 n 3 2 n 2 -1 n 2 -5 n 3 -8 n 5 -9 m 9 -9 n 11 -8 n 12 -5 n 12 -1 n 11 2 n 9 3 E # C 9 w 20 m 2 -5 n 2 -6 n 3 -6 n 3 -5 n 2 -5 m 12 3 n 11 1 n 10 0 n 8 -1 n 6 -1 n 3 0 n 1 2 n 0 5 n 0 6 n 1 9 n 3 11 n 6 12 n 8 12 n 11 11 n 13 9 n 14 6 n 14 0 n 13 -4 n 12 -6 n 10 -8 n 7 -9 n 4 -9 n 2 -8 n 1 -6 n 1 -5 n 2 -4 n 3 -4 n 4 -5 n 4 -6 n 3 -7 n 2 -7 m 2 2 n 1 4 n 1 7 n 2 9 m 11 10 n 12 9 n 13 6 n 13 0 n 12 -4 n 11 -6 m 6 -1 n 4 0 n 3 1 n 2 4 n 2 7 n 3 10 n 4 11 n 6 12 m 8 12 n 10 11 n 11 9 n 12 6 n 12 -1 n 11 -5 n 10 -7 n 9 -8 n 7 -9 E # C . w 11 m 1 -6 n 0 -7 n 0 -8 n 1 -9 n 2 -9 n 3 -8 n 3 -7 n 2 -6 n 1 -6 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 E # C , w 11 m 3 -8 n 2 -9 n 1 -9 n 0 -8 n 0 -7 n 1 -6 n 2 -6 n 3 -7 n 3 -10 n 2 -12 n 0 -13 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 m 2 -9 n 3 -10 m 3 -8 n 2 -12 E # C : w 11 m 1 5 n 0 4 n 0 3 n 1 2 n 2 2 n 3 3 n 3 4 n 2 5 n 1 5 m 1 4 n 1 3 n 2 3 n 2 4 n 1 4 m 1 -6 n 0 -7 n 0 -8 n 1 -9 n 2 -9 n 3 -8 n 3 -7 n 2 -6 n 1 -6 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 E # C ; w 11 m 1 5 n 0 4 n 0 3 n 1 2 n 2 2 n 3 3 n 3 4 n 2 5 n 1 5 m 1 4 n 1 3 n 2 3 n 2 4 n 1 4 m 3 -8 n 2 -9 n 1 -9 n 0 -8 n 0 -7 n 1 -6 n 2 -6 n 3 -7 n 3 -10 n 2 -12 n 0 -13 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 m 2 -9 n 3 -10 m 3 -8 n 2 -12 E # C ! w 11 m 1 12 n 0 11 n 0 9 n 1 1 m 1 12 n 1 -2 n 2 -2 m 1 12 n 2 12 n 2 -2 m 2 12 n 3 11 n 3 9 n 2 1 m 1 -6 n 0 -7 n 0 -8 n 1 -9 n 2 -9 n 3 -8 n 3 -7 n 2 -6 n 1 -6 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 E # C ? w 19 m 1 7 n 1 8 n 2 8 n 2 6 n 0 6 n 0 8 n 1 10 n 2 11 n 4 12 n 8 12 n 11 11 n 12 10 n 13 8 n 13 6 n 12 4 n 11 3 n 7 1 m 11 10 n 12 9 n 12 5 n 11 4 m 8 12 n 10 11 n 11 9 n 11 5 n 10 3 n 9 2 m 6 1 n 6 -2 n 7 -2 n 7 1 n 6 1 m 6 -6 n 5 -7 n 5 -8 n 6 -9 n 7 -9 n 8 -8 n 8 -7 n 7 -6 n 6 -6 m 6 -7 n 6 -8 n 7 -8 n 7 -7 n 6 -7 E # C ` w 11 m 3 12 n 1 11 n 0 9 n 0 6 n 1 5 n 2 5 n 3 6 n 3 7 n 2 8 n 1 8 n 0 7 m 1 7 n 1 6 n 2 6 n 2 7 n 1 7 m 1 11 n 0 7 m 0 9 n 1 8 E # C & w 26 m 18 3 n 18 4 n 17 4 n 17 2 n 19 2 n 19 4 n 18 5 n 17 5 n 16 4 n 15 2 n 13 -3 n 11 -6 n 9 -8 n 7 -9 n 3 -9 n 1 -8 n 0 -6 n 0 -3 n 1 -1 n 7 3 n 9 5 n 10 7 n 10 9 n 9 11 n 7 12 n 5 11 n 4 9 n 4 6 n 5 3 n 7 0 n 11 -5 n 14 -8 n 16 -9 n 18 -9 n 19 -7 n 19 -6 m 2 -8 n 1 -6 n 1 -3 n 2 -1 n 3 0 m 9 5 n 10 9 m 10 7 n 9 11 m 5 11 n 4 7 m 5 4 n 7 1 n 11 -4 n 14 -7 n 16 -8 m 5 -9 n 3 -8 n 2 -6 n 2 -3 n 3 -1 n 7 3 m 4 9 n 5 5 n 8 1 n 12 -4 n 15 -7 n 17 -8 n 18 -8 n 19 -7 E # C $ w 20 m 5 16 n 5 -13 m 9 16 n 9 -13 m 13 7 n 13 8 n 12 8 n 12 6 n 14 6 n 14 8 n 13 10 n 12 11 n 9 12 n 5 12 n 2 11 n 0 9 n 0 6 n 1 4 n 4 2 n 10 0 n 12 -1 n 13 -3 n 13 -6 n 12 -8 m 1 6 n 2 4 n 4 3 n 10 1 n 12 0 n 13 -2 m 2 11 n 1 9 n 1 7 n 2 5 n 4 4 n 10 2 n 13 0 n 14 -2 n 14 -5 n 13 -7 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -3 n 2 -3 n 2 -5 n 1 -5 n 1 -4 E # C / w 23 m 18 16 n 0 -16 n 1 -16 m 18 16 n 19 16 n 1 -16 E # C ( w 14 m 7 16 n 5 14 n 3 11 n 1 7 n 0 2 n 0 -2 n 1 -7 n 3 -11 n 5 -14 n 7 -16 m 3 10 n 2 7 n 1 3 n 1 -3 n 2 -7 n 3 -10 m 5 14 n 4 12 n 3 9 n 2 3 n 2 -3 n 3 -9 n 4 -12 n 5 -14 E # C ) w 14 m 0 16 n 2 14 n 4 11 n 6 7 n 7 2 n 7 -2 n 6 -7 n 4 -11 n 2 -14 n 0 -16 m 4 10 n 5 7 n 6 3 n 6 -3 n 5 -7 n 4 -10 m 2 14 n 3 12 n 4 9 n 5 3 n 5 -3 n 4 -9 n 3 -12 n 2 -14 E # C * w 16 m 5 12 n 4 11 n 6 1 n 5 0 m 5 12 n 5 0 m 5 12 n 6 11 n 4 1 n 5 0 m 0 9 n 1 9 n 9 3 n 10 3 m 0 9 n 10 3 m 0 9 n 0 8 n 10 4 n 10 3 m 10 9 n 9 9 n 1 3 n 0 3 m 10 9 n 0 3 m 10 9 n 10 8 n 0 4 n 0 3 E # C - w 25 m 0 1 n 17 1 n 17 0 m 0 1 n 0 0 n 17 0 E # C + w 25 m 8 9 n 8 -8 n 9 -8 m 8 9 n 9 9 n 9 -8 m 0 1 n 17 1 n 17 0 m 0 1 n 0 0 n 17 0 E # C = w 25 m 0 5 n 17 5 n 17 4 m 0 5 n 0 4 n 17 4 m 0 -3 n 17 -3 n 17 -4 m 0 -3 n 0 -4 n 17 -4 E # C ' w 9 m 1 12 n 0 11 n 0 5 m 1 11 n 0 5 m 1 12 n 2 11 n 0 5 E # C " w 18 m 1 12 n 0 11 n 0 5 m 1 11 n 0 5 m 1 12 n 2 11 n 0 5 m 10 12 n 9 11 n 9 5 m 10 11 n 9 5 m 10 12 n 11 11 n 9 5 E # C A w 24 m 1 10 n 2 9 n 1 8 n 0 9 n 1 11 n 3 12 n 5 12 n 7 11 n 8 10 n 9 7 n 9 3 n 8 0 n 6 -2 n 4 -3 n 1 -4 m 7 10 n 8 7 n 8 2 n 7 0 m 5 12 n 6 11 n 7 8 n 7 2 n 6 -1 n 4 -3 m 4 -4 n 7 -7 m 3 -4 n 7 -8 m 1 -4 n 6 -9 n 13 -4 m 20 11 n 19 10 n 20 10 n 20 11 n 19 12 n 17 12 n 15 11 n 14 10 n 13 8 n 13 -7 n 15 -9 n 19 -5 m 15 10 n 14 8 n 14 -6 n 16 -8 m 17 12 n 16 11 n 15 8 n 15 -5 n 17 -7 E # C B w 26 m 0 1 n 0 0 n 1 -1 n 3 -1 n 5 0 n 5 3 n 4 5 n 2 8 n 2 10 n 4 12 m 4 3 n 2 7 m 3 -1 n 4 0 n 4 2 n 2 5 n 1 7 n 1 9 n 2 11 n 4 12 n 7 12 n 9 11 n 10 10 n 11 8 n 11 0 n 10 -3 n 8 -5 m 9 10 n 10 8 n 10 -2 m 7 12 n 8 11 n 9 8 n 9 -3 n 8 -5 m 11 9 n 12 11 n 14 12 n 16 12 n 18 11 n 19 10 n 20 8 n 21 7 m 18 10 n 19 8 m 16 12 n 17 11 n 18 8 n 19 7 n 21 7 m 21 7 n 11 2 m 18 5 n 20 3 n 21 0 n 21 -3 n 20 -6 n 18 -8 n 15 -9 n 12 -9 n 9 -8 n 3 -5 n 2 -5 n 1 -6 m 17 4 n 18 4 n 20 2 m 15 4 n 18 3 n 20 1 n 21 -1 m 13 -8 n 11 -8 n 5 -5 n 4 -5 m 19 -7 n 17 -8 n 14 -8 n 11 -7 n 7 -5 n 4 -4 n 2 -4 n 1 -6 n 1 -8 n 2 -9 n 3 -8 n 2 -7 E # C C w 24 m 9 10 n 7 12 n 5 12 n 3 11 n 1 8 n 0 4 n 0 0 n 1 -4 n 3 -7 n 5 -8 n 8 -9 n 11 -9 n 14 -8 n 16 -7 n 18 -5 m 3 10 n 2 8 n 1 5 n 1 0 n 2 -4 n 4 -7 n 7 -8 m 5 12 n 4 11 n 3 9 n 2 5 n 2 1 n 3 -3 n 4 -5 n 6 -7 n 9 -8 n 12 -8 n 15 -7 n 18 -5 m 12 12 n 9 10 n 8 9 n 7 7 n 7 6 n 8 4 n 11 2 n 12 0 n 12 -2 m 8 7 n 8 6 n 12 2 n 12 1 m 8 9 n 8 8 n 9 6 n 12 4 n 13 2 n 13 0 n 12 -2 n 10 -3 n 9 -3 n 7 -2 n 6 0 m 12 12 n 13 11 n 15 10 n 17 10 m 12 11 n 13 10 n 14 10 m 11 11 n 13 9 n 15 9 n 17 10 n 18 11 E # C D w 26 m 0 6 n 0 7 n 1 9 n 3 11 n 6 12 n 10 12 n 13 11 n 15 10 n 17 8 n 19 5 n 20 1 n 20 -3 n 19 -6 n 17 -8 n 14 -9 n 11 -9 n 8 -8 n 2 -5 n 1 -5 n 0 -6 m 3 10 n 5 11 n 10 11 n 13 10 n 15 9 n 17 7 n 19 4 m 12 -8 n 10 -8 n 4 -5 n 3 -5 m 0 7 n 2 9 n 5 10 n 10 10 n 13 9 n 15 8 n 17 6 n 19 3 n 20 0 m 18 -7 n 16 -8 n 13 -8 n 10 -7 n 6 -5 n 3 -4 n 1 -4 n 0 -6 n 0 -8 n 1 -9 n 2 -8 n 1 -7 m 8 10 n 5 7 n 4 5 n 4 3 n 6 -1 n 6 -3 m 5 4 n 5 3 n 6 1 n 6 0 m 5 7 n 5 5 n 7 1 n 7 -1 n 6 -3 n 5 -4 n 3 -4 n 2 -3 n 2 -2 E # C E w 24 m 9 10 n 7 12 n 5 12 n 3 11 n 1 8 n 0 4 n 0 0 n 1 -4 n 3 -7 n 5 -8 n 8 -9 n 11 -9 n 14 -8 n 16 -7 n 18 -5 m 3 10 n 2 8 n 1 5 n 1 0 n 2 -4 n 4 -7 n 7 -8 m 5 12 n 4 11 n 3 9 n 2 5 n 2 1 n 3 -3 n 4 -5 n 6 -7 n 9 -8 n 12 -8 n 15 -7 n 18 -5 m 12 12 n 9 10 n 8 9 n 7 7 n 7 6 n 8 4 n 11 2 n 12 0 n 12 -2 m 8 7 n 8 6 n 12 2 n 12 1 m 8 9 n 8 8 n 9 6 n 12 4 n 13 2 n 13 0 n 12 -2 n 10 -3 n 9 -3 n 7 -2 n 6 0 m 12 12 n 13 11 n 15 10 n 17 10 m 12 11 n 13 10 n 14 10 m 11 11 n 13 9 n 15 9 n 17 10 n 18 11 m 12 4 n 16 7 m 16 7 n 17 6 n 19 6 m 15 6 n 16 5 n 17 5 m 14 5 n 15 4 n 17 4 n 19 6 E # C F w 24 m 4 4 n 2 5 n 1 7 n 1 9 n 2 11 n 5 12 n 8 12 n 11 11 n 15 9 m 2 10 n 4 11 n 9 11 n 12 10 m 1 7 n 2 9 n 4 10 n 9 10 n 15 9 n 17 9 n 18 10 n 18 11 n 17 12 n 16 12 m 10 10 n 9 9 n 8 7 n 8 5 n 9 3 n 13 -1 n 14 -4 n 14 -7 n 13 -10 n 12 -11 n 10 -12 m 11 2 n 14 -1 n 15 -4 n 15 -7 n 14 -9 m 8 5 n 10 3 n 13 1 n 15 -1 n 16 -4 n 16 -7 n 15 -9 n 13 -11 n 10 -12 n 6 -12 n 3 -11 n 2 -10 n 1 -8 n 1 -5 n 3 -2 n 3 0 n 2 1 m 3 -10 n 2 -9 n 2 -5 n 3 -3 m 6 -12 n 4 -11 n 3 -9 n 3 -5 n 4 -2 n 4 0 n 3 1 n 1 1 n 0 0 n 0 -1 m 12 2 n 16 6 m 16 6 n 17 5 n 19 5 m 15 5 n 16 4 n 17 4 m 14 4 n 15 3 n 17 3 n 19 5 E # C G w 26 m 13 8 n 12 10 n 11 11 n 9 12 n 6 12 n 3 11 n 1 8 n 0 4 n 0 0 n 1 -3 n 2 -5 n 4 -7 n 6 -8 n 9 -9 n 12 -9 n 15 -8 n 17 -7 n 19 -5 n 20 -2 n 20 1 n 19 4 n 17 6 m 3 10 n 2 8 n 1 5 n 1 0 n 2 -3 n 3 -5 m 18 -5 n 19 -3 n 19 1 n 18 4 n 17 5 m 6 12 n 4 11 n 3 9 n 2 5 n 2 0 n 3 -4 n 4 -6 n 6 -8 m 15 -8 n 17 -6 n 18 -3 n 18 1 n 17 3 n 15 5 m 13 12 n 10 10 n 8 8 n 7 6 n 7 5 n 8 3 n 11 1 n 12 -1 n 12 -3 m 8 6 n 8 5 n 12 1 n 12 0 m 8 8 n 8 7 n 9 5 n 12 3 n 13 1 n 13 -1 n 12 -3 n 10 -4 n 9 -4 n 7 -3 n 6 -1 m 12 3 n 17 6 n 18 8 m 20 12 n 18 8 m 17 11 n 21 9 m 20 12 n 19 11 n 17 11 n 18 10 n 18 8 n 19 9 n 21 9 n 20 10 n 20 12 E # C H w 25 m 10 12 n 8 11 n 6 9 n 5 7 n 5 5 n 6 3 n 8 1 n 9 -1 n 9 -3 m 6 6 n 6 5 n 9 1 n 9 0 m 6 9 n 6 7 n 7 5 n 9 3 n 10 1 n 10 -1 n 9 -3 n 8 -4 n 6 -5 n 4 -5 n 2 -4 n 1 -3 n 0 -1 n 0 1 n 1 2 n 2 1 n 1 0 m 10 12 n 12 10 n 14 10 n 16 11 m 9 11 n 11 10 m 8 11 n 9 10 n 11 9 n 13 9 n 16 11 m 10 2 n 17 7 m 17 7 n 19 4 n 20 1 n 20 -2 n 19 -5 n 17 -7 n 14 -8 n 10 -9 m 16 6 n 18 4 n 19 1 n 19 -3 n 18 -5 m 14 5 n 15 5 n 17 3 n 18 0 n 18 -4 n 17 -6 n 16 -7 n 14 -8 m 14 -8 n 12 -8 n 10 -7 n 8 -7 n 6 -8 n 5 -10 n 6 -12 n 8 -13 n 10 -13 n 12 -12 m 11 -8 n 9 -8 m 10 -9 n 8 -8 n 6 -8 E # C I w 25 m 7 2 n 5 2 n 3 3 n 2 4 n 1 6 n 1 8 n 2 10 n 3 11 n 6 12 n 8 12 n 11 11 n 14 8 n 16 7 m 3 10 n 5 11 n 9 11 n 11 10 n 12 9 m 1 8 n 2 9 n 4 10 n 8 10 n 11 9 n 13 8 n 16 7 n 18 7 n 19 8 n 19 10 n 18 11 n 16 11 m 1 -6 n 2 -7 n 1 -8 n 0 -7 n 0 -5 n 1 -4 n 3 -4 n 5 -5 n 7 -7 n 9 -10 n 11 -12 m 5 -6 n 6 -7 n 8 -10 n 9 -11 m 3 -4 n 4 -5 n 5 -7 n 7 -10 n 8 -11 n 10 -12 n 13 -12 n 15 -11 n 16 -10 n 17 -8 n 17 -5 n 16 -3 n 14 0 n 13 2 n 13 3 m 16 -6 n 16 -5 n 13 0 n 13 1 m 15 -11 n 16 -9 n 16 -7 n 15 -5 n 13 -2 n 12 0 n 12 2 n 14 4 n 16 4 n 17 3 n 17 2 E # C J w 25 m 7 2 n 5 2 n 3 3 n 2 4 n 1 6 n 1 8 n 2 10 n 3 11 n 6 12 n 8 12 n 11 11 n 14 8 n 16 7 m 3 10 n 5 11 n 9 11 n 11 10 n 12 9 m 1 8 n 2 9 n 4 10 n 8 10 n 11 9 n 13 8 n 16 7 n 18 7 n 19 8 n 19 10 n 18 11 n 16 11 m 1 -6 n 2 -7 n 1 -8 n 0 -7 n 0 -5 n 1 -4 n 3 -4 n 5 -5 n 7 -7 n 9 -10 n 11 -12 m 5 -6 n 6 -7 n 8 -10 n 9 -11 m 3 -4 n 4 -5 n 5 -7 n 7 -10 n 8 -11 n 10 -12 n 13 -12 n 15 -11 n 16 -10 n 17 -8 n 17 -5 n 16 -3 n 14 0 n 13 2 n 13 3 m 16 -6 n 16 -5 n 13 0 n 13 1 m 15 -11 n 16 -9 n 16 -7 n 15 -5 n 13 -2 n 12 0 n 12 2 n 14 4 n 16 4 n 17 3 n 17 2 E # C K w 26 m 20 7 n 19 9 n 17 11 n 14 12 n 11 12 n 8 11 n 6 9 n 5 7 n 5 4 n 6 1 n 9 -5 n 9 -7 n 7 -9 m 6 4 n 6 3 n 9 -3 n 9 -4 m 7 10 n 6 8 n 6 5 n 7 3 n 9 -1 n 10 -4 n 10 -6 n 9 -8 n 7 -9 n 5 -9 n 3 -8 m 1 -4 n 3 -8 m 0 -7 n 4 -5 m 1 -4 n 1 -6 n 0 -7 n 2 -7 n 3 -8 n 3 -6 n 4 -5 n 2 -5 n 1 -4 m 7 3 n 7 5 n 8 7 n 10 8 n 13 8 n 15 7 n 17 5 n 18 5 m 14 7 n 16 5 m 11 8 n 13 7 n 14 6 n 15 4 m 18 5 n 9 1 m 14 3 n 18 -6 n 19 -7 n 20 -7 m 13 2 n 17 -6 n 19 -8 m 12 2 n 16 -7 n 18 -9 n 21 -6 E # C L w 23 m 16 -1 n 15 -2 n 12 -2 n 11 -1 n 11 1 n 12 3 n 14 6 n 15 8 n 15 10 m 12 1 n 12 2 n 15 6 n 15 7 m 13 -2 n 12 -1 n 12 0 n 13 2 n 15 4 n 16 6 n 16 8 n 15 10 n 14 11 n 11 12 n 6 12 n 3 11 n 2 10 n 1 8 n 1 6 n 2 4 n 4 1 n 5 -1 n 5 -2 n 4 -4 m 2 7 n 2 6 n 5 1 n 5 0 m 2 10 n 2 8 n 3 6 n 5 3 n 6 1 n 6 -1 n 5 -3 n 3 -5 n 0 -7 m 3 -5 n 5 -5 n 8 -7 n 11 -8 n 14 -8 n 16 -7 m 4 -6 n 5 -6 n 9 -8 n 10 -8 m 0 -7 n 2 -6 n 3 -6 n 7 -8 n 10 -9 n 12 -9 n 15 -8 n 16 -7 n 17 -5 E # C M w 32 m 0 1 n 0 0 n 1 -1 n 3 -1 n 5 0 n 5 3 n 4 5 n 2 8 n 2 10 n 4 12 m 4 3 n 2 7 m 3 -1 n 4 0 n 4 2 n 2 5 n 1 7 n 1 9 n 2 11 n 4 12 n 6 12 n 8 11 n 10 9 n 11 6 n 11 0 n 10 -3 n 9 -5 n 7 -7 n 4 -9 n 3 -8 n 2 -8 m 9 9 n 10 6 n 10 0 n 9 -3 n 8 -5 m 5 -8 n 4 -7 n 3 -7 m 6 12 n 8 10 n 9 7 n 9 0 n 8 -4 n 7 -6 n 6 -7 n 5 -6 n 4 -6 n 1 -9 m 9 11 n 11 12 n 13 12 n 15 11 n 17 9 n 18 6 n 18 0 n 17 -3 n 16 -5 n 14 -7 n 12 -9 n 11 -8 n 10 -8 m 16 9 n 17 6 n 17 0 n 16 -4 m 13 -8 n 12 -7 n 11 -7 m 13 12 n 15 10 n 16 7 n 16 -1 n 15 -5 n 14 -7 n 13 -6 n 12 -6 n 9 -9 m 16 10 n 17 11 n 19 12 n 21 12 n 23 11 n 24 10 n 25 8 n 26 7 m 23 10 n 24 8 m 21 12 n 22 11 n 23 8 n 24 7 n 26 7 m 26 7 n 23 5 n 22 4 n 21 1 n 21 -2 n 22 -6 n 24 -9 n 27 -6 m 23 4 n 22 2 n 22 -2 n 23 -5 n 25 -8 m 26 7 n 24 5 n 23 3 n 23 -1 n 24 -5 n 26 -7 E # C N w 28 m 0 1 n 0 0 n 1 -1 n 3 -1 n 5 0 n 5 3 n 4 5 n 2 8 n 2 10 n 4 12 m 4 3 n 2 7 m 3 -1 n 4 0 n 4 2 n 2 5 n 1 7 n 1 9 n 2 11 n 4 12 n 7 12 n 9 11 n 11 9 n 12 6 n 12 0 n 11 -3 n 10 -5 n 8 -7 n 5 -9 n 4 -8 n 2 -8 n 0 -9 m 10 9 n 11 7 n 11 0 n 10 -3 n 9 -5 n 8 -6 m 6 -8 n 4 -7 n 2 -7 m 7 12 n 9 10 n 10 7 n 10 0 n 9 -4 n 7 -7 n 5 -6 n 3 -6 n 0 -9 m 11 10 n 12 11 n 14 12 n 16 12 n 18 11 n 19 10 n 20 8 n 21 7 m 18 10 n 19 8 m 16 12 n 17 11 n 18 8 n 19 7 n 21 7 m 21 7 n 18 5 n 17 4 n 16 1 n 16 -2 n 17 -6 n 19 -9 n 22 -6 m 18 4 n 17 2 n 17 -2 n 18 -5 n 20 -8 m 21 7 n 19 5 n 18 3 n 18 -1 n 19 -5 n 21 -7 E # C O w 28 m 9 12 n 7 11 n 5 9 n 4 7 n 4 5 n 6 1 n 6 -1 m 5 6 n 5 5 n 6 3 n 6 2 m 5 9 n 5 7 n 7 3 n 7 1 n 6 -1 n 5 -2 n 3 -2 n 2 -1 n 2 0 m 9 12 n 10 11 n 16 9 n 19 7 n 20 5 n 21 2 n 21 -1 n 20 -4 n 19 -6 n 17 -8 n 14 -9 n 11 -9 n 8 -8 n 2 -5 n 1 -5 n 0 -6 m 9 11 n 10 10 n 16 8 n 18 7 n 19 6 m 9 12 n 9 10 n 10 9 n 16 7 n 18 6 n 20 4 n 21 2 m 12 -8 n 10 -8 n 4 -5 n 3 -5 m 18 -7 n 16 -8 n 13 -8 n 10 -7 n 6 -5 n 3 -4 n 1 -4 n 0 -6 n 0 -8 n 1 -9 n 2 -8 n 1 -7 E # C P w 27 m 0 1 n 0 0 n 1 -1 n 3 -1 n 5 0 n 5 3 n 4 5 n 2 8 n 2 10 n 4 12 m 4 3 n 2 7 m 3 -1 n 4 0 n 4 2 n 2 5 n 1 7 n 1 9 n 2 11 n 4 12 n 7 12 n 9 11 n 10 10 n 11 8 n 11 -3 m 11 -5 n 11 -10 n 10 -12 n 8 -13 n 5 -13 n 4 -12 n 4 -10 n 5 -9 n 6 -10 n 5 -11 m 9 10 n 10 8 n 10 -10 n 9 -12 m 7 12 n 8 11 n 9 8 n 9 -3 m 9 -5 n 9 -10 n 8 -12 n 7 -13 m 11 8 n 16 12 m 16 12 n 18 9 n 19 7 n 20 3 n 20 0 n 19 -3 n 17 -6 n 14 -9 m 15 11 n 18 7 n 19 4 n 19 3 m 14 10 n 16 8 n 18 5 n 19 2 n 19 -1 n 18 -4 n 17 -6 m 15 -7 n 13 -4 n 11 -3 m 9 -3 n 7 -4 n 5 -6 m 15 -8 n 13 -5 n 11 -4 n 8 -4 m 14 -9 n 12 -6 n 11 -5 m 9 -5 n 7 -5 n 5 -6 E # C Q w 28 m 9 12 n 7 11 n 5 9 n 4 7 n 4 5 n 6 1 n 6 -1 m 5 6 n 5 5 n 6 3 n 6 2 m 5 9 n 5 7 n 7 3 n 7 1 n 6 -1 n 5 -2 n 3 -2 n 2 -1 n 2 0 m 9 12 n 10 11 n 16 9 n 19 7 n 20 5 n 21 2 n 21 -1 n 20 -4 n 19 -6 m 17 -8 n 14 -9 n 11 -9 n 8 -8 n 2 -5 n 1 -5 n 0 -6 m 9 11 n 10 10 n 16 8 n 18 7 n 19 6 m 9 12 n 9 10 n 10 9 n 16 7 n 18 6 n 20 4 n 21 2 m 12 -8 n 10 -8 n 4 -5 n 3 -5 m 17 -8 n 13 -8 n 10 -7 n 6 -5 n 3 -4 n 1 -4 n 0 -6 n 0 -8 n 1 -9 n 2 -8 n 1 -7 m 13 -6 n 15 -4 n 17 -4 n 21 -8 n 22 -8 m 16 -5 n 17 -5 n 20 -8 m 14 -5 n 15 -5 n 19 -9 n 21 -9 n 23 -7 E # C R w 28 m 1 1 n 1 0 n 2 -1 n 4 -1 n 6 0 n 6 3 n 5 5 n 3 8 n 3 10 n 5 12 m 5 3 n 3 7 m 4 -1 n 5 0 n 5 2 n 3 5 n 2 7 n 2 9 n 3 11 n 5 12 n 8 12 n 10 11 n 11 10 n 12 8 n 12 -4 n 11 -6 n 9 -8 n 7 -9 n 5 -9 n 3 -8 m 10 10 n 11 8 n 11 -4 n 10 -6 m 8 12 n 9 11 n 10 8 n 10 -4 n 9 -7 n 7 -9 m 1 -4 n 3 -8 m 0 -7 n 4 -5 m 1 -4 n 1 -6 n 0 -7 n 2 -7 n 3 -8 n 3 -6 n 4 -5 n 2 -5 n 1 -4 m 12 9 n 13 11 n 15 12 n 17 12 n 19 11 n 20 10 n 21 8 n 22 7 m 19 10 n 20 8 m 17 12 n 18 11 n 19 8 n 20 7 n 22 7 m 22 7 n 12 2 m 14 3 n 18 -7 n 20 -9 n 23 -6 m 15 3 n 19 -6 n 21 -8 m 16 4 n 20 -6 n 21 -7 n 22 -7 E # C S w 27 m 20 10 n 19 11 n 20 12 n 21 11 n 21 9 n 20 7 n 18 7 n 14 9 n 11 10 n 7 10 n 3 9 n 1 7 m 17 8 n 14 10 n 11 11 n 7 11 n 4 10 m 21 9 n 20 8 n 18 8 n 14 11 n 11 12 n 7 12 n 4 11 n 2 9 n 1 7 n 0 4 n 0 0 n 1 -3 n 2 -5 n 4 -7 n 6 -8 n 9 -9 n 13 -9 n 16 -8 n 18 -7 n 20 -5 n 21 -2 n 21 1 n 20 3 n 18 4 n 15 4 n 13 3 n 11 0 n 9 -1 n 7 -1 m 4 -6 n 6 -7 n 9 -8 n 13 -8 n 17 -7 m 1 -3 n 3 -5 n 5 -6 n 8 -7 n 13 -7 n 17 -6 n 19 -5 n 20 -4 n 21 -2 m 16 3 n 15 3 n 11 -1 n 10 -1 m 21 1 n 19 3 n 17 3 n 15 2 n 13 -1 n 11 -2 n 9 -2 n 7 -1 n 6 1 n 6 3 n 7 5 n 9 6 E # C T w 25 m 3 4 n 1 5 n 0 7 n 0 9 n 1 11 n 4 12 n 9 12 n 12 11 n 16 8 n 18 8 n 19 9 m 1 10 n 3 11 n 9 11 n 12 10 n 15 8 m 0 7 n 1 9 n 3 10 n 9 10 n 12 9 n 16 7 n 18 7 n 19 9 n 19 11 n 18 12 n 17 11 n 18 10 m 12 9 n 9 6 n 8 4 n 8 2 n 10 -2 n 10 -4 m 9 3 n 9 2 n 10 0 n 10 -1 m 9 6 n 9 4 n 11 0 n 11 -2 n 10 -4 n 9 -5 n 7 -5 n 6 -4 n 6 -2 m 1 -7 n 2 -8 n 1 -9 n 0 -8 n 0 -6 n 1 -4 n 3 -4 n 6 -5 n 10 -7 n 13 -8 n 16 -8 n 18 -7 m 3 -5 n 4 -5 n 10 -8 n 12 -8 m 0 -6 n 1 -5 n 2 -5 n 4 -6 n 8 -8 n 11 -9 n 14 -9 n 17 -8 n 19 -6 E # C U w 22 m 1 10 n 2 10 n 3 9 n 3 -5 n 1 -6 m 2 11 n 4 10 n 4 -6 n 7 -8 m 0 9 n 3 12 n 5 10 n 5 -5 n 7 -7 n 9 -7 m 1 -6 n 2 -6 n 4 -7 n 6 -9 n 9 -7 n 13 -4 m 11 10 n 12 10 n 13 9 n 13 -7 n 15 -9 n 18 -6 m 12 11 n 14 10 n 14 -7 n 16 -8 m 10 9 n 13 12 n 16 10 n 15 9 n 15 -6 n 16 -7 n 17 -7 E # C V w 28 m 0 1 n 0 0 n 1 -1 n 3 -1 n 5 0 n 5 3 n 4 5 n 2 8 n 2 10 n 4 12 m 4 3 n 2 7 m 3 -1 n 4 0 n 4 2 n 2 5 n 1 7 n 1 9 n 2 11 n 4 12 n 7 12 n 9 11 n 10 10 n 11 8 n 11 0 n 10 -3 n 8 -5 m 9 10 n 10 8 n 10 -2 m 7 12 n 8 11 n 9 8 n 9 -3 n 8 -5 m 11 9 n 12 11 n 14 12 n 16 12 n 18 11 n 20 8 n 21 7 m 18 10 n 19 8 m 16 12 n 17 11 n 18 8 n 19 7 n 21 7 m 19 7 n 17 7 n 16 6 n 16 4 n 17 2 n 20 0 n 21 -2 m 17 3 n 20 1 m 16 5 n 17 4 n 20 2 n 21 0 n 21 -4 n 20 -6 n 18 -8 n 16 -9 n 12 -9 n 9 -8 n 3 -5 n 2 -5 n 1 -6 m 13 -8 n 11 -8 n 5 -5 n 4 -5 m 19 -7 n 17 -8 n 14 -8 n 11 -7 n 7 -5 n 4 -4 n 2 -4 n 1 -6 n 1 -8 n 2 -9 n 3 -8 n 2 -7 E # C W w 33 m 0 1 n 0 0 n 1 -1 n 3 -1 n 5 0 n 5 3 n 4 5 n 2 8 n 2 10 n 4 12 m 4 3 n 2 7 m 3 -1 n 4 0 n 4 2 n 2 5 n 1 7 n 1 9 n 2 11 n 4 12 n 7 12 n 9 11 n 10 10 n 11 8 n 11 4 n 10 1 n 8 -2 n 6 -4 m 9 10 n 10 8 n 10 3 n 9 0 m 7 12 n 8 11 n 9 8 n 9 3 n 8 -1 n 6 -4 m 9 11 n 11 12 n 14 12 n 16 11 m 18 12 n 15 11 n 14 9 n 14 5 n 15 2 n 17 -1 n 18 -3 n 18 -5 n 17 -7 m 15 5 n 15 4 n 18 -1 n 18 -2 m 18 12 n 16 11 n 15 9 n 15 6 n 16 4 n 18 1 n 19 -2 n 19 -4 n 18 -6 n 16 -8 n 14 -9 n 10 -9 n 8 -8 n 6 -6 n 4 -5 n 2 -5 n 1 -6 m 9 -8 n 6 -5 n 5 -5 m 12 -9 n 10 -8 n 7 -5 n 5 -4 n 2 -4 n 1 -6 n 1 -8 n 2 -9 n 3 -8 n 2 -7 m 18 12 n 21 12 n 23 11 n 25 8 n 26 7 m 23 10 n 24 8 m 21 12 n 22 11 n 23 8 n 24 7 n 26 7 m 24 7 n 22 7 n 21 6 n 21 4 n 22 2 n 25 0 n 26 -2 m 22 3 n 25 1 m 21 5 n 22 4 n 25 2 n 26 0 n 26 -5 n 25 -7 n 24 -8 n 22 -9 n 19 -9 n 16 -8 m 20 -8 n 19 -8 n 17 -7 m 25 -7 n 23 -8 n 21 -8 n 19 -7 n 18 -6 E # C X w 24 m 2 10 n 4 10 n 6 9 n 7 8 n 8 5 n 8 3 m 8 1 n 8 -3 n 7 -6 n 4 -9 n 2 -8 n 0 -9 m 5 -8 n 3 -7 n 2 -7 m 6 -7 n 5 -7 n 3 -6 n 0 -9 m 4 11 n 7 10 n 8 9 n 9 6 n 9 -3 n 10 -5 n 12 -7 n 14 -8 m 0 9 n 5 12 n 7 11 n 9 9 n 10 6 n 10 3 m 10 1 n 10 -2 n 11 -5 n 12 -6 n 14 -7 n 16 -7 m 8 -3 n 9 -6 n 11 -8 n 13 -9 n 18 -6 m 10 6 n 11 9 n 14 12 n 16 11 n 18 12 m 13 11 n 15 10 n 16 10 m 12 10 n 13 10 n 15 9 n 18 12 m 2 -1 n 4 3 n 8 3 m 10 3 n 14 3 n 16 5 m 4 2 n 14 2 m 2 -1 n 4 1 n 8 1 m 10 1 n 14 1 n 16 5 E # C Y w 26 m 0 1 n 0 0 n 1 -1 n 3 -1 n 5 0 n 5 3 n 4 5 n 2 8 n 2 10 n 4 12 m 4 3 n 2 7 m 3 -1 n 4 0 n 4 2 n 2 5 n 1 7 n 1 9 n 2 11 n 4 12 n 7 12 n 9 11 n 10 10 n 11 8 n 11 3 n 10 0 n 9 -2 n 9 -3 n 11 -5 n 12 -5 m 9 10 n 10 8 n 10 2 n 9 -1 n 8 -3 n 11 -6 m 7 12 n 8 11 n 9 8 n 9 2 n 8 -2 n 7 -4 n 10 -7 n 13 -4 m 11 8 n 19 12 m 17 11 n 17 -8 n 16 -11 m 18 11 n 18 -6 n 17 -9 m 19 12 n 19 -4 n 18 -8 n 17 -10 n 15 -12 n 12 -13 n 8 -13 n 5 -12 n 3 -10 n 2 -8 n 3 -7 n 4 -8 n 3 -9 E # C Z w 24 m 6 9 n 7 11 n 9 12 n 12 12 n 14 11 n 15 10 n 16 8 n 16 5 n 15 3 n 14 2 n 12 1 m 9 1 n 7 2 n 6 4 m 14 10 n 15 9 n 15 4 n 14 3 m 12 12 n 13 11 n 14 9 n 14 4 n 13 2 n 12 1 m 5 -3 n 6 -1 n 7 0 n 9 1 n 12 1 n 15 0 n 17 -2 n 18 -4 n 18 -8 n 17 -10 n 15 -12 n 12 -13 n 8 -13 n 6 -12 n 3 -8 n 2 -7 m 16 -2 n 17 -4 n 17 -8 n 16 -10 m 12 1 n 15 -1 n 16 -3 n 16 -9 n 15 -11 n 14 -12 n 12 -13 m 7 -12 n 6 -11 n 4 -8 n 3 -7 m 10 -13 n 8 -12 n 7 -11 n 5 -8 n 4 -7 n 1 -7 n 0 -8 n 0 -10 n 1 -11 n 2 -11 E # C a w 17 m 7 5 n 4 4 n 2 3 n 1 2 n 0 -1 n 0 -4 n 1 -7 n 2 -9 n 8 -6 m 1 -4 n 2 -7 n 3 -8 m 4 4 n 2 2 n 1 -1 n 1 -3 n 2 -6 n 4 -8 m 5 4 n 6 3 n 8 2 n 8 -7 n 10 -9 n 13 -6 m 6 4 n 9 2 n 9 -6 n 11 -8 m 7 5 n 8 4 n 10 3 n 11 3 m 10 2 n 11 3 m 10 2 n 10 -6 n 11 -7 n 12 -7 E # C b w 17 m 0 10 n 1 9 n 2 7 m 8 12 n 5 11 n 3 9 n 2 7 n 2 -6 n 1 -7 m 4 9 n 3 7 n 3 -6 n 6 -8 m 8 12 n 6 11 n 5 10 n 4 7 n 4 -6 n 6 -7 n 7 -8 m 1 -7 n 2 -7 n 4 -8 n 5 -9 n 8 -8 m 4 2 n 10 5 n 11 3 n 12 0 n 12 -3 n 11 -6 n 10 -7 n 8 -8 m 9 4 n 10 3 n 11 1 m 8 4 n 10 2 n 11 -1 n 11 -3 n 10 -6 n 8 -8 E # C c w 13 m 4 4 n 6 2 n 8 3 n 6 5 n 4 4 n 1 2 n 0 0 n 0 -5 n 1 -7 n 3 -9 n 7 -7 m 5 4 n 7 3 m 2 2 n 1 0 n 1 -5 n 2 -7 n 3 -8 m 3 3 n 2 1 n 2 -4 n 3 -6 n 5 -8 E # C d w 17 m 4 12 n 1 9 n 1 7 n 2 6 n 6 4 n 9 2 n 10 0 n 10 -3 n 9 -6 n 7 -8 m 2 8 n 2 7 n 6 5 n 9 3 n 10 2 m 2 10 n 2 9 n 3 8 n 8 5 n 10 3 n 11 0 n 11 -3 n 10 -6 n 7 -8 n 4 -9 m 5 4 n 1 2 n 1 -6 n 0 -7 m 2 2 n 2 -6 n 5 -8 m 3 3 n 3 -6 n 5 -7 n 6 -8 m 0 -7 n 1 -7 n 3 -8 n 4 -9 E # C e w 13 m 2 -3 n 8 1 n 5 5 n 1 2 n 0 0 n 0 -5 n 1 -7 n 3 -9 n 7 -7 m 7 1 n 4 4 m 2 2 n 1 0 n 1 -5 n 2 -7 n 3 -8 m 6 0 n 4 3 n 3 3 n 2 1 n 2 -4 n 3 -6 n 5 -8 E # C f w 13 m 10 12 n 9 11 n 7 11 n 5 12 n 3 12 n 2 10 n 2 5 n 1 3 n 0 2 m 8 10 n 6 10 n 4 11 n 3 11 m 10 12 n 9 10 n 8 9 n 6 9 n 4 10 n 3 10 n 2 9 m 2 7 n 3 5 n 4 4 n 6 3 n 8 3 n 8 2 m 0 2 n 2 2 m 4 2 n 8 2 m 2 2 n 2 -2 n 3 -14 m 5 3 n 2 3 n 3 4 n 3 -9 m 4 2 n 4 -2 n 3 -14 E # C g w 17 m 7 5 n 4 4 n 2 3 n 1 2 n 0 -1 n 0 -4 n 1 -7 n 2 -9 n 8 -6 m 1 -5 n 2 -7 n 3 -8 m 4 4 n 2 2 n 1 -1 n 1 -3 n 2 -6 n 4 -8 m 5 4 n 6 3 n 8 2 n 8 -6 n 9 -9 n 9 -11 n 8 -13 m 6 4 n 9 2 n 9 -8 m 7 5 n 8 4 n 10 3 n 11 3 m 10 2 n 11 3 m 10 2 n 10 -10 n 9 -12 n 8 -13 n 6 -14 n 3 -14 n 1 -13 n 0 -12 n 0 -11 n 1 -11 n 1 -12 E # C h w 17 m 0 10 n 1 9 n 2 7 m 8 12 n 5 11 n 3 9 n 2 7 n 2 -6 n 1 -7 m 4 9 n 3 7 n 3 -7 n 4 -8 m 8 12 n 6 11 n 5 10 n 4 7 n 4 -6 n 5 -7 n 6 -7 m 1 -7 n 3 -8 n 4 -9 n 7 -6 m 4 2 n 10 5 n 11 3 n 12 -1 n 12 -5 n 11 -8 n 10 -10 n 8 -12 n 5 -14 m 9 4 n 10 3 n 11 0 m 8 4 n 10 1 n 11 -2 n 11 -5 n 10 -9 n 8 -12 E # C i w 10 m 4 12 n 3 11 n 3 10 n 4 9 n 5 10 n 5 11 n 4 12 m 3 11 n 5 10 m 3 10 n 5 11 m 1 3 n 2 3 n 3 2 n 3 -7 n 5 -9 n 8 -6 m 2 4 n 4 3 n 4 -6 n 6 -8 m 0 2 n 3 5 n 4 4 n 6 3 m 5 2 n 6 3 m 5 2 n 5 -6 n 6 -7 n 7 -7 E # C j w 10 m 5 12 n 4 11 n 4 10 n 5 9 n 6 10 n 6 11 n 5 12 m 4 11 n 6 10 m 4 10 n 6 11 m 2 3 n 3 3 n 4 2 n 4 -9 n 3 -12 n 2 -13 n 0 -14 m 3 4 n 5 3 n 5 -9 n 4 -11 m 1 2 n 4 5 n 5 4 n 7 3 m 6 2 n 7 3 m 6 2 n 6 -9 n 5 -11 n 3 -13 n 0 -14 m 6 -9 n 7 -11 n 8 -12 E # C k w 14 m 0 10 n 1 9 n 2 7 m 7 12 n 5 11 n 3 9 n 2 7 n 2 5 n 1 3 n 0 2 m 2 2 n 2 -6 n 1 -7 m 4 9 n 3 7 n 3 5 m 3 3 n 2 3 n 3 5 n 3 -6 n 5 -8 m 7 12 n 5 10 n 4 7 n 4 3 m 4 2 n 4 -6 n 5 -7 n 6 -7 m 1 -7 n 3 -8 n 4 -9 n 7 -6 m 4 6 n 8 9 n 9 8 n 9 6 n 7 4 n 5 3 m 7 8 n 8 7 n 8 6 n 7 4 m 4 3 n 9 3 n 9 2 m 0 2 n 2 2 m 4 2 n 9 2 E # C l w 10 m 0 10 n 1 9 n 2 7 m 8 12 n 5 11 n 3 9 n 2 7 n 2 -6 n 1 -7 m 4 9 n 3 7 n 3 -7 n 5 -8 m 8 12 n 6 11 n 5 10 n 4 7 n 4 -6 n 5 -7 n 6 -7 m 1 -7 n 3 -8 n 4 -9 n 7 -6 E # C m w 26 m 1 3 n 2 3 n 3 2 n 3 -6 n 2 -7 n 4 -9 m 2 4 n 4 2 n 4 -6 n 3 -7 n 4 -8 n 5 -7 n 4 -6 m 0 2 n 3 5 n 5 3 n 5 -6 n 6 -7 n 4 -9 m 8 4 n 10 3 n 11 1 n 11 -6 n 10 -7 n 12 -9 m 10 4 n 11 3 n 12 1 n 12 -6 n 11 -7 n 12 -8 n 13 -7 n 12 -6 m 5 2 n 8 4 n 10 5 n 12 4 n 13 2 n 13 -6 n 14 -7 n 12 -9 m 16 4 n 17 3 n 19 2 n 19 -7 n 21 -9 n 24 -6 m 17 4 n 20 2 n 20 -6 n 22 -8 m 13 2 n 16 4 n 18 5 n 19 4 n 21 3 n 22 3 m 21 2 n 22 3 m 21 2 n 21 -6 n 22 -7 n 23 -7 E # C n w 18 m 1 3 n 2 3 n 3 2 n 3 -6 n 2 -7 n 4 -9 m 2 4 n 4 2 n 4 -6 n 3 -7 n 4 -8 n 5 -7 n 4 -6 m 0 2 n 3 5 n 5 3 n 5 -6 n 6 -7 n 4 -9 m 8 4 n 9 3 n 11 2 n 11 -7 n 13 -9 n 16 -6 m 9 4 n 12 2 n 12 -6 n 14 -8 m 5 2 n 8 4 n 10 5 n 11 4 n 13 3 n 14 3 m 13 2 n 14 3 m 13 2 n 13 -6 n 14 -7 n 15 -7 E # C o w 17 m 1 2 n 1 -6 n 0 -7 m 2 2 n 2 -6 n 5 -8 m 4 3 n 3 2 n 3 -6 n 5 -7 n 6 -8 m 0 -7 n 1 -7 n 3 -8 n 4 -9 n 7 -8 m 1 2 n 4 3 n 9 5 n 10 3 n 11 0 n 11 -3 n 10 -6 n 9 -7 n 7 -8 m 8 4 n 9 3 n 10 1 m 7 4 n 9 2 n 10 -1 n 10 -3 n 9 -6 n 7 -8 E # C p w 17 m 3 8 n 1 6 n 1 4 n 2 1 n 2 -6 n 0 -8 m 2 -7 n 3 -14 m 2 5 n 2 4 n 3 1 n 3 -9 m 2 7 n 2 6 n 3 4 n 4 1 n 4 -6 n 5 -6 n 7 -7 n 8 -8 m 4 -7 n 3 -14 m 7 -8 n 5 -7 m 8 -8 n 6 -9 n 4 -7 m 2 -7 n 0 -8 m 4 2 n 10 5 n 11 3 n 12 0 n 12 -3 n 11 -6 n 10 -7 n 8 -8 m 9 4 n 10 3 n 11 1 m 8 4 n 10 2 n 11 -1 n 11 -3 n 10 -6 n 8 -8 E # C q w 17 m 7 5 n 4 4 n 2 3 n 1 2 n 0 -1 n 0 -4 n 1 -7 n 2 -9 n 8 -6 m 1 -5 n 2 -7 n 3 -8 m 4 4 n 2 2 n 1 -1 n 1 -3 n 2 -6 n 4 -8 m 5 4 n 6 3 n 8 2 n 8 -6 n 9 -14 m 6 4 n 9 2 n 9 -9 m 7 5 n 8 4 n 10 3 n 11 3 m 10 2 n 11 3 m 10 2 n 10 -6 n 9 -14 E # C r w 14 m 1 3 n 2 3 n 3 2 n 3 -6 n 2 -7 m 2 4 n 4 2 n 4 -7 n 6 -8 m 0 2 n 3 5 n 5 3 n 5 -6 n 6 -7 n 7 -7 m 2 -7 n 4 -8 n 5 -9 n 8 -6 m 7 4 n 8 2 n 10 3 n 9 5 n 5 3 m 8 4 n 9 3 E # C s w 11 m 10 12 n 9 11 n 7 11 n 5 12 n 3 12 n 2 10 n 2 5 n 1 3 n 0 2 m 8 10 n 6 10 n 4 11 n 3 11 m 10 12 n 9 10 n 8 9 n 6 9 n 4 10 n 3 10 n 2 9 m 2 7 n 4 2 m 2 2 n 2 -2 n 3 -14 m 3 3 n 2 3 n 3 4 n 3 -9 m 4 2 n 4 -2 n 3 -14 m 0 2 n 2 2 E # C t w 12 m 5 9 n 4 6 n 3 4 n 2 3 n 0 2 m 5 9 n 5 3 n 8 3 n 8 2 m 0 2 n 3 2 m 5 2 n 8 2 m 3 2 n 3 -6 n 2 -7 m 4 3 n 3 3 n 4 5 n 4 -6 n 6 -8 m 5 2 n 5 -6 n 6 -7 n 7 -7 m 2 -7 n 4 -8 n 5 -9 n 8 -6 E # C u w 18 m 1 3 n 2 3 n 3 2 n 3 -6 n 2 -7 m 2 4 n 4 2 n 4 -6 n 6 -8 m 0 2 n 3 5 n 5 3 n 5 -6 n 7 -7 n 8 -8 m 2 -7 n 3 -7 n 5 -8 n 6 -9 n 8 -8 n 11 -6 m 12 5 n 10 3 n 11 2 n 11 -7 n 13 -9 n 16 -6 m 12 2 n 13 3 n 12 4 n 11 3 n 12 2 n 12 -6 n 14 -8 m 12 5 n 14 3 n 13 2 n 13 -6 n 14 -7 n 15 -7 E # C v w 17 m 2 7 n 0 5 n 0 3 n 1 0 n 1 -6 n 0 -7 m 1 4 n 1 3 n 2 0 n 2 -6 n 5 -8 m 1 6 n 1 5 n 2 3 n 3 0 n 3 -6 n 5 -7 n 6 -8 m 0 -7 n 1 -7 n 3 -8 n 4 -9 n 7 -8 m 3 2 n 9 5 n 10 3 n 11 0 n 11 -3 n 10 -6 n 9 -7 n 7 -8 m 8 4 n 9 3 n 10 1 m 7 4 n 9 2 n 10 -1 n 10 -3 n 9 -6 n 7 -8 E # C w w 25 m 2 7 n 0 5 n 0 3 n 1 0 n 1 -6 n 0 -7 n 2 -9 m 1 4 n 1 3 n 2 0 n 2 -6 n 1 -7 n 2 -8 n 3 -7 n 2 -6 m 1 6 n 1 5 n 2 3 n 3 0 n 3 -6 n 4 -7 n 2 -9 m 6 4 n 8 3 n 9 1 n 9 -6 n 8 -7 m 8 4 n 9 3 n 10 1 n 10 -6 n 13 -8 m 3 2 n 6 4 n 8 5 n 10 4 n 11 2 n 11 -6 n 13 -7 n 14 -8 m 8 -7 n 9 -7 n 11 -8 n 12 -9 n 15 -8 m 11 2 n 17 5 n 18 3 n 19 0 n 19 -2 n 18 -6 n 17 -7 n 15 -8 m 16 4 n 17 3 n 18 1 m 15 4 n 17 2 n 18 -1 n 18 -3 n 17 -6 n 15 -8 E # C x w 15 m 2 3 n 3 3 n 4 2 n 4 -6 n 3 -6 n 1 -7 n 0 -9 n 0 -11 n 1 -13 n 3 -14 n 6 -14 n 9 -13 n 9 -12 n 8 -12 n 8 -13 m 3 4 n 5 2 n 5 -6 n 8 -8 m 1 2 n 4 5 n 6 3 n 6 -6 n 8 -7 n 9 -8 m 11 -7 n 7 -9 n 6 -8 n 4 -7 n 2 -7 n 0 -9 m 8 4 n 9 2 n 11 3 n 10 5 n 6 3 m 9 4 n 10 3 E # C y w 17 m 2 7 n 0 5 n 0 3 n 1 0 n 1 -6 n 0 -7 m 1 4 n 1 3 n 2 0 n 2 -7 n 4 -8 m 1 6 n 1 5 n 2 3 n 3 0 n 3 -6 n 4 -7 n 5 -7 m 0 -7 n 2 -8 n 3 -9 n 6 -6 m 3 2 n 9 5 n 10 3 n 11 -1 n 11 -5 n 10 -8 n 9 -10 n 7 -12 n 4 -14 m 8 4 n 9 3 n 10 0 m 7 4 n 9 1 n 10 -2 n 10 -5 n 9 -9 n 7 -12 E # C z w 14 m 0 2 n 5 5 n 7 4 n 8 2 n 8 0 n 7 -2 n 3 -4 m 5 4 n 7 3 m 4 4 n 6 3 n 7 1 n 7 0 n 6 -2 n 5 -3 m 5 -3 n 7 -5 n 8 -7 n 8 -11 n 7 -13 n 5 -14 n 3 -14 n 1 -13 n 0 -11 n 0 -9 n 1 -7 n 3 -6 n 9 -4 m 4 -4 n 6 -5 n 7 -7 m 3 -4 n 6 -6 n 7 -8 n 7 -11 n 6 -13 n 5 -14 E xgks-2.6.1+dfsg.2/src/fontdb/extent0000755000175000017500000000032011413611016020172 0ustar amckinstryamckinstryawk ' BEGIN{xmin=999;xmax=-999;ymin=999;ymax=-999} $1=="m"||$1=="n"{ if($2>xmax)xmax=$2; if($2ymax)ymax=$3 } END{print xmin, xmax, ymin, ymax}' $* xgks-2.6.1+dfsg.2/src/fontdb/RELEASE.NOTES0000644000175000017500000000015411413611016020634 0ustar amckinstryamckinstrymkfont.c Converted to UDPOSIX conventions. Major cosmetic surgery via indent(1) and manual editing. xgks-2.6.1+dfsg.2/src/fontdb/GR.src0000644000175000017500000002655511413611016020000 0ustar amckinstryamckinstryU 3 # complex_greek # C A m 7 7 n 2 -6 m 7 4 n 11 -6 m 7 7 n 12 -6 m 4 -2 n 9 -2 m 0 -6 n 5 -6 m 9 -6 n 14 -6 E # C B m 2 7 n 2 -6 m 3 7 n 3 -6 m 0 7 n 7 7 n 10 6 n 11 4 n 10 2 n 7 1 m 7 7 n 9 6 n 10 4 n 9 2 n 7 1 m 3 1 n 7 1 n 10 0 n 11 -2 n 11 -3 n 10 -5 n 7 -6 n 0 -6 m 7 1 n 9 0 n 10 -2 n 10 -3 n 9 -5 n 7 -6 E # C C m 2 7 n 2 -6 m 3 7 n 3 -6 m 0 7 n 10 7 n 10 3 n 9 7 m 0 -6 n 5 -6 E # C D m 6 7 n 0 -6 m 6 5 n 11 -6 m 6 7 n 12 -6 m 1 -5 n 10 -5 m 0 -6 n 12 -6 E # C E m 2 7 n 2 -6 m 3 7 n 3 -6 m 7 3 n 7 -1 m 0 7 n 10 7 n 10 3 n 9 7 m 3 1 n 7 1 m 0 -6 n 10 -6 n 10 -2 n 9 -6 E # C F m 8 7 n 0 -6 m 9 7 n 1 -6 m 1 7 n 0 3 n 0 7 n 9 7 m 0 -6 n 9 -6 n 9 -2 n 8 -6 E # C G m 2 7 n 2 -6 m 3 7 n 3 -6 m 10 7 n 10 -6 m 11 7 n 11 -6 m 0 7 n 5 7 m 8 7 n 13 7 m 3 1 n 10 1 m 0 -6 n 5 -6 m 8 -6 n 13 -6 E # C H m 4 7 n 2 6 n 1 5 n 0 2 n 0 -1 n 1 -4 n 2 -5 n 4 -6 n 7 -6 n 9 -5 n 10 -4 n 11 -1 n 11 2 n 10 5 n 9 6 n 7 7 n 4 7 m 4 7 n 2 5 n 1 2 n 1 -1 n 2 -4 n 4 -6 m 7 -6 n 9 -4 n 10 -1 n 10 2 n 9 5 n 7 7 m 4 3 n 4 -2 m 7 3 n 7 -2 m 4 1 n 7 1 m 4 0 n 7 0 E # C I m 2 7 n 2 -6 m 3 7 n 3 -6 m 0 7 n 5 7 m 0 -6 n 5 -6 E # C J m 2 7 n 2 -6 m 3 7 n 3 -6 m 11 7 n 3 -1 m 5 1 n 10 -6 m 6 1 n 11 -6 m 0 7 n 5 7 m 8 7 n 13 7 m 0 -6 n 5 -6 m 8 -6 n 13 -6 E # C K m 7 7 n 2 -6 m 7 4 n 11 -6 m 7 7 n 12 -6 m 0 -6 n 5 -6 m 9 -6 n 14 -6 E # C L m 2 7 n 2 -6 m 3 4 n 7 -6 m 3 7 n 7 -3 m 12 7 n 7 -6 m 12 7 n 12 -6 m 13 7 n 13 -6 m 0 7 n 3 7 m 12 7 n 15 7 m 0 -6 n 4 -6 m 10 -6 n 15 -6 E # C M m 2 7 n 2 -6 m 3 5 n 10 -6 m 3 7 n 10 -4 m 10 7 n 10 -6 m 0 7 n 3 7 m 8 7 n 12 7 m 0 -6 n 4 -6 E # C N m 1 8 n 0 5 m 12 8 n 11 5 m 4 2 n 3 -1 m 9 2 n 8 -1 m 1 -4 n 0 -7 m 12 -4 n 11 -7 m 1 7 n 11 7 m 1 6 n 11 6 m 4 1 n 8 1 m 4 0 n 8 0 m 1 -5 n 11 -5 m 1 -6 n 11 -6 E # C O m 4 7 n 2 6 n 1 5 n 0 2 n 0 -1 n 1 -4 n 2 -5 n 4 -6 n 7 -6 n 9 -5 n 10 -4 n 11 -1 n 11 2 n 10 5 n 9 6 n 7 7 n 4 7 m 4 7 n 2 5 n 1 2 n 1 -1 n 2 -4 n 4 -6 m 7 -6 n 9 -4 n 10 -1 n 10 2 n 9 5 n 7 7 E # C P m 2 7 n 2 -6 m 3 7 n 3 -6 m 10 7 n 10 -6 m 11 7 n 11 -6 m 0 7 n 13 7 m 0 -6 n 5 -6 m 8 -6 n 13 -6 E # C Q m 2 7 n 2 -6 m 3 7 n 3 -6 m 0 7 n 7 7 n 10 6 n 11 4 n 11 3 n 10 1 n 7 0 n 3 0 m 7 7 n 9 6 n 10 4 n 10 3 n 9 1 n 7 0 m 0 -6 n 5 -6 E # C R m 0 7 n 5 1 m 1 7 n 6 1 n 0 -6 m 0 7 n 10 7 n 11 3 n 9 7 m 1 -5 n 10 -5 m 0 -6 n 10 -6 n 11 -2 n 9 -6 E # C S m 5 7 n 5 -6 m 6 7 n 6 -6 m 1 7 n 0 3 n 0 7 n 11 7 n 11 3 n 10 7 m 3 -6 n 8 -6 E # C T m 0 3 n 1 6 n 2 7 n 3 7 n 4 6 n 5 3 n 5 -6 m 11 3 n 10 6 n 9 7 n 8 7 n 7 6 n 6 3 n 6 -6 m 0 3 n 1 5 n 2 6 n 3 6 n 4 5 n 5 3 m 11 3 n 10 5 n 9 6 n 8 6 n 7 5 n 6 3 m 3 -6 n 8 -6 E # C U m 5 7 n 5 -6 m 6 7 n 6 -6 m 4 4 n 1 3 n 0 1 n 0 0 n 1 -2 n 4 -3 n 7 -3 n 10 -2 n 11 0 n 11 1 n 10 3 n 7 4 n 4 4 m 4 4 n 2 3 n 1 1 n 1 0 n 2 -2 n 4 -3 m 7 -3 n 9 -2 n 10 0 n 10 1 n 9 3 n 7 4 m 3 7 n 8 7 m 3 -6 n 8 -6 E # C V m 2 7 n 10 -6 m 3 7 n 11 -6 m 11 7 n 2 -6 m 0 7 n 5 7 m 8 7 n 13 7 m 0 -6 n 5 -6 m 8 -6 n 13 -6 E # C W m 6 7 n 6 -6 m 7 7 n 7 -6 m 0 2 n 1 3 n 2 3 n 3 -1 n 5 -3 m 8 -3 n 10 -1 n 11 3 n 12 3 n 13 2 m 1 3 n 2 0 n 3 -2 n 5 -3 n 8 -3 n 10 -2 n 11 0 n 12 3 m 4 7 n 9 7 m 4 -6 n 9 -6 E # C X m 0 -4 n 1 -6 n 4 -6 n 0 0 n 0 3 n 1 5 n 2 6 n 4 7 n 7 7 n 9 6 n 10 5 n 11 3 n 11 0 n 7 -6 n 10 -6 n 11 -4 m 2 -3 n 1 0 n 1 3 n 2 5 n 4 7 m 7 7 n 9 5 n 10 3 n 10 0 n 9 -3 m 1 -5 n 3 -5 m 8 -5 n 10 -5 E # C y m 2 3 n 6 -6 m 3 3 n 6 -4 m 10 3 n 6 -6 n 4 -9 n 2 -10 n 1 -10 n 0 -9 n 0 -8 n 1 -8 n 1 -9 n 0 -9 m 0 3 n 5 3 m 8 3 n 12 3 E # C z m 7 3 n 0 -6 m 8 3 n 1 -6 m 1 3 n 0 1 n 0 3 n 8 3 m 0 -6 n 8 -6 n 8 -4 n 7 -6 E # C a m 4 3 n 2 2 n 1 1 n 0 -1 n 0 -3 n 1 -5 n 3 -6 n 4 -6 n 6 -5 n 8 -3 n 10 0 n 11 3 m 4 3 n 2 1 n 1 -1 n 1 -3 n 2 -5 n 3 -6 m 4 3 n 6 3 n 8 2 n 10 -5 n 11 -6 m 6 3 n 7 2 n 9 -5 n 11 -6 n 12 -6 E # C b m 7 7 n 5 5 n 4 3 n 2 -3 n 0 -10 m 6 6 n 5 4 n 3 -2 n 1 -10 m 7 7 n 9 7 n 11 6 n 11 4 n 10 2 n 7 1 m 9 7 n 10 6 n 10 4 n 9 2 n 7 1 m 7 1 n 9 0 n 10 -2 n 10 -4 n 9 -5 n 7 -6 n 6 -6 n 4 -5 n 3 -2 m 7 1 n 8 0 n 9 -2 n 9 -4 n 7 -6 E # C c m 0 1 n 2 3 n 4 3 n 6 2 n 7 -1 n 7 -6 n 6 -10 m 0 1 n 2 2 n 4 2 n 6 1 n 7 -1 m 11 3 n 10 0 n 7 -6 n 5 -10 E # C d m 6 3 n 4 3 n 2 2 n 1 1 n 0 -1 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -4 n 9 -2 n 9 0 n 8 2 n 5 4 n 4 6 n 4 7 n 5 8 n 7 8 n 8 7 n 9 5 m 4 3 n 2 1 n 1 -1 n 1 -4 n 3 -6 m 5 -6 n 7 -4 n 8 -2 n 8 1 n 6 3 m 4 6 n 5 7 n 7 7 n 9 5 E # C e m 8 2 n 6 3 n 3 3 n 1 2 n 1 1 n 2 0 n 4 -1 m 3 3 n 2 2 n 2 1 n 4 -1 m 4 -1 n 1 -2 n 0 -3 n 0 -5 n 2 -6 n 5 -6 n 7 -5 m 4 -1 n 2 -2 n 1 -3 n 1 -5 n 2 -6 E # C f m 4 7 n 3 6 n 3 5 n 5 4 n 8 4 n 8 5 n 5 4 n 2 3 n 1 2 n 0 0 n 0 -2 n 1 -4 n 2 -5 n 4 -6 n 5 -7 n 5 -9 n 4 -10 n 2 -10 n 1 -9 m 5 4 n 3 3 n 2 2 n 1 0 n 1 -2 n 2 -4 n 4 -6 E # C g m 0 0 n 1 2 n 2 3 n 4 3 n 5 2 n 5 1 n 3 -6 m 3 3 n 4 2 n 4 1 n 2 -6 m 5 1 n 6 2 n 8 3 n 10 3 n 12 2 n 12 0 n 9 -10 m 10 3 n 11 2 n 11 0 n 8 -10 E # C h m 0 -1 n 1 1 n 2 2 n 4 2 n 5 1 n 5 -4 n 6 -6 m 3 2 n 4 1 n 4 -3 n 5 -5 n 6 -6 n 7 -6 n 9 -5 n 10 -4 n 11 -2 n 12 1 n 12 4 n 11 6 n 10 7 n 8 7 n 7 6 n 7 4 n 8 2 n 11 0 n 13 -1 m 7 -6 n 9 -4 n 10 -2 n 11 1 n 11 4 n 10 7 E # C i m 2 3 n 0 -4 n 0 -5 n 1 -6 n 3 -6 n 5 -5 n 6 -3 m 3 3 n 1 -4 n 1 -5 n 2 -6 E # C j m 3 3 n 0 -6 m 4 3 n 1 -6 m 9 3 n 10 2 n 11 2 n 10 3 n 8 3 n 6 1 n 3 0 m 3 0 n 4 -1 n 6 -5 n 8 -6 n 10 -5 n 11 -3 m 3 0 n 5 -1 n 7 -5 n 8 -6 E # C k m 0 7 n 2 7 n 4 6 n 11 -6 m 2 7 n 3 6 n 10 -6 m 6 2 n 1 -6 m 6 2 n 2 -6 E # C l m 4 3 n 0 -10 m 5 3 n 1 -10 m 3 -3 n 3 -5 n 4 -6 n 6 -6 n 8 -5 n 9 -4 m 11 3 n 9 -4 n 9 -5 n 10 -6 n 12 -6 n 13 -5 n 14 -3 m 12 3 n 10 -4 n 10 -5 n 11 -6 E # C m m 2 3 n 1 -6 m 3 3 n 2 -3 n 1 -6 m 10 0 n 10 3 n 11 3 n 10 0 n 8 -3 n 5 -5 n 2 -6 n 1 -6 m 0 3 n 3 3 E # C n m 3 7 n 2 6 n 2 5 n 4 4 n 7 4 m 5 4 n 2 3 n 1 2 n 1 0 n 3 -1 n 6 -1 m 5 4 n 3 3 n 2 2 n 2 0 n 3 -1 m 4 -1 n 1 -2 n 0 -3 n 0 -5 n 2 -6 n 4 -7 n 5 -8 n 5 -9 n 4 -10 n 2 -10 m 4 -1 n 2 -2 n 1 -3 n 1 -5 n 2 -6 E # C o m 4 3 n 2 2 n 1 1 n 0 -1 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -4 n 9 -2 n 9 0 n 8 2 n 6 3 n 4 3 m 4 3 n 2 1 n 1 -1 n 1 -4 n 3 -6 m 5 -6 n 7 -4 n 8 -2 n 8 1 n 6 3 E # C p m 5 2 n 2 -6 m 5 2 n 3 -6 m 9 2 n 8 -6 m 9 2 n 9 -6 m 0 1 n 2 3 n 13 3 m 0 1 n 2 2 n 13 2 E # C q m 9 3 n 7 3 n 5 2 n 4 1 n 3 -1 n 0 -10 m 7 3 n 5 1 n 4 -1 n 1 -10 m 9 3 n 11 2 n 12 0 n 12 -2 n 11 -4 n 10 -5 n 8 -6 n 6 -6 n 4 -5 n 3 -3 m 9 3 n 11 1 n 11 -2 n 10 -4 n 8 -6 E # C r m 12 3 n 4 3 n 2 2 n 1 1 n 0 -1 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -4 n 9 -2 n 9 0 n 8 2 n 12 2 m 4 3 n 2 1 n 1 -1 n 1 -4 n 3 -6 m 5 -6 n 7 -4 n 8 -2 n 8 1 n 6 3 E # C s m 6 2 n 4 -6 m 6 2 n 5 -6 m 0 1 n 2 3 n 11 3 m 0 1 n 2 2 n 11 2 E # C t m 0 0 n 1 2 n 2 3 n 4 3 n 5 2 n 5 0 n 4 -3 n 4 -5 n 5 -6 m 3 3 n 4 2 n 4 0 n 3 -3 n 3 -5 n 5 -6 n 6 -6 n 8 -5 n 10 -3 n 11 0 n 11 3 n 10 3 n 11 2 E # C u m 2 2 n 1 1 n 0 -1 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 8 -5 n 10 -3 n 11 0 n 11 2 n 10 3 n 8 3 n 7 2 n 6 0 n 5 -3 n 2 -10 m 0 -3 n 1 -4 n 3 -5 n 5 -5 n 8 -4 n 10 -2 n 11 0 m 11 1 n 10 2 n 8 2 n 6 0 m 5 -3 n 4 -6 n 3 -10 E # C v m 1 3 n 2 3 n 4 2 n 7 -9 n 8 -10 m 2 3 n 3 2 n 6 -9 n 8 -10 n 9 -10 m 10 3 n 8 0 n 2 -7 n 0 -10 E # C w m 10 7 n 7 -10 m 11 7 n 6 -10 m 0 0 n 1 2 n 2 3 n 4 3 n 5 2 n 5 -4 n 6 -5 n 9 -5 n 11 -4 n 13 -2 m 3 3 n 4 2 n 4 -2 n 5 -5 n 6 -6 n 9 -6 n 11 -5 n 13 -2 n 14 0 n 15 3 E # C x m 2 2 n 4 2 n 4 3 n 2 2 n 1 1 n 0 -1 n 0 -3 n 1 -5 n 2 -6 n 4 -6 n 5 -5 n 6 -3 n 7 0 m 0 -3 n 2 -5 n 4 -5 n 6 -3 m 6 0 n 6 -5 n 7 -6 n 9 -6 n 11 -4 n 12 -2 n 12 0 n 11 2 n 10 3 n 10 2 n 11 2 m 6 -3 n 7 -5 n 9 -5 n 11 -4 E # C 0 m 3 7 n 1 6 n 0 3 n 0 -2 n 1 -5 n 3 -6 n 6 -6 n 8 -5 n 9 -2 n 9 3 n 8 6 n 6 7 n 3 7 m 3 7 n 2 6 n 1 3 n 1 -2 n 2 -5 n 3 -6 m 6 -6 n 7 -5 n 8 -2 n 8 3 n 7 6 n 6 7 E # C 1 m 1 4 n 4 7 n 4 -6 m 3 6 n 3 -6 m 0 -6 n 7 -6 E # C 2 m 1 5 n 1 4 n 0 4 n 0 5 n 1 6 n 3 7 n 6 7 n 8 6 n 9 4 n 8 2 n 6 1 n 3 0 n 1 -1 n 0 -3 n 0 -6 m 6 7 n 7 6 n 8 4 n 7 2 n 6 1 m 0 -5 n 1 -4 n 2 -4 n 5 -5 n 8 -5 n 9 -4 m 2 -4 n 5 -6 n 8 -6 n 9 -4 n 9 -3 E # C 3 m 1 5 n 1 4 n 0 4 n 0 5 n 1 6 n 3 7 n 6 7 n 8 6 n 9 4 n 8 2 n 6 1 m 6 7 n 7 6 n 8 4 n 7 2 n 6 1 m 4 1 n 6 1 n 8 0 n 9 -2 n 9 -3 n 8 -5 n 6 -6 n 3 -6 n 1 -5 n 0 -4 n 0 -3 n 1 -3 n 1 -4 m 6 1 n 7 0 n 8 -2 n 8 -3 n 7 -5 n 6 -6 E # C 4 m 6 5 n 6 -6 m 7 7 n 7 -6 m 7 7 n 0 -2 n 11 -2 m 4 -6 n 9 -6 E # C 5 m 1 7 n 0 1 m 1 7 n 8 7 m 1 6 n 5 6 n 8 7 m 0 1 n 1 2 n 3 3 n 6 3 n 8 2 n 9 0 n 9 -3 n 8 -5 n 6 -6 n 3 -6 n 1 -5 n 0 -4 n 0 -3 n 1 -3 n 1 -4 m 6 3 n 7 2 n 8 0 n 8 -3 n 7 -5 n 6 -6 E # C 6 m 8 5 n 8 4 n 9 4 n 9 5 n 8 6 n 6 7 n 4 7 n 2 6 n 1 5 n 0 2 n 0 -3 n 1 -5 n 3 -6 n 6 -6 n 8 -5 n 9 -3 n 9 -1 n 8 1 n 6 2 n 3 2 n 0 0 m 4 7 n 2 5 n 1 2 n 1 -3 n 2 -5 n 3 -6 m 6 -6 n 7 -5 n 8 -3 n 8 -1 n 7 1 n 6 2 E # C 7 m 0 7 n 0 3 m 8 5 n 4 -2 n 2 -6 m 9 7 n 6 1 n 3 -6 m 0 5 n 2 7 n 4 7 n 7 5 m 0 5 n 2 6 n 4 6 n 7 5 n 8 5 E # C 8 m 3 7 n 1 6 n 0 4 n 1 2 n 3 1 n 6 1 n 8 2 n 9 4 n 8 6 n 6 7 n 3 7 m 3 7 n 2 6 n 1 4 n 2 2 n 3 1 m 6 1 n 7 2 n 8 4 n 7 6 n 6 7 m 3 1 n 1 0 n 0 -2 n 0 -3 n 1 -5 n 3 -6 n 6 -6 n 8 -5 n 9 -3 n 9 -2 n 8 0 n 6 1 m 3 1 n 2 0 n 1 -2 n 1 -3 n 2 -5 n 3 -6 m 6 -6 n 7 -5 n 8 -3 n 8 -2 n 7 0 n 6 1 E # C 9 m 1 -4 n 1 -3 n 0 -3 n 0 -4 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -4 n 9 -1 n 9 4 n 8 6 n 6 7 n 3 7 n 1 6 n 0 4 n 0 2 n 1 0 n 3 -1 n 6 -1 n 9 1 m 5 -6 n 7 -4 n 8 -1 n 8 4 n 7 6 n 6 7 m 3 7 n 2 6 n 1 4 n 1 2 n 2 0 n 3 -1 E # C . m 1 -4 n 0 -5 n 1 -6 n 2 -5 n 1 -4 E # C , m 2 -5 n 1 -6 n 0 -5 n 1 -4 n 2 -5 n 2 -7 n 0 -9 E # C : m 1 3 n 0 2 n 1 1 n 2 2 n 1 3 m 1 -4 n 0 -5 n 1 -6 n 2 -5 n 1 -4 E # C ; m 1 3 n 0 2 n 1 1 n 2 2 n 1 3 m 2 -5 n 1 -6 n 0 -5 n 1 -4 n 2 -5 n 2 -7 n 0 -9 E # C ! m 1 7 n 0 6 n 1 -1 n 2 6 n 1 7 m 1 6 n 1 3 m 1 -4 n 0 -5 n 1 -6 n 2 -5 n 1 -4 E # C ? m 0 4 n 1 4 n 1 3 n 0 3 n 0 4 n 1 6 n 3 7 n 6 7 n 8 6 n 9 4 n 9 3 n 8 1 n 5 0 n 4 -1 n 4 -2 n 5 -2 m 6 7 n 8 5 n 8 2 n 7 1 n 5 0 m 4 -5 n 4 -6 n 5 -6 n 5 -5 n 4 -5 E # C ' m 0 7 n 0 2 m 1 7 n 0 2 E # C " m 0 7 n 0 2 m 1 7 n 0 2 m 6 7 n 6 2 m 7 7 n 6 2 E # C * m 3 8 n 3 2 m 0 7 n 6 3 m 6 7 n 0 3 E # C / m 11 10 n 0 -10 E # C ( m 5 10 n 3 8 n 1 5 n 0 2 n 0 -2 n 1 -5 n 3 -8 n 5 -10 m 3 8 n 2 6 n 1 2 n 1 -2 n 2 -6 n 3 -8 E # C ) m 0 10 n 2 8 n 4 5 n 5 2 n 5 -2 n 4 -5 n 2 -8 n 0 -10 m 2 8 n 3 6 n 4 2 n 4 -2 n 3 -6 n 2 -8 E # C [ m 0 10 n 0 -10 m 1 10 n 1 -10 m 0 10 n 5 10 m 0 -10 n 5 -10 E # C ] m 4 10 n 4 -10 m 5 10 n 5 -10 m 0 10 n 5 10 m 0 -10 n 5 -10 E # C { m 3 10 n 1 9 n 0 8 n 0 6 n 2 4 n 3 2 m 1 9 n 0 6 m 3 4 n 2 1 m 0 8 n 1 6 n 3 4 n 3 2 n 2 1 n 0 0 n 2 -1 n 3 -2 n 3 -4 n 1 -6 n 0 -8 m 2 -1 n 3 -4 m 0 -6 n 1 -9 m 3 -2 n 2 -4 n 0 -6 n 0 -8 n 1 -9 n 3 -10 E # C } m 0 10 n 2 9 n 3 8 n 3 6 n 1 4 n 0 2 m 2 9 n 3 6 m 0 4 n 1 1 m 3 8 n 2 6 n 0 4 n 0 2 n 1 1 n 3 0 n 1 -1 n 0 -2 n 0 -4 n 2 -6 n 3 -8 m 1 -1 n 0 -4 m 3 -6 n 2 -9 m 0 -2 n 1 -4 n 3 -6 n 3 -8 n 2 -9 n 0 -10 E # C < m 4 10 n 0 0 n 4 -10 E # C > m 0 10 n 4 0 n 0 -10 E # C | m 0 10 n 0 -10 E # C - m 0 0 n 12 0 E # C + m 6 6 n 6 -6 m 0 0 n 12 0 E # C = m 0 2 n 12 2 m 0 -2 n 12 -2 E # C ~ m 0 -2 n 0 0 n 1 2 n 3 2 n 9 -1 n 11 -1 n 12 0 m 0 0 n 1 1 n 3 1 n 9 -2 n 11 -2 n 12 0 n 12 2 E # C ` m 2 6 n 3 5 n 4 6 n 3 7 n 2 6 n 2 4 n 4 2 E # C & m 13 2 n 12 2 n 12 1 n 13 1 n 13 2 n 12 3 n 11 3 n 10 2 n 9 -2 n 8 -4 n 7 -5 n 5 -6 n 3 -6 n 1 -5 n 0 -4 n 0 -2 n 1 -1 n 3 0 n 6 2 n 7 4 n 7 6 n 6 7 n 4 7 n 3 6 n 3 4 n 4 1 n 9 -5 n 11 -6 n 12 -6 n 13 -5 m 3 -6 n 1 -4 n 1 -2 n 3 0 m 3 4 n 4 2 n 10 -5 n 11 -6 E # C @ m 9 2 n 7 3 n 5 3 n 4 1 n 4 0 n 5 -2 n 7 -2 n 9 -1 m 9 3 n 9 -1 n 10 -2 n 12 -2 n 13 0 n 13 1 n 12 4 n 10 6 n 7 7 n 6 7 n 3 6 n 1 4 n 0 1 n 0 0 n 1 -3 n 3 -5 n 6 -6 n 7 -6 n 10 -5 E # C $ m 3 10 n 3 -10 m 6 10 n 6 -10 m 9 6 n 8 6 n 8 5 n 9 5 n 9 6 n 7 7 n 2 7 n 0 6 n 0 4 n 1 2 n 8 -1 n 9 -2 m 0 4 n 1 3 n 8 0 n 9 -2 n 9 -4 n 8 -5 n 6 -6 n 3 -6 n 1 -5 n 0 -4 n 0 -3 n 1 -3 n 1 -4 n 0 -4 E # C # m 5 7 n 1 -10 m 9 7 n 5 -10 m 1 1 n 10 1 m 0 -4 n 9 -4 E xgks-2.6.1+dfsg.2/src/fontdb/cr.fnt0000644000175000017500000002725011413611016020065 0ustar amckinstryamckinstry# complex_roman # C A w 14 m 7 7 n 2 -6 m 7 4 n 11 -6 m 7 7 n 12 -6 m 4 -2 n 9 -2 m 0 -6 n 5 -6 m 9 -6 n 14 -6 E # C B w 16 m 2 7 n 2 -6 m 3 7 n 3 -6 m 0 7 n 7 7 n 10 6 n 11 4 n 10 2 n 7 1 m 7 7 n 9 6 n 10 4 n 9 2 n 7 1 m 3 1 n 7 1 n 10 0 n 11 -2 n 11 -3 n 10 -5 n 7 -6 n 0 -6 m 7 1 n 9 0 n 10 -2 n 10 -3 n 9 -5 n 7 -6 E # C C w 14 m 9 6 n 10 7 n 10 3 n 9 6 n 7 7 n 4 7 n 2 6 n 1 5 n 0 2 n 0 -1 n 1 -4 n 2 -5 n 4 -6 n 7 -6 n 9 -5 n 10 -3 m 4 7 n 2 5 n 1 2 n 1 -1 n 2 -4 n 4 -6 E # C D w 16 m 2 7 n 2 -6 m 3 7 n 3 -6 m 0 7 n 7 7 n 10 6 n 11 5 n 12 2 n 12 -1 n 11 -4 n 10 -5 n 7 -6 n 0 -6 m 7 7 n 9 6 n 10 5 n 11 2 n 11 -1 n 10 -4 n 9 -5 n 7 -6 E # C E w 15 m 2 7 n 2 -6 m 3 7 n 3 -6 m 7 3 n 7 -1 m 0 7 n 10 7 n 10 3 n 9 7 m 3 1 n 7 1 m 0 -6 n 10 -6 n 10 -2 n 9 -6 E # C F w 14 m 2 7 n 2 -6 m 3 7 n 3 -6 m 7 3 n 7 -1 m 0 7 n 10 7 n 10 3 n 9 7 m 3 1 n 7 1 m 0 -6 n 5 -6 E # C G w 16 m 9 6 n 10 7 n 10 3 n 9 6 n 7 7 n 4 7 n 2 6 n 1 5 n 0 2 n 0 -1 n 1 -4 n 2 -5 n 4 -6 n 7 -6 n 9 -5 m 4 7 n 2 5 n 1 2 n 1 -1 n 2 -4 n 4 -6 m 7 -6 n 8 -5 n 9 -3 m 9 -1 n 9 -6 m 10 -1 n 10 -6 m 7 -1 n 12 -1 E # C H w 17 m 2 7 n 2 -6 m 3 7 n 3 -6 m 10 7 n 10 -6 m 11 7 n 11 -6 m 0 7 n 5 7 m 8 7 n 13 7 m 3 1 n 10 1 m 0 -6 n 5 -6 m 8 -6 n 13 -6 E # C I w 9 m 2 7 n 2 -6 m 3 7 n 3 -6 m 0 7 n 5 7 m 0 -6 n 5 -6 E # C J w 12 m 6 7 n 6 -3 n 5 -5 n 4 -6 m 7 7 n 7 -3 n 6 -5 n 4 -6 n 3 -6 n 1 -5 n 0 -3 n 1 -2 n 2 -3 n 1 -4 m 4 7 n 9 7 E # C K w 16 m 2 7 n 2 -6 m 3 7 n 3 -6 m 11 7 n 3 -1 m 5 1 n 10 -6 m 6 1 n 11 -6 m 0 7 n 5 7 m 8 7 n 13 7 m 0 -6 n 5 -6 m 8 -6 n 13 -6 E # C L w 13 m 2 7 n 2 -6 m 3 7 n 3 -6 m 0 7 n 5 7 m 0 -6 n 10 -6 n 10 -2 n 9 -6 E # C M w 19 m 2 7 n 2 -6 m 3 4 n 7 -6 m 3 7 n 7 -3 m 12 7 n 7 -6 m 12 7 n 12 -6 m 13 7 n 13 -6 m 0 7 n 3 7 m 12 7 n 15 7 m 0 -6 n 4 -6 m 10 -6 n 15 -6 E # C N w 16 m 2 7 n 2 -6 m 3 5 n 10 -6 m 3 7 n 10 -4 m 10 7 n 10 -6 m 0 7 n 3 7 m 8 7 n 12 7 m 0 -6 n 4 -6 E # C O w 15 m 4 7 n 2 6 n 1 5 n 0 2 n 0 -1 n 1 -4 n 2 -5 n 4 -6 n 7 -6 n 9 -5 n 10 -4 n 11 -1 n 11 2 n 10 5 n 9 6 n 7 7 n 4 7 m 4 7 n 2 5 n 1 2 n 1 -1 n 2 -4 n 4 -6 m 7 -6 n 9 -4 n 10 -1 n 10 2 n 9 5 n 7 7 E # C P w 15 m 2 7 n 2 -6 m 3 7 n 3 -6 m 0 7 n 7 7 n 10 6 n 11 4 n 11 3 n 10 1 n 7 0 n 3 0 m 7 7 n 9 6 n 10 4 n 10 3 n 9 1 n 7 0 m 0 -6 n 5 -6 E # C Q w 15 m 4 7 n 2 6 n 1 5 n 0 2 n 0 -1 n 1 -4 n 2 -5 n 4 -6 n 7 -6 n 9 -5 n 10 -4 n 11 -1 n 11 2 n 10 5 n 9 6 n 7 7 n 4 7 m 4 7 n 2 5 n 1 2 n 1 -1 n 2 -4 n 4 -6 m 7 -6 n 9 -4 n 10 -1 n 10 2 n 9 5 n 7 7 m 3 -5 n 3 -3 n 4 -2 n 6 -2 n 7 -3 n 8 -8 n 9 -9 n 10 -9 n 11 -8 m 7 -3 n 8 -6 n 9 -8 n 10 -9 E # C R w 16 m 2 7 n 2 -6 m 3 7 n 3 -6 m 0 7 n 7 7 n 10 6 n 11 4 n 11 3 n 10 1 n 7 0 n 3 0 m 7 7 n 9 6 n 10 4 n 10 3 n 9 1 n 7 0 m 0 -6 n 5 -6 m 7 0 n 8 -1 n 9 -5 n 10 -6 n 11 -6 n 12 -5 m 7 0 n 9 -1 n 10 -5 n 11 -6 E # C S w 15 m 8 5 n 9 7 n 9 3 n 8 5 n 7 6 n 5 7 n 3 7 n 1 6 n 0 5 n 0 3 n 1 2 n 3 1 n 6 0 n 8 -1 n 9 -2 m 0 4 n 1 3 n 3 2 n 6 1 n 8 0 n 9 -1 n 9 -4 n 8 -5 n 6 -6 n 4 -6 n 2 -5 n 1 -4 n 0 -2 n 0 -6 n 1 -4 E # C T w 15 m 5 7 n 5 -6 m 6 7 n 6 -6 m 1 7 n 0 3 n 0 7 n 11 7 n 11 3 n 10 7 m 3 -6 n 8 -6 E # C U w 17 m 2 7 n 2 -3 n 3 -5 n 5 -6 n 8 -6 n 10 -5 n 11 -3 n 11 7 m 3 7 n 3 -3 n 4 -5 n 5 -6 m 0 7 n 5 7 m 9 7 n 13 7 E # C V w 14 m 2 7 n 7 -6 m 3 7 n 7 -3 m 12 7 n 7 -6 m 0 7 n 5 7 m 9 7 n 14 7 E # C W w 18 m 2 7 n 5 -6 m 3 7 n 5 -2 m 8 7 n 5 -6 m 8 7 n 11 -6 m 9 7 n 11 -2 m 14 7 n 11 -6 m 0 7 n 5 7 m 12 7 n 16 7 E # C X w 15 m 2 7 n 10 -6 m 3 7 n 11 -6 m 11 7 n 2 -6 m 0 7 n 5 7 m 8 7 n 13 7 m 0 -6 n 5 -6 m 8 -6 n 13 -6 E # C Y w 13 m 2 7 n 6 0 n 6 -6 m 3 7 n 7 0 m 11 7 n 7 0 n 7 -6 m 0 7 n 5 7 m 8 7 n 13 7 m 4 -6 n 9 -6 E # C Z w 13 m 8 7 n 0 -6 m 9 7 n 1 -6 m 1 7 n 0 3 n 0 7 n 9 7 m 0 -6 n 9 -6 n 9 -2 n 8 -6 E # C a w 14 m 2 3 n 1 2 n 1 1 n 0 1 n 0 2 n 2 3 n 5 3 n 7 1 n 7 -5 n 8 -6 n 9 -6 m 5 3 n 6 1 n 6 -5 n 8 -6 m 6 0 n 3 -1 n 1 -2 n 0 -3 n 0 -5 n 1 -6 n 4 -6 n 5 -5 n 6 -3 m 3 -1 n 1 -3 n 1 -5 n 2 -6 E # C b w 15 m 2 7 n 2 -6 m 3 7 n 3 -6 m 3 0 n 4 2 n 6 3 n 8 3 n 10 2 n 11 0 n 11 -3 n 10 -5 n 8 -6 n 6 -6 n 4 -5 n 3 -3 m 8 3 n 9 2 n 10 0 n 10 -3 n 9 -5 n 8 -6 m 0 7 n 3 7 E # C c w 12 m 8 1 n 7 1 n 7 0 n 8 0 n 8 1 n 7 2 n 5 3 n 3 3 n 1 2 n 0 0 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -4 m 3 3 n 2 2 n 1 0 n 1 -3 n 2 -5 n 3 -6 E # C d w 15 m 8 7 n 8 -6 m 9 7 n 9 -6 m 8 0 n 7 2 n 5 3 n 3 3 n 1 2 n 0 0 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -3 m 3 3 n 2 2 n 1 0 n 1 -3 n 2 -5 n 3 -6 m 6 7 n 9 7 m 8 -6 n 11 -6 E # C e w 12 m 1 -1 n 8 -1 n 8 0 n 7 2 n 5 3 n 3 3 n 1 2 n 0 0 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -4 m 7 -1 n 7 1 n 5 3 m 3 3 n 2 2 n 1 0 n 1 -3 n 2 -5 n 3 -6 E # C f w 11 m 6 7 n 7 6 n 7 5 n 8 5 n 8 6 n 6 7 n 4 7 n 2 5 n 2 -6 m 4 7 n 3 5 n 3 -6 m 0 3 n 5 3 m 0 -6 n 5 -6 E # C g w 13 m 3 3 n 1 1 n 1 -1 n 3 -3 n 5 -3 n 7 -1 n 7 1 n 5 3 n 3 3 m 3 3 n 2 1 n 2 -1 n 3 -3 m 5 -3 n 6 -1 n 6 1 n 5 3 m 6 2 n 7 3 n 8 3 m 2 -2 n 1 -3 n 1 -6 n 2 -7 n 6 -7 n 8 -8 m 1 -5 n 2 -6 n 6 -6 n 8 -7 n 8 -9 n 6 -10 n 2 -10 n 0 -9 n 0 -7 n 2 -6 E # C h w 17 m 2 7 n 2 -6 m 3 7 n 3 -6 m 3 0 n 4 2 n 6 3 n 8 3 n 10 2 n 11 0 n 11 -6 m 8 3 n 9 2 n 10 0 n 10 -6 m 0 7 n 3 7 m 0 -6 n 5 -6 m 8 -6 n 13 -6 E # C i w 9 m 2 7 n 2 6 n 3 6 n 3 7 n 2 7 m 2 3 n 2 -6 m 3 3 n 3 -6 m 0 3 n 3 3 m 0 -6 n 5 -6 E # C j w 9 m 4 7 n 4 6 n 5 6 n 5 7 n 4 7 m 4 3 n 4 -8 n 3 -10 m 5 3 n 5 -8 n 3 -10 n 1 -10 n 0 -9 n 0 -8 n 1 -8 n 1 -9 n 0 -9 m 2 3 n 5 3 E # C k w 16 m 2 7 n 2 -6 m 3 7 n 3 -6 m 11 3 n 3 -3 m 6 -1 n 10 -6 m 7 -1 n 11 -6 m 0 7 n 3 7 m 8 3 n 13 3 m 0 -6 n 5 -6 m 8 -6 n 13 -6 E # C l w 9 m 2 7 n 2 -6 m 3 7 n 3 -6 m 0 7 n 3 7 m 0 -6 n 5 -6 E # C m w 25 m 2 3 n 2 -6 m 3 3 n 3 -6 m 3 0 n 4 2 n 6 3 n 8 3 n 10 2 n 11 0 n 11 -6 m 8 3 n 9 2 n 10 0 n 10 -6 m 11 0 n 12 2 n 14 3 n 16 3 n 18 2 n 19 0 n 19 -6 m 16 3 n 17 2 n 18 0 n 18 -6 m 0 3 n 3 3 m 0 -6 n 5 -6 m 8 -6 n 13 -6 m 16 -6 n 21 -6 E # C n w 17 m 2 3 n 2 -6 m 3 3 n 3 -6 m 3 0 n 4 2 n 6 3 n 8 3 n 10 2 n 11 0 n 11 -6 m 8 3 n 9 2 n 10 0 n 10 -6 m 0 3 n 3 3 m 0 -6 n 5 -6 m 8 -6 n 13 -6 E # C o w 13 m 3 3 n 1 2 n 0 0 n 0 -3 n 1 -5 n 3 -6 n 6 -6 n 8 -5 n 9 -3 n 9 0 n 8 2 n 6 3 n 3 3 m 3 3 n 2 2 n 1 0 n 1 -3 n 2 -5 n 3 -6 m 6 -6 n 7 -5 n 8 -3 n 8 0 n 7 2 n 6 3 E # C p w 15 m 2 3 n 2 -10 m 3 3 n 3 -10 m 3 0 n 4 2 n 6 3 n 8 3 n 10 2 n 11 0 n 11 -3 n 10 -5 n 8 -6 n 6 -6 n 4 -5 n 3 -3 m 8 3 n 9 2 n 10 0 n 10 -3 n 9 -5 n 8 -6 m 0 3 n 3 3 m 0 -10 n 5 -10 E # C q w 14 m 8 3 n 8 -10 m 9 3 n 9 -10 m 8 0 n 7 2 n 5 3 n 3 3 n 1 2 n 0 0 n 0 -3 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -3 m 3 3 n 2 2 n 1 0 n 1 -3 n 2 -5 n 3 -6 m 6 -10 n 11 -10 E # C r w 13 m 2 3 n 2 -6 m 3 3 n 3 -6 m 3 0 n 4 2 n 6 3 n 8 3 n 9 2 n 9 1 n 8 1 n 8 2 n 9 2 m 0 3 n 3 3 m 0 -6 n 5 -6 E # C s w 13 m 5 3 n 6 2 n 6 1 n 7 1 n 7 2 n 5 3 n 2 3 n 0 2 n 0 0 n 2 -1 n 5 -2 n 7 -3 m 0 1 n 2 0 n 5 -1 n 7 -2 n 7 -5 n 5 -6 n 2 -6 n 0 -5 n 0 -4 n 1 -4 n 1 -5 n 2 -6 E # C t w 11 m 2 7 n 2 -4 n 4 -6 n 6 -6 n 7 -5 n 7 -4 m 3 7 n 3 -4 n 4 -6 m 0 3 n 6 3 E # C u w 17 m 2 3 n 2 -3 n 3 -5 n 5 -6 n 7 -6 n 9 -5 n 10 -3 m 3 3 n 3 -3 n 4 -5 n 5 -6 m 10 3 n 10 -6 m 11 3 n 11 -6 m 0 3 n 3 3 m 8 3 n 11 3 m 10 -6 n 13 -6 E # C v w 14 m 2 3 n 6 -6 m 3 3 n 6 -4 m 10 3 n 6 -6 m 0 3 n 5 3 m 8 3 n 12 3 E # C w w 18 m 2 3 n 5 -6 m 3 3 n 5 -3 m 8 3 n 5 -6 m 8 3 n 11 -6 m 9 3 n 11 -3 m 14 3 n 11 -6 m 0 3 n 5 3 m 12 3 n 16 3 E # C x w 14 m 2 3 n 9 -6 m 3 3 n 10 -6 m 10 3 n 2 -6 m 0 3 n 5 3 m 8 3 n 12 3 m 0 -6 n 4 -6 m 7 -6 n 12 -6 E # C y w 14 m 2 3 n 6 -6 m 3 3 n 6 -4 m 10 3 n 6 -6 n 4 -9 n 2 -10 n 1 -10 n 0 -9 n 0 -8 n 1 -8 n 1 -9 n 0 -9 m 0 3 n 5 3 m 8 3 n 12 3 E # C z w 12 m 7 3 n 0 -6 m 8 3 n 1 -6 m 1 3 n 0 1 n 0 3 n 8 3 m 0 -6 n 8 -6 n 8 -4 n 7 -6 E # C 0 w 13 m 3 7 n 1 6 n 0 3 n 0 -2 n 1 -5 n 3 -6 n 6 -6 n 8 -5 n 9 -2 n 9 3 n 8 6 n 6 7 n 3 7 m 3 7 n 2 6 n 1 3 n 1 -2 n 2 -5 n 3 -6 m 6 -6 n 7 -5 n 8 -2 n 8 3 n 7 6 n 6 7 E # C 1 w 13 m 1 4 n 4 7 n 4 -6 m 3 6 n 3 -6 m 0 -6 n 7 -6 E # C 2 w 13 m 1 5 n 1 4 n 0 4 n 0 5 n 1 6 n 3 7 n 6 7 n 8 6 n 9 4 n 8 2 n 6 1 n 3 0 n 1 -1 n 0 -3 n 0 -6 m 6 7 n 7 6 n 8 4 n 7 2 n 6 1 m 0 -5 n 1 -4 n 2 -4 n 5 -5 n 8 -5 n 9 -4 m 2 -4 n 5 -6 n 8 -6 n 9 -4 n 9 -3 E # C 3 w 13 m 1 5 n 1 4 n 0 4 n 0 5 n 1 6 n 3 7 n 6 7 n 8 6 n 9 4 n 8 2 n 6 1 m 6 7 n 7 6 n 8 4 n 7 2 n 6 1 m 4 1 n 6 1 n 8 0 n 9 -2 n 9 -3 n 8 -5 n 6 -6 n 3 -6 n 1 -5 n 0 -4 n 0 -3 n 1 -3 n 1 -4 m 6 1 n 7 0 n 8 -2 n 8 -3 n 7 -5 n 6 -6 E # C 4 w 13 m 6 5 n 6 -6 m 7 7 n 7 -6 m 7 7 n 0 -2 n 11 -2 m 4 -6 n 9 -6 E # C 5 w 13 m 1 7 n 0 1 m 1 7 n 8 7 m 1 6 n 5 6 n 8 7 m 0 1 n 1 2 n 3 3 n 6 3 n 8 2 n 9 0 n 9 -3 n 8 -5 n 6 -6 n 3 -6 n 1 -5 n 0 -4 n 0 -3 n 1 -3 n 1 -4 m 6 3 n 7 2 n 8 0 n 8 -3 n 7 -5 n 6 -6 E # C 6 w 13 m 8 5 n 8 4 n 9 4 n 9 5 n 8 6 n 6 7 n 4 7 n 2 6 n 1 5 n 0 2 n 0 -3 n 1 -5 n 3 -6 n 6 -6 n 8 -5 n 9 -3 n 9 -1 n 8 1 n 6 2 n 3 2 n 0 0 m 4 7 n 2 5 n 1 2 n 1 -3 n 2 -5 n 3 -6 m 6 -6 n 7 -5 n 8 -3 n 8 -1 n 7 1 n 6 2 E # C 7 w 13 m 0 7 n 0 3 m 8 5 n 4 -2 n 2 -6 m 9 7 n 6 1 n 3 -6 m 0 5 n 2 7 n 4 7 n 7 5 m 0 5 n 2 6 n 4 6 n 7 5 n 8 5 E # C 8 w 13 m 3 7 n 1 6 n 0 4 n 1 2 n 3 1 n 6 1 n 8 2 n 9 4 n 8 6 n 6 7 n 3 7 m 3 7 n 2 6 n 1 4 n 2 2 n 3 1 m 6 1 n 7 2 n 8 4 n 7 6 n 6 7 m 3 1 n 1 0 n 0 -2 n 0 -3 n 1 -5 n 3 -6 n 6 -6 n 8 -5 n 9 -3 n 9 -2 n 8 0 n 6 1 m 3 1 n 2 0 n 1 -2 n 1 -3 n 2 -5 n 3 -6 m 6 -6 n 7 -5 n 8 -3 n 8 -2 n 7 0 n 6 1 E # C 9 w 13 m 1 -4 n 1 -3 n 0 -3 n 0 -4 n 1 -5 n 3 -6 n 5 -6 n 7 -5 n 8 -4 n 9 -1 n 9 4 n 8 6 n 6 7 n 3 7 n 1 6 n 0 4 n 0 2 n 1 0 n 3 -1 n 6 -1 n 9 1 m 5 -6 n 7 -4 n 8 -1 n 8 4 n 7 6 n 6 7 m 3 7 n 2 6 n 1 4 n 1 2 n 2 0 n 3 -1 E # C . w 8 m 1 -4 n 0 -5 n 1 -6 n 2 -5 n 1 -4 E # C , w 8 m 2 -5 n 1 -6 n 0 -5 n 1 -4 n 2 -5 n 2 -7 n 0 -9 E # C : w 8 m 1 3 n 0 2 n 1 1 n 2 2 n 1 3 m 1 -4 n 0 -5 n 1 -6 n 2 -5 n 1 -4 E # C ; w 8 m 1 3 n 0 2 n 1 1 n 2 2 n 1 3 m 2 -5 n 1 -6 n 0 -5 n 1 -4 n 2 -5 n 2 -7 n 0 -9 E # C ! w 8 m 1 7 n 0 6 n 1 -1 n 2 6 n 1 7 m 1 6 n 1 3 m 1 -4 n 0 -5 n 1 -6 n 2 -5 n 1 -4 E # C ? w 13 m 0 4 n 1 4 n 1 3 n 0 3 n 0 4 n 1 6 n 3 7 n 6 7 n 8 6 n 9 4 n 9 3 n 8 1 n 5 0 n 4 -1 n 4 -2 n 5 -2 m 6 7 n 8 5 n 8 2 n 7 1 n 5 0 m 4 -5 n 4 -6 n 5 -6 n 5 -5 n 4 -5 E # C ' w 7 m 0 7 n 0 2 m 1 7 n 0 2 E # C " w 12 m 0 7 n 0 2 m 1 7 n 0 2 m 6 7 n 6 2 m 7 7 n 6 2 E # C * w 10 m 3 8 n 3 2 m 0 7 n 6 3 m 6 7 n 0 3 E # C / w 15 m 11 10 n 0 -10 E # C ( w 10 m 5 10 n 3 8 n 1 5 n 0 2 n 0 -2 n 1 -5 n 3 -8 n 5 -10 m 3 8 n 2 6 n 1 2 n 1 -2 n 2 -6 n 3 -8 E # C ) w 10 m 0 10 n 2 8 n 4 5 n 5 2 n 5 -2 n 4 -5 n 2 -8 n 0 -10 m 2 8 n 3 6 n 4 2 n 4 -2 n 3 -6 n 2 -8 E # C [ w 10 m 0 10 n 0 -10 m 1 10 n 1 -10 m 0 10 n 5 10 m 0 -10 n 5 -10 E # C ] w 10 m 4 10 n 4 -10 m 5 10 n 5 -10 m 0 10 n 5 10 m 0 -10 n 5 -10 E # C { w 11 m 3 10 n 1 9 n 0 8 n 0 6 n 2 4 n 3 2 m 1 9 n 0 6 m 3 4 n 2 1 m 0 8 n 1 6 n 3 4 n 3 2 n 2 1 n 0 0 n 2 -1 n 3 -2 n 3 -4 n 1 -6 n 0 -8 m 2 -1 n 3 -4 m 0 -6 n 1 -9 m 3 -2 n 2 -4 n 0 -6 n 0 -8 n 1 -9 n 3 -10 E # C } w 11 m 0 10 n 2 9 n 3 8 n 3 6 n 1 4 n 0 2 m 2 9 n 3 6 m 0 4 n 1 1 m 3 8 n 2 6 n 0 4 n 0 2 n 1 1 n 3 0 n 1 -1 n 0 -2 n 0 -4 n 2 -6 n 3 -8 m 1 -1 n 0 -4 m 3 -6 n 2 -9 m 0 -2 n 1 -4 n 3 -6 n 3 -8 n 2 -9 n 0 -10 E # C < w 10 m 4 10 n 0 0 n 4 -10 E # C > w 10 m 0 10 n 4 0 n 0 -10 E # C | w 6 m 0 10 n 0 -10 E # C - w 18 m 0 0 n 12 0 E # C + w 18 m 6 6 n 6 -6 m 0 0 n 12 0 E # C = w 18 m 0 2 n 12 2 m 0 -2 n 12 -2 E # C ~ w 16 m 0 -2 n 0 0 n 1 2 n 3 2 n 9 -1 n 11 -1 n 12 0 m 0 0 n 1 1 n 3 1 n 9 -2 n 11 -2 n 12 0 n 12 2 E # C ` w 8 m 2 6 n 3 5 n 4 6 n 3 7 n 2 6 n 2 4 n 4 2 E # C & w 17 m 13 2 n 12 2 n 12 1 n 13 1 n 13 2 n 12 3 n 11 3 n 10 2 n 9 -2 n 8 -4 n 7 -5 n 5 -6 n 3 -6 n 1 -5 n 0 -4 n 0 -2 n 1 -1 n 3 0 n 6 2 n 7 4 n 7 6 n 6 7 n 4 7 n 3 6 n 3 4 n 4 1 n 9 -5 n 11 -6 n 12 -6 n 13 -5 m 3 -6 n 1 -4 n 1 -2 n 3 0 m 3 4 n 4 2 n 10 -5 n 11 -6 E # C @ w 17 m 9 2 n 7 3 n 5 3 n 4 1 n 4 0 n 5 -2 n 7 -2 n 9 -1 m 9 3 n 9 -1 n 10 -2 n 12 -2 n 13 0 n 13 1 n 12 4 n 10 6 n 7 7 n 6 7 n 3 6 n 1 4 n 0 1 n 0 0 n 1 -3 n 3 -5 n 6 -6 n 7 -6 n 10 -5 E # C $ w 15 m 3 10 n 3 -10 m 6 10 n 6 -10 m 9 6 n 8 6 n 8 5 n 9 5 n 9 6 n 7 7 n 2 7 n 0 6 n 0 4 n 1 2 n 8 -1 n 9 -2 m 0 4 n 1 3 n 8 0 n 9 -2 n 9 -4 n 8 -5 n 6 -6 n 3 -6 n 1 -5 n 0 -4 n 0 -3 n 1 -3 n 1 -4 n 0 -4 E # C # w 14 m 5 7 n 1 -10 m 9 7 n 5 -10 m 1 1 n 10 1 m 0 -4 n 9 -4 E xgks-2.6.1+dfsg.2/src/fontdb/sr.fnt0000644000175000017500000001574111413611016020107 0ustar amckinstryamckinstry# simplex_roman # C A w 18 m 8 12 n 0 -9 m 8 12 n 16 -9 m 3 -2 n 13 -2 E # C B w 21 m 0 12 n 0 -9 m 0 12 n 9 12 n 12 11 n 13 10 n 14 8 n 14 6 n 13 4 n 12 3 n 9 2 m 0 2 n 9 2 n 12 1 n 13 0 n 14 -2 n 14 -5 n 13 -7 n 12 -8 n 9 -9 n 0 -9 E # C C w 21 m 15 7 n 14 9 n 12 11 n 10 12 n 6 12 n 4 11 n 2 9 n 1 7 n 0 4 n 0 -1 n 1 -4 n 2 -6 n 4 -8 n 6 -9 n 10 -9 n 12 -8 n 14 -6 n 15 -4 E # C D w 21 m 0 12 n 0 -9 m 0 12 n 7 12 n 10 11 n 12 9 n 13 7 n 14 4 n 14 -1 n 13 -4 n 12 -6 n 10 -8 n 7 -9 n 0 -9 E # C E w 19 m 0 12 n 0 -9 m 0 12 n 13 12 m 0 2 n 8 2 m 0 -9 n 13 -9 E # C F w 18 m 0 12 n 0 -9 m 0 12 n 13 12 m 0 2 n 8 2 E # C G w 21 m 15 7 n 14 9 n 12 11 n 10 12 n 6 12 n 4 11 n 2 9 n 1 7 n 0 4 n 0 -1 n 1 -4 n 2 -6 n 4 -8 n 6 -9 n 10 -9 n 12 -8 n 14 -6 n 15 -4 n 15 -1 m 10 -1 n 15 -1 E # C H w 22 m 0 12 n 0 -9 m 14 12 n 14 -9 m 0 2 n 14 2 E # C I w 8 m 0 12 n 0 -9 E # C J w 16 m 10 12 n 10 -4 n 9 -7 n 8 -8 n 6 -9 n 4 -9 n 2 -8 n 1 -7 n 0 -4 n 0 -2 E # C K w 21 m 0 12 n 0 -9 m 14 12 n 0 -2 m 5 3 n 14 -9 E # C L w 17 m 0 12 n 0 -9 m 0 -9 n 12 -9 E # C M w 24 m 0 12 n 0 -9 m 0 12 n 8 -9 m 16 12 n 8 -9 m 16 12 n 16 -9 E # C N w 22 m 0 12 n 0 -9 m 0 12 n 14 -9 m 14 12 n 14 -9 E # C O w 22 m 6 12 n 4 11 n 2 9 n 1 7 n 0 4 n 0 -1 n 1 -4 n 2 -6 n 4 -8 n 6 -9 n 10 -9 n 12 -8 n 14 -6 n 15 -4 n 16 -1 n 16 4 n 15 7 n 14 9 n 12 11 n 10 12 n 6 12 E # C P w 21 m 0 12 n 0 -9 m 0 12 n 9 12 n 12 11 n 13 10 n 14 8 n 14 5 n 13 3 n 12 2 n 9 1 n 0 1 E # C Q w 22 m 6 12 n 4 11 n 2 9 n 1 7 n 0 4 n 0 -1 n 1 -4 n 2 -6 n 4 -8 n 6 -9 n 10 -9 n 12 -8 n 14 -6 n 15 -4 n 16 -1 n 16 4 n 15 7 n 14 9 n 12 11 n 10 12 n 6 12 m 9 -5 n 15 -11 E # C R w 21 m 0 12 n 0 -9 m 0 12 n 9 12 n 12 11 n 13 10 n 14 8 n 14 6 n 13 4 n 12 3 n 9 2 n 0 2 m 7 2 n 14 -9 E # C S w 20 m 14 9 n 12 11 n 9 12 n 5 12 n 2 11 n 0 9 n 0 7 n 1 5 n 2 4 n 4 3 n 10 1 n 12 0 n 13 -1 n 14 -3 n 14 -6 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 0 -6 E # C T w 16 m 7 12 n 7 -9 m 0 12 n 14 12 E # C U w 22 m 0 12 n 0 -3 n 1 -6 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -6 n 14 -3 n 14 12 E # C V w 18 m 0 12 n 8 -9 m 16 12 n 8 -9 E # C W w 24 m 0 12 n 5 -9 m 10 12 n 5 -9 m 10 12 n 15 -9 m 20 12 n 15 -9 E # C X w 20 m 0 12 n 14 -9 m 14 12 n 0 -9 E # C Y w 18 m 0 12 n 8 2 n 8 -9 m 16 12 n 8 2 E # C Z w 20 m 14 12 n 0 -9 m 0 12 n 14 12 m 0 -9 n 14 -9 E # C a w 19 m 12 5 n 12 -9 m 12 2 n 10 4 n 8 5 n 5 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 5 -9 n 8 -9 n 10 -8 n 12 -6 E # C b w 19 m 0 12 n 0 -9 m 0 2 n 2 4 n 4 5 n 7 5 n 9 4 n 11 2 n 12 -1 n 12 -3 n 11 -6 n 9 -8 n 7 -9 n 4 -9 n 2 -8 n 0 -6 E # C c w 18 m 12 2 n 10 4 n 8 5 n 5 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 5 -9 n 8 -9 n 10 -8 n 12 -6 E # C d w 19 m 12 12 n 12 -9 m 12 2 n 10 4 n 8 5 n 5 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 5 -9 n 8 -9 n 10 -8 n 12 -6 E # C e w 18 m 0 -1 n 12 -1 n 12 1 n 11 3 n 10 4 n 8 5 n 5 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 5 -9 n 8 -9 n 10 -8 n 12 -6 E # C f w 12 m 8 12 n 6 12 n 4 11 n 3 8 n 3 -9 m 0 5 n 7 5 E # C g w 19 m 14 5 n 14 -11 n 13 -14 n 12 -15 n 10 -16 n 7 -16 n 5 -15 m 14 2 n 12 4 n 10 5 n 7 5 n 5 4 n 3 2 n 2 -1 n 2 -3 n 3 -6 n 5 -8 n 7 -9 n 10 -9 n 12 -8 n 14 -6 E # C h w 19 m 0 12 n 0 -9 m 0 1 n 3 4 n 5 5 n 8 5 n 10 4 n 11 1 n 11 -9 E # C i w 8 m 0 12 n 1 11 n 2 12 n 1 13 n 0 12 m 1 5 n 1 -9 E # C j w 10 m 4 12 n 5 11 n 6 12 n 5 13 n 4 12 m 5 5 n 5 -12 n 4 -15 n 2 -16 n 0 -16 E # C k w 17 m 0 12 n 0 -9 m 10 5 n 0 -5 m 4 -1 n 11 -9 E # C l w 8 m 0 12 n 0 -9 E # C m w 30 m 0 5 n 0 -9 m 0 1 n 3 4 n 5 5 n 8 5 n 10 4 n 11 1 n 11 -9 m 11 1 n 14 4 n 16 5 n 19 5 n 21 4 n 22 1 n 22 -9 E # C n w 19 m 0 5 n 0 -9 m 0 1 n 3 4 n 5 5 n 8 5 n 10 4 n 11 1 n 11 -9 E # C o w 19 m 5 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 5 -9 n 8 -9 n 10 -8 n 12 -6 n 13 -3 n 13 -1 n 12 2 n 10 4 n 8 5 n 5 5 E # C p w 19 m 0 5 n 0 -16 m 0 2 n 2 4 n 4 5 n 7 5 n 9 4 n 11 2 n 12 -1 n 12 -3 n 11 -6 n 9 -8 n 7 -9 n 4 -9 n 2 -8 n 0 -6 E # C q w 19 m 12 5 n 12 -16 m 12 2 n 10 4 n 8 5 n 5 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 5 -9 n 8 -9 n 10 -8 n 12 -6 E # C r w 13 m 0 5 n 0 -9 m 0 -1 n 1 2 n 3 4 n 5 5 n 8 5 E # C s w 17 m 11 2 n 10 4 n 7 5 n 4 5 n 1 4 n 0 2 n 1 0 n 3 -1 n 8 -2 n 10 -3 n 11 -5 n 11 -6 n 10 -8 n 7 -9 n 4 -9 n 1 -8 n 0 -6 E # C t w 12 m 3 12 n 3 -5 n 4 -8 n 6 -9 n 8 -9 m 0 5 n 7 5 E # C u w 19 m 0 5 n 0 -5 n 1 -8 n 3 -9 n 6 -9 n 8 -8 n 11 -5 m 11 5 n 11 -9 E # C v w 16 m 0 5 n 6 -9 m 12 5 n 6 -9 E # C w w 22 m 0 5 n 4 -9 m 8 5 n 4 -9 m 8 5 n 12 -9 m 16 5 n 12 -9 E # C x w 17 m 0 5 n 11 -9 m 11 5 n 0 -9 E # C y w 16 m 1 5 n 7 -9 m 13 5 n 7 -9 n 5 -13 n 3 -15 n 1 -16 n 0 -16 E # C z w 17 m 11 5 n 0 -9 m 0 5 n 11 5 m 0 -9 n 11 -9 E # C 0 w 20 m 6 12 n 3 11 n 1 8 n 0 3 n 0 0 n 1 -5 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -5 n 14 0 n 14 3 n 13 8 n 11 11 n 8 12 n 6 12 E # C 1 w 20 m 0 8 n 2 9 n 5 12 n 5 -9 E # C 2 w 20 m 1 7 n 1 8 n 2 10 n 3 11 n 5 12 n 9 12 n 11 11 n 12 10 n 13 8 n 13 6 n 12 4 n 10 1 n 0 -9 n 14 -9 E # C 3 w 20 m 2 12 n 13 12 n 7 4 n 10 4 n 12 3 n 13 2 n 14 -1 n 14 -3 n 13 -6 n 11 -8 n 8 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 E # C 4 w 20 m 10 12 n 0 -2 n 15 -2 m 10 12 n 10 -9 E # C 5 w 20 m 12 12 n 2 12 n 1 3 n 2 4 n 5 5 n 8 5 n 11 4 n 13 2 n 14 -1 n 14 -3 n 13 -6 n 11 -8 n 8 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 E # C 6 w 20 m 12 9 n 11 11 n 8 12 n 6 12 n 3 11 n 1 8 n 0 3 n 0 -2 n 1 -6 n 3 -8 n 6 -9 n 7 -9 n 10 -8 n 12 -6 n 13 -3 n 13 -2 n 12 1 n 10 3 n 7 4 n 6 4 n 3 3 n 1 1 n 0 -2 E # C 7 w 20 m 14 12 n 4 -9 m 0 12 n 14 12 E # C 8 w 20 m 5 12 n 2 11 n 1 9 n 1 7 n 2 5 n 4 4 n 8 3 n 11 2 n 13 0 n 14 -2 n 14 -5 n 13 -7 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -2 n 1 0 n 3 2 n 6 3 n 10 4 n 12 5 n 13 7 n 13 9 n 12 11 n 9 12 n 5 12 E # C 9 w 20 m 13 5 n 12 2 n 10 0 n 7 -1 n 6 -1 n 3 0 n 1 2 n 0 5 n 0 6 n 1 9 n 3 11 n 6 12 n 7 12 n 10 11 n 12 9 n 13 5 n 13 0 n 12 -5 n 10 -8 n 7 -9 n 5 -9 n 2 -8 n 1 -6 E # C . w 10 m 1 -7 n 0 -8 n 1 -9 n 2 -8 n 1 -7 E # C , w 10 m 2 -8 n 1 -9 n 0 -8 n 1 -7 n 2 -8 n 2 -10 n 1 -12 n 0 -13 E # C : w 10 m 1 5 n 0 4 n 1 3 n 2 4 n 1 5 m 1 -7 n 0 -8 n 1 -9 n 2 -8 n 1 -7 E # C ; w 10 m 1 5 n 0 4 n 1 3 n 2 4 n 1 5 m 2 -8 n 1 -9 n 0 -8 n 1 -7 n 2 -8 n 2 -10 n 1 -12 n 0 -13 E # C ! w 10 m 1 12 n 1 -2 m 1 -7 n 0 -8 n 1 -9 n 2 -8 n 1 -7 E # C " w 16 m 0 12 n 0 5 m 8 12 n 8 5 E # C $ w 20 m 5 16 n 5 -13 m 9 16 n 9 -13 m 14 9 n 12 11 n 9 12 n 5 12 n 2 11 n 0 9 n 0 7 n 1 5 n 2 4 n 4 3 n 10 1 n 12 0 n 13 -1 n 14 -3 n 14 -6 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 0 -6 E # C / w 22 m 18 16 n 0 -16 E # C ( w 14 m 7 16 n 5 14 n 3 11 n 1 7 n 0 2 n 0 -2 n 1 -7 n 3 -11 n 5 -14 n 7 -16 E # C ) w 14 m 0 16 n 2 14 n 4 11 n 6 7 n 7 2 n 7 -2 n 6 -7 n 4 -11 n 2 -14 n 0 -16 E # C | w 8 m 0 16 n 0 -16 E # C - w 26 m 0 0 n 18 0 E # C + w 26 m 9 9 n 9 -9 m 0 0 n 18 0 E # C = w 26 m 0 3 n 18 3 m 0 -3 n 18 -3 E # C * w 16 m 5 6 n 5 -6 m 0 3 n 10 -3 m 10 3 n 0 -3 E # C ' w 10 m 1 10 n 0 11 n 1 12 n 2 11 n 2 9 n 1 7 n 0 6 E # C # w 21 m 8 16 n 1 -16 m 14 16 n 7 -16 m 1 3 n 15 3 m 0 -3 n 14 -3 E # C & w 26 m 20 3 n 20 4 n 19 5 n 18 5 n 17 4 n 16 2 n 14 -3 n 12 -6 n 10 -8 n 8 -9 n 4 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -3 n 1 -1 n 2 0 n 9 4 n 10 5 n 11 7 n 11 9 n 10 11 n 8 12 n 6 11 n 5 9 n 5 7 n 6 4 n 8 1 n 13 -6 n 15 -8 n 17 -9 n 19 -9 n 20 -8 n 20 -7 E xgks-2.6.1+dfsg.2/src/fontdb/dr.fnt0000644000175000017500000003502711413611016020067 0ustar amckinstryamckinstry# duplex_roman # C A w 20 m 8 12 n 0 -9 m 8 9 n 1 -9 n 0 -9 m 8 9 n 15 -9 n 16 -9 m 8 12 n 16 -9 m 3 -3 n 13 -3 m 2 -4 n 14 -4 E # C B w 20 m 5 12 n 5 -9 m 6 11 n 6 -8 m 5 12 n 13 12 n 16 11 n 17 10 n 18 8 n 18 5 n 17 3 n 16 2 n 13 1 m 6 11 n 13 11 n 16 10 n 17 8 n 17 5 n 16 3 n 13 2 m 6 2 n 13 2 n 16 1 n 17 0 n 18 -2 n 18 -5 n 17 -7 n 16 -8 n 13 -9 n 5 -9 m 6 1 n 13 1 n 16 0 n 17 -2 n 17 -5 n 16 -7 n 13 -8 n 6 -8 E # C C w 21 m 15 7 n 14 9 n 12 11 n 10 12 n 6 12 n 4 11 n 2 9 n 1 7 n 0 4 n 0 -1 n 1 -4 n 2 -6 n 4 -8 n 6 -9 n 10 -9 n 12 -8 n 14 -6 n 15 -4 m 15 7 n 14 7 n 13 9 n 12 10 n 10 11 n 6 11 n 4 10 n 2 7 n 1 4 n 1 -1 n 2 -4 n 4 -7 n 6 -8 n 10 -8 n 12 -7 n 13 -6 n 14 -4 n 15 -4 E # C D w 21 m 0 12 n 0 -9 m 1 11 n 1 -8 m 0 12 n 7 12 n 10 11 n 12 9 n 13 7 n 14 4 n 14 -1 n 13 -4 n 12 -6 n 10 -8 n 7 -9 n 0 -9 m 1 11 n 7 11 n 10 10 n 11 9 n 12 7 n 13 4 n 13 -1 n 12 -4 n 11 -6 n 10 -7 n 7 -8 n 1 -8 E # C E w 19 m 0 12 n 0 -9 m 1 11 n 1 -8 m 0 12 n 12 12 m 1 11 n 12 11 n 12 12 m 1 2 n 7 2 n 7 1 m 1 1 n 7 1 m 1 -8 n 12 -8 n 12 -9 m 0 -9 n 12 -9 E # C F w 18 m 0 12 n 0 -9 m 1 11 n 1 -9 n 0 -9 m 0 12 n 12 12 m 1 11 n 12 11 n 12 12 m 1 2 n 7 2 n 7 1 m 1 1 n 7 1 E # C G w 21 m 18 7 n 17 9 n 15 11 n 13 12 n 9 12 n 7 11 n 5 9 n 4 7 n 3 4 n 3 -1 n 4 -4 n 5 -6 n 7 -8 n 9 -9 n 13 -9 n 15 -8 n 17 -6 n 18 -4 n 18 0 n 13 0 m 18 7 n 17 7 n 16 9 n 15 10 n 13 11 n 9 11 n 7 10 n 6 9 n 5 7 n 4 4 n 4 -1 n 5 -4 n 6 -6 n 7 -7 n 9 -8 n 13 -8 n 15 -7 n 16 -6 n 17 -4 n 17 -1 n 13 -1 n 13 0 E # C H w 22 m 0 12 n 0 -9 m 0 12 n 1 12 n 1 -9 n 0 -9 m 14 12 n 13 12 n 13 -9 n 14 -9 m 14 12 n 14 -9 m 1 2 n 13 2 m 1 1 n 13 1 E # C I w 9 m 0 12 n 0 -9 n 1 -9 m 0 12 n 1 12 n 1 -9 E # C J w 17 m 9 12 n 9 -4 n 8 -7 n 6 -8 n 4 -8 n 2 -7 n 1 -4 n 0 -4 m 9 12 n 10 12 n 10 -4 n 9 -7 n 8 -8 n 6 -9 n 4 -9 n 2 -8 n 1 -7 n 0 -4 E # C K w 21 m 0 12 n 0 -9 n 1 -9 m 0 12 n 1 12 n 1 -9 m 14 12 n 13 12 n 1 0 m 14 12 n 1 -1 m 4 3 n 13 -9 n 14 -9 m 5 3 n 14 -9 E # C L w 17 m 0 12 n 0 -9 m 0 12 n 1 12 n 1 -8 m 1 -8 n 12 -8 n 12 -9 m 0 -9 n 12 -9 E # C M w 24 m 0 12 n 0 -9 m 1 7 n 1 -9 n 0 -9 m 1 7 n 8 -9 m 0 12 n 8 -6 m 16 12 n 8 -6 m 15 7 n 8 -9 m 15 7 n 15 -9 n 16 -9 m 16 12 n 16 -9 E # C N w 22 m 0 12 n 0 -9 m 1 9 n 1 -9 n 0 -9 m 1 9 n 14 -9 m 0 12 n 13 -6 m 13 12 n 13 -6 m 13 12 n 14 12 n 14 -9 E # C O w 22 m 6 12 n 4 11 n 2 9 n 1 7 n 0 4 n 0 -1 n 1 -4 n 2 -6 n 4 -8 n 6 -9 n 10 -9 n 12 -8 n 14 -6 n 15 -4 n 16 -1 n 16 4 n 15 7 n 14 9 n 12 11 n 10 12 n 6 12 m 7 11 n 4 10 n 2 7 n 1 4 n 1 -1 n 2 -4 n 4 -7 n 7 -8 n 9 -8 n 12 -7 n 14 -4 n 15 -1 n 15 4 n 14 7 n 12 10 n 9 11 n 7 11 E # C P w 20 m 0 12 n 0 -9 m 1 11 n 1 -9 n 0 -9 m 0 12 n 9 12 n 11 11 n 12 10 n 13 8 n 13 5 n 12 3 n 11 2 n 9 1 n 1 1 m 1 11 n 9 11 n 11 10 n 12 8 n 12 5 n 11 3 n 9 2 n 1 2 E # C Q w 22 m 7 12 n 5 11 n 3 9 n 2 7 n 1 4 n 1 -1 n 2 -4 n 3 -6 n 5 -8 n 7 -9 n 11 -9 n 13 -8 n 15 -6 n 16 -4 n 17 -1 n 17 4 n 16 7 n 15 9 n 13 11 n 11 12 n 7 12 m 8 11 n 5 10 n 3 7 n 2 4 n 2 -1 n 3 -4 n 5 -7 n 8 -8 n 10 -8 n 13 -7 n 15 -4 n 16 -1 n 16 4 n 15 7 n 13 10 n 10 11 n 8 11 m 10 -6 n 15 -11 n 16 -11 m 10 -6 n 11 -6 n 16 -11 E # C R w 20 m 0 12 n 0 -9 m 1 11 n 1 -9 n 0 -9 m 0 12 n 8 12 n 11 11 n 12 10 n 13 8 n 13 5 n 12 3 n 11 2 n 8 1 n 1 1 m 1 11 n 8 11 n 11 10 n 12 8 n 12 5 n 11 3 n 8 2 n 1 2 m 6 1 n 12 -9 n 13 -9 m 7 1 n 13 -9 E # C S w 20 m 14 9 n 12 11 n 9 12 n 5 12 n 2 11 n 0 9 n 0 7 n 1 5 n 2 4 n 4 3 n 9 1 n 11 0 n 12 -1 n 13 -3 n 13 -6 n 12 -7 n 9 -8 n 5 -8 n 3 -7 n 2 -6 n 0 -6 m 14 9 n 12 9 n 11 10 n 9 11 n 5 11 n 2 10 n 1 9 n 1 7 n 2 5 n 4 4 n 9 2 n 11 1 n 13 -1 n 14 -3 n 14 -6 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 0 -6 E # C T w 17 m 6 11 n 6 -9 m 7 11 n 7 -9 n 6 -9 m 0 12 n 13 12 n 13 11 m 0 12 n 0 11 n 13 11 E # C U w 22 m 0 12 n 0 -3 n 1 -6 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -6 n 14 -3 n 14 12 m 0 12 n 1 12 n 1 -3 n 2 -6 n 3 -7 n 6 -8 n 8 -8 n 11 -7 n 12 -6 n 13 -3 n 13 12 n 14 12 E # C V w 20 m 0 12 n 8 -9 m 0 12 n 1 12 n 8 -6 m 16 12 n 15 12 n 8 -6 m 16 12 n 8 -9 E # C W w 26 m 0 12 n 6 -9 m 0 12 n 1 12 n 6 -6 m 11 12 n 6 -6 m 11 9 n 6 -9 m 11 9 n 16 -9 m 11 12 n 16 -6 m 22 12 n 21 12 n 16 -6 m 22 12 n 16 -9 E # C X w 20 m 0 12 n 13 -9 n 14 -9 m 0 12 n 1 12 n 14 -9 m 14 12 n 13 12 n 0 -9 m 14 12 n 1 -9 n 0 -9 E # C Y w 19 m 0 12 n 7 2 n 7 -9 n 8 -9 m 0 12 n 1 12 n 8 2 m 15 12 n 14 12 n 7 2 m 15 12 n 8 2 n 8 -9 E # C Z w 20 m 13 12 n 0 -9 m 14 12 n 1 -9 m 0 12 n 14 12 m 0 12 n 0 11 n 13 11 m 1 -8 n 14 -8 n 14 -9 m 0 -9 n 14 -9 E # C a w 20 m 12 5 n 12 -9 n 13 -9 m 12 5 n 13 5 n 13 -9 m 12 2 n 10 4 n 8 5 n 5 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 5 -9 n 8 -9 n 10 -8 n 12 -6 m 12 2 n 8 4 n 5 4 n 3 3 n 2 2 n 1 -1 n 1 -3 n 2 -6 n 3 -7 n 5 -8 n 8 -8 n 12 -6 E # C b w 20 m 0 12 n 0 -9 n 1 -9 m 0 12 n 1 12 n 1 -9 m 1 2 n 3 4 n 5 5 n 8 5 n 10 4 n 12 2 n 13 -1 n 13 -3 n 12 -6 n 10 -8 n 8 -9 n 5 -9 n 3 -8 n 1 -6 m 1 2 n 5 4 n 8 4 n 10 3 n 11 2 n 12 -1 n 12 -3 n 11 -6 n 10 -7 n 8 -8 n 5 -8 n 1 -6 E # C c w 18 m 12 2 n 10 4 n 8 5 n 5 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 5 -9 n 8 -9 n 10 -8 n 12 -6 m 12 2 n 11 1 n 10 3 n 8 4 n 5 4 n 3 3 n 2 2 n 1 -1 n 1 -3 n 2 -6 n 3 -7 n 5 -8 n 8 -8 n 10 -7 n 11 -5 n 12 -6 E # C d w 20 m 12 12 n 12 -9 n 13 -9 m 12 12 n 13 12 n 13 -9 m 12 2 n 10 4 n 8 5 n 5 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 5 -9 n 8 -9 n 10 -8 n 12 -6 m 12 2 n 8 4 n 5 4 n 3 3 n 2 2 n 1 -1 n 1 -3 n 2 -6 n 3 -7 n 5 -8 n 8 -8 n 12 -6 E # C e w 18 m 1 -2 n 12 -2 n 12 1 n 11 3 n 10 4 n 8 5 n 5 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 5 -9 n 8 -9 n 10 -8 n 12 -6 m 1 -1 n 11 -1 n 11 1 n 10 3 n 8 4 n 5 4 n 3 3 n 2 2 n 1 -1 n 1 -3 n 2 -6 n 3 -7 n 5 -8 n 8 -8 n 10 -7 n 11 -5 n 12 -6 E # C f w 14 m 8 12 n 6 12 n 4 11 n 3 8 n 3 -9 n 4 -9 m 8 12 n 8 11 n 6 11 n 4 10 m 5 11 n 4 8 n 4 -9 m 0 5 n 7 5 n 7 4 m 0 5 n 0 4 n 7 4 E # C g w 20 m 13 5 n 12 5 n 12 -10 n 11 -13 n 10 -14 n 8 -15 n 6 -15 n 4 -14 n 3 -13 n 1 -13 m 13 5 n 13 -10 n 12 -13 n 10 -15 n 8 -16 n 5 -16 n 3 -15 n 1 -13 m 12 2 n 10 4 n 8 5 n 5 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 5 -9 n 8 -9 n 10 -8 n 12 -6 m 12 2 n 8 4 n 5 4 n 3 3 n 2 2 n 1 -1 n 1 -3 n 2 -6 n 3 -7 n 5 -8 n 8 -8 n 12 -6 E # C h w 20 m 0 12 n 0 -9 n 1 -9 m 0 12 n 1 12 n 1 -9 m 1 1 n 4 4 n 6 5 n 9 5 n 11 4 n 12 1 n 12 -9 m 1 1 n 4 3 n 6 4 n 8 4 n 10 3 n 11 1 n 11 -9 n 12 -9 E # C i w 9 m 1 12 n 0 11 n 0 10 n 1 9 n 2 9 n 3 10 n 3 11 n 2 12 n 1 12 m 1 11 n 1 10 n 2 10 n 2 11 n 1 11 m 1 5 n 1 -9 n 2 -9 m 1 5 n 2 5 n 2 -9 E # C j w 9 m 1 12 n 0 11 n 0 10 n 1 9 n 2 9 n 3 10 n 3 11 n 2 12 n 1 12 m 1 11 n 1 10 n 2 10 n 2 11 n 1 11 m 1 5 n 1 -16 n 2 -16 m 1 5 n 2 5 n 2 -16 E # C k w 19 m 0 12 n 0 -9 n 1 -9 m 0 12 n 1 12 n 1 -9 m 12 5 n 11 5 n 1 -5 m 12 5 n 1 -6 m 4 -2 n 10 -9 n 12 -9 m 5 -1 n 12 -9 E # C l w 9 m 0 12 n 0 -9 n 1 -9 m 0 12 n 1 12 n 1 -9 E # C m w 31 m 0 5 n 0 -9 n 1 -9 m 0 5 n 1 5 n 1 -9 m 1 1 n 4 4 n 6 5 n 9 5 n 11 4 n 12 1 n 12 -9 m 1 1 n 4 3 n 6 4 n 8 4 n 10 3 n 11 1 n 11 -9 n 12 -9 m 12 1 n 15 4 n 17 5 n 20 5 n 22 4 n 23 1 n 23 -9 m 12 1 n 15 3 n 17 4 n 19 4 n 21 3 n 22 1 n 22 -9 n 23 -9 E # C n w 20 m 0 5 n 0 -9 n 1 -9 m 0 5 n 1 5 n 1 -9 m 1 1 n 4 4 n 6 5 n 9 5 n 11 4 n 12 1 n 12 -9 m 1 1 n 4 3 n 6 4 n 8 4 n 10 3 n 11 1 n 11 -9 n 12 -9 E # C o w 19 m 5 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 5 -9 n 8 -9 n 10 -8 n 12 -6 n 13 -3 n 13 -1 n 12 2 n 10 4 n 8 5 n 5 5 m 5 4 n 3 3 n 2 2 n 1 -1 n 1 -3 n 2 -6 n 3 -7 n 5 -8 n 8 -8 n 10 -7 n 11 -6 n 12 -3 n 12 -1 n 11 2 n 10 3 n 8 4 n 5 4 E # C p w 20 m 0 5 n 0 -16 n 1 -16 m 0 5 n 1 5 n 1 -16 m 1 2 n 3 4 n 5 5 n 8 5 n 10 4 n 12 2 n 13 -1 n 13 -3 n 12 -6 n 10 -8 n 8 -9 n 5 -9 n 3 -8 n 1 -6 m 1 2 n 5 4 n 8 4 n 10 3 n 11 2 n 12 -1 n 12 -3 n 11 -6 n 10 -7 n 8 -8 n 5 -8 n 1 -6 E # C q w 20 m 12 5 n 12 -16 n 13 -16 m 12 5 n 13 5 n 13 -16 m 12 2 n 10 4 n 8 5 n 5 5 n 3 4 n 1 2 n 0 -1 n 0 -3 n 1 -6 n 3 -8 n 5 -9 n 8 -9 n 10 -8 n 12 -6 m 12 2 n 8 4 n 5 4 n 3 3 n 2 2 n 1 -1 n 1 -3 n 2 -6 n 3 -7 n 5 -8 n 8 -8 n 12 -6 E # C r w 14 m 0 5 n 0 -9 n 1 -9 m 0 5 n 1 5 n 1 -9 m 1 -1 n 2 2 n 4 4 n 6 5 n 9 5 m 1 -1 n 2 1 n 4 3 n 6 4 n 9 4 n 9 5 E # C s w 17 m 11 2 n 10 4 n 7 5 n 4 5 n 1 4 n 0 2 n 1 0 n 3 -1 n 8 -3 n 10 -4 m 9 -3 n 10 -5 n 10 -6 n 9 -8 m 10 -7 n 7 -8 n 4 -8 n 1 -7 m 2 -8 n 1 -6 n 0 -6 m 11 2 n 10 2 n 9 4 m 10 3 n 7 4 n 4 4 n 1 3 m 2 4 n 1 2 n 2 0 m 1 1 n 3 0 n 8 -2 n 10 -3 n 11 -5 n 11 -6 n 10 -8 n 7 -9 n 4 -9 n 1 -8 n 0 -6 E # C t w 11 m 3 12 n 3 -9 n 4 -9 m 3 12 n 4 12 n 4 -9 m 0 5 n 7 5 n 7 4 m 0 5 n 0 4 n 7 4 E # C u w 20 m 0 5 n 0 -5 n 1 -8 n 3 -9 n 6 -9 n 8 -8 n 11 -5 m 0 5 n 1 5 n 1 -5 n 2 -7 n 4 -8 n 6 -8 n 8 -7 n 11 -5 m 11 5 n 11 -9 n 12 -9 m 11 5 n 12 5 n 12 -9 E # C v w 16 m 0 5 n 6 -9 m 0 5 n 1 5 n 6 -7 m 12 5 n 11 5 n 6 -7 m 12 5 n 6 -9 E # C w w 24 m 0 5 n 5 -9 m 0 5 n 1 5 n 5 -6 m 9 5 n 5 -6 m 9 2 n 5 -9 m 9 2 n 13 -9 m 9 5 n 13 -6 m 18 5 n 17 5 n 13 -6 m 18 5 n 13 -9 E # C x w 18 m 0 5 n 11 -9 n 12 -9 m 0 5 n 1 5 n 12 -9 m 12 5 n 11 5 n 0 -9 m 12 5 n 1 -9 n 0 -9 E # C y w 16 m 0 5 n 6 -9 m 0 5 n 1 5 n 6 -7 m 12 5 n 11 5 n 6 -7 n 2 -16 m 12 5 n 6 -9 n 3 -16 n 2 -16 E # C z w 18 m 10 4 n 0 -9 m 12 5 n 2 -8 m 0 5 n 12 5 m 0 5 n 0 4 n 10 4 m 2 -8 n 12 -8 n 12 -9 m 0 -9 n 12 -9 E # C 0 w 20 m 6 12 n 3 11 n 1 8 n 0 3 n 0 0 n 1 -5 n 3 -8 n 6 -9 n 8 -9 n 11 -8 n 13 -5 n 14 0 n 14 3 n 13 8 n 11 11 n 8 12 n 6 12 m 4 11 n 2 8 n 1 3 n 1 0 n 2 -5 n 4 -8 m 3 -7 n 6 -8 n 8 -8 n 11 -7 m 10 -8 n 12 -5 n 13 0 n 13 3 n 12 8 n 10 11 m 11 10 n 8 11 n 6 11 n 3 10 E # C 1 w 20 m 0 8 n 2 9 n 5 12 n 5 -9 m 0 8 n 0 7 n 2 8 n 4 10 n 4 -9 n 5 -9 E # C 2 w 20 m 1 7 n 1 8 n 2 10 n 3 11 n 5 12 n 9 12 n 11 11 n 12 10 n 13 8 n 13 6 n 12 4 n 10 1 n 1 -9 m 1 7 n 2 7 n 2 8 n 3 10 n 5 11 n 9 11 n 11 10 n 12 8 n 12 6 n 11 4 n 9 1 n 0 -9 m 1 -8 n 14 -8 n 14 -9 m 0 -9 n 14 -9 E # C 3 w 20 m 2 12 n 13 12 n 6 3 m 2 12 n 2 11 n 12 11 m 12 12 n 5 3 m 6 4 n 8 4 n 11 3 n 13 1 n 14 -2 n 14 -3 n 13 -6 n 11 -8 n 8 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 1 -5 m 5 3 n 8 3 n 11 2 n 13 -1 m 9 3 n 12 1 n 13 -2 n 13 -3 n 12 -6 n 9 -8 m 13 -4 n 11 -7 n 8 -8 n 5 -8 n 2 -7 n 1 -5 m 4 -8 n 1 -6 E # C 4 w 20 m 10 9 n 10 -9 n 11 -9 m 11 12 n 11 -9 m 11 12 n 0 -4 n 15 -4 m 10 9 n 1 -4 m 1 -3 n 15 -3 n 15 -4 E # C 5 w 20 m 2 12 n 1 3 m 3 11 n 2 4 m 2 12 n 12 12 n 12 11 m 3 11 n 12 11 m 2 4 n 5 5 n 8 5 n 11 4 n 13 2 n 14 -1 n 14 -3 n 13 -6 n 11 -8 n 8 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 1 -5 m 1 3 n 2 3 n 4 4 n 8 4 n 11 3 n 13 0 m 9 4 n 12 2 n 13 -1 n 13 -3 n 12 -6 n 9 -8 m 13 -4 n 11 -7 n 8 -8 n 5 -8 n 2 -7 n 1 -5 m 4 -8 n 1 -6 E # C 6 w 20 m 10 11 n 11 9 n 12 9 n 11 11 n 8 12 n 6 12 n 3 11 n 1 8 n 0 3 n 0 -2 n 1 -6 n 3 -8 n 6 -9 n 7 -9 n 10 -8 n 12 -6 n 13 -3 n 13 -2 n 12 1 n 10 3 n 7 4 n 6 4 n 3 3 n 1 1 m 11 10 n 8 11 n 6 11 n 3 10 m 4 11 n 2 8 n 1 3 n 1 -2 n 2 -6 n 5 -8 m 1 -4 n 3 -7 n 6 -8 n 7 -8 n 10 -7 n 12 -4 m 8 -8 n 11 -6 n 12 -3 n 12 -2 n 11 1 n 8 3 m 12 -1 n 10 2 n 7 3 n 6 3 n 3 2 n 1 -1 m 5 3 n 2 1 n 1 -2 E # C 7 w 20 m 0 12 n 14 12 n 4 -9 m 0 12 n 0 11 n 13 11 m 13 12 n 3 -9 n 4 -9 E # C 8 w 20 m 5 12 n 2 11 n 1 9 n 1 7 n 2 5 n 3 4 n 5 3 n 9 2 n 11 1 n 12 0 n 13 -2 n 13 -5 n 12 -7 n 9 -8 n 5 -8 n 2 -7 n 1 -5 n 1 -2 n 2 0 n 3 1 n 5 2 n 9 3 n 11 4 n 12 5 n 13 7 n 13 9 n 12 11 n 9 12 n 5 12 m 3 11 n 2 9 n 2 7 n 3 5 n 5 4 n 9 3 n 11 2 n 13 0 n 14 -2 n 14 -5 n 13 -7 n 12 -8 n 9 -9 n 5 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -2 n 1 0 n 3 2 n 5 3 n 9 4 n 11 5 n 12 7 n 12 9 n 11 11 m 12 10 n 9 11 n 5 11 n 2 10 m 1 -6 n 4 -8 m 10 -8 n 13 -6 E # C 9 w 20 m 12 2 n 10 0 n 7 -1 n 6 -1 n 3 0 n 1 2 n 0 5 n 0 6 n 1 9 n 3 11 n 6 12 n 7 12 n 10 11 n 12 9 n 13 5 n 13 0 n 12 -5 n 10 -8 n 7 -9 n 5 -9 n 2 -8 n 1 -6 n 2 -6 n 3 -8 m 12 5 n 11 2 n 8 0 m 12 4 n 10 1 n 7 0 n 6 0 n 3 1 n 1 4 m 5 0 n 2 2 n 1 5 n 1 6 n 2 9 n 5 11 m 1 7 n 3 10 n 6 11 n 7 11 n 10 10 n 12 7 m 8 11 n 11 9 n 12 5 n 12 0 n 11 -5 n 9 -8 m 10 -7 n 7 -8 n 5 -8 n 2 -7 E # C . w 11 m 1 -6 n 0 -7 n 0 -8 n 1 -9 n 2 -9 n 3 -8 n 3 -7 n 2 -6 n 1 -6 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 E # C , w 11 m 3 -8 n 2 -9 n 1 -9 n 0 -8 n 0 -7 n 1 -6 n 2 -6 n 3 -7 n 3 -10 n 2 -12 n 0 -13 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 m 2 -9 n 3 -10 m 3 -8 n 2 -12 E # C : w 11 m 1 5 n 0 4 n 0 3 n 1 2 n 2 2 n 3 3 n 3 4 n 2 5 n 1 5 m 1 4 n 1 3 n 2 3 n 2 4 n 1 4 m 1 -6 n 0 -7 n 0 -8 n 1 -9 n 2 -9 n 3 -8 n 3 -7 n 2 -6 n 1 -6 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 E # C ; w 11 m 1 5 n 0 4 n 0 3 n 1 2 n 2 2 n 3 3 n 3 4 n 2 5 n 1 5 m 1 4 n 1 3 n 2 3 n 2 4 n 1 4 m 3 -8 n 2 -9 n 1 -9 n 0 -8 n 0 -7 n 1 -6 n 2 -6 n 3 -7 n 3 -10 n 2 -12 n 0 -13 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 m 2 -9 n 3 -10 m 3 -8 n 2 -12 E # C ! w 11 m 1 12 n 1 -2 n 2 -2 m 1 12 n 2 12 n 2 -2 m 1 -6 n 0 -7 n 0 -8 n 1 -9 n 2 -9 n 3 -8 n 3 -7 n 2 -6 n 1 -6 m 1 -7 n 1 -8 n 2 -8 n 2 -7 n 1 -7 E # C ? w 19 m 0 7 n 0 8 n 1 10 n 2 11 n 5 12 n 8 12 n 11 11 n 12 10 n 13 8 n 13 6 n 12 4 n 11 3 n 9 2 n 6 1 m 0 7 n 1 7 n 1 8 n 2 10 n 5 11 n 8 11 n 11 10 n 12 8 n 12 6 n 11 4 n 9 3 n 6 2 m 1 9 n 4 11 m 9 11 n 12 9 m 12 5 n 8 2 m 6 2 n 6 -2 n 7 -2 n 7 2 m 6 -6 n 5 -7 n 5 -8 n 6 -9 n 7 -9 n 8 -8 n 8 -7 n 7 -6 n 6 -6 m 6 -7 n 6 -8 n 7 -8 n 7 -7 n 6 -7 E # C ` w 11 m 3 12 n 1 11 n 0 9 n 0 6 n 1 5 n 2 5 n 3 6 n 3 7 n 2 8 n 1 8 n 0 7 m 1 7 n 1 6 n 2 6 n 2 7 n 1 7 m 1 11 n 0 7 m 0 9 n 1 8 E # C & w 25 m 19 5 n 17 5 n 15 4 n 14 2 n 12 -4 n 11 -6 n 10 -7 n 8 -8 n 4 -8 n 2 -7 n 1 -5 n 1 -3 n 2 -1 n 3 0 n 8 3 n 10 5 n 11 7 n 11 9 n 10 11 n 8 12 n 7 12 n 5 11 n 4 9 n 4 7 n 5 4 n 7 1 n 12 -5 n 15 -8 n 17 -9 n 19 -9 m 19 5 n 19 4 n 17 4 n 15 3 m 16 4 n 15 2 n 13 -4 n 12 -6 n 10 -8 n 8 -9 n 4 -9 n 2 -8 n 1 -7 n 0 -5 n 0 -3 n 1 -1 n 3 1 n 8 4 n 9 5 n 10 7 n 10 9 n 9 11 m 10 10 n 8 11 n 7 11 n 5 10 m 6 11 n 5 9 n 5 7 n 6 4 n 8 1 n 13 -5 n 15 -7 n 17 -8 n 19 -8 n 19 -9 E # C $ w 19 m 6 16 n 6 -13 n 7 -13 m 6 16 n 7 16 n 7 -13 m 11 9 n 13 9 n 11 11 n 8 12 n 5 12 n 2 11 n 0 9 n 0 7 n 1 5 n 2 4 n 10 0 n 11 -1 n 12 -3 n 12 -5 n 11 -7 n 8 -8 n 5 -8 n 3 -7 n 2 -6 m 11 9 n 10 10 n 8 11 n 5 11 n 2 10 n 1 9 n 1 7 n 2 5 n 10 1 n 12 -1 n 13 -3 n 13 -5 n 12 -7 n 11 -8 n 8 -9 n 5 -9 n 2 -8 n 0 -6 n 2 -6 m 12 -6 n 9 -8 E # C / w 23 m 18 16 n 0 -16 n 1 -16 m 18 16 n 19 16 n 1 -16 E # C ( w 14 m 7 16 n 5 14 n 3 11 n 1 7 n 0 2 n 0 -2 n 1 -7 n 3 -11 n 5 -14 n 7 -16 n 8 -16 m 7 16 n 8 16 n 6 14 n 4 11 n 2 7 n 1 2 n 1 -2 n 2 -7 n 4 -11 n 6 -14 n 8 -16 E # C ) w 14 m 0 16 n 2 14 n 4 11 n 6 7 n 7 2 n 7 -2 n 6 -7 n 4 -11 n 2 -14 n 0 -16 n 1 -16 m 0 16 n 1 16 n 3 14 n 5 11 n 7 7 n 8 2 n 8 -2 n 7 -7 n 5 -11 n 3 -14 n 1 -16 E # C * w 16 m 5 12 n 4 11 n 6 1 n 5 0 m 5 12 n 5 0 m 5 12 n 6 11 n 4 1 n 5 0 m 0 9 n 1 9 n 9 3 n 10 3 m 0 9 n 10 3 m 0 9 n 0 8 n 10 4 n 10 3 m 10 9 n 9 9 n 1 3 n 0 3 m 10 9 n 0 3 m 10 9 n 10 8 n 0 4 n 0 3 E # C - w 25 m 0 1 n 17 1 n 17 0 m 0 1 n 0 0 n 17 0 E # C + w 25 m 8 9 n 8 -8 n 9 -8 m 8 9 n 9 9 n 9 -8 m 0 1 n 17 1 n 17 0 m 0 1 n 0 0 n 17 0 E # C = w 25 m 0 5 n 17 5 n 17 4 m 0 5 n 0 4 n 17 4 m 0 -3 n 17 -3 n 17 -4 m 0 -3 n 0 -4 n 17 -4 E # C ' w 9 m 1 12 n 0 11 n 0 5 m 1 11 n 0 5 m 1 12 n 2 11 n 0 5 E # C " w 18 m 1 12 n 0 11 n 0 5 m 1 11 n 0 5 m 1 12 n 2 11 n 0 5 m 10 12 n 9 11 n 9 5 m 10 11 n 9 5 m 10 12 n 11 11 n 9 5 E xgks-2.6.1+dfsg.2/src/fontdb/a.c0000644000175000017500000000005011413611016017321 0ustar amckinstryamckinstrymain() { printf("%ld\n", 0x20202040); } xgks-2.6.1+dfsg.2/src/README0000644000175000017500000001636211413611016016356 0ustar amckinstryamckinstry INTRODUCTION ------------ This directory contains all source code and documentation associated with the XGKS package. XGKS is an X11 window system based version of the ANSI Graphical Kernel System. XGKS is a full GKS system (level 2C). This library was developed at the University of Illinois, Urbana campus, department of Computer Science and was funded by IBM TCS. The project was headed by Prof. Bill Kubitz and Prof. Roy Campbell. Development of XGKS was done by Greg Rogers, Sung Hsien Ching, and Yu Pan. Testing and improvements to XGKS were performed by IBM Technical Computing Systems in Cambridge, Mass. The IBM developers were Todd Gill, Bruce Greer, David Owens, and Michael Wojcik, and Project Leader Amy Pitts. Neither the University of Illinois nor IBM support XGKS anymore. Fortunately, however, Steve Emmerson of Louisville, Colorado has accepted the maintenance of XGKS as a hobby. The XGKS project resides at . Please go there for all your XGKS needs (releases, fora, support, CVS repository, contributions, etc.). SOURCE DIRECTORY OVERVIEW ------------------------- The structure of the XGKS source directory-tree is |-progs-- | | |-binding-- |-doc----| | |-userdoc-- |-xgks-| |-fontdb- | | |-fortran-- | | |-lib----| |-cgm-- | | |-c--------|-gksm- | |-x---- where: xgks Is the root directory (the one containing this file) progs Contains utility programs doc Contains documentation (e.g. "xgks.3") doc/binding Contains the source for a document describing the 1988 C language binding for XGKS doc/userdoc Contains the source for a document describing the GKS implementation-specific details of XGKS fontdb Contains the XGKS fonts lib Contains the implementation of the XGKS runtime-library lib/fortran Contains the source for the Fortran interface to XGKS lib/c Contains the source for the XGKS library. lib/c/cgm Contains the source for the Compute Graphics Metafile "backend" to XGKS. lib/c/gksm Contains the source for the GKS Metafile (GKSM) "backend" to XGKS. lib/c/x Contains the source for the X Window System "backend" to XGKS. INSTALLATION ------------ Installation instructions can be found in the file INSTALL. XGKS has been installed on many platforms. I have installed and verified its behavior on the following systems (`uname -srvm' output): AIX 2 3 000109423500 using /bin/cc HP-UX A.09.05 A 9000/715 using /bin/c89 IRIX 5.2 02282015 IP20 using /bin/cc OSF1 V3.0 347 alpha using /bin/cc SunOS 5.3 Generic_101318-59 sun4m using /opt/SUNWspro/bin/acc SunOS 4.1.3 1 sun4m using /usr/local/lang/acc ULTRIX 4.4 0 RISC using /bin/cc Users report that it also installs and works on the following systems: Apollo DN3000 under DomainOS 10.2, BSD4.3, with C compiler 68K Rev 6.7(316) Apollo DN4000 under DomainOS 10.3.2, BSD4.3, with C compiler 68K Rev 6.8(168) Apollo 425T under DomainOS 10.3.5 VaxStation II under Ultrix 3.5, 4.0, & 4.1 Cray Y-MP under UNICOS 5.1.11 The structure of the installation is nominally: |-defcolors |-font |-mi |-bin-----|-pline | |-pmark | |-hanoi | |-star | |-gksdemo | |-prefix-|-include-|-xgks.h | | |-libxgks.a |-lib-----| | |-xgksfonts- | |-man-----|-man3-|-xgks.3 where: prefix is whatever you made it when you invoked `configure' (see file INSTALL). defcolors displays the default X colormap (set DISPLAY first); font displays the fonts used by XGKS (set DISPLAY first); mi is a simple GKS Metafile (GKSM) interpreter (usage: mi ); pline displays the polyline types used by XGKS (set DISPLAY first); pmark displays the marker types used by XGKS (set DISPLAY first); hanoi is a Towers-of-Hanoi demonstration (set DISPLAY first); star is a imple fortran program to draw a star (set DISPLAY first); gksdemo is a Fortran program that demonstrats most of XGKS capabilities (set DISPLAY first); xgks.h is the header-file that every XGKS application must #include; libxgks.a is the XGKS runtime library. xgksfonts is a directory which contains the XGKS fonts; xgks.3 contains the XGKS man(1)ual pages. Fonts used by XGKS are dynamically loaded when first referenced. Thus, the fonts must be installed on the machine where the XGKS application executes. The font path is compiled into the library. However, it is possible to move the fonts without having to recompile XGKS by setting the environment variable "XGKSFontDir" to the new path before executing an XGKS application. This variable setting will tell XGKS at runtime where to find its fonts. DOCUMENTATION ------------- In addition to the man(1)ual pages that will be installed during the installation procedure, there are two other documents you should be aware of. The first describes the C-language binding used by XGKS. To obtain hardcopy, go to directory "doc/binding", edit the makefile (if necessary), and type "make hardcopy". The second document details the implementation-specific aspects of GKS particular to XGKS. To obtain hardcopy, go to directory "doc/userdoc", edit the makefile (if necessary), and type "make hardcopy". A good general book on GKS is "Computer Graphics Programming: GKS - The Graphics Standard" by G. Enderle, K. Kansy, and G. Pfaff. It's published by Springer-Verlag and its ISBN numbers are 3-540-16317-4 and 0-387-16317-4. KNOWN PROBLEMS -------------- HP-UX A.09.05: There is apparently a bug in the implementation of the shared FORTRAN runtime library. This bug is frequently (but not always) tickled by XGKS. The symptom is the crash and core dump exemplified by the program `star' in the progs/ subdirectory: % ./star /lib/dld.sl: Bind-on-reference call failed /lib/dld.sl: Invalid argument ABORT instruction (core dumped) I don't know of any workaround, other than to use a C main program instead of a FORTRAN one. SunOS 5.3: There is apparently a bug in the implementation of the FORTRAN runtime library which prevents the handling of asynchronous X events when executing a FORTRAN READ. The workaround is to use something like the BWAIT routine in the file progs/star.f rather than a FORTRAN READ. Regards, Steve Emmerson xgks-2.6.1+dfsg.2/src/VERSION0000644000175000017500000000000611413611016016532 0ustar amckinstryamckinstry2.6.1 xgks-2.6.1+dfsg.2/src/CUSTOMIZE0000644000175000017500000000156711413611016017004 0ustar amckinstryamckinstry# This file is for customizing the configuation process performed by # `./configuration'. This file consists of sh(1) variable-definition lines. # The value given to those variable by this file will override their default # values. # # You can also customize the configuration process via the environment # variables seen by ./configure. For example: # # In csh(1): # % setenv CC acc # & setenv CFLAGS -g # % ./configure # # In sh(1): # $ CC=acc CFLAGS=-g ./configure # # Variables in this file override the environmental ones. # ############################################################################# # # Type of C compiler (default is `cc'): # CC='gcc -traditional' # # C compiler flags (default is `-O'): # CFLAGS=-g # # C preprocessor flags (default is `-DNDEBUG'): # CPPFLAGS=-DDEBUG # # Installation prefix (default is `../..'): # prefix=/usr/local/unidata xgks-2.6.1+dfsg.2/src/configure0000755000175000017500000047266111413611016017415 0ustar amckinstryamckinstry#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated automatically using autoconf version 2.13 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. # Defaults: ac_help= ac_default_prefix=/usr/local # Any additions from configure.in: # Initialize some variables set by options. # The variables have the same names as the options, with # dashes changed to underlines. build=NONE cache_file=./config.cache exec_prefix=NONE host=NONE no_create= nonopt=NONE no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= target=NONE verbose= x_includes=NONE x_libraries=NONE bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datadir='${prefix}/share' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' # Initialize some other variables. subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. ac_max_here_lines=12 ac_prev= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" ac_prev= continue fi case "$ac_option" in -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; *) ac_optarg= ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case "$ac_option" in -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir="$ac_optarg" ;; -build | --build | --buil | --bui | --bu) ac_prev=build ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build="$ac_optarg" ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file="$ac_optarg" ;; -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) datadir="$ac_optarg" ;; -disable-* | --disable-*) ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } fi ac_feature=`echo $ac_feature| sed 's/-/_/g'` eval "enable_${ac_feature}=no" ;; -enable-* | --enable-*) ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } fi ac_feature=`echo $ac_feature| sed 's/-/_/g'` case "$ac_option" in *=*) ;; *) ac_optarg=yes ;; esac eval "enable_${ac_feature}='$ac_optarg'" ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix="$ac_optarg" ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he) # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat << EOF Usage: configure [options] [host] Options: [defaults in brackets after descriptions] Configuration: --cache-file=FILE cache test results in FILE --help print this message --no-create do not create output files --quiet, --silent do not print \`checking...' messages --version print the version of autoconf that created configure Directory and file names: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [same as prefix] --bindir=DIR user executables in DIR [EPREFIX/bin] --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] --libexecdir=DIR program executables in DIR [EPREFIX/libexec] --datadir=DIR read-only architecture-independent data in DIR [PREFIX/share] --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data in DIR [PREFIX/com] --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] --libdir=DIR object code libraries in DIR [EPREFIX/lib] --includedir=DIR C header files in DIR [PREFIX/include] --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] --infodir=DIR info documentation in DIR [PREFIX/info] --mandir=DIR man documentation in DIR [PREFIX/man] --srcdir=DIR find the sources in DIR [configure dir or ..] --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names EOF cat << EOF Host type: --build=BUILD configure for building on BUILD [BUILD=HOST] --host=HOST configure for HOST [guessed] --target=TARGET configure for TARGET [TARGET=HOST] Features and packages: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --x-includes=DIR X include files are in DIR --x-libraries=DIR X library files are in DIR EOF if test -n "$ac_help"; then echo "--enable and --with options recognized:$ac_help" fi exit 0 ;; -host | --host | --hos | --ho) ac_prev=host ;; -host=* | --host=* | --hos=* | --ho=*) host="$ac_optarg" ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir="$ac_optarg" ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir="$ac_optarg" ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir="$ac_optarg" ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir="$ac_optarg" ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst \ | --locals | --local | --loca | --loc | --lo) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) localstatedir="$ac_optarg" ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir="$ac_optarg" ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir="$ac_optarg" ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix="$ac_optarg" ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix="$ac_optarg" ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix="$ac_optarg" ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name="$ac_optarg" ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir="$ac_optarg" ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir="$ac_optarg" ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site="$ac_optarg" ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir="$ac_optarg" ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir="$ac_optarg" ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target="$ac_optarg" ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers) echo "configure generated by autoconf version 2.13" exit 0 ;; -with-* | --with-*) ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } fi ac_package=`echo $ac_package| sed 's/-/_/g'` case "$ac_option" in *=*) ;; *) ac_optarg=yes ;; esac eval "with_${ac_package}='$ac_optarg'" ;; -without-* | --without-*) ac_package=`echo $ac_option|sed -e 's/-*without-//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } fi ac_package=`echo $ac_package| sed 's/-/_/g'` eval "with_${ac_package}=no" ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes="$ac_optarg" ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries="$ac_optarg" ;; -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } ;; *) if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then echo "configure: warning: $ac_option: invalid host type" 1>&2 fi if test "x$nonopt" != xNONE; then { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } fi nonopt="$ac_option" ;; esac done if test -n "$ac_prev"; then { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } fi trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 # File descriptor usage: # 0 standard input # 1 file creation # 2 errors and warnings # 3 some systems may open it to /dev/tty # 4 used on the Kubota Titan # 6 checking for... messages and results # 5 compiler messages saved in config.log if test "$silent" = yes; then exec 6>/dev/null else exec 6>&1 fi exec 5>./config.log echo "\ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. " 1>&5 # Strip out --no-create and --no-recursion so they do not pile up. # Also quote any args containing shell metacharacters. ac_configure_args= for ac_arg do case "$ac_arg" in -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c) ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) ac_configure_args="$ac_configure_args '$ac_arg'" ;; *) ac_configure_args="$ac_configure_args $ac_arg" ;; esac done # NLS nuisances. # Only set these to C if already set. These must not be set unconditionally # because not all systems understand e.g. LANG=C (notably SCO). # Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! # Non-C LC_CTYPE values break the ctype check. if test "${LANG+set}" = set; then LANG=C; export LANG; fi if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -rf conftest* confdefs.h # AIX cpp loses on an empty file, so make sure it contains at least a newline. echo > confdefs.h # A filename unique to this package, relative to the directory that # configure is in, which we can look for to find out if srcdir is correct. ac_unique_file=fontdb # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. ac_prog=$0 ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } else { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } fi fi srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then if test "x$prefix" != xNONE; then CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" else CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then echo "loading site script $ac_site_file" . "$ac_site_file" fi done if test -r "$cache_file"; then echo "loading cache $cache_file" . $cache_file else echo "creating cache $cache_file" > $cache_file fi ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cc_cross ac_exeext= ac_objext=o if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then ac_n= ac_c=' ' ac_t=' ' else ac_n=-n ac_c= ac_t= fi else ac_n= ac_c='\c' ac_t= fi if test -r CUSTOMIZE; then . ./CUSTOMIZE fi echo $ac_n "checking type of operating system""... $ac_c" 1>&6 echo "configure:530: checking type of operating system" >&5 if test -z "$OPSYS"; then OPSYS=`uname -s | tr '[A-Z]' '[a-z]' | sed 's;/;;g'` if test -z "$OPSYS"; then echo "OPSYS:operating system:sunos5" >> confdefs.missing fi fi case $OPSYS in aix) OS_NAME=`uname -s` OS_MAJOR=`uname -v | sed 's/[^0-9]*\([0-9]*\)\..*/\1/'` ;; hp-ux) OPSYS=hpux`uname -r | sed 's/[A-Z.0]*\([0-9]*\).*/\1/'` OS_NAME=HPUX OS_MAJOR=`uname -r | sed 's/[A-Z.0]*\([0-9]*\).*/\1/'` ;; irix) OPSYS=${OPSYS}`uname -r | sed 's/\..*//'` OS_NAME=IRIX OS_MAJOR=`uname -r | sed 's/\..*//'` ;; osf*) OS_NAME=OSF1 OS_MAJOR=`uname -r | sed 's/[^0-9]*\([0-9]*\)\..*/\1/'` ;; sn*) OPSYS=unicos OS_NAME=UNICOS OS_MAJOR=`uname -r | sed 's/[^0-9]*\([0-9]*\)\..*/\1/'` ;; sunos) OS_NAME=SunOS OS_MAJOR=`uname -r | sed 's/\..*//'` OPSYS=$OPSYS$OS_MAJOR ;; ultrix) OS_NAME=ULTRIX OS_MAJOR=`uname -r | sed 's/\..*//'` ;; *) # On at least one UNICOS system, 'uname -s' returned the # hostname (sigh). if uname -a | grep CRAY >/dev/null; then OPSYS=unicos OS_NAME=UNICOS else OS_NAME=`uname -s | sed 's/[^A-Za-z0-9_]//g'` fi OS_MAJOR=`uname -r | sed 's/[^0-9]*\([0-9]*\)\..*/\1/'` ;; esac # Adjust OPSYS for CRAY MPP environment. # case "$OPSYS" in unicos) case "$CC$TARGET$CFLAGS" in *cray-t3*) OPSYS=unicos-mpp ;; esac ;; esac cat >> confdefs.h <> confdefs.h <&6 rm -f confdefs.missing for arg in port/master.mk; do case "$CONFIG_FILES" in *$arg*) ;; *) CONFIG_FILES="${CONFIG_FILES-} $arg" ;; esac done for arg in port/Makefile; do case "$CONFIG_FILES" in *$arg*) ;; *) CONFIG_FILES="${CONFIG_FILES-} $arg" ;; esac done PORT_SUBDIRS=${PORT_SUBDIRS-""} PORT_MANIFEST=${PORT_MANIFEST-""} # # NB: We always want to define WHATIS to prevent the # $(MANDIR)/$(WHATIS) make(1) target from being just $(MANDIR)/ and # conflicting with the (directory creation) target with the same name. # WHATIS=whatis case `uname -sr` in BSD/OS*) # Can't generate a user-database -- only /usr/share/man/whatis.db. MAKEWHATIS_CMD= ;; 'IRIX64 6.5'|'IRIX 6.5') MAKEWHATIS_CMD='/usr/lib/makewhatis -M $(MANDIR) $(MANDIR)/whatis' ;; 'IRIX 6'*) # Can't generate a user-database. MAKEWHATIS_CMD= ;; HP-UX*) # Can't generate a user-database -- only /usr/lib/whatis. MAKEWHATIS_CMD= ;; 'Linux '*) # /usr/sbin/makewhatis doesn't work MAKEWHATIS_CMD= ;; 'cygwin'*) # /usr/sbin/makewhatis doesn't work MAKEWHATIS_CMD= ;; ULTRIX*) # Can't generate a user-database -- only /usr/lib/whatis. MAKEWHATIS_CMD= ;; *) if test -r /usr/man/windex; then WHATIS=windex fi for ac_prog in catman makewhatis /usr/lib/makewhatis do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:670: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_prog'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$prog"; then ac_cv_prog_prog="$prog" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_prog="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi prog="$ac_cv_prog_prog" if test -n "$prog"; then echo "$ac_t""$prog" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$prog" && break done case "$prog" in *catman*) MAKEWHATIS_CMD=$prog' -w -M $(MANDIR)' ;; *makewhatis*) MAKEWHATIS_CMD=$prog' $(MANDIR)' ;; esac ;; esac echo $ac_n "checking for manual-page index command""... $ac_c" 1>&6 echo "configure:712: checking for manual-page index command" >&5 echo "$ac_t""$MAKEWHATIS_CMD" 1>&6 # # Ensure that the CC variable is unset so that it can be # set here rather than by the autoconf-generated # configure-script preamble. # # unset CC # case ${CC-unset} in unset) case `uname -s` in AIX) for ac_prog in c89 xlc cc gcc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:747: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$CC" && break done ;; HP-UX) for ac_prog in c89 cc gcc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:782: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$CC" && break done ;; IRIX*) for ac_prog in cc gcc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:817: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$CC" && break done ;; OSF1|ULTRIX) for ac_prog in cc gcc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:852: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$CC" && break done case "$CC" in cc) case `uname -m` in VAX) ;; *) for arg in -std; do case "$CPPFLAGS" in *$arg*) ;; *) CPPFLAGS="${CPPFLAGS-} $arg" ;; esac done ;; esac ;; esac ;; SunOS) case `uname -r` in 4*) for ac_prog in acc cc gcc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:908: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$CC" && break done ;; 5*) for ac_prog in cc gcc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:943: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$CC" && break done # # The following is commented-out because # the configure script uses CPPFLAGS when # compiling C++ source and SunOS 5's CC (at # least) emits error messages when given the # -Xa option causing the configure script to # abandon `$CXX -E' in favor of `/lib/cpp'. # # case "$CC" in # *gcc*) # ;; # *) # UC_ENSURE(CPPFLAGS, -Xa) dnl # ;; # esac ;; esac ;; *) for ac_prog in c89 cc gcc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:995: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$CC" && break done ;; esac ;; *) echo $ac_n "checking for C compiler""... $ac_c" 1>&6 echo "configure:1028: checking for C compiler" >&5 echo "$ac_t""$CC" 1>&6 ;; esac case "${CC-}" in '') echo "CC:C compiler:/bin/cc" >> confdefs.missing ;; *) # Find out if we are using GNU C, under whatever name. cat < conftest.c #ifdef __GNUC__ yes #endif UD_EOF ${CC} -E conftest.c > conftest.out 2>&1 if egrep yes conftest.out >/dev/null 2>&1; then GCC=1 # For later tests. fi case `uname -s` in AIX) for arg in -D_ALL_SOURCE; do case "$CPPFLAGS" in *$arg*) ;; *) CPPFLAGS="${CPPFLAGS-} $arg" ;; esac done cat >> confdefs.h <<\EOF #define _ALL_SOURCE 1 EOF ;; HP-UX) for arg in -D_HPUX_SOURCE; do case "$CPPFLAGS" in *$arg*) ;; *) CPPFLAGS="${CPPFLAGS-} $arg" ;; esac done cat >> confdefs.h <<\EOF #define _HPUX_SOURCE 1 EOF ;; esac ;; esac rm -f conftest* echo $ac_n "checking for dependency generation mechanism""... $ac_c" 1>&6 echo "configure:1082: checking for dependency generation mechanism" >&5 if test -z "$CC_MAKEDEPEND"; then case ${GCC-}${OPSYS} in convexos) CC_MAKEDEPEND="$CC -k" ;; hpux) CC_MAKEDEPEND="$CC -c -Wp,-M" ;; sunos5) CC_MAKEDEPEND="$CC -xM" ;; unicos) # # UNICOS's C compiler has an unusual way of invoking the # dependency-generation option. Also, the c89(1) compiler # doesn't even have way of doing this. # # CC_MAKEDEPEND="cc -c -Wp,-M" ;; ultrix) CC_MAKEDEPEND="$CC -Em" ;; *) CC_MAKEDEPEND="$CC -M" ;; esac fi echo "$ac_t""$CC_MAKEDEPEND" 1>&6 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 echo "configure:1114: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else # This must be in double quotes, not single quotes, because CPP may get # substituted into the Makefile and "${CC-cc}" will confuse make. CPP="${CC-cc} -E" # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:1135: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:1152: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:1169: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP=/lib/cpp fi rm -f conftest* fi rm -f conftest* fi rm -f conftest* ac_cv_prog_CPP="$CPP" fi CPP="$ac_cv_prog_CPP" else ac_cv_prog_CPP="$CPP" fi echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking the C preprocessor""... $ac_c" 1>&6 echo "configure:1193: checking the C preprocessor" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:1200: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* echo "$ac_t""works" 1>&6 else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "configure: warning: C preprocessor, \`$CPP', doesn't work" 1>&2 echo "CPP:C preprocessor:/lib/cpp" >> confdefs.missing fi rm -f conftest* echo $ac_n "checking for C const""... $ac_c" 1>&6 echo "configure:1220: checking for C const" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* UD_NO_CONST="1" cat >> confdefs.h <<\EOF #define UD_NO_CONST 1 EOF echo "$ac_t""no" 1>&6 fi rm -f conftest* echo $ac_n "checking for C volatile""... $ac_c" 1>&6 echo "configure:1251: checking for C volatile" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""no" 1>&6 UD_NO_VOLATILE="1" cat >> confdefs.h <<\EOF #define UD_NO_VOLATILE 1 EOF fi rm -f conftest* echo $ac_n "checking for C signed""... $ac_c" 1>&6 echo "configure:1280: checking for C signed" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""no" 1>&6 UD_NO_SIGNED="1" cat >> confdefs.h <<\EOF #define UD_NO_SIGNED 1 EOF fi rm -f conftest* echo $ac_n "checking for C function prototypes""... $ac_c" 1>&6 echo "configure:1309: checking for C function prototypes" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""no" 1>&6 UD_NO_PROTOTYPES="1" cat >> confdefs.h <<\EOF #define UD_NO_PROTOTYPES 1 EOF fi rm -f conftest* for arg in stdarg.h.in; do case "$PORT_MANIFEST" in *$arg*) ;; *) PORT_MANIFEST="${PORT_MANIFEST-} $arg" ;; esac done echo $ac_n "checking for standard C variadic functions""... $ac_c" 1>&6 echo "configure:1347: checking for standard C variadic functions" >&5 cat > conftest.$ac_ext < int main() { } int foo(int bar, ...) { va_list alist; va_start(alist, bar); bar = (int)va_arg(alist, int); va_end(alist); ; return 0; } EOF if { (eval echo configure:1363: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 echo "#include " > conftestpath.c # # We add additional `/'s to the header file name to preclude compiler # warnings about the non-portability of `#include "/usr/include/..."'. # case `uname -s`${GCC-} in AIX) # # AIX's C compiler doesn't emit a line that gives the pathname of # the included file. # # AIX's C compiler puts dependency information in a `.u' file. # # AIX 4.1's cc(1) makes the following complaint: # ld: 0711-317 ERROR: Undefined symbol: .main # # AIX 4.1's ksh(1) has problems with `2>&5' so we redirect to # /dev/null. # $CC_MAKEDEPEND $CPPFLAGS conftestpath.c 2>/dev/null path=`sed -n '/[^\/]*\(\/[^ ]*stdarg\.h\).*/s//\1/p' \ conftestpath.u | head -1` rm conftestpath.u ;; HP-UX) # # HP-UX's C compiler doesn't have a dependency-generation option, # so we use another method. # path=`$CC -E $CPPFLAGS conftestpath.c 2>&5 | sed -n '/[^\/]*\(\/[^ ]*stdarg\.h\).*/s//\1/p' | head -1` ;; *) path=`$CC_MAKEDEPEND $CPPFLAGS conftestpath.c 2>&5 | sed -n '/[^\/]*\(\/[^ ]*stdarg\.h\).*/s//\1/p' | head -1` ;; esac case "$path" in '') path=/dev/null ;; *) path=//$path ;; esac cat >> confdefs.h <&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""no" 1>&6 cat >> confdefs.h <<\EOF #define UD_NO_STDARG 1 EOF echo "#include " > conftestpath.c # # We add additional `/'s to the header file name to preclude compiler # warnings about the non-portability of `#include "/usr/include/..."'. # case `uname -s`${GCC-} in AIX) # # AIX's C compiler doesn't emit a line that gives the pathname of # the included file. # # AIX's C compiler puts dependency information in a `.u' file. # # AIX 4.1's cc(1) makes the following complaint: # ld: 0711-317 ERROR: Undefined symbol: .main # # AIX 4.1's ksh(1) has problems with `2>&5' so we redirect to # /dev/null. # $CC_MAKEDEPEND $CPPFLAGS conftestpath.c 2>/dev/null path=`sed -n '/[^\/]*\(\/[^ ]*varargs\.h\).*/s//\1/p' \ conftestpath.u | head -1` rm conftestpath.u ;; HP-UX) # # HP-UX's C compiler doesn't have a dependency-generation option, # so we use another method. # path=`$CC -E $CPPFLAGS conftestpath.c 2>&5 | sed -n '/[^\/]*\(\/[^ ]*varargs\.h\).*/s//\1/p' | head -1` ;; *) path=`$CC_MAKEDEPEND $CPPFLAGS conftestpath.c 2>&5 | sed -n '/[^\/]*\(\/[^ ]*varargs\.h\).*/s//\1/p' | head -1` ;; esac case "$path" in '') path=/dev/null ;; *) path=//$path ;; esac cat >> confdefs.h <&6 echo "configure:1507: checking for standard C string generation" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""no" 1>&6 UD_NO_HASH="1" cat >> confdefs.h <<\EOF #define UD_NO_HASH 1 EOF fi rm -f conftest* echo $ac_n "checking for standard C token pasting""... $ac_c" 1>&6 echo "configure:1536: checking for standard C token pasting" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""no" 1>&6 UD_NO_HASHHASH="1" cat >> confdefs.h <<\EOF #define UD_NO_HASHHASH 1 EOF fi rm -f conftest* echo $ac_n "checking C void pointer""... $ac_c" 1>&6 echo "configure:1566: checking C void pointer" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""no" 1>&6 UD_NO_VOIDSTAR="1" cat >> confdefs.h <<\EOF #define UD_NO_VOIDSTAR 1 EOF fi rm -f conftest* for arg in udposix.h.in; do case "$PORT_MANIFEST" in *$arg*) ;; *) PORT_MANIFEST="${PORT_MANIFEST-} $arg" ;; esac done # We use ar(1) under UNICOS even though bld(1) is preferred because bld(1) # doesn't understand the "u" option. # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:1625: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_AR="ar" break fi done IFS="$ac_save_ifs" fi fi AR="$ac_cv_prog_AR" if test -n "$AR"; then echo "$ac_t""$AR" 1>&6 else echo "$ac_t""no" 1>&6 fi if test -z "$AR"; then echo "AR:library utility:/bin/ar" >> confdefs.missing fi echo $ac_n "checking for tar flags""... $ac_c" 1>&6 echo "configure:1656: checking for tar flags" >&5 case "$OPSYS" in aix*) TARFLAGS=-chf ;; bsdos|irix*) TARFLAGS=-cLof ;; *) TARFLAGS=-chof ;; esac echo "$ac_t""$TARFLAGS" 1>&6 # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:1673: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_RANLIB="ranlib" break fi done IFS="$ac_save_ifs" test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" fi fi RANLIB="$ac_cv_prog_RANLIB" if test -n "$RANLIB"; then echo "$ac_t""$RANLIB" 1>&6 else echo "$ac_t""no" 1>&6 fi echo $ac_n "checking binary distribution directory""... $ac_c" 1>&6 echo "configure:1701: checking binary distribution directory" >&5 case ${FTPBINDIR-unset} in unset) system=`system 2>/dev/null || echo dummy_system` FTPBINDIR=${FTPDIR-/home/ftp}/pub/binary/$system ;; esac echo "$ac_t""$FTPBINDIR" 1>&6 for arg in port/Makefile; do case "$CONFIG_FILES" in *$arg*) ;; *) CONFIG_FILES="${CONFIG_FILES-} $arg" ;; esac done for arg in port/master.mk; do case "$CONFIG_FILES" in *$arg*) ;; *) CONFIG_FILES="${CONFIG_FILES-} $arg" ;; esac done for arg in port/misc/Makefile; do case "$CONFIG_FILES" in *$arg*) ;; *) CONFIG_FILES="${CONFIG_FILES-} $arg" ;; esac done LIBOBJS=${LIBOBJS-""} PORT_HEADERS=${PORT_HEADERS-""} PORT_MANIFEST=${PORT_MANIFEST-""} PORT_SUBDIRS=${PORT_SUBDIRS-""} for arg in misc/all; do case "$PORT_ALL" in *$arg*) ;; *) PORT_ALL="${PORT_ALL-} $arg" ;; esac done for arg in misc/install; do case "$PORT_INSTALL" in *$arg*) ;; *) PORT_INSTALL="${PORT_INSTALL-} $arg" ;; esac done for arg in misc/clean; do case "$PORT_CLEAN" in *$arg*) ;; *) PORT_CLEAN="${PORT_CLEAN-} $arg" ;; esac done for arg in misc/distclean; do case "$PORT_DISTCLEAN" in *$arg*) ;; *) PORT_DISTCLEAN="${PORT_DISTCLEAN-} $arg" ;; esac done PORT_CPP_LDM=${PORT_CPP_LDM-""} udportdir=`pwd`/port/misc case "${OPSYS}$OS_MAJOR" in unicos*) case "$udportdir" in '') LD_UDPORT="-l udport";; *) LD_UDPORT="-L $udportdir -l udport";; esac ;; sunos5*) case "$udportdir" in '') LD_UDPORT="-ludport";; *) LD_UDPORT="-R$udportdir -L$udportdir -ludport";; esac ;; *) case "$udportdir" in '') LD_UDPORT="-ludport";; *) LD_UDPORT="-L$udportdir -ludport";; esac ;; esac unset udportdir echo $ac_n "checking the installation prefix""... $ac_c" 1>&6 echo "configure:1817: checking the installation prefix" >&5 case ${prefix-} in NONE|'') prefix=`case ".." in /*) echo ..; exit;; *) path=\`pwd\`/.. tail= while test "$path"; do (cd $path && echo \`pwd\`$rest) && exit base=/\`basename "$path"\` tail=/$base$tail path=\`echo "$path" | sed "s/\/$base//"\` done;; esac `;; esac echo "$ac_t""$prefix" 1>&6 echo $ac_n "checking the installation exec-prefix""... $ac_c" 1>&6 echo "configure:1834: checking the installation exec-prefix" >&5 case ${exec_prefix-} in NONE|'') exec_prefix=$prefix;; esac echo "$ac_t""$exec_prefix" 1>&6 CFLAGS=${CFLAGS-"-g"} FFLAGS=${FFLAGS-"-g"} # We use ar(1) under UNICOS even though bld(1) is preferred because bld(1) # doesn't understand the "u" option. # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:1854: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_AR="ar" break fi done IFS="$ac_save_ifs" fi fi AR="$ac_cv_prog_AR" if test -n "$AR"; then echo "$ac_t""$AR" 1>&6 else echo "$ac_t""no" 1>&6 fi if test -z "$AR"; then echo "AR:library utility:/bin/ar" >> confdefs.missing fi # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:1887: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_RANLIB="ranlib" break fi done IFS="$ac_save_ifs" test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" fi fi RANLIB="$ac_cv_prog_RANLIB" if test -n "$RANLIB"; then echo "$ac_t""$RANLIB" 1>&6 else echo "$ac_t""no" 1>&6 fi # # Ensure that the CC variable is unset so that it can be # set here rather than by the autoconf-generated # configure-script preamble. # # unset CC # case ${CC-unset} in unset) case `uname -s` in AIX) for ac_prog in c89 xlc cc gcc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:1945: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$CC" && break done ;; HP-UX) for ac_prog in c89 cc gcc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:1980: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$CC" && break done ;; IRIX*) for ac_prog in cc gcc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:2015: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$CC" && break done ;; OSF1|ULTRIX) for ac_prog in cc gcc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:2050: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$CC" && break done case "$CC" in cc) case `uname -m` in VAX) ;; *) for arg in -std; do case "$CPPFLAGS" in *$arg*) ;; *) CPPFLAGS="${CPPFLAGS-} $arg" ;; esac done ;; esac ;; esac ;; SunOS) case `uname -r` in 4*) for ac_prog in acc cc gcc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:2106: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$CC" && break done ;; 5*) for ac_prog in cc gcc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:2141: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$CC" && break done # # The following is commented-out because # the configure script uses CPPFLAGS when # compiling C++ source and SunOS 5's CC (at # least) emits error messages when given the # -Xa option causing the configure script to # abandon `$CXX -E' in favor of `/lib/cpp'. # # case "$CC" in # *gcc*) # ;; # *) # UC_ENSURE(CPPFLAGS, -Xa) dnl # ;; # esac ;; esac ;; *) for ac_prog in c89 cc gcc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:2193: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$CC" && break done ;; esac ;; *) echo $ac_n "checking for C compiler""... $ac_c" 1>&6 echo "configure:2226: checking for C compiler" >&5 echo "$ac_t""$CC" 1>&6 ;; esac case "${CC-}" in '') echo "CC:C compiler:/bin/cc" >> confdefs.missing ;; *) # Find out if we are using GNU C, under whatever name. cat < conftest.c #ifdef __GNUC__ yes #endif UD_EOF ${CC} -E conftest.c > conftest.out 2>&1 if egrep yes conftest.out >/dev/null 2>&1; then GCC=1 # For later tests. fi case `uname -s` in AIX) for arg in -D_ALL_SOURCE; do case "$CPPFLAGS" in *$arg*) ;; *) CPPFLAGS="${CPPFLAGS-} $arg" ;; esac done cat >> confdefs.h <<\EOF #define _ALL_SOURCE 1 EOF ;; HP-UX) for arg in -D_HPUX_SOURCE; do case "$CPPFLAGS" in *$arg*) ;; *) CPPFLAGS="${CPPFLAGS-} $arg" ;; esac done cat >> confdefs.h <<\EOF #define _HPUX_SOURCE 1 EOF ;; esac ;; esac rm -f conftest* if test -z "${FC+set}"; then case "$OPSYS$OS_MAJOR" in aix*) for ac_prog in $fc f77 cf77 do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:2287: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_FC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$FC"; then ac_cv_prog_FC="$FC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_FC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi FC="$ac_cv_prog_FC" if test -n "$FC"; then echo "$ac_t""$FC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$FC" && break done ;; hpux*) for ac_prog in $fc fort77 fortc f77 do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:2322: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_FC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$FC"; then ac_cv_prog_FC="$FC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_FC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi FC="$ac_cv_prog_FC" if test -n "$FC"; then echo "$ac_t""$FC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$FC" && break done for arg in +U77; do case "$FFLAGS" in *$arg*) ;; *) FFLAGS="${FFLAGS-} $arg" ;; esac done for arg in -lU77; do case "$LD_FORTRAN" in *$arg*) ;; *) LD_FORTRAN="${LD_FORTRAN-} $arg" ;; esac done ;; dgux*) for ac_prog in $fc ghf77 f77 do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:2375: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_FC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$FC"; then ac_cv_prog_FC="$FC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_FC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi FC="$ac_cv_prog_FC" if test -n "$FC"; then echo "$ac_t""$FC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$FC" && break done LD_FORTRAN=${LD_FORTRAN-""} ;; sunos*) for ac_prog in $fc f77 cf77 do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:2412: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_FC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$FC"; then ac_cv_prog_FC="$FC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_FC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi FC="$ac_cv_prog_FC" if test -n "$FC"; then echo "$ac_t""$FC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$FC" && break done LD_FORTRAN=${LD_FORTRAN-""} ;; irix5*) for ac_prog in $fc f77 cf77 do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:2449: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_FC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$FC"; then ac_cv_prog_FC="$FC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_FC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi FC="$ac_cv_prog_FC" if test -n "$FC"; then echo "$ac_t""$FC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$FC" && break done LD_FORTRAN=${LD_FORTRAN-"-tl -Bstatic"} ;; *) for ac_prog in $fc f77 cf77 fort77 do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:2486: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_FC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$FC"; then ac_cv_prog_FC="$FC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_FC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi FC="$ac_cv_prog_FC" if test -n "$FC"; then echo "$ac_t""$FC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$FC" && break done LD_FORTRAN=${LD_FORTRAN-""} ;; esac if test -z "$FC"; then echo "FC:FORTRAN compiler:/bin/f77" >> confdefs.missing fi else echo $ac_n "checking for FORTRAN compiler""... $ac_c" 1>&6 echo "configure:2523: checking for FORTRAN compiler" >&5 echo "$ac_t""$FC" 1>&6 fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 echo "configure:2529: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else # This must be in double quotes, not single quotes, because CPP may get # substituted into the Makefile and "${CC-cc}" will confuse make. CPP="${CC-cc} -E" # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:2550: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:2567: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:2584: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP=/lib/cpp fi rm -f conftest* fi rm -f conftest* fi rm -f conftest* ac_cv_prog_CPP="$CPP" fi CPP="$ac_cv_prog_CPP" else ac_cv_prog_CPP="$CPP" fi echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking the C preprocessor""... $ac_c" 1>&6 echo "configure:2608: checking the C preprocessor" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:2615: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* echo "$ac_t""works" 1>&6 else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "configure: warning: C preprocessor, \`$CPP', doesn't work" 1>&2 echo "CPP:C preprocessor:/lib/cpp" >> confdefs.missing fi rm -f conftest* # Extract the first word of "neqn", so it can be a program name with args. set dummy neqn; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:2637: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_NEQN'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$NEQN"; then ac_cv_prog_NEQN="$NEQN" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_NEQN="neqn" break fi done IFS="$ac_save_ifs" test -z "$ac_cv_prog_NEQN" && ac_cv_prog_NEQN="cat" fi fi NEQN="$ac_cv_prog_NEQN" if test -n "$NEQN"; then echo "$ac_t""$NEQN" 1>&6 else echo "$ac_t""no" 1>&6 fi test "$NEQN" = cat && echo "configure: warning: $0: Can't find program \`neqn'; setting to \`cat'" 1>&2 # Extract the first word of "tbl", so it can be a program name with args. set dummy tbl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:2669: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_TBL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$TBL"; then ac_cv_prog_TBL="$TBL" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_TBL="tbl" break fi done IFS="$ac_save_ifs" test -z "$ac_cv_prog_TBL" && ac_cv_prog_TBL="cat" fi fi TBL="$ac_cv_prog_TBL" if test -n "$TBL"; then echo "$ac_t""$TBL" 1>&6 else echo "$ac_t""no" 1>&6 fi test "$TBL" = cat && echo "configure: warning: $0: Can't find program \`tbl'; setting to \`cat'" 1>&2 # Extract the first word of "troff", so it can be a program name with args. set dummy troff; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:2701: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_TROFF'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$TROFF"; then ac_cv_prog_TROFF="$TROFF" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_TROFF="ptroff" break fi done IFS="$ac_save_ifs" test -z "$ac_cv_prog_TROFF" && ac_cv_prog_TROFF="troff" fi fi TROFF="$ac_cv_prog_TROFF" if test -n "$TROFF"; then echo "$ac_t""$TROFF" 1>&6 else echo "$ac_t""no" 1>&6 fi if test -z "$TROFF"; then echo "TROFF:troff(1)-like utility:/bin/troff" >> confdefs.missing fi for arg in stddef.h.in; do case "$PORT_MANIFEST" in *$arg*) ;; *) PORT_MANIFEST="${PORT_MANIFEST-} $arg" ;; esac done for arg in misc; do case "$PORT_SUBDIRS" in *$arg*) ;; *) PORT_SUBDIRS="${PORT_SUBDIRS-} $arg" ;; esac done echo "#include " > conftestpath.c # # We add additional `/'s to the header file name to preclude compiler # warnings about the non-portability of `#include "/usr/include/..."'. # case `uname -s`${GCC-} in AIX) # # AIX's C compiler doesn't emit a line that gives the pathname of # the included file. # # AIX's C compiler puts dependency information in a `.u' file. # # AIX 4.1's cc(1) makes the following complaint: # ld: 0711-317 ERROR: Undefined symbol: .main # # AIX 4.1's ksh(1) has problems with `2>&5' so we redirect to # /dev/null. # $CC_MAKEDEPEND $CPPFLAGS conftestpath.c 2>/dev/null path=`sed -n '/[^\/]*\(\/[^ ]*stddef\.h\).*/s//\1/p' \ conftestpath.u | head -1` rm conftestpath.u ;; HP-UX) # # HP-UX's C compiler doesn't have a dependency-generation option, # so we use another method. # path=`$CC -E $CPPFLAGS conftestpath.c 2>&5 | sed -n '/[^\/]*\(\/[^ ]*stddef\.h\).*/s//\1/p' | head -1` ;; *) path=`$CC_MAKEDEPEND $CPPFLAGS conftestpath.c 2>&5 | sed -n '/[^\/]*\(\/[^ ]*stddef\.h\).*/s//\1/p' | head -1` ;; esac case "$path" in '') path=/dev/null ;; *) path=//$path ;; esac cat >> confdefs.h <&6 echo "configure:2813: checking for stddef.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:2823: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 found=yes else echo "$ac_t""no" 1>&6 found=no fi case $found in yes) echo $ac_n "checking C header file for typedef size_t""... $ac_c" 1>&6 echo "configure:2848: checking C header file for typedef size_t" >&5 echo '#include ' >conftest.c if ($CPP conftest.c | grep size_t >/dev/null) 2>&5; then echo "$ac_t""declared" 1>&6 rm conftest.c else cat > conftest.$ac_ext < int size_t; int main() { ; return 0; } EOF if { (eval echo configure:2864: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 cat >> confdefs.h <<\EOF #define UD_NO_STDDEF_H_SIZE_T 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* fi ;; no) cat >> confdefs.h <<\EOF #define UD_NO_STDDEF_H_SIZE_T 1 EOF ;; esac ac_safe=`echo "stddef.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for stddef.h""... $ac_c" 1>&6 echo "configure:2892: checking for stddef.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:2902: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 found=yes else echo "$ac_t""no" 1>&6 found=no fi case $found in yes) echo $ac_n "checking C header file for typedef ptrdiff_t""... $ac_c" 1>&6 echo "configure:2927: checking C header file for typedef ptrdiff_t" >&5 echo '#include ' >conftest.c if ($CPP conftest.c | grep ptrdiff_t >/dev/null) 2>&5; then echo "$ac_t""declared" 1>&6 rm conftest.c else cat > conftest.$ac_ext < int ptrdiff_t; int main() { ; return 0; } EOF if { (eval echo configure:2943: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 cat >> confdefs.h <<\EOF #define UD_NO_STDDEF_H_PTRDIFF_T 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* fi ;; no) cat >> confdefs.h <<\EOF #define UD_NO_STDDEF_H_PTRDIFF_T 1 EOF ;; esac for arg in fortc misc; do case "$PORT_SUBDIRS" in *$arg*) ;; *) PORT_SUBDIRS="${PORT_SUBDIRS-} $arg" ;; esac done for arg in fortc/all; do case "$PORT_ALL" in *$arg*) ;; *) PORT_ALL="${PORT_ALL-} $arg" ;; esac done for arg in fortc/install; do case "$PORT_INSTALL" in *$arg*) ;; *) PORT_INSTALL="${PORT_INSTALL-} $arg" ;; esac done for arg in fortc/clean; do case "$PORT_CLEAN" in *$arg*) ;; *) PORT_CLEAN="${PORT_CLEAN-} $arg" ;; esac done for arg in fortc/distclean; do case "$PORT_DISTCLEAN" in *$arg*) ;; *) PORT_DISTCLEAN="${PORT_DISTCLEAN-} $arg" ;; esac done for arg in udalloc.c udalloc.h; do case "$PORT_MANIFEST" in *$arg*) ;; *) PORT_MANIFEST="${PORT_MANIFEST-} $arg" ;; esac done for arg in port/fortc/Makefile; do case "$CONFIG_FILES" in *$arg*) ;; *) CONFIG_FILES="${CONFIG_FILES-} $arg" ;; esac done dir=`pwd`/port/fortc FORTC="$dir/fortc" for arg in udposix.h.in; do case "$PORT_MANIFEST" in *$arg*) ;; *) PORT_MANIFEST="${PORT_MANIFEST-} $arg" ;; esac done for arg in stddef.h.in; do case "$PORT_MANIFEST" in *$arg*) ;; *) PORT_MANIFEST="${PORT_MANIFEST-} $arg" ;; esac done for arg in misc; do case "$PORT_SUBDIRS" in *$arg*) ;; *) PORT_SUBDIRS="${PORT_SUBDIRS-} $arg" ;; esac done echo "#include " > conftestpath.c # # We add additional `/'s to the header file name to preclude compiler # warnings about the non-portability of `#include "/usr/include/..."'. # case `uname -s`${GCC-} in AIX) # # AIX's C compiler doesn't emit a line that gives the pathname of # the included file. # # AIX's C compiler puts dependency information in a `.u' file. # # AIX 4.1's cc(1) makes the following complaint: # ld: 0711-317 ERROR: Undefined symbol: .main # # AIX 4.1's ksh(1) has problems with `2>&5' so we redirect to # /dev/null. # $CC_MAKEDEPEND $CPPFLAGS conftestpath.c 2>/dev/null path=`sed -n '/[^\/]*\(\/[^ ]*stddef\.h\).*/s//\1/p' \ conftestpath.u | head -1` rm conftestpath.u ;; HP-UX) # # HP-UX's C compiler doesn't have a dependency-generation option, # so we use another method. # path=`$CC -E $CPPFLAGS conftestpath.c 2>&5 | sed -n '/[^\/]*\(\/[^ ]*stddef\.h\).*/s//\1/p' | head -1` ;; *) path=`$CC_MAKEDEPEND $CPPFLAGS conftestpath.c 2>&5 | sed -n '/[^\/]*\(\/[^ ]*stddef\.h\).*/s//\1/p' | head -1` ;; esac case "$path" in '') path=/dev/null ;; *) path=//$path ;; esac cat >> confdefs.h <&6 echo "configure:3141: checking for stddef.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:3151: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 found=yes else echo "$ac_t""no" 1>&6 found=no fi case $found in yes) echo $ac_n "checking C header file for typedef size_t""... $ac_c" 1>&6 echo "configure:3176: checking C header file for typedef size_t" >&5 echo '#include ' >conftest.c if ($CPP conftest.c | grep size_t >/dev/null) 2>&5; then echo "$ac_t""declared" 1>&6 rm conftest.c else cat > conftest.$ac_ext < int size_t; int main() { ; return 0; } EOF if { (eval echo configure:3192: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 cat >> confdefs.h <<\EOF #define UD_NO_STDDEF_H_SIZE_T 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* fi ;; no) cat >> confdefs.h <<\EOF #define UD_NO_STDDEF_H_SIZE_T 1 EOF ;; esac ac_safe=`echo "stddef.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for stddef.h""... $ac_c" 1>&6 echo "configure:3220: checking for stddef.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:3230: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 found=yes else echo "$ac_t""no" 1>&6 found=no fi case $found in yes) echo $ac_n "checking C header file for typedef ptrdiff_t""... $ac_c" 1>&6 echo "configure:3255: checking C header file for typedef ptrdiff_t" >&5 echo '#include ' >conftest.c if ($CPP conftest.c | grep ptrdiff_t >/dev/null) 2>&5; then echo "$ac_t""declared" 1>&6 rm conftest.c else cat > conftest.$ac_ext < int ptrdiff_t; int main() { ; return 0; } EOF if { (eval echo configure:3271: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 cat >> confdefs.h <<\EOF #define UD_NO_STDDEF_H_PTRDIFF_T 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* fi ;; no) cat >> confdefs.h <<\EOF #define UD_NO_STDDEF_H_PTRDIFF_T 1 EOF ;; esac for arg in limits.h.in; do case "$PORT_MANIFEST" in *$arg*) ;; *) PORT_MANIFEST="${PORT_MANIFEST-} $arg" ;; esac done for arg in misc; do case "$PORT_SUBDIRS" in *$arg*) ;; *) PORT_SUBDIRS="${PORT_SUBDIRS-} $arg" ;; esac done echo "#include " > conftestpath.c # # We add additional `/'s to the header file name to preclude compiler # warnings about the non-portability of `#include "/usr/include/..."'. # case `uname -s`${GCC-} in AIX) # # AIX's C compiler doesn't emit a line that gives the pathname of # the included file. # # AIX's C compiler puts dependency information in a `.u' file. # # AIX 4.1's cc(1) makes the following complaint: # ld: 0711-317 ERROR: Undefined symbol: .main # # AIX 4.1's ksh(1) has problems with `2>&5' so we redirect to # /dev/null. # $CC_MAKEDEPEND $CPPFLAGS conftestpath.c 2>/dev/null path=`sed -n '/[^\/]*\(\/[^ ]*limits\.h\).*/s//\1/p' \ conftestpath.u | head -1` rm conftestpath.u ;; HP-UX) # # HP-UX's C compiler doesn't have a dependency-generation option, # so we use another method. # path=`$CC -E $CPPFLAGS conftestpath.c 2>&5 | sed -n '/[^\/]*\(\/[^ ]*limits\.h\).*/s//\1/p' | head -1` ;; *) path=`$CC_MAKEDEPEND $CPPFLAGS conftestpath.c 2>&5 | sed -n '/[^\/]*\(\/[^ ]*limits\.h\).*/s//\1/p' | head -1` ;; esac case "$path" in '') path=/dev/null ;; *) path=//$path ;; esac cat >> confdefs.h <" > conftestpath.c # # We add additional `/'s to the header file name to preclude compiler # warnings about the non-portability of `#include "/usr/include/..."'. # case `uname -s`${GCC-} in AIX) # # AIX's C compiler doesn't emit a line that gives the pathname of # the included file. # # AIX's C compiler puts dependency information in a `.u' file. # # AIX 4.1's cc(1) makes the following complaint: # ld: 0711-317 ERROR: Undefined symbol: .main # # AIX 4.1's ksh(1) has problems with `2>&5' so we redirect to # /dev/null. # $CC_MAKEDEPEND $CPPFLAGS conftestpath.c 2>/dev/null path=`sed -n '/[^\/]*\(\/[^ ]*signal\.h\).*/s//\1/p' \ conftestpath.u | head -1` rm conftestpath.u ;; HP-UX) # # HP-UX's C compiler doesn't have a dependency-generation option, # so we use another method. # path=`$CC -E $CPPFLAGS conftestpath.c 2>&5 | sed -n '/[^\/]*\(\/[^ ]*signal\.h\).*/s//\1/p' | head -1` ;; *) path=`$CC_MAKEDEPEND $CPPFLAGS conftestpath.c 2>&5 | sed -n '/[^\/]*\(\/[^ ]*signal\.h\).*/s//\1/p' | head -1` ;; esac case "$path" in '') path=/dev/null ;; *) path=//$path ;; esac cat >> confdefs.h <&6 echo "configure:3450: checking for signal.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:3460: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 found=yes else echo "$ac_t""no" 1>&6 found=no fi case $found in yes) echo $ac_n "checking C header file for typedef sigset_t""... $ac_c" 1>&6 echo "configure:3485: checking C header file for typedef sigset_t" >&5 echo '#include ' >conftest.c if ($CPP conftest.c | grep sigset_t >/dev/null) 2>&5; then echo "$ac_t""declared" 1>&6 rm conftest.c else cat > conftest.$ac_ext < int sigset_t; int main() { ; return 0; } EOF if { (eval echo configure:3501: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 cat >> confdefs.h <<\EOF #define UD_NO_SIGNAL_H_SIGSET_T 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* fi ;; no) cat >> confdefs.h <<\EOF #define UD_NO_SIGNAL_H_SIGSET_T 1 EOF ;; esac ac_safe=`echo "signal.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for signal.h""... $ac_c" 1>&6 echo "configure:3529: checking for signal.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:3539: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 found=yes else echo "$ac_t""no" 1>&6 found=no fi case $found in yes) echo $ac_n "checking C header file for typedef sig_atomic_t""... $ac_c" 1>&6 echo "configure:3564: checking C header file for typedef sig_atomic_t" >&5 echo '#include ' >conftest.c if ($CPP conftest.c | grep sig_atomic_t >/dev/null) 2>&5; then echo "$ac_t""declared" 1>&6 rm conftest.c else cat > conftest.$ac_ext < int sig_atomic_t; int main() { ; return 0; } EOF if { (eval echo configure:3580: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 cat >> confdefs.h <<\EOF #define UD_NO_SIGNAL_H_SIG_ATOMIC_T 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* fi ;; no) cat >> confdefs.h <<\EOF #define UD_NO_SIGNAL_H_SIG_ATOMIC_T 1 EOF ;; esac echo $ac_n "checking C header file for structure sigaction""... $ac_c" 1>&6 echo "configure:3607: checking C header file for structure sigaction" >&5 cat > conftest.$ac_ext < struct sigaction {char *foo;}; int main() { ; return 0; } EOF if { (eval echo configure:3618: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 cat >> confdefs.h <<\EOF #define UD_NO_SIGACTION_STRUCT 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* for ac_func in sigaction do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo "configure:3638: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else $ac_func(); #endif ; return 0; } EOF if { (eval echo configure:3666: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_$ac_func=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` cat >> confdefs.h <&6 LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}" fi done ac_safe=`echo "signal.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for signal.h""... $ac_c" 1>&6 echo "configure:3693: checking for signal.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:3703: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking C header file for function sigaction()""... $ac_c" 1>&6 echo "configure:3720: checking C header file for function sigaction()" >&5 cat > conftest.$ac_ext < extern struct {int a; int b;} *sigaction(); int main() { ; return 0; } EOF if { (eval echo configure:3731: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 UD_NO_SIGACTION_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_SIGACTION_DECL 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* else echo "$ac_t""no" 1>&6 UD_NO_SIGACTION_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_SIGACTION_DECL 1 EOF fi case "$UD_NO_SIGACTION_DECL" in 1) for ac_func in sigvec sigblock sigpause sigsetmask sigstack bsdsigp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo "configure:3766: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else $ac_func(); #endif ; return 0; } EOF if { (eval echo configure:3794: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_$ac_func=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` cat >> confdefs.h <&6 fi done ;; esac for arg in stdlib.h.in atexit.c; do case "$PORT_MANIFEST" in *$arg*) ;; *) PORT_MANIFEST="${PORT_MANIFEST-} $arg" ;; esac done for arg in misc; do case "$PORT_SUBDIRS" in *$arg*) ;; *) PORT_SUBDIRS="${PORT_SUBDIRS-} $arg" ;; esac done echo "#include " > conftestpath.c # # We add additional `/'s to the header file name to preclude compiler # warnings about the non-portability of `#include "/usr/include/..."'. # case `uname -s`${GCC-} in AIX) # # AIX's C compiler doesn't emit a line that gives the pathname of # the included file. # # AIX's C compiler puts dependency information in a `.u' file. # # AIX 4.1's cc(1) makes the following complaint: # ld: 0711-317 ERROR: Undefined symbol: .main # # AIX 4.1's ksh(1) has problems with `2>&5' so we redirect to # /dev/null. # $CC_MAKEDEPEND $CPPFLAGS conftestpath.c 2>/dev/null path=`sed -n '/[^\/]*\(\/[^ ]*stdlib\.h\).*/s//\1/p' \ conftestpath.u | head -1` rm conftestpath.u ;; HP-UX) # # HP-UX's C compiler doesn't have a dependency-generation option, # so we use another method. # path=`$CC -E $CPPFLAGS conftestpath.c 2>&5 | sed -n '/[^\/]*\(\/[^ ]*stdlib\.h\).*/s//\1/p' | head -1` ;; *) path=`$CC_MAKEDEPEND $CPPFLAGS conftestpath.c 2>&5 | sed -n '/[^\/]*\(\/[^ ]*stdlib\.h\).*/s//\1/p' | head -1` ;; esac case "$path" in '') path=/dev/null ;; *) path=//$path ;; esac cat >> confdefs.h <&6 echo "configure:3901: checking for stdlib.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:3911: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 found=yes else echo "$ac_t""no" 1>&6 found=no fi case $found in yes) echo $ac_n "checking C header file for typedef size_t""... $ac_c" 1>&6 echo "configure:3936: checking C header file for typedef size_t" >&5 echo '#include ' >conftest.c if ($CPP conftest.c | grep size_t >/dev/null) 2>&5; then echo "$ac_t""declared" 1>&6 rm conftest.c else cat > conftest.$ac_ext < int size_t; int main() { ; return 0; } EOF if { (eval echo configure:3952: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 cat >> confdefs.h <<\EOF #define UD_NO_STDLIB_H_SIZE_T 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* fi ;; no) cat >> confdefs.h <<\EOF #define UD_NO_STDLIB_H_SIZE_T 1 EOF ;; esac for ac_func in atexit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo "configure:3981: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else $ac_func(); #endif ; return 0; } EOF if { (eval echo configure:4009: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_$ac_func=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` cat >> confdefs.h <&6 LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}" fi done ac_safe=`echo "stdlib.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for stdlib.h""... $ac_c" 1>&6 echo "configure:4036: checking for stdlib.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:4046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking C header file for function atexit()""... $ac_c" 1>&6 echo "configure:4063: checking C header file for function atexit()" >&5 cat > conftest.$ac_ext < extern struct {int a; int b;} *atexit(); int main() { ; return 0; } EOF if { (eval echo configure:4074: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 UD_NO_ATEXIT_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_ATEXIT_DECL 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* else echo "$ac_t""no" 1>&6 UD_NO_ATEXIT_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_ATEXIT_DECL 1 EOF fi for ac_func in getenv do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo "configure:4106: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else $ac_func(); #endif ; return 0; } EOF if { (eval echo configure:4134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_$ac_func=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` cat >> confdefs.h <&6 LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}" fi done ac_safe=`echo "stdlib.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for stdlib.h""... $ac_c" 1>&6 echo "configure:4161: checking for stdlib.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:4171: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking C header file for function getenv()""... $ac_c" 1>&6 echo "configure:4188: checking C header file for function getenv()" >&5 cat > conftest.$ac_ext < extern struct {int a; int b;} *getenv(); int main() { ; return 0; } EOF if { (eval echo configure:4199: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 UD_NO_GETENV_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_GETENV_DECL 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* else echo "$ac_t""no" 1>&6 UD_NO_GETENV_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_GETENV_DECL 1 EOF fi for arg in strerror.c strstr.c string.h.in memmove.c; do case "$PORT_MANIFEST" in *$arg*) ;; *) PORT_MANIFEST="${PORT_MANIFEST-} $arg" ;; esac done for arg in misc; do case "$PORT_SUBDIRS" in *$arg*) ;; *) PORT_SUBDIRS="${PORT_SUBDIRS-} $arg" ;; esac done echo "#include " > conftestpath.c # # We add additional `/'s to the header file name to preclude compiler # warnings about the non-portability of `#include "/usr/include/..."'. # case `uname -s`${GCC-} in AIX) # # AIX's C compiler doesn't emit a line that gives the pathname of # the included file. # # AIX's C compiler puts dependency information in a `.u' file. # # AIX 4.1's cc(1) makes the following complaint: # ld: 0711-317 ERROR: Undefined symbol: .main # # AIX 4.1's ksh(1) has problems with `2>&5' so we redirect to # /dev/null. # $CC_MAKEDEPEND $CPPFLAGS conftestpath.c 2>/dev/null path=`sed -n '/[^\/]*\(\/[^ ]*string\.h\).*/s//\1/p' \ conftestpath.u | head -1` rm conftestpath.u ;; HP-UX) # # HP-UX's C compiler doesn't have a dependency-generation option, # so we use another method. # path=`$CC -E $CPPFLAGS conftestpath.c 2>&5 | sed -n '/[^\/]*\(\/[^ ]*string\.h\).*/s//\1/p' | head -1` ;; *) path=`$CC_MAKEDEPEND $CPPFLAGS conftestpath.c 2>&5 | sed -n '/[^\/]*\(\/[^ ]*string\.h\).*/s//\1/p' | head -1` ;; esac case "$path" in '') path=/dev/null ;; *) path=//$path ;; esac cat >> confdefs.h <&6 echo "configure:4310: checking for string.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:4320: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 found=yes else echo "$ac_t""no" 1>&6 found=no fi case $found in yes) echo $ac_n "checking C header file for typedef size_t""... $ac_c" 1>&6 echo "configure:4345: checking C header file for typedef size_t" >&5 echo '#include ' >conftest.c if ($CPP conftest.c | grep size_t >/dev/null) 2>&5; then echo "$ac_t""declared" 1>&6 rm conftest.c else cat > conftest.$ac_ext < int size_t; int main() { ; return 0; } EOF if { (eval echo configure:4361: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 cat >> confdefs.h <<\EOF #define UD_NO_STRING_H_SIZE_T 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* fi ;; no) cat >> confdefs.h <<\EOF #define UD_NO_STRING_H_SIZE_T 1 EOF ;; esac for ac_func in strerror do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo "configure:4390: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else $ac_func(); #endif ; return 0; } EOF if { (eval echo configure:4418: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_$ac_func=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` cat >> confdefs.h <&6 LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}" fi done ac_safe=`echo "string.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for string.h""... $ac_c" 1>&6 echo "configure:4445: checking for string.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:4455: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking C header file for function strerror()""... $ac_c" 1>&6 echo "configure:4472: checking C header file for function strerror()" >&5 cat > conftest.$ac_ext < extern struct {int a; int b;} *strerror(); int main() { ; return 0; } EOF if { (eval echo configure:4483: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 UD_NO_STRERROR_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_STRERROR_DECL 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* else echo "$ac_t""no" 1>&6 UD_NO_STRERROR_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_STRERROR_DECL 1 EOF fi ac_safe=`echo "string.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for string.h""... $ac_c" 1>&6 echo "configure:4514: checking for string.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:4524: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking C header file for function strchr()""... $ac_c" 1>&6 echo "configure:4541: checking C header file for function strchr()" >&5 cat > conftest.$ac_ext < extern struct {int a; int b;} *strchr(); int main() { ; return 0; } EOF if { (eval echo configure:4552: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 UD_NO_STRCHR_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_STRCHR_DECL 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* else echo "$ac_t""no" 1>&6 UD_NO_STRCHR_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_STRCHR_DECL 1 EOF fi ac_safe=`echo "string.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for string.h""... $ac_c" 1>&6 echo "configure:4583: checking for string.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:4593: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking C header file for function strcpy()""... $ac_c" 1>&6 echo "configure:4610: checking C header file for function strcpy()" >&5 cat > conftest.$ac_ext < extern struct {int a; int b;} *strcpy(); int main() { ; return 0; } EOF if { (eval echo configure:4621: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 UD_NO_STRCPY_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_STRCPY_DECL 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* else echo "$ac_t""no" 1>&6 UD_NO_STRCPY_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_STRCPY_DECL 1 EOF fi ac_safe=`echo "string.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for string.h""... $ac_c" 1>&6 echo "configure:4652: checking for string.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:4662: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking C header file for function strrchr()""... $ac_c" 1>&6 echo "configure:4679: checking C header file for function strrchr()" >&5 cat > conftest.$ac_ext < extern struct {int a; int b;} *strrchr(); int main() { ; return 0; } EOF if { (eval echo configure:4690: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 UD_NO_STRRCHR_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_STRRCHR_DECL 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* else echo "$ac_t""no" 1>&6 UD_NO_STRRCHR_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_STRRCHR_DECL 1 EOF fi ac_safe=`echo "string.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for string.h""... $ac_c" 1>&6 echo "configure:4721: checking for string.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:4731: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking C header file for function strncpy()""... $ac_c" 1>&6 echo "configure:4748: checking C header file for function strncpy()" >&5 cat > conftest.$ac_ext < extern struct {int a; int b;} *strncpy(); int main() { ; return 0; } EOF if { (eval echo configure:4759: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 UD_NO_STRNCPY_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_STRNCPY_DECL 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* else echo "$ac_t""no" 1>&6 UD_NO_STRNCPY_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_STRNCPY_DECL 1 EOF fi ac_safe=`echo "string.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for string.h""... $ac_c" 1>&6 echo "configure:4790: checking for string.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:4800: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking C header file for function strtok()""... $ac_c" 1>&6 echo "configure:4817: checking C header file for function strtok()" >&5 cat > conftest.$ac_ext < extern struct {int a; int b;} *strtok(); int main() { ; return 0; } EOF if { (eval echo configure:4828: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 UD_NO_STRTOK_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_STRTOK_DECL 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* else echo "$ac_t""no" 1>&6 UD_NO_STRTOK_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_STRTOK_DECL 1 EOF fi for ac_func in strstr do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo "configure:4860: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else $ac_func(); #endif ; return 0; } EOF if { (eval echo configure:4888: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_$ac_func=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` cat >> confdefs.h <&6 LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}" fi done ac_safe=`echo "string.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for string.h""... $ac_c" 1>&6 echo "configure:4915: checking for string.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:4925: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking C header file for function strstr()""... $ac_c" 1>&6 echo "configure:4942: checking C header file for function strstr()" >&5 cat > conftest.$ac_ext < extern struct {int a; int b;} *strstr(); int main() { ; return 0; } EOF if { (eval echo configure:4953: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 UD_NO_STRSTR_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_STRSTR_DECL 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* else echo "$ac_t""no" 1>&6 UD_NO_STRSTR_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_STRSTR_DECL 1 EOF fi for ac_func in memmove do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo "configure:4985: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else $ac_func(); #endif ; return 0; } EOF if { (eval echo configure:5013: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_$ac_func=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` cat >> confdefs.h <&6 LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}" fi done ac_safe=`echo "string.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for string.h""... $ac_c" 1>&6 echo "configure:5040: checking for string.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:5050: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking C header file for function memmove()""... $ac_c" 1>&6 echo "configure:5067: checking C header file for function memmove()" >&5 cat > conftest.$ac_ext < extern struct {int a; int b;} *memmove(); int main() { ; return 0; } EOF if { (eval echo configure:5078: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 UD_NO_MEMMOVE_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_MEMMOVE_DECL 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* else echo "$ac_t""no" 1>&6 UD_NO_MEMMOVE_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_MEMMOVE_DECL 1 EOF fi for arg in difftime.c strftime.c time.h.in; do case "$PORT_MANIFEST" in *$arg*) ;; *) PORT_MANIFEST="${PORT_MANIFEST-} $arg" ;; esac done echo "#include " > conftestpath.c # # We add additional `/'s to the header file name to preclude compiler # warnings about the non-portability of `#include "/usr/include/..."'. # case `uname -s`${GCC-} in AIX) # # AIX's C compiler doesn't emit a line that gives the pathname of # the included file. # # AIX's C compiler puts dependency information in a `.u' file. # # AIX 4.1's cc(1) makes the following complaint: # ld: 0711-317 ERROR: Undefined symbol: .main # # AIX 4.1's ksh(1) has problems with `2>&5' so we redirect to # /dev/null. # $CC_MAKEDEPEND $CPPFLAGS conftestpath.c 2>/dev/null path=`sed -n '/[^\/]*\(\/[^ ]*time\.h\).*/s//\1/p' \ conftestpath.u | head -1` rm conftestpath.u ;; HP-UX) # # HP-UX's C compiler doesn't have a dependency-generation option, # so we use another method. # path=`$CC -E $CPPFLAGS conftestpath.c 2>&5 | sed -n '/[^\/]*\(\/[^ ]*time\.h\).*/s//\1/p' | head -1` ;; *) path=`$CC_MAKEDEPEND $CPPFLAGS conftestpath.c 2>&5 | sed -n '/[^\/]*\(\/[^ ]*time\.h\).*/s//\1/p' | head -1` ;; esac case "$path" in '') path=/dev/null ;; *) path=//$path ;; esac cat >> confdefs.h <&6 echo "configure:5180: checking for time.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:5190: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 found=yes else echo "$ac_t""no" 1>&6 found=no fi case $found in yes) echo $ac_n "checking C header file for typedef time_t""... $ac_c" 1>&6 echo "configure:5215: checking C header file for typedef time_t" >&5 echo '#include ' >conftest.c if ($CPP conftest.c | grep time_t >/dev/null) 2>&5; then echo "$ac_t""declared" 1>&6 rm conftest.c else cat > conftest.$ac_ext < int time_t; int main() { ; return 0; } EOF if { (eval echo configure:5231: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 cat >> confdefs.h <<\EOF #define UD_NO_TIME_H_TIME_T 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* fi ;; no) cat >> confdefs.h <<\EOF #define UD_NO_TIME_H_TIME_T 1 EOF ;; esac ac_safe=`echo "time.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for time.h""... $ac_c" 1>&6 echo "configure:5259: checking for time.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:5269: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 found=yes else echo "$ac_t""no" 1>&6 found=no fi case $found in yes) echo $ac_n "checking C header file for typedef size_t""... $ac_c" 1>&6 echo "configure:5294: checking C header file for typedef size_t" >&5 echo '#include ' >conftest.c if ($CPP conftest.c | grep size_t >/dev/null) 2>&5; then echo "$ac_t""declared" 1>&6 rm conftest.c else cat > conftest.$ac_ext < int size_t; int main() { ; return 0; } EOF if { (eval echo configure:5310: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 cat >> confdefs.h <<\EOF #define UD_NO_TIME_H_SIZE_T 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* fi ;; no) cat >> confdefs.h <<\EOF #define UD_NO_TIME_H_SIZE_T 1 EOF ;; esac for ac_func in difftime do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo "configure:5339: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else $ac_func(); #endif ; return 0; } EOF if { (eval echo configure:5367: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_$ac_func=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` cat >> confdefs.h <&6 LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}" fi done ac_safe=`echo "time.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for time.h""... $ac_c" 1>&6 echo "configure:5394: checking for time.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:5404: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking C header file for function difftime()""... $ac_c" 1>&6 echo "configure:5421: checking C header file for function difftime()" >&5 cat > conftest.$ac_ext < extern struct {int a; int b;} *difftime(); int main() { ; return 0; } EOF if { (eval echo configure:5432: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 UD_NO_DIFFTIME_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_DIFFTIME_DECL 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* else echo "$ac_t""no" 1>&6 UD_NO_DIFFTIME_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_DIFFTIME_DECL 1 EOF fi for ac_func in strftime do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo "configure:5464: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else $ac_func(); #endif ; return 0; } EOF if { (eval echo configure:5492: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_$ac_func=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` cat >> confdefs.h <&6 LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}" fi done ac_safe=`echo "time.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for time.h""... $ac_c" 1>&6 echo "configure:5519: checking for time.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:5529: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking C header file for function strftime()""... $ac_c" 1>&6 echo "configure:5546: checking C header file for function strftime()" >&5 cat > conftest.$ac_ext < extern struct {int a; int b;} *strftime(); int main() { ; return 0; } EOF if { (eval echo configure:5557: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""undeclared" 1>&6 UD_NO_STRFTIME_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_STRFTIME_DECL 1 EOF else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""declared" 1>&6 fi rm -f conftest* else echo "$ac_t""no" 1>&6 UD_NO_STRFTIME_DECL="1" cat >> confdefs.h <<\EOF #define UD_NO_STRFTIME_DECL 1 EOF fi echo $ac_n "checking for X11 header-files""... $ac_c" 1>&6 echo "configure:5589: checking for X11 header-files" >&5 if test -z "$CPP_X11"; then for dir in ${OPENWINHOME-/usr/openwin}/include /usr/include /usr/include /usr/local/include; do if test -r $dir/X11/Xlib.h; then CPP_X11=$dir break; fi done if test -z "$CPP_X11"; then echo "CPP_X11:X11 header:-I/usr/openwin/include" >> confdefs.missing fi fi CPP_X11=`case ${CPP_X11} in -I*) echo ${CPP_X11};; *) echo -I${CPP_X11-};; esac` echo "$ac_t""$CPP_X11" 1>&6 echo $ac_n "checking for X11 library""... $ac_c" 1>&6 echo "configure:5610: checking for X11 library" >&5 case "${LD_X11+set}" in set) echo "$ac_t""$LD_X11" 1>&6 ;; *) echo "$ac_t""" 1>&6 LIBS_save=$LIBS found=no echo $ac_n "checking for XNoOp(0) in default library(s)""... $ac_c" 1>&6 echo "configure:5620: checking for XNoOp(0) in default library(s)" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""yes" 1>&6 LD_X11= found=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* echo "$ac_t""no" 1>&6 os=`uname -s` for dir in '' ${OPENWINHOME-/usr/openwin}/lib /usr/lib/X11 /usr/X11/lib /usr/lib/X11R5 /usr/local/lib /usr/local/lib/X11 /usr/local/lib/X11R5; do for lib in X11; do case "${OPSYS}$OS_MAJOR" in unicos*) case "$dir" in '') LIBS="-l $lib";; *) LIBS="-L $dir -l $lib";; esac ;; sunos5*) case "$dir" in '') LIBS="-l$lib";; *) LIBS="-R$dir -L$dir -l$lib";; esac ;; *) case "$dir" in '') LIBS="-l$lib";; *) LIBS="-L$dir -l$lib";; esac ;; esac echo $ac_n "checking for XNoOp(0) in $LIBS""... $ac_c" 1>&6 echo "configure:5667: checking for XNoOp(0) in $LIBS" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""yes" 1>&6 LD_X11=$LIBS found=yes break 2 else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest* echo "$ac_t""no" 1>&6 done done fi rm -f conftest* LIBS=$LIBS_save case $found in no) echo "LD_X11:X11 library:-L/usr/lib/X11 -lX11" >> confdefs.missing ;; esac ;; esac FTPDIR=${FTPDIR-/home/ftp}/pub echo $ac_n "checking for package version""... $ac_c" 1>&6 echo "configure:5707: checking for package version" >&5 if test -z "$VERSION"; then if test -r VERSION; then \ VERSION="`cat VERSION`" else VERSION= fi fi if test -z "$MAJOR_NO"; then if test "$VERSION"; then \ MAJOR_NO=`echo $VERSION | sed -n '/^\([0-9][0-9]*\)\.[0-9][0-9]*.*/s//\1/p;q'` else MAJOR_NO= fi fi if test -z "$MINOR_NO"; then if test "$VERSION"; then \ MINOR_NO=`echo $VERSION | sed -n '/^[0-9][0-9]*\.\([0-9][0-9]*\).*/s//\1/p;q'` else MINOR_NO= fi fi echo "$ac_t""$MAJOR_NO.$MINOR_NO" 1>&6 if test -s confdefs.missing; then echo echo "$0: ERROR: The following variables need values:" echo awk -F: 'BEGIN {printf "%-13s%-27s%s\n", "VARIABLE", "DESCRIPTION", "EXAMPLE"; printf "%-13s%-27s%s\n", "--------", "-------", "-------"} {printf "%-13s%-27s%s\n", $1, $2, $3}' confdefs.missing if test -t 0 -a -t 1; then cat << \UD_CAT_EOF For each variable above, this script will now request that you input a value appropriate for your system (note that this value will not be interpolated by a shell -- so don't use shell substitutions). Alternatively, you can interrupt this script, set the above variables in the environment or in the file CUSTOMIZE, and then re-execute this script. (Variables referring to executable programs needn't be set if the relevant directory is added to PATH. See file INSTALL for details.) UD_CAT_EOF saveifs="$IFS"; IFS=: while read variable description example; do echo "Enter a value for the $description (e.g. \"$example\"):" >/dev/tty read value /dev/tty done conf.assigns IFS="$saveifs" . ./conf.assigns rm -f conf.assigns else cat << UD_CAT_EOF The above variables may be set in the environment or in the file CUSTOMIZE. Variables referring to executable programs needn't be set if the relevant directory is added to PATH. In any case, ./configure should probably be rerun. See file INSTALL for details. UD_CAT_EOF rm confdefs.missing exit 1 fi fi rm -f confdefs.missing trap '' 1 2 15 cat > confcache <<\EOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs. It is not useful on other systems. # If it contains results you don't want to keep, you may remove or edit it. # # By default, configure uses ./config.cache as the cache file, # creating it if it does not exist already. You can give configure # the --cache-file=FILE option to use a different cache file; that is # what configure does when it calls configure scripts in # subdirectories, so they share the cache. # Giving --cache-file=/dev/null disables caching, for debugging configure. # config.status only pays attention to the cache file if you give it the # --recheck option to rerun configure. # EOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, don't put newlines in cache variables' values. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. (set) 2>&1 | case `(ac_space=' '; set | grep ac_space) 2>&1` in *ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote substitution # turns \\\\ into \\, and sed turns \\ into \). sed -n \ -e "s/'/'\\\\''/g" \ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" ;; *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' ;; esac >> confcache if cmp -s $cache_file confcache; then : else if test -w $cache_file; then echo "updating cache $cache_file" cat confcache > $cache_file else echo "not updating unwritable cache $cache_file" fi fi rm -f confcache trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Any assignment to VPATH causes Sun make to only execute # the first set of double-colon rules, so remove it if not needed. # If there is a colon in the path, we need to keep it. if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' fi trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 DEFS=-DHAVE_CONFIG_H # Without the "./", some shells look in PATH for config.status. : ${CONFIG_STATUS=./config.status} echo creating $CONFIG_STATUS rm -f $CONFIG_STATUS cat > $CONFIG_STATUS </dev/null | sed 1q`: # # $0 $ac_configure_args # # Compiler output produced by configure, useful for debugging # configure, is in ./config.log if it exists. ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" for ac_option do case "\$ac_option" in -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; -version | --version | --versio | --versi | --vers | --ver | --ve | --v) echo "$CONFIG_STATUS generated by autoconf version 2.13" exit 0 ;; -help | --help | --hel | --he | --h) echo "\$ac_cs_usage"; exit 0 ;; *) echo "\$ac_cs_usage"; exit 1 ;; esac done ac_given_srcdir=$srcdir trap 'rm -fr `echo "\ Makefile \ port/Makefile \ port/master.mk \ port/fortc/Makefile \ lib/Makefile \ lib/c/Makefile \ lib/c/cgm/Makefile \ lib/c/gksm/Makefile \ lib/c/x/Makefile \ lib/fortran/Makefile \ fontdb/Makefile \ doc/binding/Makefile \ doc/userdoc/Makefile \ doc/Makefile \ progs/Makefile \ ${CONFIG_FILES-} port/misc/udposix.h port/misc/stdarg.h port/misc/stddef.h port/misc/limits.h port/misc/signal.h port/misc/stdlib.h port/misc/string.h port/misc/time.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 EOF cat >> $CONFIG_STATUS < conftest.subs <<\\CEOF $ac_vpsub $extrasub s%@SHELL@%$SHELL%g s%@CFLAGS@%$CFLAGS%g s%@CPPFLAGS@%$CPPFLAGS%g s%@CXXFLAGS@%$CXXFLAGS%g s%@FFLAGS@%$FFLAGS%g s%@DEFS@%$DEFS%g s%@LDFLAGS@%$LDFLAGS%g s%@LIBS@%$LIBS%g s%@exec_prefix@%$exec_prefix%g s%@prefix@%$prefix%g s%@program_transform_name@%$program_transform_name%g s%@bindir@%$bindir%g s%@sbindir@%$sbindir%g s%@libexecdir@%$libexecdir%g s%@datadir@%$datadir%g s%@sysconfdir@%$sysconfdir%g s%@sharedstatedir@%$sharedstatedir%g s%@localstatedir@%$localstatedir%g s%@libdir@%$libdir%g s%@includedir@%$includedir%g s%@oldincludedir@%$oldincludedir%g s%@infodir@%$infodir%g s%@mandir@%$mandir%g s%@CONFIG_FILES@%$CONFIG_FILES%g s%@PORT_SUBDIRS@%$PORT_SUBDIRS%g s%@PORT_MANIFEST@%$PORT_MANIFEST%g s%@PORT_ALL@%$PORT_ALL%g s%@PORT_CLEAN@%$PORT_CLEAN%g s%@PORT_DISTCLEAN@%$PORT_DISTCLEAN%g s%@PORT_INSTALL@%$PORT_INSTALL%g s%@prog@%$prog%g s%@WHATIS@%$WHATIS%g s%@MAKEWHATIS_CMD@%$MAKEWHATIS_CMD%g s%@CC@%$CC%g s%@OPSYS@%$OPSYS%g s%@CC_MAKEDEPEND@%$CC_MAKEDEPEND%g s%@CPP@%$CPP%g s%@UD_NO_CONST@%$UD_NO_CONST%g s%@UD_NO_VOLATILE@%$UD_NO_VOLATILE%g s%@UD_NO_SIGNED@%$UD_NO_SIGNED%g s%@UD_NO_PROTOTYPES@%$UD_NO_PROTOTYPES%g s%@UD_NO_HASH@%$UD_NO_HASH%g s%@UD_NO_HASHHASH@%$UD_NO_HASHHASH%g s%@UD_NO_VOIDSTAR@%$UD_NO_VOIDSTAR%g s%@AR@%$AR%g s%@TARFLAGS@%$TARFLAGS%g s%@RANLIB@%$RANLIB%g s%@FTPBINDIR@%$FTPBINDIR%g s%@LIBOBJS@%$LIBOBJS%g s%@PORT_HEADERS@%$PORT_HEADERS%g s%@PORT_CPP_LDM@%$PORT_CPP_LDM%g s%@LD_UDPORT@%$LD_UDPORT%g s%@FC@%$FC%g s%@LD_FORTRAN@%$LD_FORTRAN%g s%@NEQN@%$NEQN%g s%@TBL@%$TBL%g s%@TROFF@%$TROFF%g s%@FORTC@%$FORTC%g s%@UD_NO_SIGACTION_DECL@%$UD_NO_SIGACTION_DECL%g s%@UD_NO_ATEXIT_DECL@%$UD_NO_ATEXIT_DECL%g s%@UD_NO_GETENV_DECL@%$UD_NO_GETENV_DECL%g s%@UD_NO_STRERROR_DECL@%$UD_NO_STRERROR_DECL%g s%@UD_NO_STRCHR_DECL@%$UD_NO_STRCHR_DECL%g s%@UD_NO_STRCPY_DECL@%$UD_NO_STRCPY_DECL%g s%@UD_NO_STRRCHR_DECL@%$UD_NO_STRRCHR_DECL%g s%@UD_NO_STRNCPY_DECL@%$UD_NO_STRNCPY_DECL%g s%@UD_NO_STRTOK_DECL@%$UD_NO_STRTOK_DECL%g s%@UD_NO_STRSTR_DECL@%$UD_NO_STRSTR_DECL%g s%@UD_NO_MEMMOVE_DECL@%$UD_NO_MEMMOVE_DECL%g s%@UD_NO_DIFFTIME_DECL@%$UD_NO_DIFFTIME_DECL%g s%@UD_NO_STRFTIME_DECL@%$UD_NO_STRFTIME_DECL%g s%@CPP_X11@%$CPP_X11%g s%@LD_X11@%$LD_X11%g s%@FTPDIR@%$FTPDIR%g s%@VERSION@%$VERSION%g s%@MAJOR_NO@%$MAJOR_NO%g s%@MINOR_NO@%$MINOR_NO%g CEOF EOF cat >> $CONFIG_STATUS <<\EOF # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. ac_file=1 # Number of current file. ac_beg=1 # First line for current file. ac_end=$ac_max_sed_cmds # Line after last line for current file. ac_more_lines=: ac_sed_cmds="" while $ac_more_lines; do if test $ac_beg -gt 1; then sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file else sed "${ac_end}q" conftest.subs > conftest.s$ac_file fi if test ! -s conftest.s$ac_file; then ac_more_lines=false rm -f conftest.s$ac_file else if test -z "$ac_sed_cmds"; then ac_sed_cmds="sed -f conftest.s$ac_file" else ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" fi ac_file=`expr $ac_file + 1` ac_beg=$ac_end ac_end=`expr $ac_end + $ac_max_sed_cmds` fi done if test -z "$ac_sed_cmds"; then ac_sed_cmds=cat fi EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case "$ac_file" in *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; *) ac_file_in="${ac_file}.in" ;; esac # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. # Remove last slash and all that follows it. Not all systems have dirname. ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then # The file is in a subdirectory. test ! -d "$ac_dir" && mkdir "$ac_dir" ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" # A "../" for each directory in $ac_dir_suffix. ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` else ac_dir_suffix= ac_dots= fi case "$ac_given_srcdir" in .) srcdir=. if test -z "$ac_dots"; then top_srcdir=. else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; *) # Relative path. srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" top_srcdir="$ac_dots$ac_given_srcdir" ;; esac echo creating "$ac_file" rm -f "$ac_file" configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." case "$ac_file" in *Makefile*) ac_comsub="1i\\ # $configure_input" ;; *) ac_comsub= ;; esac ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` sed -e "$ac_comsub s%@configure_input@%$configure_input%g s%@srcdir@%$srcdir%g s%@top_srcdir@%$top_srcdir%g " $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file fi; done rm -f conftest.s* # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' ac_dC='\3' ac_dD='%g' # ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_uB='\([ ]\)%\1#\2define\3' ac_uC=' ' ac_uD='\4%g' # ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_eB='$%\1#\2define\3' ac_eC=' ' ac_eD='%g' if test "${CONFIG_HEADERS+set}" != set; then EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF fi for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case "$ac_file" in *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; *) ac_file_in="${ac_file}.in" ;; esac echo creating $ac_file rm -f conftest.frag conftest.in conftest.out ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` cat $ac_file_inputs > conftest.in EOF # Transform confdefs.h into a sed script conftest.vals that substitutes # the proper values into config.h.in to produce config.h. And first: # Protect against being on the right side of a sed subst in config.status. # Protect against being in an unquoted here document in config.status. rm -f conftest.vals cat > conftest.hdr <<\EOF s/[\\&%]/\\&/g s%[\\$`]%\\&%g s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp s%ac_d%ac_u%gp s%ac_u%ac_e%gp EOF sed -n -f conftest.hdr confdefs.h > conftest.vals rm -f conftest.hdr # This sed command replaces #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. cat >> conftest.vals <<\EOF s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% EOF # Break up conftest.vals because some shells have a limit on # the size of here documents, and old seds have small limits too. rm -f conftest.tail while : do ac_lines=`grep -c . conftest.vals` # grep -c gives empty output for an empty file on some AIX systems. if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi # Write a limited-size here document to conftest.frag. echo ' cat > conftest.frag <> $CONFIG_STATUS sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS echo 'CEOF sed -f conftest.frag conftest.in > conftest.out rm -f conftest.in mv conftest.out conftest.in ' >> $CONFIG_STATUS sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail rm -f conftest.vals mv conftest.tail conftest.vals done rm -f conftest.vals cat >> $CONFIG_STATUS <<\EOF rm -f conftest.frag conftest.h echo "/* $ac_file. Generated automatically by configure. */" > conftest.h cat conftest.in >> conftest.h rm -f conftest.in if cmp -s $ac_file conftest.h 2>/dev/null; then echo "$ac_file is unchanged" rm -f conftest.h else # Remove last slash and all that follows it. Not all systems have dirname. ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then # The file is in a subdirectory. test ! -d "$ac_dir" && mkdir "$ac_dir" fi rm -f $ac_file mv conftest.h $ac_file fi fi; done EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF # # Create a script to accomplish the post processing. # cat << UD_EOF_CONFTEST_C > conftest.c #include main() { return readsub((char*)NULL) ? 0 : 1; } readsub(inpath) char *inpath; { char buf[2048], path[1024]; FILE *fp = inpath == NULL ? stdin : fopen(inpath, "r"); if (fp == NULL) { (void) perror(inpath); return 0; } buf[sizeof(buf)-1] = 0; while (fgets(buf, sizeof(buf), fp) != NULL) { if (sscanf(buf, "include%*[ \t]%s", path) == 1) { if (!readsub(path)) return 0; } else { (void) fputs(buf, stdout); } } return 1; } UD_EOF_CONFTEST_C if eval $CC -o conftest ${CFLAGS-} ${CPPFLAGS-} ${LDFLAGS-} conftest.c; then conftest=`pwd`/conftest case "${CONFIG_FILES-}" in '') ;; *) for file in ${CONFIG_FILES-}; do echo 1>&2 "expanding \`include's in file \`$file'" sd=`pwd`/`echo $file | sed 's,[^/]*$,,'` base=`basename $file` (cd $sd && $conftest < $base > conftest.mk && mv conftest.mk $base) || exit 1 done ;; esac fi rm conftest conftest.c exit 0 EOF chmod +x $CONFIG_STATUS rm -fr confdefs* $ac_clean_files test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 xgks-2.6.1+dfsg.2/src/ORIGIN0000644000175000017500000000012511413611016016376 0ustar amckinstryamckinstryAnonymous FTP: host: unidata.ucar.edu [128.117.140.3] file: pub/xgks*.tar.Z xgks-2.6.1+dfsg.2/src/patch/0000755000175000017500000000000011413611016016565 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/patch/5.patch0000644000175000017500000004051311413611016017755 0ustar amckinstryamckinstryGreetings, This is patch #5 for version 2.4 of the XGKS package (alias SDM-3, patch #8). It accomplishes the following: BUG FIXES A bug introduced in XGKS patch #4 is fixed. The CGM internal function size_point(), size_direct_color(), and size_cell() are actually implemented as macros. Unfortunately, in splitting the CGM implementation into separate Metafile input (MI) and Metafile output (MO) modules, the macro definitions were not made common to both, with the result that "undefined symbol" errors occur when linking. A bug in the handling of X events (introduced in XGKS patch #3) is fixed. This bug prevented the XGKS window from being automatically redrawn when resized (one had to click inside the window to have it redrawn). A missing newline escape is added to the `install' rule in the makefile of the demonstration programs (i.e. "progs/Makefile"). This caused a make(1) in "progs/" to abort on the `install' target. ENHANCEMENTS The CGM and GKSM Makefiles are modified to use the OPENWINHOME environment variable (if it exists) to set the directory path for the X11 header-files. An `extern' storage-class specifier is added to the CGM I/O buffer declaration to avoid compiler warnings. MISCELLANEOUS The GKS demonstration programs progs/hanoi(1), progs/gksdemo(1), and progs/star(1) are now installed by the target `install'. This patch-file is designed to be applied from the top-level XGKS directory via Larry Wall's patch(1) utility, e.g. $ cd /usr/local/sdm/src/gks/x/xgks $ patch -p0 < this_file The "-p0" option is necessary. You may apply this patch, or, alternatively, obtain the latest XGKS (with all patches applied) via anonymous FTP: host: unidata.ucar.edu files: pub/xgks.tar.Z Regards, Steve Emmerson Prereq: 4 *** PATCHLEVEL-old Mon Oct 28 11:00:04 1991 --- PATCHLEVEL Mon Oct 28 10:59:45 1991 *************** *** 1 **** ! 4 --- 1 ---- ! 5 =================================================================== RCS file: lib/src/cgm/RCS/Makefile,v retrieving revision 1.5 diff -c -r1.5 lib/src/cgm/Makefile *** 1.5 1991/10/16 16:53:31 --- lib/src/cgm/Makefile 1991/10/18 14:10:11 *************** *** 1,6 **** # Makefile for the Computer Graphics Metafile (CGM) backend to XGKS # ! # $Id: 5.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # Anticipated, changeable macros (others might not work): COPTS = -O --- 1,6 ---- # Makefile for the Computer Graphics Metafile (CGM) backend to XGKS # ! # $Id: 5.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # Anticipated, changeable macros (others might not work): COPTS = -O *************** *** 36,43 **** RANLIB="$(RANLIB)" # Directories: UNICOS_INC = `case $(OS) in unicos*) echo -I/usr/include/stdc;; esac` ! INCLUDES = -I.. -I$(DESTDIR)/include/udposix $(UNICOS_INC) DEFINES = CPPOPTS = $(INCLUDES) $(DEFINES) CFLAGS = $(CPPOPTS) $(COPTS) --- 36,45 ---- RANLIB="$(RANLIB)" # Directories: + X11_INCDIR = $${OPENWINHOME-/usr}/include UNICOS_INC = `case $(OS) in unicos*) echo -I/usr/include/stdc;; esac` ! INCLUDES = -I.. -I$(DESTDIR)/include/udposix -I$(X11_INCDIR) \ ! $(UNICOS_INC) DEFINES = CPPOPTS = $(INCLUDES) $(DEFINES) CFLAGS = $(CPPOPTS) $(COPTS) =================================================================== RCS file: lib/src/gksm/RCS/Makefile,v retrieving revision 1.9 diff -c -r1.9 lib/src/gksm/Makefile *** 1.9 1991/08/26 20:14:02 --- lib/src/gksm/Makefile 1991/10/18 14:12:30 *************** *** 1,8 **** # Makefile for the GKS Metafile (GKSM) backend to XGKS # ! # $__Header$ ! # ! # $__copyright$ # Anticipated, changeable macros (others might not work): COPTS = -O --- 1,6 ---- # Makefile for the GKS Metafile (GKSM) backend to XGKS # ! # $Id: 5.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # Anticipated, changeable macros (others might not work): COPTS = -O *************** *** 38,45 **** RANLIB="$(RANLIB)" # Directories: UNICOS_INC = `case $(OS) in unicos*) echo -I/usr/include/stdc;; esac` ! INCLUDES = -I.. -I$(DESTDIR)/include/udposix $(UNICOS_INC) DEFINES = CPPOPTS = $(INCLUDES) $(DEFINES) CFLAGS = $(CPPOPTS) $(COPTS) --- 36,45 ---- RANLIB="$(RANLIB)" # Directories: + X11_INCDIR = $${OPENWINHOME-/usr}/include UNICOS_INC = `case $(OS) in unicos*) echo -I/usr/include/stdc;; esac` ! INCLUDES = -I.. -I$(DESTDIR)/include/udposix -I$(X11_INCDIR) \ ! $(UNICOS_INC) DEFINES = CPPOPTS = $(INCLUDES) $(DEFINES) CFLAGS = $(CPPOPTS) $(COPTS) =================================================================== RCS file: progs/RCS/Makefile,v retrieving revision 1.9 diff -c -r1.9 progs/Makefile *** 1.9 1991/10/01 23:03:47 --- progs/Makefile 1991/10/22 14:58:35 *************** *** 1,4 **** ! # $Id: 5.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # # Copyright (C) 1990 UCAR/Unidata # --- 1,4 ---- ! # $Id: 5.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # # Copyright (C) 1990 UCAR/Unidata # *************** *** 114,122 **** fi # - # Note that the programs "hanoi", "star", and "gksdemo" will not be - # installed. IMHO, doing so would serve no useful purpose. - # # This rule invokes $(MAKE) to enable make(1)-time redefinition of # BINDIR. # --- 114,119 ---- *************** *** 130,141 **** $(BINDIR)/mi \ $(BINDIR)/pline \ $(BINDIR)/pmark ! # $(BINDIR)/hanoi \ ! # $(BINDIR)/star \ ! # $(BINDIR)/gksdemo ! # NB: When run, the programs "hanoi" and "font" make "*.out" GKS ! # Metafiles. clean: rm -f core $(CPROGS) $(FPROGS) *.o *.log *.ln *.out *.gksm *.cgm --- 127,141 ---- $(BINDIR)/mi \ $(BINDIR)/pline \ $(BINDIR)/pmark ! $(BINDIR)/hanoi ! -if [ -n "$(FC)" ]; then \ ! $(MAKE) $(MFLAGS) $(MY_MFLAGS) \ ! $(BINDIR)/star \ ! $(BINDIR)/gksdemo; \ ! fi ! # NB: When run, the programs "hanoi" and "font" make "*.gksm" GKS ! # Metafiles by default. clean: rm -f core $(CPROGS) $(FPROGS) *.o *.log *.ln *.out *.gksm *.cgm =================================================================== RCS file: lib/src/cgm/RCS/cgmi.c,v retrieving revision 1.1 diff -c -r1.1 lib/src/cgm/cgmi.c *** 1.1 1991/10/16 16:25:13 --- lib/src/cgm/cgmi.c 1991/10/28 16:37:38 *************** *** 29,35 **** #include "cgm_implem.h" /* for implementation details */ #ifndef lint ! static char rcsid[] = "$Id: 5.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif /* --- 29,35 ---- #include "cgm_implem.h" /* for implementation details */ #ifndef lint ! static char rcsid[] = "$Id: 5.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif /* *************** *** 296,302 **** mf_cgmi *mi; XGKSMGRAPH *graph; { ! graph->num_pts = BYTES_LEFT(mi)/size_point(); graph->pts = JUST_AFTER(graph, XGKSMGRAPH, Gpoint); mi_point(mi, graph->pts, graph->num_pts); } --- 296,302 ---- mf_cgmi *mi; XGKSMGRAPH *graph; { ! graph->num_pts = BYTES_LEFT(mi)/size_point(mi); graph->pts = JUST_AFTER(graph, XGKSMGRAPH, Gpoint); mi_point(mi, graph->pts, graph->num_pts); } *************** *** 611,617 **** if (mode == RETURN_INFO) { mi->CurItem.type = (int)GKSM_POLYLINE; mi->CurItem.length = sizeof(XGKSMGRAPH) + sizeof(Gpoint)* ! (BYTES_LEFT(mi)/size_point()); } else { mi_graph(mi, &data->graph); } --- 611,617 ---- if (mode == RETURN_INFO) { mi->CurItem.type = (int)GKSM_POLYLINE; mi->CurItem.length = sizeof(XGKSMGRAPH) + sizeof(Gpoint)* ! (BYTES_LEFT(mi)/size_point(mi)); } else { mi_graph(mi, &data->graph); } *************** *** 621,627 **** if (mode == RETURN_INFO) { mi->CurItem.type = (int)GKSM_POLYMARKER; mi->CurItem.length = sizeof(XGKSMGRAPH) + sizeof(Gpoint)* ! (BYTES_LEFT(mi)/size_point()); } else { mi_graph(mi, &data->graph); } --- 621,627 ---- if (mode == RETURN_INFO) { mi->CurItem.type = (int)GKSM_POLYMARKER; mi->CurItem.length = sizeof(XGKSMGRAPH) + sizeof(Gpoint)* ! (BYTES_LEFT(mi)/size_point(mi)); } else { mi_graph(mi, &data->graph); } *************** *** 631,637 **** if (mode == RETURN_INFO) { mi->CurItem.type = (int)GKSM_FILL_AREA; mi->CurItem.length = sizeof(XGKSMGRAPH) + sizeof(Gpoint)* ! (BYTES_LEFT(mi)/size_point()); } else { mi_graph(mi, &data->graph); } --- 631,637 ---- if (mode == RETURN_INFO) { mi->CurItem.type = (int)GKSM_FILL_AREA; mi->CurItem.length = sizeof(XGKSMGRAPH) + sizeof(Gpoint)* ! (BYTES_LEFT(mi)/size_point(mi)); } else { mi_graph(mi, &data->graph); } =================================================================== RCS file: lib/src/cgm/RCS/cgmo.c,v retrieving revision 1.1 diff -c -r1.1 lib/src/cgm/cgmo.c *** 1.1 1991/10/16 16:25:13 --- lib/src/cgm/cgmo.c 1991/10/28 16:39:50 *************** *** 29,35 **** #include "cgm_implem.h" /* for implementation details */ #ifndef lint ! static char rcsid[] = "$Id: 5.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif /* --- 29,35 ---- #include "cgm_implem.h" /* for implementation details */ #ifndef lint ! static char rcsid[] = "$Id: 5.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif /* *************** *** 293,301 **** mo_octets(cgmo, num, bytes, 2); \ ) - #define size_int16() (size_t)2 - /* * Write 16-bit, integer parameters. */ --- 293,299 ---- *************** *** 481,488 **** mo_int16(cgmo, num, x); \ ) - #define size_vdc() size_int16() - /* * Write VDC parameters. --- 479,484 ---- *************** *** 514,521 **** MO_VDC(cgmo, num, (ptr)->y); \ ) - #define size_point() (2*size_vdc()) - /* * Write point parameters. --- 510,515 ---- *************** *** 557,565 **** mo_octets(cgmo, num, modc_rep, 3); \ ) - #define size_direct_color() (size_t)3 - /* * Write direct color parameters. * --- 551,557 ---- *************** *** 629,636 **** mo_octet(cgmo, num, 0); } - #define size_cell() (size_t)(DEFAULT_COLRPREC/8) - /* * Write an element whose parameters are all the same. --- 621,626 ---- *************** *** 688,694 **** cp += nchr; \ ) ! ADD_STRING("UCAR/Unidata XGKS/CGM $Revision: 2.5.4.1 $: "); if (username == NULL) { ADD_STRING(""); --- 678,684 ---- cp += nchr; \ ) ! ADD_STRING("UCAR/Unidata XGKS/CGM $Revision: 2.5.4.1 $: "); if (username == NULL) { ADD_STRING(""); =================================================================== RCS file: lib/src/cgm/RCS/cgm_implem.h,v retrieving revision 1.1 diff -c -r1.1 lib/src/cgm/cgm_implem.h *** 1.1 1991/10/16 16:35:26 --- lib/src/cgm/cgm_implem.h 1991/10/28 16:36:29 *************** *** 3,9 **** * for the Computer Graphics Metatafile (CGM) implementaion of an XGKS * Metafile. * ! * $Id: 5.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ */ #ifndef CGM_IMPLEM_H_SEEN --- 3,9 ---- * for the Computer Graphics Metatafile (CGM) implementaion of an XGKS * Metafile. * ! * $Id: 5.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ */ #ifndef CGM_IMPLEM_H_SEEN *************** *** 185,189 **** --- 185,198 ---- * I/O buffer: */ unsigned char cgm_buf[]; + + /* + * CGM implementation-functions implemented as macros: + */ + #define size_point(cgm) (2*size_vdc(cgm)) + #define size_vdc(cgm) size_int16() + #define size_int16() (size_t)2 + #define size_direct_color() (size_t)3 + #define size_cell() (size_t)(DEFAULT_COLRPREC/8) #endif /* CGM_IMPLEM_H_SEEN not defined above */ =================================================================== RCS file: lib/src/cgm/RCS/cgm_implem.h,v retrieving revision 1.2 diff -c -r1.2 lib/src/cgm/cgm_implem.h *** 1.2 1991/10/28 16:36:48 --- lib/src/cgm/cgm_implem.h 1991/10/29 16:09:06 *************** *** 3,9 **** * for the Computer Graphics Metatafile (CGM) implementaion of an XGKS * Metafile. * ! * $Id: 5.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ */ #ifndef CGM_IMPLEM_H_SEEN --- 3,9 ---- * for the Computer Graphics Metatafile (CGM) implementaion of an XGKS * Metafile. * ! * $Id: 5.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ */ #ifndef CGM_IMPLEM_H_SEEN *************** *** 184,190 **** /* * I/O buffer: */ ! unsigned char cgm_buf[]; /* * CGM implementation-functions implemented as macros: --- 184,190 ---- /* * I/O buffer: */ ! extern unsigned char cgm_buf[]; /* * CGM implementation-functions implemented as macros: =================================================================== RCS file: lib/src/x/RCS/xevent.c,v retrieving revision 2.15 diff -c -r2.15 lib/src/x/xevent.c *** 2.15 1991/09/30 20:31:44 --- lib/src/x/xevent.c 1991/10/29 16:22:47 *************** *** 46,52 **** #ifndef lint static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 5.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif --- 46,52 ---- #ifndef lint static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 5.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif *************** *** 154,196 **** /* ! * Handle X ConfigureNotify events. * ! * Since XGKS just redraws everything, we only need to transform Configure ! * Notify events into Expose events for everything to work out. */ - static int - XgksConfigureNotifyEvent(xev, ws) - XEvent *xev; - WS_STATE_PTR ws; - { - Display *dpy = ws->dpy; - - /* - * Transform this event into an Expose event, but only if backing-store - * is disabled. - */ - if (!ws->backing_store_on) { - xev->xexpose.type = Expose; - xev->xexpose.send_event = True; - xev->xexpose.count = 0; - #ifdef DEBUG - (void) fprintf(stderr, "XgksConfigureNotify: calling XSendEvent()\n"); - #endif - XSendEvent(dpy, ws->win, True, ExposureMask, xev); - } - - return 0; - } - - - /* - * The XEvent interrupt processing routine. This routine can be called - * both synchronously (while awaiting an event) and asynchronously (as - * a signal-handler). - * - * NB: This routine doesn't wait if no input events are queued. - */ void xProcessEvents() { --- 154,166 ---- /* ! * The XEvent interrupt processing routine. * ! * This routine can be called both synchronously (while awaiting an event) ! * and asynchronously (as a signal-handler). It takes every opportunity ! * to obtain an X-event to which it can respond, but doesn't wait indefinitely ! * for such an event. */ void xProcessEvents() { *************** *** 206,212 **** Window win = xgks_state.openedws[i].win; WS_STATE_ENTRY *ws = xgks_state.openedws[i].ws; ! if (XCheckWindowEvent(ws->dpy, win, ~NoEventMask, &xev) == True) { # ifdef EVENTDEBUG print_event(&xev); --- 176,188 ---- Window win = xgks_state.openedws[i].win; WS_STATE_ENTRY *ws = xgks_state.openedws[i].ws; ! # ifdef EVENTDEBUG ! (void) fputs("xProcessEvents(): calling XCheckWindowEvent()\n", ! stderr); ! # endif ! ! while (XCheckWindowEvent(ws->dpy, win, ~NoEventMask, &xev) ! == True) { # ifdef EVENTDEBUG print_event(&xev); *************** *** 216,225 **** case Expose: (void) XgksExposeEvent(&xev, ws); - break; - - case ConfigureNotify: - (void) XgksConfigureNotifyEvent(&xev, ws); break; case KeyPress: --- 192,197 ---- =================================================================== RCS file: progs/RCS/Makefile,v retrieving revision 1.10 diff -c -r1.10 progs/Makefile *** 1.10 1991/10/22 14:58:42 --- progs/Makefile 1991/10/29 16:30:41 *************** *** 1,4 **** ! # $Id: 5.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # # Copyright (C) 1990 UCAR/Unidata # --- 1,4 ---- ! # $Id: 5.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # # Copyright (C) 1990 UCAR/Unidata # *************** *** 126,132 **** $(BINDIR)/font \ $(BINDIR)/mi \ $(BINDIR)/pline \ ! $(BINDIR)/pmark $(BINDIR)/hanoi -if [ -n "$(FC)" ]; then \ $(MAKE) $(MFLAGS) $(MY_MFLAGS) \ --- 126,132 ---- $(BINDIR)/font \ $(BINDIR)/mi \ $(BINDIR)/pline \ ! $(BINDIR)/pmark \ $(BINDIR)/hanoi -if [ -n "$(FC)" ]; then \ $(MAKE) $(MFLAGS) $(MY_MFLAGS) \ xgks-2.6.1+dfsg.2/src/patch/6.patch0000644000175000017500000001074611413611016017763 0ustar amckinstryamckinstryGreetings, This is patch #6 for version 2.4 of the XGKS package. It accomplishes the following: BUG FIXES A bug in the handling of window redraws is fixed. This bug was possibly introduced in XGKS patch #5 (sigh) and causes an XGKS window on an AIX server to be redrawn twice, instead of just once, when the window is moved or resized. This fix has been tested on the ULTRIX DecWindows server, the AIX server, and the MIT X11R4 server under SunOS. An incorrect usage of a macro-function in a debug assertion in file "lib/src/cgmo.c" is fixed. This caused problems under UNICOS. (Thanks to Helmut Schumacher ) A superfluous declaration of free() in file "lib/src/x/xcolours.c" is deleted. This caused problems under UNICOS. (Thanks to Helmut Schumacher ) The CGM backend is extensively modified. This corrects the order and placement of several CGM elements within an output file. The writing of color-index parameters in the CGM backend is corrected. They used to be 16-bits; they're now 8-bits -- as the standard demands. Initialization of the WISS module is made independent of whether or not an X workstation is opened. The updating of the display surface when a REQUEST PICK is requested is modified to ensure that any prompting message is not erased. A superfluous definition of exit() in `lib/src/x/xtext.c' is removed. It caused compilation to fail under SunOS. ENHANCEMENTS The file `lib/src/x/xport.c', containing system-dependent support routines for the X backend, is modified to accomodate the peculiarities of HPUX 8.05. The Fortran INQUIRE functions are modified to use the X display- name established by the Fortran subroutine gescid() (ESCAPE SET CONNECTION ID). A `tags' target is added to the Fortran library makefile "lib/fortran/Makefile. Support is added for redefining the $(CC) macro in the Makefiles. The writing of the CGM background color is separated from the writing of the color table. References to `isset' in the CGM implementation are changed to `setmask' to avoid name-conflicts on certain platforms (notably HPUX). A synopsis of the escape functions is added to the XGKS manual-page A section describing them is also added. The 80-character limit on the name of a Metafile in the Fortran interface is increased to, at least, 255 (_POSIX_PATH_MAX). Support is added to the Makefiles for finding the X11 header-files under HPUX. If the SET COLOUR REPRESENTATION function cannot, at first, obtain an X color-cell, then it will attempt to free an already allocated color- cell and try again. The new routine urealloc() is added to handle memory reallocation. This routine is safe in the presence of signals. MISCELLANEOUS An $(OBJS) macro is added to the Makefile link-line of all demonstration programs (i.e. those in the "progs/" sub-directory). This allows testing of individual XGKS library modules. The demonstration program "progs/fonts" is modified to await a BREAK key after displaying each frame. A `test' target is added to the Makefile for the demonstration programs, "progs/Makefile". A superfluous XSync() call is removed from the X-event handler. The implementation details of the CGM, and GKSM backends are made invisible to the calling routines; thus, obviating the need for recompilation when an implementation changes. The order of function definitions in certain files is changed to accomodate the HPUX 8.05 C compiler. The README file is modified to reflect the new, top-level, GNU-make(1) installation procedures. The sources are slightly modified to reduce warnings from Standard C compilers. Superfluous `-lc' specifications are removed from the load-lines for the FORTRAN demonstration programs under the NeXTOS operating system. This patch-file is designed to be applied from the top-level XGKS directory via Larry Wall's patch(1) utility, e.g. $ cd /usr/local/sdm/src/gks/x/xgks $ patch -p0 < this_file The "-p0" option is necessary. You may apply this patch, or, alternatively, obtain the latest XGKS (with all patches applied) via anonymous FTP: host: unidata.ucar.edu files: pub/sdm/xgks.tar.Z Regards, Steve Emmerson Prereq: 5 *** PATCHLEVEL-old --- PATCHLEVEL *************** *** 1 **** ! 5 --- 1 ---- ! 6 xgks-2.6.1+dfsg.2/src/patch/1.patch0000644000175000017500000023071011413611016017751 0ustar amckinstryamckinstryGreetings, This is patch #1 for version 2.4 of the XGKS package (alias patch #2 for SDM-3). It Adds support for HPUX, DomainOS, and UNICOS to both C souces and Makefiles; Removes the dependency on sizeof(short) == 2 from the CGM backend -- making CGM I/O possible under UNICOS; Modifies the GKSM interpreter program `progs/mi' to have better item-buffer handling; Adds support for nil UDAPE library under HPUX, AIX, and DOMAINOS; Removes some lint(1) that crept into the distribution and/or was found by sophisticated compilers; Modifies some sources to accomodate some minor bugs in certain C compilers (notably c89(1) under HPUX 9.0 and cc(1) under NeXTOS); Removes checking for invalid data-record sizes from ginterpret() (the checking was useless because the GKSM backend returns the wrong size); Comments-out the Fortran OPEN of unit 5 in progs/star.f (which shouldn't be necessary); Makes some clarifications to README; Adds `*.bak' to the `clean' target of several Makefiles; Adds a `./' prefix to the invocation of several in-directory utilities by make(1); Changes "cc" to "$(CC)" in some Makefiles; Corrects and expands the sample compilations and clarifies the use of DESTDIR in doc/xgks.3; Adjusts the RELEASE.NOTES. This patch-file is designed to be applied from the top-level XGKS directory (e.g. "/usr/local/sdm/src/gks/x/xgks") via Larry Wall's patch(1) utility, e.g. $ cd /usr/local/sdm/src/gks/x/xgks $ patch -p0 -f < this_file Note the "-p0" and "-f" options. The "-f" (force) option is unfortunately necessary due to a lack of synchronicity between the XGKS and general SDM releases. You may apply this patch, or, alternatively, obtain the latest XGKS (with all patches applied) via anonymous FTP: host: unidata.ucar.edu files: pub/xgks.tar.Z In any case, to realize the HPUX and DOMAINOS additions, you should also obtain the latest UDAPE package via anonymous FTP from the above host, file `pub/udape.tar.Z'. Regards, Steve Emmerson ############ *** /dev/null Fri Aug 30 08:05:51 1991 --- PATCHLEVEL Fri Aug 30 08:20:46 1991 *************** *** 0 **** --- 1 ---- + 1 This patch adds support for HP/UX and DomainOS to the file "lib/fortran/fortxgks.h". It should be applied from the top-level XGKS directory. Prereq: 2.12 =================================================================== RCS file: lib/fortran/RCS/fortxgks.h,v retrieving revision 2.12 diff -c -r2.12 lib/fortran/fortxgks.h *** 2.12 1991/07/25 15:04:38 --- lib/fortran/fortxgks.h 1991/08/23 18:28:31 *************** *** 27,33 **** * * May 30 1988 * ! * $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ * $__Header$ */ --- 27,33 ---- * * May 30 1988 * ! * $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ * $__Header$ */ *************** *** 43,48 **** --- 43,58 ---- */ #undef FORTXGKS_OS_DEFINED #ifdef OS_aix + # define FORTXGKS_OS_DEFINED + #endif + #ifdef OS_domainos + # define gerhnd gerhnd_ + # define gerlog gerlog_ + # define inqlun inqlun_ + # define set_fname set_fname_ + # define FORTXGKS_OS_DEFINED + #endif + #ifdef OS_hpux # define FORTXGKS_OS_DEFINED #endif #ifdef OS_nextos This patch modifies the file "lib/src/cgm/cgm.c". It 1. Reconciles two function definitions with their prototypes in file "lib/src/cgm/cgm.h"; 2. Adds commentary about a DomainOS optimization warning that may safely be ignored. Prereq: 1.3 =================================================================== RCS file: lib/src/cgm/RCS/cgm.c,v retrieving revision 1.3 diff -c -r1.3 lib/src/cgm/cgm.c *** 1.3 1991/07/26 19:15:27 --- lib/src/cgm/cgm.c 1991/08/23 19:12:43 *************** *** 29,35 **** #ifndef lint static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif /* --- 29,35 ---- #ifndef lint static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif /* *************** *** 811,817 **** cp += nchr; \ ) ! ADD_STRING("UCAR/Unidata XGKS/CGM $Revision: 2.5.4.1 $: "); if (username == NULL) { ADD_STRING(""); --- 811,817 ---- cp += nchr; \ ) ! ADD_STRING("UCAR/Unidata XGKS/CGM $Revision: 2.5.4.1 $: "); if (username == NULL) { ADD_STRING(""); *************** *** 1682,1687 **** --- 1682,1693 ---- PUT_ASF(gks_flattr.inter); /* interior fill style */ PUT_ASF(gks_flattr.colour); /* interior fill color */ PUT_ASF(gks_flattr.style); /* hatch index */ + + /* + * The DomainOS compiler warns about an unused value being assigned + * to variable "iasf" in the following line. This warning may be + * safely ignored. + */ PUT_ASF(gks_flattr.style); /* pattern index */ mo_flush(cgmo, num, 0); *************** *** 1703,1709 **** int num; int code; Gint idx, type, colour; ! Gfloat size; { return OK; } --- 1709,1715 ---- int num; int code; Gint idx, type, colour; ! double size; { return OK; } *************** *** 1964,1970 **** Metafile **mf; int num; Gint name; ! Gfloat pri; { return OK; } --- 1970,1976 ---- Metafile **mf; int num; Gint name; ! double pri; { return OK; } This patch modifies the file "lib/src/x/xevent.c". It removes a superflous line. Prereq: 2.13 =================================================================== RCS file: lib/src/x/RCS/xevent.c,v retrieving revision 2.13 diff -c -r2.13 lib/src/x/xevent.c *** 2.13 1991/06/27 18:50:14 --- lib/src/x/xevent.c 1991/08/23 19:17:48 *************** *** 46,52 **** #ifndef lint static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif --- 46,52 ---- #ifndef lint static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif *************** *** 58,65 **** Display *dpy = ws->dpy; Window win = ws->win; XWindowAttributes win_att; - - win = ws->win; /* * Disable all input devices. --- 58,63 ---- This patch modifies the file "lib/src/x/xopws.c". It removes superflous initializations. Prereq: 2.9 =================================================================== RCS file: lib/src/x/RCS/xopws.c,v retrieving revision 2.9 diff -c -r2.9 lib/src/x/xopws.c *** 2.9 1991/07/22 20:36:02 --- lib/src/x/xopws.c 1991/08/23 20:40:51 *************** *** 56,62 **** # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif static int InitDefaults(); --- 56,62 ---- # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif static int InitDefaults(); *************** *** 81,87 **** xXgksOpenWs(wk) WS_STATE_PTR wk; { ! int status = 0; /* success */ if (wk->ewstype != X_WIN) { status = INVALID; --- 81,87 ---- xXgksOpenWs(wk) WS_STATE_PTR wk; { ! int status; /* success */ if (wk->ewstype != X_WIN) { status = INVALID; *************** *** 255,261 **** XSizeHints SizeHints; /* window size hints */ XSetWindowAttributes xswa; /* window attributes */ XVisualInfo VisualTemplate; ! XVisualInfo *VisualList = NULL; /* Initialize color-mapping. */ wk->wscolour = DisplayCells(dpy, DefaultScreen(dpy)); --- 255,261 ---- XSizeHints SizeHints; /* window size hints */ XSetWindowAttributes xswa; /* window attributes */ XVisualInfo VisualTemplate; ! XVisualInfo *VisualList; /* Initialize color-mapping. */ wk->wscolour = DisplayCells(dpy, DefaultScreen(dpy)); *************** *** 451,457 **** "Xgks.Geometry", str_type, &value) == True) { int x, y; ! long flags = 0; unsigned width, height; (void) strncpy(buf, value.addr, (int) value.size); --- 451,457 ---- "Xgks.Geometry", str_type, &value) == True) { int x, y; ! long flags; unsigned width, height; (void) strncpy(buf, value.addr, (int) value.size); *************** *** 588,594 **** "Xgks.Icon.Geometry", str_type, &value) == True) { int x, y; ! long flags = 0; unsigned width, height; (void) strncpy(buf, value.addr, (int) value.size); --- 588,594 ---- "Xgks.Icon.Geometry", str_type, &value) == True) { int x, y; ! long flags; unsigned width, height; (void) strncpy(buf, value.addr, (int) value.size); This patch modifies the file "lib/src/x/xpline.c". It removes an unused assignment. Prereq: 2.5 =================================================================== RCS file: lib/src/x/RCS/xpline.c,v retrieving revision 2.5 diff -c -r2.5 lib/src/x/xpline.c *** 2.5 1991/03/29 20:33:47 --- lib/src/x/xpline.c 1991/08/23 20:45:50 *************** *** 48,54 **** # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif extern DashList xgksDASHES[]; --- 48,54 ---- # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif extern DashList xgksDASHES[]; *************** *** 275,281 **** i = bundl_ptr->type; if (i == GLN_SOLID || !WS_LINE_TYPE(i)) { - i = GLN_SOLID; line_style = LineSolid; if (line_width == 1) line_width = 0; --- 275,280 ---- This patch modifies the file "lib/src/x/xtext.c". It removes unused initializations. Prereq: 2.9 =================================================================== RCS file: lib/src/x/RCS/xtext.c,v retrieving revision 2.9 diff -c -r2.9 lib/src/x/xtext.c *** 2.9 1991/07/26 19:13:11 --- lib/src/x/xtext.c 1991/08/23 20:50:01 *************** *** 53,59 **** # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif #define PI 3.1415926535897932384626433 --- 53,59 ---- # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif #define PI 3.1415926535897932384626433 *************** *** 194,200 **** Gchar *text_ptr; Gpoint atsndc; FONT *cfont; ! Gfloat fsize, fwidth, xtrans = 0.0, ytrans = 0.0; struct vcharst *cdef; Gint i; --- 194,200 ---- Gchar *text_ptr; Gpoint atsndc; FONT *cfont; ! Gfloat fsize, fwidth, xtrans, ytrans; struct vcharst *cdef; Gint i; *************** *** 849,855 **** Gchar *string; Gpoint atsndc; FONT *cfont; ! Gfloat fsize, fwidth, xtrans = 0.0, ytrans = 0.0; /* new xFyMin() funct added */ Gfloat Xmin, Xmax, Ymin, Ymax; --- 849,855 ---- Gchar *string; Gpoint atsndc; FONT *cfont; ! Gfloat fsize, fwidth, xtrans, ytrans; /* new xFyMin() funct added */ Gfloat Xmin, Xmax, Ymin, Ymax; This patch modifies the file "lib/src/metafile.c". It reconciles some function argument declarations with the function prototypes in "lib/src/metafile.h". Prereq: 1.4 =================================================================== RCS file: lib/src/RCS/metafile.c,v retrieving revision 1.4 diff -c -r1.4 lib/src/metafile.c *** 1.4 1991/07/25 14:41:01 --- lib/src/metafile.c 1991/08/23 20:56:11 *************** *** 37,43 **** #include "cgm/cgm.h" #ifndef lint ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; static char afsid[] = "$__Header$"; #endif --- 37,43 ---- #include "cgm/cgm.h" #ifndef lint ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; static char afsid[] = "$__Header$"; #endif *************** *** 1364,1370 **** XgksMoSetGraphicSizeOnWs(ws, code, size) WS_STATE_PTR ws; Gint code; ! Gfloat size; { Metafile *mf = &ws->mf; --- 1364,1370 ---- XgksMoSetGraphicSizeOnWs(ws, code, size) WS_STATE_PTR ws; Gint code; ! double size; { Metafile *mf = &ws->mf; *************** *** 1378,1384 **** int XgksMoSetGraphicSize(code, size) Gint code; ! Gfloat size; { if (num_gksmo > 0) GMsetGraphSize(active_gksmo, num_gksmo, code, size); --- 1378,1384 ---- int XgksMoSetGraphicSize(code, size) Gint code; ! double size; { if (num_gksmo > 0) GMsetGraphSize(active_gksmo, num_gksmo, code, size); *************** *** 1691,1697 **** XgksMoSetLineMarkRep(ws, code, idx, type, size, colour) WS_STATE_PTR ws; Gint code, idx, type; ! Gfloat size; Gint colour; { Metafile *mf = &ws->mf; --- 1691,1697 ---- XgksMoSetLineMarkRep(ws, code, idx, type, size, colour) WS_STATE_PTR ws; Gint code, idx, type; ! double size; Gint colour; { Metafile *mf = &ws->mf; *************** *** 1908,1914 **** XgksMoSetSegPriOnWs(ws, name, pri) WS_STATE_PTR ws; Gint name; ! Gfloat pri; { Metafile *mf = &ws->mf; --- 1908,1914 ---- XgksMoSetSegPriOnWs(ws, name, pri) WS_STATE_PTR ws; Gint name; ! double pri; { Metafile *mf = &ws->mf; *************** *** 1922,1928 **** int XgksMoSetSegPri(name, pri) Gint name; ! Gfloat pri; { if (num_gksmo > 0) GMsetSegPri(active_gksmo, num_gksmo, name, pri); --- 1922,1928 ---- int XgksMoSetSegPri(name, pri) Gint name; ! double pri; { if (num_gksmo > 0) GMsetSegPri(active_gksmo, num_gksmo, name, pri); This patch modifies the file "lib/fortran/Makefile". It adds support for a UNICOS Standard C header-file directory. Prereq: 3.17 =================================================================== RCS file: lib/fortran/RCS/Makefile,v retrieving revision 3.17 diff -c -r3.17 lib/fortran/Makefile *** 3.17 1991/07/31 19:12:08 --- lib/fortran/Makefile 1991/08/23 22:38:54 *************** *** 1,6 **** # Makefile for the Fortran subdirectory of the XGKS package. # ! # $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # $__Header$ # # Copyright (C) 1990 UCAR/Unidata --- 1,6 ---- # Makefile for the Fortran subdirectory of the XGKS package. # ! # $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # $__Header$ # # Copyright (C) 1990 UCAR/Unidata *************** *** 73,79 **** LIB_SO = lib$(NAME).so LIB_O = lib$(NAME).o INCPATH = ../src ! INCLUDES = -I$(INCPATH) -I$(INCDIR)/udposix DEFINES = CPPOPTS = $(DEFINES) $(INCLUDES) CFLAGS = $(CPPOPTS) $(COPTS) --- 73,80 ---- LIB_SO = lib$(NAME).so LIB_O = lib$(NAME).o INCPATH = ../src ! UNICOS_INC = `case $(OS) in unicos*) echo -I/usr/include/stdc;; esac` ! INCLUDES = -I$(INCPATH) -I$(INCDIR)/udposix $(UNICOS_INC) DEFINES = CPPOPTS = $(DEFINES) $(INCLUDES) CFLAGS = $(CPPOPTS) $(COPTS) This patch modifies several files in lib/src/. It changes the ennumeration name MESG to XGKS_MESG to avoid a name conflict with under UNICOS. Prereq: 2.4 =================================================================== RCS file: lib/src/RCS/message.c,v retrieving revision 2.4 diff -c -r2.4 lib/src/message.c *** 2.4 1991/03/29 20:22:33 --- lib/src/message.c 1991/08/23 23:54:44 *************** *** 49,55 **** # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif /* --- 49,55 ---- # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif /* *************** *** 102,108 **** /* open an primitive structure */ GKSERROR(((mesg = XgksNewPrimi()) == NULL), 300, errgmessage); ! mesg->pid = MESG; /* get momory for mesg string */ GKSERROR(((mesg->primi.mesg.string = --- 102,108 ---- /* open an primitive structure */ GKSERROR(((mesg = XgksNewPrimi()) == NULL), 300, errgmessage); ! mesg->pid = XGKS_MESG; /* get momory for mesg string */ GKSERROR(((mesg->primi.mesg.string = Prereq: 2.6 =================================================================== RCS file: lib/src/RCS/open_ws.c,v retrieving revision 2.6 diff -c -r2.6 lib/src/open_ws.c *** 2.6 1991/06/27 18:36:14 --- lib/src/open_ws.c 1991/08/23 23:54:51 *************** *** 49,55 **** # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif extern void XgksDelAllMoSeg(); --- 49,55 ---- # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif extern void XgksDelAllMoSeg(); *************** *** 661,667 **** (void) xXgksText(ws, &(primi->primi.text)); ws->wsdus.dspsurf = GNOTEMPTY; break; ! case MESG: (void) xXgksMesg(ws, &(primi->primi.mesg)); ws->wsdus.dspsurf = GNOTEMPTY; break; --- 661,667 ---- (void) xXgksText(ws, &(primi->primi.text)); ws->wsdus.dspsurf = GNOTEMPTY; break; ! case XGKS_MESG: (void) xXgksMesg(ws, &(primi->primi.mesg)); ws->wsdus.dspsurf = GNOTEMPTY; break; *************** *** 712,718 **** (void) xXgksText(ws, &(primi->primi.text)); ws->wsdus.dspsurf = GNOTEMPTY; break; ! case MESG: (void) xXgksMesg(ws, &(primi->primi.mesg)); ws->wsdus.dspsurf = GNOTEMPTY; break; --- 712,718 ---- (void) xXgksText(ws, &(primi->primi.text)); ws->wsdus.dspsurf = GNOTEMPTY; break; ! case XGKS_MESG: (void) xXgksMesg(ws, &(primi->primi.mesg)); ws->wsdus.dspsurf = GNOTEMPTY; break; *************** *** 743,749 **** if ((xgks_state.activews[cnt].ws_id != INVALID) && (xgks_state.activews[cnt].ws->primi_store == GYES) && (xgks_state.activews[cnt].ws->ewstype != MO)) ! if (primi->pid == MESG) /* Check if prim. is MESG */ (void) XgksInsertMesgPrimi(xgks_state.activews[cnt].ws, primi); else /* message primitives have to * be inserted differently */ --- 743,749 ---- if ((xgks_state.activews[cnt].ws_id != INVALID) && (xgks_state.activews[cnt].ws->primi_store == GYES) && (xgks_state.activews[cnt].ws->ewstype != MO)) ! if (primi->pid == XGKS_MESG) /* Check if prim. is MESG */ (void) XgksInsertMesgPrimi(xgks_state.activews[cnt].ws, primi); else /* message primitives have to * be inserted differently */ Prereq: 2.6 =================================================================== RCS file: lib/src/RCS/prmgr.c,v retrieving revision 2.6 diff -c -r2.6 lib/src/prmgr.c *** 2.6 1991/03/29 20:23:59 --- lib/src/prmgr.c 1991/08/23 23:54:55 *************** *** 66,72 **** # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif static void XgksFreePrimiStruct(); --- 66,72 ---- # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif static void XgksFreePrimiStruct(); *************** *** 301,307 **** break; case CLIP_REC: break; ! case MESG: break; case TEXT: break; --- 301,307 ---- break; case CLIP_REC: break; ! case XGKS_MESG: break; case TEXT: break; *************** *** 361,367 **** GKS_FREE((char *) primi->primi.text.location); GKS_FREE((char *) primi->primi.text.string); break; ! case MESG: GKS_FREE(primi->primi.mesg.string); break; case CELL_ARRAY: --- 361,367 ---- GKS_FREE((char *) primi->primi.text.location); GKS_FREE((char *) primi->primi.text.string); break; ! case XGKS_MESG: GKS_FREE(primi->primi.mesg.string); break; case CELL_ARRAY: *************** *** 454,460 **** } STRCPY((new_primi->primi.text.string), primi->primi.text.string); break; ! case MESG: if ((new_primi->primi.mesg.string = (Gchar *) malloc((size_t) (STRLEN(primi->primi.mesg.string) + 1))) == NULL) { (void) gerrorhand(300, errXgksDuplicatePrimi, --- 454,460 ---- } STRCPY((new_primi->primi.text.string), primi->primi.text.string); break; ! case XGKS_MESG: if ((new_primi->primi.mesg.string = (Gchar *) malloc((size_t) (STRLEN(primi->primi.mesg.string) + 1))) == NULL) { (void) gerrorhand(300, errXgksDuplicatePrimi, Prereq: 1.8 =================================================================== RCS file: lib/src/RCS/segments.c,v retrieving revision 1.8 diff -c -r1.8 lib/src/segments.c *** 1.8 1991/07/25 15:09:16 --- lib/src/segments.c 1991/08/23 23:55:08 *************** *** 114,120 **** # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif #define MAXNUM 1.0e+20 --- 114,120 ---- # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif #define MAXNUM 1.0e+20 *************** *** 2165,2171 **** break; case GDP: /* gdp */ case CLIP_REC: ! case MESG: default: break; } --- 2165,2171 ---- break; case GDP: /* gdp */ case CLIP_REC: ! case XGKS_MESG: default: break; } *************** *** 2688,2694 **** break; case GDP: /* gdp */ case CLIP_REC: ! case MESG: default: break; } --- 2688,2694 ---- break; case GDP: /* gdp */ case CLIP_REC: ! case XGKS_MESG: default: break; } Prereq: 2.9 =================================================================== RCS file: lib/src/RCS/gks_defines.h,v retrieving revision 2.9 diff -c -r2.9 lib/src/gks_defines.h *** 2.9 1991/07/18 21:04:32 --- lib/src/gks_defines.h 1991/08/23 23:55:13 *************** *** 37,43 **** * * This header-file depends upon header-file "xgks.h". * ! * $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ * $__Header$ */ --- 37,43 ---- * * This header-file depends upon header-file "xgks.h". * ! * $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ * $__Header$ */ *************** *** 163,169 **** FILL_AREA, CELL_ARRAY, CLIP_REC, ! MESG, GDP } PID; --- 163,169 ---- FILL_AREA, CELL_ARRAY, CLIP_REC, ! XGKS_MESG, GDP } PID; This patch modifies lib/src/event.c. It removes a 'const' qualifier from a pointer into a (non-const) buffer to accomodate the c89 compiler of an HP 9000/720 running HPUX 9.0. Prereq: 2.13 =================================================================== RCS file: lib/src/RCS/event.c,v retrieving revision 2.13 diff -c -r2.13 lib/src/event.c *** 2.13 1991/05/31 16:20:50 --- lib/src/event.c 1991/08/28 13:48:01 *************** *** 52,58 **** # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif static Bool Waiting; /* True if await event is waiting */ --- 52,58 ---- # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif static Bool Waiting; /* True if await event is waiting */ *************** *** 114,120 **** int nws; /* number of workstations in list */ WS_STATE_ENTRY *wsbuf[MAX_OPEN_WS]; /* buffer for workstation-list */ ! const WS_STATE_ENTRY **wslist = wsbuf;/* position in workstation-list */ /* Check for proper state */ --- 114,120 ---- int nws; /* number of workstations in list */ WS_STATE_ENTRY *wsbuf[MAX_OPEN_WS]; /* buffer for workstation-list */ ! WS_STATE_ENTRY **wslist = wsbuf;/* position in workstation-list */ /* Check for proper state */ This patch modifies lib/src/x/xopws.c. It moves the include of to after to accomodate a NeXTOS bug ('uid_t' is used in but defined in ). =================================================================== RCS file: lib/src/x/RCS/xopws.c,v retrieving revision 2.10 diff -c -r2.10 lib/src/x/xopws.c *** 2.10 1991/08/23 20:40:44 --- lib/src/x/xopws.c 1991/08/28 16:40:53 *************** *** 43,50 **** #include "udposix.h" #include - #include #include /* for uid_t */ #include #include #include /* for isupper() & tolower() */ --- 43,51 ---- #include "udposix.h" #include #include /* for uid_t */ + #include /* NeXTOS requires that this be */ + /* after */ #include #include #include /* for isupper() & tolower() */ *************** *** 56,62 **** # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif static int InitDefaults(); --- 57,63 ---- # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif static int InitDefaults(); This patch modifies lib/fortran/Makefile.c. It removes any "-I..." options from the FFLAGS macro since that option isn't available on all Fortran compilers and the only Fortran routine, inqlun.f, doesn't include anything. Prereq: 3.18 =================================================================== RCS file: lib/fortran/RCS/Makefile,v retrieving revision 3.18 diff -c -r3.18 lib/fortran/Makefile *** 3.18 1991/08/23 22:38:50 --- lib/fortran/Makefile 1991/08/28 17:05:20 *************** *** 1,6 **** # Makefile for the Fortran subdirectory of the XGKS package. # ! # $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # $__Header$ # # Copyright (C) 1990 UCAR/Unidata --- 1,6 ---- # Makefile for the Fortran subdirectory of the XGKS package. # ! # $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # $__Header$ # # Copyright (C) 1990 UCAR/Unidata *************** *** 78,84 **** DEFINES = CPPOPTS = $(DEFINES) $(INCLUDES) CFLAGS = $(CPPOPTS) $(COPTS) ! FFLAGS = $(INCLUDES) $(FOPTS) SHELL = /bin/sh INST = $(INSTALL) -c -m $(LIBMODE) GET_RELNO = `sed -n 's/.*\([0-9][0-9]*\.[0-9][0-9]*\).*/\1/p' \ --- 78,84 ---- DEFINES = CPPOPTS = $(DEFINES) $(INCLUDES) CFLAGS = $(CPPOPTS) $(COPTS) ! FFLAGS = $(FOPTS) SHELL = /bin/sh INST = $(INSTALL) -c -m $(LIBMODE) GET_RELNO = `sed -n 's/.*\([0-9][0-9]*\.[0-9][0-9]*\).*/\1/p' \ This patch modifies lib/src/cgm/cgm.c. It adds an "#undef MIN" just before the "#define MIN...". Prereq: 1.5 =================================================================== RCS file: lib/src/cgm/RCS/cgm.c,v retrieving revision 1.5 diff -c -r1.5 lib/src/cgm/cgm.c *** 1.5 1991/08/27 14:00:57 --- lib/src/cgm/cgm.c 1991/08/28 18:18:32 *************** *** 25,35 **** #include "gks_implem.h" #include "cgm.h" #define MIN(a,b) ((a) < (b) ? (a) : (b)) #ifndef lint static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif /* --- 25,36 ---- #include "gks_implem.h" #include "cgm.h" + #undef MIN #define MIN(a,b) ((a) < (b) ? (a) : (b)) #ifndef lint static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif /* *************** *** 812,818 **** cp += nchr; \ ) ! ADD_STRING("UCAR/Unidata XGKS/CGM $Revision: 2.5.4.1 $: "); if (username == NULL) { ADD_STRING(""); --- 813,819 ---- cp += nchr; \ ) ! ADD_STRING("UCAR/Unidata XGKS/CGM $Revision: 2.5.4.1 $: "); if (username == NULL) { ADD_STRING(""); This patch modifies progs/star.f. It comments-out the Fortran OPEN of unit 5 (which shouldn't be necessary). =================================================================== RCS file: progs/RCS/star.f,v retrieving revision 1.1 diff -c -r1.1 progs/star.f *** 1.1 1991/06/17 13:59:59 --- progs/star.f 1991/08/28 18:29:17 *************** *** 48,54 **** C C Perform implementation dependent initialization C ! OPEN ( TTOUT,STATUS='NEW' ) C Open GKS and activate a workstation. C CALL GOPKS ( ERROUT,NBYTES ) --- 48,54 ---- C C Perform implementation dependent initialization C ! CC OPEN ( TTOUT,STATUS='NEW' ) C Open GKS and activate a workstation. C CALL GOPKS ( ERROUT,NBYTES ) This patch modifies progs/Makefile. It supports the location of the X11 library directory under HPUX. Prereq: 1.2 =================================================================== RCS file: progs/RCS/Makefile,v retrieving revision 1.2 diff -c -r1.2 progs/Makefile *** 1.2 1991/08/28 17:15:00 --- progs/Makefile 1991/08/28 19:01:22 *************** *** 1,5 **** ! # $Header: /cvsroot/xgks/xgks/patch/1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ ! # $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # # Copyright (C) 1990 UCAR/Unidata # --- 1,5 ---- ! # $Header: /cvsroot/xgks/xgks/patch/1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ ! # $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # # Copyright (C) 1990 UCAR/Unidata # *************** *** 63,69 **** LIBFXGKS = -L../lib/fortran -lfxgks -L../lib/src -lxgks \ -L$(LIBDIR) -lfxgks -lxgks ! X11_LIBDIR = $${OPENWINHOME-/usr/lib/X11}$${OPENWINHOME+/lib} SYSLIBS = -lX11 -lm \ `case $(OS) in \ --- 63,72 ---- LIBFXGKS = -L../lib/fortran -lfxgks -L../lib/src -lxgks \ -L$(LIBDIR) -lfxgks -lxgks ! X11_LIBDIR = `case $(OS) in \ ! hp*) echo /usr/lib/X11R4;; \ ! *) $${OPENWINHOME-/usr/lib/X11}$${OPENWINHOME+/lib};; \ ! esac` SYSLIBS = -lX11 -lm \ `case $(OS) in \ This patch modifies Makefile. It adds to the list of known operating- systems. =================================================================== RCS file: RCS/Makefile,v retrieving revision 3.10 diff -c -r3.10 Makefile *** 3.10 1991/08/26 15:52:27 --- Makefile 1991/08/28 22:23:14 *************** *** 46,54 **** # LIBTYPE = sharable ! # The type of operating-system. Known values are ! # aix_3.1, sunos_4.1, and ultrix_4.0. Needed if sharable- ! # libraries are to be created. # OS = sunos_4.1.1 --- 46,55 ---- # LIBTYPE = sharable ! # The type of operating-system. Known values include ! # aix_3.1, sunos_4.{0.3,1{,.1}}, ultrix_4.{0,1,2}, ! # domainos_10.3.5, and hpux_8.0. Needed if sharable-libraries ! # are to be created. # OS = sunos_4.1.1 *************** *** 87,93 **** clean: @$(MAKE) $(MFLAGS) $(MY_MFLAGS) TARGET=clean all ! rm -f core *.log $(BINDIR) $(INCDIR) $(LIBDIR) $(MANDIR) $(MANDIR)/man1 $(MANDIR)/man3: mkdir $@ --- 88,94 ---- clean: @$(MAKE) $(MFLAGS) $(MY_MFLAGS) TARGET=clean all ! rm -f core *.log *.bak $(BINDIR) $(INCDIR) $(LIBDIR) $(MANDIR) $(MANDIR)/man1 $(MANDIR)/man3: mkdir $@ This patch modifies README. It adds to the list of known platforms and makes some slight clarifications. =================================================================== RCS file: RCS/README,v retrieving revision 2.7 diff -c -r2.7 README *** 2.7 1991/07/31 15:39:32 --- README 1991/08/28 22:36:12 *************** *** 137,148 **** XGKS has been installed on many platforms, including: VaxStation II under Ultrix 3.5, 4.0, & 4.1 DECstation 3100 under ULTRIX 4.1 & 4.2 Sun3 under SunOS 4.0.3, 4.1, & 4.1.1 (using both /usr/bin/cc and /usr/5bin/cc) Sun4 under SunOS 4.1 & 4.1.1 ! RS6000 under AIX 3.1 Cray Y-MP under UNICOS 5.1.11 The Makefile(5)s in this distribution support the creation and --- 137,151 ---- XGKS has been installed on many platforms, including: + Apollo DN3000 under DomainOS 10.2 + Apollo 425T under DomainOS 10.3.5 VaxStation II under Ultrix 3.5, 4.0, & 4.1 DECstation 3100 under ULTRIX 4.1 & 4.2 + HP 9000/720 under HPUX 8.0 Sun3 under SunOS 4.0.3, 4.1, & 4.1.1 (using both /usr/bin/cc and /usr/5bin/cc) Sun4 under SunOS 4.1 & 4.1.1 ! IBM RS6000 under AIX 3.1 Cray Y-MP under UNICOS 5.1.11 The Makefile(5)s in this distribution support the creation and *************** *** 177,229 **** The structure of the installation after step 3 will be: ! |-defcolors ! |-font ! |-bin-----|-mi ! | |-pline ! | |-pmark ! | ! |-include-|-xgks.h ! |-DESTDIR-| ! | |-libxgks.a ! |-lib-----|-libfxgks.a ! | |-xgksfonts- ! | ! |-man-----|-man3-|-xgks.3 where: ! DESTDIR is whatever you made it in the root Makefile ! (suggestion: /usr/local); ! defcolors displays the default X colormap (remember to set DISPLAY ! before invoking); ! font displays the fonts used by XGKS (set DISPLAY first); ! mi is a simple GKS Metafile (GKSM) interpreter ! (usage: mi ); ! pline displays the polyline types used by XGKS (set DISPLAY ! first); ! pmark displays the marker types used by XGKS (set DISPLAY ! first); ! xgks.h is the header-file that every XGKS application must ! #include; ! libxgks.a is the XGKS runtime library (under SunOS and the ! shared-library option, this will be "libxgks.s{a,o}.*" ! instead); ! libfxgks.a is the Fortran interface to XGKS (under SunOS and the ! shared-library option, this will be "libfxgks.s{a,o}.*" ! instead); ! xgksfonts is a directory which contains the XGKS fonts; ! xgks.3 contains the XGKS man(1)ual pages. In addition, the source directory "progs" will contain the executable program "hanoi", which is a Towers-of-Hanoi demonstration (kinda cute --- 180,241 ---- The structure of the installation after step 3 will be: ! |-defcolors ! |-font ! |-mi ! |-bin-----|-pline ! | |-pmark ! | |-hanoi ! | |-star ! | |-gksdemo ! | ! |-DESTDIR-|-include-|-xgks.h ! | ! | |-libxgks.a ! |-lib-----|-libfxgks.a ! | |-xgksfonts- ! | ! |-man-----|-man3-|-xgks.3 where: ! DESTDIR is whatever you made it in the root Makefile ! (suggestion: /usr/local); ! defcolors displays the default X colormap (set DISPLAY first); ! font displays the fonts used by XGKS (set DISPLAY first); ! mi is a simple GKS Metafile (GKSM) interpreter ! (usage: mi ); ! pline displays the polyline types used by XGKS (set DISPLAY ! first); ! pmark displays the marker types used by XGKS (set DISPLAY ! first); ! hanoi is a Towers-of-Hanoi demonstration (set DISPLAY first); ! star is a imple fortran program to draw a star (set DISPLAY first); ! gksdemo is a Fortran program that demonstrats most of XGKS ! capabilities (set DISPLAY first); ! xgks.h is the header-file that every XGKS application must ! #include; ! libxgks.a is the XGKS runtime library (under SunOS and the ! shared-library option, this will be "libxgks.s{a,o}.*" ! instead); ! ! libfxgks.a is the Fortran interface to XGKS (under SunOS and the ! shared-library option, this will be "libfxgks.s{a,o}.*" ! instead); ! ! xgksfonts is a directory which contains the XGKS fonts; ! ! xgks.3 contains the XGKS man(1)ual pages. In addition, the source directory "progs" will contain the executable program "hanoi", which is a Towers-of-Hanoi demonstration (kinda cute This patch modifies lib/src/Makefile. It changes the invocation of "mkerrmsg" to "./mkerrmsg" and adds "*.bak" to the target 'clean'. Prereq: 1.19 =================================================================== RCS file: lib/src/RCS/Makefile,v retrieving revision 1.19 diff -c -r1.19 lib/src/Makefile *** 1.19 1991/08/26 20:12:45 --- lib/src/Makefile 1991/08/28 22:43:37 *************** *** 1,6 **** # Makefile for the XGKS, C-binding library # ! # $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # Anticipated, changeable macros (others might not work): COPTS = -O --- 1,6 ---- # Makefile for the XGKS, C-binding library # ! # $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # Anticipated, changeable macros (others might not work): COPTS = -O *************** *** 147,153 **** clean: rm -f $(LIB_A) $(LIB_SO)* $(LIB_SA)* $(LIB_O) $(OBJECTS) \ ! gkserrmsg.h mkerrmsg core *.log *.ln @echo 'Making "$@" in directory gksm/' @cd gksm; $(MAKE) $(MFLAGS) $(MY_MFLAGS) $@ @echo 'Making "$@" in directory cgm/' --- 147,153 ---- clean: rm -f $(LIB_A) $(LIB_SO)* $(LIB_SA)* $(LIB_O) $(OBJECTS) \ ! gkserrmsg.h mkerrmsg core *.log *.ln *.bak @echo 'Making "$@" in directory gksm/' @cd gksm; $(MAKE) $(MFLAGS) $(MY_MFLAGS) $@ @echo 'Making "$@" in directory cgm/' *************** *** 268,274 **** $(INSTALL) -c -m $(INCMODE) xgks.h $@ gkserrmsg.h: gks_errors.h mkerrmsg ! mkerrmsg < gks_errors.h > $@ mkerrmsg: mkerrmsg.c $(CC) $(CFLAGS) -o $@ mkerrmsg.c --- 268,274 ---- $(INSTALL) -c -m $(INCMODE) xgks.h $@ gkserrmsg.h: gks_errors.h mkerrmsg ! ./mkerrmsg < gks_errors.h > $@ mkerrmsg: mkerrmsg.c $(CC) $(CFLAGS) -o $@ mkerrmsg.c This patch modifies fontdb/Makefile. It adds "*.bak" to the target 'clean'. =================================================================== RCS file: fontdb/RCS/Makefile,v retrieving revision 3.6 diff -c -r3.6 fontdb/Makefile *** 3.6 1991/07/31 19:09:25 --- fontdb/Makefile 1991/08/28 22:49:37 *************** *** 57,63 **** $(FONTDBDIR)/9 clean: ! rm -f $(FONTS) mkfont *.o *.log core tags *.ln r.gksfont: mkfont r.src ./mkfont r.src $@ --- 57,63 ---- $(FONTDBDIR)/9 clean: ! rm -f $(FONTS) mkfont *.o *.log core tags *.ln *.bak r.gksfont: mkfont r.src ./mkfont r.src $@ This patch modifies progs/Makefile. It 1. Adds a $(FC-L) macro to accomodate HPUX's "-Wl,-L," for adding to the $(FC) library directory search-path; 2. Adds a $(LIB_UDAPE) macro for nil UDAPE library under HPUX, AIX, and DOMAINOS. 3. Changes "cc" to "$(CC)" for making "depend" target. Prereq: 1.3 =================================================================== RCS file: progs/RCS/Makefile,v retrieving revision 1.3 diff -c -r1.3 progs/Makefile *** 1.3 1991/08/28 19:01:11 --- progs/Makefile 1991/08/29 15:13:56 *************** *** 1,5 **** ! # $Header: /cvsroot/xgks/xgks/patch/1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ ! # $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # # Copyright (C) 1990 UCAR/Unidata # --- 1,5 ---- ! # $Header: /cvsroot/xgks/xgks/patch/1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ ! # $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # # Copyright (C) 1990 UCAR/Unidata # *************** *** 55,72 **** FFLAGS = $(FOPTS) SHELL = /bin/sh LIBDIR = $(DESTDIR)/lib # # NB: The sequence of `-L's and `-l's in the following is necessary due to a # bug in the UNICOS cc(1) utility. # LIBXGKS = -L../lib/src -lxgks -L$(LIBDIR) -lxgks ! LIBFXGKS = -L../lib/fortran -lfxgks -L../lib/src -lxgks \ ! -L$(LIBDIR) -lfxgks -lxgks ! X11_LIBDIR = `case $(OS) in \ hp*) echo /usr/lib/X11R4;; \ *) $${OPENWINHOME-/usr/lib/X11}$${OPENWINHOME+/lib};; \ ! esac` SYSLIBS = -lX11 -lm \ `case $(OS) in \ --- 55,85 ---- FFLAGS = $(FOPTS) SHELL = /bin/sh LIBDIR = $(DESTDIR)/lib + + # + # The following macro defines the $(FC) option for adding a directory + # to the library search-path. In most systems, this is "-L"; HPUX, + # however, uses "-Wl,-L,". + # + FC-L = `case $(OS) in hpux*) echo -Wl,-L,;; *) echo -L;; esac` + # # NB: The sequence of `-L's and `-l's in the following is necessary due to a # bug in the UNICOS cc(1) utility. # LIBXGKS = -L../lib/src -lxgks -L$(LIBDIR) -lxgks ! LIBFXGKS = $(FC-L)../lib/fortran -lfxgks $(FC-L)../lib/src -lxgks \ ! $(FC-L)$(LIBDIR) -lfxgks -lxgks ! ! LIB_UDAPE = `case $(OS) in \ ! aix*|hpux*|domainos*) ;; \ ! *) echo -ludape;; \ ! esac` ! X11_LIBDIR = `case $(OS) in \ hp*) echo /usr/lib/X11R4;; \ *) $${OPENWINHOME-/usr/lib/X11}$${OPENWINHOME+/lib};; \ ! esac` SYSLIBS = -lX11 -lm \ `case $(OS) in \ *************** *** 74,81 **** unicos*) echo -lnet -lsc;; \ esac` ! LIBS = $(LIBXGKS) -L$(LIBDIR) -ludape -L$(X11_LIBDIR) $(SYSLIBS) ! LIBS_F77 = $(LIBFXGKS) -L$(LIBDIR) -ludape -L$(X11_LIBDIR) $(SYSLIBS) # # The following list is a subset of the XGKS programs contained --- 87,96 ---- unicos*) echo -lnet -lsc;; \ esac` ! LIBS = $(LIBXGKS) -L$(LIBDIR) $(LIB_UDAPE) -L$(X11_LIBDIR) \ ! $(SYSLIBS) ! LIBS_F77 = $(LIBFXGKS) $(FC-L)$(LIBDIR) $(LIB_UDAPE) \ ! $(FC-L)$(X11_LIBDIR) $(SYSLIBS) # # The following list is a subset of the XGKS programs contained *************** *** 159,165 **** #load $(CFLAGS) mi.c $(LIBS) -lc depend: ! cc $(INCLUDES) $(DEFINES) -M $(CSRCS) gksdemo.o: gkspar.inc defcolors.o: defcolors.c --- 174,180 ---- #load $(CFLAGS) mi.c $(LIBS) -lc depend: ! $(CC) $(INCLUDES) $(DEFINES) -M $(CSRCS) gksdemo.o: gkspar.inc defcolors.o: defcolors.c This patch modifies progs/mi.c. It adds a "#include" for "udposix.h". Prereq: 2.2 =================================================================== RCS file: progs/RCS/mi.c,v retrieving revision 2.2 diff -c -r2.2 progs/mi.c *** 2.2 1991/07/26 19:06:31 --- progs/mi.c 1991/08/29 16:03:39 *************** *** 34,43 **** */ #ifndef lint ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; static char afsid[] = "$__Header$"; #endif #include #include #include "xgks.h" --- 34,44 ---- */ #ifndef lint ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; static char afsid[] = "$__Header$"; #endif + #include "udposix.h" #include #include #include "xgks.h" This patch modifies doc/binding/Makefile. It adds *.bak to the "clean" target and prefixes "mkcbinding" with "./". Prereq: 3.1 =================================================================== RCS file: doc/binding/RCS/Makefile,v retrieving revision 3.1 diff -c -r3.1 doc/binding/Makefile *** 3.1 1991/04/01 22:06:00 --- doc/binding/Makefile 1991/08/29 16:11:20 *************** *** 1,4 **** ! # $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # $__Header$ # # Makefile for the "doc/binding" subdirectory of the XGKS package. --- 1,4 ---- ! # $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # $__Header$ # # Makefile for the "doc/binding" subdirectory of the XGKS package. *************** *** 21,30 **** hardcopy: cbinding.hc clean: ! rm -f core cbinding.me AP *.out *.log *.t cbinding.hc: cbinding.me $(TROFF) -me cbinding.me cbinding.me: function_list Cbinding.src ! mkcbinding function_list Cbinding.src > $@ --- 21,30 ---- hardcopy: cbinding.hc clean: ! rm -f core cbinding.me AP *.out *.log *.t *.bak cbinding.hc: cbinding.me $(TROFF) -me cbinding.me cbinding.me: function_list Cbinding.src ! ./mkcbinding function_list Cbinding.src > $@ This patch modifies doc/xgks.3. It corrects and expands the sample compilations and clarifies the use of DESTDIR. Prereq: 3.4 =================================================================== RCS file: doc/RCS/xgks.3,v retrieving revision 3.4 diff -c -r3.4 doc/xgks.3 *** 3.4 1991/07/29 03:59:09 --- doc/xgks.3 1991/08/29 16:49:07 *************** *** 1,4 **** ! ''' $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ ''' $__Header$ .TH XGKS 3 "23 July 1991" "XGKS Version 2" .SH NAME --- 1,4 ---- ! ''' $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ ''' $__Header$ .TH XGKS 3 "23 July 1991" "XGKS Version 2" .SH NAME *************** *** 469,486 **** exit(0); } .PP ! To compile the program we use the following command line: .sp ! cc hello.c -o hello -lxgks -lX -lm .sp ! To execute just type: .sp ! hello .sp .fi ! (note: you must be running an X server when you run any XGKS application.) .PP When the program opens the GKS workstation the X11 window system will prompt the user to open a new window. The program will display "Hello World!" and then wait for the --- 469,526 ---- exit(0); } .PP ! To compile the program, we use the following command line (NB: \fB${DESTDIR}\fB ! is the root of the installation-tree): .sp ! .nf ! .RS +4 ! cc hello.c -o hello -I${DESTDIR}/include -L${DESTDIR}/lib -lxgks -lX11 -lm ! .RE ! .fi ! .sp ! Or, if on an Apollo workstation: .sp ! .nf ! .RS +4 ! cc hello.c -o hello -I${DESTDIR}/include -L${DESTDIR}/lib -lxgks -L/usr/lib/X11 -lX11 -lm ! .RE ! .fi ! .PP ! To execute, just type: .sp ! .RS +4 ! hello ! .RE .sp .fi ! (NB: you must be running an X server when you run any XGKS application.) .PP + Similarly, to compile a Fortran\-based XGKS program (e.g. \fBhello.f\fP), + we use: + .sp + .nf + .RS +4 + f77 -O -o hello hello.f -L${DESTDIR}/lib -lfxgks -lxgks -lX11 -lm + .RE + .fi + .sp + or, if using an Apollo workstation: + .sp + .nf + .RS +4 + f77 -O -o hello hello.f -L${DESTDIR}/lib -lfxgks -lxgks -L/usr/lib/X11 -lX11 -lm + .RE + .fi + .sp + or, if using an HP 9000/720 workstation: + .sp + .nf + .RS +4 + f77 -O -o hello hello.f -Wl,-L,${DESTDIR}/lib -lfxgks -lxgks -Wl,-L,/usr/lib/X11R4 -lX11 -lm + .RE + .fi + .PP When the program opens the GKS workstation the X11 window system will prompt the user to open a new window. The program will display "Hello World!" and then wait for the *************** *** 490,514 **** redisplaying the greeting. .SH FILES .PP ! In the following, \fBDESTDIR\fP is the root of the installation ! directory-tree as defined in the makefile macro of the same name. At the time this manual-page was installed, the value of ! \fBDESTDIR\fP was "\fB===DESTDIR===\fP". .PP ! .ta \w'DESTDIR/lib/xgks/cbinding.trf'u+4m ! DESTDIR/lib/libxgks.a The library. .br ! DESTDIR/lib/xgks/fontdb Font data base. .br ! DESTDIR/lib/xgks/cbinding.trf Simple form of C binding. .br ! DESTDIR/include/xgks.h C header-file. .SH "ENVIRONMENT" .PP .BR \s-1XGKSFontDir\s0 , if set, contains the pathname of the directory which contains the XGKS fonts. If not set, then the compiled-in pathname ! is used (\fBDESTDIR/lib/xgksfonts\fP). .SH "SEE ALSO" .PP .BR X (1), --- 530,558 ---- redisplaying the greeting. .SH FILES .PP ! In the following, \fB${DESTDIR}\fP is the root of the installation ! directory-tree as defined by the Makefile macro of the same name. At the time this manual-page was installed, the value of ! \fB${DESTDIR}\fP was "\fB===DESTDIR===\fP". .PP ! .ta \w'${DESTDIR}/lib/xgks/cbinding.trf'u+4m ! ${DESTDIR}/lib/libxgks.a The library. ! .br ! ${DESTDIR}/lib/libfxgks.a The fortran binding library. ! .br ! ${DESTDIR}/lib/xgksfonts Font data-base directory. .br ! ${DESTDIR}/bin Directory of sample programs. .br ! ${DESTDIR}/lib/xgks/cbinding.trf Simple form of C binding. .br ! ${DESTDIR}/include/xgks.h C header-file. .SH "ENVIRONMENT" .PP .BR \s-1XGKSFontDir\s0 , if set, contains the pathname of the directory which contains the XGKS fonts. If not set, then the compiled-in pathname ! is used (see \fBFILES\fP). .SH "SEE ALSO" .PP .BR X (1), This patch modifies fontdb/mkfont.c. It comments-out the unused functions ReadFont() and PrintFont(). Prereq: 2.3 =================================================================== RCS file: fontdb/RCS/mkfont.c,v retrieving revision 2.3 diff -c -r2.3 fontdb/mkfont.c *** 2.3 1991/04/01 23:27:37 --- fontdb/mkfont.c 1991/08/29 17:01:52 *************** *** 48,54 **** static void lint_malloc(n) size_t n; { n++; } # define malloc(n) (lint_malloc((n)), 0) #else ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; static char afsid[] = "$__Header$"; #endif --- 48,54 ---- static void lint_malloc(n) size_t n; { n++; } # define malloc(n) (lint_malloc((n)), 0) #else ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; static char afsid[] = "$__Header$"; #endif *************** *** 201,206 **** --- 201,207 ---- } + #if 0 static void ReadFont(Fpp, Fn) FONT **Fpp; *************** *** 227,234 **** --- 228,237 ---- } (void) close(fd); } + #endif + #if 0 static void PrintFont(F) FONT *F; *************** *** 247,252 **** --- 250,256 ---- (void) printf("\n"); } } + #endif static void This patch modifies progs/font.c. It adds conditional-comilation to the getchar() call to eliminate compiler warnings. =================================================================== RCS file: progs/RCS/font.c,v retrieving revision 2.6 diff -c -r2.6 progs/font.c *** 2.6 1991/07/25 14:18:41 --- progs/font.c 1991/08/29 17:06:35 *************** *** 116,122 **** test_font(); for (i = 1; i < 10; i++) { ! int c = getchar(); #if DEBUG if (isprint(c)) { --- 116,127 ---- test_font(); for (i = 1; i < 10; i++) { ! #if DEBUG ! int c = ! #else ! (void) ! #endif ! getchar(); #if DEBUG if (isprint(c)) { This patch modifies progs/mi.c. It removes an unused initialization to eliminate compiler warnings. Prereq: 2.3 =================================================================== RCS file: progs/RCS/mi.c,v retrieving revision 2.3 diff -c -r2.3 progs/mi.c *** 2.3 1991/08/29 16:03:51 --- progs/mi.c 1991/08/29 17:09:36 *************** *** 34,40 **** */ #ifndef lint ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; static char afsid[] = "$__Header$"; #endif --- 34,40 ---- */ #ifndef lint ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; static char afsid[] = "$__Header$"; #endif *************** *** 55,61 **** int error; int c; char *conn = NULL; ! char *mi_path = NULL; Gchar *record; Ggksmit gksmit; extern char *optarg; --- 55,61 ---- int error; int c; char *conn = NULL; ! char *mi_path; Gchar *record; Ggksmit gksmit; extern char *optarg; This patch modifies progs/gksdemo.c. It deletes an unused variable to eliminate a compiler warning. =================================================================== RCS file: progs/RCS/gksdemo.f,v retrieving revision 1.3 diff -c -r1.3 progs/gksdemo.f *** 1.3 1991/07/26 15:16:13 --- progs/gksdemo.f 1991/08/29 17:13:39 *************** *** 242,249 **** C***** C*********************************************************************** - ENDIT = NO - C******************************************************** C***** C***** Call subroutine SETUPF to draw the menu --- 242,247 ---- This patch removes checking for invalid data-record sizes from ginterpret(). The checking was useless because the GKSM backend returns the wrong size. Prereq: 1.6 =================================================================== RCS file: lib/src/RCS/metafile.c,v retrieving revision 1.6 diff -c -r1.6 lib/src/metafile.c *** 1.6 1991/08/28 16:53:54 --- lib/src/metafile.c 1991/09/05 15:17:39 *************** *** 36,42 **** #include "cgm/cgm.h" #ifndef lint ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; static char afsid[] = "$__Header$"; #endif --- 36,42 ---- #include "cgm/cgm.h" #ifndef lint ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; static char afsid[] = "$__Header$"; #endif *************** *** 1055,1062 **** --- 1055,1069 ---- GKSERROR(((recInfo->length > 0) && (data == NULL)), 165, errginterpret); + /* + * We no longer check for invalid size (error 161) because the GKSM + * backend returns the length of the formatted data record rather than the + * size of the internally-used binary structures. + */ + #if 0 GKSERROR((recInfo->length < recSize(recInfo->type)), 161, errginterpret); + #endif GKSERROR((XgksValidGksMItem(recInfo->type) == INVALID), 164, errginterpret); The following patch removes the dependency on sizeof(short) == 2 from the CGM backend. Thus, CGM files become usable under UNICOS (where sizeof(short) is 8!). Prereq: 1.6 =================================================================== RCS file: lib/src/cgm/RCS/cgm.c,v retrieving revision 1.6 diff -c -r1.6 lib/src/cgm/cgm.c *** 1.6 1991/08/28 18:18:29 --- lib/src/cgm/cgm.c 1991/09/05 15:19:05 *************** *** 1,13 **** /* ! * This module will only work on platforms having 8-bit "char"s and 16-bit ! * "short"s. These requirements are tested by this module. */ /*LINTLIBRARY*/ /* Non-POSIX includes: */ ! #include /* for uid_t and */ ! #include /* for htons() */ /* POSIX includes: */ #include "udposix.h" --- 1,12 ---- /* ! * This module will only work on platforms having 8-bit "char"s. ! * This requirement is tested at runtime by this module. */ /*LINTLIBRARY*/ /* Non-POSIX includes: */ ! #include /* for uid_t */ /* POSIX includes: */ #include "udposix.h" *************** *** 30,45 **** #ifndef lint static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif /* * Miscellaneous utility macros: */ #define ABS(x) ((x) < 0 ? -(x) : (x)) #define HYPOT(x,y) sqrt((double)((x)*(x) + (y)*(y))) #define NUM_ELEMENTS(a) (sizeof(a) / sizeof(a[0])) ! #define SHORT_MSB (1 << sizeof(short)*CHAR_BIT - 1) #define ROUNDUP(x, y) (((x + y - 1)/y)*y) #define JUST_AFTER(ptr, type, align) \ (align *)((char*)ptr + \ --- 29,53 ---- #ifndef lint static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; #endif /* + * Convert between host and network byte orders for 16-bit quantities. + */ + #define NTOH16(n) (((n)[0] << 8) | (n)[1]) + #define HTON16(h, n) GKS_STMT((n)[0] = MS_8(h); (n)[1] = LS_8(h);) + + /* * Miscellaneous utility macros: */ #define ABS(x) ((x) < 0 ? -(x) : (x)) #define HYPOT(x,y) sqrt((double)((x)*(x) + (y)*(y))) #define NUM_ELEMENTS(a) (sizeof(a) / sizeof(a[0])) ! #define MSB_16 (1 << 15) /* 16-bit most significant bit */ ! #define MASK_16 0177777 /* 16-bit mask */ ! #define LS_8(val) ((val) & 0377) /* least significant 8 bits */ ! #define MS_8(val) LS_8((val) >> 8)/* most significant 8 bits */ #define ROUNDUP(x, y) (((x + y - 1)/y)*y) #define JUST_AFTER(ptr, type, align) \ (align *)((char*)ptr + \ *************** *** 49,59 **** * Macros for converting between the host and two's-complement forms of a * 16-bit integer: */ ! #define HTOTS(s_shrt) ((unsigned short)(s_shrt)) ! #define TTOHS(u_shrt) ((u_shrt) & SHORT_MSB \ ! ? (long)0-(unsigned short)(~(unsigned)(u_shrt) + 1) \ ! : (short)(u_shrt)) /* * Miscellaneous, CGM-specific macros: --- 57,68 ---- * Macros for converting between the host and two's-complement forms of a * 16-bit integer: */ ! #define HTOTS(s_shrt) (MASK_16 & (unsigned short)(s_shrt)) ! #define TTOHS(u_shrt) ((u_shrt) & MSB_16 \ ! ? (long)0-(unsigned short) \ ! (MASK_16 & (~(unsigned)(u_shrt) + 1)) \ ! : (short)(u_shrt)) /* * Miscellaneous, CGM-specific macros: *************** *** 348,363 **** if (!header_written) { unsigned short header; long_form = nbytes > MAX_SHORT_CMD_LENGTH; ! header = htons((unsigned short)(header_class << 12 ! | header_id << 5 ! | (long_form ! ? LONG_CMD_LENGTH ! : nbytes))); for (imf = 0; imf < num; ++imf) ! (void) fwrite((voidp)&header, (size_t)2, (size_t)1, cgmo[imf]->fp); header_written = 1; } --- 357,374 ---- if (!header_written) { unsigned short header; + unsigned char bytes[2]; long_form = nbytes > MAX_SHORT_CMD_LENGTH; ! header = header_class << 12 ! | header_id << 5 ! | (long_form ! ? LONG_CMD_LENGTH ! : nbytes); ! HTON16(header, bytes); for (imf = 0; imf < num; ++imf) ! (void) fwrite((voidp)bytes, (size_t)1, (size_t)2, cgmo[imf]->fp); header_written = 1; } *************** *** 366,377 **** /* * Long-form command. Write a partition control word. */ ! unsigned short pcw = htons((unsigned short) ! (more_data ? MORE_DATA_BIT | nbytes ! : nbytes)); for (imf = 0; imf < num; ++imf) ! (void) fwrite((voidp)&pcw, (size_t)2, (size_t)1, cgmo[imf]->fp); } /* Pad the data if necessary */ --- 377,392 ---- /* * Long-form command. Write a partition control word. */ ! unsigned short pcw = more_data ? MORE_DATA_BIT | nbytes ! : nbytes; ! unsigned char bytes[2]; ! ! HTON16(pcw, bytes); ! for (imf = 0; imf < num; ++imf) ! (void) fwrite((voidp)bytes, (size_t)1, (size_t)2, ! cgmo[imf]->fp); } /* Pad the data if necessary */ *************** *** 431,438 **** * Write a 16-bit, integer parameter. */ #define mo_int16(cgmo, num, val) GKS_STMT( \ ! unsigned short sh = htons(HTOTS((short)(val))); \ ! mo_octets(cgmo, num, (unsigned char*)&sh, 2); \ ) #define size_int16() (size_t)2 --- 446,455 ---- * Write a 16-bit, integer parameter. */ #define mo_int16(cgmo, num, val) GKS_STMT( \ ! unsigned short value = val; \ ! unsigned char bytes[2]; \ ! HTON16(value, bytes); \ ! mo_octets(cgmo, num, bytes, 2); \ ) #define size_int16() (size_t)2 *************** *** 488,495 **** * Write a 16-bit, unsigned integer parameter. */ #define mo_uint16(cgmo, num, val) GKS_STMT( \ ! unsigned short sh = htons((unsigned short)(val)); \ ! mo_octets(cgmo, num, (unsigned char*)&sh, 2); \ ) --- 505,514 ---- * Write a 16-bit, unsigned integer parameter. */ #define mo_uint16(cgmo, num, val) GKS_STMT( \ ! unsigned short value = val; \ ! unsigned char bytes[2]; \ ! HTON16(value, bytes); \ ! mo_octets(cgmo, num, bytes, 2); \ ) *************** *** 553,559 **** length = MIN(32767, nchr); nchr -= length; if (nchr > 0) ! length |= SHORT_MSB; mo_uint16(cgmo, num, length); mo_octets(cgmo, num, (unsigned char*)string, length); string += length; --- 572,578 ---- length = MIN(32767, nchr); nchr -= length; if (nchr > 0) ! length |= MSB_16; mo_uint16(cgmo, num, length); mo_octets(cgmo, num, (unsigned char*)string, length); string += length; *************** *** 570,580 **** int nmo = num; \ double x = val; \ short swhole = x < 0 ? x - 1 : x; \ ! unsigned short whole = htons((unsigned short)(HTOTS(swhole))); \ ! unsigned short frac = htons((unsigned short) \ ! (0277777L*(x - swhole)+.5)); \ ! mo_octets(mo, nmo, (unsigned char*)&whole, 2); \ ! mo_octets(mo, nmo, (unsigned char*)&frac, 2); \ ) #define size_real32fx() (size_t)4 --- 589,601 ---- int nmo = num; \ double x = val; \ short swhole = x < 0 ? x - 1 : x; \ ! unsigned short whole = HTOTS(swhole); \ ! unsigned short frac = 0277777L*(x - swhole)+.5; \ ! unsigned char bytes[2]; \ ! HTON16(whole, bytes); \ ! mo_octets(mo, nmo, bytes, 2); \ ! HTON16(frac, bytes); \ ! mo_octets(mo, nmo, bytes, 2); \ ) #define size_real32fx() (size_t)4 *************** *** 813,819 **** cp += nchr; \ ) ! ADD_STRING("UCAR/Unidata XGKS/CGM $Revision: 2.5.4.1 $: "); if (username == NULL) { ADD_STRING(""); --- 834,840 ---- cp += nchr; \ ) ! ADD_STRING("UCAR/Unidata XGKS/CGM $Revision: 2.5.4.1 $: "); if (username == NULL) { ADD_STRING(""); *************** *** 1102,1114 **** return 1; } - if (sizeof(unsigned short) != 2) { - (void) fprintf(stderr, - "%s: I can't work on platforms where sizeof(short) != 2. Sorry.\n", - me); - return 1; - } - cgmo->mode = CGMO_IN_METAFILE; cgmo->picture_number = 0; cgmo->isset = 0; --- 1123,1128 ---- *************** *** 2021,2029 **** int *length; { unsigned short pcw = 0; ! (void) fread((voidp)&pcw, (size_t)2, (size_t)1, fp); ! pcw = ntohs(pcw); *more_data = pcw & MORE_DATA_BIT; *length = pcw & ~MORE_DATA_BIT; } --- 2035,2044 ---- int *length; { unsigned short pcw = 0; + unsigned char bytes[2]; ! (void) fread((voidp)bytes, (size_t)1, (size_t)2, fp); ! pcw = NTOH16(bytes); *more_data = pcw & MORE_DATA_BIT; *length = pcw & ~MORE_DATA_BIT; } *************** *** 2096,2106 **** mi_int16(mi) mf_cgmi *mi; { ! unsigned short val; ! mi_octets(mi, (unsigned char*)&val, 2); ! return TTOHS((unsigned short)ntohs(val)); } --- 2111,2121 ---- mi_int16(mi) mf_cgmi *mi; { ! unsigned char bytes[2]; ! mi_octets(mi, bytes, 2); ! return TTOHS((unsigned short)NTOH16(bytes)); } *************** *** 2111,2121 **** mi_uint16(mi) mf_cgmi *mi; { ! unsigned short val; ! mi_octets(mi, (unsigned char*)&val, 2); ! return (unsigned short)ntohs(val); } --- 2126,2136 ---- mi_uint16(mi) mf_cgmi *mi; { ! unsigned char bytes[2]; ! mi_octets(mi, bytes, 2); ! return (unsigned short)NTOH16(bytes); } *************** *** 2177,2184 **** do { unsigned pattern = mi_uint16(mi); ! more = pattern & SHORT_MSB; ! length = pattern & ~SHORT_MSB; mi_octets(mi, (unsigned char*)string, length); *nchr += length; string += length; --- 2192,2199 ---- do { unsigned pattern = mi_uint16(mi); ! more = pattern & MSB_16; ! length = pattern & ~MSB_16; mi_octets(mi, (unsigned char*)string, length); *nchr += length; string += length; *************** *** 2285,2297 **** mi_real32fx(mi) mf_cgmi *mi; { unsigned short whole; unsigned short frac; ! mi_octets(mi, (unsigned char*)&whole, 2); ! mi_octets(mi, (unsigned char*)&frac, 2); ! return TTOHS((unsigned short)ntohs(whole)) + (double)ntohs(frac)/0277777L; } --- 2300,2316 ---- mi_real32fx(mi) mf_cgmi *mi; { + unsigned char bytes[2]; unsigned short whole; unsigned short frac; ! mi_octets(mi, bytes, 2); ! whole = NTOH16(bytes); ! mi_octets(mi, bytes, 2); ! frac = NTOH16(bytes); ! ! return TTOHS(whole) + (double)frac/0277777L; } *************** *** 2919,2930 **** int *id; unsigned *length; { unsigned short header; ! if (fread((voidp)&header, (size_t)2, (size_t)1, fp) != 1) return 0; ! header = ntohs(header); *class = (header >> 12) & 017; *id = (header >> 5) & 0177; --- 2938,2950 ---- int *id; unsigned *length; { + unsigned char bytes[2]; unsigned short header; ! if (fread((voidp)bytes, (size_t)1, (size_t)2, fp) != 2) return 0; ! header = NTOH16(bytes); *class = (header >> 12) & 017; *id = (header >> 5) & 0177; *************** *** 3038,3050 **** if (CHAR_BIT != 8) { (void) fprintf(stderr, "%s: I can't work on platforms where CHAR_BIT != 8. Sorry.\n", - me); - return 1; - } - - if (sizeof(unsigned short) != 2) { - (void) fprintf(stderr, - "%s: I can't work on platforms where sizeof(short) != 2. Sorry.\n", me); return 1; } --- 3058,3063 ---- The following patch adjusts the RELEASE.NOTES. =================================================================== RCS file: RCS/RELEASE.NOTES,v retrieving revision 1.10 diff -c -r1.10 RELEASE.NOTES *** 1.10 1991/08/01 20:38:00 --- RELEASE.NOTES 1991/09/05 19:25:57 *************** *** 10,19 **** ".cgm" will be written and read accordingly. Besides allowing graphical interchange, binary CGM files are typically smaller by a factor of 1/4 from their formatted GKSM counterparts. Currently, the ! CGM implementation only works on platforms where CHAR_BIT is 8 and ! sizeof(short) is 2. Also, CGM input capability is limited to the ! binary defaults of CGM version 1. (Note: This is the same format used ! by the CGM implementation of NCAR Graphics.) XGKS no longer depends upon the existance of SIGIO on the host platform for its correct operation. All the REQUEST functions as well as the --- 10,19 ---- ".cgm" will be written and read accordingly. Besides allowing graphical interchange, binary CGM files are typically smaller by a factor of 1/4 from their formatted GKSM counterparts. Currently, the ! CGM implementation only works on platforms where CHAR_BIT is 8. Also, ! CGM input capability is limited to the binary defaults of CGM version ! 1. (Note: This is the same format used by the CGM implementation of ! NCAR Graphics.) XGKS no longer depends upon the existance of SIGIO on the host platform for its correct operation. All the REQUEST functions as well as the *************** *** 34,41 **** workstation. The GET ITEM TYPE FROM GKSM function used to return a gross ! overestimate of the amount of space needed to hold the item's data. It ! now returns the correct amount. The invocation syntax of some programs has changed: --- 34,44 ---- workstation. The GET ITEM TYPE FROM GKSM function used to return a gross ! overestimate of the amount of space needed to hold an item's data. ! (Although, in certain situations under UNICOS, the function actually ! underestimates the amount of required storage, e.g. an integer encoded ! using less than eight characters.) The function now returns the correct ! amount for CGM input -- but not GKSM. The invocation syntax of some programs has changed: The following patch modifies file `./Makefile'. It adds UNICOS to the list of known operating-systems. =================================================================== RCS file: RCS/Makefile,v retrieving revision 3.11 diff -c -r3.11 Makefile *** 3.11 1991/08/28 22:23:21 --- Makefile 1991/09/06 18:24:44 *************** *** 1,7 **** ! # $__Header$ # - # $__copyright$ - # # Root Makefile for the XGKS package. # --- 1,5 ---- ! # $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # # Root Makefile for the XGKS package. # *************** *** 47,55 **** LIBTYPE = sharable # The type of operating-system. Known values include ! # aix_3.1, sunos_4.{0.3,1{,.1}}, ultrix_4.{0,1,2}, ! # domainos_10.3.5, and hpux_8.0. Needed if sharable-libraries ! # are to be created. # OS = sunos_4.1.1 --- 45,58 ---- LIBTYPE = sharable # The type of operating-system. Known values include ! # aix_3.1, ! # domainos_10.3.5, ! # nextos_2.0, ! # hpux_8.0, ! # sunos_4.{0.3,1{,.1}}, ! # ultrix_4.{0,1,2}, and ! # unicos_5.1.{9,11}. ! # Needed if sharable-libraries are to be created. # OS = sunos_4.1.1 The following patch modifies file `progs/Makefile'. It adds to the `-I...' options used by the C compiler under the UNICOS operating-system. Prereq: 1.5 =================================================================== RCS file: progs/RCS/Makefile,v retrieving revision 1.5 diff -c -r1.5 progs/Makefile *** 1.5 1991/08/29 21:36:27 --- progs/Makefile 1991/09/06 18:33:09 *************** *** 1,5 **** ! # $Header: /cvsroot/xgks/xgks/patch/1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ ! # $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # # Copyright (C) 1990 UCAR/Unidata # --- 1,4 ---- ! # $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # # Copyright (C) 1990 UCAR/Unidata # *************** *** 48,54 **** VERSIONID = $(NAME)vers INCPATH = ../lib/src X11_INCDIR = $${OPENWINHOME-/usr}/include ! INCLUDES = -I$(INCPATH) -I$(INCDIR)/udposix -I$(X11_INCDIR) DEFINES = CPPOPTS = $(INCLUDES) $(DEFINES) CFLAGS = $(CPPOPTS) $(COPTS) --- 47,54 ---- VERSIONID = $(NAME)vers INCPATH = ../lib/src X11_INCDIR = $${OPENWINHOME-/usr}/include ! UNICOS_INC = `case $(OS) in unicos*) echo -I/usr/include/stdc;; esac` ! INCLUDES = -I$(INCPATH) -I$(INCDIR)/udposix -I$(X11_INCDIR) $(UNICOS_INC) DEFINES = CPPOPTS = $(INCLUDES) $(DEFINES) CFLAGS = $(CPPOPTS) $(COPTS) The following patch clarifies the README file. =================================================================== RCS file: RCS/README,v retrieving revision 2.8 diff -c -r2.8 README *** 2.8 1991/08/28 22:35:55 --- README 1991/09/09 18:58:53 *************** *** 137,143 **** XGKS has been installed on many platforms, including: ! Apollo DN3000 under DomainOS 10.2 Apollo 425T under DomainOS 10.3.5 VaxStation II under Ultrix 3.5, 4.0, & 4.1 DECstation 3100 under ULTRIX 4.1 & 4.2 --- 137,146 ---- XGKS has been installed on many platforms, including: ! Apollo DN3000 under DomainOS 10.2, BSD4.3, with C compiler ! 68K Rev 6.7(316) ! Apollo DN4000 under DomainOS 10.3.2, BSD4.3, with C compiler ! 68K Rev 6.8(168) Apollo 425T under DomainOS 10.3.5 VaxStation II under Ultrix 3.5, 4.0, & 4.1 DECstation 3100 under ULTRIX 4.1 & 4.2 *************** *** 164,178 **** 1) Edit the file Makefile in the root directory. Make appropriate changes to the "anticipated" macros near the top of the file. ! In addition, if your operating-system isn't one of Ultrix, ! SunOS, AIX, or UNICOS, then you will have to tell the C compiler ! what the names of certain FORTRAN-callable routines are. Edit ! the file `lib/fortran/fortxgks.h', adding a section similar to ! that which begins `#ifdef OS_sunos' -- using the obvious OS_... ! macro for your system and redefining the indicated function ! names to their FORTRAN-callable counterparts. ! 2) Type "make" in the directory containing this file. 3) If step 2 went ok, type "make install". --- 167,186 ---- 1) Edit the file Makefile in the root directory. Make appropriate changes to the "anticipated" macros near the top of the file. ! In addition, if your operating-system isn't one of AIX, ! DomainOS, HPUX, NeXTOS, SunOS, Ultrix, or UNICOS, then you will ! have to tell the C compiler what the names of certain ! FORTRAN-callable routines are. Edit the file ! `lib/fortran/fortxgks.h', adding a section similar to that which ! begins `#ifdef OS_sunos' -- using the obvious OS_... macro for ! your system and redefining the indicated function names to their ! FORTRAN-callable counterparts. ! 2) Type "make" in the directory containing this file. You can pass ! command-line arguments when doing this. For example: ! ! make all OS=domainos_10.3.2 DESTDIR='/usr/um/xgks' \ ! LIBTYPE=nonsharable >& Make-apollo & 3) If step 2 went ok, type "make install". The following patch adds to the list of known platforms in file `Makefile'. =================================================================== RCS file: RCS/Makefile,v retrieving revision 3.13 diff -c -r3.13 Makefile *** 3.13 1991/09/06 18:24:47 --- Makefile 1991/09/09 19:04:00 *************** *** 1,4 **** ! # $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # # Root Makefile for the XGKS package. --- 1,4 ---- ! # $Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # # Root Makefile for the XGKS package. *************** *** 46,52 **** # The type of operating-system. Known values include # aix_3.1, ! # domainos_10.3.5, # nextos_2.0, # hpux_8.0, # sunos_4.{0.3,1{,.1}}, --- 46,52 ---- # The type of operating-system. Known values include # aix_3.1, ! # domainos_10.{2,3.{2,5}} # nextos_2.0, # hpux_8.0, # sunos_4.{0.3,1{,.1}}, The following patch enhances the handling of the item-buffer in the program `progs/mi.c'. =================================================================== RCS file: progs/RCS/mi.c,v retrieving revision 2.4 diff -c -r2.4 progs/mi.c *** 2.4 1991/08/29 17:09:13 --- progs/mi.c 1991/09/09 19:08:50 *************** *** 34,40 **** */ #ifndef lint ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; static char afsid[] = "$__Header$"; #endif --- 34,40 ---- */ #ifndef lint ! static char rcsid[] = "$Id: 1.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; static char afsid[] = "$__Header$"; #endif *************** *** 51,66 **** int argc; char *argv[]; { ! int lineno; int error; int c; char *conn = NULL; char *mi_path; ! Gchar *record; Ggksmit gksmit; extern char *optarg; extern int optind; while ((c = getopt(argc, argv, "d:")) != -1) { switch (c) { case 'd': --- 51,72 ---- int argc; char *argv[]; { ! int itemno; int error; int c; + long maxsize = 1024; char *conn = NULL; char *mi_path; ! Gchar *record = (Gchar*) malloc(maxsize); Ggksmit gksmit; extern char *optarg; extern int optind; + if (record == NULL) { + perror("malloc()"); + return 1; + } + while ((c = getopt(argc, argv, "d:")) != -1) { switch (c) { case 'd': *************** *** 83,89 **** gactivatews(1); ! for (lineno = 1, error = 0; !error; ++lineno) { int status = ggetgksm(5, &gksmit); if (status != 0) { --- 89,95 ---- gactivatews(1); ! for (itemno = 1, error = 0; !error; ++itemno) { int status = ggetgksm(5, &gksmit); if (status != 0) { *************** *** 102,117 **** } } ! record = malloc((size_t) gksmit.length); ! if ((status = greadgksm(5, gksmit.length, record)) != 0) { ! error = status != 162; break; } error = ginterpret(&gksmit, record) != 0; } if (error) ! fprintf(stderr, "Error occured at line %d\n", lineno); fprintf(stderr, "Done. Hit BREAK in window to quit.\n"); --- 108,132 ---- } } ! if (gksmit.length > maxsize) { ! maxsize = gksmit.length; ! if ((record = (Gchar*)realloc((voidp)record, maxsize)) == NULL) { ! perror("realloc()"); ! error = 1; ! break; ! } ! } ! if ((status = greadgksm(5, maxsize, record)) != 0) { ! error = status != 162; /* EOF */ break; } error = ginterpret(&gksmit, record) != 0; } if (error) ! fprintf(stderr, "Error occured at item %d\n", itemno); ! ! (void) free((voidp)record); fprintf(stderr, "Done. Hit BREAK in window to quit.\n"); xgks-2.6.1+dfsg.2/src/patch/3.patch0000644000175000017500000014705111413611016017760 0ustar amckinstryamckinstryGreetings, This is patch #3 for version 2.4 of the XGKS package (alias SDM-3, patch #6). It accomplishes the following: BUG FIXES A race-condition between the initialization of a new GKS workstation data-structure and the asynchronous checking of that data-structure upon arrival of an X11 event is corrected. This bug causes XKGS to dump core under SunOS in certain circumstances. The use of malloc() and free() in the presence of signals is corrected. Since both these functions are considered unsafe in the presence of signals, all signals need to be blocked while they're doing their job, and then restored. All calls to malloc() and free() are re#define-d to use the new functions umalloc() and ufree() in the new file "lib/src/umalloc.c". The conversion between floating-point and integral representations of a floating-point values is corrected in the CGM backend. A missing call to PACK DATA RECORD is added to the demonstration program "gksdemo" to enable a proper rubber-band display of the shift-vector in the interactive transformation section. (Thanks to Helmut Schumacher .) ENHANCEMENTS The Makefiles are modified to automatically accomodate platforms which lack a Fortran compiler. Before, the build would crash while attempting to create the Fortran interface or the Fortran demonstration programs The handling of multiple GKS OPEN and CLOSE's using the Fortran API is made more robust by better allocation/deallocation of data structures created just for the GKS session. The finding of the GKS workstation associated with an X11 event is streamlined. MISCELLANEOUS The demonstration program "progs/font" is modified to use the number of fonts returned by XGKS rather than a hardcoded number. The INQUIRE TEXT FACILITIES function is modified to use a symbolic constant rather than an explicit hard-coded constant for the number of available fonts. This patch-file is designed to be applied from the top-level XGKS directory via Larry Wall's patch(1) utility, e.g. $ cd /usr/local/sdm/src/gks/x/xgks $ patch -p0 < this_file The "-p0" option is necessary. You may apply this patch, or, alternatively, obtain the latest XGKS (with all patches applied) via anonymous FTP: host: unidata.ucar.edu files: pub/xgks.tar.Z Regards, Steve Emmerson *** PATCHLEVEL.old Mon Oct 7 10:55:43 1991 --- PATCHLEVEL Tue Sep 24 14:51:08 1991 *************** *** 1 **** ! 2 --- 1 ---- ! 3 =================================================================== RCS file: RCS/Makefile,v retrieving revision 3.14 diff -c -r3.14 Makefile *** 3.14 1991/09/09 19:04:09 --- Makefile 1991/09/24 20:37:56 *************** *** 1,4 **** ! # $Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $ # # Root Makefile for the XGKS package. --- 1,4 ---- ! # $Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $ # # Root Makefile for the XGKS package. *************** *** 20,26 **** # Commands: # ! #FC = f77# Fortran compiler. Default = native make(1) INSTALL = install# An install(1)-like command. Must understand # "-c" (copy) and "-m" (mode) options. Under AIX, # this is /usr/ucb/install rather than --- 20,28 ---- # Commands: # ! #FC = f77# Fortran compiler. Unset => make(1) default. ! # Set to empty string => platform doesn't have ! # a Fortran compiler. INSTALL = install# An install(1)-like command. Must understand # "-c" (copy) and "-m" (mode) options. Under AIX, # this is /usr/ucb/install rather than =================================================================== RCS file: lib/RCS/Makefile,v retrieving revision 1.7 diff -c -r1.7 lib/Makefile *** 1.7 1991/08/02 18:21:58 --- lib/Makefile 1991/10/08 18:24:40 *************** *** 1,4 **** ! # $Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $ # # Makefile for the XGKS C and FORTRAN libraries. --- 1,4 ---- ! # $Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $ # # Makefile for the XGKS C and FORTRAN libraries. *************** *** 6,12 **** COPTS = -O DESTDIR = /usr/local/ldm# assumed to contain "bin", "include", # "lib", and "man" subdirectories ! #FC = f77# Fortran compiler. Default = native macro FOPTS = -O INCMODE = 644 INSTALL = install --- 6,14 ---- COPTS = -O DESTDIR = /usr/local/ldm# assumed to contain "bin", "include", # "lib", and "man" subdirectories ! #FC = f77# Fortran compiler. Unset => make(1) default. ! # Set to empty string => platform doesn't have ! # a Fortran compiler. FOPTS = -O INCMODE = 644 INSTALL = install *************** *** 34,42 **** # sharable Fortran library under the AIX operating system # requires the C XGKS runtime library to already exist. # - SUBDIRS = src fortran ! all: _src _fortran install: @$(MAKE) $(MFLAGS) $(MY_MFLAGS) TARGET=install all --- 36,46 ---- # sharable Fortran library under the AIX operating system # requires the C XGKS runtime library to already exist. # ! all: _src ! @-if [ -n "$(FC)" ]; then \ ! $(MAKE) $(MFLAGS) $(MY_MFLAGS) TARGET="$(TARGET)" _fortran; \ ! fi install: @$(MAKE) $(MFLAGS) $(MY_MFLAGS) TARGET=install all *** progs/Makefile.old Tue Oct 1 16:55:16 1991 --- progs/Makefile Tue Oct 1 16:17:32 1991 *************** *** 1,4 **** ! # $Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $ # # Copyright (C) 1990 UCAR/Unidata # --- 1,4 ---- ! # $Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $ # # Copyright (C) 1990 UCAR/Unidata # *************** *** 22,28 **** BINMODE = 775 DESTDIR = /usr/local/ldm# assumed to contain "bin", "include", # "lib", and "man" subdirectories ! #FC = f77# Fortran compiler. Default = native make(1) FOPTS = -g# f77(1) options INSTALL = install OS = sunos_4.1.1 --- 22,30 ---- BINMODE = 775 DESTDIR = /usr/local/ldm# assumed to contain "bin", "include", # "lib", and "man" subdirectories ! #FC = f77# Fortran compiler. Unset => make(1) default. ! # Set to empty string => platform doesn't have ! # Fortran compiler. FOPTS = -g# f77(1) options INSTALL = install OS = sunos_4.1.1 *************** *** 47,53 **** VERSIONID = $(NAME)vers INCPATH = ../lib/src X11_INCDIR = $${OPENWINHOME-/usr}/include ! UNICOS_INC = `case $(OS) in unicos*) echo -I/usr/include/stdc;; esac` INCLUDES = -I$(INCPATH) -I$(INCDIR)/udposix -I$(X11_INCDIR) $(UNICOS_INC) DEFINES = CPPOPTS = $(INCLUDES) $(DEFINES) --- 49,55 ---- VERSIONID = $(NAME)vers INCPATH = ../lib/src X11_INCDIR = $${OPENWINHOME-/usr}/include ! UNICOS_INC = `case $(OS) in unicos_5*) echo -I/usr/include/stdc;; esac` INCLUDES = -I$(INCPATH) -I$(INCDIR)/udposix -I$(X11_INCDIR) $(UNICOS_INC) DEFINES = CPPOPTS = $(INCLUDES) $(DEFINES) *************** *** 72,78 **** $(FC-L)$(LIBDIR) -lfxgks -lxgks LIB_UDAPE = `case $(OS) in \ ! aix*|hpux*|domainos*) ;; \ *) echo -ludape;; \ esac` --- 74,80 ---- $(FC-L)$(LIBDIR) -lfxgks -lxgks LIB_UDAPE = `case $(OS) in \ ! aix*|domainos*|hpux*|unicos_6*|ultrix*) ;; \ *) echo -ludape;; \ esac` *************** *** 84,90 **** SYSLIBS = -lX11 -lm \ `case $(OS) in \ sunos*) echo -L/usr/5lib;; \ ! unicos*) echo -lnet -lsc;; \ esac` LIBS = $(LIBXGKS) -L$(LIBDIR) $(LIB_UDAPE) -L$(X11_LIBDIR) \ --- 86,93 ---- SYSLIBS = -lX11 -lm \ `case $(OS) in \ sunos*) echo -L/usr/5lib;; \ ! unicos_5*) echo -lnet -lsc;; \ ! unicos_6*) echo -lnet;; \ esac` LIBS = $(LIBXGKS) -L$(LIBDIR) $(LIB_UDAPE) -L$(X11_LIBDIR) \ *************** *** 97,106 **** # in the original X11R4 distribution. IMHO, it contains the # useful ones. # ! PROGS = defcolors font hanoi mi pline pmark star gksdemo ! all: $(PROGS) # # Note that the programs "hanoi", "star", and "gksdemo" will not be # installed. IMHO, doing so would serve no useful purpose. --- 100,118 ---- # in the original X11R4 distribution. IMHO, it contains the # useful ones. # ! CPROGS = defcolors font hanoi mi pline pmark ! # ! # The following list contains the Fortran programs. They're cute ! # (especially "gksdemo") but not particularly useful. ! # ! FPROGS = star gksdemo + all: $(CPROGS) + @if [ -n "$(FC)" ]; then \ + $(MAKE) $(MFLAGS) $(MY_MFLAGS) $(FPROGS); \ + fi + # # Note that the programs "hanoi", "star", and "gksdemo" will not be # installed. IMHO, doing so would serve no useful purpose. *************** *** 118,128 **** $(BINDIR)/mi \ $(BINDIR)/pline \ $(BINDIR)/pmark # NB: When run, the programs "hanoi" and "font" make "*.out" GKS # Metafiles. clean: ! rm -f core $(PROGS) *.o *.log *.ln *.out *.gksm *.cgm $(BINDIR)/defcolors: defcolors $(INSTALL) -c -m $(BINMODE) defcolors $(BINDIR) --- 130,143 ---- $(BINDIR)/mi \ $(BINDIR)/pline \ $(BINDIR)/pmark + # $(BINDIR)/hanoi \ + # $(BINDIR)/star \ + # $(BINDIR)/gksdemo # NB: When run, the programs "hanoi" and "font" make "*.out" GKS # Metafiles. clean: ! rm -f core $(CPROGS) $(FPROGS) *.o *.log *.ln *.out *.gksm *.cgm $(BINDIR)/defcolors: defcolors $(INSTALL) -c -m $(BINMODE) defcolors $(BINDIR) *************** *** 134,152 **** $(INSTALL) -c -m $(BINMODE) pline $(BINDIR) $(BINDIR)/pmark: pmark $(INSTALL) -c -m $(BINMODE) pmark $(BINDIR) defcolors: defcolors.o $(CC) $(CFLAGS) -o $@ defcolors.o $(LIBS) font: font.o ! $(CC) $(CFLAGS) -o $@ font.o $(LIBS) mi: mi.o ! $(CC) $(CFLAGS) -o $@ mi.o $(LIBS) pline: pline.o $(CC) $(CFLAGS) -o $@ pline.o $(LIBS) pmark: pmark.o $(CC) $(CFLAGS) -o $@ pmark.o $(LIBS) hanoi: hanoi.o ! $(CC) $(CFLAGS) -o $@ hanoi.o $(LIBS) gksdemo: gksdemo.o $(FC) $(FFLAGS) -o $@ gksdemo.o $(LIBS_F77) -lc star: star.o --- 149,173 ---- $(INSTALL) -c -m $(BINMODE) pline $(BINDIR) $(BINDIR)/pmark: pmark $(INSTALL) -c -m $(BINMODE) pmark $(BINDIR) + $(BINDIR)/hanoi: hanoi + $(INSTALL) -c -m $(BINMODE) hanoi $(BINDIR) + $(BINDIR)/star: star + $(INSTALL) -c -m $(BINMODE) star $(BINDIR) + $(BINDIR)/gksdemo: gksdemo + $(INSTALL) -c -m $(BINMODE) gksdemo $(BINDIR) defcolors: defcolors.o $(CC) $(CFLAGS) -o $@ defcolors.o $(LIBS) font: font.o ! $(CC) $(CFLAGS) -o $@ font.o $(OBJS) $(LIBS) mi: mi.o ! $(CC) $(CFLAGS) -o $@ mi.o $(OBJS) $(LIBS) pline: pline.o $(CC) $(CFLAGS) -o $@ pline.o $(LIBS) pmark: pmark.o $(CC) $(CFLAGS) -o $@ pmark.o $(LIBS) hanoi: hanoi.o ! $(CC) $(CFLAGS) -o $@ hanoi.o $(OBJS) $(LIBS) gksdemo: gksdemo.o $(FC) $(FFLAGS) -o $@ gksdemo.o $(LIBS_F77) -lc star: star.o *************** *** 163,169 **** #setopt ccargs -I/usr/5include $(CFLAGS) -DDEBUG #setopt load_flags -C $(CFLAGS) -I/usr/5include -DDEBUG #unload all ! #load -C $(CFLAGS) -I/usr/5include -DDEBUG hanoi.c $(LIBS) -lc #ignore IO mi.saber: mi.c --- 184,190 ---- #setopt ccargs -I/usr/5include $(CFLAGS) -DDEBUG #setopt load_flags -C $(CFLAGS) -I/usr/5include -DDEBUG #unload all ! #load -C $(CFLAGS) -I/usr/5include -DDEBUG hanoi.c $(OBJS) $(LIBS) -lc #ignore IO mi.saber: mi.c *************** *** 172,178 **** #setopt ccargs -I/usr/5include -DDEBUG $(CFLAGS) #setopt load_flags -C -I/usr/5include -DDEBUG $(CFLAGS) #unload all ! #load -C $(CFLAGS) -I/usr/5include -DDEBUG mi.c $(LIBS) -lc #ignore IO depend: --- 193,199 ---- #setopt ccargs -I/usr/5include -DDEBUG $(CFLAGS) #setopt load_flags -C -I/usr/5include -DDEBUG $(CFLAGS) #unload all ! #load -C $(CFLAGS) -I/usr/5include -DDEBUG mi.c $(OBJS) $(LIBS) -lc #ignore IO depend: =================================================================== RCS file: progs/RCS/Makefile,v retrieving revision 1.8 diff -c -r1.8 progs/Makefile *** /tmp/RCSAa10530 Tue Oct 1 17:04:31 1991 --- progs/Makefile Tue Oct 1 17:03:48 1991 *************** *** 1,4 **** ! # $Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $ # # Copyright (C) 1990 UCAR/Unidata # --- 1,4 ---- ! # $Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $ # # Copyright (C) 1990 UCAR/Unidata # *************** *** 109,115 **** FPROGS = star gksdemo all: $(CPROGS) ! @if [ -n "$(FC)" ]; then \ $(MAKE) $(MFLAGS) $(MY_MFLAGS) $(FPROGS); \ fi --- 109,115 ---- FPROGS = star gksdemo all: $(CPROGS) ! @-if [ -n "$(FC)" ]; then \ $(MAKE) $(MFLAGS) $(MY_MFLAGS) $(FPROGS); \ fi =================================================================== RCS file: lib/fortran/RCS/control.src,v retrieving revision 1.3 diff -c -r1.3 lib/fortran/control.src *** /tmp/RCSAa11618 Thu Sep 26 08:44:28 1991 --- lib/fortran/control.src Thu Sep 26 08:43:34 1991 *************** *** 63,69 **** # define realloc(p,n) (lint_realloc(p,n), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $"; #endif #define INITPOINTS 2048 --- 63,69 ---- # define realloc(p,n) (lint_realloc(p,n), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $"; #endif #define INITPOINTS 2048 *************** *** 112,141 **** /* initialize the static points array */ if (currfortpoints == 0 || fortpoints == NULL) { ! fortpoints = (Gpoint *) malloc((size_t)(INITPOINTS * (sizeof(Gpoint)))); ! } else { ! fortpoints = (Gpoint *) realloc((char *) fortpoints, ! (size_t) (INITPOINTS * (sizeof(Gpoint)))); } - currfortpoints = INITPOINTS; /* initialize the static text area */ if (currforttext == 0 || forttext == NULL) { ! forttext = (Gchar *) malloc((size_t)(INITTEXT * sizeof(Gchar))); ! } else { ! forttext = (Gchar *) realloc((char *) forttext, ! (size_t) (INITTEXT * sizeof(Gchar))); } - currforttext = INITTEXT; /* initialize the static integer area */ if (currfortint == 0 || fortint == NULL) { ! fortint = (Gint *) malloc((size_t) (INITINT * sizeof(Gint))); ! } else { ! fortint = (Gint *) realloc((char *) fortint, ! (size_t) (INITINT * sizeof(Gint))); } - currfortint = INITINT; debug(("errfile = %d\n", *errfile)); --- 112,133 ---- /* initialize the static points array */ if (currfortpoints == 0 || fortpoints == NULL) { ! currfortpoints = INITPOINTS; ! fortpoints = (Gpoint*)malloc((size_t)(currfortpoints* ! sizeof(Gpoint))); } /* initialize the static text area */ if (currforttext == 0 || forttext == NULL) { ! currforttext = INITTEXT; ! forttext = (Gchar*)malloc((size_t)(currforttext*sizeof(Gchar))); } /* initialize the static integer area */ if (currfortint == 0 || fortint == NULL) { ! currfortint = INITINT; ! fortint = (Gint*)malloc((size_t)(currfortint*sizeof(Gint))); } debug(("errfile = %d\n", *errfile)); *************** *** 196,208 **** (void) gclosegks(); ! /* free memory allocated for use while GKS was open */ GKS_FREE(fortpoints); GKS_FREE(forttext); GKS_FREE(fortint); GKS_FREE(wtypes); ! if (xgks_connection != NULL) GKS_FREE(xgks_connection); } --- 188,213 ---- (void) gclosegks(); ! /* free memory allocated for use while GKS Fortran API was open */ GKS_FREE(fortpoints); + fortpoints = NULL; + currfortpoints = 0; + GKS_FREE(forttext); + forttext = NULL; + currforttext = 0; + GKS_FREE(fortint); + fortint = NULL; + currfortint = 0; + GKS_FREE(wtypes); ! wtypes = NULL; ! ! if (xgks_connection != NULL) { GKS_FREE(xgks_connection); + xgks_connection = NULL; + } } =================================================================== RCS file: progs/RCS/font.c,v retrieving revision 2.7 diff -c -r2.7 progs/font.c *** /tmp/RCSAa19127 Mon Sep 30 11:17:44 1991 --- progs/font.c Mon Sep 30 11:17:21 1991 *************** *** 34,40 **** */ #ifndef lint ! static char rcsid[] = "$Id"; static char afsid[] = "$__Header$"; #endif --- 34,40 ---- */ #ifndef lint ! static char rcsid[] = "$Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $"; static char afsid[] = "$__Header$"; #endif *************** *** 54,59 **** --- 54,117 ---- Glimit wsv; + static int + show_font(font) + int font; + { + Gpoint tpt; + char s[100]; + Gpoint up; + Gtxfp txfp; + Gtxalign align; + + txfp.font = 1; + txfp.prec = GSTROKE; + if (gsettextfontprec(&txfp) != 0) + return 0; + + gsetcharexpan(0.5); + gsetcharspace(0.2); + gsettextcolorind(WHITE); + + gsetcharheight(0.05); + up.x = 0.0; + up.y = 1.0; + gsetcharup(&up); + align.hor = GTH_CENTER; + align.ver = GTV_BASE; + gsettextalign(&align); + gsettextpath(GTP_RIGHT); + + tpt.x = 0.5; + tpt.y = 0.9; + (void) sprintf(s, "GKS VECTOR FONT NUMBER %d", font); + gtext(&tpt, s); + + gsetcharheight(0.05); + align.hor = GTH_LEFT; + align.ver = GTV_BASE; + gsettextalign(&align); + txfp.font = font; + txfp.prec = GSTROKE; + if (gsettextfontprec(&txfp) != 0) + return 0; + + tpt.x = 0.01; + tpt.y = 0.80; + gtext(&tpt, " !\"#$%&'()*+,-./:;<=>?@"); + tpt.y -= 0.08; + gtext(&tpt, "0123456789"); + tpt.y -= 0.08; + gtext(&tpt, "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); + tpt.y -= 0.08; + gtext(&tpt, "abcdefghijklmnopqrstuvwxyz"); + tpt.y -= 0.08; + gtext(&tpt, "[\\]^_`{|}~"); + + return 1; + } + + main(argc, argv) int argc; char *argv[]; *************** *** 62,67 **** --- 120,126 ---- int c; char *conn = NULL; char *mo_path = "font.gksm"; + Gtxfac fac; extern char *optarg; extern int optind; *************** *** 113,123 **** gsetwsviewport(ws_id, &wsv); gselntran(1); - test_font(); ! for (i = 1; i < 10; i++) { #if DEBUG ! int c = #else (void) #endif --- 172,190 ---- gsetwsviewport(ws_id, &wsv); gselntran(1); ! ginqtextfacil((char*)NULL, &fac); ! (void) free((voidp)fac.fp_list); ! ! test_font(fac.fps); ! ! for (i = 1; i <= fac.fps; ++i) { #if DEBUG ! int c; ! #endif ! ! #ifdef DEBUG ! c = #else (void) #endif *************** *** 130,138 **** (void) fprintf(stderr, "getchar() = %d\n", c); } #endif gclearws(200, GALWAYS); gclearws(1, GALWAYS); ! show_font(i); } (void) fprintf(stderr, "Done. Enter BREAK in window to quit ...\n"); --- 197,208 ---- (void) fprintf(stderr, "getchar() = %d\n", c); } #endif + gclearws(200, GALWAYS); gclearws(1, GALWAYS); ! ! if (!show_font(i)) ! break; } (void) fprintf(stderr, "Done. Enter BREAK in window to quit ...\n"); *************** *** 176,182 **** }; ! test_font() { Gpoint tpt; char s[100]; --- 246,253 ---- }; ! test_font(nfonts) ! int nfonts; { Gpoint tpt; char s[100]; *************** *** 214,220 **** tpt.x = 0.01; tpt.y = 0.90; ! for (i = 1; i < 10; i++) { txfp.font = i; txfp.prec = GSTROKE; gsettextfontprec(&txfp); --- 285,291 ---- tpt.x = 0.01; tpt.y = 0.90; ! for (i = 1; i <= nfonts; i++) { txfp.font = i; txfp.prec = GSTROKE; gsettextfontprec(&txfp); *************** *** 228,292 **** } - show_font(font) - int font; - { - Gpoint tpt; - char s[100]; - Gpoint up; - Gtxfp txfp; - Gtxalign align; - - txfp.font = 1; - txfp.prec = GSTROKE; - gsettextfontprec(&txfp); - - gsetcharexpan(0.5); - gsetcharspace(0.2); - gsettextcolorind(WHITE); - - gsetcharheight(0.05); - up.x = 0.0; - up.y = 1.0; - gsetcharup(&up); - align.hor = GTH_CENTER; - align.ver = GTV_BASE; - gsettextalign(&align); - gsettextpath(GTP_RIGHT); - - tpt.x = 0.5; - tpt.y = 0.9; - (void) sprintf(s, "GKS VECTOR FONT NUMBER %d", font); - gtext(&tpt, s); - - gsetcharheight(0.05); - align.hor = GTH_LEFT; - align.ver = GTV_BASE; - gsettextalign(&align); - txfp.font = font; - txfp.prec = GSTROKE; - gsettextfontprec(&txfp); - - tpt.x = 0.01; - tpt.y = 0.80; - gtext(&tpt, " !\"#$%&'()*+,-./:;<=>?@"); - tpt.y -= 0.08; - gtext(&tpt, "0123456789"); - tpt.y -= 0.08; - gtext(&tpt, "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); - tpt.y -= 0.08; - gtext(&tpt, "abcdefghijklmnopqrstuvwxyz"); - tpt.y -= 0.08; - gtext(&tpt, "[\\]^_`{|}~"); - } - - SetColor(hash) Gint hash; { Gcobundl rep; ! switch (hash) { case 1: rep.red = 1.0; --- 299,311 ---- } SetColor(hash) Gint hash; { Gcobundl rep; + int color_index = hash%9; ! switch (color_index) { case 1: rep.red = 1.0; *************** *** 328,334 **** rep.green = 0.5; rep.blue = 0.0; break; ! case 9: rep.red = 0.0; rep.green = 1.0; rep.blue = 0.5; --- 347,353 ---- rep.green = 0.5; rep.blue = 0.0; break; ! case 0: rep.red = 0.0; rep.green = 1.0; rep.blue = 0.5; *************** *** 335,343 **** break; } ! gsetcolourrep(1, hash, &rep); ! gsetcolourrep(200, hash, &rep); ! gsettextcolorind(hash); return; } --- 354,362 ---- break; } ! gsetcolourrep(1, color_index, &rep); ! gsetcolourrep(200, color_index, &rep); ! gsettextcolorind(color_index); return; } =================================================================== RCS file: lib/src/RCS/gks_defines.h,v retrieving revision 2.10 diff -c -r2.10 lib/src/gks_defines.h *** /tmp/RCSAa21066 Mon Sep 30 13:24:56 1991 --- lib/src/gks_defines.h Mon Sep 30 13:19:13 1991 *************** *** 37,43 **** * * This header-file depends upon header-file "xgks.h". * ! * $Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $ * $__Header$ */ --- 37,43 ---- * * This header-file depends upon header-file "xgks.h". * ! * $Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $ * $__Header$ */ *************** *** 74,79 **** --- 74,95 ---- #define GKSERROR(c,n,m) GKS_STMT(if (c) { (void)gerrorhand( (n), (m), \ xgks_state.gks_err_file); return( (n) ); }) + + /* + * Manage memory safely (i.e. ignore signals while doing it). + * + * This is a kludge since the sources should have been + * written with umalloc() and ufree() rather than malloc() and free(). + * Changing all occurrences, however, would be painful -- especially for + * "just a patch". Hopefully, we'll remember to do this before the next + * release. + */ + #ifndef lint + # define free(ptr) ufree(ptr) + # define malloc(size) umalloc(size) + extern void ufree PROTO((voidp ptr)); + extern voidp umalloc PROTO((size_t size)); + #endif /* * Free allocated memory. *** /dev/null Tue Oct 1 15:35:23 1991 --- lib/src/umalloc.c Mon Sep 30 13:24:10 1991 *************** *** 0 **** --- 1,56 ---- + #include "udposix.h" + #include "gks_implem.h" /* for umalloc() and ufree() declarations */ + #undef malloc /* remove #define in "gks_implem.h" */ + #undef free /* remove #define in "gks_implem.h" */ + #include /* for malloc() and free() */ + #include /* for sigset_t, sigfillset(), sigprocmask() */ + /* and associated macros */ + + + /* + * Uninterruptible malloc(). + * + * Because malloc() is "unsafe" in the presence of signals(%), we insure + * that it is not interrupted while doing its job by blocking all signals + * before calling it, and then restoring the signal mask before returning. + * + * (%) See "POSIX--PART 1: System Application Program Interface (API) + * [C Language]; ISO/IEC 9945-1: 1990, IEEE Std 1003.1-1990; Section + * 3.3.1.3. + */ + void* + umalloc(size) + size_t size; + { + voidp ptr; + sigset_t block_set; + sigset_t previous_set; + + (void) sigfillset(&block_set); + + (void) sigprocmask(SIG_BLOCK, &block_set, &previous_set); + ptr = malloc(size); + (void) sigprocmask(SIG_SETMASK, &previous_set, (sigset_t*)NULL); + + return ptr; + } + + + /* + * Uninterruptible free(). + * + * Same rationale as for umalloc(). + */ + void + ufree(ptr) + voidp ptr; + { + sigset_t block_set; + sigset_t previous_set; + + (void) sigfillset(&block_set); + + (void) sigprocmask(SIG_BLOCK, &block_set, &previous_set); + free(ptr); + (void) sigprocmask(SIG_SETMASK, &previous_set, (sigset_t*)NULL); + } =================================================================== RCS file: lib/src/RCS/Makefile,v retrieving revision 1.20 diff -c -r1.20 lib/src/Makefile *** /tmp/RCSAa08798 Tue Oct 1 15:51:58 1991 --- lib/src/Makefile Mon Sep 30 12:22:35 1991 *************** *** 1,6 **** # Makefile for the XGKS, C-binding library # ! # $Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $ # Anticipated, changeable macros (others might not work): COPTS = -O --- 1,6 ---- # Makefile for the XGKS, C-binding library # ! # $Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $ # Anticipated, changeable macros (others might not work): COPTS = -O *************** *** 99,105 **** inqpolylines.c inqtext.c inqtransform.c inquiries.c \ locator.c message.c metafile.c open_gks.c open_ws.c \ pick.c polylines.c polymarkers.c prmgr.c segments.c \ ! string.c stroke.c text.c transforms.c update.c \ valuator.c LNS = $(VERSIONID).ln act_ws.ln aspect_flags.ln cellarray.ln \ --- 99,105 ---- inqpolylines.c inqtext.c inqtransform.c inquiries.c \ locator.c message.c metafile.c open_gks.c open_ws.c \ pick.c polylines.c polymarkers.c prmgr.c segments.c \ ! string.c stroke.c text.c transforms.c umalloc.c update.c \ valuator.c LNS = $(VERSIONID).ln act_ws.ln aspect_flags.ln cellarray.ln \ *************** *** 109,115 **** inqpolylines.ln inqtext.ln inqtransform.ln inquiries.ln \ locator.ln message.ln open_gks.ln open_ws.ln \ pick.ln polylines.ln polymarkers.ln prmgr.ln segments.ln \ ! string.ln stroke.ln text.ln transforms.ln update.ln \ valuator.ln OBJECTS = $(VERSIONID).o act_ws.o aspect_flags.o cellarray.o \ --- 109,115 ---- inqpolylines.ln inqtext.ln inqtransform.ln inquiries.ln \ locator.ln message.ln open_gks.ln open_ws.ln \ pick.ln polylines.ln polymarkers.ln prmgr.ln segments.ln \ ! string.ln stroke.ln text.ln transforms.ln umalloc.ln update.ln \ valuator.ln OBJECTS = $(VERSIONID).o act_ws.o aspect_flags.o cellarray.o \ *************** *** 119,125 **** inqpolylines.o inqtext.o inqtransform.o inquiries.o \ locator.o message.o metafile.o open_gks.o open_ws.o \ pick.o polylines.o polymarkers.o prmgr.o segments.o \ ! string.o stroke.o text.o transforms.o update.o \ valuator.o $(GKSM_OBJS) $(CGM_OBJS) $(X_OBJS) SA_OBJS = $(VERSIONID).o externinit.o --- 119,125 ---- inqpolylines.o inqtext.o inqtransform.o inquiries.o \ locator.o message.o metafile.o open_gks.o open_ws.o \ pick.o polylines.o polymarkers.o prmgr.o segments.o \ ! string.o stroke.o text.o transforms.o umalloc.o update.o \ valuator.o $(GKSM_OBJS) $(CGM_OBJS) $(X_OBJS) SA_OBJS = $(VERSIONID).o externinit.o =================================================================== RCS file: lib/src/RCS/inqtext.c,v retrieving revision 2.6 diff -c -r2.6 lib/src/inqtext.c *** /tmp/RCSAa20583 Mon Sep 30 12:57:51 1991 --- lib/src/inqtext.c Mon Sep 30 12:57:09 1991 *************** *** 46,52 **** # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $"; #endif --- 46,52 ---- # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $"; #endif *************** *** 78,84 **** GKSERROR(ewstype != X_WIN, 39, errginqtextfacil); /* set the return values */ ! fac->fps = 9; /* get space for list */ fac->fp_list = (Gtxfp *) malloc((size_t) (fac->fps * sizeof(Gtxfp))); --- 78,84 ---- GKSERROR(ewstype != X_WIN, 39, errginqtextfacil); /* set the return values */ ! fac->fps = DEFINED_FONT_TYPE; /* get space for list */ fac->fp_list = (Gtxfp *) malloc((size_t) (fac->fps * sizeof(Gtxfp))); =================================================================== RCS file: lib/src/RCS/open_ws.c,v retrieving revision 2.7 diff -c -r2.7 lib/src/open_ws.c *** /tmp/RCSAa20662 Mon Sep 30 13:06:38 1991 --- lib/src/open_ws.c Mon Sep 30 13:03:01 1991 *************** *** 49,55 **** # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $"; #endif extern void XgksDelAllMoSeg(); --- 49,55 ---- # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $"; #endif extern void XgksDelAllMoSeg(); *************** *** 118,132 **** GKSERROR((!(ws = XgksNewWs())), 300, errgopenws); ws->ws_id = ws_id; - ws->wsstate = GINACTIVE; ws->wstype = (Gchar *) malloc((size_t) (STRLEN(ws_type) + 1)); GKSERROR(ws->wstype == NULL, 300, errgopenws); STRCPY(ws->wstype, ws_type); ws->ewstype = ewstype; - /* not in the process of closing */ - ws->ws_is_closing = FALSE; - GKSERROR(((ws->conn = (Gchar *) malloc((size_t) (STRLEN(connection) + 1))) == NULL), 300, errgopenws); --- 118,128 ---- *************** *** 134,140 **** /* add this ws ptr into openedws[] array */ (void) XgksSetWsPtr(ws_id, ws); - ws->dpy = NULL; switch (ewstype) { case X_WIN: /* open the workstation as X-11 window */ --- 130,135 ---- *************** *** 473,479 **** --- 468,476 ---- if ((new = (WS_STATE_PTR) malloc(sizeof(WS_STATE_ENTRY))) != NULL) { new->ws_id = 0; + new->dpy = NULL; new->wsstate = GINACTIVE; + new->ws_is_closing = FALSE; new->conn = NULL; new->mf.any.fp = NULL; new->clip = xgks_state.cliprec.rec; =================================================================== RCS file: lib/src/RCS/colours.c,v retrieving revision 2.6 diff -c -r2.6 lib/src/colours.c *** /tmp/RCSAa23545 Mon Sep 30 14:19:17 1991 --- lib/src/colours.c Mon Sep 30 14:18:57 1991 *************** *** 50,56 **** # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $"; #endif static int loadcache(); --- 50,56 ---- # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $"; #endif static int loadcache(); *************** *** 112,119 **** * Allocate & init memory for set colour rep table for use in * ginqcolourrep (DWO). */ ! ws->set_colour_rep = (Gcobundl*)calloc((size_t)ws->wscolour, ! sizeof(Gcobundl)); GKSERROR((!ws->set_colour_rep), 300, errgsetcolourrep); for (i = 0; i < ws->wscolour; i++) { ws->set_colour_rep[i].red = NOT_SET; --- 112,119 ---- * Allocate & init memory for set colour rep table for use in * ginqcolourrep (DWO). */ ! ws->set_colour_rep = (Gcobundl*)malloc((size_t)(ws->wscolour* ! sizeof(Gcobundl))); GKSERROR((!ws->set_colour_rep), 300, errgsetcolourrep); for (i = 0; i < ws->wscolour; i++) { ws->set_colour_rep[i].red = NOT_SET; =================================================================== RCS file: lib/src/x/RCS/xevent.c,v retrieving revision 2.14 diff -c -r2.14 lib/src/x/xevent.c *** /tmp/RCSAa23608 Mon Sep 30 14:32:20 1991 --- lib/src/x/xevent.c Mon Sep 30 14:31:45 1991 *************** *** 46,52 **** #ifndef lint static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $"; #endif --- 46,52 ---- #ifndef lint static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $"; #endif *************** *** 194,231 **** void xProcessEvents() { - Display *dpy; - XEvent xev; Gint i; for (i = 0; i < MAX_OPEN_WS; i++) { ! if ((xgks_state.openedws[i].ws_id != INVALID) ! && ((dpy = xgks_state.openedws[i].ws->dpy) != NULL) ! && (!xgks_state.openedws[i].ws->ws_is_closing)) { ! while (XPending(dpy) > 0) { ! int ii; ! WS_STATE_PTR ws; ! XNextEvent(dpy, &xev); # ifdef EVENTDEBUG print_event(&xev); # endif - /* - * Ignore the event if its window doesn't correspond to a - * GKS workstation. - */ - for (ii = 0; ii < MAX_OPEN_WS; ii++) { - if (xgks_state.openedws[ii].ws_id != INVALID && - xgks_state.openedws[ii].win == xev.xany.window && - xgks_state.openedws[ii].ws->dpy == dpy) - break; - } - if (ii >= MAX_OPEN_WS) - continue; - ws = xgks_state.openedws[ii].ws; - switch (xev.type) { case Expose: --- 194,217 ---- void xProcessEvents() { Gint i; for (i = 0; i < MAX_OPEN_WS; i++) { ! if (xgks_state.openedws[i].ws_id != INVALID && ! xgks_state.openedws[i].ws != NULL && ! xgks_state.openedws[i].ws->dpy != NULL && ! !xgks_state.openedws[i].ws->ws_is_closing) { ! XEvent xev; ! Window win = xgks_state.openedws[i].win; ! WS_STATE_ENTRY *ws = xgks_state.openedws[i].ws; + if (XCheckWindowEvent(ws->dpy, win, ~NoEventMask, &xev) == True) { + # ifdef EVENTDEBUG print_event(&xev); # endif switch (xev.type) { case Expose: *************** *** 247,254 **** break; } } /* event loop */ ! } /* active workstation */ ! } /* workstation loop */ } --- 233,240 ---- break; } } /* event loop */ ! } /* workstation is X11 window */ ! } /* GKS workstation loop */ } =================================================================== RCS file: lib/src/cgm/RCS/cgm.c,v retrieving revision 1.9 diff -c -r1.9 lib/src/cgm/cgm.c *** /tmp/RCSAa26413 Mon Sep 30 16:31:18 1991 --- lib/src/cgm/cgm.c Mon Sep 30 16:28:41 1991 *************** *** 26,35 **** #undef MIN #define MIN(a,b) ((a) < (b) ? (a) : (b)) #ifndef lint static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $"; #endif /* --- 26,51 ---- #undef MIN #define MIN(a,b) ((a) < (b) ? (a) : (b)) + #define ABS(x) ((x) < 0 ? -(x) : (x)) + #define SIGN(a,b) ((a) < 0 ? -ABS(b) : ABS(b)) + /* + * Convert between a floating-point representation in the range from + * zero through one (or minus one through one) and an integral representation. + */ + #define NORM_TO_INT(mod, fval) SIGN(fval, ((long)(ABS(fval)*((mod)-1) + .5))) + #define UNORM_TO_INT(mod, fval) MIN((mod)-1, (unsigned long)((fval)*(mod))) + #define INT_TO_NORM(mod, ival) ((double)(ival)/((mod)-1)) + #define UINT_TO_NORM(mod, ival) (.5/(mod) + (double)(ival)/(mod)) + #define UNORM_TO_INT8(fval) UNORM_TO_INT(256, fval) + #define NORM_TO_INT16(fval) NORM_TO_INT((unsigned)(1<<15), fval) + #define UNORM_TO_INT16(fval) UNORM_TO_INT((unsigned long)(1<<16), fval) + #define UINT8_TO_NORM(ival) UINT_TO_NORM(256, ival) + #define UINT16_TO_NORM(ival) UINT_TO_NORM((unsigned long)(1<<16), ival) + #ifndef lint static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $"; #endif /* *************** *** 254,286 **** mo_element(cgmo, num, CGM_MASK_PATINDEX, ATTRIBUTE_CL, PATINDEX_ID, \ mo_indexes, offsetof(mf_cgmo, patindex), 1) ! #define mo_begmf(cgmo, num) GKS_STMT( \ mo_header(DELIMITER_CL, BEGMF_ID); \ mo_string(cgmo, num, "XGKS CGM"); \ mo_flush(cgmo, num, 0); \ ) ! #define mo_mfversion(cgmo, num) GKS_STMT( \ mo_header(MF_DESCRIPTOR_CL, MFVERSION_ID); \ mo_int(cgmo, num, mfversion); \ mo_flush(cgmo, num, 0); \ ) ! #define mo_mfelemlist(cgmo, num) GKS_STMT( \ mo_header(MF_DESCRIPTOR_CL, MFELEMLIST_ID); \ mo_int(cgmo, num, num_elements); \ mo_ints(cgmo, num, (char*)mf_elements_list, 2*num_elements); \ mo_flush(cgmo, num, 0); \ ) ! #define mo_begpicbody(cgmo, num) GKS_STMT( \ mo_header(DELIMITER_CL, BEGPICBODY_ID); \ mo_flush(cgmo, num, 0); \ mo_mode(cgmo, num, CGMO_IN_BODY); \ ) ! #define mo_endpic(cgmo, num) GKS_STMT( \ mo_header(DELIMITER_CL, ENDPIC_ID); \ mo_flush(cgmo, num, 0); \ mo_mode(cgmo, num, CGMO_IN_METAFILE); \ ) ! #define mo_endmf(cgmo, num) GKS_STMT( \ mo_header(DELIMITER_CL, ENDMF_ID); \ mo_flush(cgmo, num, 0); \ mo_mode(cgmo, num, CGMO_UNSET); \ --- 270,302 ---- mo_element(cgmo, num, CGM_MASK_PATINDEX, ATTRIBUTE_CL, PATINDEX_ID, \ mo_indexes, offsetof(mf_cgmo, patindex), 1) ! #define MO_BEGMF(cgmo, num) GKS_STMT( \ mo_header(DELIMITER_CL, BEGMF_ID); \ mo_string(cgmo, num, "XGKS CGM"); \ mo_flush(cgmo, num, 0); \ ) ! #define MO_MFVERSION(cgmo, num) GKS_STMT( \ mo_header(MF_DESCRIPTOR_CL, MFVERSION_ID); \ mo_int(cgmo, num, mfversion); \ mo_flush(cgmo, num, 0); \ ) ! #define MO_MFELEMLIST(cgmo, num) GKS_STMT( \ mo_header(MF_DESCRIPTOR_CL, MFELEMLIST_ID); \ mo_int(cgmo, num, num_elements); \ mo_ints(cgmo, num, (char*)mf_elements_list, 2*num_elements); \ mo_flush(cgmo, num, 0); \ ) ! #define MO_BEGPICBODY(cgmo, num) GKS_STMT( \ mo_header(DELIMITER_CL, BEGPICBODY_ID); \ mo_flush(cgmo, num, 0); \ mo_mode(cgmo, num, CGMO_IN_BODY); \ ) ! #define MO_ENDPIC(cgmo, num) GKS_STMT( \ mo_header(DELIMITER_CL, ENDPIC_ID); \ mo_flush(cgmo, num, 0); \ mo_mode(cgmo, num, CGMO_IN_METAFILE); \ ) ! #define MO_ENDMF(cgmo, num) GKS_STMT( \ mo_header(DELIMITER_CL, ENDMF_ID); \ mo_flush(cgmo, num, 0); \ mo_mode(cgmo, num, CGMO_UNSET); \ *************** *** 340,345 **** --- 356,369 ---- ) + static double + int16_to_norm(ival) + int ival; + { + return INT_TO_NORM((unsigned)(1<<15), ival); + } + + /* * Flush the (complete or partial) CGM-element parameter-buffer. */ *************** *** 590,601 **** double x = val; \ short swhole = x < 0 ? x - 1 : x; \ unsigned short whole = HTOTS(swhole); \ ! unsigned short frac = 0277777L*(x - swhole)+.5; \ unsigned char bytes[2]; \ HTON16(whole, bytes); \ mo_octets(mo, nmo, bytes, 2); \ HTON16(frac, bytes); \ mo_octets(mo, nmo, bytes, 2); \ ) #define size_real32fx() (size_t)4 --- 614,627 ---- double x = val; \ short swhole = x < 0 ? x - 1 : x; \ unsigned short whole = HTOTS(swhole); \ ! unsigned short frac = UNORM_TO_INT16(x-swhole); \ unsigned char bytes[2]; \ HTON16(whole, bytes); \ mo_octets(mo, nmo, bytes, 2); \ HTON16(frac, bytes); \ mo_octets(mo, nmo, bytes, 2); \ + assert(x-swhole >= 0); \ + assert(x-swhole <= 1); \ ) #define size_real32fx() (size_t)4 *************** *** 631,638 **** /* * Write a VDC parameter. */ ! #define mo_vdc(cgmo, num, val) GKS_STMT( \ ! int x = (val)*32767 + .5; \ mo_int16(cgmo, num, x); \ ) --- 657,666 ---- /* * Write a VDC parameter. */ ! #define MO_VDC(cgmo, num, val) GKS_STMT( \ ! int x = NORM_TO_INT16(val); \ ! assert(val >= -1); \ ! assert(val <= 1); \ mo_int16(cgmo, num, x); \ ) *************** *** 653,660 **** assert(size_vdc() == size_int()); ! while (nval-- > 0) ! mo_vdc(cgmo, num, *vals++); } --- 681,691 ---- assert(size_vdc() == size_int()); ! while (nval-- > 0) { ! Gfloat val = *vals++; ! ! MO_VDC(cgmo, num, val); ! } } *************** *** 661,670 **** /* * Write a point. */ ! #define mo_point(cgmo, num, ptr) GKS_STMT( \ ! Gpoint *pt = ptr; \ ! mo_vdc(cgmo, num, pt->x); \ ! mo_vdc(cgmo, num, pt->y); \ ) #define size_point() (2*size_vdc()) --- 692,700 ---- /* * Write a point. */ ! #define MO_POINT(cgmo, num, ptr) GKS_STMT( \ ! MO_VDC(cgmo, num, (ptr)->x); \ ! MO_VDC(cgmo, num, (ptr)->y); \ ) #define size_point() (2*size_vdc()) *************** *** 682,689 **** { Gpoint *vals = (Gpoint*)ptr; ! while (nval-- > 0) ! mo_point(cgmo, num, vals++); } --- 712,722 ---- { Gpoint *vals = (Gpoint*)ptr; ! while (nval-- > 0) { ! Gpoint *pt = vals++; ! ! MO_POINT(cgmo, num, pt); ! } } *************** *** 693,703 **** * NB: The default direct color precision is used. */ #define mo_direct_color(cgmo, num, ptr) GKS_STMT( \ ! Gcobundl *colr = (Gcobundl*)ptr; \ unsigned char rep[3]; \ ! rep[0] = 0.5 + 255*colr->red; \ ! rep[1] = 0.5 + 255*colr->green; \ ! rep[2] = 0.5 + 255*colr->blue; \ mo_octets(cgmo, num, rep, 3); \ ) --- 726,742 ---- * NB: The default direct color precision is used. */ #define mo_direct_color(cgmo, num, ptr) GKS_STMT( \ ! Gcobundl *colr = ptr; \ unsigned char rep[3]; \ ! assert(colr->red >= 0); \ ! assert(colr->red <= 1); \ ! assert(colr->green >= 0); \ ! assert(colr->green <= 1); \ ! assert(colr->blue >= 0); \ ! assert(colr->blue <= 1); \ ! rep[0] = UNORM_TO_INT8(colr->red); \ ! rep[1] = UNORM_TO_INT8(colr->green); \ ! rep[2] = UNORM_TO_INT8(colr->blue); \ mo_octets(cgmo, num, rep, 3); \ ) *************** *** 775,783 **** #define size_cell() (size_t)(DEFAULT_COLRPREC/8) - #define size_cellrow(nx) (nx*size_cell() + (nx*size_cell())%2) - /* * Write an element whose parameters are all the same. */ --- 814,820 ---- *************** *** 834,840 **** cp += nchr; \ ) ! ADD_STRING("UCAR/Unidata XGKS/CGM $Revision: 2.5.4.1 $: "); if (username == NULL) { ADD_STRING(""); --- 871,877 ---- cp += nchr; \ ) ! ADD_STRING("UCAR/Unidata XGKS/CGM $Revision: 2.5.4.1 $: "); if (username == NULL) { ADD_STRING(""); *************** *** 935,942 **** upper_right.x = cgmo[0]->wswindow.xmax; upper_right.y = cgmo[0]->wswindow.ymax; ! mo_point(cgmo, 1, &lower_left); ! mo_point(cgmo, 1, &upper_right); mo_flush(cgmo, 1, 0); } } --- 972,979 ---- upper_right.x = cgmo[0]->wswindow.xmax; upper_right.y = cgmo[0]->wswindow.ymax; ! MO_POINT(cgmo, 1, &lower_left); ! MO_POINT(cgmo, 1, &upper_right); mo_flush(cgmo, 1, 0); } } *************** *** 1027,1050 **** Gintlist indices; if (ginqcolourindices(cgmo[ii]->ws->ws_id, &indices) == OK) { ! int idx; ! int ncolor = indices.number; ! int *colors = indices.integers; ! for (idx = 0; idx < ncolor; ++idx) { ! Gcobundl color; ! if (ginqcolourrep(cgmo[ii]->ws->ws_id, colors[idx], ! GSET, &color) == OK) { ! mo_header(ATTRIBUTE_CL, COLRTABLE_ID); ! mo_index(cgmo+ii, 1, colors[idx]); ! mo_direct_color(cgmo+ii, 1, &color); ! mo_flush(cgmo+ii, 1, 0); ! } } - } ! GKS_FREE(indices.integers); } } } --- 1064,1083 ---- Gintlist indices; if (ginqcolourindices(cgmo[ii]->ws->ws_id, &indices) == OK) { ! int ncolors = indices.number; ! int *idxp = indices.integers; ! for (; ncolors-- > 0; ++idxp) { ! Gcobundl rep; ! if (ginqcolourrep(cgmo[ii]->ws->ws_id, *idxp, ! GSET, &rep) == OK) ! (void) CGMsetColRep((Metafile**)cgmo+ii, 1, *idxp, ! &rep); } ! GKS_FREE(indices.integers); ! } } } } *************** *** 1127,1138 **** cgmo->picture_number = 0; cgmo->isset = 0; ! mo_begmf(&cgmo, 1); /* BEGIN METAFILE */ ! mo_mfversion(&cgmo, 1); /* METAFILE VERSION */ ! mo_mfelemlist(&cgmo, 1); /* METAFILE ELEMENT LIST */ mo_mfdesc(&cgmo, 1); /* METAFILE DESCRIPTION */ mo_begpic(&cgmo, 1); /* BEGIN PICTURE */ ! mo_begpicbody(&cgmo, 1); /* BEGIN PICTURE BODY */ return OK; } --- 1160,1171 ---- cgmo->picture_number = 0; cgmo->isset = 0; ! MO_BEGMF(&cgmo, 1); /* BEGIN METAFILE */ ! MO_MFVERSION(&cgmo, 1); /* METAFILE VERSION */ ! MO_MFELEMLIST(&cgmo, 1); /* METAFILE ELEMENT LIST */ mo_mfdesc(&cgmo, 1); /* METAFILE DESCRIPTION */ mo_begpic(&cgmo, 1); /* BEGIN PICTURE */ ! MO_BEGPICBODY(&cgmo, 1); /* BEGIN PICTURE BODY */ return OK; } *************** *** 1162,1172 **** if (flag == GCONDITIONALLY && cgmo->mode == CGMO_NOT_EMPTY || flag == GALWAYS) { ! mo_endpic(&cgmo, 1); /* END PICTURE */ mo_begpic(&cgmo, 1); /* BEGIN PICTURE */ mo_vdcext(&cgmo, 1); /* VDC EXTENT */ mo_backcolr(&cgmo, 1); /* BACKGROUND COLOR */ ! mo_begpicbody(&cgmo, 1); /* BEGIN PICTURE BODY */ mo_attributes(&cgmo, 1); /* attribute settings */ mo_cliprect(&cgmo, 1); /* CLIP RECTANGLE */ } --- 1195,1205 ---- if (flag == GCONDITIONALLY && cgmo->mode == CGMO_NOT_EMPTY || flag == GALWAYS) { ! MO_ENDPIC(&cgmo, 1); /* END PICTURE */ mo_begpic(&cgmo, 1); /* BEGIN PICTURE */ mo_vdcext(&cgmo, 1); /* VDC EXTENT */ mo_backcolr(&cgmo, 1); /* BACKGROUND COLOR */ ! MO_BEGPICBODY(&cgmo, 1); /* BEGIN PICTURE BODY */ mo_attributes(&cgmo, 1); /* attribute settings */ mo_cliprect(&cgmo, 1); /* CLIP RECTANGLE */ } *************** *** 1305,1311 **** mf_cgmo **cgmo = (mf_cgmo**)mf; mo_header(PRIMITIVE_CL, TEXT_ID); ! mo_point(cgmo, num, at); mo_enum(cgmo, num, final); mo_string(cgmo, num, string); mo_flush(cgmo, num, 0); --- 1338,1344 ---- mf_cgmo **cgmo = (mf_cgmo**)mf; mo_header(PRIMITIVE_CL, TEXT_ID); ! MO_POINT(cgmo, num, at); mo_enum(cgmo, num, final); mo_string(cgmo, num, string); mo_flush(cgmo, num, 0); *************** *** 1332,1340 **** mf_cgmo **cgmo = (mf_cgmo**)mf; mo_header(PRIMITIVE_CL, CELLARRAY_ID); ! mo_point(cgmo, num, ll); ! mo_point(cgmo, num, ur); ! mo_point(cgmo, num, lr); mo_int(cgmo, num, dim->x); mo_int(cgmo, num, dim->y); mo_int(cgmo, num, colrprec); --- 1365,1373 ---- mf_cgmo **cgmo = (mf_cgmo**)mf; mo_header(PRIMITIVE_CL, CELLARRAY_ID); ! MO_POINT(cgmo, num, ll); ! MO_POINT(cgmo, num, ur); ! MO_POINT(cgmo, num, lr); mo_int(cgmo, num, dim->x); mo_int(cgmo, num, dim->y); mo_int(cgmo, num, colrprec); *************** *** 1624,1633 **** mf_cgmo **cgmo = (mf_cgmo**)mf; mo_header(ATTRIBUTE_CL, PATSIZE_ID); ! mo_vdc(cgmo, num, xgks_state.gks_ptattr.heightvec.x); ! mo_vdc(cgmo, num, xgks_state.gks_ptattr.heightvec.y); ! mo_vdc(cgmo, num, xgks_state.gks_ptattr.widthvec.x); ! mo_vdc(cgmo, num, xgks_state.gks_ptattr.widthvec.y); mo_flush(cgmo, num, 0); return OK; --- 1657,1666 ---- mf_cgmo **cgmo = (mf_cgmo**)mf; mo_header(ATTRIBUTE_CL, PATSIZE_ID); ! MO_VDC(cgmo, num, xgks_state.gks_ptattr.heightvec.x); ! MO_VDC(cgmo, num, xgks_state.gks_ptattr.heightvec.y); ! MO_VDC(cgmo, num, xgks_state.gks_ptattr.widthvec.x); ! MO_VDC(cgmo, num, xgks_state.gks_ptattr.widthvec.y); mo_flush(cgmo, num, 0); return OK; *************** *** 1645,1651 **** mf_cgmo **cgmo = (mf_cgmo**)mf; mo_header(ATTRIBUTE_CL, FILLREFPT_ID); ! mo_point(cgmo, num, &xgks_state.gks_ptattr.ptp); mo_flush(cgmo, num, 0); return OK; --- 1678,1684 ---- mf_cgmo **cgmo = (mf_cgmo**)mf; mo_header(ATTRIBUTE_CL, FILLREFPT_ID); ! MO_POINT(cgmo, num, &xgks_state.gks_ptattr.ptp); mo_flush(cgmo, num, 0); return OK; *************** *** 1800,1809 **** if (idx == 0) cgmo[ii]->isset |= CGM_MASK_BACKCOLR; cgmo[ii]->isset |= CGM_MASK_COLRTABLE; } - mo_colrtable(cgmo, num); - return OK; } --- 1833,1845 ---- if (idx == 0) cgmo[ii]->isset |= CGM_MASK_BACKCOLR; cgmo[ii]->isset |= CGM_MASK_COLRTABLE; + + mo_header(ATTRIBUTE_CL, COLRTABLE_ID); + mo_index(cgmo+ii, 1, idx); + mo_direct_color(cgmo+ii, 1, rep); + mo_flush(cgmo+ii, 1, 0); } return OK; } *************** *** 1843,1850 **** upper_right.y = rect->ymax; mo_header(CONTROL_CL, CLIPRECT_ID); ! mo_point(cgmo, num, &lower_left); ! mo_point(cgmo, num, &upper_right); mo_flush(cgmo, num, 0); } --- 1879,1886 ---- upper_right.y = rect->ymax; mo_header(CONTROL_CL, CLIPRECT_ID); ! MO_POINT(cgmo, num, &lower_left); ! MO_POINT(cgmo, num, &upper_right); mo_flush(cgmo, num, 0); } *************** *** 1876,1886 **** cgmo->wswindow = *rect; if (cgmo->mode == CGMO_NOT_EMPTY) { ! mo_endpic(&cgmo, 1); mo_begpic(&cgmo, 1); mo_vdcext(&cgmo, 1); mo_backcolr(&cgmo, 1); ! mo_begpicbody(&cgmo, 1); mo_attributes(&cgmo, 1); mo_cliprect(&cgmo, 1); } else { --- 1912,1922 ---- cgmo->wswindow = *rect; if (cgmo->mode == CGMO_NOT_EMPTY) { ! MO_ENDPIC(&cgmo, 1); mo_begpic(&cgmo, 1); mo_vdcext(&cgmo, 1); mo_backcolr(&cgmo, 1); ! MO_BEGPICBODY(&cgmo, 1); mo_attributes(&cgmo, 1); mo_cliprect(&cgmo, 1); } else { *************** *** 2020,2027 **** { mf_cgmo *cgmo = &mf->cgm.mo; ! mo_endpic(&cgmo, 1); ! mo_endmf(&cgmo, 1); return OK; } --- 2056,2063 ---- { mf_cgmo *cgmo = &mf->cgm.mo; ! MO_ENDPIC(&cgmo, 1); ! MO_ENDMF(&cgmo, 1); return OK; } *************** *** 2168,2176 **** mi_octets(mi, rep, 3); ! colors->red = rep[0]/255.0; ! colors->green = rep[1]/255.0; ! colors->blue = rep[2]/255.0; } } --- 2204,2212 ---- mi_octets(mi, rep, 3); ! colors->red = UINT8_TO_NORM(rep[0]); ! colors->green = UINT8_TO_NORM(rep[1]); ! colors->blue = UINT8_TO_NORM(rep[2]); } } *************** *** 2212,2218 **** /* * Return a VDC co-ordinate parameter. */ ! #define mi_vdc(mi) (mi_int16(mi)/32767.0) /* --- 2248,2254 ---- /* * Return a VDC co-ordinate parameter. */ ! #define mi_vdc(mi) int16_to_norm(mi_int16(mi)); /* *************** *** 2312,2318 **** mi_octets(mi, bytes, 2); frac = NTOH16(bytes); ! return TTOHS(whole) + (double)frac/0277777L; } --- 2348,2354 ---- mi_octets(mi, bytes, 2); frac = NTOH16(bytes); ! return TTOHS(whole) + UINT16_TO_NORM(frac); } =================================================================== RCS file: progs/RCS/gksdemo.f,v retrieving revision 1.4 diff -c -r1.4 progs/gksdemo.f *** /tmp/RCSAa07866 Tue Oct 1 11:07:43 1991 --- progs/gksdemo.f Tue Oct 1 11:07:34 1991 *************** *** 20,25 **** --- 20,27 ---- C* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS C* SOFTWARE. C* + C* $Id: 3.patch,v 2.5.4.1 1993/03/10 19:43:46 steve Exp $ + C* C***** C***** Product: graPHIGS GKS-CO Demonstration Program C***** *************** *** 3966,3971 **** --- 3968,3975 ---- CALL GMSGS(WKID,18,'LOCATE FIRST POINT') 1730 CALL GRQLC(WKID,1,STATLC,TNR,PX1(1),PY1(1)) IF (STATLC.EQ.1) THEN + CALL GPREC(1,0,0,0.0,0,LCHST2,MENU2,NUMEL2, + * ERRIND,LENGT2,DTREC2) CALL GINLC(WKID,1,1,PX1(1),PY1(1),4,XMIN,XMAX, * YMIN,YMAX,LENGT2,DTREC2) CALL GMSGS(WKID,19,'LOCATE SECOND POINT') xgks-2.6.1+dfsg.2/src/patch/2.patch0000644000175000017500000004740011413611016017754 0ustar amckinstryamckinstryGreetings, This is patch #2 for version 2.4 of the XGKS package (alias SDM-3, patch #3). It accomplishes the following: BUG FIXES The manner by which the Fortran interface of XGKS determines the filename associated with a Logical Unit Number is changed. Before, the Fortran routine INQLUN was called with an argument that was a C callback function used to save the name. Now, INQLUN will call the C function directly. This change is necessary because something about NeXTOS/Absoft-Fortran doesn't like the callback argument methodology. (Thanks to Adam Boyarski ) The free()ing of an array of strings by the Fortran routine gqewk() (INQUIRE LIST OF AVAILABLE WORKSTATION TYPES) is fixed. This bug causes a UNICOS program to crash when gqewk() is called twice in succession. (Thanks to Michael Nelson ) The CGM implementation sometimes omits SET WORKSTATION WINDOW calls from the Metafile. This causes, for example, the first picture in the CGM output from demonstration program "progs/font.c" to be smaller than its counterpart in the GKSM. (Thanks to me ;-) A misspelled call to a diagnostic print function in file lib/src/x/xtext.c is corrected. This bug only appears if the C preprocessor macro TDEBUG is defined. (No thanks) ENHANCEMENTS The demonsration Metafile interpreter program, progs/mi.c, is made to, optionally, copy its input to another Metafile. This us useful for translating between GKSM and CGM representations. A METAFILE section is added to the XGKS manual-page. MISCELLANEOUS Incorrect commentary about `cbinding.trf' is removed from the XGKS manual-page because it's no longer needed due to the addition of the SYNOPSIS section. This patch-file is designed to be applied from the top-level XGKS directory (e.g. "/usr/local/sdm/src/gks/x/xgks") via Larry Wall's patch(1) utility, e.g. $ cd /usr/local/sdm/src/gks/x/xgks $ patch -p0 -f < this_file Note the "-p0" and "-f" options. The "-f" (force) option is unfortunately necessary due to a lack of synchronicity between the XGKS and general SDM releases. You may apply this patch, or, alternatively, obtain the latest XGKS (with all patches applied) via anonymous FTP: host: unidata.ucar.edu files: pub/xgks.tar.Z Regards, Steve Emmerson Prereq: 1 =================================================================== RCS file: RCS/PATCHLEVEL,v retrieving revision 1.1 diff -c -r1.1 PATCHLEVEL *** 1.1 1991/08/30 14:22:59 --- PATCHLEVEL 1991/09/17 21:42:09 *************** *** 1 **** ! 1 --- 1 ---- ! 2 =================================================================== RCS file: doc/RCS/xgks.3,v retrieving revision 3.5 diff -c -r3.5 doc/xgks.3 *** 3.5 1991/08/29 16:49:11 --- doc/xgks.3 1991/09/09 20:50:10 *************** *** 1,4 **** ! ''' $Id: 2.patch,v 2.5.4.1 1993/03/10 19:43:48 steve Exp $ ''' $__Header$ .TH XGKS 3 "23 July 1991" "XGKS Version 2" .SH NAME --- 1,4 ---- ! ''' $Id: 2.patch,v 2.5.4.1 1993/03/10 19:43:48 steve Exp $ ''' $__Header$ .TH XGKS 3 "23 July 1991" "XGKS Version 2" .SH NAME *************** *** 543,550 **** ${DESTDIR}/lib/xgksfonts Font data-base directory. .br ${DESTDIR}/bin Directory of sample programs. - .br - ${DESTDIR}/lib/xgks/cbinding.trf Simple form of C binding. .br ${DESTDIR}/include/xgks.h C header-file. .SH "ENVIRONMENT" --- 543,548 ---- =================================================================== RCS file: lib/fortran/RCS/fortxgks.h,v retrieving revision 2.14 diff -c -r2.14 lib/fortran/fortxgks.h *** /tmp/RCSAa09920 Wed Sep 11 09:06:52 1991 --- lib/fortran/fortxgks.h Wed Sep 11 08:43:42 1991 *************** *** 27,33 **** * * May 30 1988 * ! * $Id: 2.patch,v 2.5.4.1 1993/03/10 19:43:48 steve Exp $ * $__Header$ */ --- 27,33 ---- * * May 30 1988 * ! * $Id: 2.patch,v 2.5.4.1 1993/03/10 19:43:48 steve Exp $ * $__Header$ */ *************** *** 49,55 **** # define gerhnd gerhnd_ # define gerlog gerlog_ # define inqlun inqlun_ - # define set_fname set_fname_ # define FORTXGKS_OS_DEFINED #endif #ifdef OS_hpux --- 49,54 ---- *************** *** 62,68 **** # define gerhnd gerhnd_ # define gerlog gerlog_ # define inqlun inqlun_ - # define set_fname set_fname_ # define FORTXGKS_OS_DEFINED #endif #ifdef OS_ultrix --- 61,66 ---- *************** *** 69,75 **** # define gerhnd gerhnd_ # define gerlog gerlog_ # define inqlun inqlun_ - # define set_fname set_fname_ # define FORTXGKS_OS_DEFINED #endif #ifdef OS_unicos --- 67,72 ---- *************** *** 76,83 **** # define gerhnd GERHND # define gerlog GERLOG # define inqlun INQLUN - # define SET_FNAME SET_FNAME_ - # define set_fname SET_FNAME_ # define FORTXGKS_OS_DEFINED #endif #ifndef FORTXGKS_OS_DEFINED --- 73,78 ---- =================================================================== RCS file: lib/fortran/RCS/getlunname.src,v retrieving revision 1.1 diff -c -r1.1 lib/fortran/getlunname.src *** /tmp/RCSAa10141 Wed Sep 11 09:18:55 1991 --- lib/fortran/getlunname.src Wed Sep 11 08:39:16 1991 *************** *** 6,12 **** #include "fortxgks.h" #ifndef lint ! static char rcsid[] = "$Id: 2.patch,v 2.5.4.1 1993/03/10 19:43:48 steve Exp $"; static char afsid[] = "$__Header$"; #endif --- 6,12 ---- #include "fortxgks.h" #ifndef lint ! static char rcsid[] = "$Id: 2.patch,v 2.5.4.1 1993/03/10 19:43:48 steve Exp $"; static char afsid[] = "$__Header$"; #endif *************** *** 19,25 **** * Callback routine for setting the name of the file associated with a * Fortran logical unit number. */ ! static void /*FORTRAN*/ set_fname( char *name) --- 19,25 ---- * Callback routine for setting the name of the file associated with a * Fortran logical unit number. */ ! void /*FORTRAN*/ set_fname( char *name) *************** *** 44,50 **** int lun; { fname[0] = 0; ! inqlun(&lun, set_fname); return fname; } --- 44,50 ---- int lun; { fname[0] = 0; ! inqlun(&lun); return fname; } =================================================================== RCS file: lib/fortran/RCS/inqlun.f,v retrieving revision 2.4 diff -c -r2.4 lib/fortran/inqlun.f *** /tmp/RCSAa10158 Wed Sep 11 09:19:33 1991 --- lib/fortran/inqlun.f Wed Sep 11 08:40:06 1991 *************** *** 12,30 **** C TCS Development C Cambridge MA C ! C $Id: 2.patch,v 2.5.4.1 1993/03/10 19:43:48 steve Exp $ C $__Header$ C C Return the name associated with a Fortran Logical Unit Number. C Close the file if it's open. C ! SUBROUTINE INQLUN(LUN,SETNAM) INTEGER LUN - EXTERNAL SETNAM LOGICAL NAMED,OPENED CHARACTER*(80) FNAME INQUIRE(UNIT=LUN,NAME=FNAME,NAMED=NAMED,OPENED=OPENED) IF (OPENED.AND.NAMED) CLOSE(UNIT=LUN) ! IF (NAMED) CALL SETNAM(FNAME) RETURN END --- 12,29 ---- C TCS Development C Cambridge MA C ! C $Id: 2.patch,v 2.5.4.1 1993/03/10 19:43:48 steve Exp $ C $__Header$ C C Return the name associated with a Fortran Logical Unit Number. C Close the file if it's open. C ! SUBROUTINE INQLUN(LUN) INTEGER LUN LOGICAL NAMED,OPENED CHARACTER*(80) FNAME INQUIRE(UNIT=LUN,NAME=FNAME,NAMED=NAMED,OPENED=OPENED) IF (OPENED.AND.NAMED) CLOSE(UNIT=LUN) ! IF (NAMED) CALL SET_FNAME(FNAME) RETURN END =================================================================== RCS file: lib/fortran/RCS/inqgksdesc.src,v retrieving revision 1.2 diff -c -r1.2 lib/fortran/inqgksdesc.src *** /tmp/RCSAa11304 Wed Sep 11 10:17:23 1991 --- lib/fortran/inqgksdesc.src Wed Sep 11 10:09:24 1991 *************** *** 45,51 **** #ifndef lint static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 2.patch,v 2.5.4.1 1993/03/10 19:43:48 steve Exp $"; #endif --- 45,51 ---- #ifndef lint static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 2.patch,v 2.5.4.1 1993/03/10 19:43:48 steve Exp $"; #endif *************** *** 93,99 **** if (*errind = ginqavailwstypes(&wstypes)) return; ! (void) free((voidp)*(wstypes.strings)); /* set return values not dependent on range check */ *number = (int) wstypes.number; --- 93,99 ---- if (*errind = ginqavailwstypes(&wstypes)) return; ! (void) free((voidp)(wstypes.strings)); /* set return values not dependent on range check */ *number = (int) wstypes.number; =================================================================== RCS file: lib/src/x/RCS/xtext.c,v retrieving revision 2.10 diff -c -r2.10 lib/src/x/xtext.c *** /tmp/RCSAa10981 Mon Sep 16 16:50:26 1991 --- lib/src/x/xtext.c Mon Sep 16 16:38:13 1991 *************** *** 53,59 **** # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 2.patch,v 2.5.4.1 1993/03/10 19:43:48 steve Exp $"; #endif #define PI 3.1415926535897932384626433 --- 53,59 ---- # define malloc(n) (lint_malloc((n)), 0) #else static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 2.patch,v 2.5.4.1 1993/03/10 19:43:48 steve Exp $"; #endif #define PI 3.1415926535897932384626433 *************** *** 1064,1070 **** #ifdef TDEBUG (void) fprintf(stderr, "ibmrt_ddgks:text: xtrans=%f ytrans=%f\n", xtrans, ytrans); ! DumpMatrix("stroke_trans", stroke_trans); #endif /* find minimum and maximum X & Y of First Character */ --- 1064,1070 ---- #ifdef TDEBUG (void) fprintf(stderr, "ibmrt_ddgks:text: xtrans=%f ytrans=%f\n", xtrans, ytrans); ! xDumpMatrix("stroke_trans", stroke_trans); #endif /* find minimum and maximum X & Y of First Character */ =================================================================== RCS file: progs/RCS/mi.c,v retrieving revision 2.5 diff -c -r2.5 progs/mi.c *** /tmp/RCSAa11007 Mon Sep 16 16:57:14 1991 --- progs/mi.c Mon Sep 16 16:56:58 1991 *************** *** 34,40 **** */ #ifndef lint ! static char rcsid[] = "$Id: 2.patch,v 2.5.4.1 1993/03/10 19:43:48 steve Exp $"; static char afsid[] = "$__Header$"; #endif --- 34,40 ---- */ #ifndef lint ! static char rcsid[] = "$Id: 2.patch,v 2.5.4.1 1993/03/10 19:43:48 steve Exp $"; static char afsid[] = "$__Header$"; #endif *************** *** 46,52 **** --- 46,56 ---- #define CLEAR_WORKSTATION 1 + #define MI_WSID 1 /* Input Metafile workstation ID */ + #define X_WSID 2 /* X workstation ID */ + #define MO_WSID 3 /* Output Metafile workstation ID */ + main(argc, argv) int argc; char *argv[]; *************** *** 57,62 **** --- 61,67 ---- long maxsize = 1024; char *conn = NULL; char *mi_path; + char *mo_path = NULL; Gchar *record = (Gchar*) malloc(maxsize); Ggksmit gksmit; extern char *optarg; *************** *** 67,82 **** return 1; } ! while ((c = getopt(argc, argv, "d:")) != -1) { switch (c) { case 'd': conn = optarg; break; } } if (optind >= argc) { ! fprintf(stderr, "usage: %s [-d display] file\n", argv[0]); exit(0); } --- 72,89 ---- return 1; } ! while ((c = getopt(argc, argv, "d:o:")) != -1) { switch (c) { case 'd': conn = optarg; break; + case 'o': + mo_path = optarg; } } if (optind >= argc) { ! fprintf(stderr, "usage: %s [-d display] [-o mo_path] file\n", argv[0]); exit(0); } *************** *** 84,96 **** gopengks(stderr, 0); ! gopenws(5, mi_path, "MI"); ! gopenws(1, conn, conn); ! gactivatews(1); for (itemno = 1, error = 0; !error; ++itemno) { ! int status = ggetgksm(5, &gksmit); if (status != 0) { error = status != 162; --- 91,107 ---- gopengks(stderr, 0); ! gopenws(MI_WSID, mi_path, "MI"); ! gopenws(X_WSID, conn, conn); ! if (mo_path != NULL) ! gopenws(MO_WSID, mo_path, "MO"); ! gactivatews(X_WSID); ! if (mo_path != NULL) ! gactivatews(MO_WSID); for (itemno = 1, error = 0; !error; ++itemno) { ! int status = ggetgksm(MI_WSID, &gksmit); if (status != 0) { error = status != 162; *************** *** 100,110 **** if (gksmit.type == CLEAR_WORKSTATION) { Gwsdus du; ! (void) ginqwsdeferupdatest(1, &du); if (du.dspsurf == GNOTEMPTY) { fprintf(stderr, "Hit BREAK in window to continue\n"); ! WaitForBreak(1); } } --- 111,121 ---- if (gksmit.type == CLEAR_WORKSTATION) { Gwsdus du; ! (void) ginqwsdeferupdatest(X_WSID, &du); if (du.dspsurf == GNOTEMPTY) { fprintf(stderr, "Hit BREAK in window to continue\n"); ! WaitForBreak(X_WSID); } } *************** *** 117,123 **** } } ! if ((status = greadgksm(5, maxsize, record)) != 0) { error = status != 162; /* EOF */ break; } --- 128,134 ---- } } ! if ((status = greadgksm(MI_WSID, maxsize, record)) != 0) { error = status != 162; /* EOF */ break; } *************** *** 130,141 **** fprintf(stderr, "Done. Hit BREAK in window to quit.\n"); ! WaitForBreak(1); ! gdeactivatews(1); ! gclosews(1); ! gclosews(5); gclosegks(); --- 141,156 ---- fprintf(stderr, "Done. Hit BREAK in window to quit.\n"); ! WaitForBreak(X_WSID); ! gdeactivatews(X_WSID); ! if (mo_path != NULL) ! gdeactivatews(MO_WSID); ! gclosews(X_WSID); ! gclosews(MI_WSID); ! if (mo_path != NULL) ! gclosews(MO_WSID); gclosegks(); =================================================================== RCS file: lib/src/cgm/RCS/cgm.c,v retrieving revision 1.8 diff -c -r1.8 lib/src/cgm/cgm.c *** /tmp/RCSAa11055 Mon Sep 16 17:10:10 1991 --- lib/src/cgm/cgm.c Mon Sep 16 16:25:49 1991 *************** *** 29,35 **** #ifndef lint static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 2.patch,v 2.5.4.1 1993/03/10 19:43:48 steve Exp $"; #endif /* --- 29,35 ---- #ifndef lint static char afsid[] = "$__Header$"; ! static char rcsid[] = "$Id: 2.patch,v 2.5.4.1 1993/03/10 19:43:48 steve Exp $"; #endif /* *************** *** 834,840 **** cp += nchr; \ ) ! ADD_STRING("UCAR/Unidata XGKS/CGM $Revision: 2.5.4.1 $: "); if (username == NULL) { ADD_STRING(""); --- 834,840 ---- cp += nchr; \ ) ! ADD_STRING("UCAR/Unidata XGKS/CGM $Revision: 2.5.4.1 $: "); if (username == NULL) { ADD_STRING(""); *************** *** 1883,1888 **** --- 1883,1890 ---- mo_begpicbody(&cgmo, 1); mo_attributes(&cgmo, 1); mo_cliprect(&cgmo, 1); + } else { + mo_vdcext(&cgmo, 1); } } =================================================================== RCS file: doc/RCS/xgks.3,v retrieving revision 3.6 diff -c -r3.6 doc/xgks.3 *** 3.6 1991/09/09 20:49:58 --- doc/xgks.3 1991/09/17 15:54:51 *************** *** 1,4 **** ! ''' $Id: 2.patch,v 2.5.4.1 1993/03/10 19:43:48 steve Exp $ ''' $__Header$ .TH XGKS 3 "23 July 1991" "XGKS Version 2" .SH NAME --- 1,4 ---- ! ''' $Id: 2.patch,v 2.5.4.1 1993/03/10 19:43:48 steve Exp $ ''' $__Header$ .TH XGKS 3 "23 July 1991" "XGKS Version 2" .SH NAME *************** *** 207,222 **** .PP Four workstation types are defined by XGKS: MI, MO, WISS, and X11. When calling the open workstation function the ! application must specify three parameters: 1) workstation ! identifier, an integer used to identify this workstation ! throughout the application; 2) workstation connection, a ! file name for the metafile workstations (MI and MO), ignored ! for the workstation independent segment store (WISS), and ! the X11 DISPLAY specification string (see the X man page) ! which tells XGKS to open a new window on the display; and 3) ! the workstation type which is MI, MO, WISS, or the X11 ! DISPLAY string. Ten workstations can be open ! simultaneously, however, only one WISS workstation can be open. .PP There are thirty-one normalization transformations, numbered --- 207,230 ---- .PP Four workstation types are defined by XGKS: MI, MO, WISS, and X11. When calling the open workstation function the ! application must specify three parameters: 1) a workstation ! identifier, which is an integer used to identify this workstation ! throughout the application; ! 2) ! the workstation type, which is either one of the ! strings "MI", "MO", or "WISS" (in which case a workstation of the ! appropriate type will be opened) or a null character pointer ! (in which case an X11 window will be created); ! and 3) ! a workstation connection, ! which is either a file name for the metafile workstations (MI and MO) ! or an X11 DISPLAY specification string (see the X man page), ! or a null character pointer for the X11 workstation (if null, then ! the environment variable DISPLAY is consulted). ! This last parameter is ignored ! for the workstation independent segment store (WISS) workstation. ! Ten workstations can be open ! simultaneously; however, only one WISS workstation can be open. .PP There are thirty-one normalization transformations, numbered *************** *** 251,256 **** --- 259,305 ---- GKS color index zero always refers to the X window background color while GKS color index one refers to the X window foreground color. + .SH METAFILES + .PP + Two Metafile formats are supported: GKSM and CGM. The GKSM format + is a formatted audit-trail of the GKS session: there is an almost + isomorphic mapping between GKS calls and GKSM records. Because GKSM + is a formatted encoding, however, this format can impose a considerable + storage requirement. Also, the GKSM format is not widely used. + .PP + The CGM format used by XGKS is a subset of the binary encoding specified + in the ANSI X3.122-1986 standard. Because it is a binary encoding, this + format is more space efficient than the GKSM format. + It is not quite as powerful, however, as it does not record an audit-trail + of the GKSM session; rather, it describes a set of independent, static + pictures. The CGM format is a widely used graphics standard. + .PP + The standard allows several + alternative encodings for primitives such as floating-point and integer + values. XGKS uses the default encodings only. These are + .sp + .RS +4 + .nf + .ta \w'VDC INTEGER PRECISION'u+4m + REAL PRECISION Fixed point; whole part 16 bits; + fractional part 16 bits. + INTEGER PRECISION 16 bits + COLOUR PRECISION 1 octet (per colour component) + COLOUR INDEX PRECISION 1 octet + INDEX PRECISION 16 bits + VDC TYPE INTEGER + VDC INTEGER PRECISION 16 bits + VDC EXTENT (0,0) to (32767,32767) + COLOUR VALUE EXTENT minimum is (0,0,0) and maximum + is (255,255,255). + .fi + .sp + .RE + This CGM form is compatible with the NCAR Graphics package. + .PP + The type of Metafile is selected by the Metafile's filename. Filenames + containing the string ".cgm" are assumed to be in CGM format; all + other files are assumed to be in GKSM format. .SH "X-RESOURCES" .PP The following X-resources and their parameters are searched for by *************** *** 564,570 **** .sp Computer Graphics, Donald Hearn and Pauline Baker, Prentice-Hall, 1986. .sp ! The X Window System, Robert W. Scheifler and Jim Gettys, acm Transactions on Graphics, volume 5, number 2, April 1986, pp. 79-109. .SH BUGS .PP --- 613,619 ---- .sp Computer Graphics, Donald Hearn and Pauline Baker, Prentice-Hall, 1986. .sp ! The X Window System, Robert W. Scheifler and Jim Gettys, ACM Transactions on Graphics, volume 5, number 2, April 1986, pp. 79-109. .SH BUGS .PP xgks-2.6.1+dfsg.2/src/patch/CVS/0000755000175000017500000000000011413611016017220 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/patch/CVS/Entries0000644000175000017500000000041211413611016020551 0ustar amckinstryamckinstry/1.patch/2.5.4.1/Wed Mar 10 19:43:47 1993// /2.patch/2.5.4.1/Wed Mar 10 19:43:48 1993// /3.patch/2.5.4.1/Wed Mar 10 19:43:46 1993// /4.patch/2.5.4.1/Wed Mar 10 19:43:47 1993// /5.patch/2.5.4.1/Wed Mar 10 19:43:47 1993// /6.patch/2.5.4.1/Wed Mar 10 19:43:47 1993// D xgks-2.6.1+dfsg.2/src/patch/CVS/Repository0000644000175000017500000000001311413611016021314 0ustar amckinstryamckinstryxgks/patch xgks-2.6.1+dfsg.2/src/patch/CVS/Root0000644000175000017500000000006111413611016020063 0ustar amckinstryamckinstry:pserver:anonymous@cvs.XGKS.sf.net:/cvsroot/xgks xgks-2.6.1+dfsg.2/src/patch/4.patch0000644000175000017500000025626011413611016017764 0ustar amckinstryamckinstryGreetings, This is patch #4 for version 2.4 of the XGKS package (alias SDM-3, patch #7). It accomplishes the following: MISCELLANEOUS The implementation of the CGM backend is split into two files: a Metafile input (MI) file and a Metafile output (MO) file. This is done because the file is too large for some compilation environments. Specifically, the files "lib/src/cgm/cgm{i,o}.c" and "lib/src/cgm/cgm_implem.h" are created to replace file "lib/src/cgm/cgm.c". The CGM Makefile and its parent Makefile are appropriately modified. Some lint(1) is removed from the CGM implementation. This patch-file is designed to be applied from the top-level XGKS directory via Larry Wall's patch(1) utility, e.g. $ cd /usr/local/sdm/src/gks/x/xgks $ patch -p0 < this_file The "-p0" option is necessary. You may apply this patch, or, alternatively, obtain the latest XGKS (with all patches applied) via anonymous FTP: host: unidata.ucar.edu files: pub/xgks.tar.Z Regards, Steve Emmerson Prereq: 3 *** PATCHLEVEL-old --- PATCHLEVEL *************** *** 1 **** ! 3 --- 1 ---- ! 4 =================================================================== RCS file: lib/src/RCS/Makefile,v retrieving revision 1.21 diff -c -r1.21 lib/src/Makefile *** /tmp/RCSAa10905 Wed Oct 16 10:31:34 1991 --- lib/src/Makefile Wed Oct 16 10:23:53 1991 *************** *** 1,6 **** # Makefile for the XGKS, C-binding library # ! # $Id: 4.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # Anticipated, changeable macros (others might not work): COPTS = -O --- 1,6 ---- # Makefile for the XGKS, C-binding library # ! # $Id: 4.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # Anticipated, changeable macros (others might not work): COPTS = -O *************** *** 64,79 **** $(VERSIONID).c` GKSM_HSRCS = gksm/gksm.h ! CGM_HSRCS = cgm/cgm.h GKSM_CSRCS = gksm/gksm.c ! CGM_CSRCS = cgm/cgm.c GKSM_LNS = gksm/gksm.ln ! CGM_LNS = cgm/cgm.ln GKSM_OBJS = gksm/gksm.o ! CGM_OBJS = cgm/cgm.o X_CSRCS = x/xSet.c x/xcellarray.c x/xcolours.c x/xevent.c \ x/xfillarea.c x/xinqpixel.c x/xopws.c x/xpline.c \ --- 64,79 ---- $(VERSIONID).c` GKSM_HSRCS = gksm/gksm.h ! CGM_HSRCS = cgm/cgm.h cgm/cgm_implem.h GKSM_CSRCS = gksm/gksm.c ! CGM_CSRCS = cgm/cgmi.c cgm/cgmo.c GKSM_LNS = gksm/gksm.ln ! CGM_LNS = cgm/cgmi.ln cgm/cgmo.ln GKSM_OBJS = gksm/gksm.o ! CGM_OBJS = cgm/cgmi.o cgm/cgmo.o X_CSRCS = x/xSet.c x/xcellarray.c x/xcolours.c x/xevent.c \ x/xfillarea.c x/xinqpixel.c x/xopws.c x/xpline.c \ =================================================================== RCS file: lib/src/RCS/wslist.h,v retrieving revision 2.13 diff -c -r2.13 lib/src/wslist.h *** /tmp/RCSAa10930 Wed Oct 16 10:34:06 1991 --- lib/src/wslist.h Wed Oct 16 10:33:57 1991 *************** *** 35,40 **** --- 35,42 ---- * * This header-file depends upon header-files "gks_defines.h", "primitive.h", * and "wdt.h". + * + * $Id: 4.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ */ *************** *** 213,244 **** int picture_number; /* Origin-1 picture number */ unsigned long isset; ! # define CGM_MASK_BACKCOLR (1 << 0) ! # define CGM_MASK_LINEINDEX (1 << 1) ! # define CGM_MASK_LINETYPE (1 << 2) ! # define CGM_MASK_LINEWIDTH (1 << 3) ! # define CGM_MASK_LINECOLR (1 << 4) ! # define CGM_MASK_MARKERINDEX (1 << 5) ! # define CGM_MASK_MARKERTYPE (1 << 6) ! # define CGM_MASK_MARKERSIZE (1 << 7) ! # define CGM_MASK_MARKERCOLR (1 << 8) ! # define CGM_MASK_TEXTINDEX (1 << 9) ! # define CGM_MASK_TEXTFONTINDEX (1 << 10) ! # define CGM_MASK_TEXTPREC (1 << 11) ! # define CGM_MASK_CHAREXPAN (1 << 12) ! # define CGM_MASK_CHARSPACE (1 << 13) ! # define CGM_MASK_TEXTCOLR (1 << 14) ! # define CGM_MASK_CHARHEIGHT (1 << 15) ! # define CGM_MASK_CHARORI (1 << 16) ! # define CGM_MASK_TEXTPATH (1 << 17) ! # define CGM_MASK_TEXTALIGN (1 << 18) ! # define CGM_MASK_FILLINDEX (1 << 19) ! # define CGM_MASK_INTSTYLE (1 << 20) ! # define CGM_MASK_FILLCOLR (1 << 21) ! # define CGM_MASK_HATCHINDEX (1 << 22) ! # define CGM_MASK_PATINDEX (1 << 23) ! # define CGM_MASK_PATSIZE (1 << 24) ! # define CGM_MASK_COLRTABLE (1 << 25) Glimit wswindow; /* Workstation window */ Gcobundl backcolr; /* Background color */ int lineindex; /* Line bundle index */ --- 215,246 ---- int picture_number; /* Origin-1 picture number */ unsigned long isset; ! # define CGM_MASK_BACKCOLR (unsigned long)(1 << 0) ! # define CGM_MASK_LINEINDEX (unsigned long)(1 << 1) ! # define CGM_MASK_LINETYPE (unsigned long)(1 << 2) ! # define CGM_MASK_LINEWIDTH (unsigned long)(1 << 3) ! # define CGM_MASK_LINECOLR (unsigned long)(1 << 4) ! # define CGM_MASK_MARKERINDEX (unsigned long)(1 << 5) ! # define CGM_MASK_MARKERTYPE (unsigned long)(1 << 6) ! # define CGM_MASK_MARKERSIZE (unsigned long)(1 << 7) ! # define CGM_MASK_MARKERCOLR (unsigned long)(1 << 8) ! # define CGM_MASK_TEXTINDEX (unsigned long)(1 << 9) ! # define CGM_MASK_TEXTFONTINDEX (unsigned long)(1 << 10) ! # define CGM_MASK_TEXTPREC (unsigned long)(1 << 11) ! # define CGM_MASK_CHAREXPAN (unsigned long)(1 << 12) ! # define CGM_MASK_CHARSPACE (unsigned long)(1 << 13) ! # define CGM_MASK_TEXTCOLR (unsigned long)(1 << 14) ! # define CGM_MASK_CHARHEIGHT (unsigned long)(1 << 15) ! # define CGM_MASK_CHARORI (unsigned long)(1 << 16) ! # define CGM_MASK_TEXTPATH (unsigned long)(1 << 17) ! # define CGM_MASK_TEXTALIGN (unsigned long)(1 << 18) ! # define CGM_MASK_FILLINDEX (unsigned long)(1 << 19) ! # define CGM_MASK_INTSTYLE (unsigned long)(1 << 20) ! # define CGM_MASK_FILLCOLR (unsigned long)(1 << 21) ! # define CGM_MASK_HATCHINDEX (unsigned long)(1 << 22) ! # define CGM_MASK_PATINDEX (unsigned long)(1 << 23) ! # define CGM_MASK_PATSIZE (unsigned long)(1 << 24) ! # define CGM_MASK_COLRTABLE (unsigned long)(1 << 25) Glimit wswindow; /* Workstation window */ Gcobundl backcolr; /* Background color */ int lineindex; /* Line bundle index */ *** /dev/null Wed Oct 16 09:49:01 1991 --- lib/src/cgm/cgm_implem.h Wed Oct 16 10:35:43 1991 *************** *** 0 **** --- 1,189 ---- + /* + * This file contains implementation-specific definitions and declarations + * for the Computer Graphics Metatafile (CGM) implementaion of an XGKS + * Metafile. + * + * $Id: 4.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ + */ + + #ifndef CGM_IMPLEM_H_SEEN + #define CGM_IMPLEM_H_SEEN + + /* + * CGM version: + */ + #define MFVERSION 1 + + #undef MIN + #define MIN(a,b) ((a) < (b) ? (a) : (b)) + #define ABS(x) ((x) < 0 ? -(x) : (x)) + #define SIGN(a,b) ((a) < 0 ? -ABS(b) : ABS(b)) + + /* + * Convert between a floating-point representation in the range from + * zero through one (or minus one through one) and an integral representation. + */ + #define NORM_TO_INT(mod, fval) SIGN(fval, ((long)(ABS(fval)*((mod)-1) + .5))) + #define UNORM_TO_INT(mod, fval) MIN((mod)-1, (unsigned long)((fval)*(mod))) + #define INT_TO_NORM(mod, ival) ((double)(ival)/((mod)-1)) + #define UINT_TO_NORM(mod, ival) (.5/(mod) + (double)(ival)/(mod)) + #define UNORM_TO_INT8(fval) UNORM_TO_INT(256, fval) + #define NORM_TO_INT16(fval) NORM_TO_INT((unsigned)(1<<15), fval) + #define UNORM_TO_INT16(fval) UNORM_TO_INT((unsigned long)(1<<16), fval) + #define UINT8_TO_NORM(ival) UINT_TO_NORM(256, ival) + #define UINT16_TO_NORM(ival) UINT_TO_NORM((unsigned long)(1<<16), ival) + + /* + * Convert between host and network byte orders for 16-bit quantities. + */ + #define NTOH16(n) (((n)[0] << 8) | (n)[1]) + #define HTON16(h, n) GKS_STMT((n)[0] = MS_8(h); (n)[1] = LS_8(h);) + + /* + * Miscellaneous utility macros: + */ + #define ABS(x) ((x) < 0 ? -(x) : (x)) + #define HYPOT(x,y) sqrt((double)((x)*(x) + (y)*(y))) + #define NUM_ELEMENTS(a) (sizeof(a) / sizeof(a[0])) + #define MSB_16 (1 << 15) /* 16-bit most significant bit */ + #define MASK_16 0177777 /* 16-bit mask */ + #define LS_8(val) ((val) & 0377) /* least significant 8 bits */ + #define MS_8(val) LS_8((val) >> 8)/* most significant 8 bits */ + #define ROUNDUP(x, y) (((x + y - 1)/y)*y) + #define JUST_AFTER(ptr, type, align) \ + (align *)((char*)ptr + \ + ROUNDUP(sizeof(type), sizeof(align))) + + /* + * Macros for converting between the host and two's-complement forms of a + * 16-bit integer: + */ + #define HTOTS(s_shrt) (MASK_16 & (unsigned short)(s_shrt)) + + #define TTOHS(u_shrt) ((u_shrt) & MSB_16 \ + ? (long)0-(unsigned short) \ + (MASK_16 & (~(unsigned)(u_shrt) + 1)) \ + : (short)(u_shrt)) + + /* + * Miscellaneous, CGM-specific macros: + */ + #define MAX_SHORT_CMD_LENGTH 30 /* Max bytes in a short command */ + #define LONG_CMD_LENGTH 31 /* Long command "length"-value */ + #define MAX_SHORT_STR_LENGTH 254 /* Max bytes in a short string */ + #define LONG_STR_LENGTH 255 /* Long string "length"-value */ + #define MORE_DATA_BIT (1 << 15) + #define BYTES_LEFT(mi) (mi->total_left) + #define HASH_ID(class, id) (((unsigned)(class) << 7) | (unsigned)(id)) + #define PACKED_LIST 1 /* Cell representation mode. */ + #define CGM_CONTINUOUS_HORIZONTAL_ALIGNMENT \ + 4 + #define CGM_CONTINUOUS_VERTICAL_ALIGNMENT \ + 6 + + /* + * Defaults: + */ + #define DEFAULT_COLRPREC 8 /* Color precision */ + #define DEFAULT_CELL_REP_MODE PACKED_LIST + #define DEFAULT_VDCINTEGERPREC 16 /* VDC integer precision */ + #define DEFAULT_COLRMODE 0 /* Indexed */ + + /* + * Command class values: + */ + #define DELIMITER_CL 0 + #define MF_DESCRIPTOR_CL 1 + #define PIC_DESCRIPTOR_CL 2 + #define CONTROL_CL 3 + #define PRIMITIVE_CL 4 + #define ATTRIBUTE_CL 5 + #define ESCAPE_CL 6 + #define EXTERN_CL 7 + + /* + * Element-ID values. Together with the command-class, these uniquely + * identify an individual command. The names are taken from the CLEAR + * TEXT encoding (with "_ID" appended). + */ + /* Delimiter Elements: */ + #define BEGMF_ID 1 + #define ENDMF_ID 2 + #define BEGPIC_ID 3 + #define BEGPICBODY_ID 4 + #define ENDPIC_ID 5 + + /* Metafile Descriptor Elements: */ + #define MFVERSION_ID 1 + #define MFDESC_ID 2 + #define MFELEMLIST_ID 11 + + /* Picture Descriptor Elements: */ + #define COLRMODE_ID 2 + #define VDCEXT_ID 6 + #define BACKCOLR_ID 7 + + /* Control Elements: */ + #define VDCINTEGERPREC_ID 1 + #define CLIPRECT_ID 5 + #define CLIP_ID 6 + + /* Graphical Primitive Elements: */ + #define LINE_ID 1 + #define MARKER_ID 3 + #define TEXT_ID 4 + #define POLYGON_ID 7 + #define CELLARRAY_ID 9 + + /* Primitive Attribute Elements: */ + #define LINEINDEX_ID 1 + #define LINETYPE_ID 2 + #define LINEWIDTH_ID 3 + #define LINECOLR_ID 4 + #define MARKERINDEX_ID 5 + #define MARKERTYPE_ID 6 + #define MARKERSIZE_ID 7 + #define MARKERCOLR_ID 8 + #define TEXTINDEX_ID 9 + #define TEXTFONTINDEX_ID 10 + #define TEXTPREC_ID 11 + #define CHAREXPAN_ID 12 + #define CHARSPACE_ID 13 + #define TEXTCOLR_ID 14 + #define CHARHEIGHT_ID 15 + #define CHARORI_ID 16 + #define TEXTPATH_ID 17 + #define TEXTALIGN_ID 18 + #define CHARSETINDEX_ID 19 + #define ALTCHARSETINDEX_ID 20 + #define FILLINDEX_ID 21 + #define INTSTYLE_ID 22 + #define FILLCOLR_ID 23 + #define HATCHINDEX_ID 24 + #define PATINDEX_ID 25 + #define FILLREFPT_ID 31 + #define PATTABLE_ID 32 + #define PATSIZE_ID 33 + #define COLRTABLE_ID 34 + #define ASF_ID 35 + + /* Escape Elements: */ + #define ESCAPE_ID 1 + + /* External Elements: */ + #define MESSAGE_ID 1 + + /* + * CGM element decoding mode: + */ + typedef enum decode_mode { + RETURN_INFO, + DECODE_VALUES + } decode_mode; + + /* + * I/O buffer: + */ + unsigned char cgm_buf[]; + + #endif /* CGM_IMPLEM_H_SEEN not defined above */ *** /dev/null Wed Oct 16 09:49:01 1991 --- lib/src/cgm/cgmi.c Wed Oct 16 10:25:50 1991 *************** *** 0 **** --- 1,1192 ---- + /* + * This file implements an XGKS input Metafile (MI) workstation using the + * Computer Graphics Metafile (CGM) standard. + * + * This module will only work on platforms having 8-bit "char"s. + * This requirement is tested at runtime by this module. + */ + + /*LINTLIBRARY*/ + + /* Non-POSIX includes: */ + #include /* for uid_t */ + + /* POSIX includes: */ + #include "udposix.h" + #include /* for *printf(), ftell(), & fseek() */ + #include /* for offsetof() */ + #include + #include /* for time(), localtime(), gmtime(), & + * strftime() */ + #include /* for uname() */ + #include /* for getlogin() */ + #include + #include /* for sqrt() */ + #include + #include /* for CHAR_BIT */ + #include "gks_implem.h" + #include "cgm.h" /* for public, API details */ + #include "cgm_implem.h" /* for implementation details */ + + #ifndef lint + static char rcsid[] = "$Id: 4.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; + #endif + + /* + * Mapping from CGM ASF indexes to GKSM ASF indexes: + * + * NB: Only the first 13 are meaningful. The last 3 are mapped to an unused + * ASF slot. + */ + static int gksm_iasf[18] = { + 0, 1, 2, 3, 4, 5, 6, 6, 7, 8, 9, 10, 12, 11, 11, 13, 13, 13 + }; + + + static double + int16_to_norm(ival) + int ival; + { + return INT_TO_NORM((unsigned)(1<<15), ival); + } + + + /* + * Get a partition control word (PCW). + */ + static void + mi_pcw(fp, more_data, length) + FILE *fp; + int *more_data; + int *length; + { + unsigned short pcw = 0; + unsigned char bytes[2]; + + (void) fread((voidp)bytes, (size_t)1, (size_t)2, fp); + pcw = NTOH16(bytes); + *more_data = pcw & MORE_DATA_BIT; + *length = pcw & ~MORE_DATA_BIT; + } + + + /* + * Return the next octet of data. + * + * This routine will read the next partition(s) if necessary. + */ + static unsigned + mi_octet(mi) + mf_cgmi *mi; + { + unsigned char data; + + --mi->total_left; + + if (mi->partition_left == 0) { + if (mi->partition_length % 2) /* If padding */ + (void) fseek(mi->fp, (long)1, SEEK_CUR); /* Skip */ + + do { + int more_data; + + mi_pcw(mi->fp, &more_data, &mi->partition_length); + + assert(mi->partition_length > 0 || more_data); + + } while (mi->partition_length == 0); + + mi->partition_left = mi->partition_length; + } + + (void) fread((voidp)&data, (size_t)1, (size_t)1, mi->fp); + + --mi->partition_left; + + return data; + } + + + /* + * Get the next octets of data. + */ + #define mi_octets(mi, data, num) GKS_STMT( \ + int n = num; \ + unsigned char *ptr = data; \ + while (n-- > 0) \ + *ptr++ = mi_octet(mi); \ + ) + + + #if 0 + /* + * Go to the start of the current element. + */ + static void + mi_reset(mi) + mf_cgmi *mi; + { + (void) fseek(mi->fp, mi->start_this_element, SEEK_SET); + } + #endif + + /* + * Return a 16-bit, integer parameter. + */ + static int + mi_int16(mi) + mf_cgmi *mi; + { + unsigned char bytes[2]; + + mi_octets(mi, bytes, 2); + + return TTOHS((unsigned short)NTOH16(bytes)); + } + + + /* + * Return an 16-bit, unsigned integer parameter. + */ + static unsigned + mi_uint16(mi) + mf_cgmi *mi; + { + unsigned char bytes[2]; + + mi_octets(mi, bytes, 2); + + return (unsigned short)NTOH16(bytes); + } + + + /* + * Return an integer parameter. + */ + #define mi_int(mi) mi_int16(mi) + + + /* + * Return an index parameter. + */ + #define mi_index(mi) mi_int16(mi) + + + /* + * Return an ennumeration parameter. + */ + #define mi_enum(mi) mi_int16(mi) + + + /* + * Get a direct color parameter. + */ + static void + mi_direct_colors(mi, colors, ncolor) + mf_cgmi *mi; + XGKSMCOLOURREP *colors; + int ncolor; + { + for (; ncolor-- > 0; ++colors) { + unsigned char rep[3]; + + mi_octets(mi, rep, 3); + + colors->red = UINT8_TO_NORM(rep[0]); + colors->green = UINT8_TO_NORM(rep[1]); + colors->blue = UINT8_TO_NORM(rep[2]); + } + } + + + /* + * Get a string parameter. + */ + static void + mi_string(mi, string, nchr) + mf_cgmi *mi; + char *string; + int *nchr; + { + int length = mi_octet(mi); + + if (length == LONG_STR_LENGTH) { + int more; + + *nchr = 0; + + do { + unsigned pattern = mi_uint16(mi); + + more = pattern & MSB_16; + length = pattern & ~MSB_16; + mi_octets(mi, (unsigned char*)string, length); + *nchr += length; + string += length; + *string = 0; + } while (more); + } else { + mi_octets(mi, (unsigned char*)string, length); + string[length] = 0; + *nchr = length; + } + } + + + /* + * Return a VDC co-ordinate parameter. + */ + #define mi_vdc(mi) int16_to_norm(mi_int16(mi)); + + + /* + * Get point parameters. + */ + mi_point(mi, points, npoint) + mf_cgmi *mi; + Gpoint *points; + int npoint; + { + for (; npoint-- > 0; ++points) { + points->x = mi_vdc(mi); + points->y = mi_vdc(mi); + } + } + + + /* + * Get a message parameter. + */ + static void + mi_mesg(mi, msg) + mf_cgmi *mi; + XGKSMMESG *msg; + { + msg->string = (char*)msg + sizeof(XGKSMMESG); + mi_string(mi, msg->string, &msg->strlen); + } + + + /* + * Get a limit rectangle (e.g. workstation widow or clipping rectangle) + * parameter. + */ + static void + mi_rect(mi, limit) + mf_cgmi *mi; + XGKSMLIMIT *limit; + { + Gpoint lower_left, upper_right; + + mi_point(mi, &lower_left, 1); + mi_point(mi, &upper_right, 1); + + limit->rect.xmin = lower_left.x; + limit->rect.ymin = lower_left.y; + limit->rect.xmax = upper_right.x; + limit->rect.ymax = upper_right.y; + } + + + /* + * Get a graphic (i.e. polyline, polymarker, or fill-area) parameter. + */ + static void + mi_graph(mi, graph) + mf_cgmi *mi; + XGKSMGRAPH *graph; + { + graph->num_pts = BYTES_LEFT(mi)/size_point(); + graph->pts = JUST_AFTER(graph, XGKSMGRAPH, Gpoint); + mi_point(mi, graph->pts, graph->num_pts); + } + + + /* + * Get a row of a cell-array parameters. + */ + static void + mi_cellrow(mi, color, ncolor) + mf_cgmi *mi; + Gint *color; + int ncolor; + { + while (ncolor-- > 0) + *color++ = mi_octet(mi); + + if (ncolor % 2) + (void) mi_octet(mi); + } + + + /* + * Return a 32-bit, fixed-point, real parameter. + */ + static double + mi_real32fx(mi) + mf_cgmi *mi; + { + unsigned char bytes[2]; + unsigned short whole; + unsigned short frac; + + mi_octets(mi, bytes, 2); + whole = NTOH16(bytes); + + mi_octets(mi, bytes, 2); + frac = NTOH16(bytes); + + return TTOHS(whole) + UINT16_TO_NORM(frac); + } + + + /* + * Return a real parameter. + */ + #define mi_real(mi) mi_real32fx(mi) + + + /* + * Return an indexed-color parameter. + */ + #define mi_indexed_color(mi) mi_octet(mi) + + + /* + * Ingest character vector information. + */ + static void + ingest_charvec(mi, vec) + mf_cgmi *mi; + XGKSMCHARVEC *vec; + { + double factor = mi->char_height / + HYPOT(mi->char_up.x, mi->char_up.y); + + mi->char_up.x *= factor; + mi->char_up.y *= factor; + mi->char_base.x *= factor; + mi->char_base.y *= factor; + + vec->up = mi->char_up; + vec->base = mi->char_base; + } + + + /* + * Get the parameters of the current element. + * + * This is where the translation from CGM elements to GKSM items occurs. + */ + static int + mi_parameters(mi, pars, mode) + mf_cgmi *mi; + char *pars; + decode_mode mode; + { + union cgm_data { + XGKSMONE one; + XGKSMTWO two; + XGKSMMESG msg; + XGKSMGRAPH graph; + XGKSMTEXT text; + XGKSMSIZE size; + XGKSMCHARVEC vec; + XGKSMASF asf; + XGKSMLMREP lmrep; + XGKSMTEXTREP txrep; + XGKSMFILLREP flrep; + XGKSMPATREP patrep; + XGKSMCOLOURREP corep; + XGKSMLIMIT limit; + XGKSMSEGTRAN tran; + XGKSMSEGPRI pri; + XGKSMCELLARRAY cell; + XGKSMPATREF patref; + XGKSMPATSIZ patsiz; + } *data = (union cgm_data*)pars; + static char me[] = "mi_parameters"; + + /* + * The following is a hack. Since one CGM COLORTABLE element can be + * equivalent to more than one GKS COLOR REPRESENTATION items, we + * special-case this element. + */ + if (mi->mode == READING_COLOR_TABLE) { + if (mode == RETURN_INFO) { + mi->CurItem.type = (Gint)GKSM_COLOUR_REPRESENTATION; + mi->CurItem.length = sizeof(data->corep); + } else { + data->corep.idx = ++mi->color_index; + mi_direct_colors(mi, &data->corep, 1); + if (BYTES_LEFT(mi) < size_direct_color()) + mi->mode = NORMAL_MODE; + } + return METAFILE_OK; + } + + mi->mode = NORMAL_MODE; + + switch (mi->hash_id) { + + case HASH_ID(DELIMITER_CL, BEGMF_ID): + if (mode == RETURN_INFO) { + #ifdef DEBUG + XGKSMMESG *msg = (XGKSMMESG*)cgm_buf; + + mi_mesg(mi, msg); + (void) fprintf(stderr, "%s(): begin metafile \"%s\"\n", + me, msg->string); + #endif + mi->CurItem.type = (int)GKSM_CGM_ELEMENT; + mi->CurItem.length = 0; + } + break; + + case HASH_ID(DELIMITER_CL, ENDMF_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_END_ITEM; + mi->CurItem.length = 0; + mi->GksmEmpty = 1; + #ifdef DEBUG + (void) fprintf(stderr, "%s(): end metafile\n", me); + #endif + } + break; + + case HASH_ID(DELIMITER_CL, BEGPIC_ID): + if (mode == RETURN_INFO) { + #ifdef DEBUG + XGKSMMESG *msg = (XGKSMMESG*)cgm_buf; + + mi_mesg(mi, msg); + (void) fprintf(stderr, "%s(): begin picture \"%s\"\n", + me, msg->string); + #endif + mi->CurItem.type = (int)GKSM_CLEAR_WORKSTATION; + mi->CurItem.length = sizeof(data->one); + } else { + data->one.flag = (Gint)GCONDITIONALLY; + } + break; + + case HASH_ID(DELIMITER_CL, BEGPICBODY_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_CGM_ELEMENT; + mi->CurItem.length = 0; + #ifdef DEBUG + (void) fprintf(stderr, "%s(): begin picture body\n", me); + #endif + } + break; + + case HASH_ID(DELIMITER_CL, ENDPIC_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_CGM_ELEMENT; + mi->CurItem.length = 0; + #ifdef DEBUG + (void) fprintf(stderr, "%s(): end picture body\n", me); + #endif + } + break; + + case HASH_ID(MF_DESCRIPTOR_CL, MFVERSION_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_CGM_ELEMENT; + mi->CurItem.length = sizeof(data->one); + } else { + data->one.flag = mi_int(mi); + if (data->one.flag != MFVERSION) { + (void) fprintf(stderr, + "%s(): metafile version is %d (I'm %d)\n", + me, data->one.flag, MFVERSION); + (void) fputs("This might cause problems\n", stderr); + } + } + break; + + case HASH_ID(MF_DESCRIPTOR_CL, MFDESC_ID): + if (mode == RETURN_INFO) { + #ifdef DEBUG + XGKSMMESG *msg = (XGKSMMESG*)cgm_buf; + + mi_mesg(mi, msg); + (void) fprintf(stderr, + "%s(): metafile description: \"%s\"\n", + me, msg->string); + #endif + mi->CurItem.type = (int)GKSM_CGM_ELEMENT; + mi->CurItem.length = 0; + } + break; + + case HASH_ID(MF_DESCRIPTOR_CL, MFELEMLIST_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_CGM_ELEMENT; + mi->CurItem.length = 0; + #ifdef DEBUG + (void) fprintf(stderr, "%s(): metafile element-list ignored\n", + me); + #endif + } + break; + + case HASH_ID(PIC_DESCRIPTOR_CL, COLRMODE_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_CGM_ELEMENT; + mi->CurItem.length = sizeof(data->one); + } else { + data->one.flag = mi_enum(mi); + if (data->one.flag != DEFAULT_COLRMODE) { + (void) fprintf(stderr, + "%s(): color selection mode is %d (I'm %d)\n", + me, data->one.flag, DEFAULT_COLRMODE); + return MF_ITEM_ERR; + } + } + break; + + case HASH_ID(PIC_DESCRIPTOR_CL, VDCEXT_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_WORKSTATION_WINDOW; + mi->CurItem.length = sizeof(data->limit); + } else { + mi_rect(mi, &data->limit); + } + break; + + case HASH_ID(CONTROL_CL, CLIPRECT_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_CLIPPING_RECTANGLE; + mi->CurItem.length = sizeof(data->limit); + } else { + mi_rect(mi, &data->limit); + mi->clip_rect = data->limit.rect; + } + break; + + case HASH_ID(PIC_DESCRIPTOR_CL, BACKCOLR_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_COLOUR_REPRESENTATION; + mi->CurItem.length = sizeof(data->corep); + } else { + data->corep.idx = 0; + mi_direct_colors(mi, &data->corep, 1); + } + break; + + case HASH_ID(CONTROL_CL, VDCINTEGERPREC_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_CGM_ELEMENT; + mi->CurItem.length = sizeof(data->one); + } else { + data->one.flag = mi_enum(mi); + if (data->one.flag != DEFAULT_VDCINTEGERPREC) { + (void) fprintf(stderr, + "%s(): VDC integer precision is %d (I'm %d)\n", + me, data->one.flag, DEFAULT_VDCINTEGERPREC); + return MF_ITEM_ERR; + } + } + break; + + case HASH_ID(CONTROL_CL, CLIP_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_CLIPPING_RECTANGLE; + mi->CurItem.length = sizeof(data->limit); + } else { + data->one.flag = mi_enum(mi); + if ((Gclip)data->one.flag == GCLIP) { + data->limit.rect = mi->clip_rect; + } else { + data->limit.rect.xmin = 0.; + data->limit.rect.ymin = 0.; + data->limit.rect.xmax = 1.; + data->limit.rect.ymax = 1.; + } + } + break; + + case HASH_ID(PRIMITIVE_CL, LINE_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_POLYLINE; + mi->CurItem.length = sizeof(XGKSMGRAPH) + sizeof(Gpoint)* + (BYTES_LEFT(mi)/size_point()); + } else { + mi_graph(mi, &data->graph); + } + break; + + case HASH_ID(PRIMITIVE_CL, MARKER_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_POLYMARKER; + mi->CurItem.length = sizeof(XGKSMGRAPH) + sizeof(Gpoint)* + (BYTES_LEFT(mi)/size_point()); + } else { + mi_graph(mi, &data->graph); + } + break; + + case HASH_ID(PRIMITIVE_CL, POLYGON_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_FILL_AREA; + mi->CurItem.length = sizeof(XGKSMGRAPH) + sizeof(Gpoint)* + (BYTES_LEFT(mi)/size_point()); + } else { + mi_graph(mi, &data->graph); + } + break; + + case HASH_ID(PRIMITIVE_CL, TEXT_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_TEXT; + mi->CurItem.length = sizeof(data->text) + BYTES_LEFT(mi) + 1; + } else { + mi_point(mi, &data->text.location, 1); + (void) mi_enum(mi); + data->text.string = JUST_AFTER(data, XGKSMTEXT, char); + mi_string(mi, data->text.string, &data->text.strlen); + } + break; + + case HASH_ID(PRIMITIVE_CL, CELLARRAY_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_CELLARRAY; + mi->CurItem.length = sizeof(XGKSMCELLARRAY) + sizeof(Gint)* + (BYTES_LEFT(mi)/size_cell()); + } else { + int colrprec; /* Local color precision */ + int cell_rep_mode; /* Local color representation mode */ + Gint *pixel, *stopp; + + mi_point(mi, &data->cell.ll, 1); + mi_point(mi, &data->cell.ur, 1); + mi_point(mi, &data->cell.lr, 1); + + data->cell.dim.x = mi_int(mi); + data->cell.dim.y = mi_int(mi); + + colrprec = mi_int(mi); + if (colrprec != 0 && colrprec != DEFAULT_COLRPREC) { + (void) fprintf(stderr, + "%s(): local color precision is %d (I'm %d)\n", + me, colrprec, DEFAULT_COLRPREC); + return MF_DATA_ERR; + } + + cell_rep_mode = mi_enum(mi); + if (cell_rep_mode != DEFAULT_CELL_REP_MODE) { + (void) fprintf(stderr, + "%s(): local cell representation is %d (I'm %d)\n", + me, cell_rep_mode, DEFAULT_CELL_REP_MODE); + return MF_DATA_ERR; + } + + pixel = data->cell.colour = JUST_AFTER(data, XGKSMCELLARRAY, Gint); + + for (stopp = pixel + data->cell.dim.x*data->cell.dim.y; + pixel < stopp; + pixel += data->cell.dim.x) + mi_cellrow(mi, pixel, data->cell.dim.x); + } + break; + + # define GET_INT_ATTR(func, gksm_id) GKS_STMT( \ + if (mode == RETURN_INFO) { \ + mi->CurItem.type = (int)gksm_id; \ + mi->CurItem.length = sizeof(data->one); \ + } else { \ + data->one.flag = func(mi); \ + } \ + ) + + # define GET_REAL_ATTR(gksm_id) GKS_STMT( \ + if (mode == RETURN_INFO) { \ + mi->CurItem.type = (int)gksm_id; \ + mi->CurItem.length = sizeof(data->size); \ + } else { \ + data->size.size = mi_real(mi); \ + } \ + ) + + case HASH_ID(ATTRIBUTE_CL, LINEINDEX_ID): + GET_INT_ATTR(mi_index, GKSM_POLYLINE_INDEX); + break; + + case HASH_ID(ATTRIBUTE_CL, LINETYPE_ID): + GET_INT_ATTR(mi_index, GKSM_LINETYPE); + break; + + case HASH_ID(ATTRIBUTE_CL, LINEWIDTH_ID): + GET_REAL_ATTR(GKSM_LINEWIDTH_SCALE_FACTOR); + break; + + case HASH_ID(ATTRIBUTE_CL, LINECOLR_ID): + GET_INT_ATTR(mi_indexed_color, GKSM_POLYLINE_COLOUR_INDEX); + break; + + case HASH_ID(ATTRIBUTE_CL, MARKERINDEX_ID): + GET_INT_ATTR(mi_index, GKSM_POLYMARKER_INDEX); + break; + + case HASH_ID(ATTRIBUTE_CL, MARKERTYPE_ID): + GET_INT_ATTR(mi_index, GKSM_MARKER_TYPE); + break; + + case HASH_ID(ATTRIBUTE_CL, MARKERSIZE_ID): + GET_REAL_ATTR(GKSM_MARKER_SIZE_SCALE_FACTOR); + break; + + case HASH_ID(ATTRIBUTE_CL, MARKERCOLR_ID): + GET_INT_ATTR(mi_indexed_color, GKSM_POLYMARKER_COLOUR_INDEX); + break; + + case HASH_ID(ATTRIBUTE_CL, TEXTINDEX_ID): + GET_INT_ATTR(mi_index, GKSM_TEXT_INDEX); + break; + + case HASH_ID(ATTRIBUTE_CL, TEXTFONTINDEX_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_TEXT_FONT_AND_PRECISION; + mi->CurItem.length = sizeof(data->two); + } else { + data->two.item1 = mi_index(mi); + mi->txfp.font = data->two.item1; + data->two.item2 = (int)mi->txfp.prec; + } + break; + + case HASH_ID(ATTRIBUTE_CL, TEXTPREC_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_TEXT_FONT_AND_PRECISION; + mi->CurItem.length = sizeof(data->two); + } else { + data->two.item2 = mi_index(mi); + mi->txfp.prec = (Gtxprec)data->two.item2; + data->two.item1 = mi->txfp.font; + } + break; + + case HASH_ID(ATTRIBUTE_CL, CHAREXPAN_ID): + GET_REAL_ATTR(GKSM_CHARACTER_EXPANSION_FACTOR); + break; + + case HASH_ID(ATTRIBUTE_CL, CHARSPACE_ID): + GET_REAL_ATTR(GKSM_CHARACTER_SPACING); + break; + + case HASH_ID(ATTRIBUTE_CL, TEXTCOLR_ID): + GET_INT_ATTR(mi_indexed_color, GKSM_TEXT_COLOUR_INDEX); + break; + + case HASH_ID(ATTRIBUTE_CL, CHARHEIGHT_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_CHARACTER_VECTORS; + mi->CurItem.length = sizeof(data->vec); + } else { + mi->char_height = mi_vdc(mi); + ingest_charvec(mi, &data->vec); + } + break; + + case HASH_ID(ATTRIBUTE_CL, CHARORI_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_CHARACTER_VECTORS; + mi->CurItem.length = sizeof(data->vec); + } else { + mi->char_up.x = mi_vdc(mi); + mi->char_up.y = mi_vdc(mi); + mi->char_base.x = mi_vdc(mi); + mi->char_base.y = mi_vdc(mi); + ingest_charvec(mi, &data->vec); + } + break; + + case HASH_ID(ATTRIBUTE_CL, TEXTPATH_ID): + GET_INT_ATTR(mi_enum, GKSM_TEXT_PATH); + break; + + case HASH_ID(ATTRIBUTE_CL, TEXTALIGN_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_TEXT_ALIGNMENT; + mi->CurItem.length = sizeof(data->two); + } else { + data->two.item1 = mi_enum(mi); + data->two.item2 = mi_enum(mi); + + if (data->two.item1 == CGM_CONTINUOUS_HORIZONTAL_ALIGNMENT || + data->two.item2 == CGM_CONTINUOUS_VERTICAL_ALIGNMENT) { + (void) fprintf(stderr, + "%s(): can't handle continuous text alignment request\n", + me); + return MF_DATA_ERR; + } + } + break; + + case HASH_ID(ATTRIBUTE_CL, CHARSETINDEX_ID): + case HASH_ID(ATTRIBUTE_CL, ALTCHARSETINDEX_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_CGM_ELEMENT; + mi->CurItem.length = 0; + #ifdef DEBUG + (void) fprintf(stderr, + "%s(): (alt)character set index ignored\n", me); + #endif + } + break; + + case HASH_ID(ATTRIBUTE_CL, FILLINDEX_ID): + GET_INT_ATTR(mi_index, GKSM_FILL_AREA_INDEX); + break; + + case HASH_ID(ATTRIBUTE_CL, INTSTYLE_ID): + GET_INT_ATTR(mi_enum, GKSM_FILL_AREA_INTERIOR_STYLE); + break; + + case HASH_ID(ATTRIBUTE_CL, FILLCOLR_ID): + GET_INT_ATTR(mi_indexed_color, GKSM_FILL_AREA_COLOUR_INDEX); + break; + + case HASH_ID(ATTRIBUTE_CL, HATCHINDEX_ID): + case HASH_ID(ATTRIBUTE_CL, PATINDEX_ID): + GET_INT_ATTR(mi_index, GKSM_FILL_AREA_STYLE_INDEX); + break; + + case HASH_ID(ATTRIBUTE_CL, FILLREFPT_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_PATTERN_REFERENCE_POINT; + mi->CurItem.length = sizeof(data->patref); + } else { + mi_point(mi, &data->patref.ref, 1); + } + break; + + case HASH_ID(ATTRIBUTE_CL, PATTABLE_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_CGM_ELEMENT; + mi->CurItem.length = 0; + #ifdef DEBUG + (void) fprintf(stderr, "%s(): pattern table ignored\n", me); + #endif + } + break; + + case HASH_ID(ATTRIBUTE_CL, PATSIZE_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_PATTERN_SIZE; + mi->CurItem.length = sizeof(data->patsiz); + } else { + data->patsiz.hgt.x = mi_vdc(mi); + data->patsiz.hgt.y = mi_vdc(mi); + data->patsiz.wid.x = mi_vdc(mi); + data->patsiz.wid.y = mi_vdc(mi); + } + break; + + case HASH_ID(ATTRIBUTE_CL, COLRTABLE_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_COLOUR_REPRESENTATION; + mi->CurItem.length = sizeof(data->corep); + } else { + mi->color_index = mi_index(mi); + data->corep.idx = mi->color_index; + mi_direct_colors(mi, &data->corep, 1); + if (BYTES_LEFT(mi) >= size_direct_color()) + mi->mode = READING_COLOR_TABLE; + } + break; + + case HASH_ID(ATTRIBUTE_CL, ASF_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_ASPECT_SOURCE_FLAGS; + mi->CurItem.length = sizeof(data->asf); + } else { + int iasf; + int cgm_asf[18]; + + for (iasf = 0; iasf < NUM_ELEMENTS(cgm_asf); ++iasf) + cgm_asf[iasf] = 0; + + while (BYTES_LEFT(mi) > 0) { + iasf = mi_enum(mi); + cgm_asf[iasf] = mi_enum(mi); + } + + for (iasf = 0; iasf < NUM_ELEMENTS(cgm_asf); ++iasf) + data->asf.asf[gksm_iasf[iasf]] = cgm_asf[iasf] == 0 + ? (int)GINDIVIDUAL + : (int)GBUNDLED; + } + break; + + case HASH_ID(ESCAPE_CL, ESCAPE_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_CGM_ELEMENT; + mi->CurItem.length = 0; + #ifdef DEBUG + (void) fprintf(stderr, "%s(): escape request ignored\n", me); + #endif + } + break; + + case HASH_ID(EXTERN_CL, MESSAGE_ID): + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_MESSAGE; + mi->CurItem.length = sizeof(data->msg) + BYTES_LEFT(mi) + 1; + } else { + mi_mesg(mi, &data->msg); + } + break; + + default: + if (mode == RETURN_INFO) { + mi->CurItem.type = (int)GKSM_UNKNOWN_ITEM; + mi->CurItem.length = BYTES_LEFT(mi); + } else { + (void) fprintf(stderr, + "%s(): can't decode class=%d, id=%d element\n", + me, mi->class, mi->id); + } + } /* hash_id switch */ + + return METAFILE_OK; + } + + + /* + * Get a command header. + */ + static int + mi_header(fp, class, id, length) + FILE *fp; + int *class; + int *id; + unsigned *length; + { + unsigned char bytes[2]; + unsigned short header; + + if (fread((voidp)bytes, (size_t)1, (size_t)2, fp) != 2) + return 0; + + header = NTOH16(bytes); + + *class = (header >> 12) & 017; + *id = (header >> 5) & 0177; + *length = header & 037; + + return 1; + } + + + /* + * Get a description of the next GKSM item. + * + * Note that this routine returns errors or true GKSM items -- CGM elements + * are handled internally and are not returned. + */ + static int + mi_item(mi) + mf_cgmi *mi; + { + unsigned header_length; + static char me[] = "mi_item"; + + if (mi->GksmEmpty) + return 0; + + if (mi->mode == READING_COLOR_TABLE) + return 1; + + for (;;) { + (void) fseek(mi->fp, mi->start_next_element, SEEK_SET); + + if (!mi_header(mi->fp, &mi->class, &mi->id, &header_length)) { + mi->filestat = MF_FILE_ERR; + return 0; + } + + #if 0 + mi->start_this_element = mi->start_next_element; + #endif + mi->hash_id = HASH_ID(mi->class, mi->id); + + if (header_length == LONG_CMD_LENGTH) { + /* + * Long-form CGM element. Accumulate all partition lengths so that + * we can return the total length of the data-record. + */ + int more_data; /* More data flag */ + long total = 0; /* Total data-record length (bytes) */ + long first_part = ftell(mi->fp); + /* Start of first partition */ + + do { + int length; /* Current partition length */ + + mi_pcw(mi->fp, &more_data, &length); + total += length; + (void) fseek(mi->fp, (long)(length + length%2), SEEK_CUR); + } while (more_data); + + mi->total_length = total; + mi->start_next_element = ftell(mi->fp); + + /* Return to 1st partition */ + (void) fseek(mi->fp, first_part, SEEK_SET); + + mi_pcw(mi->fp, &more_data, &mi->partition_length); + + } else { + /* + * Short-form CGM element. + */ + mi->partition_length = mi->total_length + = header_length; + mi->start_next_element = ftell(mi->fp) + header_length + + header_length%2; + } + + mi->total_left = mi->total_length; + mi->partition_left = mi->partition_length; + + mi_parameters(mi, (char*)NULL, RETURN_INFO); + + switch (mi->CurItem.type) { + case GKSM_CGM_ELEMENT: + mi_parameters(mi, (char*)cgm_buf, DECODE_VALUES); + break; + case GKSM_UNKNOWN_ITEM: + (void) fprintf(stderr, "%s(): element ignored (class=%d, id=%d)\n", + me, mi->class, mi->id); + break; + default: /* Should be GKSM item */ + return 1; + } + } /* Until-something-to-return + * loop */ + } + + + /* + * Open an input CGM. Read up through the header of the first non-delimiter + * and non-metafile-descriptor element (which should be just after the first + * BEGIN PICTURE element). + */ + int + CGMmiOpen(mf) + Metafile *mf; /* Metafile structure */ + { + mf_cgmi *mi = &mf->cgm.mi; + static char me[] = "CGMmiOpen()"; + + if (CHAR_BIT != 8) { + (void) fprintf(stderr, + "%s: I can't work on platforms where CHAR_BIT != 8. Sorry.\n", + me); + return 1; + } + + mi->filestat = METAFILE_OK; + mi->mode = NORMAL_MODE; + mi->GksmEmpty = 0; + mi->txfp.font = 1; + mi->txfp.prec = GSTROKE; + mi->char_height = 0.01; + mi->char_up.x = 0.; + mi->char_up.y = 1.; + mi->char_base.x = 1.; + mi->char_base.y = 0.; + mi->start_next_element = ftell(mi->fp); + + #if 0 + (void) mi_item(mi); /* Get first GKSM item */ + mi_reset(mi); /* Return to start of item */ + #endif + + return mi->filestat == METAFILE_OK ? OK : 1; + } + + + /* + * Return the identity of the next item in a Metafile and the amount of storage + * necessary to contain its data. + */ + Gint + CGMnextItem(mf) + Metafile *mf; /* Metafile structure */ + { + mf_cgmi *mi = &mf->cgm.mi; + + if (feof(mi->fp)) { + mi->GksmEmpty = TRUE; + mi->CurItem.type = INVALID; + mi->CurItem.length = INVALID; + return METAFILE_OK; + } + + if (!mi_item(mi)) { + mi->GksmEmpty = TRUE; + mi->CurItem.type = INVALID; + mi->CurItem.length = INVALID; + return MF_FILE_ERR; + } + + mi->GksmEmpty = FALSE; + + return METAFILE_OK; + } + + + /* + * Read the data-portion of a Metafile's current item. + * + * The filestat field has been added to the workstation state structure to + * retain MI error information between calls to ggetgksm and greadgksm. The + * field has one of four possible integer values (defined in metafile.h): + * METAFILE_OK -- no errors so far reading from metafile + * MF_DATA_ERR -- type and length of latest item read (current item) are + * ok, but XgksReadData couldn't read the data (eg. non- + * numeric characters found when trying to read an integer) + * The item may be skipped (via greadgksm w/ length 0) and + * MI processing can continue. + * MF_ITEM_ERR -- something more serious than a data error found in latest + * item; eg. type invalid, length invalid, data read ter- + * minated prematurely. This error condition can be detected + * while going on to the next item, so the current item is + * returned correctly, but subsequent attempts to get/read + * will fail. Since the exact cause of the error is unknown, + * this is not a recoverable condition. + * MF_FILE_ERR -- the system reported an I/O error during a read attempt. + * This error is not recoverable. + * The first function to detect the error will report it, while attempting to + * process the item it applies to. In other words, if greadgksm encounters a + * file error while trying to go on to the next item after successfully reading + * the current item, the error will not be reported until the next get/read + * call. After a fatal error has been reported (via GKS error 163, item is + * invalid), subsequent get/read attempts will return error 162, no items left + * in MI, since the error is unrecoverable and no more reading is allowed. + */ + int + CGMreadItem(mf, record) + Metafile *mf; /* Metafile structure */ + char *record; /* input data-record */ + { + mf_cgmi *mi = &mf->cgm.mi; + + if (record != NULL) { + mi->filestat = mi_parameters(mi, record, DECODE_VALUES); + + if (feof(mi->fp)) { + mi->GksmEmpty = TRUE; + (void) gerrorhand(162, errgreadgksm, xgks_state.gks_err_file); + return 162; + } + GKSERROR((mi->filestat == MF_ITEM_ERR) || (mi->filestat == MF_FILE_ERR), + 163, errgreadgksm); + GKSERROR((mi->filestat == MF_DATA_ERR), 165, errgreadgksm); + } + + return OK; + } *** /dev/null Wed Oct 16 09:49:01 1991 --- lib/src/cgm/cgmo.c Wed Oct 16 10:25:51 1991 *************** *** 0 **** --- 1,1880 ---- + /* + * This file implements an XGKS output Metafile (MO) workstation using the + * Computer Graphics Metafile (CGM) standard. + * + * This module will only work on platforms having 8-bit "char"s. + * This requirement is tested at runtime by this module. + */ + + /*LINTLIBRARY*/ + + /* Non-POSIX includes: */ + #include /* for uid_t */ + + /* POSIX includes: */ + #include "udposix.h" + #include /* for *printf(), ftell(), & fseek() */ + #include /* for offsetof() */ + #include + #include /* for time(), localtime(), gmtime(), & + * strftime() */ + #include /* for uname() */ + #include /* for getlogin() */ + #include + #include /* for sqrt() */ + #include + #include /* for CHAR_BIT */ + #include "gks_implem.h" + #include "cgm.h" /* for public, API details */ + #include "cgm_implem.h" /* for implementation details */ + + #ifndef lint + static char rcsid[] = "$Id: 4.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $"; + #endif + + /* + * Internal functions that can be mapped to externally visible ones: + */ + #define mo_cliprect(cgmo, num) (void) CGMsetClip((Metafile**)cgmo, num, \ + (Glimit*)NULL) + #define mo_patsize(cgmo, num) (void) CGMsetPatSize((Metafile**)cgmo, num) + #define mo_fillrefpt(cgmo, num) (void) CGMsetPatRefpt((Metafile**)cgmo, num) + #define mo_asf(cgmo, num) (void) CGMsetAsf((Metafile**)cgmo, num) + + /* + * CGM output-routines that are simple enough to be implemented as macros: + */ + #define mo_backcolr(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_BACKCOLR, PIC_DESCRIPTOR_CL, BACKCOLR_ID, \ + mo_direct_colors, offsetof(mf_cgmo, backcolr), 1) + #define mo_lineindex(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_LINEINDEX, ATTRIBUTE_CL, LINEINDEX_ID, \ + mo_indexes, offsetof(mf_cgmo, lineindex), 1) + #define mo_linetype(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_LINETYPE, ATTRIBUTE_CL, LINETYPE_ID, \ + mo_indexes, offsetof(mf_cgmo, linetype), 1) + #define mo_linewidth(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_LINEWIDTH, ATTRIBUTE_CL, LINEWIDTH_ID, \ + mo_reals, offsetof(mf_cgmo, linewidth), 1) + #define mo_linecolr(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_LINECOLR, ATTRIBUTE_CL, LINECOLR_ID, \ + mo_indexed_colors, offsetof(mf_cgmo, linecolr), 1) + #define mo_markerindex(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_MARKERINDEX, ATTRIBUTE_CL, MARKERINDEX_ID, \ + mo_indexes, offsetof(mf_cgmo, markerindex), 1) + #define mo_markertype(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_MARKERTYPE, ATTRIBUTE_CL, MARKERTYPE_ID, \ + mo_indexes, offsetof(mf_cgmo, markertype), 1) + #define mo_markersize(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_MARKERSIZE, ATTRIBUTE_CL, MARKERSIZE_ID, \ + mo_reals, offsetof(mf_cgmo, markersize), 1) + #define mo_markercolr(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_MARKERCOLR, ATTRIBUTE_CL, MARKERCOLR_ID, \ + mo_indexed_colors, offsetof(mf_cgmo, markercolr), 1) + #define mo_textindex(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_TEXTINDEX, ATTRIBUTE_CL, TEXTINDEX_ID, \ + mo_indexes, offsetof(mf_cgmo, textindex), 1) + #define mo_textfontindex(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_TEXTFONTINDEX, ATTRIBUTE_CL, \ + TEXTFONTINDEX_ID, mo_indexes, offsetof(mf_cgmo, txfp.font), 1) + #define mo_textprec(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_TEXTPREC, ATTRIBUTE_CL, TEXTPREC_ID, \ + mo_enums, offsetof(mf_cgmo, txfp.prec), 1) + #define mo_charexpan(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_CHAREXPAN, ATTRIBUTE_CL, CHAREXPAN_ID, \ + mo_reals, offsetof(mf_cgmo, charexpan), 1) + #define mo_charspace(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_CHARSPACE, ATTRIBUTE_CL, CHARSPACE_ID, \ + mo_reals, offsetof(mf_cgmo, charspace), 1) + #define mo_textcolr(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_TEXTCOLR, ATTRIBUTE_CL, TEXTCOLR_ID, \ + mo_indexed_colors, offsetof(mf_cgmo, textcolr), 1) + #define mo_charheight(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_CHARHEIGHT, ATTRIBUTE_CL, CHARHEIGHT_ID, \ + mo_vdcs, offsetof(mf_cgmo, charheight), 1) + #define mo_charori(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_CHARORI, ATTRIBUTE_CL, CHARORI_ID, \ + mo_vdcs, offsetof(mf_cgmo, charori[0]), 4) + #define mo_textpath(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_TEXTPATH, ATTRIBUTE_CL, TEXTPATH_ID, \ + mo_enums, offsetof(mf_cgmo, textpath), 1) + #define mo_fillindex(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_FILLINDEX, ATTRIBUTE_CL, FILLINDEX_ID, \ + mo_indexes, offsetof(mf_cgmo, fillindex), 1) + #define mo_intstyle(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_INTSTYLE, ATTRIBUTE_CL, INTSTYLE_ID, \ + mo_enums, offsetof(mf_cgmo, intstyle), 1) + #define mo_fillcolr(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_FILLCOLR, ATTRIBUTE_CL, FILLCOLR_ID, \ + mo_indexed_colors, offsetof(mf_cgmo, fillcolr), 1) + #define mo_hatchindex(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_HATCHINDEX, ATTRIBUTE_CL, HATCHINDEX_ID, \ + mo_indexes, offsetof(mf_cgmo, hatchindex), 1) + #define mo_patindex(cgmo, num) \ + mo_element(cgmo, num, CGM_MASK_PATINDEX, ATTRIBUTE_CL, PATINDEX_ID, \ + mo_indexes, offsetof(mf_cgmo, patindex), 1) + + #define MO_BEGMF(cgmo, num) GKS_STMT( \ + mo_header(DELIMITER_CL, BEGMF_ID); \ + mo_string(cgmo, num, "XGKS CGM"); \ + mo_flush(cgmo, num, 0); \ + ) + #define MO_MFVERSION(cgmo, num) GKS_STMT( \ + mo_header(MF_DESCRIPTOR_CL, MFVERSION_ID); \ + mo_int(cgmo, num, MFVERSION); \ + mo_flush(cgmo, num, 0); \ + ) + #define MO_MFELEMLIST(cgmo, num) GKS_STMT( \ + mo_header(MF_DESCRIPTOR_CL, MFELEMLIST_ID); \ + mo_int(cgmo, num, num_elements); \ + mo_ints(cgmo, num, (char*)mf_elements_list, 2*num_elements); \ + mo_flush(cgmo, num, 0); \ + ) + #define MO_BEGPICBODY(cgmo, num) GKS_STMT( \ + mo_header(DELIMITER_CL, BEGPICBODY_ID); \ + mo_flush(cgmo, num, 0); \ + mo_mode(cgmo, num, CGMO_IN_BODY); \ + ) + #define MO_ENDPIC(cgmo, num) GKS_STMT( \ + mo_header(DELIMITER_CL, ENDPIC_ID); \ + mo_flush(cgmo, num, 0); \ + mo_mode(cgmo, num, CGMO_IN_METAFILE); \ + ) + #define MO_ENDMF(cgmo, num) GKS_STMT( \ + mo_header(DELIMITER_CL, ENDMF_ID); \ + mo_flush(cgmo, num, 0); \ + mo_mode(cgmo, num, CGMO_UNSET); \ + ) + + /* + * Metafile element-list (for the METAFILE DESCRIPTION command): + */ + #define DRAWING_SET_CL -1 + #define DRAWING_SET_ID 0 + static int mf_elements_list[][2] = {DRAWING_SET_CL, DRAWING_SET_ID}; + static int num_elements = NUM_ELEMENTS(mf_elements_list); + + /* + * I/O buffer. Though it's defined here, it's also used for CGM input. + */ + unsigned char cgm_buf[077776]; + + /* + * Output CGM state variables: + */ + static int header_class; /* Item class */ + static int header_id; /* Item identifier */ + static int header_written; /* Command-header has been written? */ + static unsigned char *mo_ptr = cgm_buf; + /* Next available byte in buffer */ + static unsigned char *mo_outp = cgm_buf + sizeof(cgm_buf); + /* End-of-buffer pointer sentinel */ + + + /* + * Save header information. + */ + #define mo_header(class, id) GKS_STMT( \ + assert(!header_written); \ + header_class = class; \ + header_id = id; \ + ) + + + /* + * Flush the (complete or partial) CGM-element parameter-buffer. + */ + static void + mo_flush(cgmo, num, more_data) + mf_cgmo **cgmo; + int num; + int more_data; + { + if (num > 0) { + int imf; + int pad; + int nbytes = mo_ptr - cgm_buf; + static int long_form; + + if (!header_written) { + unsigned short header; + unsigned char bytes[2]; + + long_form = nbytes > MAX_SHORT_CMD_LENGTH; + header = header_class << 12 + | header_id << 5 + | (long_form + ? LONG_CMD_LENGTH + : nbytes); + HTON16(header, bytes); + + for (imf = 0; imf < num; ++imf) + (void) fwrite((voidp)bytes, (size_t)1, (size_t)2, + cgmo[imf]->fp); + header_written = 1; + } + + if (long_form) { + /* + * Long-form command. Write a partition control word. + */ + unsigned short pcw = more_data + ? MORE_DATA_BIT | nbytes + : nbytes; + unsigned char bytes[2]; + + HTON16(pcw, bytes); + + for (imf = 0; imf < num; ++imf) + (void) fwrite((voidp)bytes, (size_t)1, (size_t)2, + cgmo[imf]->fp); + } + + /* Pad the data if necessary */ + pad = nbytes % 2; + if (pad) { + assert(!more_data); /* padding shall only occur at end of + * command element and not at the end + * of a non-terminal data-partition + * (except for cell arrays, but that's + * taken care of before here) */ + *mo_ptr = 0; + } + + /* Write the data. */ + for (imf = 0; imf < num; ++imf) + (void) fwrite((voidp)cgm_buf, (size_t)1, (size_t)(nbytes+pad), + cgmo[imf]->fp); + + /* Reset the buffer pointer */ + mo_ptr = cgm_buf; + + /* Reset the element state if appropriate */ + if (!more_data) + header_written = 0; + } + } + + #define size_header() (size_t)2 + + + /* + * Write a parameter octet. + */ + #define mo_octet(cgmo, num, byte) GKS_STMT( \ + *mo_ptr++ = byte; \ + if (mo_ptr == mo_outp) \ + mo_flush(cgmo, num, 1); \ + ) + + + /* + * Write parameter octets. + */ + static void + mo_octets(cgmo, num, bytes, nbytes) + mf_cgmo **cgmo; + int num; + unsigned char *bytes; + size_t nbytes; + { + while (nbytes--) + mo_octet(cgmo, num, *bytes++); + } + + + /* + * Write a 16-bit, integer parameter. + */ + #define mo_int16(cgmo, num, val) GKS_STMT( \ + unsigned short value = val; \ + unsigned char bytes[2]; \ + HTON16(value, bytes); \ + mo_octets(cgmo, num, bytes, 2); \ + ) + + #define size_int16() (size_t)2 + + + /* + * Write 16-bit, integer parameters. + */ + static void + mo_int16s(cgmo, num, ptr, nval) + mf_cgmo **cgmo; + int num; + char *ptr; + int nval; + { + int *vals = (int*)ptr; + + assert(nval >= 0); + + while (nval-- > 0) + mo_int16(cgmo, num, *vals++); + } + + + /* + * Write an integer parameter. + */ + #define mo_int(mo, n, val) mo_int16(mo, n, val) + + #define size_int() size_int16() + + + /* + * Write integer parameters. + */ + static void + mo_ints(cgmo, num, ptr, nval) + mf_cgmo **cgmo; + int num; + char *ptr; + int nval; + { + int *vals = (int*)ptr; + + assert(nval >= 0); + + while (nval-- > 0) + mo_int(cgmo, num, *vals++); + } + + + /* + * Write a 16-bit, unsigned integer parameter. + */ + #define mo_uint16(cgmo, num, val) GKS_STMT( \ + unsigned short value = val; \ + unsigned char bytes[2]; \ + HTON16(value, bytes); \ + mo_octets(cgmo, num, bytes, 2); \ + ) + + + /* + * Write an index parameter. + */ + #define mo_index(mo, n, val) mo_int16(mo, n, val) + + #define size_index() size_int() + + + /* + * Write index parameters. + */ + static void + mo_indexes(cgmo, num, ptr, nval) + mf_cgmo **cgmo; + int num; + char *ptr; + int nval; + { + int *vals = (int*)ptr; + + assert(nval >= 0); + + while (nval-- > 0) + mo_index(cgmo, num, *vals++); + } + + + /* + * Write an ennumeration parameter. + */ + #define mo_enum(mo, n, val) mo_int16(mo, n, (int)val) + + #define mo_enums mo_int16s + + #define size_enum() size_int16() + + + /* + * Write a string parameter. + */ + static void + mo_string(cgmo, num, string) + mf_cgmo **cgmo; + int num; + char *string; + { + size_t nchr = strlen(string); + + if (nchr <= MAX_SHORT_STR_LENGTH) { + mo_octet(cgmo, num, nchr); + mo_octets(cgmo, num, (unsigned char*)string, nchr); + } else { + unsigned length; + + mo_octet(cgmo, num, LONG_STR_LENGTH); + + while (nchr > 0) { + length = MIN(32767, nchr); + nchr -= length; + if (nchr > 0) + length |= MSB_16; + mo_uint16(cgmo, num, length); + mo_octets(cgmo, num, (unsigned char*)string, (size_t)length); + string += length; + } + } + } + + + /* + * Write a 32-bit, fixed-point, real parameter. + */ + #define mo_real32fx(cgmo, num, val) GKS_STMT( \ + mf_cgmo **mo = cgmo; \ + int nmo = num; \ + double x = val; \ + short swhole = x < 0 ? x - 1 : x; \ + unsigned short whole = HTOTS(swhole); \ + unsigned short frac = UNORM_TO_INT16(x-swhole); \ + unsigned char bytes[2]; \ + HTON16(whole, bytes); \ + mo_octets(mo, nmo, bytes, 2); \ + HTON16(frac, bytes); \ + mo_octets(mo, nmo, bytes, 2); \ + assert(x-swhole >= 0); \ + assert(x-swhole <= 1); \ + ) + + #define size_real32fx() (size_t)4 + + + /* + * Write a real parameter. + */ + #define mo_real(mo, n, val) mo_real32fx(mo, n, val) + + #define size_real() size_real32fx() + + + /* + * Write real parameters. + */ + static void + mo_reals(cgmo, num, ptr, nval) + mf_cgmo **cgmo; + int num; + char *ptr; + int nval; + { + float *vals = (float*)ptr; + + assert(nval >= 0); + + while (nval-- > 0) + mo_real(cgmo, num, *vals++); + } + + + /* + * Write a VDC parameter. + */ + #define MO_VDC(cgmo, num, val) GKS_STMT( \ + int x = NORM_TO_INT16(val); \ + assert(val >= -1); \ + assert(val <= 1); \ + mo_int16(cgmo, num, x); \ + ) + + #define size_vdc() size_int16() + + + /* + * Write VDC parameters. + */ + static void + mo_vdcs(cgmo, num, ptr, nval) + mf_cgmo **cgmo; + int num; + char *ptr; + int nval; + { + Gfloat *vals = (Gfloat*)ptr; + + assert(size_vdc() == size_int()); + + while (nval-- > 0) { + Gfloat val = *vals++; + + MO_VDC(cgmo, num, val); + } + } + + + /* + * Write a point. + */ + #define MO_POINT(cgmo, num, ptr) GKS_STMT( \ + MO_VDC(cgmo, num, (ptr)->x); \ + MO_VDC(cgmo, num, (ptr)->y); \ + ) + + #define size_point() (2*size_vdc()) + + + /* + * Write point parameters. + */ + static void + mo_points(cgmo, num, ptr, nval) + mf_cgmo **cgmo; + int num; + char *ptr; + int nval; + { + Gpoint *vals = (Gpoint*)ptr; + + while (nval-- > 0) { + Gpoint *pt = vals++; + + MO_POINT(cgmo, num, pt); + } + } + + + /* + * Write a direct color parameter. + * + * NB: The default direct color precision is used. + */ + #define mo_direct_color(cgmo, num, ptr) GKS_STMT( \ + Gcobundl *modc_colr = ptr; \ + unsigned char modc_rep[3]; \ + assert(modc_colr->red >= 0); \ + assert(modc_colr->red <= 1); \ + assert(modc_colr->green >= 0); \ + assert(modc_colr->green <= 1); \ + assert(modc_colr->blue >= 0); \ + assert(modc_colr->blue <= 1); \ + modc_rep[0] = UNORM_TO_INT8(modc_colr->red); \ + modc_rep[1] = UNORM_TO_INT8(modc_colr->green); \ + modc_rep[2] = UNORM_TO_INT8(modc_colr->blue); \ + mo_octets(cgmo, num, modc_rep, 3); \ + ) + + #define size_direct_color() (size_t)3 + + + /* + * Write direct color parameters. + * + * NB: The default direct color precision is used. + */ + static void + mo_direct_colors(cgmo, num, ptr, ncolor) + mf_cgmo **cgmo; + int num; + char *ptr; + int ncolor; + { + Gcobundl *colors = (Gcobundl*)ptr; + + while (ncolor-- > 0) + mo_direct_color(cgmo, num, colors++); + } + + + /* + * Write an indexed-color parameter. + */ + #define mo_indexed_color(cgmo, num, val) GKS_STMT( \ + mo_octet(cgmo, num, val); \ + ) + + #define size_indexed_color() (size_t)1 + + + /* + * Write indexed-color parameters. + */ + static void + mo_indexed_colors(cgmo, num, ptr, ncolor) + mf_cgmo **cgmo; + int num; + char *ptr; + int ncolor; + { + int *colors = (int*)ptr; + + while (ncolor-- > 0) + mo_indexed_color(cgmo, num, *colors++); + } + + + /* + * Write a row of a cell-array to output CGM elements. + */ + static void + mo_cellrow(cgmo, num, color, ncolor) + mf_cgmo **cgmo; + int num; + Gint *color; + int ncolor; + { + int pad = ncolor % 2; + + assert(DEFAULT_COLRPREC == 8); + + while (ncolor-- > 0) { + assert(*color <= 255); + mo_octet(cgmo, num, *color++); + } + + if (pad) + mo_octet(cgmo, num, 0); + } + + #define size_cell() (size_t)(DEFAULT_COLRPREC/8) + + + /* + * Write an element whose parameters are all the same. + */ + static void + mo_element(cgmo, num, setmask, class, id, func, offset, nval) + mf_cgmo **cgmo; + int num; + unsigned long setmask; + int class; + int id; + void (*func)(); + unsigned offset; + int nval; + { + if (setmask != 0) { + int ii; + + for (ii = 0; ii < num; ++ii) { + if (cgmo[ii]->isset & setmask) { + mo_header(class, id); + (*func)(cgmo+ii, 1, (char*)cgmo[ii]+offset, nval); + mo_flush(cgmo+ii, 1, 0); + } + } + } else { + mo_header(class, id); + (*func)(cgmo, num, (char*)cgmo[0]+offset, nval); + mo_flush(cgmo, num, 0); + } + } + + + /* + * Return a string identifying the user, installation, and date. + */ + static char* + AuthorDate() + { + int min_offset; + char *username = getlogin(); + char timebuf[24]; + static char buffer[128]; + char *cp = buffer; + char *endp = buffer + sizeof(buffer) - 1; + time_t clock = time((time_t *) NULL); + struct tm local_tm; + struct tm utc_tm; + struct utsname name; + + # define ADD_STRING(string) GKS_STMT( \ + size_t nchr = strlen(string); \ + nchr = MIN(endp - cp, nchr); \ + (void) strncpy(cp, string, nchr); \ + cp += nchr; \ + ) + + ADD_STRING("UCAR/Unidata XGKS/CGM $Revision: 2.5.4.1 $: "); + + if (username == NULL) { + ADD_STRING(""); + } else { + ADD_STRING(username); + } + + if (uname(&name) != -1) { + ADD_STRING("@"); + ADD_STRING(name.nodename); + } + + ADD_STRING(" "); + + local_tm = *localtime(&clock); + utc_tm = *gmtime(&clock); + + (void) strftime(timebuf, sizeof(timebuf), "%Y-%m-%d %H:%M:%S", + &local_tm); + ADD_STRING(timebuf); + + min_offset = (local_tm.tm_hour - utc_tm.tm_hour)*60 + + (local_tm.tm_min - utc_tm.tm_min); + + if (local_tm.tm_year > utc_tm.tm_year || + local_tm.tm_yday > utc_tm.tm_yday) { + min_offset += 24*60; + } else if (local_tm.tm_year < utc_tm.tm_year || + local_tm.tm_yday < utc_tm.tm_yday) { + min_offset -= 24*60; + } + + if (min_offset != 0) { + int hour = ABS(min_offset/60); + int min = ABS(min_offset%60); + + (void) sprintf(timebuf, " UTC%c%02d%02d", + min_offset < 0 ? '-' : '+', + hour, + min); + + ADD_STRING(timebuf); + } + + *cp = 0; + + return buffer; + } + + + /* + * Set the mode of output CGMs. + */ + static void + mo_mode(cgmo, num, mode) + mf_cgmo **cgmo; + int num; + cgmo_mode mode; + { + while (num-- > 0) + (*cgmo++)->mode = mode; + } + + + /* + * Write the Metafile description. + */ + static void + mo_mfdesc(cgmo, num) + mf_cgmo **cgmo; + int num; + { + char *desc = AuthorDate(); + + mo_header(MF_DESCRIPTOR_CL, MFDESC_ID); + mo_string(cgmo, num, desc); + mo_flush(cgmo, num, 0); + } + + + /* + * Write the VDC extent. + * + * This is equivalent to the workstation window. + */ + static void + mo_vdcext(cgmo, num) + mf_cgmo **cgmo; + int num; + { + mo_header(PIC_DESCRIPTOR_CL, VDCEXT_ID); + + for (; num-- > 0; ++cgmo) { + Gpoint lower_left, upper_right; + + lower_left.x = cgmo[0]->wswindow.xmin; + lower_left.y = cgmo[0]->wswindow.ymin; + upper_right.x = cgmo[0]->wswindow.xmax; + upper_right.y = cgmo[0]->wswindow.ymax; + + MO_POINT(cgmo, 1, &lower_left); + MO_POINT(cgmo, 1, &upper_right); + mo_flush(cgmo, 1, 0); + } + } + + + /* + * Write a BEGIN PICTURE delimiter. + * + * The identifier is taken from the picture number; + */ + static void + mo_begpic(cgmo, num) + mf_cgmo **cgmo; + int num; + { + int ii; + + for (ii = 0; ii < num; ++ii) { + char identifier[16]; /* Should be large enough */ + + (void) sprintf(identifier, "XGKS %d", ++cgmo[ii]->picture_number); + mo_header(DELIMITER_CL, BEGPIC_ID); + mo_string(cgmo+ii, 1, identifier); + mo_flush(cgmo, num, 0); + } + + mo_mode(cgmo, num, CGMO_IN_PICTURE); + } + + + /* + * Write the current text alignment. + */ + static void + mo_textalign(cgmo, num) + mf_cgmo **cgmo; + int num; + { + while (num-- > 0) { + if ((cgmo[num]->isset & CGM_MASK_TEXTALIGN) != 0) { + float dummy = 0; + + /* + * Fix a silly bug in the SunGKS 3.0 CGM->PostScript translator + * that causes it to mishandle text when there are changes to the + * Text Alignment in a metacode input file. This patch forces a + * entry in the metacode file to set the text alignment to normal + * before changing it to something else. Thanks to Harry Edmond + * for the fix. + */ + if (cgmo[num]->textalign.hor != GTH_NORMAL + || cgmo[num]->textalign.ver != GTV_NORMAL) { + int normal = 0; + + mo_header(ATTRIBUTE_CL, TEXTALIGN_ID); + mo_enum(cgmo+num, 1, normal); + mo_enum(cgmo+num, 1, normal); + mo_real(cgmo+num, 1, dummy); + mo_real(cgmo+num, 1, dummy); + mo_flush(cgmo+num, 1, 0); + } + + mo_header(ATTRIBUTE_CL, TEXTALIGN_ID); + + mo_enum(cgmo+num, 1, cgmo[num]->textalign.hor); + mo_enum(cgmo+num, 1, cgmo[num]->textalign.ver); + + mo_real(cgmo+num, 1, dummy); + mo_real(cgmo+num, 1, dummy); + mo_flush(cgmo+num, 1, 0); + } + } + } + + + /* + * Write the current color table. + */ + static void + mo_colrtable(cgmo, num) + mf_cgmo **cgmo; + int num; + { + int ii; + + for (ii = 0; ii < num; ++ii) { + if ((cgmo[ii]->isset & CGM_MASK_COLRTABLE) != 0) { + Gintlist indices; + + if (ginqcolourindices(cgmo[ii]->ws->ws_id, &indices) == OK) { + int ncolors = indices.number; + int *idxp = indices.integers; + + for (; ncolors-- > 0; ++idxp) { + Gcobundl rep; + + if (ginqcolourrep(cgmo[ii]->ws->ws_id, *idxp, + GSET, &rep) == OK) + (void) CGMsetColRep((Metafile**)cgmo+ii, 1, *idxp, + &rep); + } + + GKS_FREE(indices.integers); + } + } + } + } + + + /* + * Write the current attribute elements. + */ + static void + mo_attributes(cgmo, num) + mf_cgmo **cgmo; + int num; + { + mo_lineindex(cgmo, num); + mo_linetype(cgmo, num); + mo_linewidth(cgmo, num); + mo_linecolr(cgmo, num); + mo_markerindex(cgmo, num); + mo_markertype(cgmo, num); + mo_markersize(cgmo, num); + mo_markercolr(cgmo, num); + mo_textindex(cgmo, num); + mo_textfontindex(cgmo, num); + mo_textprec(cgmo, num); + mo_charexpan(cgmo, num); + mo_charspace(cgmo, num); + mo_textcolr(cgmo, num); + mo_charheight(cgmo, num); + mo_charori(cgmo, num); + mo_textpath(cgmo, num); + mo_textalign(cgmo, num); + mo_fillindex(cgmo, num); + mo_intstyle(cgmo, num); + mo_fillcolr(cgmo, num); + mo_hatchindex(cgmo, num); + mo_patindex(cgmo, num); + mo_fillrefpt(cgmo, num); + mo_colrtable(cgmo, num); + /* + mo_pattable(cgmo, num); + */ + mo_asf(cgmo, num); + } + + + /* + * Write an item to output CGMs (not implemented yet). + */ + int + CGMwriteItem(mf, num, type, length, data) + /*ARGSUSED*/ + Metafile **mf; /* Metafile structure */ + int num; /* number of output Metfiles */ + Gint type; /* item type */ + Gint length; /* item length */ + Gchar *data; /* item data-record */ + { + return OK; + } + + + /* + * Open an output CGM. + */ + int + CGMmoOpen(mf) + Metafile *mf; + { + mf_cgmo *cgmo = &mf->cgm.mo; + static char me[] = "CGMmoOpen()"; + + if (CHAR_BIT != 8) { + (void) fprintf(stderr, + "%s: I can't work on platforms where CHAR_BIT != 8. Sorry.\n", + me); + return 1; + } + + cgmo->mode = CGMO_IN_METAFILE; + cgmo->picture_number = 0; + cgmo->isset = 0; + + MO_BEGMF(&cgmo, 1); /* BEGIN METAFILE */ + MO_MFVERSION(&cgmo, 1); /* METAFILE VERSION */ + MO_MFELEMLIST(&cgmo, 1); /* METAFILE ELEMENT LIST */ + mo_mfdesc(&cgmo, 1); /* METAFILE DESCRIPTION */ + mo_begpic(&cgmo, 1); /* BEGIN PICTURE */ + MO_BEGPICBODY(&cgmo, 1); /* BEGIN PICTURE BODY */ + + return OK; + } + + + /* + * Set the clear flag. + * + * According to Addendum E of the CGM standard, certain actions need only be + * performed if the view surface is non-empty and the GKS functions imply a + * dynamic change to the image. + */ + int + CGMclear(mf, num, flag) + Metafile **mf; + int num; + Gclrflag flag; + { + int ii; + + for (ii = 0; ii < num; ++ii) { + mf_cgmo *cgmo = &mf[ii]->cgm.mo; + + #if 0 + if (flag == GCONDITIONALLY && cgmo->ws->wsdus.dspsurf == GNOTEMPTY + #endif + if (flag == GCONDITIONALLY && cgmo->mode == CGMO_NOT_EMPTY + || flag == GALWAYS) { + + MO_ENDPIC(&cgmo, 1); /* END PICTURE */ + mo_begpic(&cgmo, 1); /* BEGIN PICTURE */ + mo_vdcext(&cgmo, 1); /* VDC EXTENT */ + mo_backcolr(&cgmo, 1); /* BACKGROUND COLOR */ + MO_BEGPICBODY(&cgmo, 1); /* BEGIN PICTURE BODY */ + mo_attributes(&cgmo, 1); /* attribute settings */ + mo_cliprect(&cgmo, 1); /* CLIP RECTANGLE */ + } + } + + return OK; + } + + + /* + * Redraw all segments in output CGMs. + * + * Since this is a dynamic action, we don't do anything unless the view + * surface is non-empty -- in which case we clear the view surface and then + * call the XGKS workstation-redraw function. + */ + int + CGMredrawAllSeg(mf, num) + Metafile **mf; + int num; + { + int ii; + extern void XgksDrawSegToWs PROTO((WS_STATE_PTR)); + + for (ii = 0; ii < num; ++ii) { + mf_cgmo *cgmo = &mf[ii]->cgm.mo; + + if (cgmo->mode == CGMO_NOT_EMPTY) { + CGMclear(mf+ii, 1, (Gclrflag)1); + XgksDrawSegToWs(mf[ii]->cgm.mo.ws); + } + } + + return OK; + } + + + /* + * Set the update flag in output CGMs. + * + * Since UPDATE has no graphical effect and doesn't affect Metafile contents, + * we do nothing. + */ + int + CGMupdate(mf, num, regenflag) + /*ARGSUSED*/ + Metafile **mf; + int num; + Gregen regenflag; + { + return OK; + } + + + /* + * Set the deferal state in output CGMs. + */ + int + CGMdefer(mf, num, defer_mode, regen_mode) + /*ARGSUSED*/ + Metafile **mf; + int num; + Gdefmode defer_mode; + Girgmode regen_mode; + { + return OK; + } + + + /* + * Write a message to output CGMs. + */ + int + CGMmessage(mf, num, string) + Metafile **mf; + int num; + char *string; + { + mf_cgmo **cgmo = (mf_cgmo**)mf; + int action = 0; /* 0 => no action should be taken as + * a result of the message */ + + mo_header(EXTERN_CL, MESSAGE_ID); + mo_enum(cgmo, num, action); + mo_string(cgmo, num, string); + mo_flush(cgmo, num, 0); + + return OK; + } + + + /* + * Write a graphic to an output CGM. + * + * This routine is suitable for POLYLINEs, POLYMARKERs, and FILLAREAs. + */ + int + CGMoutputGraphic(mf, num, code, num_pt, pos) + Metafile **mf; + int num; + int code; + Gint num_pt; + Gpoint *pos; + { + int id; + mf_cgmo **cgmo = (mf_cgmo**)mf; + + switch ((gksm_item_id)code) { + case GKSM_POLYLINE: id = LINE_ID; break; + case GKSM_POLYMARKER: id = MARKER_ID; break; + case GKSM_FILL_AREA: id = POLYGON_ID; break; + default: assert(0); + return 1; + } + + mo_header(PRIMITIVE_CL, id); + mo_points(cgmo, num, (char*)pos, num_pt); + mo_flush(cgmo, num, 0); + mo_mode(cgmo, num, CGMO_NOT_EMPTY); + + return OK; + } + + + /* + * Write text. + */ + int + CGMtext(mf, num, at, string) + Metafile **mf; + int num; + Gpoint *at; + Gchar *string; + { + int final = 1; /* 1 => final text */ + mf_cgmo **cgmo = (mf_cgmo**)mf; + + mo_header(PRIMITIVE_CL, TEXT_ID); + MO_POINT(cgmo, num, at); + mo_enum(cgmo, num, final); + mo_string(cgmo, num, string); + mo_flush(cgmo, num, 0); + mo_mode(cgmo, num, CGMO_NOT_EMPTY); + + return OK; + } + + + /* + * Write a cell array. + */ + int + CGMcellArray(mf, num, ll, ur, lr, foldx, colour, dim) + Metafile **mf; + int num; + Gpoint *ll, *ur, *lr; + Gint foldx, *colour; + Gipoint *dim; + { + int colrprec = size_cell()*8; + int cell_rep_mode = DEFAULT_CELL_REP_MODE; + Gint *stopp; + mf_cgmo **cgmo = (mf_cgmo**)mf; + + mo_header(PRIMITIVE_CL, CELLARRAY_ID); + MO_POINT(cgmo, num, ll); + MO_POINT(cgmo, num, ur); + MO_POINT(cgmo, num, lr); + mo_int(cgmo, num, dim->x); + mo_int(cgmo, num, dim->y); + mo_int(cgmo, num, colrprec); + mo_enum(cgmo, num, cell_rep_mode); + + for (stopp = colour + foldx*dim->y; colour < stopp; colour += foldx) + mo_cellrow(cgmo, num, colour, dim->x); + + mo_mode(cgmo, num, CGMO_NOT_EMPTY); + + return OK; + } + + + /* + * Set the size of an individual graphics primitive attribute (i.e one having + * a single real value). + * + * This routine is suitable for POLYLINEs, POLYMARKERs, CHARACTER EXPANSIONs, + * and CHARACTER SPACEs. + */ + int + CGMsetGraphSize(mf, num, code, size) + Metafile **mf; + int num; + int code; + double size; + { + mf_cgmo **cgmo = (mf_cgmo**)mf; + + switch ((gksm_item_id)code) { + + # undef SET_ATTR + # define SET_ATTR(name, mask, func) GKS_STMT( \ + int ii; \ + for (ii = 0; ii < num; ++ii) { \ + cgmo[ii]->name = size; \ + cgmo[ii]->isset |= mask; \ + } \ + func(cgmo, num); \ + ) + + case GKSM_LINEWIDTH_SCALE_FACTOR: + SET_ATTR(linewidth, CGM_MASK_LINEWIDTH, mo_linewidth); + break; + case GKSM_MARKER_SIZE_SCALE_FACTOR: + SET_ATTR(markersize, CGM_MASK_MARKERSIZE, mo_markersize); + break; + case GKSM_CHARACTER_EXPANSION_FACTOR: + SET_ATTR(charexpan, CGM_MASK_CHAREXPAN, mo_charexpan); + break; + case GKSM_CHARACTER_SPACING: + SET_ATTR(charspace, CGM_MASK_CHARSPACE, mo_charspace); + break; + default: assert(0); + return 1; + } + + return OK; + } + + + /* + * Close a segment. + * + * Since we're not implementing CGM Adendum 1 functionality yet, this is + * ignored. + */ + int + CGMcloseSeg(mf, num) + /*ARGSUSED*/ + Metafile **mf; + int num; + { + return OK; + } + + + /* + * Set a graphics primitive index or enumeration attribute (i.e. set an + * attribute whose value is a single integer). + */ + int + CGMsetGraphAttr(mf, num, code, attr) + Metafile **mf; + int num; + int code; + Gint attr; + { + mf_cgmo **cgmo = (mf_cgmo**)mf; + + switch ((gksm_item_id)code) { + + # undef SET_ATTR + # define SET_ATTR(name, mask, func) GKS_STMT( \ + int ii; \ + for (ii = 0; ii < num; ++ii) { \ + cgmo[ii]->name = attr; \ + cgmo[ii]->isset |= mask; \ + } \ + func(cgmo, num); \ + ) + + case GKSM_POLYLINE_INDEX: + SET_ATTR(lineindex, CGM_MASK_LINEINDEX, mo_lineindex); + break; + case GKSM_LINETYPE: + SET_ATTR(linetype, CGM_MASK_LINETYPE, mo_linetype); + break; + case GKSM_POLYLINE_COLOUR_INDEX: + SET_ATTR(linecolr.index, CGM_MASK_LINECOLR, mo_linecolr); + break; + case GKSM_POLYMARKER_INDEX: + SET_ATTR(markerindex, CGM_MASK_MARKERINDEX, mo_markerindex); + break; + case GKSM_MARKER_TYPE: + SET_ATTR(markertype, CGM_MASK_MARKERTYPE, mo_markertype); + break; + case GKSM_POLYMARKER_COLOUR_INDEX: + SET_ATTR(markercolr.index, CGM_MASK_MARKERCOLR, mo_markercolr); + break; + case GKSM_TEXT_INDEX: + SET_ATTR(textindex, CGM_MASK_TEXTINDEX, mo_textindex); + break; + case GKSM_TEXT_COLOUR_INDEX: + SET_ATTR(textcolr.index, CGM_MASK_TEXTCOLR, mo_textcolr); + break; + case GKSM_FILL_AREA_INDEX: + SET_ATTR(fillindex, CGM_MASK_FILLINDEX, mo_fillindex); + break; + case GKSM_FILL_AREA_STYLE_INDEX: + if (attr >= 0) + SET_ATTR(patindex, CGM_MASK_PATINDEX, mo_patindex); + SET_ATTR(hatchindex, CGM_MASK_HATCHINDEX, mo_hatchindex); + break; + case GKSM_FILL_AREA_COLOUR_INDEX: + SET_ATTR(fillcolr.index, CGM_MASK_FILLCOLR, mo_fillcolr); + break; + case GKSM_PICK_IDENTIFIER: + case GKSM_CREATE_SEGMENT: + case GKSM_DELETE_SEGMENT: + return OK; + default: assert(0); + return 1; + } + + return OK; + } + + + /* + * Set the text font and precision. + */ + int + CGMsetTextFP(mf, num, txfp) + Metafile **mf; + int num; + Gtxfp *txfp; + { + int i; + + for (i = 0; i < num; ++i) { + mf[i]->cgm.mo.txfp = *txfp; + mf[i]->cgm.mo.isset |= CGM_MASK_TEXTFONTINDEX | CGM_MASK_TEXTPREC; + } + + mo_textfontindex((mf_cgmo**)mf, num); + mo_textprec((mf_cgmo**)mf, num); + + return OK; + } + + + /* + * Set the character up- and base-vectors. + * + * This function sets the CGM element CHARACTER ORIENTATION. + */ + int + CGMsetCharUp(mf, num, up, base) + Metafile **mf; + int num; + Gpoint *up, + *base; + { + int ii; + Gpoint ndc_up, + ndc_base; + + if (up == NULL) { + XgksComputeVec(&ndc_up, &ndc_base); + } else { + ndc_up = *up; + ndc_base = *base; + } + + for (ii = 0; ii < num; ++ii) { + mf[ii]->cgm.mo.charheight = HYPOT(ndc_up.x, ndc_up.y); + mf[ii]->cgm.mo.charori[0] = ndc_up.x; + mf[ii]->cgm.mo.charori[1] = ndc_up.y; + mf[ii]->cgm.mo.charori[2] = ndc_base.x; + mf[ii]->cgm.mo.charori[3] = ndc_base.y; + mf[ii]->cgm.mo.isset |= CGM_MASK_CHARORI | CGM_MASK_CHARHEIGHT; + } + + mo_charori((mf_cgmo**)mf, num); + mo_charheight((mf_cgmo**)mf, num); + + return OK; + } + + + /* + * Set the text-path. + */ + int + CGMsetTextPath(mf, num, path) + Metafile **mf; + int num; + Gtxpath path; + { + int i; + + for (i = 0; i < num; ++i) { + mf[i]->cgm.mo.textpath = path; + mf[i]->cgm.mo.isset |= CGM_MASK_TEXTPATH; + } + + mo_textpath((mf_cgmo**)mf, num); + + return OK; + } + + + /* + * Set the text alignment. + */ + int + CGMsetTextAlign(mf, num, align) + Metafile **mf; + int num; + Gtxalign *align; + { + int ii; + + for (ii = 0; ii < num; ++ii) { + mf[ii]->cgm.mo.textalign = *align; + mf[ii]->cgm.mo.isset |= CGM_MASK_TEXTALIGN; + } + + mo_textalign((mf_cgmo**)mf, num); + + return OK; + } + + + /* + * Set the interior fill-style (hollow, solid, etc.). + */ + int + CGMsetFillStyle(mf, num, style) + Metafile **mf; + int num; + Gflinter style; + { + int ii; + + for (ii = 0; ii < num; ++ii) { + mf[ii]->cgm.mo.intstyle = style; + mf[ii]->cgm.mo.isset |= CGM_MASK_INTSTYLE; + } + + mo_intstyle((mf_cgmo**)mf, num); + + return OK; + } + + + /* + * Set the pattern size. + */ + int + CGMsetPatSize(mf, num) + Metafile **mf; + int num; + { + mf_cgmo **cgmo = (mf_cgmo**)mf; + + mo_header(ATTRIBUTE_CL, PATSIZE_ID); + MO_VDC(cgmo, num, xgks_state.gks_ptattr.heightvec.x); + MO_VDC(cgmo, num, xgks_state.gks_ptattr.heightvec.y); + MO_VDC(cgmo, num, xgks_state.gks_ptattr.widthvec.x); + MO_VDC(cgmo, num, xgks_state.gks_ptattr.widthvec.y); + mo_flush(cgmo, num, 0); + + return OK; + } + + + /* + * Set the pattern reference-point. + */ + int + CGMsetPatRefpt(mf, num) + Metafile **mf; + int num; + { + mf_cgmo **cgmo = (mf_cgmo**)mf; + + mo_header(ATTRIBUTE_CL, FILLREFPT_ID); + MO_POINT(cgmo, num, &xgks_state.gks_ptattr.ptp); + mo_flush(cgmo, num, 0); + + return OK; + } + + + + /* + * Set the ASFs. + * + * Only 15 ASFs are written: the 3 edge ASFs are omitted. Both the hatch + * and pattern ASFs are set from the GKS fill-style ASF. + */ + int + CGMsetAsf(mf, num) + Metafile **mf; + int num; + { + int iasf = 0; + int bundled = 1, + individual = 0; + mf_cgmo **cgmo = (mf_cgmo**)mf; + + # undef PUT_ASF + # define PUT_ASF(member) GKS_STMT( \ + mo_enum(cgmo, num, iasf); \ + ++iasf; \ + mo_enum(cgmo, num, \ + xgks_state.member == GBUNDLED \ + ? bundled \ + : individual); \ + ) + + mo_header(ATTRIBUTE_CL, ASF_ID); + + PUT_ASF(gks_lnattr.type); /* line type */ + PUT_ASF(gks_lnattr.width); /* line width */ + PUT_ASF(gks_lnattr.colour); /* line color */ + + PUT_ASF(gks_mkattr.type); /* marker type */ + PUT_ASF(gks_mkattr.size); /* marker size */ + PUT_ASF(gks_mkattr.colour); /* marker color */ + + PUT_ASF(gks_txattr.fp); /* text font index */ + PUT_ASF(gks_txattr.fp); /* text precision */ + PUT_ASF(gks_txattr.tx_exp); /* character expansion factor */ + PUT_ASF(gks_txattr.space); /* character spacing */ + PUT_ASF(gks_txattr.colour); /* text color */ + + PUT_ASF(gks_flattr.inter); /* interior fill style */ + PUT_ASF(gks_flattr.colour); /* interior fill color */ + PUT_ASF(gks_flattr.style); /* hatch index */ + + /* + * The DomainOS compiler warns about an unused value being assigned + * to variable "iasf" in the following line. This warning may be + * safely ignored. + */ + PUT_ASF(gks_flattr.style); /* pattern index */ + + mo_flush(cgmo, num, 0); + + return OK; + } + + + /* + * Set the line or marker representation. + * + * Although CGM Addendum 1 specifies how to modify the bundle table, we haven't + * implement this capability just yet. + */ + int + CGMsetLineMarkRep(mf, num, code, idx, type, size, colour) + /*ARGSUSED*/ + Metafile **mf; + int num; + int code; + Gint idx, type, colour; + double size; + { + return OK; + } + + + /* + * Set the text representation. + * + * Not implemented yet. + */ + int + CGMsetTextRep(mf, num, idx, rep) + /*ARGSUSED*/ + Metafile **mf; + int num; + Gint idx; + Gtxbundl *rep; + { + return OK; + } + + + /* + * Set the fill representation. + * + * Not implemented yet. + */ + int + CGMsetFillRep(mf, num, idx, rep) + /*ARGSUSED*/ + Metafile **mf; + int num; + Gint idx; + Gflbundl *rep; + { + return OK; + } + + + /* + * Set a pattern representation. + * + * Not implemented yet. + */ + int + CGMsetPatRep(mf, num, idx, rep) + /*ARGSUSED*/ + Metafile **mf; + int num; + Gint idx; + Gptbundl *rep; + { + return OK; + } + + + /* + * Set the representation of a colour. + */ + int + CGMsetColRep(mf, num, idx, rep) + Metafile **mf; + int num; + Gint idx; /* Origin-0 color index */ + /*ARGSUSED*/ + Gcobundl *rep; + { + int ii; + mf_cgmo **cgmo = (mf_cgmo**)mf; + + for (ii = 0; ii < num; ++ii) { + if (idx == 0) + cgmo[ii]->isset |= CGM_MASK_BACKCOLR; + cgmo[ii]->isset |= CGM_MASK_COLRTABLE; + + mo_header(ATTRIBUTE_CL, COLRTABLE_ID); + mo_index(cgmo+ii, 1, idx); + mo_direct_color(cgmo+ii, 1, rep); + mo_flush(cgmo+ii, 1, 0); + } + + return OK; + } + + + /* + * Set the clip rectangle. + * + * According to Addendum E of the CGM standard, a CLIP RECTANGLE element is + * written to the metafile with value (0.,0.,1.,1.) if the `clipping indicator' + * entry in the GKS state list is `noclip', or with the value of the `clipping + * rectangle' in the GKS state list if the `clipping indicator' entry in the + * GKS state list is `clip'. + */ + int + CGMsetClip(mf, num, rect) + Metafile **mf; + int num; + Glimit *rect; + { + Gcliprec clipping; + + if (ginqclip(&clipping) == OK) { + mf_cgmo **cgmo = (mf_cgmo**)mf; + Gpoint lower_left, + upper_right; + static Glimit no_clipping = {0., 1., 0., 1.}; + + if (clipping.ind == GNOCLIP) { + rect = &no_clipping; + } else if (rect == NULL) { + rect = &clipping.rec; + } + + lower_left.x = rect->xmin; + lower_left.y = rect->ymin; + upper_right.x = rect->xmax; + upper_right.y = rect->ymax; + + mo_header(CONTROL_CL, CLIPRECT_ID); + MO_POINT(cgmo, num, &lower_left); + MO_POINT(cgmo, num, &upper_right); + mo_flush(cgmo, num, 0); + } + + return OK; + } + + + /* + * Set either the Workstation window or the Workstation viewport. + * + * According to Addendum E of the CGM standard, certain actions need only be + * performed if the view surface is non-empty or the GKS functions imply a + * dynamic change to the image. Consequently, we check whether the view + * surface is empty or not, and start a new picture if it's non-empty. + */ + int + CGMsetLimit(mf, num, code, rect) + Metafile **mf; + int num; + int code; + Glimit *rect; + { + int ii; + + for (ii = 0; ii < num; ++ii) { + mf_cgmo *cgmo = ((mf_cgmo**)mf)[ii]; + + if ((gksm_item_id)code == GKSM_WORKSTATION_WINDOW) + cgmo->wswindow = *rect; + + if (cgmo->mode == CGMO_NOT_EMPTY) { + MO_ENDPIC(&cgmo, 1); + mo_begpic(&cgmo, 1); + mo_vdcext(&cgmo, 1); + mo_backcolr(&cgmo, 1); + MO_BEGPICBODY(&cgmo, 1); + mo_attributes(&cgmo, 1); + mo_cliprect(&cgmo, 1); + } else { + mo_vdcext(&cgmo, 1); + } + } + + return OK; + } + + + /* + * Rename a segment. + * + * Not implemented yet. + */ + int + CGMrenameSeg(mf, num, old, new) + /*ARGSUSED*/ + Metafile **mf; + int num; + Gint old, new; + { + return OK; + } + + + /* + * Set a segment transformation. + * + * Not implemented yet. + */ + int + CGMsetSegTran(mf, num, name, matrix) + /*ARGSUSED*/ + Metafile **mf; + int num; + Gint name; + Gfloat matrix[2][3]; + { + return OK; + } + + + /* + * Set a segment (non-transformation) attribute. + * + * Not implemented yet. + */ + int + CGMsetSegAttr(mf, num, name, code, attr) + /*ARGSUSED*/ + Metafile **mf; + int num; + Gint name; + int code; + Gint attr; + { + return OK; + } + + + /* + * Set the segment visibility in an output Metafile. + * + * Not implemented yet. + */ + int + CGMsetSegVis(mf, num, name, vis) + /*ARGSUSED*/ + Metafile **mf; + int num; + Gint name; + Gsegvis vis; + { + return OK; + } + + + /* + * Set segment highlighting. + * + * Not implemented yet. + */ + int + CGMsetSegHilight(mf, num, name, hilight) + /*ARGSUSED*/ + Metafile **mf; + int num; + Gint name; + Gseghi hilight; + { + return OK; + } + + + /* + * Set segment priority. + * + * Not implemented yet. + */ + int + CGMsetSegPri(mf, num, name, pri) + /*ARGSUSED*/ + Metafile **mf; + int num; + Gint name; + double pri; + { + return OK; + } + + + /* + * Set segment detectability. + * + * Not implemented yet. + */ + int + CGMsetSegDetect(mf, num, name, det) + /*ARGSUSED*/ + Metafile **mf; + int num; + Gint name; + Gsegdet det; + { + return OK; + } + + + /* + * Close an output CGM. + */ + int + CGMmoClose(mf) + Metafile *mf; + { + mf_cgmo *cgmo = &mf->cgm.mo; + + MO_ENDPIC(&cgmo, 1); + MO_ENDMF(&cgmo, 1); + + return OK; + } =================================================================== RCS file: lib/src/cgm/RCS/Makefile,v retrieving revision 1.3 diff -c -r1.3 lib/src/cgm/Makefile *** /tmp/RCSAa11382 Wed Oct 16 10:54:59 1991 --- lib/src/cgm/Makefile Wed Oct 16 10:54:00 1991 *************** *** 1,6 **** # Makefile for the Computer Graphics Metafile (CGM) backend to XGKS # ! # $Id: 4.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # Anticipated, changeable macros (others might not work): COPTS = -O --- 1,6 ---- # Makefile for the Computer Graphics Metafile (CGM) backend to XGKS # ! # $Id: 4.patch,v 2.5.4.1 1993/03/10 19:43:47 steve Exp $ # Anticipated, changeable macros (others might not work): COPTS = -O *************** *** 43,57 **** CFLAGS = $(CPPOPTS) $(COPTS) SHELL = /bin/sh ! CSRCS = cgm.c ! LNS = cgm.ln ! HSRCS = cgm.h SOURCES = $(CSRCS) $(HSRCS) Makefile ! OBJECTS = cgm.o .PHONY: all install clean --- 43,57 ---- CFLAGS = $(CPPOPTS) $(COPTS) SHELL = /bin/sh ! CSRCS = cgmi.c cgmo.c ! LNS = cgmi.ln cgmo.ln ! HSRCS = cgm.h cgm_implem.h SOURCES = $(CSRCS) $(HSRCS) Makefile ! OBJECTS = cgmi.o cgmo.o .PHONY: all install clean *************** *** 93,108 **** .DEFAULT: co $@ ! cgm.ln: cgm.h ! cgm.o: cgm.c ! cgm.o: ../gks_implem.h ! cgm.o: ../xgks.h ! cgm.o: ../gks_defines.h ! cgm.o: ../primitive.h ! cgm.o: ../input.h ! cgm.o: ../wdt.h ! cgm.o: ../wslist.h ! cgm.o: ../gkslist.h ! cgm.o: ../gks_errors.h ! cgm.o: ../event.h ! cgm.o: cgm.h --- 93,123 ---- .DEFAULT: co $@ ! cgmi.ln: cgm.h ! cgmi.o: cgmi.c ! cgmi.o: ../gks_implem.h ! cgmi.o: ../xgks.h ! cgmi.o: ../gks_defines.h ! cgmi.o: ../primitive.h ! cgmi.o: ../input.h ! cgmi.o: ../wdt.h ! cgmi.o: ../wslist.h ! cgmi.o: ../gkslist.h ! cgmi.o: ../gks_errors.h ! cgmi.o: ../event.h ! cgmi.o: cgm.h ! cgmi.o: cgm_implem.h ! cgmo.ln: cgm.h ! cgmo.o: cgmo.c ! cgmo.o: ../gks_implem.h ! cgmo.o: ../xgks.h ! cgmo.o: ../gks_defines.h ! cgmo.o: ../primitive.h ! cgmo.o: ../input.h ! cgmo.o: ../wdt.h ! cgmo.o: ../wslist.h ! cgmo.o: ../gkslist.h ! cgmo.o: ../gks_errors.h ! cgmo.o: ../event.h ! cgmo.o: cgm.h ! cgmo.o: cgm_implem.h xgks-2.6.1+dfsg.2/src/Makefile.in0000644000175000017500000000176311413611016017542 0ustar amckinstryamckinstry# Root Makefile for the XGKS package. # # $Id: Makefile.in,v 2.8 2000/08/07 22:23:56 emmerson Exp $ PACKAGE = xgks MAJOR_NO = @MAJOR_NO@ MINOR_NO = @MINOR_NO@ SUBDIRS = port lib fontdb progs doc SUBDIR_TARGETS = port/all port/install port/clean port/distclean \ lib/all lib/install lib/clean lib/distclean \ fontdb/all fontdb/install fontdb/clean fontdb/distclean \ progs/all progs/test progs/install progs/clean \ progs/distclean \ doc/all doc/install doc/clean doc/distclean MANIFEST = COPYRIGHT CUSTOMIZE HISTORY INSTALL MANIFEST \ Makefile.in ORIGIN README VERSION configure \ configure.in all: port/all port/install lib/all fontdb/all progs/all doc/all test: progs/test install: lib/install fontdb/install progs/install doc/install clean: port/clean \ lib/clean fontdb/clean progs/clean doc/clean rm -f xgks*.tar.Z distclean: port/distclean \ lib/distclean fontdb/distclean progs/distclean doc/distclean rm -f xgks*.tar.Z include port/master.mk xgks-2.6.1+dfsg.2/src/port/0000755000175000017500000000000011413611016016452 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/port/master.mk.in0000644000175000017500000005037111413611016020711 0ustar amckinstryamckinstry# This is the master makefile. It contains general rules. # # $Id: master.mk.in,v 1.1 2000/08/07 23:15:03 emmerson Exp $ .SUFFIXES: .SUFFIXES: .so .o .S .ln .i .c .fc .f .F .cc .l .y .cdl .nc .sh ############################################################################ # General Macros: ############################################################################ prefix = @prefix@ exec_prefix = @exec_prefix@ AR = @AR@ CC = @CC@ CPP = @CPP@ CC_MAKEDEPEND = @CC_MAKEDEPEND@ CXX = @CXX@ FC = @FC@ LINT = lint LINTFLAGS = -u MAKEINFO = @MAKEINFO@ NCDUMP = @NCDUMP@ NCGEN = @NCGEN@ NEQN = @NEQN@ OS = @OPSYS@ SHELL = /bin/sh TBL = @TBL@ WHICH = @WHICH@ ############################################################################ # Recursive make(1)s in Subdirectories: ############################################################################ subdir_dummy_target $(SUBDIR_TARGETS): @echo "" @dir=`echo $@ | sed 's,/.*,,'`; \ target=`echo $@ | sed "s,$$dir/,,"`; \ cd $$dir && \ echo "making \`$$target' in directory `pwd`" && \ echo "" && \ $(MAKE) $(MFLAGS) \ prefix=$(prefix) exec_prefix=$(exec_prefix) \ $$target || exit 1 @echo "" @echo "returning to directory `pwd`" @echo "" subdirs/all \ subdirs/test \ subdirs/install \ subdirs/clean \ subdirs/distclean: FORCE @case "$(SUBDIRS)" in \ '') ;; \ *) filename=`echo $@ | sed 's:.*/::'`; \ targets=`echo $(SUBDIRS) | tr ' ' '\012' | \ sed 's:$$:/'$$filename':'`; \ $(MAKE) $$targets;; \ esac ############################################################################ # Compilation: ############################################################################ FORTC = @FORTC@ # Compile C++ code. .cc.o: $(CXX) -c $(CXXFLAGS) $(CXXCPPFLAGS) $< # Compile FORTRAN code. # .f.o: $(FC) -c $(FFLAGS) $< .F.o: ln -s $< $*.c && \ ($(CPP) -DUD_FORTRAN_SOURCE $(CPPFLAGS) $*.c >$*.i && \ sed '/^# *[0-9]/d' $*.i > $*.f) || \ (rm -f $*.f $*.i $*.c ; exit 1) && \ rm $*.i $(FC) -c $(FFLAGS) $*.f && rm $*.f $*.c .F.f: ln -s $< $*.c && \ ($(CPP) -DUD_FORTRAN_SOURCE $(CPPFLAGS) $*.c >$*.i && \ grep -v '^#' $*.i > $@) || \ (rm -f $@ $*.i $*.c; exit 1) && \ rm $*.i $*.c .F.i: ln -s $< $*.c && \ $(CPP) -DUD_FORTRAN_SOURCE $(CPPFLAGS) $*.c >$*.i # Generate FORTRAN-callable C code. # .fc.o: $(FORTC) -O $(OS) $< > $*.c \ || ( rm -f $*.c; exit 1) $(CC) -c $(CFLAGS) $(CPPFLAGS) $*.c .fc.c: $(FORTC) -O $(OS) $< > $@ \ || (rm -f $*.c; exit 1) # Compile assembler code. # .S.o: $(CC) -c $(CFLAGS) $(CPPFLAGS) $< # Compile C code. # .c.o: $(CC) -c $(CFLAGS) $(CPPFLAGS) $< # Compile lex(1) code. This rule is here to ensure the use of CPPFLAGS. # .l.o: rm -f $*.c $(LEX) -t $< > $*.c $(CC) -c $(CFLAGS) $(CPPFLAGS) $*.c rm $*.c # C preprocess. # NB: # 1. Line numbering information is kept. # .c.i: $(CPP) $(CPPFLAGS) $< > $@ .cdl.nc: $(NCGEN) -o $*.nc $*.cdl .sh: cp $< $@; chmod +x $@ ############################################################################ # Lint: ############################################################################ .c.ln: $(LINT) -c $(LINTFLAGS) $(CPPFLAGS) $< ############################################################################ # Libraries: ############################################################################ RANLIB = @RANLIB@ LIBDIR = $(exec_prefix)/lib LIB_A = lib$(LIBRARY).a LIBFILE = dummy-libfile # to silence GNU make(1) library: $(LIB_A) remote_library: $(REMOTE_LIBRARY) # The following rule is forced because the library can be created by a # makefile in another directory prior to the execution of the following rule. # $(LIB_A): $(LIBOBJS) $(LIBOBJS2) FORCE $(AR) rcuv $@ $(LIBOBJS) case "$(LIBOBJS2)" in \ '') ;; \ *) $(AR) rucv $@ $(LIBOBJS2);; \ esac $(RANLIB) $@ # The following rule is for those makefiles needing to install object # modules in a library in another directory. They need only define # REMOTE_LIBRARY and LIBOBJS. The rule is forced for the same reason as the # $(LIB_A) rule. # lib_dummy $(REMOTE_LIBRARY): $(LIBOBJS) FORCE $(AR) rcuv $@ $(LIBOBJS) $(RANLIB) $@ installed_libfiles: FORCE @if [ -n "$(LIBFILES)" ]; then \ libfiles="$(LIBFILES)"; \ for libfile in $$libfiles; do \ $(MAKE) $(MFLAGS) \ LIBDIR=$(LIBDIR) LIBFILE=$$libfile \ installed_libfile || exit 1; \ done; \ else \ :; \ fi installed_library: FORCE @$(MAKE) $(MFLAGS) \ LIBDIR=$(LIBDIR) LIBFILE=$(LIB_A) \ installed_libfile # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_libfile: $(LIBDIR)/$(LIBFILE) $(LIBDIR)/dummy.a $(LIBDIR)/$(LIBFILE): $(LIBDIR) $(LIBFILE) cp $(LIBFILE) $@ dummy_libdir $(LIBDIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ LIB_SO = lib$(LIBRARY).so.$(MAJOR_NO).$(MINOR_NO) LIB_SA = lib$(LIBRARY).sa.$(MAJOR_NO).$(MINOR_NO) #library: FORCE # @so_objs=`echo $(LIBOBJS) | sed 's/\.o/.so/g'`; \ # if [ -z "$$so_objs" ]; then \ # :; \ # else \ # $(MAKE) $(MFLAGS) $(LIB_SO) \ # SO_OBJS="$$so_objs"; \ # fi # @if [ -z "$(SA_OBJS)" ]; then \ # :; \ # else \ # $(MAKE) $(MFLAGS) $(LIB_SA); \ # fi $(LIB_SO): $(SO_OBJS) ld -assert pure-text $(SO_OBJS) -o $@ $(LIB_SA): $(SA_OBJS) FORCE $(AR) rcuv $@ $(SA_OBJS) .fc.so: $(FORTC) -O $(OS) $< > $*.c \ || (rm -f $*.c; exit 1) $(CC) -c -o $$$$.o -pic $(CFLAGS) $(CPPFLAGS) $*.c \ || (rm -f $$$$.o; exit 1) mv $$$$.o $@ .c.so: $(CC) -c -o $$$$.o -pic $(CFLAGS) $(CPPFLAGS) $< \ || (rm -f $$$$.o; exit 1) mv $$$$.o $@ #installed_library: $(LIBDIR)/$(LIB_SO) # @if [ -z "$(SA_OBJS)" ]; then \ # :; \ # else \ # $(MAKE) $(MFLAGS) $(LIBDIR)/$(LIB_SA); \ # fi $(LIBDIR)/dummy.so $(LIBDIR)/$(LIB_SO): $(LIBDIR) $(LIB_SO) cp $(LIB_SO) $(LIBDIR)/$(LIB_SO) $(LIBDIR)/dummy.sa $(LIBDIR)/$(LIB_SA): $(LIBDIR) $(LIB_SA) cp $(LIB_SA) $(LIBDIR)/$(LIB_SA) ############################################################################ # Programs: ############################################################################ BINDIR = $(exec_prefix)/bin BINFILE = dummy-binfile programs: $(PROGRAMS) program: @if [ -z "$(PROGRAM)" ]; then \ : true; \ else \ $(MAKE) $(MFLAGS) $(PROGRAM); \ fi dummy_prog $(PROGRAM): $(OBJS) @if [ -r $@.f -o -r $@.F ]; then \ ld='$(FC) -o $@ $(FFLAGS)'; \ elif [ -r $@.cc -o -r $@.C ]; then \ ld='$(CXX) -o $@ $(CXXFLAGS)'; \ else \ ld='$(CC) -o $@ $(CFLAGS)'; \ fi; \ cmd="$$ld $(LDFLAGS) $(OBJS) $(LIBS)"; \ echo $$cmd; \ $$cmd \ || (rm -f $@; exit 1) installed_programs: FORCE @$(MAKE) $(MFLAGS) installed_binfiles \ BINDIR=$(BINDIR) BINFILES="$(PROGRAMS)" installed_binfiles: FORCE @if [ -n "$(BINFILES)" ]; then \ binfiles="$(BINFILES)"; \ for binfile in $$binfiles; do \ $(MAKE) $(MFLAGS) \ BINDIR=$(BINDIR) BINFILE=$$binfile \ installed_binfile || exit 1; \ done; \ else \ :; \ fi installed_program: FORCE @$(MAKE) $(MFLAGS) \ BINDIR=$(BINDIR) BINFILE=$(PROGRAM) \ installed_binfile # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_binfile: $(BINDIR)/$(BINFILE) $(BINDIR)/dummy $(BINDIR)/$(BINFILE): $(BINDIR) $(BINFILE) cp $(BINFILE) $@ dummy_bindir $(BINDIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ $(PROGRAM).pure: $(OBJS) purify -best-effort $(PURIFYFLAGS) $(CC) -o $@ \ $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) pure: purify purify: $(PROGRAM).pure FORCE $(MAKE) $(MFLAGS) PROGRAM=$(PROGRAM).pure test.pure.out ############################################################################ # Header files: ############################################################################ INCDIR = $(prefix)/include HEADER = dummy-header # to silence GNU make(1) installed_headers: FORCE @if [ -n "$(HEADERS)" ]; then \ headers="$(HEADERS)"; \ for header in $$headers; do \ $(MAKE) $(MFLAGS) \ INCDIR=$(INCDIR) HEADER=$$header \ installed_header || exit 1; \ done; \ else \ :; \ fi # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_header: $(INCDIR)/$(HEADER) $(INCDIR)/dummy.h $(INCDIR)/$(HEADER): $(INCDIR) $(HEADER) cp $(HEADER) $@ dummy_incdir $(INCDIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ ############################################################################ # `etc/' files: ############################################################################ ETCDIR = $(prefix)/etc ETCFILE = dummy-etcfile # to silence GNU make(1) installed_etcfiles: @if [ -n "$(ETCFILES)" ]; then \ etcfiles="$(ETCFILES)"; \ for etcfile in $$etcfiles; do \ $(MAKE) $(MFLAGS) \ ETCDIR=$(ETCDIR) ETCFILE=$$etcfile \ installed_etcfile || exit 1; \ done; \ else \ :; \ fi # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_etcfile: $(ETCDIR)/$(ETCFILE) $(ETCDIR)/dummy $(ETCDIR)/$(ETCFILE): $(ETCDIR) $(ETCFILE) cp $(ETCFILE) $@ dummy_etcdir $(ETCDIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ ############################################################################ # Manual Pages: ############################################################################ MANDIR = $(prefix)/man MANUAL = dummy-manual # to slience GNU make WHATIS = @WHATIS@ # The following macro should be empty on systems that don't # allow users to create their own manual-page indexes. MAKEWHATIS_CMD = @MAKEWHATIS_CMD@ installed_manuals: FORCE @if [ -n "$(MANUALS)" ]; then \ manuals="$(MANUALS)"; \ for manual in $$manuals; do \ extension=`echo $$manual | sed 's/[^.]*\.//'`; \ chapter=`echo $$extension | sed 's/\(.\).*/\1/'`; \ subchapter=`echo $$extension | sed 's/.//'`; \ mandir=$(MANDIR)/man$$chapter; \ $(MAKE) $(MFLAGS) \ MANDIR=$$mandir MANUAL=$$manual \ installed_manual || exit 1; \ done; \ else \ :; \ fi # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_manual: $(MANDIR)/$(MANUAL) # The first sed(1) editing command in the following replaces the expanded # RCS keyword `$Date ...' in the `.TH' macro line with something more # appropriate to a manual page. # # We don't preprocess the manual page with tbl(1) and neqn(1) on OSF1 # IRIX, and HP-UX systems because their man(1) always does that. # # NB: Manual pages like `man3/udunits.3f' cause the subdirectory man3f/ # to be created as a symbolic link to man3/. This accomodates # operating-systems like SunOS 5.4 which require files like *.3f to be in # their own man3f/ subdirectory. # $(MANDIR)/dummy.man $(MANDIR)/$(MANUAL): $(MANDIR) $(MANUAL) case `uname -s` in \ OSF1*|IRIX*|HP-UX) \ sed \ -e '/^\.TH/s/$$D\ate: \([0-9]*\)\/\([0-9]*\)\/\([0-9]*\).*\$$/\1-\2-\3/'\ $(MANUAL) > $@;; \ *) \ sed \ -e '/^\.TH/s/$$D\ate: \([0-9]*\)\/\([0-9]*\)\/\([0-9]*\).*\$$/\1-\2-\3/'\ $(MANUAL) | $(TBL) | $(NEQN) > $@;; \ esac extension=`echo $(MANUAL) | sed 's/[^.]*\.//'`; \ subchapter=`echo $$extension | sed 's/.//'`; \ case "$$subchapter" in \ '') ;; \ *) chapter=`echo $$extension | sed 's/\(.\).*/\1/'`; \ if test -d $(MANDIR)$$subchapter; then \ : true; \ else \ mkdir $(MANDIR)$$subchapter; \ fi; \ rm -f $(MANDIR)$$subchapter/$(MANUAL); \ ln -s ../`basename $(MANDIR)`/$(MANUAL) \ $(MANDIR)$$subchapter/$(MANUAL); \ ;; \ esac dummy_mandir $(MANDIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ whatis: $(MANDIR)/$(WHATIS) $(MANDIR)/$(WHATIS): $(MANDIR) $(MAKEWHATIS_CMD) ############################################################################ # Documents: ############################################################################ DOCDIR = $(prefix)/doc DOCUMENT = dummy-document # to silence GNU make(1) installed_documents: FORCE case "$(DOCUMENTS)" in \ '') : true \ ;; \ *) documents="$(DOCUMENTS)"; \ for document in $$documents; do \ $(MAKE) $(MFLAGS) \ DOCUMENT=$$document installed_document || exit 1; \ done \ ;; \ esac # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_document: $(DOCDIR)/$(DOCUMENT) $(DOCDIR)/dummy.doc $(DOCDIR)/$(DOCUMENT): $(DOCDIR) $(DOCUMENT) cp $(DOCUMENT) $(DOCDIR) dummy_docdir $(DOCDIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ ############################################################################ # TeX-Info Pages: ############################################################################ INFODIR = $(prefix)/info INFO = dummy-info # to silence GNU make(1) installed_infos: FORCE if [ -z "$(MAKEINFO)" ]; then \ echo 1>&2 "GNU info-pages won't be installed" \ "because makeinfo program doesn't exist"; \ else \ if [ -n "$(INFOS)" ]; then \ infos="$(INFOS)"; \ for info in $$infos; do \ $(MAKE) $(MFLAGS) \ INFODIR=$(INFODIR) INFO=$$info \ installed_info || exit 1; \ done; \ else \ :; \ fi; \ fi; # The following target decouples the previous targets from the actual rule; # thus, eliminating extraneous make(1) messages. # installed_info: $(INFODIR)/$(INFO) $(INFODIR)/dummy.info $(INFODIR)/$(INFO): $(INFODIR) $(INFO) cp $(INFO) $@ dummy_infodir $(INFODIR): mkdir -p $@ chmod u+rwx,g+rws,o=rx $@ # Rules for generating info pages: # .SUFFIXES: .info .texi .texinfo .txn .texi.info: @if [ -z "$(MAKEINFO)" ]; then \ echo 1>&2 "Can't create $@ because no makeinfo(1)"; \ else \ $(MAKEINFO) $< --no-split --output=$@; \ fi .texinfo.info: @if [ -z "$(MAKEINFO)" ]; then \ echo 1>&2 "Can't create $@ because no makeinfo(1)"; \ else \ $(MAKEINFO) $< --no-split --output=$@; \ fi .txn.info: @if [ -z "$(MAKEINFO)" ]; then \ echo 1>&2 "Can't create $@ because no makeinfo(1)"; \ else \ $(MAKEINFO) $< --no-split --output=$@; \ fi # Ensure that info page depends on canonical TeX-Info macros. # dummy_info $(INFO): texinfo.tex ############################################################################ # Cleanup: ############################################################################ clean: default_clean distclean: realclean realclean: default_realclean default_clean: FORCE rm -f $(GARBAGE) $(PROGRAM) a.out core *.o *.i *.a *.so.* *.sa.* \ *.so *.u *.pure *.pure_hardlink *.pure_linkinfo conftest* \ test.out test.pure.out \ *.aux *.toc *.dvi \ config.cache *.Z tags MANIFEST *~ default_distclean: default_realclean default_realclean: FORCE rm -f $(GARBAGE) $(PROGRAM) a.out core *.o *.i *.a *.so.* *.sa.* \ *.so *.u *.pure *.pure_hardlink *.pure_linkinfo conftest* \ test.out \ *.aux *.toc *.dvi \ config.cache *.Z *.log tags TAGS MANIFEST *~ \ Makefile config.status cc_id ############################################################################ # Configuration: ############################################################################ # The following target is touched because config.status won't update it if # it hasn't changed. # # The following is commented-out because the HPUX make(1) goes into a loop. # #Makefile: config.status # ./config.status # touch $@ config.status: cc_id configure ./configure --no-create cc_id: FORCE if test -r $@ && test "`cat $@`" = "$(CC)"; then \ :; \ else \ echo "$(CC)" > $@; \ fi # The following is commented-out because autoconf is currently only # available on Zero. # #configure: configure.in # autoconf ############################################################################ # Dependency maintenance: ############################################################################ .PRECIOUS: depend # # Note: The following rule will only work if the C compiler behaves correctly # when given the `-M' option. AIX's cc(1) and SunOS's acc(1) behave # incorrectly. --Steve Emmerson 1992-09-24 # # Furthermore, we do not attempt to maintain dependencies on installed # header files (e.g. those in $(INCDIR)) for two reasons: 1) the dependency # list generated at Unidata mightn't correspond to the situation at a client # site; and 2) clients using broken compilers (c.f. previous note) can't # regenerate the dependency list. # # We try to ensure that all C files exist in a distribution that # includes fortc(1), yacc(1), or lex(1) sources. # depend: FORCE # csrcs=`echo $(MANIFEST) | tr ' ' '\012' | egrep -s '\.fc|\.y|\.l'`; \ if [ "$$csrcs" ]; then \ echo 1>&2 "Ensuring that all C files exist for target depend"; \ echo 1>&2 "csrcs = $$csrcs"; \ $(MAKE) $(MFLAGS) $$csrcs; \ fi -incdir=`echo $(INCDIR) | sed s',/,\\\/,g'`; \ (case $(OS) in \ aix*) \ $(CC) -M -E $(CPPFLAGS) *.c > /dev/null; \ cat *.u; \ ;; \ *) \ $(CC_MAKEDEPEND) $(CPPFLAGS) *.c *.S 2> /dev/null; \ ;; \ esac) | awk '{ \ if ($$0 ~ /:/) { \ target = $$1; \ if (target ~ /:/) { \ target = substr(target,1,length(target)-1); \ start = 2; \ } else { \ start = 3; \ } \ } else { \ start = 1; \ } \ for (i = start; i <= NF; ++i) { \ if ($$i !~ /^\\/ && \ $$i !~ /port\// && \ $$i !~ /^\//) \ { \ if ($$i ~ /^\.\//) \ $$i = substr($$i, 3, 99); \ print target ": " $$i \ } \ } \ }' >>$@ sort -u -o $@ $@ tag='### DO NOT DELETE THIS LINE. make depend DEPENDS ON IT ###'; \ sed -e "/^$$tag$$/r depend" \ -e "/^$$tag$$/q" Makefile > Makefile.new mv Makefile.new Makefile ############################################################################ # Distributions: ############################################################################ FTPDIR = @FTPDIR@ FTPBINDIR = @FTPBINDIR@ VERSION = @VERSION@ TARFLAGS = @TARFLAGS@ zip: FORCE version=`cat VERSION | sed 's/\.//g;s/-//g`; \ $(MAKE) $(MFLAGS) $(PACKAGE)$$version.zip VERSION=$$version $(PACKAGE)$(VERSION).zip: MANIFEST id=$(PACKAGE)$(VERSION) \ && rm -rf $$id \ && mkdir $$id \ && ln -s .. $$id/src \ && sed "s|^|$$id/src/|" MANIFEST | zip -@ $@ \ && rm -r $$id tar.Z: FORCE version=`cat VERSION`; \ $(MAKE) $(MFLAGS) $(PACKAGE)-$$version.tar.Z VERSION=$$version $(FTPDIR)/$(PACKAGE)-$(VERSION).tar.Z: $(PACKAGE)-$(VERSION).tar.Z cp $(PACKAGE)-$(VERSION).tar.Z $@ chmod u+rw,g+rw,o=r $@ ftp: FORCE version=`cat VERSION`; \ $(MAKE) $(MFLAGS) $(FTPDIR)/$(PACKAGE)-$$version.tar.Z \ VERSION=$$version; \ test -r $(FTPDIR)/$(PACKAGE).tar.Z || exit 0; \ cd $(FTPDIR) || exit 1; \ rm $(PACKAGE).tar.Z || exit 1; \ ln -s $(PACKAGE)-$$version.tar.Z $(PACKAGE).tar.Z; $(PACKAGE)-$(VERSION).tar.Z: MANIFEST id=$(PACKAGE)-$(VERSION) \ && rm -rf $$id \ && mkdir $$id \ && ln -s .. $$id/src \ && tar $(TARFLAGS) - `sed "s|^|$$id/src/|" MANIFEST` | compress > $@ \ && rm -r $$id binftp: FORCE version=`cat VERSION`; \ $(MAKE) $(MFLAGS) $(FTPBINDIR)/$(PACKAGE)-$$version.tar.Z \ VERSION=$$version ftpbin: binftp $(FTPBINDIR)/$(PACKAGE)-$(VERSION).tar.Z: FORCE id=$(PACKAGE)-$(VERSION) \ && rm -f $$id \ && ln -s $(prefix) $$id \ && tar $(TARFLAGS) - README $$id/bin $$id/doc $$id/etc $$id/include \ $$id/lib $$id/man | compress > $@ \ && rm $$id chmod u+rw,g+rw,o=r $@ test -r $(FTPBINDIR)/$(PACKAGE).tar.Z || exit 0; \ cd $(FTPBINDIR) || exit 1; \ rm $(PACKAGE).tar.Z || exit 1; \ ln -s $(PACKAGE)-$(VERSION).tar.Z $(PACKAGE).tar.Z; MANIFEST: FORCE @echo 1>&2 Creating MANIFEST @$(MAKE) -s $(MFLAGS) MANIFEST.echo > $@ MANIFEST.echo: FORCE @echo $(MANIFEST) | tr ' ' '\012' @if [ -n "$(SUBDIRS)" ]; then \ subdirs="$(SUBDIRS)"; \ for subdir in $$subdirs; do \ (cd $$subdir && \ echo 1>&2 Creating $@ in `pwd` && \ $(MAKE) $(MFLAGS) MANIFEST.echo | \ sed "s|^|$$subdir/|") || exit 1; \ done; \ else \ :; \ fi ensure_manifest: FORCE @$(MAKE) $(MFLAGS) \ `echo $(MANIFEST) | sed 's/MANIFEST//'` @if [ -n "$(SUBDIRS)" ]; then \ subdirs="$(SUBDIRS)"; \ for subdir in $$subdirs; do \ (cd $$subdir && \ echo 1>&2 Creating $@ in `pwd` && \ $(MAKE) $(MFLAGS) ensure_manifest ) || \ exit 1; \ done; \ else \ :; \ fi ############################################################################ # Miscellaneous: ############################################################################ # The following dummy target is useful as a dependency to ensure that a # rule is always executed. # FORCE: xgks-2.6.1+dfsg.2/src/port/misc/0000755000175000017500000000000012124104030017376 5ustar amckinstryamckinstryxgks-2.6.1+dfsg.2/src/port/misc/depend0000644000175000017500000001266211413611016020576 0ustar amckinstryamckinstryalloca.o: alloca.c atexit.o: atexit.c atexit.o: stddef.h atexit.o: stdlib.h atexit.o: time.h atexit.o: udposix.h config.o: ./config.c config.o: config.c config.o: signal.h config.o: stdarg.h config.o: stddef.h config.o: stdio.h config.o: time.h config.o: udposix.h date.o: date.c date.o: stdarg.h date.o: stddef.h date.o: stdio.h date.o: time.h date.o: udposix.h difftime.o: difftime.c difftime.o: stddef.h difftime.o: time.h difftime.o: udposix.h getuduser.o: getuduser.c getuduser.o: stdarg.h getuduser.o: stddef.h getuduser.o: stdio.h getuduser.o: stdlib.h getuduser.o: time.h getuduser.o: udposix.h histogram.o: histogram.c histogram.o: histogram.h histogram.o: limits.h histogram.o: stdarg.h histogram.o: stddef.h histogram.o: stdio.h histogram.o: stdlib.h histogram.o: time.h histogram.o: udposix.h inetutil.o: inetutil.c inetutil.o: inetutil.h inetutil.o: limits.h inetutil.o: stdarg.h inetutil.o: stddef.h inetutil.o: stdio.h inetutil.o: string.h inetutil.o: time.h inetutil.o: udposix.h linklist.o: linklist.c linklist.o: linklist.h linklist.o: stdarg.h linklist.o: stddef.h linklist.o: stdio.h linklist.o: stdlib.h linklist.o: string.h linklist.o: time.h linklist.o: udalloc.h linklist.o: udposix.h memmove.o: memmove.c memmove.o: stddef.h memmove.o: string.h memmove.o: udposix.h nanosleep.o: nanosleep.c nanosleep.o: time.h nanosleep.o: udposix.h nanosleep.o: uthread.h pathname.o: limits.h pathname.o: pathname.c pathname.o: stddef.h pathname.o: string.h pathname.o: udposix.h regex.o: regex.c regex.o: regex.h regex.o: stddef.h regex.o: stdlib.h regex.o: string.h regex.o: time.h regex.o: udposix.h setenv.o: setenv.c setenv.o: stdarg.h setenv.o: stddef.h setenv.o: stdio.h setenv.o: string.h setenv.o: udposix.h sigaction.o: sigaction.c sigaction.o: signal.h sigaction.o: stddef.h sigaction.o: time.h sigaction.o: udposix.h sigaddset.o: sigaddset.c sigaddset.o: signal.h sigaddset.o: stddef.h sigaddset.o: time.h sigaddset.o: udposix.h sigdelset.o: sigdelset.c sigdelset.o: signal.h sigdelset.o: stddef.h sigdelset.o: time.h sigdelset.o: udposix.h sigdummy.o: sigdummy.c sigdummy.o: signal.h sigdummy.o: stddef.h sigdummy.o: time.h sigdummy.o: udposix.h sigemptyset.o: sigemptyset.c sigemptyset.o: signal.h sigemptyset.o: stddef.h sigemptyset.o: time.h sigemptyset.o: udposix.h sigfillset.o: sigfillset.c sigfillset.o: signal.h sigfillset.o: stddef.h sigfillset.o: time.h sigfillset.o: udposix.h sigismember.o: sigismember.c sigismember.o: signal.h sigismember.o: stddef.h sigismember.o: time.h sigismember.o: udposix.h sigpending.o: signal.h sigpending.o: sigpending.c sigpending.o: stddef.h sigpending.o: time.h sigpending.o: udposix.h sigprocmask.o: signal.h sigprocmask.o: sigprocmask.c sigprocmask.o: stddef.h sigprocmask.o: time.h sigprocmask.o: udposix.h sigsuspend.o: signal.h sigsuspend.o: sigsuspend.c sigsuspend.o: time.h sigsuspend.o: udposix.h strbuf.o: stdarg.h strbuf.o: stddef.h strbuf.o: stdio.h strbuf.o: stdlib.h strbuf.o: strbuf.c strbuf.o: strbuf.h strbuf.o: string.h strbuf.o: time.h strbuf.o: udalloc.h strbuf.o: udposix.h strerror.o: stddef.h strerror.o: strerror.c strerror.o: string.h strerror.o: udposix.h strftime.o: stdarg.h strftime.o: stddef.h strftime.o: stdio.h strftime.o: strftime.c strftime.o: string.h strftime.o: time.h strftime.o: udposix.h strstr.o: stddef.h strstr.o: string.h strstr.o: strstr.c strstr.o: udposix.h strvec.o: stdarg.h strvec.o: stddef.h strvec.o: stdio.h strvec.o: stdlib.h strvec.o: string.h strvec.o: strvec.c strvec.o: strvec.h strvec.o: time.h strvec.o: udalloc.h strvec.o: udposix.h tdelete.o: search-node.h tdelete.o: search.h tdelete.o: stddef.h tdelete.o: tdelete.c tdelete.o: udposix.h tfind.o: search-node.h tfind.o: search.h tfind.o: stddef.h tfind.o: tfind.c tfind.o: udposix.h tsearch.o: search-node.h tsearch.o: search.h tsearch.o: stddef.h tsearch.o: tsearch.c tsearch.o: udposix.h twalk.o: search-node.h twalk.o: search.h twalk.o: stddef.h twalk.o: twalk.c twalk.o: udposix.h udalloc.o: stdarg.h udalloc.o: stddef.h udalloc.o: stdio.h udalloc.o: stdlib.h udalloc.o: string.h udalloc.o: time.h udalloc.o: udalloc.c udalloc.o: udalloc.h udalloc.o: udposix.h uddummy.o: uddummy.c uderrmsg.o: stdarg.h uderrmsg.o: stddef.h uderrmsg.o: stdio.h uderrmsg.o: stdlib.h uderrmsg.o: string.h uderrmsg.o: time.h uderrmsg.o: uderrmsg.c uderrmsg.o: uderrmsg.h uderrmsg.o: udposix.h udfifo.o: stdarg.h udfifo.o: stddef.h udfifo.o: stdio.h udfifo.o: stdlib.h udfifo.o: string.h udfifo.o: time.h udfifo.o: udfifo.c udfifo.o: udfifo.h udfifo.o: udposix.h udfifo.o: ulog.h udfifo_err.o: stdarg.h udfifo_err.o: stddef.h udfifo_err.o: stdio.h udfifo_err.o: stdlib.h udfifo_err.o: time.h udfifo_err.o: udfifo.h udfifo_err.o: udfifo_err.c udfifo_err.o: udposix.h udqueue.o: stdarg.h udqueue.o: stddef.h udqueue.o: stdio.h udqueue.o: stdlib.h udqueue.o: time.h udqueue.o: udfifo.h udqueue.o: udposix.h udqueue.o: udqueue.c udqueue.o: udqueue.h udqueue.o: ulog.h udqueue.o: uthread.h udqueue_err.o: signal.h udqueue_err.o: stddef.h udqueue_err.o: stdio.h udqueue_err.o: stdlib.h udqueue_err.o: time.h udqueue_err.o: udfifo.h udqueue_err.o: udposix.h udqueue_err.o: udqueue.h udqueue_err.o: udqueue_err.c udqueue_err.o: uthread.h ulog.o: inetutil.h ulog.o: signal.h ulog.o: stdarg.h ulog.o: stddef.h ulog.o: stdio.h ulog.o: string.h ulog.o: time.h ulog.o: udposix.h ulog.o: ulog.c ulog.o: ulog.h usleep.o: stddef.h usleep.o: time.h usleep.o: udposix.h usleep.o: usleep.c uthread.o: stddef.h uthread.o: stdio.h uthread.o: time.h uthread.o: udposix.h uthread.o: uthread.c uthread.o: uthread.h xgks-2.6.1+dfsg.2/src/port/misc/udfifo.c0000644000175000017500000000676411413611016021042 0ustar amckinstryamckinstry/* * $Id: udfifo.c,v 1.1 2000/08/07 23:15:04 emmerson Exp $ */ /*LINTLIBRARY*/ #include "udposix.h" /* for voidp */ #include /* for size_t */ #include /* for usage, internal, and subsystem checking */ #include /* needed by some non-conforming s */ #include /* for malloc() & memcpy() */ #include /* for memcpy() */ #include "udfifo.h" /* for my public API */ #include "ulog.h" /* * Magic cookie indicating valid data structure: */ static const char cookie[] = "udfifo"; /* * Destroy a FIFO. */ void udfifo_destroy(fifo) Udfifo *fifo; { if (fifo && cookie == fifo->cookie) { if (fifo->buf) { (void) free((voidp)fifo->buf); fifo->buf = NULL; } } } /* * Initiaize a FIFO. */ void udfifo_init(fifo, eltsize, numelts) Udfifo *fifo; size_t eltsize; int numelts; { assert(fifo); assert(eltsize > 0); assert(numelts > 0); fifo->buf = (char*)malloc((size_t)(eltsize*numelts)); assert(fifo->buf); fifo->eltsize = eltsize; fifo->maxelts = numelts; fifo->count = 0; fifo->mode = 0; fifo->head = fifo->buf; fifo->tail = fifo->buf; fifo->end = fifo->buf + (numelts-1)*eltsize; fifo->cookie = cookie; } /* * Set the mode of a FIFO. */ int udfifo_setmode(fifo, mode) Udfifo *fifo; int mode; { int oldmode; assert(fifo); assert(cookie == fifo->cookie); assert(mode == 0 || mode == UDFIFO_FORCE); oldmode = fifo->mode; fifo->mode = mode; return oldmode; } /* * Add to a FIFO. */ int udfifo_put(fifo, new, old) Udfifo *fifo; const void *new; void *old; { int status = 0; assert(fifo); assert(cookie == fifo->cookie); assert(new != NULL); if (fifo->count == fifo->maxelts) { if (UDFIFO_FORCE == fifo->mode) { (void) udfifo_get(fifo, old); status = UDFIFO_EFORCED; } else { status = UDFIFO_EFAILURE; } } if (fifo->count < fifo->maxelts) { (void) memcpy((voidp)fifo->tail, new, fifo->eltsize); fifo->tail = fifo->tail < fifo->end ? fifo->tail + fifo->eltsize : fifo->buf; ++fifo->count; } return status; } /* * Remove the oldest element from a FIFO. */ int udfifo_get(fifo, old) Udfifo *fifo; void *old; { int status; assert(fifo); assert(cookie == fifo->cookie); if (0 == fifo->count) { status = UDFIFO_EFAILURE; } else { assert(0 < fifo->count); if (NULL != old) (void) memcpy(old, (voidp)fifo->head, fifo->eltsize); fifo->head = fifo->head < fifo->end ? fifo->head + fifo->eltsize : fifo->buf; --fifo->count; status = 0; } return status; } /* * Return the number of elements in a FIFO. * * Returns: * -1 Error. * >=0 Number of elements in FIFO. */ int udfifo_count(fifo) const Udfifo *fifo; { int count; assert(fifo); if (cookie == fifo->cookie) { assert(fifo->count >= 0); count = fifo->count; } else { count = -1; } return count; } /* * Return the number of empty spaces in a FIFO in terms of elements. */ int udfifo_space(fifo) const Udfifo *fifo; { int nspace; assert(fifo); assert(cookie == fifo->cookie); assert(fifo->maxelts > 0); assert(fifo->count >= 0 && fifo->count <= fifo->maxelts); nspace = fifo->maxelts - fifo->count; assert(nspace >= 0); udebug("udfifo_space(): maxelts=%d, count=%d, nspace=%d", fifo->maxelts, fifo->count, nspace); return nspace; } xgks-2.6.1+dfsg.2/src/port/misc/uddummy.c0000644000175000017500000000002311413611016021230 0ustar amckinstryamckinstryvoid uddummy() {;} xgks-2.6.1+dfsg.2/src/port/misc/uderrmsg.h0000644000175000017500000000150311413611016021405 0ustar amckinstryamckinstry/* * $Id: uderrmsg.h,v 1.1 2000/08/07 23:15:04 emmerson Exp $ * * $__Header$ */ #ifndef UD_ERROR_H_INCLUDED #define UD_ERROR_H_INCLUDED #ifndef UD_FORTRAN_SOURCE #include "udposix.h" #if defined(__cplusplus) || defined(c_plusplus) extern "C" { #endif extern int uderrmode UD_PROTO((const int mode)); extern char* uderrname UD_PROTO((const char *name)); extern void uderror UD_PROTO((const char *fmt, ...)); extern int udverror (); extern void udadvise UD_PROTO((const char *fmt, ...)); extern int udvadvise (); extern char* udtime_stamp UD_PROTO((void)); #if defined(__cplusplus) || defined(c_plusplus) } #endif #endif /* UD_FORTRAN_SOURCE not defined above */ /* * Global options variable. Used to control behavior of error handler. */ #define UD_FATAL 1 #define UD_VERBOSE 2 #endif /* !UD_ERROR_H_INCLUDED */ xgks-2.6.1+dfsg.2/src/port/misc/uthread.c0000644000175000017500000001051011413611016021202 0ustar amckinstryamckinstry/* * $Id: uthread.c,v 1.1 2000/08/07 23:15:04 emmerson Exp $ * * UNIDATA/POSIX threads support. */ #include #include #include #include #include #include "uthread.h" #ifndef UD_THREAD_FSU_6 static int initialized; static uthread_attr_t default_attr; int uthread_attr_init(attr) uthread_attr_t *attr; { int status = 0; /* success */ assert(initialized); if (attr) { *attr = default_attr; } else { errno = EINVAL; status = -1; } return status; } int uthread_attr_setdetachstate(attr, yes) uthread_attr_t *attr; int *yes; { int status = 0; /* success */ assert(initialized); if (!attr || !yes) { errno = EINVAL; status = -1; } else { # ifdef UD_THREAD_SUNOS_5 if (*yes) attr->flags |= THR_DETACHED; else attr->flags &= ~THR_DETACHED; # endif # ifdef UD_THREAD_DEC_4 attr->detach_state = *yes; # endif } return status; } int uthread_attr_getstacksize(attr, stacksize) uthread_attr_t *attr; size_t *stacksize; { int status = 0; /* success */ assert(initialized); if (attr && stacksize) { # ifdef UD_THREAD_SUNOS_5 *stacksize = thr_min_stack(); # endif # ifdef UD_THREAD_DEC_4 *stacksize = pthread_attr_getstacksize(attr->attr); # endif } else { errno = EINVAL; status = -1; } return status; } int uthread_attr_setstacksize(attr, stacksize) uthread_attr_t *attr; size_t stacksize; { int status = 0; /* success */ assert(initialized); # ifdef UD_THREAD_SUNOS_5 if (attr && (stacksize == 0 || stacksize >= thr_min_stack())) { attr->stacksize = stacksize; # endif # ifdef UD_THREAD_DEC_4 if (attr) { status = pthread_attr_setstacksize(&attr->attr, (int) stacksize); # endif } else { errno = EINVAL; status = -1; } return status; } int uthread_attr_setprio(attr, priority) uthread_attr_t *attr; int priority; { int status = 0; /* success */ assert(initialized); # ifdef UD_THREAD_SUNOS_5 attr->priority = priority; # endif # ifdef UD_THREAD_DEC_4 status = pthread_attr_setprio(&attr->attr, priority); # endif return status; } #ifdef UD_THREAD_DEC_4 int uthread_cond_init(cond, condattr) uthread_cond_t *cond; uthread_condattr_t *condattr; { assert(initialized); assert(0 == condattr); return pthread_cond_init(cond, pthread_condattr_default); } #endif #include #include int uthread_create(thread, attr, start_func, arg) uthread_t *thread; uthread_attr_t *attr; uthread_func_t start_func; void *arg; { int status = 0; /* success */ assert(initialized); # ifdef UD_THREAD_SUNOS_5 { int orig_priority; if (NULL == attr) attr = &default_attr; status = thr_getprio(thr_self(), &orig_priority); assert(0 == status); errno = 0; status = thr_create((void*)0, attr->stacksize, start_func, arg, attr->flags | THR_SUSPENDED, thread); if (status) { errno = status; status = -1; } else { if (orig_priority != attr->priority) (void) thr_setprio(*thread, attr->priority); (void) thr_continue(*thread); } } # endif # ifdef UD_THREAD_DEC_4 if (NULL == attr) attr = &default_attr; status = pthread_create(thread, attr->attr, start_func, arg); if (0 == status && attr->detach_state) status = pthread_detach(thread); # endif return status; } int uthread_init() { int status = 0; /* success */ if (!initialized) { # ifdef UD_THREAD_SUNOS_5 default_attr.flags = 0; status = thr_getprio(thr_self(), &default_attr.priority); assert(0 == status); # endif # ifdef UD_THREAD_DEC_4 default_attr.detach_state = 0; status = pthread_attr_create(&default_attr.attr); assert(0 == status); # endif initialized = 1; #ifdef PURIFY purify_watch(&initialized); #endif } return status; } int uthread_yield(ptr) /*ARGSUSED*/ voidp ptr; { assert(0 == ptr); assert(initialized); # ifdef UD_THREAD_SUNOS_5 thr_yield(); # endif # ifdef UD_THREAD_DEC_4 pthread_yield(); # endif return 0; } #endif /* not FSU's Draft 6 Pthreads implementation */ xgks-2.6.1+dfsg.2/src/port/misc/signal.h.in0000644000175000017500000000277411413611016021452 0ustar amckinstryamckinstry/* * $Id: signal.h.in,v 1.1 2000/08/07 23:15:04 emmerson Exp $ */ #ifndef UD_SYSTEM_SIGNAL_H # define UD_SYSTEM_SIGNAL_H "///usr/include/signal.h" #endif #include UD_SYSTEM_SIGNAL_H #ifndef UD_signal_h #define UD_signal_h #undef UD_NO_SIGNAL_H_SIGSET_T #undef UD_NO_SIGNAL_H_SIG_ATOMIC_T #undef UD_NO_SIGACTION_STRUCT #undef UD_NO_SIGACTION_DECL #undef HAVE_SIGVEC #undef HAVE_SIGBLOCK #undef HAVE_SIGPAUSE #undef HAVE_SIGSETMASK #undef HAVE_SIGSTACK #undef HAVE_BSDSIGP #include "udposix.h" #ifndef SIG_BLOCK # define SIG_BLOCK (1) # define SIG_UNBLOCK (2) # define SIG_SETMASK (4) #endif #ifdef UD_NO_SIGNAL_H_SIGSET_T typedef unsigned long sigset_t; #endif #ifdef UD_NO_SIGNAL_H_SIG_ATOMIC_T typedef int sig_atomic_t; #endif #ifdef UD_NO_SIGACTION_STRUCT struct sigaction { void (*sa_handler)(); sigset_t sa_mask; int sa_flags; } #endif #ifdef UD_NO_SIGACTION_DECL UD_EXTERN_FUNC(int sigemptyset, (sigset_t *set)); UD_EXTERN_FUNC(int sigaddset, (sigset_t *set)); UD_EXTERN_FUNC(int sigfillset, (sigset_t *set)); UD_EXTERN_FUNC(int sigdelset, (sigset_t *set)); UD_EXTERN_FUNC(int sigismember, (sigset_t *set, int signo)); UD_EXTERN_FUNC(int sigaction, (int sig, const struct sigaction *act, struct sigaction *oact)); UD_EXTERN_FUNC(int sigprocmask, (int how, const sigset_t *set, sigset_t *oset)); UD_EXTERN_FUNC(int sigpending, (sigset_t *set)); UD_EXTERN_FUNC(int sigsuspend, (sigset_t *set)); #endif #endif /* UD_signal_h not defined above */ xgks-2.6.1+dfsg.2/src/port/misc/ulog.c0000644000175000017500000004614311413611016020527 0ustar amckinstryamckinstry/* * Copyright 1993, University Corporation for Atmospheric Research * See ../COPYRIGHT file for copying and redistribution conditions. */ /* $Id: ulog.c,v 1.1 2000/08/07 23:15:04 emmerson Exp $ */ /* * Utility Functions to implement consistant logging mechanisms. * These provide interfaces to the syslogd(8) system if available. * 'syslog' code based on "@(#)syslog.c 5.20 (Berkeley) 1/19/89" * Copyright (c) 1983, 1988 Regents of the University of California. */ /* * If a file /dev/conslog exists, configure defines _DEV_CONSLOG. * We use this macro to handle SVR4 streams based logging. */ #ifndef _DEV_CONSLOG #ifndef _POSIX_SOURCE #define _POSIX_SOURCE #endif /* !_POSIX_SOURCE */ #endif /* !_DEV_CONSLOG */ #include #include #include #include #include #include #if defined(__STDC__) || defined(_AIX) /* * Due to a bug in gcc 2.4.5 for SunOS 4.1.3, include before * . */ #include #define STDC_ARGS #else #include #endif #include #include #include #include #ifndef NO_WAITPID #include #endif #include "inetutil.h" /* usopen(), udpopen() */ #include "ulog.h" #if defined(__CENTERLINE__) && defined(sun) && defined(__STDC__) /* Workaround for ObjectCenter 1.1 stdargs problem, Sun OS 4.1.x */ #undef __builtin_va_arg_incr #define __builtin_va_arg_incr(list) (((list) += 1) -1) #undef va_start #define va_start(list, arg) list = (char *)&arg + sizeof(arg) #endif #if defined(NO_STRERROR) && !defined(lint) /* recividist unie */ char * strerror(errnum) int errnum ; { extern int sys_nerr; extern char *sys_errlist[]; if(errnum < 0 || errnum >= sys_nerr) return NULL ; /* else */ return sys_errlist[errnum] ; } #elif defined(sun) /* Sun OS 4.x */ extern char *strerror(/* int */) ; #endif /* NO_STRERROR */ #if (LOG_NFACILITIES > 0) /* * BSD 4.3 style, the logger attempts to open a connection to * a named fifo or an AF_UNIX socket called LOGNAME. */ #ifdef _DEV_CONSLOG #define LOGNAME "/dev/conslog" #else #define LOGNAME "/dev/log" #endif /* !_DEV_CONSLOG */ #endif /* * BSD 4.2 style, the logger trys the AF_INET well known service * "syslog" at host LOGHOST. */ #define LOGHOST "127.0.0.1" /* * If all else fails, it attempts to write directly to CONSOLE. */ #define CONSOLE "/dev/console" static const char *logFilename = NULL; /* Logfile name, == NULL => use syslogd */ static int logFd = -1; /* fd for log */ static int logOptions = 0; /* option bits, set by openulog() */ static const char *logIdent = "ulog"; /* string to tag the entry with */ static int logFacility = LOG_USER; /* default facility code */ static int logMask = LOG_UPTO(LOG_DEBUG) ; /* default mask */ /* * Close the log connection */ int closeulog() { int ret = 0 ; if(logFilename != NULL && *logFilename == '-') /* special case for stderr */ logFilename = NULL ; else if (logFd >= 0) { ret = close(logFd) ; } logFd = -1 ; return ret ; } /* * Like Berkeley 'openlog(3)' - initialize syslog system. * But: * Always attempts to open the log connection if there is none, * even if the LOG_NDELAY option bit is cleared. * Returns the descriptor (socket) of the logger or -1 on system call error. * N.B. multiple calls without an intervening 'closeulog()' simply reinitialize * ident, options, and facility. * The data referred to by 'ident' and 'filename' should have process lifetime. */ int openulog(ident, options, facility, logfilename) const char *ident ; int options ; int facility ; const char *logfilename ; { if (ident != NULL) logIdent = ident; logOptions = options; if (facility != 0 && (facility &~ LOG_FACMASK) == 0) logFacility = facility ; if (logFd != -1) (void) closeulog() ; if(logfilename != NULL && *logfilename != 0) { if(logfilename[0] != '-') /* '-' means use stderr */ { logFd = open(logfilename, (O_WRONLY|O_CREAT|O_APPEND), 0664) ; if(logFd != -1) logFilename = logfilename ; /* N.B. Not a copy */ } else { logFd = fileno(stderr) ; logFilename = "-" ; } /* if the open fail, fall thru and use syslogd */ } if (logFd == -1) { #if defined(LOGNAME) { /* * On a given OS, the LOGNAME is always * a fifo, a STREAMS device, or a unix domain socket. * So, you could figure it out ahead of time * and save the stat() call and the test. */ struct stat statb ; if( stat(LOGNAME, &statb) < 0) return -1 ; /* else */ if(S_ISCHR(statb.st_mode)) logFd = open(LOGNAME, O_WRONLY) ; /* System V */ else logFd = usopen(LOGNAME) ; /* unix domain socket open */ } #else logFd = udpopen(LOGHOST, "syslog") ; /* UDP socket open */ #endif } if (logFd == -1) return -1 ; /* else */ #ifdef FD_CLOEXEC /* only try to do this on systems that support it */ /* set descriptor to "close on exec" */ if(logFilename == NULL || *logFilename != '-') /* special case for stderr */ { if (fcntl(logFd, F_SETFD, FD_CLOEXEC) == -1) { (void) close(logFd) ; return -1 ; } /* else */ } #endif return logFd; } #ifndef LOG_PRI #define LOG_PRI(p) ((p) & LOG_PRIMASK) /* extract priority */ #endif #ifndef LOG_FAC #define LOG_FAC(p) (((p) & LOG_FACMASK) >> 3) /* facility of pri */ #endif #ifdef _DEV_CONSLOG #include /* putmsg, struct strbuf */ #include /* struct log_ctl */ #endif /* * analogous to vsyslog() */ #ifdef STDC_ARGS static int vulog(int pri, const char *fmt, va_list args) { #else int vulog(pri, fmt, args) int pri ; char *fmt ; va_list args ; { #endif /* STDC_ARGS */ char tbuf[2048] ; char *cp ; time_t now ; int cnt ; int pid ; #if LOG_NFACILITIES > 0 /* sanity check */ if ((unsigned int)LOG_FAC(pri) >= LOG_NFACILITIES) return 0 ; #endif #if MASKDEBUG printf(" pri 0x%08x\n", pri) ; printf(" LOG_PRI(pri) 0x%08x\n", LOG_PRI(pri)) ; printf("LOG_MASK(LOG_PRI(pri)) 0x%08x\n", LOG_MASK(LOG_PRI(pri))) ; printf(" logMask 0x%08x\n", logMask) ; printf(" result 0x%08x\n", (LOG_MASK(LOG_PRI(pri)) & logMask)) ; #endif /* see if we should just throw out this message */ if ((LOG_MASK(LOG_PRI(pri)) & logMask) == 0 ) return 0 ; #if LOG_NFACILITIES > 0 /* set default facility if none specified */ if ((pri & LOG_FACMASK) == 0) pri |= logFacility ; #endif /* * If this open fails, we will eventually write the message to the console. */ if (logFd == -1) (void) openulog(logIdent, logOptions, logFacility, logFilename) ; /* * build the message */ cp = tbuf ; #ifndef _DEV_CONSLOG if(logFilename == NULL) /* using syslogd */ { (void) sprintf(tbuf, "<%d>", pri) ; for (; *cp != 0 ; ++cp) /*EMPTY*/ ; } #endif /* !_DEV_CONSLOG */ if(!(logOptions & LOG_NOTIME)) { struct tm tm_now ; struct tm *tmp = NULL ; (void) time(&now) ; /* N.B.: default for this package is to use gmt */ if(!(logOptions & LOG_LOCALTIME)) tmp = gmtime(&now) ; /* else, also covers failure of gmtime call */ if(!tmp) tmp = localtime(&now) ; tm_now = *tmp ; /* (void) sprintf(cp, "%.15s ", ctime(&now) + 4) ; */ (void) strftime(cp, 17, "%b %d %H:%M:%S ", &tm_now) ; for (; *cp != 0 ; ++cp) /*EMPTY*/ ; errno = 0 ; /* ultrix 4.0 mips trashes errno in ctime */ } if (logIdent) { (void) strcpy(cp, logIdent); for (; *cp != 0 ; ++cp) /*EMPTY*/ ; } if (logOptions & LOG_PID) { (void) sprintf(cp, "[%d]", getpid()); for (; *cp != 0 ; ++cp) /*EMPTY*/ ; } if (logIdent) { *cp++ = ':' ; *cp++ = ' ' ; } /* we don't do %m substitution */ (void)vsprintf(cp, fmt, args) ; cnt = strlen(tbuf) ; /* cnt for write() below */ #ifdef _DEV_CONSLOG if(logFilename == NULL) /* using syslogd */ { /* putmsg fails ERANGE when the message is too long */ if(cnt > 126) { tbuf[127] = '\0' ; cnt = 126 ; } } #endif if(tbuf[cnt -1] != '\n') { tbuf[cnt++] = '\n' ; tbuf[cnt] = 0 ; } #if TBUFDIAG fputs(tbuf, stdout) ; #endif /* output the message to the logger */ #ifdef _DEV_CONSLOG if(logFilename == NULL) /* using syslogd */ { struct strbuf ctl, dat; struct log_ctl lc ; lc.level = 0 ; lc.flags = (SL_NOTIFY|SL_ERROR|SL_CONSOLE|SL_WARN|SL_NOTE) ; lc.pri = pri ; ctl.len = ctl.maxlen = sizeof(lc); ctl.buf = (char *)&lc; dat.len = dat.maxlen = cnt; dat.buf = tbuf; again: errno = 0 ; if(putmsg(logFd, &ctl, &dat, 0) < 0) { if(errno == EAGAIN || errno == EINTR) goto again ; /* Arrgh System V */ (void) closeulog() ; } } else /* write to a file */ #endif /* !_DEV_CONSLOG */ if (logFd != -1 ) { if (write(logFd, tbuf, cnt) < 0) (void) closeulog() ; } if(logFd != -1 || !(logOptions & LOG_CONS) ) return cnt; /* else */ /* output the message to the console */ pid = fork(); if (pid == -1) /* fork error */ return -1 ; /* else */ if (pid == 0) { /* child */ int fd; (void)signal(SIGALRM, SIG_DFL); #ifdef SIG_SETMASK /* only try to do this on systems that support it */ { /* sigsetmask((long)~sigmask(SIGALRM)); */ sigset_t set ; (void) sigfillset(&set) ; (void) sigdelset(&set, SIGALRM) ; (void) sigprocmask(SIG_SETMASK, &set, (sigset_t *)0) ; } #endif (void)alarm((unsigned int)5); if ((fd = open(CONSOLE, O_WRONLY, 0)) < 0) { logOptions &= (~LOG_CONS) ; /* don't keep trying */ _exit(1); } /* (void)strcat(tbuf, "\r"); cnt++ ; */ if(tbuf[0] == '<') { cp = strchr(tbuf, '>'); if(cp == NULL) cp = tbuf ; else cp++ ; } else cp = tbuf ; (void)write(fd, cp, cnt - (cp - tbuf)); (void)close(fd); _exit(0); } /* else, parent */ if (!(logOptions & LOG_NOWAIT)) #ifdef NO_WAITPID while ((cnt = wait((int *)0)) > 0 && cnt != pid) /*EMPTY*/ ; #else (void) waitpid(pid, (int *)0, 0) ; #endif return 0 ; } /* * analogous to syslog() */ #ifdef STDC_ARGS int ulog(int pri, const char *fmt, ...) { #else /*VARARGS2*/ int ulog(pri, fmt, va_alist) int pri ; char *fmt ; va_dcl { #endif /* STDC_ARGS */ int retcode; va_list args ; #ifdef STDC_ARGS va_start(args, fmt) ; #else va_start(args) ; #endif /* !STDC_ARGS */ retcode = vulog(pri, fmt, args) ; va_end(args) ; return retcode; } #ifndef NO_REPLACE_SYSLOG /* * replace syslog (you may not want to do this...) */ #ifdef STDC_ARGS void syslog(int pri, const char *fmt, ...) { #else /*VARARGS2*/ void syslog(pri, fmt, va_alist) int pri ; char *fmt ; va_dcl { #endif /* STDC_ARGS */ va_list args ; #ifdef STDC_ARGS va_start(args, fmt) ; #else va_start(args) ; #endif /* !STDC_ARGS */ (void)vulog(pri, fmt, args) ; va_end(args) ; } #endif /* NO_REPLACE_SYSLOG */ /* * Set the ulog mask, return the old mask. * Analogous to setlogmask(), execept it actually does something. */ int setulogmask(pmask) int pmask; { int omask; omask = logMask; if (pmask != 0) logMask = pmask; return (omask); } /* * If the bit in the logMask corresponding to * pri is set, * unset it. * Otherwise, set it. * Used for toggling the verbosity, eg * toggleulogpri(LOG_INFO) ; */ int toggleulogpri(pri) int pri ; { pri = LOG_MASK(pri) ; if(pri & logMask) { logMask &= ~pri ; return 0 ; } /* else */ logMask |= pri ; return 1 ; } /* * Log system call errors * Use where you would want to call perror(3). * Calling sequence is * serror(format, arg1, arg2,...) * with zero or more args of types compatible with the associated format * specifiers. For example: * serror("shutting down"); * serror("can't open %s", file_name); * serror("process %d in state %s",pid,state); */ #ifdef STDC_ARGS void serror(const char *fmt, ...) #else /*VARARGS1*/ void serror(fmt, va_alist) char *fmt ; va_dcl #endif /* STDC_ARGS */ { va_list args ; #ifdef STDC_ARGS va_start(args ,fmt) ; #else va_start(args) ; #endif /* STDC_ARGS */ if(errno != 0) { char buf[1024] ; int errnum = errno; /* save real errno in case we wipe it out */ char *cp ; (void) vsprintf(buf, fmt, args) ; for(cp = buf; *cp != 0 ; cp++) /*EMPTY*/; strcat(cp, ": %s") ; (void) ulog(LOG_ERR, buf, strerror(errnum)) ; errno = 0 ; } else { (void) vulog(LOG_ERR, fmt, args) ; } va_end(args) ; } /* * Log program errors * Calling sequence is * uerror(format, arg1, arg2,...) * with zero or more args of types compatible with the associated format * specifiers. For example: * * uerror("Inconsistant input %s", input); */ #ifdef STDC_ARGS void uerror(const char *fmt, ...) #else /*VARARGS1*/ void uerror(fmt, va_alist) char *fmt ; va_dcl #endif /* STDC_ARGS */ { va_list args ; #ifdef STDC_ARGS va_start(args ,fmt) ; #else va_start(args) ; #endif /* STDC_ARGS */ (void) vulog(LOG_ERR, fmt, args) ; va_end(args) ; } /* * Log "Normal but significant conditions" * Calling sequence is * unotice(format, arg1, arg2,...) * with zero or more args of types compatible with the associated format * specifiers. For example: * * unotice("Shutting down on signal %s", s_signal(sig)); */ #ifdef STDC_ARGS void unotice(const char *fmt, ...) #else /*VARARGS1*/ void unotice(fmt, va_alist) char *fmt ; va_dcl #endif /* STDC_ARGS */ { va_list args ; #ifdef STDC_ARGS va_start(args ,fmt) ; #else va_start(args) ; #endif /* STDC_ARGS */ (void) vulog(LOG_NOTICE, fmt, args) ; va_end(args) ; } /* * Log informational messages * Calling sequence is * uinfo(format, arg1, arg2,...) * with zero or more args of types compatible with the associated format * specifiers. For example: * * uinfo("%s", info->ident); */ #ifdef STDC_ARGS void uinfo(const char *fmt, ...) #else /*VARARGS1*/ void uinfo(fmt, va_alist) char *fmt ; va_dcl #endif /* STDC_ARGS */ { va_list args ; #ifdef STDC_ARGS va_start(args ,fmt) ; #else va_start(args) ; #endif /* STDC_ARGS */ (void) vulog(LOG_INFO, fmt, args) ; va_end(args) ; } /* * Log debugging info * Calling sequence is * udebug(format, arg1, arg2,...) * with zero or more args of types compatible with the associated format * specifiers. For example: * * udebug("entering myproc, arg = %d", arg); * This one is a little different than the others in that it behaves diferently * when logging to a file than when logging to syslogd. */ #ifdef STDC_ARGS void udebug(const char *fmt, ...) #else /*VARARGS1*/ void udebug(fmt, va_alist) char *fmt ; va_dcl #endif /* STDC_ARGS */ { va_list args ; #ifdef STDC_ARGS va_start(args ,fmt) ; #else va_start(args) ; #endif /* STDC_ARGS */ if(logFilename != NULL && logFd != -1 && (LOG_MASK(LOG_PRI(LOG_DEBUG)) & logMask) != 0 ) { char buf[1024] ; /* * When sending debug info to a file (the usual case), * we don't want all the timestamp and pid stuff. * So we format and write it directly from here. */ int cnt ; buf[0] = '\t' ; buf[1] = 0 ; (void) vsprintf(&buf[1], fmt, args) ; cnt = strlen(buf) ; /* cnt for write() below */ if(buf[cnt -1] != '\n') { buf[cnt++] = '\n' ; buf[cnt] = 0 ; } #if TBUFDIAG fputs(buf, stdout) ; #endif /* output the message to the file, pray all goes well */ if(write(logFd, buf, cnt) < 0) (void) closeulog() ; } else { (void) vulog(LOG_DEBUG, fmt, args) ; } va_end(args) ; } void _uassert(ex, file, line) const char *ex, *file; int line; { uerror("assertion \"%s\" failed: file \"%s\", line %d\n", ex, file, line); abort(); } #ifdef TIRPC #include extern int t_errno; extern char *t_errlist[]; extern int t_nerr; /* * Log tli call errors * Use where you would want to call t_error(3N). * Calling sequence is * terror(format, arg1, arg2,...) * with zero or more args of types compatible with the associated format * specifiers. */ #ifdef STDC_ARGS void terror(const char *fmt, ...) #else /*VARARGS1*/ void terror(fmt, va_alist) char *fmt ; va_dcl #endif /* STDC_ARGS */ { va_list args ; #ifdef STDC_ARGS va_start(args ,fmt) ; #else va_start(args) ; #endif /* STDC_ARGS */ if(t_errno != 0) { char buf[1024] ; int errnum = t_errno; /* save real t_errno in case we wipe it out */ char *cp ; (void) vsprintf(buf, fmt, args) ; for(cp = buf; *cp != 0 ; cp++) /*EMPTY*/; strcat(cp, ": %s") ; (void) ulog(LOG_ERR, buf, (errnum > 0 && errnum < t_nerr) ? t_errlist[errnum] : "") ; t_errno = 0 ; } else { (void) vulog(LOG_ERR, fmt, args) ; } va_end(args) ; } #endif /* strip off leading path */ char * basename(av0) char *av0 ; { char *logident ; #ifdef vms #define SEP ']' #endif #ifndef SEP #define SEP '/' #endif if ((logident = strrchr(av0, SEP)) == NULL) logident = av0 ; else logident++ ; return logident ; } /* * regerror() in Henry Spencer's regular-expression library calls exit(). * Because his is not desirable, we override the definition here. */ void regerror(msg) const char *msg ; { uerror("regexp(3l): %s", msg) ; } #ifdef TEST0 void timecheck() { time_t now ; struct tm local[1] ; struct tm gmt[1] ; char cp[32] ; (void) time(&now) ; *local = *(localtime(&now)) ; strftime(cp, sizeof(cp), "%b %d %H:%M:%S ", local) ; unotice("Local: %s (%02d)", cp, local->tm_hour) ; *gmt = *(gmtime(&now)) ; /* may dump core */ strftime(cp, sizeof(cp), "%b %d %H:%M:%S ", gmt) ; unotice(" UTC: %s (%02d)", cp, gmt->tm_hour) ; } void ploop(ii) int ii ; { ulog(LOG_ALERT, "%d Alert\n", ii) ; ulog(LOG_CRIT, "%d Crit\n", ii) ; ulog(LOG_ERR, "%d Err\n", ii) ; ulog(LOG_WARNING, "%d Warning\n", ii) ; ulog(LOG_NOTICE, "%d Notice\n", ii) ; ulog(LOG_INFO, "%d Info %d \"%m\" %d %s %f %d\n", ii, 1, 2, "string", 3.1415, 4 ) ; ulog(LOG_DEBUG, "%d Debug\n", ii) ; } void usage(av0) char *av0 ; { fprintf(stderr, "Usage: %s [-l logfname]\n", av0) ; exit(1) ; } main(ac, av) int ac ; char *av[] ; { char *logfname = 0 ; int logfd = -1 ; { extern int optind; extern int opterr; extern char *optarg; int ch; opterr = 1; while ((ch = getopt(ac, av, "l:")) != EOF) switch (ch) { case 'l': logfname = optarg ; break; case '?': usage(av[0]); break; } } printf("ulog[%d]\n", getpid()) ; logfd = openulog("ulog", (LOG_CONS|LOG_PID), LOG_LDM, logfname) ; if(logfd == -1) perror("openulog") ; ploop(0) ; (void) setulogmask(LOG_MASK(LOG_NOTICE)) ; ploop(1) ; (void) setulogmask(LOG_UPTO(LOG_INFO)) ; ploop(2) ; (void) setulogmask(LOG_UPTO(LOG_ALERT)) ; ploop(3) ; (void) setulogmask((LOG_UPTO(LOG_DEBUG) & ~(LOG_UPTO(LOG_CRIT)))) ; ploop(4) ; { int fd = open("/dev/kmem", O_RDWR, 0664) ; if(fd == -1) serror("serror %d %d %s %f %d", 1, 2, "string", 3.1415, 4 ) ; } timecheck() ; /* cheating */ logOptions |= LOG_LOCALTIME ; timecheck() ; closeulog() ; exit(0) ; } #endif #ifdef TEST1 void ploop2(ii) int ii ; { unotice("%d run (notice)", ii) ; errno = 13 ; serror("error: filename") ; serror("noerror") ; uerror("error %d %d %s %f %d", 1, 2, "string", 3.1415, 4 ) ; uinfo("information") ; udebug("debug %d %d %s %f %d", 1, 2, "string", 3.1415, 4 ) ; unotice("\t%d end (notice)", ii) ; } main() { int logfd = -1 ; logfd = openulog("ulog", (LOG_CONS|LOG_PID), LOG_LOCAL0, 0) ; if(logfd == -1) perror("openulog") ; ploop2(1) ; closeulog() ; logfd = openulog("ulog", (LOG_CONS|LOG_PID), LOG_LOCAL0, "logfile") ; (void) setulogmask((LOG_UPTO(LOG_DEBUG) & ~(LOG_MASK(LOG_INFO)))) ; if(logfd == -1) perror("openulog") ; ploop2(2) ; closeulog() ; } #endif xgks-2.6.1+dfsg.2/src/port/misc/alloca.c0000644000175000017500000003342211413611016021010 0ustar amckinstryamckinstry/* alloca.c -- allocate automatically reclaimed memory (Mostly) portable public-domain implementation -- D A Gwyn This implementation of the PWB library alloca function, which is used to allocate space off the run-time stack so that it is automatically reclaimed upon procedure exit, was inspired by discussions with J. Q. Johnson of Cornell. J.Otto Tennant contributed the Cray support. There are some preprocessor constants that can be defined when compiling for your specific system, for improved efficiency; however, the defaults should be okay. The general concept of this implementation is to keep track of all alloca-allocated blocks, and reclaim any that are found to be deeper in the stack than the current invocation. This heuristic does not reclaim storage as soon as it becomes invalid, but it will do so eventually. As a special case, alloca(0) reclaims storage without allocating any. It is a good idea to use alloca(0) in your main control loop, etc. to force garbage collection. */ #ifdef HAVE_CONFIG_H #include #endif #ifdef emacs #include "blockinput.h" #endif /* If compiling with GCC 2, this file's not needed. */ #if !defined (__GNUC__) || __GNUC__ < 2 /* If someone has defined alloca as a macro, there must be some other way alloca is supposed to work. */ #ifndef alloca #ifdef emacs #ifdef static /* actually, only want this if static is defined as "" -- this is for usg, in which emacs must undefine static in order to make unexec workable */ #ifndef STACK_DIRECTION you lose -- must know STACK_DIRECTION at compile-time #endif /* STACK_DIRECTION undefined */ #endif /* static */ #endif /* emacs */ /* If your stack is a linked list of frames, you have to provide an "address metric" ADDRESS_FUNCTION macro. */ #if defined (CRAY) && defined (CRAY_STACKSEG_END) long i00afunc (); #define ADDRESS_FUNCTION(arg) (char *) i00afunc (&(arg)) #else #define ADDRESS_FUNCTION(arg) &(arg) #endif #if __STDC__ typedef void *pointer; #else typedef char *pointer; #endif #define NULL 0 /* Different portions of Emacs need to call different versions of malloc. The Emacs executable needs alloca to call xmalloc, because ordinary malloc isn't protected from input signals. On the other hand, the utilities in lib-src need alloca to call malloc; some of them are very simple, and don't have an xmalloc routine. Non-Emacs programs expect this to call use xmalloc. Callers below should use malloc. */ #if 0 #ifndef emacs #define malloc xmalloc #endif #endif extern pointer malloc (); /* Define STACK_DIRECTION if you know the direction of stack growth for your system; otherwise it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ #ifndef STACK_DIRECTION #define STACK_DIRECTION 0 /* Direction unknown. */ #endif #if STACK_DIRECTION != 0 #define STACK_DIR STACK_DIRECTION /* Known at compile-time. */ #else /* STACK_DIRECTION == 0; need run-time code. */ static int stack_dir; /* 1 or -1 once known. */ #define STACK_DIR stack_dir static void find_stack_direction () { static char *addr = NULL; /* Address of first `dummy', once known. */ auto char dummy; /* To get stack address. */ if (addr == NULL) { /* Initial entry. */ addr = ADDRESS_FUNCTION (dummy); find_stack_direction (); /* Recurse once. */ } else { /* Second entry. */ if (ADDRESS_FUNCTION (dummy) > addr) stack_dir = 1; /* Stack grew upward. */ else stack_dir = -1; /* Stack grew downward. */ } } #endif /* STACK_DIRECTION == 0 */ /* An "alloca header" is used to: (a) chain together all alloca'ed blocks; (b) keep track of stack depth. It is very important that sizeof(header) agree with malloc alignment chunk size. The following default should work okay. */ #ifndef ALIGN_SIZE #define ALIGN_SIZE sizeof(double) #endif typedef union hdr { char align[ALIGN_SIZE]; /* To force sizeof(header). */ struct { union hdr *next; /* For chaining headers. */ char *deep; /* For stack depth measure. */ } h; } header; static header *last_alloca_header = NULL; /* -> last alloca header. */ /* Return a pointer to at least SIZE bytes of storage, which will be automatically reclaimed upon exit from the procedure that called alloca. Originally, this space was supposed to be taken from the current stack frame of the caller, but that method cannot be made to work for some implementations of C, for example under Gould's UTX/32. */ pointer alloca (size) unsigned size; { auto char probe; /* Probes stack depth: */ register char *depth = ADDRESS_FUNCTION (probe); #if STACK_DIRECTION == 0 if (STACK_DIR == 0) /* Unknown growth direction. */ find_stack_direction (); #endif /* Reclaim garbage, defined as all alloca'd storage that was allocated from deeper in the stack than currently. */ { register header *hp; /* Traverses linked list. */ #ifdef emacs BLOCK_INPUT; #endif for (hp = last_alloca_header; hp != NULL;) if ((STACK_DIR > 0 && hp->h.deep > depth) || (STACK_DIR < 0 && hp->h.deep < depth)) { register header *np = hp->h.next; free ((pointer) hp); /* Collect garbage. */ hp = np; /* -> next header. */ } else break; /* Rest are not deeper. */ last_alloca_header = hp; /* -> last valid storage. */ #ifdef emacs UNBLOCK_INPUT; #endif } if (size == 0) return NULL; /* No allocation required. */ /* Allocate combined header + user data storage. */ { register pointer new = malloc (sizeof (header) + size); /* Address of header. */ ((header *) new)->h.next = last_alloca_header; ((header *) new)->h.deep = depth; last_alloca_header = (header *) new; /* User storage begins just after header. */ return (pointer) ((char *) new + sizeof (header)); } } #if defined (CRAY) && defined (CRAY_STACKSEG_END) #ifdef DEBUG_I00AFUNC #include #endif #ifndef CRAY_STACK #define CRAY_STACK #ifndef CRAY2 /* Stack structures for CRAY-1, CRAY X-MP, and CRAY Y-MP */ struct stack_control_header { long shgrow:32; /* Number of times stack has grown. */ long shaseg:32; /* Size of increments to stack. */ long shhwm:32; /* High water mark of stack. */ long shsize:32; /* Current size of stack (all segments). */ }; /* The stack segment linkage control information occurs at the high-address end of a stack segment. (The stack grows from low addresses to high addresses.) The initial part of the stack segment linkage control information is 0200 (octal) words. This provides for register storage for the routine which overflows the stack. */ struct stack_segment_linkage { long ss[0200]; /* 0200 overflow words. */ long sssize:32; /* Number of words in this segment. */ long ssbase:32; /* Offset to stack base. */ long:32; long sspseg:32; /* Offset to linkage control of previous segment of stack. */ long:32; long sstcpt:32; /* Pointer to task common address block. */ long sscsnm; /* Private control structure number for microtasking. */ long ssusr1; /* Reserved for user. */ long ssusr2; /* Reserved for user. */ long sstpid; /* Process ID for pid based multi-tasking. */ long ssgvup; /* Pointer to multitasking thread giveup. */ long sscray[7]; /* Reserved for Cray Research. */ long ssa0; long ssa1; long ssa2; long ssa3; long ssa4; long ssa5; long ssa6; long ssa7; long sss0; long sss1; long sss2; long sss3; long sss4; long sss5; long sss6; long sss7; }; #else /* CRAY2 */ /* The following structure defines the vector of words returned by the STKSTAT library routine. */ struct stk_stat { long now; /* Current total stack size. */ long maxc; /* Amount of contiguous space which would be required to satisfy the maximum stack demand to date. */ long high_water; /* Stack high-water mark. */ long overflows; /* Number of stack overflow ($STKOFEN) calls. */ long hits; /* Number of internal buffer hits. */ long extends; /* Number of block extensions. */ long stko_mallocs; /* Block allocations by $STKOFEN. */ long underflows; /* Number of stack underflow calls ($STKRETN). */ long stko_free; /* Number of deallocations by $STKRETN. */ long stkm_free; /* Number of deallocations by $STKMRET. */ long segments; /* Current number of stack segments. */ long maxs; /* Maximum number of stack segments so far. */ long pad_size; /* Stack pad size. */ long current_address; /* Current stack segment address. */ long current_size; /* Current stack segment size. This number is actually corrupted by STKSTAT to include the fifteen word trailer area. */ long initial_address; /* Address of initial segment. */ long initial_size; /* Size of initial segment. */ }; /* The following structure describes the data structure which trails any stack segment. I think that the description in 'asdef' is out of date. I only describe the parts that I am sure about. */ struct stk_trailer { long this_address; /* Address of this block. */ long this_size; /* Size of this block (does not include this trailer). */ long unknown2; long unknown3; long link; /* Address of trailer block of previous segment. */ long unknown5; long unknown6; long unknown7; long unknown8; long unknown9; long unknown10; long unknown11; long unknown12; long unknown13; long unknown14; }; #endif /* CRAY2 */ #endif /* not CRAY_STACK */ #ifdef CRAY2 /* Determine a "stack measure" for an arbitrary ADDRESS. I doubt that "lint" will like this much. */ static long i00afunc (long *address) { struct stk_stat status; struct stk_trailer *trailer; long *block, size; long result = 0; /* We want to iterate through all of the segments. The first step is to get the stack status structure. We could do this more quickly and more directly, perhaps, by referencing the $LM00 common block, but I know that this works. */ STKSTAT (&status); /* Set up the iteration. */ trailer = (struct stk_trailer *) (status.current_address + status.current_size - 15); /* There must be at least one stack segment. Therefore it is a fatal error if "trailer" is null. */ if (trailer == 0) abort (); /* Discard segments that do not contain our argument address. */ while (trailer != 0) { block = (long *) trailer->this_address; size = trailer->this_size; if (block == 0 || size == 0) abort (); trailer = (struct stk_trailer *) trailer->link; if ((block <= address) && (address < (block + size))) break; } /* Set the result to the offset in this segment and add the sizes of all predecessor segments. */ result = address - block; if (trailer == 0) { return result; } do { if (trailer->this_size <= 0) abort (); result += trailer->this_size; trailer = (struct stk_trailer *) trailer->link; } while (trailer != 0); /* We are done. Note that if you present a bogus address (one not in any segment), you will get a different number back, formed from subtracting the address of the first block. This is probably not what you want. */ return (result); } #else /* not CRAY2 */ /* Stack address function for a CRAY-1, CRAY X-MP, or CRAY Y-MP. Determine the number of the cell within the stack, given the address of the cell. The purpose of this routine is to linearize, in some sense, stack addresses for alloca. */ static long i00afunc (long address) { long stkl = 0; long size, pseg, this_segment, stack; long result = 0; struct stack_segment_linkage *ssptr; /* Register B67 contains the address of the end of the current stack segment. If you (as a subprogram) store your registers on the stack and find that you are past the contents of B67, you have overflowed the segment. B67 also points to the stack segment linkage control area, which is what we are really interested in. */ stkl = CRAY_STACKSEG_END (); ssptr = (struct stack_segment_linkage *) stkl; /* If one subtracts 'size' from the end of the segment, one has the address of the first word of the segment. If this is not the first segment, 'pseg' will be nonzero. */ pseg = ssptr->sspseg; size = ssptr->sssize; this_segment = stkl - size; /* It is possible that calling this routine itself caused a stack overflow. Discard stack segments which do not contain the target address. */ while (!(this_segment <= address && address <= stkl)) { #ifdef DEBUG_I00AFUNC fprintf (stderr, "%011o %011o %011o\n", this_segment, address, stkl); #endif if (pseg == 0) break; stkl = stkl - pseg; ssptr = (struct stack_segment_linkage *) stkl; size = ssptr->sssize; pseg = ssptr->sspseg; this_segment = stkl - size; } result = address - this_segment; /* If you subtract pseg from the current end of the stack, you get the address of the previous stack segment's end. This seems a little convoluted to me, but I'll bet you save a cycle somewhere. */ while (pseg != 0) { #ifdef DEBUG_I00AFUNC fprintf (stderr, "%011o %011o\n", pseg, size); #endif stkl = stkl - pseg; ssptr = (struct stack_segment_linkage *) stkl; size = ssptr->sssize; pseg = ssptr->sspseg; result += size; } return (result); } #endif /* not CRAY2 */ #endif /* CRAY */ #endif /* no alloca */ #endif /* not GCC version 2 */ xgks-2.6.1+dfsg.2/src/port/misc/strstr.c0000644000175000017500000000303711413611016021115 0ustar amckinstryamckinstry/* * $Id: strstr.c,v 1.1 2000/08/07 23:15:04 emmerson Exp $ */ /*LINTLIBRARY*/ #include "udposix.h" #include "string.h" /* strstr.c -- return the offset of one string within another Copyright (C) 1989, 1990 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* Author: Mike Rendell Department of Computer Science michael@garfield.mun.edu Memorial University of Newfoundland ..!uunet!garfield!michael St. John's, Nfld., Canada (709) 737-4550 A1C 5S7 */ /* Return the starting address of string S2 in S1; return 0 if it is not found. */ char * strstr(s1, s2) const char *s1; const char *s2; { int i; char *p1; char *p2; char *s = s1; for (p2 = s2, i = 0; *s; p2 = s2, i++, s++) { for (p1 = s; *p1 && *p2 && *p1 == *p2; p1++, p2++); if (!*p2) break; } return !*p2 ? s1 + i : 0; } xgks-2.6.1+dfsg.2/src/port/misc/memmove.c0000644000175000017500000000102211413611016021211 0ustar amckinstryamckinstry/* * $Id: memmove.c,v 1.1 2000/08/07 23:15:04 emmerson Exp $ */ /*LINTLIBRARY*/ #include "udposix.h" #include "string.h" /* * Copy bytes. Handle overlap correctly. */ voidp memmove(s1, s2, n) voidp s1; const voidp s2; size_t n; { char *sc1 = (char*)s1; const char *sc2 = (const char*)s2; if (sc2 < sc1 && sc1 < sc2 + n) for (sc1 += n, sc2 += n; 0 < n; --n) *--sc1 = *--sc2; /* copy backwards */ else for (; 0 < n; --n) *sc1++ = *sc2++; /* copy forwards */ return s1; } xgks-2.6.1+dfsg.2/src/port/misc/regex.h0000644000175000017500000000334611413611016020676 0ustar amckinstryamckinstry/* * $Id: regex.h,v 1.1 2000/08/07 23:15:04 emmerson Exp $ * * This file supports the POSIX.2 (yes, that's numeral two) regular * expression API. It does this via the LDM's regular expression API * unless we're on an AIX platform, in which case we use the native POSIX.2 * API. */ #ifndef UD_REGEX_H #define UD_REGEX_H #include "udposix.h" #if defined(_AIX) # include "///usr/include/regex.h" #else # include "stddef.h" # include "regexp.h" /* LDM's regular expression API */ typedef struct regex { regexp *regexp; size_t re_nsub; int cflags; } regex_t; typedef ptrdiff_t regoff_t; typedef struct regmatch { regoff_t rm_so; regoff_t rm_eo; } regmatch_t; UD_EXTERN_FUNC(int ldm_regcomp, ( regex_t *preg, const char *pattern, int cflags /* REG_NOSUB | REG_ICASE */ )); # define REG_EXTENDED 1 /* use extended regular expressions */ # define REG_ICASE 2 /* ignore case */ # define REG_NOSUB 4 /* ignore subexpressions */ UD_EXTERN_FUNC(int ldm_regexec, ( const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags )); UD_EXTERN_FUNC(size_t ldm_regerror, ( int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size )); UD_EXTERN_FUNC(void ldm_regfree, ( regex_t *preg )); /* * Error codes for regcomp() and regexec(): */ # define REG_SUCCESS 0 # define REG_NOMATCH 1 # define REG_BADPAT 3 # define REG_ESPACE 4 # define REG_EINVAL 5 /* * Define the POSIX.2 functions to our functions. */ # define regcomp ldm_regcomp # define regexec ldm_regexec # define regerror ldm_regerror # define regfree ldm_regfree #endif /* not AIX */ #endif /* header-file lockout */ xgks-2.6.1+dfsg.2/src/port/misc/udalloc.c0000644000175000017500000000347111413611016021201 0ustar amckinstryamckinstry/* * $Id: udalloc.c,v 1.1 2000/08/07 23:15:04 emmerson Exp $ * * This file implements the Unidata memory-allocation abstraction. */ /*LINTLIBRARY*/ #include "udposix.h" #include /* for size_t and NULL */ #include #include #include #include "udalloc.h" #ifdef lint static void lint_malloc(n) size_t n; { ++n; } static void lint_realloc(p,n) voidp p; size_t n; { n+=(size_t)p; } # define malloc(n) (lint_malloc(n), (voidp)NULL) # define realloc(p,n) (lint_realloc(p,n), (voidp)NULL) #endif /* * Allocate storage. If unsuccessful, print error message and return * a null pointer. */ voidp udmalloc(nbytes) size_t nbytes; { if (nbytes > 0) { voidp mem = malloc(nbytes); return mem; } else { return NULL; } } /* * Reallocate storage. If unsuccessful, print error message and return * a null pointer. A null pointer is also returned if the requested * size is non-positive. If a null pointer is returned, then the * contents pointed at by the original pointer should be unchanged. */ voidp udrealloc(ptr, nbytes) voidp ptr; size_t nbytes; { if (nbytes > 0) { voidp mem = ptr == NULL ? udmalloc(nbytes) : (voidp) realloc(ptr, nbytes); return mem; } else { return NULL; } } /* * Duplicate a given number of characters. 0-terminate the string. */ char* udstrndup(from, len) const char *from; /* string */ size_t len; /* string length (excluding '\0' ) */ { char *to; if (from == NULL) { to = NULL; } else { to = UD_ALLOC((size_t)(len+1), char); if (to != NULL) { (void)strncpy(to, from, len); to[len] = 0; } } return to; } /* * Duplicate a string. */ char* udstrdup(from) const char *from; { return udstrndup(from, strlen(from)); } xgks-2.6.1+dfsg.2/src/port/misc/udalloc.h0000644000175000017500000000151411413611016021202 0ustar amckinstryamckinstry/* * $Id: udalloc.h,v 1.1 2000/08/07 23:15:04 emmerson Exp $ */ #ifndef UD_ALLOC_H_INCLUDED #define UD_ALLOC_H_INCLUDED #include /* for `size_t' */ #include /* for `*alloc()' */ /* * Interface to the Unidata memory-allocation abstraction: */ UD_EXTERN_FUNC(voidp udmalloc, (size_t nbytes)); UD_EXTERN_FUNC(voidp udrealloc, (voidp ptr, size_t nbytes)); UD_EXTERN_FUNC(char *udstrdup, (const char *s)); UD_EXTERN_FUNC(char *udstrndup, (const char *s, size_t nbytes)); /* * Some macros to make life easier: */ #define UD_ALLOC(theNum, theType) \ (theType*)udmalloc((size_t)(sizeof(theType)*(theNum))) #define UD_REALLOC(ptr, theNum, theType) \ (theType*)udrealloc((voidp)(ptr), \ (size_t)(sizeof(theType)*(theNum))) #define FREE(ptr) (void)free((voidp)(ptr)) #endif /* !UD_ALLOC_H_INCLUDED */ xgks-2.6.1+dfsg.2/src/port/misc/search.h.in0000644000175000017500000000241611413611016021433 0ustar amckinstryamckinstry/* * $Id: search.h.in,v 1.1 2000/08/07 23:15:04 emmerson Exp $ */ #ifndef UD_search_h #define UD_search_h #define UD_SYSTEM_SEARCH_H "///usr/include/search.h" #undef UD_NO_SEARCH_H_ENTRY #undef UD_NO_SEARCH_H_ACTION #undef UD_NO_SEARCH_H_VISIT #undef UD_NO_TSEARCH_DECL #undef UD_NO_TFIND_DECL #undef UD_NO_TDELETE_DECL #undef UD_NO_TWALK_DECL #include "udposix.h" #include UD_SYSTEM_SEARCH_H #ifdef UD_NO_SEARCH_H_ENTRY typedef struct entry { char *key, *data; } ENTRY; #endif #ifdef UD_NO_SEARCH_H_ACTION typedef enum { FIND, ENTER } ACTION; #endif #ifdef UD_NO_SEARCH_H_VISIT typedef enum { preorder, postorder, endorder, leaf } VISIT; #endif #ifdef UD_NO_TSEARCH_DECL UD_EXTERN_FUNC(void* tsearch, (const void *key, void **rootp, int (*compar)UD_PROTO((const void*, const void*)))); #endif #ifdef UD_NO_TFIND_DECL UD_EXTERN_FUNC(void* tfind, (const void *key, void *const*rootp, int (*compar)UD_PROTO((const void*, const void*)))); #endif #ifdef UD_NO_TDELETE_DECL UD_EXTERN_FUNC(void *tdelete, (const void *key, void **rp, int (*compar)UD_PROTO((const void*, const void*)))); #endif #ifdef UD_NO_TWALK_DECL UD_EXTERN_FUNC(void twalk, (const void *rt, void (*action)UD_PROTO((const void*, VISIT, int)))); #endif #endif /* header-file lockout*/ xgks-2.6.1+dfsg.2/src/port/misc/tsearch.c0000644000175000017500000000237611413611016021212 0ustar amckinstryamckinstry/* * Tree search generalized from Knuth (6.2.2) Algorithm T just like * the AT&T man page says. * * The node_t structure is for internal use only, lint doesn't grok it. * * Written by reading the System V Interface Definition, not the code. * * Totally public domain. */ /*LINTLIBRARY*/ #include #include "search-node.h" void *tsearch(key, rp, compar) /* find or insert datum into search tree */ const void *key; /* key to be located */ void **rp; /* address of tree root */ int (*compar)(); /* ordering function */ { register node *q; register node **rootp = (node**)rp; /* address of tree root */ if (rootp == (struct node_t **)0) return 0; while (*rootp != (struct node_t *)0) /* Knuth's T1: */ { int r; if ((r = (*compar)(key, (*rootp)->key)) == 0) /* T2: */ return &(*rootp)->key; /* we found it! */ rootp = (r < 0) ? &(*rootp)->left : /* T3: follow left branch */ &(*rootp)->right; /* T4: follow right branch */ } q = (node *) malloc(sizeof(node)); /* T5: key not found */ if (q != (struct node_t *)0) /* make new node */ { *rootp = q; /* link new node to old */ q->key = key; /* initialize new node */ q->left = q->right = (struct node_t *)0; } return &q->key; } xgks-2.6.1+dfsg.2/src/port/misc/strftime.30000644000175000017500000001362111413611016021331 0ustar amckinstryamckinstry.TH STRFTIME 3 .SH NAME strftime \- generate formatted time information .SH SYNOPSIS .ft B .nf #include #include .sp size_t strftime(char *s, size_t maxsize, const char *format, const struct tm *timeptr); .SH DESCRIPTION The following description is transcribed verbatim from the December 7, 1988 draft standard for ANSI C. This draft is essentially identical in technical content to the final version of the standard. .LP The .B strftime function places characters into the array pointed to by .B s as controlled by the string pointed to by .BR format . The format shall be a multibyte character sequence, beginning and ending in its initial shift state. The .B format string consists of zero or more conversion specifiers and ordinary multibyte characters. A conversion specifier consists of a .B % character followed by a character that determines the behavior of the conversion specifier. All ordinary multibyte characters (including the terminating null character) are copied unchanged into the array. If copying takes place between objects that overlap the behavior is undefined. No more than .B maxsize characters are placed into the array. Each conversion specifier is replaced by appropriate characters as described in the following list. The appropriate characters are determined by the .B LC_TIME category of the current locale and by the values contained in the structure pointed to by .BR timeptr . .TP .B %a is replaced by the locale's abbreviated weekday name. .TP .B %A is replaced by the locale's full weekday name. .TP .B %b is replaced by the locale's abbreviated month name. .TP .B %B is replaced by the locale's full month name. .TP .B %c is replaced by the locale's appropriate date and time representation. .TP .B %d is replaced by the day of the month as a decimal number .RB ( 01 - 31 ). .TP .B %H is replaced by the hour (24-hour clock) as a decimal number .RB ( 00 - 23 ). .TP .B %I is replaced by the hour (12-hour clock) as a decimal number .RB ( 01 - 12 ). .TP .B %j is replaced by the day of the year as a decimal number .RB ( 001 - 366 ). .TP .B %m is replaced by the month as a decimal number .RB ( 01 - 12 ). .TP .B %M is replaced by the minute as a decimal number .RB ( 00 - 59 ). .TP .B %p is replaced by the locale's equivalent of the AM/PM designations associated with a 12-hour clock. .TP .B %S is replaced by the second as a decimal number .RB ( 00 - 61 ). .TP .B %U is replaced by the week number of the year (the first Sunday as the first day of week 1) as a decimal number .RB ( 00 - 53 ). .TP .B %w is replaced by the weekday as a decimal number .RB [ "0 " (Sunday)- 6 ]. .TP .B %W is replaced by the week number of the year (the first Monday as the first day of week 1) as a decimal number .RB ( 00 - 53 ). .TP .B %x is replaced by the locale's appropriate date representation. .TP .B %X is replaced by the locale's appropriate time representation. .TP .B %y is replaced by the year without century as a decimal number .RB ( 00 - 99 ). .TP .B %Y is replaced by the year with century as a decimal number. .TP .B %Z is replaced by the time zone name or abbreviation, or by no characters if no time zone is determinable. .TP .B %% is replaced by .BR % . .LP If a conversion specifier is not one of the above, the behavior is undefined. .SH RETURNS If the total number of resulting characters including the terminating null character is not more than .BR maxsize , the .B strftime function returns the number of characters placed into the array pointed to by .B s not including the terminating null character. Otherwise, zero is returned and the contents of the array are indeterminate. .SH NON-ANSI EXTENSIONS If .B SYSV_EXT is defined when the routine is compiled, then the following additional conversions will be available. These are borrowed from the System V .IR cftime (3) and .IR ascftime (3) routines. .TP .B %D is equivalent to specifying .BR %m/%d/%y . .TP .B %e is replaced by the day of the month, padded with a blank if it is only one digit. .TP .B %h is equivalent to .BR %b , above. .TP .B %n is replaced with a newline character (\s-1ASCII LF\s+1). .TP .B %r is equivalent to specifying .BR "%I:%M:%S %p" . .TP .B %R is equivalent to specifying .BR %H:%M . .TP .B %T is equivalent to specifying .BR %H:%M:%S . .TP .B %t is replaced with a \s-1TAB\s+1 character. .SH POSIX 1003.2 EXTENSIONS If .B POSIX2_DATE is defined, then all of the conversions available with .B SYSV_EXT are available, as well as the following additional conversions: .TP .B %C The century, as a number between 00 and 99. .LP In additon, the alternate representations .BR %Ec , .BR %EC , .BR %Ex , .BR %Ey , .BR %EY , .BR %Od , .BR %Oe , .BR %OH , .BR %OI , .BR %Om , .BR %OM , .BR %OS , .BR %OU , .BR %Ow , .BR %OW , and .B %Oy are recognized, but their normal representations are used. .SH VMS EXTENSIONS If .B VMS_EXT is defined, then the following additional conversion is available: .TP .B %V The date in VMS format (e.g. 20-JUN-1991). .SH SEE ALSO time(2), ctime(3), localtime(3) .SH BUGS This version does not handle multibyte characters or pay attention to the setting of the .B LC_TIME environment variable. .LP It is not clear what is ``appropriate'' for the C locale; the values returned are a best guess on the author's part. .SH CAVEATS This implementation calls .IR tzset (3) exactly once. If the .B TZ environment variable is changed after .B strftime has been called, then .IR tzset (3) must be called again, explicitly, in order for the correct timezone information to be available. This behavior is not POSIX-conformant. To force POSIX semantics, define .B POSIX_SEMANTICS when compiling. .SH AUTHOR .nf Arnold Robbins .sp INTERNET: arnold@skeeve.atl.ga.us UUCP: emory!skeeve!arnold Phone: +1 404 248 9324 .fi .SH ACKNOWLEDGEMENTS Thanks to Geoff Clare for helping debug earlier versions of this routine, and for advice about POSIX semantics. Additional thanks to Arthur David Olsen for some code improvements. xgks-2.6.1+dfsg.2/src/port/misc/config.c0000644000175000017500000017432611413611016021033 0ustar amckinstryamckinstry/* Everything you wanted to know about your machine and C compiler, but didn't know who to ask. */ #ifndef VERSION #define VERSION "4.2" #endif /* Author: Steven Pemberton, CWI, Amsterdam; steven@cwi.nl Bugfixes and upgrades gratefully received. Copyright (c) 1988, 1989, 1990 Steven Pemberton, CWI, Amsterdam. All rights reserved. COMPILING With luck and a following wind, just the following will work: cc config.c -o config You may get some messages about unreachable code. This is OK. If your compiler doesn't support: add flag: signed char (eg pcc) -DNO_SC unsigned char -DNO_UC unsigned short and long -DNO_UI void -DNO_VOID signal(), or setjmp/longjmp() -DNO_SIG Try to compile first with no flags, and see if you get any errors - you might be surprised. (Most non-ANSI compilers need -DNO_SC, though.) Some compilers need a -f flag for floating point. If your C preprocessor doesn't have the predefined __FILE__ macro, and you don't want to call this file config.c but, say, params.c, add the flag -D__FILE__=\"params.c\" . Some naughty compilers define __STDC__, but don't really support it (typically they define __STDC__ as 0). If this is the case for you, add flag -DNO_STDC. (To those compiler writers: for shame). Some bad compilers won't accept the line "#include __FILE__" or "#ifdef __FILE__". Add flag -DNO_FILE. In that case, this file *must* be called config.c. Don't use any optimisation flags: the program may not work if you do. Though "while (a+1.0-a-1.0 == 0.0)" may look like "while(1)" to an optimiser, to a floating-point unit there's a world of difference. Some compilers offer various flags for different floating point modes; it's worth trying all possible combinations of these. Add -DID=\"name\" if you want the machine/flags identified in the output. While it is not our policy to support defective compilers, pity has been taken on people with compilers that can't produce object files bigger than 32k (especially since it was an easy addition). Compile the program into separate parts like this: cc -DSEP -DPASS0 -o p0.o config.c cc -DSEP -DPASS1 -o p1.o config.c cc -DSEP -DPASS2 -o p2.o config.c cc -DSEP -DPASS3 -o p3.o config.c cc -o config p0.o p1.o p2.o p3.o SYSTEM DEPENDENCIES You may possibly need to add some calls to signal() for other sorts of exception on your machine than SIGFPE, and SIGOVER. See lines beginning #ifdef SIGxxx in main() (and communicate the differences to me!). OUTPUT Run without argument to get the information as English text. If run with argument -l (e.g. config -l), output is a series of #define's for the ANSI standard limits.h include file, excluding MB_MAX_CHAR. If run with argument -f, output is a series of #define's for the ANSI standard float.h include file (according to ANSI C Draft of May 13, 1988). Flag -v gives verbose output: output includes the English text above as C comments. The program exit(0)'s if everything went ok, otherwise it exits with a positive number, telling how many problems there were. VERIFYING THE COMPILER If, having produced the float.h and limits.h header files, you want to verify that the compiler reads them back correctly (there are a lot of boundary cases, of course, like minimum and maximum numbers), you can recompile config.c with -DVERIFY set (plus the other flags that you used when compiling the version that produced the header files). This then recompiles the program so that it #includes "limits.h" and "float.h", and checks that the constants it finds there are the same as the constants it produces. Run the resulting program with config -fl. Very few compilers have passed without error. You can also use this option if your compiler already has both files, and you want to confirm that this program produces the right results. TROUBLESHOOTING. This program is now quite trustworthy, and suspicious and wrong output may well be caused by bugs in the compiler, not in the program (however of course, this is not guaranteed, and no responsibility can be accepted, etc.) The program only works if overflows are ignored by the C system or are catchable with signal(). If the program fails to run to completion (often with the error message "Unexpected signal at point x"), this often turns out to be a bug in the C compiler's run-time system. Check what was about to be printed, and try to narrow the problem down. Another possible problem is that you have compiled the program to produce loss-of-precision arithmetic traps. The program cannot cope with these, and you should re-compile without them. (They should never be the default). Make sure you compiled with optimisation turned off. Output preceded by *** WARNING: identifies behaviour of the C system deemed incorrect by the program. Likely problems are that printf or scanf don't cope properly with certain boundary numbers: this program goes to a lot of trouble to calculate its values, and these values are mostly boundary numbers. Experience has shown that often printf cannot cope with these values, and so in an attempt to increase confidence in the output, for each float and double that is printed, the printed value is checked by using sscanf to read it back. Care is taken that numbers are printed with enough digits to uniquely identify them, and therefore that they can be read back identically. If the number read back is different, then there is probably a bug in printf or sscanf, and the program prints the warning message. If the two numbers in the warning look identical, then printf is more than likely rounding the last digit(s) incorrectly. To put you at ease that the two really are different, the bit patterns of the two numbers are also printed. The difference is very likely in the last bit. Many scanf's read the minimum double back as 0.0, and similarly cause overflow when reading the maximum double. The program quite ruthlessly declares all these behaviours faulty. The point is that if you get one of these warnings, the output may be wrong, so you should check the result carefully if you intend to use the results. Of course, printf and sscanf may both be wrong, and cancel each other out, so you should check the output carefully anyway. The warning that "a cast didn't work" refers to cases like this: float f; #define C 1.234567890123456789 f= C; if (f != (float) C) printf ("Wrong!"); A faulty compiler will widen f to double and ignore the cast to float, and because there is more accuracy in a double than a float, fail to recognise that they are the same. In the actual case in point, f and C are passed as parameters to a function that discovers they are not equal, so it's just possible that the error was in the parameter passing, not in the cast (see function Validate()). For ANSI C, which has float constants, the error message is "constant has wrong precision". REPORTING PROBLEMS If the program doesn't work for you for any reason that can't be narrowed down to a problem in the C compiler, or it has to be changed in order to get it to compile, or it produces suspicious output (like a very low maximum float, for instance), please mail the problem and an example of the incorrect output to steven@cwi.nl or ..!hp4nl!cwi.nl!steven, so that improvements can be worked into future versions; cwi.nl is the European backbone, and is connected to uunet and other fine hosts. The program tries to catch and diagnose bugs in the compiler/run-time system. I would be especially pleased to have reports of failures so that I can improve this service. I apologise unreservedly for the contorted use of the preprocessor... THE SMALL PRINT You may copy and distribute verbatim copies of this source file. You may modify this source file, and copy and distribute such modified versions, provided that you leave the copyright notice at the top of the file and also cause the modified file to carry prominent notices stating that you changed the files and the date of any change; and cause the whole of any work that you distribute or publish, that in whole or in part contains or is a derivative of this program or any part thereof, to be licensed at no charge to all third parties on terms identical to those here. If you do have a fix to any problem, please send it to me, so that other people can have the benefits. While every effort has been taken to make this program as reliable as possible, no responsibility can be taken for the correctness of the output, or suitability for any particular use. ACKNOWLEDGEMENTS Many people have given time and ideas to making this program what it is. To all of them thanks, and apologies for not mentioning them by name. HISTORY 4.0 Added -f and -l options, and warnings 4.1 Added VERIFY 4.2 Added SEP Fixed eps/epsneg Added check for pseudo-unsigned chars Added description for each #define output Added check for absence of defines during verify Added prototypes Added NO_STDC and NO_FILE Fixed alignments output */ #ifndef NO_FILE #ifndef __FILE__ #define __FILE__ "config.c" #endif #endif /* If PASS isn't defined, then this is the first pass over this file. */ #ifndef PASS #ifndef SEP #define PASS 1 #define PASS0 1 #define PASS1 1 #endif /* SEP */ /* A description of the ANSI constants */ #define D_CHAR_BIT "Number of bits in a storage unit" #define D_CHAR_MAX "Maximum char" #define D_CHAR_MIN "Minimum char" #define D_SCHAR_MAX "Maximum signed char" #define D_SCHAR_MIN "Minimum signed char" #define D_UCHAR_MAX "Maximum unsigned char (minimum is always 0)" #define D_INT_MAX "Maximum %s" #define D_INT_MIN "Minimum %s" #define D_UINT_MAX "Maximum unsigned %s (minimum is always 0)" #define D_FLT_ROUNDS "Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown" #define D_FLT_RADIX "Radix of exponent representation" #define D_MANT_DIG "Number of base-FLT_RADIX digits in the mantissa of a %s" #define D_DIG "Number of decimal digits of precision in a %s" #define D_MIN_EXP "Minimum int x such that FLT_RADIX**(x-1) is a normalised %s" #define D_MIN_10_EXP "Minimum int x such that 10**x is a normalised %s" #define D_MAX_EXP "Maximum int x such that FLT_RADIX**(x-1) is a representable %s" #define D_MAX_10_EXP "Maximum int x such that 10**x is a representable %s" #define D_MAX "Maximum %s" #define D_EPSILON "Minimum %s x such that 1.0+x != 1.0" #define D_MIN "Minimum normalised %s" /* Procedure just marks the functions that don't return a result */ #ifdef NO_VOID #define Procedure int #else #define Procedure void #endif /* Some bad compilers define __STDC__, when they don't support it. Compile with -DNO_STDC to get round this. */ #ifndef NO_STDC #ifdef __STDC__ #define STDC #endif #endif /* Stuff different for ANSI C, and old C: ARGS and NOARGS are used for function prototypes. Volatile is used to reduce the chance of optimisation, and to prevent variables being put in registers (when setjmp/longjmp wouldn't work as we want) Long_double is the longest floating point type available. stdc is used in tests like "if (stdc)", which is less ugly than #ifdef. U is output after unsigned constants. */ #ifdef STDC #define ARGS(x) x #define NOARGS (void) #define Volatile volatile #define Long_double long double #define stdc 1 #define U "U" #else /* Old style C */ #define ARGS(x) () #define NOARGS () #define Volatile static #define Long_double double #define stdc 0 #define U "" #endif /* STDC */ /* include files */ #include #ifdef NO_SIG #define jmp_buf int #else #include #include #endif #ifdef VERIFY #include "limits.h" #include "float.h" #endif #define Vprintf if (V) printf #define Unexpected(place) if (setjmp(lab)!=0) croak(place) #define fabs(x) (((x)<0.0)?(-x):(x)) #endif /* PASS */ #ifdef PASS0 /* Prototypes for what's to come: */ char *malloc ARGS((unsigned size)); Procedure exit ARGS((int status)); char *f_rep ARGS((int precision, Long_double val)); int cprop NOARGS; int basic NOARGS; Procedure sprop NOARGS; Procedure iprop NOARGS; Procedure lprop NOARGS; Procedure usprop NOARGS; Procedure uiprop NOARGS; Procedure ulprop NOARGS; int fprop ARGS((int bits_per_byte)); int dprop ARGS((int bits_per_byte)); int ldprop ARGS((int bits_per_byte)); Procedure efprop ARGS((int fprec, int dprec, int lprec)); Procedure edprop ARGS((int fprec, int dprec, int lprec)); Procedure eldprop ARGS((int fprec, int dprec, int lprec)); int setmode ARGS((char *s)); Procedure farewell ARGS((int bugs)); Procedure describe ARGS((char *description, char *extra)); Procedure check_defines NOARGS; Procedure bitpattern ARGS((char *p, unsigned int size)); int ceil_log ARGS((int base, Long_double x)); Procedure croak ARGS((int place)); Procedure eek_a_bug ARGS((char *problem)); Procedure endian ARGS((int bits_per_byte)); int exponent ARGS((Long_double x, double *fract, int *exp)); int floor_log ARGS((int base, Long_double x)); Procedure f_define ARGS((char *desc, char *extra, char *sort, char *name, int prec, Long_double val, char *mark)); Procedure i_define ARGS((char *desc, char *extra, char *sort, char *name, long val, long req, char *mark)); Procedure u_define ARGS((char *desc, char *extra, char *sort, char *name, unsigned long val, unsigned long req, char *mark)); #ifdef NO_SIG /* There's no signal(), or setjmp/longjmp() */ /* Dummy routines instead */ Procedure setjmp ARGS((int lab)); int lab=1; int setjmp(lab) int lab; { return(0); } Procedure signal(i, p) int i, (*p)(); {} #else jmp_buf lab; Procedure overflow(sig) int sig; { /* what to do on over/underflow */ signal(sig, overflow); longjmp(lab, 1); } #endif /*NO_SIG*/ int V= 0, /* verbose */ L= 0, /* produce limits.h */ F= 0, /* produce float.h */ bugs=0; /* The number of (possible) bugs in the output */ char co[4], oc[4]; /* Comment starter and ender symbols */ int bits_per_byte; /* the number of bits per unit returned by sizeof() */ int flt_rounds; /* The calculated value of FLT_ROUNDS */ int flt_radix; /* The calculated value of FLT_RADIX */ #ifdef TEST /* Set the fp modes on a SUN with 68881 chip, to check that different rounding modes etc. get properly detected. Compile with additional flag -DTEST, and run with additional parameter +hex-number, to set the 68881 mode register to hex-number */ /* Bits 0x30 = rounding mode: */ #define ROUND_BITS 0x30 #define TO_NEAREST 0x00 #define TO_ZERO 0x10 #define TO_MINUS_INF 0x20 #define TO_PLUS_INF 0x30 /* The SUN FP user's guide seems to be wrong here */ /* Bits 0xc0 = extended rounding: */ #define EXT_BITS 0xc0 #define ROUND_EXTENDED 0x00 #define ROUND_SINGLE 0x40 #define ROUND_DOUBLE 0x80 /* Enabled traps: */ #define EXE_INEX1 0x100 #define EXE_INEX2 0x200 #define EXE_DZ 0x400 #define EXE_UNFL 0x800 #define EXE_OVFL 0x1000 #define EXE_OPERR 0x2000 #define EXE_SNAN 0x4000 #define EXE_BSUN 0x8000 /* Only used for testing, on a Sun with 68881 chip */ /* Print the FP mode */ printmode(new) unsigned new; { fpmode_(&new); printf("New fp mode:\n"); printf(" Round toward "); switch (new & ROUND_BITS) { case TO_NEAREST: printf("nearest"); break; case TO_ZERO: printf("zero"); break; case TO_MINUS_INF: printf("minus infinity"); break; case TO_PLUS_INF: printf("plus infinity"); break; default: printf("???"); break; } printf("\n Extended rounding precision: "); switch (new & EXT_BITS) { case ROUND_EXTENDED: printf("extended"); break; case ROUND_SINGLE: printf("single"); break; case ROUND_DOUBLE: printf("double"); break; default: printf("???"); break; } printf("\n Enabled exceptions:"); if (new & (unsigned) EXE_INEX1) printf(" inex1"); if (new & (unsigned) EXE_INEX2) printf(" inex2"); if (new & (unsigned) EXE_DZ) printf(" dz"); if (new & (unsigned) EXE_UNFL) printf(" unfl"); if (new & (unsigned) EXE_OVFL) printf(" ovfl"); if (new & (unsigned) EXE_OPERR) printf(" operr"); if (new & (unsigned) EXE_SNAN) printf(" snan"); if (new & (unsigned) EXE_BSUN) printf(" bsun"); printf("\n"); } /* Only used for testing, on a Sun with 68881 chip */ /* Set the FP mode */ int setmode(s) char *s; { unsigned mode=0, dig; char c; while (*s) { c= *s++; if (c>='0' && c<='9') dig= c-'0'; else if (c>='a' && c<='f') dig= c-'a'+10; else if (c>='A' && c<='F') dig= c-'A'+10; else return 1; mode= mode<<4 | dig; } printmode(mode); return 0; } #else int setmode(s) char *s; { fprintf(stderr, "Can't set mode: not compiled with TEST\n"); return(1); } #endif Procedure farewell(bugs) int bugs; { if (bugs > 0) { printf("\n%sFor hints on dealing with the problems above", co); printf("\n see the section 'TROUBLESHOOTING' in the file "); printf("%s%s\n", __FILE__, oc); } exit(bugs); } /* The program has received a signal where it wasn't expecting one */ Procedure croak(place) int place; { printf("*** Unexpected signal at point %d\n", place); farewell(bugs+1); /* An exit isn't essential here, but avoids loops */ } main(argc, argv) int argc; char *argv[]; { int dprec, fprec, lprec; unsigned int size; long total; int i; char *s; int bad; #ifdef SIGFPE signal(SIGFPE, overflow); #endif #ifdef SIGOVER signal(SIGOVER, overflow); #endif /* Add more calls as necessary */ Unexpected(1); bad=0; for (i=1; i < argc; i++) { s= argv[i]; if (*s == '-') { s++; while (*s) { switch (*(s++)) { case 'v': V=1; break; case 'l': L=1; break; case 'f': F=1; break; default: bad=1; break; } } } else if (*s == '+') { s++; bad= setmode(s); } else bad= 1; } if (bad) { fprintf(stderr, "Usage: %s [-vlf]\n v=Verbose l=Limits.h f=Float.h\n", argv[0]); exit(1); } if (L || F) { co[0]= '/'; oc[0]= ' '; co[1]= '*'; oc[1]= '*'; co[2]= ' '; oc[2]= '/'; co[3]= '\0'; oc[3]= '\0'; } else { co[0]= '\0'; oc[0]= '\0'; V=1; } if (L) printf("%slimits.h%s\n", co, oc); if (F) printf("%sfloat.h%s\n", co, oc); #ifdef ID printf("%sProduced on %s by config version %s, CWI, Amsterdam%s\n", co, ID, VERSION, oc); #else printf("%sProduced by config version %s, CWI, Amsterdam%s\n", co, VERSION, oc); #endif #ifdef VERIFY printf("%sVerification phase%s\n", co, oc); #endif #ifdef NO_SIG Vprintf("%sCompiled without signal(): %s%s\n", co, "there's nothing that can be done if overflow occurs", oc); #endif #ifdef NO_SC Vprintf("%sCompiled without signed char%s\n", co, oc); #endif #ifdef NO_UC Vprintf("%Compiled without unsigned char%s\n", co, oc); #endif #ifdef NO_UI Vprintf("%Compiled without unsigned short or long%s\n", co, oc); #endif #ifdef __STDC__ Vprintf("%sCompiler claims to be ANSI C level %d%s\n", co, __STDC__, oc); #else Vprintf("%sCompiler does not claim to be ANSI C%s\n", co, oc); #endif printf("\n"); check_defines(); bits_per_byte= basic(); Vprintf("\n"); if (F||V) { fprec= fprop(bits_per_byte); dprec= dprop(bits_per_byte); lprec= ldprop(bits_per_byte); efprop(fprec, dprec, lprec); edprop(fprec, dprec, lprec); eldprop(fprec, dprec, lprec); } if (V) { /* An extra goody: the approximate amount of data-space */ /* Allocate store until no more available */ size=1<<((bits_per_byte*sizeof(int))-2); total=0; while (size!=0) { while (malloc(size)!=(char *)NULL) total+=(size/2); size/=2; } Vprintf("%sMemory mallocatable ~= %ld Kbytes%s\n", co, (total+511)/512, oc); } farewell(bugs); return bugs; /* To keep compilers and lint happy */ } Procedure eek_a_bug(problem) char *problem; { /* The program has discovered a problem */ printf("\n%s*** WARNING: %s%s\n", co, problem, oc); bugs++; } Procedure describe(description, extra) char *description, *extra; { /* Produce the description for a #define */ printf(" %s", co); printf(description, extra); printf("%s\n", oc); } Procedure i_define(desc, extra, sort, name, val, req, mark) char *desc, *extra, *sort, *name; long val, req; char *mark; { /* Produce a #define for a signed int type */ describe(desc, extra); if (val >= 0) { printf("#define %s%s %ld%s\n", sort, name, val, mark); } else { printf("#define %s%s (%ld%s)\n", sort, name, val, mark); } if (val != req) { printf("%s*** Verify failed for above #define!\n", co); printf(" Compiler has %ld for value%s\n\n", req, oc); bugs++; } Vprintf("\n"); } Procedure u_define(desc, extra, sort, name, val, req, mark) char *desc, *extra, *sort, *name; unsigned long val, req; char *mark; { /* Produce a #define for an unsigned value */ describe(desc, extra); printf("#define %s%s %lu%s%s\n", sort, name, val, U, mark); if (val != req) { printf("%s*** Verify failed for above #define!\n", co); printf(" Compiler has %lu for value%s\n\n", req, oc); bugs++; } Vprintf("\n"); } Procedure f_define(desc, extra, sort, name, precision, val, mark) char *desc, *extra, *sort, *name; int precision; Long_double val; char *mark; { /* Produce a #define for a float/double/long double */ describe(desc, extra); if (stdc) { printf("#define %s%s %s%s\n", sort, name, f_rep(precision, val), mark); } else if (*mark == 'F') { /* non-ANSI C has no float constants, so cast the constant */ printf("#define %s%s ((float)%s)\n", sort, name, f_rep(precision, val)); } else { printf("#define %s%s %s\n", sort, name, f_rep(precision, val)); } Vprintf("\n"); } int floor_log(base, x) int base; Long_double x; { /* return floor(log base(x)) */ int r=0; while (x>=base) { r++; x/=base; } return r; } int ceil_log(base, x) int base; Long_double x; { int r=0; while (x>1.0) { r++; x/=base; } return r; } int exponent(x, fract, exp) Long_double x; double *fract; int *exp; { /* Split x into a fraction and a power of ten; returns 0 if x is unusable, 1 otherwise. Only used for error messages about faulty output. */ int r=0, neg=0; Long_double old; *fract=0.0; *exp=0; if (x<0.0) { x= -x; neg= 1; } if (x==0.0) return 1; if (x>=10.0) { while (x>=10.0) { old=x; r++; x/=10.0; if (old==x) return 0; } } else { while (x<1.0) { old=x; r--; x*=10.0; if (old==x) return 0; } } if (neg) *fract= -x; else *fract=x; *exp=r; return 1; } char *f_rep(precision, val) int precision; Long_double val; { /* Return the floating representation of val */ static char buf[1024]; char *f1; if (sizeof(double) == sizeof(Long_double)) { /* Assume they're the same, and use non-stdc format */ /* This is for stdc compilers using non-stdc libraries */ f1= "%.*e"; } else { /* It had better support Le then */ f1= "%.*Le"; } sprintf(buf, f1, precision, val); return buf; } Procedure bitpattern(p, size) char *p; unsigned int size; { /* Printf the bit-pattern of p */ char c; int i, j; for (i=1; i<=size; i++) { c= *p; p++; for (j=bits_per_byte-1; j>=0; j--) printf("%c", (c>>j)&1 ? '1' : '0'); if (i!=size) printf(" "); } } #define Order(x, px, mode)\ printf("%s %s ", co, mode); for (i=0; i>(bits_per_byte*(sizeof(x)-i)))&mask)); }\ printf("%s\n", oc); Procedure endian(bits_per_byte) int bits_per_byte; { /* Printf the byte-order used on this machine */ /*unsigned*/ short s=0; /*unsigned*/ int j=0; /*unsigned*/ long l=0; char *ps= (char *) &s, *pj= (char *) &j, *pl= (char *) &l, *c= "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; unsigned int mask, i; mask=0; for (i=1; i<=(unsigned)bits_per_byte; i++) mask= (mask<<1)|1; if (V) { printf("%sCharacter order:%s\n", co, oc); Order(s, ps, "short:"); Order(j, pj, "int: "); Order(l, pl, "long: "); } } Procedure check_defines() { /* ensure that all the #defines are present */ #ifdef VERIFY if (L) { #ifndef CHAR_BIT printf("%s*** CHAR_BIT missing from limits.h%s\n", co, oc); bugs++; #endif #ifndef CHAR_MAX printf("%s*** CHAR_MAX missing from limits.h%s\n", co, oc); bugs++; #endif #ifndef CHAR_MIN printf("%s*** CHAR_MIN missing from limits.h%s\n", co, oc); bugs++; #endif #ifndef SCHAR_MAX printf("%s*** SCHAR_MAX missing from limits.h%s\n", co, oc); bugs++; #endif #ifndef SCHAR_MIN printf("%s*** SCHAR_MIN missing from limits.h%s\n", co, oc); bugs++; #endif #ifndef UCHAR_MAX printf("%s*** UCHAR_MAX missing from limits.h%s\n", co, oc); bugs++; #endif #ifndef SHRT_MAX printf("%s*** SHRT_MAX missing from limits.h%s\n", co, oc); bugs++; #endif #ifndef SHRT_MIN printf("%s*** SHRT_MIN missing from limits.h%s\n", co, oc); bugs++; #endif #ifndef INT_MAX printf("%s*** INT_MAX missing from limits.h%s\n", co, oc); bugs++; #endif #ifndef INT_MIN printf("%s*** INT_MIN missing from limits.h%s\n", co, oc); bugs++; #endif #ifndef LONG_MAX printf("%s*** LONG_MAX missing from limits.h%s\n", co, oc); bugs++; #endif #ifndef LONG_MIN printf("%s*** LONG_MIN missing from limits.h%s\n", co, oc); bugs++; #endif #ifndef USHRT_MAX printf("%s*** USHRT_MAX missing from limits.h%s\n", co, oc); bugs++; #endif #ifndef UINT_MAX printf("%s*** UINT_MAX missing from limits.h%s\n", co, oc); bugs++; #endif #ifndef ULONG_MAX printf("%s*** ULONG_MAX missing from limits.h%s\n", co, oc); bugs++; #endif } /* if (L) */ if (F) { #ifndef FLT_RADIX printf("%s*** FLT_RADIX missing from float.h%s\n", co, oc); bugs++; #endif #ifndef FLT_MANT_DIG printf("%s*** FLT_MANT_DIG missing from float.h%s\n", co, oc); bugs++; #endif #ifndef FLT_DIG printf("%s*** FLT_DIG missing from float.h%s\n", co, oc); bugs++; #endif #ifndef FLT_ROUNDS printf("%s*** FLT_ROUNDS missing from float.h%s\n", co, oc); bugs++; #endif #ifndef FLT_EPSILON printf("%s*** FLT_EPSILON missing from float.h%s\n", co, oc); bugs++; #endif #ifndef FLT_MIN_EXP printf("%s*** FLT_MIN_EXP missing from float.h%s\n", co, oc); bugs++; #endif #ifndef FLT_MIN printf("%s*** FLT_MIN missing from float.h%s\n", co, oc); bugs++; #endif #ifndef FLT_MIN_10_EXP printf("%s*** FLT_MIN_10_EXP missing from float.h%s\n", co, oc); bugs++; #endif #ifndef FLT_MAX_EXP printf("%s*** FLT_MAX_EXP missing from float.h%s\n", co, oc); bugs++; #endif #ifndef FLT_MAX printf("%s*** FLT_MAX missing from float.h%s\n", co, oc); bugs++; #endif #ifndef FLT_MAX_10_EXP printf("%s*** FLT_MAX_10_EXP missing from float.h%s\n", co, oc); bugs++; #endif #ifndef DBL_MANT_DIG printf("%s*** DBL_MANT_DIG missing from float.h%s\n", co, oc); bugs++; #endif #ifndef DBL_DIG printf("%s*** DBL_DIG missing from float.h%s\n", co, oc); bugs++; #endif #ifndef DBL_EPSILON printf("%s*** DBL_EPSILON missing from float.h%s\n", co, oc); bugs++; #endif #ifndef DBL_MIN_EXP printf("%s*** DBL_MIN_EXP missing from float.h%s\n", co, oc); bugs++; #endif #ifndef DBL_MIN printf("%s*** DBL_MIN missing from float.h%s\n", co, oc); bugs++; #endif #ifndef DBL_MIN_10_EXP printf("%s*** DBL_MIN_10_EXP missing from float.h%s\n", co, oc); bugs++; #endif #ifndef DBL_MAX_EXP printf("%s*** DBL_MAX_EXP missing from float.h%s\n", co, oc); bugs++; #endif #ifndef DBL_MAX printf("%s*** DBL_MAX missing from float.h%s\n", co, oc); bugs++; #endif #ifndef DBL_MAX_10_EXP printf("%s*** DBL_MAX_10_EXP missing from float.h%s\n", co, oc); bugs++; #endif #ifdef STDC #ifndef LDBL_MANT_DIG printf("%s*** LDBL_MANT_DIG missing from float.h%s\n", co, oc); bugs++; #endif #ifndef LDBL_DIG printf("%s*** LDBL_DIG missing from float.h%s\n", co, oc); bugs++; #endif #ifndef LDBL_EPSILON printf("%s*** LDBL_EPSILON missing from float.h%s\n", co, oc); bugs++; #endif #ifndef LDBL_MIN_EXP printf("%s*** LDBL_MIN_EXP missing from float.h%s\n", co, oc); bugs++; #endif #ifndef LDBL_MIN printf("%s*** LDBL_MIN missing from float.h%s\n", co, oc); bugs++; #endif #ifndef LDBL_MIN_10_EXP printf("%s*** LDBL_MIN_10_EXP missing from float.h%s\n", co, oc); bugs++; #endif #ifndef LDBL_MAX_EXP printf("%s*** LDBL_MAX_EXP missing from float.h%s\n", co, oc); bugs++; #endif #ifndef LDBL_MAX printf("%s*** LDBL_MAX missing from float.h%s\n", co, oc); bugs++; #endif #ifndef LDBL_MAX_10_EXP printf("%s*** LDBL_MAX_10_EXP missing from float.h%s\n", co, oc); bugs++; #endif #endif /* STDC */ } /* if (F) */ #endif /* VERIFY */ } #ifdef VERIFY #ifndef SCHAR_MAX #define SCHAR_MAX char_max #endif #ifndef SCHAR_MIN #define SCHAR_MIN char_min #endif #ifndef UCHAR_MAX #define UCHAR_MAX char_max #endif #endif /* VERIFY */ #ifndef CHAR_BIT #define CHAR_BIT char_bit #endif #ifndef CHAR_MAX #define CHAR_MAX char_max #endif #ifndef CHAR_MIN #define CHAR_MIN char_min #endif #ifndef SCHAR_MAX #define SCHAR_MAX char_max #endif #ifndef SCHAR_MIN #define SCHAR_MIN char_min #endif #ifndef UCHAR_MAX #define UCHAR_MAX char_max #endif int cprop() { /* Properties of type char */ Volatile char c, char_max, char_min; Volatile int bits_per_byte, is_signed; long char_bit; Unexpected(2); /* Calculate number of bits per character *************************/ c=1; bits_per_byte=0; do { c=c<<1; bits_per_byte++; } while(c!=0); c= (char)(-1); if (((int)c)<0) is_signed=1; else is_signed=0; Vprintf("%sChar = %d bits, %ssigned%s\n", co, (int)sizeof(c)*bits_per_byte, (is_signed?"":"un"), oc); char_bit=(long)(sizeof(c)*bits_per_byte); if (L) i_define(D_CHAR_BIT, "", "CHAR", "_BIT", char_bit, (long) CHAR_BIT, ""); c=0; char_max=0; c++; if (setjmp(lab)==0) { /* Yields char_max */ while (c>char_max) { char_max=c; c++; } } else { Vprintf("%sCharacter overflow generates a trap!%s\n", co, oc); } c=0; char_min=0; c--; if (setjmp(lab)==0) { /* Yields char_min */ while (cchar_max) { char_max=c; c++; } } Unexpected(4); i_define(D_UCHAR_MAX, "", "UCHAR", "_MAX", (long) char_max, (long) UCHAR_MAX, ""); #endif } else { #ifndef NO_SC /* Define NO_SC if the next line gives a syntax error */ Volatile signed char c, char_max, char_min; c=0; char_max=0; c++; if (setjmp(lab)==0) { /* Yields char_max */ while (c>char_max) { char_max=c; c++; } } c=0; char_min=0; c--; if (setjmp(lab)==0) { /* Yields char_min */ while (csizeof(int)?" BEWARE! larger than int!":"", oc); Vprintf("%sInt pointers = %d bits%s%s\n", co, (int)sizeof(int *)*bits_per_byte, sizeof(int *)>sizeof(int)?" BEWARE! larger than int!":"", oc); /* Alignment constants ********************************************/ Vprintf("%sAlignments used for char=%d short=%d int=%d long=%d float=%d double=%d%s\n", co, (int) (&schar.c1 - (char*)&schar.i1), (int) (&sshort.c2 - (char*)&sshort.i2), (int) (&sint.c3 - (char*)&sint.i3), (int) (&slong.c4 - (char*)&slong.i4), /* (int) ((char*)&sfloat[1] - (char*)sfloat), */ (int) (&sfloat.c5 - (char*)&sfloat.i5), (int) (&sdouble.c6 - (char*)&sdouble.i6), oc); /* Ten little endians *********************************************/ endian(bits_per_byte); /* Pointers *******************************************************/ if (V) { if ("abcd"=="abcd") printf("%sStrings are shared%s\n", co, oc); else printf("%sStrings are not shared%s\n", co, oc); } sprop(); iprop(); lprop(); usprop(); uiprop(); ulprop(); Unexpected(6); return bits_per_byte; } #else /* not PASS0 */ #ifdef SEP extern jmp_buf lab; extern int V, L, F, bugs, bits_per_byte; extern char co[], oc[]; extern char *f_rep(); #endif /* SEP */ #endif /* ifdef PASS0 */ /* As I said, I apologise for the contortions below. The functions are expanded by the preprocessor twice or three times (for float and double, and maybe for long double, and for short, int and long). That way, I never make a change to one that I forget to make to the other. You can look on it as C's fault for not supporting multi-line macro's. This whole file is read 3 times by the preprocessor, with PASSn set for n=1, 2 or 3, to decide which parts to reprocess. */ /* #undef on an already undefined thing is (wrongly) flagged as an error by some compilers, therefore the #ifdef that follows: */ #ifdef Number #undef Number #undef THING #undef Thing #undef thing #undef FPROP #undef Fname #undef Store #undef Sum #undef Diff #undef Mul #undef Div #undef ZERO #undef HALF #undef ONE #undef TWO #undef THREE #undef FOUR #undef Self #undef F_check #undef Validate #undef EPROP #undef MARK /* These are the float.h constants */ #undef F_RADIX #undef F_MANT_DIG #undef F_DIG #undef F_ROUNDS #undef F_EPSILON #undef F_MIN_EXP #undef F_MIN #undef F_MIN_10_EXP #undef F_MAX_EXP #undef F_MAX #undef F_MAX_10_EXP #endif #ifdef Integer #undef Integer #undef INT #undef IPROP #undef Iname #undef UPROP #undef Uname #undef OK_UI #undef IMARK #undef I_MAX #undef I_MIN #undef U_MAX #endif #ifdef PASS1 /* Define the things we're going to use this pass */ #define Number float #define THING "FLOAT" #define Thing "Float" #define thing "float" #define Fname "FLT" #define FPROP fprop #define Store fStore #define Sum fSum #define Diff fDiff #define Mul fMul #define Div fDiv #define ZERO 0.0 #define HALF 0.5 #define ONE 1.0 #define TWO 2.0 #define THREE 3.0 #define FOUR 4.0 #define Self fSelf #define F_check fCheck #define MARK "F" #ifdef VERIFY #define Validate(prec, val, req, same) fValidate(prec, val, req, same) #endif #define EPROP efprop #define Integer short #define INT "short" #define IPROP sprop #define Iname "SHRT" #ifndef NO_UI #define OK_UI 1 #endif #define IMARK "" #define UPROP usprop #define Uname "USHRT" #ifdef VERIFY #ifdef SHRT_MAX #define I_MAX SHRT_MAX #endif #ifdef SHRT_MIN #define I_MIN SHRT_MIN #endif #ifdef USHRT_MAX #define U_MAX USHRT_MAX #endif #ifdef FLT_RADIX #define F_RADIX FLT_RADIX #endif #ifdef FLT_MANT_DIG #define F_MANT_DIG FLT_MANT_DIG #endif #ifdef FLT_DIG #define F_DIG FLT_DIG #endif #ifdef FLT_ROUNDS #define F_ROUNDS FLT_ROUNDS #endif #ifdef FLT_EPSILON #define F_EPSILON FLT_EPSILON #endif #ifdef FLT_MIN_EXP #define F_MIN_EXP FLT_MIN_EXP #endif #ifdef FLT_MIN #define F_MIN FLT_MIN #endif #ifdef FLT_MIN_10_EXP #define F_MIN_10_EXP FLT_MIN_10_EXP #endif #ifdef FLT_MAX_EXP #define F_MAX_EXP FLT_MAX_EXP #endif #ifdef FLT_MAX #define F_MAX FLT_MAX #endif #ifdef FLT_MAX_10_EXP #define F_MAX_10_EXP FLT_MAX_10_EXP #endif #endif /* VERIFY */ #endif /* PASS1 */ #ifdef PASS2 #define Number double #define THING "DOUBLE" #define Thing "Double" #define thing "double" #define Fname "DBL" #define FPROP dprop #define Store dStore #define Sum dSum #define Diff dDiff #define Mul dMul #define Div dDiv #define ZERO 0.0 #define HALF 0.5 #define ONE 1.0 #define TWO 2.0 #define THREE 3.0 #define FOUR 4.0 #define Self dSelf #define F_check dCheck #define MARK "" #ifdef VERIFY #define Validate(prec, val, req, same) dValidate(prec, val, req, same) #endif #define EPROP edprop #define Integer int #define INT "int" #define IPROP iprop #define Iname "INT" #define OK_UI 1 /* Unsigned int is always possible */ #define IMARK "" #define UPROP uiprop #define Uname "UINT" #ifdef VERIFY #ifdef INT_MAX #define I_MAX INT_MAX #endif #ifdef INT_MIN #define I_MIN INT_MIN #endif #ifdef UINT_MAX #define U_MAX UINT_MAX #endif #ifdef DBL_MANT_DIG #define F_MANT_DIG DBL_MANT_DIG #endif #ifdef DBL_DIG #define F_DIG DBL_DIG #endif #ifdef DBL_EPSILON #define F_EPSILON DBL_EPSILON #endif #ifdef DBL_MIN_EXP #define F_MIN_EXP DBL_MIN_EXP #endif #ifdef DBL_MIN #define F_MIN DBL_MIN #endif #ifdef DBL_MIN_10_EXP #define F_MIN_10_EXP DBL_MIN_10_EXP #endif #ifdef DBL_MAX_EXP #define F_MAX_EXP DBL_MAX_EXP #endif #ifdef DBL_MAX #define F_MAX DBL_MAX #endif #ifdef DBL_MAX_10_EXP #define F_MAX_10_EXP DBL_MAX_10_EXP #endif #endif /* VERIFY */ #endif /* PASS2 */ #ifdef PASS3 #ifdef STDC #define Number long double #endif #define THING "LONG DOUBLE" #define Thing "Long double" #define thing "long double" #define Fname "LDBL" #define FPROP ldprop #define Store ldStore #define Sum ldSum #define Diff ldDiff #define Mul ldMul #define Div ldDiv #define ZERO 0.0L #define HALF 0.5L #define ONE 1.0L #define TWO 2.0L #define THREE 3.0L #define FOUR 4.0L #define Self ldSelf #define F_check ldCheck #define MARK "L" #ifdef VERIFY #define Validate(prec, val, req, same) ldValidate(prec, val, req, same) #endif #define EPROP eldprop #define Integer long #define INT "long" #define IPROP lprop #define Iname "LONG" #ifndef NO_UI #define OK_UI 1 #endif #define IMARK "L" #define UPROP ulprop #define Uname "ULONG" #ifdef VERIFY #ifdef LONG_MAX #define I_MAX LONG_MAX #endif #ifdef LONG_MIN #define I_MIN LONG_MIN #endif #ifdef ULONG_MAX #define U_MAX ULONG_MAX #endif #ifdef LDBL_MANT_DIG #define F_MANT_DIG LDBL_MANT_DIG #endif #ifdef LDBL_DIG #define F_DIG LDBL_DIG #endif #ifdef LDBL_EPSILON #define F_EPSILON LDBL_EPSILON #endif #ifdef LDBL_MIN_EXP #define F_MIN_EXP LDBL_MIN_EXP #endif #ifdef LDBL_MIN #define F_MIN LDBL_MIN #endif #ifdef LDBL_MIN_10_EXP #define F_MIN_10_EXP LDBL_MIN_10_EXP #endif #ifdef LDBL_MAX_EXP #define F_MAX_EXP LDBL_MAX_EXP #endif #ifdef LDBL_MAX #define F_MAX LDBL_MAX #endif #ifdef LDBL_MAX_10_EXP #define F_MAX_10_EXP LDBL_MAX_10_EXP #endif #endif /* VERIFY */ #endif /* PASS3 */ #ifndef I_MAX #define I_MAX int_max #endif #ifndef I_MIN #define I_MIN int_min #endif #ifndef U_MAX #define U_MAX int_max #endif #ifndef F_RADIX #define F_RADIX f_radix #endif #ifndef F_MANT_DIG #define F_MANT_DIG f_mant_dig #endif #ifndef F_DIG #define F_DIG f_dig #endif #ifndef F_ROUNDS #define F_ROUNDS f_rounds #endif #ifndef F_EPSILON #define F_EPSILON f_epsilon #endif #ifndef F_MIN_EXP #define F_MIN_EXP f_min_exp #endif #ifndef F_MIN #define F_MIN f_min #endif #ifndef F_MIN_10_EXP #define F_MIN_10_EXP f_min_10_exp #endif #ifndef F_MAX_EXP #define F_MAX_EXP f_max_exp #endif #ifndef F_MAX #define F_MAX f_max #endif #ifndef F_MAX_10_EXP #define F_MAX_10_EXP f_max_10_exp #endif #ifndef VERIFY #define Validate(prec, val, req, same) {;} #endif #ifdef Integer Procedure IPROP() { /* the properties of short, int, and long */ Volatile Integer newi, int_max, maxeri, int_min, minneri; Volatile int ibits, ipower, two=2; /* Calculate max short/int/long ***********************************/ /* Calculate 2**n-1 until overflow - then use the previous value */ newi=1; int_max=0; if (setjmp(lab)==0) { /* Yields int_max */ for(ipower=0; newi>int_max; ipower++) { int_max=newi; newi=newi*two+1; } Vprintf("%sOverflow of a%s %s does not generate a trap%s\n", co, INT[0]=='i'?"n":"", INT, oc); } else { Vprintf("%sOverflow of a%s %s generates a trap%s\n", co, INT[0]=='i'?"n":"", INT, oc); } Unexpected(7); /* Minimum value: assume either two's or one's complement *********/ int_min= -int_max; if (setjmp(lab)==0) { /* Yields int_min */ if (int_min-1 < int_min) int_min--; } Unexpected(8); /* Now for those daft Cybers: */ maxeri=0; newi=int_max; if (setjmp(lab)==0) { /* Yields maxeri */ for(ibits=ipower; newi>maxeri; ibits++) { maxeri=newi; newi=newi+newi+1; } } Unexpected(9); minneri= -maxeri; if (setjmp(lab)==0) { /* Yields minneri */ if (minneri-1 < minneri) minneri--; } Unexpected(10); Vprintf("%sMaximum %s = %ld (= 2**%d-1)%s\n", co, INT, (long)int_max, ipower, oc); Vprintf("%sMinimum %s = %ld%s\n", co, INT, (long)int_min, oc); if (L) i_define(D_INT_MAX, INT, Iname, "_MAX", (long) int_max, (long) I_MAX, IMARK); if (L) i_define(D_INT_MIN, INT, Iname, "_MIN", (long) int_min, (long) I_MIN, IMARK); if (maxeri>int_max) { Vprintf("%sThere is a larger %s, %ld (= 2**%d-1), %s %s%s\n", co, INT, (long)maxeri, ibits, "but only for addition, not multiplication", "(I smell a Cyber!)", oc); } if (minneriint_max) { int_max=newi; newi=newi*two+1; } } Unexpected(11); Vprintf("%sMaximum unsigned %s = %lu%s\n", co, INT, (unsigned long) int_max, oc); if (L) u_define(D_UINT_MAX, INT, Uname, "_MAX", (unsigned long) int_max, (unsigned long) U_MAX, IMARK); #endif } #endif /* Integer */ #ifdef Number /* The following routines are intended to defeat any attempt at optimisation or use of extended precision, and to defeat faulty narrowing casts. The weird prototypes are because of widening incompatibilities. */ #ifdef STDC #define ARGS1(atype, a) (atype a) #define ARGS2(atype, a, btype, b) (atype a, btype b) #else #define ARGS1(atype, a) (a) atype a; #define ARGS2(atype, a, btype, b) (a, b) atype a; btype b; #endif Procedure Store ARGS2(Number, a, Number *, b) { *b=a; } Number Sum ARGS2(Number, a, Number, b) {Number r; Store(a+b, &r); return (r); } Number Diff ARGS2(Number, a, Number, b){Number r; Store(a-b, &r); return (r); } Number Mul ARGS2(Number, a, Number, b) {Number r; Store(a*b, &r); return (r); } Number Div ARGS2(Number, a, Number, b) {Number r; Store(a/b, &r); return (r); } Number Self ARGS1(Number, a) {Number r; Store(a, &r); return (r); } Procedure F_check ARGS((int precision, Long_double val1)); Procedure F_check(precision, val1) int precision; Long_double val1; { /* You don't think I'm going to go to all the trouble of writing a program that works out what all sorts of values are, only to have printf go and print the wrong values out, do you? No, you're right, so this function tries to see if printf has written the right value, by reading it back again. This introduces a new problem of course: suppose printf writes the correct value, and scanf reads it back wrong... oh well. But I'm adamant about this: the precision given is enough to uniquely identify the printed number, therefore I insist that sscanf read the number back identically. Harsh yes, but sometimes you've got to be cruel to be kind. */ Long_double new1; Number val, new, diff; double rem; int e; char *rep; char *f2; if (sizeof(double) == sizeof(Long_double)) { /* Assume they're the same, and use non-stdc format */ /* This is for stdc compilers using non-stdc libraries */ f2= "%le"; /* Input */ } else { /* It had better support Le then */ f2= "%Le"; } val= val1; rep= f_rep(precision, (Long_double) val); if (setjmp(lab)==0) { sscanf(rep, f2, &new1); } else { eek_a_bug("sscanf caused a trap"); printf("%s scanning: %s format: %s%s\n\n", co, rep, f2, oc); Unexpected(12); return; } if (setjmp(lab)==0) { /* See if new is usable */ new= new1; if (new != 0.0) { diff= val/new - 1.0; if (diff < 0.1) diff= 1.0; /* That should be enough to generate a trap */ } } else { eek_a_bug("sscanf returned an unusable number"); printf("%s scanning: %s with format: %s%s\n\n", co, rep, f2, oc); Unexpected(13); return; } Unexpected(14); if (new != val) { eek_a_bug("Possibly bad output from printf above"); if (!exponent((Long_double)val, &rem, &e)) { printf("%s but value was an unusable number%s\n\n", co, oc); return; } printf("%s expected value around %.*fe%d, bit pattern:\n ", co, precision, rem, e); bitpattern((char *) &val, sizeof(val)); printf ("%s\n", oc); printf("%s sscanf gave %s, bit pattern:\n ", co, f_rep(precision, (Long_double) new)); bitpattern((char *) &new, sizeof(new)); printf ("%s\n", oc); if (setjmp(lab) == 0) { diff= val-new; printf("%s difference= %s%s\n\n", co, f_rep(precision, (Long_double) diff), oc); } /* else forget it */ Unexpected(15); } } #ifdef VERIFY Procedure Validate(prec, val, req, same) int prec, same; Long_double val, req; { /* Check that the compiler has read a #define value correctly */ Unexpected(16); if (!same) { printf("%s*** Verify failed for above #define!\n", co); if (setjmp(lab) == 0) { /* for the case that req == nan */ printf(" Compiler has %s for value%s\n", f_rep(prec, req), oc); } else { printf(" Compiler has %s for value%s\n", "an unusable number", oc); } if (setjmp(lab) == 0) { F_check(prec, (Long_double) req); } /*else forget it*/ if (setjmp(lab) == 0) { if (req > 0.0 && val > 0.0) { printf("%s difference= %s%s\n", co, f_rep(prec, val-req), oc); } } /*else forget it*/ Unexpected(17); printf("\n"); bugs++; } else if (val != req) { if (stdc) { printf("%s*** Verify failed for above #define!\n", co); printf(" Constant has the wrong precision%s\n", oc); } else eek_a_bug("the cast didn't work"); printf("\n"); bugs++; } } #endif /* VERIFY */ int FPROP(bits_per_byte) int bits_per_byte; { /* Properties of floating types, using algorithms by Cody and Waite from MA Malcolm, as modified by WM Gentleman and SB Marovich. Further extended by S Pemberton. Returns the number of digits in the fraction. */ Volatile int i, f_radix, iexp, irnd, mrnd, f_rounds, f_mant_dig, iz, k, inf, machep, f_max_exp, f_min_exp, mx, negeps, mantbits, digs, f_dig, trap, hidden, normal, f_min_10_exp, f_max_10_exp; Volatile Number a, b, base, basein, basem1, f_epsilon, epsneg, eps, epsp1, etop, ebot, f_max, newxmax, f_min, xminner, y, y1, z, z1, z2; Unexpected(18); Vprintf("%sPROPERTIES OF %s:%s\n", co, THING, oc); /* Base and size of mantissa **************************************/ /* First repeatedly double until adding 1 has no effect. */ /* For instance, if base is 10, with 3 significant digits */ /* it will try 1, 2, 4, 8, ... 512, 1024, and stop there, */ /* since 1024 is only representable as 1020. */ a=1.0; if (setjmp(lab)==0) { /* inexact trap? */ do { a=Sum(a, a); } while (Diff(Diff(Sum(a, ONE), a), ONE) == ZERO); } else { fprintf(stderr, "*** Program got loss-of-precision trap!\n"); /* And supporting those is just TOO much trouble! */ farewell(bugs+1); } Unexpected(19); /* Now double until you find a number that can be added to the */ /* above number. For 1020 this is 8 or 16, depending whether the */ /* result is rounded or truncated. */ /* In either case the result is 1030. 1030-1020= the base, 10. */ b=1.0; do { b=Sum(b, b); } while ((base=Diff(Sum(a, b), a)) == ZERO); f_radix=base; Vprintf("%sBase = %d%s\n", co, f_radix, oc); /* Sanity check; if base<2, I can't guarantee the rest will work */ if (f_radix < 2) { eek_a_bug("Function return or parameter passing faulty? (This is a guess.)"); printf("\n"); return(0); } #ifdef PASS1 /* only for FLT */ flt_radix= f_radix; if (F) i_define(D_FLT_RADIX, "", "FLT", "_RADIX", (long) f_radix, (long) F_RADIX, ""); #else if (f_radix != flt_radix) { printf("\n%s*** WARNING: %s %s (%d) %s%s\n", co, thing, "arithmetic has a different radix", f_radix, "from float", oc); bugs++; } #endif /* Now the number of digits precision: */ f_mant_dig=0; b=1.0; do { f_mant_dig++; b=Mul(b, base); } while (Diff(Diff(Sum(b, ONE), b), ONE) == ZERO); f_dig=floor_log(10, (Long_double)(b/base)) + (base==10?1:0); Vprintf("%sSignificant base digits = %d %s %d %s%s\n", co, f_mant_dig, "(= at least", f_dig, "decimal digits)", oc); if (F) i_define(D_MANT_DIG, thing, Fname, "_MANT_DIG", (long) f_mant_dig, (long) F_MANT_DIG, ""); if (F) i_define(D_DIG, thing, Fname, "_DIG", (long) f_dig, (long) F_DIG, ""); digs= ceil_log(10, (Long_double)b); /* the number of digits to printf */ /* Rounding *******************************************************/ basem1=Diff(base, HALF); if (Diff(Sum(a, basem1), a) != ZERO) { if (f_radix == 2) basem1=0.375; else basem1=1.0; if (Diff(Sum(a, basem1), a) != ZERO) irnd=2; /* away from 0 */ else irnd=1; /* to nearest */ } else irnd=0; /* towards 0 */ basem1=Diff(base, HALF); if (Diff(Diff(-a, basem1), -a) != ZERO) { if (f_radix == 2) basem1=0.375; else basem1=1.0; if (Diff(Diff(-a, basem1), -a) != ZERO) mrnd=2; /* away from 0*/ else mrnd=1; /* to nearest */ } else mrnd=0; /* towards 0 */ f_rounds= -1; /* Unknown rounding */ if (irnd==0 && mrnd==0) f_rounds=0; /* zero = chops */ if (irnd==1 && mrnd==1) f_rounds=1; /* nearest */ if (irnd==2 && mrnd==0) f_rounds=2; /* +inf */ if (irnd==0 && mrnd==2) f_rounds=3; /* -inf */ if (f_rounds != -1) { Vprintf("%sArithmetic rounds towards ", co); switch (f_rounds) { case 0: Vprintf("zero (i.e. it chops)"); break; case 1: Vprintf("nearest"); break; case 2: Vprintf("+infinity"); break; case 3: Vprintf("-infinity"); break; default: Vprintf("???"); break; } Vprintf("%s\n", oc); } else { /* Hmm, try to give some help here: */ Vprintf("%sArithmetic rounds oddly: %s\n", co, oc); Vprintf("%s Negative numbers %s%s\n", co, mrnd==0 ? "towards zero" : mrnd==1 ? "to nearest" : "away from zero", oc); Vprintf("%s Positive numbers %s%s\n", co, irnd==0 ? "towards zero" : irnd==1 ? "to nearest" : "away from zero", oc); } /* An extra goody */ if (f_radix == 2 && f_rounds == 1) { if (Diff(Sum(a, ONE), a) != ZERO) { Vprintf("%s Tie breaking rounds up%s\n", co, oc); } else if (Diff(Sum(a, THREE), a) == FOUR) { Vprintf("%s Tie breaking rounds to even%s\n", co, oc); } else { Vprintf("%s Tie breaking rounds down%s\n", co, oc); } } #ifdef PASS1 /* only for FLT */ flt_rounds= f_rounds; if (F) i_define(D_FLT_ROUNDS, "", "FLT", "_ROUNDS", (long) f_rounds, (long) F_ROUNDS, ""); #else if (f_rounds != flt_rounds) { printf("\n%s*** WARNING: %s %s (%d) %s%s\n", co, thing, "arithmetic rounds differently", f_rounds, "from float", oc); bugs++; } #endif /* Various flavours of epsilon ************************************/ negeps=f_mant_dig+f_mant_dig; basein=1.0/base; a=1.0; for(i=1; i<=negeps; i++) a*=basein; b=a; while (Diff(Diff(ONE, a), ONE) == ZERO) { a*=base; negeps--; } negeps= -negeps; Vprintf("%sSmallest x such that 1.0-base**x != 1.0 = %d%s\n", co, negeps, oc); etop = ONE; ebot = ZERO; eps = Sum(ebot, Div(Diff(etop, ebot), TWO)); while (eps != ebot && eps != etop) { epsp1 = Diff(ONE, eps); if (epsp1 < ONE) etop = eps; else ebot = eps; eps = Sum(ebot, Div(Diff(etop, ebot), TWO)); } /* Sanity check */ if (Diff(ONE, etop) >= ONE || Diff(ONE, ebot) != ONE) { eek_a_bug("internal error calculating epsneg"); } Vprintf("%sSmallest x such that 1.0-x != 1.0 = %s%s\n", co, f_rep(digs, (Long_double) eps), oc); if (V) F_check(digs, (Long_double) eps); epsneg=a; if ((f_radix!=2) && irnd) { /* a=(a*(1.0+a))/(1.0+1.0); => */ a=Div(Mul(a, Sum(ONE, a)), Sum(ONE, ONE)); /* if ((1.0-a)-1.0 != 0.0) epsneg=a; => */ if (Diff(Diff(ONE, a), ONE) != ZERO) epsneg=a; } /* epsneg is used later */ Unexpected(20); machep= -f_mant_dig-f_mant_dig; a=b; while (Diff(Sum(ONE, a), ONE) == ZERO) { a*=base; machep++; } Vprintf("%sSmallest x such that 1.0+base**x != 1.0 = %d%s\n", co, machep, oc); etop = ONE; ebot = ZERO; eps = Sum(ebot, Div(Diff(etop, ebot), TWO)); while (eps != ebot && eps != etop) { epsp1 = Sum(ONE, eps); if (epsp1 > ONE) etop = eps; else ebot = eps; eps = Sum(ebot, Div(Diff(etop, ebot), TWO)); } /* Sanity check */ if (Sum(ONE, etop) <= ONE || Sum(ONE, ebot) != ONE) { eek_a_bug("internal error calculating eps"); } f_epsilon=etop; Vprintf("%sSmallest x such that 1.0+x != 1.0 = %s%s\n", co, f_rep(digs, (Long_double) f_epsilon), oc); /* Possible loss of precision warnings here from non-stdc compilers: */ if (F) f_define(D_EPSILON, thing, Fname, "_EPSILON", digs, (Long_double) f_epsilon, MARK); if (V || F) F_check(digs, (Long_double) f_epsilon); Unexpected(21); if (F) Validate(digs, (Long_double) f_epsilon, (Long_double) F_EPSILON, f_epsilon == Self(F_EPSILON)); Unexpected(22); /* Extra chop info *************************************************/ if (f_rounds == 0) { if (Diff(Mul(Sum(ONE,f_epsilon),ONE),ONE) != ZERO) { Vprintf("%sAlthough arithmetic chops, it uses guard digits%s\n", co, oc); } } /* Size of and minimum normalised exponent ************************/ y=0; i=0; k=1; z=basein; z1=(1.0+f_epsilon)/base; /* Coarse search for the largest power of two */ if (setjmp(lab)==0) { /* for underflow trap */ /* Yields i, k, y, y1 */ do { y=z; y1=z1; z=Mul(y,y); z1=Mul(z1, y); a=Mul(z,ONE); z2=Div(z1,y); if (z2 != y1) break; if ((Sum(a,a) == ZERO) || (fabs(z) >= y)) break; i++; k+=k; } while(1); } else { Vprintf("%s%s underflow generates a trap%s\n", co, Thing, oc); } Unexpected(23); if (f_radix != 10) { iexp=i+1; /* for the sign */ mx=k+k; } else { iexp=2; iz=f_radix; while (k >= iz) { iz*=f_radix; iexp++; } mx=iz+iz-1; } /* Fine tune starting with y and y1 */ if (setjmp(lab)==0) { /* for underflow trap */ /* Yields k, f_min */ do { f_min=y; z1=y1; y=Div(y,base); y1=Div(y1,base); a=Mul(y,ONE); z2=Mul(y1,base); if (z2 != z1) break; if ((Sum(a,a) == ZERO) || (fabs(y) >= f_min)) break; k++; } while (1); } Unexpected(24); f_min_exp=(-k)+1; if ((mx <= k+k-3) && (f_radix != 10)) { mx+=mx; iexp+=1; } Vprintf("%sNumber of bits used for exponent = %d%s\n", co, iexp, oc); Vprintf("%sMinimum normalised exponent = %d%s\n", co, f_min_exp, oc); if (F) i_define(D_MIN_EXP, thing, Fname, "_MIN_EXP", (long) f_min_exp, (long) F_MIN_EXP, ""); if (setjmp(lab)==0) { Vprintf("%sMinimum normalised positive number = %s%s\n", co, f_rep(digs, (Long_double) f_min), oc); } else { eek_a_bug("printf can't print the smallest normalised number"); printf("\n"); } Unexpected(25); /* Possible loss of precision warnings here from non-stdc compilers: */ if (setjmp(lab) == 0) { if (F) f_define(D_MIN, thing, Fname, "_MIN", digs, (Long_double) f_min, MARK); if (V || F) F_check(digs, (Long_double) f_min); } else { eek_a_bug("xxx_MIN caused a trap"); printf("\n"); } if (setjmp(lab) == 0) { if (F) Validate(digs, (Long_double) f_min, (Long_double) F_MIN, f_min == Self(F_MIN)); } else { printf("%s*** Verify failed for above #define!\n %s %s\n\n", co, "Compiler has an unusable number for value", oc); bugs++; } Unexpected(26); a=1.0; f_min_10_exp=0; while (a > f_min*10.0) { a/=10.0; f_min_10_exp--; } if (F) i_define(D_MIN_10_EXP, thing, Fname, "_MIN_10_EXP", (long) f_min_10_exp, (long) F_MIN_10_EXP, ""); /* Minimum exponent ************************************************/ if (setjmp(lab)==0) { /* for underflow trap */ /* Yields xminner */ do { xminner=y; y=Div(y,base); a=Mul(y,ONE); if ((Sum(a,a) == ZERO) || (fabs(y) >= xminner)) break; } while (1); } Unexpected(27); if (xminner != 0.0 && xminner != f_min) { normal= 0; Vprintf("%sThe smallest numbers are not kept normalised%s\n", co, oc); if (setjmp(lab)==0) { Vprintf("%sSmallest unnormalised positive number = %s%s\n", co, f_rep(digs, (Long_double) xminner), oc); if (V) F_check(digs, (Long_double) xminner); } else { eek_a_bug("printf can't print the smallest unnormalised number."); printf("\n"); } Unexpected(28); } else { normal= 1; Vprintf("%sThe smallest numbers are normalised%s\n", co, oc); } /* Maximum exponent ************************************************/ f_max_exp=2; f_max=1.0; newxmax=base+1.0; inf=0; trap=0; while (f_max