Subject: CModalDialog C++ Class From: "Michael F. Kamprath" Enclosed is my implementation of a modal dialog C++ class. It is fairly easy to use and removes most of a dialog's implementation details from you. You can easily create sub classes to customize behavior for particular types of modal dialogs (a dialog with a Text Edit text box example is supplied). This code is designed to be "stand alone" and does not depend on any "Class Archive" for use. Can be used in C code to make dialog handling more standardized (of course, turn on the C++ compiler for the source it is used in). (This file must be converted with BinHex 4.0) :&N00Ef4KE%4TB@a[Cb"$E'&cFbjcDA3!8dP84&0*9#%!N!3S[3#3"0[48dP8)3! "!!!S[A*-BA8#!J#3!aD)HL!J%N00Ef4KE%4TB@a[Cb"$E'&cF`#3$G'I!*!$JJ" F!D%"k!#3!`3!N!q'!!!")2q3"!%!V+'qVUbKd!J!N!CIj`#3"LJh!*!+0Z)0$3p $6@pNB@a%D@&XEfFZBh!!N"!QN3#3%4B!!!M%!*!$&V)8XH"849K869"$3`!!V(T e6DbKaBd!!!'D!!!ABJ#3!p8!!!Ej5j&CVJ#3"UKD%3!)(03FJKK`F2402A`h+(* 8!$h+*lBF[G&%+(M6$39DqhQBT#G'5$T2pD9%28j-%a%bf$j80M[88Y2[k&(h2C' YN!#$XhPf3Q)SS8DpK[%eDY@U8kYH)iJpcA%Y(J@a@ai+)lZ-JC&PDMX'EPZ!A"" lj,j3T*DZ$HM4U-m8Q(0XAEh6$aVrde2"kqH-T2![-hL)K93SMaj`4SMbSdGHhp* arTic60#XJF6K8#CB0d@1c9Y`Na+13Thl)[j!X+ZM5IiHV9Sjh"Fc4DRC0BmEcHJ c#3#3!`a1mH4AJJaJGT[Fb[$9QMeK(6RZ'U&(q0'6Q8IBbCA3Dd#Q!"4rVJP!+$k 0!16kI19(Lb"[%r3M!2JDp&eQHIE*bBL6!H[*m5F66MJC-2+-F0V+!$cI`UqX`2D qM&R5%5b4*kdSUq%)r@h,E+c%58r$rf(YkG1[iAJ-qb,U-Cl!6JYHX(kQQ1ieiEX N!E-S"m9cVSBmEU%)dV%Y8mdL$5,Y5Y9R@XLdlIAeQ8LdE*pD(GmQA+C-aE+9FZe Ap,61fLXVSp'S04PIF6Yl6Z9,%I%dji@becf43b4MMKV(F-bKUcK2aM$)HBa@Q'G JD3ajMbNq`Pr)P)`(NFjED&Qrce@%DI"$AKDZ9cRd"lQ'I*!!C5LScf%NG!qBNG5 %lL$"UF6D%D-&f4KN&h5[%)K[hKZ49m,)PaEXTF"4$eF3X4ce@-9j6`k5'&+T4GG SYT+%SRRlk$6jf2d5JPMN@SRMJECC%2T4MY,5jEk-49IJ%#89VD!jLE%@+5D"UDJ RKYaVFikJU&1H8ESTj&lm@r3-F`kl+&5UFC(+i9TVYE8+bqLbd2J2C5QHF$6DE+l p6k44-N#r(Nk"e(YBUf8XMh$GPT5i,`dQmcX)%Dl#`,iHD%A4k#3Rc9T3r$dEmP3 ImNLU'*C`h,`hSGU!KLS05d,crUl3MI9DED+ahCkmKQ$A"3Ll[8kTd`l&[-X'LEi FM&JDm@5[!ieDd!jL&(*)qd0L*Nh42VmFE3LK8'*RhAic@QUK5G3hfQAj&ZIT0NX 5(SI3C3QLS9(lU4B3(*BhibSXE`i1B!1qjb0MUTdj8$)+Tdh!cJ&Q`8QJA*P*A0j Z2qFD&EK%f#4!+T)QK1p%'XX4*V'a[2E5l$rLqYdKlf)C#!fV+Lfi,j(T5F-J$(H p[dMHcp2S'8Fl)XpNcJrP3)Z8GhJH+C%KDX,`6BU3!&)j5mK1FZ$DI,+NhABUI+B [2,CH$+@)CiDJQBieQ1S3D)-0QKQe3pGLEV4-)QmaP2,4@k4GPGkpG-J5%610ETY e#$-GPY'XZ)(KY2Z,iE[PYjCX9k5jGD5N85AiI5fiNS5SS%9lf!'p)!*YdliYQFI Ai`clcLk@XS6E#I[@"(,,6Y#,MaTUX[+-6A1S'(fPVNU2&h,[rleCFkpqYDS!aQH VVVcD8Dc[3lded"Vj5PY)ph2&ZJK!DKpXb)P+kl8$RKjTa%#!'HB(pQfp4JTaM8- )[@,lF5QRP&A-m*A%ZSZ!F8Ndd+YlS4D[RS8c[qd`lA4QK&![h5K%dE6iNBG2QNr mL$%EQCr'aSYkj886eVkKAlq+Y0r*+kfT$&[Nkm*qqPqGqQ84Ee[YJX$RYiL6cqj kcBECMGK(#YJ&`Lk,d4cY6DLAR$"2(McQdD'L9QK[DCR"mJCmKDiA-`R[k[Q3!$h c2*j0(8Y%5Yq0%4+XlaX&i@i3ZLJFRNaA[,QLe5F'r8-Jip%F*(raBBHGRZ2h!)Y `ARA#Ir&!P4K(Y)K1Fp1fAq2,0V,2p,B[(-#MhGi9#8l3j8l**)63[GKeMFRQ042 !88pJ$`UY@BpKE48fcafMLdGJN[@lY0@2"Ca5Cb[UPbT#9eEM,iPNlJK26,0E"dl B5mm#X%GifS[da`dHlr2M&8C2U`(QmETEl)SB1ph%#*UiNiPZ@Kc-C(6NUj5ELCG 5CR0iZ$ZJ+90G#"rF@%8CXk-Q(pEibERUq[cN8@$ZM*J$aI9!d5(@D8E2l#(9A($ aKml(9J0dM3M)pD$EY9G6Ga1GqIXQSrVPEU-`[ih#c89dGJDpZ52i-fcJV0ZQ)r1 '[6Rkb%c1J"J$+h"jXiqSCLHm!4ZBFZ-&%+N`b-&eLk26S5YaY-b-E('m59Z$*f- "4XQPXD1B[dbD8IajPXDA+cm82GVPr8G29fR0e'A,TJ"2A5khjI3Y2#XlTZ5bKNa 48CD*fI[bjP$NKbHTXlV!jiF6N!$&hS),,rLi)dIT*4K@PR`HPeEq`%1"JLX5i+F L#)j62UEBA##J6Y1dEjrPTbChK)d32bM!G4Lm(eEaZRef0KPidQMJc4l"k*)R&D! La#'ZX!aaQ9M8FK1G+Y[cLRbAG65(dcfG(!SU4pDf6-d+JV1cbVT(V8H0HRd#2IY PKFVV86r'"++0cNKE&FR)#,mkS5p5-Uk%M#rF[+bl#c2,k[NhYaDif*IiKFNe-+D -@#T1ZBCX6U#M`+ff9r5GbfGGXmp#2Rbpm,Rk613%Y)Rkf+,pZ21B+@`E@,'Vc8X 0,$EqkiHbHeMF1H3q-(bNlC2f@L6B1fk`Rq-(4e%2#eE*Pe'2d6A5-)1q'i+"+4E 2KVT01mmai(@H0d3IMM)2(LffF"`VcSM59Kq#MU"`Vfl@-rk8erI8Z4Fi*p0[%Kh `ll90bI4*9`P@r"V'Uc*9l$m0$3j$6@pNB@a%D@&XEfFZD(!!N"#XiJ#3%BB!!") D!*!$&V)8XQ"849K869"$3`!!V(TriDbKcBF!!!'D!!!8kJ#3!p8!!!J4a*fQ[!# 3"QID%3!)(03FJKJ!),GZh$i64l-NMV#J*%*Q4A&l56-bF4ZH(XlIfXr$*$da3Y* jULq0H*c3*LHNZAfSV#1Pe23lHY4p6fBVj1"j2XI9QcLXpF(2FXH5rL)l+6mJq!# D)V%c8hq%-bU'iQ"@0-U&R*RN,*'G0#di001C8%iD)JA*a1dS#914160%"DqI-j, #[kc-3bcX!XA4)jkX@IcSN6IZ#q$YRihN*Re(,)ASJl*ZLKbEYf#P%ab&1[G&r)& J9dH6r$eDYA+i,fD+8V0V(MGD8'Z6!*!$$%jAmRL#$'"qNY[5*#YIifjbQcaIfAk b9CRG5VJA2F+pMY`Q%dB!+2k-iZ88(m#e!6iUAhGN(d(H*ZK(!&$AGChd1MRK4cM CCf3I)lm*-KEbR0`QamQQ'9ipHhTb3UF[ADADP9'YZeSd"9l`ckRVGYjF0C(q4Sm qrI3hG,QMPkCXP'lTE%'IUdhR9@cQp&RENK`+j(A3rNCA#iKJ(DI14P9'-VCfIU1 LFABjk0XSddDh[%ikrY"UCj@[h-,U1*aSBZb@*bIElABa26r*0pNU2[A#P0S'25T lhCK!TDXd01lS8P2YY@jhe!GG`3Vj6-T@&"VPp4DrUI1ZkXXB&V"XXp'q"!c$Sd% @c[Y!Qcj%#RhA3G"'dpE%KT4)QP2GYhM9*MXU@0$Yb088Qe%J[JhHQ(!3aViXD'e *3irf9+S!28PaD&cI9Q4G0,9S6T+-jrITBpBdB2G2##S6SMHAI8`XQ2K4J$6lmFC 9TMCia+6##RlRJ,@a)%(jXM%hHY#@(B'SDpdah3cj)2jVH!E1k6Q%1VmEUEajY2K Nm3Pp$*G0a$r)mVV9-&SZ&`q!p09'NE1P,KkBfPDkTMG[9Z[2AT`rHrAQ66&lB'c CpR$dYbQV`U,jII&!@aKA&'@V3TK089EmA`(USLjKpE+B`3C3Nji#2Q!"*H-"#Jl 2&C[*D*R)Ed56"NE+b[e'h5!ibP+(30'"R39piF4rQ*!!d+'Z[d3!-*U,BTE8AN3 rQme'mBm,q'*Z9%4LX5SK&Erb)`UaVfY@4Th@emCHI9$-DQmJN6S95R$ca$Q!BfH hGTmK6V8rSP'cf0eHcHRTMEEa5edkAp%a(XRh192X)afEU$I26AciZ*J9-p'6P(a eF6'E93GTH)!EFK9fcLSmr&+(p3Tq(PlT@[9YA%28G!`%PEV0ViVCD1#-6fbIUr" %DhZUfPCAFJ"B(!mme,dYZ6Q%BhQh1UF[cPp6T6XQ!N%$4i2q!#EF1&1aT'FkVT) 0-$dH%Ir[9hb'2a!E29`kmfUMmkdRIBc1(Nh2erC'YDD##C-HITeS'@@SkcX9&bK #iHK1+QkF#JAh*iU8'8YB+('JZ6FKTG%A%#KF9&Ckq,bJ2lSqP4#%!@))eeB)5+j HV[FPHN8P-ML,q(%LQ+1H[jClB9N*bS(V'#r!Yk23kC*E"MH#M$+*()$3)`P(9IN YQj2B*P3+f)T3e"YDV`,5Vf$Ild,U+%I#'"lcQ6"plq$iNqrP@&R4lqM4A%jQ"j, Xqi-jF2MHVamqjS1h0S&,if1[@VlieeZ(%YSiq%Tc"a,!%N-Gjk9+6mVHHk3S2I1 U[X!lXAYJ(CGc#Z2P%I'c"$V,'UMMmLE4Y3miiP+,pSIr#+kSH#p9HIk+p*pkC'% ,`@LSNe*%(BIU'[hk+!Fk!jM$r9Jq[Yjek*,2J@UVdi[dE5l"Q&lF*b-Xr%RB[Dl hXX6jddEC+c&pT*Ic)k@Lh%2p2U")dD[b1[&Q+ZkMU8Z,Q,mRN!"8-r5k6RX%'N+ PFcL"0`QSDlfEF")YV%'1QRbemQU,9RrT[NAeG6dr2i4HGSVG4$ZlIjVm8Aed[(L JVd&3k69D4)"5kMXZ&+5jK,&UE!8p&SJTUlN,M[ka&rBqA[BeDm$6kZhAk)C[)8j `rAJRa4`+Q"$3'"6L[3h5EI852EjLPpA"(8`4FLLJ2A%JBP2SA1!VU-5TT+(C`q3 G![d1DAIj$@F#I-rPRm!(4Sd0TJ*)+4f@&klHXUZ)QS1GF1U3!+E$-aLNhiAX9a# fFZG@LrBAcRAX%qbJV8`Al0jbH4[l"0#MXBJD5kGT6X%+!TYLlfh1L5(p-$Q8B$[ $,p$EIR1*k0ifQ-KS#l'0i8-681c0f)M[h(RVRkJp'fZ"$"0XRV5e'qhKZ(#@h9l Ab9U9%U9%1h3EmqH*CU4R#Ti`&`8XJ9D)PX&qQ(e3NHB5pflaQ,*VHZ#NYLL-BX) &DZ!@M,MY*$Ca+IIb9!(0D2*2PlFq$115XdJrNFm"b+JP**pSK'k5J@2),G(ee&E M'pkpC%RJaI+GB'RA8b$"(TQVd#hf0Y!h3#M9$,c**A$pqSANC-fM3ASca(jU(L0 #2`!fPkICh63RD3@I8IH`K+,04`5(*&kZTK)*#)UpKVFK"bmj2h0jU-AM3jRF3m$ 2*mq(8p#Z&952qC6RKhXTqm([3b`)&GDl["H)K@)G4Ym2FC`AY)RkXDm0BZB-#aN "a3pK4T8$8DJ9$B-ZfFq(FdGL8GP-Jpf+2r(ce#PrC2P!"$1E8MbYRDL%B"C&qSc praCE-TI@j)LNR`MMMlRa5&QCDU3-XqKS5-@K!i41BEQi9$jjcjjqVRFVYl8THhM F680+mJL#,BmYU8LKP#)YXIkbi4)MA"j3&l-Z[*q$NF5-l)16UaKd8KdB$pZ28)b Rfq0@P*!!JUhXQl[&ClQmG5bPDpBSkVB-iVmZjVBN93FAcc-+GbRm[PMm)k9&&2- IlMS$i"8XTfS0I)De5JEbe$c"rjKf3mk1Dq5Y66m2UD2hhqA!$qlc*L(m-h!m(2# $J38fm(E@CR'YFaK'*-$(,80N5#MpCkKM4Zm"Z,2U[e2bK-",Km6m0`3E[V&2`IF Tm&eM%!'*Sd%"EffjZi4S8"[fIB@$-Z,T951Xe$f#+e8+qD1*dQe`aPbDeX3G(D8 r$8#a3D2R[mfJ0DQU`QjKHrL)fBYGb!2#(VkRD%Tbiq(hX,f$iKF%!ZHFfrK2T(& r5ShprdP6&M2%AX![#($f25@6Q6m6mTI(aIm!N!-0$3G548&%)%e&D@&XEfFZD(! !N"!I)3#3%!M%!!!AH!#3!aDai,)JG(4bEh4dH(3!!+bKbc#XSFl3!!!#%!!!#,i !N!1e!!!%1E`6VBB!N!Bc'K%!#"bmfb'),FKjN!!,Yq(TB5U5ZcX@klQk*L8NBRq 5ap'DL*!!`IDKXV20MTeZqY!erSiHGGq-E)8Vq&R'D4EH-13fI#VNKk)1PfBlTd) qm"U2GlCRblZH[hc3)5-Ij*!!-T!!er%i(-Ncbm-GqN'1Ud#fKehKU#I[`plih&! 0FU"62BhH[pVha)kZq,bM81J&RN`j00h4mS1GZ`8FAYLMDqZ3!--9'+A8l#kQpVk jfKhSS,&h@!#3!`ZL!%q3!!(-bB66)f`06`Q,(#I(IF,*mA10F-)TB8pBj0L4!5F cJ!`BRr)9S$-1-&J[ZB35p('#1(U%%H3"e49E1I@BK"&1'1%%H4a2U!#H*M"G[R' YXPG'@EHLT98K9-f1hKMG+lEd5df[e$"j&IYUkDDG0kXqdYrdp0QclqRVRJApE#h P4B%m"rBEEZYU8-C'phaGY[aNfBh+YkiH19CpM02cbm[YGPXrc&h1brUU1P)bJ43 YRc`K,EKSf`-#4EAQ3'l$RQ,2e+KJ00ilDNfBV0UCFB@YE8j3[f6VYL9(3%E,XZJ KimG!+A"G94YR@VSU%Glh+TEa-mTcjp@(%aRjN!"q[q6TGcr3qBXUp-l(2$Yr*[, `UiN[UTI1@9EMBE*e)p12e#NEq%99R3,9lhUh281J-JIZ!(IfMH`m,b-IbXpM5X3 j*,KbEdI1a&il0afbP#pX6859cZE0FkMb(D196k[!Y(llk[QAd3HBd5H`r,ULmDc @aq(EmRKEhAjZ[E,SE+#G5a3GYG`CT*1Ukq3pMe&'9,+4e0J#cDLKT5E&k%CSB-b E1VZVk4SEE(#ImqJ8SK[-Ab95d35H[%ZVRMUSLhd3i38$AHc)M$el%d8U*dM)2VM @G0Nh%QAbES+60XE(T1`FKESdkQL!TUBVTp-!INVHUA2q883EjBe,JDE8@+-2U`8 b0D$U%P+EmELhlQ[k$@j"3dFAKDU+*e6`@rJ(0S*klV3da4'ki%X6A2-(kiMKZpL EF%q6-b-!e[3Hcf,3A(,8+3H8M5[V'S!1!K5d6V`c-k8e`pZbl%MN8pB[*ING,B9 'Nfd&jebaIqNYFJ8a#)"BVY(bh5+A[&FEk3+0c&MJ+%9Mphdr`DA1Z`(kK2k[bpU 3!+E*'Z`&2EiT&d-j2P!l#I#Zc#aG+hfdlDH'R,De2!"Ra%f$lN(Q'Ba83RaL)"6 F)GhM,5+`a$SXPX$&FKGh%pqAddEQ&a3QeUEE`pjI135EphL0I"1TF6H2UXP5"+, j!TTjiRe52["#j%RA%)aPJ`TNd`THd)"di1e@09J,*`iZ42(FbUYKJ#GV3R'k3qR 8Z+-r%iGL,3JZT09UIPj3aa"ejcNRi`Zj%fPJH,SNd'jJ5Y--%dRJV5l",kQjb-M NkMX9"SAJ)S'"KKeYe5j,iISMlP)cDTZ%SJcR6!*@HGd$-JVrfQJH!eG9EQm'2Q# rD"D)B(l%cl,0a#4@k*AR,Ij+"GUN)rJ[R44"JmCq52ELJKK`CK5ES$DmEkKN34% 5kNY3[!$!#B0c@mM14d31NIZDSH$h6!*0JC33"1+5Lf`a4chS8P5*X#@,m6*I([G Kp[UqcLjD-dqP(hQhD!rEdY5+Y9#4rjU"3cYk!fZ8JTMiE8##m5,,@P,JYKRNrX+ F`rm(c)Kkc-hEdd+D08m4qk25)Z"$@2a'$6B'6hFUA*K3he2e2`!J)!Y6B@e`E'8 J3fpNC3#3&10F!*!$R`#Y!Ei#13#3!`-!!")D!!!S63#3!aB!!"IS!!!")!"S!%! "!+bKaekXSG!8!*!'*CN!N!B3C3#3#M"-$3d43e4PH(4#EhK%D@&XEfFZBh!!N!k ZbJ#3%"Gi!!!JdJ!!&hLai,(J9%9B9%e03d-!!+b!IFbXSFrJ!!!"QJ!!&r3!N!2 0!!!(VCMZ6M3!N!EL[a%!#"c8())B!!J(mrY*5MY+`P4NqU)TDF+Mc5YlK[cqeUd ,Y3l4)E)9(j)B)HNmeCF5eHiQ)Q5`IDLX)b@eLAIdU2[cCb[Ni(QqU3kf"q2QG+p Sf&&hBke9hGcBb8KUlq%3iGi0)1HNZIQrI5'r9Z1TeVXH"2ET)#Tifp(dp$XcF8$ `9%%b-ULBRm&$,23%M#lfM*c&Majjm`X!1Bl24Uk@fFEK6-3%kkE)XAQLP6Sj#RA ZLrJ$`Dk1*[PlY'VPF&r-&+9QecaZ0-`##`!-6[(N9i)-!(k4SiH[[@CGNAd5[VD PqpKjAI3)1lNVB9T&KJ!8Iki-,eP0)`"CapE0FK2NEB*q"!$9S#DGYE,Vh+`Bi@3 2b1dMNddB'@cbQi`BfE59!HJ-Ih$!MJILKEQ[ATa)RU[RhD4XiBMqMP8jdr*jCYL IfGf[[[SeZjUaFjPNA16XBCFpiZ05Fj0ef,dmCaDSBPT83Np%fJ8*iR'X#X-6`f3 a9(V-M94&,r!EFjNEe4Xj(Vr2K5Ui6P@h%#C!C-D8[B1$kA6DACiIH-c-Xh`X%e& 8SQ%fb'6&%T8+F*ba+m''@SKmaZT+T*!!`MicAU5XbVJ@8rbb8UZd6Nc9K@6MXG! *h"#1!Lh!kiU0kmU`ULj,%"S,0T8QBpa5kV"KRH-UGh+NN!#JR$%eC#CV#1)YD#1 V"6(5TF[1#LE!4fL@m!Tm(1-U8h@HXN)C1E5F(5@TkGipHNl"GMqC)*@9dI+U0Xi ,dZa@S&EXMe8UKa*(j&4)3AF+YTB&R-"eNXQ*#0bm)L!e%L@jQd`Hb$q$C[!j1`9 4T@H0+bGhZhHkGpJq9*B'rd",Lea!D)[FqS8XNVb'AVpe894eXk2&%8@*9[Rkk[2 Vp-SqEl9+ALAJ0P%bCC%r2c0L(,2[C*'UDGpSXSpll*!!PKS5!Z"Ee6km4Ep)`$V [DjA%AS*64%FZL)-r##4+VXda(!FDVE8`[Glk2ID)+GkHLZVX*&!`3,%(V0f+HY( aZ8Tj(M!AD$Id4NmH[6N#MCFY5bdLL3Hc%V'#l%"D(lDFN!$fd$ee,2p6L'&QZ6J pE$d9L31Q"hG0,p!hSY$C2k),-,lXppRAl&Xa[84LNGQXApM#I3bQm*MI#%-ACqJ %mFK$G0M1A"rl&"6C#D3A$#lH-"J4HDFpAAGBl$LdEk4k4mU"pq'@H(l(Ve4Y"Jp 1)A#[0hK`3GD!dR($B8((ST+&,"L%[JZrUPSR)YiG22M$B,I6'*bJR-eHBp(K0GE TBj@-BQG3UeSMaKR+"K4MHpkmS1+%[j!!Ia5a2@V$$"F8CD@hK'-14kmNYM`[Lrb Dk9-Adidm2jek5B0!ac`RImDh21RkAQh8-`N['9e6q,`&5BbFF!-P0qG4+h*CjVe *bY[h10kl4YXr+Kl,3P3GGQG,p(8bZH#rcrAlE!V4k29'K2K+F-jIb(%pMYHGSEd %pmVY-fY4BY'p8XDS-8kD#k2+YL8A*+UD1Y*NVUG)2P'&$GjeE`(mUpY#mUIV4S+ L!*)RXLS9r!aR`#dR!R4PL4SAajF&#U#ZZ+@%$V9*99,T)ra+cZ"icq,@m*!!NBV C4NX#c2RXZQ,C$MI[2j%V1K,YjEj5L+d#*kNU"&`dj(NPjUhQ)P06f`"Dd656k(V aC`5%5[B5SH0T!0DKRDJRKE"&lE&5TF8&F&4K'NJb&RXiJ&[dL+Sp3cAVd@-3J!+ 3!(#Mk%S,2V*2$UL*)BIAR12R9BYqJQLR-K9%(LCTp0dijC'BRDKTm4$6Lp!amiA (0H+6r(Q(2CL)JU*(k45&)K2f2E66[8E,Ph11@TKD&p4ljdE#5U5MD#4QeL51a2l 4@&39Ibjfk*V`cRN&+9Z4(#)$jbKZL0$96M*1S9G`(8"LbqKVYT[XYVrr[RNphQd hlV+P!l[,YLfXT3U@Ji8L!GABLL&I-Eahc4""Ii(QNjJBEH*AAhcjQbqhTH)[K+e YLHpRF`3LZ-DcK*B6`-Dr`E9cS`D(f["bG$#c"&E,G0KN`lR#RV4JKc32k4!KBaa 6'd,fEj%8HicZ[3*c""XDZ*e(*JA(UK%4VMmiE(fMq4"X!F`RJPViBBMZSDU,e*9 k!2DaXc5RmfT@L1Nc$KUHf@,Am%0'Xf3FY[S+Sj99YErX!pXXSdk#BQKA!EB6T*N h2RISr1(R"*!!@JAI&*-H@4p%FR@&5Ua3jRN11Ji,U0X+b[kqMU`D+#9+VpFhC`@ G8+EfDCd)'*4K&'%f)l&5MJ,#0RbV6!i0iSEpcJBAkcNr[-QjVA3Ikh2Nr![M[#l [%k`%S4"6CEj&5%A99'CLXfcMS&9MQhKIaMehUd0S19!L'*!!cVCCMKbRkZ"XpDN !&c44CcH0KeJT[@S,XpSNTZc`TaEBYbKr3VAPRGj0Pb(-"@%)lL(2LP3Q(-fGXTE J(*lA11H9haHXXm+!YAEE3JYAKQ``JSk&'fLH",),f9bq3q9#1P8AXI"2MT4YI9N iGDLG[99Xhc[qE@fM5QL0MIpq91k(BD-aD11S9G!d3H'lrBIUZ#JHUd,bhe*j8r` qe-Th[A)aR8Ir(Yi2p[cfc[B1PPY0dq[QI@lEk*DGEYeRB5q3!,9I39!5VQlCAKY 4mYe6-B4jVGa1P&$%,1aeP'r'pIpd-cGYACBT6CR0UI@BBlZ-S&CdVLCL!0S"U'Z rX(&'A"5KZi4'`qB++aG$'KDrf-+KRrm$cdq4[r`4mND10Gik$Ilh)F8b%%+prp( QC&drNXq(re8pq&FH8,YXUYAq88)[qC0TJHpb9J[j"jVEQ[4cJ3QEiG`!YRHj*G! $ACEhDhLYS"jK0m&0cedDkUq-+4(Zq1E8$)XVXY3+2L9!&qR`J@iImq"PqHN!CIr 'PH6pG)#`0fb4JI2ZqV2a0kAeK`KCpYEA[H&pp)6iI29r$3d33e4PH(4#EhK%D@& XEfFZD(!!N!ieM!#3%"IS!!!Ph!!!&hLai,*J9%9B9%e03d-!!+b!IQ'XSFqH!!! "QJ!!"q)!N!1j!!!$iC+8Kb)!N!B9@a%!#"c8())B!2#-qK!M5Xe`l!!&@iIS%0Q +$dQ-N!"dRZT,)al(e85%$,B2PG8*#@hL(6hUrSfb&A,`$0hV2a#RZNUTDGX!LYd 'Y[4X!cZM$r$0$K)d5Xe!cQira+Z9HQ3d3#%(S4eifp(dp$XcF8$`9%%b-ULB2aS 2X6!FmU2E24Qcq0%MEji!N!$VS@`dliLP%#eB0d@1c9Z`E(j(SFjp%AmJf0A4*(q 29UdFlSZCSY6XQXH0&Y6D*!!+6J()i`NbJ!Q,2+G*9SD2bBp`mQcPK*2MHPEd#(e 1*Ia@GKdC!UbH8Eb%!Z4&!,k1VB34IJ4jR+!I!8"eAIa@6Smm2r+F2#G)i!3Y(0m 4i-I+!1CcZPLVMr(FI9aUDGa$f4EBiHr#pAZ[(pT)[p(CQcGId@C2GlTUT6,dVU3 EfI9HaRC'EifKG#L3!&G"qDfU5d!`ai@c89D4Y'fFlf68cLiQ[NjU%phL-A0mDj5 cdYHZY#T1*pSBqm9m[Y[YbZ2kI,c*8I'T@edT'p5"E0hU3*@V&4MhY&(8H+A-RSD JDN54aL4Y6D'9AZh`6lehp9$&8#+bVP1qJJc6dS5&mcj30i4)BHKl!(@+GMUf*"2 5M*V"B-[N1'T%d1r*046E!b"Q8cBkr!('ZC4dE8Q"4hQUC!"2*JkY'da0eNAG*1D -T$h[jq()0'RhV`5e$Y(Vc4#c#cTq(S"QAh@ZeSh'%TZ++(M23@YYBB,d9DZhDQ) E%`(8SqVCETCmJ[q!c1!jA3(8qIh"bZeCqETm6Dq3!,+1q!(,+k-30!FIPDd"(ae 65AM`%BkE&'rVGVc(B9rFZ9UDh&3c3SJ6h1(6L#2`,EM)qE,QB0!a+01NL)V2d"d 2R54R+i@TYT8CS-Q,)ecC[LL+bXJ3a&-rLSASK`d8&mGcaDHLk,hHbSJ@%ShA5&2 d-P3)HHYd,F3)F4e9Gd)rD9Zlh5TkpMJ2Cbb94hJim,elqIAI&*3SIUbm-fEPAAA #pBVK&8+'+Q!C&fDTH$&B54m[Z!2kF3#`3LJlG25T%1,arSDqSE-CMc,@ZI6Bq#* YM*&KrQ8KIN%LKAL23Z))hkp@3SLB$f#)jC(iEF8Pcr[KN!"62V#qc$RKX0bi)@+ 1VC3k9J4F'k2p)-fJ'$H,"U%Jq3SUTL*GhYjraqm-0rK+dI8b'Fk,aaed@0TCArk mcNdIpbCa6&F#RH31[9iH'KE0`dH$l06,XBR3PVf4qpa-@%i-PE2S8,5jmb9%iHq T*%j'Q@[-IP$KHMRCcFDN"@,$YpV(34UqrqXc!+mReR@,*aAk0dI6i-Q%ed%cf+3 C'b(Mm`Z1h&CjVfY%h(MArGQC$$95dlPcD&mVa)hD,ph1[NYX*d,N8pa18,a95i1 U(@01hq9@@D4B1Bp'1X@&Y2"d)mH0`5NAfT@1al`2j(F14AeNr`rpP2M#2qMB&Q* %6klprL@YPYRVCqRikF#D1BZ(dL4CGX`U9@-jP3,kf14''1XK)FPN0fh3Q(8@-Ed 0RjrAH&K4QhS`Sc),Fb@%SkU,aG,G@j8fEThVN3khfYi0k"biP&i9,1YI3HEA!Q* (Drm2!!!0!"0$9'9iG%*[H%4TB@a[CbjbFh*M!*!-qV)!N"!JdJ!!*pd!!"GiXH# bi(*cFQ058d9%#!#XJ(q"V+(,q3!!!Sm!N!B"N3#3"1dc!*!)cFd4!!J!2(%1C`M ETY,-I0eB8'Eelimc-P-cFl5*T$Z@4Sk$D9c)P#+Y3h5)E-@(*%C)1NreL8b4iR' #QiL3!-(fSE,cP&2[k&(h9mK@Z$fjb-bM#mS"3IYRj[&6PT8YC5D)P,6)S*R'M-i bMBTC)Dd4PLejfr$dm#bIei3h5a&KUBjc+`[2&XrM)@HqU,JQ5YR-FRhHB"YRKP, 3!`*FLrV"JqM3@%rRMNE24E[!KHMJA"iBCI4T8!!QS&f-10diMN""Fcmc(BdTjTX "PD%b+S4Z0CGP2TBj,ir$r61VHX%,4GqjLPURJ"GLhr(dKY)LQGL"ML%N)qTF56r 0P,kiZ1k4c)M%rNK+'U(TZ)d2Gh6XfiP-Uj5*dhJ'a9'55M'4FA&B[be54K[AV$P im'"I1Q9%K,Q289Pci-c346Ub*%eQT1ZI32*R32EFqG#+Y4f&`VB3QpJqe%P[@*G XH%9LTmjYpA*D8Xq3!--E-qA3G)Hh`#LPp(aNcjf'cp5@1%f#-l8ef4GKD1pa-[T RDTHL28H(,3!!)5%53de[C'&X4'PKE'pR)%0XBA0c!*!5JJ"F!D%"k!#3!`%!!#A F!*!'&hJ!N!1'!!!")2q3"!%!V+'qVUbKd!J!N!CIj`#3"LER!*!+RFXK)4*$6@p NB@a%D@&XEfFJ3faKFh-!N"+#!&`"S3(S!*!$!3!!&hJ!N!F@!*!$KJ!!!5$rN!3 "!+bK[UkXSG!)!*!'AqF!N!BQj`#3#Zp(RDm!!!: