// This is just a tiny library which lets you easily manipulate with // tabset controls in your projects. // // This lib is FREEWARE. You can use it in any project. // // *********************************************************************** // ******************** DEFAULT OPTIONS BLOCK : START ******************** // Default image type. JPG won't work out since it has no transparency. // 0-PNG; 1-GIF; $_tab_def_type = 0; // Default style [0|1|2] $_tab_def_style = 2; // ******************** DEFAULT OPTIONS BLOCK : FINISH ******************* // *********************************************************************** // Sample menu array. Everything's just in plain english: /* $_tab_example_ = array( "_bgcolor" => "ffffff", "_fgcolor" => "dddddd", "_curcolor" => "ffffff", "_class" => "topmenu", "_nounder" => 0, "_style" => 2, "item1" => array( "title" => "Item1", "url" => "index.php", "style" => 0 ), "item2" => array( "title" => "Item 2", "url" => "index.php", "desc" => "Description of Item 2 here", "style" => 1 ), "huh, new item" => array( "title" => "Item3", "url" => "index.php?q=1", "fgcolor" => "aaaaaa", "class" => "topmenu" ), "wow!" => array( "title" => "Item4", "url" => "index.php?q=2" ), "Jeez! that's enough!" => array( "title" => "Item5", "url" => "index.php?q=3" ) ); */ //*************************************************************************** function tabUpper($M) { global $_tab_def_style; $out = ""; if(sizeof($M) < 1) return false; $ic = tab_Items($M); $un = (isset($M['_nounder']) && $M['_nounder']<>0) ? 0 : 1; $out .= (""); reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; if(isset($v['style'])) $st = $v['style']; elseif(isset($M['_style'])) $st = $M['_style']; else $st = $_tab_def_style; $bg = (isset($v['bgcolor']) && !empty($v['bgcolor'])) ? $v['bgcolor'] : $M['_bgcolor']; $fg = (isset($v['fgcolor']) && !empty($v['fgcolor'])) ? $v['fgcolor'] : $M['_fgcolor']; if ((isset($v['active']) && $v['active']) && (isset($M['_curcolor']))) $fg = $M['_curcolor']; $rs = (isset($v['active']) && $v['active']) ? (($ic == 1) ? 2 : 3) : 2; $out .= (""); $out .= (""); $out .= (""); } $out .= (""); reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; $fg = (isset($v['fgcolor']) && !empty($v['fgcolor'])) ? $v['fgcolor'] : $M['_fgcolor']; if ((isset($v['active']) && $v['active']) && (isset($M['_curcolor']))) $fg = $M['_curcolor']; $rs = (isset($v['active']) && $v['active']) ? (($ic == 1) ? 1 : 2) : 1; if(isset($M['_class'])) $cl = "class='".((isset($v['active']) && $v['active']) ? "cur":"").$M['_class']."'"; else $cl=""; if(isset($v['class'])) $cl = "class='".((isset($v['active']) && $v['active']) ? "cur":"").$v['class']."'"; $ds = (isset($v['desc'])) ? "title='".$v['desc']."'" : ""; $out .= @(""); } if($un) { if(!(($ic == 1) && (strlen(tab_GetActiveName($M))>0))) $out .= (""); reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; if(isset($v['active']) && $v['active']) continue; $out .= (""); } } $out .= ("
"); $out .= ("

"); $out .= ("
".$v['title'].""); $out .= ("


"); return $out; } //*************************************************************************** function tabLower($M) { global $_tab_def_style; $out = ""; if(sizeof($M) < 1) return false; $out .= (""); $un = (isset($M['_nounder']) && $M['_nounder']) ? 0 : 1; if($un) { reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; if(isset($v['active']) && $v['active']) { $bg = (isset($v['bgcolor'])) ? $v['bgcolor'] : $M['_bgcolor']; $fg = (isset($v['fgcolor'])) ? $v['fgcolor'] : $M['_fgcolor']; if (isset($M['_curcolor'])) $fg = $M['_curcolor']; if(isset($M['_class'])) $cl = "class='".(($v['active']) ? "cur":"").$M['_class']."'"; else $cl=""; if(isset($v['class'])) $cl = "class='".(($v['active']) ? "cur":"").$v['class']."'"; $ds = (isset($v['desc'])) ? "title='".$v['desc']."'" : ""; if(isset($v['style'])) $st = $v['style']; elseif(isset($M['_style'])) $st = $M['_style']; else $st = $_tab_def_style; $out .= (""); $out .= (""); $out .= (""); } else $out .= (""); } $out .= (""); } reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; if((isset($v['active']) && $v['active']) && ($un)) continue; $bg = (isset($v['bgcolor']) && !empty($v['bgcolor'])) ? $v['bgcolor'] : $M['_bgcolor']; $fg = (isset($v['fgcolor']) && !empty($v['fgcolor'])) ? $v['fgcolor'] : $M['_fgcolor']; if ((isset($v['active']) && $v['active']) && (isset($M['_curcolor']))) $fg = $M['_curcolor']; $rs = (isset($v['active']) && $v['active']) ? 2 : 1; if(isset($M['_class'])) $cl = "class='".((isset($v['active']) && $v['active']) ? "cur":"").$M['_class']."'"; else $cl=""; if(isset($v['class'])) $cl = "class='".((isset($v['active']) && $v['active']) ? "cur":"").$v['class']."'"; $ds = (isset($v['desc'])) ? "title='".$v['desc']."'" : ""; if(isset($v['style'])) $st = $v['style']; elseif(isset($M['_style'])) $st = $M['_style']; else $st = $_tab_def_style; $out .= (""); $out .= (""); $out .= (""); } $out .= (""); reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; $out .= (""); } $out .= ("
"); $out .= ("
".$v['title']."
"); $out .= ("
"); $out .= ("

"); $out .= ("
".$v['title']."
"); $out .= ("
"); $out .= ("

