summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Mac/scripts/ConfigurePython.py27
-rw-r--r--Mac/scripts/ConfigurePython.rsrc.hqx150
2 files changed, 135 insertions, 42 deletions
diff --git a/Mac/scripts/ConfigurePython.py b/Mac/scripts/ConfigurePython.py
index 8145f43..f33688a 100644
--- a/Mac/scripts/ConfigurePython.py
+++ b/Mac/scripts/ConfigurePython.py
@@ -10,8 +10,15 @@
import sys
import os
import macfs
+import MacOS
verbose=0
+SPLASH_LOCATE=512
+SPLASH_REMOVE=513
+SPLASH_CFM68K=514
+SPLASH_PPC=515
+SPLASH_NUMPY=516
+
ppc_goals = [
("AE.ppc.slb", "toolboxmodules.ppc.slb"),
("Ctl.ppc.slb", "toolboxmodules.ppc.slb"),
@@ -148,6 +155,7 @@ def mkcorealias(src, altsrc):
def main():
+ MacOS.splash(SPLASH_LOCATE)
gotopluginfolder()
loadtoolboxmodules()
@@ -155,6 +163,7 @@ def main():
import macostools
# Remove old .slb aliases and collect a list of .slb files
+ didsplash = 0
LibFiles = []
allfiles = os.listdir(':')
if verbose: print 'Removing old aliases...'
@@ -162,6 +171,9 @@ def main():
if f[-4:] == '.slb':
finfo = macfs.FSSpec(f).GetFInfo()
if finfo.Flags & 0x8000:
+ if not didsplash:
+ MacOS.splash(SPLASH_REMOVE)
+ didsplash = 1
if verbose: print ' Removing', f
os.unlink(f)
else:
@@ -170,9 +182,13 @@ def main():
if verbose: print
# Create the new PPC aliases.
+ didsplash = 0
if verbose: print 'Creating PPC aliases...'
for dst, src in ppc_goals:
if src in LibFiles:
+ if not didsplash:
+ MacOS.splash(SPLASH_PPC)
+ didsplash = 1
macostools.mkalias(src, dst)
if verbose: print ' ', dst, '->', src
else:
@@ -180,9 +196,13 @@ def main():
if verbose: print
# Create the CFM68K aliases.
+ didsplash = 0
if verbose: print 'Creating CFM68K aliases...'
for dst, src in cfm68k_goals:
if src in LibFiles:
+ if not didsplash:
+ MacOS.splash(SPLASH_CFM68K)
+ didsplash = 1
macostools.mkalias(src, dst)
if verbose: print ' ', dst, '->', src
else:
@@ -196,6 +216,13 @@ def main():
n = n + mkcorealias('PythonCore', 'PythonCore')
n = n + mkcorealias('PythonCorePPC', ':build.macppc.shared:PythonCorePPC')
n = n + mkcorealias('PythonCoreCFM68K', ':build.mac68k.shared:PythonCoreCFM68K')
+
+ # Install NumPy
+ if os.path.exists(':Extensions:NumPy:macmkaliases.py'):
+ MacOS.splash(SPLASH_NUMPY)
+ os.chdir(':Extensions:NumPy')
+ import macmkaliases
+ err = macmkaliases.main()
if verbose and n == 0:
sys.exit(1)
diff --git a/Mac/scripts/ConfigurePython.rsrc.hqx b/Mac/scripts/ConfigurePython.rsrc.hqx
index 4d16147..c836071 100644
--- a/Mac/scripts/ConfigurePython.rsrc.hqx
+++ b/Mac/scripts/ConfigurePython.rsrc.hqx
@@ -1,44 +1,110 @@
(This file must be converted with BinHex 4.0)
-:&%0[EQCTCh9bC9"jG'K[ELjbFh*M!(*cFQ058d9%!3#3"`X,!SN!N!3"!!!!#KB
-!!!N@!!!!p6B8)&3JD!!8)&"p%E"S%3!k!@FQ%Lm-6VS#$!`k!&Tj&%eV8'aeCfP
-Z3@aTBA0PFbjbFh*MF`)!!!!rN!B!!$q3#!#3',!I9ad!N!B,#rm4`+KT!4e!%Ir
-c%h!!%#lrmlh5%@B386Dq9@X"!8*%[D'q9@X"!6"4-J&R(N39$!!!('85F!!3,N-
-9$!!!(f)'F!&J!!%"!LaD9#dZ4,d"!"Xm!@B`*e8q'NU!)&-#+!#r!#iL!1d*!J%
-!3)-Sfc36UGF[$%kk!3P+CfX"!+CA3cS!!!%!!!%!!!!#J!!!"%!!!(JJ!!"`%!!
-!)!J!!2J%!!$i!J!"q!%!!rhiJ!Am#%!*r!JJ%eBF%#0@#!K$rJ!%J!$rJN!"!%%
-J!Ap#%!&"4!J"@8J%!9&3!J&"B!%"Id!!J3"!!%%23!!K!%!!%3"!!!MrJ!!%ri!
-!!L!!!!&!!!!!J!!!!3!!!!1!!!!(`!!!Iq!!!(r`!!!rq!!!rr`!!2rq!!(rr`!
-$rrq!"rrr`!rrrq!Irrr`2rrrq(rrrrcrrrrqIrrrrcrrrriIrrrm$rrrq!Irrr!
-$rrrJ!Irr`!$rrm!!Irr!!$rr`!!Irm!!$rq!!!IrJ!!$i!!!!F!!!!#!!*!%#P$
-J!"k%J!!(S5!!!!!(39"36!#3"Ka3HA3b!!!!!8C548B!N!@!5801)`#3"!%X!!!
-!3!%!!S!F3!JJ("!pk(BN[L*!q5#+%+`)L!5)!R!"3!#!!3!$J"r!$q!Im$riIrc
-rrRrr2riIr!ri"rJ$m!(!!)!!!!3!N"$r!*!Hr`$r!*!Fr`!!!2m!N"H`X,$r!*!
-&r`#3&V#`X#X!N!Er!*!@X#XV!*!(r`#3%l#3"3#3#2m!N"+`N!8V!*!)r`#3%2q
-`N!8V!*!*r`#3$[q`N!FVrj!'!!!!r`#3$2m!X*!(+`#3"Im!N!6r!*!+r`!!X*!
-(+`#3"Im!N!Ar!*!)r`!!X,!&X!@`"E#`+`!!!2rrr`#3"Im!N!Er!!!!X,!&X!@
-`"E#`+`#3"2m!N!Ir!*!%r`#3",#3#5X!N!hr!!$r+`#3"5Z3#Iq3#3#3"#[r!!$
-r+`#3$2mVN!Rr!!!!+b[r!!$r+`#3#rmVqC!'+b[r+`!V+rm!N!6r+`#3#[mVq5Z
-3"3!VrbXV+rm!N!Er+`#3#ImVq5Z3"3!VrbXVr`#3#2mV!*!)rb[j+j!&!#[r+rm
-!N!Vr+`#3"rmVq5Z3"3!Vrrm!N!cr+`#3"[mV+`#3"L[r!*!1rbX!N!Ar+j!*r`#
-3$rmV!*!%rbZ3"2crrr`Vr`#3%2mV!!!!rb[BibZ3"[m!N"(r+`!!rbZ3#Im!N",
-r+`!!rrb3"rm!N"6r+`$rN!N!N"Ar+bXVr`#3(2mVr`#3([m!N"%"!*!)r`#3$[r
-er`#3#V#`X2AepIm!N!U`pC!&r`#3#,#`X2@3"Im!N!ErX,#`!2q3"2Ar!*!%rl#
-`"E#`pIAerrAer`!!rr@`N!AepIArpIAer`!!rr@3"[q3"IAhr`!!rr@3"IrhprI
-rprm!N!6rpC!%rrIrprrr!*!'rrAepIrhprIr!*!)rrAerrIhprm!N!RrpIArrrm
-!N![rprm!N!lr!*!+J!!!!!m!N!I`m!#3"!99!!m!N!93!!$`!!!!"98!!!m!!!$
-e93rrm2!!$e898!$`$`$`9993!2!!m!m!!!$rrr$2!2!!!2c-r2!!$`!!r2cr!!!
-!m!$mc2!!!!!2!2c-m!#3"2!2r`#3"3r2!*!(m!#3"3)!N!J2!*!2m2!!N!d2!!m
-!N!X&9I!!!2!!N!S&9F!!!!m!N!YF`!!!!2!!N!P999!!!!!2!*!*999F!*!%m!#
-3"`p999`!N!32!*!(p9999Frrrr!!m!#3"3m&9999`!!!m!!2!*!&m!9999A!!!$
-`!!$`!!!!$`"9&489A!!2r`!!$`!!!2!!9489&9`!!2!!!!$`!!m!!&@3"&`!N!B
-2!2`!!!c-N!6rN!6`!!c`$m!!N!82c*!%c`!-c`$m!*!&$mhGhGc2`-c`!!r!!*!
-%$mh-c-$2c-m!!!$m!*!%$mh-c-$2c2!!!!!2`!!!!!r0c-c!cmm!N!Am!!!!$mh
--c-$2m!#3"3r!!!!2c!!!!-m!N!Im!!!2c*!%c`#3"`r!!!r-c1rqc`#3#2`!$m1
--c-c2!*!)$m!2c*!%c`#3#I`!rZlZl[!!N!N2`2q3"2!!N!Vmc2!!N!d2c`#3$r!
-!N!S"!!!!!3!!!!S@!!!*&J!!!28"`GTX%pB!!!!F!1B!#8*14%`!!!"55801)`!
-!!&j659T&!!!!DNC548B!!!"fD@0c)`!!!)*TBf`i!!!!MQPMFcJ!!!#DD@0c0!!
-!!+CTBf`d!!!!XP"jG$)!!!#q!)$rr`!!!4d"`HlB!5crr`#3"!(!mN6rN!3!!!%
-%!*!&J2rr!!!"%J("lX!",2rr!!!"23("lXJ",2rr!!!"J3("lQ!",2rr!!!&K3(
-"lS3",2rr!!!'L3("lS`",2rr!!!($3("le!!N!B*%3("dM316hGZCA)JFQ9cEh9
-bBfA#c`:
+:&%0[EQCTCh9bC9"jG'K[ELjbFh*M!(*cFQ058d9%!3#3"aL3!'Cl!*!%!3!!!"E
+r!!!9r`!!!C%f&#"8)'J!&#"3I4'`D"%!1J&R*K)[$%kk!J`-1J"DH44$EfjQD@G
+eFQ93HA4SEfiZFR0bBfi#!!!!2j!'!!!rN!J!N"L`0DR(!*!''*!!ra(!U'N"(8!
+4rr-6F!!3,[rc[G)4CK"40Vj9D`%"3N5pSEj9D`%"-&%b!@FH4"8-!!!FC4*`!"!
+Z3a8-!!!IBJC`!@!!!3%#,&T8,5j%[3%!'c`"CM!R96iD5S!J8`)S!,m!,L)!l3N
+#!3"!JbME0"1Tebm-6VS"#8TRD`%!TPG$1J!!!3!!!3!!!!+!!!!%3!!!H#!!!(!
+3!!!J#!!!q!3!!2J#!!(i!3!$rIL!"I`)3!Rm##!69K`3)eB)#%2q!!5!!2q#3!%
+!35!"Id)3!8&%#!&C5!3"89!#!8&J!3&r3!#"!%!!33p!!#%!3!!4!%!!#2q!!!6
+rJ!!#)!!!!8!!!!#!!!!"!!!!!i!!!!I!!!"ri!!!Ir!!!$ri!!$rr!!!rri!!Ir
+r!!2rri!(rrr!$rrri"rrrr!rrrriIrrrr2rrrrjrrrrr2rrrrKrrrr`2rrri"rr
+rm!2rrq!"rrr!!2rr`!"rrm!!2rr!!"rr`!!2ri!!"rq!!!2J!!!"`!!!!)!!N!3
++81!!(S5!!!HK)!!!!!G"8&"-!*!'(&"jG$)!!!!"4P*&4J#3"B"*3diM!*!%!5`
+!!!"!!3!#J"a!##!F%$hSGL5q)N$j))S3V!L)")J#F!&!!)!"!!1!(m!2i"r`2rK
+rr2rqIrmrrKrm$rJ(q!2`!F!!J!!!"!#3%2m!N"lr!2m!N"cr!!!!r`#3&l#`X2m
+!N!Ar!*!@X,#`+`#3"[m!N"D`+bX!N!Ir!*!6X*!&!*!)r`#3%V#3"5X!N!Mr!*!
+3rl#3"5X!N!Rr!*!1rl#3"b[rN!B!!!$r!*!-r`#`N!FV!*!&r`#3"2m!N!Vr!!#
+`N!FV!*!&r`#3"Im!N!Mr!!#`X!@`"E!&X,!V!!!!rrrr!*!&r`#3"[m!!!#`X!@
+`"E!&X,!V!*!%r`#3"rm!N!6r!*!%X*!*+`#3$Im!!2mV!*!&+j!*rj!*!*!%+rm
+!!2mV!*!-rbZ3#Im!!!!V+rm!!2mV!*!,rb[jN!BV+rmV!#XVr`#3"2mV!*!+rb[
+j+j!&!#[r+bXVr`#3"[mV!*!*rb[j+j!&!#[r+b[r!*!)rbX!N!Mr+rNVN!8!+rm
+Vr`#3#[mV!*!(rb[j+j!&!#[rr`#3$2mV!*!'rbXV!*!'+rm!N!lr+`#3"ImVN!R
+r!*!2rbX!N!6r+j!%r2rrr#[r!*!3rbX!!!$r+pMM+j!'r`#3%ImV!!$r+j!*r`#
+3%[mV!!$rr*!(r`#3&2mV!2q3#3#3&ImV+b[r!*!Frb[r!*!Hr`#3%3%!N!Mr!*!
+1rrAr!*!+X,#`pIAer`#3#V$eN!Ar!*!)X,#`pC!&r`#3"[q`X,!!rj!%pIm!N!6
+rX,!&X,$epIArpIAr!!$rpE#3"IAepIrepIAr!!$rpC!'rj!&pIIr!!$rpC!&rrI
+hprrhr`#3"2reN!6rprrhrrm!N!ErpIAerrIhprm!N!MrpIArprIhr`#3#IrepIr
+rr`#3#rrhr`#3$[m!N!U!!!!!$`#3"r$`!*!%"98!$`#3"9!!!2!!!!!&93!!$`!
+!!299$rr`m!!29493!2!2!2"999!!m!$`$`!!!2rrm-m!m!!!r-cmm!!2!!$mr2m
+!!!$`!2c-m!!!!!m!r-c`!*!%m!rr!*!&$mm!N!I`!*!&!J#3#!m!N!r`m!#3$3m
+!$`#3#`99m!!!m!#3#J99`!!!$`#3#ec!!!!!m!#3#9998!!!!!m!N!P999`!N!6
+`!*!($e99A!#3"!m!N!Ie9999crrrm!$`!*!&$`9999A!!!$`!!m!N!A`"9999F!
+!!2!!!2!!!!!2!&89&49F!!rr!!!2!!!!m!"9&489A!!!m!!!!2!!$`!!9C!%A!#
+3"Jm!r!!!$-b3"2q3"2!!$2!2`!#3"3r-N!62!!c2!2`!N!82cGhGh-r!c2!!$m!
+!N!32cFc-`-r-c`!!!2`!N!32cFc-`-r-m!!!!!r!!!!!$mh-c-$2c`#3"I`!!!!
+2cFc-`-r`!*!&$m!!!!r-!!!!c`#3"r`!!!r-N!62!*!($m!!$mc-lrl2!*!)r!!
+2`ic-c-m!N!J2`!r-N!62!*!*r!$qlZlZm!#3#3r!rj!%m!#3#[c-m!#3$3r2!*!
+2m!#3#J%!N!3k!!%!N!8'!!B!*J!Q`!)#!*!'$`![!#!"&SJD6'pMBA4TEQFJF'a
+eCfPZ)'e[C(9XCA-Z,Li!!!Xd#c3!N!8J!#!!%3,r$!$rN!3!N!NJ!!!!)!#3"ai
+!$!!M!!F!!3!+!!F!)`!R!%-!N!!!"!#3"5!!)!#3"5!!)!!(!#-!*`"$!!-!!3!
+!!!1!!!!(`!!!Iq!!!(r`!!!rq!!!rr`!!2rq!!(rr`!$rrq!"rrr`!rrrq!Irrr
+`2rrrq(rrrrcrrrrqIrrrrcrrrriIrrrm$rrrq!Irrr!$rrrJ!Irr`!$rrm!!Irr
+!!$rr`!!Irm!!$rq!!!IrJ!!$i!!!!F!!!!#!!!#BJ#!!N!8J!#!!N!P)!!!!5!#
+3"3J!!3!)!*!',G6UE!!$!!!!#)!!!2m!!2q3"J!!rj!%c-`!"2q3"*QC!!6rN!4
+QCJ!%rj!%-c-!!2q3"!!!!!6rrmc-rrm!"2rrc*!%!!$rrmc-QCN!"2rrc-aQCJ!
+%rrr-c$-c!!6rrmc-!!!!"2rrQCRrr`!%rrqCQFc-!!6rrjQ3"!!%rrqCQ@CQ!!6
+rrjQC-c-!"2rrQCN!!!!%rrpQC[rr!!$rrfCQc-`!"2rrCQDCQ3!%rrpQN!3!!2r
+rCQBc-`!%rrpQCJ!!!!6rrc-crrm!"2rr-c2-c!!%rrmc-jQC!!6rrc-cCQB!"2r
+r-j!%!!6rrc-c!!!!"2rr!!$rr`!%rrm!!-c-!!6rr`!!QCN!"2rr!!"QCJ!%rrm
+!!$-c!!6rr`#3"36-c2q3"!!%c-crrmc-!!6-c2rrQCN!"-c-rrpQCJ!%c-crrc-
+c!!6-c2rr!*!%c*!%rrm!!-b3"J!%c*!%QCN!"-b3"'CQ!!6-N!3c-`!%c*!%!!!
+!"-c-QCRrr`!%c-bCQFc-!!6-c*Q3"!!!c-bCQ@CQ!!6-c*QC-c-!"-c-QCN!!!!
+%c-aQC[rr!!6-c'CQc-`!"-c-CQDCQ3!%c-aQN!3!"-c-CQBc-`!%c-aQCJ!!!!6
+-c$-crrm!"-c--c2-c!!%c-`c-jQC!!6-c$-cCQB!"-c--j!%!!6-c$-c!!!!"-c
+-!!$rr`!%c-`!!-c-!!6-c!!!QCN!"-c-!!"QCJ!%c-`!!$-c!!6-c!#3"TQCrj!
+%!!5CQIrrc-`!"*QCrrqCQ3!%QCRrrfCQ!!5CQIrr-c-!"*QCrrm!!!!%QCR-c2r
+r!!5CQFb3"!!%QCR-c*QC!!5CQFc-CQB!"*QCc-`c-`!%QCR-c!#3"*Q3"2rr!!5
+CN!6-c!!%QC!'!!5CN!4QCJ!%QC!%-c-!"*Q3"!!!!!5CQ@CQrrm!"*QCCQE-c!!
+!QCPQCTQC!!5CQ@D3"!!%QCPQCM-c!!5CQ@CQ!!!!"*QC-c2rr`!%QCNc-mc-!!5
+CQ6-cQCN!"*QC-c0QCJ!%QCNcN!3!"*QC-c-!!!!%QCN!!2rr!!5CQ3!!c-`!"*Q
+C!!#CQ3!!QCN!!'CQ!!5CQ3!!-c-!"*QC!*!&"'CQrj!%!!4QC[rrc-`!"'CQrrq
+CQ3!%CQErrfCQ!!4QC[rr-c-!"'CQrrm!!!!%CQE-c2rr!!4QCXb3"!!%CQE-c*Q
+C!!4QCXc-CQB!"'CQc-`c-`!%CQE-c!!!!!4QCTQCrrm!"'CQQCR-c!!%CQDCN!3
+!"'CQQCPQCJ!%CQDCQ6-c!!4QCTQC!!!!"'D3"2rr!!"QN!6-c!!%CT!%QCN!"'D
+3"J!%CT!%-c-!"'D3"!!!!!4QCM-crrm!"'CQ-c2-c!!%CQBc-jQC!!4QCM-cCQB
+!"'CQ-j!%!!4QCM-c!!!!"'CQ!!$rr`!%CQB!!-c-!!4QCJ!!QCN!"'CQ!!"QCJ!
+%CQB!!$-c!!4QCJ#3"33c-rq3"!!%-c2rrmc-!!!c-rrrQCN!"$-crrpQCJ!%-c2
+rrc-c!!3c-rrr!!!!"$-cc-crr`!%-c2-N!3!"$-cc-bCQ3!%-c2-c'CQ!!3c-mc
+--c-!"$-cc-`!!!!%-c1CQIrr!!3c-jQCc-`!"$-cQC!%!!!c-jQCCQB!"$-cQCN
+c-`!%-c1CQ3!!!!3c-fCQrrm!"$-cCQE-c!!%-c0QCTQC!!!c-fD3"!!%-c0QCM-
+c!!3c-fCQ!!!!"$13"2rr!!3cN!6-c!!%-j!%QCN!!$13"'CQ!!3cN!B!"$13"!!
+!!!3c-`!!rrm!"$-c!!$-c!!!-c-!!*QC!!3c-`!!CQB!"$-c!!!c-`!%-c-!N!8
+%!!$rN!3!"!!!rrr-c!!%!!$rrjQC!!3!!2rrCQB!"!!!rrmc-`!%!!$rr`!!!!3
+!!-c-rrm!"!!!c*!%!!3!!-c-QCN!"!!!c-aQCJ!%!!$-c$-c!!3!!-c-!*!'QCR
+rr`!%!!#CQFc-!!3!!*Q3"!!%!!#CQ@CQ!!3!!*QC-c-!"!!!QCN!!!!%!!"QC[r
+r!!3!!'CQc-`!"!!!CQDCQ3!%!!"QN!3!"!!!CQBc-`!%!!"QCJ!!!!3!!$-crrm
+!"!!!-c2-c!!%!!!c-jQC!!3!!$-cCQB!"!!!-j!%!!3!!$-c!!!!"!#3"2rr!!3
+!N!6-c!!%!*!%QCN!"!#3"'CQ!!3!N!3c-`!%lZi!N!EGh3#3"35lZ`#3"35UUJ#
+3"35)L!#3"34hG`#3"34993#3"34%4!#3"33L)J#3"334%3#3"33!!1lZ!!!!"!!
+!hGd!N!DlZ`!!!!3!!+UU!!!!"!!!L)J!!!!%!!"hG`!!!!3!!&99!!!!"!!!4%3
+!!!!%!!!L)J!!!!3!!"%4!!!!"!#3"1lZ!*!'hGd!"!#3",Zl!!3!N!5UUJ!%!*!
+%L)J!"!#3"(Gh!!3!N!4993!%!*!%4%3!"!#3"#)L!!3!N!34%3!!lT!'!!$GN!B
+!!,Z3"J!!UT!'!!#)N!B!!(H3"J!!9C!'!!"%N!B!!#+3"J!!%C!'!*!0)!!J!!F
+!)`!R!%-!!3Eb!!$rm3!)m`!#r`$rmJ!+p!!!rri!!2rc!!ci!2k`!2rm!!$rp!!
+-q!$qX!!Vq`!!rr8!$2F!!V!V+rS!!2rf!!Vj!2b`q3!!rrF!$2N!r,!!+rN!!2r
+i!!lk!!$rr,!!+rJ!!2rj!"$l!!$rqV!!+r[rrJ!!rrS!%r`!!Im!qV!!+r`!!2r
+p!!$rq`!8r3!#r`!!qV!!+r`!!2rm!!$rr!!DrJ!-r`!!X,!&X!@`"E#`+ri!r[r
+m!!$rr3!E!J!!rri!#E#`"E!&X!@`X#[p!!$rqJ!!rri!$`%!rrd!q,!!+r3!![m
+!!!m"rb[m!2JVq2rp!!)Vr`!5!J$r+r8!!2ri+`$rrJ!#+b[r&J-!!2mVpJ!"rb[
+lq3JV+rmV!#XVr`!ArJ!"rb[h!!,r+rRm+`)!+rrq+`,r!!!@r3!"rb[i!!,r+rR
+m+`8!+rmV+rrq!"Am!!(r+rN!![mVqI`V"!!Vrb[rr3!8q`!"rb[k!!,r+rRm+`-
+!+rrrr!!5qJ!"rb[l!!,r+b[l!!%VrrX!$rN!!ImVr!!!rrJV!2rl!"6i!!(r+rd
+!!2rp+`Amrrrm+rrl!",h!!(r+ri!!rmVf12l+`$rq`!1pJ!%rbX!!2ri+`$rq`!
+1p3!%rbX!!2rkr!$rqJ!+p!!#rbX!q2rk!!Vc!!$rrLX!rr3!#2)!![mVrr-!"[%
+!!2rb!!!!r`!!!"8!+!!S!&J"3!!"!!!"!*!&!J3!N!39!#J!+!"B!8!!!3!!!3#
+3"3)$!*!%&3!S!#J!@!&!!!%!!!%!N!8#!J#3""8!+!!S!&J"3!!"!!!"!*!&!J%
+!N!3i!!%!N!8'!!B!*J!Q`!)#!*!'$`![!#!"&SJA3h*PBA4TEQFJ8&"$)'&XD@&
+cCA-Z,Li!N!3k!!%!N!8'!!B!*J!Q`!)#!*!'$`![!#!"&SJD3h*PBA4TEQFJ3dC
+00MK,)'&XD@&cCA-Z,Li!!!!i!!%!N!8'!!B!*J!Q`!)#!*!'$`![!#!"&SJA8Q9
+YEhCTEQFJEfaN)'&XD@&cCA-Z,Li!N!39!#J!+!"B!8!!!3!!!3#3"3)!N!8m!!%
+!N!8'!!B!*J!Q`!)#!*!'$`![!#!"&SJE5@jcG'&XE'PZCb"1G@e3H5"KE'PKFf9
+c,LiZ!!!!!3!!!"Er!!!9r`!!!C%"ESrm,`)!!!!F!B)!$%*14%`!!!"U5801)`!
+!!(C659T&!!!!JNC548B!!!#1D@0c)`!!!*TTBf`i!!!!TQPMFcJ!!!#bD@0c0!!
+!!,jTBf`d!!!!bP"jG$)!!!$@4%a24`!%!1*%594-!!3"(P"*3e3!!!&D!)$rr`!
+!!4d!N!3",2rr!*!)rj!%!!!""!#3"B$rr`!!!4)!N!3",2rr!!!"23#3"!%Xrrm
+!!!'"!*!%!5crr`!!"B8!N!3",2rr!!!'L3#3"!%Xrrm!!!F0!*!+#4%!N!3#!2r
+r!!!9TJ&ZMh!#"2rr!!!8M!&ZNA`#!rrr!!!8T3&ZTN!#![rr!!!8[J&ZMi`#!Ir
+r!!!8e`&ZMh`#!2rr!!!*&J#3"!)%rrm!!"@r!*!%!J2rr`!!&2!!N!3#![rr!!!
+9,!#3"!)"rrm!!"9U!*!%!J$rr`!!#93!N!316hGZCA)JFQ9cEh9bBf@8fJ: