[comp.binaries.mac] Macintosh Technical Notes - #160: Key Mapping

bytebug@felix.UUCP (Roger L. Long) (09/18/87)

[Macintosh Technical Notes - #160: Key Mapping]

This technical note describes the key code mapping scheme used in
the  Macintosh  SE,  Macintosh II, and System file 4.1 and later.
It also provides a "safe" method for remapping keyboards.

---
(This file must be converted with BinHex 4.0)

:$&41-6B`)%YPH8eKF!"A6e*%68&$33#3"$Ab!!!$3A+j!!B!I`!#!!3!N!2r!2m
!N!-"!!!eLJ"S!'J!!$9f!&!!8'eKG1S!-!!#!*!$5!")!*!%!YS#+2rKrq)#q3*
'!`F&+!2m!!)!N!0)!%J!N!3#fJ)S!!%!N!0N!*!$!3!"N!-!N!-"*`m!!3!"!!-
+C!!$#[#!)`#3"4N"N!!!N#%#!*!$!J#3"3%!!#K%!%!!!#5N!#B!$!$[rr)!K[r
b!8ErN!S!!3#3!`%!N!8"!!!SK!!J!!!NbJ!1rr)!([rb!1crmJ'krj!'$!!!!`!
#!*!$!J#3"3%!!#fD"r!!!#LN"2ErmJ!Hrr)!l2rb!EVrN!8!$J%!&@e[GQ8J4J!
*!Hm!!J#3!`N!driI!Hm"lf9b)'Pc)'4bB@GRD@iJ)(3!!3eP!!B!!!S!!"8!-29
"bcI'S26P)3mMmamfm`m*j[Ca!*!$"G$cA`RdXIH3!26@lR2fI`d!!!B!!!S!!"8
!N!-'!!!+!3!9!!%0!!!'!!!-!!!9!!%0!!!'!!!+!!!@!"8!#3(K!!%!N!-*!@J
'J!#3&`B!!!`!!!-!#3(K!`3!N!-*!#J!H3%r!EN"jJ(QEL"TFb"KEQ&XEfG[!&q
3A`d0!!B!!!N!!"8!([6@ac*BX29"bcI'S26P)Bm*m*!!r`m0!"J!!!i"!"8!'3i
&!"8!'`i"!"8!("J4!"F!!3d!!!B!!!`!!"8!&3!K'"%!&`!"$@8!"J!!$J!!&J!
5)c%f-$SJ5f9j)%eKF("TEQF0!!B!!!i!!"8!!3hr!!B!!!i!!"8!#3(Q!`3!N!-
*!"B!*!%A!EN"jJ(QEL"TFb"KEQ&XEfG[!"he-4"UKI1[#I9,%28m4q)26@0[Ca6
`d!!!"J!!$J!!&3!"$3%!"J!!$J!!&3!"$3)!"J!!$!!!&3!"$3%!"J!!$!!!&3!
"$3B!"J!!#J!!&J!"$3B!"J!!#J!!&J!9!&q3A`d0!!B!!!N!!"8!!3d!!!B!!!i
!!"8!Zr9,H!)FXhaU!e)3NBa(pL'!+a$fXIH3!-@4$feZjcpR#-XIE4$h@"N(-#X
3p0E(-PL`p6p&mX$deXFb@,$dRdRb`'13!28rHB)IE3ek%202,[-3Bj!!TL&2,Jp
*)'U&$NAhCj'!B2dSE4r6$fd5YC!!e8""pYEZFrC`pV(hRf*@5BmZm0!!!!B!!!i
!!"8!Aj"I$3d!"J!!#3!!&3!"$3!!"J!!$J!!&3+)p8X3pV(hQ#4IDa$feZjcpR$
fdFYMH2E3YS$f)4--YMpR'3e8!V%26@ac*BX28r4I,!+a$deXFb@,$dRdRb`'13p
f&)G6$c6blc%&d#X3p6pjJKpY$ASI,Jp24rCh0UVhRb`'$fXIHB*&pV%-Eh@"N!"
M"c)86hALmX"MN!!V%(-K42GH),BjS8#AMQ,,'3+a$fXIHF@4!P"J*'1+BR8`4IG
5Fa$PFb'3!#82B[H3!'#Pph$fdIE96hN19c)8$bMdXIHI-I9%Bi"8$dXIHI-[9%B
imTmZ$e5hJ%Ah8R-3phD!Fi*USC!!BJpL95!RpY%2B[H3!#X3p6pjJKpYmX"MN!$
hGS$fF6&'U[H3!%(UE"N"-R3Dpj!!9!F`jN)09!3IE@lR2fF#X3pV(hRf*@5I,Jp
AX6!V%2DapjaC%2GfJ2E@lKRb`()2GfJ%%[G8-C!!*3+a"c)86hAL#f1D&2,!Bj!
!+a#f1D&!+a-1@#'3!#X3(hB6,bi29,%#4MLQ*e-%Ah8R-3Bj!V%2Dapj$feZ$hF
8%2BP+`a6*R-C"c!V%28rHB)IE3ek%%'&pe6"J25I6[5I9!m`"MN2-I,[$3!!(J!
!$!!!&3%B$!!!&J%K$!!!&3%P$!!!&J%Z$!!!&3!"$3%!"J!!$!!!&3*Lp*-#X3-
IG`p6pjJKpY$ASI,!+a#PphmYpY(fe8pj$PFb&)"N%)*kS#X8%'13!'33JRUJaUS
C$f,hN!!V%26@ac*BX28+peMb`2B[G5"N%$8JaUSC$f,hN!$d(d6d))pjJKpYMbi
29,(hN!"N%13B&2GKN!#&!VBJEZTmBR8i!VBJaUS#XIE3phHU##HU$f)3Ef+K!P$
h@"!V(fd#8#4MLQ)3pV(hR&NBmZ$e5apj!eph$PFb!P"J4IG5Fa!VBJIfhU(fd6+
!+a!aph$e2hQ#(fd2E4bf0ipYmZ$dN`+hJ$(hF2E4bf0ipYmX!V%2DapjJNAfX3a
[GB'!B`Fb&%pei[,!Bj!!+a"c)86hAL#f1D&!pYES!V%%EhF2DapjaC%#8'$p,hC
d,h9Ur6$fXIHF@4mX$hHhb`H!+a-)%b!P"J*'i-DU'3p,(hRe4'12,Jp8Yi"&pe*
c%2E@k!+a$hCd,h9U$fXIHF@4!P"M$d(e2d2dRdN2GQVh8I,!Bj!!35pe3i!VBJ*
3+a#f1D&2,!phYmX1@#J#X3(hB6,bl`d!%J!!$!!!&3(R$!!!&J([$!!!&3!"$3%
!"J!!$!!!&3)RpAFV!V%'RhB6)&d$(hF2DapjpL9NQ2,!B2E4bf0ipY$hGS!a'4N
#82E@i#X3Ppd8%b"'ph$fXIHF@4J#8'##BjC*$hCd,h9U$fXIHF@4!VBJaIGDN!$
f)3pYEZ'3!#8#X3p"p6p$p*p*"MN)iFGU$,C'`K3)%SmZ$e5a$feZjcpR$8Afd%E
hF#82GR3[G@S2DapjaC'!H!P6%09!pV(hRf*@53YNRhGN%(14i6N6`I,Jp8X34[G
`pYEZFrC`4IG5Fa$h@"J'!QpLS33BH4-JF`+a$e2hQ#(fd%'&pe6"$d[dhd(e$bi
!p#D(aUVhRb`#X34[G`pV(hR&N3H!peJC!P"cNIH!Fb8#X3*[BU%(-25r6I3I82,
Jp8X3pfD[G4"L!V%(14pi'3TFBR8`F`p,p0p"p3"i$hHf)(J%%[G8-C!!D!+a$hC
d,h9U$fXIHF@4mZ$e5a$96feL"G!V%25r6I3I8!3BAh9-%(J*'-4rBKN2BKTIGr,
Jm0!!"J!!$!!!&3!"$@J!"J!!$!!!&3$hp8X3mambmi$f,hNK!QpLS3H!KrEHVhN
'"6(bdPmY8a$feZjcpR"G""DJpV(hR&NB!P$hCd,h9U$fXIHF@4Mb`#X3edJJpLp
j)3H!+a$hCd,h9U$fXIHF@4$932*2-2-2,!+a#"a6N!$932*2-2-I,!%XmZ!29,%
,IfH`pLFJA3+a$hCd,h9U$fXIHF@4#(pR0UJ'-"pi`H*e-"-Npj!!F`+a!IH-(LG
6#RJ[,[$3!"i!!!`!!"8!JJ`!!"B!K3`!!"8!PJ`!!"B!Q3`!!"8!jI9,%25r6I3
I8!3BAh9-%)*N+!phFV"J,hG3pLpj)3p*p%mX$9UPph'3!2B[H3B#ph82B[H5%2G
K5(8`2hAfhf)8mZ!29,H!H!eDTIGaN!$f,hN#X3mambmi$f,hNK$fXIHF@4$feZj
cpR!QpLSI,!NBa(pL'3Ef*IGK"c!VH!)FXhaU!e)I,J$e5a!QpLS3H!eDTIGaN!$
f,hN'#RJJA3(hM"iR8imZm0!!"J!!$!!!&3%1$!!!&3!"$A3!"J!!$!!!&3"04P9
13e4*6diJN!0,CAP8FQ&ZFbKdFQ&ZFd4KG'%k8(4b1fYPH@0[C'8k5@jdC@GPFMY
@39)JFh4KG'8k6'pZCfPZG#Nk6%p14dP19!d0!!B!!!S!!"B!#3(K!`3!N!-*!#J
!H3%r!EN"jJ(QEL"TFb"KEQ&XEfG[!!%0!J!'!!!-!!!9!EIe5a!NBip%BQ$Q4[E
4)8"i"JjA-K3#8#X3p,p$p)p5"rE@pR%(-2E4pY92HI,Jp8X3pV(hR&N3jNEfd5&
!H!B`Fb(fF8$&pYj(JC!!A3+a$feCIA&!fQpRJ(-2BR+!mimYmamemX"M$hA[,jA
hF`JNAfX3fQpR"c$f*b$cF2+2-I2IGHmTmX"MN!!V%2GR3[G@S2Dapj!!aC%(-2B
R+!mfmYm`mZ$e5a##BK$Q4[E4)8"i"JpfD[G4"c)80U!P$dXIHI9%Bi$hHhb`Lep
eU3pL%13B&2GKN!"X4BJ-DUJ(d*&T$fXIHB"N%*'(3CmZ$dNJH!NH%j%b"6!V%25
r3r528JFp92E@*e2b`)8(d#X3p,p$p)p5"i$,BrCaRb`)*L%)YIGDN!$f)33B%J*
3m`mZm0!!!%)!!!`!!"8!"!`!!"B!$3`!!"8!4J`!!"B!63`!!"8!jJ`!!"B!k``
!!"8"$3`!!"B"&3`!!"8"Q``!!"B"S!`!!"8!!3eS!!B!!!`!!"8"229,%2626r6
[4r5I6[9!35pe3aN(J'`[G@U[H3,hG3mamfmYpLFJbf4X)8J#82BK$PJKN!"S!IG
K-S$bMh@2G@U[H3+a#hpRX2B[H5%&d"E,"i$c$bRb`,IfH`ph9*!!edJ[,Jp""",
h9$'3!2GQVh83A3m`"c!A+a32Ge53!)YIGDN$8JpL%1@#'I,Jp%8$8JNH%j!!8`p
hYmX2Ge53!#X3bf4X)8$hGkS"13pei(2bi25G$f*5X2Ge5B"N%2GQTjmX!V%`+a#
h$hG8N!#,Ah@T$f)3jB)C$A5#mZm0!")!!!`!!"8!"!`!!"B!#``!!"8!!3d"!!B
!!!`!!"8$%[56!V%26@ac*BX28r43Bj!!p0E(-PL`p*p*mX!V%25r6I3I8!Bj$d[
d2dMe)%'&pe6"J'33F`p5p2p0mZ$dN`+a$deXFb@,$e#[GBmX!V%28rHB)IE3peJ
B"Jp,p$p)p5""KIG8`3F`+a$e2hQ#(fd0HKmZ$dN`9*&!*33IE@i#X3pV(hRf*@5
I,!pjAh82EIGB))pelUpj"Jp,p$p)p5""KIG8`3Bj#fpf%#X3p6pjJKpY$h@""bm
Z$dN`DCFR8`*3+a$d[d2dMe)%'&pe6"mX!V&""i"M"SKFGL'3!28r5I3r6J3BAh9
-(bi29,%28r5I3r6J3BAh9-%14IGRNB"JpR4ZYm""j"J6*LG6"G!V%-pe4"-JpV(
hRf*@53pYEZFrCr,Jp'9!(hK[EHSI,!+a$dC"2,$fXIHIBPC*#QpjAh8JYS"Jp6p
*p$p1"G"Jp'36b`fQpR!P#4KrCcBK!VBJjN*mpeTN$feZ"i$2G836+[H3!'`Rpf(
bi29,%28r5I3r6J3BAh9-%)YIGDN2BK#&pY%%(N'"-Q*e-&d2H9pe31C#I2GDC!3
IE@lb`'13!(+!p*p%mM$fhh@#$f)3+a#'pY%'J#X3p,p$p)p5r9Mbi29,%25r3r5
28J3BAh9-%2EIGB)2BK!fpY'3!'lNANGL'[HI,!D!+a33phHU$f)3B23e-N@Jp3B
aS&iR8`+f)2GhUJDUAhF#X3peJ8!P$,9B%#X3EZ4H4f)3pYE[,Jm0!!!'!!!-!!!
9!!%0!3!'!!!-!!!9!!%0!3!'!!!-!!!9!"Ie)IE@lR2fF#X3pV(hRf*@5I$3!!!
'!!!1!3!9!!%0!J!'!!!-!!!9![,e)IE@lR2fF#X3pV(hRf*@53aM$f)3P6%#ph8
2GfpjMcS"FV&!BJpL95!RpY(b`&304IE3phFVF`B`EZTmBR8r,Jp5(feZjcpR$8A
fd2Gh+h-'-'lUI'*e--B`pL%2E@N3i8pYBa-JmSpe-RS#X3-IH#$f*9,bRb`&3&1
[H3e8!V%+I4"G!V%'lUI'*e2bi29,%%(feZjcpR"i"XaIEHTiXC!!pLpj$feCIIH
A2fF'$d[d2dMe)%'&pe6"mX"MN!!KUR2fF#X3p6pjJKpY!P$h@"!V%$(hF25r3r5
28[,Jp8X3p,p$p)p5$fhh@##fpf%'-25I4!2hAfhf)8"c!V%%BrCa"G!V%'lNANG
L%)a(i[,!Bj!!pYpeJJY[GK"M"SKFGL'3!28r5I3r6J3BAh9-%2Gh+`+a#'pY%25
I4!2hAfhf)8mZ$e5a$e*IE@-)a(i[,!e8!IH'pYkKmX$h@"J#X34MpR%2-!*3mam
fmcmimcmX"MN#X3JQ1@53!25r3r528Jp*p%J09!&XX-Ah8b6hN!"N%#X3K[E4"S!
V%-Ah8b6hN!$&N3mSp9p6$cd2-2,!p'36b`mp$c(b`24a6feM$cd2-[,!p**UGM$
cd2-r,!%XmZmTmZ$d'L&$BRpf%28PpYB`pV(hRf*@5B#,Ah@T#fpf%$pepYpL&)#
&pY(hHa33F`+a#-4q)%BrCamX!I,[Cr,Jr5p%pf9'pVr6"L$dRd320I-2-2,[$3!
!"J!!$!!!&3!"$3!!"J!!$!!!&3(#p88%(feZ!V%2DapjpL9NN!"L$f*9)#IfdI,
!+a33pYpeJJpL%'$feCIA'3p,p$p)p5""KIG8`3F`+a$e2hQ#(fd0HK$hGbX'-25
I4!F`+a"'2fF3A3+a"Zj&j(BK#-4q,bi256"TPbG6!P!V%25r3r528J3BAh9-(b`
#X8%2EIGB)2BK"M"SKFGL'3p6p*p$p1""KIG8`I,Jp882E@pV%#X3p6pjJKpY$h@
"!V%2E9PpFC!!p,p$p)p5"L$f*9)#IfdI,!pjAh82EIGB)-YMpR%#X3%b4aJ(-#X
3FUpL""KIG8`3F`+a$e2hQ#(fd0HK!P""fK`J+a$dRd3&d#X3pY@AeaN25r3r528
[,!Bj$e2dRd2di%'&pe6"Mbi29,%(+[BJ3BAh9-%092E@)(J*'-4rBKN2BKTIGr,
[$3!B!!!-!3!9!#--!!!9!CN-!!!@!Cd-!!!9!!%0D3!'!!!-!!!9!!%0!3!'!!!
-!!!9!!%0!!!'!!!-!!!9!!%0!!!'!!!-!!!9!!%0!!!'!!!-!!!9!#ceG()K-2B
[HI1[#I3fpY&&-23R5"m*p6(L(fhf)8$c(b`2-I1I120r$3!!"J!!$J!!&3!Ym*P
LB)*(2fI`RhCNG[BU%+%rCbX2+1D-DJJNFrCr+I$3!!!'!!!+!!!@!"r`Rd(d6d)
&l&NI#I0!pLFS$bMf*bJNFrCr+I$3!!B!!!S!!"B!%[#GHU$f*bM`Rc-2BR+2$3!
!"J!!#J!!&J!"$3%!"J!!#J!!&J!!$!!!&3!%!HB$"!#3!`3!+!#L!6m"Z3(i!IK
Z)'Pc)'&ZB@a[Cfm!&A+[BJ3BAh9-%092E@,`d!!!"J!!$J%!&3!"$3%!"J!!$!%
!&3"(,bSYN""TG'aL)+8J5@jdCA*ZBA4TEfjKE#"6Bh*TF(3J3R9ZC'aP,C!3+Lm
0$3!-!!!-!!!@!!%+!!!@!!i[HH%2*h+[B[*`plm0!!!'!!!+!!!@!#Mh8iIfFaN
(-KpR&21r#I,r+JFUm`"j!rGIEIBK6`R`RbVbr`d!"J!!#J!!&J!Spe1(pR-C"c)
ICa6c[`RbrbS(+[-3H32hAfhf)8m*m*mUm[m0!!B!!!S!!"B!+2G6KrCc'3Fb(fF
8mlm*m[mU"bVc)(N$pepYpL&2#I#I+[,r$3!'!!!+!!!@!#,h8iIfFaN(-KpR&21
r#I,r+J3B&2GKR`R`RbVbr`d!"J!!#J!!&J!Lpe1(pR-C"c)ICa6c[`RbrbS%'"6
hBCm*m*mUm[m0!!B!!!S!!"B!)[G6KrCc'3Fb(fF8mlm*m[mU""J8pf'I#I#I+[,
r$3!'!!!+!!!@!$Mh8iIfFaN(-KpR&21r#I,r+JTMpRpeEfF3aC%2HamZpRmZ#Q2
fIdC"2,ppm*mUm[m0!!!'!!!+!!!@!#[h8iIfFaN(-KpR&21r#I,r+J2hAfhf)8m
[PL%-@4M`R`RbVbr`d!!'!!!+!!!@!#Mh8iIfFaN(-KpR&21r#I,r+Jp,p$p)p5"
j!rGIEIBK6`R`RbVbr`d!!!B!!!S!!"B!+2G6KrCc'3Fb(fF8mlm*m[mU$e2dRd2
di(N$pepYpL&2#I#I+[,r$3!!"J!!#J!!&J!$I6X0!!!'!!!+!!!@!!%0!3!'!!!
-!!!@!!%0E`!'!!!-!!!9!N[e433IE@i#X3pV(hRf*@53!'dK32BP8[,!pjAh8$%
C"Jp,p$p)p5$bKMN28r5I3r6[+3F`pjAh9!EZTmBR8`9!F`+a$e2hQ#(fd0HK$bM
hGbX'-25I4!F`+a"'2fF3A3+a"Zj&j(BK#-4q,bRb`'13!2H9pe!a'3*3peJ3+a$
9UPphFrC`aUU!*3+a$e2%IL$deMEfF8$bJV%28m4q)26@0[Ca3(J(2+peNC!!F`p
6pjJKpY$c6blc%'13!+BK6bRbi29,%0G))-DU!P$e-5p6a(iJJ5J#X3p6a(iJp0B
fpR&2eB$fHPpLDJpfC(Ef+K$93#X3p,p$p)p5""KIG8`3p*p%mX"MN!!V%)(&13a
US#828a,e2%IL#"+!+a$e2%IL$deMEfF8r9J2CkAf*U$hCNG[BU%09!+a$e2dRd2
di%'&pe6"$dRd6bi29l%`+aJ3aUU!C"$&pYkK)CmX!V%-DU!P$fXIHI8m4q)2GhU
JT@N#X33BAh9-'2,!Bj!!J5$hAJ+a$e2hQ#(fd#82GB%#XIEI,[$3!$!!!!`"!"8
!)3`!!"8"*J`!!"B",``!!"8"L``!!"B"P!`!!"8#"3`!!"B#$J`!!"8!!3d!!!B
!!!`!!"8!#!$&1#m0!!!-!!!-!!!@!!%+!!!@!"8JN!9%GQpbB@Y*4#!p)$8`-$X
0!!!'!!!+!!!@!!%0!3!'!!!-!!!@!!N"jJ-&!*!$#3!S!&S!N!!!`3$c!K!#%'P
c)'&ZB@a[Cfm!"J$hCNm0!!!-!!!-!!!@!!%+!!!@!"m!!2EIHI486cS!N!GB&%m
lm0!!"J!!#J!!&J!"$5!!"J!!#J!!&J!)!2BKpRFr$3!!"J!!#J!!&J!j!!$fhhR
d9%$cVcd28a,e2%ILmSMfhe*IE@2b`)pYp6a(i[5apjMb`242GP4[Dr5I42+I1r$
3!!B!!!S!!"B!13!!pYpjp&4!mkmp$e-5p6a(i[+)pYp5AfeMmX#2EI8m4q,dR&2
b`242GP4[Dr5I42+I1r$3!!!'!!!+!!!@!"J!!25apjp6a(i[+)pYp5AfeMmTmlm
0!!B!!!S!!"B!#3!!%jmlm0!!!!B!!!S!!"B!"`!6Rbl`d!!'!!!+!!!@!!%0!3!
'!!!-!!!@!!N"jJ!%!*!$#3!@!#3"&`'j!IJ"q'iJDA-JB@jKE'pRE`!"$3!!"J!
!$!!!&3!9p,p$p)p5""KIG8`3e8pYB[$3!!B!!!i"!"8!!3d'!!B!!!S!!"B!'[9
K5(8r#I-JpLpj)B$bKc)ICa6bR`d!"J!!#J!!&J!"$3%!"J!!#J!!&J!ip*14pi'
!mS*3bf4X)8!QpLSI+I#I-[0I0JpLpj)B$bKN4[H3!&d2B[H5'2+I$3!!"J!!#J!
!&J!"$3%!"J!!#J!!&J!bp$Ah8b"G$,C'`K3#Ef+K"N4[HBm*mb$f,hNKJ2+(-Kp
R&2+I$3!!"J!!#J!!&J!fp$YNE#&!*[BU%'4'pjM`Rc(c,cJ2B[H5'!&XX2+'4'p
j"G$,C2+I$3!'!!!+!!!@!!%0"J!'!!!+!!!@!#[d0IG6)&d24"DI5apj$e)F9*M
`Rc)2B[H5'!mSFb(fF8mTm0!!"J!!#J!!&J!Rp%&Tp,(hN!""a8R`RhCNG[BU%+%
rCbX2+'4'pjmTm0!!!!B!!!S!!"B!&3PdB@*XC5"ZG@eLCA)*-5"LHA4P$3d!"J!
!#J!!&J!Bm*pfG#peDJpV(hR&NI#I-3pLpj)I$3!'!!!+!!!@!#l`R&pe-JA3p$A
fhU%P328Ka8Q2#I-JpLpj)B$bKc)ICa6bR`d!"J!!#J!!&J!Nm*m*p$AfhU%P323
lC'`K6`Rc%2B[H5%2+-YNmTm0!!B!!!S!!"B!+2#I#I8rGIBS*bpe*cpR$d1f4X)
8$`Rc%2B[H5%2+-YNmTm0!!!'!!!+!!!@!#%e$feLb`bf4X)8m*ma$f,hNK$bM,C
2+I$3!!!'!!!+!!!@!$3IH#4J49pY$932-I0JpLFJp$YNE#&!p$@4M`Rc%2B[H5%
2+-YNmTm0!!B!!!S!!"B!!3fV!!B!!!`!!"8"M[9,%25r3r528J3BAh9-%-8iH#J
&d'$c)2B[H5%2GK5(8`2hAfhf)8$9UPph'3pLpj!!B2-[0I0JpLpj)3pY@Aea3#E
f+KmX$feZjcpR"US2-[0I0JjBKrBU%2E9PpF8##BKJ#8'!QpLS32hAfhf)8mZ$e5
hJ(J0@UAhFC!!pLpj"Jmb$f,hNK$&pe-JA3*[BU'2,!phYmX(Mb`(-#pe3r,!eDT
IGaN2B[H3!#YL$feMpj!!mambmi$f,hNK$d(e2d2dRdN#Ef+KMbi29,%23I8r3r5
I53*[BU%2E@k!+a$hCd,h9U$fXIHF@4!P"M$d(e2d2dRdN!$hCUpe(cX2-!KrCcI
A'!B*&T!!pV(hRb`(-#Yi$'J3+a#4D3pV(hN#Ef+K$fhh@#$f)3J@6,'I,Jm0!!!
'!!!-!!!9!!%0D!!'!!!-!!!9!3Ie5a#4D3pV(hN#Ef+K"i$&pYj(JC!!A3B-Ah8
b"G#4D3pV(hN%(&5B$bMc)2B[H5'2+I,!Bj!!+f)2E@2hN!#4D3pV(hN%(&5BmZ$
d%*&T$fXIH33F9*!!a6Ki+!A3B&-3pLpj)3*[BU%$pepYpL&2,!B&-3pLpj)3pfG
#peDJpV(hR&N3mSphFVAh8Jpelbq9ph-2BR,bRb`'$&pYkK*8!QpLSI,!Bj!!B2-
JpLpj)30I,IE@,,$,C'`K6bl`d!!'!!!-!!!9!!%0hJ!'!!!-!!!9!D2eHa-25ap
jp84MJ)&NbaJ#X3N@N!$fXIH3!%(&5BmX"b$,(2Di$93'$feLb`phFV!V%#Ef+K!
rGIEIBK3'13+a$fXIHF@4mZ$dR3+a33H!03pYBX[b`()(J$8'#4D3!2DapjmX"MN
'$hS88(J%%[G8-CmZ$dR3+a33H!B2E@,,mX"b"i""a8NC"c!V%)*L%2GQ4fpLSI,
Jp*d#X3j"pfGIGB$fXIH3!2GfJ'#4D3pV(hRb`!+a$&pYkK*8!QpLS3phHU$f)3J
@6,'I,Jp8X3aIEHS59!*[BU%(J-AfhNH"N!"G"JaIG6)&d-AfhU%P3%(&5BmX$9U
Pph'3!2B[H3+f)$pepYpL&!A3aIEHS59!3F9*Mbl`d!!'!!!-!!!9!!%0!!!'!!!
-!!!9!9Id%-AfhU%P3%(&53H!KrEHVhN'#2GIBS*bpe*e-+H#$9323I8r3r5I53b
f4X)8Mbi25G!V%23I8r3r5I53!-YNE#&!pYBXXB!V%0G))2B[H5%(-#X3aIEHS59
!3F9*mX!V%)(&13pLpj)3phHU$f)3MhAf+#F[G5'3!09!F[,JpAX6!V&""i!e#2G
IBS*bpe*e-#82BK$feT(b`#X39(pRFfS23I8r3r5I53bf4X)8"i$N("NC$f,hN!!
V%$82E@,,$,C'`K30Ah8j"L!V%')#X3%j"G!V%*&T$fXIH33F9*mZm0!!!!B!!!`
!!"8!!3d!!!B!!!S!!"B!&I5r6I3I8!p5'&pe6"$96feLm0!!!!B!!!i"!"8!!3d
!!!B!!!`!!"8!&dP%#C!$-L"LHA4PFb!SD@jdC@GPFLN0$3!'!!!+!!!@!!%0!!!
'!!!+!!!@!"VeB8Ke2`Rc)2B[H5'!mSFb(fF8mTm0!!B!!!S!!"B!!3d"!!B!!!S
!!"B!,I8Qph!P$hCd,h9U$fXIHF@4$feZm*mambmi$f,hNKJ2+'4'pjmTm0!!"J!
!#J!!&J!"$3B!"J!!#J!!&J!Xp$Ah8b"G$dAhM"iR8`C%EhQ2#I-JpLpj)B$bKc)
ICa6bR`d!!!B!!!S!!"B!'I4IH-(LG6"N4[HBm*mSC%EhRbR`d!!!"J!!#J!!&J!
8m*4[G`pV(hR&NI#I-3pLpj)I$3!!"J!!#J!!&J!Fm*0I@&6b`2@&6`Rc%2BR)2+
2BP@KBr+I$3!!"J!!#J!!&J&+p"lU(p@!p6pjJKpY$e0G,hGN%26(`6KcpR$PTmp
j$96f*jJ)YqjcpR"JpY@AeaN28rHB)IE3ek(cX2Ga#2GICrCaJJB`Fi*US8$NAfG
'pY!VBJ+a$h@"3-B`(hJFpe)3*3i8e8pY!V%(1#DUBR8`A3+a!aph""KIG8`BmZ$
e5a"cJQUK314ICdEfd)YIGDN'L(pR-#X3-IG`3BAh9-'!+aG!p*p%J2BQJC!!8`p
hYL"i$2G836+[H3F`+a$e2hQ#(fd0HK#&!V&"$hG6r9)2BK"Ja6fR`[,[$3!'!!!
-!!!9!*!$!3`-!!%-$!!"$!`!N"X"%"!!N!J"pi`H*e12,[$3!!B!!!`!!"8#UI9
,%"pi`H*e-+H#"i$h@"N#8"0[BU%#X3NIGR`3P(pf&!*3Fh*f)3aIEIEIG6I'*e-
2Gh+`+a#4pfI"mX$h@2G@U[H3!#81&092E3B)*L%-YMpR(bi29,%"pi`H*e-+H#$
f)ICh1!phFV"J,hG3pLpj)33F9*!!aIG6)0@UAhFC$f,hN!!VBJpYBrH3!%(&5Bm
Z!29,%092E@)&d#X3(hM"iR8`3F9*"i#,AhF`Ef*IGKmZ!29,%%EhF2DapjaC%(J
#X3pV(hR&N3D!pR%a4L'3!2B[H3+a#4pfI"mZ!29,%2@26r8JpLFJFp92EB!V%*4
rGK3#8(2hB8)#X3JQ)3A3+a$fXIH3!(1#&T!!A3peKcpR!V%)*L%14IGRNC!!pLp
j!V%,C*phC"mZ!29,H!aM$f)3peJC!P$NAhCj%2DapjJ#YL#PcfX(-)A5phC"mZ!
29,%23I423JAX@4"i#4M%If)C"c!V%256Kj%26@ac*BX!bfiK3&-#X3p"lU%24"M
f[e4H$d,h@!F`p@@[GIE4$eEbi!p'FfU[H3+a#@*JJNFrC`H!B28'M'S)*(2fF#Y
L"i$QL"N#8#X3p"p%p#p2i#4ZmZ!!(J!!$!!!&3)F$!)!&3)X$!!!&3+H$!!!&J+
M$!!!&3(4p8X3pYEZFrC`A3+a$hCd,h9U$fXIHF@4!P!V%23I8r3r5I53!-YNE#&
!H!P6%2B[H3B$(hF#4Z"c!V%26@ac*BX28r43Bj!!p0E(-PL`p*p*$e,drdf2,!B
j"c$e2hQ#(fd202,[-3mSBj!!TL&2+3e8!V%26@ac*BX28+peMbi29,%$(hF#4Z"
i$'UKN!$dXIHI9%Bi$bJe)#82BK$&2IGB'3phFV!V%25apjmap84MJ&325apjmbp
84MJ19c)8MbRb`'13!()!pYES!V%2GR3[G@S2DapjaC%#8'-23I8r3r5I53pV(hR
&N3mSpLD"N!"6$feCIA&)mX"p"MpjmT!!peKcpR!QpLSB!VBJ3BH4"c!V%28rHB)
IE33BAh9-%25r3r528[,Jp8X3e8pYBJA3+a$d[d2dMe)%'&pe6""i"UK3NBa(pL'
3!2BKTIGr,[$3!!!U!!!-!!!9!-J-!!!@!0!-!!!9!1i-!!!@!2F-!!!9!2X-!!!
@!33-!!!9!*!&!U4Q)!!"-!!L!*!$$!#3!`+K9L!!!9)!$$)"!!`!$!!#SE)S!!&
H!$)b!3!-!"J!!U&1)!!"N!!!#M)#!*!&!U3@)!!"Y!!L!*!$%!#3!`+LYL!!!GB
!#LX"!*!$!3X,!!%M)`!"$`m!!3m2!!%2$`!"$`m!!3m2!!%2$`!"#`X!!3m2!!)
2J`!"#`X!!3m2!!)1L!!"$Ji!!Jk)!!%1$J!#$SF!!3i1!!)1KJ!"$Ji!!3`-!*!
$!3i1!!)1KJ!"$Ji!!Jk%!!%1$J!#$SS!!3i1!!%1$J!"$`m!!3i1!!)1LJ!"$Ji
!!Jk'!!%1$J!#$S3!!3i1!!%1$J!"$`m!!3m2!!%1$J!"$3d!!3`-!!%-$!!"$!`
!!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`!!3`-!!%1$J!#$SF
!!3i1!!%0$3!"$!`!!3`-!*!$!3d0!!%-$!!"$!`!!3`-!!%-$!!"$!`!!3`-!!%
-$!!"$!`!!3`-!*!$!3i1!!%2$`!"$!`!!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`
!!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`!!3`-!!%1$J#3!`)
1K3!"$Ji!!Jk%!!%1$J!#$S8!!3i1!!)1K!!"$Ji!!3i1!!%2$`!"$Ji!!3`-!!%
-$!!"$!`!!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`!!3`-!!%
-$!!#$S-!!3i1!!)1J`!"$Ji!!Jk)!*$r!*$r!*$r!*!-!U6k)!!"i!!L!*!$#`#
3!`+LVL!!!J)!DM%"!#-!#`!#SZiS!!*X!$)d!J!2!#i!!U&')!!#XJ!-*!%!$`!
p!!+KML!!!Vi!($3"!!m!6!!#SDBJ!!,D!!`d!3!2!&X!!U+L+!!$#!!L0!%!$`"
U!!+KLL!!!bS!$$3"!!m!H3!#T0)S!"6@!$3d!3!,!)J!!U1f)!!$D!"U-3%!$`#
6!!+P$L!!!p)!$$3"!#d!SJ!#T6)S!!2H!)`d!3!,!-m!!U6')!!%DJ"U-3%!$`$
D!!+KNL!!"03!$$3"!(!!k3!#SH)S!!6J!G3$!3!1!9N!!Udf)!!'Y!!--`%!F!&
R!!+N"LJ!"X!"V!-"!!i"e`!#T2)J!!KX!!`c!3"L!H8!!U4D+!!)H!'!-`%!$J*
(!!+MXL!!#IJ!$$-"!&3#93!#ScBS!#E+!ASc!3!1!UN!!U6q)!!,L!!--`%!$!!
1!3+MDL!!#j3!@#)"!*!$'J%#T5BJ!![X!#)E!3!1!"S"!U+D)!!-$J!--`%!9!!
S!3+M6LJ!$"S"G!-"!!i!I!%#ScSJ!!f1!!`c!3!i!)S"!Ue#+!!0QJ$X!`%!$J$
#!3+NXL!!$SB!$$-"!)`!d!%#SQiS!!k5!MBc!3!1!9`"!UB+)!!3b!!--`%!$J&
U!3+NRL!!%03!$$-"!!m"H!%#T%TS!"$J!"id!J!1!BF"!UAq)!!3rJ!--`%!M!'
9!3+KRLJ!%3S#,M-"!!i#)3%#T(SJ!"-i!!`c!3"8!Lm"!UAb+!!64!&@!`!!$J+
$!3+KYL!!&*S!$$-"!$J#N3%#&-JS!#2#!1)c!3!1!"`#!U3q)!!8bJ!--`%!$J!
U!J+N[L!!&,i!$$-"!*!$1!)#V6iJ!"@)!#)M!3!2!$J#!U51D!!9UJ!D0!)!$J"
(!J+MBQ%!&F3!$$-#!!d!93)#Sr)J!"A3!&JJ!3!-!')#!U2Z+!!@+!!B)J%!$!"
Z!J+P#LJ!&N!!,L)"!!`!HJ)#T5)S!"CZ!#iL!3!-!)B#!UdQ+!!@R!!Z)J%!$!#
5!J+P&LJ!&XS!+#)"!!`!RJ)#S@SS!"Eb!#JL!3!-!+S#!U4@+!!A'J!S)J%!$!#
f!J+LJLJ!&d)!2#)"!!`!`J)#&l!S!"Gq!$!L!3!-!-i#!UdU+!!AVJ!b)J%!$!$
D!J+LRLJ!&q!!-L)"!!`!jJ)#SNBJ!"J5!!iL!3!-!2)#!U3+)!!B)!!-)`%!$J$
q!J+LIL!!'#`!$$-"!')"$!)#T(iS!"Ji!F3$!!!1!@i#!U5f)!!Cr!!--`%!$3&
m!J+MKLJ!'JJ!&L!"!!`"L3)#T%)J!"SH!#!L!3!-!C8#!U1k)!!D2J!-)`%!!!'
K!J+N1L!!'NS!)L-"!!d"S3)#T4iS!"TX!"BJ!3!-!Di#!U5#+!!DJJ!J)J%!$!'
k!J+MNL!!'U)!$#)"!!`"aJ)#S5BS!"UZ!")L!3!-!G)#!U5L+!!D`!"!)J%!$!(
H!J+K0LJ!'`!!3#)"!!`"kJ)#SXiS!"Y!!#!L!3!-!IB#!U6Z+!!EB!!5)J%!$!+
3"+2@+!!EFJ!3)J%!$!)1!J+N6L!!'i)!$#-"!!!#'J)#V8iJ!"Z1!#)M!3!1!KS
#!U3#)!!EX!!--`%!$`)S!J+NDQJ!'l`!($3#!!`#0`)#SaiJ!"[B!!`L!3!-!N-
#!U-@+!!Ej!!J)J%!$!*2!J+N$L!!(!3!$#)"!!`#@`)#S[SS!"`3!$JL!3!-!QF
#!U-+)!!F5!!-)J%!$!*c!J+LdLJ!(&3!-#)"!!`#I`)#SZSS!"b%!$)L!3!-!SX
#!U(5)!!FYJ!-)J%!$!+A!J+LaLJ!(-)!,L)"!!`#S`)#SSBS!"c`!#SL!3!-!Um
#!U2Q)!!G'J!J)J%!$!!-!`+M9LJ!(6S!)#)"!!`!'!-#S6SS!"eD!#iL!3!-!#3
$!U61+!!GL!!S)J%!$!!`!`+KSLJ!(E!!,L)"!!`!2!-#SaSS!"hH!#3L!3!-!%J
$!Ue++!!H!J!b)J%!$J"8!`+Q1L!!(M3!$$-"!*!$BJ-#Sk)J!!,Q!#)c!3"'!')
$!K63+!!H3!%f-`%!$J#S!`+K5L!!(hB!$$-"!$J!YJ-#S[BS!"q#!-3c!3!1!1i
$!U8Z)!!J4J!--`%!4J$m!`+LULJ!)&)"'M-"!!i"3J-#T0iJ!!+H!!`c!3!i!9!
$!U-'+!!KH!$X-`%!$J')!`+LbL!!&,)!$$-"!!i"PJ-#S`iJ!"5Q!!`c!3!2!D3
$!U'#D!!LF!!H0!)!$J'c!`+Y1L!!!CS!$$-"!!`"`3-#S[)J!#+D!#)L!3!-!Fd
$!U2+)!!"TJ!-)J%!$!(C!`+LLLJ!)XJ!)#)"!!`"j3-#T#iJ!"9f!!`L!3!-!I%
$!U*D+!!Lp!!b)J%!$!(p!`+MJL!!!eS!$#)"!!`##3-#Sa)S!#-b!#iL!3!-!K8
$!U,H+!!MB!!J)J%!$!)K!`+M)LJ!)i!!(L)"!!`#,3-#SGBS!#1H!#3L!3!-!MN
$!U&Q+!!9A!!D)J%!$!*&!`+LfLJ!&6B!*L)"!!`#83-#SMBS!"8+!#`L!3!-!Pd
$!U-#)!!$6J!-)J%!+J*T!`+NGLJ!#Y)!X$-"!!i#N`-#SeiJ!!0#!!`c!3!U!U%
$!U'q+!!+"!$1!`%!$J!F"!+NFL!!!cB!$$-"!(!!+J3#SSiS!#6U!H!$!*!$!E)
!N!-#!!!#UJ#3!`J!!!0Q!*!$!J!!#i)!N!-'!!!9JJ#3!`B!!#&X!*!$$!!!)Q3
!N!--!!!LMJ#3!``!!#+m!*!$$!!!)ZJ!N!--!!!M*J#3!``!!#6B!*!$%J!!0I)
!bTB+'ZF!!!%!N!-#e`!!!GF!N!0UFh4bEhPPC#iI9'KTFb"QD@aP)'Pc)(4[Eb"
XBA*RC5!-9%ia0M!J5f9j6@&`B3)!N!0A6e*%68&$33#3#&G28N40380"!*!BR8%
["!!!0I)!!!0"C@jd)'0[ER4KD@jc)'%JG'9iG#"`BA*KCh*KF'JJG'KKG#"TFb"
dEfmJE'&bCf8JG'mJE'pKC#iJ)&0SEh*dC@iJDA3X)'&ZC#"dFRNJB@GKD@iZ!*!
$IJ!-#e0SEhFJ8R9XCA*c#dKTC'8J8R9XCA*c!5!")!%J!5!24'PcF'aKH3#3!b!
Z,$XN!!$3!!![rf!J38d!)&"0!$S!N!S"!!!"6!p6G@jNBAN!N!N26@pZC'&j!*!
*$e4eCA0NBAN!N!J29f9NEQ9cC'&j!*!'$e4SGA*cC'&j!*!($dCbD@4KH3#3#3p
6BA4eFQ4KH3#3"`p+B@jeBA*j!*!)$dCPBR*eBA*j!*!($deKFQ0S!*!+$d&`FQP
X!*!+$deKH3#3$!p+G@jP!*!,$dTeE(N!N!X23A9RGA0d!*!*$e0PF(4PE@*PFJ#
3"Jp2Bh4[BQ9b!*!)$dj[GQ9YBQ9b!*!($d4PBf9YBQ9b!*!(rrm!!`#3"#`J!!!
J!*!$,#!!N!F"6R8!N!-B!!X!&`!@!"8!&!#3!`-!!J!%!!8!"J!(!*!$%!mJCA4
ZFQpKDA0NE'KMCR!!N!-[!!m!)3!1!*!$&J!$!"8!"!!2!#)!%!!b!"F!&!!5!!d
X*J3rN!-&$"3d"$8r2$J!!!%!N!-#e`!!!GF!N!0U!!+PXJ1Z!*!$(!"U!!&*6P4
-!!%!%P088L!!!J!U!!$rrb!!N!J"rrmJ!!!N!*!%!b$rr`!!!A3!N!3#[2rr!!!
"N!!!N!3$)Irr!!!"T!!#T+V'D3:
---