diff -Naur openflow_089_mpls/lib/fault.c openflow-new/lib/fault.c --- openflow_089_mpls/lib/fault.c 2010-08-10 06:03:52.000000000 -0700 +++ openflow-new/lib/fault.c 2012-10-07 07:03:58.000000000 -0700 @@ -73,7 +73,7 @@ } else { fprintf(stderr, " 0x%08"PRIxPTR" (%s+0x%x)\n", (uintptr_t) frame[1], addrinfo.dli_sname, - (char *) frame[1] - (char *) addrinfo.dli_saddr); + (unsigned int)((char *) frame[1] - (char *) addrinfo.dli_saddr)); } } fflush(stderr); diff -Naur openflow_089_mpls/lib/freelist.c openflow-new/lib/freelist.c --- openflow_089_mpls/lib/freelist.c 2010-08-10 06:03:52.000000000 -0700 +++ openflow-new/lib/freelist.c 2012-10-07 07:03:58.000000000 -0700 @@ -9,7 +9,7 @@ 0x10, 0x20, 0x40, 0x80}; // PROTOTYPES -byte_t *get_byte(freeListPtr list, size_t index); +byte_t *get_byte(freeListPtr list, uint32_t index); bool bit_set(freeListPtr list, uint32_t index); void set_bit(freeListPtr list, uint32_t index); void clear_bit(freeListPtr list, uint32_t index); diff -Naur openflow_089_mpls/lib/freelist.h openflow-new/lib/freelist.h --- openflow_089_mpls/lib/freelist.h 2010-08-10 06:03:52.000000000 -0700 +++ openflow-new/lib/freelist.h 2012-10-07 07:28:07.000000000 -0700 @@ -7,7 +7,9 @@ #define FREELIST_H typedef unsigned char byte_t; +#ifndef NS3 typedef unsigned int size_t; +#endif // The freelist is implemented as a bitmap that is dynamically allocated in // BLOCK_SIZE byte chunks. diff -Naur openflow_089_mpls/lib/read-mpls-fib.c openflow-new/lib/read-mpls-fib.c --- openflow_089_mpls/lib/read-mpls-fib.c 2010-08-10 06:03:52.000000000 -0700 +++ openflow-new/lib/read-mpls-fib.c 2012-10-07 07:29:24.000000000 -0700 @@ -254,6 +254,7 @@ +#ifndef NS3 static void printIlmEntry(ilmPtr cur) { @@ -263,6 +264,7 @@ printf(" mpls_label: %u\n", cur->mpls_label); printf("======= \n"); } +#endif static ilmPtr parse_ilm(xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur, struct mpls_switch *sw) { @@ -320,6 +322,7 @@ } +#ifndef NS3 static void printFtnEntry(ftnPtr cur) { struct in_addr addr; @@ -347,6 +350,7 @@ printf(" -------------------------:\n"); printf("============================== \n"); } +#endif static ftnPtr parse_ftn(xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur, struct mpls_switch *sw) { diff -Naur openflow_089_mpls/lib/stack.c openflow-new/lib/stack.c --- openflow_089_mpls/lib/stack.c 2010-08-10 06:03:52.000000000 -0700 +++ openflow-new/lib/stack.c 2012-10-07 07:29:52.000000000 -0700 @@ -3,9 +3,11 @@ * */ #include "stack.h" +#ifndef NS3 int StackNotEmpty(stk_stack * theStack) { return( theStack ? (int) theStack->top : 0); } +#endif stk_stack * StackJoin(stk_stack * stack1, stk_stack * stack2) { if (!stack1->tail) { diff -Naur openflow_089_mpls/lib/stack.h openflow-new/lib/stack.h --- openflow_089_mpls/lib/stack.h 2010-08-10 06:03:52.000000000 -0700 +++ openflow-new/lib/stack.h 2012-10-07 07:30:10.000000000 -0700 @@ -45,6 +45,8 @@ void StackPush(stk_stack * theStack, DATA_TYPE newInfoPointer); void * StackPop(stk_stack * theStack); +#ifndef NS3 int StackNotEmpty(stk_stack *); +#endif #endif diff -Naur openflow_089_mpls/switch/datapath.c openflow-new/switch/datapath.c --- openflow_089_mpls/switch/datapath.c 2010-08-10 06:03:53.000000000 -0700 +++ openflow-new/switch/datapath.c 2012-10-07 08:29:36.000000000 -0700 @@ -106,8 +106,13 @@ const void *, size_t); uint32_t save_buffer(struct ofpbuf *); +#ifdef NS3 +struct ofpbuf *retrieve_buffer(uint32_t id); +void discard_buffer(uint32_t id); +#else static struct ofpbuf *retrieve_buffer(uint32_t id); static void discard_buffer(uint32_t id); +#endif static int port_no(struct datapath *dp, struct sw_port *p) { @@ -1271,9 +1276,9 @@ return 0; } -static int flow_stats_dump_callback(struct sw_flow *flow, void *private) +static int flow_stats_dump_callback(struct sw_flow *flow, void *private_) { - struct flow_stats_state *s = private; + struct flow_stats_state *s = private_; fill_flow_stats(s->buffer, flow, s->table_idx, s->now); return s->buffer->size >= MAX_FLOW_STATS_BYTES; @@ -1325,9 +1330,9 @@ return 0; } -static int aggregate_stats_dump_callback(struct sw_flow *flow, void *private) +static int aggregate_stats_dump_callback(struct sw_flow *flow, void *private_) { - struct ofp_aggregate_stats_reply *rpy = private; + struct ofp_aggregate_stats_reply *rpy = private_; rpy->packet_count += flow->packet_count; rpy->byte_count += flow->byte_count; rpy->flow_count++; @@ -1868,7 +1873,11 @@ return id; } +#ifdef NS3 +struct ofpbuf *retrieve_buffer(uint32_t id) +#else static struct ofpbuf *retrieve_buffer(uint32_t id) +#endif { struct ofpbuf *buffer = NULL; struct packet_buffer *p; @@ -1885,7 +1894,11 @@ return buffer; } +#ifdef NS3 +void discard_buffer(uint32_t id) +#else static void discard_buffer(uint32_t id) +#endif { struct packet_buffer *p; diff -Naur openflow_089_mpls/switch/dp_act.c openflow-new/switch/dp_act.c --- openflow_089_mpls/switch/dp_act.c 2010-08-10 06:03:53.000000000 -0700 +++ openflow-new/switch/dp_act.c 2012-10-07 07:39:29.000000000 -0700 @@ -177,7 +177,11 @@ } } +#ifdef NS3 +void +#else static void +#endif set_vlan_vid(struct ofpbuf *buffer, struct sw_flow_key *key, const struct ofp_action_header *ah) { @@ -187,7 +191,11 @@ modify_vlan_tci(buffer, key, tci, VLAN_VID_MASK); } +#ifdef NS3 +void +#else static void +#endif set_vlan_pcp(struct ofpbuf *buffer, struct sw_flow_key *key, const struct ofp_action_header *ah) { @@ -197,7 +205,11 @@ modify_vlan_tci(buffer, key, tci, VLAN_PCP_MASK); } +#ifdef NS3 +void +#else static void +#endif strip_vlan(struct ofpbuf *buffer, struct sw_flow_key *key, const struct ofp_action_header *ah) { @@ -205,7 +217,11 @@ key->flow.dl_vlan = htons(OFP_VLAN_NONE); } +#ifdef NS3 +void +#else static void +#endif set_dl_addr(struct ofpbuf *buffer, struct sw_flow_key *key, const struct ofp_action_header *ah) { @@ -220,7 +236,11 @@ } // MAH: start +#ifdef NS3 +void +#else static void +#endif set_mpls_label(struct ofpbuf *buffer, struct sw_flow_key *key, const struct ofp_action_header *ah) { @@ -228,7 +248,11 @@ set_mpls_label_act(buffer, key, ml->label_out); } +#ifdef NS3 +void +#else static void +#endif set_mpls_exp(struct ofpbuf *buffer, struct sw_flow_key *key, const struct ofp_action_header *ah) { @@ -237,7 +261,11 @@ } // MAH: end +#ifdef NS3 +void +#else static void +#endif set_nw_addr(struct ofpbuf *buffer, struct sw_flow_key *key, const struct ofp_action_header *ah) { @@ -268,7 +296,11 @@ } } +#ifdef NS3 +void +#else static void +#endif set_tp_port(struct ofpbuf *buffer, struct sw_flow_key *key, const struct ofp_action_header *ah) { diff -Naur openflow_089_mpls/switch/pt_act.c openflow-new/switch/pt_act.c --- openflow_089_mpls/switch/pt_act.c 2010-08-10 06:03:53.000000000 -0700 +++ openflow-new/switch/pt_act.c 2012-10-07 08:25:49.000000000 -0700 @@ -6,7 +6,11 @@ #include "csum.h" #include "packets.h" +#ifdef NS3 +void inline +#else static void inline +#endif update_checksums(struct ofpbuf *buffer, const struct sw_flow_key *key, uint32_t old_word, uint32_t new_word) { struct ip_header *nh = buffer->l3; @@ -177,16 +181,22 @@ if (eth_proto == ETH_TYPE_MPLS_UNICAST) { mpls_h.s = 0; // must be 0 // For a set of other allowed EtherTypes the current label is pushed as 'bottom-of-stack' label. Currently all EtherType values are accepted - } else if ( 1 ) { +#ifdef NS3 + } else if (eth_proto == ETH_TYPE_IP) { +#else + } else if ( 1 ) { +#endif mpls_h.s = 1; // bottom of stack // also change the Ethertype to MPLS eth_h->eth_type = htons(ETH_TYPE_MPLS_UNICAST); +#ifndef NS3 } else { // // To Be Discussed: when the ethertype identifies an Ethernet related payload (e.g., ARP, LLDP), should/should not push the MPLS header? // If SHOULD NOT: this 'else' branch should trigger some specific notification e.g., to controller. // - } +#endif + } // next determine where to get the ttl and exp bits if (apm->flags & MPLS_PUSH_TTL_PREV) { diff -Naur openflow_089_mpls/switch/switch.c openflow-new/switch/switch.c --- openflow_089_mpls/switch/switch.c 2010-08-10 06:03:53.000000000 -0700 +++ openflow-new/switch/switch.c 2012-10-07 08:26:40.000000000 -0700 @@ -51,7 +51,9 @@ #include "rconn.h" #include "timeval.h" #include "vconn.h" +#ifndef NS3 #include "vconn-ssl.h" +#endif #include "vlog-socket.h" #define THIS_MODULE VLM_switch @@ -79,6 +81,9 @@ static void add_ports(struct datapath *dp, char *port_list); +#ifdef NS3 +/* ns-3 version is a library and should not have a main() function */ +#else int main(int argc, char *argv[]) { @@ -136,6 +141,7 @@ return 0; } +#endif static void add_ports(struct datapath *dp, char *port_list) diff -Naur openflow_089_mpls/switch/switch-flow.c openflow-new/switch/switch-flow.c --- openflow_089_mpls/switch/switch-flow.c 2010-08-10 06:03:53.000000000 -0700 +++ openflow-new/switch/switch-flow.c 2012-10-07 08:20:32.000000000 -0700 @@ -43,9 +43,15 @@ #include "timeval.h" /* Internal function used to compare fields in flow. */ +#ifdef NS3 +static inline int +flow_fields_match(const struct flow *a, const struct flow *b, uint16_t w, + uint32_t src_mask, uint32_t dst_mask) +#else static inline int flow_fields_match(const struct flow *a, const struct flow *b, uint32_t w, uint32_t src_mask, uint32_t dst_mask) // 3rd Attribute type set to uint32_t from uint16_t +#endif { // print_flow_(a, w); //print_flow_(b, w); @@ -170,6 +176,9 @@ // just assume that there is a second label // the second will be wildcarded if we match on only one // to->wildcards &= ~OFPFW_MPLS_L1; Do not clear WILDCARD of MPLS_1: It allows the controller to define "ANY" wildcard on MPLS label... +#ifdef NS3 + to->wildcards &= ~OFPFW_MPLS_L1; +#endif if (ntohl(to->flow.mpls_label1) >= 0x00100000) { printf("Invalid first MPLS label %x\n", to->flow.mpls_label1); } @@ -177,9 +186,15 @@ // so set the mask bit if (ntohl(to->flow.mpls_label2) < 0x00100000) { // to->wildcards &= ~OFPFW_MPLS_L2; DO NOT ALTER WILDCARDs +#ifdef NS3 + to->wildcards &= ~OFPFW_MPLS_L2; +#endif } // wildcard remaining headers // to->wildcards |= OFPFW_NW | OFPFW_TP; SHOULD NOT wildcarding higher layer flow entries here if we insist on original OpenFlow concept (i.e., cross-layer switching) +#ifdef NS3 + to->wildcards |= OFPFW_NW | OFPFW_TP; +#endif // MAH: end } else { diff -Naur openflow_089_mpls/switch/switch-port.c openflow-new/switch/switch-port.c --- openflow_089_mpls/switch/switch-port.c 2010-08-10 06:03:53.000000000 -0700 +++ openflow-new/switch/switch-port.c 2012-10-07 07:03:58.000000000 -0700 @@ -25,7 +25,7 @@ void PortEntryPrint(void* a) { struct vport_table_entry *vpe = (struct vport_table_entry *)a; - printf("VPortTableEntry:\nvport = %u actions_len = %u\n", vpe->vport, vpe->port_acts->actions_len); + printf("VPortTableEntry:\nvport = %u actions_len = %u\n", vpe->vport, (unsigned)vpe->port_acts->actions_len); } void PortEntryDest(void *a){ diff -Naur openflow_089_mpls/waf openflow-new/waf --- openflow_089_mpls/waf 1969-12-31 16:00:00.000000000 -0800 +++ openflow-new/waf 2012-10-07 07:03:58.000000000 -0700 @@ -0,0 +1,162 @@ +#!/usr/bin/env python +# encoding: ISO8859-1 +# Thomas Nagy, 2005-2010 + +""" +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +""" + +import os, sys +if sys.hexversion<0x203000f: raise ImportError("Waf requires Python >= 2.3") + +if 'PSYCOWAF' in os.environ: + try:import psyco;psyco.full() + except:pass + +VERSION="1.5.16" +REVISION="e6d03192b5ddfa5ef2c8d65308e48e42" +INSTALL='' +C1='#5' +C2='#,' +cwd = os.getcwd() +join = os.path.join + +WAF='waf' +def b(x): + return x + +if sys.hexversion>0x300000f: + WAF='waf3' + def b(x): + return x.encode() + +def err(m): + print(('\033[91mError: %s\033[0m' % m)) + sys.exit(1) + +def unpack_wafdir(dir): + f = open(sys.argv[0],'rb') + c = "corrupted waf (%d)" + while 1: + line = f.readline() + if not line: err("run waf-light from a folder containing wafadmin") + if line == b('#==>\n'): + txt = f.readline() + if not txt: err(c % 1) + if f.readline()!=b('#<==\n'): err(c % 2) + break + if not txt: err(c % 3) + txt = txt[1:-1].replace(b(C1), b('\n')).replace(b(C2), b('\r')) + + import shutil, tarfile + try: shutil.rmtree(dir) + except OSError: pass + try: + for x in ['Tools', '3rdparty']: + os.makedirs(join(dir, 'wafadmin', x)) + except OSError: + err("Cannot unpack waf lib into %s\nMove waf into a writeable directory" % dir) + + os.chdir(dir) + tmp = 't.bz2' + t = open(tmp,'wb') + t.write(txt) + t.close() + + t = None + try: + t = tarfile.open(tmp) + except: + try: + os.system('bunzip2 t.bz2') + t = tarfile.open('t') + except: + os.chdir(cwd) + try: shutil.rmtree(dir) + except OSError: pass + err("Waf cannot be unpacked, check that bzip2 support is present") + + for x in t: t.extract(x) + t.close() + + for x in ['Tools', '3rdparty']: + os.chmod(join('wafadmin',x), 493) + + if sys.hexversion>0x300000f: + sys.path = [join(dir, 'wafadmin')] + sys.path + import py3kfixes + py3kfixes.fixdir(dir) + + os.chdir(cwd) + +def test(dir): + try: os.stat(join(dir, 'wafadmin')); return os.path.abspath(dir) + except OSError: pass + +def find_lib(): + name = sys.argv[0] + base = os.path.dirname(os.path.abspath(name)) + + #devs use $WAFDIR + w=test(os.environ.get('WAFDIR', '')) + if w: return w + + #waf-light + if name.endswith('waf-light'): + w = test(base) + if w: return w + err("waf-light requires wafadmin -> export WAFDIR=/folder") + + dir = "/lib/%s-%s-%s/" % (WAF, VERSION, REVISION) + for i in [INSTALL,'/usr','/usr/local','/opt']: + w = test(i+dir) + if w: return w + + #waf-local + s = '.%s-%s-%s' + if sys.platform == 'win32': s = s[1:] + dir = join(base, s % (WAF, VERSION, REVISION)) + w = test(dir) + if w: return w + + #unpack + unpack_wafdir(dir) + return dir + +wafdir = find_lib() +w = join(wafdir, 'wafadmin') +t = join(w, 'Tools') +f = join(w, '3rdparty') +sys.path = [w, t, f] + sys.path + +if __name__ == '__main__': + import Scripting + Scripting.prepare(t, cwd, VERSION, wafdir) + +#==> +#BZh91AY&SY< H JH0B,aps#]vzW;-ʹV:.X{7ջknsVP^}m2kP7ȗl}Q;WT>vzځ˻vћo}|1@";;ey㷣iop4t[{lՃMO@z4٨" ]*T2((5C*-}ugsYqQgw-ʍ4Vxo;ڻȾom{tv뷯^K[#,y{ކۖw{0ѶuAZH5.;bH VݷAX{jXUaMm۫YGn=u]}nnNuӝ!}7k֣xǭU}J7cbr⚠oEO>K.}>jEvwofz׎ znݪUլUj|ן|>Ogwo}ٔ|旵{۾3ywn]:.%ݻtɖ=wz{̀V#,JK@nu [AQs-]N 2es6헃)}n۾PQWy׸mۺklFyWoUZwot|ܖϑ;rNF]k{}}jms󎋱y=MrsE)@rvDX>ϫ]ݺ޵kfǦngmȒkZ,mIݶ\h)ͭ۷ݗWZ+ӝ_ZzT:]5˞}=l[\esNAL&&M 2ddz=4A @4&='<502C  "d #5mh?Щ&4CLPFm@ =RF2S3&5hFC@B@hM&LdhLL54iC#,MDB&h#5m2(Df$SM4h9DW!0FP`J2YQʀ~k˕rmȒt=VK, h{?_HPi  %Hh%eb*m5i,AX՚Ib#Fl#,&C4E)C5A"JeZl$ c+S i%"V%55 M52KRljJIYdbMcJM"Y1eeQQThƪXI3Z-EZ#,H`ȖƃZ,!l[EDc4b(LX-MdڙIVRkMզMc635ҋ#lU4JQ&Zi1&lL*Vf#5Yjk$PM"4)$X-- QF#,(FQP"dI$F6#6M`JlZ,2JfhY,e&K$24lRZLbllђjfً%$`FBPE3 64mdY(ٱ526-EŦAlʣ2b+hєhJ0PE3`X2֒A -04"i%hSM&+%bZIFe $ŋkƥ5meE4L,XSJ$S10)"C3")2Q dh6C[)0fDMQdȒi506Q2T,LF,Q4L(QV@2QҙF,,`eE11QbIKbb,2H Tڔ1EhjMبMbRYJi`iXf5%%&b[*4 %QM0,b5$fQIQ3 #5K)VX[ҔL-&5i*[clUQd6H5Fm"mj#5-Df-H)4*h,!RhM%Q2 fF3 1P5%UMjCbF(%1YIPf2BR,@ P#m+id#5QQ#,#aM5!d(LѤj#T&幣$A&eF#)_{s]#5eX#50`bcn_yMJJW̾KxDy_y駣s!!I?k=+Cٳ3)]u#mihcgd*`h#,/&`4ZdFK]hT1(*twHr+jvBҚiuAji!fM~;;QI)xbF#5։偷v'8n2qfm}w.nW6n#,̅blE8N]Db/qkM-TN9>q/\7:g`~Īߕ"YBo@#ӉcA!"5NcJ֔সB !kUKd6p3؜m+JՁ+&2~Fr4v%^p\s#ڇNT  dׄ)&F ̭)_*򖴾gNtC*j4NGdg9?i%! SS ɢ#58M*+k$P+wS4LiKWBg%#۹='-ln;/h͇<_+Jz(Kxq2EnLu֬>WǃqOl%$:a 4{o#9#,bWJoZ ]zn߂(kƉТmT r5E)GFXHUUtPvl"~`Onۤ9c>vb !,KzCC|fg{=7钢I"8e_`Ro:VQ~qݔew xymPP9e|[>n޸3w6Ns,np[",!H )'c PHg_bO';z6B<ўipKi+;[ٹ)~3~+מyח@a>}!B!,=w0-]AjJkQfU #5dvsEQQfW_u]xjiaMqH|a.mil;ȶÂ[z3g*Qw?c#5Zwd'LXBMk)wM[gR0M84y+qa8(&d]0t-z>9GwYb)A]#2#aLջ`}ha:A3I*;Jl&I&HTR)WmzBGEPl?u6ndי^ԛS=PpL%zw/FįqPl̅$~6W'٘#,GuXlhg2#A8\lU+#Wš3tfHJQ=\N׉2#,x"i}TzwyYM@:J~ 1dxfjer;5Ng Lo~bcEf4faC 8AՊZ$# ugkQ /u)2 µөF#,ūRB#,"/PiID<lLS$Dgg-ҍ;󭕄@)1Ƒhq"!Ƽgf6k==fKp7] ֊gύ[?{YI(\8xQ6:PɫpH _|îF?]/POʐwmWM vh#NMį),#̿YQdQQL :UCz㤷h[/<(0_!jkuXS>kl1)"#5{*?:pJMePRd.\7|7ܟǻWKfU/lS% YyC+Al TqeBIYgH~#5ti領xd0f#,y.LtOj<&#,QX6Ѯq4#,i¬Z0@>.}#5GSӗtų!m֓n5턕ֹ6QXzBM|[;xQꤙp;穬^P)!""L۩]fqs1߳]Mfٟc:䲤Dž/3.5닇; |G1(%vyjg0H@倡{F]|SV_7{QNBԪ6[TH(C|L !' ct,l(>MqŞx-;9Uo>8k.gkqQ#۷hE%oUaZbBȁ!Jt e6 N,u0~3uQrX4ÂcI?Q*MeԩNmE"{wpk*<7 ~:f>IVYA#5G1*K:?z.`?[#5Lȭ@ q2WsYٌ;uwÞ#[-T4wn^h y v! @BF@9y r$cmJ19NI[;nٹ9(qИwSW>l>h L0@=Q.JHo"O \`.)@WM—  xieC PU2€Jɩi?2/ 2y]gQ{đCJ$)M)TU2 6,N^'P;oa. 6{V(wFߍd~,0@Qu8? >{w#,(g,hM}݇xT `n&+P>ٺiƿByP;}I{zC鳗fn]'o??L)$Td)c}3^䃫-o)mu3`F~~eoqA_j-N5/llQbۼp ˚ R;r OWE:Pv,@^7#, !sV[ʆ$.t9=tzq#,CXro~y1U@sUҪbf {>ApD/[hF>,KWI/d_C$a~qH1qr4:Qsd] (< uUZ'錫cs|wm)cJuU42s߫4.nlԮrt"P}oVKS#5 ξ,KU9˥k rbs9;gL׵MݣMMsѡHܓ(UZez^UYՐUE?>o8*{bkެAl]tQ'uDTTC޳5~Nd,s7߮tl/hʤG>pP~Kw6vpS$1)$`F2\{7Yoysύfns:6ny_E~Ѧxp0,;PH/7`rT#,v sS)>o5|bP&1stݫkk4 7g:k"<n ˘/eۖ29W|IgŨq/)ylZz_+CMMwM܎+( adVHE|t;k2l;=s<>ZS?+}F `x'Z]Q!?:BJuFLa2}"_8.h撺s;VT3c#-edS)#5OC'ƺi(*ۓwߌ 1t4#, ̍1 ?+(BSyH7Jİ2GNCȀTpQ5p#5sfyJ*gV@Q>m*gk~^ #5NUН̏Kb4fz؅?ڈɎU&a!&u铤F+]K͑`a-iV~u3@aU>[vGxŨ,(wP[xO;mmH~/kxAŢn)Cn*-~5^i\E1iyvU(3Mԛx%ޡI߽i9Ü{D`H#@С1+KA_^0؁Vxr>HbǟKlgW0{t!&獞qƠޜX.jh-t"*Woߣ}<2yQf#|Ax,P`D1QB }xNAjaLs=bLqgvmKTYCw;(,Y2ֱ]zRW K~|Ό#,E*)#Q;Tolq{#fDq@>RVMV/^v-7o<3VzGDXL${X 94"28dPE8cZdmel'?ɫn xJi`84$!6%U0h؈db'0:I0Á1@J8&Xݖ,n,ZΛo4$ݕ60x'(KO`nJT:ud쫟Èv)|lA̡ fd e56iQCs)f={[ʿuwqsΡ hPpL;-q~'.[#5ːȀ5: #55"ApU 袌#_|٬SGO? B@A.kr@u"jMsgFLtBoCCtL$uOokScR1T7?#,VN+lYDMƻ_r L,hp> H,<#50;S!9$7GK qvL#5E9\@_Ϻڪ.9^(@4=-$r9XVnZJ)UDH!mTl_uZ}Sie11j-jhagP/-WiK!×)󆉙(?7t߰e2??#,{h~$&\ڛ8uK.ҿILj-x曈sc`t2BCѩ:Q%-u^,!ᵭchm/ 85guk\^ kTi+Q!B#5Nb݃dbWT -+"߷w i]I>˕,cP@HPi9"Ɖ 3WId 6ǚrM "XlI䉰4رY%kܒuztmĹNݴDeWLƱ(1F"|4wq㭁mBD쬴oTi8`b4#,\-s!ͺk2xC6i˙/SR!a2jA "jU @ XL !DvIax)f!dgT#64tKFa͛{t4D=1 vm5m7L5SMO70/x'"Vhϟĸx?N-3" :5xV$X|Ry,5Ldi?-1hάRgq _lHD]0֯G.,eѹe3eVMw šd~?yп5 w- b>O fИe7znlz< 1>=ȋ@B6|BfRJ%$ 9ZkIۏR_qxKb낥;[ 28̬5ǟK0 ɠ&gq!LrCٱn} _rUiГ J@m$r6u2 + ކiH0nM,b wZC[w#5kn;X#E tBFø/J4s ϴ=pu#,Ik_go#,iѠ.=װזgi>+"PwUA Cu}uG]}y`w'iO#,.ysi*Rg$  k_C*bGrJ+5I8ř8,z7&-t@jA%=,#r&9j+]ғ)l5d| ML>\kry<H8ף@xr >msV4۾zo-O#5N[tQZGrG-]gv ~ۣצtP|wdh#5<`<bˋ;mv{=8jB!@Ղ6OK.R8rGTyBՌyUV#5ԫ4+Ma5O]D%S0FeHa#,cN6aw<-SdWؚH#5 ƏH*7PŔwuy#"2)};k V*u#,RPvh4| BҐ1uΓo=O)¢]!M($0&=cLnӈ$H[_kIn@RZSTT]m2 d?I#,*)ܵ"*0(i3-q'e B lc%IaK!Ǵj"O7nF`џ$j#5'!`LjE!P;<ꝸ*S=bsyI5м6s\ސPzް<8w~b:CIg[R:ȯPG#Lg൳P "! LBC4@TQ&pA<{Ɛ2"oᗯsj5&Xb?b&YFq)QwMv>nQ){})~botCxcTD;}U%eQhҡ>΂b~Yڣ' Sqp,0C%$<$F&ϵctaV"kUR6~#5&;?G7v#,7~\P;]R(uTkuu"[~GO w 1NWbQ[FI.h]6#5HOa"FkG/H#5kℳWN[ ңXzvmRj&yxo9OHsnz1*>N,rձ趺^O| O$e{wtY~M?(5Yw3nJFEG"c[WO FLs`A#5ܙcF\9olGGy]Z~;ƿ]2QX)?o]W!욻0󘺻hR_Bkc8lR)C^B$X^5T G5$ςh鯗ˢA*ӧ6x7_@?UewNB=[Ǣm.I|4'fkwIwhfs6FbζaճS^>͍EHg|= e˭,W?[O?W(iiǃWv&%gn#5~j\Y-7{MpAr>8&?7DiBڕcV[BYZ>MjxP3k9G :N"˖_=89#PhQm'50jΑz[q ?u߫|%˝ctEn)hϟ"Ԑ#J` '^!#,MUWFF^sӻ>yJy9;<ۺ;>x~"` |O~0r2}Z0|do<1ZDOģkk@{)@X2"pr=#5 W^̱n-?BBf8㿎{"|ܜ%~?9¯A#5ht{#,+ZB".#,FwY_~Ha7?|@BXTo3Ǘ@,(f|~ϗ:{z00,PU&$ci8aH(Yu{ŽAD{D)#5hrE2af;GK?vfLQU;#p!?TTPQ#5r1nqi-1ӛP k@7o B@'X;-5?_ψGYD45GK,1vȟ$fەg ZX-S^Kc0I&5WOyƯ!?:vR8_JL=] ;~957vYU{+H|uރVo'B#5/q*~1?|wڄTaM!>~]c8~-҃SA(҉5G@»n`4hήӷ,dԽ8 %)ϧsHJ=4,QUPKMnNT9{`($Pw~\lN|cs:dVׅ b#,f!yGa^\z!wl1Uwϒx&|0p4K?hj`,WΏ\=!@9(OVn/@'AY8xuu4Y]wM%fU CxG#eܤJ!hH9;v)]^Z۷iȨwD(l%WhN?Vq}4i?{Gd{*LJZ@b#5 %hB0Z",71eSAP vBTU0lQ)v]uI G4ѧK43V1l8<iA>rl}f1VQRXMs}}~{=C5=Fzs $hiTB2 4`Ȳ#,Qe)s#wAꭽ~zi{]#fl}Vb1j9 e8,e?]>(碽~'|hGc4HѯkE5͟ysN~Zz_?+ŒSǴ##.zuy(U޿wγlh$X+?5Uݣw%a0 1f#5z8~!b<}C]+ݰ_x_sa ~Oh:;#,EBnA=}[oZ?s}jJ*K$7QZhn'caV7@0A@Sl;VgȂ ]2FtnA+°cMؘF$2;lnθe7`B2֤=X̦c"JC#N"4N:aVrh9KJ!řMoڂ80#,sFO-.u`ڶ\5X+B8611ƅ(dtUtXE%^k,0!7DhJBi1ī)[RFM )wge$jw1#,KanF6Bee5FЃ 1xyT4ٴp}w7-joS=((*~u@ʑH%DGԽӭSJP|O;o0S^0} S:bkx#DŽP`?hpP0Ngm s9SwxE9{QʜUb !Ln#,yK߷\⛼X!-հ慜,TcoP")sޯ.ǙTI$,fBS_]Ɗ^3~̞\#5$"X"9뼙OÞ>eͶ*+=uh .0,WNV Nl"4F#&&@c;DIF@`@%oQ0|}?1Ǝϻa7nΚw+>2#,~rj6(+J(`D0U*IۻЇkֺ1cn`.szY***. B0#7jQok}M-q\!Z/#, ^A5"@Үٙ(5!!f%LPIӣc۲v֗]w d;;x2:#,;P"jiVčmcZ #,XҦ30"Wa-2%-o-2IrdO016ޏ!_W:BCZĢo{&*#O!xIbU#, A`Y^Gͣv ck[R [8ETS C6=@3=l)"(D.l5zErUe/f#DlXbg,1VPJ։8Eh5]d$ȨbpCw뿳HΈ#583W8k]۽:jjuR\,F{`miRk{ٖyI#54l\WN^ amVa=ǨOdJȢf9k"xt4dqllLhItPz26,H(#5EF홬) FP)Gv1RsӦ8 l*004 pαtbJL$*ğn~)ҸC52(/$dlʌ3݁t8/U#H~GKtܓo-zqzUNV#䛬SN^-(cd7{0۫&7O֙f2YMwIaHpܓk^7Iy)(@zSr퇆wwVu8jQpMR(J6xCjINmBl8,0᫁" DY tފU{,ؚ Y?Ezan<5['\iPiig׍\vâeK“-\˫6M=zhmlSCUW#,#5&RS)'6M]- $)M4+߮/v6n_bq򯶎spԝ#,KfA66:FLw q?vHH;B\TY6BNAh6 b{e+MgN,PQ: H@>PnJ谍)IӒދ:6DDBN"8N4#,4eًr<X5RER|6~>&5Af~.!]m5{eUgoi)ef; /#jP7MUk)fELͪlÒrFo]8/B~UmmvgSQzDoX>O0﬒pBU%YNQJD.uv]mVM؊nNRȸ*͠uҦڶ,'MTWGv5_[Zv8MQV5~,AaK]S$C'_b\B;ÍVS*mƢeK#;Oy4tV^Q[Έ 5T!Yn1XJuߤЅyb̺[(+76<>J=O'#,K!\O"[lX-3C;q؉9$>=DMk(Q{3mIw!i٭H@9i='G90A.lZ$WsːwcwqOC29%1'T3pVî]e=.I۪bepɕy!!LG76)%@$pK +$8( g^\I2RJ>fj4c߮d z** PE~E"ʯ3^p}xz/ho Bo3 :,&C0qmb2gDqP;/㴋'[~jX0gk$ZGwp]9af&ft"um K)}v?w#fF*h cAKn7|,8AYO.'{|4#,Df65aXi5#,Hk0{ O1%{ɛ=RwEVխVWZMN8{liZclARD7*%LZGJsPFLʨ[0ze#A(&KA[r7Am x5sUn@a,{ {t咴',c#50v . 4诤(݉M8!0釅M80_.#5jڃFvh>$#;.V?f"gOзqIh#}`)3+ʨw-z{hίҪr,L]Ndgυ3 ":R)*~:uX<3;JQghaOyut<5+)8EU, =JOjJCdUG5} W33C}Lb461 Xw-8!!fF,ZDMG'q9ijngb7|9vOY:gMq8#,ٛ*M#mɗһyƻKu#5c)IUzccukwI2MfRġdVΝva2kU~HלMJu R;bi+nO`H`kZHS\*ׂEYȟ&U ?,:`[$X>zY1/_ M,~*Zo7cruc:Ut CdBB5tH2.;gJF2;V/PA-6D!B HЁ"WT~:[W_eql"G]a:)Cǰk%ΊZvvZŵz_e-/Ba6qD<p]XE*%v&۲^?rڢw:Eѕ\tf ?t*sXU&\ 9bvH,"Զ5Fl$rfZص[z[<>*ϭ-Z&|`cTpvd=E~W|;vne\AZ$)]i4Q?x/6ϼQ\J!!)BӢ4R4+5$3-@q7G>ovrSY4c3/3?n~l7~mM|:co1l+(Xl\K9c=N7Fr羇ypꅍu]灓+Et1ݡ[Q-F~)UmE3 bNQqR7ѢJ1)(0J:fwάIŠYٖuE5:)@mR"{ʧ[.gEGp#5,v?Q#5YBCidv3XZ  _',8*,$s i ϰ#q}49w)SՐ[ǬȳCͲR%0%4oR*\x(|hBi}8 Q;F)LWs;jƆ75(ί@E6B(2ŋ+4-YGd]Si}r'"~|Y?)GRrE^m9*CZ/#f\#,TX 8p,dD ?c%cNkJW'>)Վ|[0 H[˚Xž]ZN4{RƗ^YQ'+U(NPTIeA-y%m*zOhf45:@E]Ud0r#,DzǶmQWlTʕ FN#,#5sܧho|pb!YM *3#53Yy,KpԷƚm`sMǮr#,X7s>2GMw)5Ҧ*?EǞΛ?%r׾uP9a. m^ D_#5JF4 w>Ǧ=:$gxƍz?noV&? _[SƿHOV8h:y.dNH:x^<nM7տeʺYת1V/\Ydu?\8 ӳ4- d@M!(>v!!i_oI5OAG?>Ɩ].|y6N*)奢CǿZaE"[}l#)M^RP;7Fc@4 E]1F:VN?}T޹`K~>O>O4*fy]|{/樧ڸmˌL#_[Of&|f޳1'HMC TЍ#,5{L/Zv}FBר59s p P)ZEǓ|ׂVZ=Da߯z>##~#W}Qfun|z[#5}mN՗P٣.]|f,n0U\`!QlC|?#5M#äNjSm{e##6?1./S6c(}p7`W;^X+X/+7U#;$u5 Ζ@&~iI`Q̽q =Lqb9U{_b^.E&L]^7K-=2^06yZq.d0Z=V/o wo kNU[JbK*VSx`OTGD{l:a3Gwbk/lmKm9p"3uFgwGАsH[4$VX<iCJ$ˈF\z߉GS&y^Ux"s?y~6"@`?%Iŭk*pt'4X":n= +{ <:A!u0{bUA"&L>|l#5e1:5y3mi+rJ._[|P|6̞HGy&n74󴣶b]ZtzCluE!(J9 5nv:ۿn섴-&rp]N6Nx&1>uGT~G$'fMtiG4='Ojzc=ÞԽ}0jV<[xeMø12L|O-?|BnYxm<!ejU#,0Rt'fCD1QIB(8~r~y#,B=er].?rmz]׋p0mFA1wWH7+rێJ\;ѰxWO^xpK#,7_.mOP&')AHԢ=+ ;QP q8S*ɜFq]P1s,ԸhXC>m=Pm&f.GAw#,oz?7hZ@˶u>tUYwdaIfJM|8oǟw'Q;EsL-N#5" y\~wEoU]3:Q˙ 푆&jeΘ.sC!d)o_T:l(ҍ=SttVyp֌γ@ogͮf_c"і~6t|s:>9?yS~qhH) ԣ&4T*T2qAݖsuXDzm EqTX3jh0Y!N=U)ͽ uw;yGB7o2&G~hퟍ!k~7{vi 0aIAD1D g蛔I[k\-D=SF 5i p͗$B‘":ȒJ)-&dLR@* L-RABf`]b)&:N&)!X#5G8] #5.Ņ:m#5RB<2F_x#,F3_Uש䖯q`Cgt[ܱe;f|P}Ӧ"vcN|ͅZfSGYv=:|ihaFvUKyZ7nrͮtng\pVE;b2hp˛O:0{ڟgu]ηk_#,n?gg͉ B/Kx/nnKU(v"#54Lb#Y\'C3LԙTc͚6~M0Wb0ݖIK ]&}]F_(Q`}㖱Ytj#, `GjhPJUxxX#5r3/Ķek=5\÷"RVw#,SךE2#'xGgM8}3C|Nqijkn6FB^cX; |'d<#дs#[;<*ΚҧCd|#54>dE"ߤ/!AE>ۣkymH\u@@cAbTqһl4?(1VHnKgM*gCgA;aa䑬0`#,;?QK6L#5M]Ҕx%'SI.s Ċj{DP>*.p`T-+\OQP/1#5ՉXpߍ`RRsc$`5 =DtY'e?؝`aߟIཪwqh5LB=V #,s"G`P44Q_$C '2ðuKdꑳNDռAPA)~G: ~*r*I5Q[:T+Wt $>Mt3j []&ab| Hg_Ԍ_9"s1KՕ*asT541TD $3&;;4cVv4VN-i}8hӵ|*p,1l2iR9J ѹ!3Ҷwae٫ILسJPs;tz:ۻ S"AӀCuؗx(kh2DF=vH%w 燴d :J4:rK%&6 eN*:.vdf"PNgqë57#5p#,g#58˼Spku(zZi9Hٚ!l")'(q<ˏy' ?{ZqCoP7+#=W=X11q#5}+-H7 "كL ̯|a( 2m ܪ8xH SvA?̭و Φ+c#5r@̛׏<]Z QD@ji:Wc֨޽zp@Ljt4>S@3I@/>"2 #o?_)6 QK/#,ss*n3I}WPhqݨr9Y1#,Bx0gzBW\ښ;O͑;K \#5P|.o6ö$HCYgy vb # :l⇧h8 9.®4<`8h}My,F(XAa0v]1$쥥^MY=XK)Kyf#%N * #,!5J*mPǬ1 q` !7)/[wuy݈\ѳ%ߪ5h;r1$ ">v1CZ×iBk'C\ viOK>R0ɱF, <ТmXӞL=Χ歃M1}O6}a0Y70/^↍oo6C 9FK5I3yhӴ2=ӭrtyx{/փ֚IBk|c朐4q[CTaB uɯaP1l?.- rʑk(o5#,$C ǁX'Wr}P$>vE705wLS(R@df2sX +\>~1眮N'gطpFU'&˯KvSgR|L1'ldH{Y2U]5μ9ܸ˷\ڹCLϫ.#,O`m| k 0 \j$aҙ;O>^߸>:x ZXhN;a{˯<bx.x7q3㷆N Lv=I'/%h4ӂ^Q=rV^|etID4i&UPi!{$soO#Ilyk2㘀&@(@z|'ёDOu!+үFՍ v0|%R!5Ym7+PP  /LT/;*WŘ) <3ر'G]u'{"3Kȸ88**F@[OEXFxDvWtVQo?,߷,M'710CT55۱:O?{@@_ߔiTkJ "Ȱ1_3#*SeE0=&pCDl4WU;ș#5-Q@a9&m-2'pI*9?K($~yᝑ*dOE N_/ߍ#@~͌c%ܴQ*2BQNlqH  ~$@J1T00ɬ `H '' _v֣Xm깶n"zpW|.RBvBd2CF67֕QWǤQ얿#A2E~P&8U#.AZRIϸ2p{/]'fuך&I\3!C)o}ZFxr@ aiJ$]g'&E͊C#5A㞥~XO@UW07 lG#ៗ7 _XRצ5jllJf~baT0H a!ǿf6L280a;A/8uCB#bP E:<]\))Ǡ1&T78ɵΙSH1cq)>2Oz{R6· ' 9REX_x Uy B,d x ԨBxݢKxdi^ʅTHJiM]=*&;7xR%}8 sDnȘ )B'<~J hzll<)Ô0}ٰ3_ i(QgJSar얷y(rpBxP?k#,B=W#wBvAj4T \$ώUPKy⯿ڜܪ'u3_*́GUtA펂H/րEuqң7;f]4_[_j'Pj@;_J >P,AdHl~S<}:jLl? 0]0#5uz_9}r{{|t.A׼r)+T(@UhAnn@CaCh0wb* P8w7v'P'A+κ陀R*qx"Z )¶X߶#5r$>!r잯~C$OwcB˛d6pt7;YHj1r1RIMx@Y*W|q'5aap)R"uOfײxs__Ԇjm¥I5P1/E=?S= z묢\/A#5[ݰ#Ej956;^%d[HN_ɯۼ #,qGr87S}?} y噿oIS9lPRYFJ$`g9rt$"Vs$OCɑjhj:=BnNNY-g븾um=3GPw<˺ CTu'x_K#6v!BJ10׏I˺AFxhR\ ~ h y9[ZG!t ߺwrĤWP(#,5 kBP08~':5X!l/'zWM"uQ7w+ڳڞm;yQ~fӘnjdYj7S83,#5]t]hFjfD)hD=2~:Gьn/i ×oa+Xnz_tf 3<76jm)*ևvnxߕ0vkgFnK{/HI/vK[T9Z:q-U!qMS/g^q춑,)J&gF1؜BPzä~Oz0?(:+,%EHo٩#,/W8&N,Jَ`}v}_Ϧo׶sp}{8z"KL*{x[^ҵSGJ'S>5 ľB{)NN=-`G#z/79=mNoTvOV0b Tg4x*ۙ]4bDU2WTfWIl&KqǷ#_qȓO cj@#vZMd&QaEOuA) ᥚe5D=,4$3V盿ڬ2u]WVHGAy^M;^yRbgKyI鞗iQv/mb0KpQ6#me#5Kfg:][hu\6g˜E.*ۙXW'ƥY/Wث.Wz93t!hb31)#-pTj[l5i93;$ϵ'MI+*w[!.Bs! UJMhN#k"Wp5ELYH#,>*O{QR<ꮠM9S飔Gh|Lx@t1.#,B";71l& E <f&|iGtUUM/k8;n {lPz>J~Qq$5 q04Q|oz پ"= tL&JQ,@̯vV,QFA )P wm]t.ۓ&pazg~yLipbUgO<48x0˄Lݤ{贳vrsΜ`1M>Gk4qf`BgVHwkstn|/˛u7wT0c᫭jx}x6 n.`Ld'+&~#,#,U<*QCi;[l()Ͳ?,QOfs'r=emx|ydDLqOƆx=I-dΉX.GA"A.PU} 飿w>˖(9~Ho hɻy _!Aف}5!GGRdfCvcu>ܾƧX5gs=E?-en𓄯FWfTȰYoiMH!&Nb#5^`$Wޣ7H `FRr#,KY쐳#Y`3=r.ޡ ϾkD_7g7Py퓳-ξ!PcdehD+f~|) MPVQ&ABf'_#5 !Dn/zO)uq#,.]#+#5-+wM`Mr)!s7ShcD;]S#+cԡ89p! jJ?`|Q.\!Qf`G4XaxAT)=/Z^BO'W&I&/V3b4+ x-hlgՉ)e<>ok^kml'5|Y#ntp]Hy!hB2SokjlН38D:eFZw_ !ϕפ B#5SOTqNF#5G<_խ$*ӂeb`?_y>vWХ#5;b#,#,6^$O9e#lh#=(+?scY8u_ZZ(82F4ۚW[@VЩ#,FJ1f?& YẦPՂGɛs'~ǏJU4un+.YZ`Wk߰P%wGzCPgM%d$z{٦8|yNPO>އngaxVT5,HY_U\EJJxj3#,#5'*\Jfc SY[УUV64]JP#,sL#`sl|hn뽠d^նUQy+#,O/>^t@a7:\t޻Q̡f3y&A¯_]7= Cchm)FA9&OQǓG3koY:bZ,$DjV:q1ETkX1dasQ)L]= Re99$ [bz6#5 j0L'(㺺gDˈZ]ivFStEt P0 C]V` d =Y?9o]Gsvڪi$i;4=QUmbHsG),яXV+<|QF^#vc +}7,*1\&;+vt=դFњzS#,iBAQ"mo#5n߻`'NAN8K/I6vfxk4!?ķun5mџCB!^EXꫬ^~)҉GB6źYˆ6LI|(?HMR0xBdu9IMoovf*Gç1]% rZ|osUH~E-KzvBo RVi0ca*^ @-$04@I.8y:m 4$Cl"B4g"L9mỀX$1|YQX*4AY?jd~׍/o,߃)tGD;p2t5i^@G6/5!@fY@28E׹ś]`1*Os#,E19#١F?(snƵ6Ivip:kC4,@BTBY-#5r?nxvH$({P2C"?æCs emZZY0kl0)L@vw'#Ihp|;yhq|P󋑱Fn"'p:XI8L{'|'3)W$s*wi?=E-&f84wnH}:jKT7I|N%|bZ(P` '@V8nFr#5/ܶNó5qm=.KIt>1{IvȲnKڵO_&j(pBv,dŔ~l$49D?'H1O@C`ykռ(ޒ]E{v*\J<v.Ir$)fft;#,ky=Dy"n{Q*(zskΨk1 iI9 2#X鞎0ݴ|rI(R6#,3YsGB3w;76X.kFaTԗP 9=P! NίzASqãg(jWp1ʯT0 Xcgn5w4 cg:EQO|ye3 Y}qs 63AN໡aIkr 0^?j"l4p';\( ^#58CxgzǠ~.;˰7,>(~II#,geP {CyaC_j}3w:ņc_7xQ%oB!E,ܝpBB)A+#5 vy4,rMHGZ5`F;#,8q5ןW_Fȹf]t(ޘu\msڲ6dW50d6c(Nwnkӓ. mP3Xjn8>n'{H,D"UUFp /*JɎBcb'i G>yBR3#zwʉB$Ȥ%:HU-@T}2&!?oH^p{<˱2ļm[6,FkXn ЭN*6;;7I(ܙHYKfe$^Ba5Z8S .s9? ccHN勣cQU dx#,jq(!=^>Z`Y-<=!ۑ1U,O"E&U9x~ϿViwxw"{U#,cŰNԔ$>gOngYE{w#5>gfuŲŜ}U AUO廈~?/g1؀%'Os9^/g@g@&N}JA@=5&F|OLIf! Y3xg;ho` );9$#,R x5qZ@W+ʿ*HKA&Mu聆 FOO>{s>b|'0#,?q$*AZaI%UIQKxMߠ#"x|@#PSrMOCMn4Ig] pώ4NV>䟅 D_^?X?q"O0yN'0G)ܑI&ӯ?wX3_+ cs#,G ?x?>/(с@Iχ6#H\zʊo1s#5)k;hBn @C@_,Fxs~-Gofșz]YD0DU&Thج,\lZEhD\#5wlfv5#,{{ASM<ITRDa#,ujeS#D[Fr\u8CۺTGT(T#,PljR pHLytda$!j.hbA0qe[Y-N |KgK[(+2QbiQaY硣{G/2 CTǟP{?}ƻQR?,me #,\s Hmn>C.wO)#,Ojr 吚#,ki cw؃D}ư\ۥ{mQhLG*ec"!<ןKqC׎>OҲz~Go*`},2Ѝ'gaGMC懩 G狤rLn!}r9|R{V#,#k qa!4(vBʛN]@k2 c|-ُUu ]w4BNW69'&=;z7olSb#5k<5VfJiCd&߫9 3ru#Tf]Љ4JR/y~50}'xT:2Y=E}yp43^߯FFg!a<@چ&H1r eڊBEZ0L.=Ca!iNpo }aN^z#XM~x#,Ld噦F?q_M7cyr?5b|`dn^0ITύ%/glzNؽAK| =(tHed}ZLoݷ>_@HIYo6}LQO"2x*MXtό@E-6OP$8{ {H,"~{lyIױ=_埛}蒲+j|:l'gi( < 0#,w{wJ8,cC>^]?3[.>nQÔpٍ @ ߻xȓ(&{υTeH-&, af"s@!}a!K"Ɛl'8{d\bYH5gCY]@z}x0 R&.PQ]TMǼ= '[ӳ0@Åxݧ7<9>r$HBX''3f].At4ۡv {@W1iC]y|flt6$O&Ÿlsk$zx'g DU`u{#,D !(:t DHD@`4<9~Tʃ-~Ra@ #5SP:{C7x>S,s.É.iA#54Ex|f=+t*#,3f54$dF҈ P;'יRT%>I7$brSx'l64%^@!'~6S=C'` #5ORONAcNTTsX^rI0{a 5(E.3;Lkgp) c꒥C0/{#]gb0>O`$2Pצ "$C8Ƴm׾o6/mZ]54DP<(cbHA>O,$PBf>]ɹPKI5yE!巄P'/YOr_Fx#,X.pl=_`.x~E?0۠\MhrGϏ|(*JHM>tћJfbr !u$fUXLGpQПVf6ID7qϾUFc`Qcg/qטBK >I0o-iY7ƃo[r(~D]B:,@lcg{TgAx Rr܋1C:kqBZ= Po,DV)>3gRT._Ɩv1(22̱.AYH1 =;CX-9R0ٛvf4:^M@IH!R{LP԰|Gz;X'@6OHuˮtU)1')]^@Qa 2 Z0%R5Nf%D @ faр[bPսf~F Y7g7R4B6a5q`2غI].d8:oX~U=Dz#(t'CDnzr)& s\1BUR9S8H>S|!s+U??\@I_]FrnX.D}1ࠄpTT$TivGQ*M57-{NYkFQ);&38=\U:R1k?a P~sE;$6'c yo37}|W~ u_}i`+Ҕ4Ö#,Ff@U50Ƚ.>$Iqgg/uCx;ew,T)gHyc/g~ڃ!yϊ TU{Rr7yѽ5jǦ#,oMNl/Pӵ|33Ǔ~WZYZ"5ŹxCޘy,ʪ#5qjnfAKHqD LåD L4{uxl;ȳZy=֨h*Lc[+1Jno[2آ?u|KF#,wrvA#,M|C#,>Rvګy{H:l߶,,(CK[DfVPQMyjܬ,]H{1wo}}5kcuyO]<*-N BDN=syT4~XZOVᦖpS7wBGPpT&_ɲ. /`tϾNѮg#5,7EqG"?l|Zus1F̼Yru-I^?s荃:~#,jr[%hw yr'ePB#,y$<{"|1+Bk`s7lfp:E !9bsOLf!9ǙфKo3r]0t fC7%`0CI*>'ttP@IQM\ա.yx+J(W_F5$Zb6h1,<2E(jT}``W?UkPi5$ɕ#Tڊ(-?"Oޮs;KdD;B "K2v3m߇+ԁ{%5T_ 8R>!lhY#, M@rGzO wΦM:#VF`c JK~;g7Qt'g%F!)v'AyU+:cl0#,la2a \pV($IGni4I/!jDo%X2ʫZr2$񛻭g`σ̌eh6;`MDw1&d -6#|`٤N'pf};M! psY I~3OZbSyx`_Ah]z>35,ePF$?iEna{Txȏ)ly:Tܰ֍+DF'(Oilj@l]0~e >>>#Џ:\=hyQDV4,>K }t=>dO7ů崇 e<ra*1<ٜ|աS$3M;?#r)vס,.#Rt/p`N{DyWxɍ{ĝ#,Ő 恵y@GW>D5M{zzdUE S'rN;S;{ZoP#,]sr.ǧg^vkT*V4ۀY4,&өىD‹5/^RnRB[ Ap {C6W;>mfok`dcݬ:[ql#Ȑ. c#,C&cچҜ' !Cf\I9CKLKY1VLJxG3y{ڌQ6oYpsv=:2Bme5ٶf/9-pp9ӠE40Qy}_fW*F,:"db,30kǤmy7(&4+݂TN!85f;#,ò(,mܪ"NSg5(#dZ=TlErץnUUD77FW"oua될c{Ghz܍Fwx̑ہͦzY^dWBMuMXѹ8I*zLs!Պ#;`6Ӧ.2kE_TZNã+,P+a^,'2:S#5#ܴkSĽVW.o{/cB6t=q CSXw4E-4mQ7OQMja}h'A ꃨ@`i{\ |'ȡ *\U{aqE)k*x02J;,? j==%_0Є5w <60SW:?tAkd"))Oy80gO$y|5!?uM% bb~gۦЭwDi`ML P#,bS8mPh ;)g! R3{h4*+covB&D#,#,ɓQLOٝGުkڧHhe<=\1bYYy#E9iNA#t @V Jabq6"S~:ye䞠/` CG 61w4߯T4@"'gǴJ-aZ/-c[iFٰ.xz3ߟ^ƾK3*/ B7= C>]TZ n7}WdsRIPw#, n`F{ t* Jο<0|<|ρ#5HJNo A>XDqs!zN++@4 J ʆ|g$= .)??U٣ͪyn_AkU @db:s;b2 rO ːJMj"AAZ%:#MP l`Q#,*ne'|$D'CI#5 h=x\.߱WU PK䜠yyOH 0=-N ӠK"7c Oǿ/Ix!NUNT8D)2[PuG~n3 !1u{Gc}BМ&v%C07{齙sy GmtP)~#)CTX-)!<02!iЊ9"H3zu>iTͦLY*~?υgӉM.Q4!@b(MFʣYY)QjѤP*ҋm('E<6t=P{ (RU#5PH}R`ȫCٝcUrBNL1w#,8,]ʠHK!sƓ&sF}^X023N;"6y( Tش0ks~L#B1yN{(끃S[iܢA1G'DNOW|wh#5K'"375_LVLk".bJulWx-:GihBE#J z0 FN|o;TAV/>[) _< 'ͩQ F!T*Q ^'|PB&‰طog{% *jM3qb:{hivqÛ81Ѐzl,qQWX$&,W:w2?hC *%zy5°htm/bvqVZ-3:~:~>)3tl .0~aӷx低w#5n0\ tL2X㿟Ir?ªsӾ>#5u qyfR鸝2T(h.vnO!CiKMhգ,](ƓӉ++Z`ƈjy1nn80hrJ0o4klA8#,c#5_R!H P/P휼!a0UdObLƛ#,mwfۢl3oJţ cmRJ'pwsW=G~v>dɉ#5QSo^>\ۖ6k됮K`^軃񢴕% Kktq3q?ݾ,0gahfg."{11]=\yI$9F,0ew<ń&2MZ"F+K t+5~u&+k T%СlaPH^)ػl340͑"t٣v#,G;0a {*T38GopM:-1 4l}L:7{݄T[ejԏH09kڟ;g ] ?bH㯔IU_g63#59P]hc̶M"0dq!a%O_23Q#,|Z hdKf_5 1S]_Otۿǧá2VcҞ܃P_5$&@%j!tۥP#5*n )\DT#56&46`65~8#,! $"!1(:sg:yma$ al,}Fo{ZppcqK9wD(wM₌:u:B~zӳF7m5)vm]&$n͙#,z!#5=O~V-C{꣖Q=V1?{:oњL#]]ѣ0E)cB z)YDlJ(ufޅ--w8-&k--h#,MF,R͓\at;6#I΃IrCrF#!zҍQB'uS0o"4q{{;]1#,Z7&G ܉:y2p!o2~?>ܬ91O.5}Ϸ^?afnޭ |4J׭)ڽptv{(gԂ)~z.GD%4{}{{t_N>]udf*u6Z*--dJ@u* 08Nr|SJ@)AWyb[ Suށd&mϴsy$ ̽lèrX|eJaq}!BD0US8@m2JT4,Z)MT̍b)lɠiFEdJH4dYCf0J&Ŗ3)Hhwk%*&"$$"¼q:'CvCRC-Y4|wQuI T߆F#,4#,ZM+(7C^ttx.rYXf.Kd5`s#5iK(0cϻñ#5)ephf=J9i'EXIuan1OL{Gzk61JLWl2` ³+GRӳ53I͏T1ydi3q1 6dcHJ#lKHbfF i*M)2&ys#5A(wŦ5Ɨ,٬k!"I3 cK#,:+n<'i$C{f`sǪfcdb.xMj0O -7݋ff/ |ڢ}NtZ;2j&5#5cJ_Vf/颩@ UXzZ5~&7Exmm<Q7摺H'$*"W57+W3EdK8sSݤ# lO{mQþ|#%Z\.]S7i_˞sh9ѴblLFEZ#5M zD¡,cUGlVaB}[{@=#4?sY6Fu\)}k6Z;Sfșc>_񟾼ӄq()LaB 5^$}J}4uŴRZ@$=l A.Ŝ#5eGu߸vF3T.zPE{{I^PwWƊ/F,U` H,IsCy(pv^gvxDb%E6pa P{٦MqfCqI>_O%$෌eEiu1Yfjy&cƍM-da]ѳfʙQ۹6Z>ScLGf3.zHG rjY3drIVM[̘DfSL׻θrqC@Zi7.!fd֍U"ӓVW`g uWqƚQNAd|K)!`7{3HF1yӵinۗv֍ @] Zt5R)ue":D5-CVOa8M|]!PfnNt fvkśjUWN#,IU pKa=0J(d¸p?#~>5C1<͐NN>{Xqnx6Ɗ,S^Td.(fsXL,2Kc&MAq%dnVxє95N1mA.xvRߥ1}Wl%q0PκEtT[EcZRA^sUmy:4-wɲPAjV6~2YސΣ/7nԦM1dj(n0vS[2SUwCtS9.IHѻ CPh^r#5%6ձXß1PLQf]ΜCr hKmD^#,p]3˦AhnqQYVrGîF4cvVQV9kq=5p#"ͻ]BB\p(I! 1$2m}5&ţ< M,εZ2e21m}e.\aحlmYHϦ f.}i?-aޘɒ!N Dڤaۇ)fuAۆUa4{ Sp >Prםf,&UjhtYdQȄ! C(yBmp[Kp[[?`T[ÖWN!1r㻻l*_30ͅ\;\Id+CA.R%ҋ>soKrlYN6hxv6}r,-P!G>:J"iݨcL,.#oc&T6FkdfyM`ۂ-.ESч4>״]A2)Z/WeJU#i$V/6Cj7Ure501R`fÄ䛃 .q\)#,,iV0kQ]YAxhrh$sLQ-#,+!uL'8pٛl\6usri^fӕwhCQ;yi&5j!$hU=r8h#V)Aeȁk,^j׺#, 0 &.@9D#giYqJI}05{-Dl|<r$/m#5R?ZT%[J\*އƭO8_.YC"SȊqITF5aKZSNQ^{bƻXդ09B8vEJ X,P߾hp,i(ee!K\-nˤא^SQ&/$a$ɵ2aj9ӭQGI1c<"!t`^H^Xj*H)(£ >KA4M&*]#,M9#,f`<A9Wi W` ;9 7黒GctZh":)#,&y0jq0XmQPmk+ Fxnlh.ivS9TD2n(ixqNg9&wWscW!HT2(h@D}g܁'TROtVB6bӝyB'~"tv?gtI 0GA)R"l#58{Af@0\y/41-HcLhc:\-u׶md]aejf(3$ׅ6oqc[;&gXCRϜk㌪CC`йM%EP|e g?go.ߺE%B>Bg|l +=J DL(QQ0"0TdG60C0ۇ5߻wk;#C^J<*L5j#,q?tM!h⒊(=;ǘ_TѪ0Le+ `)W'j?-ԏBW_Oj . {yC@N˺ҜIĹ=œ;KϜ6?T$* ح=^ZYuG~#,a&تvQQ7kwf;w]+cbk:qwQfۼӋ(hTrMr@ 7#5IиN[D3oYأ!e4$?=SX(w#5AL B P 4}Ox@wD>vNOXCΡT'j#5DRJI0I100`>Qw9I_8HAJ4K>uG!i<lV&AJjE:oM#DLlI$xwnwx4聁)Py+m6ƀ+dԃT#UjlĪi~DYc4~E)X#qDF8js'.bta#,0l&暬سK!EP~kImm*)AZQDNVViAˆ(HՅV(:1&0czz: #\čID)2P ɱ±4w(ӌmS2)`@xĽc#,ۜ6XWŁ3"Ct9 ɟJSB mEBEؚѤ gOt\#,L(~GsfMBanƯ&nF+UaG;QZF63iǖ:Á෽HYev_ c}b#,oF3u 1Yk$l8k(brt1=7 4Tԫ`dCjGٚZBԵf½d:rd^Y S8'u|Y-m<2jb00Ļ8ۄ_冗ckʰ sC6d|6RnC4r0xw5t]\p"v4;n/ 4*H;={Nb ʣ1)OzۂX|hhl]C jl#58I(3=W16]'gLVA̒~ŝUDAsJ/j-Fz1ZmBz#,J(Ƙy7Q1Ry윏<5u>G@OGK s;<T$(Oa2բ@@"o$ѶPI' %jZ;y=4q1%!!ũh'LŌ;}Վ6H1JzvYӮ8IS7+s]n]\u- g\]vUx#5˷Nu{dٺǷIWvM"e*ȬB $8)"S?/O[FacUdJi}g'EG\nP|6b7  LJ#," >mp'РoOsTyo!9`oJ&3 S22-dÇd;TtbBG_i;.~SN}e?Mp'#hl.D(4[smU<-F6IL;qm%C6~p:qU \UCw#k1y^ bu #50O#5JPA#5 Z9>.jh#CI.tЦF2.K5MTݷ5 ˩mF c v{:|ss͓{0BW0àGP"Y~ȅWwO1SP5#5P0J0RVz\^45SBShutٲTƣ*kQ/i53alJR)Vimo&gK}.ڔ=dem$S*U~2][URbzkK)h̕MdifDxZ{ P#5!B 0jR&Qj:+nkRs]Hbm.]W]I%;pUH%1k*ds-iѤ-!lWc[ B#,P$R8'{L7{Lz5Qz50嘮AD^rQJE4%Yڻ`XK0#,HPYCAR;Lt@Cl#5t0fmZSh5J ] 2*ʐHҦ)QLATlcRJS2dYFmɐ4PQ%lKJd![2[c@ѤCQ$Ai !eF"MkB/ZcC!m(1 !ԫAMJ&;DP> SKMɻzaǞ{De^nD&Gc6>Go{3 L ;HLjF#⳹ʆ@X1>'R}!!۾=Jj{8%[ y N'zp( z#ٞg2{/ .׃t>OCT6b0dGdx,ҽթ&wH/#,pIGneMr΄}.#,9ز ͗GgL;>ͶL7' P*5bvsȏM&蚮OHybq2GS٤,Y) ӝ3>cU>$:H#,v,4.Z[~B(l\6v}WNIa \CSRBؽjB'?"D}XDDchtȥ$`TK9j^rV3C2&BcZ#,Re.6"|4Mc@S#,3Y`uh"mrZN r()(4ڌT0`Ӄc %ʜ:@6~t'C& 'Ӥ#5b!t$lbi}Xf֥P|MgeM&ꞛI9C6SIs6Ayw髉K]KЌ >iHo/E|G3.2?1*{M_m),wނdm4/[SWvÔi $Ipѭ(셙b6sKs#nt ߭-A-3IxTQFS~Ȑ.(~-jVQ-D{28+PL5ia61#5KDojA@#,Ay)AKtˉ%#8ADTǟeUUUza#,=d3}͏6VK.e;yɰ惁1gyԝB,!BDY 9[zC0$uJd:0 mwsIXэH;J ]lC֋t* Zp8HFBv1Ot;Eas@ "Q/LikنAHFHmHfH1qEF<ʫ76"9C)%M6ƚ gD:e6`&q>\=`rcuy#:`""ti^5fWœ]7h pNh&蝹fp'Ȩg绖rf]tJxW:&\A)(Nr0Ȫ()urPhl-GNi%hR)Y6$]A?|%x65*W&BJH o mCZF,b>4Ȯ$Yp1(hL2D@O:1>6#,+y;)Q>@#5ji% > :1+;L#5)6c^QXNSmD44 yNyt`T2_՛B7 F.; K;Dm&" @0!<'9|b#{)PZgTF@'`R`WNWkVv{TtQ "KH@IB=MsѕD׹UίTrcfAʃQ9[n5h[b|nFnͭo8?zSL t&ݸfJР~wONa܈HDʼ"Jo.':QE*%0R`diyzG_!~?]g l}=!bJd_75HH0 @g`2Cge'{!:"yW 8+]+~Oga\A;`T9Oz{\@P@ @]p^[#Ddn4~ݍk ! v(O 6M_rd@ƓU?w[`6Y,…O"1D:jҽە׶xƱ{Jf#ě#,h%Z1")7QT"Cf0Hk jUQ,cJ#. 8CvU$2"4݁So&QnUй!ę LR;qbHokXdj7%#,#5GD6!VdFX6$M/KiÆL+3ybbⴥn#M#596l. ݍL' rJ[2![#ۦ2Qcsns[oonz!m&ph#,E&#,D9J,$5`i0DFFQV(˔e&N4{x#5El1Al~ZEJRE) :eOlRO8|>dL%Y88aA6)M:1I$#,_t*LI?{}UOv ?J%H_F!Rb!$ I#5d^KۦRiQMo% %2R H ]@9BHˊJ>x#, fHbvMFBr}QO_7#,Jk͎L)"J1#QNkir@e#,i,fw2gD ,p[EFϼ?Le;)G-#,) #,XmQT)l7N4̴(™ e Tv:eNCixI-Lܪ$Sx)1 q"ߞp]I:Ū (#,P?U!ZR@-}H1l LGpۡiqrnb(\&iW 51^;&|v) ~#,OY^Y@:2>@(Q^#5 8)C?3j>w?-u7q]|^:7N}#5]zsfC 6~q̮fO$2|T>d/:h?|#5CFU*-HͶVZjVm)2IlJ!ddfNF'>'%u$ֱJ )R)Oka~&~oOi4=f$$>@ۉEvERfg#, 6T#,3YS lL܄o 1H"j0pyL@I|C|{gҟ>]-$"RI$  !$ύ/UT,V I'HFZu7ʳIQӔFD@Ƴ%CQ8{.Gu9t9}[b A`!! $!~UA3ibJ6P<]Ia93,]Ll`a̺(#5$՝fir΅hC#,{->6$y-p1^e{W]f] Ρ{7]6^ކ~o;Md0_h(qO1F,(b)&BfѬjlu)vb2e%VU6#5JMAf-&330̪iD#,L$A/3~*Rd4vRtT;#5ML4P* JJd w:``_c`PCTi?J L$muظw1%0mDA~WADŽuПX@gg0(VbVFXS>p;$#5yđM2Л@:6[r6ӻ"E9 "O<ʨ{ /NiDKF7>9brOW{TC^<>!7Aɲi I7a ,5!VnBl`#s#, LvOb~d#56~hCI&꜍Ét]NMt:}1\#5O*gZECQ$Ir-p8tvL [vQ>#cM ;Fԛ;eKݫl_j#I%#,̍ωN\`|`n"C:s1L{Ct-TG7+"2`&V0Y/^^νEΩ @؂@C/~h3v `9@{4(.'Ȁ#,!(: >nߨgc*$4|'M9=~#58{=f9 TW?=P9{|t "È)ߞfpyjȩ@zz'3~J|8MȴN"(&Tbd2ń8܍>[>YR\S.J$X}&Y9Z|>lp*,l|)5FJqlЈFc !a.q7 ن@/1O5bfa /;_!Sv_%*Y]3-suպusG#,rl 9  cٝjv$hcfq1p?䮷"𙻋#5TX~lgPg;xNSB1 hCrYNa#,eC0(Y6gɸ!%z%/|jCO!U@Dɺy}1ST0US#, 4"m<68҇C9H0f$<IJDg;B"Gb]+g!t %UCC.;QnlQNC7Oahs"qXy6]. 2,".A6Ne~sh'8N Kc= v}@{Y>%Yyyx7ǧva#5bP^޾A{Dvp#[XsT WpW$$#,e1cI?BȴD F@DMǴgbg83oN\.UKei!$#52ثAhƇnιzWJ&h(ZXڐ$jB(+\<ębDb2f398+"%SPѸݑKQq-![Q"mؙbJa?1:r/͘#e#,)e `4E6* ?=؎w=!6UPŢǐ:8a?1$zmC5;geG猣9pǗ@X0DoRhH>xQ5Ǚ.Jy1nI@ha s!jl~-fPu&[8|f<2qX0.C@t2Fb;$Bg\ِDMv}ҝn#5l,~Zp]ҵgqǿRώ}N}CN=!=b6sޛK{0khii kP{ -#5R∁5JPIkQR4~όK|˄@p>DB%l,x=ϯa[n>,l'$ɊTC 1ALnJL1"FSIFd၂b!TL*3D'at1*ä:Axg3(SiI=Q12k 'ûCs_LNtevfHdR*U9/!T&E+j%u(u_`NB+>󻻶boC#,2EdV0W#(Ac}hR,J LȌ $XR[mi Q'B8QI! AJþW}S]$C=>ߊ-H,ÖfG ('S@&_uĹyjUL(\au-h>F$A}M^\iEFB mvv;0D=!m E/7w:=>qy4*;xxkk{3>r|mi9f,ō#,?0|/\>,#5-ܿY.@PF&Qâ=#,s}kTMA!(Toā?=4U91/uصa@"b͏!X#5o>~ʠeY#5Y9S|H}]e`RAn6,gd8f#,?nsm4x#l<Ėlj &0%cVa>g4x1 O&TF*y:3n9Ns<M$XQ<^+I !x[_(n8Lq D%zrN,0d˛u<ϲv#5||03wfM&'j~=KA- `vcOve/o-]:kGbM%^_~jP&)~?Ȱկ2JC|-Lt$x 2#5X#,!,5s-,re2oCbv69b~E)f} "5#5Is}6}/_;~QF`P_2V}ޛret4jr/ DtBDБ@AJJU Ri1%LBϿсؑ3;.~I{%E߅vlhnh7"m <;rO&ٛ>R{Oȸ٣_ ngפB/b4I#,{dٍ a>oϟ?gT!.,X^ZY<`S.#,yr>'U7i:!֍j` /S a* =|rGe`IZgKƁGC2јZ=89S`$4 jgQ_E__\_"}_͏)ufR>̑"!UzFX!'[8Ȕa0C HY]%4HÞ0ilgW.R eugƴ/h2qJ*PTn{;CұxF0Ԭ| gN]a 7:V !q`Ӎta?OdUf W_c<=L|6>hCm23vRAC# Q ?V!8ԃ2Y#5i%UrB3kDP4R%!i&&aV>.Tiܳm.-Fw($s|2E#"i14BDmCPЛU= Pda#0F#5m lddmw ܞCpB(ULq;]5%*VvkB())8P6^+f5R^tWZcPұe-"*MXJT͆LkdL:umۺщ07&8b.em !4(bT0cJ4LbA:700iXCc#5|Jd6XJ bHkSdf69 Fӊ845aC^ډMӬAeE?KiڑHpg]MS]dz;#5J&Ҭ&2hWyzMċ102BW6Р44=8`Bb4`Ğz#5i]<aI9u ՄZ( Pkc[xfE 30eGQzi҄cw!X#,i f[g϶*άS#,sS4;LkTyֱ86ÖS"iܤpVtm'B-ѺlaNQo%1P,~u2?!HMP 8>B𩈰] 1ke<Bdt"jfZR:gcDƥԫtP6KaDV4-4VK\Hh:g#,XJG<:솶>F8QQ_)Y?7r88ե `ƊČ"Z`RTb8}\(a0%L 1pq4B0 JUjPְi0~Uǿ%#57 /Xa8};rf#,PpW4"LBoR=~Лo,J&&w!B1Ŏ"nwݸӯ>Yybv9.QGwQf%%tqKa/w|~"!@ &;.6tʱ>Pۛ:IWztd9ߡwt#,~2;a.$2n˦0/,eRqSzӯXV@Gwg[1tfnqi在ѿ׏RާqkKaFc2Ɋ7vd*PIhfO(tc*fz)fZwӶ<#HRgh Jmn Z. Cbjb?g>t]Ud4e8rP͏$ 䙀ctO|#,ZD4 ]AQt6܃j6L#5W% "HS}wY9c|>O*Q"뗆g۠4T&" #5BRj_gEٌ&68`zrg 2rD7PW : d 8P#,d D#c&sZ WI4.Q (mI7`-MPI(1cq a3#5Um梆XFŻYF5`kl``%e?$5 T '"0IgH(A#,fFePtb m}/;R(x.b`(v1vl&'bÅd0"N0@8)UG@#,*+! w![ၗܠvv'@f`GZDvte $!<~@bRӦCT<LT%?sLߝ~a!20RL!~(J\Y31%SWbג;J7f,RlXr^;u\j]Jh !%!2 EB*șK3mFs]#?⚅t (9p`O=#a}9vçɪO=R@<@ԱbZ((@CBϏ_AN'd0k ܨl HY'_,+=D&9s"j@#5l@USJ5#,?쟟;>caT*XX uAGc4PI6# H~0*̊A-D4?~B/,2锯WxToj5D~W.IE's"UӘPŴ#ÿTLm%i1 z?+hC}dPR "bpK(A48:M`+!wkTCh2+R:+s>v+1{GH %"US l*n~3s"UX , (b XP>tCGÁ= TE1LJQTHWZcpD5` 4_0~OA#,#,E⏈#,36=F'R\|uŀj1"~CO|LKL.(ڦ0 !+o:(ᙔNQD5#,'T"y|=8{5? ^3Ӏ.%#55F#cb%Y)/Rѷ:Z%"iuMvjVuZEm6!f6^4UebCuPQjD xϹa4\$!')Cn*AiLq$Pܩ mA*4$°4 JP71HCf.-WN=A1ݨk0|&c0.: O+E\%1"bW)" F1#,7#@,< #5=gfv$Đ{}uIP#,vo(&__~L3&Uly8ТsaapN'MƊ]c#,##,aIZ7E14ecCsQmLXu%#qWCTi $֛a#5Ƅ6n9XNK.6RSw#ʲ7Cd;SBqaG~:I ĂBf8BD~CD)#,H H!LQ:z?&Q7_<>ikNtS2uXz$>,DT0? W)Cݸ('@,؟u^uRd v$JO FVZ3祱 ;*_uɋ9wQp;6 to 9%~$)&XWmnK绩3?>izZe89]ZaĈVtLi1!q8_C8A~$:!J>ƃ,B~0`ة=̐&$pgˏɆq$W>?.b5&.*ib#dGc6rdoW9#bz(KD`JݢIQ!iAP%'d,fqʵOF//9eE1̑#a 2]Z3ţeafe{̣횡4ԣ3ǖN<ߎ|mOh8Of5(H '! C dQM9ꙙ:7V\p~|cMVqFs5轼̝'j}2^Ǒ6 lVCf$AKBT]IhY&N=; zo|LUWQtw0t'v#,T Tꌓ , (w# 5ቷcc&ܩf:R~7 @ꘔ&G)2r^"0qExyKKZciC`p4*ڶ-.;wvd\5﮾(dl]`fɪEoeZǔ32\|<3qy<Ò SuYf5c#,Hl6T{&5ȣHIbZ2˯NܮJ>v bJ]<"\oR&{GG/aȅp`ׇA9)y q@⧟#-CI87#,xn+gLC G)aR!]iFzŷ[jAO²s{uKF[!!l[eMeŜZEM1;v*z0XW9U{Lˌ.G_VNo T4VgrĬIN=FՂ2>&e!vGQ#z#,A#5ΒxyKJDP\B "3xuo->?#5#ݿ̚~ 5AP~L1H>}~X]>$BqN#,y5=eɞU~EO'Qq~yF38S5$' ?1>j{d٘$n}_' IqE#YG21o@emx3c{I(+^#:ve=#>t\{Ak=KGyGNt4s?m۰Grr{Dpl(N]5dm!\,Fkw 3?~n~%i9Ht}^9 @:%V0AM%zٿg+b#"s0@v$* .@Gl1M4h6&lLBA!!޸kရq\xE,U#,IdEiD7k@LK"S(@) "h2#,24dQ"Y/xWL-1#_l\?+fBbY`0#,a0b[3B'JqT@đ =0tl 9S!<=#,9%K`5#ϥռL p=VU7qT<2OraCGmy\K.qy2P3?w2`@! B`#5E2@ ##,(\ "i43 Pb[]Tj-.nw IFYY%\%UDBQVlKLH|aD{b4j1 $1Aیi#fO詶F{S `THq)k#,:kV QF~.h8 5䵸o&3I\hì3u+b!SWcN]Il:hZlWJ(ZPf ڎ$H18⎩a[iS)CQ46T4G]Rc`;h9`cPB2FIaH41tFB 2ar2d-WL441f+Y-k(ޖsC52=[Vo%MKy!=I8bG-4\#,2D͹fz:5%P}Fe0/ ѣ1TU &.(R4p#,Z1okT#527*V4֊@v+֘DS8T)mʰuPN2)˩#5L:f]9}I,Yy˻x)ݵڪLPRJACY7Q"lrp6#v0ʊ:cK#(4Z?(!MF!6=.u4dHt#5QѣLqb&R0 Ra%(Ȓ&QʮFHk_0g)6GlgK+5'qa00Nf07GY;lRH1>i #Vd`!ɬ"Oqnn1b㞅ȸOeM)lȇ#t(pGSF&nc#i$02K*̂ CTl*O?UQJUB-jr Pam#,Hp&X!Aaá}%E1T̬JA,Q3?_%:l}TNoj'4(Ct9x~_9l$*w;>v3G7p>R@!B);XBSC壕Dp ?҅3xacis)HJ66$@FB;AլN2]kyWRU_{)%_@{^UQ1MZB1!ج\43M)O1Nz 7 56H%%Qʪ~'TDkS;$& "χ#5]ꠑqI;a J_#vct#,0L!`9}H.ƮS2(RgsE)Ӹ&w`mA!Jӥ5R'$l7.S*svG7{U?_8Q|vשDj7J~߭ax6g>"h~Xb!kF5Ilĭ.{Cz%rQz3^>n{\KNO{S_ext@TZ kB'ti*iMJ dn:0A)B:f;tN(!#5""ϬZ9E6ꡣFw(}Y'Я'Ejh˩#,GG T/J醊DԷ"ط-͢מ]뷈EA5zi(4lUب7J^4\7457{v潼!L#5Soj[oC;xPC'h)6SˏYY5?@+DL 5ۀ}[n. gvg~_ ?5Cy'D%.@#,0n:.K1,Yf#XF2}c )2$`Fk!&W`;{$WR(B*T?~s:P=/z2m@Q<: PUφ $ J0w㸟YwTWݎ\O@6U?,T4)1cXddmY)lLKClj#,+((pv5.1Alh*>2(h"61J6G^ZcmqDUtCQZFƂF 1JJ)D0,6Lp3i` 2%P]=B ĠL+~yX`QE A Dπ1 A CH0pgY_+=џNT`YUP I*!5YЏC!dI1cM8=$X ĺ:nuzwI=CJ*j^s^^W1ٱQ`frVT!2))#,LYkR%T=-8iT隅IeǒN6#5F=>ߦ|ao3'jV'X.a3ESw.&Yfr[bWq'7F!$4v6.$P4thV!GAROearH贽&tAcRu}Xxk!䐖s$MX<*O^:rӑjzzx^JLfrf(Ikyzs.qM@ֻ 1#,z#"9֣m6ZXWǽFWBcҺoOE <ݬzo!i|#5_\gyN LKHnU2dxu7}#/Cmna7Uk5~4N?/-cr9NOF,GDiZT)-o~&ͬ9:s;|2 GmX{|Ao;*87]YrPm#,C#5vH.M i7 rnwA{.}|t%ªaɡ(IaP`gpݨJ#,V5YЋ$<׼t~F8ĺVrGX:'Qq#jrJYFHbmHV@22ɱdZ=^žIszo-m#,d "UlyjgcYmNb߮\wB'FkxӤ-͋lu:{M=TM-,r#5@ʹ6掘lqeaM1pAxraWB򻩸Vۋ-Z#,u{ިx=dHv[XQ^ Lټ'vyIL/[МsI(B13dll~ cMD' FSfu6Ss("Ϲa,4`bd/JQ2i:Qi@7b\mteu5ǁ%Dh`L8fs}] t:ӌkxׄ!qmp]cyƓ;jpN5OL(JY&64MkI==#5"8p2@#,0&X02 \&$-#l. s߷6 tI0NjˁNTKMkdCjh S{xet *L&{S#,qׅזdx@(y-ݥ6M$c #,|uI6 ,`eêwt컉Bl"M*;+twp6CKz1ޛe5EX}LiPA\paJzw#,CW/붡6#QR+8GwGq#,B߭+{w% |zsgl=ګon߸xWs|\ص'y9QEXzBnt6͸禨;˿?) kI<ըhH!.|=jk-y::vf19:]5_)Mr[\ V4>V(0mi;f'iԾ57sQ.kf^[XV:[=[WwӼ)/yeQ~˓ߓۤ6߳4QngLY/5WGcq^/JxwIg/BzXPu:c#5DO|=3M+ L]azpA]&"g Q箛:m6Ș;GZHOXR!;`0fh2&Si6-HQ?9Ø2tRNN^Tfe٤xٟ֍TӢed{CQ;ίm 8ŵЅM1/Sr퉝0hKZT#,gh9]r\.z6=|ψܒNg׵]E#گGx"'_c^LيfTyGb:z|uA Ѱ?A39<o)N=6TX?]@R4iRB ~ppc/^^Y,9UܥݷFuw y9lʤ[u^J-m3дP#,)8Hl; ṽfu#,V:w6xhbCn!m]UДL1+\dJ ՃeM>F6ڮ8XJ#Y+ o] (hczbΑ` 'iGHXC(:H~Ȫem VpgXwz(v1Z |0$)Mi)̨0ΆkdZȵL{$&Rss:5,s0`дa 2rb$#5B$5]\+DR)&Vddv#, pƄEf#,fG*s&g#+ղSpYbq#,8 $r˷ə]X.I1p6/^mek ^֌7 kD9X桙1S&`ƒOdaSY C,Lnp9Y`D[M[X#,b,V2%݆:qBA3PcdC"Lr&D 2tfvsrZ1!tCCDiɤB(q 6nqK켈|g.< c]55\$ Â+WGBc  S݊!!+Bm0NSySZ5 pj#wLXN{J**-JI.`Pz+! L:"QJ5xV9]f MWf \.UREJ [ɶTphf&Q{0sY-FFb`޹nms 섙 ;RH55K*k[P3 Ź̲+?0rwRAE.%#5߼iϯωN"(qsSXØ2Ov>/mLgxsp階`[DQ;g9+[h9j'd-)Ó}+ϗ~Qszd 6$'<{@u_0wQHoCTE,`H(,mّ7cۏM85i>H_z4` %sբO0Ba4;}>~$Nq(@K(H LeC*R >[B);6/Iؾ@@ -#fZԥ&2Q"ĄSM($R!Պɭ&dR64cPhb[aWV1D! % 巟n-{$,X@=&:@##,4U]=HYR{EiIc|^hv0379[k`q4>^Y 9qnw Ӹeӂ 0]5446f⹹g,nhV]q_-ʧ]-$iҪN:B-C49C%,tYW!!Ilʹe]Bud@_8W1Ȉls7'%ĘVMXj:cD5 BD$$;\Qd 4GR}+[.ѨOy@6CN@J.mo$M&B87&^Mp zJ4*ho02u%PL7h>'Cuݝ]΄6ݤ/ Z5ظ_vbyg5}}{hn*HYp$)( #,*ʣ",t 0Q?VOd*w`IgBk&C*4 )a|Y4G'f. DS|8X)GwDOWJ^ pBlMpRbHbiNcK[p8 AG֪9t;yt9WDWL' ӻa)x.fN}AMO;;H48Di; 'CIk)g?pΦM9<$(ߩb1i~b|n\ :.x=H^0j>$$7Dz#,0b`>L !IѤ< J^ޙ-ye W;-#,1倞$+0#d˓FKkb8ֆ73j#G>l5dgr,Y!ĹH[6gY~gW[Ģ5Su$8z҄.ٳljC”脎M'f#0Z`S0N[3A TI@Dw#,v0!jD {4L1db)a`8ZFQA^i!H떵 k`1Ȅ^8z\udTo#,V2jSY7"d9I$ lbxƆCt"|II[!o7_:c8Ith:1HAAcIM/'w(Ԉ!$"2j[5pI;^asǙY\w)SROWg}U62qN0##,[9VلсU!M\cSrT$V\9g2C*I1ە:7OU+㢹 P] wbFb gKd۴AƎ$mΪSjќ6A)vp#,^Y:ďsgmM\84jPȏn@bѢ xr YNH.%1~iD&~f3lHhwk0,4tl(,f'޻zM&p`kn>#,F\ J=NNDpwqt# >moiL#,b'LBJ2Ca)V+b2/ xφ橌"L3D)2+*橩@dCxveӅ5ӦL'SI6)~|f&Q3;1d 2 VzY,[aY qDvоjá;e՜ӈ3<#5' [&(zxiu!w.T(Dmm{#5a^Ob_;kF#uV49yg3r^3Hpr pqōkΛKY7Rzxu_ $SN\ԄҬ5լp ooj0Jv4ꨇVF׼E90^Iݪ۴6o\,ГW3 ]wpȈxk`JQȚObM\ETxsq$%u1m/z^.\ͻ6ʰ.7aB+:#,Y`jqr<#WSS)bk#52ں*t{DWTz3S^uF0taf(,Hyf/GI!t}w%US(I Z@N?ü7kۏ $&#,~G%Y54p~L>N>M#M$2UҭKJ#,"Q`K Q:CBE9BM,#Fh#5ρӗ"""Qv>cմ;:72kAi,۳\?^{gmO(mƜ H`at٠8Fv7u$]!vMPRGTn,'32?;׸!aoފ,GqiaY5gbfj_LYd 3X#5|{xdЖ#,JHSNpw)ry3.lDMBHlB4ĤUB#,!I?!ś5#, Pg_qAWI(jTJlKZIlTkW5WF"Jp;4|xD)=̉dMkxK@#h:]-]7$I٤3X¯0 zI=)P-@NBhڰ&[Ǿd~kT3({H}ױ& |#a Ґ HSb3ë3CrY vhfѢdths몮d1#,ݨckݰV iÖ{B\.kMPP\+NJO.l}_@\-5hCy3k S(`a`T0XtA;h[7!1FMvl*}{򿟫ä5;8CR ^HD>q~2➓exlvzVQT9: AKn2>ԒGFVL$.9^`cnpj}?߻p(d.Z?EȄz,čT ’0&B`6#$O)=u}@}Ȥv#& s䅳k+b2*Sio++Kݬq Rwat¹`#,`~߹[pB^uT"L JY5&R@Қ1JPfVB|N<UV%/#5Qffrbā.s"ܳ|^ex2 3Ez'bӅDX*\*4Ik6[:B'BCyDB!+AYpb߬z\}?cX7H5KT\}i9>^(ˇ Lu[8PݚPxcS'&@w10̩B`sp^lvi.#,ZVcdǗ(Hc_пlq4vWQaTBFguB$0fWԌ7<A3W1+wO/??G>_[/z}Tݍ͇3Dl_'Px+ Ǐgr' 3ڡ%BV5^7~^_;H"x`rGl'S7}}z?]vBP}. 1\Ї2)8|AK RF4I$D&AmL׎>~y>!&GyDէBz&O|v??{.0F .Lb„k`lESw;_ 5+K5&Kti؟\ә)#57XYYe3(S45%9,e#5x'Ǹz<8d2"V']bS(7N#,%T`D t4fPʭmcT6TR='Jny4vծPlnCRu8Sz]eNRto)C2؜uqrHS9JjM^/5x> #5Iy8uu֞.PJH#,#ذן=/NIuxPݐ䔜\ H$a` Oq#,3y2~MUU~7&%q^th` ꦆmf,9yo@=BU! 0IY%1|(b(^ O<q #C.ʳ,&bn}˪OBھ3k՟p]*iq8k81~66PQo9}I]YYl %3._<ďDFa4vz@ۙdpʷFvi_,'͵2FriOd JDdC! #5(S!Gq$`//fŅ F<`!,2<3;8eG('u}<#5l9$7 A7TiDO>Ѽr"(Np&\?nw