GL 87ARCZ& GL 87CAT3Z% GL 87ETCZ$ GL 87INCLUDEZ# GL :7SRCZ" GL!!7 READMEZ! PHADE SOFTWARE presents SHAREWARE NOTICE : Update 01.01.1990 -------------------------------------------------------------------- This program is Shareware. You may distribute it freely, but to use legally after a 10 - day - evaluation period you have to send 75 DM (or 40$) to : PHADE SOFTWARE Inhaber Frank Gadegast Schierker Strasse 39 1000 Berlin 44 Telefon : GERMANY (030) 6265667 In return, you will receive the latest version of this program, the source code and a registration number allowing you to use and change this program in every way you want. You will also receive the next update free. Your honesty will enable PHADE SOFTWARE to continue distributing quality Shareware products. Please include a brief description of your system when you register, and REPORT THE NAME OF THIS PROGRAM WITH THE VERSION NUMBER. All comments and ideas you like to add are welcome. If you have a good program that you like to add, send it. You will get the registration free. All following products are Shareware. If you like to have a copy contact PHADE SOFTWARE. PHADE SOFTWARE NEWS presents latest APPLE ][e PRODOS Utilities : -------------------------------------------------------------------- Aztec.Man : Aztec C65 Manual Aztec.Uti : Aztec C65 Utilities like FIND, FORMAT, HC, etc. Chess.Board : Chess for two players Hires.Tricks : Hires packing programs Starter : Full-screen startup program by directory entries Startup : Full-screen startup program with editor Text.Tricks : 40- & 80-column screen editors, scrolls, etc. PHADE SOFTWARE NEWS presents latest APPLE ][e DOS Utilities : -------------------------------------------------------------------- Chess Board : Chess for two players Dos & Tricks : Dos 3.3/4 utilities like BYE, CAT, BREAK BEEP Desk - Merger : Window graphic merging program DHGR - Utilities : Double-Hires expand utilities Hires - Pack : Hires packing programs Pager 2.2 : Full-window-screen text-editor Phade Shell : Unix-like Shell for Dos 3.3/4 or Z-Dos Phade Selector : Program selector with BYE-Command Startup : Full-screen startup program with editor Text & Tricks : 40- & 80-column screen editors, scrolls, etc. PHADE SOFTWARE NEWS presents latest APPLE ][e UCSD Utilities : -------------------------------------------------------------------- Filer ][ : Graphic - Window File-Utility and starting program ( secial appendix to SYSTEM.FILER ) Paint ][ : Graphic - Window Drawing-Program Startup ][ : Graphic - Window Startup-Program with editor Startup : Full-screen startup program with editor PHADE SOFTWARE presents latest IBM MS-DOS Utilities : -------------------------------------------------------------------- MENU : Full-textscreen Harddisk - Organization - Program You can install all your programs in a Window-Menu. Comes together with MENU-EDITOR and DIRECTORY STARTER. PI : Full-textscreen Organization - Program like NORTON INTEGRATOR You can install all your programs in a menu. Usefull to organize programs and there options. Editor included. UTIL : Usefull utilities like : CALC : Calculator CHAR : Shows charset DUMP : Dumps every file in different options MAP : Memory map (shows resident programs) MERGE : Merge textfiles PASS : Saves and rebuilds textfiles with password REMM : Removes remarks and krunchs textfiles GL!!7+ ARC/ERR.ARCZ make cc -Z5000 errm.c cc -Z5000 err.c ln err.o errm.o -lc errm.c /***************************************/ /* */ /* Error protocol */ /* */ /* by Phade Software */ /* Copyright (c) 1990 */ /* */ /* errm.c of err.c */ /* */ /***************************************/ #include #define IN (char)15 #define NO (char)14 char *comment[] = { "-> must be '0[0..7]'", "-> use cc -Z option", "-> double quote missing", "-> gulp", "-> not allowed to return aggregates", "-> type or non-declaration", "-> missing comma or semicolon", "-> be careful !", "-> see error 10", "-> zero specifications become positive integer",/*10*/ "-> too many levels", "-> pointer must be of type int or unsigned", "-> gulp", "-> gulp", "-> illegal combination of storage specifiers", "-> illegal combination of type specifiers", "-> enum etc not implemented", "-> error in use of long or unsigned type", "-> you got a old compiler version!", "-> check for multiply definition",/*20*/ "-> missing brace in structure", "-> { missing", "-> check type off called function", "-> functioncall without parentheses ?", "-> invalid symbol name", "-> symbol undeclared, type ?", "-> be careful !", "-> C permits the assignment of one structure to another", "-> check same call with dot and ampersand operator", "",/*30*/ "-> check function name, maybe internal ! missing operator ?", "-> be careful !", "-> don't connect - or ~ with structures, pointers, arrays or functions", "-> possible type or declaration omitted", "-> check casts and expressions", "-> use cc -E option", "", "-> must be static or external aggregate", "", "-> gulp",/*40*/ "-> remember statics and globals occurs at link-time not at run-time", "-> maybe byte array to small", "-> compiler is unable to interpret a word, check syntax", "-> the final brace is missing, check program structure", "-> cant interpret word in external declaration", "-> possible missing brace above", "-> check include directory and system variable", "-> legal name must begin with an alphabetic", "-> indentifier declared twice, use longer names to prevent this", "-> there is need of parenthesis, brckets or braces",/*50*/ "", "", "", "", "", "", "-> use backslash-newline sequence", "", "", "",/*60*/ "", "", "", "", "", "", "-> no corresponding if", "-> keyword not allowed here", "-> check preceding statements", "",/*70*/ "-> while missing", "", "", "", "", "", "", "", "", "",/*80*/ "", "", "", "", "", "", "", "", "", "",/*90*/ "", "", "", "", "", "", "", "", "", "",/*100*/ "", "", "", "", "", "", "", "", "", "",/*110*/ "", "", "", "", "", "", "", "", "", "",/*120*/ "", "", "", "", "", }; more() { printf ("%c FATAL COMPILER-ERRORS : %c\n", IN, NO); printf ("\n"); printf ("Out of disk space! -> Outputfile maybe writeprotected\n"); printf ("unknown option: -> Remember upper and lower case options\n"); printf ("duplicate output file -> -o don't overwrite -O specify new file\n"); printf ("too few arguments -> Must occur last in the command line\n"); printf ("Open failure on input -> File does not exist or cannot be opened\n"); printf ("No input! -> File was found is empty\n"); printf ("Open failure on output -> Maybe disk or directory full\n"); printf ("Local table full -> Use -L option to increment table\n"); printf ("Out of memory! -> Decrement -E -L -Y -Z table options\n"); printf ("\n"); printf ("%c MACHINE - INDEPENDENT COMPILEROPTIONS : %c\n", IN, NO); printf ("\n"); printf ("-A -> Don't start the assemler when compilation is done\n"); printf ("-D[symbol] -> Define a symbol to the preprocessor\n"); printf ("-l[dir] -> Search [directory] for #include files\n"); printf ("-O [file] -> Send output to [file]\n"); printf ("-S -> Silent option don't print warnings\n"); printf ("-T -> Include C source statements in the assembly code\n"); printf ("-B -> Don't pause after every fifth error to ask\n"); printf ("-E[num] -> Use an expression table having [num] entries\n"); printf ("-L[num] -> Use a local symbol table having [num] entries\n"); printf ("-Y[num] -> Use a case table having [num] entries in switch\n"); printf ("-Z[num] -> Use a literal table having [num] entries\n"); printf ("+C -> Generate 65C02 code (cc only)\n"); printf ("+B -> Don't generate the statement 'public.begin'\n"); printf ("+L -> Turn automatic variables into statics (cc only)\n"); printf ("\n"); printf ("%c LINKEROPTIONS : %c\n", IN, NO); printf ("\n"); printf ("-O [file] -> Write code to the file named [file]\n"); printf ("-L[name] -> Connect code with [name].lib modules\n"); printf ("-F [file] -> Read command arguments from [file]\n"); printf ("-T -> Generate a symbol table file\n"); printf ("-M -> Don't issue warning messages\n"); printf ("-N -> Don't abort if there are undefined symbols\n"); printf ("-V -> Be verbose\n"); printf ("-B [addr] -> Set base address to hex value [addr]\n"); printf ("-C [addr] -> Set code segment address to hex [addr]\n"); printf ("-D [addr] -> Set data segment address to hex [addr]\n"); printf ("-U [addr] -> Set uninitialized data segment to hex [addr]\n"); printf ("+B / +S -> Create [B]in- or [S]ys-program (link with samain.o)\n"); printf ("+H [s,e] -> Create a hole in program from hex [s]tart to [end]\n"); printf ("\n"); } comm(err) int err; { printf (" %s\n", comment[err]); } err.c /***************************************/ /* */ /* Error protocol */ /* */ /* by Phade Software */ /* Copyright (c) 1990 */ /* */ /* err.c of err.c */ /* */ /***************************************/ #include char *errstr[] = { " 1: bad digit in octal constant", " 2: string space exhausted", " 3: unterminated string", " 4: internal error", " 5: illegal type for function", " 6: error in argument declaration", " 7: bad declaration syntax", " 8: syntax error in type cast", " 9: array dimension must be constant of type char, int or unsigned", " 10: array size must be positive integer greater zero", " 11: data type too complex", " 12: illegal pointer reference", " 13: internal error", " 14: internal error", " 15: storage class conflict", " 16: data type conflict", " 17: unsupported data type", " 18: data type conflict", " 19: obsolete", " 20: structure redeclaration", " 21: missing } in aggregate initialization", " 22: syntax error in structure declaration", " 23: obsolete", " 24: missing right paranthesis or comma in function call", " 25: structure member name expected here", " 26: must be structure / union member", " 27: illegal type cast", " 28: incompatible structures used in assignment", " 29: illegal use of structure with operator or struct used as argument", " 30: missing : in ? conditional expression", " 31: call of non-function", " 32: illegal pointer calculation", " 33: illegal application of operator to type", " 34: undefined symbol", " 35: typedef not allowed here", " 36: no more expression space", " 37: invalid expression in expression containing unary operator", " 38: no auto aggregate initalization", " 39: obsolete", " 40: internal error", " 41: initializer must be a constant", " 42: too many initializers for aggregate", " 43: attempted initialization of undefined structure", " 44: obsolete", " 45: bad declaration syntax", " 46: missing closing brace", " 47: open failure on #include file", " 48: illegal symbol name in preprocessor statement", " 49: multiply defined symbol", " 50: missing paranthesis, bracket or brace", " 51: lvalue required on left side of assignment", " 52: obsolete", " 53: multiply defined goto label", " 54: too many goto labels", " 55: missing quote in #define", " 56: missing apostrophe in #define", " 57: line too long", " 58: illegal # encountered", " 59: macro too long", " 60: obsolete", " 61: reference of member of undefined structure", " 62: function body must compound statement / error in function declaration", " 63: no label for goto found in function", " 64: inappropriate arguments in function declaration", " 65: illegal or missing argument name in function argument list", " 66: expected comma in argument list", " 67: invalid else", " 68: syntax error", " 69: missing semicolon", " 70: bad goto syntax", " 71: statement syntax error in do-while", " 72: 'for' syntax error - missing first semicolon", " 73: 'for' syntax error - missing second semicolon", " 74: case value must be int, char or unsigned constant", " 75: missing colon on case", " 76: too many cases on switch", " 77: case outside of switch", " 78: missing colon in switch", " 79: duplicate default:", " 80: default: outside of switch", " 81: break / continue error", " 82: illegal character", " 83: too many nested includes", " 84: too many array dimensions", " 85: not an argument", " 86: null dimension in array", " 87: invalid character constant", " 88: not a structure", " 89: invalid storage class", " 90: symbol redeclared", " 91: illegal use of floating point type", " 92: illegal type conversion", " 93: illegal expression type for switch", " 94: bad argument to define", " 95: no argument list", " 96: missing argument to macro", " 97: obsolete", " 98: not enough args in macro reference", " 99: internal error", "100: internal error", "101: missing close paranthesis on macro reference", "102: macro arguments too long", "103: #else with no #if", "104: #endif with no #if", "105: #endasm with no #asm", "106: #asm within #asm block", "107: missing #endif", "108: missing #endasm", "109: #if value must be integer constant", "110: invalid use of colon operator", "111: illegal use of void expression", "112: illegal use of function pointer", "113: duplicate case in switch", "114: macro redefined", "115: keyword redefined", "116: field width must > 0", "117: invalid 0 length field", "118: field is too wide", "119: field not allowed here", "120: invalid type for field", "121: pointer / integer conversion", "122: pointer and integer not same size", "123: function pointer and pointer not the same size", "124: invalid pointer / pointer assignment", "125: too many subscripts or indirection on integer" }; main(argc,argv) int argc; char *argv[]; { int i; int zero = 0; int number = 0; int errnum; if (argc < 2) { printf ("\nusage : err 'cc error number[s] or 0'\n\n"); exit (-1); } printf ("\n%c ERROR PROTOCOL %c\n\n", (char)15, (char)14); for (i=1; i < argc; i++) { errnum = atoi (argv[i]); if (errnum < 0 || errnum > 125) printf ("\nusage : error number must be 1..125\n\n"); else { if (errnum == 0) zero = 1; else { number = 1; printf ("%s\n", errstr[errnum-1]); comm (errnum-1); } } } if (number) printf ("\n"); if (zero) more (); exit (0); }  GL!!7 ARC/ELIB.ARCZ makeelib clear echo Building E.LIB ... echo cc keypress.c cc killbuf.c cc oapple.c cc capple.c cc joyx.c cc joyy.c lb e.lib -v keypress killbuf oapple capple joyx joyy lock e.lib clear lb e.lib -t echo echo E.LIB is created. echo makeelibarc makeelib makeelibarc keypress.c killbuf.c oapple.c capple.c joyx.c joyy.c keypress.c /****************************************************/ /* */ /* KEYPRESS Copyright (C) 1990 by Phade Software */ /* */ /****************************************************/ int keypress () { #asm ROa EQU $08 ldy #$0 sty ROa+1 lda $C000 clc cmp #$80 bcs keytrue ldy #$0 jmp keyend keytrue ldy #$1 keyend sty ROa #endasm; } killbuf.c /***************************************************/ /* */ /* KILLBUF Copyright (C) 1990 by Phade Software */ /* */ /***************************************************/ killbuf () { #asm lda #$0 sta $C010 #endasm; } oapple.c /**************************************************/ /* */ /* OAPPLE Copyright (C) 1990 by Phade Software */ /* */ /**************************************************/ int oapple () { #asm ROc EQU $08 lda $C061 clc cmp #$80 bcs opentrue ldy #$0 sty ROc jmp openend opentrue ldy #$1 sty ROc openend ldy #$0 sty ROc+1 #endasm; } capple.c /**************************************************/ /* */ /* CAPPEL Copyright (C) 1990 by Phade Software */ /* */ /**************************************************/ int capple () { #asm ROb EQU $08 lda $C062 clc cmp #$80 bcs closetrue ldy #$0 sty ROb jmp closeend closetrue ldy #$1 sty ROb closeend ldy #$0 sty ROb+1 #endasm; } joyx.c /************************************************/ /* */ /* JOYX Copyright (C) 1990 by Phade Software */ /* */ /************************************************/ int joyx () { #asm ROd EQU $08 ldx #$00 jsr $FB1E sty ROd ldy #$00 sty ROd+1 #endasm; } joyy.c /************************************************/ /* */ /* JOYY Copyright (C) 1990 by Phade Software */ /* */ /************************************************/ int joyy () { #asm ROe EQU $08 ldx #$01 jsr $FB1E sty ROe ldy #$00 sty ROe+1 #endasm; }  GL!!7+& ARC/PHLIB.ARCZ makephlib clear echo Building PH.LIB ... echo cc chilp.c cc chrpos.c cc click.c cc getchar.c cc getdir.c cc peek.c cc poke.c cc qprintf.c cc scr.c cc strtok.c cc strtolow.c cc strtoup.c cc waitkey.c clear lb ph.lib -v chilp chrpos click getchar getdir peek poke qprintf scr strtok strtolow strtoup waitkey lock ph.lib clear lb ph.lib -t echo echo PH.LIB is created. echo makephlibarc makephlib makephlibarc chilp.c chrpos.c click.c getchar.c getdir.c peek.c poke.c qprintf.c scr.c strtok.c strtolow.c strtoup.c waitkey.c chilp.c /*************************************************/ /* */ /* CHILP Copyright (C) 1990 by Phade Software */ /* */ /*************************************************/ chilp() { #asm instxt _duett_ ldx #$50 stx R0 ldy #$69 j3 tya tax j1 dex bne j1 bit $c030 eor R0 tax j2 dex bne j2 bit $c030 dey bne j3 rts #endasm; } chrpos.c /**************************************************/ /* */ /* CHRPOS Copyright (C) 1990 by Phade Software */ /* */ /**************************************************/ int chrpos (str,ch) char *str; char ch; { int i; for (i=0; i 127) { flags[0] = 1; f = f - 128; } else flags[0] = 0; if (f > 63) { flags[1] = 1; f = f - 64; } else flags[1] = 0; if (f > 31) { flags[2] = 1; f = f - 32; } else flags[2] = 0; if (f > 15) f = f - 16; if (f > 7) f = f - 8; if (f > 3) f = f - 4; if (f > 1) { flags[3] = 1; f = f - 2; } else flags[3] = 0; if (f > 0) flags[4] = 1; else flags[4] = 0; } struct dir_file *set_file (count, fd) int count; int fd; { char *malloc (); struct dir_buf *buf = (struct dir_buf *)malloc (sizeof (struct dir_buf)); struct dir_file *entry=(struct dir_file *)malloc(sizeof(struct dir_file)); char header[5]; int nbytes; entry->next = (void *)0; while (1) { nbytes = read (fd, buf, 39); if (nbytes < 39) { close (fd); free (buf); free (header); return (entry); } if (++count == 13) { read (fd, header, 5); count = 0; } while (buf->length > 15) buf->length = buf->length - 16; if (buf->type == 0) { close (fd); free (buf); free (header); return (entry); } if (buf->length != 0) { entry->type = buf->type; entry->name = malloc (buf->length); strncpy (entry->name, buf->name, buf->length); *(entry->name+buf->length) = '\0'; entry->size = (long)buf->h_size * (long)256 + (long)buf->l_size; entry->loadadr = (long)buf->h_adr * (long)256 + (long)buf->l_adr; get_flags (entry->flags, buf->flags); free (buf); free (header); entry->next = set_file (count, fd); } } } struct dir_file *get_dir (path) char *path; { struct dir_info *di = (struct dir_info *)malloc (sizeof (struct dir_info)); struct dir_file *entry=(struct dir_file *)malloc(sizeof(struct dir_file)); char header[43]; int fd; int nbytes; if (getfinfo (path, di) == -1) { free (di); free (header); entry->next = (void *)0; return (entry); } if (di->file_type != 15) { free (di); free (header); entry->next = (void *)0; return (entry)eP<#<>]Kf A ٥zlm+E_/Ɏ!=+'."*Bk$C7"*ErR*n8V$ ,tѻ(QTf@NIR`TBkЗ]s4EkEF]mS5OBzT# Gހ0(>@K͓] ` \ƥ7 T2MG-vzE+/ZY0]/sY7UwV שG+EQ~*TV%&sI8eU^ͦO& c[umyBW|WUЭMiu;MuZ- bR先&KV,Jnz1B;pݹjoj |)'<+fmNȘo?Gq q` vX]!dpw-:bGAr qY"0+^IS$EdE6]}dOfEC)Ng9bU4`QY&,zWTf bU6f5)]o5KlZ QH&Bf+li15b?:)3t9RB<*.ӓ?u5I;[VB#_^a`| KkhW[mڹ5L6UE֐6>??mf"i?lOkf= UQoH(bA@Vr`OdD9qedF[|XdGfH 2QeHUV-|2)D J)C-"`ZA$L4CT3{I2dS XfF. h=PA4>dHnvyу=!]tܹ@$D>̆OtF?%Pl5UQAOfZ ̓nu$q]VR\u%[Vӡ2Zq1metQ2MRe]Ȗu`wi]A[7rvyVUzw}-;ּ@nt1u:EnLZ. )VPVa40YXPWkT~XnMY]c&NqWpbY`u1W7ejz<="ciUtF,X-Ҹ~8<<)ebUvyk^YO[_YO"Ĺ`|hWe|M^YPXeFteAc_]}٠v~|nhOlP֟Q^exQ&n>-RFЕz'|fϥ^}kBk^--|&؉ZT^ĩP8ҙOyT×#8)QMR_܍<Ti4X3227J ,BVQvJYhe}c!1Zu-@lIGD`9C(h>kՁViRBu\lJ7mɮ7(RHE= MFe*0hH.@E[JvCK-#It%U5S0)KT&jÿ#ROS{F,dInD, 7 \SR2HQju{jH:%rP2&hSq쇁ZA`.k&['ُ\:b-|.;WyF.XqwP'RV my3UpV715T2$>AQ@j!;Ժ)iD"Rxf:H hjc1_C}l3vf  mITM*( U` 3Wm[Rk[v8pWnvY(b]V9pP lcfmӕ3^RK3fdO fReUТ:D<`]rȟC%1G ydfː`lC ŹJ[TF$[K,?f^  (3ҋFXF7P4TdK9xmCJ5lnT,AwPë4MR;/u:=sB[[)UQQ[{hS `աy,U[*-noS=]V1Eμ]I,߼9M ljt4WaF#V  ]HKqZ5^f tF}43+a;]?n@GT]WVF\p9\8Bq/1pRBHM#heҳBe&8*-KX=q]`Y?+늊:sFj$n; +z54c /XN%vxj,VMld(N;W#;a6imkL2 .#t e4.r.z`)滩dR&z7hBXG^yO T Rn" ˦nvcD#"07b 9R庠vA^l2L`RYs'K:Qߓ)a2Qf: UQYNUUUYn*UXg(6\p;W]z5 veYԱ:nՖcN,c1C sh5{4MsVͦ)ޮ.UZYlLWfm7-[eժ䩻ey'XlՒR oᝓS9Ս9@nZy?O|%nK.C !`NI Bn2To #A>QTnvn`?f4kȊ7 Cȉ/3 SnȗO c챌t5dfNf-6R34\Ph5 }3>Xs:Dhs,&OVafR˝"UTmt]B[FȧT}UI)m5ٲJKUW^BUheEk[MB0[i]- w}jǑeXp}%׆n F_]xFɫ.A7{_)p%^ an(/ntin*XUDֳk{PeT5^VQ"۔hlXhoڋY:1P16Y殮gU>0$[lSkʩo*ᘵXmJ-ܽ`n օ{dyQϖh1|Ycq%?}a.o&7!lv>VDqw#fW3lx]uxφ^VaUff?zSt-?VTGN}~Nߴbstλ~PP OT| i`ETD*) [-P;\"h&YczKRBO9Te:(:޾JiM/\2"H. VlQ73stU.Q>g۬-iCHU[E/Qs&Q& )-l"դ75gi閬!*ߴ 9!Y" *[W2edKmrDPhK[2&L T\!$S Lp4"k8X7pg7l"( Ţv:4s P!_i*i'}Z@I;2EZC3Qf І.^ ,L7mm[c6|qbE4:(Ή] ÊX#:ln]D NY;wwxDXƏa2%0;v@6vW ]ǼdVjX/cmCfТyR>w2C@YfYKʡí 2KVmS5Rɻvc=;'l92^YWD0k| u.afM/g-C\yTeztfmc^QCNJݥKմUQ,7ezih/cfʭV*oXn15ofUY* h:mhZs8Ut jVԑ7 OEqzEn6]c 1#oe^Y%LR54-,e,33]r8ts4}Kq^c%"UƗIA!T; ܣaT:WRIҫPH#RDej'*:x!US_BUA j;eROr,WREUnqgvF\fȋ;6aђ.a+VZډf\,mY ?3ECzR2UգYiw?:l?=_-f,U<Mn8Vuxn:ճ%nԊ-5E0ìA) T+eaf_8ceeϏP:  ^6]~rX&C84Ge e#[+;Ty%)*ZRftQrH݃r+Ne[z4ʄ2}d HJIp{="&Θc8v:OwTVj Lss.)cҧrHݢ8X2qOE~9G8]ByIx LvJQE-zZ vUs;n(ICY+%19!sVƽ7ԬTAD:w #& JH5ɸb\CQh]oյCwُGQy p:"T;@#4C)B0hQ"L&3f6t6eA糾4Վn5UA_݌. PT< $`ZSn (LގzdFp跜se(Aa6z*S03`4<ŏ@)zKHqvbf<{|s%eJQr$.dJa @uZ:䴖hP ;0 &.RSVUN>4 +Qѫo^ P5XX () 'Ⱥ_J{kDq)$fxqG<E(<|EӢjk"]=cg+unLv޻å| mM<`&sg( ux&X!)w1L3ґC^ғ܊;ѻ)X,Q\:&Tѹ)nMݬ+jsD]bY搃]cI9 857 -Cעun V]H(Xy{=vAc(44iK_Qx# 54MF) ZZ9立upTUSɆ9"#QF"냎nv±&m!B۱.NmSZ϶n(U1zHn^'.ȕ( {qo!w\_>z@R sKJt{2}]gt͞ u_/'_k}~W]x?75Wykyh%eR|f}7}\Jw*ef♕kH<ݥLH t&hˍ!ݪd\.AR(.TVT$(+ qsEZaupc2hM?PE-&5PES `%C,bPFV`14GZ8&hb X(HchB UD(kF߬BjdHFHqL;q2Lvpp;(iG$BddvZXK-QZ"%oL WI4A@zTFSTrcTdh6F=2!A\#fLf4ҳ',ϟ 7t S\0rL]7ۣ @3dF5GdF>~ڤ%7Kyq{g?3ejJM6uu.;V%xU;E-ǃPO[x 7fHnXrs٬)t\ [z7/Ǹfxݮ ͵YPFn`'ckswbQfxC̈́])mq3]5;8]Bt;3V/K/ȝwF.i<#&bH䬼vRefÕ(^.8nZH1A<f^]VN:i['#Q1Fd]SNSTQ!RH%]KnduVZᎺ%W` X` 3Wonq 0mU0no q-\p1\m]eL;W]yźZluA íw9 X`af~8bX!x/9y5.Q&dE6}X+`2;XpB Bt(#jqArm;w-_D)3&L7]S!e*(AEZ4)S>Ju:UTRz׻Pߊɵ+Y]KmQf5 ]wׅwnc +w]ԏP!-f1#%Od$-Uԝ$e1+lWN%w1kWI8rL)ҥxdPDY*zӻ`}z*[nj{O о UY8]vjeMMjfq9VW]!iwle=3:hsy59W~ :(챱fMy۸ZEBNVZ^e6;]QVGxrs>_}S}LcIR,,R򗼟\ 0޹oȻ>|2瘭jȑ$OAv B",3qmiC)SI=Z2Ca 3Ff%s4Ƃn4KCH ҹQFdHD"rf)燀 N~ ,eU h 2Cm4GtIRJ%K54O9uSvX] LpCFdH'Z۬`*\@G n`Z=@8ШV p[| FffoneӢ{xS.|iBie<+]60C% S\Ffα4$CF Bl6#q 1Dft=l\8dR# J(3u *f뾞\pMdN3K*SOה\ .!DozoJӻؼ)̓JOyo)FN%L;ed̗fеT$!+YV w^ Gv)V)YSoƀnVE #1Zm}Ek+Nk%- ]4&env]+NfLtC_S2UTk1g~9f8oLhn!ZdU'Gc2M蓼n˜u ǓkBjl}PEI&%\E9k{PC幍soEeq坐eGpsU6-^Qfܬ\ zu, *dDRͻ]1.Tq`àp 3\9+Y3 ;z K07vm ܬKbTT{9z`VP]`.] :lZDHȔZ1.[fu-ܵ*UW !޳jjU_1,1Ө^uV.^|S[=vvjx*{Z5ܳYv3ҠOzʘqZa 6{ifu*h-sUĕ" K/ZRœ J2$xHP"(0 ? 0Bn # /&[ӛ.*L{CVa8Iq]4)HsKq k/ҼY+ ZXD-|q5蓬J@MT. 2J.qIRbEFr03lp;\R;-^JjJb=L1 S HMA7Sr-HrJY5$ؓ%TWQs*`"6X , 7+Uƒ&m ,mCRJJmRaJUew=}TJ,^R&[c]eRњ!Q^fXB_f捴{пJM&i^*k1{ksǏ=zw^ՇU) o:pM]\ͮf݂贺Zs1Ss_tT$Za7xrwָ֠xe ].Rsfύ({(Q>weRf nn mF-#[I7VKG;Ёy I'AA%c@]o+8@=!bQ?~Ta Ԕ]5p~LY2@DI쭅 _?hcfT0ŐK^/ HX TZE0^Kܭc\lrB z< TZ8@fpcz7CHA|%H,-2 IeRAdH⫞p?Bt )M2%dGB!*%2ɒpWF&6bh@3Ư{aLʺ~'ŃG>R3crSa6Щ kB%u uﻼIpUn (|hC7u:P(2u/奆PeUv gq󵻗~| h*ݿ6j+ KZW3uVKE"%NM8ǫQofZu[#Ftj!Hޫ͞P}Pt;O>Q.R&)klȰzn, V4/n@/:$I0 B>be+E']d#4#dqVl3x,>nb ^-Z$&uZ9-NI o&(Bsh / K:'3!bnKKVʹAJI (jKf)p21$UR܁v0 4%Nޗ3vBj7~YR3 mNL:; J^&s9[t1![2_ ,;nJJ[d^VebOlϤiKu>]N5sB4VoFKlRk; e;τZ& TIȸZ?Ue/:-O1RRe 7Rzi}uh4n{HbYE%e$<2du,h[ Uz-0n!¯S4)<|^GL{ti*xyzAgхN^f@(1 QǼ ~^GLjY6I4b dP9zG($Af$@ѡnOH KSƿ,uVqe4,CH xEVVt߬+%#F6d~U"t/ZHAL BT˂@k ۋ4K!RURRy @fT'{xcX4B?)+r[ dnHlI(4)s9_#Ϲم̴씵 'Hb03r`ăP5+2O1hG$p*$,KY "ńTY2j@#M{H2ZJ4RyXRj9T:JQ~R rL*v=X]TaPCn-bxE 3ɟ8r$M/]m`ԃsO@i P̨ׄnIٚ2eS<ǨȲz{K]1 Vg%ǑT;^g̦;v'KȣMs( a Y`-4k;U}NڗP8Jkxi҄sE_[tL^[6;ֵ.ը[~ .\R*U`W>N\m%v/aJ{WFՃpZo|pv&TE;-s 7>ږ Y07?IJ_rh;T]= tYF^sbdTudISNmgUBwVJiTw:50kBP9cW_oU^ͫ1a,v9n; hTi6,nd_R0hTy/HP}h]wRUB:GS}y}wyvdiؓfԱJZ %w%ʕsaNmv/!Q'?(vVE`ONy𶠭UqS@Ki>"exmni9#|R9ixTm&ثQԶf2m-~R;[TPOWq!t%;X waGv#E+I65c?Wy6 kIQZM 'BKʫ_q;b%8B:P&e#mf%+\p%kVBep-r2d 1 %Ǐy eݻleNIH FCҡ B~5Ɋ3aέ 2'hH v>DFPG@DƳ!}#V9Jw8YE۶0CK[7ѭF.*Uu ]p=+J/Hr2~uffX1M*nib[U+c&pf<&|wȇ놩M[}m}x;뫄m}ፗwo֕Ȩ<:uȖ8Y7N/E o!W;c7 q=!3g ewQP?w)\OB.TLfr_4咲N`@]8=a3Ғ`[11GU"}MBU1T?,UtPBSSesSrZ@ 6 i|tn|0FfFfAM-\U%IqYUV[%i8BPuZw oWnv*\_\q.8oZUKa6>Kg; ݣӎ>.ΔhG-hw h./QS] 9&o]5C])+!rfvaoNJsUVQ,AfO長t#xFd v$jnqv~4^ru 2A(A_6Ee|IAm,¯H7cL{Oա8zI]j(/ W8Hnဝ0`~huc}FLEhK ; ,*;#HIJ?|[mRnp1B|CQr#l\wQV()Y$dvCXyyD:LH*҃ ]0i;Qc;CWƗ5E &|o6f4c8:&!!6:æ^ UݢV(˟t{cL6 $/7{`FB^-iK'= q[7[j]FƢޖҽtwڶS]Uj9?r]v1kq"CdGpNwycnvG/e| @kt5sM,h[\o~)cU+Vӗ5eT u]ʩ)Κv(}#8n~cSY]bPvFj}L,TLK[Uմkiryd,;O,NyUSaUR MhMfjZ:f5~hSt>r^.H)o6]U#qHIUqfO^8*ۀh5*0fh 7R5-nX(Imns1Oȸ n84voGW0[)db\9urGgVTLŋvh< GYũSb'.y7! C*PV"EkD(319Bva6`FV!G:quK?v.~ A3s3Y;2dF$#3IVd#-HNJ|";O2%&MՃUt%*gJ[Ә8FZ943V$1 e2d XNRH ]Tel6f1[2^2Sm v#*d"Bh݋5N82I+UdD3%©G,IDN/žM?DaQSn*ҩV4lT4uY|6XiW^|%[op0^ppvǰs+23 %3yr<1Go^ Ӣۢ]4geȭ-[l=2 <݌eǺڠxu{gw]x{~p:ҋed=woߗ/.;@K;+cAN( ?T= #BAtP?0ԡG<0E+4SBIQH]T=}4r yF o)YvVDP!3%%ƈ̥ h` B8HQ ԇ$WQF+_t8RL#mp3-x&Q/{4%eG'K?XB*“įIY<&=j6Uw[E tm.=soM)7.32\b+KVf Zy.9?qUfaN|5g[`]6oC̦Mxjֺ\Z>Yrmy.wmUݨq(Nsvf㋤o1j1 3pOA?*, -0CC X+`mv-cle$*F^e)·/f܋#Wf%"F3EL%wR#G$I3 ,ҿ%@b,jqYO2A^5NJMK.b?M`Qd[ ˘ q*ce 20bbG2̈H[i:Ѷ ˏ@I^Ǥ~Qbo=fF@1c6Ҷux8gEJ]|cju[D+|짔 @<*#<<$Еv!p4+J%ޢڹ,i<ϢN7>j,,t,%,kL] L+!)R#.B5zPé$(0 /(tj+v9>+y 8E³:`,Ƀ4 ± +ZDjӗPf" ѫ,)"@$h1@t=-3nXUî] p& m5-ABR]|ek͋Jvb,TQ)cftMdl!WjGp3V12 B!h\%҆?37$TZ˧ xK٢MW1QlƃG%*- ]VwqXechã*__n#9'wAB 5d4_/#e,`gv\:ТI6yȴQx415~+_N,kr鉭Z,[BD5M|p ^i7UH+cpjWsvs]`2gks = ce_&lzW.mr៩{.LJKמ25[pqVׂ "dδC7Zrc!VUraFf)~4bF7w!dΉ]?7d0'%/B]tܺn5,2 fUSi$F@z CЅbt%iՐMhЭ5vmbxY]UwݨRkY3Ck:mțRJs:]VQ/_nZ@-V}05֖#K5c{}v/C ?馕ϜxTZ,Rk#p 2"=2O5 K+zڴ#h'夭k՞7KDR(ˑrԮ 47Pl/]‚C8"@Nj@c O5yץ\E&ÿlG:)<4/] ZnzثraI)>Y1Bpzm˫[p^|U4]w\eo\򝥝(jI%J2sn,s<2An0g* H1c#H[1{nY:%^.ZuK\k;+WYk'pU^ȔV[ȃRV\%va^zF0 _e:b>Tf&@f4n9*PtQen2ŏ! |ޖ'~^ 2'|;qo)[ApP%L_w3 ڳp3n^cȿqT fp)Hۼ UݢRv8y#j$1n6?ɬI n"h"Enp -7]'A+DdR.Qz`Ś:,~1 ܮt 1|:F-!C>JPlѾ1"^ TvCG[vQɡ{g[< s?I6`eDӱe3, nX2fQK1%i74dk?9pA. 4 '+h 4es%e#';-lFAZqI`Q$5xk$HB8xk:ƚ?Q]mQdFB4.Q#VD[03PeAD1P$j+xH4 z VET ^xАL^U+gXeqWnAj`AmrXb{eHe,b̀Æl"Vĸ el*=9jnVZ^xMмKȡX+)m-ѦH,Dfrlln/&K6%fl[Ruҍ [dp"⁚BP.YL',t7f<^XOϩД ZDD(y`73XkeT2E;C}"D6D#`X^;vQn?6H櫮2@F2 O " >p>jzR'mza,뤶|&V UQe+'YenԙI !fI;Hי;2"M8D[`Mݘk!xYU:2ڪeԐFL;9]|ŀPff Fjb3K 3.¸ћQŋe8<"8HhF-)nj~rm47et+2UDeWa6\ (z⠭8mITe] HIL-]f+ނlS(l(CUMI;8aő5!#e{;(aF ven6X!E!"+lE[rXfn&npND$^VJFm")% sUɾ5g"1k89f;,l4fb[j&bYtf\&o\=x,:rf&. ._APDZfkHՊ.v-g7]* Br2Jwf$\;.eo\gK\m3?`oxk״{"E#u8O?, Ԁ/,OՅIq˓ <P~P :i%sı~>e)JOZPgfYH@E^ԋ*1CQ+np&d +W{3"i*+j`oXHtFs'Az"Ѣ>D?u"kpj!SPAq`4,(ŋ =#Ύ1\;+KҀd+a!b%ͭpV yOs׆QlTtyy pS>S{Yn4mo wE6'hjMa@jə]^q }br{aR^JnBwmBO0d \V<q.MMzeMK!2_Jf(`uk69>B(lfee/,V%n Ip:Z!JnUSpl c^blW^vm@W˽ :c,`ᶆ,2P^&PmnTjeP Af>vc&r`Af 2HW^.HN7vJUe4yrV[M8ĚiJnzuR6^.9Ulϼu2VXl9?B=\Yg*ȱ]1Et=*)KUr MRw 4r/w-kK#FnQnU־ 1+j * D^,>;73al֎in:Ge@č]{{k*;kn>{nTع{O5x) ?S) pakeIwo(#^]T@aEz޼gK'*K}j!7qqtr iUb<ٌ/&k6"%H !`G@fdj=#@%s1< 383gÈnO$5 㭟A #"|!,r?Wi{BJwWFbI"<|X"WeS+2#ǧd4Od#dT!V 4sbq m =XQ1rN8Pu4&K̝l\X(7aThS XH>|* T(zrTn- )B3"2=h/^fOnͪɥFD qsUL!4Bf;5aa0[U!Nrts6kAH c(2+$`j[_ xRzSڮI+Y늼+S3:\2JCr2.OC 2y5MvRn{C響xS.6CNwU*crDe$Ƭϔ[3?τWVPi־D+ +m2iWĐ:K8К%0D 5JЯ^Y #ˠp8YSy2 *QD_tL5VکƢ>}L>D-٫FL 3vE?ѳ  BSz*ҝB_)E#~OZ_| QTf1Ll^ԁJ`s= vY^m[C2mU@.m^`nɊH&Tձ aLI+lUL5 ErTPI#~eNjZt`Afbs\f/Dn|s6]hEZA"2[ {!/L2f#|9)hEzF12cf售 oHfMmumx}@IUGVmeD:uzDɊj6QG%֯WLj$|/X(3U>rEO*_eV"kd,hw1z݀HDHoQ%]i#aGw(TE?vhVӦ^21YixEmTE~݁eU69GF4u9pPD]T /f̶wH ,U5UU}T ]??䖁vf*.W#evFvվݘfuXopxAH[ B6U[mW;~g `kUUw*#_]4mBev"uKٞpV_ /vST#u5|c\fE<lS\rkT͒kAg@Gm|\2mfiYl5K[|ogO E?/H&J8S[ЄMˏ;VK+Y,USŏk|B 6 ;P7fѷXDN| et#rQX998N[%wVeJ[/lژ2Re L2-Yr朻#rYϠ*KƎyaLnיT]  ƲMRWJ<㡚AJ&M(;hjX2ƽ^}T}5R=Jbh\ X ⨐Fڻm9(Gw 衇.Hֳ;Gb!bZt` +͓N;nTbUl6vKŸ":cl!3gw5cm$,O;f6|dИ$H$Mtm*榒n,WtDx3]'"-9Z& Yᘙ3w{=u$[wȁѨ]?^¦pRwo-հ Mۆנٹ8/܆F:JU bh:uf3b+[;Uur]'0t*цV? ngTQ&ewXaVT8TJ^gaf]NCNӨ?tkPkXiBmF6I1dF9 ipM=LELltD)T&M vAnuS\w "WqVٵ+Jqjqk %>:6p_}xZKU`u{$֔ twY;]Vj>z2rgwki@re…9]Vi&@T_V9ʂ`R?RS;jUV18,շM]pj Dn"v.^lgRΙ$XHRT>,H(t̺<,hvZjkmKo54/80 :rP5Z@ǔvBѳR;(`nZ.ka?tMVQӶG5#tLk@Xv-(z1W4TeBSռq(f|]Zf6*bY*.d?9vo#vLUTfUx֣EἾRIfg_X.V\AXQK1KTɔPx,T a j24|an(C\JθhAR1$E* I`$cTt)q(LC$w>IS3F1ٲX#Z7rۣ(4di~Fdmz*AJ0, #HdQRrIwHR'!9#PRc] ie\_tR(%sWRA:FA5.3Q܀-w6Y&3gF3&68p]( 74L֝?y:I%wVLKЬUa4@wAܵp`!B&%fpX]_3XjF7tɪ`@q;hG!2p3^L:T|8slMpPƨE׈N`w9SN`TL%}G ,F^]}M[*RjN,eʀ&Sj7.c+vQ~ZqSRQN~iM_kTǢM 7TQvJt wHn V2j;t&ڨx&?DPÙ:p׆(8FY"s43̷n  vgY^qY3whUxJ# ࿇nm tVq*UV;5lbYe1Qʃ­;~kKרk¶2u"pS iwZva)mpsI%0ƚ;o:>xЗsV;6` ȋ.Uvjvu!-V9_jґj[qGQue ioj{re(cvmX>6{xBhwvm3ʠeQf?nV)+aff)eF`sI&?#=`vQ@&FE=؏*<`sV;utVQG^y>fə `K.>:ti& !=bA$tf'[J^ʻH_|Ie &MK28v\sVqgg$RU"DVéto8}EspXw5s(KON' 5SEwqsuYmKD.#b@W^I<5Wܧve?vT~7pRwwDn}0]{ydvƒ&+Q"m`'^"Qh%N\?UU6\]&* Z׌%;ؒg,#RA%umuTD`^8XsI{ް-W?]~atbmY`Q< ^[Eya^mCg*cδ8xHExk08fRUL ;X܄+xd|ձ%-鲋>m1S07]0#8'9z)$C K:(΢02/vL"N>_jJhG_8!󗫤KS;e;'ҨkaW5HK9 `cɴ9*?Yk\3$X%R!5ZȮp8XiS~^5h*E)BKיu5+ڹ,^kӮ,4wҔݱNhկ'i k;u&MlߝҐڋ+\O=_*9 vB79v=.//K0=\й6$(sJdKzK@5SS{݂94-'eT0?c5,,< LYo<3G+,,Ԃ$m@3d,2s4w2*䄓K=%DksQ,FVMM9[R#rsDBq?<}4ş@m}ͣXb2/'{V))B=DJ?|1b|NYUcėQU8f; Ew栮a Wxw{f0x`( a `#xbf*war 5`6flmAIvGȰ(FK" HwИ 2p2%/f?]TpfM?q-%RJdzfPna2,+TYmfWbVv]ow wY菼b'9?|$kW] UKІy5@rnW*v|RonXmY\n wu\XxklY;蜆n8Up.2l]Ӏ⤞U/wuyuL<}a;^|uvqsݺ]\1>~0S:.Ȃ蔦(?NՋp=Yee:n-B+dί݈ocTqN63p[X8"*ކ%w_!;2,nwqv9fBh)h}ȐsiGEaօ)w]vm̅FtulDjnt[X3r%/+ְ#v ǥq]N9=হ_N&jmef,̯Y\Y)v`EgN;š@WkTI.&#.I݁Ns"ЖXs8cC4%IGc$n0P1w mUr.lܘ|bk*1ܖ-"gA!UؓG7կc\Dmbe0*X 1I 3 \pUvJd `h7Va%Gl}O{Ee\@vGBƟFgQQ 3<ȇK8(5rh.Mb+pBVʂei䇮v cFDuGC{\QL;4I@2qp4=gs> mS<94UOP/|D FF":X+HFu#&F+p1p:T`Vt39ԊV*G(/ ]7pvg|q2Ӌ{pvy9G^~E3YNf()c#TSJP+Wayu+# XHF&?esq7s<&uޑ8R8j3>Js$r"B)SӺ$+Behj UBuSr,?TJ@iأ5(wr)uSPXJ"PYeLwF?^ rԤ(qdp V /.[;tqȁ/vdž+6f 8"Nu~U\vO˪  $Cvoҿ׮ڹ>"X&=(Ua!?.OZ6*q_=rg}svGyyܗӻk– f:&bԨ"`2.c,/@{oڞ,O0 iқ41 :lCDt"֨ 2vTsl#vG\{+1f'Y3LZ5,Dê 0 _ko99@*(!g0ApC{JjlG NwZfrjܾ#wðcj jӥ[գ bXa biV>`jyKKۅvnaLA倁+ m@BlvWy7^md+]\yIK #xWQfat b%` Ah `^f. v7#P+ Tfh>we흆segw~:)٨h՝hf&Q<ܷ#R ޷ޅmZ%ʥUtQe6TeUfq%>zvzIWa Wen'ݮ.otĿrU>zycB$U4#k|i72co7T~pE/ pC8 q0=mtc^5cXF@n `FdP@ |8:vv.\1E0~#*"5Mo ]: 0"Gfn}`kDZӁ;hB PZṎ1m7;N׋`+5cYP aټEFhD@ [P&_UVn3_V owp5`@CBy,V\ ovϏ8W\V\;GHvc}ы Ânt {!`_F[/ nlrS|vx Whm2G 7nt[0^/o$Lvh8G;ZquR;&PX;>Om]De}#bUX)CB8i]v3A f,SˋKNɳ5DGcTgDuܛf|n<#Ʉ`mvM AULJ9z!.|_orԠ#6t播}y¯)҅ 1vDi&o ?.X$:ڽ/Þ9ZffXuوmL5Y7fTu^wLi;gėDeדi+N]9,nfhfg϶Sa/]O-ns(mݐm-ҥ+VniIig>Q$n|*zRԺթ nVJ;V:寎?rmհW%*8wj#ezaճq&xm0' s_puNsYE1?銌=mDbk鼇 Bn& )=*O՘mNAvT]ʳ{ހL8">:gss|)lPv([)gP\_Se] ZݲnfnXEV桵vqez&e9?(ee5&c%OpǬrk(hTe0]Yev1=xA!(]3T$*$2#]IifVHyYnB&fHZg!9t)sh~ Y&0$]KDJSF:%r8'j<{LI+vX3V*Qo^a{x^.&V&:CR䇌u&oR::ZqG;dtmL):]$ѣ]JsU#FJ6u|%;)eof!V"R*tvD@*Z wpw Ud#::X<(K. K?Lܷo1ioޯKhwƈM?h~ANnݢv x2ޡMܘ-wݷ:WZ|}0HTkRQ,!AR WHs݇XA:,g4 iHaD !͢hFsd,Z`u„q hy'!Y6"T hEprJG6 Dv0336.)6~XGq@)X5yMbtP7޳lD3Zi (!L m,t<xYcɅX/hm0I%*_yubrۥ2CyShR< ,e3f( TFJ5 {)GJ7Jf<3& 3 $Ԫ/3,1JP,%af:E8w9L n`:|&2[]pg\ NмPɪRVZW>b]}AHtV^#9Ώ3\cCWip}wJIgxcwhͲ3&za4с8GgUJЉ6lkQgc툺U('8(55rv˦C.I)ÃEC5jӾ<8{戭OfLuoa"/uV[7Uh&C yu YQ 0=]hw6{ƊEjȷN($a"IszEZF(c\J[` p$d,3@@/T_3r1v8JD &B@+윲/w2UKG!FG_NG{$>"ч<ޏ%{"@;:6[>ϼ le@!$yնj 8u~YvmvbCVZc7ni-v~|rkU6ZsKfکB!LEdrS$I(}jט'UUg^\0(FQ",ԼR\'S[evS~tV qV"DTq.kJwwfV`ng ӊcr_tUU텾eufVn";97Ksf*<+ۘR3} >.bKU@XQY nsG_vfiE:niμ⡢n(c ( *1X1nVQeW(, @Q(edbfUj)dJJ+( fcޭݼYRLb +(ӳ Nf\%WkL.U<9U5.gw2tn3WݖmBEBm>SsY<^JˆZ!va??QvTqe]Q4oxq'$fB!vvTqϩuv]p䖌v9;]ptu|a%Feg]L\VH;ՌƯq;oTd↖#%'%!'; )erc>;frf旷vtqC7tT9ux!fz:t]"v!o^]XYϲGT!K-Ʌf?>$vcH?vqYRM=]WEbU&Vfzq0Fe=wp4cb^8PfUs]9G+YnO]a&?vm7-Wfmepg]fvIU|U}["jP5kel𜫖Ev[)l {>Oep>8b SX-Z GuNYyrt9J^RO^D]vTET cfx䎤4ᤤa;OB~X"UӘy0^xYn\c@QF'oaqg\qOV!!{X>_]u>fAnq #asmɊu蠩2\VT?]'ur~pE#@qcy7D!@|Sg)OQMo¡RDDcJYM] GVB0 u2-|ApAQE8C:Z$2&$aF3Z>p3O/EoBjH;vN"F9_A~0r`'cGT1kf>3Q\w`I8M{6y!Qy|3>8Š83&m Ї歎Uݽ)AlG/(;YKO39I^ -9_AԠI񨱼><'EP:_|(;D˯Up zsBq`Sh#xn|〠I^L{*=NbSNy{ۂ'Ћ^93V!*?xn_*z aU'yrү S2?9uuD}lԏ&15W5w#r4 )~O|H btF ](9\|Ƚj{QT} wKొ|l: Q3jÿA֛ib&X2+N"2K`@L ý6m~0 䟓e{fьQp  |ax5.STxuEDOyJ.)C`x[^!gx kQ!79^H\NX/ oWb Y5iChyXth%<b8$($=[I*Qn[zOutN SariR3Fu>?ˍey@ܣWyiTWx7EkӴy}]:W';bDE^)+/"I+xY;i#dɑ|vF2eak"\:aÛ<ׁ#g$XP3K JQ*zB 1;JG3'/rβ ²E(7o +9*n1 $;uݰuXą@b&2!˝s?"č˗@`p^`&9vn:?0 vmc`Wuǟs\̺zyNרc.uU5cg6Q9?YgnQ=|!mIƢetQe;j涋zbfoqgfډ^Z']X;f^RfUhvۍ|!пҼViƨ/NBqca]| ݰtmur̪*k-_;e&buzIeviHj7279IU*5bIpH - xt{"-Y >Vw&0\6Wa+AV0#J֊ݽ%4],RdZe%ҎZ i5@]Pƹe/|iK_2que+B@/dZ/7gft ]עCX3sץ Ξو.7/nVǡ m̂*㖿quu;º5HZf15mRUt e+*b4xnW V8!/8n;8f.5ljTrS\:W!B*f9 nRCyVlWUD; 1]/}_[%! V^+@OOֵċ('$t;*Θ?w5ژ[Сd |poXGU+N-P&["2@3R>\88D0vTIi|մ B&ՎLS6zqgVsNu\QtlтwA9f$UXif ],hJzHcfKI뗴x).aT眯 0 3xtCZ?}3K{1G7FXq/MaT,CfZA=\BeiU3:[NvǒHi+V;GS+V,wZ:v\bK}aBciECSFv(ZY_k5w&#иHcE7h˥U9ErE n}PN@jfnQE_ei2|I!C=( Dۥyi0ev at5#sm9gOy8y }Z~ VΆA5DžMwiWQkڑ!|&L4#..( D.jUe|d& (J!$z۽HUZ{$[&#k j!9H3 wEEP)sʺȰF/Aô5e`@vaMv.R-g]Bn\ѐ~";5@f'Vf ?/qy3'tk륅8ܹxD[RWZt0Cט9 (P+8)$rG6_N^K8h;DF7$GFzHt‰ԟ#3Iýrk݅ UΪIRrB21Q$IO +^/^htT%$CcX;Y ,~*>ކr֥v|!rHmO!&]FKj: #u(;YzZWu%hXg@cTJPg:P' Cң@+ԕU*/uL[eMY*n*TǤkiPoz$FURW RM!@J^7I}RYB(|2BTI31@2U haAH#NdVb LnjA 2H1%(/2@I6wsLe' h0-p^aJPuUTutjɗ&堁`.ҼTHkWsm4H0]w0V-;HrW3˻ *0njgk ̡\% 8@Kf.+}fo\ػ wS[v>yg*|}^^G:hp^zcfr x ir@hK [ %vlA( r 2wq+9H,1% :B21GvUk1']2PI$,2$Kf:-#i $)S3% (J45T(C1$Sz -*Q( Kр97gzsR3w)SR`)K hݗVrefW3oV Ed;RvVfSh{ kSR @3q( u4MX+WVE!ÆLWnbtjO,?&bA7J2䖹 p.IqcTVüUюWaKV\dp=UTA,Ҁ fɁZ@#@UCëbjKYuqQLn7i2Z/]+Nf͐2e+9,D5+X;FI õGPCv/C-5 7h􁋗RNc%a+Z+bVN3*xCm  ˆvmtMY̪&vc6Qf9v[ӭT*U "T(P#D%iXrd+Az-#TQ1dp#Cb+#Cwfm`嶠iRgZИ/h$kWNV%Q hsm+^ a R<ɆF}LsNfϫWC-9wȩt@ y1;]W6ϚP52!;/K!lPZ7]miKCeHE]bQ>iJFsm1,97QOen(KZFU8T;Fq䀫]v32T*5a*W%aWn b V 1i;atUSen- eF)#(@73e'n V2 . j=F 0,^iU\I.9œ z:6 Fsi%lU>lfz(=kc=d{,uq𧀙9+M^C<5 *  VSg^\KV fx3'6R`7 o(ϧ ݎ{_F j^ 4R)P˼/ QXYT28;yK^4}0sZv@On!##d $-ˆv¡]x,L[ft HA Qh!FfR.clU/nlGf%Xr6 6K/e2[18A:%'ܭ%Ւ %fCVR%e7L72 lH k2kX@0V\zѻRuh32PXgT $N* triʇ ]WktyD UŠdV`W|prwK`uUf]y}-3P澸|.᮲l<ﯠ h]û pfbJJ)AxC-"eAtP̔#A   DLjCɬPDQKD/n2.K2B&K)Ü+TpZLh"*!L%bFU\R|;2K)Q&-՝qN-P% A3qŮiTڊ(]%!/%.rHmTQe+)xi4.ԫXd#J:T#H_Qtؚ\J]wr郺8DR(3` u4]7m1:k]WXluW\nWzswH|eŠ=7l`+aޣJ#fnbYUcLmhcU3ae;>a^_ NށMUny)7J 8I 6]ۼ :.ߵiX~kk{Y +n@إ& e&AOC]{f**OW`C]"CGi^n4Ӱ H?3MvUifޅ7SMIz]Vj齱2B.ޜQzfz߽݃7觌_ H2 MˆvA B04F[YdF!Ұ? XʊIw;pIw8-cy㉦m R$3 m\CQ#ǥ<Ù\fql@Rw`qS0AUZkM'kbjn5c9R dnuv;9:%*֭gYv1S%xj 8!U7dTq.Sjb vWq2P|#f} Y͐K))K-vf,㜊s:+eV Oef;Nhvxi ѩ ZF ̭ sv^ nbe2d^QUF2jj3熃f(b+- @bZqB*z:t.cJ]jyi@,M\XY.j/!f6 -_w>%)9LQ), *:x^ q[ H dXGѤ ~(rQ ]X~4pp:^}|[*,Wqщa48@U1 Bh6r'/ Y.u+0Q+L;ws!XV]R{vrsfӬzqޔ9u,0X~_tU?/,u3tZ0H 0=ųnqpJMj`l<_i%5p?[ k•#d/ Jp.h韛 :$$\% sfc /oˆU| `?wU|Qhgb%*ܭQR j2Ff,8q6ѬduJKի "$Y ,Lmn >19Ov\*ˬ^ sK ,]l4h)ՇE^TLMʄBtq]Z2HV=T SkmLͬvRWaV흹*\ @ zmH gFT fsJ#`m!j^ m@U @&e/]wG]K䢅W&ŦD,%Tt-$oǶ.Ъᥠܘc`*t-j!mmW hdgQ^pQeF;!"vdsئn2hɦ Vl]ygW䉷fZJ'fokZoޙkʪp g.ew%:p%cnqє<]p]^2=;eSsy^'V[:ޛrn\htܭLyuC\{U_F|VU;zȴծlĿ}^۴CBwZsGz/@W*l3IL3êqA}o TY2xutmFg*b(5^\li4UwrXt P0 Xܼ$DdABN7"eZ9@ n0Ӻj& 0"@1E3!d(H/@NH1ŀ"UIPΣ<WdJiɳ.C \ʐpd=s\\8];ntjA2V.*u`7fVjxcȶ!6s]7ѼvM4%L+^dP@IwAAi 3]Wt YN5rR!I(cZ-Z%]"W4>9"tׯGKs 4+r"<͒ՁO $Г_U8V^{9= ҇bKyp׫K}M36876[:k8qh6Ic&:utȬWdv/;]݉;W{W{ب ~Җ|MT @SHOt,;@򴲓mBp5 ǣ wz#1眺rΰqglf=1U qFU|a cƁSdw\f,#VK/Ȇ2/F#r2M052^ i]~rܔ=%!aGe@KCDt ;-H' BM-CmN -AT3@KUMVgUf`N ,5X+xW]wWB XF25,dK0] S @2h,P G-q%B+q|Wx%](D- hw-hVsGm-@2RBNE ^sy;^-=Ubroj^߿Y%4v88b*]xmc`VTvpB˪$XK!̽I"YbA8PPb%+>\H``a۝s% Z8 .L25Nj$pU)AoaUJ!<@$h~k 3y }:/X5xY ݟjܬ2-Y@{Ӻqw9 7)HoE.d, x lV.ywEkGEdl!}xʵjf |^xãό 旑rc 85LjJ<,ќ;()K dR'Zrq"X /jв! q*bFD'b Sh+* H08>vM4I6͡R3Zs?3 2t2-ʄ tH[jnQАPNsTS #!":͢t\URV]5ZMQ]yT=}j5RUUkZ٢qc*sցh NR$kسW^d]r^OZ$`n>hM]hX&b|-w$͵bΛx]:x)VclX9[ed.vꈮˆvmcv *d"Ұ.la7. X"F G**YF2σƹIsIO+Vq#t .jHӺ>(kvTI(Qn٤]ˮd0%B1({K"{*2j+M2`46 u n? ?Kn j݊F lf0F0+SE5URE\jP7] #@~%@G&Vi'Rˮ]&-ǥJbhTQ+M!^Z `C5!Ìey9G'ܡ-4u}*]F>xuAVn,HJ e$%)QJeMh6O%G*3ey%Tݚa7K;,\] µ6 |Ns7 %vc xMJ%qYc7Z=n n޵xfR*?? skݙ? !h -2C< E.< Bʐ'ebfo<ήmt*Vd*m8JI&e)`"C2n-ȳGϹJp SKM6$S:sK=͆K5»L Tϴ>},)N [)Q>mFr$JMI|OO T2!TS58V2J\uW"JV҃V49`Ut]Yfr6ǣb :NjFVp #3j فI'] Cp).^˙+]e]QҷTפBOҥyyj`* 0Bw K,| Xx)zy,a@b8elrXG+.d/oidykJYF zn zvָ{}L`f&X_f'ppl-mTI`a \=|Ti+!'oS@b}u]W?2VxYj )u[IӸJT#njwgPf6^[]mxZO/v7t6vM~#\Ө.1l⥭*@9 ԈD˲)`p@J4hed =ҙ-h W#6g:Jp?.t f#2 H"]OD*t!* qY8#!ońm"0칏PEQl^G9vB)s2(#^e#fNV\%$6 FtQ" Վ hƙH*'gӻ: *Vtrn0&36QB|(D(f*fLMHb"Y ao`8eru0F+9u$ TjJTf:o>t?#ZՎM-%u"\90N#+)WHBm; 4|W;kf/3#Vt^jgmcaͺne|YV1(ZwkQHlF!4 xff cR._\nd@$_Anjvtø.hxL\\$wv>FU|#caM\hyJSxPAicX=Y6RF 4MPS*_`6ҁjbB  r&+}UF^V)M.TyBvP2?Ri+|Wts~; kRZЄ=Vf& 8?W&"ojS ;{iiҍ[պ堊aFB f9 ;T()B9\Xx?QWtʡ9B!T-:Ng',l8BCCt+ P 픭p*J+faBfFщt';`!vusl0:p VD9[24E7(w‹:JjH!l3Aq'C1V]0;re=9lۣ V\1 vgJ܁s#kG.yG5p^W28&?d(3n1OAoI2zCt2nHwJ +:rTII@#w(YP0 P5v&):N_mk,@;D4 1c K)VS"@g; :MDbV+L.7am< fCfpD63g+XaڱQ 7)YZv,fu*N)$G–"I76c0܀of嚦vEhEFlOJUqw.zц^́v{IT2cp]7q-Ⲑ|NAQ/}[_oi ]׹MyFljP9H)Lͭӎ nc',i+aK3vմldTi,c3߯N(Տ;#6nCaqW8En q.soZ;.  riwį(eH"= `HUQ /i x`TÈ @  ˈ ~*  QEXFdFlc Fj8x<^dWX8I58W X99R DG"L zdP`@b= =rc=$UBA;KG'p!WzXȒp`g h=AH 9FȖoX Hh ~DX ;Y!PPI"B|(S0!h0 ۙ{HaBz0MG}4'(SB^Q!HN$xhDaNQ Avϕ{41%HE` ks}wq]v5/Eh`g 00R[8053ơ iC 7Fbhn1DdA!~ џqC8, z H G RFLO0_*ZT$BPE"RQF-j+Bt 4t!0ۭ@b"Rb*T8^H*1214j\!`"d*5"ˏ$a Eiݭ t` *(\Ep(OpP2 `Rp ʉ  D@h%hY "2LhJf6Yn28?4t)Y @QL8* wBBK44 D@Qg1Tj3 @)(%N":Erq#LW)B ϗ, R@j!t X8_V  B%sH˳YVw(:8!@bkd$-QRX϶-H[HRG- )#lc+[Er! 8P6Ո,fCJ`8 (8C$(ʼn6 G@p;u dp$` lkQ30"E5QX1f4)ThOw&WFEo]P @B<0:(ow:w9\ʥh@VcťF܉ ,Q5# @vhE58 }@4a܎`k0"`")P< ;ۈm(N'`DC|U[8D!\͸.`X Ce *=K* p0<62Գn!4!A!h0dl mC)hdb(\ L$ôTjfjưA#]57XTlG8VVp hEh)BkZ6sCvh;} vh@D5[E ׳ae":aRXD.f x( mQ'ˡme3@.TfL}KD'J8"ʃտi'ʡذyӾL[@: ̪v Cҡvi?{apo} ]* }g# qw]^c 804ˡeP:EA{LXCB(`fn4/DxAT^׹NNUxr,ȗGľ4W=X׍XOl<8[Opƽ'(r5t""l>ob񋜈?Vu;X z^[^ý^xE'T{UF|y@Ƒ^0նSoXhp;瘺iAE<7?;ȑ;L ^3AX# =q^(:T;a=p嫋9(BAYIXݪA@Bi.C^p8*(X>-6L9:t( k7lB;cݪkDD<@4ȑNE@LOCRA0\QEՐI3: *E@DEd.#G"$!G!!G"%!G##G$&!G%%G&'!G''G(((!)G<#G@#)!+G,,G--*!.G /G0+!G11G22G3,!G4p"G55G6-!G77!8 .!G G;;G< /!=G>>G?G)#/# GAAJ"BGCCGDG1!GEEGFFGGGGHG2!GIIGJGO"GKKGLLG3!MGNG#G O P"G4!GRT"GSSGTG UGVG5!GWWGXXGYYGZZG[G6!G\o$G]]G^G"$G_"!`G7!aGbbGccGdG""eGffG8!gGhhGiiGjjGkkGlG9!GmmpnnG o"pGqqhG(#Wժ!un![n!ȷ[n![8o![xo![o![! qR<`{ @ PT!4cEW_W l W=ð*,8 i+U@Ws](g`kBV}-pƒ h ({9\Lgp{, }LB};(>;F5];֕w|GNF1</ >[ ] SCROLL X"4) 4ˢ.ˠ ܿ "4) 4ˏ܉ % "! !ܙ!!˃˥ˢ.ˠ ܿ "4) 4ˏ܉˃܅Шo *jje`͔݌ʎʘ݇甙厍ʙʂʌ̕뤕݇ʊʘʓև啕ʚʂʗʀPNFi</ 6[ [ ] SLOAD Pr]?dAǂBI\!h# !\݌G0 @H*-@b*4J䬐u "rBW Ud2eµ|4g2YhJ%:uܭME(h s Y5iʉY`:hW4YhI5Y,n|8>%3d5]gcZUI@÷$)+"FR|hrBٻ(VDBj.G $Eg;S _ 0Wݷ,@ GQ%GR‡_b_dCFQN qa( @&fOz@O!t5_e &t-`K/ȟR0hNF[</9[9[] RWaveBankF*"$T=V #1Ne[Aj,f$.gt 0r