"); return $out; } //*************************************************************************** function tab_getActiveName($M) { if(sizeof($M) < 1) return ""; $rst = ""; reset($M); while(list($k,$v) = each($M)) if(substr($k,0,1) == "_") continue; elseif($v['active']) { $rst = $k; break; } return $rst; } //*************************************************************************** function tab_Items($M) { $cnt = 0; reset($M); while(list($k,$v) = each($M)) if(substr($k,0,1) == "_") continue; else $cnt++; return $cnt; } extract($_REQUEST); //*************************************************************************** if(isset($_tab_or)) { if(substr($_tab_bg,0,1)=="#") $_tab_bg = substr($_tab_bg,1); while(strlen($_tab_bg) < 6) $_tab_bg = "0".$_tab_bg; $im = ImageCreate(6, 6); $tbg = ImageColorAllocate($im,253,254,255); $bl = ImageColorAllocate($im,0,0,0); $gr = ImageColorAllocate($im, 128,128,128); $bg = ImageColorAllocate($im, base_convert(substr($_tab_bg,0,2),16,10), base_convert(substr($_tab_bg,2,2),16,10), base_convert(substr($_tab_bg,4,2),16,10)); ImageColorTransparent($im, $tbg); switch($_tab_or) { case 0 : case 16 : { ImageLine($im, 5,0,1,4, $bl); ImageLine($im, 1,4,1,5, $bl); ImageFill($im, 0,0, $bg); break; } case 1 : { ImageLine($im, 0,0,4,4, $bl); ImageLine($im, 4,4,4,5, $bl); ImageFill($im, 5,0, $bg); break; } case 2 : case 18 : { ImageLine($im, 1,0,1,1, $bl); ImageLine($im, 1,1,5,5, $bl); ImageFill($im, 0,5, $bg); break; } case 3 : { ImageLine($im, 0,5,4,1, $bl); ImageLine($im, 4,1,4,0, $bl); ImageFill($im, 5,5, $bg); break; } case 4 : case 6 : case 12 : case 14 : case 20 : case 22 : { ImageLine($im, 0,0,0,5, $bg); ImageLine($im, 1,0,1,5, $bl); break; } case 5 : case 7 : case 13 : case 15 : case 21 : case 23 : { ImageLine($im, 5,0,5,5, $bg); ImageLine($im, 4,0,4,5, $bl); break; } case 8 : { ImageLine($im, 5,0,4,0, $bl); ImageLine($im, 3,1,1,3, $bl); ImageLine($im, 1,4,1,5, $bl); ImageSetPixel($im, 2,1, $bl); ImageFill($im, 0,0, $bg); break; } case 9 : { ImageLine($im, 0,0,1,0, $bl); ImageLine($im, 2,1,4,3, $bl); ImageLine($im, 4,4,4,5, $bl); ImageSetPixel($im, 3,1, $bl); ImageFill($im, 5,0, $bg); break; } case 10 : { ImageLine($im, 1,0,1,1, $bl); ImageLine($im, 1,2,3,4, $bl); ImageLine($im, 4,5,5,5, $bl); ImageSetPixel($im, 2,4, $bl); ImageFill($im, 0,5, $bg); break; } case 11 : { ImageLine($im, 4,0,4,1, $bl); ImageLine($im, 4,2,2,4, $bl); ImageLine($im, 0,5,1,5, $bl); ImageSetPixel($im, 3,4, $bl); ImageFill($im, 5,0, $bg); break; } case 17 : { ImageLine($im, 0,0,4,0, $bl); ImageLine($im, 4,1,4,5, $bl); ImageFill($im, 5,0, $bg); break; } case 19 : { ImageLine($im, 0,5,4,5, $bl); ImageLine($im, 4,4,4,0, $bl); ImageFill($im, 5,5, $bg); break; } } header("Expires: ".date('r', time()+(3600*365))); switch($_tab_def_type) { case 0 : { ImagePNG($im); break; } case 1 : { ImageGIF($im); break; } } ImageDestroy($im); } ?>ExifII*Duckyd-http://ns.adobe.com/xap/1.0/ Adobed     u!"1A2# QBa$3Rqb%C&4r 5'S6DTsEF7Gc(UVWdte)8fu*9:HIJXYZghijvwxyzm!1"AQ2aqB#Rb3 $Cr4%ScD&5T6Ed' sFtUeuV7)(GWf8vgwHXhx9IYiy*:JZjz ?L2}PnyY7jTszJ̵<ªxt?uW;f%^YZFx+P :GMl%]l");ecX+29̞3m-Rd\jC>[ȀJ^$> b%u5'֒Q H2 `( &<|.7#xqnmɁJؓ'W$G֭V3jG"e-$y缺pZǟ 8׬/<(@ $晡=WcfNPIJ\ϖ9䡠ǏZҎ);}Wk3W?f1^1F\)"9a8W98}kU޻Ofi1UA?휲)`c~?3+Nm$:`MwZuS9eR +ƞK6)[u55r : ^nWTͰvE6Cڱmj1'`jոx X~EM[vld/(1Vz;(v?rvnRJqb'\HS;,‘$sŒ%-9jscp+m=y IЋƍ]~ϴS3ޝY7?l_XIfg]վ6-Qȭf>YZUR鞞B 9[ +$?A%v hs1^OgPa~w&+a͔j٫t0˙Z2-Z襬=:uWΜ[3;ZjǬsľo;wv!Z|ь|eۼ&+9Wqly~/;E+1XkR5V6iZ:T"$!˴tHRl`@:^oe颹Qqۯ1+$(:0Zl;Shv5>vVv-_t0ƱеMNQ~#:hT,/y7i˚KS,Kw ˁU\c .^ZI0X>Dbjr$2r|"}뾱}ϱVےmJ8Vh*)ZBd7(n>{?ߖVOG1sp:|N`U8)6fۦ *\qT I;V%Lzh ԲTF[pOzŬQX~"@>B陭( @>W70g'[IsS"4h)AQ$<73>!5ֆClb-$U"n9пޑOI2vԵ1J::̌g#OjmW]UXO,iΥ[uJp+NGI)feP2M7Gl cBե8|ȯN\}۽f}oF~!? |{6җW#&a3/)Em-bЩ܃/4oEQտǠ巳?v#ؒQPWƎA91ژͶj`w ׈%Q{{]o]up˻6ov_n[nnȷ7!5-[Cjx?K[Ļ"Zռtj,rWdHP15*5us;_fnN5; `lEfy\3rbfj B'ybd7[|j@]]m; {(;ln6o|$u+=V>}Rj rU @$gį5C=&.؛{ Х}TSp9Tl&i&6ـSf d3O}>_gA^GNn{]yS$S+6wmfiմcrUvE|[e'V+f:JY@*^A%ff;}a_0Yo:Ik~V j4! (a JμI iJtPUuNFH2^ T7ooIhKŐ˦D mGGWFk}-Ϧ~y81+DjRanmn b_1QJX Sο7:;f2 zH#I+8Qɳ| :C 1 J-j+R5*㬛٥wIari%^}P \^01U2깳騫F*jZ:zȁi'SCQr[i j^I-R<8dcZN߿(ofux>5T[WXsL'\dmLdIh'j9aI%-ϸ^\7  W)׶wt}ưϕ^v=Խѕ4cZ`@Z]6n;ivQzFФAK*պ%G7w˫UKF+ *H4485봟w+q ׹:]oSBQUkU*ƇH1_*1ttԴͪs\w1P0xzjzEV:!Ǎ(t7۹5ƙ+_=:vk=mn!jp#j5$ t)s2gOƺ" L]tuU<>aU;JwX] 0>ފ'!gVr% $B  ]=a|<[Ihq*BzLH)j>k2f!vAuozU"\[jHZ +5'#SZ[t]' IYzm^սDJԻz`q<%YdZ@M8㬹÷q 6]M4]wWω=UOc~}>Pf>>;]Ix貴yFV$)+-[-*νFƟ#CFs677l;)T &L=7&LU% W2iսFubO*d(DGTX#>VVU'fy8w8VDp% T):yT>uYv [[Y%QHZ P ⥎˯Wjb*Ɛ2V̪z]rc:&q%ZM+FrSIS(Ȳ!x>o7}1a VR2{w6hn,B$@aez*hk5FgguGo{_ݱB-"l[Ch$Me-܅f4C1׮u/RvivR0Ok ;+N+))UIctdD&xzy Ղ&\cLGN?Kox&J>i+Lz>L&׏5v)T{p(15KI9LCFeBP4 xgKe *iN'OGЋmykvgSP  IXoze9-KOYJJ>y:E"#zXiTPG.irG%*{ϳimkBZOiHq9(zIҎCTKM L;ţP8`gZ|֘iц=51xf%e;ͿKB}*xL ҿI-Fp=V??ӵW? Is143K<ҫI*DdHCHG&[f("yX Z=xtf <$P*Y>UymyՎ9G-mbax7n:ILj7-zq.y/lp7;vRJ0^ϏH轟=|)dln?݁}+g5Ua4ywKW/S*; [eu4q i4NGrʟXM-k{B :K`tWpu~w_W6o%}CY__;+w p]Yxn7?lxg%oVS3XtQnT,;S_4C'*hqR4Z̰'E:{}}}2}41=H1jT6jk€ݛT[΂S58NBS.f4Q f_H6^wۘ2VXPPhIH$f}۬6lw;kh#R;XjA$'wb^OE3 sz,WdFW.Vc LnY!bujtn!Fp%<|'0o!P j2rAn>cvr70|{_ΟB>.NY P 'EXl7ygm6[%k1ru4Qg鲘'죫yd~@f×cn<Y)2rímzlyq}Yd$3#p!tO:*}۳W-Y^Vr%Jc_/EgYE#]~E>;;ؒKPOm (x^߼K܍eroo6W6%i(H~*{Gc3I3Q;)ؼ-GCzc a1J2dhM]\}9+2TcT4\P`3vnv\e2P{KjMrh1X*k Q a TNc %Kn~oTc(I_Jt.~^ۆn&]5HefgiLrh8ͧz3nqܙނȮ3kP`nGg2x9063-+k)M:V79m>K&`M i@p2:o%Ə$&/O酓Ce%]5tLgmؕŘn}wcn-Sqm\n:j䖦'I?{[{ǶZLɌj Ac}_7̼Iw%%#CLXC)`ƭG5V7ZNs{3{nWXmTYZa++oseڦiZ)as;kJ\Es4IS};;an_m[=feJY5떮I&2jl)?/gdep4뷳xEg`|~o#_G-:5&*hJEw7 KțkasYU_̑Z<: m<;wXUIBX7$kU{}ws&ؚĸlqwǔ`+{'ZVDM#P E8˭e>Ou=~޻B9ܛt;J,MV}"YפVs+l6-ݹKҽIq뜞s7?_^I`x>]g}A((G.$RI[VƏ-udܫJR8#khl}G5 4~ 2=O g*$8 ~YfnL)0IG-gN5j"Đu[3:iּx>%mؽо hi,l̆l/Lc2[i`zgEci(p5ULHi )ҙG ~{sOdϏAݳz2,(VW>OrҧkRVHq|hy+4p K!OR:ƩpAO'C;hC(L랖vcxC>҇/%S$zi1ځUzS=,!**':1 sme7RWL}OHjj֦ TDj3$Z A ȈڔT Ҿ}A~-c$*)-]'H'o^l/6}OZoۻ%-ck`k,fdqr|h|e% TPHᐢ}'x:ڴX$Ў+݆xaCI#Ci4+N8S˧iw@Nn.;G+~*l_nM5N=]ə޵A8lmr4VACm˛Q4"#1h z]o{䳰YXYK8aU#N='~Plgp_6[t#uݝA0=a MFR\r5n lx, ^{y%mD$F)"jymMj,mWxRzI ՠ֔ O..~ڝKsGjAvHdug`4LDuzJIl%t営kܐ/mL-,XXQE:Y["Om/~Ј.V521 QYLI:k~]8{0nM~ݛni7j+u-Luj%E]# c{c˛D$G x tD9mIb⪹ jF[NNʜawW(b]sdۿ;wWIU.jm=fxJU_++s.ϳ rѿ1wmP+SP5'ת\soq\C #jdkOt_~m&F;-;_mZ* 7o ~:H6^%&N"v,iQmw(_K Yh ZWl7&箆xQ/ʘ;?)C:nSVz~婠2Pc wWn62,Jz TGO}cMq6 5x>Dt)#.9g)w |N2zJN^ٛSf-+tqm1X\+ciWVxi+pS23T:?J{9hXZ p{u/@"{}xTע?:,nهޛ%1xt Jj| W#cseiFCNwXl 0|xMv {ɑ.#Z  ݅Qzpb(*=ܦd81qz\tJoOOaEn=f/)ٮvDd v#?/e{ f,$R+(eQ_ iLSK|^ wwsTMڹO:꽲-+&pmYQLHՑtmwJmeIȑ˨w]#|*F5gjjf ԜҤs1]^A6nlvccY:*rU>v"^8H3e@{  HQ8nĖ Br`gwqXn-hf AFǗKUSzMf?8g&.&]8:*wO$f)&hwOjzBAWy0[.ZnfMTNh3˧d<f'SڕԱx6rLx9%vUfX${k{{5㻊BnR0sO>}G]֗v$9e BPQFxTЯ}뜌{xgz|Fܢ֦'a4U4ba4J8fDW$rsee 6KKhM&)E|Dt gh[[w?KO>R{9r~|_%c枓g@? *!}{+wd]usk9jǵ05j!2&pEgw6qbW!C=ɶs W|fb43Lp%={kwa ռh=;-Բ䄴rpƧ&g?>wbnI7ajvۻ!8ڊWef+i4A'>4xA:M[ܶ94[Ӷf=z[m2.dVo VH’ NB 󙊞M۾%SZL*ij85pGR"|O<7P) *(tOzy=#ly{Nw` Inܓ;XV,ƣ3\[UUUDţyn&n<}o!M3_*:'.;W0 tA)5nAҸ,w_N/a`d{;v)ȩ㖣+ ?({cg+K͗^,#lܧpJ>](7bp)Oh2+OJzz߽S;w[!ۙ<]X>Q,0TTkd46ieqRCcV#e >9_pechiʴ9ui+i*|֡RN`pت*i) %M.V)[DcwdݭR1 8n14JqZTí'o`:qt۳m'jwsG`ve_Ub-&'AJJc,M{¾_y$;A y/'v]EIVGQ1XA_ Ӧ[ؙ٘n'p#vBom]כz#pn*MD,kdeKFWe7qnogd.CAK7{ɲr6l ǂ3rwtjmڻ˵6&m[mN?,|.GQaG hHUA51M#$W_oD,\q"gFR&)Я{6/GuAOnj`Uɚ۴@(j2,6NX<,KxTi&սĿSd(A&REHOP-߮wn\K Rж4Aj5PVyO:ԻCm~+ k=_ z <x6?/1A t m.ّ(28U UON9Z]mwKr;ST ( tmmdr48k09\FQ08"dJ(!c{IԠM(8dPA{y'+l˴uPX|Sz3z\,sxv~7Rr4qŋ6;RgE#ҺT:1X͵[6]iK(C4kKҼN>T5[nؼ%ЪVҥP%VZ ҙ9$*({Sp]Qef2lwXki)qYj܌dt6X3 :&ێչnߵ[ڍ̟P֙t3ZssBY%b;FZ  U&OAWYu yLUFg&&kj*(gj7-V钚9%5q"a;? HvL1DR689C]z'p&0ҹGNFOe?"M8t=շ7wbR܅ٴ8Q/Fr~95ry%0Ƴ,,i^[S0V&p);6Qo,]zrNOzzunϠ޸,p,=2&(Ӧ*SexaY %`旞xKkAQ}ܹ}8v';R[ 5mkdqBM|4MuXnvpmfsdy6Ih7bѮףؼ+$bJת5<;xcMhۛMdcP< Y4x\Ϊyj1ۀPckS7>7Mc(hs 9X%A>1V$\PbGũYs.Jus{2h'okmUŗJ9t_SQȭ "iknۄvlֺe',ƕ:MsAIoXZ>UQO*tӾ{kgn.l1Uhr;fgS>6hzT @*wf{;/w&KU^/^WmnLJ5e*|LJPOj͛ܐm|5L)*wqnȗ'><0054t& $jIy?}>Y:mܭxQI VZT0za諱mgˏoAesMLSڧfLz%4}SaF*PO˫nCaK=3P*)OҫcufOz?fawV;3yKuAxR-&<#E-@"!6w7M(ԬH4N{iķr7rhv @#~Ӧ]_Za6`p[|qus-&Oov% uKY!S3-qk-1TEAPsfrfgCjsGǝ>Oanԛ'c[;#;n;&Zj3Ubj&j٢rP^Io>JX," EGJpV@3m~]m4?h*H.A$,Ѷg^kqei/No>ONBT"XNLL#[w :ihZu[;k)W%T*rT }@IvFCܕt?sOM[xԶ>Ttrhqs&Ccy#H xʜ:&(Vuk՚I%U/8#H$Zֵf09ɨ۸ 48$3Иa竒 AU5JШiu>n8WR֜N >|:v]kr[oux)*?,RbϚ!+o>,쭩OD{|lʈiW}Ö26-|}KPD锢;e= \jE|hp<c~I8O({֞GEײ|ן)DQUlM.⊻=q;* DW#WB +3u{v.X#(Ȫ w>{}%ԁō+E bV6*I~@g#T0`0"kE৞O~ KYHkrZۭ;-6(4@TBNiǣ-rA;((}~8km' *#͚8,VIEcѯ{f(M" hٌ.TIVx@8z$Y~? EScǝ6&K]ۏaMmkdsxZV1 r9mvm*! M$:^wܟ,CFZ$Q\MO<.xݓ0ݗ߹CrUll >+)<,}.J!S.XUNPSN:8r۵ro SqÉ#8A VkyOὀ-V8%I&5=x;3cP3i;qr_*MKYT0=C]-a4bnT_I=*4cbI%x$~έ\<;^gLVQˁ\a7 :ː,JNcL,Ydg4a1nd2дO)S[vo+HAVsӅ<>W{ԑ{pgvi6gw+Ar;nh)jq_5UqOcMGk< T^TԌ0ZWva//qW")?2=2q:#֙ʥ̧;lPcz&r%>"!Z'ft4)#HAis%\%`iFRu=-rN~[mr)pqvgkdcnG?FKdW͆`sQ<`xe=TQÊ -+ִydA.=onhmk7ArګĊ0CNLlwYImRY:CZ( ~%-\VPa(*v7u 7vbL\\.;Z09 2ADcpX`t;v17Q5+UB6{|HV[рh tSnnOhv}~_k^ v;-.u7SIV?PuUfs,זơUcQ„ qN˛߾-6ʈĶui>ߺ)s)`iZ ZEu$Hj Qힴ[{]edڛS3 ZJU.̽d4Q)>c{audv,`5Ю-znmDF}/Hh N3Ƽ:15>9CwuQ<FוIڒzWUEy"XjQ4Smmm,XT\irwN~#hc`J #Zʸ|dv[%Y4٩((;*>c3?w9f;!_Yƒyډ頶 gt{ݞ8@hfR<Ϟ8]K;ͽXDA5RE<@,M~Is'=ok1ݭ w^1jA"˗ɶԮ4A$u+;Hcv879tsJ7mFI1uیlv V1+սGb> wo̭7Ib^nkc䙪ʍǍԵ5"}Ù1 a ':6WUF~ ܟ|mHƯ?F`+Zb$V[GbmN*\!*1]#uUYofZIMuTzNy[hxi\>,\r'4.;ջ/M7Fߙ}G .t=ωJA*+,m1fmy.GvQhuWπJ88r϶ܖIun :T*VԊ(tl-վif0rdyxYBS-Tu Bקx.:%d9:>'q3T뙛nT,f6.L~F?UG0bFuOrXpP8*]k P {?wDɥ M/ހi(qqRk^{}nݫZzϢ旰s#I?U9t2c*kX#kȪ֏w&y]iU*p#z6}} Y[F7RuaJYwdvkeRjp6?]\vlM]tz*L(`eҐIX]fG.WEymXgw G&Eu@Fz ^r޻=չn 0B~Q:I{㱶&&R`jQmmۻ5KQaږW%CV>ޒ/EܹwE5bT@=,&֚N_]iWNif2ϱU|y^?#OE  &1踱Mł6+GI*A*?~y^W?Ջ)TK˨@ڹ Cy f>̢ܕ]!W5VL8fZpM ۘa⍤A>bHa{)k@XWTӎ(+ѯ/lb{9Dg*PcNL%vnm~711C5 렡b1'E M5Ubj2սnf7\cY,ӣC.az^UĞ}/.BE5yעǀM#tTr] lO_/)h2Q6eeg&ctS2QiARM6vkk4[I!%u]>@^`E}*8t38G-K{T=CW4R|BdUyTF6f^:ca{!:HIPk@<1n[umu$|.Ɲ.ؠždl-V͓XINV*S {xidޟԷ&lo@FǥWs^#aǷUCOH=d 4YI?%aYAȂY!YsrMAj<#Nc mЊc--CvVY@jM|zEeEŊo&acEWR><73%X*MAu{s;RȎ""S: Gz2M@#ym.l<.ceIoN+$jι9kE,!tq$ݟڸ/\CAcq-$@G J*qLy:m|7;ZZrۢ,4QxAj2n%9 ZV[DFaybRYw8zE[W,PkU oG/ύ]2LS7ڱPv/LnlRI?e2A UcNaӑyfbɞ{=]K`R)n?nyuu(ju(+R+ y5Oif* X&o bdm@O\*PE*\rtu]۫UG<: u^dfxLSa_F|LZy{*|'[݃=7kdMܻluۡڸ(6&(b'‘U H- ٗ75F!=dmn$Qp:+_$w/]͜2+:1bCYOԛwhS 8H+eHs9ݢǛ$j 鸿9^I_!c=ڻ S6g~=lk ލ7 ԝYo jpx;Ed$h$W;^s\[\ ZiS4bAmʯ 3\ZQZRxLpol ђm,^hb(i*($Nj(%:SC7:aFfa |iZWp\YYY4MzmӕMAykG,8MMFIRS@ :CɈT|w'!m>B,-kᨳ{5 I|4 `i x7͸ݛ2McjrUиLԦ:q+ ,@vUݲ-nHB+OtGyd:$FFh456^|[uvشcfbq[d㞂,)%1ܰE[S2|] >>)Pq/2-;E5B.[dኢ7ҀFws[foW\KM Jm;xg /k Hg2T\pnHY0ʉZ֠ˣm#ܭnL4jipDnӔ|?zPŗk2.R[1J4t5omnkqZCn_U~]'#-MsѼ>5+GOI_o? /h(+#e3GGye-ZE#i+ib̵I(v8:9I UH7O hn)CU&jː)(6)~l +q HQܪT91o{϶ʲG_ѨÍQxb\s77Lm1A-J0hT3v5^rgpڝ*5UՕS[ UeKCQz! 4QH-lYqئYhħ+䵨cw Xn7Oޟ" FYt.ZWM<[Śy2tToO_]SS$AJaX$`h`_pq4."bMFO;4ƱZG#yf VF̮CrnJJzɑ)Ӥen~o䵾=VI( O 1vhrR Ǣ76մk/]Ӛw-U QWc1O#Ò!W%h:o5s1m4kgg d#Vx?գxH <˵I"-kL@J "9oŜbJSRW8ЬC2SIK-D⌼n7#F@&y~ޥ \GnKʮ$=I^kn_~-UA/o5L4=~7m,kBI(mqggdI"q($ٞvnbhS6{faxǸ𴵛vQISL%:ogy֊ON?}=>uBV3=kfoic+G#=jz"w3Dž}ItG&uMK[&Rj6n1imc3Mf732"j/6[^l󸴼Ѯ;ET>UIpS=ԪcfەBvQJݹs{ $FƺPƪ Bi_j=WimUgb9ucdyڕ*Z-eF:|S40DA5:r[D)4ʒI P<BH L}Hi@I u o.38Rl81gq͟WvbahsXaIE:,t4261jr[77\@X(ָéݻ;8dk{emtkCS=vpd'k6vM64IՕRSL)pj7rɚn-89әwlx!MG*rj{q;>iMm{9.:Gv)0<ׇCUuf|yacMۇtK%M4[75KE-z)aXwI4TriA_x>3C X c?YV-x{4Z lVB:L/6EYY_&{Wim GT{:6}c%#m"#LUpiYo۹Cn- [O~פV\y=ݘ[DaU?Uz#hsN܃ɝ= dVk+$ɥl+'7MmŹ\kϳs` [ !5 5((GM_/W^-ٽ:Kju^S2k[ow=euܙ GAC GZU}]#C:ʤiYծZuIJzt"vk`Rkb$85<á?\WˮٸvYݷ]L^y&Z\5f>_CFQI ^wFXւ?:-]M ҆<:-;{}uϙ{>=ggv]UKweFk{nwSQͺ2jda޷DؘED]͕g=ߍtQdBTT րtQ|r:HnʤgQ&ظ[;{TO/_ 싲hfAO0[DM_xwVm߼jI#00kZr3qTqGq j:4s)meZ_׉ P L`u9.7:{>ЍHС`ьZPQzW}n/`Se|.v_[o([Y,6kanAg Tk=MK8̉Db'퇙ԃa&3MXp$cnnẌ́kVD#k]NعͩwfM35[{-)5S6>de,fZ@jRϹ]..\S"| OJ>wNgܰ[22@+ƾ[;3y_aonʨw^ڸ|#ofIi1WeivƭdU5/ɷ|ۺ^[[#riV`ƴәyN=xA%#SEE+Zt0qQl>zMG[wfUWQ]COH*Q+ȫ|={m1ΗEO::sg.l\T$z+5jprOAKttC|GsI?iRUgnVq$cJ⣌}̛ݹ jQ{TyVM3<=j!(^G3Ϣ{hb7*%d˃o=Yykp5TjZ#$O P0WT233]&\n,{ A#\(b5s u>{)cnWJJxx "P=[o?> .DۻZ7nv'J&cT-l7W 4Eg8wnQ mp |>V  =a68L4f)'Vts/p2̾{hs{!~bޗteE %T&"}J2~זS鉞ȹu<bD}ZviyI#ڷ&$u50sRNOKsq|0| ?|U^m7 ǻ9L߂%ST"(G c]q̛rĠCPSNql94[ 2H*50,159jMF*:5]cֻ7d;Fmkon4G2T;vrH:d8ɤ0#H*EmQR@ +O>z{U|ldI~CJ&5cNw/c뱽A&+>pBY+)r}V綖irI-%K-"N5{KսZ<|LR`JqX/{In[v\!{N~qMU çgPЫzMEQ b!)$>bP!8 y7fMe <>^mcMwn6H&$֠Ty.^ݟ6Lcuoh>V a>_=G'XvHp_$(}uKK+T S^s\'/m3V"@ K*RrqǏY+7~MYtڬf6wtQ۹0bjvQӴU/4hma{ܧ],z<(<9cyksۥG2FW(ЅL.wmv>_)w^c1nۛsl U&*L5e]>: qXnR%w^_n 01A\Puos"}Ӗk. QPrin_ ՛s%eeu-kiVJq,R䥢dZܫIynwf"58GSg}+ewq i 1OWW>=CkYOteKN*!9*\nCuu)%e,^ۿm}﷭t[NXTt@KpWU}ypx7os)Aru'KFR@6ko[wO]^O7_w6`s I7T depUYEܝm٤dKPUbA50@iG=Ϙ̳+Hwi G FWI*@\uuWAf6UlNKݙD)p۽76ޙ1=D<)II#, U7,n7{Z_ 1LUz9q=cYnj'\Cq Xc}]T0K6]AKK۸vms`E4m yDmn{ifd}oQ A,kPjԯ@F/ Ÿ!MS9&:Jw&{=!*o!]37.|; {]GS"I$wE@*jHd!.*/ϳJ[{p9Z;2ƕDt!nVR`pKQƌ9`cDӉ+֧?G1Ǵ&bq]q7)cb)RgrfJVR#i +-]L~WPu ݿ7b_T!=Q`W\s˛̟P-e+5k\5_N>3uܛccW}l^㿀Ϟ(~Cbv&×() &by w {YA3o(SFyRy6EXP &)|zտ27[ڧ͑[ǸipiY5-?jcb/q6N_+xwD@` Mrǔev]yi7KMc(GF~4m-]Aӛ~,;Fpvj#a玷/ I%\5_gŰ.ż0ؼTS~t/m{i wTJA2?iV:2}kӻ{oɝ](& |&޸R˚zȫ˨yhssh-r=54n*K CVE ;Gy ̦`a#T7i ()\PuPe7X x`wcmV؛喝C$y$x)p-Z'jJ2*^Λ,VV{uQ#I|TSS6mkܝtwdvZ%?ӢHH;}8~2k {) j=8BC۳7)Wv6fY2x]5ӭ.PknB oijcn@W pW$Ǔ9Hxdd5  817rQιNTݟyd<~kF#)YM=E;$k V|̱ͥdeaCJP0s0,=yKw~__H00:`ji_HOQ];7:ӱqs &J<Xeo~JsU[_rd=Y?[^龷=3LO' vEEWQPiq"$)n0ﻴdIv d\pI+C¾tJjA&H Hqu_-{Gjqwmۛ%g،ψ r5Ls2Pb {z՞--ݾcjRdy6 `T<Ыz>4YwfwpmK9L^uv7CGxYq̒M$U00ȤKc!y"k%_ hH53_1厤O_/9eC (I&ZRs^6l3j77鎬mM]Y*}>7$oldfs3,E)&*HC1{qӑՒqp$<8>^K=,QS O2iNvg*:}kaQnn}½d˽ie|cwő'lNHǗcVa]i$KYpT #?sﵻ)LU ǥSS0PMk}eO_;[ *݅U {^jz]EUhzhMoj#}ۻpmݰ'֚WJZZMr{yEW`g1ǝj ZW`,0y6ԷCY^,O+^<|Nv+M*#iH뭃𗴺&+5'ǾܛmW6~lܞh+hҋ+]:&=S+8[ds9]}WhgtA.PEI=`?ퟱq筎}ݹpV)I XMT%CpjMҟ6QF^O=Geqo=E) i/d[ݝܝߗvkq#LtuA!.CVW,\w೨Bѡ@dIF jbX^n]׶w-ٶQA>qM (eSԘ/SOW.Fojۢ$`8k] g{xTo ]X'- Pj?o\nAѝ\'~OduNQ2vcs ݒ<جuं $RE\}ضb DlG_%o7Oq6\h`Q֊ T zcvKnvGgtY(M`xnJyi+4ZT\kwWkd) #_>ݵ>"\O4xjO=:6csۿ#5K1Sl=E܁lZruX^ctN$\g丒k=;~V&Mؙ:Q*H#O*׬%ns_os~b M̲P8xA&wGnvg&":jk~B;>TtQ:j]1gv^6L)SiQuiO:$ZW<,m(S=SQx7>+?Ȃg~֜_} Kn{3Wcsxlwf=Lyjs`jXVU²nl<$;2Y*@֡XPzs˖Yv$5[UV#tun$v|ߝW>la{o;FÍϖXo푷)t2QV3sSPR;X?c{owMn q+ Pz:KA&nK^U{[_Rΐ%Ziν\gv-;C1;hQm͵٘jSϲg et[ڔ8x$ln3M (-`WC WRHIO!öY_MC23mT_Wh>U<[jc{4mIώ-Q NRI 6Eyԣ늜?yvy;?>_۷9Q S<޻9Xrϵ%9s56$`FjICP@W:[Χ ;7s[';[k .g+I򙃏l-L=XJFM?r \j+$A&jӬ NڶiCVBQ\^^ U+gݛsⳛtOmYS!қ|~KiWm<:v4h[PJSIK&W_eo|[{{EB>(52}>s>˼ܕ jaOD&'ptPܽ荑ӛ=6S0[1ݹonb+f3Rg0&DUc2D~UZ NT9ri[Fv>뿕JawmɽzRfQ o$bZL8RG< ,"-9v˽c"ᔘBS92N^9XBēp]k=3]KS# 7d'm]ӹR\K]D SWJDj*]uIKM;= d5#ҿ!()?{/zkk_6I|Vce %"X HVbUO.hު>k!]cw|}U01_jtmʣ:܆ݝLP#MT +R:ob7I1VdxKᒲ:UM5Jչgw7Mᱫ_=כF#p 8;#gQ婩{G5]|Si㣦̑,XVd-_* MpE+Jze=}l=VB)"R9 /p6 c=$Vw̪)elػDwUةkk}vOQUSLI6kvݻTue]n z4~6_c,W$k!N>]i̾]={stK6S6A:T;/V2 )D~?yXUO {X{8W ңz,~o?>qoev{'G8z(ͻ,=~W5Gg}h,VJT6(.A=c/X{mbxW1,6UFǯO_ae}}c6^ 4bݹI7VjLSJuͩ.XsO<[/_M4rNdЩ?BEh8ko'nj6Xmb4"01S;qrXs_ ?~ٻj 3['۳mYȉqu4GM$v(=Ȟmc{<I&cS@ڊВ 5&ʾ9k4Q-B A\T UW]U;KfGi3nVc!j5MτR-._R4HIyxKh쯝JB̡VIGmxgD^-Xum;NZI+^%t9]ָ *zTd3gč}kAHj2HKG4UvgYm䪙޹i=yi秳Ʋ+juyytWu\]f䢃||lmXyqtuI;E*}B42S$)KdWpo) c Ḋ碛}p/wrt#h]7Fg~ mkr+ J8%jh`J̲Ӳ57`žNYMKfxsǨYPI+K jM;Gۛ6uF.|@h<7Ԅµ8~#u_ǘm£|nl7VQ,'،҅Eӝ|߶wb=_ QYJHp'59wm-Ӕ9.㿐rJn 5VU"5[~qe">LjMu35,xI+ePBM_sW6n6N_۬!fT2^g&?OSO,rFh{osa@֜~ rcfm˦k笥ۙDjj6;E^)*NNuSݍ\O5a2,?d>kB|QrӸ4=oZ"шeu9G 8e\uw*mo]GduiI;=NᱷlmRA6pVEtN}oxyPqgi)V(P`QZy/忏ckŐѨl1 $`)߻o>(E6 PԦCebt5u Ÿ*14 !*=WznV}Ò=VӺI/ى|ZMMRO8>sާn9M1[DD1iFI A]\Vm=]~\̎dۋml:]in};tuNUkE?ryxZD .RI,$Tϐq -o9c7ߨyCx-3/"'/ROZ{mӠO;Y[kwʬݙIϓ29\>1V=2MӋEiRb0tC^{/-ZlnBZ( 7qAWUs´L{u?1X504wUVi * tDP4DUI=Xc}WGz6GjVm,ܝU[!ESr 2Dn Y$=_p^mĽK0s@Ă0AChvm4DBZҘȦIpqb{*zo`aMtY v\rPk"ZO#QA8d|K$ ?#ƙ={O_xW@i9tCva@4\V[ղ:=gJOn.?pⰙ(_ih#( >?s2mxb, ku>{5ud{/m ܿ`jdq ,X-u Tsĉ!6A *ٝ}|)nYل\$ Σ)#$cGa;oe2[EuA.P¸!}$rx0yH*8yDa?q}%uRXq#a )X&K+pBֿO}_7k1ݷF6-J~VyaWMs-N* 4 mwVQZ3G."\F`X SSLu6|s],X9] ) Qj~B֜zαp{ '?mWۛnm~ΠޙWQlzLuNziR5X%{ɛRMei gR(jePM+eu'ߝm-#ښX.dAŔZk'?㫺meڹ59ֱ95楨DoO(a2Ϙ}nqx8 K,$? Z+*dԊ?!m| #.tBBtV$עKT%L<Յ(j`ᆪ (J'L1U3+"O$rFlg/dywfWiʘծY@.%gܽym3ٚ PBH>Q5o:wzKg`v>Kzks;'eE_3(۔Ѥx*# }a?lcIǸs_%~ M K ;I^I)Z)jq-Կ){ ebiwAot}1AFZ(BKQC/I{=]Y/cxH*h@:ϝjIiKu4~#/!v^^m; 7J-Crc)'rEb19IH7 R^sZ{[~,'\XaZ.i u}⤰ )-m54Ǩw (~jv1`ep9,?Pt.'ZjچX%[PC#\j[ZL7>}IuEmJQCM5>eKmVF*`+'STgx,nLE--yxa-iI-뱹Z91VJh Uʖ^gCizm9 9*xѝa~A{6s +_\<}7ʦztc}Ff_}4ic-Rb N7~6rndgAʈ$hcV`BsJHkӛ:CSA !0O$3UoZ(sFz娨*D PF^lv6j(P<ܿwW"Ǹ^]AS 8 t}z}yѿ)p6O{jmjDpPRRdj|ijq#.w^k^U];j ,Ǹrvl- uq0EEJx{%NHdVB% Qn7[;HX1s}p1CJ:U]J;|vV'E_?BKy#2vH"Hu1  RC ݭRR<}Hݟ\X{F,o`6ŷߓ*9+ 6 {@e -SarymOFa]j܅U>O$T`0* ߹Njbwf-AG z<5h)IGLfR>/3|̛TI>~'@HIE@ 2_*񓷶q|Z.c8+LPQƽ;_{J:UmXrr2VWRPNEaQN" z}Bv Q.w-jقM(HWX;vp^\]FA95Gsn^rr>>$5/4I"-;߁=?3n0o|ѸIs9BEpHPhL^Μm r-HUƬō[Ͼ<^ B졧S{ձBc?7q$w6{t]H%d=M M_ܟttZ1nx\ q&U`>%Y#ILmCZyϻ<~\Z!HE HUZu7s{'=Xg-038>#K*%tjU$Qn__s905y^ln-QWAQ4BfZTYQܹKmy觷EFA">m]o/$o"/ᲃlT*#.Xj8Ykn' X2tJRcs _w_$;z֎=D>`rHom @FE FG@߸w<;(\2["L%dMC5&(OIVq=ן[#m=q8z휥F![ %r]Z>240#$mAl5daޠ.k"=M˜/wI?LY[Dߥ#Q) jtj4|G鎠Sw>߃vuJuMԖw4Tzo ޯݝˁl:08ˇ]~ - G y5/.t w-I; {c ET|+5N|dAۿl~riR܉X3 uA:q͏b}%ap쬇5VqM0+^:savX wnucͷaw:Sc ^NxLMA`+wjvDJEj*TPOX}\fw}hSBƎ",1lS1}bxXZ&뭵U[0Y(hV敪`K@C/nwK7O!Yߖ>$io㌙ c"A4+J?Hu>iɶI2'fUQ䩣F҉kUqHb}{A$K#@)8O?u\e& ^D|pO˭?q,-[zNٻ~s48fri80E.Ie&E<rg_vPZY"r̫Kp$dt/ro}H 0xk"KU4Դj֕ToiG;Su^mKAS)AOVQz )~JxLm"s{%mZ 5#dȧPؠd띍Mѝ6o $ߛ nS58WRL;Z4 Or12.la ]S4ZW{Ir[0P1EuddJߒm|^d6Z_<䢨)4# {vlܬ,Tjϟui+Ys6ҹ"Kd:%WN폎o._0ɜu4yhx1mڊ )8Xdi֮Vcxyu{-^"o;֖3wW֣] Ib^N^u=bN}%K;[pTԸ'J%T^7g59588).nS6WHbWMd,XԬ\">{dawXthmʈFٛv:+ىMUm$54W# jȄ}A(u7崩-h+JT2{I읇{W;O3+1%;UT`tˤgƢ}7"M\X<cYOSgũha*_(VX^;xJھݦ ǩgVeSZuz~)W>ؽ]g:Ѳ[s ߽] *#;z$j)~&iE+xݴ́8Gf0()@ow7VO-ϔ+yet ]-&chjZD5"";rh ϥV-Hk^'ӟwxv_kTuU+eHruJtxY/ %Ux'| %-Sɜ3xMHϨᏟ@/vymϗ!拨nD,N5hM2+N g+qV8fe㩚ィLO4uI[}K;~a*U55L+e`'VL :h$)۷m dkg.ӈt8l/Q$bEMMm0x\&o%PЮCFy" E!Q9a*佸sgJ;HgW|Pmnni"iE4R ‚jڮܙ-@8=CDC]AbzvYEmf1﵃[GXB4:B0#ភ}ӹek۫WJK_32p{)|pGQd]$6Me}$>Ʊ5 )*M%cR܉?WGJtq6⺭-;֫.P +zז9듿y]ƍ)2=8$zyϞ(ⰹZmL&tdٴ iX;?Ϥۿy,~lMh㸺-t-:xVz%poWT s"M0pw&7)>"oK3A0߳0[totP1T骫$X#1m$/mo7fq hS3:nwOyo1ZvpiUyU|# ԓCJϙö{M,v?4-&"??o{7m_ULM?.+}U■I-x)|};ͷ 1O#5Iq/Ozi?\8OoՏ2xZ&xT<>1ܿO'C~_m2ھz/ϸs|4??F\[ݹ}T>S^R:fqR7uλx^y~~_NA[VtVSZZ63/ }?.? yyBwT$=QOi5SWzYW4m^'E8˭zU}6y?{>;k_zG/VKj:{m6߮_e0ZZ4Ҽ?ǡ$GWkk֖?o2]+|$TOx?ao/=/WcFZ:uN6:_֔?GΟ|J?jowƴ漚}>]W.m?uC=)_5[RU?r}]χSħyx.S?^'o?ë-;ƛ>nZsFdz~^I/hj?ʼ??>Kw7o /#-O{tzu{n[?W6kB}+Z^M_Y_?l_?<-tӯ¸kkU^o^J|Wol4OoO/? }?ko{7 ]?ʍ}z2鿫7ִ ?ҧ C{~;|_O4Nj-iq.=p~|;8⟹Jx˫G]TijM?_eu?ixߟ|`-kM?U7&jTZgu?#_3_jgi#< _gu֯x~+O:ˋo_H}WJ}EoY?՟u'_Ty7wW[M~ֽ:|RFWUsOJg{_l?t}'?OӤhiZֵ3C>>?&^?iͿ5W \5>|XvE¿5c֘=?N