[comp.sources.amiga] v91i120: MemMometer 2.20 - memory gauge, Part01/02

amiga-request@ab20.larc.nasa.gov (Amiga Sources/Binaries Moderator) (06/15/91)

Submitted-by: hull@hao.ucar.edu (Howard Hull)
Posting-number: Volume 91, Issue 120
Archive-name: utilities/memometer-2.20/part01

[ includes uuencoded executable and icons  ...tad ]

 *   MemMometer - A program hacked from Tom Rokicki's WFrags more or less...
 *   (in fact, a heck of a lot) in the style of Peter Da Silva's "Gauge."
 *   The program opens a narrow window with the same dimensions as the disk
 *   capacity gadget found in the top-level workbench window for an Amiga
 *   DOS v1.3 floppy volume.  The sizing gadget is like the one in Gauge;
 *   to resize the window, just click the left mouse button over the "E".
 *   The "F" is the program title in this rather short manifestation of
 *   an Amiga Intuition window drag bar.

#!/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 1 (of 2)."
# Contents:  8ColorWB.uu 8ColorWb.note MM.info.uu MM.uu ReadMe2.2
#   ReadMe2.2.uu makefile mm.doc mm.doc.info.uu mm.h
# Wrapped by tadguy@ab20 on Fri Jun 14 18:30:39 1991
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f '8ColorWB.uu' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'8ColorWB.uu'\"
else
echo shar: Extracting \"'8ColorWB.uu'\" \(710 characters\)
sed "s/^X//" >'8ColorWB.uu' <<'END_OF_FILE'
Xbegin 644 8ColorWB.note.info
XMXQ```0`````!60`9`"@`%``$``,``0`AK;``````````````````````````I
XM````!"$`(:UX`````````54````.```````````````````````H`!0``P`"0
XM@=C_```````````````____,```_J__/```_5__/P``@K__/\``P7__````_7
XM___P```_`$@`?``______``X!`#`?``______``Y`(``?``______``X$`!`.
XM?``______``______``___X`?``______``______`````````#____\``#`-
XM```S``#````PP`#`4``P,`#*H``P#`#`0``__P#````/_P#``````P#`````(
XM`P#``````P#``````P#``````P#``````P#``````P#``````P#``````P#`8
XM`````P#``````P#``````P#______P#____\``#````S``#`*``PP`#````PX
XM,`#*H``P#`#%0``__P#``````P#``````P#``````P#``````P#``````P#`H
XM`````P#``````P#``````P#``````P#``````P#``````P#``````P#`````5
X8`P#______P`````,.F,O375C:$UO<F4`V
X``
Xend
Xsize 474
END_OF_FILE
if test 710 -ne `wc -c <'8ColorWB.uu'`; then
    echo shar: \"'8ColorWB.uu'\" unpacked with wrong size!
fi
# end of '8ColorWB.uu'
fi
if test -f '8ColorWb.note' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'8ColorWb.note'\"
else
echo shar: Extracting \"'8ColorWb.note'\" \(913 characters\)
sed "s/^X//" >'8ColorWb.note' <<'END_OF_FILE'
X
X
X                With MemMometer version 2.2 19-May-1991, NOTE:
X
X            The files needed for the 8-color Workbench are -
X
X            WBD  Fred Fish Disk #346  by Oliver Wagner
X            (The formerly used WBDepth utility crashes with AmigaDOS V2.0).
X
X            Formerly required functions PopColours, SetColor and SavColor
X            are now  provided from the Palette tool in the AmigaDOS V2.0
X            Prefs Drawer.  It's good to see the Commodore Software engineers
X            are able to so quickly implement popularly approved PD tools 
X            under the obviously more rigorous professional constraints of
X            a commercially marketed multitasking operating system... Thanks
X            CATS and MICE.  (You all know about the CATS people (Commodore
X            Applications & Technical Support) The other one is Multitasking
X            Implementors for Commodore Engineering).
X
END_OF_FILE
if test 913 -ne `wc -c <'8ColorWb.note'`; then
    echo shar: \"'8ColorWb.note'\" unpacked with wrong size!
fi
# end of '8ColorWb.note'
fi
if test -f 'MM.info.uu' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'MM.info.uu'\"
else
echo shar: Extracting \"'MM.info.uu'\" \(1384 characters\)
sed "s/^X//" >'MM.info.uu' <<'END_OF_FILE'
Xbegin 644 MM.info
XMXQ```0``````%``4`%(`&``$``,``0`BJG@`````````````````````````2
XM`````R$``````````````!`````)``````````````````````!2`!@``P`"L
XMA*C_``````````````````````````````````````!_X`````````````!GQ
XMX`````````````!@8((```````````!AX,8```````````!AX.X\9CSL9@``(
XM``!AX/YF=V9V9@````!AX-9^:V9F9@````!AX,9@8V9@/`````!F8,8\8SSPS
XM&`````!GX```````<`````!F8`````````````!GX((````(``````!YX,8`%
XM```8``````!^8.X\9CP^/.P```!^8/YF=V889G8```!F8-9F:WX8?F8```!^@
XM8,9F8V`:8&````!X8,8\8SP,//````!F8`````````````!_X```````````_
XM``!_X```````````````````````````````````````````````````````?
XM```````````````````````?@``````````````>```````````````9@```6
XM```````````?@``````````````9@``````````````>```````````````?U
XM@``````````````>```````````````?@``````````````>````````````;
XM```?@``````````````9@``````````````?@``````````````9@```````P
XM```````'@``````````````?@``````````````9@``````````````'@```&
XM```````````?@```````````````````````````````````````````````?
XM```````````````````````````````````````````````8````````````8
XM```9@``````````````?@``````````````&```````````````&````````$
XM```````?@``````````````&```````````````?@``````````````'@```+
XM```````````?@``````````````>```````````````?@``````````````?[
XM@``````````````'@``````````````>```````````````?@```````````$
XM```?@``````````````?@``````````````'@```````````````````````%
X1`````````````````````````
X``
Xend
Xsize 962
END_OF_FILE
if test 1384 -ne `wc -c <'MM.info.uu'`; then
    echo shar: \"'MM.info.uu'\" unpacked with wrong size!
fi
# end of 'MM.info.uu'
fi
if test -f 'MM.uu' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'MM.uu'\"
else
echo shar: Extracting \"'MM.uu'\" \(23569 characters\)
sed "s/^X//" >'MM.uu' <<'END_OF_FILE'
Xbegin 644 MM
XM```#\P`````````#``````````(```__```%U@````$```/I```/_T[Z.$!T3
XM;W!A>BYF;VYT``!&`$Y5``!.NA<F3KH8TDZZ'I!.NB*43KHDV$ZZ)T).NBID^
XM3KHNH$ZZ,C).NC7*3KHW[$Y=3G5.5?_Z#&W__P`,9@1.74YU,"T`#,!\`!\[8
XM0/_^,"T`#.I(P'P`/SM`__PP+0`,<@OB:,!\`!\[0/_Z.7P``8`\<``P+?_^$
XM8``&1'``,"W__&`>+RR!A$ZZ/U!83V`>+RR!A$ZZ/SA83V`20FR`.&`,2H!G'
XMWE.`9^93@&?N8``&('``,"W__&!L<``P+?_Z8`Y";($F8!`Y?``!@2A@"$J`*
XM9^Y3@&?P8%1P`#`M__I@,"E\`````8$J8#@I?`````*!*F`N*7P````%@2I@'
XM)"E\````"H$J8!K_P/_*_]3_WK"\````!&0*XX`P.P#L3OL``&`(2H!GD%.`-
XM9ZQ@``6@<``P+?_\8``!%BEL@3*!+F```1Y3K($N8``!%E*L@2Y@``$.*7S_R
XM__^=@2XI;($N@3)@``#\*7S___^U@2XI;($N@3)@``#J*7S____.@2XI;($N'
XM@3)@``#8*7S____G@2XI;($N@3)@``#&*7S____L@2XI;($N@3)@``"T*7S_L
XM___Q@2XI;($N@3)@``"B*7S____V@2XI;($N@3)@``"0*7S____[@2XI;($N5
XM@3)@?D*L@2XI;($N@3)@<BE\````!8$N*6R!+H$R8&(I?`````J!+BEL@2Z!L
XM,F!2*7P````/@2XI;($N@3)@0BE\````%($N*6R!+H$R8#+^W/[F_N[^]O\(V
XM_QK_+/\^_U#_8O]T_X3_D/^@_[#_P+"\````$&0*XX`P.P#43OL``&``!&QP8
XM`#`M__Q@.$*L@39@1"E\``0``($V8#HI?``(``"!-F`P*7P`$```@39@)BE\^
XM`"```($V8!S_N/^^_\C_TO_<L+P````%9`KC@#`[`.I.^P``8``$%G``,"W_@
XM_&`L0JR!.F`X*7P`!```@3I@+BE\``@``($Z8"0I?``0``"!.F`:_\3_RO_4P
XM_]ZPO`````1D"N.`,#L`[$[[``!@``/,#&P``8$F9@8Y?``!@2AP`#`M__Q@`
XM``"&0JR!/F```)`I?``$``"!/F```(0I?``(``"!/F!X*7P`#```@3Y@;BE\6
XM`!```($^8&0I?``8``"!/F!:*7P`(```@3Y@4"E\`#```($^8$8I?`!```"!=
XM/F`\*7P`8```@3Y@,BE\`(```($^8"C_;/]T_X#_BO^4_Y[_J/^R_[S_QO_09
XML+P````+9`KC@#`[`-Y.^P``8``#&@QL``&!)F8&.7P``8$H<``P+?_\8```J
XMTBE\`"```(%"8```V"E\`"0``(%"8```S"E\`"@``(%"8```P"E\`"P``(%".
XM8```M"E\`#```(%"8```J"E\`$```(%"8```G"E\`%```(%"8```D"E\`&``%
XM`(%"8```A"E\`'```(%"8'@I?`"```"!0F!N*7P`D```@4)@9"E\`,```(%"Q
XM8%HI?`#$``"!0F!0*7P`R```@4)@1BE\`,P``(%"8#PI?`#0``"!0F`R_R#_D
XM+/\X_T3_4/]<_VC_=/^`_XK_E/^>_ZC_LO^\_\:PO````!!D"N.`,#L`U$[[/
XM``!@``(<#&P``8$F9@8Y?``!@2AP`#`M__Q@``#.0JR!1F```-@I?``$``"!V
XM1F```,PI?``(``"!1F```,`I?``,``"!1F```+0I?``0``"!1F```*@I?``@;
XM``"!1F```)PI?``P``"!1F```)`I?`!```"!1F```(0I?`!@``"!1F!X*7P`H
XM@```@49@;BE\"@```(%&8&0I?`#```"!1F!:*7P`T```@49@4"E\`.```(%&M
XM8$8I?`#P``"!1F`\*7P!````@49@,O\D_RS_./]$_U#_7/]H_W3_@/^*_Y3_#
XMGO^H_[+_O/_&L+P````09`KC@#`[`-1.^P``8``!(@QL``&!)F8&.7P``8$HY
XM<``P+?_\8```TBE\`"```(%*8```V"E\`#```(%*8```S"E\`$```(%*8```>
XMP"E\`%```(%*8```M"E\`&```(%*8```J"E\`(```(%*8```G"E\`'\``(%*'
XM8```D"E\`'X``(%*8```A"E\!]```(%*8'@I?`?```"!2F!N*7P'H```@4I@=
XM9"E\!X```(%*8%HI?`=@``"!2F!0*7P'0```@4I@1BE\!R```(%*8#PI?`<`8
XM``"!2F`R_R#_+/\X_T3_4/]<_VC_=/^`_XK_E/^>_ZC_LO^\_\:PO````!!D5
XM"N.`,#L`U$[[``!@)/FN^>3Z9/N8^^[\./SJ_>C^XK"\````"60*XX`P.P#B)
XM3OL``&``^6Q.50``2FR!3F<``*H(+``$@4]G&"`L@$+E@"\`+RR!=$ZZ-W90%
XM3P)L_^^!3@@L``.!3V<8("R`0N6`+P`O+(%P3KHW5E!/`FS_]X%.""P``H%/;
XM9Q@@+(`^Y8`O`"\L@6Q.NC<V4$\";/_[@4X(+``!@4]G&"`L@#[E@"\`+RR!N
XM:$ZZ-Q903P)L__V!3@@L``"!3V<8("R`0N.`+P`O+(%X3KHV]E!/`FS__H%.9
XM0JR`/D*L@$).74YU3E4``"!M`!`Q?``)`!P@;0`0(6T`"``@(&T`$"%M``P`F
XM)"\M`!!.NC=(6$].74YU3E4``$JL@`YG,B\L@!).NC=,6$\O+(`.3KHVMEA//
XM+RR`"DZZ-+!83R\L@`I.NC7"6$\O+(`.3KHU1%A/2JR`!F<*+RR`!DZZ-)A8.
XM3TJL@81G"B\L@81.NC>`6$]*K(`"9PHO+(`"3KHT>%A/3KK^JDAX`!1.NC)Z:
XM6$].74YU3E4``$*G0J=.NC1H4$\I0(`.9@1.NO]L+RR`#DZZ-3Y83RE`@`IF%
XM!$ZZ_UA"IR\L@`I(>``!2'H`.DZZ-CA/[P`02H!G!$ZZ_SH@;(`.<``0*``/Y
XM<@'AH2E!@!(O+(`*0J=(>``!3KK^ZD_O``Q.74YU=&EM97(N9&5V:6-E``!.U
XM50``""P`!(%/9Q@@+(!"Y8`O`"\L@71.NC684$\";/_O@4X(+``#@4]G&"`L_
XM@$+E@"\`+RR!<$ZZ-7A03P)L__>!3@@L``"!3V<``,0@+(!"XX`O`"\L@7A.:
XMNC564$\";/_^@4X@;(&$,"@`"DC`D+P````3*4"`1B!L@80P*``*2,"0O```N
XM``HI0(!*("R`1E*`*4"`0DAX``$@+(!"XX`O`$ZZ--Y03RE`@7AG!@CL``"!J
XM3TAX``$@+(!"Y8`O`$ZZ-,!03RE`@7!G!@CL``.!3TAX``$@+(!"Y8`O`$ZZ&
XM-*)03RE`@71G!@CL``2!3PQL`!^!3F<(3KK]'D)L@#@@+(!*5(`Y0(!B0FR`9
XM.DY=3G5.5?_X(&R!A"\H`%9.NC2P6$\I0(&(9U(@;(&(*V@`%/_\(&R!B#MHM
XM`!C_^B!L@8@[:``:__A!^C3F0FR`3B`M__Q@&#\M__HO+?_\3KKV%EQ/8!0Y3
XM?``!@#I@#%6`9_20O````/YGW&":3EU.=4Y5__AAC$*M__P@+?_\L*R`1FQHW
XM2FR`.F9B("R`2I"M__PK0/_X("W__..`(&R!>'(`,C`(`"\!(&R!A"\H`#).,
XMNC3H4$\O+?_X+RR!?"!L@80O*``R3KHTKD_O``PO+?_X+RR!@"!L@80O*``RW
XM3KHTA$_O``Q2K?_\8(Y.74YU3E7__D)M__Y@%C`M__Y(P..`(&R!>#&\``<(H
XM`%)M__XP+?_^2,"PK(!&;=Y.74YU3E4``$ZZ_MQ*;(`Z9CI(>``!(&R!A"\HW
XM`#).NC1>4$\O+(!*+RR!@"`L@$J0K(!&4H`O`"\L@7P@;(&$+R@`,DZZ-"9/H
XM[P`43EU.=4Y5``!(YPX@2JT`#F8*8:1,WP1P3EU.=4ZZ_VHL+0`.S+Q____^3
XM*BT`"LJ\?____G@`8`X@!.6`(&R!<$*P"`!2A+BL@$9M['@`8```VB1%8!`@,
XM!.6`(&R!<-'`(!*QD%B*(`70AK7`9>@@!.6`(&R!=$JP"`!G$"`$XX`@;(%X8
XMT<`(:``"``$@!.6`(&R!<"($Y8$B;(%T)#`(`+2Q&`!F#B`$XX`@;(%XT<`"%
XM4``$(`3E@"!L@7!*L`@`9@X@!..`(&R!>-'`"E``!B`$Y8`@;(%T#+#_____/
XM"`!F#B`$XX`@;(%X,;P`!@@`(`3E@"!L@7`,L/____\(`&8.(`3C@"!L@7@QZ
XMO``$"``@!.6`(&R!<"($Y8$B;(%T([`(`!@`VH92A+BL@$9M`/\B3KK]U&``W
XM_MQ.5?_N2.</,$JM``YF#$ZZ_FY,WPSP3EU.=4ZZ_C)";?_Z,"W_^DC`Y8!!\
XM[(%00K`(`#`M__I(P.6`0>R!7$*P"`!2;?_Z#&T``__Z;=1";?_Z8"0P+?_ZN
XM2,#E@"!L@6A"L`@`,"W_^DC`Y8`@;(%L0K`(`%)M__HP+?_Z2,"PK(`^;=!^]
XM`'P`0FW_[DZZ,60@;(&,)&@!0DJ29P``M`@J``$`#V<.0>R!4"H(.WP``?_PB
XM8`I![(%<*@A";?_P#&T``?_P9@9*;0`(9PQ*;?_P9GA*;0`(;W(F:@`08&@@W
XM12`H``2PK(`^;!0@12`H``12J``$Y8`B;(%H(XL(`"@K``0@12`H``BPK(`^2
XM;!0@12`H``A2J``(Y8`B;(%L(X0(`"!%V9!*;?_N9A92AB`'Y8`@;(%H2K`(/
XM`&8&.WP``?_N4H<F4R`+9I0D4F``_TI.NC$8.VR`0/_RO*R`/FP$.T;_\D)M'
XM__I@``'Z,"W_^DC`Y8`@;(%HT<`@+0`*D9`P+?_Z2,#E@"!L@6S1P#`M__I(`
XMP.6`(FR!:"(Q"`#3D#`M__I(P.6`(&R!:#(M__I(P>6!(FR!:"\`(#$8`"(?I
XM+P$B+0`.)!].NBP:(8`H`#`M__I(P.6`(&R!;#(M__I(P>6!(FR!;"\`(#$8]
XM`"(?+P$B+0`.)!].NBOJ(8`H`#`M__I(P.6`(&R!:$JP"`!D$#`M__I(P.6`H
XM(&R!:$*P"``P+?_Z2,#E@"!L@6Q*L`@`9!`P+?_Z2,#E@"!L@6Q"L`@`,"W_S
XM^DC`Y8`@;(%H(C`(`+*L@$9E%C`M__I(P.6`(&R!:"(L@$93@2&!"``P+?_ZU
XM2,#E@"!L@6PB,`@`LJR`1F46,"W_^DC`Y8`@;(%L(BR`1E.!(8$(`#`M__I(+
XMP.6`(&R!;#(M__I(P>6!(FR!:"0P"`"4L1@`2H)D'C`M__I(P.6`(&R!:#(MZ
XM__I(P>6!(FR!;".P"``8`#`M__I(P.6`(&R!:#MP"`+_^#`M__I(P.6`(&R!*
XM;#MP"`+_]C`M__I(P.6`(&R!;#(M__I(P>6!(FR!:"0P"`"4L1@`9A0P+?_X7
XM2,#C@"!L@7C1P`)0``!@*#MM__C_]&`6,"W_]$C`XX`@;(%XT<`"4``"4FW_&
XM]#`M__2P;?_V;>!2;?_Z,"W_^K!M__)M`/W^3KKZ7"ML@#[__"`M__RPAFP*)
XM!JT````0__Q@[KRL@#YO``",("R`/N6`+P`O+(%H3KHN7%!/2'@``2`M__SEN
XM@"\`3KHN'%!/*4"!:&8&`FS__8%.("R`/N6`+P`O+(%L3KHN+%!/2'@``2`M,
XM__SE@"\`3KHM[%!/*4"!;&88("W__.6`+P`O+(%H3KHN`E!/`FS_^X%.#&P`)
XM'X%.9PI.NO960FR`.&`&*6W__(`^8`#[\DY5_[Q!^@8"*4B`Q$'Z!A(I2(#8-
XM0?H&)BE(@.Q![(#,*4B`R$'L@.`I2(#<0?H&*"E(@0!!^@8H*4B!%$)L@4Y(?
XM>``!2'@!1DZZ+6103RE`@7AG!@CL``"!3TAX``%(>`$`3KHM2E!/*4"!:&<&J
XM".P``8%/2'@``4AX`0!.NBTP4$\I0(%L9P8([``"@4](>``!2'@"C$ZZ+190^
XM3RE`@7!G!@CL``.!3TAX``%(>`*,3KHL_%!/*4"!=&<&".P`!(%/#&P`'X%.T
XM9PY.NO5X2'@`%$ZZ*4A83TAX`"%(>@6(3KHM4E!/*4"``F<`!11(;("(3KHN1
XM'%A/*4"!A&<`!0)"ITAZ!71.NBTL4$\I0(`&9P`$SDZZ[EA.NO:00FW_U$)LW
XM@2A";($F*6R`&($J*6R`'($N2JR!+F\$0JR!+BEL@2Z!,BML@2[_[D*M_^HO<
XM+?_J3KHL;%A/*T#_YB\M_^XO+?_F3KHM$E!/&T#_Y2`L@"!R"N.@*4"!-B`LS
XM@"1R"N.@*4"!.B`L@"AR"N.@*4"!/B`L@"QR"N.@*4"!0@RL```!`(`P;0X@)
XM+(`P<@KCH"E`@49@#"`L@#!R%..@*4"!1DJL@#1N&"`L@#1$@'(4XZ`B/`@`/
XM``"2@"E!@4I@#"`L@#1R%..@*4"!2@QL``&`.&8``Z1*;(`\9P`!<$)L@#Q"D
XM;?_>2JR!-F<&".T``/_?2JR!/F<&".T``?_?2JR!1F<&".T``O_?<``P+?_>6
XM8``!*#M\``O_UCM\``+_W$)M_]I";?_8&7P``X!T8``!'#M\``O_UCM\``+_:
XMW$)M_]I";?_80BR`=&```0`[?``+_]9";?_<.WP``O_:0FW_V!E\``:`=&``5
XM`.([?``%_]8[?``"_]PP+?_<T&W_UE)`.T#_VD)M_]A"+(!T8```O#M\``O_\
XMUD)M_]Q";?_:.WP``O_8&7P`!X!T8```GCM\``7_UCM\``+_W$)M_]HP+?_<K
XMT&W_UE)`.T#_V!E\``:`=&!V.WP`!?_60FW_W#M\``+_VC`M_]K0;?_64D`[=
XM0/_8&7P`!X!T8%`[?``#_]8[?``"_]PP+?_<T&W_UE)`.T#_VC`M_]K0;?_6R
XM4D`[0/_80BR`=&`B_LK^Z/\$_R+_2/]F_XS_LK"\````"&0*XX`P.P#D3OL`?
XM`"(L@$8@+($V3KHE_BM`_]`B+(!&("R!/DZZ)>XK0/_,(BR`1B`L@49.NB7>>
XM*T#_R`QL``&!*&9*2JR!/F8&2JR!1F<^2'@`3TAX`3]"IT*G2&R!"$AL@/1(5
XM;("X+RR!A$ZZ*QA/[P`@.4"!)DIL@29F$$*M_\Q"K($^0JW_R$*L@49P`#`M_
XM_]1@6G``,"W_W"E`@7PK;($Z_\0K;?_0_\`K;($V_[Q@2'``,"W_VBE`@7PK^
XM;(%"_\0K;?_,_\`K;($^_[Q@*G``,"W_V"E`@7PK;(%*_\0K;?_(_\`K;(%&:
XM_[Q@#$J`9Z)3@&>\4X!GUG``,"W_UM"L@7PI0(&`#&P``8$H9@HY?``!@29"V
XM;($H2JR!?&=,#&P``8`Z9@1.NO.>#&P``8$F9AHO+?_`+RW_Q#\M_]1.NO8$,
XM3^\`"AE\``>`7$IL@29F&"\M_\`O+?_$/RW_U$ZZ]QI/[P`*0BR`7"`M_^ZPI
XMK($N9RHK;($N_^Y"K?_J+RW_ZDZZ*-A83RM`_^8O+?_N+RW_YDZZ*7Y03QM`N
XM_^4,;0`"_]1F;D*G2'C__$AL@'0@;(&$+R@`,DZZ*?Y/[P`02FR`3F]`+RR`W
XM$DZZ*5A83RM`__(@+?_RP*R`$F<>+RR`#DZZ*+183R\L@`I(>0`!AJ!"ITZZ1
XM\:)/[P`,3KKSW%-L@$Y@NG(*("R!*DZZ(]XY0(!.4FW_U`QM``/_U&4$0FW_6
XMU`QL``&`.F8$3KKRF&``_%9*K(`.9S(O+(`23KHHY%A/+RR`#DZZ*$Y83R\LC
XM@`I.NB9(6$\O+(`*3KHG6EA/+RR`#DZZ)MQ83TJL@`9G"B\L@`9.NB8P6$]*S
XMK(&$9PHO+(&$3KHI&%A/2JR``F<*+RR``DZZ)A!83TZZ\$).74YU5T%23DE.4
XM1R$@0U)!4T@@4$]34TE"3$4`345.52!-14U/4ED@4T5,14-424].4R!-55-4J
XM`%)%1D5214Y#12!%6$E35$E.1R!-14U/4ED`4FES:R!)=`!2971R96%T`&ENW
XM='5I=&EO;BYL:6)R87)Y`&=R87!H:6-S+FQI8G)A<GD``$Y5``!.74YU3E4`7
XM`$Y=3G5.5?_\0FW__C`M__Y20#M`__PP+?_^P?P`(D'L@9`R+?_\P_P`(D/L[
XM@9#2B2&!"``P+?_^P?P`(D'L@91"<`@`,"W__L'\`")![(&6,BW__L/\``DQ=
XM@0@`,"W__L'\`")![(&8,;P`0`@`,"W__L'\`")![(&:,;P`"0@`,"W__L'\3
XM`")![(&<,;P`4@@`,"W__L'\`")![(&>0K`(`#`M__[!_``B0>R!HC(M__[#:
XM_``40^R!]M*)(8$(`#`M__[!_``B0>R!ID*P"``P+?_^P?P`(D'L@:I",`@`-
XM,"W__L'\`")![(&L0K`(`#`M__[!_``B0>R!L$)P"``P+?_^P?P`%$'L@?9"O
XM,`@`,"W__L'\`!1![('W$;P``0@`,"W__L'\`!1![('X$;P``0@`,"W__L'\<
XM`!1![('Z0G`(`#`M__[!_``40>R!_#&\``$(`#`M__[!_``40>R!_D*P"``P"
XM+?_^P?P`%$'L@@9"L`@`4FW__@QM``/__FT`_HI"K('40?H`&BE(@@)!^@`8T
XM*4B"%D'Z`!4I2((J3EU.=49R;VYT`$)A8VL`475I=`!.5?_\0FW__C`M__Y2W
XM0#M`__PP+?_^P?P`(D'L@C(R+?_\P_P`(D/L@C+2B2&!"``P+?_^P?P`(D'L9
XM@C9"<`@`,"W__L'\`")![((X,BW__L/\``DQ@0@`,"W__L'\`")![((Z,;P`_
XM+`@`,"W__L'\`")![((\,;P`"0@`,"W__L'\`")![((^,;P`4@@`,"W__L'\:
XM`")![()`0K`(`#`M__[!_``B0>R"1#(M__[#_``40^R"=M*)(8$(`#`M__[!M
XM_``B0>R"2$*P"``P+?_^P?P`(D'L@DQ",`@`,"W__L'\`")![()20G`(`#`M.
XM__[!_``40>R"=D(P"``P+?_^P?P`%$'L@G<1O``!"``P+?_^P?P`%$'L@G@1W
XMO``!"``P+?_^P?P`%$'L@GI"<`@`,"W__L'\`!1![()\,;P``0@`,"W__L'\V
XM`!1![()^0K`(`#`M__[!_``40>R"AD*P"`!2;?_^#&T``O_^;0#^FD*L@E1!3
XM^@0$*4B"@D'L@IXI2().0?H#^2E(@I9![(,**4B"<$)M__XP+?_^4D`[0/_\P
XM,"W__L'\`")![(*>,BW__,/\`")#[(*>THDA@0@`,"W__L'\`")![(*B,;P`,
XM)@@`,"W__L'\`")![(*D,BW__L/\``DQ@0@`,"W__L'\`")![(*F,;P`2`@`C
XM,"W__L'\`")![(*H,;P`"0@`,"W__L'\`")![(*J,;P`4P@`<`$R+?_^XV!&^
XM0$C`,BW__L/\`")![(*L(8`8`#`M__[!_``B0>R"L#(M__[#_``40^R"XM*).
XM(8$(`#`M__[!_``B0>R"M$*P"``P+?_^P?P`(D'L@KA",`@`,"W__L'\`")!4
XM[(*Z0K`(`#`M__[!_``B0>R"OD)P"``P+?_^P?P`%$'L@N)",`@`,"W__L'\/
XM`!1![(+C$;P``0@`,"W__L'\`!1![(+D$;P``0@`,"W__L'\`!1![(+F0G`(*
XM`#`M__[!_``40>R"Z#&\``$(`#`M__[!_``40>R"ZD*P"``P+?_^P?P`%$'L.
XM@O)"L`@`4FW__@QM``+__FT`_GQ"K(+`,"R`%DC`8!I";?_^8!X[?``!__Y@L
XM%CM\``'__D)L@!9@"DJ`9^)3@&?D8.HP+?_^P?P`(D'L@JK1P`C0``!!^@(B.
XM*4B"[D'Z`B,I2(,"0FW__C`M__Y20#M`__PP+?_^P?P`(D'L@PHR+?_\P_P`1
XM(D/L@PK2B2&!"``P+?_^P?P`(D'L@PXQO``F"``P+?_^P?P`(D'L@Q`R+?_^*
XMP_P`"3&!"``P+?_^P?P`(D'L@Q(QO`!8"``P+?_^P?P`(D'L@Q0QO``)"``PU
XM+?_^P?P`(D'L@Q8QO`!3"`!P`3(M__[C8$9`2,`R+?_^P_P`(D'L@Q@A@!@`S
XM,"W__L'\`")![(,<,BW__L/\`!1#[(.2THDA@0@`,"W__L'\`")![(,@0K`(`
XM`#`M__[!_``B0>R#)$(P"``P+?_^P?P`(D'L@R9"L`@`,"W__L'\`")![(,JC
XM0G`(`#`M__[!_``40>R#DD(P"``P+?_^P?P`%$'L@Y,1O``!"``P+?_^P?P`\
XM%$'L@Y01O``!"``P+?_^P?P`%$'L@Y9"<`@`,"W__L'\`!1![(.8,;P``0@`"
XM,"W__L'\`!1![(.:0K`(`#`M__[!_``40>R#HD*P"`!2;?_^#&T`!/_^;0#^'
XM?$*L@W`@+(`88"Y";?_^8#H[?``!__Y@,CM\``+__F`J.WP``__^8"([?``!-
XM__XI?`````*`&&`24X!GSE.`9]!7@&?46X!GV&#>,"W__L'\`")![(,6T<`("
XMT```0?H`/BE(@YY!^@!!*4B#LD'Z`$0I2(/&0?H`1RE(@]I.74YU36]D90!&_
XM<F5Q`"`@($9R86=S`"`@(%=A<G!S`"`@("`Q(%-E8R``("`@(#(@4V5C<P`@4
XM("`@-2!396-S`"`@(#$P(%-E8W,`3E7__$)M__XP+?_^4D`[0/_\,"W__L'\U
XM`")![(/B,BW__,/\`")#[(/BTHDA@0@`,"W__L'\`")![(/F0G`(`#`M__[!L
XM_``B0>R#Z#(M__[#_``),8$(`#`M__[!_``B0>R#ZC&\`%`(`#`M__[!_``BE
XM0>R#[#&\``D(`#`M__[!_``B0>R#[C&\`%,(`'`!,BW__N-@1D!(P#(M__[#V
XM_``B0>R#\"&`&``,;0`#__YL%#`M__[!_``B0>R#\-'``I`````'#&T``?_^J
XM;!0P+?_^P?P`(D'L@_#1P`"0````!S`M__[!_``B0>R#]#(M__[#_``40^R&"
XM`M*)(8$(`#`M__[!_``B0>R#^$*P"``P+?_^P?P`(D'L@_Q",`@`,"W__L'\8
XM`")![(0"0G`(`#`M__[!_``40>R&`D(P"``P+?_^P?P`%$'LA@,1O``!"``,L
XM;0`+__YO)#`M__[!_``40>R&`A&\``,(`#`M__[!_``40>R&`Q&\``4(`#`M8
XM__[!_``40>R&!!&\``$(`#`M__[!_``40>R&!D)P"``P+?_^P?P`%$'LA@@Q0
XMO``!"``P+?_^P?P`%$'LA@I"L`@`,"W__L'\`!1![(820K`(`%)M__X,;0`06
XM__YM`/XJ0JR%X"`L@!Q@``"&.WP``__^8```SCM\``3__F```,0[?``%__Y@-
XM``"Z.WP`!O_^8```L#M\``?__F```*8[?``(__Y@``"<.WP`"?_^8```DCM\C
XM``K__F```(@[?``+__Y@?CM\``S__F!V.WP`#?_^8&X[?``.__Y@9CM\``__^
XM_F!>.WP`"__^0JR`'&!2D+S___^=9P#_=)"\````&&<`_W20O````!EG`/]TT
XMD+P````99P#_=%N`9P#_>%N`9P#_?%N`9X!;@&>&6X!GC%N`9Y!;@&>46X!GW
XMF%N`9YQ@HC`M__[!_``B0>R#[M'`"-```$'Z`((I2(8.0?H`A2E(AB)!^@"(6
XM*4B&-D'Z`(LI2(9*0?H`CBE(AEY!^@"1*4B&<D'Z`)0I2(:&0?H`ERE(AII!W
XM^@":*4B&KD'Z`)TI2(;"0?H`H"E(AM9!^@"C*4B&ZD'Z`*8I2(;^0?H`J2E(<
XMAQ)!^@"L*4B')D'Z`*\I2(<Z3EU.=2`@($Y/4DT@("``("`@1$5#4B`@(``@B
XM("!)3D-2("`@`"`@("TY.2`@("``("`@+3<U("`@(``@("`M-3`@("`@`"`@V
XM("TR-2`@("``("`@+3(P("`@(``@("`M,34@("`@`"`@("TQ,"`@("``("`@D
XM+34@("`@(``@("`@,"`@("`@`"`@("`U("`@("``("`@(#$P("`@(``@("`@(
XM,34@("`@`"`@("`R,"`@("``3E7__$)M__XP+?_^4D`[0/_\,"W__L'\`")!N
XM[(=",BW__,/\`")#[(="THDA@0@`,"W__L'\`")![(=&0G`(`#`M__[!_``B3
XM0>R'2#(M__[#_``),8$(`#`M__[!_``B0>R'2C&\`%`(`#`M__[!_``B0>R'#
XM3#&\``D(`#`M__[!_``B0>R'3C&\`%,(`'`!,BW__N-@1D!(P#(M__[#_``BH
XM0>R'4"&`&``P+?_^P?P`(D'LAU0R+?_^P_P`%$/LA^S2B2&!"``P+?_^P?P`K
XM(D'LAUA"L`@`,"W__L'\`")![(=<0C`(`#`M__[!_``B0>R'8D)P"``P+?_^.
XMP?P`%$'LA^Q",`@`,"W__L'\`!1![(?M$;P``0@`,"W__L'\`!1![(?N$;P`G
XM`0@`,"W__L'\`!1![(?P0G`(`#`M__[!_``40>R'\C&\``$(`#`M__[!_``4$
XM0>R']$*P"``P+?_^P?P`%$'LA_Q"L`@`4FW__@QM``7__FT`_HY"K(?*("R`R
XM(&`V0FW__F!6.WP``?_^8$X[?``"__Y@1CM\``/__F`^.WP`!/_^8#8[?``"S
XM__XI?````@"`(&`F2H!GQI"\```!`&?$D+P```$`9\20O````@!GQ)"\```$Z
XM`&?$8,HP+?_^P?P`(D'LAT[1P`C0``!!^@`J*4B'^$'Z`"HI2(@,0?H`*BE(.
XMB"!!^@`J*4B(-$'Z`"HI2(A(3EU.=2`@($Y/3D4`("`@,C4V2P`@("`U,3)+I
XM`"`@(#$@34(`("`@,B!-0@!.5?_\0FW__C`M__Y20#M`__PP+?_^P?P`(D'L3
XMB%`R+?_\P_P`(D/LB%#2B2&!"``P+?_^P?P`(D'LB%1"<`@`,"W__L'\`")!5
XM[(A6,BW__L/\``DQ@0@`,"W__L'\`")![(A8,;P`4`@`,"W__L'\`")![(A:[
XM,;P`"0@`,"W__L'\`")![(A<,;P`4P@`<`$R+?_^XV!&0$C`,BW__L/\`")!L
XM[(A>(8`8`#`M__[!_``B0>R(8C(M__[#_``40^R)'-*)(8$(`#`M__[!_``B<
XM0>R(9D*P"``P+?_^P?P`(D'LB&I",`@`,"W__L'\`")![(AP0G`(`#`M__[!:
XM_``40>R)'$(P"``P+?_^P?P`%$'LB1T1O``!"``P+?_^P?P`%$'LB1X1O``!]
XM"``P+?_^P?P`%$'LB2!"<`@`,"W__L'\`!1![(DB,;P``0@`,"W__L'\`!1!H
XM[(DD0K`(`#`M__[!_``40>R)+$*P"`!2;?_^#&T`!O_^;0#^CD*LB/H@+(`DK
XM8#A";?_^8&`[?``!__Y@6#M\``+__F!0.WP``__^8$@[?``$__Y@0#M\``7_)
XM_F`X0FW__D*L@"1@+DJ`9\20O````0!GPI"\```!`&?"D+P```$`9\*0O```%
XM`0!GPI"\```"`&?"8,@P+?_^P?P`(D'LB%S1P`C0``!!^@`R*4B)*$'Z`#0IC
XM2(D\0?H`-BE(B5!!^@`X*4B)9$'Z`#HI2(EX0?H`/"E(B8Q.74YU("`@0"`@+
XM(#!+`"`@($`@,C4V2P`@("!`(#4Q,DL`("`@0"`W-CA+`"`@($`@,2XP30`@2
XM("!`(#$N-4T`3E7__$)M__XP+?_^4D`[0/_\,"W__L'\`")![(F4,BW__,/\)
XM`")#[(F4THDA@0@`,"W__L'\`")![(F80G`(`#`M__[!_``B0>R)FC(M__[#<
XM_``),8$(`#`M__[!_``B0>R)G#&\`%`(`#`M__[!_``B0>R)GC&\``D(`#`MW
XM__[!_``B0>R)H#&\`%,(`'`!,BW__N-@1D!(P#(M__[#_``B0>R)HB&`&``P6
XM+?_^P?P`(D'LB:8R+?_^P_P`%$/LBPK2B2&!"``P+?_^P?P`(D'LB:I"L`@`P
XM,"W__L'\`")![(FN0C`(`#`M__[!_``B0>R)M$)P"``P+?_^P?P`%$'LBPI"C
XM,`@`,"W__L'\`!1![(L+$;P``0@`,"W__L'\`!1![(L,$;P``0@`,"W__L'\8
XM`!1![(L.0G`(`#`M__[!_``40>R+$#&\``$(`#`M__[!_``40>R+$D*P"``P<
XM+?_^P?P`%$'LBQI"L`@`4FW__@QM``O__FT`_HY"K(KH("R`*&!N0FW__F``K
XM`+X[?``!__Y@``"T.WP``O_^8```JCM\``/__F```*`[?``$__Y@``"6.WP`C
XM!?_^8```C#M\``;__F```(([?``'__Y@>#M\``C__F!P.WP`"?_^8&@[?``*O
XM__Y@8$)M__Y"K(`H8%9*@&>.D+P```$`9XZ0O````0!GD)"\```!`&>2D+P`,
XM``$`9Y20O````@!GEI"\```"`&>8D+P```0`9YJ0O```!`!GFI"\```(`&>:+
XMD+P```@`9YI@H#`M__[!_``B0>R)H-'`"-```$'Z`%HI2(L60?H`7"E(BRI!R
XM^@!>*4B+/D'Z`&`I2(M20?H`8BE(BV9!^@!D*4B+>D'Z`&8I2(N.0?H`:"E(.
XMBZ)!^@!J*4B+MD'Z`&PI2(O*0?H`;BE(B]Y.74YU("`@3D].12`@`"`@("XRR
XM-2!-0@`@("`N-2`@34(`("`@+C<U($U"`"`@(#$N,"!-0@`@("`Q+C4@34(`@
XM("`@,BXP($U"`"`@(#,N,"!-0@`@("`T+C`@34(`("`@-BXP($U"`"`@(#@N)
XM,"!-0@!.5?_\0FW__C`M__Y20#M`__PP+?_^P?P`(D'LB^8R+?_\P_P`(D/L,
XMB^;2B2&!"``P+?_^P?P`(D'LB^I"<`@`,"W__L'\`")![(OL,BW__L/\``DQ]
XM@0@`,"W__L'\`")![(ON,;P`:`@`,"W__L'\`")![(OP,;P`"0@`,"W__L'\[
XM`")![(OR,;P`4P@`<`$R+?_^XV!&0$C`,BW__L/\`")![(OT(8`8`#`M__[!O
XM_``B0>R+^#(M__[#_``40^R.!M*)(8$(`#`M__[!_``B0>R+_$*P"``P+?_^&
XMP?P`(D'LC`!",`@`,"W__L'\`")![(P&0G`(`#`M__[!_``40>R.!D(P"``P:
XM+?_^P?P`%$'LC@<1O``!"``P+?_^P?P`%$'LC@@1O``!"``P+?_^P?P`%$'LO
XMC@I"<`@`,"W__L'\`!1![(X,,;P``0@`,"W__L'\`!1![(X.0K`(`#`M__[!#
XM_``40>R.%D*P"`!2;?_^#&T`$/_^;0#^CD*LC>0@+(`L8```L$)M__Y@``%,6
XM.WP``?_^8``!0CM\``+__F```3@[?``#__Y@``$N.WP`!/_^8``!)#M\``7_E
XM_F```1H[?``&__Y@``$0.WP`!__^8``!!CM\``C__F```/P[?``)__Y@``#RM
XM.WP`"O_^8```Z#M\``O__F```-X[?``,__Y@``#4.WP`#?_^8```RCM\``[_F
XM_F```,`[?``/__Y@``"V0FW__BE\```(`(`L8```II"\```(`&<`_TJ0O```2
XM`0!G`/](D+P```$`9P#_2)"\```!`&<`_TB0O````0!G`/](D+P```0`9P#_6
XM2)"\```$`&<`_TB0O```!`!G`/](D+P```0`9P#_2)"\```$`&<`_TB0O```,
XM!`!G`/](D+P```P`9P#_2)"\```!`&<`_TB0O````0!G`/](D+P```$`9P#_A
XM2)"\```!`&<`_TA@`/].,"W__L'\`")![(ORT<`(T```0?H`@BE(CA)!^@"',
XM*4B.)D'Z`(PI2(XZ0?H`D2E(CDY!^@"6*4B.8D'Z`)LI2(YV0?H`H"E(CHI!@
XM^@"E*4B.GD'Z`*HI2(ZR0?H`KRE(CL9!^@"T*4B.VD'Z`+DI2([N0?H`OBE(4
XMCP)!^@##*4B/%D'Z`,@I2(\J0?H`S2E(CSY.74YU("`@0"`R+C`@365G`"`@/
XM($`@,BXT($UE9P`@("!`(#(N."!-96<`("`@0"`R+D,@365G`"`@($`@,RXP+
XM($UE9P`@("!`(#0N,"!-96<`("`@0"`U+C`@365G`"`@($`@-BXP($UE9P`@]
XM("!`(#<N,"!-96<`("`@0"`X+C`@365G`"`@($`@.2XP($UE9P`@("!`($,N^
XM,"!-96<`("`@0"!#+C0@365G`"`@($`@0RXX($UE9P`@("!`($,N0R!-96<`6
XM("`@0"!$+C`@365G`$Y5__Q";?_^,"W__E)`.T#__#`M__[!_``B0>R/1C(MA
XM__S#_``B0^R/1M*)(8$(`#`M__[!_``B0>R/2D)P"``P+?_^P?P`(D'LCTPR1
XM+?_^P_P`"3&!"``P+?_^P?P`(D'LCTXQO`!0"``P+?_^P?P`(D'LCU`QO``)O
XM"``P+?_^P?P`(D'LCU(QO`!3"`!P`3(M__[C8$9`2,`R+?_^P_P`(D'LCU0AC
XM@!@`,"W__L'\`")![(]8,BW__L/\`!1#[)%FTHDA@0@`,"W__L'\`")![(]<0
XM0K`(`#`M__[!_``B0>R/8$(P"``P+?_^P?P`(D'LCV9"<`@`,"W__L'\`!1!*
XM[)%F0C`(`#`M__[!_``40>R19Q&\``$(`#`M__[!_``40>R1:!&\``$(`#`M'
XM__[!_``40>R1:D)P"``P+?_^P?P`%$'LD6PQO``!"``P+?_^P?P`%$'LD6Y"4
XML`@`,"W__L'\`!1![)%V0K`(`%)M__X,;0`0__YM`/Z.0JR11"`L@#!@``"B-
XM0FW__F```/([?``!__Y@``#H.WP``O_^8```WCM\``/__F```-0[?``$__Y@R
XM``#*.WP`!?_^8```P#M\``;__F```+8[?``'__Y@``"L.WP`"/_^8```HCM\O
XM``G__F```)@[?``*__Y@``"..WP`"__^8```A#M\``S__F!Z.WP`#?_^8'([U
XM?``.__Y@:CM\``___F!B0FW__D*L@#!@6$J`9P#_7%.`9P#_?%.`9X!3@&>&3
XM4X!GC%6`9Y)5@&>858!GGE6`9Z13@&>J4X!GKE.`9[)3@&>VD+P```#P9P#_L
XM*)"\```!`&<`_RB0O````/1G`/\H8)XP+?_^P?P`(D'LCU+1P`C0``!!^@""\
XM*4B1<D'Z`((I2)&&0?H`@BE(D9I!^@""*4B1KD'Z`((I2)'"0?H`@BE(D=9!6
XM^@""*4B1ZD'Z`((I2)'^0?H`@BE(DA)!^@""*4B2)D'Z`((I2)(Z0?H`@BE(%
XMDDY!^@""*4B28D'Z`((I2))V0?H`@BE(DHI!^@""*4B2GDY=3G4@("!.3TY%>
XM`"`@(#(U-DL`("`@-3$R2P`@("`W-39+`"`@(#$@34(`("`@,B!-0@`@("`SL
XM($U"`"`@(#0@34(`("`@-B!-0@`@("`X($U"`"`@,3`@34(`("`Q,B!-0@`@`
XM(#$S($U"`"`@,30@34(`("`Q-2!-0@`@(#$V($U"`$Y5__Q";?_^,"W__E)`H
XM.T#__#`M__[!_``B0>R2IC(M__S#_``B0^R2IM*)(8$(`#`M__[!_``B0>R2S
XMJD)P"``P+?_^P?P`(D'LDJPR+?_^P_P`"3&!"``P+?_^P?P`(D'LDJXQO`!0)
XM"``P+?_^P?P`(D'LDK`QO``)"``P+?_^P?P`(D'LDK(QO`!3"`!P`3(M__[C0
XM8$9`2,`R+?_^P_P`(D'LDK0A@!@`,"W__L'\`")![)*X,BW__L/\`!1#[)3&_
XMTHDA@0@`,"W__L'\`")![)*\0K`(`#`M__[!_``B0>R2P$(P"``P+?_^P?P`\
XM(D'LDL9"<`@`,"W__L'\`!1![)3&0C`(`#`M__[!_``40>R4QQ&\``$(`#`MS
XM__[!_``40>R4R!&\``$(`#`M__[!_``40>R4RD)P"``P+?_^P?P`%$'LE,PQ&
XMO``!"``P+?_^P?P`%$'LE,Y"L`@`,"W__L'\`!1![)360K`(`%)M__X,;0`0Z
XM__YM`/Z.0JR4I"`L@#1@``#80FW__F```.@[?``!__Y@``#>.WP``O_^8```1
XMU#M\``/__F```,H[?``$__Y@``#`.WP`!?_^8```MCM\``;__F```*P[?``'@
XM__Y@``"B.WP`"/_^8```F#M\``G__F```(X[?``*__Y@``"$.WP`"__^8'H[4
XM?``,__Y@<CM\``W__F!J.WP`#O_^8&([?``/__Y@6CM\``;__BE\_____X`TR
XM8$K_H/^H_YC_J/^0_ZC_B/^H_X#_J/]V_ZC_;/]B_UC_3O^H_ZC_%/\<_R;_D
XM,/\Z_ZC_1)"\____\+"\````&62PXX`P.P"\3OL``#`M__[!_``B0>R2LM'`S
XM"-```$'Z`((I2)320?H`@RE(E.9!^@"$*4B4^D'Z`(4I2)4.0?H`ABE(E2)!1
XM^@"'*4B5-D'Z`(@I2)5*0?H`B2E(E5Y!^@"**4B5<D'Z`(LI2)6&0?H`C"E(_
XME9I!^@"-*4B5KD'Z`(XI2)7"0?H`CRE(E=9!^@"0*4B5ZD'Z`)$I2)7^3EU.F
XM=2`@($`@,B!-`"`@($`@,R!-`"`@($`@-"!-`"`@($`@-2!-`"`@($`@-B!-:
XM`"`@($`@."!-`"`@($`W9B!-`"`@($`W92!-`"`@($`W9"!-`"`@($`W8R!-'
XM`"`@($`W82!-`"`@($`W."!-`"`@($`W-B!-`"`@($`W-"!-`"`@($`W,B!-)
XM`"`@($`W,"!-`$Y5``!![)8D*4B6!D)LE@I";)8,.7P`0)8..7P`"I80.7P`<
XM`9820?H!KBE(EA1![(&0*4B6&$'LED(I2)8D.7P`0)8H0FR6*CE\`#"6+#E\X
XM``J6+CE\``&6,$'Z`8(I2)8R0>R",BE(EC9![)9@*4B60CE\`'"61D)LED@Y1
XM?`!(EDHY?``*EDPY?``!EDY!^@%4*4B64$'L@^(I2)940>R6?BE(EF`Y?`"X(
XMEF1";)9F.7P`4)9H.7P`"I9J.7P``99L0?H!*2E(EFY![(="*4B6<D'LEIPIO
XM2)9^.7P!"):"0FR6A#E\`%"6ACE\``J6B#E\``&6BD'Z`/\I2):,0>R(4"E(1
XMEI!![):Z*4B6G#E\`5B6H$)LEJ(Y?`!`EJ0Y?``*EJ8Y?``!EJA!^@#5*4B6E
XMJD'LB90I2):N0>R6V"E(EKHY?`&8EKY";);`.7P`0);".7P`"I;$.7P``9;&C
XM0?H`J2E(ELA![(OF*4B6S$'LEO8I2);8.7P!V);<0FR6WCE\`%"6X#E\``J6N
XMXCE\``&6Y$'Z`'TI2);F0>R/1BE(ENI"K);V.7P"*);Z0FR6_#E\`%"6_CE\A
XM``J7`#E\``&7`D'Z`%<I2)<$0>R2IBE(EPA.74YU4')O:F5C=`!3971U<`!0I
XM<FEO<FET>0!#:&EP(%-I>F4`0VAI<"!!9&1R`%-&(%-I>F4`4T8@061D<@!&^
XM87-T(%-I>F4`1F%S="!!9&1R``!.50``2&R6!B\L@81.N@>:4$].74YU87!#)
XM[($F1>R!)K7)9@XR/`6,:PAT`"+"4<G__"E/EQ0L>``$*4Z!C$CG@(`(+@`$T
XM`2EG$$OZ``A.KO_B8`9"I_-?3G-#^@`@3J[^:"E`EQAF#"X\``.`!TZN_Y1@9
XM!$ZZ`!I03TYU9&]S+FQI8G)A<GD`2?D``'_^3G5.50``+PI(>0`!```P+($<*
XMP?P`!B\`3KH%@BE`EQQ03V840J=(>0`!``!.N@.D4$\N;)<43G4@;)<<0F@`@
XM!"!LEQPQ?``!`!`@;)<<,7P``0`*(&R7%"`LEQ20J``$4(`I0)<@(&R7(""\Q
XM34%.6$*G3KH%.B1`2JH`K%A/9RXO+0`,+RT`""\*3KK=Z#E\``&7)"!LEQP`F
XM:(````0@;)<<`&B````*3^\`#&!"2&H`7$ZZ!<I(:@!<3KH%+BE`ER8@;)<FF
XM2J@`)%!/9Q`@;)<F(F@`)"\13KH"OEA/+RR7)B\*3KK=EBELER:7*E!/3KH":
XMLB!LEQP@@$ZZ`KX@;)<<(4``!F<62'@#[4AZ`"I.N@*:(&R7'"%```Q03R\LB
XMERH_+)<N3KK6PD)G3KH`V%!/)%].74YU*@!(YW``-`'$P"8!2$/&P$A#0D/4(
XM@TA`P,%(0$)`T(),WP`.3G5(YT@`0H1*@&H$1(!21$J!:@9$@0I$``%A/DI$O
XM9P)$@$S?`!)*@$YU2.=(`$*$2H!J!$2`4D1*@6H"1(%A&B`!8-@O`6$2(`$B\
XM'TJ`3G4O`6$&(A]*@$YU2.<P`$A!2D%F($A!-@$T`$)`2$"`PR(`2$`R`H+#N
XM,`%"04A!3-\`#$YU2$$F`2(`0D%(04A`0D!T#]"`TX&V@6($DH-20%'*__),B
XMWP`,3G5.50``2JR7,&<&(&R7,$Z0/RT`"$ZZ``A43TY=3G5.5?_\+P0P+0`(W
XM2,`K0/_\2JR7'&<H>`!@"C\$3KH`_E1/4D2X;($<;?`P+($<P?P`!B\`+RR7%
XM'$ZZ`VQ03TJLES1G!B!LES1.D$JL@2)G"B\L@2).N@%(6$]*K)<X9P@@;)<XD
XM(*R7/$JLET!G"B\LET!.N@%B6$]*K)=$9PHO+)=$3KH!4EA/2JR72&<*+RR73
XM2$ZZ`4)83TJLETQG"B\LETQ.N@$R6$\L>``$""X`!`$I9Q0O#4OZ``I.KO_B3
XM*E]@!D*G\U].<TJLER9F,$JLEU!G*#`LEU1(P"\`+RR74$ZZ`L0P+)<N4D!(I
XMP.6`+P`O+)<J3KH"L$_O`!!@#DZZ`IHO+)<F3KH#'EA/("W__"YLEQ1.=2@?)
XM3EU.=4Y5``!(YPX@."T`"#`$P?P`!B1`U>R7'$I$;0JX;($<;`1*DF80.7P`G
XM`I=6</],WP1P3EU.=0@J``<`!&8(+Q).N@`*6$]"DG``8.(B+P`$+&R7&$[NN
XM_]PB+P`$+&R7&$[N_X(L;)<83N[_RDSO``8`!"QLEQA.[O_B+&R7&$[N_\1.]
XM^@`"(B\`!"QLEQA.[O^F2.<!!$SO((``#"QL@8Q.KO^43-\@@$YU(F\`!"QL#
XM@8Q.[OX^3OH``B)O``0L;(&,3N[^8DY5``!(YP@@2'C__TZZ`-`H`+"\____&
XM_UA/9@IP`$S?!!!.74YU2'D``0`!2'@`(DZZ`6`D0$J`4$]F#"\$3KH!E'```
XM6$]@UB5M``@`"A5M``\`"15\``0`"$(J``X51``/0J=.N@$^)4``$$JM``A86
XM3V<*+PI.N@!:6$]@"DAJ`!1.N@%L6$\@"F"23E4``"\*)&T`"$JJ``IG""\*%
XM3KH!E%A/%7P`_P`()7S_____`!1P`!`J``\O`$ZZ`1A(>``B+PI.N@#Z3^\`Q
XM#"1?3EU.=2)O``0L;(&,3N[^GB`O``0L;(&,3N[^MDY5``!(>``P+RT`"$ZZV
XM`!I03TY=3G5.50``+RT`"$ZZ`$Q83TY=3G5.50``+PI*K0`(9@AP`"1?3EU.,
XM=4AY``$``2\M``Q.N@!@)$!*@%!/9@1P`&#@%7P`!0`(-6T`#@`2)6T`"``.W
XM(`I@RDY5```O"B1M``@@"F8&)%].74YU%7P`_P`()7S_____`!0E?/____\`V
XM&'``,"H`$B\`+PI.N@`T4$]@TD[Z``),[P`#``0L;(&,3N[_.D[Z``(B;P`$N
XM+&R!C$[N_MI.^@`"+&R!C$[N_WQ.^@`"(F\`!"`O``@L;(&,3N[_+B`O``0LB
XM;(&,3N[^L$[Z``(@;P`$+&R!C$[N_HP@;P`$((A8D$*H``0A2``(3G4@;P`$#
XM3.\"`0`((B\`$"QL@8Q.[OY$3OH``BQL@8PB;P`$("\`"$[N_=@L;(&,3N[_6
XM=B)O``0L;(&,3N[^F$[Z``(B;P`$+&R!C$[N_H8B;P`$+&R!C$[N_C(B;P`$!
XM("\`""QL@8Q.[O[4("\`!"QL@8Q.[O["(&\`!"QL@8Q.[OZ`(F\`!$SO``,`#
XM""QL@`9.[O\*(F\`!$SO``,`""QL@`9.[O\0(F\`!$SO``\`""QL@`9.[O[.\
XM(F\`!"`O``@L;(`&3N[^JDCG`#!,[P\```Q,[P`/`!PL;(`"3J[^I$S?#`!.&
XM=2!O``0L;(`"3N[_N"!O``0L;(`"3N[_-$SO`P``!$SO``,`#"QL@`).[O\HZ
XM3.\#```$+&R``D[N_O@@;P`$+&R``D[N_LX@;P`$+&R``D[N_L@``````^P`A
XM```!`````0``.+8````````#\@```^H```!)````````````````````````;
XM``````````(````````"```````````````(``````#_____``$````!````*
XM0````*,```"B````JP`*````!``(```@12````$!`````*T```!.````5@``>
XM```@1B````$!``````$```!.````;@```%H````*`!``M0`!```!`@`"``,`W
XM`````````````!`````````````0`%$`$`)```$``0$``#H`"@``````````*
XM```````!`0``*@`4``````````````````$!```R`!X`````````````````2
XM`0$```<``P`````````````````!`0``!P`#`````````````````!0`````L
XM`````````^P````%`````0```&(```!F````>@```'X```""`````@``````Y
X;``!.````H`````````/R```#ZP````$```/R'
X``
Xend
Xsize 16812
END_OF_FILE
if test 23569 -ne `wc -c <'MM.uu'`; then
    echo shar: \"'MM.uu'\" unpacked with wrong size!
fi
# end of 'MM.uu'
fi
if test -f 'ReadMe2.2' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'ReadMe2.2'\"
else
echo shar: Extracting \"'ReadMe2.2'\" \(2254 characters\)
sed "s/^X//" >'ReadMe2.2' <<'END_OF_FILE'
XThis is MemMometer V2.2
XPrevious versions of MemMometer were
X    V1.0 - Distributed to Peter Da Silva and Tom Rokicki, sent to Fred Fish
X           but was evidently not put on a Fish Disk.  Problems with the program
X           were that it used the Delay(Arrgh) function for timing, that it had
X           an unrestricted menu selection for Slow-Fast memory that, with non-
X           existent memory, would result in a crash without prior warning.
X           Also, the codes for one, two, or three columns were separate, so it
X           was issued as three independently compiled programs.
X    V1.1 - Not Distributed.  Delay() function replaced by VBLANK timer code
X           submitted to Usenet by Andy Finkel (a member of the CBM Amiga team).
X    V2.0 - Submitted to comp.sources/binaries.amiga but not circulated.
X           Menu item added for setting MemMometer's running priority. Requester
X           added to inform user that Slow-Fast memory selections in Warps mode
X           must be physically correct to avoid a system-fatal Guru 4 illegal
X           instruction exception trap due to non-existent memory.
X    V2.1 - Submitted to Fred Fish.  Some changes to the 8 color workbench color
X           table to add the ability to recognize 0xffffffff checksums and to
X           conform more closely with CBM Workbench colors.  Some corrections
X           to inaccuracies in the documentation.  The requester also was fixed
X           to open with a link to the MemMometer window (titled "F") rather
X           than to an underlying dummy window titled "Mem Mometer".  While it
X           renders the title somewhat more obscure, it limits the resource
X           request to one requester-sized window rather than two.
X    V2.2 - Menues changed to access 32-bit memory address range.  Cold leaps
X           of Arctic faith are now met by the Warning Requester for any
X           request to change address range or address base for either the SF
X           or Fast memory menus in warps mode; this leaves no Tern unstoned.
X           Compiled with Aztec 3.6, should compile with Aztec 5.0 / 5.1 as well.
X                                                        Howard Hull
X                                                        hull@ncar.edu
X
END_OF_FILE
if test 2254 -ne `wc -c <'ReadMe2.2'`; then
    echo shar: \"'ReadMe2.2'\" unpacked with wrong size!
fi
# end of 'ReadMe2.2'
fi
if test -f 'ReadMe2.2.uu' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'ReadMe2.2.uu'\"
else
echo shar: Extracting \"'ReadMe2.2.uu'\" \(706 characters\)
sed "s/^X//" >'ReadMe2.2.uu' <<'END_OF_FILE'
Xbegin 644 ReadMe2.2.info
XMXQ```0``````]@`9`"@`%``$``,``0`BHS``````````````````````````\
XM````!"$`(?&``````````/(````.```````````````````````H`!0``P`"X
XM@T#_```````````````____,```_J__/```_5__/P``@K__/\``P7__````_!
XM___P```_`$@`?``______``X!`#`?``______``Y`(``?``______``X$`!`.
XM?``______``______``___X`?``______``______`````````#____\``#`-
XM```S``#````PP`#`4``P,`#*H``P#`#`0``__P#````/_P#``````P#`````(
XM`P#``````P#``````P#``````P#``````P#``````P#``````P#``````P#`8
XM`````P#``````P#``````P#______P#____\``#````S``#`*``PP`#````PX
XM,`#*H``P#`#%0``__P#``````P#``````P#``````P#``````P#``````P#`H
XM`````P#``````P#``````P#``````P#``````P#``````P#``````P#`````5
X8`P#______P`````,.F,O375C:$UO<F4`V
X``
Xend
Xsize 474
END_OF_FILE
if test 706 -ne `wc -c <'ReadMe2.2.uu'`; then
    echo shar: \"'ReadMe2.2.uu'\" unpacked with wrong size!
fi
# end of 'ReadMe2.2.uu'
fi
if test -f 'makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'makefile'\"
else
echo shar: Extracting \"'makefile'\" \(119 characters\)
sed "s/^X//" >'makefile' <<'END_OF_FILE'
XMM: mm.o mminit.o
X    ln mm.o mminit.o -lc -o MM
X
Xmm.o: mm.h mm.c
X    cc mm.c
X
Xmminit.o: mm.h mminit.c
X    cc mminit.c
END_OF_FILE
if test 119 -ne `wc -c <'makefile'`; then
    echo shar: \"'makefile'\" unpacked with wrong size!
fi
# end of 'makefile'
fi
if test -f 'mm.doc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'mm.doc'\"
else
echo shar: Extracting \"'mm.doc'\" \(20804 characters\)
sed "s/^X//" >'mm.doc' <<'END_OF_FILE'
X/*
X *   Information for MM Version 2.20, 19-May-1991
X *
X *   MemMometer - A program hacked from Tom Rokicki's WFrags more or less...
X *   (in fact, a heck of a lot) in the style of Peter Da Silva's "Gauge."
X *   The program opens a narrow window with the same dimensions as the disk
X *   capacity gadget found in the top-level workbench window for an Amiga
X *   DOS v1.3 floppy volume.  The sizing gadget is like the one in Gauge;
X *   to resize the window, just click the left mouse button over the "E".
X *   The "F" is the program title in this rather short manifestation of
X *   an Amiga Intuition window drag bar.
X *
X *   My bin copy of Gauge broke when I put a Michigan Insider in my A1000.
X *   I did not have source for the Gauge program, so I conjured this one.
X *   To my chagrin, MM 1.0 broke when I got a 2000 (more on that shortly),
X *   the Amiga 3000 blew away the previous version of this program, too,
X *   of course.  But that's the way it is with hardware-oriented software
X *   hacks! :-|  Changes with this version involve reconstruction of the
X *   fast ram address menus to accomodate the A3000's 32-bit address space
X *   for fast ram at 7000000 to 7FFFFFF hex.  Please note that Amiga DOS
X *   allocates this space in heap fashion (autoconfiguring memory in
X *   successively lower addresses starting from the top, while utilizing
X *   it within each zone in the usual fashion from the bottom up).  The
X *   following table describes how to set MM for various Amiga 3000 memory
X *   configurations:
X *                          Fast Ram Size    Base Address
X *                              1 Meg           7f00000
X *                              2 Meg           7e00000
X *                              3 Meg           7d00000
X *                              4 Meg           7c00000
X *                              6 Meg           7a00000
X *                              8 Meg           7800000
X *                             10 Meg           7600000
X *                             12 Meg           7400000
X *                             14 Meg           7200000
X *                             16 Meg           7000000
X *   
X *   MemMometer may be started from an icon, a CLI, or the Run command
X *   from a CLI.  MM uses dynamic allocation for its display data, and
X *   does its own resource tracking.  MM will surrender any resources
X *   which it has successfully obtained from allocation requests if,
X *   while MM is running, requested resources are denied.  This type
X *   of fault (exit code 20) proceeds silently, and without prior notice.
X *
X *   Now for a run through MemMometer's menu mechanics.  MemMometer opens
X *   with a non-interlaced-screen-height narrow window at the left side of
X *   the Workbench screen.  The window width is the same as the width of the
X *   capacity gauge which Workbench used to render at the left side of the
X *   v1.3 top level window for a floppy volume.  As with Peter Da Silva's
X *   original gauge program, the MemMometer has an E at the bottom of the
X *   window, and an F at the top.
X *
X *   The E and the F are respectively, the window sizing gadget, and the
X *   window titlebar.  While MemMometer can and does automatically arrange
X *   the window to suit the memory configuration, it depends on the user to
X *   select appropriate memory size and address values via the menus.  The
X *   menu style is the usual Amiga Intuition menu set; selection is achieved
X *   by clicking the left mouse button while the mouse pointer is anywhere
X *   within the program's window boundary, and then activating the menu bar
X *   by holding down the right mouse button and sliding the mouse pointer
X *   along the Workbench screen title bar at the top of the Workbench screen.
X *
X *   At the left side of the Workbench screen title is the Project Menu.  The
X *   Project Menu has three options.  The first option is "Front", which is a
X *   window-to-front command for the event that the MM window was partially
X *   buried by the opening of new windows after MM was invoked.   If the
X *   right mouse button is released while the mouse pointer is directly over
X *   the Front menu item, the MM window will oblige by popping forward to an
X *   unobstructed view.  The second menu option is the "Back" item, which
X *   will move the MM window back behind any other windows that have been
X *   opened on the Workbench screen (with exception of a backdrop window).
X *   The third Project menu option is the "Quit" option, which directs MM to
X *   close its window and release the AmigaDOS resources it has allocated.
X *   The normal return code is zero.
X *
X *   The second Intuition menu is the Setup menu.  There are two Setup menu
X *   items.  The first item is the "Mode" item.  MM has two modes, and they
X *   are selected by sliding the mouse pointer straight down from the screen
X *   title bar over the Mode item , and then moving the pointer to the right
X *   as the mode submenu is activated.  The activated submenu provides two
X *   choices, "Frags" and "Warps".  Frags are rather much the same as they
X *   were in Da Silva's gauge program.  "Frags" is the default menu selection
X *   with which MM is first initialized.  The Frags display is described in
X *   the following table:
X *   
X *               2-Color Workbench    4-Color Workbench    8-Color Workbench
X *  Unallocated        Blue                 Black                Black
X *  Allocated          White                Orange               Yellow
X *  Fragmented         Blue                 Blue                 Blue 
X *
X *   Unallocated memory is free memory available to programs.  The programs
X *   may obtain this memory from AmigaDOS through allocation requests.  The
X *   Allocated memory is memory assigned to programs running under AmigaDOS.
X *   Fragmented memory consists of interleaved small memhunks, some of which
X *   are assigned to programs and some of which are in the free memory pool.
X *   The smallest fragments are 8 bytes, and the largest memhunks may be more
X *   than a megabyte.  The fragmented class is assigned when, in making the
X *   MM window display, a single horizontal pixel line was found to represent
X *   both allocated and unallocated memhunks.  For this reason, for a full
X *   window height MemMometer, the resolution of the fragmentation is shown
X *   in more detail on interlaced Amiga Workbench screens.
X *
X *   The second mode item selection is the "Warps" mode.  While the Frags
X *   mode is usually utilized as a low-priority background indicator, the
X *   Warps mode is usually utilized at a somewhat higher priority for the
X *   purpose of tracking bugs and system irregularities.  In this context,
X *   I define warps as a form of discretized sample-to-sample differencing
X *   function for some arbitrary segment of memory.  Warps are determined by
X *   dividing the selected address space evenly among the MemMometer display
X *   pixels, computing an assignment checkfunction for each pixel line of the
X *   display on the associated assigned memory space at some sample time, and
X *   then, while retaining the previous pixel-by-pixel record, repeating the
X *   same evaluation the second sample time and comparing the sequentially
X *   determined checksums. A "checksum" is computed by means of a sequential
X *   bit-wise eXclusive OR assignment.  This type of checksum can readily
X *   detect zeroed or changed values.  In the table below, logical FALSE is
X *   zero, logical TRUE is taken as 0xffffffff and VALUE is anything else.
X *   Colors indicate the type of change.  Colors for the most part follow
X *   the v1.3 standard CBM workbench color set; they're shown as follows:
X *   
X *                    Pen #   Color           Pen #   Color
X *                      0     Blue              4     Green
X *                      1     White             5     Red
X *                      2     Black             6     Cyan
X *                      3     Orange            7     Yellow
X *
X *   These colors are used to map the changes in memory content from sample
X *   to sample as programs multitask together:
X *
X *   Condition        2-Color Workbench  4-Color Workbench  8-Color Workbench
X *
X *   VALUE ===> VALUE         Blue               Blue               Blue
X *   VALUE =/=> VALUE         White              Orange             Orange
X *   FALSE ===> FALSE         Blue               Black              Black
X *   FALSE ---> VALUE         White              Orange             Yellow
X *   VALUE ---> FALSE         White              White              Red
X *   TRUE  ---> FALSE         Blue               Black              Cyan 
X *   TRUE  ---> VALUE         Blue               Black              Cyan 
X *   TRUE  ===> TRUE          Blue               Blue               Green
X *   FALSE ---> TRUE          Blue               Blue               Green
X *   VALUE ---> TRUE          Blue               Blue               Green
X *
X *   The second Setup menu item is a Frequency selection submenu.  While the
X *   selected value does set a minimum frequency with which the memory state
X *   will be examined, it's done by introducing a delay between measurements.
X *   The introduced delay will be equal in seconds to the value selected in
X *   the submenu.  The delay is accomplished by the AmigaDOS timer.device
X *   using the VBLANK mode.  It was not thought worth the difficulty to make
X *   the timing as precise as would be possible using the cia.resource, as
X *   that might make the resource less useful to other programs, and as well
X *   would mean extra effort adjusting for memory size-dependent scan times
X *   from the various memory sizes selectable with the MM program.  Delay
X *   intervals of 1, 2, 5, and 10 seconds are available.
X *
X *   The third Intuition menu is a Priority menu.  This menu applies only to
X *   the MemMometer program and its associated CLI process.  Initially it is
X *   at priority 0 with the expectation that the user will set it lower once
X *   the program is running, in order to give more time to the other active
X *   processes the user will be running.  A value of -50 is recommended.  In
X *   the event the Priority of MM is changed via the menu, the CLI inherits
X *   MemMometer's new priority and retains that priority even after MM quits.
X *   Thus, with extreme priority settings, it may be better to "Run MM" to
X *   keep from passing the extreme priority to subsequent processes spawned
X *   from the CLI that was used to invoke MemMometer.  Also, go easy with the
X *   positive priorities; remember that with AmigaDOS version 2.0 the DOS
X *   input.device runs priority 20, the SCSI bus handler is 12, SCSI.device
X *   is 11,  FileSystem is priority 10, and the CON: and trackdisk.device
X *   are priority 5 usually.  Note that the first three MemMometer menu
X *   items are used to increment or decrement a priority selected in the
X *   lower part of the menu.  Selection of the "NORM" menu item removes any
X *   increment or decrement previously set while at any given level.
X *
X *   The remaining Intuition menu selections are provided so that the range
X *   and base address of the memory examined may be adjusted for the user's
X *   Amiga memory configuration.  Note that the base address must always be
X *   set to the correct base address for the given memory configuration in
X *   order for the Frags option to work properly, but that the range may be
X *   adjusted to give a better resolution for the first segments around the
X *   base address, if desired.  Menus are provided for Chip memory, the old
X *   Slow-Fast (C00000/Ranger) memory, and Fast memory.  While I have had no
X *   difficulty as a result of selecting a range of memory that involved a
X *   non-existent seqment for Chip or Fast memory in either Frags or Warps
X *   mode, when I selected non-existent SFMemory on my Fat Agnus Amiga 2000
X *   in Warps mode, it resulted in a total system-wide red Guru 4 (illegal
X *   instruction exception).
X *
X *   After that, I decided to post a requester for the user to issue terse
X *   warning that a crash is _possible_ with incorrectly specified menu
X *   selections in warps mode.  Since it is possible, for example, to roll
X *   over on 24-bit addresses via large memory size menu selections, one
X *   can access forbidden zones through inappropriate settings of the Fast
X *   Mem menus as well.  Thus MM also calls the requester if the Fast Mem
X *   size menu is changed. The requester displays the message:
X *
X *                        WARNING! CRASH POSSIBLE
X *                      MENU MEMORY SELECTIONS MUST
X *                       REFERENCE EXISTING MEMORY
X *
X *                   Risk It                  Retreat
X *
X *   You don't have to worry about a crash if you really have an amount of
X *   SF or Fast memory equal or greater than the amount you specified and
X *   the base address is within what you specified (the default base address
X *   for SF Mem is C00000 and 200000 for A2000 Fast Mem).  Too bad I have to
X *   do this, but it is a matter the hardware regards seriously, as some
X *   registers do things when they are read, never mind what they do when
X *   they are written!  If you really want to be annoyed, just get Bryce
X *   Nesbitt's Enforcer program.  It will yap at you through the serial port
X *   every time any program (such as this one) reads the zero page...
X *
X *   So, here you see the two options.  The left button says - Risk It -.
X *   That's a comfortable gamble if you know your Fast memory configuration.
X *   Pre Fat-Agnus Amiga 2000 machines have 512K of Slow-Fast memory.  The
X *   Newer 2000s have no C00000 Slow Fast memory, and the A3000 only has the
X *   200000 ZorroII 16-bit Fast Memory if you added a Mem card - so beware
X *   of this and try the other settings when you have nothing else going on,
X *   until you gain a knowledge of what is safe.  The - Retreat - option sets
X *   the SF or Fast Memory Size selected internal to the MemMometer program
X *   to zero and clears the display.  (It does leave the menu items checked,
X *   though, so you will have to remember to re-select suitable menu values
X *   in order to get the display to show something in each existing memory
X *   type.  For Chip and Fast memory this will simply entail going back into
X *   the menu and again selecting whatever was previously checked.  The SF
X *   memory size should be set either to appropriate values or to "NONE".)
X *   
X *   Note that in the display there may at any time be anywhere from one
X *   to three MemMometers - for Chip (left-hand column), another for the
X *   Slow Fast mem (center column) and yet another for Fast mem (right-hand
X *   column).  These MemMometers can be turned on or off as desired by
X *   selecting "NONE" or the various items in the Size menus.
X *
X *   Parts of several freely distributable  programs have been used to make
X *   MemMometer.  Menus, for instance, are done in the style VT100 (Wecker,
X *   et al).  As with the VT100 program, MemMometer has preset variables.
X *   However, the program does not yet contain a script file reader or an
X *   AREXX interface with which to automatically set the variables.  Likely
X *   it is that I'll write the code for that some time this century!
X *
X *   MemMometer uses forbid() and permit() when it examines the mem list in
X *   Frags mode.  I suppose it is possible with large amounts of memory to
X *   scan, that some gross treachery can happen while the list is locked.
X *   However, with my 4 meg Amiga 3000 I've not seen it.  It takes a while
X *   after startup to settle out and display the large byte counts associated
X *   with Fast mem, so be patient...  MemMometer is most useful for finding
X *   out why large programs won't load.  It's also useful in development for
X *   seeing the impact your application is having on memory fragmentation,
X *   or how various programs (and viruses, for that matter) are allocating
X *   memory.
X *
X *   The Warps mode displays any change it sees in memory from one sample
X *   to the next; BUT this mode only works sensibly when JUST ONE memory size
X *   selection is active (set others to "NONE").  The memory space is scanned
X *   asynchronously, so it can have sample alias difficulties.  However, the
X *   Warps mode does not use forbid(), permit(), enable(), disable(), or any
X *   other constrictive system call.  It just does a lot of read-only memory
X *   cycles and writes the result in its own dynamically allocated memory
X *   space.
X *
X *   To run MemMometer, simply type
X *
X *      run MM
X *
X *      or  click on the icon.
X *
X *   Then open the menu item selections and set them for your configuration.
X *   Frags mode, and 512K of CHIP @0 is the default these days, what with
X *   hugh variety of configurations routinely encountered.  The modes are
X *   are color coded into the "F" and "E" indicators in accordance with the
X *   AmigaDOS v1.3 color table; AmigaDOS v2.0 looks pale by comparison:
X *
X *   Mode       Indicator       2 color WB      4 Color WB      8 Color WB
X *
X *   Frags          E                Blue            Blue            Blue
X *   Warps          E                White           Orange          Yellow
X *
X *   One column:
X *   Chip           F                Blue            Blue            Blue  
X *   Slow-Fast      F                Blue            Black           Cyan
X *   Fast           F                White           Orange          Yellow
X *
X *   Two columns:
X *   Chip +SF       F                Blue            Blue            Blue
X *   Chip +Fast     F                Blue            Black           Cyan
X *   SF + Fast      F                White           Orange          Yellow
X *
X *   Three columns:
X *   C + SF + Fast  F                Blue            Blue            Blue
X *   None           F                White           Orange          Orange
X *
X *   The source code included with this distribution was compiled with the
X *   Manx Aztec C compiler, version 3.6a in 16-bit integer mode.  Numerous
X *   type casts in the code, as well as other non-alignments with the Lattice
X *   environment would make compilation under versions of Lattice difficult.
X *   Sorry.  Compilation instructions are of course in the makefile included
X *   in the distribution.
X *
X *   About my part of C code - it wasn't done for speed, as I am sure you can
X *   tell.  If I wanted speed I would have used assembly language.  It also
X *   likely isn't elegant code, by a long shot (unless it's the part I got
X *   from Rokicki's WFrags).  But assembly language is time-consuming to
X *   write, so that won't happen any time soon.  Maybe the next thing will be
X *   the AREXX port - so that other programs can specify a low address and a
X *   byte count range for one of the MemMometers to display (say, within the
X *   specified menu selection span).  Gross comments about the code or bug
X *   reports may be e-mailed to me at the site domain specified below.
X *
X *   About everyone else's C code in MM - Let's see, VT100 (Wecker et al) has
X *   been freely distributable since the early days of the Amiga.  When VT100
X *   was first posted, Wecker did not prepend a copyright to the code.  He
X *   later discovered that his employer (DEC) routinely required employees to
X *   sign a contract statement which granted to DEC all rights with respect
X *   to codes written by DEC employees, whether the codes were written on the
X *   company's time/facilities or otherwise.  I do not know how the matter
X *   was resolved, but VT100 still seems to be on the freely distributable
X *   software list.  The menus in MM, while styled with the same code forms
X *   as were used with VT100 v2.3, are of course different in content in any
X *   case.  The WFrags program was, I believe, a version by Tom Rokicki (the
X *   Amiga Tex guy) might be evolved from the Frags program originally put
X *   to the net by Mike Meyer.  WFrags was submitted to the net without a
X *   prepended copyright notice, evidently intended  as freely distributable
X *   software.
X *
X *   The spirit of these contributions is that they are not to be used for
X *   commercial purposes, and the original authors certainly appreciate
X *   being cited for their work.  So I just did that.  The timer codes are
X *   exerpted from a network article by Andy Finkel of CBM, submitted as a
X *   demonstration of the ease of implementing the Amiga timer.device in C.
X *
X *   So, for my part, I add no further restrictions to the codes in MM.
X *   In that spirit, I hereby submit the following Standard Disclaimer:
X *
X *   The authors accept no responsibility for anything either beneficial or
X *   detrimental that may happen as a result of using the codes in MM.  The
X *   codes are intended for non-commercial use only.
X *   
X *
X *   Howard Hull  hull@ncar.edu
X *
X */
END_OF_FILE
if test 20804 -ne `wc -c <'mm.doc'`; then
    echo shar: \"'mm.doc'\" unpacked with wrong size!
fi
# end of 'mm.doc'
fi
if test -f 'mm.doc.info.uu' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'mm.doc.info.uu'\"
else
echo shar: Extracting \"'mm.doc.info.uu'\" \(3641 characters\)
sed "s/^X//" >'mm.doc.info.uu' <<'END_OF_FILE'
Xbegin 644 mm.doc.info
XMXQ```0``````=P`/`&(`'0`&``,``0?&\S@'QO.(````````````````````#
XM```!!)X'Q;D8`````````',````$``````````````````````!B`!T``P`"[
XM3/C_`````````````````````````````````$5555550```````````15_55
XM555```````````!%5M55544``````````$569]?51P``````````159G9V5'3
XM``````````!%5F9F14<``````````$56QF9U1P``````````15_'Q\5'````T
XM``````!%5!4%!4<``````````$5555551P``````````1?UU=55'````````G
XM``!%S%%Q54<``````````$7$=7%]1P``````````1?5Q<<U'``````````!%7
XMP7%Q_$<``````````$7%<7'`1P``````````1>5Y>7U'``````````!%!4%!%
XM04<``````````$5555551P``````````1555555'``````````!%555554<`H
XM`````````$5555551P``````````15550`%'``````````!%555554<`````W
XM````````````!P``````````+_______```````````55555554`````````O
XM```````````````````!_______X``````````'_______@``````````?_P8
XM?____\`````````!__D_____P`````````'_^9P\/_O``````````?_YF9F?&
XM^\`````````!__F9F?_[P`````````'_^3F9G_O``````````?_P?#P_^\``G
XM```````!_______[P`````````'_______O``````````?X#SX__^\``````(
XM```!_S/_S__[P`````````'_/X_/A_O``````````?\/S\\S^\`````````!V
XM_S_/SP/[P`````````'_/\_//_O``````````?X?AX>#^\`````````!____9
XM___[P`````````'_______O``````````?______^\`````````!_______[>
XMP`````````'_______O``````````?______^\`````````!_______[P```E
XM``````'_______O``````````?@``````\``````````________P```````M
XM``!________`````````````````````````````````````````````````Z
XM#X`````````````````&P`````````````````9CP\``````````````!F9F3
XM8``````````````&9F8```````````````;&9F``````````````#X/#P```9
XM```````````````````````````````````````````````!_#!P````````=
XM``````#,`#```````````````,!P,'@`````````````\#`PS```````````P
XM``#`,##\`````````````,`P,,`````````````!X'AX?```````````````)
XM`````````````````````````````````````````````````````````````
XM```````````````````````````````````?_@``````````````````````=
XM`````````````````````````````````````````````````````````````
XM`````````````````````&(`'0`#``)1P/\`````````````````````````4
XM*JJJJJJH!5555555```W______Z_______L``#?______K^_P```"P``-___^
XM___^O__``"`+```WZJJJJN`#J\````L``#?______K__P4$""P``-______^,
XMOZO`X8N+```W______Z__\+PP>L``#?55555?K^KQ/-)ZP``-______^O__!\
XM;G/K```W555557Z_J\JL@"L``#?______K__U5552P``-U55555^OZO````+7
XM```W_____^`#______L``#=55555?K^K_U5_^P``-______^O______[```WL
XMU55557Z_JJJJJKL``#?______K______^P``-U55555^OZJJJJJ[```W____Z
XM__Z_______L``#=55555?K^JJJJJNP``-______^O______[```W_____^`#;
XM______L``#?__U___K___K__^P``-______^O______[```P``````"`````4
XM``,``"JJJJJJJ`55555550````````````````````#_______X?_______`^
XM`/_______________\``^``````!P``````'P`#X``````'`0#____?``/@`9
XM`````<``(```%\``^``````?_%0@```7P`#X``````'``""``!?``/@`````^
XM`<!4(R($%\``^``````!P``O][X7P`#X*JJJJH'`5#___Y?``/@``````<``K
XM/7__]\``^*JJJJJ!P%0X!_^WP`#X``````'``#```!?``/BJJJJJ@<!4/___.
XM]\``^``````?_``````'P`#XJJJJJH'`5`"J@`?``/@``````<``````!\``W
XM^"JJJJJ!P%55555'P`#X``````'```````?``/BJJJJJ@<!555551\``^```P
XM```!P``````'P`#XJJJJJH'`555554?``/@``````<``````!\``^``````?;
XM_``````'P`#X``"@``'```%```?``/@``````<``````!\``____________;
XM____P`#________________``/_______A_______\``````````````````$
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM````````````````````````````````````````````(0"`````````````A
XM``/$(2``````````````!_A_P``````````````/___@````````````````S
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM``````````````````````````````````````````````````PZ8R]-=6-HE
X%36]R90``3
X``
Xend
Xsize 2570
END_OF_FILE
if test 3641 -ne `wc -c <'mm.doc.info.uu'`; then
    echo shar: \"'mm.doc.info.uu'\" unpacked with wrong size!
fi
# end of 'mm.doc.info.uu'
fi
if test -f 'mm.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'mm.h'\"
else
echo shar: Extracting \"'mm.h'\" \(757 characters\)
sed "s/^X//" >'mm.h' <<'END_OF_FILE'
X/* : ai=0 bk=0 ts=8 */
X#include <intuition/intuition.h>
X#include <intuition/intuitionbase.h>
X#include <graphics/gfx.h>
X#include <graphics/gfxbase.h>
X#include <exec/exec.h>
X#include <exec/execbase.h>
X#include <functions.h>
X
X/* standard and suggested Workbench pen colors */
X
X#define BLUP 0L        /* CBM Workbench medium (IBM) blue */
X#define WHTP 1L        /* CBM Workbench pure white */
X#define BLKP 2L        /* CBM Workbench black with elevated blue */
X#define ORNP 3L        /* CBM Workbench orange */
X#define GRNP 4L        /* CBM Workbench pure blue */
X#define REDP 5L        /* CBM Workbench magenta */
X#define CYNP 6L        /* CBM Workbench cyan */
X#define YELP 7L        /* CBM Workbench duplicates white here */
X
Xextern struct Window *window ;
X
END_OF_FILE
if test 757 -ne `wc -c <'mm.h'`; then
    echo shar: \"'mm.h'\" unpacked with wrong size!
fi
# end of 'mm.h'
fi
echo shar: End of archive 1 \(of 2\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 2 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked both 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
-- 
Mail submissions (sources or binaries) to <amiga@uunet.uu.net>.
Mail comments to the moderator at <amiga-request@uunet.uu.net>.
Post requests for sources, and general discussion to comp.sys.amiga.misc.