home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 January
/
usenetsourcesnewsgroupsinfomagicjanuary1994.iso
/
sources
/
x
/
volume15
/
olvwm-3.0
/
part11
< prev
next >
Wrap
Text File
|
1992-02-03
|
57KB
|
1,519 lines
Newsgroups: comp.sources.x
Path: uunet!stanford.edu!ames!pasteur!nntp
From: scott.oaks@East.Sun.COM (Scott Oaks)
Subject: v15i157: OpenLook Virtual Window Mgr (3.0), Part11/21
Message-ID: <1992Feb4.135752.7587@pasteur.Berkeley.EDU>
Sender: dcmartin@msi.com (David C. Martin - Moderator)
Nntp-Posting-Host: postgres.berkeley.edu
Organization: University of California, at Berkeley
References: <csx-15i147-olvwm-3.0@uunet.UU.NET>
Date: Tue, 4 Feb 1992 13:57:52 GMT
Approved: dcmartin@msi.com
Submitted-by: scott.oaks@East.Sun.COM (Scott Oaks)
Posting-number: Volume 15, Issue 157
Archive-name: olvwm-3.0/part11
# This is a shell archive. Remove anything before this line, then feed it
# into a shell via "sh file" or similar. To overwrite existing files,
# type "sh file -c".
# The tool that generated this appeared in the comp.sources.unix newsgroup;
# send mail to comp-sources-unix@uunet.uu.net if you want that tool.
# If this archive is complete, you will see the following message at the end:
# "End of archive 11 (of 21)."
# Contents: kbdfuncs.c mem.h winframe.c.Z.uu
# Wrapped by dcmartin@fascet on Tue Jan 14 05:54:45 1992
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'kbdfuncs.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'kbdfuncs.c'\"
else
echo shar: Extracting \"'kbdfuncs.c'\" \(18793 characters\)
sed "s/^X//" >'kbdfuncs.c' <<'END_OF_FILE'
X/*
X * (c) Copyright 1989, 1990 Sun Microsystems, Inc. Sun design patents
X * pending in the U.S. and foreign countries. See LEGAL_NOTICE
X * file for terms of the license.
X */
X
X#ident "@(#)kbdfuncs.c 1.1 olvwm version 1/3/92"
X
X/*
X * Based on
X#ident "@(#)kbdfuncs.c 1.14 91/09/14 SMI"
X *
X */
X
X#include <stdio.h>
X#ifdef SYSV
X#include <string.h>
X#else
X#include <strings.h>
X#endif
X
X#include <X11/Xlib.h>
X#include <X11/Xutil.h>
X
X#include "i18n.h"
X#include "ollocale.h"
X#include "olwm.h"
X#include "win.h"
X#include "menu.h"
X#include "globals.h"
X#include "group.h"
X#include "resources.h"
X
X/*
X * Externals
X */
Xextern Client *CurrentClient;
X
Xextern void ClientActivate();
Xextern Client *ClientGetLastCurrent();
Xextern void ClientLowerTransients();
Xextern Client *ClientRaiseTransients();
Xextern void ClientSetCurrent();
X
X/* ===== private functions ================================================ */
X
X
Xtypedef struct {
X Bool prev;
X Bool seencur;
X Client *cur;
X Client *next;
X} FindClosure;
X
X
X/*
X * Given a keystroke event, find the window (and its client structure) that is
X * under the >pointer<. If the pointer is on the same screen as the event
X * window, then this is simply the subwindow field of the event. If the
X * pointer is on another screen, we must do a TranslateCoordinates to find it.
X * Returns True if a window with a client structure was found, otherwise
X * returns False.
X */
Xstatic Bool
XchildUnderPointer(dpy, ke, wid, info, cli)
X Display *dpy;
X XKeyEvent *ke;
X Window *wid;
X WinGeneric **info;
X Client **cli;
X{
X int junk;
X
X if (ke->same_screen) {
X *wid = ke->subwindow;
X } else {
X (void) XTranslateCoordinates(dpy, ke->root, ke->root,
X ke->x_root, ke->y_root, &junk, &junk, wid);
X }
X if (*wid == None)
X return False;
X *info = WIGetInfo(*wid);
X if (*info == NULL)
X return False;
X *cli = (*info)->core.client;
X if (*cli == NULL)
X return False;
X return True;
X}
X
X
X/*
X * Derive a value related to an angle without using trigonometry or floating
X * point. Derived from Sedgewick, Algorithms, p. 315. Returns a value in the
X * range [0..360), scaled by 2^16. Since Y is positive-downwards in the X
X * window system, angles increase in the clockwise direction. This is what we
X * want. However, we rotate by -90 to get zero at the top instead of at the
X * right.
X */
X
X#define SCALE(i) ((i)<<16)
X#define UNSCALE(i) ((i)>>16)
X#define REMSCALE(i) (((i)&0xffff)*10000/65536*10)
X
X
Xlong
Xitheta(p1x, p1y, p2x, p2y)
X int p1x, p1y, p2x, p2y;
X{
X long ax, ay, dx, dy;
X long t;
X
X /*
X * You might think that the code below should be:
X *
X * dx = p2x - p1x;
X * dy = p2y - p1y;
X *
X * In the X window system, the x-axis is positive right and the y-axis is
X * positive down. This puts the zero angle at the right, increasing
X * clockwise. We want zero at the top, increasing clockwise. To do this,
X * we swap the x and y values and negate the x delta. This is why the x's
X * and y's and 1's and 2's are apparently jumbled.
X */
X
X dx = p1y - p2y;
X dy = p2x - p1x;
X
X ax = ABS(dx);
X ay = ABS(dy);
X
X if (dx == 0 && dy == 0)
X t = 0;
X else
X t = SCALE(dy) / (ax+ay);
X
X if (dx < 0)
X t = SCALE(2)-t;
X else if (dy < 0)
X t = SCALE(4)+t;
X t *= 90;
X
X
X#ifdef notdef
X /*
X * Rotate so that zero is at top. We could do this by swapping and
X * negating the dx and dy values above, but this would reduce readability.
X */
X t += SCALE(90);
X if (t >= SCALE(360))
X t -= SCALE(360);
X#endif /* notdef */
X
X return t;
X}
X
X
X/*
X * Compare two client structures for ordering within the global window order.
X * Sort ordering is based first on screen number, then window state (open
X * considered to be before closed), then window position. Return value if -1
X * if c1 is before c2, 1 if c1 is after c2, and 0 if they are tied. The bool
X * prev reverse the sense sort order. The NoFocus client is considered to
X * come before all other clients, regardless of whether the prev bool is set.
X *
X * A static boolean value AngularTraversal controls whether the tranversal
X * policy should be based on the angular position of the window. If false,
X * the old policy of upper-left to lower-right is used.
X */
Xstatic int
XcompareClients(c1, c2, prev)
X Client *c1;
X Client *c2;
X Bool prev;
X{
X int pos1, pos2;
X int x1, x2, y1, y2;
X int LESS, GREATER;
X static Bool AngularTraversal = True;
X
X /* First check if both or either are the NoFocus client. */
X
X if (c1->framewin == NULL && c2->framewin == NULL)
X return 0;
X if (c1->framewin == NULL)
X return -1;
X if (c2->framewin == NULL)
X return 1;
X
X if (prev) {
X LESS = 1;
X GREATER = -1;
X } else {
X LESS = -1;
X GREATER = 1;
X }
X
X /* Compare screens. */
X
X if (c1->screen < c2->screen)
X return LESS;
X if (c1->screen > c2->screen)
X return GREATER;
X
X /*
X * Compare states. Note: this depends on the state values defined in
X * Xutil.h. Notably, NormalState < IconicState. This will need to be
X * changed if olwm adds any new state values.
X */
X if (c1->wmState < c2->wmState)
X return LESS;
X if (c1->wmState > c2->wmState)
X return GREATER;
X
X /* They are both the same state. */
X
X if (AngularTraversal) {
X
X /* calculate angle to window center */
X
X long theta1, theta2;
X WinRoot *root = c1->scrInfo->rootwin;
X int rootcx = root->core.width / 2;
X int rootcy = root->core.height / 2;
X
X if (c1->wmState == NormalState) {
X x1 = c1->framewin->core.x + c1->framewin->core.width / 2;
X y1 = c1->framewin->core.y + c1->framewin->core.height / 2;
X x2 = c2->framewin->core.x + c2->framewin->core.width / 2;
X y2 = c2->framewin->core.y + c2->framewin->core.height / 2;
X } else {
X x1 = c1->iconwin->core.x + c1->iconwin->core.width / 2;
X y1 = c1->iconwin->core.y + c1->iconwin->core.height / 2;
X x2 = c2->iconwin->core.x + c2->iconwin->core.width / 2;
X y2 = c2->iconwin->core.y + c2->iconwin->core.height / 2;
X }
X
X theta1 = itheta(rootcx, rootcy, x1, y1);
X theta2 = itheta(rootcx, rootcy, x2, y2);
X
X if (theta1 < theta2)
X return LESS;
X else if (theta1 > theta2)
X return GREATER;
X
X } else {
X
X /* Sort from upper-left to lower-right. */
X
X if (c1->wmState == NormalState) {
X x1 = c1->framewin->core.x;
X y1 = c1->framewin->core.y;
X x2 = c2->framewin->core.x;
X y2 = c2->framewin->core.y;
X } else {
X x1 = c1->iconwin->core.x;
X y1 = c1->iconwin->core.y;
X x2 = c2->iconwin->core.x;
X y2 = c2->iconwin->core.y;
X }
X pos1 = MAX(x1,y1);
X pos2 = MAX(x2,y2);
X
X if (pos1 < pos2)
X return LESS;
X if (pos1 > pos2)
X return GREATER;
X
X /* Positions are tied. Compare scanline order. */
X if (y1 < y2)
X return LESS;
X if (y1 > y2)
X return GREATER;
X if (x1 < x2)
X return LESS;
X if (x1 > x2)
X return GREATER;
X }
X return 0;
X}
X
X
Xstatic void *
XfindClient(cli, closure)
X Client *cli;
X FindClosure *closure;
X{
X switch (compareClients(cli, closure->cur, closure->prev)) {
X case -1:
X /* this is earlier in the sort order; ignore */
X break;
X case 0:
X /*
X * equal: if we've just seen the current client, advance to next;
X * otherwise, ignore.
X */
X if (closure->seencur) {
X closure->next = cli;
X closure->seencur = False;
X }
X closure->seencur = (cli == closure->cur);
X break;
X case 1:
X /*
X * later in sort order; advance if earlier than later ones
X * already seen.
X */
X if (closure->next == NULL)
X closure->next = cli;
X else if (compareClients(cli, closure->next, closure->prev) < 0)
X closure->next = cli;
X break;
X }
X return NULL;
X}
X
X
X/*
X * Activate the next or previous popup window or pinned menu of the current
X * application.
X */
Xstatic void
XselectNextPrevWindow(dpy, ke, prev)
X Display *dpy;
X XKeyEvent *ke;
X Bool prev;
X{
X GroupID grpid;
X Group *group;
X FindClosure closure;
X
X if (ke->type != KeyPress)
X return;
X
X closure.prev = prev;
X closure.cur = CurrentClient;
X closure.next = NULL;
X closure.seencur = False;
X
X (void) GroupApply(CurrentClient->groupid, findClient, &closure,
X GROUP_LEADER | GROUP_DEPENDENT);
X if (closure.next == NULL) {
X /*
X * We didn't find a suitable client. Wrap around by resetting the
X * current client to the NoFocus client and searching again.
X */
X closure.cur = NoFocusWinInfo->core.client;
X closure.next = NULL;
X closure.seencur = False;
X (void) GroupApply(CurrentClient->groupid, findClient, &closure,
X GROUP_LEADER | GROUP_DEPENDENT);
X }
X
X if (CurrentClient != closure.next)
X ClientActivate(dpy, closure.next, ke->time);
X}
X
X
X/*
X * Activate the next or previous application's base window.
X */
Xstatic void
XselectNextPrevApp(dpy, ke, prev)
X Display *dpy;
X XKeyEvent *ke;
X Bool prev;
X{
X Client *cli;
X Client *next = NULL;
X Client *first = NULL;
X List *l = ActiveClientList;
X int cmp;
X Bool seencur = False;
X
X if (ke->type != KeyPress)
X return;
X
X if (CurrentClient == NULL) {
X /* Consider the current client to be the NoFocus client. */
X ClientSetCurrent(NoFocusWinInfo->core.client);
X }
X
X l = ActiveClientList;
X for (cli = ListEnum(&l); cli != NULL; cli = ListEnum(&l)) {
X
X /* skip special screen clients (including NoFocus client) */
X if (cli->framewin == NULL)
X continue;
X
X /* skip dependent followers */
X if (cli->groupmask == GROUP_DEPENDENT)
X continue;
X
X switch (compareClients(cli, CurrentClient, prev)) {
X case -1:
X /* earlier in the sort order: see if it's the first client */
X if (first == NULL || compareClients(cli, first, prev) == -1)
X first = cli;
X break;
X case 0:
X /*
X * equal: if we've just seen the current client, advance to next;
X * otherwise, ignore.
X */
X if (seencur) {
X next = cli;
X seencur = False;
X }
X seencur = (cli == CurrentClient);
X if (first == NULL)
X first = cli;
X break;
X case 1:
X /*
X * later in sort order; advance if earlier than later ones
X * already seen.
X */
X if (next == NULL)
X next = cli;
X else if (compareClients(cli, next, prev) < 0)
X next = cli;
X break;
X }
X }
X
X if (next != NULL)
X ClientActivate(dpy, next, ke->time);
X else
X ClientActivate(dpy, first, ke->time);
X}
X
X
X/* ===== global functions ================================================= */
X
X
X/*
X * Beep on keystrokes, but only if the key isn't a modifier, and if beeping is
X * enabled.
X */
Xvoid
XKeyBeep(dpy,ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X /*
X * REMIND: we should use xkeyevent->time to make sure that we don't send
X * to many beep requests within a small period of time.
X */
X if ((FindModifierMask(ke->keycode) == 0) && (GRV.Beep == BeepAlways))
X XBell(dpy,100);
X}
X
X
X/*
X * Lock the colormap of the window under the pointer into the hardware.
X */
Xvoid
XKeyLockColormap(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X if (ke->type != KeyPress)
X return;
X InstallPointerColormap(dpy, ke->root, ke->x_root, ke->y_root, True);
X}
X
X
X/*
X * Unlock the colormap; revert to color-follows-mouse mode.
X */
Xvoid
XKeyUnlockColormap(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X if (ke->type != KeyPress)
X return;
X UnlockColormap(dpy, ke->root, ke->x_root, ke->y_root);
X}
X
X
X/*
X * KeyRaiseLowerPointer - raise or lower the window under the pointer
X *
X * Restack the window under the pointer, similar to the SunView Front key. If
X * this window is at all occluded, raise it. If other windows are occluded by
X * this window, lower it. (This is the behavior of the value Opposite for the
X * stack-mode parameter of a ConfigureWindow request.)
X *
X * The behavior is different if this window is a transient window, or if this
X * window has transient windows associated with it. If this window is a
X * transient window, the parent and all transients are pushed to the back,
X * with the transients remaining above the parent. If this window is a parent
X * of any transient windows, all are raised to the front, with the parent
X * remaining behind the transients.
X *
X * REMIND this is probably suboptimal behavior for transients and parents of
X * transients, as the occlusion rule is not used for them. This may result in
X * apparent misbehavior.
X */
Xvoid
XKeyRaiseLowerPointer(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X Window child;
X WinGeneric *childinfo;
X Client *cli;
X XWindowChanges xwc;
X WinGeneric *owner;
X Client *transient;
X
X if (ke->type != KeyPress)
X return;
X
X /*
X * If childUnderPointer returns a valid window structure, we use it. If
X * childUnderPointer returns False, we go ahead and reconfigure any window
X * found, even if we don't know about it. This is useful for restacking
X * override-redirect windows.
X */
X if (childUnderPointer(dpy, ke, &child, &childinfo, &cli)) {
X if (cli->transientFor != 0 &&
X GRV.KeepTransientsAbove &&
X (owner = WIGetInfo(cli->transientFor)) != NULL &&
X owner->core.kind == WIN_PANE &&
X owner->core.client != NULL) {
X LowerWindow(owner->core.client->framewin);
X ClientLowerTransients(owner->core.client);
X } else {
X transient = ClientRaiseTransients(cli);
X if (transient != NULL) {
X xwc.stack_mode = Below;
X xwc.sibling = transient->framewin->core.self;
X owner = WIGetInfo(child);
X if (owner)
X ConfigureWindow(dpy, owner, CWStackMode | CWSibling, &xwc);
X else XConfigureWindow(dpy, child, CWStackMode | CWSibling, &xwc);
X } else {
X xwc.stack_mode = Opposite;
X owner = WIGetInfo(child);
X if (owner)
X ConfigureWindow(dpy, owner, CWStackMode, &xwc);
X else XConfigureWindow(dpy, child, CWStackMode, &xwc);
X }
X }
X } else {
X if (child != None) {
X xwc.stack_mode = Opposite;
X owner = WIGetInfo(child);
X if (owner)
X ConfigureWindow(dpy, owner, CWStackMode, &xwc);
X XConfigureWindow(dpy, child, CWStackMode, &xwc);
X }
X }
X}
X
X
X/*
X * Toggle the open/closed state of the window under the pointer.
X */
Xvoid
XKeyOpenClosePointer(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X Window child;
X WinGeneric *childinfo;
X Client *cli;
X
X if (ke->type != KeyPress)
X return;
X
X if (childUnderPointer(dpy, ke, &child, &childinfo, &cli))
X ClientOpenCloseToggle(cli);
X}
X
X
X/*
X * Set the focus to the window under the pointer. If there is no window under
X * the pointer, set the focus to the no-focus window.
X */
Xvoid
XKeyFocusToPointer(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X Window child;
X WinGeneric *childinfo;
X Client *cli;
X
X if (ke->type != KeyPress)
X return;
X
X if (childUnderPointer(dpy, ke, &child, &childinfo, &cli))
X ClientSetFocus(cli, True, ke->time);
X else
X NoFocusTakeFocus(dpy, ke->time, GetScrInfoOfRoot(ke->root));
X}
X
X
X/*
X * Activate the base window of the next application.
X */
Xvoid
XKeyNextApp(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X selectNextPrevApp(dpy, ke, False);
X}
X
X
X/*
X * Activate the base window of the previous application.
X */
Xvoid
XKeyPrevApp(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X selectNextPrevApp(dpy, ke, True);
X}
X
X
X/*
X * Activate the next popup window or pinned menu of the current application.
X */
Xvoid
XKeyNextWindow(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X selectNextPrevWindow(dpy, ke, False);
X}
X
X
X/*
X * Activate the previous popup window or pinned menu of the current
X * application.
X */
Xvoid
XKeyPrevWindow(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X selectNextPrevWindow(dpy, ke, True);
X}
X
X
X/*
X * Toggle between this and the previous active window.
X */
Xvoid
XKeyToggleInput(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X Client *next;
X
X if (ke->type != KeyPress)
X return;
X
X next = ClientGetLastCurrent();
X ClientActivate(dpy, next, ke->time);
X}
X
X
X/*
X * Toggle the pin if the active window, if any.
X */
Xvoid
XKeyTogglePin(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X if (ke->type != KeyPress)
X return;
X
X if (!ClientTogglePin(CurrentClient))
X KeyBeep(dpy,ke);
X}
X
X
X/*
X * Refresh the active window.
X */
Xvoid
XKeyRefresh(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X if (ke->type != KeyPress)
X return;
X
X if (CurrentClient->framewin != NULL)
X ClientRefresh(CurrentClient);
X}
X
X
X/*
X * Raise the active window to the front.
X */
Xvoid
XKeyFrontFocus(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X if (ke->type != KeyPress)
X return;
X
X if (CurrentClient->framewin != NULL)
X ClientFront(CurrentClient);
X}
X
X
X/*
X * Send the active window to the back.
X */
Xvoid
XKeyBackFocus(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X if (ke->type != KeyPress)
X return;
X
X if (CurrentClient->framewin != NULL)
X ClientBack(CurrentClient);
X}
X
X
X/*
X * Toggle the open/close state of the active window.
X */
Xvoid
XKeyOpenCloseFocus(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X if (ke->type != KeyPress)
X return;
X
X if (CurrentClient->framewin != NULL)
X ClientOpenCloseToggle(CurrentClient);
X}
X
X
X/*
X * Toggle the full/restored size of the active window.
X */
Xvoid
XKeyFullRestore(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X if (ke->type != KeyPress)
X return;
X
X if (CurrentClient->framewin != NULL)
X ClientFullRestoreSizeToggle(CurrentClient);
X}
X
X
X/*
X * Quit the active window.
X */
Xvoid
XKeyQuit(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X if (ke->type != KeyPress)
X return;
X
X if (CurrentClient->framewin != NULL)
X ClientKill(CurrentClient, True);
X}
X
X
X/*
X * Flash the owner window of the active window.
X */
Xvoid
XKeyOwner(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X if (ke->type != KeyPress)
X return;
X
X if (CurrentClient->framewin != NULL)
X ClientFlashOwner(CurrentClient);
X}
X
X
X/*
X * Move the active window.
X */
Xvoid
XKeyMove(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X if (ke->type != KeyPress)
X return;
X
X if (CurrentClient->framewin != NULL)
X ClientMove(CurrentClient,ke);
X}
X
X
X/*
X * Resize the active window.
X */
Xvoid
XKeyResize(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X if (ke->type != KeyPress)
X return;
X
X if (CurrentClient->framewin != NULL)
X ClientResize(CurrentClient, ke, keyevent, NULL, NULL);
X}
X
X
X/*
X * Bring up the Properties window for the active window.
X */
Xvoid
XKeyProperties(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X /* REMIND - fill in when window properties implemented */
X}
X
X
X/*
X * Bring up the workspace menu.
X */
Xvoid
XKeyWorkspaceMenu(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X if (ke->type == KeyPress)
X RootMenuShow(dpy, WIGetInfo(ke->root), ke);
X}
X
X
X/*
X * Bring up the window menu for the active menu.
X */
Xvoid
XKeyWindowMenu(dpy, ke)
X Display *dpy;
X XKeyEvent *ke;
X{
X WinGenericFrame *frameInfo = (WinGenericFrame *)CurrentClient->framewin;
X
X if (ke->type != KeyPress)
X return;
X
X if (frameInfo == NULL || (frameInfo->core.client->wmDecors->menu_type == MENU_NONE))
X KeyBeep(dpy, ke);
X else {
X ShowStandardMenu(frameInfo, ke, False);
X }
X}
END_OF_FILE
if test 18793 -ne `wc -c <'kbdfuncs.c'`; then
echo shar: \"'kbdfuncs.c'\" unpacked with wrong size!
fi
# end of 'kbdfuncs.c'
fi
if test -f 'mem.h' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'mem.h'\"
else
echo shar: Extracting \"'mem.h'\" \(1135 characters\)
sed "s/^X//" >'mem.h' <<'END_OF_FILE'
X/*
X * (c) Copyright 1989 Sun Microsystems, Inc. Sun design patents
X * pending in the U.S. and foreign countries. See LEGAL_NOTICE
X * file for terms of the license.
X */
X
X#ifndef _OLWM_MEM_H
X#define _OLWM_MEM_H
X
X#ident "@(#)mem.h 26.9 91/09/14 SMI"
X
Xextern void *MemAlloc(); /* malloc frontend */
Xextern void *MemCalloc(); /* calloc frontend */
Xextern void MemFree(); /* free frontend */
Xextern void *MemRealloc(); /* realloc frontend */
X
X#ifdef MEMDEBUG
Xextern void *d_MemAlloc();
Xextern void d_MemFree();
Xextern void *d_MemRealloc();
Xextern void *d_MemCalloc();
X
X#define MemAlloc(s) d_MemAlloc((s), __FILE__, __LINE__, NULL)
X#define MemCalloc(n,s) d_MemCalloc((n),(s), __FILE__, __LINE__)
X#define MemFree(p) d_MemFree(p)
X#define MemRealloc(p,s) d_MemRealloc((p),(s))
X
X#define MemNew(X) d_MemAlloc(sizeof(X), __FILE__, __LINE__, #X)
X#define MemNewString(s) (strcpy(d_MemAlloc(strlen(s)+1,__FILE__,__LINE__,"(string)"),s))
X
Xextern int MemAcct;
Xextern int AcctTag;
X#else
X#define MemNew(t) ((t *)MemAlloc((unsigned int)sizeof(t)))
X#define MemNewString(s) (strcpy(MemAlloc(strlen(s)+1),s))
X#endif
X
X#endif /* _OLWM_MEM_H */
END_OF_FILE
if test 1135 -ne `wc -c <'mem.h'`; then
echo shar: \"'mem.h'\" unpacked with wrong size!
fi
# end of 'mem.h'
fi
if test -f 'winframe.c.Z.uu' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'winframe.c.Z.uu'\"
else
echo shar: Extracting \"'winframe.c.Z.uu'\" \(32539 characters\)
sed "s/^X//" >'winframe.c.Z.uu' <<'END_OF_FILE'
Xbegin 666 winframe.c.Z
XM'YV0+U0H *$"A,*,:D #'D#9P\<M*<04,'1(P<.'*PL)@C!PP04^JX =$D
XMS1@Y;^;DF4.G3)LY&Y.X&>,"I$@09,K,D3@23IB6;NC,&5CPH$$X9=R02>/F
XM# BF(.B@*0.BBHLI-<,H!6'FC9PR/$&,>2.23D2=-:>4H<JDR)$@3+XX>4(E
XMR9 B1(T:-).=6N<J*6D?,2Q!LS4:>"8&,RZ9PR+HB^4*!@1)J<01.( ()B
XM1(H[3,W("=,&\I@$,5S$,,S&SITV(.P,WOEF9(P7,U[DD"&"<L"\0L(\)F/8
XM3>7+2>EHYNP9M!O1I$TGD&'#!0T<"7+<AI'C10P:()LDZ4U0,F7+,]G4R0F"
XMQV Y;MZX0./C>/KU5'FP7"J?OOTQZK&GGUE,G3%??>@!B%][6,1P&Q8I'?A?
XM@/DU^"!C8DB8((4,.O@"%G70T9>&3"DHH(4?_O1&&R3>)^ ;;)R!QPLPRBCA
XMA N*D$8,.+@Q7V\;Y@@C&V^,$89?/^+(G@BEL8@&D"5R* *,KR49Y)+.61EE
XMCJ6Y48>6+E(EPADHU0$'F":*>0:18APY1Y(*!*3"G'36:>>=>.:IYYY\YJE
XM06N^T28;./T4QI]])JKHHHS6.9D"9>#1$GP@!$''BI5>V@8399A!AQ%OO#'I
XM#I!*.MA(EF*::AM22$01J*(.1FJDDZ*J::8K4A'&&F6 .D8=<\QJ*J6KXMH&
XM$6:P08<0=+A!:IP%25&$>$X0 4(+7$E4QU>&A0@"&F_<$=4;()Q11D41$7=8
XM8FG,0=!DM)[Z5% @2*%3&GJ4\<54KM*QD;T[Y?L%:&1(]:R<C2:LL,)_@@!'
XM1';\1!49AB*Z\,48[_GH"#GQY0951D@11!-%?%&$%44X0<47300QQ1)Z(21$
XMB)>Z <57<\S1A'!K@, '"#/34;.]?@E7QLYS]/PS%P/%[/334!M4!!YPI+3M
XMT3S[##3-M34A:AI=9[UTTU&7'74100UV!5-DA(NTTB!P&H9L:ROEMM@@,&WV
XMWD^') 9+<M0Q!AU7V[O45X._K;7>?#=^D*_ #H&&5N8J_O/-#@U&1QZ24XYU
XMTBE4UC%3((M,LLDHJRP7$2R[O$0"*( P==5S7&VY[&G+47?;=]S.= + )V"0
XMW'2S?7?26OL-N."$?V5X&HC3X;L"P0L/ N1S=-[4YW!CCI0<FVM?>=:A0UOO
XMM$E4"\)7=WC5LU3M@L!2'68@-@>Y:51DY$B3*^473FFHWV"2X[ W,*4B =/)
XMNT37*=)=SW0E>T(5J,"$])7L"DD@ A60H!<9,-!CI1M9R:90A+8,@0I%8!T&
XM-<C!@\S ()1AR4],PA V"&<.4-!*KT93&K'8,&<Y_)@1>%B&@V7LB$BD4\,
XM<X<PR($,+<@)@)Q8!N*8022# YL;AI+$+F+L43(4T1AB8T#B/(8.5,B?7ZA
XM*Q2D@%1AI*$=RBB_<\%J4FR4E!M)-<?+7(^(58 #Q5HRA<DA98^^\:(B$]:P
XM@!4(!%HACA2],L/:%' G(JK-(Z\XDTQNT6*+#"6?'A40G)1A+*/QY"7SI\5'
XMJF RI80#':: +ZI@*R>3:H,#I4*5JAU0?K4$P1W*< )NM4\.:W@D:*02&8*<
XMCUK6@I^[.)E%2\8O#-\*PQAZ=@<TF 0-\@-7'=A '#%0Y2MPL.$8JBC,_('S
XM4,Y<4Q[@ ,ZNT.MAF0-?'IKY2@7$<8P'5( L:9DO%)RA7:$[PFCH:9(Y?"$T
XMY%+!08.E@#T<QPP= \$3A#"%)[0%A=2;PS+' $X4 *R6^P++1.@0N@18- %&
XM>HQ%8* #ZB7@*\VS#0Q(!5.C620&-04>3K=E&QGP-*94B8$,@GK3<Q'5(C0X
XMJD^_P]2A4NHB/.U8&,9)AZHZ]:HP6 $*4'# %* !BZH@3-/*C!^K30%;Z1>
XM'RJ3E*68@7I6'0D4#!B4!'[A"&R8)QH,BE!2S=6?=)@A0(.B *JE9 A$>DS0
XM:D;8.21TH=X<@T,A2I")DNJE>778+&M9V12L(&0B_(($*6C!+ZQP@X:-86+%
XM."\Z*&">CXUL&29;FX0PA@43#1UDTT! %0 H#:12:!@8JMF'/B>BGJTHV9Z"
XM&!0$00QB^(H=6):4.O#6#5] @DHI4MKV?*L,8<B)',3;+]^F ;@(;6E>37JO
XM? 6!,.$=+QU**]:II'<P[%VI>^%KV19<-[MEV&X3NOO=_+8WN"EX@0SB:I0R
XML.$Q>/WJ2-A:AONVP<$"#JY8!TK:X/K !S18P81CBUC%UK:QM(,"L- !::4
XM5@'*9>YFG]O9=GTVPSD%@6.SI]OOEI;%_WPQ;G$XXQJ[8<#!5<!PBWO<Y&*V
XMH<[M2H\I:E&C!! $*)#Q'&C,E">$",3D#:YY_:O> )/WN 2&*Y")2M\$>AC-
XM^Q4Q"M@,8/U"&:$M$#.9W6!F.N"YM!%>\70MC.&F!IG#=W9SGA$ZXM$6U,0H
XMCNMADQS025+A#6FD@U]NG./,[EC+$O6Q="V#T4Z!8"Y4($(1C#!G2J% !BH8
XM,F13LENN/1G"N"'5".H:P%J/! 4DOC1"3ZSHPY926M 42__,Q:YI8E&5EP(!
XML*A2(SR H W:1(F[LDVKT0PN+_9$8##-PVG&\GF]?H9SE*=,+^,RQLK+-766
XMH:OJE_XRW10!00] < 0I6,$%H?8+J((BDZZTP ?"62>];*J7%1#<X A78Z]J
XM0X>&O^'A.9F#Q.G T]"V# O6Q:YVN>NE!DNZM"P .!U6, --)_*9Z8NF-ZW=
XM22V&DRSDA.2%R65.:7N..-G>-FMD].UPIV2![;9M5V(%[_;*&Z%29@R5[XWC
XM*S>7LZGFLK$O?O"$;YSASWUXQ EH\8*77>,+[WC:?1#RD5//*!:'-'Y?'EP6
XMF\^M%'D!P:3"E6MKT5W]C+H" (]&APPQ.BAP3NCJ%L0=1H<@SOEQ NA=$7NG
XM0>#M=,/#46D:K0>%IZ7&,D03$'8G> 7<A!IXW8Z0A,@SA05SD4++XD)[)QCA
XM"7&EWI?=^_#7$.&47IG#PY,5AC.XRP0@N$(3CH_*2KI!O/^50TL=_=0$O/OE
XM5Y^#ZPESI(6LP*;348'>/\SW=HT?]G%- *.I,OSC%O]8R)>#\GW ?.># /K2
XMYWK4YQ7;%UH[13WS9U.AM7Z'-E'O5WY(-ELT%%",)P2BHBF/5QJVYP:3QQ25
XMEX%4H0*9)UV;9WJ==UR@YQRCYQ6E1URG1SVI]W7/Q7H.^'I' GJS5WO.@7M/
XMH'MP\5?I\WO!EP#UQQCW-X#ZMWPVY'\ .'WY9WUW-!@%J&%<$2J3 GZ_58/D
XMQP;FAWX,V'[B9X-<R%/S1UU@9G\^8'SYMW_]]WS1UP0"F']3&&0'*'\75@8*
XM2(5?Z&=:"'\1Z&*_I "#AP:MLE(@N($=:#,Z!(*8QQ2:QWD$@8(#IX(^0'HN
XM<%S)\2Q$6%UHJ(:HQ(9+Z(8!^ 9(V%)&88 EIX?UU6'XM38%,U@YN($\Z(.\
XM%X3 9W,M1EN!.(B<XBF'*'D*0'F+2$2-Z"PD"(F>EX),L8)?<8DFJ(E%F 9'
XMN(9*V'RB"(>D*(=W=Q"H.'8,Z(I2@0*QN(.YMWM Z'NWR&(((TKLB"<-DV#)
XMT0+]0P:,T12%UW.UP47MN(]V0DH"X4SS^#_PV%=5&!B\Q!5$1!1Y006*\179
XM]W/C5$Y4$09-Q"WK<I!FH$T5(14_ 0)B("K@=) B(FIET"9RD!?.P3N0M!48
XM28PI&2Z0Q"UA($"#PT[=E!2)014O>0<G,!3.U!6_XBZ15$=^,3CR,UOTYRXD
XM=70U 0(,J9/&(R[@Y@;--QC")!QY84[*%!%"@Y/F!!A4<9!/@!1NP 2ATC-S
XM@!0T<95*N2+I="[L=#]/41'MDA?QL9&*T08I41&=PA=CX((5$7)A,93QDTI3
XM$1@4N08521Q0D4[:A!8*Z4Q/>95Y4(5!^4CQ$Y#L%'*#(1ON<C\]]!- X4E-
XM"2J(F1>X% 9]L9DZ<1)I($L^MR[@(BY "2R/-&9 )Y'9Y#]QN19Y<9 R,2DM
XM (D-T09M(!(F87T,41NR$12'1Q):40='TI1)< )L0"@')1MY@4UE,A&&(1MR
XM8 ?$)2[F1"1WP$]Y$00^!)ABH17:)E.UP6V(T17;,B]PX"UZF1,7I@,&X7H@
XM(!/WZ2\@D$,YDP:RP0)Y899&<IV5&019=* $QR9'$EB5\J"081!7,!4CX5'2
XM]Q3N A6UJ7Q=<9WAHGQYH9=*EY]EL!$AZJ&[28_L!!78E)'00Z& HYHKQ41.
XM1!Q3^3%RP$_1IZ$Y*1;;<C^!D1RS 4FAQSL;L1-G0)5^44Z5V9*79RY"4R#;
XM.1)H,RFN)R)F4)D#*: <V@1U)!1#VJ*,P2O55E/EX4QZX9\ ZBU.@RU$0"YW
XMZ4U- :1Z0: [(1M0@RUJ@9=_423 \IZ/A 6!&J>?0JAODA=ZH: 3VJ 6:A"
XM>BYGRJB&:H^(>BZ*BCUZ:A2 )2B16J$BXJ>5*JB66:AB4)F/H12/A$VED3-5
XMZ:B.$S/9=I"8&!3HZ4P9BI-CZJ)0<5S;U *7T@(MJJ(LBJG7Y)'Y\VTL*!9N
XMR1A&TA)D *0,&3_Q0P9U$);D@I$:F1@=>9#;%AC[XS XXRZ\,Q)0<9"3E$I:
XMM)UEPI**D:L5L9,K*4FCX10'N9,;,92P5J:7&I1 F@2((:Z/$1AJ "SZ(ZUK
XM !/M)!5D41%Z*9Y-L1'KJACMJIR\-!+#E!=G%+# TI13\ 8;,4PX41LG4!%K
XM$!_B<I.\9)#D\K$8B:EET1>_J1ABX&OK8V'H)5-AVI1!8[$%JQCC:JXZ\1CH
XM&B[J.A*\E!?TNJ0P:;+'R1( .[-!^13&645I(#&!U937^J&?V:U$>[!.ZYYG
XMT*WDXI[# AO=]$TGJT!WF4U^:K7 LA$/<[0G>P=NL!&1EUEHX+'G,FZ*$:(I
XML!$3&Y;S6J1>T:];\15%(U,'F;-"8TG9]AA%:5O.!)IA22O)>J1X0!IO29U#
XM2Q5/&S]\:J#<%AB0RJ"DBKH(ZDPF.SE^BDT^4:!^2B9A( ;%,:0D9$)4X)&^
XMYK4[YZ*S*4Q4H9F >Z7V2+?N8B:6)+DU8[0Y<Z\[^[B#:I"#2Q:!P10!>J)O
XM$')L^H]%813?=3-'2ZME Z=N$*!/0Z?DTJ5X:B#H&S6GZZ?M^Y^C*[WNTD0?
XMRK3S:H*O.[ZU:C8RF[U!.;]0L[H4ZJ"E2A77@K]#>K?3R[_S,J3T&L #S#<%
XM/*@'[*9F$ZJ#LL"3ZKZO!I(%LJL";!#?130]BX<>G+[DHJCW6Z<E##]YBL!/
XM4[\./*<@8:G,VY17P&UN0*%6>EY?@<,9'#-?%KDZ*\'[*QRO1A?S@L1);!2X
XM:H*?6C8*+*D-3*D]C*HA"L1"3,26>I@NG,)5K,3Y"[V6Y,1L&<6_RQ14G,86
XMC,5S#*H2RKH,C+H/K!9; :M'6Y7C4L> R4_^F!=ANC-P8"]QL*U4VP+8<I ^
XM\3$N>K8(B2DFH4ECE&WQL85'*3$^F7@2N%BVE<C+Q<B.O%]D\! ;$:8L2D0>
XM%SI$T"Z.F0>LM\IY0"I84 3-J1PJ$*:D(HQ"1(PJ !VEX7&/:(*1R!B@9\QE
XMX'',V(*92!E/4TIFH168Y'.B@2E),!9N0$->$7WN1 :CH;<+]#31>']3@)0"
XM-W#=K,GK+#$@L!!=5C;QW!+O[ ;OYUX4YC1] (7E5&R)@15< 0(>(<@4,]G
XM(P<HH3M.],U-@0(Z\J1>\4B*C,HZP9>]O+O.[ (BT,\Q,U?#YJJ(44H#7= +
XMY&SB"P)AVA#/H2W.4P:-G-'7$LF*,<E)&15RD >/E&U+N3W0^M)GL"W6QVZC
XM_&(M71M\,=0Q/=,L@0*XW,J]_,K1$<L*,,MI:4.VK *XK,N\G!RL!\S!Z('#
XM>'G%#,O/E<SLF8P#Y\S07(DLZ(R R5/"7 ; (X)D3<D#)XYY708JD )N/7=F
XM8(DX/8+4PWDNO=17,V#.47DL$*:X^!N9R[.#,US;Q(B0/*26>TH5P<;\ \7F
XMA)/"RBMD8-2 R%B;7=D,>XA1S=)3C9!5_5RR3,M:?<L/X=6]'-:]',Q]S8AG
XM'=M=H=8$Q'J2"-O'/'>62*_/@L[5%0)NYP+8 RHD>@<Z0Q:/$3I/\U(E")B!
XMBCT#1@6!LZ)A^G!XX-DN("*E =)Z\<\ K=* >[EU6@=BX!>6O0:8;=-4D=J=
XMK;.3XRZA/1)M(]]^T0*C746FK8NH3=ET$-_S70;US=JL[-K)0=7'W16SG=5A
XML-5=K0"[G-N_O-MCK8C#;-:!'=S2Y675]=QJ<;F?=@9K4@;QO$T%TE*<%QS;
XMA (E_G%PW8STJMX)N-W)803CQ 8 <RE?05!ET.(OCN-H[7 [+LU!$=DKK=]$
XMD*_WK=D*#KR3^]G^O18]<:[L-)2'2QQ)0183D1<)<*L1X>)6B4WDW'R&G(L3
XMF.#P;>5$!-41[LK&_<S/M1$_1 =.?.&U3! ;WN'%)=9U[=LYKLO?]=7U]N=.
XM+-Q!X36RP>3 K>/)#<"0?JY2?J+=9;XY<^4'V25UH.71V]\>Z>7Z:^!0=]0!
XM1>J@/@<0G@>//=4Y+NA:3>BWS>&.WGF(WMO$O.@G?A##E^/1+-?QF(;X]XD/
XM1^I?L#E( 0(A,' DXP15(!=/X 1%T%*%%"[QK!0[NF!>8ND53K(2'A0;801N
XM4@:=/MF7&^NBKACZ;1B(208)2[6>G4U=CI-.S.JB?-JVI=]!8.\*"^]WWMIZ
XM?NM73=L9;MNYS.L>_NLB;GD]]-OE+NDGR,QMW>28'M?*3<U.4TH$.Z3Y[L84
XM?+$N_#0%<<%5JQC<ZRUA/%UZT4] 'A3=S:@#INYW6.O)7M[!B][L[G>271#I
XM=>]T\.#$F-D'6?0*:^J6A.K_O>JEW>H KP!,SQ)(#WD(_]H*C]6U[/"X#=8?
XM/LV)'NP<C_'+_'D;?^G'_O$R?Q!*[A<KSME:-G3@?D;=Y K]XH#F;.C7'1
XM/20EZC7;AMU.H]V<=_-!^=WAS?-!D?<_GP;I32I/P]X*X-[.%*9;.AA=&D!Y
XM$)D%,?*2S%>3PM*Y,TTH 1N2K$,;$62'D;\5"0<MT";;Q!5+V)0T+$T [4PR
XM2@9+@6UI>YU#VLFPM^='23^(T3:4O*H$!X*]OOERT/E?&N>*I_FY(_UY@.>T
XM?O<4SN<6OO 8KN&[;NB9,?8O6/8D?O;#;A##-]X^@ <GD1([D:>IV1?M7,.>
XMWW"# 3;:1SW&[@.^)'<D@3EP!9P(4B . T?G/8;EAA#Z"!E8"$? ^?4RZ(?]
XMM)]4FW![+I:IHY46IHA'&<!^>2$OC#R3Y9!8EU_P%$.*7PVI^D<H0(/P*SJ:
XMRX8Y!9!DE3B2<7 FV$__102O(+J,5TRB/R,A1!DKP4?=6@"*DBG(JMI +7&A
XM6]S%S>)@(<L@!(&ALQ%$P@:[2G) ]M&^GM%_S-#H.R!6"=6=+4H6L78">WB"
XM>X[ZN3K&T@'1BVRH@%L/ W8]AB?^'A[Y\V42[P.9O4OW8XQ"*>$)SRI,*:6M
XM,AP\4F7"77_CG!&[ZN+^X)^XF7\&0D5)NX_1X0%S(V#)#],<)>1M[B7X&B
XM?^="-1&*:8?_OI0.Y'\MY?\%P$DQ M@%F0G"7#=";V5]N;N /91+S-#)<P
XM:W%+RMEY>4A0(6>IA$_6$L#,+G16.0&[_3O:X@ 50"V\A8,A%^:!76@!0\]&
XM@#-$R? 9!*^7Z[C:KC,*Z*_BC2"C@(RJS'2Q0#""*&F>W0&3+!=BF$3+Z,FY
XM '?(4WZ)N("'HD<>#J)Z2"^<2!M _RP(OC#.X!ZAD ". -C /5XG5/S!FB0
XMJA$^G,@(^8!V@3WHV38R" @1!S&%(S $9-%_<@)08(+\GB%0!:; 7QD"\<<H
XM3!2-Z 9HCT=,'R&1"HS$DGB.A!!/F2MV2*:\%)4X1F3/1NR(.RCZY)PG< 5.
XM8DH\""O1)[9$'71[HA@MJHG YR92A@3@#\')P-E##Z:P4(^!"'J^T64(1WUG
XM*F(!(] 7B!QGHQRCIK6YPXV $/L58;@#;O$?;@2;<@=: *X9B!N!\7P:./"+
XMF$(*: %5,?Z,Q;)H+P8'6BP#U7 MBK.6"!1O#T&; EG *,9%N!B3Y") QYU
XM\2Z^Q;RH7_9B7^1 @)$PH('XTVV^0"U\=FUDHC0I"V,&2E8\'&QQC2J5!M>8
XM#T>27\ #<Q$SQD/;6 :V'PS8"![E"& !;$>+<!&T0$WE#!K* 6DH W@A3O"%
XM[Z:""4-6Q<YNC;504<IP,B299O@,T0LN!!9YH#E6PZ"(#2V7-@0!W###Z;J'
XM!PZ!G5D;AP>A''(=\A4J"(7E6H=1B2B]P]!S[.BA\*$7]Y _ZL.O"!#_HT 4
XMC0&Q,A)$&&00$:)"S#>J9P:%'6@4$:711)1UC,HB6@^,V!,7(T=\B2!1)#X!
XMDF@2.>)1Q(CQ0RFZQ* ($T4DB82*\0<GEJ&=B!0[Y.QIC'M+*%8+HF@4>8I*
XM3)$>DBGFR'+T@WJ/390K4[$J=L55%&GXD%:DBF]Q2=J95D0@C\Q4+"5\0?B!
XM*")"X& $"R(.5 2;E">8Q!M-T@)) (/Q.A7&Q-(4TF*$4XQM44'&1320&Q-
XM9E0!>/&\] O/>.<D3VC\AX*1+*K)L]@F$:-:9(T;X4;*HL<8&4WD9)R3=?).
XMYDF]Z'CZI%_\DZ-1$V')LEC![)5L!()10>.829J'!:H<15IG$2&B'4HVT!H]
XM)(YD ;]'6A0<"5(M)"-=W(T:!S<*2-Y(ZVYE/H2-S>A3TL:'\RDY15.0"L9Q
XMZ#U'BJ0<@X,<.(:]D"(-J7?C&@D/VT!25@13F4D4< RQXX&3(V7$&29'[Q@-
XMG0@U;&WD\;=D0_ WZ+SAPPN'(6@$R4?DH@#0H7VT,/C1;H@+=ZB,\J$E\H]$
XM"$#VRV.W#QGD04R(,&@A[AN'2%$"YH'\AQ3R#$E$BI@A$]I%+!<V\B>"R)@X
XM$TLD2O212!%(CJ.FV")EXHBDB48R*B+)G$@5:"2'9(D?,BABD!U9%$TDR$21
XM[D)%"LF-0"1K$3J*D5M1-$K)6M(DLZ)ET41ITBP:QD*9&!$EQD10NO$5]:)/
XM82DY$&?<DY42\OC)JA@I6P OZA144VM>RD%4B%Y%U2Q<E3%33L72>!H_$AZH
XM+*N15;I&J0DV/R/:Y)J7T4YZ30(Y->WFWGQ%93-L:B#)4R<I)5\\FRW@UN!)
XMT5BX;$IP'([IPPH\@2600C8">-M60XAMEC/4J$=4HWX<EOS'$@G+79DK(R6N
XM)$F^$3@R >'X!2+GY$PAR9(6CLOLPP1(QQR ELM27!PD:OFP0E+[2%7NHAXI
XM$&YY';\7N_N68X0[SD[U4CL_QNTD N.Q*99'"X/KU*.[Y&T3S[?)2V7F>4B%
XMO52')(@=[DO6.##E(<#\)1%+> XBT&.Y?@!J.1V]JPB<D!3B6C+(!M$![S."
XM3) *HNWJ)PM)D &2$EFB@NDP%P/I.($"2GCZ!6/T3Q+ ]R0I[8)GD0'LT3P5
XM2"R\0P7Q8#Y(';,P)Z2!3)L)<B!&3.)S(2NBQ=R0&!-FOLJ/R#%/IL<\D>5"
XM9&[$G<E"723*M$5 DV6>4)ZH0CWBS"0"/-)F7LRD&"0]8L^$D5(12O[#H6E?
XM]HZ3/)I!LPT$2*_XBJPD]4B::_(P-DVY^33E9-KLFII1BE[-E<(GQ29H#(R:
XM2'-2),XY:1R68J1$P!(RC$Y*Q!MUI:]\.+QR(_Q&C;(ZAV//'$+I3-DA(5!D
XMC?[/&T)"UH?#Y"Z_H"&-@@(%FTQ47ZQ/BQ,#;J8!_1@+- 4],,7)808&@5P(
XMV,*HR!66AM!<YB7E62@0'M)-7W0V+>DC'0F3Z(%]359J1D%I.P&<_<)N2L6I
XM6']VC@2EH+:SD1X$-7H'OH#;A)N?\Y0BT(V0/DG'(%H!,0!J @^#\$HW@@Q0
XMG:S3=5).(J!'AY!1(*;&] V\3<_Y1OEFW3R;TM1Z&$Z_20/2J4&HB[-4<")&
XM/TDV<RDZ13\&X9KRT6SJ!"3G-NVF-Y&4ZL2+"4Y;@J3X E'*7"!3Q?A(/04S
XM#1'JDT!"TW0J/%XI#"VHM *A5A&%2DZ=9CRUF]+4**Q3Q#D#ZJ11@*?FE)8.
XMSK%)( .GW02:A^4X.I/NF'U<#_; G;5P6I)+.5 MQ4E%:%'$$QD>3ZK'#,,E
XM354O-I51G<L(ER[?R[I,CY7I>H8X/?@>'5'666OF\'O>Q_"9'_DE/NR/K!&
XMEL\!2B WJ+Y9/:U'#,',G7E$4V;\^25*\BHR22=J-"WA6^V'45*N3LD/ XX&
XM2Q^"0&)14"I--KGD5F6K5)0[Z(<&493X*+]HWI24FU%/DM&LN5+/*.-,HS$"
XM#YC&S6E0VZ@EC)NM$HZ*SN@ .NNHZ:R-&B=U[E,_VH-V3^S<?07AJ)9+.= <
XM'UA.W9T[M:?."_!$K8"G1W(B8*:V>DNB"BXO@[ADECO568I'="D]U:5Y9)?=
XM<,/!RV)$*N:E]ZR/X/.EB$_].%;CVOD4F%]U0+ZB#.H@$R:$E$%=@6&&4 3)
XM2RODPZ&804F8ODP5N4)+9L?LD4-4AB[%C6E#2R0.3:(S<HAF3,;H0X=BS?R8
XM^35G%M&@V%;_Z\J,J_5BKK*?)SJ$2DE.=69=DDA\!>(0/0YCJC-/H9(DF4FW
XM>2:Q**$LK&_2:;;%6[E*Y2DB&J,4H8Q6UK^(-^GBWY0*?1-QUE-#A$[39H6-
XMK;YPOFF3]R$J@6NV81O)J1C*@&QYM5" B5V:+^X]Z82[4Q# $ID@"UMA+&C8
XM@I0MKI,I(I6"-8LR3<.:*#7F#HJ5;D$*T$K6X2A9+(X]I[5T3K: :/I8;RP:
XMR+&UU,ZZU!YK4T9JGE6<@1&:_M@N2RB@@J<T:Y,!39K*.X J"\06;94K5C>B
XM5I*D*^EH:I6FHC4VDE8!62R3PAE EK,0.2)7VFD[:VNTU)V*@7<NDWJ"J82G
XMN[".0C4[RKGD:527YV"HH'-@N3+5YNI4GRM478_8DZJ*0ZMJ7>LE=MVJVK6K
XMDL_P^B_#Z@=MIA]C?0Z<]ID_OT#\G)\JQ'XB ?P)053+_FPMKP4)B%5F&]<(
XM*$?4H.:5@Z+5Z%) J^)ZE:(C% W!5V A7U,H?>6O)O-%"E$42D1'9HZTKRX4
XMB:[, ,MO!VS,;(IH=E96@5JY;W^D@O6W/+.U%DD'FP!P(H3%BB'F27)%O4HT
XMJ605#8O48U-JR2#();7LE_R!8M+"D,DBBY@<4HD-LR?636X_.#D&&FN-Q8QV
XM<7&*4<D:8RGK/+V4:/1*5EE.:6CSXZ<LL8NVT:K*%,M%$>OM2;AJ=N&R6<9*
XM<0Z"I:6TI?725MUW^AI'ZVSDM-'!6'Y:M1ER@:RTE $.(PW@ 0L3%2:41U(G
XM7%!9N:II%<Z$)R3Y2'.+Y:+<R^A,; _$\A9O #S= :[4TQK2*H)6\&$V?-E$
XM&T@]4?*I1DSHD#XA3Z)(&]SV>;*$5>:"UC)+8,]L#TJS:U8RYLT$T$F?*9V%
XMMF7 ]-9)O<E)5Y$G?45_49\J&I9I4S"O%B6SKE(60=W0ZRA'[T?ML:A7]?I>
XM.XMG9ZR>M:=Q%@0HFK*;.Y5OVEV[A"*QO$"XZUN1+-T-#'9W3.I.O1LF7RYA
XMC+F&DND>5C/[=#^OPF6XC/6QIE072SAY;N,YG'FVI-K8WYMG=ZS93+[-AC+(
XM5+-K"W=J4@U*IK;YXM;LTU,CEF^%M<-U&1;7TB9;H]\;P!ZZ=OLUU;A9/:.J
XM='6/P]88%5NMBB^YJK[DKN2V&7W7>M5=FQ$!A:M"D^,VT0G;7B!N@_V9=_5A
XM3E$)ZUJJI N6N#Y3" W:+%EH26YTR+ GM_MJWQ#K%T9EHK6]8U;\<MZ#N[<4
XMZX&]FY'UYNK-,$H9_:SQ#;K,EP=W2J-[>=:5WB6529= +-V9ZS2=[M[:O5)7
XM]-Y1'V!:22?JQ+1=5]-^74K4:8^EVHRI%K:<1:' <&HO%=5!GF3$N-;"/1P]
XM<^1QJ<# =JJ6M0Q<7;FG.4RV']BK"LAFRRK'[20NMV7U@UK%2]R,&$^"_%*@
XM!PW((_UB@297&]"E'[1-6"[2D2#!C1PX*,:H@$X=.B!MA<D#PS6N&!8GR#@P
XMBVMQ+R:0(. %@("H\D&'6E>2 PE2_R06\.'GP T>&$0;@?P\XTR< &(00U2O
XM!K.\MEOV"A$EIH6<MY9EA];('LHB0V2^19D(EM_JUQ5),LWQ?76K +:4"EAR
XMW!2=,'Y5QP]WAAI1'"QP*Z[0);05#,.:W V[=W-7X!U45.=,JF(+XT#:6F5J
XM.QC'[,2=M[9VZ$7>H<%@*/Y<7(Q,87F*,2Y] R?9(,:PF !R,51(@-UVM?#/
XM"Z)M08#%$<E6%$W"7"BK>9-II+63ZQ>D<H5>B1EE:4X^FSX9E_+8.&M39G&?
XML3KJ$L)HRFB!/M2'R5)^*<MAJ"9Z<9"8Q+-R(BCA#H@ +T@K7)19P"(2@SCT
XMDVX\5B@1 MW#+F"2"L@U]RJLT&!(R\#8XGQD*70Q>4!;LT*#J-Z6$I2 *0"#
XM1P))_"D^K"<X =<2:)UI,ZX%IOENNF6?Q0!/46)&1B'5[:\J*@.7!ZOH[0,
XM#1]*1)G1\OKD 2" %^/E3RJ.#<)>[A=5*"$G%EX1//&6#;0(+P \7*3LE9!I
XM'F0. ]/X%97/SMR8+[/!N)AL(#+KYKLL*M8GMI#&QKE<T Q9D9D16K%!H64Y
XM'I[EWIR7S0N.&\VZ&5N(YN(,C+'%7-8^>KD@(-#47/I6LP+Q"]/K-><&V9R_
XMC')@L,T'(3CC9L4LG1FS97[,W$@X$Q[B3(N[\V+0S^#$.R]G9-R<!RH*+253
XM:R,%CID@SSX2X8'/!@$Y2^;0_(LQ,PJ5S[EY/Y/GY+R=^W-V5L['.(DJ8R=2
XM$6(IMC#)(^$X ^@1NIA]46\&'#..H&;6S;I&.^M"]:CUV45;9AA=L?"I04#1
XM&V$A"\]F/)\))#9EK<611<=#WKRCQ? 9,$7#=$:?1AO=4;DH9\ZE+]I)N],(
XM+4.8\6]=Q1\C&@/H(TT<7>LLS)W!X3$$X-NJ&"*65?I(3\0JS6:H]($1L/&4
XMM=NQUE*D-%T&(C!MO(;.E7I"5^MY@;,G,=N>6)7K<& VD"]5DB06H-[5V190
XM-E"++1<(^ $/)+5<6Q22;5D(".!/U58E@UMM:XDAM0FFQK]D$YMJR.")/^A&
XMWJN'Y@8_1;<:@Q5D)+TS?96O[5=RQ(]I=4&,&7!:O7!$>KRWA$ /DC52X!Z?
XMV_)*EN4MAHRO\_C>[B" JV_3<1G*B-+Z]MAC(9J%.>46O+(B@3BLVB4(K;;L
XM6);)WY<FAU\RS$7C)*4VTHL!&F_=DYHX<<V[AKUYL5ZK@'N-+ ?MA25&J)<_
XM70HX$*0OT(KP<V S&J/F<XV$42RM6XO!>C!P1!;P&W\C7.37:A-=#TIU;0$A
XMME<0UD. 8K, 48RQ6<#%SLL\I6%K7H\=I^7 Q/Z-);MDBV+%B;'A2LJ>R9EW
XM7;, E@VR378+B-G06&;KZYHMY="TT<"IOO @N>G $+$#PYPFUT$U 6O'HZ8\
XM]_31AI[,U1 'ZDOX:Z7J=,5K&M@1*^ICVX%?BC7NH.RV64_,9TUO$^Q:E474
XM^H;^3#*$T/JM/N;5L]K!4@]P>DP]YZJ>ATYSC^Y1]/.WH3$G9M7Z9?4^SC(-
XM%RQG>'NKU<4\EN:EHUG;ICA%IG];,=+9:.JC"S>!M(N@TQ(Q'M#MHQ=WSTQW
XMZPZFZE]EV8!M*W3<J9"$,*.$A[&U6D)@:7V[ C,%!7+AS<S@8-!8BJ$YX@9K
XMX;$VAU\(TN"1&*XHHL39XA)28EQ,ME"%$<@ B*MV_\T^A=CC .I>*ZB-0M?>
XM<.W14%=5-X#,IDNQI8_I$-E.%P<(9HH9%C$KP:?OD=!V(0TMHO_#(BR1&CJ'
XM6':I<V>S!(_'D#\U8.9(!#(A"/AGFMF]EM"*:5'*+I4%"2,%G"QD=3$2L$G$
XM4 \Z"5S(E!@P^YJ5]05EOG5;?ID'GB]0PD((9VC*=H*9+Q.?[N96Z":\1OEV
XM<+HT=T%X;24KB(&$#X8W<,(#PS'$X<6!W44&X4'S1$K^("E@9JP\M\ WW:J;
XMTL'4JX$_P8"%X 4H#@IX;C*!MV(/). J&,-*>210_%.#@"F^$/B 3='5^ILI
XM\&],C7:EN)QQ*1<3J8QQ'0 \J GH&>!.I#GN ."!8':%)97C0*6.X^^!TX!Q
XMK1Y/ 'U\#?QQG[)4!/E,N..V=CF:RP+.QQV2(H_C/F4&T/$$8,<)>23'M;MP
XMCR?R76H4$+@\YN2#?#&F<?(MV_IW _Z_P"* ^V__^X 9E1Z?+H?%** ]ST3
XMS$K6UM[KB0*'VIFJAY->'Z92/60GF8> $ 2DP!&8 B4QA;R2!&!A'T),<@HN
XMD% 4G6TCKH74<5(6K^E_0-7/9":J!OA@)PJ8E!W7.S#K:*-5@ZI@3Q&/N Q<
XMOA5:#4G4:B_TO+5,-]= GB8$,W5CE?-O$P!]EO@,F*!$Q+*\/8-0"_GT4I7
XM:KS/!?/U]%[GP-RK20^0\AV$!/0T&KK1\-/Z7*)C0V=]T:E5_%Z$WG@:,3O^
XM$XH,J?1!I)Y$.;:4!IR]1;JZ).D*KHJ<]'].0AUO$F+IA;0)P70MLH?/HU$8
XMQ(VYIG>%[?U&@G%!$,QVQ0P,D)E %<P)+59UM74H'<.QC/FJ+*/";.U)^ 6*
XM0>%;-1-B:EQ5Q!<Z,T <4$)4.]_??8YP#6I;%L_A)>N!ZR;.7M9Q1J5Y(B 1
XM\6Y1#:^3+,+%4W2UD)L)&TA[6Z):2$W@B@44[.VN(!P?P/$&\L"5"SEFH;*?
XM*9>4'W&&]EHG0FDKB(:UL)(JTX0J$F&9*"2 01(&UP^PHP;(?O%W+RK\?
XM//?:A>1G03]U*PY%?@-O6)M5,OJ9"5(4D3J4SVBN;53I8PV3-[]A/L;<^;
XMD).OP(%XRH(YQ;\]L0LVKQOTR#)T]P'3N4FGRB==>X?(6M#N3BZ\3XIYZ*0A
XM-YCY[DQZO?-H\@X\QF)VA^]86KS/N)1=!91" _D80T!QR0&EWO%$,&N,/\T]
XMMHM/],[#K;M+,.\_M[8W^,N72.Q2ZO5F2^W*C84V$* F$@B(MD%-L;DK2[(N
XMG-D29.N,)=IB>(GP&8$Y''"$Q_-K"W9=EMA@6AG :"RAUQ&$%W\2BL@Q$MOY
XM_+OS\VF6 +ZW-1\X:&C#)8"Z5HPJ#^C1U4[^KWWW..H""IM5+:#1=D%B^=1;
XM()?\1DP*^V^,@.T!9%8C9'I-JYY,9VX@Q_:"CR3UR/+]\JU1>2OO+S&Q;K8X
XM]+>R\F^+<S'M+_O=[1,^ 41;50WHEP]ATR%_F_&X9/<K8R/\GN>[!Z$"&6SL
XM;D8U8'L%,W">% IY.X\LJ8=VV_2G>CA_^-2KY7&RA#]VAV-SK'BGP <&SA"X
XM GV5IR2 ,V)V\H@J8V6"W63W-;#**N//K+<CC=G6/W9 K^LG'J\W T"3+ _Z
XM21C2G9SHUB\MY=,7>GFHZ ?.H)?UH!XRI/H\L.I]AJN_ I(FB7KW:;_8H8>J
XM5VH2(=J?\;IQV,? FF=]HC/UTH[&;E8:&^N[I6]6I3IZV;9ZK?"^MW"^WCD,
XMH#@_=P0^\K&D\KL3+;O'"]0C[TN?O%I$T#@9HVX0@(=VT^7L'HMLH '$ N+]
XM'9CW[[O>,P6.CWZ&C,2W,7^5"Z73)7/RGTSXL:M\[R#XXZ>QB5*Z(*5?\:
XM#?7:L&LDBZ^A^!7_XB.$C(_8#?Y8Z/BQ4=ZG!'J_\9%/.M4U1<;75!:[NO)I
XM1\_O-5ONSX2A+62S%SH(\,? (Y#2[^1-T)N]CG,.TI#96SLFP 2V#\9G"NV>
XMP1<?IB -D7ZP5/IS@.E_=[0/'E=OGO_W/!S&OM\6+]N2/?>A%-G>!6S[53_,
XM"\(96?57[F.!^%5/U%2)7S;QRIRXJO/'C^[/0#LW^^?1R+/'@R#C 7T?C(]
XMGN [>X_WC/SY'XD.@620P#A#@ABQ(637Z ;!KT>'0%7C/;_&_^6RS>\H'OWV
XM^7,]\\;HH9\.HE"I&KZ%[0XK1N4;?;,!%*K?JLCI-P@@*/9+C$*R7 !_VP-@
XMH!_W-S\B4M()?-QLWAF=PM^<$[4K8)Q:VEH7IJ8U'36E%5C5^[]!KIB;1*57
XM>Y_&3&'6VC&<9X.G46WA$KC!*TP!]]^%,6 $=JT1G:?KD0$CFZL@7 !YI(+H
XM%VPM8O&2&8 ]J21T'JE@#UT&$>!$H'G\$NU*7P5ZU"%GV[KE?JA5:MX=T!JU
XM>2H3\[4SJ"DX0S !04UW. G-TW@M?#]=&^+2.2'5!^6UBBQ2QQ,<!SS,@#?>
XM*C(>M4IFPC(UQ@%4-@42R&$L@540[;92S$TM0.D%KTUQLIX4J 2B2ZV2>>($
XM[E'>Q$20!;I>C(>OYP4F$%3@8A N4&98H!;XBN1%KL(9Z%>D@:1<R%,0B!?&
XMQ%]@XW4+ @II4!O,0"\+N] 4."S%RW&"Q*4ECXG7YTRP*Q!?/M)."#_FF;8!
XM!U0P(HG&\5O]*%(0%62\.(*.GP^C&"!0>@G5L@I!$O6*WS*D\$9'R7C7GHP$
XMY@0HF#MQ+.Z$ 08&R0%2G2LXKD&"0: 6(;24=J^+RK.['"3CV3P"3+ '3QLK
XM:)(T)2< AL6&:1Q/0/UP H""#YQZ8J_L#W&+[%+5@21*"H 0 .HL0PGM,F/\
XM?R*+N?.</8)3@6F'//AE#AJ=E)-4)K4!&8.J]']H #EH$'PMWT:(()VP 0]<
XMI* @T 8<"Q1CGHT$1H)%@AA !4? N<"AC'QK2 4SO;T)8P H.!DP-S:?3T=(
XM.7Q ("7A2;1\0-\)92>9 7.?&S#P[36S!Y@7$8AYVT<"@ 2V?(]= XCHW1XF
XM7Y.!\JV 7!]%912P?#*ARY>%T(3P1\P7-92 $UI,.&8X&5.?&&)^C%XM7Z%1
XM@WU</"%@5?FX?@F?1&010EXZ7R3H!EQ]WT5'^.F!A&D(0S@6/'DEH8]"0_PU
XMZ <2:&0P@"P U,=K&!DI7^-4/1P$2P96*/6]?$:A3P@U (6BGEKH\V5];:%+
XMAGX<&"N'N.-=^!I+(5C4%'(A((#X5\I-12X@'@4-U@]W7/YA EH<G@:HH7$4
XMA5S?!I2\6 &U7E>&+90;W\I!<G0];?9*/%B9^&4&BWR2D^0%X@GXL ^>> O$
XMK!6(E39G!&>H<0A[Z)+=\A)R(-/%;0>^D7ZYW5TG_HE/"4 '2!E8%$N)',!Z
XMT $<G@&WF1EZ<E@1>-U!>)$'=!@L10?JS? Q%IT+)(43H/5$. [@_\$<P@$+
XM00\P<'P$?,#/,![>/VM?VT<]U$6A4W0(>EQW3D#JI72= 5<<QG%\9"1<1=W@
XM'4X^B\8I!Q]2>4<7M>,2U(>,EI.& HR'@5)VQR"*?W,%O>8#U&%C%_MD%BQ0
XMU6%\>!T"B!+BIV0"#AQ8@*V7JSTW$AG' <P-B-Q=R4(LA5V>%JBE_I42M-YM
XMZ!FR-)*"N8&JC(:P3WXTE'PL9L(JR'*A.6%2]18NQ8@D"6Z(Z[$ =!XBAMN)
XM;^+0!@B3&(?^1C\4,?0%!%1RN..9!2R "C >&G!^4$&0 #QP"6&]PH65!E36
XMHU#S98@$(G88!3YX]YUU*$=AAR-4". ]A(D!R'=(ZSB )@":R-W!%?46BB@?
XM&HAM ()X'^:'!\=^N%4H"_XAG(@DO8<K8FD@=FEH@ .&Z"=NB-V=WC0A1@<?
XM(@@0(M(*(V)$!G>8B!+=I/@FSF&-8AGP*))=K$9& 6O(&K0&530E8FPI",'D
XMG_U]D8<MY>?](K:4C?4,DB31H 9(5Y T6]&KJ)C)BA_:K=@GV8J.(:]8/_ 4
XM<X,H5(N='&<%"] L4HF?%)>(TJ$ TR*L")K!AQ[B)^7UV7-F0RG1!#0]7QF#
XM5@QE@B1),^$X% 1DD3+F ST&],?HPBTL*R97!<>2+&C32LK3.! ]E."\,CGH
XM'Y;@((.K>$D^@B.H\DR$C</P(4L$!M.664!2#'BBH@LP.IT .L )(&<X#N!B
XM!K,PK@ KP [@U$$2GH)50C&> (I0&L,MLHAVV+40DID%LI2;*#%&![)>FL/A
XMQ8H:XJCHX]$QPH3+6""2! >B?:@@+HR^GDK()IYW#Z+!R#><C*5!IK@I2@JY
XM&MF1<9 D$UFHJ#-N6NB'I4@ANHB.0X3HST"%5I=T1Q5@B\(B,+8MEHI]E59H
XM-.H%I<3E9"XB+F&))KC-J#X-2;]0$_03CD/$^"EM 9%B4J G1H>V5 S0!8 >
XM)P 7 .< (IAV8 TFHHMHBC6 A2.4</AJ#2*B%62TU@BHAU+7<Y8,[Z,7U?5
XMN"$=CJ>B71A353,%P1" I& OX8K&,3<BC#$#?%A'T8R\4:^XZ(&-SN*L2#9^
XM4A(&XV@Y\DJ@!XGX*5*..HXS%DZ%:V]"15816!QH%Y\'/&!<Y,4X,HN8([[:
XMB[C2+"ACP!Z&Y#PP(AY"5OHD$)<,;##?"8G&%?0H/9(6[EE+L8>Q'N[9"%A=
XMN&</QWS''E8!;)^&Q,DU9G.?J(<^@G>)XPD84!%<[R/5\7 L4!5BPR@'8(CS
XMXWSGZ\V/M=C22 =TBF\'U @J+G6:8_XHG/@ \UW, 3_2CW:8ZK9_E2E]4V/V
XMP)P1@@M5,)ZY9]GCD+(J9) )&3[Q/6P.W"-M>"Z0D)/"L"?A(8F[84L!S\5S
XM7AZ3:-> ;>5;#<D[ ]0XKAWZM&/.II\U]ZMB=C=>??=J7=OF0 9)\Z)"B';
XM9Y^UD%$-GBCW 9&5F1 YWO&)OM);@T3^*.HC)<0^,@&:B/?8F"$Y*$">>$0^
XMD5)(9%>FN%0:)+; 00XI'Z0&^3:*D)H"&UE"SFZ:P^>C^<V&_L2Y8$="D;@>
XML9<D4@\SI%150SI_=YWI1ST0A\7A;F@^OG?37GR71 Z11^#0Z/WY )(D%]G>
XM+9&S6YCH4?R1@X$%)$7B=X9(EG9%OG&FWEN32;)WKJ 7R?:%D4="]#A&DA9F
XM9"29WTT*79]* UN5*7N8K;=!6BKMX&( 20TEE!EY-ANDD'UD%3D8&(FT#EPT
XM2!9Y=-#79TA.5\+A(ID?\9".) ER1K"0H61@!T-&6WX13W%&@)(#GC>9)&J&
XM/\F0@S,8.13/&3.U53U7Q'6R3K(@ATB/<U6)/1\/)(9(6CS>#[F Y)D@RP<1
XM,8(<DCK$78/3>!Q@85]#$ V'(_+:!PZ3%&35#"RZ1<!$?"PHE$/9-G_0^7%
XMDQ=&+4'/4'. E^AKY +\^17\ (0/S<(S0-2[BPLP;,R1\X!<P,[<<$Y,F<2
XM)]=0RD.5R=I3[CP<)649D 7(>O^/)>)MZ)3])$^9T; @6 !0>5.6>_I$M]?J
XM,0170!:@-;QZ2651=E/VE($*Z*$ ^7@1Y2;V__24L5Z?I5\T,U?E4?D5A'M3
XMD2FG$U4/I<39TM.0"QPE]JA2PH@Q)9'"T! 0V*-H$A%(+@J$2CE\A !?I5D)
XMXYP+[J--R?9@DH)EIGA0(C><7I=7QY65+>59.5:&9#K$/A?7M&K!0V 96?J4
XM9.5A:8D\/)DE9,E.8@&=Y4XI#^$!,:-FR4YFE0/'Y<15@GTV!8)VD F,BL'
XM9ACD+R+';S<2J)1!95R34XYQ2J5G&=<L?IV?MP=5_I0VQ?"QQ TY2(X6$"JT
XM 5B ^V@4]);-R% )7,YKU*6V9^YQ>\7E4TE5RGI& 8 &>D!5N1J] G)$..8E
XM!-GC)06@5-5(*]XZUX)[V5(A7QK(K2/KX40ZE'A)5%J6H=YO%EL6!%\&JI.6
XMG!(!!'$!)C4=W@;VN+%(67-)33E\N!?)#O'#Q?45"P%!-Z]!F(_/A/AZ3)A"
XM 55H2$$!.P,>@.3 %1XA3B;JI9<2Y@&Q?_B.!!3P4.VM)Q'FAJEB-CNX64K1
XM+V@B*V4"I^_(#^\?7Q#FL)3!1(GP%70)@LI(H'0T*RJE6ADO)G$HIHQ)8?X?
XM)L"\YC1@F'B/ADD8<)@7H1L"!7 8,H%"4%@>$*ZB*(0$^ M")A+ I29_L)"
XM-F;&C&!FMG@%D)DS@>YP9L:9;R8+L)"]F3CFF=AD7IDS9L[W8?)I(V:)B<@9
XM#6,FZ+%GM@%8YL.QD-F8*T7,.&@^!F^FH0E06IF(9I^Y:+:88!_P@#_R<81F
XMB79=5@]WIJ=9AP /^&7 =!(4FO\D8$(L.9D=I@_ >#@7"%/P(&1&FJEFC,EG
XM]A7QHU0 :\:,V2*JB1[105B(JDEWL#+I96[IY;27U8._1^[TD[EBLDF*37J'
XM"'S9 E2-:B;)@7ZXF9XF>5DEI9=13;&Y7G(@\67U\%YR/,UF\& L0A[2)K5I
XM-."9Z$>9"7KTFA6!,(9FLIETYKOY*D::\B:=:6VVFRD.X,-<UA+.Y8H07?IH
XM7)>H%VJ^CK,F[Z-O!HUE2"VV6*Y^_:5CZ7U,EE]:&5!H6ARQ@[L)8,:98^80
XMDF,B- 8@_?%3#3GRP[?I?M642F:)68M=E,'#BPE5!9O)3K<Y:1J;[&6XV7)V
XM1C[7LLF_80M5HZ1GBD6;Y.9]N2BNE%FE:)AZ71(O@*)'\QAV&M_#2;+ <V6
XM4%!+,'U.YP,H4>*!UN15.*'T?E3F>7DG5I9]3GLXA&B4EDA<&4P,'(#E3;E1
XM#CD)Q+.@TO C<*= "CD,?=(-?%)Q)UPYR'C3( @@8J9H%S\#:#/%Q,PUG\%
XMQ"U8+HP&B1!J.+RH0%#,<F%"1@3RC.()!;D+*DI><)U--T:0=9.ZK"?;Q$(P
XME$B>OI6*0BB$&3>$ZQ*AB"IZC(6"P7"'+L )-[3$#SN)\(*M?"@<GE? )OU4
XMX<R#@ZE(0GZ9#I.E$ =;3.OBI] K;X)!(/J,+5;):.,N'&382R^A0RQ!)<L9
XM4RZ(@E2!GG,%A2C0V\XRZ!PD>HY44*C4+I#0D!*FW"S="1J PC@E.(NO(91P
XM"XB0.2&NN1.&@=XR&+0 @I!3$M[(#V)+1T(EM $]2?PY$G@L\LU.\FI!!@8"
XMN>;9."PU8+Z >/DHX5@V-WVB*F'*O, 2>$>[Y-/6T81 :T539BV8+!\#.Y%M
XM#)FS9:203I@$S<I7D LF!>O$(/-=N NKP5 B \0YS1#?Z53 7_G'W!$4:
XMB8$B,9Q'YQMP^('!1RH,=I6#1@PMP?5GAJ ?\_!P<29)T[<=7-"&7%T !)'
XM0H4H7D,R=$+)<3I,4"'';3%[C&P05,AO0^@.ZA%B 7^GD9'D13C?!9T5!+@!
XM>4 56F .!G^:_;FMA%0'0?ERKMP.*PS/8C3@H;Z&U^!)O UT:.Z'>%:A,$X>
XM,!-L!'\G(3H%&*(U5PD3ICFBE2*:5(;.A1)1:_-=Z%-K:!OZO;RA/)4U)(>N
XM*/.:'7JT\*%;#@NSA^(-WX4?JD4 HO-:(FH\+:*'*,$QB+ZBC"C/%)_8HA\#
XM#)5R:C=80'^'")FAE2@:ZFNHH6RH&^IC=J*2AZS7BS8%B"<P:B%9HKX&)EJ,
XM;J+'*&VDBUY,HQR2M!CB82L-"#(%F2>]3B@C N4,V\I*4BE,-^'HSN+4T"6(
XMP<< VL&4.TT/=,6P)Z9+Z>FGA#,)"FJ7>C8PV2?S(E2Y**,-L?)Q0#O+V\N2
XMT] N]NCRYK$PHF@ 2A ?%"J(T# XN'!V^E(/A$W4#F* O8(X@ 6>B3D:@4HN
XMNV0309 <613-O"B@-"L)6E@7?0TOU(0J 15\;#40N2 2C'9E@ )ZD* F"49C
XMT*@L$#$H$?&-A@OAJ-VS]YAO%.!TD4;T$$"/$?I7+G%?'1'4A+([3V@$9_-1
XMH7?:%>I39*'4PQ:JCP8676@9\(4>!%C 3WH'!*5GZ/83!*@$,T$IY@[N/994
XM-CKS'01S!3>:%R"!C(C\U^/),\@<G<8[U 3V0I"!34Q7R\/@<#7P$PE EX*X
XM="0B09I"%92"%0$26'=Z$@Z+,[-^4@5Q"[A!F+$3E)EJ1Y%D.''.UZ8 T*5W
XM#ISA .(T>J5"5VQM5QT@\,#AB$^6 H' 5R(>I*G0H']H'J*?I/F,[CH$Y3P7
XM+]$U^1$0JA=L*@=D5-*:[I4A@@*A5Z8!KZGM: 7Q!.P$D6"/& 0SI4O ,P!0
XM(."WX"HL96*!0W(N3J271W+'>"EP4Z&?V83$(:A$1V@4'*>OJ0L0IGP!X ;R
XM@)*E%B=#RK RU$HMP\M@.Y8AZ&EQ^B:LI^UIS_">G@[QJ>I0GRX!MF-^VA*\
XM"3"E;/ %A&M620]P,<6F9L'^D:#J"PQJ8) >7DPDU#6S10 FI@FS]Q&4?23B
XM:+"A)@<674S9WZD7&IELBISJIR[ MQ:OD %?0&&&!UBFH(?K\3$PBRIJ>OHK
XMZ!_AS,!!(CH15LI><0OBJ*XIB]JTQ:AJ%]MU'A*IQ.F!>HEX2>3')9AJIH\G
XM@66I85FFMF-TVI^"'J]>KW,[O'I3@(GJWUFH4*6-LP;4/J<C%57@$!'H]J
XMH5Y,KYX%TK*AJ6S7S_#J-017ZG)A+7)=L)2F. 1HIV7 @M?:H"&YI2IIA8"
XM9^/>(+AM!)M;,$C'_$;X%*%:I<X=.8$L02<EJF:#HE)H!"B.:AHCJ<H!;XUX
XM4CL<"9UJ%:.E\@RE:A)C ABH.L&@=9=NIQ-)SE DU&[.6^ @F'(+-$^ 1!^F
XM7E >!AA_P(=3Q/0R<)@ P2H.@0'R%,!JI,8J]4O(ZK&33&P%LD?Z\ 7D3\VJ
XM/.034'>>9GM8K28WTATY@Y.XDF DHR@//2VI)D]12G@;0PFK8JG8$*7/N59*
XM;'@='C"A@)9XQ,@<B=.<200#Z &A_G1J&:UX!QR%Y^;@%'^4@9O8OKI_*'H6
XMA[+YKRYZ/B<&<BQJ(LEJQ*F,D %[G#4S%<@410Q?L'81!SUB1]+M 3WXZK'S
XM8A*LVZIWE5AL$^RI\01Z7!<'6<G:C!"70@V7>@60EG9J5+FF2AIKJ@E8L\8X
XM:P AZK*:!E JC4H)Q2<_JWHZ9%P-"I:V*JX^>VP '-!%@@!3 J76!N!/1(0(
XM@)U"&SF'$K2@$ J.)WH!,&8;1<>&%:YI!9U'HB6#T@%[A:R3^E0>D8=N^#&4
XMIN2-VXI>R*;[1QXPA* ASHQSD()@IU_!1%&>*0;>Z2*9!,@$,L1UXG'4BMCI
XM$F/&])^$YX#YE^!_3D3#8KBT?SD);$#SA)P((('I)BR 1Z(#2#"$@&372LDC
XM7H+H8A$&7.F X"D/F&7^@#O?];%3;1]$XAK11IB3,23=)E/4AIVA'I$;2F7@
XM9'7WCXVN?EB[^IU6A*JKARG4685%G4UQ1O22LVOG6KM.16>KWXEXVJ"V7U/D
XM6@Y:U^>0<U*J50IFMR*B9C.4"UQ)<F*/#YPEP1>XBV&H*I&KNHQFIP)Z02U
XMU2I6::F\KS[>V+$@'18]:6R3/V@_2N*&\U(4J\[?D]J,/*L(D(XTK4(08>0/
XM8:SJI@(L9+!V]3)SP!9PT<@TJ<S?.'"8,HL,!9O1'!4*; K5 I"6T#O5SAH
XML"R!!7OWB+!-32K#P=X0'FQ<\\"2J%O [,!KF+!UP_,S9'"5 "P&V,"Z "]L
XM7[$%Y*'6BPFK^Y4&O0X0V\*LL$"$#OO!0K 2[-=0&V _0JP$E!RHHD_LU_"E
XM(+$+;#NYP_:P0L$/ZVO$.E$L$5'$?K'G"A;;PE:7("P%9,7F 2:L]<.EK+%F
XMK!+KPH*P'A 4"WJT03$E]A/',K!++ R+/<@$86QTT.M@#WNL%MO'^K#80Z$1
XMR!*QO0PA.Q7EL'QL7!.B='+ $PA2R((@.RQCE\H-8D3$)4M$9+(936Q'R<)V
XME9TEFY5VL'*L@7>Y4++$7R=[RK*PJ:P<=>%U?I2LBM?YF;(P!2H;R=Y]']_2
XME\KYAZE7VMKN>;+1P0[+^0DUK"QW>,NZLKDL++O+F@: ZM:Z!=6H7R0Q6QKL
XML(P'):NT-K-)[#/KFZ$!VFPU^\IVLUHLE<=XV)8#A[]GS4(&YJQ^X:#="NGL
XML_ES,K.0;#E+5KTBXYDJ)17L63#C.)O%8K)4WB!23.JS=Q:<51JLLRX E0?K
XMG"N@QT)[M."R]2Q :XE</6@K0SMM*3@#C]%C\/2SW.P_^\E2>11M??-N$CQ8
XMSVI#S^JR]JRRRMG$.NP31DO25K0/[4GKS*:TJBQG(])>M)=+UG/0^K,!+)5'
XMY9 %#<Y->_PM.$ M?6/2<K01[4=+B7$VII)3@-,RM78.4HO22K22K#HI6,8]
XM5$%;8]5NEJ;L89$JNAJKXJQA/IRM/*O\=WT2$?VG#"'CV".T RM1&S0EZ-$;
XM +>("O,"*R$Q:*8A'DRCG/PTY@(,&BZ1M2?K&N 1]:>&B_'4I""GB8CS1UTI
XM +]$?^H!T@LJBI.X+R&G^5)"*!:*>=0-97OIC15;*O0!IB*G]<B3!F6"&9TM
XM5,FS$J)OW*>W$^@NT6J8>+BNMK[>9K;:JGU?Y/:AW9AZ_5%@^P7,MI/(:OO]
XM"9MY:SQ$B?F*YJ9P.UQNET[EMT=+S#<%@M )]@T?I2V8&MBBMI[>&O8OZ;:2
XMT, 1V5JWQVU3V5TJM].M\205B33$1DE3$(2U1D!L.-82$91.$LBNHBYSZ4$F
XME!@_S(^;8V$D%A4,NKH5Z)']!/NF ( @[2W1,$-4.CL(&8 ;D0%VJSS73BZV
XM)."!^_"\%$QGT7=[>'P@7R\G\NTM?QL>L (8N,7>L9,';+AV:^/W^I4&@4K:
XM>EW<#^I!2["0_"_T*.49>!5>SB<EDVVX)[D+BEN<NH'32FSBO^0WWV:30BZ8
XM+"=*TW.X;':7AS:!2BP%;=(^81[DKR3NN6#B_@TP0G'J$>E*"6[SAP$NMEX&
XMO4#E&J%9[D^E*UVQ6:=E&^9%>?=J>#7G99,%%$X3K#UY92ZXF@+\ &=%"J #
XM(!LZQ,,!=<8U, (9(*>J%V7CGLH56)?>!K;@K_I%*X":^['9CJ#8P%&98 L*
XM*Z%KZ#X1MF.$Z^[M(!2N+VOA>D1FP)<;XJI_Z^WNY^2F!$/$BN#D*3TL+@$A
XM8/:8!J:2TM9:?N',ZO,Q-"5H3A40?NXK^1'N(IYL#JT/=UH:])^KKL^!FT0D
XMJ0XD\=+Z.U^?7,*1S(.DCT3Z%Q CGY*4D@+5NJ/!K5N97!."BFJ'2N ,58.K
XMPM8FNRB/.IK*L!,X#6&*M3IE$PEU%Y49N5B6B&"/@)X[2?_9M.%[X(09 UM-
XM!DSN8(FV@KIKJPXAB^!&"6[I9XS\$OSN"$@O9*03:[[WYW$@*T# &N'5:F+
XM)M;H(KP-ZXJ BM608NY)2.8^GV;NH=>[)DB/;@%+Y^HU;BZ<.\7-N3B-G6N)
XMY+E[KMI0+4Y%4*@4^K<=FHEF5PA>V+KY0X)K!,IQXX=4$,2P!,J%M,M49*-9
XMJ4^1\Z(!/6_-RU0$N@-'1BIAM =KZP']/84,L706P0(!W1 T;LY'+TJHT=R
XM)S6]-L73*\?MO%5OM&OTVA2+;M*+!BR]7&\EAUY<<D&O3"$ZY@Y6;Q[ 5)2]
XM'LG9*P,PO3I$L";K(;U:+]J;]QZZ7:\E!TO*%%,OSROV7KUD;];;\/J]'X/>
XM:U/PO1EISI7V(G*"[R/K4XPL(0(: /;&O7.OXBN*X1J3K]=[^48L1._A*_<F
XMOBV V2OY_KV0[N.K^-X!C&]) OBJO7Z<Y2M38+Y20>$;]LX-8R_P0/<VO*MO
XMXSO[)@"0[];+^E*L@>_:JXG@1)*N+%+IYGTAWY2[$6RZNF3VM[Y0$4%!Y1%X
XMV@O7*@'AZE9U0Q9M>4Y8(84MQ:*OW#0Z!*^;$KBU%=P8<.2^E6B0O4+S;@Y-
XMR11T/T1C&4WX^_WBG^ *75(1H#H'"4S90Q1O0]8C 9,B)AVD\3,Y5"OWX/""
XMK=2>X /9ZN/VOTO0\LFT. 2[Y) YE0V#&/!,4OI$"JS$\@*XYD=3257RHRRY
XM?RT@<?UBJVQK]>H&@""T4>4Q >)S%Z!N6HR8LDP>V%9Y"+P5@77I'( @QPYJ
XM^4']EC\PEX13)D@$+T%;?$5X((AIH?!N($TP$NSPXISP5V75!*\ $2^E9P43
XM$;5:Q]LO51XF+YY+3J2\N@,UA@6(3^*# O&,(4PAA50*!1O!0UZ&F6+BFC+O
XM%S#_VKS_J]!K>VJ^&0WGF_S6OFTO53#T^L' @[>Q B2]L._=&_I6OH%P"0,^
XMH &Z+R%,_+IDB'#P*_NVOK0OVPOU4@6;K^G;^1["=6_LZ_AFPH,O5?#V3@J2
XM\$-F]HK"PZ\AC BSPI@PY:O\VKY4023L"2>^H/#BJP@?OWLO):SU6L*CL"P,
XM"&_"( 'IVPGSOHBO[^L+ [^@+R_\!VO"<ASN6_HBPZ>O,IP+?[XJP.3K"O>]
XMN[#P&PN+OK<OZ6L+4\.?L.K;#'O#R&\AO P;O^BPTUOY^F-75* B/I'!Y64P
XMVDSN>N83HF3O?0QA<#."\A[ ?:[7MYGAPW>N/TQ.A*FRP8E*EV4W9R-PRIKF
XMJ/JID-%$V(Y&P3/6VDVH"^J8"GJXEA0Q6)H&/\1%ZH%*0@5V^/!PRP* J6*J
XM>L$"F 6L>>XV>[#98"SRC8P>S,3RY R5 'U%A; _6*_P:F^-!+3=F!P/LQ%
XMV12?JJ'Z-4" 0L;T"T/]E5-H2^?9,@%/@-3Z!,B?#Q"4%C-@ 6DP0FSO_L00
XMG;$G%+=*@0HA>GSX!2W!4MQO'AQ%SI#5J[@!:X-44 NYCVOP/ 3:/A+X$!#\
XM%>^]=P!-H-:N 2DK>S!PL*RR@:R'P@:J40E7' .S/@1GQ??9,K=- 1\@W0Y9
XMA.A&P!+GQ=>H/];587^ A" A,2A'\M\ IEX(!I+"CLG76G^6H.P'20@ELIM#
XM 'FJN M$*=',/7/1G+70WZ; L)]FW!(H1P,&9'/8*#-WC3F$)GD/>62OH]M,
XM,R]%[)KDM!%E:<<G$06W>PL4$ 1H.S/3$V $# $5A'S*S\0?.<0!8068>_O@
XM@H>W"I3A)/70_'['T0&E.UR6,TQ?<DS1\1_@L>^J2^8%V9]MO'$D9*2N]5@#
XM=66HSF@\]<S&QE5\+/L18G"&;ESS5 2],=?Q&^.1^H1P;/Y8F_[&)I3LJ BP
XM@7EH+'"3VH='N$VBD0-><DP>EP8[B',,':</TC%UG 18QX=8C"10+9DH@/L#
XM(=\_JP(YZ3Z.D[=D**DA+\?M,0O@(1<!T?%T7!VK#-?Q+@4[$'WNWH:<>DVX
XMYS%%DA[;P]M;0%D>A\?O\=[YU_T0:(#9X2S)?\S'F.$CDB2;X+RK -2[1@"4
XM+"4[$0Q>8GOEXI!IS8^'SZE^!1Z48VU"D^'/>F2;>IT)4AI +R4 [-LN]Q:[
XM$7R+"A"NE3/P6^+:CI(+O!-4%ICX0O6?#'0F/9@*WR!EO$I>O6!M(-/=/U/<
XMQ9178*? :RWT NS)TA(^H5G$AF=B0 <]07;U%J8<(+URM5Q0$LI=3#F5)S=J
XMX4*3W/UXRAD%HC(DMRIS/J4RL'#+H5"I\BR7?2A7!=S0N<N)RKX<;0?,C71K
XM6TFGTVDB?AE9D0;T #O%4Y &\ !+')3<$)0%'J.<S#&ZCW8RGVS^370XW>5R
XM+)=WZL&8P;_*>OOG@CH'^ 5E !PP5BRG3XI.1RA"-UZRY,/N^'J_LE*@+0-_
XME2.Q_(U9=#E=^E??=<DSQKAL4Y3+P *ZK"ZC .SRQ_ O<M=LG 0)<O+71\\
XMO%*R+#L+FW:\P&XT#TV'+YL[^G)%9RRG?]4O^7<NI'W8PFA,Y.ZZ_DWR-KT)
XM+Z2+"=)_,I]NEZ,2,"T%.>[3TWBR 0X)@IOJX"1GA,?XJGIXTQ&Y)N9H!:_)
XM.''7$@1IC@%3J !Q[F@@L].D 'YM?RPR+PO@D4<4;=5O"J[V9%5]3U<S>/1(
XMH@!=LTJ@[J%0E C?-PQ1.^V?-+2!_+8Q)VV70_TXIE3S6S;3?7W?8A?*5G9Z
XMGW'+XTR:65M(6+\E477#$#"A+%J("#K)+A(1KA <(*3F#K*4 33(W*L"*,FH
XM57 53D]/L/ZZI(@!/%$0F)!Y9"6#NC@+AL'+ AH\!K\@K?N!H3KBH/_7%,4^
XM#:9!:JVPI(:')5&NF(;![M;*3@0!1@ *(06<S%0!]'&O4A%-QV5:K9@'',-_
XMQPDW<U" +?(%M 5. /!@ VS)M''2: MSBWD(79/9@;$#=>A3V* Y"/'\R:S
XMQTMR+%;7&)1@IY9!$BJ4?TT&M-W%-0\EF'G73<].!&F@G&ZH[3)QX)PZ!8)>
XM$M 2O 3X+[AQY3&2?)F <@,BQ9A=17E36"%?@*X40'\!77$"S5,DS#%*9L K
XMK 3&E/II0+\^9P06P$S5#V<$<EF-*4PJ8#ZV7^4X$5?>-K<A(,/"2 ")& 0J
XM0)N*K7(>R/)-N0H-!JV0 00+70^RT&:;A+H >\5] @<H 74 A]>F&BGUUJ0\
XM=,*(I-V78:_<JZ@S&XH%78)@1Z(5^^00/$3N>"Z(3\"Q/F$8\ZY%Y5<,-1D%
XMJP*RH"PP"SD2#, $)$K(L_+,/&\$86GKI#*X!46 %*!'2<;DV_[LL)@ &G!X
XM_"6>B5-T_ P;D$+MX6A;1[L$[@(I= 6DT>C(\IPRY,3484+P+RZ43S0531K
XM4'UT%0VN^LB_ 1$7?3C.V<;_9X94TJ3!AU<;M "!=#B3.'\:3H:+<D8,<8=R
XM=0%*1\C@*I1Y,84 /5WQ*IXRRAJA%G%*OP$3W]A\BF@8/O)F!C];TFZNQ70Q
XMU0U2@!62MNJ<$IT)@$&?"QKT__%,TP%9@#=U$)02K/.M<M.,@U !A+8>QSX>
XMA^*7+'P7I.7 (10.&E82"M6)&$#A-!DP3OL:4J6B&V/DA'8/2684K--94#O]
XM3F\Y5P#HD12>&;F:/7T0X--P@#[-!GP7',3 \4\;&AF9)G)/2X7L]'.1EAE
XMGT8Y311#U/FT1.U.']2^!FEI<2S4A:%?A5 $8\K7'X=1%]02=>SS:<33%[6%
XM!$YKU/MTS2!5?M0YH5*8D9'4HA2J3-/LEXRE*NLK%F@MTU04OB73HL(R775*
XMTQPT-"T93]/5M$-]33M^=27KC-DQ!<H)1$%^J*^'V4!]4H?3*O4;4$Y'TG[T
XM%@ #= $FM4L=47<%$W46M%*G(,,T:; %^(UE=?%Q5LL'&S4YS59G09)T&[ %
XMR !D=1RW5</4'/66$T^#U3S$%C #]-7J]%^-5M?5OD8_/8FTU7HU#8!8/]1F
XM=4:]6,?4CO)=K3B'U37 9 V6-M)6HI0'6<-0F)V^6CZGR8!;)79$%P0:ZKF,
XMEY*45@BT\K%1U0<JITQ0&]1V-2@\35>5N6QEC5)?UH&U3.T+,]64<E3M.(<6
XM5C6X@56392$ %A %;"L[#?4L(R/)I@1+(!D'T)+Q 'U=(]"Z$AZ-0/-DTY1!
XM8 (X!PFT9$Q>=]<3M$-Q@*:V%]->UBDH'=D&Z_SZ:#8FIS=M1$O,MW5*;0"9
XMJ9"(J[<MO-"M7V\M5UO6\D'L8Z9^U0NT$"Q@IR%S=5H-!YBI@_4"_? P7]GT
XM34/Z6"6D4N(L76?(2+*4::,N;YA=(&H0+*I/X!,H9>;7:'57K4&?V(IU@4U1
XMOP%-]52D"EW8H"H!9$,7L!SQ/^8Q1"JK$1BCK+2CIX33'%4-KTCH<Q,$A AO
XM0*>2(<&I)HCB RS8/:[E1N!")P=':7=W&5N_4S2-_<#8SMT<3H*04C+Q@TA@
XMF?Y_9T _:F'?@A9>%3%N$!WGA&")=. /9DI% XO=(+VN)0'$-2L43.QCDP@I
XM30OLTIM",4R!7<NZC-DZ7=1<VF#9TS.-S<]<S\I!]DPO;<^Z:?=\Z7S/S/$(
XM-6/?@C7T*_0 36YG<*)]"V[11?'<$4!7IZ&VDS-J0X"1:HLM3@?7M4$TC6+3
XMU9BU&Y %N%.O]JK]75P!23*#36#;VKZ&F9EJ^]9<]7X]9+G:JK:!/63%V!=3
XMX]5@&]O;!"0"2->V'F$FK4F/NT0 ?_*Q[*C8*HQ)+[RD+=OCK%TD!Q2'9'<W
XM<P[*S$MY+JB[3D&+TGQ,92*+.!%TF"Q*1[A]SR4'7:@\PQ1,H.G%#Q!N)UH#
XM,N9A !4WM3:SO0; T%,1'_UOT\CA,VW;/GJ$Y%"3?2Y,V4%!3[=L"]O-M@GB
XMZS7<W VPM_@$W!3WP W 5(UP3^/#$/S75#;$[-PNANWUQGG!709XZ9G-.+/.
XM4?3%=&D+0#:VIJU5YM"6\>JVTFA_L.J>X^YB64BN4S!F=']!FM% P1$RR<'/
XM':[=)K3?O6)Y*JYZ*4P2/U1_F_9!DH"2+EX! VIH_[>9L>S'_1T2+K!5@W%O
XM'?22E6L#D\F\74#C:DP!2$ 0 7@!5'AOOQUZW0G%*)"^Q4G8@#I,'=OT8F?
XM8C1W6R!+=X\6/%A=/UFEQ^\Q>CDG9+>EF7T.Y6YX["W>?S?072!L!'-WH.+>
XMS6_\LK=,'%B8T%FBC//Y@,=KH^P&5%Z,E"\-EHI945;T$,'B )ZU('I>,40]
XMQMMF_,& 2S%5-H/Y%?L0\-B HWR/H$?2B=637[0Y5M8IT49MGE&G>WFL=E
XM&+X1*Z4_!.\:4L!WLMT/$=\<659D39MF!<' PYB,!$,W4C!-M+J&%_:(2C"@
XMK<_OU&$52NX">D%2G(Y"]5-M"7X/PB0*=*[]TH-#!#M6\[#VHZ3,V=C?78 +
XM\%O6(?1W%WM_UV*TF"6E>HO5_?>+&0842/IW_?U6]]_6)0#.C>S?#[C__6YV
XM>0%X!.LW?K/OII:7@5?@+R;A@2TLX$XU]OU^6R7%Y/P]@3O@?#7^C0_QEY!!
XM<E: -^!=; O^?QO@%'@+3H![X"MX#9Z 4YPD>/L=H5'@A[4+SGB+5R*X<8>#
XM.^!%^&\9A*-0!W@17HM1)$MX%UN$A^ !&B3!@!]HXEFX8)6,9RKX$.Z 2]9&
XMN 0NAG>Q9#@13.Y=EF.E35.%1[!D^!3.@Y_A</@/CIH-'$EX$$Z#1["==1G^
XMAF\!?;@:_D,^>ZC9"(Z!]^!\>/^]@__A?;@"OH5WB6[@,!$8I.!FX@=N T#@
XM:#*QF(?/X3N+ WZ)6^ O>$^-N!7BB<$?_HG+X::X';Y2@!YY^"..B&\!-P F
XM'HI#G#&X?S:#0^$4>"P.BA_AA/@J;HC_X;KX(KZ'P^*J>, Q<.CA*)3=W?WA
XMW:0#ZHV>\=UKN$\M347>@7>976+O4:KW1H #4-ZT7W_G"U8%6X3M^2V_I08!
XM>0LLRJ5K!14RZ@3:QPG; HP-)8K>;!8_7* \:?1\-# %9*0S,S=)E.[7>31=
XM'03\I/CG/AL%>,UXI7LS951 %2 %. $E8VT17K/0GMA!?CXDY OY F'/#>0'
XM0;NB8#F#<7"5&9ZV(>)?"LACL- 'Q=NFCSM%S*.#U>4^Y()!<^CZO:NQI-%<
XM#.D2WTP[?G*.95:,2R"E*E_J1_6=<>UT1ZA&SKI:A:1W$;@_[^30XE%N3?7D
XM=R"TYQQ6%T)YZ)U+.\JO*_5PE,^'00#*H90CWE4P8N3,'(59,-")'0+E*D (
XMKI,;<# Y&_ KL*N+*3L>1#_?./E!<)4/'+@&%;5\/^5@1E2.2X]XH_<0:'E9
XMY3HY5JZ5Z^1+N1SH(DX7PX=>_O")WG+AEM-2S.4D05:^(!+F/+E>B/51%@?%
XM40@8)A@LQV"XY834A$77AYA#Y0VA5,Z7<X2 ^<Q([4CF6SFN<4X3A9GYH@=2
X-!]1I@&A.D!/@9SF%!T77
X
Xend
END_OF_FILE
if test 32539 -ne `wc -c <'winframe.c.Z.uu'`; then
echo shar: \"'winframe.c.Z.uu'\" unpacked with wrong size!
fi
# end of 'winframe.c.Z.uu'
fi
echo shar: End of archive 11 \(of 21\).
cp /dev/null ark11isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 21 archives.
rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
echo You still need to unpack the following archives:
echo " " ${MISSING}
fi
## End of shell archive.
exit 0
--
Molecular Simulations, Inc. mail: dcmartin@postgres.berkeley.edu
796 N. Pastoria Avenue uucp: uwvax!ucbvax!dcmartin
Sunnyvale, California 94086 at&t: 408/522-9236