[comp.sources.games] v08i049: NetHack3 - display oriented dungeons & dragons

billr@saab.CNA.TEK.COM (Bill Randle) (10/18/89)

Submitted-by: Izchak Miller <izchak@linc.cis.upenn.edu>
Posting-number: Volume 8, Issue 49
Archive-name: NetHack3/Patch5b
Patch-To: NetHack3: Volume 7, Issue 56-93

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 2 (of 6)."
# Contents:  patches05b
# Wrapped by billr@saab on Tue Oct 17 13:16:13 1989
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'patches05b' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'patches05b'\"
else
echo shar: Extracting \"'patches05b'\" \(55526 characters\)
sed "s/^X//" >'patches05b' <<'END_OF_FILE'
X*** /dev/null	Sun Oct 15 18:11:20 1989
X--- mac/mac.c	Sat Oct 14 12:43:51 1989
X***************
X*** 0 ****
X--- 1,823 ----
X+ /*	SCCS Id: @(#)mac.c	3.0	88/08/05
X+ /*      Copyright (c) Johnny Lee  1989	*/ 
X+ /* NetHack may be freely redistributed.  See license for details. */
X+ 
X+ /*	Source file for character I/O and miscellaneous */
X+ /*	user interface routines for the macintosh */
X+ 
X+ #include	"hack.h"
X+ 
X+ /* Global variables */
X+ WindowPtr	HackWindow;	/* points to Hack's window */
X+ extern char	*keys[8];
X+ extern short macflags;
X+ 
X+ int
X+ tgetch()
X+ 
X+ {
X+ 	char	ch;
X+ 	EventRecord	theEvent;
X+ 	Rect cursorRect;
X+ 	long	message,cursorTime,start;
X+ 	MenuHandle	theMenu;
X+ 	short	keyCode;
X+ 	term_info	*t;
X+ 	boolean	noControlKey;
X+ 	GrafPtr	oldPort,oldPort1;
X+ 	static char nextCommand;
X+ 	short aboutBox();
X+ 	char mButtonDown();
X+ #define noEscapeKey	noControlKey
X+ #define	clearKey	0x47
X+ #define ESCAPEkey	0x1B
X+ 	
X+ 	t = (term_info *)GetWRefCon(HackWindow);
X+ 	cursorRect.left = t->tcur_x * t->charWidth + Screen_Border;
X+ 	cursorRect.right = cursorRect.left + t->charWidth - 1;
X+ 	cursorRect.top = t->height * t->tcur_y + Screen_Border;
X+ 	cursorRect.bottom = cursorRect.top + t->height;
X+ 	cursorTime = GetCaretTime()/2;
X+ 	keyCode = 0;
X+ 	noControlKey = (t->system.keyBoardType <= envMacPlusKbd) ? TRUE : FALSE;
X+ 	
X+ 	/* permit use of cursor keys and numeric keypad */
X+ 	/* does the same translation as in msdos.c but includes cursor keys */
X+ 	ch = '\0';
X+ 	/* handle extended command from menu */
X+ 	if (nextCommand && (macflags & (fExtCmdSeq1 | fExtCmdSeq2 | fExtCmdSeq3))) {
X+ 	    if (macflags & fExtCmdSeq1) {
X+ 		ch = '#';
X+ 		macflags = macflags ^ (fExtCmdSeq1 | fExtCmdSeq2);
X+ 	    } else if (macflags & fExtCmdSeq2) {
X+ 		ch = nextCommand;
X+ 		macflags = macflags ^ (fExtCmdSeq2 | fExtCmdSeq3);
X+ 		if (!(macflags & fExtCmdSeq3))
X+ 		    nextCommand = '\0';
X+ 	    } else if (macflags & fExtCmdSeq3) {
X+ 		ch = '\r';
X+ 		macflags &= ~fExtCmdSeq3;
X+ 	    }
X+ 	}
X+ 	GetPort(&oldPort);
X+ 	SetPort(HackWindow);
X+ 	while (!ch) {
X+ 	    GetPort(&oldPort1);
X+ 	    SetPort((GrafPtr)HackWindow);
X+ 	    /* do cursor blinking */
X+ 	    message = TickCount() + cursorTime;
X+ 	    while (!WaitNextEvent(everyEvent, &theEvent, 10L, 0L)) {
X+ 		/* wait until something occurs */
X+ 		if (!Invisible) {
X+ 		    if (TickCount() > message) {
X+ 			InvertRect(&cursorRect);
X+ 			message = TickCount() + cursorTime;
X+ 			keyCode = !keyCode;
X+ 		    }
X+ 		}
X+ 	    }
X+ 	    if (keyCode)
X+ 		InvertRect(&cursorRect);
X+ 	    SetPort(oldPort1);
X+ 	    if (theEvent.what == keyDown || theEvent.what == autoKey) {
X+ 		/* use raw key codes */
X+ 		keyCode = (LoWord(theEvent.message) & keyCodeMask)>>8;
X+ 		if (keyCode == 50 && noEscapeKey)
X+ 		    ch = (char)ESCAPEkey;	/* ESC */
X+ 		else if (keyCode == clearKey) {
X+ 		    macflags = macflags ^ fToggleNumPad;
X+ 		    SetWTitle(HackWindow,
X+ 			    (macflags & fToggleNumPad)	? "\015NetHack [MOV]"
X+ 							: "\015NetHack [NUM]");
X+ 		} else if ((macflags & fToggleNumPad) &&
X+ 				(keyCode>64 && keyCode<127))
X+ 		    ch = t->keyMap[keyCode-65];
X+ 		/* make the command key = control key on old Mac keyboards */
X+ 		if ((theEvent.modifiers & cmdKey) && noControlKey) {
X+ 		    ch = (char)(theEvent.message & 0x1F);
X+ 		}
X+ 		if ((theEvent.modifiers & shiftKey) && (ch)) {
X+ 		    ch = (ch == '.') ? ':' : (char)toupper(ch);
X+ 		}
X+ 		if (theEvent.modifiers & optionKey) {
X+ 		    for(start = 43; start < 56; start++) {
X+ 			if (t->keyMap[start] == (char)(theEvent.message & 0xFFL)) {
X+ 			    ch = t->keyMap[start - 13];
X+ 			    break;
X+ 			}
X+ 		    }
X+ 		}
X+ 		/* not a cursor key or from the numeric keypad */
X+ 		if (!ch && keyCode != clearKey) {
X+ 		    ch = (char)(theEvent.message & 0xFF);
X+ 		}
X+ 	    } else {
X+ 		/* what other events to handle */
X+ 		switch (theEvent.what) {		
X+ 		    case nullEvent:
X+ 			SetCursor(&ARROW_CURSOR);
X+ 			break;
X+ 		    case app4Evt:
X+ #define	kSuspendResumeMessage 1  /* high byte of suspend/resume event message */
X+ #define	SuspResIsResume(evtMessage)	((evtMessage) & 0x00000001)
X+ 
X+ 			switch (theEvent.message >> 24) {
X+ 			    case kSuspendResumeMessage:
X+ 				if (!SuspResIsResume(theEvent.message)) {
X+ 				    /* ---------- SUSPEND EVENT ------------ */
X+ 				    if (macflags & fZoomOnContextSwitch)	
X+ 					SizeWindow(HackWindow,60,60,TRUE);
X+ 				} else {
X+ 				    /* ---------- RESUME EVENT ------------- */
X+ 				    if (macflags & fZoomOnContextSwitch)	
X+ 					SizeWindow(HackWindow,
X+ 					 (t->maxCol * t->charWidth) + 2*Screen_Border,
X+ 					 (t->maxRow * t->height) + 2*Screen_Border,
X+ 					 TRUE);
X+ 				}
X+ 				break;
X+ 			}
X+ 			break;
X+ 		
X+ 		    case updateEvt:
X+ 			if (HackWindow == (WindowPtr)theEvent.message) {
X+ #ifdef TEXTCOLOR
X+ 			    if (t->system.hasColorQD) {
X+ 				Rect	r;
X+ 				GDHandle	gd;
X+ 				
X+ 				r = (**(*(WindowPeek)HackWindow).contRgn).rgnBBox;
X+ 				LocalToGlobal(&r.top);
X+ 				LocalToGlobal(&r.bottom);
X+ 				gd = GetMaxDevice(&r);
X+ 				HLock((Handle)gd);
X+ 				t->inColor = (**(**gd).gdPMap).pixelSize > 1;
X+ 				HUnlock((Handle)gd);
X+ 			    }
X+ #endif
X+ 			    GetPort(&oldPort);
X+ 			    SetPort((GrafPtr)HackWindow);
X+ 			    BeginUpdate(HackWindow);
X+ 			    t = (term_info *)GetWRefCon(HackWindow);
X+ 			    if (t->inColor && macflags & fDoUpdate) {
X+ 				keyCode = flags.toplin;
X+ 				flags.toplin = 0;
X+ 				docrt();
X+ 				flags.toplin = keyCode;
X+ 			    } else {
X+ 				for (keyCode = 0;keyCode < t->maxRow; keyCode++) {
X+ 				    MoveTo(Screen_Border,
X+ 					    t->ascent + (keyCode * t->height)
X+ 						    + Screen_Border);
X+ 				    DrawText(&t->screen[keyCode][0], 0, t->maxCol);
X+ 				}
X+ 			    }
X+ 			    EndUpdate(HackWindow);
X+ 			    SetPort(oldPort);
X+ 			} 
X+ 			break;
X+ 				
X+ 		    case activateEvt:
X+ 			if (HackWindow == (WindowPtr)theEvent.message) {
X+ 			    if (theMenu = GetMHandle(editMenu)) {
X+ 				if (theEvent.modifiers & activeFlag) {
X+ 				    if (macflags & fDoUpdate) {
X+ 					SetMenuBar(t->fullMBarHandle);
X+ 					for (keyCode = fileMenu;
X+ 					      keyCode <= extendMenu;keyCode++) {
X+ 					    if (keyCode != editMenu)
X+ 						EnableItem(GetMHandle(keyCode), 0);
X+ 					}
X+ 					EnableItem(GetMHandle(appleMenu), 1);
X+ 				    }
X+ 				    DisableItem(theMenu, 0);
X+ 				} else {
X+ 				    EnableItem(theMenu, 0);
X+ 				    if (macflags & fDoUpdate) {
X+ 					SetMenuBar(t->shortMBarHandle);
X+ 					for (keyCode = fileMenu;
X+ 					      keyCode <= extendMenu;keyCode++) {
X+ 					    if (keyCode != editMenu)
X+ 						DisableItem(GetMHandle(keyCode), 0);
X+ 					}
X+ 					DisableItem(GetMHandle(appleMenu), 1);
X+ 				    }
X+ 				}
X+ 				DrawMenuBar();
X+ 			    }
X+ 			}
X+ 			break;
X+ 				
X+ 		    case mouseDown:
X+ 			ch = mButtonDown(theEvent, t, &nextCommand);
X+ 			break;
X+ 		}
X+ 	    }		
X+ 	}
X+ 	SetPort(oldPort);
X+ 	ObscureCursor();
X+ 	return ((ch == '\r') ? '\n' : ch);
X+ }
X+ 
X+ char
X+ mButtonDown(theEvent, t, nextCommand)
X+ EventRecord	theEvent;
X+ term_info	*t;
X+ char	*nextCommand;
X+ {
X+ 	Rect	boundsRect;
X+ 	WindowPtr	theWindow;
X+ 	long	message;
X+ 	char	deskacc[256];
X+ 	MenuHandle	theMenu;
X+ 	char	ch;
X+ 	short	menuBar;
X+ 	GrafPtr	oldPort;
X+ 
X+ 	ch = '\0';
X+ 	if (macflags & fDoNonKeyEvt) 
X+ 	switch (FindWindow(theEvent.where,&theWindow)) {
X+ 	    case inMenuBar:
X+ 
X+ 		SetCursor(&ARROW_CURSOR);
X+ 		message = MenuSelect(theEvent.where);
X+ 
X+ 		if (!HiWord(message))
X+ 		    break;
X+ 
X+ 		switch (HiWord(message)) {
X+ 		    case editMenu:
X+ 			(void)SystemEdit((short)message - 1);
X+ 			break;
X+ 		    case appleMenu:
X+ 			if (LoWord(message) > 2) {
X+ 			    GetItem(GetMHandle(HiWord(message)),LoWord(message),
X+ 					deskacc);
X+ 			    SetMenuBar(t->shortMBarHandle);
X+ 			    DrawMenuBar();
X+ 			    (void)OpenDeskAcc(deskacc);
X+ 			    if (theMenu = GetMHandle(editMenu))
X+ 				    EnableItem(theMenu, 0);
X+ 			} else
X+ 			    if (aboutBox(1))
X+ 				    ch = '?';
X+ 			break;
X+ 		    case fileMenu:
X+ 		    case inventMenu:
X+ 		    case prepMenu:
X+ 		    case actionMenu:
X+ 		    case moveMenu:
X+ 			*nextCommand =
X+ 			    keys[HiWord(message)-appleMenu][LoWord(message)-1];
X+ 			ch = (!(*nextCommand)) ? '\0' : (char)ESCAPEkey;
X+ 			macflags |= (fExtCmdSeq2 | fExtCmdSeq3);
X+ #ifdef TEXTCOLOR
X+ #define	MAC_BLACK	0
X+ #define	MAC_WHITE	7
X+ 			if(HiWord(message) == fileMenu && LoWord(message) == 3) {
X+ 			    theMenu = GetMHandle(HiWord(message));
X+ 			    macflags = macflags ^ fInvertedScreen;
X+ 			    CheckItem(theMenu, 3,
X+ 					(boolean)(macflags & fInvertedScreen));
X+ 
X+ 			    /* switch black & white */
X+ 			    message = t->color[BLACK];
X+ 			    t->color[MAC_BLACK] = t->color[MAC_WHITE];
X+ 			    t->color[MAC_WHITE] = message;
X+ 
X+ 			    /* switch light blue & dark blue */
X+ 			    message = t->color[BLUE];
X+ 			    t->color[BLUE] = t->color[CYAN];
X+ 			    t->color[CYAN] = message;
X+ 
X+ 			    ForeColor(t->color[MAC_BLACK]);
X+ 			    BackColor(t->color[MAC_WHITE]);
X+ 			    /* refresh screen without prompting 'More' */
X+ 			    message = flags.toplin;
X+ 			    flags.toplin = 0;
X+ 			    docrt();
X+ 			    flags.toplin = message;
X+ 			}
X+ #endif
X+ 			break;
X+ 		    case extendMenu:
X+ 			ch = (char)ESCAPEkey;
X+ 			*nextCommand =
X+ 			 keys[HiWord(message) - appleMenu][LoWord(message) - 1];
X+ 			macflags |= fExtCmdSeq1;
X+ 			break;
X+ 		}
X+ 		HiliteMenu(0);
X+ 		break;
X+ 		
X+ 	    case inSysWindow:
X+ 		SystemClick(&theEvent, theWindow);
X+ 		break;
X+ 
X+ 	    case inDrag:
X+ 		if (!(theEvent.modifiers & cmdKey)) {
X+ 			if (theWindow != FrontWindow()) {
X+ 				SelectWindow(theWindow);
X+ 				break;
X+ 			}
X+ 		}
X+ 		menuBar = (ROM85 == -1) ? 20 : GetMBarHeight();
X+ 
X+ 		SetRect(&boundsRect, Screen_Border, menuBar + Screen_Border,
X+ 			SCREEN_BITS.bounds.right - Screen_Border,
X+ 			SCREEN_BITS.bounds.bottom - Screen_Border);
X+ 		SetCursor(&ARROW_CURSOR);
X+ 		DragWindow(theWindow, theEvent.where, &boundsRect);
X+ 		break;
X+ 	
X+ 	    case inContent:
X+ 		SelectWindow(theWindow);
X+ 		break;
X+ 	}
X+ 	return ch;
X+ }
X+ 
X+ void
X+ gethdate(name) char *name;
X+ {
X+ /*end gethdate*/}
X+ 
X+ int
X+ uptodate(fd)
X+ {
X+ 	return(1);
X+ }
X+ 
X+ #ifndef THINKC4
X+ char *
X+ getenv(s)
X+ char *s;
X+ {
X+ 	return((char *)NULL);
X+ }
X+ 
X+ int
X+ memcmp(x,y,n)
X+ char *x,*y;
X+ int	n;
X+ 
X+ {
X+ 	int i;
X+ 	
X+ 	i = 0;
X+ 	while (i++< n && (*x++) == (*y++)) {
X+ 		/*x++; y++; i++*/
X+ 		;
X+ 	}
X+ 	if (i != n)
X+ 		return ((*x > *y) ? -1 : 1);
X+ 	else
X+ 		return (0);
X+ }
X+ #else
X+ int
X+ kbhit()
X+ {	
X+ 	EventRecord	theEvent;
X+ 	
X+ 	return (EventAvail(keyDownMask, &theEvent));
X+ }
X+ #endif
X+ 
X+ #ifdef AZTEC
X+ 
X+ sleep(x)
X+ int	x;
X+ {
X+ 	long t;
X+ 	
X+ 	Delay((long)x, &t);
X+ }
X+ #endif
X+ 	
X+ 
X+ int
X+ mcurs(col,row)
X+ short	col,row;
X+ 
X+ {
X+ 	term_info	*t;
X+ 	
X+ 	t = (term_info *)GetWRefCon(HackWindow);
X+ 	t->tcur_y = row;
X+ 	t->tcur_x = col;
X+ 	return 1;
X+ }
X+ 
X+ void
X+ mput(s)
X+ char	*s;
X+ {
X+ 	unsigned short	sLen,temp;
X+ 	GrafPtr		prevPort;
X+ 	register term_info	*t;
X+ 	Point		cur;
X+ 	register short		x,y;
X+ 	Rect		eraseRect;
X+ 	register char		*stmp,*c,*c1;
X+ 	char	savech;
X+ 	
X+ 	t = (term_info *)GetWRefCon(HackWindow);
X+ 	sLen = strlen(s);
X+ 	
X+ 	x = t->tcur_x;
X+ 	y = t->tcur_y;
X+ 	if (y >= t->maxRow)
X+ 		panic("mput - incorrect cursor position\n");
X+ 	cur.h = (x * t->charWidth) + Screen_Border;
X+ 	cur.v = t->ascent + (y * t->height) + Screen_Border;
X+ 	GetPort(&prevPort);
X+ 	SetPort((GrafPtr)HackWindow);
X+ 	TextFont(t->fontNum);
X+ 	TextSize(t->fontSize);
X+ 	TextMode(srcCopy);
X+ 	macflags &= ~0x1000;
X+ 	/* a termcap-type escape string */
X+ 	if (!strncmp(s, "\033[", 2)) {
X+ 	    switch(*(s + 2)) {
X+ 		case 'c':	/* color kluge */
X+ 		    if (t->inColor) {
X+ 			temp = (short)(*(s + 3) - 'a');
X+ 			if (temp >= BLACK && temp < MAXCOLORS &&
X+ 			    (temp % (MAXCOLORS / 2) != GRAY))	/* set colour */
X+ 				ForeColor(t->color[temp % (MAXCOLORS / 2)]);
X+ 			if (temp == GRAY)
X+ 				macflags |= 0x1000;
X+ 			 /* yellow fgnd hard to see on white bgnd */
X+ 			 /* so change to green background */
X+ 			if (temp == YELLOW || temp == BROWN)
X+ 				BackColor(t->color[GREEN]);
X+ 			if (temp == BLUE)
X+ 				BackColor(t->color[CYAN]);
X+ 			if (temp == CYAN)
X+ 				BackColor(t->color[BLUE]);
X+ 		    }
X+ 		    break;
X+ 		case '0':	/* normal video begin */
X+ 		    if (*(s + 3) == 'm') {
X+ 			    ForeColor(t->color[0]);
X+ 			    BackColor(t->color[7]);
X+ 		    }
X+ 		    break;
X+ 		case '1':	/* inverse video begin */
X+ 		    if (*(s + 3) == 'm') {
X+ 			    ForeColor(t->color[7]);
X+ 			    BackColor(t->color[0]);
X+ 		    }
X+ 		    break;
X+ 		case 'A':	/* cursor up */
X+ 		    if (y > 0) {
X+ 			    t->tcur_y--;
X+ 			    cur.v -= t->height;
X+ 		    }
X+ 		    break;
X+ 		case 'B':	/* cursor down */
X+ 		    if (y < t->maxRow) {
X+ 			    t->tcur_y++;
X+ 			    cur.v += t->height;
X+ 		    }
X+ 		    break;
X+ 		case 'C':	/* cursor right */
X+ 		    if (x < t->maxCol) {
X+ 			    t->tcur_x++;
X+ 			    cur.h += t->charWidth;
X+ 		    }
X+ 		    break;
X+ 		case 'D':	/* cursor left */
X+ 		    if (x > 0) {
X+ 			    t->tcur_x--;
X+ 			    cur.h -= t->charWidth;
X+ 		    }
X+ 		    break;
X+ 		case 'H':	/* home cursor */
X+ 		    t->tcur_x = t->tcur_y = 0;
X+ 		    cur.h = Screen_Border;
X+ 		    cur.v = t->ascent + Screen_Border;
X+ 		    break;
X+ 		case 'K':	/* clear to end of line */
X+ 		    eraseRect.top = cur.v - (t->ascent);
X+ 		    eraseRect.left = cur.h;
X+ 		    eraseRect.bottom = eraseRect.top + t->height;
X+ 		    eraseRect.right = (t->maxCol*t->charWidth) + Screen_Border;
X+ 		    EraseRect(&eraseRect);
X+ 		    for (temp = x, c = &(t->screen[y][x]); temp < t->maxCol; temp++)
X+ 			    *c++ = ' ';
X+ 		    break;
X+ 		case '2':
X+ 		    if (*(s+3) == 'J') {	/* clear screen */
X+ 			x = y = t->tcur_x = t->tcur_y = 0;
X+ 			eraseRect.top = eraseRect.left = Screen_Border;
X+ 			eraseRect.bottom = t->maxRow*t->height + Screen_Border;
X+ 			eraseRect.right = t->charWidth*t->maxCol + Screen_Border;
X+ 			EraseRect(&eraseRect);
X+ 			for (y = 0, c = t->screen[0]; y < t->maxCol * t->maxRow; y++) {
X+ 					*c++ = ' ';
X+ 			}
X+ 			cur.h = Screen_Border;
X+ 			cur.v = t->ascent + Screen_Border;
X+ 		    }
X+ 		    break;
X+ 	    }
X+ 	    MoveTo(cur.h, cur.v);
X+ 	} else {
X+ 	    short	charleft = sLen;
X+ 	    
X+ 	    MoveTo(cur.h, cur.v);
X+ 	    stmp = s;
X+ 	    
X+ 	    if (sLen) {
X+ 		while (stmp < (s + sLen)) {
X+ 		    temp = (x + charleft - 1 < t->maxCol) ? sLen : t->maxCol - x;
X+ 		    savech = '\0';
X+ 		    c1 = stmp + temp;	/* point to the char after the end */
X+ 		    c = index(stmp, '\n');
X+ 		    if (c && c < c1) {
X+ 			    c1 = c;
X+ 			    savech = '\n';
X+ 			    temp = (short)(c - stmp);
X+ 			    /* don't want to include '\n' in print */
X+ 		    }
X+ 		    c = index(stmp, '\r');
X+ 		    if (c && c < c1) {
X+ 			    c1 = c;
X+ 			    savech = '\r';
X+ 			    temp = (short)(c - stmp);
X+ 			    /* don't want to include '\r' in print */
X+ 		    }
X+ 		    DrawText((Ptr)stmp, 0, temp);
X+ 		    BlockMove((Ptr)stmp, (Ptr)&(t->screen[y][x]), (long)temp);
X+ 		    stmp += temp + 1;
X+ 		    charleft -= temp + 1;
X+ 		    if (!savech) {
X+ 			    t->tcur_x += temp;
X+ 		    }
X+ 		    if (t->tcur_x == t->maxCol || savech) {
X+ 			t->tcur_x = 0;
X+ 			if (savech != '\r')
X+ 				y = (++t->tcur_y);
X+ 				/* should probably check for overflow */
X+ 		    }
X+ 		    x = t->tcur_x;
X+ 		    cur.h = Screen_Border;
X+ 		    cur.v = y * t->height + t->ascent + Screen_Border;
X+ 		    MoveTo(cur.h,cur.v);
X+ 		}
X+ 	    }
X+ 	}
X+ 	if (t->tcur_x >= t->maxCol) {
X+ 	    t->tcur_x = t->tcur_x % t->maxCol;
X+ 	    t->tcur_y++;
X+ 	}
X+ 	SetPort(prevPort);
X+ }
X+ 
X+ int
X+ mputc(c)
X+ char	c;
X+ {
X+ 	GrafPtr		prevPort;
X+ 	register term_info	*t;
X+ 	Point		cur;
X+ 	register short		x,y;
X+ 	Rect		eraseRect;
X+ 	char		savech;
X+ 	PenState	pnState;
X+ 	
X+ 	t = (term_info *)GetWRefCon(HackWindow);
X+ 	
X+ 	x = t->tcur_x;
X+ 	y = t->tcur_y;
X+ 	cur.h = (x * t->charWidth) + Screen_Border;
X+ 	cur.v = t->ascent + (y * t->height) + Screen_Border;
X+ 	GetPort(&prevPort);
X+ 	SetPort((GrafPtr)HackWindow);
X+ 	TextFont(t->fontNum);
X+ 	TextSize(t->fontSize);
X+ 	TextMode(srcCopy);
X+ 	
X+ 	MoveTo(cur.h, cur.v);
X+ 	savech = '\0';
X+ 	if (c == '\b') {
X+ 		if (x > 0) {
X+ 			c = ' ';
X+ 			x = (--t->tcur_x);
X+ 			cur.h = (x * t->charWidth) + Screen_Border;
X+ 			Move(-t->charWidth,0);
X+ 			savech = '\b';
X+ 		} else if (y > 0) {
X+ 				c = ' ';
X+ 				x = t->tcur_x = (t->maxCol - 1);
X+ 				y = (--t->tcur_y);
X+ 				cur.h = (x * t->charWidth) + Screen_Border;
X+ 				cur.v -= t->height;
X+ 				MoveTo(cur.h, cur.v);
X+ 				savech = '\b';
X+ 		}
X+ 	}
X+ 	if (c == '\007') {
X+ 		SysBeep(1);
X+ 	} else if ((c != '\n') && (c != '\r')) {
X+ 		t->screen[y][x] = c;
X+ 		if (macflags & 0x1000) {
X+ 			eraseRect.top = cur.v -t->ascent;
X+ 			eraseRect.bottom = eraseRect.top + t->height;
X+ 			eraseRect.left = cur.h;
X+ 			eraseRect.right = cur.h + t->charWidth;
X+ 			GetPenState(&pnState);
X+ 			FillRect(&eraseRect, dkGray);
X+ 			SetPenState(&pnState);
X+ 			macflags &= ~0x1000;
X+ 			TextMode(srcOr);
X+ 		}
X+ 		DrawText(&c, 0, 1);
X+ 		if (!savech)
X+ 			t->tcur_x++;
X+ 	} else {
X+ 		t->tcur_x = 0;
X+ 		if (t->tcur_y < t->maxRow) {
X+ 			if (c == '\n')
X+ 				t->tcur_y++;
X+ 		}
X+ 		cur.h = (t->tcur_x * t->charWidth) + Screen_Border;
X+ 		cur.v = t->ascent + (t->tcur_y * t->height) + Screen_Border;
X+ 		MoveTo(cur.h,cur.v);
X+ 	}
X+ 	SetPort(prevPort);	
X+ 	return 1;
X+ }
X+ 
X+ int
X+ mputs(s)
X+ char	*s;
X+ {
X+ 	mput(s);
X+ 	return 1;
X+ }
X+ 		
X+ 		
X+ 		
X+ int
X+ mprintf(fstr)
X+ char	*fstr;
X+ {
X+ #define	Bufsz	14		
X+ 	char		numAsStr[Bufsz];
X+ 	short		numsz;
X+ 	char		*ps;
X+ 	unsigned long	num;
X+ 
X+ 	boolean		convchar;
X+ 	boolean		islong;
X+ 	char		c;
X+ 	char		*s;
X+ 	char		prBuffer[128];
X+ 	register char		*pb;
X+ 	
X+ 	prBuffer[0] = '\0';
X+ 	pb = &prBuffer[0];
X+ 	ps = (char *)&fstr;	/* convert to pointer to params */
X+ 	ps += sizeof(char *);	/* skip over format string ptr */
X+ 	while (*fstr)	{
X+ 	    s = index(fstr, '%');
X+ 	    if (s) {
X+ 		num = (short)(s - fstr);
X+ 		strncpy(pb, fstr, (short)num);
X+ 		pb += num;
X+ 		fstr = s;
X+ 	    } else {
X+ 		Strcpy(pb, fstr);
X+ 		fstr += strlen(fstr)-1;
X+ 	    }
X+ 	    switch (*fstr) {
X+ 		case '%':
X+ 		    fstr++;
X+ 		    convchar = FALSE;
X+ 		    islong = FALSE;
X+ 		    do {
X+ 			switch (*fstr) {
X+ 			    case 'l':	/* long */
X+ 				islong = TRUE;
X+ 				fstr++;
X+ 				break;
X+ 			    case 'u':	/* unsigned decimal */
X+ 			    case 'd':	/* signed decimal */
X+ 				num = (islong) ? *(unsigned long *)ps
X+ 					       : *(unsigned short *)ps;
X+ 				numsz = (islong) ? sizeof(long) : sizeof(short);
X+ 				ps += numsz;
X+ 				s = (islong) ? fstr - 2 : fstr - 1;
X+ 				c = *(fstr + 1);
X+ 				*(fstr + 1) = '\0';
X+ 				if (islong)
X+ 				    sprintf(numAsStr, s, num);
X+ 				else
X+ 				    sprintf(numAsStr, s, (short)num);
X+ 				*(fstr + 1) = c;
X+ 				Strcpy(pb, numAsStr);
X+ 				pb = (char *)(pb + strlen(numAsStr));
X+ 				convchar = TRUE;
X+ 				break;
X+ 			    case 's':
X+ 				s = *(char **)ps;
X+ 				Strcpy(pb, s);
X+ 				pb = (char *)(pb + strlen(s));
X+ 				ps += sizeof(char *);
X+ 				convchar = TRUE;
X+ 				break;
X+ 			    case 'c':
X+ 				c = *(unsigned short *)ps;
X+ 				numsz = sizeof(short);
X+ 				(*pb++) = (char)c;
X+ 				(*pb) = '\0';
X+ 				convchar = TRUE;
X+ 				ps += numsz;
X+ 				break;
X+ 			    default:
X+ 				convchar = TRUE;
X+ 			}
X+ 		    } while (!convchar);
X+ 		    break;
X+ 		default:
X+ 		    break;
X+ 	    }
X+ 	    fstr++;
X+ 	}
X+ 	if (prBuffer[0])
X+ 	    mput(&prBuffer[0]);
X+ 		
X+ 	return 1;
X+ }
X+ 
X+ short
X+ aboutBox(prompt)
X+ short	prompt;
X+ {
X+ #define	OK_BUTTON	1
X+ #define	MORE_INFO_BUTTON	2
X+ 
X+ 	DialogPtr	theDialog;
X+ 	DialogRecord	space;
X+ 	Rect	rect;
X+ 	Handle	theControl;
X+ 	short	type,itemHit;
X+ 	GrafPtr	oldPort;
X+ 	EventRecord	theEvent;
X+ 	term_info	*t;
X+ 	DialogTHndl	th = (DialogTHndl) GetResource('DLOG', 129);
X+ 	short	dv, dh;
X+ 
X+ 	/* if about box on startup, centre about box on screen */
X+ 	if (!prompt) {
X+ 		rect = SCREEN_BITS.bounds;
X+ 		dv = ((**th).boundsRect.bottom - 40 - (**th).boundsRect.top)/2;
X+ 		dh = ((**th).boundsRect.right - (**th).boundsRect.left)/2;
X+ 
X+ 		(**th).boundsRect.bottom =
X+ 				(rect.bottom + rect.top + MBarHeight)/2 + dv;
X+ 		(**th).boundsRect.top	 =
X+ 				(rect.bottom + rect.top + MBarHeight)/2 - dv;
X+ 		(**th).boundsRect.right	 = (rect.right + rect.left)/2 + dh;
X+ 		(**th).boundsRect.left	 = (rect.right + rect.left)/2 - dh;
X+ 	}
X+ 
X+ 	GetPort(&oldPort);
X+ 	theDialog = GetNewDialog(129, &space,(WindowPtr)-1);
X+ 	if (!prompt) {
X+ 		HideDItem(theDialog, OK_BUTTON);
X+ 		HideDItem(theDialog, MORE_INFO_BUTTON);
X+ 	} else
X+ 		MoveWindow((WindowPtr)theDialog, LEFT_OFFSET, TOP_OFFSET, TRUE);
X+ 
X+ 	ShowWindow((WindowPtr)theDialog);
X+ 	SetPort(theDialog);
X+ 	TextFont(1);	/* 9 pt. Geneva */
X+ 	TextSize(9);
X+ 	DrawDialog(theDialog);
X+ 	itemHit = 0;
X+ 	if (prompt) {
X+ 		/* BOLD the OK button */
X+ 		GetDItem(theDialog, OK_BUTTON, &type, &theControl, &rect);
X+ 		PenSize(3,3);	
X+ 		InsetRect(&rect,-4,-4);
X+ 		FrameRoundRect(&rect,16,16);
X+ 		PenSize(1,1);
X+ 		while ((itemHit != OK_BUTTON) && (itemHit != MORE_INFO_BUTTON)) {
X+ 			ModalDialog(NULL, &itemHit);
X+ 		}
X+ 	} else {
X+ 		while (!itemHit) {
X+ 			if (GetNextEvent(everyEvent,&theEvent))
X+ 				if (theEvent.what == mouseDown)
X+ 					itemHit = OK_BUTTON;
X+ 		}
X+ 	}
X+ 	CloseDialog(theDialog);
X+ 	ReleaseResource((Handle)th);
X+ 	SetPort(oldPort);
X+ 	return (itemHit == MORE_INFO_BUTTON);
X+ }
X*** /dev/null	Sun Oct 15 18:12:23 1989
X--- mac/nethack.r	Sat Oct 14 11:57:06 1989
X***************
X*** 0 ****
X--- 1,1753 ----
X+ /******************************************************
X+  *                                                    *
X+  *        nethack.r                                   *
X+  *                                                    *
X+  *        Resource file for NetHack 3.0g application  *
X+  *                                                    *
X+  *        Copyright 1989 by Johnny Lee                *
X+  *        NetHack may be freely redistributed.        *
X+  *	  See license for details.		      *
X+  *                                                    *
X+  ******************************************************/
X+ 
X+ #include 	"Types.r"
X+ #include	"SysTypes.r"
X+ 
X+ resource 'ICN#' (129, purgeable) {
X+ 	{ /* array: 2 elements */
X+ 		/* [1] */
X+ 		$"4B BA 91 A8 6A 12 AA 28 5B 13 BA 30 4A 12 AA 28"
X+ 		$"4B 92 A9 A8 00 00 00 10 08 00 00 10 09 81 80 10"
X+ 		$"09 83 C0 10 09 83 E0 10 08 C3 C0 10 08 C1 80 10"
X+ 		$"08 63 DF 90 08 67 FF 90 08 3F FF 90 08 1B DF 90"
X+ 		$"08 03 DF 90 08 03 DF 90 08 03 CF 10 08 03 C6 10"
X+ 		$"08 00 00 10 08 E2 57 10 09 05 54 10 08 E7 56 10"
X+ 		$"08 15 54 10 08 E5 27 10 04 00 00 20 03 FF FF C0",
X+ 		/* [2] */
X+ 		$"7F FF FF FF 7F FF FF FF 7F FF FF FF 7F FF FF FF"
X+ 		$"7F FF FF FF 0F FF FF F0 0F FF FF F0 0F FF FF F0"
X+ 		$"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0"
X+ 		$"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0"
X+ 		$"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0"
X+ 		$"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0"
X+ 		$"0F FF FF F0 0F FF FF F0 07 FF FF E0 03 FF FF C0"
X+ 	}
X+ };
X+ 
X+ resource 'ICN#' (128, purgeable) {
X+ 	{ /* array: 2 elements */
X+ 		/* [1] */
X+ 		$"00 00 00 00 00 00 00 00 4B BA 91 A8 6A 12 AA 30"
X+ 		$"5B 13 BA 28 4A 12 AA 28 4B 92 A9 A8 00 00 00 00"
X+ 		$"00 00 00 00 30 00 00 00 38 01 80 00 1C 03 C0 00"
X+ 		$"0E 03 E7 80 07 03 CF 80 03 E1 88 80 01 C3 C8 80"
X+ 		$"01 E7 E8 80 01 3F F9 80 00 1B DB 80 00 03 CE 80"
X+ 		$"00 03 CC 80 00 03 C8 80 00 03 E4 80 00 03 F3 80"
X+ 		$"00 03 B8 00 00 07 1C 00 00 1E 0C 00 00 1C 0C 00"
X+ 		$"00 18 0E 00 00 1C 0F",
X+ 		/* [2] */
X+ 		$"7F FF FF FE FF FF FF FF FF FF FF FD FF FF FF FD"
X+ 		$"FF FF FF FD FF FF FF FF FF FF FF FD FF FF FF FF"
X+ 		$"FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF"
X+ 		$"FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF"
X+ 		$"FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF"
X+ 		$"FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF"
X+ 		$"FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF"
X+ 		$"FF FF FF 87 FF FF FF D7 FF FF FF 93 FF FF FF FF"
X+ 	}
X+ };
X+ 
X+ resource 'ICN#' (130, purgeable) {
X+ 	{ /* array: 2 elements */
X+ 		/* [1] */
X+ 		$"4B BA 91 A8 6A 12 AA 28 5B 13 BA 30 4A 12 AA 28"
X+ 		$"4B 92 A9 A8 00 00 00 00 04 00 00 20 09 81 80 10"
X+ 		$"09 83 C0 10 09 83 E0 10 08 C3 C0 10 08 C1 80 10"
X+ 		$"08 63 DF 90 08 67 FF 90 08 3F FF 90 08 1B DF 90"
X+ 		$"08 03 DF 90 08 03 CF 10 08 03 C6 10 08 03 C0 10"
X+ 		$"08 00 00 10 08 00 00 10 04 00 00 20 00 00 00 00"
X+ 		$"74 59 09 9C 42 95 15 50 61 19 15 98 42 91 15 50"
X+ 		$"74 51 C9 5C",
X+ 		/* [2] */
X+ 		$"7F FF FF FE 7F FF FF FE 7F FF FF FE 7F FF FF FE"
X+ 		$"7F FF FF FE 0F FF FF F0 0F FF FF F0 0F FF FF F0"
X+ 		$"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0"
X+ 		$"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0"
X+ 		$"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0"
X+ 		$"0F FF FF F0 0F FF FF F0 0F FF FF F0 FF FF FF FE"
X+ 		$"FF FF FF FE FF FF FF FE FF FF FF FE FF FF FF FE"
X+ 		$"FF FF FF FE FF FF FF FE"
X+ 	}
X+ };
X+ 
X+ resource 'ICN#' (131, purgeable) {
X+ 	{ /* array: 2 elements */
X+ 		/* [1] */
X+ 		$"00 00 00 00 4B BA 91 A8 6A 12 AA 28 5B 13 BA 30"
X+ 		$"4A 12 AA 28 4B 92 A9 A8 00 00 00 00 0F FF C0 00"
X+ 		$"0F FF C0 00 01 80 00 00 3F FF FC 00 3F FF FC 00"
X+ 		$"00 00 C0 00 00 3F FF F0 00 3F FF F0 00 18 00 C0"
X+ 		$"0F FE 00 C0 0F FE 00 C0 01 80 00 C0 03 FF FF FE"
X+ 		$"03 FF FF FE 00 00 0C 00 00 00 0C 00 00 00 00 00"
X+ 		$"02 3A BA 00 02 22 A2 00 02 32 B2 00 02 22 A2 00"
X+ 		$"03 B9 3B 80",
X+ 		/* [2] */
X+ 		$"FF FF FF FC FF FF FF FC FF FF FF FC FF FF FF FC"
X+ 		$"FF FF FF FC FF FF FF FC FF FF FF FC 1F FF E0 00"
X+ 		$"1F FF E0 00 7F FF FE 00 7F FF FE 00 7F FF FE 00"
X+ 		$"7F FF FF F8 00 7F FF F8 00 7F FF F8 1F FF FF E0"
X+ 		$"1F FF FF E0 1F FF FF E0 0F FF FF FF 0F FF FF FF"
X+ 		$"0F FF FF FF 0F FF FF FC 0F FF FF FC 0F FF FF FC"
X+ 		$"0F FF FF FC 0F FF FF FC 0F FF FF FC 0F FF FF FC"
X+ 		$"0F FF FF FC 0F FF FF FC"
X+ 	}
X+ };
X+ 
X+ resource 'ICN#' (132, purgeable) {
X+ 	{ /* array: 2 elements */
X+ 		/* [1] */
X+ 		$"00 00 00 00 4B BA 91 A8 6A 12 AA 28 5B 13 BA 30"
X+ 		$"4A 12 AA 28 4B 92 A9 A8 00 00 00 00 00 C0 03 00"
X+ 		$"01 4F F2 80 02 30 0C 40 01 A0 05 80 00 40 02 00"
X+ 		$"00 46 62 00 00 46 62 00 00 40 02 00 00 60 06 00"
X+ 		$"00 21 84 00 00 50 0A 00 01 9B D9 80 02 28 14 40"
X+ 		$"02 4B D2 40 01 44 22 80 00 83 C1 00 00 00 00 00"
X+ 		$"0E 32 5C E0 09 4B 51 00 0E 4A D8 C0 09 4A 50 20"
X+ 		$"0E 32 5D C0",
X+ 		/* [2] */
X+ 		$"FF FF FF FC FF FF FF FC FF FF FF FC FF FF FF FC"
X+ 		$"FF FF FF FC FF FF FF FC FF FF FF FC 01 FF FF 80"
X+ 		$"03 FF FF C0 07 FF FF E0 07 FF FF E0 03 FF FF C0"
X+ 		$"00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00"
X+ 		$"00 FF FF 00 01 FF FF 80 03 FF FF C0 07 FF FF E0"
X+ 		$"07 FF FF E0 07 FF FF E0 07 FF FF E0 FF FF FF FF"
X+ 		$"FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF"
X+ 		$"FF FF FF FF FF FF FF FF"
X+ 	}
X+ };
X+ 
X+ resource 'BNDL' (128, "NetHack for Mac", purgeable) {
X+ 	'nh30',
X+ 	0,
X+ 	{ /* array TypeArray: 2 elements */
X+ 		/* [1] */
X+ 		'ICN#',
X+ 		{ /* array IDArray: 5 elements */
X+ 			/* [1] */
X+ 			0, 128,
X+ 			/* [2] */
X+ 			1, 129,
X+ 			/* [3] */
X+ 			2, 130,
X+ 			/* [4] */
X+ 			3, 131,
X+ 			/* [5] */
X+ 			4, 132
X+ 		},
X+ 		/* [2] */
X+ 		'FREF',
X+ 		{ /* array IDArray: 5 elements */
X+ 			/* [1] */
X+ 			0, 128,
X+ 			/* [2] */
X+ 			1, 129,
X+ 			/* [3] */
X+ 			2, 130,
X+ 			/* [4] */
X+ 			3, 131,
X+ 			/* [5] */
X+ 			4, 132
X+ 		}
X+ 	}
X+ };
X+ 
X+ resource 'FREF' (128, "Application", purgeable) {
X+ 	'APPL',
X+ 	0,
X+ 	""
X+ };
X+ 
X+ resource 'FREF' (129, "Save Char File", purgeable) {
X+ 	'SAVE',
X+ 	1,
X+ 	""
X+ };
X+ 
X+ resource 'FREF' (130, "Explore file", purgeable) {
X+ 	'XPLR',
X+ 	2,
X+ 	""
X+ };
X+ 
X+ resource 'FREF' (131, "Level Temp File", purgeable) {
X+ 	'LEVL',
X+ 	3,
X+ 	""
X+ };
X+ 
X+ resource 'FREF' (132, "Bones File") {
X+ 	'BONE',
X+ 	4,
X+ 	""
X+ };
X+ 
X+ resource 'DLOG' (128, "FindFile") {
X+ 	{40, 80, 100, 300},
X+ 	dBoxProc,
X+ 	invisible,
X+ 	noGoAway,
X+ 	0x0,
X+ 	128,
X+ 	"FindFile"
X+ };
X+ 
X+ resource 'DLOG' (129, "About NetHackI") {
X+ 	{63, 10, 263, 360},
X+ 	dBoxProc,
X+ 	invisible,
X+ 	noGoAway,
X+ 	0x0,
X+ 	129,
X+ 	""
X+ };
X+ 
X+ resource 'DITL' (128) {
X+ 	{ /* array DITLarray: 1 elements */
X+ 		/* [1] */
X+ 		{4, 8, 80, 212},
X+ 		StaticText {
X+ 			disabled,
X+ 			"Please locate^0 file^1 ^2\nor press Cance"
X+ 			"l to abort."
X+ 		}
X+ 	}
X+ };
X+ 
X+ resource 'DITL' (129) {
X+ 	{ /* array DITLarray: 8 elements */
X+ 		/* [1] */
X+ 		{155, 60, 175, 120},
X+ 		Button {
X+ 			enabled,
X+ 			"OK"
X+ 		},
X+ 		/* [2] */
X+ 		{155, 184, 175, 274},
X+ 		Button {
X+ 			enabled,
X+ 			"More InfoI"
X+ 		},
X+ 		/* [3] */
X+ 		{10, 28, 26, 310},
X+ 		Picture {
X+ 			enabled,
X+ 			100
X+ 		},
X+ 		/* [4] */
X+ 		{68, 109, 86, 225},
X+ 		StaticText {
X+ 			enabled,
X+ 			"See license for details."
X+ 		},
X+ 		/* [5] */
X+ 		{36, 64, 52, 291},
X+ 		StaticText {
X+ 			enabled,
X+ 			"Copyright 1985, 1986, 1987, 1988, 1989."
X+ 		},
X+ 		/* [6] */
X+ 		{51, 37, 69, 323},
X+ 		StaticText {
X+ 			enabled,
X+ 			"By Stichting Mathematisch Centrum and Mi"
X+ 			"ke Stephenson."
X+ 		},
X+ 		/* [7] */
X+ 		{85, 109, 140, 333},
X+ 		StaticText {
X+ 			disabled,
X+ 			"Bug reports - email t-jlee@microsoft.UUC"
X+ 			"P or\nJohnny Lee\n388 Cummer Ave.\nWillowda"
X+ 			"le, Ont. CANADA M2M 2G2"
X+ 		},
X+ 		/* [8] */
X+ 		{97, 16, 116, 110},
X+ 		StaticText {
X+ 			enabled,
X+ 			"Macintosh port by:"
X+ 		}
X+ 	}
X+ };
X+ 
X+ data 'HDTA' (201, "Apple menu") {
X+ 	$"3F 00"                                          /* ?. */
X+ };
X+ 
X+ data 'HDTA' (202, "File menu") {
X+ 	$"4F 76 00 12 10 00 53 00 51"                     /* Ov....S.Q */
X+ };
X+ 
X+ data 'HDTA' (204, "Inventory Menu") {
X+ 	$"69 70 64 44 2C 40 2F 43"                        /* ipdD,@/C */
X+ };
X+ 
X+ data 'HDTA' (205, "Actions menu") {
X+ 	$"61 65 71 72 74 7A 5A"                           /* aeqrtzZ */
X+ };
X+ 
X+ data 'HDTA' (206, "Preparations menu") {
X+ 	$"77 50 52 54 57 29 5B 3D 5C 28"                  /* wPRTW)[=\( */
X+ };
X+ 
X+ data 'HDTA' (207, "Movement menu") {
X+ 	$"6F 63 04 73 3C 3E 14 2E 45"                     /* oc.s<>..E */
X+ };
X+ 
X+ data 'HDTA' (203, "Edit menu") {
X+ 	$"00 00 00 00 00 00"                              /* ...... */
X+ };
X+ 
X+ data 'HDTA' (208, "Extended Commands") {
X+ 	$"63 64 66 6A 6C 6D 6E 6F 70 72 73 74 75 77"      /* cdfjlmnoprstuw */
X+ };
X+ 
X+ data 'HDTA' (102, "graphics") {
X+ 	$"20 BA CD C9 BB C8 BC CE CA CB B9 CC B3 C4 5C 2F"/*  :MI;H<NJK9L3D\/ */
X+ 	$"EF FA B0 3C 3E 5E 22 7D 7B 23 5C 5F 3C 3E 23 23"/* ..0<>^"}{#\_<>## */
X+ };
X+ 
X+ data 'HDTA' (103, "keymap") {
X+ 	$"2E 6C 00 00 00 68 00 6A 00 00 00 70 6B 6D 00 00"/* .l...h.j...pkm.. */
X+ 	$"00 69 62 6A 6E 68 6F 6C 79 00 6B 75 00 00 E3 E4"/* .ibjnholy.ku.... */
X+ 	$"E6 EA EC ED CE EF F2 F3 F4 F5 F7 8D B6 C4 C6 C2"/* ....N......^M6DFB */
X+ 	$"B5 F6 BF A8 A7 A0 E8 B7 00 00 68 6C 6A 6B"      /* 5.?(' .7..hljk */
X+ };
X+ 
X+ data 'HDTA' (100) {
X+ 	$"00 00 00 02 00 00 00 09 06 4D 6F 6E 61 63 6F"   /* .......F.Monaco */
X+ };
X+ 
X+ data 'nh30' (0) {
X+ 	$"27 4E 65 74 48 61 63 6B 20 56 65 72 73 69 6F 6E"/* 'NetHack Version */
X+ 	$"20 33 2E 30 67 20 66 6F 72 20 74 68 65 20 4D 61"/*  3.0g for the Ma */
X+ 	$"63 69 6E 74 6F 73 68 A8"                        /* cintosh( */
X+ };
X+ 
X+ resource 'MENU' (102, "File") {
X+ 	102,
X+ 	textMenuProc,
X+ 	0x7FFFFF5F,
X+ 	enabled,
X+ 	"File",
X+ 	{ /* array: 9 elements */
X+ 		/* [1] */
X+ 		"Set options", noIcon, noKey, noMark, plain,
X+ 		/* [2] */
X+ 		"Version number", noIcon, noKey, noMark, plain,
X+ 		/* [3] */
X+ 		"Invert Screen", noIcon, noKey, noMark, plain,
X+ 		/* [4] */
X+ 		"Redraw screen", noIcon, noKey, noMark, plain,
X+ 		/* [5] */
X+ 		"Repeat last message", noIcon, noKey, noMark, plain,
X+ 		/* [6] */
X+ 		"-", noIcon, noKey, noMark, plain,
X+ 		/* [7] */
X+ 		"Save game", noIcon, noKey, noMark, plain,
X+ 		/* [8] */
X+ 		"-", noIcon, noKey, noMark, plain,
X+ 		/* [9] */
X+ 		"Quit", noIcon, noKey, noMark, plain
X+ 	}
X+ };
X+ 
X+ resource 'MENU' (103, "Edit") {
X+ 	103,
X+ 	textMenuProc,
X+ 	0x7FFFFFFD,
X+ 	enabled,
X+ 	"Edit",
X+ 	{ /* array: 6 elements */
X+ 		/* [1] */
X+ 		"Undo", noIcon, "Z", noMark, plain,
X+ 		/* [2] */
X+ 		"-", noIcon, noKey, noMark, plain,
X+ 		/* [3] */
X+ 		"Cut", noIcon, "X", noMark, plain,
X+ 		/* [4] */
X+ 		"Copy", noIcon, "C", noMark, plain,
X+ 		/* [5] */
X+ 		"Paste", noIcon, "V", noMark, plain,
X+ 		/* [6] */
X+ 		"Clear", noIcon, noKey, noMark, plain
X+ 	}
X+ };
X+ 
X+ resource 'MENU' (104, "Inventory") {
X+ 	104,
X+ 	textMenuProc,
X+ 	allEnabled,
X+ 	enabled,
X+ 	"Inventory",
X+ 	{ /* array: 8 elements */
X+ 		/* [1] */
X+ 		"Do inventory", noIcon, noKey, noMark, plain,
X+ 		/* [2] */
X+ 		"Pay bill", noIcon, noKey, noMark, plain,
X+ 		/* [3] */
X+ 		"Drop object", noIcon, noKey, noMark, plain,
X+ 		/* [4] */
X+ 		"Drop several objects", noIcon, noKey, noMark, plain,
X+ 		/* [5] */
X+ 		"Pick up object", noIcon, noKey, noMark, plain,
X+ 		/* [6] */
X+ 		"Toggle pickup", noIcon, noKey, noMark, plain,
X+ 		/* [7] */
X+ 		"Identify object", noIcon, noKey, noMark, plain,
X+ 		/* [8] */
X+ 		"Name monster", noIcon, noKey, noMark, plain
X+ 	}
X+ };
X+ 
X+ resource 'MENU' (105, "Actions") {
X+ 	105,
X+ 	textMenuProc,
X+ 	allEnabled,
X+ 	enabled,
X+ 	"Action",
X+ 	{ /* array: 7 elements */
X+ 		/* [1] */
X+ 		"Apply/use object", noIcon, noKey, noMark, plain,
X+ 		/* [2] */
X+ 		"Eat object", noIcon, noKey, noMark, plain,
X+ 		/* [3] */
X+ 		"Quaff potion", noIcon, noKey, noMark, plain,
X+ 		/* [4] */
X+ 		"Read scroll/book", noIcon, noKey, noMark, plain,
X+ 		/* [5] */
X+ 		"Throw/shoot weapon", noIcon, noKey, noMark, plain,
X+ 		/* [6] */
X+ 		"Zap wand", noIcon, noKey, noMark, plain,
X+ 		/* [7] */
X+ 		"Cast spell", noIcon, noKey, noMark, plain
X+ 	}
X+ };
X+ 
X+ resource 'MENU' (106, "Preparations") {
X+ 	106,
X+ 	textMenuProc,
X+ 	allEnabled,
X+ 	enabled,
X+ 	"Prep",
X+ 	{ /* array: 10 elements */
X+ 		/* [1] */
X+ 		"Wield weapon", noIcon, noKey, noMark, plain,
X+ 		/* [2] */
X+ 		"Put on ring", noIcon, noKey, noMark, plain,
X+ 		/* [3] */
X+ 		"Remove ring", noIcon, noKey, noMark, plain,
X+ 		/* [4] */
X+ 		"Remove armor", noIcon, noKey, noMark, plain,
X+ 		/* [5] */
X+ 		"Wear armor", noIcon, noKey, noMark, plain,
X+ 		/* [6] */
X+ 		"Current weapon", noIcon, noKey, noMark, plain,
X+ 		/* [7] */
X+ 		"Current armor", noIcon, noKey, noMark, plain,
X+ 		/* [8] */
X+ 		"Current rings", noIcon, noKey, noMark, plain,
X+ 		/* [9] */
X+ 		"Current amulet", noIcon, noKey, noMark, plain,
X+ 		/* [10] */
X+ 		"Current tools", noIcon, noKey, noMark, plain
X+ 	}
X+ };
X+ 
X+ resource 'MENU' (107, "Move") {
X+ 	107,
X+ 	textMenuProc,
X+ 	allEnabled,
X+ 	enabled,
X+ 	"Move",
X+ 	{ /* array: 9 elements */
X+ 		/* [1] */
X+ 		"Open door", noIcon, noKey, noMark, plain,
X+ 		/* [2] */
X+ 		"Close door", noIcon, noKey, noMark, plain,
X+ 		/* [3] */
X+ 		"Kick door", noIcon, noKey, noMark, plain,
X+ 		/* [4] */
X+ 		"Search", noIcon, noKey, noMark, plain,
X+ 		/* [5] */
X+ 		"Go up stairs", noIcon, noKey, noMark, plain,
X+ 		/* [6] */
X+ 		"Go down stairs", noIcon, noKey, noMark, plain,
X+ 		/* [7] */
X+ 		"Teleport", noIcon, noKey, noMark, plain,
X+ 		/* [8] */
X+ 		"Wait", noIcon, noKey, noMark, plain,
X+ 		/* [9] */
X+ 		"Engrave message", noIcon, noKey, noMark, plain
X+ 	}
X+ };
X+ 
X+ resource 'MENU' (108, "Extended Commands") {
X+ 	108,
X+ 	textMenuProc,
X+ 	allEnabled,
X+ 	enabled,
X+ 	"Extended",
X+ 	{ /* array: 14 elements */
X+ 		/* [1] */
X+ 		"Chat", noIcon, noKey, noMark, plain,
X+ 		/* [2] */
X+ 		"Dip object", noIcon, noKey, noMark, plain,
X+ 		/* [3] */
X+ 		"Force chest lock", noIcon, noKey, noMark, plain,
X+ 		/* [4] */
X+ 		"Jump", noIcon, noKey, noMark, plain,
X+ 		/* [5] */
X+ 		"Loot box", noIcon, noKey, noMark, plain,
X+ 		/* [6] */
X+ 		"Use monster ability", noIcon, noKey, noMark, plain,
X+ 		/* [7] */
X+ 		"Name object", noIcon, noKey, noMark, plain,
X+ 		/* [8] */
X+ 		"Offer sacrifice", noIcon, noKey, noMark, plain,
X+ 		/* [9] */
X+ 		"Pray", noIcon, noKey, noMark, plain,
X+ 		/* [10] */
X+ 		"Rub lamp", noIcon, noKey, noMark, plain,
X+ 		/* [11] */
X+ 		"Sit down", noIcon, noKey, noMark, plain,
X+ 		/* [12] */
X+ 		"Turn undead", noIcon, noKey, noMark, plain,
X+ 		/* [13] */
X+ 		"Untrap object", noIcon, noKey, noMark, plain,
X+ 		/* [14] */
X+ 		"Wipe face", noIcon, noKey, noMark, plain
X+ 	}
X+ };
X+ 
X+ resource 'FOND' (151, "HackFont", preload) {
X+ 	proportionalFont,
X+ 	dontUseFractWidthTable,
X+ 	useIntegerExtra,
X+ 	useFractEnable,
X+ 	canAdjustCharSpacing,
X+ 	noCharWidthTable,
X+ 	noImageHeightTable,
X+ 	151,
X+ 	0,
X+ 	0,
X+ 	0,
X+ 	0,
X+ 	0,
X+ 	0,
X+ 	0,
X+ 	0,
X+ 	0,
X+ 	0,
X+ 	0,
X+ 	0,
X+ 	0,
X+ 	0,
X+ 	0,
X+ 	0,
X+ 	1,
X+ 	{ /* array FontEntries: 1 elements */
X+ 		/* [1] */
X+ 		9, 0, 19337
X+ 	},
X+ 	{ /* array: 0 elements */
X+ 	},
X+ 	{ /* array: 0 elements */
X+ 	},
X+ 	{ /* array: 0 elements */
X+ 	},
X+ 	{ /* array: 0 elements */
X+ 	}
X+ };
X+ 
X+ resource 'FONT' (19337, purgeable) {
X+ 	doExpandFont,
X+ 	proportionalFont,
X+ 	blackFont,
X+ 	notSynthetic,
X+ 	nofctbRsrc,
X+ 	oneBit,
X+ 	noCharWidthTable,
X+ 	noImageHeightTable,
X+ 	0,
X+ 	254,
X+ 	6,
X+ 	0,
X+ 	-9,
X+ 	6,
X+ 	11,
X+ 	9,
X+ 	2,
X+ 	0,
X+ 	63,
X+ 	$"00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
X+ 	$"00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
X+ 	$"00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
X+ 	$"00 00 01 B0 00 00 00 00 00 00 28 82 00 00 00 00"
X+ 	$"00 52 80 00 00 60 00 00 34 00 00 04 30 80 0A D6"
X+ 	$"B1 12 80 0B 40 52 88 41 00 80 09 2A 80 A0 28 02"
X+ 	$"84 28 00 2A 00 28 41 1F 81 FF E0 03 F0 00 00 00"
X+ 	$"E7 00 40 00 F0 00 00 00 40 00 00 1C C0 00 00 10"
X+ 	$"00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
X+ 	$"00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
X+ 	$"00 00 00 00 00 00 80 00 00 00 00 00 00 00 00 E0"
X+ 	$"00 A1 10 04 30 08 02 05 01 44 00 08 04 11 00 00"
X+ 	$"00 C0 00 82 44 26 D8 00 00 04 51 00 00 2B F1 12"
X+ 	$"80 0B 40 52 88 41 00 80 09 2A 80 A0 28 02 84 28"
X+ 	$"00 2A 00 28 41 1F 81 FF E0 1A 10 00 00 00 48 80"
X+ 	$"A0 05 07 80 00 08 40 06 00 13 20 00 D5 39 EC 4C"
X+ 	$"20 00 05 CB 9C 2F BB EE 70 00 0E 73 BC EF 7F EE"
X+ 	$"8F 0C 61 18 BB CE F3 BF 18 C6 31 FF 1A 02 04 00"
X+ 	$"10 18 21 30 80 00 00 00 04 00 00 00 01 53 5D F2"
X+ 	$"29 42 48 14 A1 5A B9 DF 03 D4 A2 28 8A 74 41 28"
X+ 	$"F8 84 88 4B 45 D8 80 04 92 40 0A D6 B1 12 80 0B"
X+ 	$"40 52 88 41 00 80 09 2A 80 A0 28 02 84 28 00 2A"
X+ 	$"00 28 41 1F 81 FF E0 26 00 7C 00 6C E8 B8 80 0A"
X+ 	$"08 40 24 34 40 09 00 12 41 ED DF D6 B2 92 A9 00"
X+ 	$"06 3C 62 68 40 31 88 20 91 8C 63 18 C2 11 8A 0C"
X+ 	$"A1 BC C6 31 8C 49 18 C5 51 0D 0D 01 04 00 10 20"
X+ 	$"20 10 80 00 00 00 04 00 00 00 01 55 A3 F0 00 00"
X+ 	$"30 00 00 00 46 30 05 00 00 00 00 8C 49 05 44 80"
X+ 	$"00 00 66 64 00 05 54 00 00 2B F1 12 80 0B 40 52"
X+ 	$"88 41 00 80 09 2A 80 A0 28 02 84 28 00 2A 00 28"
X+ 	$"41 1F 81 FF E0 46 00 24 00 13 58 C4 40 7A 08 7F"
X+ 	$"22 54 48 19 70 72 81 25 85 52 D4 21 71 00 0A 68"
X+ 	$"42 AF 78 31 8D 5F 41 EC 63 08 C2 10 8A 0D 21 5A"
X+ 	$"C6 31 8C 09 18 C4 91 14 88 00 7F 9C F7 73 FD 32"
X+ 	$"FA CE F3 EC FF 8C 6B 18 FD 50 20 A7 3D EF 7B 9C"
X+ 	$"E7 24 C6 30 75 1C E7 46 31 8C 5D CF C5 CF 9D 1B"
X+ 	$"56 64 80 02 AA C0 0A D6 B1 F2 83 FB 7F D2 F8 41"
X+ 	$"00 80 09 EA FF BF EF FE FF 2B F0 2B F0 2B F1 1F"
X+ 	$"81 FF EE CA 0F 91 F9 11 5F C5 DB 97 F8 40 F9 90"
X+ 	$"40 E6 F8 53 FD 25 8F B9 48 21 AF CF 8A A8 8D 20"
X+ 	$"C4 4E 88 80 22 AF FD 08 FB D3 FA 0E 21 19 C7 D1"
X+ 	$"F3 89 18 C4 8A 24 88 00 8C 63 18 A4 63 34 D7 31"
X+ 	$"8C 73 04 8C 6A A8 8A 08 20 A8 C6 31 8C 63 18 A4"
X+ 	$"FF FE AF A3 18 C6 31 8C 6B 02 78 91 A3 1C CD D9"
X+ 	$"1F FC 32 D3 20 2B FF 1E FC 43 42 1F 8F FF FF FF"
X+ 	$"FF 2E 20 00 20 00 00 FC 0F FE 4F FC 4F FF FF FF"
X+ 	$"F1 4A 05 0A 29 11 58 C6 35 96 09 7F 22 50 7F 10"
X+ 	$"F8 80 1D 25 85 15 B5 21 21 00 13 29 03 F0 C4 91"
X+ 	$"78 5F 44 F4 63 08 C2 11 8A 8D 21 18 C6 11 88 49"
X+ 	$"18 D4 84 44 48 00 8C 61 1F A4 63 3C D6 31 8C 60"
X+ 	$"E4 8C 6A 48 91 50 20 EF C6 31 8C 3F FF A4 C6 30"
X+ 	$"FD 23 18 C6 31 8C 69 0F C8 91 A3 18 C4 02 10 08"
X+ 	$"43 E4 9A D6 B1 F2 97 FB 7B F0 78 80 04 80 09 EB"
X+ 	$"EF FE EF FE FF 03 F2 83 FA 2B F0 9F FF F8 11 46"
X+ 	$"05 12 29 10 E8 C6 3B A6 08 40 24 30 40 E0 FE 80"
X+ 	$"1D 25 00 56 B2 12 01 00 12 2A 22 28 C4 91 08 20"
X+ 	$"80 84 63 18 C2 11 8A 8C A1 18 C6 11 8C 49 15 6D"
X+ 	$"44 84 48 00 9C 61 18 24 63 32 D6 31 8C 60 14 9A"
X+ 	$"AA A8 A1 50 22 48 4E 73 9C 21 08 24 C6 30 A5 23"
X+ 	$"18 CE 71 8C 6B 12 5C 93 A3 38 C7 FE 30 08 80 E4"
X+ 	$"90 2B F1 12 94 4B 4A 00 00 80 04 80 09 28 28 02"
X+ 	$"A8 02 80 00 42 80 4A 28 40 9F FF F8 11 46 05 26"
X+ 	$"29 10 48 AA 20 A5 08 7F 00 10 49 00 71 00 01 25"
X+ 	$"80 3A 4D 0C 00 10 61 CF DC 27 38 8E 75 00 04 74"
X+ 	$"7C EF 7E 0E 8F 74 7F 18 BA 0E 8B 88 E2 46 24 FE"
X+ 	$"38 FC 6F 9E F7 A3 E3 31 D6 2E F3 E1 E3 69 15 17"
X+ 	$"FD 50 1C 47 B5 AD 6B DE F7 A4 C6 3F BD DC E7 35"
X+ 	$"AF 73 9D E2 48 8D 9C D8 C4 01 C0 00 E0 D3 2A D6"
X+ 	$"B1 12 94 4B 4A 00 00 80 04 80 09 28 28 02 A8 02"
X+ 	$"80 00 42 80 4A 28 40 9F FF F8 0E DA 05 7D CE 90"
X+ 	$"E7 6D C0 78 F8 40 FF F2 40 00 01 00 01 ED 00 10"
X+ 	$"00 00 00 10 20 00 00 00 00 00 01 00 00 00 00 00"
X+ 	$"00 00 00 00 00 00 00 01 00 00 00 00 00 00 20 00"
X+ 	$"00 00 00 00 40 20 00 00 80 40 00 00 00 00 80 E0"
X+ 	$"04 E0 00 00 01 00 00 00 00 00 00 00 00 00 01 00"
X+ 	$"08 00 0C 80 00 00 00 00 00 00 00 00 00 2B F1 12"
X+ 	$"94 4B 4A 00 00 80 04 80 09 28 28 02 A8 02 80 00"
X+ 	$"42 80 4A 28 40 9F FF F8 00 40 00 00 08 00 00 00"
X+ 	$"00 40 0F C0 00 12 40 00 00 00 00 00 00 00 00 00"
X+ 	$"00 20 00 00 00 00 00 00 02 00 00 00 00 00 00 00"
X+ 	$"00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
X+ 	$"00 03 80 C0 00 00 80 40 00 00 00 07 00 00 08 00"
X+ 	$"00 00 02 00 00 00 00 00 00 00 00 00 0E 00 00 00"
X+ 	$"03 00 00 00 00 00 00 00 00 00 0A D6 B1 12 94 4B"
X+ 	$"4A 00 00 80 04 80 09 28 28 02 A8 02 80 00 42 80"
X+ 	$"4A 28 40 9F FF F8 00 00 00 00 08 00 00 00 00 80"
X+ 	$"00 00 00 11 80 00 00 00 00 00",
X+ 	{ /* array: 257 elements */
X+ 		/* [1] */
X+ 		0,
X+ 		/* [2] */
X+ 		0,
X+ 		/* [3] */
X+ 		0,
X+ 		/* [4] */
X+ 		0,
X+ 		/* [5] */
X+ 		0,
X+ 		/* [6] */
X+ 		0,
X+ 		/* [7] */
X+ 		0,
X+ 		/* [8] */
X+ 		0,
X+ 		/* [9] */
X+ 		0,
X+ 		/* [10] */
X+ 		0,
X+ 		/* [11] */
X+ 		0,
X+ 		/* [12] */
X+ 		0,
X+ 		/* [13] */
X+ 		0,
X+ 		/* [14] */
X+ 		0,
X+ 		/* [15] */
X+ 		0,
X+ 		/* [16] */
X+ 		0,
X+ 		/* [17] */
X+ 		0,
X+ 		/* [18] */
X+ 		0,
X+ 		/* [19] */
X+ 		0,
X+ 		/* [20] */
X+ 		0,
X+ 		/* [21] */
X+ 		0,
X+ 		/* [22] */
X+ 		0,
X+ 		/* [23] */
X+ 		0,
X+ 		/* [24] */
X+ 		0,
X+ 		/* [25] */
X+ 		0,
X+ 		/* [26] */
X+ 		0,
X+ 		/* [27] */
X+ 		0,
X+ 		/* [28] */
X+ 		0,
X+ 		/* [29] */
X+ 		0,
X+ 		/* [30] */
X+ 		0,
X+ 		/* [31] */
X+ 		0,
X+ 		/* [32] */
X+ 		0,
X+ 		/* [33] */
X+ 		0,
X+ 		/* [34] */
X+ 		0,
X+ 		/* [35] */
X+ 		1,
X+ 		/* [36] */
X+ 		4,
X+ 		/* [37] */
X+ 		9,
X+ 		/* [38] */
X+ 		14,
X+ 		/* [39] */
X+ 		19,
X+ 		/* [40] */
X+ 		24,
X+ 		/* [41] */
X+ 		26,
X+ 		/* [42] */
X+ 		29,
X+ 		/* [43] */
X+ 		32,
X+ 		/* [44] */
X+ 		37,
X+ 		/* [45] */
X+ 		42,
X+ 		/* [46] */
X+ 		44,
X+ 		/* [47] */
X+ 		49,
X+ 		/* [48] */
X+ 		50,
X+ 		/* [49] */
X+ 		54,
X+ 		/* [50] */
X+ 		59,
X+ 		/* [51] */
X+ 		61,
X+ 		/* [52] */
X+ 		66,
X+ 		/* [53] */
X+ 		71,
X+ 		/* [54] */
X+ 		76,
X+ 		/* [55] */
X+ 		81,
X+ 		/* [56] */
X+ 		86,
X+ 		/* [57] */
X+ 		91,
X+ 		/* [58] */
X+ 		96,
X+ 		/* [59] */
X+ 		101,
X+ 		/* [60] */
X+ 		102,
X+ 		/* [61] */
X+ 		104,
X+ 		/* [62] */
X+ 		107,
X+ 		/* [63] */
X+ 		112,
X+ 		/* [64] */
X+ 		115,
X+ 		/* [65] */
X+ 		120,
X+ 		/* [66] */
X+ 		125,
X+ 		/* [67] */
X+ 		130,
X+ 		/* [68] */
X+ 		135,
X+ 		/* [69] */
X+ 		140,
X+ 		/* [70] */
X+ 		145,
X+ 		/* [71] */
X+ 		150,
X+ 		/* [72] */
X+ 		155,
X+ 		/* [73] */
X+ 		160,
X+ 		/* [74] */
X+ 		165,
X+ 		/* [75] */
X+ 		168,
X+ 		/* [76] */
X+ 		173,
X+ 		/* [77] */
X+ 		178,
X+ 		/* [78] */
X+ 		183,
X+ 		/* [79] */
X+ 		188,
X+ 		/* [80] */
X+ 		193,
X+ 		/* [81] */
X+ 		198,
X+ 		/* [82] */
X+ 		203,
X+ 		/* [83] */
X+ 		208,
X+ 		/* [84] */
X+ 		213,
X+ 		/* [85] */
X+ 		218,
X+ 		/* [86] */
X+ 		223,
X+ 		/* [87] */
X+ 		228,
X+ 		/* [88] */
X+ 		233,
X+ 		/* [89] */
X+ 		238,
X+ 		/* [90] */
X+ 		243,
X+ 		/* [91] */
X+ 		248,
X+ 		/* [92] */
X+ 		253,
X+ 		/* [93] */
X+ 		255,
X+ 		/* [94] */
X+ 		259,
X+ 		/* [95] */
X+ 		261,
X+ 		/* [96] */
X+ 		264,
X+ 		/* [97] */
X+ 		270,
X+ 		/* [98] */
X+ 		272,
X+ 		/* [99] */
X+ 		277,
X+ 		/* [100] */
X+ 		282,
X+ 		/* [101] */
X+ 		287,
X+ 		/* [102] */
X+ 		292,
X+ 		/* [103] */
X+ 		297,
X+ 		/* [104] */
X+ 		301,
X+ 		/* [105] */
X+ 		306,
X+ 		/* [106] */
X+ 		311,
X+ 		/* [107] */
X+ 		312,
X+ 		/* [108] */
X+ 		315,
X+ 		/* [109] */
X+ 		320,
X+ 		/* [110] */
X+ 		321,
X+ 		/* [111] */
X+ 		326,
X+ 		/* [112] */
X+ 		331,
X+ 		/* [113] */
X+ 		336,
X+ 		/* [114] */
X+ 		341,
X+ 		/* [115] */
X+ 		346,
X+ 		/* [116] */
X+ 		351,
X+ 		/* [117] */
X+ 		356,
X+ 		/* [118] */
X+ 		360,
X+ 		/* [119] */
X+ 		365,
X+ 		/* [120] */
X+ 		370,
X+ 		/* [121] */
X+ 		375,
X+ 		/* [122] */
X+ 		380,
X+ 		/* [123] */
X+ 		385,
X+ 		/* [124] */
X+ 		390,
X+ 		/* [125] */
X+ 		393,
X+ 		/* [126] */
X+ 		394,
X+ 		/* [127] */
X+ 		397,
X+ 		/* [128] */
X+ 		402,
X+ 		/* [129] */
X+ 		402,
X+ 		/* [130] */
X+ 		407,
X+ 		/* [131] */
X+ 		412,
X+ 		/* [132] */
X+ 		417,
X+ 		/* [133] */
X+ 		422,
X+ 		/* [134] */
X+ 		427,
X+ 		/* [135] */
X+ 		432,
X+ 		/* [136] */
X+ 		437,
X+ 		/* [137] */
X+ 		442,
X+ 		/* [138] */
X+ 		447,
X+ 		/* [139] */
X+ 		452,
X+ 		/* [140] */
X+ 		457,
X+ 		/* [141] */
X+ 		460,
X+ 		/* [142] */
X+ 		463,
X+ 		/* [143] */
X+ 		465,
X+ 		/* [144] */
X+ 		470,
X+ 		/* [145] */
X+ 		475,
X+ 		/* [146] */
X+ 		480,
X+ 		/* [147] */
X+ 		485,
X+ 		/* [148] */
X+ 		490,
X+ 		/* [149] */
X+ 		495,
X+ 		/* [150] */
X+ 		500,
X+ 		/* [151] */
X+ 		505,
X+ 		/* [152] */
X+ 		510,
X+ 		/* [153] */
X+ 		515,
X+ 		/* [154] */
X+ 		520,
X+ 		/* [155] */
X+ 		525,
X+ 		/* [156] */
X+ 		530,
X+ 		/* [157] */
X+ 		535,
X+ 		/* [158] */
X+ 		540,
X+ 		/* [159] */
X+ 		545,
X+ 		/* [160] */
X+ 		550,
X+ 		/* [161] */
X+ 		555,
X+ 		/* [162] */
X+ 		560,
X+ 		/* [163] */
X+ 		562,
X+ 		/* [164] */
X+ 		567,
X+ 		/* [165] */
X+ 		572,
X+ 		/* [166] */
X+ 		577,
X+ 		/* [167] */
X+ 		582,
X+ 		/* [168] */
X+ 		586,
X+ 		/* [169] */
X+ 		590,
X+ 		/* [170] */
X+ 		595,
X+ 		/* [171] */
X+ 		600,
X+ 		/* [172] */
X+ 		605,
X+ 		/* [173] */
X+ 		611,
X+ 		/* [174] */
X+ 		617,
X+ 		/* [175] */
X+ 		618,
X+ 		/* [176] */
X+ 		623,
X+ 		/* [177] */
X+ 		628,
X+ 		/* [178] */
X+ 		633,
X+ 		/* [179] */
X+ 		638,
X+ 		/* [180] */
X+ 		643,
X+ 		/* [181] */
X+ 		644,
X+ 		/* [182] */
X+ 		648,
X+ 		/* [183] */
X+ 		652,
X+ 		/* [184] */
X+ 		657,
X+ 		/* [185] */
X+ 		662,
X+ 		/* [186] */
X+ 		666,
X+ 		/* [187] */
X+ 		671,
X+ 		/* [188] */
X+ 		674,
X+ 		/* [189] */
X+ 		679,
X+ 		/* [190] */
X+ 		684,
X+ 		/* [191] */
X+ 		689,
X+ 		/* [192] */
X+ 		693,
X+ 		/* [193] */
X+ 		697,
X+ 		/* [194] */
X+ 		700,
X+ 		/* [195] */
X+ 		706,
X+ 		/* [196] */
X+ 		712,
X+ 		/* [197] */
X+ 		715,
X+ 		/* [198] */
X+ 		721,
X+ 		/* [199] */
X+ 		727,
X+ 		/* [200] */
X+ 		730,
X+ 		/* [201] */
X+ 		734,
X+ 		/* [202] */
X+ 		738,
X+ 		/* [203] */
X+ 		742,
X+ 		/* [204] */
X+ 		748,
X+ 		/* [205] */
X+ 		754,
X+ 		/* [206] */
X+ 		758,
X+ 		/* [207] */
X+ 		764,
X+ 		/* [208] */
X+ 		770,
X+ 		/* [209] */
X+ 		776,
X+ 		/* [210] */
X+ 		782,
X+ 		/* [211] */
X+ 		788,
X+ 		/* [212] */
X+ 		794,
X+ 		/* [213] */
X+ 		798,
X+ 		/* [214] */
X+ 		801,
X+ 		/* [215] */
X+ 		804,
X+ 		/* [216] */
X+ 		808,
X+ 		/* [217] */
X+ 		814,
X+ 		/* [218] */
X+ 		820,
X+ 		/* [219] */
X+ 		824,
X+ 		/* [220] */
X+ 		827,
X+ 		/* [221] */
X+ 		833,
X+ 		/* [222] */
X+ 		839,
X+ 		/* [223] */
X+ 		842,
X+ 		/* [224] */
X+ 		845,
X+ 		/* [225] */
X+ 		851,
X+ 		/* [226] */
X+ 		857,
X+ 		/* [227] */
X+ 		862,
X+ 		/* [228] */
X+ 		868,
X+ 		/* [229] */
X+ 		873,
X+ 		/* [230] */
X+ 		878,
X+ 		/* [231] */
X+ 		884,
X+ 		/* [232] */
X+ 		889,
X+ 		/* [233] */
X+ 		895,
X+ 		/* [234] */
X+ 		900,
X+ 		/* [235] */
X+ 		905,
X+ 		/* [236] */
X+ 		910,
X+ 		/* [237] */
X+ 		915,
X+ 		/* [238] */
X+ 		920,
X+ 		/* [239] */
X+ 		926,
X+ 		/* [240] */
X+ 		932,
X+ 		/* [241] */
X+ 		938,
X+ 		/* [242] */
X+ 		944,
X+ 		/* [243] */
X+ 		949,
X+ 		/* [244] */
X+ 		952,
X+ 		/* [245] */
X+ 		955,
X+ 		/* [246] */
X+ 		958,
X+ 		/* [247] */
X+ 		962,
X+ 		/* [248] */
X+ 		967,
X+ 		/* [249] */
X+ 		972,
X+ 		/* [250] */
X+ 		976,
X+ 		/* [251] */
X+ 		981,
X+ 		/* [252] */
X+ 		982,
X+ 		/* [253] */
X+ 		987,
X+ 		/* [254] */
X+ 		991,
X+ 		/* [255] */
X+ 		995,
X+ 		/* [256] */
X+ 		998,
X+ 		/* [257] */
X+ 		1004
X+ 	},
X+ 	{ /* array: 257 elements */
X+ 		/* [1] */
X+ 		6,
X+ 		/* [2] */
X+ 		6,
X+ 		/* [3] */
X+ 		6,
X+ 		/* [4] */
X+ 		6,
X+ 		/* [5] */
X+ 		6,
X+ 		/* [6] */
X+ 		6,
X+ 		/* [7] */
X+ 		6,
X+ 		/* [8] */
X+ 		6,
X+ 		/* [9] */
X+ 		6,
X+ 		/* [10] */
X+ 		6,
X+ 		/* [11] */
X+ 		6,
X+ 		/* [12] */
X+ 		6,
X+ 		/* [13] */
X+ 		6,
X+ 		/* [14] */
X+ 		6,
X+ 		/* [15] */
X+ 		6,
X+ 		/* [16] */
X+ 		6,
X+ 		/* [17] */
X+ 		6,
X+ 		/* [18] */
X+ 		6,
X+ 		/* [19] */
X+ 		6,
X+ 		/* [20] */
X+ 		6,
X+ 		/* [21] */
X+ 		6,
X+ 		/* [22] */
X+ 		6,
X+ 		/* [23] */
X+ 		6,
X+ 		/* [24] */
X+ 		6,
X+ 		/* [25] */
X+ 		6,
X+ 		/* [26] */
X+ 		6,
X+ 		/* [27] */
X+ 		6,
X+ 		/* [28] */
X+ 		6,
X+ 		/* [29] */
X+ 		6,
X+ 		/* [30] */
X+ 		6,
X+ 		/* [31] */
X+ 		6,
X+ 		/* [32] */
X+ 		6,
X+ 		/* [33] */
X+ 		1542,
X+ 		/* [34] */
X+ 		518,
X+ 		/* [35] */
X+ 		262,
X+ 		/* [36] */
X+ 		6,
X+ 		/* [37] */
X+ 		6,
X+ 		/* [38] */
X+ 		6,
X+ 		/* [39] */
X+ 		6,
X+ 		/* [40] */
X+ 		518,
X+ 		/* [41] */
X+ 		262,
X+ 		/* [42] */
X+ 		518,
X+ 		/* [43] */
X+ 		6,
X+ 		/* [44] */
X+ 		6,
X+ 		/* [45] */
X+ 		262,
X+ 		/* [46] */
X+ 		6,
X+ 		/* [47] */
X+ 		518,
X+ 		/* [48] */
X+ 		262,
X+ 		/* [49] */
X+ 		6,
X+ 		/* [50] */
X+ 		518,
X+ 		/* [51] */
X+ 		6,
X+ 		/* [52] */
X+ 		6,
X+ 		/* [53] */
X+ 		6,
X+ 		/* [54] */
X+ 		6,
X+ 		/* [55] */
X+ 		6,
X+ 		/* [56] */
X+ 		6,
X+ 		/* [57] */
X+ 		6,
X+ 		/* [58] */
X+ 		6,
X+ 		/* [59] */
X+ 		518,
X+ 		/* [60] */
X+ 		262,
X+ 		/* [61] */
X+ 		262,
X+ 		/* [62] */
X+ 		6,
X+ 		/* [63] */
X+ 		262,
X+ 		/* [64] */
X+ 		6,
X+ 		/* [65] */
X+ 		6,
X+ 		/* [66] */
X+ 		6,
X+ 		/* [67] */
X+ 		6,
X+ 		/* [68] */
X+ 		6,
X+ 		/* [69] */
X+ 		6,
X+ 		/* [70] */
X+ 		6,
X+ 		/* [71] */
X+ 		6,
X+ 		/* [72] */
X+ 		6,
X+ 		/* [73] */
X+ 		6,
X+ 		/* [74] */
X+ 		262,
X+ 		/* [75] */
X+ 		6,
X+ 		/* [76] */
X+ 		6,
X+ 		/* [77] */
X+ 		6,
X+ 		/* [78] */
X+ 		6,
X+ 		/* [79] */
X+ 		6,
X+ 		/* [80] */
X+ 		6,
X+ 		/* [81] */
X+ 		6,
X+ 		/* [82] */
X+ 		6,
X+ 		/* [83] */
X+ 		6,
X+ 		/* [84] */
X+ 		6,
X+ 		/* [85] */
X+ 		6,
X+ 		/* [86] */
X+ 		6,
X+ 		/* [87] */
X+ 		6,
X+ 		/* [88] */
X+ 		6,
X+ 		/* [89] */
X+ 		6,
X+ 		/* [90] */
X+ 		6,
X+ 		/* [91] */
X+ 		6,
X+ 		/* [92] */
X+ 		518,
X+ 		/* [93] */
X+ 		262,
X+ 		/* [94] */
X+ 		518,
X+ 		/* [95] */
X+ 		262,
X+ 		/* [96] */
X+ 		6,
X+ 		/* [97] */
X+ 		262,
X+ 		/* [98] */
X+ 		6,
X+ 		/* [99] */
X+ 		6,
X+ 		/* [100] */
X+ 		6,
X+ 		/* [101] */
X+ 		6,
X+ 		/* [102] */
X+ 		6,
X+ 		/* [103] */
X+ 		262,
X+ 		/* [104] */
X+ 		6,
X+ 		/* [105] */
X+ 		6,
X+ 		/* [106] */
X+ 		518,
X+ 		/* [107] */
X+ 		6,
X+ 		/* [108] */
X+ 		6,
X+ 		/* [109] */
X+ 		518,
X+ 		/* [110] */
X+ 		6,
X+ 		/* [111] */
X+ 		6,
X+ 		/* [112] */
X+ 		6,
X+ 		/* [113] */
X+ 		6,
X+ 		/* [114] */
X+ 		6,
X+ 		/* [115] */
X+ 		6,
X+ 		/* [116] */
X+ 		6,
X+ 		/* [117] */
X+ 		262,
X+ 		/* [118] */
X+ 		6,
X+ 		/* [119] */
X+ 		6,
X+ 		/* [120] */
X+ 		6,
X+ 		/* [121] */
X+ 		6,
X+ 		/* [122] */
X+ 		6,
X+ 		/* [123] */
X+ 		6,
X+ 		/* [124] */
X+ 		518,
X+ 		/* [125] */
X+ 		518,
X+ 		/* [126] */
X+ 		262,
X+ 		/* [127] */
X+ 		6,
X+ 		/* [128] */
X+ 		0,
X+ 		/* [129] */
X+ 		6,
X+ 		/* [130] */
X+ 		6,
X+ 		/* [131] */
X+ 		6,
X+ 		/* [132] */
X+ 		6,
X+ 		/* [133] */
X+ 		6,
X+ 		/* [134] */
X+ 		6,
X+ 		/* [135] */
X+ 		6,
X+ 		/* [136] */
X+ 		6,
X+ 		/* [137] */
X+ 		6,
X+ 		/* [138] */
X+ 		6,
X+ 		/* [139] */
X+ 		6,
X+ 		/* [140] */
X+ 		262,
X+ 		/* [141] */
X+ 		262,
X+ 		/* [142] */
X+ 		262,
X+ 		/* [143] */
X+ 		6,
X+ 		/* [144] */
X+ 		6,
X+ 		/* [145] */
X+ 		6,
X+ 		/* [146] */
X+ 		6,
X+ 		/* [147] */
X+ 		6,
X+ 		/* [148] */
X+ 		6,
X+ 		/* [149] */
X+ 		6,
X+ 		/* [150] */
X+ 		6,
X+ 		/* [151] */
X+ 		6,
X+ 		/* [152] */
X+ 		6,
X+ 		/* [153] */
X+ 		6,
X+ 		/* [154] */
X+ 		6,
X+ 		/* [155] */
X+ 		6,
X+ 		/* [156] */
X+ 		6,
X+ 		/* [157] */
X+ 		6,
X+ 		/* [158] */
X+ 		6,
X+ 		/* [159] */
X+ 		6,
X+ 		/* [160] */
X+ 		6,
X+ 		/* [161] */
X+ 		6,
X+ 		/* [162] */
X+ 		518,
X+ 		/* [163] */
X+ 		6,
X+ 		/* [164] */
X+ 		6,
X+ 		/* [165] */
X+ 		6,
X+ 		/* [166] */
X+ 		6,
X+ 		/* [167] */
X+ 		262,
X+ 		/* [168] */
X+ 		262,
X+ 		/* [169] */
X+ 		6,
X+ 		/* [170] */
X+ 		6,
X+ 		/* [171] */
X+ 		6,
X+ 		/* [172] */
X+ 		6,
X+ 		/* [173] */
X+ 		6,
X+ 		/* [174] */
X+ 		774,
X+ 		/* [175] */
X+ 		6,
X+ 		/* [176] */
X+ 		6,
X+ 		/* [177] */
X+ 		6,
X+ 		/* [178] */
X+ 		6,
X+ 		/* [179] */
X+ 		6,
X+ 		/* [180] */
X+ 		774,
X+ 		/* [181] */
X+ 		6,
X+ 		/* [182] */
X+ 		6,
X+ 		/* [183] */
X+ 		6,
X+ 		/* [184] */
X+ 		6,
X+ 		/* [185] */
X+ 		6,
X+ 		/* [186] */
X+ 		6,
X+ 		/* [187] */
X+ 		518,
X+ 		/* [188] */
X+ 		6,
X+ 		/* [189] */
X+ 		6,
X+ 		/* [190] */
X+ 		6,
X+ 		/* [191] */
X+ 		6,
X+ 		/* [192] */
X+ 		6,
X+ 		/* [193] */
X+ 		774,
X+ 		/* [194] */
X+ 		6,
X+ 		/* [195] */
X+ 		6,
X+ 		/* [196] */
X+ 		774,
X+ 		/* [197] */
X+ 		6,
X+ 		/* [198] */
X+ 		6,
X+ 		/* [199] */
X+ 		774,
X+ 		/* [200] */
X+ 		518,
X+ 		/* [201] */
X+ 		518,
X+ 		/* [202] */
X+ 		518,
X+ 		/* [203] */
X+ 		6,
X+ 		/* [204] */
X+ 		6,
X+ 		/* [205] */
X+ 		518,
X+ 		/* [206] */
X+ 		6,
X+ 		/* [207] */
X+ 		6,
X+ 		/* [208] */
X+ 		6,
X+ 		/* [209] */
X+ 		6,
X+ 		/* [210] */
X+ 		6,
X+ 		/* [211] */
X+ 		6,
X+ 		/* [212] */
X+ 		518,
X+ 		/* [213] */
X+ 		774,
X+ 		/* [214] */
X+ 		774,
X+ 		/* [215] */
X+ 		518,
X+ 		/* [216] */
X+ 		6,
X+ 		/* [217] */
X+ 		6,
X+ 		/* [218] */
X+ 		6,
X+ 		/* [219] */
X+ 		774,
X+ 		/* [220] */
X+ 		6,
X+ 		/* [221] */
X+ 		6,
X+ 		/* [222] */
X+ 		6,
X+ 		/* [223] */
X+ 		774,
X+ 		/* [224] */
X+ 		6,
X+ 		/* [225] */
X+ 		6,
X+ 		/* [226] */
X+ 		6,
X+ 		/* [227] */
X+ 		6,
X+ 		/* [228] */
X+ 		6,
X+ 		/* [229] */
X+ 		6,
X+ 		/* [230] */
X+ 		6,
X+ 		/* [231] */
X+ 		6,
X+ 		/* [232] */
X+ 		6,
X+ 		/* [233] */
X+ 		6,
X+ 		/* [234] */
X+ 		6,
X+ 		/* [235] */
X+ 		6,
X+ 		/* [236] */
X+ 		6,
X+ 		/* [237] */
X+ 		6,
X+ 		/* [238] */
X+ 		6,
X+ 		/* [239] */
X+ 		6,
X+ 		/* [240] */
X+ 		6,
X+ 		/* [241] */
X+ 		6,
X+ 		/* [242] */
X+ 		6,
X+ 		/* [243] */
X+ 		262,
X+ 		/* [244] */
X+ 		262,
X+ 		/* [245] */
X+ 		774,
X+ 		/* [246] */
X+ 		6,
X+ 		/* [247] */
X+ 		6,
X+ 		/* [248] */
X+ 		6,
X+ 		/* [249] */
X+ 		262,
X+ 		/* [250] */
X+ 		6,
X+ 		/* [251] */
X+ 		518,
X+ 		/* [252] */
X+ 		6,
X+ 		/* [253] */
X+ 		6,
X+ 		/* [254] */
X+ 		6,
X+ 		/* [255] */
X+ 		262,
X+ 		/* [256] */
X+ 		6,
X+ 		/* [257] */
X+ 		-1
X+ 	}
X+ };
X+ 
X+ resource 'PICT' (100) {
X+ 	588,
X+ 	{32, 121, 46, 403},
X+ 	$"11 01 A0 00 82 A0 00 8E 01 00 0A 00 20 00 71 02"
X+ 	$"D0 02 40 98 00 24 00 00 00 08 00 0E 01 28 00 00"
X+ 	$"00 08 00 0E 01 22 00 20 00 79 00 2E 01 93 00 01"
X+ 	$"21 0F F8 7E 00 00 7F 3F 80 00 01 E0 00 7E 00 3C"
X+ 	$"00 1E FE 00 06 01 E0 00 00 3F 03 F0 FA 00 02 01"
X+ 	$"E0 00 22 05 38 18 00 00 1C 0E FE 00 06 E0 00 E7"
X+ 	$"00 E7 00 3F FD 00 08 E0 00 00 0F 03 C0 00 00 1C"
X+ 	$"FC 00 01 E0 00 25 05 3C 18 00 1C 1C 0E FE 00 06"
X+ 	$"E0 00 E3 80 E7 00 77 FE 00 0B 70 E0 00 00 0F 87"
X+ 	$"C0 00 00 1C 00 07 FE 00 01 E0 00 24 05 3E 18 00"
X+ 	$"1C 1C 0E FE 00 06 E0 00 03 81 C3 80 70 FE 00 06"
X+ 	$"70 E0 00 00 0F 87 C0 FD 00 00 07 FE 00 01 E0 00"
X+ 	$"24 05 3F 18 00 1C 1C 0E FE 00 06 E0 00 03 81 C3"
X+ 	$"80 70 FE 00 06 70 E0 00 00 0F 87 C0 FD 00 00 07"
X+ 	$"FE 00 01 E0 00 25 23 37 18 3E 3F 1C 0E 07 81 F0"
X+ 	$"EF 80 07 01 C3 81 FC 7E 3D C0 FC FF 07 C0 0D CD"
X+ 	$"C0 F0 3E 3C FF 8F C7 E1 FC FF 00 25 23 33 98 77"
X+ 	$"1C 1F FE 1C C3 9C E6 00 3E 01 C3 80 70 E7 1F C0"
X+ 	$"70 F7 8E E0 0D CD C3 98 73 9C 7B C7 0E 73 9C F7"
X+ 	$"80 25 23 33 D8 E3 9C 1C 0E 1C E7 1C EC 00 07 01"
X+ 	$"C3 80 71 C3 9E 00 70 E3 9C 70 0D CD C3 9C E3 9C"
X+ 	$"71 C7 1C 3B 0C E3 80 25 23 31 D8 E3 9C 1C 0E 00"
X+ 	$"E7 00 F8 00 03 81 C3 80 71 C3 9C 00 70 E3 9C 70"
X+ 	$"0C F9 C0 1C E0 1C 71 C7 1C 3B C0 E3 80 25 23 30"
X+ 	$"F8 FF 9C 1C 0E 07 E7 00 F8 00 03 81 C3 80 71 C3"
X+ 	$"9C 00 70 E3 9F F0 0C F9 C0 FC E0 1C 71 C7 1C 39"
X+ 	$"F8 E3 80 25 23 30 F8 E0 1C 1C 0E 1C E7 00 FC 00"
X+ 	$"03 81 C3 80 71 C3 9C 00 70 E3 9C 00 0C F9 C3 9C"
X+ 	$"E0 1C 71 C7 1C 38 3C E3 80 25 23 30 78 E1 9C 1C"
X+ 	$"0E 38 E7 0C EE 01 C3 80 E7 00 71 C3 9C 00 70 E3"
X+ 	$"9C 30 0C 71 C7 1C E1 9C 71 C7 1C 3B 0C E3 80 25"
X+ 	$"23 30 38 73 9D 9C 0E 39 E3 9C E7 01 C7 1C E7 00"
X+ 	$"70 E7 1C 00 76 E3 8E 70 0C 71 C7 3C 73 9C 71 C7"
X+ 	$"6E 73 9C E3 80 25 23 FC 18 3F 0F 7F 3F 9F F1 F9"
X+ 	$"FF C0 FE 1C 3C 00 F8 7E 3E 00 3D F7 C7 E0 3F 77"
X+ 	$"F3 FE 3F 3E FB E3 C7 E3 F9 F7 C0 A0 00 8F A0 00"
X+ 	$"83 FF"
X+ };
X
END_OF_FILE
if test 55526 -ne `wc -c <'patches05b'`; then
    echo shar: \"'patches05b'\" unpacked with wrong size!
fi
# end of 'patches05b'
fi
echo shar: End of archive 2 \(of 6\).
cp /dev/null ark2isdone
MISSING=""
for I in 1 2 3 4 5 6 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 6 archives.
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0