[comp.sys.mac.hypercard] pie menus

andrea@tigger.colorado.edu (Andrea Ignatowski) (04/22/89)

Hello,
	I have tried repeatedly to post this to comp.binaries.mac but it has
not yet made it.  So in desperation, the end of the semester approaches, I'm
posting it here.  I'll continue to try to post the sources to comp.sources.mac.
If anyone can assist me in contacting the moderators of these two groups I
would appreciate it.  Please direct flames to /dev/null.

	This file contains a HyperCard stack that utilizes popup pie menus.
The source for the XFCN that implements these menus has been posted to the
comp.mac.sources newsgroup.  We are conducting a survey regarding the use of
these menus and would appreciate you trying them and sending us your comments
(as well as any improvements to the code). For a description of pie menus and
their usage please see the article appearing in the SIGCHI 1988 Conference
Proceedings:
	"An Empirical Comparison of Pie Vs. Linear Menus"
by: Jack Callahan, Don Hopkins, Ben Shneiderman, and Mark Weiser 

Thanks,

Andrea Ignatowski
andrea@boulder.colorado.edu


--- Start of File ---
(This file must be converted with BinHex 4.0)
:$e"TC8ePER9c8h4V,R0TG!"6593K8dP8)3!!!!"2eJ!!!!!KL90*9#%!!J!!6pC
b6'&e!3!!!!!!!!!#!Jj3D@8J6@9ZG5"6G'&MD`!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"69%&,9dP-4!%!S%A,f+"Z,lS
!!#Ep!!"(`!!!'Z)!!"c#2DHJj3!!!!!!!-'M!!!%#!M!K+U!*3i'R&+($JJSDFT
!H31R$K`8)UD8DC0Qc"XfEpcXQ&-'6KJjBHL8)H-!BKN36FUiU30L#Td`BpD!%%"
`#T8J5kiNB8+%)+'&2i-1,4V`k#H#8+0+"99N'ED!4i!&00&2$KN3Gp+i)I2Q$S!
d+YZ!N!!"iSdC%(,+M((S&X5BNer$MLd,B%JB0bFFRLRM-1lFYQr[HJ8VPUcCJ!-
$iL%@m!lPJ)m!f0!#M3!bJK`!Z!%`J%J5+N`)LL$#j-N4JLk`$'R#&)!1,%D'1)'
+3!SB"`&akak!6QS3IIrF1BQc(!`!!F+Fk!2J36S!&pCp@,GL(C&e8YDM6rF'iSX
-$$3``-*b*GNrI8U%R2(R""i)IZA2TiH&UIhlq229"i)qqD'RRK"Z+!"*%'dB!!d
33F$c(!`3"#JK!##m!!!",`5aS3JD)[$#&aXLF3i2!*!!8&!!5!K"c$!S!+!#Ld8
J8``e4,3SK"$!"!10)%am!`!2)RcJ"%dDFZJK!5!#)#+*"*JB!`"1k!)!*d%#`%L
44fDiBBFIKMKLLHG-@58!I)!33*CE'SRNPdXfq55CCPV*!TYF[UPNQ%k1'@@C9&V
*J*TiZUN%)'T`S%3JDM"!"#"%"()Q#*%HqHLC&MaDD4f,UU&!T9BDF'NG,U!)`$r
rb!,)'!D)!!!F90B"bb&L-!")-%J!)3-!3J#4kj'bd+U"#lck#X5YZ5*aK!m!+1Y
)-$!FS+`-"abTSJN"L)1)1)N%+`BqY`*cL!`$#!1-#`-Sk```bNTc5"N)5#+)'!4
X1J83B*!!!`!8!MPK48![,'$#D!bF-"S#qm)K`!e!!-!%#'Xdk`3N)+c`UJPI11&
&H8qmik3,J$J"64&@"-&%%9K!)3@X,b33!c!#J(!NV'$B)m)A)(`3LJJZH)HF1MH
A"mS)d[d$6PXE$P&F!,"+!!%%`%!3J"Ri4*)-#!K-J'%#AEka)Da2Jd%!"%Y(JFa
l3N$J*3&(qJZ``+0"B$!!$1`l0m*8`1%!``j$,$%N''[-XFF-L1a%&8e3mB428VJ
03-!$dheh`JR`rA$%5%aFmF8CEra&aaq($!hMLVIQ4"J%3(9cfeEiJdf9rm!M!L)
[&+l,2qLJ%!8)"c2!E`"R@)!%'`G!8U8!3Q$a#1p1KY#`%-i"S!J5EVMq!V%)9"N
!$9!m`J!3U*i4N!"$"i1!aR-[3%$p2i%1J%rhk`F+J"V+p`#%2rlmJ')#qT-Qh`m
Z`&rmVZHk+Je!#D#$J2hm`3dB9)mEeqX6!UMR$fp8b4rZS+!&G5%!)#K23pV$KI+
BK`$Rm3S&R4[FKN6@K#!N`3NJL+(-V2!2HL#SKL$!AJ[!KimGrS-I0l3(c3)#"Yl
p!ap23d,)G-'2e"J!!"S!J"F!B!%!K!!!%KJ5!)#M)46&U'il`*!!&&aa4$#`3!T
Zq)FpM-L2-Ij3"'P%BL4Z5!m`8)#0EZ3(()m)J8M!)3$fUk%Em@&%I#J"!QE3K",
55)mc%!#0DQ4MfQ$J!M9Ul%K3#))8TP#%*K6"#Ilb"cq'G`"X8*!!(mH6"[bUKdT
Gp)-CbK2#+5)SSN$eibYID!%5INK#*Cc2#@I`32m+N!!+C*!!dKjR@Xrb$QC#)F$
K(p'M4#prDBEaAHq(Y$`6-VV(2!E%S'%#Z'BVqm'&i5'!!UFmRK9@+FSUp3-+XC`
PpN$)4(584jHm2*J[UI3@F@E65REJ*X&J!!KaZT-"0%-R'a!JJc0TB)6-I0ic,eQ
()a3"08mB`K1-i#pXBZpi&P!H%S!K5bN80&$m%-BpGiQI02+$PZR6(M#i@8P8HZ&
)'S9#&NMA8@jd-hhV!iIf1,&+Sje*%['%+8VTN6-IqV55h+!S%S,J"0CFp!NGp3F
*1`!&9!QKN[i`)pM!QUYHj3SDVR#5(,!)9LN%BDT#H'X3T*&@")!J##)!JJ3J)3@
`3J#XX+MN2mUJM,'LUUc'3UZ63!#%Y1A35449h"!B&m1XI[8IrVMX2fM@'m(f&E1
'p3GLceTAaKl5$1)!!`T#+`9MQ48)LNA!@L9!eL$%GDTdA5aHp3U*[f*f#Q"9!J$
-`!`53S#-rhKXpQjD"m9"JE)cV1(kk*%+19"5MG%BM3+Z5irX1NQ@r62Q3U'3!)S
BV25)X1"(3-jJK!MDlKp-q'!PmD'K9-cJQ[M3(kT5830CiKH!6J+`![SA!&3XS+R
JidGi8f%$r+C#"YHP$h1*i0BV-1'&Rk6K+-m"!"K%$J%N)&J,P[$$)%a$#SXBJM5
NS)JqQS'T03e5h5M+Z#(SY,)DKYc"4[a$XH@4MDH&m3mKXBM!-CGa*i-K#+S`Kc!
-4JFJU)K$Q##@-TaN)K@j5%BfdT'2K'3N*6P*5PDbJcE)T!ilB%-DjN!(%D3!"'+
K`a[X%T+E9(QYCdN,#-aE&m23*6&iBFaHc1)A`!L'-(#4bjrY%QLp1#E2'eN,BK*
pQ,SS*Lq0i8ZK!`1#`44'dC1qY+!I$4@ZrLBiZA(#!$JFPH-NCcR0!B!##''GkN`
(1p24cR5i-afI!3!mda%2!-KM(J1Yacr`N3ppl)1IBZqR2qj*YS8'9+$p)%K"$()
3K#3N!!TC+#"V!a16a!3P%k(S@Lab%BaN4#-Ei8K(22)4N!#%4#3hK6Y1j+D6r,!
NT$Ce+8RLPT1IT#5r0+fThhQk0jrQp+Fk!H"1#,Fh`2(GTh)$kNb$1VL@mR5S4(A
+8C!!NT59+#@T1Pc+5TN+qC%kp5Q4!d"8)519U9#P+PDj#PC(QP@YN!#PUf,pUJl
H'TE2Mi8VAbfV@8Gi9V5Q9DdkS&YEh2)@Z))K,R+C#ehUBYF4h!8[HG(,A[M5eqm
FTf2*(5aK#f[BjIkf16JB@B8)!*R)5'BbP+Q-C5k$QF`X!S#D"8eR222C2i#'Xbm
-V@K(maS"P#D3!+Bp,@T6UpV9XVDeVRd0!'%E@pR1TJr(*SPeEiZFh!KQYl2RE@p
Upe[Q!*I#ca(1F)K6(10#53cjT')1%2L!F-eJJ#%H`!i-'-e!)-#'h[FG!!G!`rU
BJ!Vb`EF(je1!2qb64LC!IiXB0+,eciF!Il"$qpGRJ$r8-GhU8P,@f9AMq4'3!(j
k8(,k"QJB,@#44RZdJ3([KdIm!B#,30VMZ[D`Ir0A2Hj`IqrR$[(h$dMJIqr($[Y
("[4A3`BB3!lB-'J351jA5I5`Ie"!Iq-hJH1AJ+b!JHZ$$`#BJ%c`!afQJ3N)#bT
iJ[,hJLcB-&#JJUK`#V+d2P"3JX2$!BM`!5J5!2f6,RL!+N!S%,+8#K0`ANK`68L
!#R1JAbR)!rm!#kL!"iY%4H)$!()J5kL!$H@4!NM!!B4!B!5'#TX`2"V!#DM3#6r
!!KP!$fqB!ID!#T1!#YV`4`YN$UVeIZB`8Z8!#%(!$R%B$F$JKi!)#%0!L23`$F$
`!a$`!bR`(+J3#@MN$qB3I"L#L@d!$5r!!Q5)#YZ3!)8@F!B'm)QK+!fD'#-3m!D
pK`,fJhN)JSPJ)!+)#!b"1)JE3!k'+%Zkj!r%m)AP!8I!1$ZAD!jq5(qBe`E8!!+
Q%J!J%!MZJ(N,")E2')h6U$j!X%$@i)b3!!%*dNL0p`-0hLJ3i*L0ZE*!cR#*f(#
*d1"!Q)FeJD"H!T!!+dS!"'H!!("3!!Z%$'$3H`63Ml0)$E2)$#e!-2jJ3pA$Kk6
"!Me32GMJ$p+`52jJ$IPiLG)`"G9M$3rT$p$J$mT!NFj`NG@M$"VT$mlJ3")TMr3
)$G9$$3[83#A*NXrKN[l!$!ZN$@BBK'MiIYb3!)L$q!!dB)JqQBL,+*51#)Q55)Q
6m(lD!*6X-!'d3*3"p*5iU)K453Y*'BQ6+!#9#)pUJ`$cq"`HD!j[S!*1#C955CA
qB*@"Z)K5kBJ8`J9!S)*,kC@4d)G9UCC6HBKlHC9`UC@(#!&G8*F!F*GI'8$+N!"
G0`PJ%S!+Kb!IU)!)!%B"U+!)XdJ1B+!"ldF1PdJ1)`80MX!l#6P'#CPA%`!&rN"
)e8-2$!!"!,!$q8LDp("De+#5[1J-3S!#UfQDp%""q&!P"'!!pA-rk#!I`2Nr!B3
1U'!)-2!"#b32B%Q6!P#@Ed!$DAQ9JlL@IYQ@4TQ9MVJqm%!KqcGJ(GD9@'#BU!!
)B)#GIjQ,@8Q8%!!*e5-2-V#A`9!1JE#G8iNVD3328@#B-"!M!T!!RMB)#0FP$cB
T$q[$$RCC5I#`RJ$d$r)`S4%k#FPj"J$N$maC#,Gi$S,)$KT!#P3C1r3*!1J%"IG
*S9F3"$mJK#ZB(&BJS*A%$M0UJcKi"T)j#6XT%'L)KadT$IkJQ5c`IY3!P8,*PNF
+Q1b!P)r)PC3B#5ITQ5p*NH4J"VUTSfH3!*LB#*@lD)MT)iUNH!C5F)[`qDAGqBG
-ZSZ1Q$kS5!J[%!'SJ)`"T+CRbS[!)!-,#3)*))hqB%bq!J`JZSJD3!GYUMj4J!V
@!!B5B+BKLUCKQT%[HC,-F)c*'$GY!!$m`!c2Y%$J3)V9&!#%-)Ymk!'1USYiQMl
p)`#VLJVKB+PeUS`3d!EBi"`")!@T3!Zck!hPei8,'6h'F+VXJ+EbF8hd%+ESN!"
l`V@&SU#(pq-0l`F1CEQ&S1#X&55XN!!+!DJ`$4mDSL0UL%J!"DK!#X'(+[i!$QG
J"@0DT!%%$Pk+ThTkVRcUTi!k8S-USSB+$%#9U)[DU1hkVQ#UVG83VIEUV56+,Z*
+#KeT$ZF+UjJSUjRk$c*!NGj36F09VTL&VPb`VJ5VRF-+Vp9c0(hU$RqD,)++PB9
kU%M!VicDXAFDX+J`X2pkXS2iV3JlVTek2q"JHh5JV--&!2jJ#U3+"KD!VDQUVGR
JX1B!XCmk'U9iLU")#+L3!!hAa(aci)5Td!)BHkjRS!#A#!l4#JB#J(-69Q&3N!!
%RG44'pCK(aCLG-0Mr'"L++CL,1CL3YC%hc"M4dB&8Q"M@B"Mf!3h6J+h2NC',I9
$3CC$3eCNRA-N52C*-B3kUT-aG4"+dJ!(!m#0F+!!#d30eLS0X1-0Xe-lX'-0ZN0
#[V-KEb!mE-!"aX0"a!"4cI-mYXS!&)30ra3!YY!pha-q!E&'jA-qiD3qD43Sri!
#458rl&#Fq)1k[c0R[B3+,aFm*23#-A++(m9"QY!ph1Lmc`'pqL5p#N#p"f1pX[C
2BmZppp1-[F-[!`#q6U)%dZX!j0XR-H)!k'X%kLZ4bLQ4'dS0'fS0'bTDa8Y!Vk-
,pS!1S#-"-DQ5%$42%e3p'f32Q+""aq0"Md"2!5"#bc5l*p4kS--fd0"#,b4$dD@
3!$LN3ccN3d"8Id28Gi@84%Xd$rE`FP!N494N49LN49bN49m8Qf*%4[KJ4T!!",`
rP%Gl*%GdC%GiC,K*h%I1+NK#A%LRT8L-j%K&,%N3!)!8P8QEe%QI&%UMe,UQa%V
Z"!MXe%VeB!G*08q"8Jm1F&iY&Eqr&%c$9%`pL%a@SN`Ne%c2&%h6a%r@9&2r"!$
Ee-(H"%i'T3[eB!$$d`(SC-DZ4!"TA#AdS!pYh#H"3Jq5)-H"l!6p4-MC#`!"KFJ
%YFMdB!X*pFJ0C582eF%P*&(r3&%@K9%Da9%jPVhm%,Z2-&)PG9+@c!DHl&)`"3&
9`JpZ3&-r4&%jY90m5`8pp92%De4-T!4&*94@JP52i&pZV$dBmJ&1TEK4a9a6998
RScKCY99Gp3qA&9BX%&UM"9Ye09YY*9Hh09HPY9Ylp9Rqi&[q%&LS3PL'TB#0P9L
Pe9KUme(-*9R3C9PJT9QFp9Rr`-r`A0#NY9K!F&UTY9UBeeDZCG"Ua9DB"9GbP9Y
fTFqp"9E!K9Ql9e`(FebSSPb4p362aEFi&RS%-cP3!!H9NhUBScN@ihBJl$&a*cU
Nm`5Q%a$ri!`#XG62iG3$i03%i03&i03'i03(i03)m!r2!!!*`0@b"YB,!0B-!0B
0m!r3X%9S$3!2X0B3m!r4!!!4!0GB40F6m!r5J+*i$3!9m!r63%9q$3!Am!r8!!!
B30J!N!!"re!08,6B!,!"rf!0!-!"rh!0!0!"P8dGrh!9(r!2fB!Krk!09K6D!#!
#rl!0!$!#rm!0+I)2h3!!*I!2hP!3rb!N*Q!d!(!#ra!1!)!#rb!1!*!!![m`$X(
p$rUL![p3$J#`![pJ$X[p$ac'!VMcF2q3!!i!d!+$GphrX!lAm3rXd0hYm$M*)Gi
Hm`+adf(r%!rS,3rS23m!%!-ep0lr8!rbAF2`I3rbM3m!)!2rN!!2qrdHrld2rke
Hr0d2rqd2rmdqZa)3#llI!Z(J2,%V!q$JUE-V"H$J6l3V"r$H6X,K#F$K#X$K#m$
KG3-$!0!!(EC&+Ii!Mi0j,4i",Cj&a+)ea%)"emhA0ej&,#$B$fIBbjhB2aj&+[$
B`6hC4Gi"[8dGZ3d!(e!3'1,N9e3#TCdLU9hP+Z)U8Rj&*[$N@plN*k$N-B,NNaJ
DNlJ"-R,$&T-"2ii"2Ai"29j&,B$MF@lM-hiG1k`K-+iKX+NK,'lL`'(L+'lLG6-
P)ciP)6iP(ciP#$-P'liV'3i!&liV&8iD%1lJ!p(JQ)iU"rlI"XlI"2i2!XlIdm(
IrXhIqRhIp5hIp!hIp#$IlJd$&)VHkJhV%Q,Hj6hHjKhH0GVGh)hGkU$GeLhGa5(
G(-EFcXhFbShFqL,Fa#hF`1hE[+hEi%$EYLhEX1hDVFhDUShDTLhD)8$D)1$C6,l
CQQhCQ'hCP#hCN!$0f"VJf)TGf)GGf)2peaB3f(fGea5`ehFGea*!eh-GefqGeQf
GeJk`eQIGe@AGe@2Ge3S!ePrGe9[0e&R0e&I0e&A0e&20e&(0e!,Je!(Je+I#e#'
2+NZ0@5AI$bA2$b@r$b@2(-l3heap4$&r$c&[$c&I$c&2$fMp$r1`mr+`mr%!el%
Mp1mJp1k!err3$NM2$Rkph8f[$S4Gh9'2$SX0h99[$T'Gh*9Yh&Xr$T[pfjkpfk&
Y0'2r$DFYfk[YfQV2$@Lr$E8ppZ!`pZ%3pZ,`p9jr$9b2pq@3!29BA`e@lrG86`e
5,rK32`e1ErK-,`e*Mr4((`hr8251$`p#(r633+%lhr19Vr22-0me2r-aM`maR`m
Y[r)TIr)Pl`mPMbSL$r,rB#8IEb8GEb94E596E599(5UYMhbj[p9@mY@l%0Dr2pD
rApDrIpDrAr#rhpDmJ(RrX2ac[Icp[[ahh3Yk6Iep6IhelJZ#r3rDIpMDVpLrd0M
K$pRK6pPDJGPDi3(r%!cMc[lK,JbM$IqQ23bTr3rd6`,r3"QaA3bdcIqkE3bpl4m
FJq)f!*(ECf"ZbB#k+32YYJ!Vb6)3Em`![68$qFE8q&YAQ`&VM3E3Y4U`efa!B21
!KHd'1$BF%0N!3!l)E#I`+ZJ!FEF$5&X,4'e8L,Ae!'`h!fHE$kKY!1!'6VXIX0X
1dfm$!1#$Z)%2I4%%NKX!+),1V3Kb'#%`hCLJG@1#[fi)E,Hqi0fSB(JM!Z-0#hS
-,#JKX+"k+`+a$Jbk0c$BkX!JI31$03`-iMFMF%3!!"[dEfa`1V""!FF'e3XE0("
X%-'a3ICK"!K#(``)IA!Jp%'Hd!FRA"p-(Ah``[A"*p)(0e`I4"K&`+X"J%JBiL,
KL)Z%G5-5SVK)#"b+!SXV#V#T+-#iST!!4BB!!0!DTY$'QF)+`#YbQ"$JFDq3!-e
j#$AR)D+)Kc"c$5-d0!`NTi)m`'&LFMR`b6',+p)$TP`a(!&D4%@%%5NA4VDF$PK
b15$*4F0*K!21h!hiF6DJafA$1&F$l"`0D(%c)-AYLLNa*AD&L3Z('Z)E%SYZ'1H
biBl,KKEM'JkjDML*SQ'-L)CIlKPZZ@8)a&3%LN#'aG"9&--V`La!3$"XFVh`&b+
jA!J%L9`Y2)*!cN1`Z9ISjPjK&AQ&V$!9pS96Z"'cL#J%!+!3*,)eN3JF01%NT"X
Rm4,+QT2ii5)K`QL%EY#'*F+BL!JTh5#-LB,3$rT"6CF(hH!r`)-ra#I533$h"Rf
LIQ1$q!d06X,jYK6,)-pELZ`0$+Sh,JJ5(ep9R%CB-,a*`HmQ"EQE&2ae6T!!9c4
"k(B%QeYC9'j&8&m%35$i!hNJEq1"dqi'#SNE10YQi'ZEJDb0#U'f&LMD@Z"R@i&
Ai34DYK-Sf8JJBa1"KFd$rM82Q0FiB&c6J'N0!hBerXE8i0X%K(84d,`p`%Ub!,(
E!T4Z#C!!ZAd'j$B!KGX!p'd!8,Ia[p['rf)ECF"rp%qed6r6"[qq(I`,Gqb[Xl%
rpAIqrS&@S'cMlaq%[hBArK4Epq0qfdrle6[Vp`qSAlkMIRF0qM8rZ6BGhpVbDf[
(lam82qe)0lLMm!0qAQhhjEkXK[YXAqkVID3Kpm@qTQBP6N9lE(dNlhDJ[YZ"mQk
(bVXG,1pf))IE)ITZ"qME"Iq!jJ&)Q`FJF4k!e(N!XZF"b*r(#p*EmaYk$E,S0FL
Me`X@Ai9NHK9b(A#r`E-Kdm''T(Ur`1U&5+`A)[FH-1"k*p,V"31`Yb,RRM!JHbr
5l!d$Y$FMZd(q5h[&i1cP5'h`$ia"f$X'A`p)iVfcB3hqJA[`HmSJkL9*`lF-N!!
H-a"kc@$R[Ec0YrPHAZ@,NSl[55Uq*QRiNU6J5j*qccd8bE1"pi!N0K#!BFp(mXJ
FkICb*0XM"QT[4RS$qrIfAQ6FHj&cEdA@[4ATp8iN1I#0@Qp%#NF4L6Xkj)D%HVl
!k9h)jQJKNm1$P*!!%0*"0XLIPb#eB`faP!C5M9K+!5Rcq#0mh)qJ$MlHajm)(qG
MI&4Ule(!I6`"er%%A&46,e20`&8e"&I9f-H&#`Lh%Y)pZ![(%e,(K*Y`UB-RA,L
"N!!VLk@QQj@3!1iRESLJ'09B*DKVDJ,Z9%6,8)NU@"lU8hNS$q@T206(mUUP8YX
(Gk!EK-Yaf3d3`H`iPqC5&93"GFNZU`!cQ!([-Pl1!&9!,qXP[54jq**p5)9pb5r
lTErmP`!cB!V-J8N`#kE"2*J)-f%Uc)A*-"ZQ`hbB%$0L5Xb*'4!1J%Z)#61"b6L
C-J"PT-a$L!KBaL*J")b*CY3-Qa%",-!-e*N4N!!bkm`F5!0kS!bmXj6`"F`!'h!
bEbE1c"Q2i!EXM"XS!fX&,83D2[-@r%bSD65CKY$m"8lMD5M0SK%eMSB[#%fe`"E
k$+La0%Kcd25&TAPS2NfP!65,)@SqKJHh&44#3ZJ*QS%"F)2p%a"#!l-!!-*K0``
%"8!F`!e8X!%+!!fX'VTK%"(![m#E)'!"8*QIH@8SJN9!!#iKC-)"!!!S!$#&5T!
!*Im5rM1($&QYJ!!3"$`#,1"!L"Ja$V#)"q+%J![Z"46K,U0*N`8#3MM*%Q-!%)!
![)`j8bE-PMKckYc*XkI2Rd#$#Ke+Y+M4SdL6+Ph+Y+R6Te#MRS`C8'*!4!"%!-#
U&4%L%5+mJN@N5S3UXQDCUCUK5LeEGkTfUB)VepfZAHlXi[fhkjml[Ri"*qcl$a!
%!5!#)!"#3+(MIemMKa8433344*8[%`2%!-d3!6"-a))aB!-fB!`DU3+`Z[9@%98
QadB8Z`TYf(HkjGlGM@T'99@!#kmbJ"!5'!`%"!JJL%J1)S+@"d"%38334%&%8!!
%+)J2"!JSM"0"J"%G%4F`3I!&#"'#G3J3!5U"6%BL-L5B5",&+BJ[&FP3X!i3S!4
%`%@!!!%#!!)3)0&U-@%98f(F93J)!Kb)%!`J!64))5$rJ)F!2ZFGmFJ&)X6a#`#
rr!,,Ll$mmiF[ABJ54%cke*-M+&$`+0@23!BTj*!!4"CTj*&)*XR6'fk!m!3FCEJ
a"4eKM,&'!fH`mBBBBE!"3KY4eK%$#f#k8BF-C)Bj3jTQdX"Q(6@mDF1E0lb*!jC
DFZQP'8c5`3+IEY$aa4aTk&&'!`fdd!))8j4""`Ke`!%#(@L8!3)CCCJ44KeX2!V
SSh5m!B))4d4CKKeKL!"#$$+!!-FED36D!"ae2$S$#,''#X+RXpDkDUZjL[VTS)8
HQZLL0B$34*JJ*%&('@h-dHZM)P`4aKaSa(T'U'lX`%5XBlc"4VG,41P''@6NXB-
5,S!3""PK4,YZTQD8)FFF61kJDV"IKKN$SSU#F1ZbCMElE,66MJU&Z'[X3%8HE0L
l3lPZR*ZZ[VJ'+QUCC`+m+!l+-ZXXY0,55Ud4EmK"aJj@K0'N%(A)%D@hi)VE,EY
4Y2YZ[(0Jc#r(-b3X!K*Kb#&('[Kf5d8BCY#a3a&)4iR''hG)()3FP-D--G22bY'
[Q8%I#m)0)4Fm-X)QMmU%#d+dUm3ED,L4p!j%Uk`Yh88I2AF6Bb`4Dm6UlU[aehA
3)25hES3llJjAT-('h$#2JBE,,QrGY,f%'bif$@AAB6$*3K[K1"YYT&b'`qLQ#i)
8El`aakPPG,T$%'l$,AHqJZ[+F3dHJf"$jjqMl5ZT4CZ44Z`V2aba(1Y@ZFEFZ@m
FTJe#8fbaZNY$R2)166!TaaZRUmSejKa6,hDV"(YqGXR$$a'a(E'l[,)4,K$4,ZZ
Z`bjlp)6Id(X1`&ZId1T'KVXe)3`&R"X8MLH(-B3[BlS,djh5CThDa@eZ4j!!JmZ
F4V3mP+&RiVZFecJf`IDeMJeT)--C6NF&1G5K$C9$3Z[Jal`3GSe`GfT!P-MJ*#K
*L8T@3K5LQ!5#-@MTG8-S'KQ%aMmaR'&Aaf-$$dAJXMP863iLd+%EH'M%r#94CBK
DLJ!!d)3J&-3a3a%!#LTJ%P*d"!$1%!N!B+%9!1`$&3'a45B#iSYf--J!3JJ)+ZJ
JN`9-3LBFm)4-@+!#QI!J%M*K!MCNdS99b-30Cj!!b4p@%J")H%-QSCL"6'5K#CN
-`a`bSFBJC%+1&FLN(V%)L$'q%4!`P!3!C*!!Sj*fbFYHq[+A`03*)*L3!)5#M15
@-UN+4Mj#!3B"J!!!'!!iRJR*J(bN*5-3b6@$'45*3#%)4bK#3,*j6"V!S3Qi-%P
)`2!(KHc$-Ie`6%8!d!"8J!%#+d&("9b!M5V!S"!N5!3d)5+"5B!!"*!!!-!Z+[!
$4N5K"S8!4`B)X8a2J)!!+d&&*9b"L#Mm%`B"S#K9++##L`i#!DD)K5)B)3GiF!)
#)38!%!*5J8JX++'SL)!$%*%%@"5#!)%J3!#SBJ&XJ+!!8`$!1ZkK!N3-J3D-!%"
39a+3!!ZX!J3Xb!%#H"%,A54L#$*J"J3D`!KLc"3!'(LL#(*!J&6%B!@)1%CBJE'
!P%!N!a!iD#i3N!"6&b#L#E!S"J%53B5K"N3$hJ#"!,B!J&cX%a&CN!"")8!3J4+
--5!EZ"83)!')R$SJ%8'!35-3%9)03)3$QPM35R"4"4HJ`U1&3%-!+%&9!(6!(![
D!JC5mGJS5"B%JE"V3$``#(G"!"#Td#PSBp!)S3id)"pBJ@S"i&RXr"-!!N8#4%!
3L`8&!!+JL)8#-#%%'$`#!!8J`eN"!!%KX2-ImBcR,rlK$bqiiaZrf--m%9!"%0a
K&kN!c#RqX3F[V++GIjJR0aI-i!Blq-%3MV#%*dcK#P[i`KM1X)Bhc1%1HrM$)!l
a83!KK#8FJ3JF#8J%k,"HL!3J)!bSi`2mq1)A"`3&*m&aKjE65*M1P!BYfBJ%))+
"+Pi4)e4)!adL"J)K11m-hk[$&TAbBL'8%3SU*U4,6")!+ec@a9l15*Hr["0Lk))
3M!$"2r!aMKem)#'*!%%9X0$Q'P5K#L"3"5VDV!*9U-)3HGlc$RcJCcR6H3FMZ(1
Jffb@2bmDdHT3KD%CV@Jp-eS0MVDd[[3Jk6NcZJj9q)8K4%hU8CZke+)QK5(5r!G
iY(N#6rK(R2hFCJ&`@Xj@U$@SddcI0JIJ#,+'`Cd"-Bi9J"S'ILEf#MM0#"Ld%aM
&IX!r&!'$K%"l"G+ZpMr!%HerU)+L%!&'L8m-icSk)"-Y9NP!CTcLM6!!)Q`iL9B
%S"`!"!%!$`"!(!+3!)k6[&M)4-i)MK&3Ed`!S!9c$)!br"e0!%M!aN@@fj%aSTA
N[*J$!+J$!(`3!$m`I#-8X,&T)4+&1Rb3!!jT)++6V36P0dLC$%1TmT8$FQiaFcR
-,X%jQ-QX%c1M@FeXGM1F*ld$1q0Cdhh1Y+!*hHP$*rVSJQidS$8pJNJ6(6C3[l6
5'AeV6qX,e+JqYGK,V@T@ZhS(X*CeRP94kklRHJF#f,@DrH&VB#G#f&93pV'6A@a
Q1rXIejBfYDhGE@ec'p[H"RFbaieLI2X4!#(i4VUG+C!!0mEiQ3!`!%5)N@-'+5F
!23l!Mi2XF#)Ef9iC-8%dkfhD"J$J"[cqZ--KRZ3PPi(Lckah)#-3J"%%B"bNIlH
kNBcH'TFJi`(B!3#b!BU0E"R'%)&!%I#Jj)!3XA4eH&d9i0!!-V`KID-UZC*"J)3
m3%N1Ab4$&RIi*CGVRrXrNAN3X!aj@Mirjc`IXjKeAZBcmcVSEkCfAQGdMjCd8lG
dKHCe6rGS8[GS9GGdP*CeqS*T"mKe%2KeS6Cf'NKfU`B#VICUX6CVE!GhEUGV9F"
VG,F$[aCX`eCXHkF+bZChcpCYJ`GiKCF3KbGYh`B4"3!+3a!%8Y"i)3%8j&4j!(!
!!,!!!4%!@'CA"+#%@V&M!'"D2!!!1"!!`b"l)AGB'6&[pHC((4!!&a!!Nm35'h%
4p05&UrGLfP"k*D&i*Z&Z0PCE!8%&Q@Gmb+Gmc1Gm,JB4`XGHiUGPeqGqCE"phIG
pc#)#J8KqjQF[kEGq@p4qf9H)m!F!8J!!#9"M*K!!*"!!2$!Gc@Gcd+F58e)dMd)
&*fGp6B*pliFPSU)Vji)(Mc)'5U4&2-5+P1Kk@5%3pAB%TFGBF*J4FMKm%+%9#b!
!'k%&!)"adK!!E@L'!J%4ZKJ3#9%+)(!&X4-ZB$)TSK)'V[)'Y#)T($-T*`F#T3!
!m*8%FN-(,M3'+-FNFk!$k1J290#0%SFjP')TF@"bFr#1EX!#)2!k%H11Ne)T)#!
'YF)YAe)dDi!Z)#!04T3'9Y)[dp!Zl[+0i8Ji4G3RB4!Vf[+0Fd!SBX"NThF[rM8
k)"!'F!!P4@14h3-r"@NTBa!cq1)eZT)(,ZFeNT-r69+5+4Q*-K-aef)Tq5L*Vh1
3!!R**"ET2K+j"L"!4%@*N!"dS*!!-#3($FP$dP#+@!-#U0L2dm#0"eN'Ca!V-8Q
1rHJ#BI32pU#1l2J'C&!(lTKbEL#2re!29*!!,A-3N!"!j*6K%LJG+6F"Q3Db@!C
4!J,lH(*bQCGK)!BZ"bS'#3Fb3bLB%LKjq3CQ8*C9i!C+jT!!TIJXFf#4GfNTY#)
(Vh+8PPQ3!%LMPmk$+hQT+j!!q8&4mLL[NT%F8jQA53Gh)#S&C!Ee)M1"-LQ0')m
JJ%,R8M3rb80`F$`@LBdTq6Lk#5h`b)jKm#b6NTZANJDmD5qa#3,CFJCSJ%,HLA+
B4)k5SjQ(QCGmBT12H6b%mjN("3)SJ$*HiifB3L@1ij!!Q$)(Bh!dF1#26hQCb@N
TYAQF-CN'AM1*VL+84rNk4'Q3!+BSN8`Q$8(3*%A3"XPj0,6S*82`"KCD0%JMPrm
*!JYN+AEJRSK6"XDC2R2`P3HC"cS!!Z`#!NR%"Q`3"T2cMb"!"13(MQX3+h-!N!"
Y`bKa8`BTC#m`e*-VLD*(-jjN@C3aN!!$1!!b8j!!"%F`"%L3!!3Ek3Dp'581j#V
Iid$SSLfIQ3)(aCa&3j4bN!!((kNVp@QNXG+JPK+8djN'-0Q2[VNYD+#BN9JeBE!
'ja+5(a5L+#Sj)CU24`NQP1+@lPQQPG)N11NjaU1Cf(+5P&+@RLQE#QST2PQ8jqQ
2LZQBPX*qTeQ8rELDmV-ViU)PGe#@"53cF3Q2-5NcB2NkNCKp)2#SAK1CVb)h(i5
@4$&'2aL%!9&2'$&j*e'%PrGLQLF6-I&P3f"B3K83X`!!a`!!b4!!+a#+prH(%-#
8%lNXUQL8C8!%91-'H,)PA3)#CY)'i@)dCH#1!-Nari)PMJ)#*eSd#a11+##[+G!
!f)NV"l-U)6Tq25#`q@LZ&'3Yf+)Y#TQD4GQZVMU,8b14CH!#6I4%aS-mSe+5@C3
fk`UalrSSdK8$%#3U(jXb%GX!Gp#4S'+GVp1AC#!YCr#+*PX'XPK%Y4JlVb-dSEQ
4lNU3!$kCQJUE,CM%,4CEXJH*X9%d44bVXLaEN!!bBbN[bb3akiTJ'BZcQ,14L*f
f++lNHJIQ#K%#F!96ierA8TE'Fbqb'CP&qTZMDT!!QEQC205C(r3$ZXJ!*BHB4$3
#-F!6L"'XM9G3aES6b"U&b536GN"j!*!!"J'3!,M,)Dh8DUhBUUep1)VXjDe1#Di
!-)L6q,AQQLASkL8Rql0q3MJbJ#JVp#Mh+JIj'LRl'LBbd+rrZTPY),#R5E!Jd#S
(bl-3JcN1Dj!!)%Z3!$Y*X8I,,di%44T,4IH)43NcZK%,!L1,Y-iEXNilIVJT+P1
l46*,XqTUXeN,4MTl+"68Xm(l+%'EPmTM,m8l1-HEX9+dXFZE45YV[@J3Y3(jVP5
l[9IV[6J,[PYV"Pf,LjilMAM,Mrij!M)3%'0EYL[EQJDCY[d)!RC!X9lk3@d,+U)
L"[LlMDmTQGY*+9(QRDb+STAkYU,*YT0*"cm!&-!+K)dh!BS%%FCU%S@E6$B@!(b
JZ"bA`im,!00DVGHDVAbiK(iBICJE-Z%U`19kVRULVLp8[['U*UKEVk[EZR$`ZQ!
MZjG*ZlDlaBp5X-QbZa480hT$4,mVNbJEXN8dX3kd[VV5[NX,[eCN,ahV+p0,N!$
4bbph6!I9fl,BLlrDDl@`b,qd#,k2)ll$3ljT$,6,bjVNPcG)Sj3ALlc[Ulacc,c
ckjMfQle91l2lHl1&[%6XalAXTm4J5m"jfimJ1J+La#"N+bS0M,B''X&3J-)IV*[
X5CD@D6`1Y-+r#J#!'a!N0EJk8F-eYS3jr'9"J--bB@-r,,P#,)S!`+e(V,QFqcS
$$,T0[-G4h#C6V,T[LUrJk,SF3`0D$,$3dX8!#`)&HbYL2$aN(-P0FXBqqlc$fmD
6l,j-'lr0qm5,,,)#UmIq6,TpA*er$,2k1mLJR,1(c,2!qmmrHFQ1(-p*imBCV,6
*fl5C$,@%HEm),FJeZp$qbd1N()QQ(,B`PXS($'5ZR#f%@XX@R-,FL8"PL5dTFkR
N+!HeUmZm5E'qc-,!l-)d98d"-F-CBFb('`#+S,JJYG3pr-a"6,P%E,RGLN,IHRZ
EZiU%Q-ejNUlF6$Lm3krJA*bX1mjA[$[Rc-8NHlYIR,XaLE#*R$TjX$UYmcV`dbQ
1r,!3IFm9QmpaE-PA9-H2XXI3'p#$XmF&IEdHREmJhEdL,FS02Ei26ES4I8@1M)T
NS$ViBpHa3`F@RE58[-qA,,p2#m)GcFN*(G,I+mVr'm"E[F4qU0+VA!-+r-TQkm#
@mULB9)i`lF'"mY0#mEG#$3"&4F`jJG3hE("IPJ3"B("2(EP42F5(1me'E0@CLpA
A2+j,V-eH2G!4fmee-#HS'LJ!15b%BLMI,+,(Bm9B(0jrdLI[(5M%BLJX%!0T(E"
VlFAX,$"[,64+i$a*NpH6EFpXh0G)#mFCcFmHkpeUR-H(cH$ZQ0JZ#mLGc,eBflq
3!,fcNSh'P(fq-!VJNRcJ'&h*'PhDpA[D&*lDMVhDA9[5YrMDTjc5"Vc+0P$E,Sd
'&HcEMa,,IPUZ,9U@QQNPEK![Kb)06r#q50#8+C-(d`$F1L(F`JS!9QAF1)(F5mJ
*LJX&!B$Pc`h%Nb[G0NEG+P(0f+h9RE[GA5fk%&kk(&-RiefkjPdXk6fLl0hQmHd
RF8lIpZf[ATc1qEh1"8Zbld`YlU-rTdV2jE['X),2)KlDFKcBrFbZ%1hJX,MQ%Rl
3M1h*#XhLiH[3(2km(PlSGbdrRihJ*-l2'fhD8T[LMAhKSGcL!&c+-)l5"Dbh66)
#0f$M%SRM(Ac"Y`d#X41b$JQ,60)#IIQbY8+R4'QNHFR6[&`'6JlPMCG@9)j0FT5
X55d*L[ZXfYlPd#c9ddh0eSh%@HfeD"kk6LcTT'XRGhlRmfdXUD[HC9$R%Y6ZH9i
'pAhIIMk`EIdlJciU(45SL,lA"9lU)blDN!#qi1Vq[*4ZXTDHkK2qdCUZfKLZ3j'
Gb!1ZaKiHm*rTe`NqfSPpiUXZm4C1b&T,dV&ZdV11bM1qYcLJki6Dkc)Gbm(ZM[J
C-fYUN!"$%*[QNJCGiZ4&)Hd"J9I9cK*@,K1@S,K#%!"*lqh4,FhLhT6NRYeFMHl
F,+rfhLI[2ZIVEGEY25DIiZlRMHpl2V[icHrllFk0@MhQJLjc2I#8cGF'lqL!6FH
4RZJ0RqlPHqQ,(FJ6[q)9hqNEAXmDhmLTD6eZ2rIkr1KfRqSLhrF9rXQFhYUbIZB
a,Z1f$J)MN!!$0Jl,CeZ8ZVe#%AbNB+R"`$k3!-q#R,EmfdFKp&2i56*-Z0GZZ$H
Fp&mQ"8cIc*!!kqA4[+h9,IA@E1EBI1lE[1C[JLCKIqpF2qpHcc()$prhRZpmMXk
eqqHiUrC4`[B9irB#rZPU,2FHIqSJVr"iEpL9[[$8#r'Bl[FPrpJ@Vq%Blrf-,0'
(hrETS[KrAH,dZmQXr[HZI[+i)Z@p1-Z(dUDCE0YE-3!'G,jI9j3Jf0U+DEFX,"f
NP$(2QN44`NfakAK8+JF5+'*'(J"kBNY'$EI-8[51eHbcB8Y)Z8%%'p$FG*m2Jfj
I$ZVp[UZ@a&BHGe0ck!pHPE1X*pr'h[+MGff#"`U+X5Ipc0kqBf[lM@cm1a%31@k
8bqKqK%pi&Ec`Kr$X([QEG1E2iH9!2UEq)*q+qhq'$2j4#dA@i3aIAQU#P--0i,q
2"qNF(rmMHC)[m&%qP8F!@9lQieYpUk9j2YcfP0`!'jKVA%*ba)k8NH-Z'!K8#Ui
2YC4!'RB#MaR58e`j)2Fj[4MSqmEFZ!YqjZk8h8#ppmrHK*Y)IPV2"iSeH3F%#iF
3I(FX!!ESZqU(pX"BIk-JL%0ac$-qQ1M!Ak0EI(@2H9e"bTEh%&XA4'fYcZ5&383
f"M2Hr,0XU5N@fS`e+2lDS)PlJjQZr8dqP1IDkQ"XDhQhMP8X`&M@!'ICSj!!!Q@
!9S`NLI3%C9jX1S4)`IAGPN9ie"TK8P1"!F%*Y-"*f2XUPjLlA*H`c'A#cjAQ11'
kfafR8"6'1cVAr-*%R!#&2E"BT-*9U-j`Pk"EHa4%G0#SdL'Vi"k"@h3'cRJG2-D
R#qhBQLYX*%ZJE8'q"`cpRc$-F-4`9*!!39"R"N'!4#3GTS-C9N&-pJa4("cFG(+
3!"T@[Z&hq3`J0Y4m-D#9,E!p+-[89L'8DBa*$P6!XY3!001jH"Da#FGa3$VJ!G'
K!JYU8BkiX%1-F24bhjGKJ8h2QF(!HMM9lQ&9!hlkm+3aXHkf"H9%3*4cSj!!)1U
Vm[%@kCXUR(jUV4@#!-ka""'IkV#)hfm+hX,mTq!miKB%LG,ViC@fL"F0iq#V%hc
a,`UDVjES&r1!615)T'hrfF6'L"-Iia`FJ$ba!0Bk9BB!@GT3C)!'L8Rm34NeRDD
'96Z+jc!MZ,lSXK8K3PFN"BTV"J3!h%J2`9fBLhSdX0bTa8eipF*%R8#)3a!Z$X5
Z0aH0Beh%GhI4#,*#*&L`G"G%("ld`hl3YIaaeai&B*5#'2%bjN,"jJmCAKBXMqP
[-Dkrb0FC'CSB9)R'F$,5[lb8(Hp(AG-IRSd+BXD3!!F0fCpM")!ZEKrD3G+B$@Q
E(N50PN)D1)%bX+U)!)TL!er*(,+qeLF#SaahUBhMa"hH-'hhC6j4Ya1,[-mh&M&
,L"CVB"dNMXD2K$c((eJ3c331H)i,%5qH2HS)!X,BGD3@'@5$3-&D+"Je)YeV@V[
32)E%"cF5If(rNiD"lq)93rNR(j&KAXU4J8)mkMp0YKRpBhXFD3'`'SE'!AR!BN#
0DfQl$MEqTY5%N!#1KN-L5e#5$T`!p-@Ka)"92!S%!!J%-rB55'*I-C-Ml1E&)+'
!B!8SM`#`*(hb!'JL6Z5*3"'B'j'!#"X11319&JQ4)6+*lQmRjL+)-!!f&#E4)&5
a4RNUJ25S+TYfiL%a)&Q8VcrS!Jc%AA)C6UP6TLGAmD$'3"U!!h1+59P!['5@2&Z
CdP5bLSDm[8#KRIV4QA481@NMYB%b33F8%f2b&3'U29NN+*!!U5C&Ri*6Nb)0E#0
GXDN-8UG+6!9T1U@N*'@FS**"!S-m"!@FULk",c*'@DS5fJK@1X8RFN$'`"8i'Y6
*qm`NBTN#d&)$!!&C`1AJV#C4mpT5N!$V%UX4KML1@a8XG48m#P5kJNMP)cQJ!a$
&HhUB%iS-b!a[P!61`*!!#a9hB!ldU"FP2bBQ%$L@8N4p+Bk8J8$HJ!Y!&jlMS+!
!YQ3[RZ),U!*6S!JiJ5*!"IV9`ha23Z!0j!%HdN'%dmhmQHrT"XJ!'"!$kS3-L!%
dS&8!cDA*00m6#YK3&US10!Sj!$pXCJ0i!PkM8p+L9G54[!5ZHNV*562"UP$aSJl
+L!)HABQ20Ffeb6EEjY+%!LlJ#E5,R)N(pQ,5T"jZ-frU6DDC-cN&TT!!!`"T#$`
"%)!$B-!-J!%fS!A3J,XCVX"4P%JrDa%(lVhT4pKiJ!m!!6$J&CU3!%XjR6M&R)*
(R&*IPL4dS5T-J!P!M`5*Aa`-lN0"*#1TY#(i#&U`6Pqa1JHMaN)jYZIpT834-!9
39Ki)RCkMJ*!!!6G`!Kj&[(-CFkemA8EF'6&JAGGbR'i!FZB%!H#$KKYr`C!!!+!
)jFRTC[Z@d)S)Lc*K%h@L6i3)4#49!iG8SL&aT93N("dPpd'4EA&GhB([J8N34GV
)R#*alph2a0J'jLH61!10,C6P,Ldj+D1*06UEi1F!9Sb1*+[1d61*!Hd#'mQUC$Q
J9XLjd#!dDUkK+%+"13MKj&!Cq%K8)#K+m35*Nj*U6hDV!FJ!Lb4$9TA`,%X$+Pf
H+A2C0D*&L*UBm%)-1!iPm`%4a3aJS96M1['3!+)83cN8V+b)r()SK5L"&,*!e'R
b4Z1)GU93'V#FY*1VB%m$5P2i5Up"#1H!UJUKp`[e86rdp$hD3!UY!8[T#AC+5K%
VR0)6G30cE4)eZbCa"flF&493B5)[j5Dr+3%TSU@iP`p6*8%QF(3dTP1$+U(KE)6
Nd44U!jD6bhPIR4*"8G!mDLkrCQkb5Mp!C6,,$4UUm!!FU&'a)J8X"Di8"*)!%h!
-%q"8UNR&4+03&4Yi(LiJPJ)#!K&5C@&N6@8J+%eKBeGbDA4P+3!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"A6e*%68&$33%!S%Q
KJ+"*b5-!!!-L!!!HTJ!!!Q8!!"6Abc&dT3!!!!!!!,-@!!!%#!K!!,'!!3i'p#)
1!$X!qJ)8#1!J!)B!)J+S##!M!)m!4J)F#4!P`*B!B`,!#4""5TN`C*U8!B'L5CJ
a9q5NS9-QK3##9jj))G)Nb*!!)!-$"KeDp'M5J)!#eJ"$X+V9JU#5K)S+J!1XJ!0
%h")!6%!c!GB%K"13!%l!1`(`"0JE%)$Z!!B$,J`)-5$&!"S$I!a!-J$+!#`$`!a
!-`$1!$`$!!e!0!$5!%`$3!dJ0H$8J&B$C!h308$B!'8$T!h30N$F!(8$j!h34d!
!J3-%'"#S3#!%J48%DK$i38!*!5d%e"$)3k!2!8%%'K(S4#!9!9i%LK&S4U!D!A!
%eK%J#-)&LadN!N),q1)I'"""QJ!!!8@qMUY9N`CJBQ"+(6GNK*%(IJ%Cd-3E!!T
))!!(8&&('A-%1#"q#9a4"KPZ3#MK93K3J8BGFN5Si&8''+(6KJ3L-%8BG)#)SP8
(+"'''h@%)FH%("T4KKKbe(JMIJAB*-FBD#`)3!&"`+%6'dB1B"11#aEhAaP'!L!
P'e$LCd!3GCa4aaad,*M!&'A!`9-EBT3Kae8(2$%'(@qNZ5Cq#$MaKKePS+NQR85
8-8DHFZ,hccm!$&!9#b!%P'K!L1)AJ"0e%!6"!b#83BFEFV`44KS4XS('''E!34!
1!%J!3!J!1%#3!!@&!P#"P3!m!%!a!)K3%!!3!(!"!"4!G'5T!$6JJ`r$II"$!6l
mN!#X$cAmF!-#`b*%N!""##N%J"F!'(%)!`@B3"!(e`U8K"08-#&3U903)8@L!kN
3d+#,AK8![!'P0bd[Jb)8*N&lj5X3)J!F`3%F!!`!L!&!3%%!#"2qi`FJ!-)&"!!
!NBL3!!-S!"!`)R4!#J!'!!-5)J%!*@&"H!)!rH2fMjd!HJ)S"4"3!-8!KJi4MLb
C8!"+3#3"J%M*!1M(!%J6"MMaS'&5Ne#M0T4+Y@V9R&1P*N!P&'%!43!3r*-(`-*
B!,V'"N$dVfeE!!`3KX5+&@S#C&d,SJKleLcCY2,@ZRdE&f6CK"DSEV!d)#1!"1J
#F1Kl&V$J`A$P5Jh3`+$!c)BjZ`Q)X(")K*p0*dbYQE-,dU$R0P!!@cAUdUdE1'4
Yf#X%a`eeepDm!KiNUe,T(BY""Kidh,%"N!"`i&"fQZ'p9A1q(6d)[3Q8,$a)BQq
1Q#ph(UhjSm0!ML"[J0JVF8p,T#FZLT8b8NPHZ%pe2)!#2C1%-)3%m[a646dr&%(
21dA8md3+cQ&h@N1r*56EEY#&P--mq$e`"383R!1"2G(m8!FJeJK#33&!+))H"3*
!%8JS`K`3JMhB0&#%2Grm8+'&`A'RRA#mE8JNCaa'ajP!54jTT'BH`20*!XJ"8-m
"(c3!R@SD8"HDPd3Q#B!0mlcJ`J0)S*G!(J,%mN!E%pb$"30IY'&1%!I!%-)6E3$
5"3%@@',2#DHmN!$(22q3!'RQ$[1miB+99ha44bS2j'(T!h8%iN!FFpD*4Crh9()
2&3rF3B8p[r`!J$b23"%+'K"mJ)FkCra!iA0QIM(2&fX1-8DQPJT`b`pV&!$0'2G
!BLF'T1l""b`QSUJL)2I884mNpS3`*a83@*Q!'q4iFB3B%+``KJ*c@#"ILR8m)Z4
c4")ac`pVYRR(Qh''DLHHH[)*J`@"+(ZM-(A!d)8"rN)KVK`IY-'SPfBb-Fm(Dij
BiSR`!Q*2($%BS8Uc&Kcb)K#f*%%M&(DQZfkl%cf3!)#9G0SjmC)0S)(cG@BU%)!
`[3(JJG!!Y!!!'3'mNr3+61$$6aJ!&1$$$MTMJ)mCAPQ6P9FlL2!&#NQ!%!8*EH"
$J`K5J-#$4K#)`S-5%c@NG9d"l*!!LLC-I2-"!%l8S83,q,KaaQ0S6,(%#`X%S8p
`64lT@BI"33RjNd3kX#8%p-$l!"8B[%"aKkB*X%%p5d!J#"[f`(+2Y,#`8B`phS`
4"b!Vi*%!&rIN13%)H$K!"JJ,%i#""8c!3XiADR!!3VGcf!0(-6RF`d8)N!#)d@m
90p`6"K*b00[&!d0S388D8"6$!`8hr(!'Ti%!-8F)6E#"J6cJM!H$18,`84mCmJ"
c6a`'#!)#AP#(6q5KHA"B!36)d3%+6#!BY"-$`0j4Ka!!`8i8m*JeQQ8,l6e!$",
ih`3%N!!Y%RS#!mSU"`A"BDeikB"G&RJ##e*eLf8FJ(DQ'i-PNQ"##&6M(P1!a"3
H%,mjP'!4m`2''#"a$S`"J%#ImKF@qUG!L!@+$"!JJa(8Pi%qJH%B6!K&rjDS3!c
1k3eV`)!"%+!"$TaJL'*SPMeqQ+Xcp+X0PJV%!@3!"3A+``9a#)Db&0K%%G$3KMR
JJaJ`%+F%B)!1AGc40ej$Ma#8iKj``+)HAP%(34MKMB++%`RVB%)83U1&Mp""KC)
NJ#f3!'jM,85!#CkaKMl9cJ'SXmA('$!&%m`"%'!)a"&-HBm2e!%$S&cGY,"ST`c
8D*1G0%))qY8T3Ae3#V!i"A2F%m@D6E&q9+K&)!5!4J3U-!5#5*8H3$''4pb"4R+
+`cfL))Jki%!!Y,#82IC3J"J-NQ-U+Z8mB'',9[bcQ-G-*KBJS%db5,&r"@9I0d9
&[`G8`4!IqqIT8SF(0RkM"EC5aaM%3)9lI))&lK%P"RL(J&S)SD*AJ%#fYQ821PK
!"FdL&`IX%))$J+!2a!V3(5b9#J)!%Crkh%1rj%P2HpV5G+Ml"3[L"!0EN3-$f$)
9&3T`MKY-!4"[1%mG3+$!&RT-83E!`Iq1S,kPcV1H1(JU3T%j"4[3`BG!&'+F&)!
'%"JM#8rGk#pHmmUjJR)1EQhU$-i3K!!D!"$98!9k8MNN-pQJ(UD#JM&Jd%B56)%
2DRK&(ZCd"P#8kP6#+`F1'!Q&#kb!![0iKD-J4`)K[#%2[d0#'!kS!a$F3!B`L-%
0@##$'0"!"L!!!3U'm)Bf`+%18bL$(1a3KK4m,MSL3*@QkX#!BE@KY+IGDPHr@S,
BAPFe$S###r!$!Y[L!33d1+i0cUZC#pLf$Q`JJh4C!))K2!%%1)$"$'"JJaE%9`E
c,3A1'TFEfTK*!P"i`h2K!))QP-%0Bje#(DCEKMaF9`,9#Bl1c-3N)N&JF3!BJ6m
D!JB!,!!!kU!("#*K!MeN`*(%m--EP9@YMT(a!KI%!JDkqd'm"K'aXA#!'bM`!"&
mj`%rmJBG3!Zq2*RM#)93f!1J!#Sl2'*06)"CjP6d#%2'%4,dH%@`e'!+@raJKN5
J(cd+mBiec1%4+-h"!ei+MRVX)!CjS)!pV2(Q3aV!(4C!`P-[pU&(i1!"8k$(*ij
!MamJJ4k3!#K'$a`B$!F8)4JCD"iH+NVIS#(N#"hi(3!)B!J!L#!K`$Q#"`!"JSC
)!3!+@%&G!)"U)Y5D!'4`0D`6JQSXe$S!G-#eVT9bJ3YJ+#-"b&#dSCdK!8!J%Fp
Zb!3QN!$YDAGEfY[1YQqSR4&V%q,Ej-kfYE(YE@X,!YhU0Kfmfbe[EpYEf[K1plh
eRHpjpcY,!!qi`!G1m+J%J"UV3BJ!B0!6KE-L)4%T#$X5JJ#%%-!G%%F)!LB1R38
3)5%Fpi!T!1#)!(MKd)PHp!FDrHK)6lV5PmldTKrSD9#,QY4%)J!8dP#'kiT*554
'dZ5%(Td$+)FjUpa)L%XFp"%2hHR4JE#%kd"K#f-B""VQX)GK!f,$*#!!X!JDPNJ
!J*'`)3$D3$[6R!BeU9(0)eF,MS1(cQ#3!#`&!+!)!"pQ3S!b!+!A!G"!!%$-K`J
%!"3`b-&&"('4NZ2D*!+!KJ#!J!N!11$[!IK)2J)!&-"V!!#Ej`2Q2apkKFm$!!F
!`!IXmBm!!!2e',&(3bD5qK20([Df$d#,(p#!M*LKa3`S6)X"X2X#q"li+bE!m(I
IH`#BB3c$H!3Mm-'(H)`$(-Ah24R-`!4r-)-!BaK`pTdrKR-``2[J&cm!(Q"mjcq
I%HJ22`aDl!!#q0i-BHM(pq92IrXlh`KNS(rT0hrVehar-!MM`!M-`!am%!2M3)!
[GQ+PX@+kjf)BJ@,`af)@+)%!J!F8f'+e*hX9Q(UVehVJ!(XP'!!R5)+XTi)!d!!
'm!(rm!Nrd"ER`!mQq))#))1Ii!rr!!!hQ)-1`#8c#!0i!!rQm!$p))4%q!Nc-!0
QB!CRX)3Z1)3mq)6Q))98H)*@1)0BU)9-H)8cN!#&8aL'AJL&B&L&4$J)-i!$5&L
',XL#15L(,SJP(i!2rc!!cr!2*fL(H+L(I2JB')%2)-%%a#H)%%#)!f#),BBPL9L
)KqJ!eJB!Bp!2!4%5"r!%`'4jNfJ'PQJ!)C%!bS"p"CJ4E1!"2Z!$([!"-d!!bJ!
,`$H*H,!2V6KjX!JAN`J(Y%J!NdH![*F4H2!$6bL--q!3[YKmE#"J!rD%!!!)aqK
l-I#%d6J$c3J'c*F4Bq!"6lL+H`-%eVL"Le-!)H'0,4D"++CL'QL1#1%"(iKl)JL
#XDH")5L2m9L"$0"qFB%($,!2'RL2'4%Ac,#2'[J!#2#2!-#!H2!2Kp#1[jJC#kL
!c!!8KdL3!!E*$`c)$-l3MJl3'!F*!2S(!-HJN4c*$"l*$!8`$",CBT9hHCZ(!B2
(HD!AH#mTHTXRH)5h%5-*$2TA!-Q3!*,V9j!!(3J-$-J(c"#5p*Klm)L8lRL8llL
8)eL25GQ8rTJC1!!1r'L2q!J!B3!)9hQ0F)%(mh!-MF!*2#"k%pPm$-!-BF!)cL!
$8BJ3ATQ@DmN-12#@CjN4c2!dMm!-('#AAXN-`,#@$1!!IPQ+"dN-DmN%*P#B$BN
(H"!'Km!)(-!$@(1)mrL85RQC88Q2+EL#)0'#*bJ!ThF4Mh!4Jr!25J!!m5!4!6!
)*UF!l`!!GJ!!N4!!#"!!Vf"iL+Gi!-"i*1F3Y0%6NNGj!'!#XJN!B#%,!5!,aaN
*!+#FVp#FciQE#VF0X!F!hY"kVhHEcIJ0YmHGJ1#G!3!(BH%3iGN3j!QHiTQHjVQ
HjGQGk2QHjcQHmZQHkKQIpdQIqFQHm+QIlBQIrqQIrFQImdQJlLNQA&N3#'!!B)!
1m@N"jXQ2!S!!#!!)p,"U3B!43#!!Ld1I'4#K8C-!RF!-Xj!!#Ik$S4V"SI(*!5"
U!!U!"**!$#8`![a!L!DJ!M(!$Ga`"c-!#$K"RKl3SSZ!$*i`#$2U$iYcQrkJ!JS
J!9)J#A$cSd,6SSU!!*!!!!LP!!)(N!#N!q!2&*!!!j,`T&%DRd(DM2aS!('!#)a
`#"N!!J13!+5T4`&))!9L#J45qU(0@!m0-3!*ZU!!3!%l%+Ca)!0f'Tm9B*jkLK6
!`)q@aa!A'*m8B*iA#J#,@K'1#JBG5Ti3)+N)BC8)J3%A5TqEfSb6#JD-LJ1KUUQ
F#J#kL""`N!#U!$!"R(S!1)!3Qa"f!!!1X#UVT)Tk(k%!6S"aP,UVXmS"!-!*Ql!
,H3F-a0UV"b#*5K#Xl-#RX0Te&KS3"X!"b,S,Zc!!TdHIeRUK"R!!5K#YlZ!1ar#
Yj"QZPmJ*flS,VU#Z!-#Z"L!!j4UXlX!1mNU["1#ZbES,Z##[KYHV!k!!pqS2lL#
[[(UY!k#Yb1S2Zp#Vi-UTrT!!QNk!X--DRqcU$j`!!*X!XAKAV44VX4LVUaT,X4h
lX4%,#l!DUAQUF"A,0aL,$Lf,U"E(X4i,XVK3Xbq,Dc&lX4M($M`,#(S+&cLVXQJ
KXMfV!$rE$qkJY%4E%8IE$lX`Y%A,Y"EVY#p,RbiEY3$!!9-EX9%lX5rE$eQ,FF#
3!+MVDV2pN!#b9,ZeDeZfCdZTDMZ[E1Zf%3X+G@ZYHQUfI+1eI4DIP@HFc!N@lV#
FcdQE!(#idFQFcXQi#0'e43ZfH)YhGAZSc5L#Ap'dD&Zh%*Uj$4&j4`Za!D!,%1#
jjLPl"4!!Y@#`dBU`!4!1m)#kS&X!!Z!0a1#[T2X"XrZJUBYVV%X,phUZiI!2q%#
l(S0V"Z!0hX!-lrS*aSZmXUF!"9!,Y3!,5[!&qGS@aqZlS"X3rZ!0"X!*XE!,Mm#
pdSX3"H!2Y5!!XJ!'lZ#$!0#pp)Qjb4X3rH!0V[F'mNZrj'QrXKFer9!,R2F(rAZ
j[iZrqJX)"[b$rJX!!+bq!qak$6brGGZe!@`!qCZV5fM"N!#D`!8``!!3#ahm`"'
X`!A`$Aq!Jp&VU#!m`!@J#JZ"[Llm[3+3!,m&8!8V6-2dqERh'`$XD`#dS!UI`-+
pfm-*,!$KD`$I8!9IB-6Tfa""E!ZUm!T3l,hhD`",R!e9F!@Fm!VrF-6NkF-"r!0
",!Y9c!bV`)Ge@kEBiK6m%,i*8!e9-!ANX!!,i48GV*2a53,QZ@)#%"'"B)N"m!$
J`,i*S!UUN!!+j$!!EI&k!E$(K%bH*I$("5()K2`(!"#q$N$(93!2MR`-11%,EI%
$I%bIPGb-+iB!""!!4c!$X3!-!d#)l1X2UV!!q1$)`2!(`"!![p!@[h$+j'N#PU`
"VC`%"RX!rr"kAX#mP9!&9B!(bJ`-"m!2!F!,MM!(Sb$-a9R-4$!!kD!$5E#3!!K
4!pDV!SV-"mS-&(r`$lj3#kh3#Ya-c+SF083J!#QJ"%J!")$X!FcV$e@`!$b`cUM
RcVA3$[)mbGeFc`@!!i*`!MU`")!!b1C-#lBX!0$l$bZfZZmFcpcF!6BV!2lF$3!
Y!&r3&KXG!)CJ#h13!0!V'Y,9+`XA$FEqX')0)FN[rE)#i!$H8!dPI38,BG14r)2
F,,N&8EfLF0'RX""@@a#h@``P23A'fp3#`,U+F0'T%-C3'kVH8!Rp8!8"`)GEh4#
eS!,pS!TKEE*NHkd!i!9I,3"8`-Z`1V"X632mJ0CrF+fLZUS-`!p9!!!q)+m)HRT
hIDcb1UTX(3"q$3"B)0MQ5GLUd)b1,GN!X0K!-0Q!F(UiGYCNXGH8(68!$3"8d0R
NLD"NBFYi4pU@CjjN)3!9!-fV5Cr#!3LaV3UJ%0[Nb3$QZCT`!3raUG[0b0X-i0[
d#GbdA4V%RGZlMGbr[GbphGc"cGc&lGc$$Gh(rGcd1EL,LjbfLEJB9jZh'ChIhGh
4#4I8RGcQ(GhBVGcUl3$SEGbmE3$[lGcbEGha2GrUAGr6RGriIGhk6CjdVEU)B(%
"JGi"(MA(X@S&(Tm(AJ#K`!RMd!%Jm0m!d1$#)!@88!SKi!m'rVX&-!V5F!NDcZ(
aLGLb4`#5)!'88!)J%*ZHRE`%N!!)NM!*(!!1,XlHJ%!@3R(MkChM#!%-2,kIp3Q
J!cVNp*Pkf0Pk[XfG2r!05[kH6IlN!Q#GT'QDrq#J*S&U32"V3L"X#1&XTpB"9!!
e#)!,ApX#"T%4cSCU82"V+J!AbjB4*m"V(2"H"A'#$"$R!(!$G*jF"8%*F1i3'A%
%[0B"5&"V#)"`HHi3ah%&KFi%Hd%!J8%'HRi1KFi&[fB$J4kV!(!2KFi#Ha%!RJ!
!+V!A'"%!Y)&U+)$SH+jVrl!+J9IS1&"V$!!$"1!'F4i!Ee$S*("XIV$TQkV*U1E
R!B!ALakV!I!)KFi"Hb%![#!GTVkTSP$S+e83BEISrq!'L)YU2&"V%1!*#S!2F5i
!(iGU&)$S&h(X%!$AK3i"L2j`alkK`BCU$,!A#%#)X$$Z(B&U#2"VA+(Zq&6S"2"
VY!$X!N!-KGi9!D!c!)p`4m!"q("X$(IXN!!J!14!jbL`&`CJ"3%J#AS1#Dl-!I"
`E&b`kE@@G`r2$RXa!"2R!hVHb`q2$V8Q!!1ZlJ!!$5&2$XeqS6+Jjq!3mZ!`mk*
hl,8'$b(2$5[2R$U3!1ZEq[$B-21jRHXJ%2,8d1`q!!!p,qJ"!!-K$`dc,`-Q(`"
!%2,-X2*L3"+j$JBKM`c(TJh!2TiK6``VEj`mN!$VJ"$b`("XN[$f)2r`[2"VVkI
ZKaIbZ,!A"q#J,T!!kl!3mV4`E'XMq$$2!E!3kZB!!%+3!1Xirr#NJ1L*NIKDrr-
2$`Ur4T+#Er32c`RfrR%L-1i0mI#B-22T2Zj0c`'8F"d%J!eP-Hj6rr#3!%$Q@)-
"imle$mm)C2lVUbrSNaIbL("X)j&V!3#683!!:
--- End of File ---

llkl@uhura.cc.rochester.edu (Laurie Kleiner) (12/04/89)

Dear Net-Landers,

	I have been following the debate in comp.cog-eng about new menu
interfaces.   I am especially interested in circular "pie menus" and am
wondering if anyone in MacLand has done anything with this idea.  
	I got the hypercard XCMD's from sumex-aim (pie-menu?) but haven't 
been able to implement it.  Maybe someone has just been playing with 
circles and irregularily shaped buttons (can you do that in SuperCard?).     
	I'm hoping to make this into a senior project, so any leads at
all would be appreaciated (other systems, papers, etc). 

-- 
-------------------------------------------------------------------------------
Laurie Kleiner                                     LLKL_SS@DB1.CC.ROCHESTER.EDU 
            Old enough to know better, stupid enough to do it anyhow. 
-------------------------------------------------------------------------------

krona@nada.kth.se (Kjell Krona) (12/06/89)

I have made a VERY simple stack with pie-menus, by simply creating
several different cards, and moving between them. The only restraint
is that you have to do a calculation yourself to find out which
menu region you are in. This is simple with four slices, but
rapidly becomes more complicated...

	- kjell

writer@neptune.UUCP (Writer) (12/09/89)

In article <2477@draken.nada.kth.se> krona@nada.kth.se (Kjell Krona) writes:
>I have made a VERY simple stack with pie-menus...
>... This is simple with four slices, but rapidly becomes more complicated...

This got me thinking and programming, so here is my gift to the world:
-a button that, when clicked, returns the angle from the central point
of the button.  This is based on the following assumptions (please 
don't abuse me if I did this un-mathematically... it's been years 
since a history prof has asked me to calculate the cosine of Napoleon.)

Quadrants and angles:
     ---0/360---
     ..4..|..1..
     .....|.....
 270 ----------- 90 deg
     ..3..|..2..
     .....|.....
     --180 deg--

Here's the button script:

on mouseUp
  put the rect of me into var
  put trunc((item 1 of var+item 3 of var)/2) into rx
  put trunc((item 2 of var+item 4 of var)/2) into ry
    -- rx and ry are the coordinates of the middle of the button
  if (item 1 of the clickloc)> rx
  then put "1 2" into var1 else put "3 4" into var1
    -- if the click is on the right-hand side of the vertical 
    -- centerline, then it is in quadrant 1 or 2
  if (item 2 of the clickloc)> ry
  then put "2 3" into var2 else put "1 4" into var2
    -- if the click is below the horizontal centerline,
    -- then it is in quadrant 2 or 3
  repeat with count = 1 to 4
    if var1 contains count and var2 contains count
    then put count into quad
  end repeat
    -- find the shared quadrant 
    -- quad has the appropriate quadrant number in it (see diagram)
  
  put (item 1 of the clickloc)-rx into lx
  put -1*((item 2 of the clickloc)-ry) into ly
    -- align lx and ly (the click) to the center point of the button,
    -- in standard x-y coordinates (not the edge of the screen)

  if quad = 1 then put 0 into temp
  if quad = 2 then put -180 into temp
  if quad = 3 then put 180 into temp
  if quad = 4 then put -360 into temp
    -- housekeeping to keep the angle and the quadrants correct

  put abs(trunc(temp+(atan((abs(lx)/abs(ly)))*57.730721))) into ang

  put ang -- the angle! (Yay!)

end mouseUp

So there you have it... many apologies if I've typo'd.
Your button can be any size, and if you are using it with a diagram,
then put it on the background level, or make it transparent.

Center it around a pie chart, and this should give you enough information 
to determine where in the pie the user clicked.  You could use
(lx^2+ly^2) = r^2 (where r is the radius of the pie) to check if the user
is within the bounds of the circle.

-Nigel, Waterloo co-op at large.