Hi,
I've fixed COM aggregation in D5RC1 using the mechanism suggested by Blair in a related thread (at least for the case of an external object aggregating a Doplhin object), but I'm unsure how about two things: 1. How do I ship this when it involves changes to core classes, specifically changes to an existing methods? 2. How should I write SUnit tests that include an external non-st component? I haven't written any tests yet - my app is primarily COM, including pure dispinterface exports etc, so I'm confident enough for my own purposes (actually, I on a killer deadline so 'works for me' will have to do right now). ------------------------- Antony Blakey mailto:[hidden email] Linkuistics Pty Ltd Adelaide, South Australia |
Antony Blakey wrote:
> 1. How do I ship this when it involves changes to core classes, > specifically changes to an existing methods? I should clarify: I'm asking about passing the source to others i.e. posting to a news group/on the web etc. Obviously I can 'ship' in the application sense. ------------------------- Antony Blakey mailto:[hidden email] Linkuistics Pty Ltd Adelaide, South Australia |
Antony,
> > 1. How do I ship this when it involves changes to core classes, > > specifically changes to an existing methods? > > I should clarify: I'm asking about passing the source to others i.e. > posting to a news group/on the web etc. Obviously I can 'ship' in the > application sense. Probably the easiest way is to mark your changes with a symbol, perhaps #abChanged, and then file those out. Each method would look something like someMethodYouChanged "The #abChanged. below can appear anywhere. It does not have to be on the first line, but it won't help if it's in a comment. Now browsing for references to #abChanged will find this method." #abChanged. "Code..." Migrate allows one to define safe and dangerous selectors and will file them out to respective files; changes to D5 broke that feature, but, hopefully the attached restores it. Alternatively, you can look at its use of ChunkSourceFiler and do something similar. Finally, you can simply drag methods to a workspace to file them out. Have a good one, Bill -- Wilhelm K. Schwab, Ph.D. [hidden email] begin 666 MigrateAndCodeGenerator.zip M4$LP,%!+`P04````" !W3)0LT%8.T*A'``",A@$`"P```$UI9W)A=&4N<&%C M[%S[;QNWEO[9`?(_T,H"LA>V$N?1-G)BP*]DO6T>B)T&16\*4#.4Q.O1S'0X M8UO=[O^^YSN'Y,S(BMONWEO@+HH6M31#'AZ>YW<.J?ZJ2IU<ZIE1O]Z_%SZ. M7ZKW_F.N%V:LAF_LK-*U&8[:0:6^^=Y4SA;Y6#W:OW]O8Z*=38Z+Q<+D=3M% MS4U6.F5S=6E,:?-96-"IP=SHK)XO!VJKJ)2N56:TJ]6UK>=J:O,4@XN<!M9S M>ID;D]*@FJC3FMM*YZD,G9FZQM!Z;A:J:&I53#%-V078Q#";UP5]*&A$-5+J MK*8GKM99YNBILDF1@S]ZJW2:6I#7F:J+@MY/BRPUU;Y*BV:2&95D-KFD5XJF M5T2F)H'<O_=B7AW@OX\/WIO*%JE-B/;RQ4-Z</_>1V>$-!%=.DN[T1-0P Y; M6? 6Y_J*EEAB$96:TN2IR1-KW [O@N;8%+N?+OF[P^@FQY^6$&WOE1?=EVF7 ME:G,SXUUMJ;7Q))665$KDKXU%8;G4?[7\Z7:;75#'Z:V<C4M<U)DY=SFYW63 MVN)]5:@M9V2GG^REW1:RE8$D5&X3PP(E>=("%7$&XFEQ+6)/=./,JB@K4^H* MPS#'W)1%57N1OB@//LV-3*WM@F1;5?8*.RW4PIL=-$XV<ZVNQ$AA%9[E'15L M\]IF&1NH6A8-# E_JU9R$+/.EVJ0%84S`]I[9G;)=K"O=,F,V048PW(\%2NR MX8U>/"P/9$=/#KPW.>+_2<<D7IC%P2EO#-ML!]'C8"77%>F(=H*519&!]ZVL MT*GQQ@UJN;FIPVZW2:2Y:AS+P1N[<@6)"IY>D:O:V*B<V+TDP;:(S\0:ND MJ"J3D$-5Y .L'MH.,4:L3/C9RSUHHV:5U2F-S^C)B\G!JZI8C%\\G!R\>%BG MG9>/#RZ(40H41J46I(MJ"5; OKBKB>((G.V37G)3L1UA7&JFNLEHISIK#*R, M#2APFD/PLN9#YFLM?Q?%_XX[5@`;C5?[[V82JJ8`Y'6[PK'J&R09?J83,1%( MLL,-!SP\ORBZ3^$,L!3(S=;..P&L'G;S>R1RK+.DR8B%T6BT5C3'(?+)1MDH M,^LXVK:1IE 3XV5#ICE9>L/T/K%/7TD6(L \R9I4-EEJVA7DGI(XVFW#(B\0 M*$V6NHZ0M'/-(L0U."X3;+Q3.<I8'=FXNFJ2NJF,F'1JIU,*?CD%M")A$1'A M'X@&_$5GUWKIE*$<P*38Z2:&W#QL2MDI)R*3_AZAGB/F:O<ED7YBW\9"M_25 MI@=]^O0'?A<CRG<(2.J-J>=%&L)*D$]>7,/'BVO'TD&V*DV"M%%?TV>3L6C( MY1&_!DY/*;)!UH-4YS-3%8T;J(50WB%CQ.2:PFNVE-PI"=U3GE2TC&%*E6') M)F('M"UZWEG,IS"6*;(T1Z0FF8>E5#>,N:6K3<?P:>4+F []2WJF$$6*($$4 M&423V0-PHROV.YO#"P)17D$[RDEY"H$<OC\C3]%E27$2?D-SWDW^#D<\K&JF MG]E+`R\N5,D6'TPJ;*4U.TZIQ$ZZ#[/ DX"-6*?,P4XOS ;_GOK(C!"N!G#? M@7IW"/3A.G,QPJ>L%P]IDZM;S>R$/9&X32AGS[!O'>>"2YU)HC(WY*DN@!R. M<"+A-70!@7J$`)W G=_#/N^4W&4XK&DKM#B9+8$0#\&$%>/:4!7V/C&<YC%] M."0Q(-U*BFZEXZ=TLZ@P^)!5W<4'7C+JV>B1AP6=)\B*59$V,$:MY@1K=)7, M@<OB8@L"9#/&@UV_H0WI&R-:8.T0.!1(2+:4V=F\SI8[@H'H?7$9\ E1U9?8 MMKG1"8WQMB6.9TTJ]C_5-A,YZ7JG-U\3DK,_-V"K)HM%JA8*#8' JI."6I=8 M+XZGM\3QM"\.1@%!26(E%!(3B7@4_Z)^'.FG*;V*1!LA^IQY1-%?%#&H=<DU M8_85!<4/IT?OWET@(.[SDF_.`T"A?5X7;%9DTUF(,&G!66-'39J:O4DJ@;K8 M:6$I62 Y^/.;4<>>/S1Y=VU10)-3V+\4GQ1Y-@XJX >.P#L92-XLR*]X^*59 MNBY-`+<0U\^DO C1G<,LGK>J$@5R@M(Y%PL=4J<W_>_G7%#HF29VMZ9(?[+5 MZYBHI.0):6[%C%WDBP096$JH&/-AU_E7W4(A1%1);<3B3O31(#BXA)O;TKMS MEX#2`2VS94$5E"-06^P*,HU1L3*+@E:'X9$F4500+:0`<2,?.RPM;^OAT*D9 MJC?2E'&29J36(A)53V#84:M(%#Z0&B.,LB"#)ZO8B1M!>K\NJLOHGY03C*XR M%#P>,P<3DYW2MBD:IJIJ<BXQ6D0!B4I8=4W)H$ <."%;S+M T<=)B2/P,ZHD M0&M-4'O"IA4"$?)J8[-4MM?S8U"_Y6K'1;GL@;".?:]!0F'YIC>_8U1>[%Q8 M3D6H!HJ]LH0-8D$E^=I6`F5=64C%Z)I)6-.:F'-@R))RNCKDA5DL<UNAB*WJ MSD8H2U=%23XI(@ED_/H[XBP[JFPZ];]?CC,V8CF 2POUHN!EZRTCKTB#"_WW M(AI#C)!;`4$\&=VPHI^.;K8%(OJ"[>#@:N$[(<=SDUR.=SR"!U,/-%5*]0=3 M+<]F.7 D6]<#RU^ZHGA72M]AS'$WZ%R>.EX8YNM*% ;T*06(`8*#UYHZ&:D7 MI%^"+@?D=)"HU"T,P40\G2A_4>G<)94M):!RM"=13PAA+B56`?UHJMH[T8P# M"0H-#B662AF_H.Q"K6Z#\ME*!B#76Y19:V6KD;4'%AA75A$D!=?@:C=4VERG M2NI(NWA!>69>%\%NOM#7Z617CSCE^0[</JPIF6,6:5&@_8Y8ZI?L$Z[81[*N MDF)I35D5]W,;];<U8%74@JCAA=Z@;WE?V\[H2'&UC$1P@C% N9E9^'QOT0VB M\$>62)N?KK:+8&HPTG[_B*&AAY/$C$,)Y7FC\ PL%\+P>^1DLU)%%0@3;93B MAX3E*;9FK6X=\5662ZG(V"JY2<;KBZ9B+&P-=X+@0+&2'*T!)B.<2[+QZHQ[ M"(F-&%KRM+"7"1>&;<",\%:)CWHO:OLD@5)/U@D<G_.L,4A[6*8GLM9.?3U9 M5TL.6FU[!O&KZQ)D/N@:G'%.;%S#S05-ADB@W*9&KT$<NN[DOQ$W&Z3R;"-N ML$P/S[Q=[A-A,I)9A9R;$@HJ9K(Q5$J:#&(N_2>CKG3%=MA&:2ZM_>Y(=1]9 M48(R;94T"WJ%HE"PVP(0&D*GU18EF@3<$9RW01K:T[T695MYL&2]F9C<DX2N M<L(0LTZ>8)O;HN%EX9PEVQ?P).W;XG)'`8#,YNJ,O"3AEC7[0&4H/^9>+VP3 M])HLG00OV=!G=Y2Q,_048'+7W!2"/Y#G(M "Z-N;%;QW-F7T).,(WNZLZ*X? MN5Z!?S0L<JP\-0]C:=Z6RP%B2,LLI&H/R7RTL'H!N=%([[/8.5 I"3$OI/5) MRZ2F1HW/_5[#42<JL@/4!JFSAMO]#;"=&:-MQM":!*[7I4MV*Y*'[(=@KR MZ^ 2V,S4;YRBM%H@\R9%2D&%#/8M1<5Q5'A,5W#%,WIP1-AA7F2HF[#:\;S) M+X_:),)KZ_2*DIL(VWM%$/@[,E$FCDC&&YSJ*@!2!H U>H9A1@N=&"9T2VIU M90WJ2$>*2#IP++,H]O;)Y-!AD%@A`?*!KBIB"N<FH=UX_!]''$#9%/6$J3SN M!0>??'T&.BG(T6B^>! C!9)J.$S1ZD&R2,,8/T4=2W7PQN3-6=U")__:R^Y\ M;KJ8GZKA&OT9HM/L$V*Z- (VV&:DFU.D5/"**_N>CG4\?A01`W=#MW(8`:R: M4CD)RNEJ"=O2^:43_"%L'G)<GZ!N<]L^I/5P&_R/2@_XJG; A6?#X142*$S+ MUBUU4(U9*25PR&WN!S;-S/-GI)BWK\[>GEV<(H8OF 4)]/?OA?1)/EN0_@S* ML+(%5K[KA Z"E(ZDQ 6YAW4&W0.46L*2SFC^>KY"SY>Y>7O1MD)8XKDD-<_J MCLC[FNA+ZY==&H9*(FU@\#8OX:@+]DNG)+_P4. :LI"W%RNQ"::/S6HN&FG$ MR?G)V[9XV&F-E7"7FY'?EH?HJ%R9DUA@T#:.QW]+79KS@5[4BZ>]+4"*8K]# M@(!\0]WQ\56$4MWZ81F=)[8@N%>\DB5?P[?!//(^!4M>I@V8L0?)@8.*46 * M\.1]#1$FPGU"$5<>\47#[L1:;OF)!J/Z1MT4&RH+7]G=[W1HCE#2Q69#NZ/= MB&JHQ/"]FXMB3?ME?/^.]@IWMS$T"J\;IM ,$2=]=]BV6_HE5DC$G1K+-^S) MF*0CUF)$#YD6FFR JG7*"RHM#"R0H")5F0Q6`M)==&![OZV7_55\_M]+/\9% M?TK-]U>I]U>I]X\M]?ZJ=_Y0O?,'ZYR_"I!_4 'R+UTK_&O5")'M?PUL__\! M1J^ UGC/HB:5ES6+BQMQ?/S3NSL6@ED/NVEW"=W0K(&$AH'W6WIXF>,4OLBS M'N;KW7;SV4SNC_C$1W'V',='Y%RX2A#GQ9L?\;B:TC_N"<IEOS NQHU;YV8^ M0 .VHA,TR^TO1LQ1.]:^YVLY6H7S9^)]76_F\WNH/I]2`&8#2C+MG ?U?L8` M-QP&W>S^)3J8*V$VD SG</Z=S?FFX^W+7% #RZ9>EG(;$2>E52Y;PWIS39@7 MQ[UIPY?LR##)[CTS[8FO4H?3VN,F;P]\BMWIO0FXZ%4;!M=&>4[DDQE,FHKO MWK3HDF(?LE#@O.--A[C!<DLT7B9MP2QT\70?C^-I<<"X7+'!%#D0546Q&,B] MO7H]5RM.<?_>(6X;^;(M`N4.M1T5JF]N! H//D[V*/?*MV,*:'R'JGO_(6%, M046%J2CCTR:\-[^%-%L3`/LWH[R'!@N?R@M"_ +RHJ2"0OTJG5GGZT0?HL!9 MWC>%'9$M@B\T0TO\]H9B%X-+(C:*A,>E4FCC7BT?^)<-HU<Y'@XX^!:_*V>D MOD+N<0FW9>Q(ELMW1-D.<%V&'*6UV=2Z! Z N3#JHD(.\2N.5D71=_SOS$P3 MHC7>JSN0%H&XXGBRE6RKO>?/G^\^?O3H,>+8)YM1EERH;T?J/)E?ZPDI=SXZ M&>UP4.5)"'R43:\85?X`[*BEO1E6F%:&?3V9`X5+CP)0O:' 5U'<XH-^N:7F MJSG<V$4W>@41M06%.E_0^H1E+W=6R:.DIR3"=Z.\%3FQ0[_)#I<(GPX@H*U* MY(2?+'EA'<>Y6,L+O_XNR>.#$U)%IBFP5Z'W$<=("..6`E_Y8QR163VQF:WE M^FVJ%SH6+A++28JX>MF"4=\:XM#GBFE]35+SU\ =</F5Y93A=JW<^ W,7P-K MY37.HSZN(8%[$YD-:TOB8RX!2)4T)0B3M[PR,SH1U,/:FT'D)-PY#K!:V?!+ M+$66F15+"K^DD@7?A_"0O+]MTH!LFH4ZY/_&ZAJW\GT<B??UAS)F<)BFO:0H M#0(W6)E^SH\/Z[%Z0'5&'8I]<EHB160(J5$DSO0O`%T$1'5F?Q&4:5>"R&@0 M'>8M9<$C1/;Q2Y7;;!08CTQ)`$/0<'Q7RL5[<?[9+"LFN*\CWP**EN^=+3 = MA%!W_]X&I5;:A6=A?_5!@+^,:#\0'JC26V.\+-$7,-7=;YD,AD#SY!_3GF9D M,WW&`N[>/2!1=Y'66?ZNZJW7'0E8=%[K1?ENBI">HGB[-?*-!SR8X"A(!*1X MM'S?7:B==UXS,. %*KNXJ.3RVCF)<QY'#;E09!$/>2CJ)^QI;)GG(T.Y8OQ% M&8@*URKG)!2<Y[Y_>TO6P8)NO3BG@K4[:^W2P5["XKU!@R.;(R.\%A-[NV)2 M$W[[NF5^K+;.#<J1ZS]A&]O$XN!#,/=5WC0LM[.U+[,&?0U/Y*;Z]U2(#G^' M-7?G</4Z7.6L&U:Z38U5MZ3LW3,\XO.,?]Y2+U?X'1Y3"?Y:KIT75<LE\7%% MYE5R,7S.^+#[4C)<Y\GW?!G_5-J#Z@+-P<[;<$.8M[EF5Y[O3=[A,<>F$ZD- M$<\'_-Q?)::TR1YQ9V"A!3B0YHGY7E<6M[N]OH8Q8JG@32A.:.@L,Q1O-_C] MZB2\*&E/)Y8SC$8#W#_F\6=?6&RX>0??/0.X@V,OG/=45?(C2EA9_2Z'F.;^ M\VE5\25QI$BN*>0EFDL]_?+)K6O/;]:^O"U.YU.@^Z<(2&S_MGSN$ GP1Q ? M?B=1%]UOG W/47-)<H6]\XU23HG=+X]#MS$$;)[O.K&AE55\(F=>N!#9]A7< MI2TIB.-:VI\JH]M!Y ZIH1'+)K%J!?(=\,-W<D5N_Y2=#'J_KA#7WFP37>A- M$NSA5S'E`?C!!50W]Z%ZQ4-:>'"8NVM3Q1XG5U,@*\U+J><K-3&]RA>MF@'6 MV=CXE8?S$K_RD_B50!0SZ B2UGC"/\$*#'$`VQA\0L_/]T)P@1]&F<F/>6J? MW96#5W)"_&E+2$HGBV+UU-Z\FX[CD@12X^;4MGJIPI?!'Y]\"V 0EOZ('VDD MD$!+^NZ!I"6UV5=50IN;\6$@:6O\!7BRB:?(3^@*V1*G.&0RFV4SH8*;21+1 M`+A6E+\.I4'6[RM[Q3E6>:6C+Y3!*Y%\@B^K@B,O>@<6C='&\6%!_&E?O"TV M1ZC!922+5B 0?QRVS]5S[0\@>SE7?K@7C8>_>LN1S^TO?0,\#"V+.R"B6!-I M&,EQI2&HW3GW[H[C7L<_JO&-&B^Q[L;&EF>"DJV!0=R0\E^HU:=+M4V#/],[ M[5BB78*L#?QG'>QE,P^_#0WR&CIQLVOMJ$HA$4L#VJ0]M_*M":K0T%.6,<N. MGT4?*TJ3CV7O(J!7(4O3'#-^@ ,+N1$XKJL&OYK8\*1!X>R[TXNS-Z>(\7CC M5UOSQC.PY@US,S/U!=JAX\ VQ#$.S/,7H1!G)%GA?V6[\9,G3NKZX?SB] U3 MU^XB2#1X4C#Z53=:9_6;)J>DC&/.?+99BOG?366=`C=E!TQCG?\%.UUQPSO, M%2;QXI8543D_CC>XU3D?GW9/,7#Z#/5TO59^T)&W=Y/BG6OT$<C84FE:V]JU M=YW\"[?VB,^-U =M$;DVT$F]24PI=?-471ME\J1H<K1?U_UP&WH]1P#WO97_ M;*J9R;EW\*VV_.,:/@3!E4;E,!!](1[Z_:=H^751%I1TE^*!)F5TP3_LE%\B MB?W'462-`:7'S+H,=MDE00-OR]R/BT).B[&B\!#$V>%&U^,H9>XSY#;[?.=< M;"?S*\>9'7D)+O7:[$YES^7I&QWJ?"#)PXR&&!3_X201Z6/F9^8JKLQ_!7W1 MY#&MWMV5_]&K^]8LQQ2=?I:Y7]XTJ/$8T85T2LA/N9+!\Q];TNYT4=;+SR#( MI]>O=.;0<Z9=_2C3Y<?(+X6(G5Y0;"(>9>.1#G[R=)BGO(([$1G3,S6FV4%* M&_CL%PR$NFM@PF=%__#V-FZO+F0B"^HGCJ8&%<)X>"RVWO/AS<UAH-8U,J[< M.N1E1-R+_/"(A?WE06Q'4)0C3?$?F3;NLFVGAQ.<7H]_7+>KL6]@;6SPNY\Z M+/8"8,RQ*W'PCN"U^>^[3<Y0AA/62DST+9J56'@+(R$"?O0_F\WCSPYUW5Y2 M`L;D>XK37N+$<2BC4G^!1*./>8W&.6 J<8S/1)U!(\XE(](IXR_G(RW?5MUO M;R_&&=UQ'JZP1:S:F#>4SWT$PBG]I?JWOQ%7-*;W["&9(;#$1B3!K\$@(^0] MG-7S(X>3OUVUIS[+</$?/QXKBBJ]R&^ELE69WZFXP2D%Z?:'\^&0F4*D%!OX MY\N=`Y7$_\G*</,WALX:2RZR]?KCV0F'?F&?9O[75T_V3DZ?/WZT>_KDR3>[ M3_>.7NU^\^SX9/>;K_>>?K/WY-FK9X^._GNX+89V%S-=27!?9/-C=^,LM3OF MKQAO['V,]?ER,<'_,B1 =NUE'WLA8_TA?&2#:/LF%"G]](!^VL=,!(\C'7X> M28T$4,R+ZY CM;1[)!7Z+S0EGIT@<+=KM[%"_82X( %C*U )M<8X<K4=KH&$ M;57MKC9^4WZKEM@*, JNI=Q%5UV$]@?H0S";!($KN;[1-^R.-?;*_H[)7LAY MP*X<USF;\LF*GS3J&72?Q)=-^>3P^?'I(=GNWK.3O=VG7QWM[1Y^O?=D]_CQ MJY/3TZ\>/]D[^GK5E%?8^P-&W)^Y:KX,^RG,(>;RSP'YZ.=_VOO6YC9N+-'/ MWBK]!UJ^592\L:;?3<H[6\7GK&L3VS?VW'S83;9HB[99D4E?44KB*M?][1?G MA0;0#78W*5**G?9D*+(;:.#@O,_!`2P%1VM^G[/MC2D5JRLS= 7:"0#$2LH# MG-.[B)!5ZE *H2=&V);OI_@.)7=NEA<SG<(C:&L]M$DY*W?00)4K'']*G!8Z MD_K?3)1_U!U(V]"_^<U/,&WY%G9&,O?$][@H5B\+Q>SB7+]F250F(H"TC_(\ M09LHWL5"1EFARH8EYR7/3<V*- `3I+IQ1^L!W,.)O4 BT\ #\E\5RR7W?S9& MW/D%#$F1>Q";A!R2ES?7@\O+\^X/SUZ]>O;\'YV7@]%_#OXQ>=5]JDS9,W?- MS86!(3J]P UI9[SG[=53ZUT_3L;_?#X>/']=?EMY*NU?>:QYZD^2\BP\J0., M!S8QSV<?GRW/<7"R-P*HXQ7>.4/GTSN0W6?L)MCD2897#DP33[&B\F,=\586 M"4]F/!*S+-Y@A@:PLRM*\CP")Z?"RG5E'!1VW\^-'GX'R_+C[.K7^461-5'> MP\!$_\NF.=5.^C_F?Q#O?/5Z>#XSO^$*<(9:\7+>(($.6"J7H!Z%*7V8_P$+ M`K^H"7_\CKU8,ZH]0TD("B[SCV_FD)6%$)$"76=KVC>_6LZ?`'=\HF[I'"2S MY@3->&,X0+&1$R0[CF. =* `GK*/K^;#SQ!>.NG Y^#J:O89']#SMD& VF*E MWTGC4T7PP08I_6D!LT#B.28'4,CBM\4,@/BW]?4;GF958 /X[W838X7IE%0: M(PYSCK:6&:5!!>9#*3YS3C^,Q(SXR7!=:\U>4>;-Y07ZQ6#I5M<@-&%IB\PF M\BJS4P*2)Y3M]1Y1@DV+WV>?>:G-T)&:.C8]T[\3)U:_XPR([S@A)773&+4L MF\Y,`*UJ??,)W8WR4Z4HVR#WCMA `:0SP8J,Q_B58%C\6@(O.@CQ%M68XYB# M>!3/":\?H-\1_WJ@-*E/*_*&G[^:8VY-21KJ0!(U6=^\P<=U34:+>RE*? -A MD0>GL `,*PRQG!L@04[II(MP6I#A9K4Y*:9S(7?D#FF!2X &V6G\>&:/0L0) MC. U);,:6Z:UFE1XN95D^*(%&.CI1 582H^EA*P?<AP,M7V_>O]Z!5+E5@61 M>5.FQ7%*G Y*DO>NJ:P`.7^GF*-JP_R>VY!E4ATQ/;K7H@SWY;E2S#.33;-L M)KOP;?=!;/FBVR"QCFY58&V26!58WI28,")#OI$OK,V2`T7L'-12V5=R5-;Q MNH_MJ_-J\OJ?+SN#X8L?7T_&'>=N%U7O7]B;QCHA=JO)\17G`3.K4UQV?K54 M"_-LB77JV'I3P+.L\T?3RP5$"?53G=.S3=UR_<::3H>0'.?MLLPXN->I8@BJ M+_B@^KK=T>KF"B2F0I\N;69ZI2!^WFLVRK;]55HT#&Q:;X6>`?)(6/?"GUYP M[#7+S)>\AVI,6ZB ,_ZPNIA=_@0>:.A:-EE1[@U:`1Z3T?FYRGHL1D=__&LG M1/BP6=G$KOQD&H@G1LS\E0(L>@3=<0!^/U?DKL;(GM_B/8OU\\*5SH,H40#G M*Y"OPK*FG%>)+027U\XM"69HR:W$9*45ED&B`O5J\1YV1.KUI@8H@!Y=S[0$ M6M-CK-"]@8Q;**X[0V^NN:^!X]9%",?I,?7K@H#TLDO:2MD<"B=*K8<] MA^\5H/]3+?F+=^>&)G;*)C0]H;3.LMW,P*0G7&M4!GH]>V/;N">J!S7$3XK! M7EM&*L*X`#5\FLJJ[6*&.V<:9>:LDIX5Z^-08"7DP#5,2;D+V(VMAV'JPAM> MRQ\V$5+(XJ03!L%9T'G,M/0W8O*0BG&S!'?8!;;5C@SM%+5\A*AUO "]W[9P MUAO,&9MHT$<JW*?R>7?=\"\8"0UM@V^NY!I%H64Y+RN<H)O[V&AY5\:N=^_7 M4GIJ7+@U;ZFS77?JW;2$3/NG9/4\A$2)=7L@%0;;P^+/OUW-<1OR%@,6=NKQ M9[?J1,R4G?H2/7\'1/(IU;??Y>TACJN@[D:B92[EC5=X.KRLR/*CA.1?R'- M7QX42 CYPCIA>--8+ZNRTE1W&^.%\$]L=T_P;T-X)$K2X3")PB=I.N@_"<-Q M_*27]K,G@;J&27\<C::1&QYI%1%Q086;1D"U>G%SS0Z-<[$.5TLR/P!>E'<E M&6GTMQM7>X2X]@KSV:?XA!%?0^E$[93\=W4QW2']06\V# OZF<01KJ:I-<AX MRUI#A1<;DK%HB#A:0_:B#*7.#2-I0^\X*/H3_T80KM? 693,)FL0K&IJ)!8U MQ;AA<.^&\P^SWQ;@XIOIXMJX?H5*((*=%@LW<9M.R^]A9SP8N3/9M#^_*BSY M?Z,'_YVB*KI""&RR@M+S[.T`PQ(+/!^AIX4&B?N6J6"X72Q\<4WV<D==/F.' M&OZHVRDV460@TB Y["->3\[=F*TY$HS3?2ME.HXH*8+47APA9EP^$1.89E"J M=8^[VOB1LTYGLJ1=V+CU$Y,T+V&;[!76U:W)QH2>5NOK%XW\54?LL5IQ61C" MG!G:GH9Q!5T<D<X'VJMYGS?S/>V@4?J4'C,0V7SVT\VUWGGBZP^A:VO.9P\? M=IV(#KG94(5U5A99<^%Q>W2BSXPY4P/LJO6KB!^Y@^[6&$JXD4-&7^0D:P^J ME7;_F\")O*7#!629PV;-_^Y^1_E?IT]+`ZB8\S%OAC5]I9<<+E9B]!()`?7D M8UYUZ-7HM$IT4'K]$BTD\_VH"K]8GI_@*'!\KD53*8DJ>@)W@=U)R38J.[O+ MCNY*)_=3`1+ ISCYP*2V-T9AE6-!'4VO/P(=7<TE*NRX#3I?.E^*W3*(+6;6 M1YMU)RSY'LJSK+A>U8^2)R4)4_"@8D#R<OX4KSV[;;1QZ4)1ZYUB9,I0]5/G M_^NIBU,%S"IJG+$\P2WP:]R7^NXS@&-AE*9:D>.6ZW L+N9<2&6QQLW1ZATE M+RFX1[%+/#Q(F]YKCV]905"[E\\$M:LAT$2E-*"!CD%*["JB))O:GW?-'3)= M8J8OM 9@R'#5>178_4-O;*GM-O[2II[VDS@2XQR01:$^;7PK6^J:!7DF7&<T M/G7Y%\ZTTIA_XWBYB0!T;T^-CNQY/*OP4A?:!X8>D39<KEK-QD13+]B=>??4 MX.GJ7FFO%GE0JF([7FYU=#?:!D)(DF.X/IBY70.&@Q4C+Q87R^[UD2AKA9;" MN^EG&%I9@>Q@905V?<.I"]&OI!NJH;Y?`?]X.5_*7DH(P6!AI'7'JM3SYO.G MV9K>?DT[TI#?%QO4=-IMH9'_XFZHHY'BAI B?02/"G"/'EEKB-%D90&><IG] M&9:26%&!++EY9.2:,YXMKIP,?!@U0@:T-MJTBA:);Z0EC08;6WE'\HLV+4HY M_VA8\+)@0B,TJ S^(/TC&L#4?_\`6P`^PO80V*,`"K/2F[GJ5NETATIT.K;> M[%&]-F0STUO7-,!SHV:!PJ:BH+*I-BTQ0F#$'*5LVG=4;8$%G'/J$R"3G': MB\28JP;-%I0="^8YN:O#]@73S[,EZU$@YNDILKJT*_,+BEE2Y\$84]\@40%7 MT=$0C$"Q?A984'U(7T(O;(EZX]L/#&/ 8F]EU>=I^2$UG)M/KU>3Y06MC[IT M^!\-/X[]Z^" O6"DS='^-(X)\!((<W>XYP/#U6R@&#<R'CS2T7!AN1\O:,= M:=//&/=P$-<3M$9$K]I-8YEE],"ZF5DF#Q<4`90D^TLE=PNM-;EO!+8^S-85 MPR?/AO0LL0T8H.6DX <(P%;F9;%;Y6*Q_G0Y^TQJ0X?#%VLX6U&A\L7PLVJ$ M4[[BH$&%M\+Q>'2?KZHW)&$6";-B=EH,5W]00M!G=\6+Y8.]7P,[ST-.LBF= M;ZF7Z7J%SU#P0C8IX4]J'9!LN:ETR[+<BF]N$[[DMY0\-^2/4;<(FWVARF:Q M&'[)YI!,`<%_VE-UD-\+0UP1+$IXT1#5^6$_B/4C?IRE!^X`9TMGI6Z%KVC: MC\"47,*=(]O<5R90X8]B2)/+V&U(KW55!8$LZ 3PPTOM@ /A1]%]ITV7)2A2 M0-N^K!9=E)4E==?LYS6 M*(?MQ$-ZH@W^CO%"YH,K**=3)1E8B'$F@S0;41S MM61AHW[,%FC5+:U:#6V[B'A25CV')IU8YBV,HUP$HDDW92N3QV/HXF8_P]4* MCKFJ')%17^+,S;V6[F']GJ_XT(S/ND N9 K^^O!A<2:9(KPE&4G7<) OEWKZ MC8LU<-6N!5;HA*,<%7:HX<"XJ7"G9)BQQE8JPE,]N'/%+BDCZ[##](T2U7L> M$8VXPJ0^TKXA3'B[YEJ=K-^C=N]D'VL?#=>YARIG[W7]]X_(1\BBUC7;[)+F ML%NPG =HF(QDZY-(D6_G&[-I'YUT_O?-XNVOX!,A3^?@+27P0BZLF@JZ##H; MDJO$75QLQ/I"P]'[KN"P.?&T_0<D*<J7U[BOFPPR>MB-0A6=&CM!SXP&%>&G M!_1&6$-ZQM(*5:=AJ3-N4M79`VOD&-22^0#YG=D/T8S8\=G(E6EVOZFSIEY4 MJS&M\8,'&AF E9S03QK[*_:><9@5+KT"QEK(.^R7&1OI"$;V[CHQ=G2TEKZ3 MRY:C=H:*!=8&TQF2(,?D[D>\3)0X[>J&/T;<8Q%5E5_4$E:G@'>>=+K?F5LC M-_K.41A82P_AG'/S34K:S)=8:[!+<MOJ\02Z! 67]6[UF+[-F]M/"Q1\_?D3 MQCX?G3PXZ8(<ZYP\/EM?GW8[7?CLGG8Z)UVEX^% UW#S,=U[W#T]E8C-`\Z5 MG%@#XWMO9QA4.^^BTMW]S@0C/Z)-`VLN&U*96)/&F:(&3=IT,5&HD:WK@R"- M(URK8N<GWJ#HU?;A4/5#$1%_<+RO=Y3L)$<Q]X3/?V8$_[DS1Y^G:/Q8PD3! M&&FQTC$CEC50IE-O:85I`I3S7)P^#H<BH'6E?1@LVMSCS6'E5W)&RA_7KMA# MJ4A$AW^2VC1WRW ASB D--[4^GQ^YN>-/>FE?H5=G12^!=?I-%M_O_J=:RJM MP5.Z_@DR"7"TYKW3#C.[IL$*67\C0'%DA:SLE'O\B2(!4)A$L>PW& M0L.;= M0-<2YEH9U<T,UOA=<;*RG#)?L%YDM"<\IM-B@=BH=IT%*(?VA?Y2;\2F`0*I M$ST#90O,0[5:%_0`-D%J4/]'50AEW-XXB@X/X0)BN/G<U&IEBP0%HF$Q0!)I M:77E5&% T]7NA:TP5(&Q/L3-)RZ6!#!P5&"JJW^-&T00.+B=6:UXH0X3N8$^ M+?1DFV7T=H:\D8!P_LAZ# 6X94;Y&UJ/G59;3_[6Y6=/!2:_KPSK7R*NJ#SC M7JBG[N0B?DUYPMSC@$YCIU,FYK-K+OD_P^+HY(;%8XWAJ($$%88&(1F0:?K$ M>'#DPN;BQ5I7P<?S$.<79Y5!F7-K<ZTY\*,[L>V>SZE\:FDX=VS-R;A*1MQJ M"<56(2Z+7K#C'XGD+O19;N8^,-1=%W!0A[JGQW?6,<G3[-#G(J&EJQ,T/(/C M[RM*.:_>&5*/*A/J>(O.UK#PN+P[HFPOU _IJ(CNO;2#0VM34!='/-#^4G8A M8F'OSB-'$AZ5'6_0AVR9:%,+[]C7%XH53X=Z`IO*Y77^($GV;YW/] =*`7^H MSQMU/*\:'[4AA*24,F0WS@;"3X;=`;*"3V'@%EJROOWPAL4J_&4:SXXP1=N- MCXV1I$2@Y4K/`/1]C):BVQ]Y""RF[-D(IO1_C#\U[8;-A*&"EH($L/:GK891 MN7&,.W'ZT"Z,RAYP-U?UX#T-X6BXGZYFGZRWP7I83UDJ73%!S]/2YXB2CIL] M7)1%;O8\J?[6L\5I=14P?@=)92^6RD#Z=&,/Z?7BTXMWKS_,Q[//CL!7YINZ MN1Y<8X; C0#)*/J-I& J!D=W(L[,HM^E(=VQ2'OE.*DML0:QE8'AC9Q144TZ MOF8&E4Q!T\1Q0%S89.+7<DA)V:BRO!N%1\/KFZCR2(%S0OP>7=,U<;:#;V*C M9Z+:)7':$7>$WQEANR+$60/=T/U#^"$<"[TZ_0GELL<XAQ=KG/!L56<D66*Z M(6(*JJRU.]8Q1:>4`*EZ9%=6->:H+P`!V6J@F*R2;!12[1S_`W5D]'5#)A!% M&7&?!9X&<D5'JYE#O5X5%NV:3%CPN%\N,(U2&U,?.9V9_;2D*VS"7H]GK=II MU[6];&]NT\T&,T5<?B-NMC<[^-G>5#O:[-GLU]$F1HO&<$('4%5>#U_(5\,A M!NGH=@II54:F^+?$`_"E8[H9U'2.64IIAT9EWBXD,RE:NE;ZM)5FJ_ ,#YJ" ML$QG/EO3?OT+L/: AZ)RX'HR#NW+:._-D$VT['+7BR&I03RA:D57!^S]S(=8 M#_(J>QN8[9>Z%^$RFQ,]Z[R'!DH]>:*4]'=HE,-!E(HHKN@4)LJ?_)T=:W1, M'9ZV2+7E%EA<'WF4>B$R(LCI5E__[\V*$O"(@X%!L>[\_3P`'/HK^&8T^7J# M;\>B%,XZCQ]_FBV6CQ\K//M]#L>C4;$34@0U@G3P#$3$G MQW\ZNWM.2+[!" M##-MI)LGX*U=Z#*'7:O?L[.SSODI<2R]D<=.N^8=++P_J?R Q@.Y=VRV+@IK MFJGP=JD!"R[V4^K%QQ5CLGJU-VMP)YP_[K0KU?14XD2>DV[\L4EK!*=G>G]1 M*3YIL#K?[JHRPUO3&9=S^R#L8Y&F\ )S`-5&KTE.55/1$Z;9;M?)4W<L'3,U MGR8_GUV]_3!=7;�R_/$2850Y]XTB_SW_D?L[?7.HGX*9YE20[6V?5W]"0< MMOJ92KT79X8C^:HNM<OKJ5F[&$]\0S;/=33H@%H8"@D-V"3%1=WAQ$,N_JG# MN*8*.DZZZTY7V;C7W<[+'V"]QBG\\F&AQ"N<%?MV=HEW\' \J%,T6T.MEP6] M&6VK!7K9E0BYOH:4;V#>2EPIV0*$V.D@6'BV$H[A(% 15Z$"5KQE#D]?7ALE M:V%AM#JF?W9*)W_IT.H`3Z(*W/,U:PW&#>%M6(9ERN1&QY=POX3ZTL&&1)(' M7"E-3>K<>,-B.5A>T%$?M:$VV54&`X-%&L^N9Z+IR C(V5!BR-BH8,'<MH"9 M2<&Z+R3&?^^$CL Y?@WG3\]P$Y=ZBHJ-%U-B5H4*')=-IP9+;M&M?)E;3YO? M-2KJT=)X*[I_OJ*SF^%V=>=(P)H],7'"^IAIJ2^O5GBD,*5+%"<4XXY(?'KM M[D/X&YV'L[@V(JV65Y7-+%"\L0<V\JJ"I IWR/LX19[GYOV^6-8CB%%]WQO> MK;94]/@VIT+9LSOW[;. `<C,S__NPH2_DDY?.#]T*:/GJ^LI\"@J(<-E?WZN M&H#9E6RZ1.7@2ZD^D_Y6,YXEZ7)U0S$Z_']_UZMLX2Y3H=!8D6'OAK[-XWZJ MELVM&:37"FA=>JT4P4>;/._2C1"$DS!]5.0H``^6!.63I<('$LZG3M;V+W41 M!7JWL]N YJ1_6*Q'G*5-%92,&R2>Y3L$!'_N\$3MD@]N"8NJO!4%@(=*T(-C ML;*,1[D3JD7PD'TOE054RE5]9,_=ELW<K7KMAER]_:3E4$I[(%JW=W8`M&SO MI*87Q746U>5B_-6+M.MZ<SF8^@[J"LHT*FW4;BG?$?:V1+_*)*1V+VZ:9B/I M->UZIPR#]FMJVI=M%\.*P[=M;,:S'RIM7+$WQ:XN+IL.G*.3;5]K>OMV:=MZ MOA0Y:8=U'L_ZP\=/"H=2RQZK'&9V?ZW0;H-5VK(CU\)KV]S40=O!Y*8!5S6; M5]6-8H?X#T"%AKR?2?5.3O?I=)YQ&A2DX'T'EB(;F/^CE'K,'L(0WF^KQ47G MA__SLHOI<+\N/GV".TSDE$+RR'PE][+&(XI8AS /D3+'"&1'3UC'`N,C5OEL MXW3#9_IW*W7E3%3P=T4>B?@\O;5<+RX@W0F(=W:)Q_.2EO[LK5(DR%E];?^* M(W-^LX<GT%YJ-RZ8Z,X(H)FR;A;7&!,%T^1JSFYQ\@U8AR^R)\%RG@AD*SM6 MU@4/WRCF6"CE#TDQ] 'XG\LG5_/W$)B],M^+L^:W=Q;PGG<KIRR[SA-["UMV M< H?5[\IY5I.LB=\+;S6V#-JMVO:W6>/R5X\-1E]^C+-%AK2V5GTO6[UT+MS MLY39P8K3@PY17E:53#-Q',L)7GI(>E-K0.^'4.M:8<9UF_9&(4*W;ELE3ZKL MQ$7F[7LR5\H1]$8G](][$GO%J"WDJ2Q7\:2_UMQHD@9Q'DR>C++^]$F2CM(G M_6D:/@GS.$[2;!*EP7CC43P\%'."Z,!O>!X/-7</Y;G=/9O@,CAOL+=./4=U M7XKSC,UFEOC^D0H_^G;Z47-[G]\.73I]8+^EHY4;S;%\(+.8NLX&3A1]ZU\I M+HZ""6L$O%\LI2ZP8^D"E"E%$ =!;9Q.ST3&H-MXM1R1?#X_Z?!?XX+A2D ? MTH;_N![!(7:G,M;]I4E7SH+J%S V'>,-@,'WAAF ZT()N 7V4&O(WOM!_V7V MZRFJ5(4U=5UM*G+$XRXC3&FBI4=@1@CQJYOE2_<F=/KC#4E7:/F$5YO+QQT7 M*@5/MUSGLX8O[&SX-NC3+0>[2>%LT%U#ZZU!3U4@K]%HJWK=0<>U,]VLSMG] M63NG;72!HW_I'/W+,9VOT/D'9L#QH>[\HLJ-MYN.9E#]G?@.9^ATHS"-TR2) MHB .U']9$ 3JOS3.DSS*^MDDRX-1@%>>9\,\3I(LA%^S5-V?YFD>LX#DX9F9 MY/L<53B@425Q/$A':FQ3=6<81W$`_]*1&N<T&^5!UH/GXS2+U(C5V)5@']DC M=A,%]PK+W(1E&BM89EG*XSE60A"S2WG!3^0['6*,QQ0A3IWK7#N4:QW+`(*D M:_!+*Y5GTTQ:3"3)U/\!$H0T^#13DTGS/ 60QH@$419G:2#7) BC!"8.?;A/ MT:])E/?5<J1)F$?J]S#O)Z&Z&\.S^+32O1#!>GE?ND6 JF_EMJ-^C$\YXYX$ M/1PWHPJ/1T9?ZE\]'P5C8YXTTC@;J7>H47E&Y%EB&P'[$3?I2]_J]U3U/)+Q M1-"7@F$QJW 85%XCZ4L^U7C["N8X[@@'5'W!.J;P$C4R-:8\D1O3/*"_@7;@ MRG7?FR_58QA!CPB9`-9-K4Q?]3]1J#U*`')]7'O]+H4=$1 O0[>?J96$L61J M31460.NXZ$/UUR_#/1_8PY"O&LH,.?7^J?HW5.\/4F!<D8)X.G+F)E_C@:P\ M775O"?FSR1SRP.Z[]FKZM.^Y3-V9JK&-F:)"8-DIT%>8IS!:AV)I'07CIX"9 MZBD]B_9K$/+($F#,"8J+-$NJ^M;K$?-GIOX:5HU=C=K$HU#])U0=*SP;J_55 MO9?'JL<D+XAQ-"%SD20>J#?U<E[%>.!2V-2EAJ']Z=YWZ4DH4C$FZ\ED8'_7 M^,LK`R."<1DC"NTG!60*5OTL1[ZAVJC7C*,@RP`.&?P%>*A^S3-8!P51A#O^ MGD4.IXK@K6I"*.:GZN\>KAV_I_$,>O2AU@1@FB8PLJ@\#[FRX@_$6\4P^LDD M29)IJCAU,DK"1$GN9*S^FZ0:!_P2(6*E13[=:UISR0K(9X]QH9?1R,<.KYCR MC-SYI0Z5U'*N,7TH.@F!;I!>@+.$*%W42L@;7,(7"+JXBS :(2^$'A4E)<C[ MU;J@$A<4%!6 U!(ITB^0J_K*-]XM+I Z`V-&%3*A%IH%9XB0,X2D)62 R:'P M$6GMXF 2DC12.**>5W)\^S5QUD)DMQ[GU.Y)8.BNR23B&7E@GSMWD"J&J&>H M\>/:C9F3*NXJ#X7.VQNO$%^N_.OS*KBR:QC9WYO2@LL[4H9'+;=E/AY-J^^/ MF=OV66L1Z,61C<$I?_?R!AYG+6_@M0D9OMF4WIM%#7D#CZHU'HH>&X#9E?44 MUU,T!-RZD*&A]>8"%O48J&Z$C($!"K9".ZBZ6N*6^[YL,HPF8:X&K\@3QL3C M0JP>JW] LXK]H^T`TEHMKDOG/MDC>IGB#N,L24'^`._)0/](0:[%V9!TBCQV MM17[:24+G>?CJ5?C$LBUI0[&AFVI8R C2NG3O9\,Z?>8N9BL;&-)SE@'G!.< MXJ)%9Q5:B7SUO6/HSHG;M5\%><.^:'S,^-WCD>4C:BDTZ5M5X97N*HQ"^U.N MT,,+1CR_VZ;K?AWEWA)=JY6WS% OK?)31*L):/%@;ZO_1RT>K0:T6$AV)Q;- M,H<R6T6!O]W]I=UA6GW?I5U9/?=]4U;_?/3H:U=+CZTA+&_:-UT*O0A=YJSK MU=%ES\'P0]-?J+49SW5H^N-/EI7,<Y7&#)XIGZSD=\G3:"NJY\M\.IK O_M* M=6E#B2EKUI;J?.UJJ:XE?.4]^Z:Y@4-SHQUISO=[XMBD)3L,O7J*ZZ@)HH\( M?!33+"E;=CV72F_)/AL6B@!>8V?$^[+$]#B9MEM;$+QB*?N5E#Z'/DN?3T'F M60<?[):X7,*/>7S7?.W*Y::Q^BW/T1^@L"*9Y.A+9PN=O%SH<_1V>4>\IY=S M_Q[>$P^I92SO84@VUM89\X Z' ]N)(&["B\<>%R!6-@SI*"7`<_1W0M?D>=W M'!UZ800'QT"[:HSH2]ED5<C;]L7G1L*7!,NY99]Q>5L^IV<O@50.^Z7F&D'$ MRZ'>F.>[*W7B95!GH#FIY[HEZNQ'-5S@CFAP0I$R\!M5TN"4]8.XP#*$E_N^ MF%?4Q=<L"FP,]%!/X.FW[^G7> C;[8L.1'A->/4F8C>Q%KLS'3#VH0\U3_KH M[0&_-'CN%4W$>Z,$5TYE2.0;KJ^<$D0:)6$U);C22.!UVY3@Z[>.$J3=OB6" MH*-(A"';<+M2@EB562FIQI4-TL-]][T+);9>$;[J5F1GWSO3>\0<96L?/*P+ M19ZT)K.SG,8Y%+Z"O-23<^W(G7*EB8"OH)8[\=4:]_AS:SM=1N71E<>,8<*= M!%YM[6V11Y*.%6'4NK JXX'TO"\^DTJ4F4<T9"S=5?,4_EBVBZF[V\;84<E/ MYEQ?.<:F/"J?/(UB^ETP5N#5VD/$G^5DS#+NRCOVA;L14X^@F.#NKC*RK4>V MN344!:9'=JJAZ;GVY)%%WP6XD:TL)[GIM:!%[D6XXCGJR][LH#J+T^U5<\![ MZ;<5Z$P\U#5F3!2_K:QL6[^MKUVM'*F$HO2V+_J+!5K<3),-K]]]I[^A]G=[ MKCW17QJ%UGKD/',OS^7O];JZ2WT57/I>TU<<TA-U]"4KUY:^?.UJZ:L&GM+O MOBDM9/5)""2NR0EL2VE-O?A)SO,/$LQW=6T<N1I3)HXN21*>1:*C\Y[KEBCS MT%J::%]B/Y1R-88TSA%K, *'MO@J8'7Y`VII&?P5@0\,,G''=F0/<EZB7I[3 M#@%Z*H<\&,Q:AM^4"MQW=3V=N0N>]!':,9AE*>/?%UV$#*>,/Z?,V4;,)VZ+ M+E*>QVWC>4][$SS7GQS/)=Y=NL]FK?!U@4-KOLQ<(C%T4NEKWS@GL>DAPSI) M;Y<7[TOK&8 4V70=2.NIS=]G7I(@)_E6+(T^6Q@^36C ;X^U[4NKV583\K7; MSM*0WO;F#6><$/U'/F];_]D7S2G6X+S)N0Y$<PJYD'M]NY:&CBLUM#1DY=K2 MEZ_=KI:&]+LWZ3:V*:PG&6FW3&G[\@,KA-OLG]V1TNZ['[A?DV$@>"T:FL"K M-9[*NBIN$ ^DEWWS?YT7(%QNQ[R @",P>\-.)"0S!S?<:_[+?<=.G=<RK+XO M]J]DI0N\VF*G1#M@%P_JD;0'M8BRX1Z?J$+.17;^&MO,:.F&: ?C_L$(RBCT M.3,VI7Q0MH#'N-=P6&$A<\LLQM\XBU3;U]C:ML71$N<=L;FRVM4;$]Q;"WNO M, N^W +VY:F_$ZH(`/=Q)R[MFQFK<?25%%' 2W%W+8[&V/6$_H$(YZ^LJ2B@ M2@$08.=Q&':6`47'ZF=X,5P<.%AOCR+<%PZS"2+*RNE!^TQGYD01]A9FD0ES MG%VL1@99I*F\#_<;LW<CF:;J+4D_F2:3)(0`.<TT#[ /A@[O.J8]H9%G!!/! MPGU;E('LQ6"M*67'^GWW8BCVMM]<ICOR8N3,17Q>C![KD*(S"AQ:RU+QJI:] M9WO-,1HZGHQIG[GFCIZ,MMGU\I(Z7G"H'/N>DT5_6SGVH8._;JY]ZL'?MO.6 M\;>==V"C[>'W%O#;VN9@RK@;S=?(P:PM-;,KW[KG.9A]GE\VK;X_8#Y09#G1 M`^[[XF"W'$Q?OW4YF-)N7_PQX56+&4YB&TNJQ&UEY?NRD;>.SE&%)Z45VM&Y MK>D&PH^&-VL<1"0G,O7$L&B7XLX-J/&3]+!"Q.9],!FYFQ+1RT+<:X_[:+!. M%.[Y+"KI!/"V$4@1U'%A=C'JJ3'IPO)8!#M*8&>.H7?J^ADH4S0""3YE:DDG MQDA0"F>)V8/ HL=9GU"Q"X?/?7#](FH19ALJ=[FK)JM2!X>ZBCV(1;C_*(C[ M@[07AD('XGN,QOW1>!Q&<7^L)'V63,$7E@"_3?OQ,!L,U;L'H>+ZJJ]8C3\: M9WWOCCA^:Z+?F@']PB^^<3+V,[;[GI(,?1,::;'F\: N;B#:/-MQ"C$BZWG] M16Q,IO(1/^=%V%O28N^K;9[%=,<G#2:\?N)!$BZPK8<S!:NU3[9E'B'-H%4F M_>XMET(B++R>`X:S9,+NS-5Y=7.>7VK-3EH=/)M>>#?K^"6_-V?3#[6.1P_L M:Q7D\8G(0/;+RP[H6GAX]J'6>>X:RSS'KZRXFY8PE==7[KD3W=_''>3W8K\. MP6LWO[+TLC<LE%'SZB6"5=S-MKQ --.V\<7&V DWK-HJD17W*UU[BB]Z9;'D MY<28,Q3C'FFL#UB*<Y6>N)]QPU[*&">91LY]R=@JZJ5$E9E;=7%#7[O&<4,/ M/*7?O45H>#TDHQ;40?B4S,5#1>BWI: PB.XD*\9+0?R4U**"NH.NAE%4Z8@F M4)OO?E..3W*XE",KT99R?.UJ*6<C-*77?=.-2""AFUVUT0-*GGM554AB&F84 MSU=-R*B(K9^]I_GQ;)NUD#Y;U0WRM:NE(2\DI<=]6W,B=_KBL^21;4L_8H5Z M,P="Z^.KJ6 JL8-[NXN:/P\5$U%X8-EC=Q8+\L1&&M="'X-&B+O&*?J=-JW$ M)!"H@]PH"</8B*ZD7ASAZU#1%;Y[\%IO'#W6G,RY'[->)!X9@==M1U=\_=9% M5Z3=OCCWV$$T\0")1VCKG"[6G+:N4*94,: 1K&]L5#UWH-V8+N@R=ZK+OF7/ MU9 N#BU)^OW-^"QT)O@L\]R;YNRN![?;&7\<.M@V:EW+F25:ISDSXIV]?P'K MIR6 C>J;$\USZ*<Q/H9!W^33$V7OX&V(F_6+=OJM5"4M+6JRU4%67TK7!+W, M/:4$9PAQG3CK54;ZW&M'21'U1CV0%(UE)<5?U9@T#,(LRF.)4Q2R4B[Y>FBO MK.[=0Y-"LT*3LM;N^[PU6KE?B(%B5'*0R3D$HZ3ZW!)G1/+&?<<1Y!*NL"L7 MT%)!_-Y\HHEM2PI^B*QT8[I&[I+.;4J-JO+RUKN*!OGP1JP"P1OA+8=:Q::Z M@*NK";:)[)%U\>=_4P=^/S[!H6E55+$R7&]$L?H)Y[45V1Z2=5GRY.I:LW:E M61E3*>O#.6N$[[;7@Q@2=&J5>\Z(NU^U18Y=9.>0Q/A7$D76ZC==Z8Q['O $ M<L<2Z['%6VNO6?A<?^EY2;;!4'5I8/" W]OB!"_,]-@D;0+.-9'SIBB2##I" MGF3;G9 5V&\W<H\H$YP\95%M+1C,O<&]X<:9;G57;:^3;"HCR^-#VVUUO''" MO'$TIAX$DQO+5%Z,<IU<.$L*ZN!BWE0O'JA?,\*%DI2MF6L?=D $QER=J_68 MQ:N:0+5VXF:%_$?M+L&3"#%S2HT\R7.X;_Y6@KOP?H<C'$K&Y)+OLNW.-K8S M[YOL=O%3./1]@ZMK/XE<$WDHLE3PHG&VN62F058?],C/"4<)G$L/KC67W>>I MG>(?U%9BH4G2_ARL`(F10=DG3QER(>U::G-&H?9%5G)U?;>H5>B>'XK2*YLB M!*<:#LP?5#^HE[BGL8*TR^C,O,J3-C4$^'MFP4=Q&#IP-XF _XP*Z[1[>MKP M#-N*@Y/M4VWQO/1O\UC;`0>"_CK6-@KLR*-Y>8^UG8S9<& G;_#7L;9!*Z6X M=@XE9U/=U?1IWW-_'6M[A\?:NO0D%-E4@96@0,Y!+W\Y&3%PW6-M4V>C;6)M MM&T]'A;K7\LAM3D[;/K3ADJ?2(2V3G/&Z#1'9Z0<5%MS8*T;#!9HNECY51Q8 M*RO3Z,!:&7=K)Y%L>3W8P;29<R?8[\&TT#ML(@*W;YB-B<JKUF-?@7NM8[4X M<E5@5 ];=<-PQD4%UE1?NX;J]WCDJG;0`Z5B:?QLPP%R6I?4VXOC27SOTKU" M3I,9<'),*;5 -B8R%<KZ-98^C%MM#E;UO:,V-:P2XM+;'A/[\?TIE\')>--? MWG!K>RG!+K0_Y=);V[.@[hidden email]--]B5R2Y=E"F%@[XNE1'*:^0]=+$5=J+2 M3;(>^-AHOE['75#J@[?4P1B*?B;CS?T483!W+!B4)KXT'J4UHPE+O1BC,7N2 M\1SBD(SF7!.:FH44:_CBCEQ3M@0%VQ\UQ]?!P](UVORHSR$L+J AD&S+6P:< M_)E2N5J2)JDNIB-%9G+:<FH5=<FQT$^?RL>H=EGD:OQ%H9H^EL5!/4JM`-I0 M526!\#LFD%-)("B-XUH1-#+36H*>R^_&!'2CL [V*"5]=+F:G([#A:?D"(9B MAJ.B0$_%6*'L4(XE=4*@/0VSHIA1STB%-T?BF4$%C"<*:P?P7\('^$)9))$# M) 7,8D/<<X3:-A;FL66ZGG_Y*%)[I<9HX5#9H"&..<YDDW*(Y8.0+X,^I==R M:A0((I>O!4&TMP,.=DCQH"D6#Y)"2M-"9Z$R4O@\K!H?+QA)N2$?;.%]??QE M+'PYHI)+,G,JC1+R^NFC"Q$7N% 40HK@*:6JZ YHR$J'K"P*-1$*W)L\=NS% MK$^4G8P;RF/'":<#^)'-95O(+U/R`!R4F-9>+H;&M$:Z5DAH4[J"(U[S0 E3 M]%FRW=N$\=#^+*6&L"=F*HG;+*\.EAHR84VNJ:=!9(7(&,9!'T:Y!0^\Z:2N MUG!+=FY4*#5XC6XIX7SB]%-KMS)T#I]P+A"H@YR;<#YP(%>Z=K5B.>%<L=_- M6P7O*.%\"ZT+X=78:F3,*R<N[.. WVU'EVUUP*^\[<\N_\* XV$>218[]UVI M5%%Z"T?L\S@UI56\87B<\L!-IW>N6_(X]2/;L^7%'AZ-JU&+)];U9L2C&!@S M%?88EEB87/S[P?U'/.>F_B-9#?=]6;!YNZ"O75.?D U%Z6UO-"B^`?8)27G- MQCZAEC2H$U'J2AV5?2JLC\HZ90PQ\:\(U?J\)/NBVDAKO)[KT%0K431)JO50 MZU?G[:U,XJ^C5E^[K3VX^TWLW]6#VY!:(YZ?]J0ZM%5'>[6IX?PI&H:&*H\' MK/6[+PNE5\6Y[UI[T;9Z$E_E=;8O]_G6UAZ/2DLFQE*!?F.KCU?D4%:?,ZV[ ML_ID$V1+B2+=MI<H^SVVUR=1QHP?7[=>)]!M+RFV.QRX&HK2V]>FUP7"6_:D MI6U+4_T#'2OLTE2/X?%U:U\"W;8TY6NWG?8EO7WKVM>A:"HXT%'!+DV5KMNF M'O[<EGHR/K"E*?4('-M2C[3;%[X/&:\%WX/!8?$][M/WMOC>-$\/-XU0!)0S ME4MY>HYEWYQ2\(O69&-3/E9=32E%,N'=;2-&;KA$/Z6)"PT7"I@Y`7FP.4(A MY7B[<9Q=6/LDC8=B&[R#(94->O"<ZU'D(XA":J'0@>$N8SRXQ=<R2B#K>5>> M\9$SOD-YPIO:]0(?-P,IY\.FH!A_#C@T+#*^[KN5+\.YMU8^\QZ!O5@8A>9+ MTJ*QM2][B YD[?>=;?1_-FM?QM]6BPH/=/3PMVGM"W3;ZE:^=MM9^]+;7]9^ M8%W[HJE>H(^/J[[V1%/?AK4OT&U+4[YVVUG[TMM?UGY@70E3I\^&:4Y3^$7+ MY^DM'=?=CVQ;:.CJBE^)C3#=\Z'4=39"CP^V/)1M<"C>/MWS8=;?BM=IZCGD MNHZ+3_=\K/6?Q>O4U!86/E#*R2L=L_QGM(J%BN^[52RK()JX: ^"S8VM8J:B M0UG%H7.,\)U9Q0R=MEQ>QM^6R_</='QRTZPJB73DL%L$CR#$HG3V_EICGZZK MNZ;8CO>RA+<N.PYL`?0]ASHWB/?ME&UE0[&_YZ.@_ZP6P+YHTEFT\K4GFOQ6 M\E+H@?9Y*=7MMLU+H=M_>:H"ZQH&=G:PBVQ-:<K=G]/G(U6\UZXT]97MSQ%X MN>\;< \NMH_=@S $7V16_-W7;Q!L/A!"VGWK>V2:6D,"+ZU7<:N\5J.2GN^[ M111NJY7PY<<%NMSGM\T&UAC/$Q=MRH<Q&?.4VI5FSBEPT/)&+*?*E99.]=.\ MWBE'C*.@.E,<*X[E,K:2#Y&JBL"^[B0W]N:)U:J?YVA!4K+)^?Z?P XGB-S; M'<?"OWBE9#WUNO.*A#586/J=^_VKL.VW7=CV_P-02P,$% ````@`W;2,+)]I ME05_( ``:: ``!$```!#;V1E1V5N97)A=&]R+G!A8^T]77/C-I+/3I7_`^UY MD&?/]DJ41%ER-BE;MG)3FYVDXLGF86NFBI9HFS<2J26E<;R7^^_7W6B ``A2 ME*W)9*^.J8PM`FCT%_H+$/R;MPRG'\/[R/MM_ROYZ^@OWH_\:Q(NHI'7&J>S MZ+LHB;)PE6:MTZ+K,OSU[U&6QVDR\MKG^U_MW89Y/!VGBT64K&#@UP_^-Q?3 MCTGZ.(]F]Q&^S;_^,[S<_^K=0YA\S+U5ZKT)$^\RS%8/Z3Q=1(_>79IY^?K^ M/LI7<7+OK1[BW N7RRP-IP_8/UROTD6XBF;>%/#R[@5B@ ,@MO\53GD5Y]-Y M&"^B3$T6X; '@/P8S^=>DJZ\,,_7"WB=/'GS.+R-Y_'JB>:>A0N@#5!["%?> M(KY_6'E9E*_G*^\N2Q?>4[K.O'4>>>F=P"U/[U:/81:=>MZ;E0<O`-5/\0SP M"_,3Q#V9P:PP^7KE0;\L3%9/T/=G!P@O7BSGL9P;9I)8WJT!:\!BF29YK.%* MR(13I%Y,%-YG481<`F[.`(RB&QMQJ@AF2)^BS'L(L\4\RG,O3H@))MGA$Q.M MF#I.ET\9<H-YJCY[?KO=\6Z?O%_B^4,T7WA_/?5NI@^/X>VQ]^/#Z170>H'8 M8]\<H4;9IV@&;]\A/E*5<,9;(!30GP,R<;[*XMLU2/G8@Q_'7IK :T#U*ITO M'^"G5%'@`BB#8K+@YRR=KE'98,!TO@91`!4MHD1.1XK*,)0*MT2?PXN98)WL MG$^S>+G*#XU&T#!@'JZ0_-B;IRF(<Q$!JV?RW?T\O0WG\A/0#;*:BC6%H"1P M@O,67\+Z"6>SD?=JC*_4@AL_K)./YV;CWVBFRB[Z>JUX73?D)Y)\_B/**EE% M&H@W2;X*DVE4/W]5*VIK'LWO#$D(IDD&.+L(3M9VD>QU=CJ\C),P>_*^$Q)Y M:TG@EEJ_*R89>4<WT<I+HD<-TFL`=?B3E*(-(YS/?])1,$ T8+%W\HW7NHKN M0K0SG^+HL75NS:WK919ET3_7<1ZOROJ41ZL?M7;$Y,T,Y@"386'4XK7DF(J! M'="TI'$>(!<G,5F:0WK_P^U_1=,5F.I;4F&;0H 9L[;\/<S PLXE9UKA]["\ M_P:=YT0J^(LE+)^,2)DIEHS3-:S@=>)XVP+@-*D-&1N6:3J_BLDF0JMZ3?W? M5.MA(#VEQ#5%QCG3$X.@^"W9E7 Q,RQ:C!M5\O01&DE25]?&<G;TR'9Y- M@5>-^Q?@A,OVU+"BH!^#B1MP.A!R3"&ZN$^SI\]'@PO+DCRW).6+(%KG$'YO M7(4=`9M76-6JQ6R;WSH-05+08(EP,_HUIK@4P7T6*@Z_IUA",)1-[>$UA#<0 M+$H;/U.V6+3C?P9]@*N,P5L'Y=;[=0SV_^B[G]]<45 K]!XZ__=PTO'[@[/V MR2"X'IQT.E?]D[/^,#AIPW/9&U[YXXG_/ZW7!// FE*L&B!UD@KK<O!S0N3& M=W$T._ .2D.$[\?^!!"\TEMP!S@DRM^E')XA<V:C4. ('#Q\L\+AD8C"4#HY MQ<+@V80IBC@4%MYR@=$P=B4_(EE(L=S>WF]>* /)W^B-^EAD07\+$_@7Z%MG M&<:4.&YO;^E CIOBN[=I$HW^X:$_]:(L2[.WZ6H"CJOH^1[<[!ZU,\KC+**< M9I;"P%&$N<YO"$XA!.009Z@-1R,(8AOQ0/(<$1H55@T6`+W^X6X4"HOOUO/X M4Y6]'TT_N>W^:"FB-J_&`8RF#!CE]DN&\4HH9$8B"PNA'6(/)-C4$!&N[.V5 M:7QU$T(J$PFBJ(]&*_MR>NTF^-612!4HW7DM>CJ(?W7TNDPXOJPC&MK/": , MJ@1M0N&F:7(W!VBL<(>8FV;1-(H_H;V"+!'R-LQ/(1D*\X^@$:"^4U(.8-<] M]$HX]5BD&:X!R)Y3P.#8>X,$D=6%=.XQ?/KVVV\/I9*ABF6KT3\0!84`J#@U MSE4T)O1W;Q:M@'NF'N)#GR#.P>G'+)!"U[C7>_XI5P%I>C%IG+^-YU)])7H% M!AB8'I$:(%C+[["49? B-;J0G:7\3O$K78?6UVH)&8L0Q7*1Y(^XZ-F@3'EY M0IJ[T@1V+NH)8&V7\Q"RTAC6,Z0"V#&Z$_)!OK"5P@Q_RD'BJ5"(#T?>D2T% M^&BPWV.^_S5.9J#;+LZ\]UZ3L<A_R&80^\_&Z1QA@,:";D_%!PW@S0*07(7S MCUZX$N\*IKTW>"+<T+C&PA1F?U3\ZMW.T^G'$?W;9.F+I8$5$FU5T&APN$M M'ICG/1*0? 6B6 `O[RG%/^;4'Z0@VLE+PYJ)5ZC]"!+TG*TN];@A`*B"8H)/ MX7P=C:!C`X6L"'/<ZE=$E @=%_X*"V!F>*DQC162V<^EB[S@>7CSM+A-YYIV M/CX`/O 3#268#%TSO8<P-QA>N$"-Z1^(-(MD>_E[SG7/V(#JJ95.(%\C*K#& M)1$9E?W(3YI)'-+Q74CXPPI="2>.^: LZ:690#(ICT69NE[_A]<Y+?@GIO[9 ME4$VGMR9?^+T[@8-`<5036"A5Z2^J ]@,U O1:F-*H>S];1L9@0J6MI,5A08 M_RY;8Z"AM0!FQ0=88J<BU/A0=&'T%O^_LGEE;\AA=KRXF?VH-J2%/^$O)&U$ M#;RZU T$5Q(\]AF5C3P*F@%#"/'(Z0V"OX&/!)WUFLOF`G!]20HA_9",B&V' MBF^'R%^S;$/K76DCLLQHS]>+19@]C5H_ACG.WSKVCMQKQ[FF7F,U&-SKDV#W ML=>BA9J?(R 7'*.[A_VIUVG+B)IU%'_(D !DUR76A;UP.HWR''19Z//?H:MB MT\U#!!H):I!.8V(GEYV+U2I=NSX#3.K(?XR4"7+4N@3H(%WB**R_'2S7MQ!, M-8%8CINU*-D=&3NBX%($7!/\/A-/(P`[$ (`\6T+HC)>*6R9,&#/0[/LE.7@ ME=BN:@BDTBD^B_)Z5_<LD&JY/VMTI6_9C13(=CYOJ&8=GP>@9#;<#!+_.4J5 MM849T:6Z.G/ICR^"ZZY_,FAW@JVJ,SSYUB4:,<ZJTY!1>9/<T=8;\.\FO(O( MM6=/M$$K8IU7=K=S;Y92G)K']TD(-C01Q1%A+LEO?! E$6N@:=&I]WM(>D?7 M.%I63"!._=!ZBQN[G\)XCO:HI>4R(NM")+E*3Q:;-^RR:,DKQI'@497@*(M> MR]0MUX:B<Q:EIAS"$EEI8K S:3&?L'8G%P5R^U0CF2B6^^8(G_+E8C<!@YP5 M.-;32KK+_>_">1Z=[NWI_BZ&F&*_B$013WR%.-]&N*$]4VF"#+3@?67>"Z!H M*VJ=X5+ ;6^,S!*@&2L5,C')4Z2:`C2,XP!@"J,Q6(/P!GLE!!: J;P%(%DY M,L2/&*.OA=7E.%)_(PL9!1/V90V"`^0BJ"G*$Q-D$K3QBSW.PXO ;@)K[PUN MBK^1!3U(LSG:D8.**7X),XKEWVM-<HH]$;S))BY]?-!I$.)1DOKA^ZO_0\)Z M-<,5AI/A3CSKO4. *XC]H]4UEMASR4;%8).'&G<-X=:L$6M&*3"M&%4I$2RV MA_/X7V1!?LSB3\BW$^^->F\PO%5462$'X;(33J.)TPH6J:KE%?,(?%RK6F40 M=84XI3C .@C,[\S20$R5`2)R4WV YBPF+);7X2\;:@_YFOPBGEQY4DH"1A(% M?4X*"6A@1QA-2@<J"?Z!HNF:N@;P5F@)@*"]&&E,/Q3H$;9+6,(K2%]"D142 M4[Q9]"F:H]\_N0,OF,SPJ$DDCG?@9@H!X@$>`1@Y'9)P>,Z8WN%H1V57B ": M1%85T 2=C0(8-P34[>?/SP;JX$\GQ;I^`32E] ?J5P(CEEES.-9ZV!R95\*1 M>O1LFJ3R'= OI=C0"8+6HQ5IB>V/HGJ$E17))%Q-;&5X!12AQ%NMW[^B<Z_8 MB*@F0=@#BQ"8\$#9,O(OH&Z.0!<';XIT'7TVAKK=9J&N:_I&L:YCH"4"/33; M_V/%CR1O[3 '.3FYXUUL+K)/J-@(X[ G%R$/"%V$4L[3(+3)0#";P"AW% !* MU03W\-(YDV)V=^6A!@OG`*_8_K',L[[F$B\5FXFT4ZA$+:0HF^SP2YIH='2S M-&FM\)#F.M1<H8<'0N\?3O6EJTE+H%6)NE!$5?Y+>6PY[%#'PW"2:G@;IAL! M&\26ZK,FKA$!A#42=(&##&+>`8>_%ML,WQ \<6!6GKU4&Z.G.GTXV 1E8K\E M4 7%C6HCJ50+HT((6S*_DN<;>*TR'<$7/(B\6M]*\_.(&TCK57IR+^QC8=SD M&=Q9=(OGM,7AXBQ:A* %<BVD&9C %9[9Q5WZ!1E'4]EK\JR]EC!HK6//7!@> M!^J'HEIP9.YD6GU?:^=DR+37I] ?JB85"0+A;O'-QCR\E-LBRF-3>B9,DC@_ M3KD<CCGW(MR@"/DD2Q+/0[#XO#<2WT'DF_!QHUROD.R4YL-JH@]I-D&1V$DA M-GS9?*C*AE3MB%0L@\KN)9^S$7:E6:O=I'$24E[>]>;<":0:?)T=J9VHDNN& M-2GM#X]U4[ZK?/3(*^!Z8<Y[T*^]O\AC%%-'*S/=%FZ9#=A##[MT;MNCG2#K M>%P#W*5V!G.+F"8L@&I\S9?A%(\%SN-%C(::MA*5N9FJ(8X-V;I]5&@VY]NS MCZ?1<"[/TFM\236:/%J&Y#4NGV (=A-(RE*+OFO*`BI"V7UVU,HGWT;J+&<T MDVY$=;=&EQU^'1PM@+;9;M6C#B]!3E&8J/J$LS#A'>F1H0@:Q?8^"42&AAC- MAG-@].R)K7RQWVV6WJ3;+.R^W(;Z:_14BO.K$QL[M],S&Z.68"3>#0#9X7-5 MWMP$5*5-_2Q 1R^%BE!V`>/%B.R45[OCD0J5#OYTLM;3[^=#LH.NRC)8`ZC- M:D^-`.U69=T>_"4`&U7'&@`J^<'GXU3RGB^ 57C(@X=H#AKQ##NF.907(%*X MH1= T3V/2U158/"=7<$JGY@MS(X\Q5=W2O9PS,>/$ZW>(;THQV/%*1BYK33S MOC;BGY%8O=]4Q9IZ<DCQ@XWU_E?Z2:SB,&3M"5]7M<H9F:N^;C]1.::DPQ4] M2R'.,V3A.8B9ZDUNW.49_,H3_%]$QI*!)8Z<.P5][I*TH(_).Z\0]]1NKN?2 MN5.JS"EJU(KI%"3"LD0._K1.: O5PQ<<V!^*2!BW-N'EJ7@#_S8^XNXHU%.7 M@C^OKM:+Q1/UA@7_CK\U3YW*BO3JR&O%GSHM_-=O4455U:7%SF*UA1+:6FWM M"I3*\];O(>Q^/I<:5(N^[(=VA2Y*_8 W';$&=B)M>&D'Q?E%.WL+Q=EIXQY* MK]$>BAL!G1XBV[&)XASY;[:+HKVFM<.SC*Q2I6A33)%;#OSFB4UQZ?L6?"J1 M>XEK-:CIO;8'H<,@%NG=<^]KMJV4QH;+Y?S)(K14IK7/HQHSE.>T:A<[GMUD M4:D4;660^[_W!LS>;Y(0417A#_)@BCR_( 1Y6G2P#N*KPLI>_?ET:DVB7U<_ MKE<7\_FHI(/(]7.]1^N;;^C\LH:97D'1#['(12$X*ZWDOE$*0?BJS*8O,_Q* M91I/(Z,JF/(7H;P\GM'QH44(/V^?]L6Y(E51R7&4RQQLO4/S);%4:&W8,;D1 M5T%0A5\B*=4B435_4&E)?)$,F\!,\K<$JQFG:G1_WXV*K193:??'5&/MO)U: M9<KDK)A7[T6S/!"F;UJ4SH#RM/N6$]+*>'+_Z\\INA3D1^%42#=:9=]"EY]( M5HZ-F5CZ_#*3Y)=<"X1K)3O@1+V!,$T,=BW/?YAVJ&2\3'0OY":5B5-.WW+$ M[U?D,I7;K]ZH*F;3A5NV>L4&RY?9H2JYN=IM($/2QFE/8<AB+#7'XMJKJ5M9 M48%*]>'2OJ#,/IGG.U;^XWT1@/US'672^6/%&T?;FL@&36)B[@AO4A"1;_VA MBO+Z=FQU6=Y[C7#DE0#Z6I%C;IA:,5#1_EZF9"Y_];R*?B-(9JSHKF-M#ZBJ M(M8,DA4CO@B6BD-V`>1E9!51P4Z@[ B9IE7VAF#UE;U#4#O%LM%F0"-(V@)_ MB32D%7@)C :%9#<<LDZ"$)7%%QI?6#9-\_!7/0S1:XFZ^Z)0,TZ,>UD(X#&& M]6DNXFN*5]RQ?<@W0H)DT*T7&8+T.F)>]^&Z:MS-/'Y#)7=[>*4,_P_))[T6 M;I(G*J@FB>)=-9E6P91YAS[7# SP7$,I/)>WGH@[F%I6-J1B4VKER-,(OT2T MJC5C^&@%)+POIF8UOG*B-5G+H_PU(EE:='>OB YM;(K5ZZ@BT0]*B67,>Z31 M;@K-!FR&' )3\8D`6I*U1ZM,:X.T/5%+W%@1=_+(K)"C7(UU):6I7@+[S)MI M"0P52:@_ML^P-EYH%)UQI--&U& H$FF_N !T[ZA>FDV6OEY6!WC5FK2]':$B MOEV@;L&,^IQU+D)?*HYH1H\EZ@OA+P5O!8<[F\QA7^K.'VP!N7E!OT;BKB]& M.'MN+.T'S;\>L3E:H&Y57Y)P#K?"`\W(:.YMZW3VG R]&,(S8(:)=RZS]>?3 M@OHY,+,`(5#8A/[689OXK]XV6,*M[;Q1OOU&\JU'J(&(20MU4UJZ"Z2DL[6] M:^B:#+J7'7]RXG?.VDA7<'+9/^L!7?WVU85_W;T,KMW?8"^CU$AW:T%8^LLZ M>3&G*WMD@02R>R]>10NA;C*@^+ZXK$4_$RF<M%1N_8ZS++J#>1_&<K!5EH1) M(8.1UZ0!MZAC;B-"<_.M=6)?(U]%2R^E.[S%]RCCI"CU'6Y&^#=UI2474ZG> M9KT#7\J$51[:%_>\6>/,[1&*F70&X8OW6A&O":-$H83WB/0B5BX;CK&(">PP M`T0C'*3@JV"+&JJ^@? A`;P)->XO>$8?/(9HB'G/`>WRZ4TRBW[EL3']3MRU M!;)>SD"9+U;477247!&D4R2,Q )VB2A[%35-CI.1!W('-4-+2M=+55TF)8RF M#?C4TA=9W<6[DO!%[hidden email]*"U*-T$L-^PD,_CO<QW(-A<XT2K]5M?%H MXRI6PEQCULWT(<(ZT?276.[7.#D&RDQ?87F,Y;[*!F99@$W1XY?D1Z^4`HP? MPN0^PE)F,I.OQ[R"4ZKT%6A#\+.4S8CM&_%94VV\.HFF:O$AD@8:##$A`Q;? MW"!]P_A>,XLXVPW?027T,=Q\NQ$[70<XDR.N'L4E7%+!TP3O6!K/TUQ\N?P& M9&WK+40'=$$;7400K^B[X[<178>9JL/<A^_H6^3BKRJ$=]'\Z=A;K &/]);^ M[@!'(Y0[RR]^W6N,R,7M3@E>% N!!%ZY0*! @,>87(/9G4<A7@;\$$T_TG!" M*J>+`Z0)$UPLWS#EN"FKMC]H^$H8`IWI.K.$5&V3B8SXF6P*88CL/A:V(?L4 MT]_4T,RE,I/JC;QB0WUV&TM3T,0&B8BV*^T8.-)!$ 'ZTMCG+6"E],+8HKBG M8CV]Q+"3?1(7P[5:I[1*3E5Z7K0=*3.-I91_1=Y?O X?JI+%`6Z]BS.^&YKW M\=YS-UD8:%TOEJLG5)X%5EV6<XWW+>HM+H8SC>!+T2A_J8XNQ\$[2O$M3/Q, M1)O$515%6XAQ#C"0A.55<V/!%M!<$=,.9U"AQDY@6J[6JC&_$*[EE78%7'=* MNV""\ :[PDXWA >0DR?H%)+9_&50;6-:<9Y\*YBZ?:O!=#-</2F6:<M,_-F0 M\EVCW,#N19R1PO3H'J-"KBJK+^&Q6]W'6V>T;6WUI5W3@VN;V-&O=!$WN6V\ M;%)<.(G';^BO`SVFV4>M]/?VAW?7(]&>1-%,?BDKBS[%>*M1F)MQ++C,1^VB M4+1O"$6Y;!P0KW)!XJERJ/K5E1I^RF\8E3;W)45%'_ HSD.VFM-X0:WQ@W%= M*^*G+B9UG1"F]_4GA$47K> F?Q,-C4X%[XD;S F5'11#-6 UY9@&D)I60DO[ M#@T=E[/HIR^P`]*TK6R@$R9KI7F'3G6-<O\KS_X[1O)O0_S$?W>(/Q_)S^*O M_@`@1F'DU>-)297U1XA>L[T8>4=\I3Z6<P0:-P`DNGS"/S$$L^(O%UD6/E&/ M_XQ^534?O]/O]GL]WV]WVWZ[%\ _XW:[W6G3TP^"8= ?#/H^_-L-)H/^P ^Z M0;\MG^MVQ^]!/X)A]Q)O>_Y@..@%_5YGX,/[SF#8ZT!K%_M2;[_?AO>3P=E@ M*,%V`_@'/I7'7OB=`?:P\+YNGQ'>%XRWP$=B7X(/_?WVE4:GP+0;C&$.P*H" MHP![#GK0-@RN@T%[P-!ZP208#]K!&;X?^CSDBEN!QN :J.C0*."-Q,M'F,#+ [hidden email]\QA(F_R1L@-X>XNL'`^#0D.;HX^\#8(@VN-OK$9T^$5#_#.0,&Q[0 MDXZ/R!.?VBA%F'V(E *=8\)K2)I08 (\[UPH7@\#Q!9Q!@F#3N#H;@$#X W+ M4AA<F&C(CXKGE^('S#^!_RYA_G8?.>^#9/N*BXQ3WX*V"7J'\>A=#?H@;\2\ MC7#[H,OXL\ ?YA^"'O6DI.7,G;$Y@Y2'+=^)A6EO",K4(3G2FS/67%BO75PG M<IR<MW<%6"!_B_FN66)2TT%C39RWYW:'5T\/I(^SP;_]H.>"K>BSGP#)0OI, M;2".=LB*G/7;! ^U8]BN>N1*#$ ED4.2'U<$M;!7_##B!=]9$&3_)D4'HN4* M_NN 3O8DM![9I.#*!@>C>\AC-;LYND?6L8O6`TP'<T;!`$L*_TO+!;3".!\I M+\M%\9\_!S0/Z.+0K8UJ=4@N&?T5&'Z BH[!`Y0)ZC%)N)H'HON%;UD0AC*V MWE]?F)\5CJQD)DW@,4"C2JO<Z..W`^IET_-2C#HL(Q=&O6NR5F3A@X"UM">\ M`V!W!G;B&JQ05\%B32QA3G#\*QO2H&M30PY/?W;%=[84B#M8D+;0GX*&D@X9 M_6PLAR8NC1]E]\[X)SCW"3RRO;%%0F_:11XJBP@^8"!\=X<XNPF27,-#EDD- M++*MG6+M"OFC9 >]9UK6MCE[;TA6!/V\L"8=X><KI<E2`NSZ%%N0;6TW?, " MC-$6*>]C>3-AX4$OK@K[5<)<:0YJ"F@T^@C 7=HDO].FM5!)`<]-E@P64\!O MFG*NW^68I,(C@<7O402%D<$$N'Q)T=]D0!PK(EP?/>R5\"0P]@S]JHKH^B#3 M0O<[:D0?M<=<XS *>Z,FB+A78,%CSCKBMXWQ#:^$/G(6:0M$3 G0)^ M+@2% M)1Z"%J*]MJ,,V<]G:ON78%PN`K;L?AO#EN)3L$&BP/$.O 5KUK]2,TG>6%+> M2"?K%?E^D)TK.NPQ'=6Y@@0[N11Q4W_8Z0RO@4L`I]+:2YXUI+9M/](ZLX\: MM]M&G[.")_18AK-X+/Q\IE927;EN.)(A/>.XO"KZ"E0`(3P^Z3CJ)ED7C",& M'>!!GSQ<044%9FH6R0%<.9<NJ*B[<G2E'"20+EFO#DNV!_I)JTY8M.Z%K=.8 MF2#'27.&AM6SUBED28.V]OA#(2GI;:2D?*O?1@]J6 <9+VF8RC7/.&\]#TM" MSE"&O*TM5CK)>@"&;MB[AH!UTH?0N3?N=7K='G@>^/^ZK_@9^$+7?*;;MW(; M.?UDPV.-:L/")OP'LF7#2K#E..Z8/^4C8R_)OVVS/RV?Q\RD\ (JKQ];?)=/ MTRR//ZAL_:R(@]R/07?-@VOB0L/<E9UO6M7Z^L)5W1'5FP`]F=(D.=KV0,0K MT->M,VX9SZF,FR)CX'9?KJ]^0#EC%>\E#S?Q'I2\TVT7&7:??$K-P[P?V'$W M/Q(/-2^3]N)LA*TK^B?TC8.NL_X0"-U4<F ]PC1=M/C7^-_OEEW(>!1L>1]C M.EHSML_"L$NVV9CM*J^DB'P@HO,>Y==!P26V#, E;MDY%FPC#2R&9$,HX[/Y M!9AHK;O&1H+3L9&1Y<"7*TWC#\<T*,1RKZ:ZU'C%\&@'E3WNUXQ*_LE<'& ^ M1G80XA&*$]O!68^S#(<F<$L#WF^'E8K-KZ\`UID3JR[7Q(#/#LW@5LI6=HV= MM#(U/.O[U'*F<:U8QZK-QJS<MZ?FD'T^EQ728_L:VRFRQ8G&<[8=Q'/1!A)Q M6]"AB6'CQ_9'P:3;OO8'`_*WF']>HP>$3$A$'0'JA-",*H@^K]9KWRK[;_+T MC($=C_98]VQ/:L=?TF_Z$W=[A^/LWJ7@G?2T]GR7]GP=]7Y8-Z[2]DI\2A+O M^U13@>RD'$M3%G/6;LO]%>!Z@*M"@9>:*OOSY^=BAY46%=N(*OZ0LGRPL&7L MY$<Y6]<W(\:=Q>BL$QVF9<A37TIXFV)T*Y*5]@6X8T19I5@;^"!J3^1E!K[( MKAR19, <V'4<.%:UB(KG,\>!$Z;K]X[D^HSIYXC1+FS8.XN[)C;DG<91/8Z M_CWBH;&-[<YBF@['L9\G)@ELZ'^0J.+*QNL+1@6^WRYVWAS/OXOOE]:UJ>]O MLY^L&G?-GL,>!SF :<4KO'85W!Z_K_*_<MS6_I>?+^5_5=QP86KL%KMC&T]Q MV+HEYQQ:[Z5GE[RT<^; B@5D38E[;5_/8UZ*\R&EDQI6;:UI_$ MG9ZR4%?, M*UB)IDUH6&_K,;<NK3BD;ULMK-U>XK[70/"H'UP5F8SLU+&KK:9%W/C8^[,# M6,>DG_S(7;HS_GEIU38W/1OK1]>XD\45]N[6UJV(.I]GW3KFSZH=!+F;)V7? M- ?HR!I5.2?%_:XAQQAGN$<7!&(7NG(?I(+62@Y+B8JZL,\X!&.C=_%L31MK M+U#4#:YH;TGLB/8"N9?9H[-UM%L*%/8&`VS7WY76GK2.UEK[;%F0]<B="@5N M6RO,MFMK/9;>YZ5ZS#':)CV6MN]S\_6,\95\[4F;V7!=2\\B/8C4ARKO)ZE6 M08#E!<]XO.W!Y'Z96CL<]6A[QGQB0G+.[BE]E]R1&72ISC-$N\[KOB//D/#( MK:V1W;ZUEO'/9VO9I?FS4LOZ`H)$SIYO4A$+*LO"'%(\'9!%Z5.=LH?>SV^+ MD\EB#VG0E3-]MFC-VFD<#EF?!]OIL]2SK2,;IJK?I?.I&)GU]/W)MD77L_8G MVXBF'2593\/3Q%_*_DTJLA2IF?*MI/-SVS^YXRWMG[2'SXWNI?6I:E>G9>5G MCJS:UJ.,XM;GW#[G.?L.>X<.TU:<D2,;.A:[TE@I[V%LCSMMXJ076X5M3MS* MN50<:IRK4Y@PE>63`>K$/YTC#";$R8GB!\=!`(].S]O?HT!O$H@S3<Y3\6I^ M_AP8? +OXG=!Q-V>CW'6N*A=MUZ+JSS^%U!+`0(4`!0````(`'=,E"S05@[0 MJ$<``(R&`0`+``````````$`( "V@00```!-:6=R871E+G!A8U!+`0(4`!0` M```(`-VTC"R?:94%?R ``&F@```1``````````$`( "V@=5'``!#;V1E1V5N @97)A=&]R+G!A8U!+!08``````@`"`'@```"#: `````` ` end |
Bill Schwab wrote:
> Probably the easiest way is to mark your changes with a symbol, perhaps > #abChanged, and then file those out. Each method would look something like > > someMethodYouChanged > "The #abChanged. below can appear anywhere. It does not have to be on > the first line, but it won't help if it's in a comment. Now browsing > for references > to #abChanged will find this method." > > #abChanged. > "Code..." > > Migrate allows one to define safe and dangerous selectors and will file them > out to respective files; changes to D5 broke that feature, but, hopefully > the attached restores it. Alternatively, you can look at its use of > ChunkSourceFiler and do something similar. Finally, you can simply drag > methods to a workspace to file them out. Thanks, that helps. I'm looking forward to getting STS to handle some of this once a D5 version is out. Is there a mechanism for deleting an existing method using a patch - I know I could simply mark the method as deprecated, and/or change it to "self shouldNotImplement". Is there a 'Dolphin way'? ------------------------- Antony Blakey mailto:[hidden email] Linkuistics Pty Ltd Adelaide, South Australia |
In reply to this post by Antony Blakey-4
"Antony Blakey" <[hidden email]> wrote in message
news:[hidden email]... > Hi, > I've fixed COM aggregation in D5RC1 using the mechanism suggested by > Blair in a related thread (at least for the case of an external object > aggregating a Doplhin object), but I'm unsure how about two things: > > 1. How do I ship this when it involves changes to core classes, > specifically changes to an existing methods? Two approaches: 1) A package of loose methods. 2) A simple chunk script file. The advantage of (1) is that it makes it easy to see all the changes. However the user will get prompted as to whether they want the methods overwritten (which may not be a bad thing), also if the package is uninstalled the system will be damaged so it is usually a good idea to prevent that by including a "self error: 'Sorry, can't be uninstalled'" in the package pre-uninstall script. We use ordinary file-in's for patches ourselves, as this is the best way to update the system in a reliable way, but it may not necessarily fit your needs. Actually you can use a combination of both by putting file-in's into the package post-install script. This is probably the best choice, as you can everything you could do in a simple file-in from the package script anyway. > > 2. How should I write SUnit tests that include an external non-st component? I have done this to test an external library (mainly to reverse engineer its behaviour), but it will only work if the process can be initiated from Smalltalk. Otherwise there is CppUnit! Regards Blair |
In reply to this post by Antony Blakey-4
"Antony Blakey" <[hidden email]> wrote in message
news:[hidden email]... > Antony Blakey wrote: > > 1. How do I ship this when it involves changes to core classes, > > specifically changes to an existing methods? > > I should clarify: I'm asking about passing the source to others i.e. > posting to a news group/on the web etc. Obviously I can 'ship' in the > application sense. Well if you posted it here, then it is more likely that you won't need to bother distributing it after the actual D5 release :-) Regards Blair |
Blair McGlashan wrote:
> "Antony Blakey" <[hidden email]> wrote in message > news:[hidden email]... > >>Antony Blakey wrote: >> >>>1. How do I ship this when it involves changes to core classes, >>>specifically changes to an existing methods? >> >>I should clarify: I'm asking about passing the source to others i.e. >>posting to a news group/on the web etc. Obviously I can 'ship' in the >>application sense. > > > Well if you posted it here, then it is more likely that you won't need to > bother distributing it after the actual D5 release :-) Actually, that's what I hoped but I didn't want to imply that I thought you would or should incorporate my fix. I'm double checking the aggregation AddRef/Release stuff, then I'll post. ------------------------- Antony Blakey mailto:[hidden email] Linkuistics Pty Ltd Adelaide, South Australia |
Free forum by Nabble | Edit this page |