From 6af54c594301184f1730ae292746bc286c7f3be6 Mon Sep 17 00:00:00 2001 From: Joseph Henry Date: Thu, 12 Nov 2015 14:49:20 -0800 Subject: [PATCH] Minor debug updates --- netcon/Common.c | 15 ++++++--------- netcon/Intercept.c | 2 +- netcon/NetconEthernetTap.cpp | 31 +++++++++++++------------------ netcon/libintercept.so.1.0 | Bin 57256 -> 57168 bytes netcon/make-intercept.mk | 2 +- 5 files changed, 21 insertions(+), 29 deletions(-) diff --git a/netcon/Common.c b/netcon/Common.c index 1ab526bbf..0ce048ec0 100755 --- a/netcon/Common.c +++ b/netcon/Common.c @@ -39,11 +39,12 @@ #include -#define DEBUG_LEVEL 5 +#define DEBUG_LEVEL 2 -#define MSG_ERROR 0 // Errors -#define MSG_INFO 1 // Information which is generally useful to any user -#define MSG_DEBUG 2 // Information which is only useful to someone debugging +#define MSG_ERROR 0 // Errors +#define MSG_INFO 1 // Information which is generally useful to any user +#define MSG_DEBUG 2 // Information which is only useful to someone debugging +#define MSG_DEBUG_EXTRA 3 // #ifdef NETCON_INTERCEPT @@ -78,22 +79,18 @@ void print_addr(struct sockaddr *addr) #endif void dwr(int level, char *fmt, ... ) { - #ifdef NETCON_SERVICE if(level > DEBUG_LEVEL) return; - #endif int saveerr; saveerr = errno; va_list ap; va_start(ap, fmt); - + #ifdef VERBOSE // So we can cut out some clutter in the strace output while debugging char timestring[20]; time_t timestamp; timestamp = time(NULL); strftime(timestring, sizeof(timestring), "%H:%M:%S", localtime(×tamp)); - pid_t pid = getpid(); - #ifdef VERBOSE fprintf(stderr, "%s [pid=%7d] ", timestring, pid); #endif vfprintf(stderr, fmt, ap); diff --git a/netcon/Intercept.c b/netcon/Intercept.c index ed2b5e6d9..a4d07f77d 100755 --- a/netcon/Intercept.c +++ b/netcon/Intercept.c @@ -980,7 +980,7 @@ int dup3(DUP3_SIG) long syscall(SYSCALL_SIG) { - dwr(MSG_DEBUG,"syscall(%u, ...):\n", number); + dwr(MSG_DEBUG_EXTRA,"syscall(%u, ...):\n", number); va_list ap; uintptr_t a,b,c,d,e,f; diff --git a/netcon/NetconEthernetTap.cpp b/netcon/NetconEthernetTap.cpp index d6f3e1ac5..568ad1882 100644 --- a/netcon/NetconEthernetTap.cpp +++ b/netcon/NetconEthernetTap.cpp @@ -87,7 +87,7 @@ NetconEthernetTap::NetconEthernetTap( lwipstack->lwip_init(); _unixListenSocket = _phy.unixListen(sockPath,(void *)this); - dwr(1, " NetconEthernetTap(): RPC listening on: %d\n", _phy.getDescriptor(_unixListenSocket)); + dwr(MSG_INFO, " NetconEthernetTap initialized!\n", _phy.getDescriptor(_unixListenSocket)); if (!_unixListenSocket) throw std::runtime_error(std::string("unable to bind to ")+sockPath); _thread = Thread::start(this); @@ -187,7 +187,7 @@ void NetconEthernetTap::put(const MAC &from,const MAC &to,unsigned int etherType // First pbuf gets ethernet header at start q = p; if (q->len < sizeof(ethhdr)) { - dwr(1, "_put(): Dropped packet: first pbuf smaller than ethernet header\n"); + dwr(MSG_ERROR, "_put(): Dropped packet: first pbuf smaller than ethernet header\n"); return; } memcpy(q->payload,ðhdr,sizeof(ethhdr)); @@ -200,25 +200,23 @@ void NetconEthernetTap::put(const MAC &from,const MAC &to,unsigned int etherType dataptr += q->len; } } else { - dwr(1, "put(): Dropped packet: no pbufs available\n"); + dwr(MSG_ERROR, "put(): Dropped packet: no pbufs available\n"); return; } { Mutex::Lock _l2(lwipstack->_lock); if(interface.input(p, &interface) != ERR_OK) { - dwr(1, "put(): Error while RXing packet (netif->input)\n"); + dwr(MSG_ERROR, "put(): Error while RXing packet (netif->input)\n"); } } } -std::string NetconEthernetTap::deviceName() const -{ +std::string NetconEthernetTap::deviceName() const { return _dev; } -void NetconEthernetTap::setFriendlyName(const char *friendlyName) -{ +void NetconEthernetTap::setFriendlyName(const char *friendlyName) { } void NetconEthernetTap::scanMulticastGroups(std::vector &added,std::vector &removed) @@ -361,7 +359,7 @@ void NetconEthernetTap::closeConnection(TcpConnection *conn) //lwipstack->_tcp_poll(conn->pcb, NULL, 0); //lwipstack->_tcp_arg(conn->pcb, NULL); if(lwipstack->_tcp_close(conn->pcb) != ERR_OK) { - dwr(3, " closeConnection(): Error while calling tcp_close()\n"); + dwr(MSG_ERROR, " closeConnection(): Error while calling tcp_close()\n"); exit(0); } else { @@ -631,7 +629,6 @@ void NetconEthernetTap::phyOnUnixData(PhySocket *sock,void **uptr,void *data,uns default: break; } - //memset(data, '\0', 256); } /* @@ -714,7 +711,7 @@ int NetconEthernetTap::send_return_value(int fd, int retval, int _errno = 0) */ err_t NetconEthernetTap::nc_accept(void *arg, struct tcp_pcb *newpcb, err_t err) { - dwr(MSG_DEBUG, "nc_accept()\n"); + dwr(MSG_DEBUG, " nc_accept()\n"); Larg *l = (Larg*)arg; TcpConnection *conn = l->conn; NetconEthernetTap *tap = l->tap; @@ -725,7 +722,7 @@ err_t NetconEthernetTap::nc_accept(void *arg, struct tcp_pcb *newpcb, err_t err) if(socketpair(PF_LOCAL, SOCK_STREAM, 0, fds) < 0) { if(errno < 0) { l->tap->send_return_value(conn, -1, errno); - dwr(MSG_ERROR, "nc_accept(): unable to create socketpair\n"); + dwr(MSG_ERROR, " nc_accept(): unable to create socketpair\n"); return ERR_MEM; } } @@ -735,7 +732,7 @@ err_t NetconEthernetTap::nc_accept(void *arg, struct tcp_pcb *newpcb, err_t err) new_tcp_conn->pcb = newpcb; new_tcp_conn->their_fd = fds[1]; tap->tcp_connections.push_back(new_tcp_conn); - dwr(MSG_DEBUG, "socketpair = {%d, %d}\n", fds[0], fds[1]); + dwr(MSG_DEBUG, " nc_accept(): socketpair = {%d, %d}\n", fds[0], fds[1]); int n, send_fd = tap->_phy.getDescriptor(conn->rpcSock); if((n = send(listening_fd, "z", 1, MSG_NOSIGNAL)) < 0) { dwr(MSG_ERROR, " nc_accept(): Error: [send(listening_fd,...) = MSG_NOSIGNAL].\n"); @@ -747,11 +744,11 @@ err_t NetconEthernetTap::nc_accept(void *arg, struct tcp_pcb *newpcb, err_t err) new_tcp_conn->pending = true; } else { - dwr(MSG_ERROR, "nc_accept(%d): unable to send fd to client\n", listening_fd); + dwr(MSG_ERROR, " nc_accept(%d): unable to send fd to client\n", listening_fd); } } else { - dwr(MSG_ERROR, "nc_accept(%d): error writing signal byte (send_fd = %d, perceived_fd = %d)\n", listening_fd, send_fd, fds[1]); + dwr(MSG_ERROR, " nc_accept(%d): error writing signal byte (send_fd = %d, perceived_fd = %d)\n", listening_fd, send_fd, fds[1]); return -1; } tap->lwipstack->_tcp_arg(newpcb, new Larg(tap, new_tcp_conn)); @@ -763,7 +760,7 @@ err_t NetconEthernetTap::nc_accept(void *arg, struct tcp_pcb *newpcb, err_t err) return ERR_OK; } else { - dwr(MSG_ERROR, "nc_accept(%d): can't locate Connection object for PCB.\n", listening_fd); + dwr(MSG_ERROR, " nc_accept(%d): can't locate Connection object for PCB.\n", listening_fd); } return -1; } @@ -985,8 +982,6 @@ void NetconEthernetTap::unload_rpc(void *data, pid_t &pid, pid_t &tid, int &rpc_ memcpy(&rpc_count, &buf[IDX_COUNT], sizeof(int)); memcpy(timestamp, &buf[IDX_TIME], 20); memcpy(&cmd, &buf[IDX_PAYLOAD], sizeof(char)); - payload = buf+IDX_PAYLOAD+1; - //dwr("RX: (pid=%d, tid=%d, rpc_count=%d, timestamp=%s, cmd=%d\n", pid, tid, rpc_count, timestamp, cmd); } /* diff --git a/netcon/libintercept.so.1.0 b/netcon/libintercept.so.1.0 index 2e8d6035b7c2b75e55ed9a3ea81fdcb5cf58573c..7e740036ddb65ee1a308c7b9582c422336efc82b 100755 GIT binary patch literal 57168 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 literal 57256 zcmeFad3aP+)-QajP7L&Iw{gUwTWROEyOnN-t|%&MJG6+ozuz8CoecDQpYJ~3^L>BZ z1F5~%+H0-7_S$Rhz0aw0PVLAoSm1Ox41Ji!Y=hW|BuSa8D(-qq0Vw7gGmKvN^cX`0 zZ*-)p8?<4TBxiLvx_DjQ9K8jVr1)N)Rslyl9Nbk}T;0CahRigD=D zB~gQF`1ic3?^>oRK3$TRN8yLTD#E>|2((*yQj!f_YPllF(a!(fBT+FfSM8n6FD^O& zhb~ojMBn;@PPZ*wT524AY|g0_&0~J?_q^-IJ^xonzndoi{V?VF;%_MaXeWK+HXv1K z80pTaiLMbThHGThygrjWeI}pq&aWNO%MBL6KN4js{>I=h9e?NIZyf$I@W&$)e_8mW zo2KG#2L3qo9Nw3gY z?A_c`kG+5WCHFn_41NE@RVy$4Bzf-ExRtlfN~jHtn4SOr$LVb!-gL=>?JK{yBk8H5grBVZW#9W- zo@$2~XFW_K){1w{G#r3R0ZkHRzq8O8jy>^DI1Bwt3|vqAPn?B6d=~o2v*;;03;(9G z@G~KMvZwqkdJ4`$PdSU8l(Xiat%z z{hEK6B+OTIkcFLzD&B5VbfdAUratJasH$o*0>LVOQa8pGsG*ndi0$c0WHPi--s#-us0JY7HKA7cis`NJojmF@HCO_Ef znuGo=pw|Q;wjOP7G#ZYE(5hPU6R8Bd|39$JU}}^;J+^R|oGIH345;MPsAC z$`@?V?TUW*(SmH=SXTqa+L}PnUyqS(SYKbku~B{9+*A_;2Ay?*^+uDwaudtinsrsR z69WwsClRb9G>uSGkYE-;H2}mj4WGZNB3OY~SQiNR0>O%=AV_F+VL|@9`MyaLCrz9x zV#{g#@BcF`UI!M?|FeHGu&Ki-<|4!JfYdy=2755mSOgjm*7s5M#AUtHs$c8%kSz9g zEMHI?G`+uOK8<39K4yCaMEYb+Lm8gq5g6B%kphw*r)>1mHu`rqx|(W4ZOUAaD7j9k zsZ8J=8$C-<NXqQzOQ-SM%U*Kk%dC0|X>L61^S) zkgk?;fv0#qq9k1{kplO4J)$ICErkM4_j*K0`XB+xk4&#e0HjMupvDZZ#7G}3N#b*^ z*CR^Orwd4a;Abo^@xW9^y>t_9Fs6Oq{9Qen{ZA5oZdw?-ls<#F?V) zI|Y65He{37B^vGz=XuOrS>Y4-?xC2^)m zd!oRX6OSiu2z(K7rbPRxA3+#Bk2q7I{e-}05@!mu9~bx};tcWjHi4f@oT1%*MBpQd zGZfno34AbdhG6?%fhQ4X=(X<@cr0;-TzjLyox~Yx?P~@8{Y2mlrS?LBe@UF7(mq$< z9~0-$wr2|bAH+F@w|fNs4sq_5+Y<%;Dsk@8+6{rfNSqO5yL1g&I_HUP{MC} zRkwWS3|@%O*kESXr+KZ>$0)jI>Rxy+FZ6L<>x`_n@Hx;zb$OxBSFLHE09^^ga}48& ziBJ}v$jUtd*Q3PpLQg%xxXTMY8~*x-j*d_6PZ(}I!AJ?mNWQ2?iII=_LB2ndZ+CU| zL~WmUg|{?6^o_R!hF*5^6xepP<%LR83-dw+sbvMBoYb`ifHnlP6UOGGHYSX{CUqy6 z62{(`x>uC@QxA#q&eS8Kyf3v)lnkxnip?~Iup8P#S zJ6sB`@J`mX4*khE54~Cpme7+0p?_qx<+aWVKP@U}=%0X|6RI=v zE_>z_G_6|WUF}`tz3}OT;X8qf@jDZGjU%}G)h#19GNC_XuvV=>6F(v?gljSCEn=jM z{Lm>>e1`ZB{Rs_+z8CdjKWaaD3gc6Z+T#&1_#7KBBb?&#RvcInXY3;?aGQyr}(snMat(AzMbN>;&Uc6QJxOf8C3IQHT$Y`kCF9Fcq}+~ zw>3`%=6|_%&SG||{pVfx+_lABb z4t)i)9>-b`dP4A$zsTjC9UjoE3>)G4&=wXC+#_wY(e=uCd-4B2`oU;M(utz zVb@~89!yPqf_sf{6j<^qpU#_=lbV>&aw#fXPCFB>_?knu`_rKN5gK0|%EgFgH(=C} zx%D9B?FpuuY?+oEmzG?674X*V@5gwAJ-x}}Im$UU9M4u@$+b6$)>o%yX0<&EWkz1> zgmcrtAA0YrynErq-dKJx>tyzaYqP@Ne#hDAZYVs;i6$@fZa7Ny`VxVE9^M5!eDE9a zl|XpU)ZXykF(|es$nZKUk(Inigh1rwz;G+cZ1A#Y=wXhGn#T^JS~wipF&bQ$%JVR) z?{y?Muxp+9!=unP+RcH`F~etTm*azq>8L=P*I;LKloMPy2`V2U^vN#7fq>dK1C{X@ ze(h@^7AN#!-m*-&P3rp|ilFa&OW#wVOD$Q@qVp}>D)mHhUf7e}2kgi2C5bj-k0ta2 zQXh7NS4sZ;h;{J)4I8^-#(Il?jm7^5#XnB+GdIA0e;57<7XNUG1Hc>lBXfweSiUu> zgfD>1x6gKb`)x!V)N?g3iNF(RT##pK@;nVJ(!g>Jtkl3d0@YA{5vGY+qa*pH zQJ87J>+pu2N!WEi>azaw$+_@r%hL|@e;Tp~aqy0uKg-~J(Q0@$pqA6afe_I2wXEp?~OUU>Nwp^7{_VuE(NNz(?adlG6ZzJB&##^mJrR{TyQo z_VBoR z{V%u(gllC{iXs$!B{;(03or-}qloZ)y3=}IS{(W!^fhcS&%XX3( zSecaPl(%XP&I3V)T!2X>9f{`qKq8!u7UiTue$}g|rTyNL&=;k0LHjI$EqX(*dqc;$ zh|0lu34McyWh>s*9iv|z(P{nF`vY|zvo)7SC*r@Yi0Ih!!G+P_W}b>sl7l>Yo?r9LZ9b_p3Vt9 z8E!>Y%Xi=ARUXef)`l!Z=O^bSzl(4o9N zSVHBZ`NSA>EPMvqpEwFAKXeSk^BK_m&~rG|3wjU_IQiM&C?BPUw=<%p45J6#DLbatSZy0PuiPkhf>P zCogpDtGr*d#)Nt${B}VUr;db&7sOxN`%=c- zGEBKT1#gEr;fFtC#PN`m<+E_U++T``|8C4=p)-2EyX>S3TEpugsCOG;l0$bK*mpcI z)MGpsm70tlNBCOsv}Vs8?m-tn3h$McrNWV=^iJsW(9_{_0Etr`DqXb(lkLuk9bvJb z#he>DBR8|tVTrIDVUICOgiOmBhd1HIXQA{sRDJvODX|P)<3!E-2`y*R6Rtc$_;hT- zb#DP^O@3&Y$7qed7oXg>Jq8t6qM~mHo^aJa$a*F*VOI&rxw}41*e&*TPrmOFQ2?L1 zKgruuo0^!L^=bG7yq5Rm36I=yg+9-BKT{A2w> zQim3_j&2=7r>ss*#%XW38WpYCDUd@bgf~EMYj!NLJ$*XhPO;ge2Zwg>R(fO>n>=}-a4nK@+ zj+p#I?{X)hOVpXRc& zU&KeE`**MyEFZyUbO7OYA0Y627Aq{i6#C`H=yfo5Z=!lHc&C6#XG@*bceAB$wbXY& z>Pxfq?E+)y?e_14S+Fx)3@f3mSu$RNLhepv^QB-Hsn`CTkTAldB!8~tFA@9|7+J|b z+Ty=i@qhKP(4Q>%$9K{HHO!RytHBRDF42hu@7yB#kd1G9>Au&nn{9cqBm5MoEw6Nh z&qdk!{4J{uvw~Rk7C=NSLC8hk*`XJq1=NWAe;Gza&aCzV<7v}caPrK`#WSnk_A@Ii zD7~Z5$?%8hJz3X*HQ~3p1}?H8k-tS1*3r%9VgfEc$AdGewuD`^V8MciIK`>Naf~4i zkwN!#^^#bY2r`{p2H zM>9Jdd6=Jva>3-}hC~?~z8@m3*}lOZT)p}%{9mHG;Vm2rF}ckqBrVc`tJXEk;^eC# zjO3XKwX)K29+6bV4eB#9}@mf+ssx@J-za-Heo5P|rv)P;!4Pw~HkwK(7ATp-dYoDM!l#}Tv|iH;^<9P&xvJ8N{fu)ueOkHHsYodQ;ITKz6;RbhhB zz6F>ZZH~K|xWkj^z{u#v4V0tHfpv)??moJ&K%_PMGQ$2!q47ppfHxA)xTq ze+p0EE}i!c;#V%En7A&50BebRfmP&;*HFOGX;j~hob?Q@+qZ^{TyUPQUb z)T-hs{MARoif5!1ye-mxUivi*mE+w&2RbOd{t8|sOCDIT-Ejfl^&W;#j4#I#7eo@E zoIF1TDy}sE`%(A|48sg4 z{DI1ArC*Lqzf3m~!LNoNg@o8lS%b*)PjTVm*HF`GEcQzJ&7|*{dPj8UvCV*{&SSeb zJnKU-Zv2J|L-7puAM$dCOucMK$Z@*_L&5XfILZH4Y2uB7Ka$sdEdBzH^Sd7i<==n{ z%GV3#$T*)sZ>93#9A|kQ^RkmnpOzmn+2o`SM|R*EG{!L)|9UvoENLY>P5D}=KPXfd|0W8fzmqW6Q;&2%mvCPAqKbKU7qtISRtc;xr-=%D<%xk$MwJc%NxV+W^e8IB&g&@99IIn;6Iju#m zmhT0>5bElytLb%pRJ?~4v^J&B&&h@1-F2JP}}`iL04 z?0iypSya{|wq`NWTcb;oJSg}@(*sZ><+ezUOmKYiSM~-+exZl=Liq!MnV!*sSYveF z%+X6`jxIJv2Ry5A3s3gw=~Zhyz|zNNkFJWf-O7|cHr8mauUJ>>_XHa}ysro!!RDrV z5AJhn_Qx8X?$J@VC8=9=c!v(|;!(FO^?W~5=bMl89YT?NhGJtQa_OV1U`=dngO*^KA{-&% z@w87_BPml2#EYVca2Q?XS+_Ol4|vi?2dr*QGje%P+<1?=lMH2j(6bKFQ(ZMt8!%lp zI0M$HFj5}Oo#)M2VB~riEM3MyTeiHUr_oR{Yjg~vZ_vb>#grNjC{cSaVq;}=+E^4p zhQ7!b`+a@v7KVAIX92#uD3JM6ZjNVyM~neoU&S_X?_Q<9hT*&*hnA|Lp=^(GxRnmhuyudnn^RB|1ID;nTK>V??jaS61O(meC$b|za&Q_4Kf4= z+@>9A>*GWZ@2i9cD_-=_sTqM9i{-7Eo`y|+1ell@toB7*bsaV;>w0%&O+99Bq;Vx~ zmGss6H~DLYOFNN+TO0j?%3+1gj&saeVU$DgH|4J#9UowUdHvmvj+5BC{0n7&>@T9; z>*$EWnt3NmZqJ`N(b2*0l=}a@qvJl5H=^Xd$T?W8{)O^Rl;a_ngEfoSZ0Vqx=_6lvA+{ z3*r(&3Cbv3#ry-xR9tzU0{f%zwZk@joWJ=a8evZPE3eFtC$-bP#-y`5VjQ$xg z-@Mcj8}C|R)%ONH594+r^`O2EwF~1G<8ukWPBX@%{%ynq+-4oC0p)<+2)Ua{jr2Rm z>UR$Ny&*O}eZH;3^WwI2p)8E+?vp7{c_;KAf&Mj0{~r4F8WZ}jpkG^}i{j^Q6Us3@ z%A2(Jue29(7Z5HcrRN-$I_zS`R4GG{^c@v2rl{b4G&gS@A97rI?GL&9)9X;)uNDJe(ccaPN zDNRrh|jzt#v4DQrPq@9Q%>g_vGFs|G(v2iEpDYh znWvnGcn-aTc1Qek0Ta9w9s&t7M4s?}5Go}F;99h{^Icn7ktiwEs@$Z?D^z*2Du1cUhgJEUD&JJ)N2>frl`-mJkO8VpQ{^;O zE>PtPRaUEVlPa%J<;|-6r79m*<#VchQJ|W{oMwx#0@f{spxTS=Lj>)dig38*+C)X;c@u#UeyYw@qe>zLB{Slnl zI^b|Q1|so#Z$xy@Lu))ivL8-|YatAEI(w}~7(1hSJr9GOu3k^GaKz+`y67zArWqBD z=OR%T%||z)_+A0CWhHb){f6K!0rII0b9XVQ(80Wm${^*c*#y^-uT}8vhbiVBg3+$1 zu_(;@h{U*lhflOyh<2kMMPi%3n+{6UIDWi$A3y1e=(nk`*G14B)yuJ&@MB<(N_IR$ zmM_rBm`tjT`U)&DS(yaCMkit>3w1BRB{AECQB^Ri*Ww$&;2H@PiLPOM4&D7Byy5bY zY`9m$ldcg5$zr&^Ly_oS%-coXud#LsLBqY5A4>_l&<*N{T13(^g089PPr7^c4}jg9 zpw4|EePpF$+j;EOv- zq?H)H-$N%xyAq@A>IbH`W50d{9&-QC+c09kk@oW)AF-!@3u%}8SFk7c2f~T&0NRT^ zLpa5KH$G#3Bd@jNmv{T=kN_s96)pBOXvJq{cxy^S#_+#kc9-o|ujLqL*Qz)|i$p_$$WEpxf| zK(T}qjf4*9jlIqFF#4Vndx*|+?*mut9Rv;c%{1>Y-RN>Z2z{}?6k&(}p9orvYZ=5v z5YZjVpcofT5!8K}+Ruo(7p#4jF@U0Y@)bXg5tz6$e(vMI+zZk5_*{Yz-H+lA_!9~f zjHp{M81ajL1xnxFK}!_-mz**Z{Yd%ItSgfi*`gc62uxLxHK;KamRmqVkQSF93mr*gx69_jl@cFGQ|11PNOgU(L? zl1$2g$zYCg)e&zZ{tDWPacw7lIq{2Whl`F+zMlA(ur9{+GvbHw;Tpg;`+oW{VD}v8 z>ihXffQEY(=zULBv3KrOq<`@%7$4<+m-K)A19Z+c_frpLUAV{F7}EC#FQUM`8nu0Y zlzQ$Ve}~W$|0FW7ui@a!A)?~1g`s^Nju)sY{$^O!*C}dJp!RF3rK$n#P#fba0GM1v zJX>^UHSr4KF`_%Q#D7AZw#2wDA$}P?Tt9>Q`lO-10qlMQaMEyT*5ARGAxZ6 zNcuOVoJkLYH7co{VJ0>yuB5xc*gNS;)b>r90FMqxN(E(T5*;uisS*J&HmMKbiAgzt zGm_e%ZBo)WOy!f4eggHYlX#=hg-Oo>UY8ULp7lv5pr zpE$dS8U*RS%`UVVo7nfYTfrB%3{CWXLx6u{ciy61aSt)(-hLFI(fbTONL0z)o8qhy zcrT+j-NJYjxM{eqgPO#?e`2t^N3p?o8URAkSbTh`8G9M7m9W{>Z~8zO?VbxW`kg12 zsDWs_-%P?$7+OjslPAVS5+*XhgT!n#2asrWqv5JYcZc+^xP;1{hXwsBrLr3cS1}Z$ z+}pv^-~R=)^mh*cV}G$m01rYIML%8cDt+zTqP}$pdA*lCA@# zS5gvq+(}%%Vv_d3WLMH6e8wh4W2EAeCW5nf66b_INhiS{pL81xOh~GRX^BbK!GDQH zR2EbWXbG`150gHi^&NKQC2$V7mPQ%whsd&*u*(=c4XT~5(tbw@be=P0CJAqnFf_2u zaK1%o$S|1de47kIu7sTP9a3QpcRcB!ih=GhhAn~-15XQW%^(lwU^}07k}#Zu4R{^A zF`R=9Sn!--gObO?i}}t!2z~?;$8*FWusWvb9l!Vn0%XVjUqNgnbvmX{C67@7!!eB; zARqox%leTfU(UsH00c(!EZi}N^YBn~DQ%tNX`O--YqUMaQR;L}G}13t^q+zbnq%e| zM~O4w8sjK(ZUSLBnT*t(ifc60;|QXKv4i1h$9bHz9mQ!^+w?C(Ep^Q`(tqAX{Uo72 z%2E#=BP~}k9fl3J3fU63`TPXY5){!A3R-h9`e?mW(vie!z6Dt}G#|7MRnES4}bnF`lL&r+)p3Hrx zwvQcx$a1V23qEsSc>5^65XIs95Tap_GKTaAgySe|N-I^!vp|Yq20f5zq*W>MagZ;P zWU4aKE>;zPLB)--!g&d#N*p=pv)g=of>dr~>{Of|fivxA3Zb)}6Jl`I-xV*NbqSd6 zS4>}m=|jonyp*nFAB~KMRP~RjHb!v4aqj5)HYUgZpU1|dXNIL%e+GNimQ62wWLfd6MOZ_+ma+5k*8&P~*AI%%ZeVB?8&D+Z|~k16+H zc66TW==usK$9`VK$hcdHbHFo>+K{x@6p}m@+k4r#(~WO8;NnqQd)lWqruNQE<18lq z3JYqAPZZwQnlde>!2_hdWSZQWX}ZP4=h=9WsjM^8Y>R2BjcI#lrie}A-3Ch2;m%CC zmZr;XnvQj5DzKRNOdb!~bh0zk1s2o8Hm1JtJ4Q;oV4cPEf{kffXQqoRruS`3t2#3^ zT1;nbOglR>ZLydJ4vZN7i_T2jHB)-FV(OeVDOpk!Z~ls5n$|nIzFEw%KZtE#M!6Da z%A~DVhzFiZMlGD+HubCDI2&OO+iK%EPxI*4x=EhQTNKZDMuFzpsZC11&sHs(DAZNP zl&g_}&KifIW^=KTMOPgA4?)kly%bqo-kY`(^X|ZZaK<^JG~TRw?bzQ4>)AUUKdb zC&Rrki%;ibpm5$3JN;8k@Cv^UOV{*MYUWDGk%< zbg{8GAlm;6cx8ViJ`>xU>9P25O8g4qFMzZCjXZ&6l) zPaOTw;4Hr4%z3Y4B$&CgHPS9sTZ z`|{xBnJ+_g{6%6Il?%TEc{5}3wSNG?Xp?U~swDTdTGWWG@pIup3WjF_z+>o04PHdmUJ29NYOg3%qJC1r{ zyuxJe`|s^@-em9(H)*c9@A2)k;KdOFy98r57gXZ{gs}Gwx+~Ru1^5H3$OP~WW+(4K zH0vBEB*Lgj`?LBkXBLt=4Gaut40PH_MPCSduApPn$e}iIVa`bVK~)!{dQC(u!!ej9 zsQuC~g)pqHl}u{0kdh(UjI^nWhugZNlE-c8l1`XalL(X75_;wqhfgF+|>qq_(l zQF9Mt)7^po999PVVDLHc5LDBfz3uw0Q^)?5P&$7Gs)k`O=JU?7y#xvYd`^I0|16Ei z?s@}&HvyzRqQ20@;w_G!!qqv{;3&?ed=6zDYjP;*Sh1ih`$8(p_?=QB_S{C=ScTGI zPeNa0NYm70K_@VO<|)p^WSsg)PMIQN{VBqVWTe$89>&)|^iMcTZ}~b+D_ZLfN`hHA zOG>E3n*tWhdM+dVUK<0ss0X=lXot6W?`j| zeSS!`se)u$=RRlus5sFomp42Ta4Q$UGgQ^}ZMTm7cMQdpzZO+H0n8EWmBYc4K%5d? zIx9#koWe{uHqPEPTv8;yjrjdsdL{lT@VSSe=w-C;y&J>k>@NhD^o9BBhM@)r%@2Yh zGGtq9sd0&6%-g0ouajJI!(_(d%>ilqY)T&Oq@<>^57KW{oQzj`ABv56XV60)pD0nx zl4`2Nt~TAKI~j}-0}E{iGNvXe&Yc+j@rpCcn3t!>1(GD~R`Z^#-bi~&)n5a#jgrT0 zu2yy%=`X74TTrbnP9Fz89`stoAg>lO@*BAo5|`(WEBX0S0{i6wpk(}6k;T=5PZh#l z`DfaML#lg5#=lgxIO{yE5XNFg%y6ldT8t?z41!cg*KeC0``17w<8zhibp4_Zh1@B7 z6*-qc3h>R$QG>+Zr|Zjv9s5V2#p#0?w?{+{+>IcbE-sTvJO_%?yvi)P=M}UaanX)W z@xW^an+#*|g^K?Z$!pvE8EFBVu4KRwU2iJ~sqD|#qBzB5l=lI9F--KL>#K|%`(Fa9 z?8Q@}7w^Gp*$asm^#d+01WNpA;As!pEV;LnC3|}470(?I-PzA6DcEi67pEg$S~2oU z5GhfkqgG-7yS|DU)A|V5@fh~b&NobQOvT22!fad%bN<;>7sGbUs=)P6lUGE4huT@| zH1-uSY&>P%*koXsGbF|fDYN_v3@2gpc(L=p>$j+1jGf!qDKN-x57RW?sc~J}R$b9+Fovok!(W%v-jP7Q6iCXvqNVj?zr@j0ZzE z4u-G~t}#Yhl8rt}(~lZy6BV5oI%i5cFA`)cGB0!%OR~A|7Hl(Ds0v=_yi`{l!UnV3 zmCm$>6)Vpxey*Cdoj%L6iw_kON9CAmUtVQQpDcS~WPGf6M8?iMK;N~q!}^8BI~1d1 z|E;4y6!9k*3gD56!u2QhIoBu=P2wEze)?+|+T_9Z7eYD`6%VMWz%E4b@Wja{c{m@X z6)HN@Z?mBDI-`-XO3`_3Gu^Kco<4CfAZX0wb&Y{PVIOv?YH?37aL4|w>6}zdbn
jp>5k|@%xiAj#pqzKdb?Bj{|rsRkzVDbY6~%d22xAaVbjKGem(%7lTHlPOjAw0$$ujwqi|@##*AU$n-|gYn?OJm@!Ceb1`AK&0Ss( zO@W4A+gg9JQ|rU69_uSCh@`YPZTug0;@_#WBh9UxN2|`*tm>=i47}tt=>ha2V}PQI z6S%1gq34%MCbv1+vISS7Bj@D5QoP(!q&=+=`f-O8RDQfmTbA*n;$a@7y{-_Nb7#by zw3CWX3*OWgtnJAHF5oylOyh9!VAJ1sYI>F)!i>R+M>L(P5H>x0jOB^6^A(*<7fHI? zEc*{lXDm??!gm{O;(N9DTUKb>e5WkW*lriU-6sBu7Ju(QiQjJ*f5|2uk0}Eg=r;fP zAH>tbN`iiyBqh|4mFXc%`_ZPgN^AZ6KWI&l!3gls8(&_6nRzkiw-D#IL{;qpg@&i@b>)nIln=LbGo|l_J{3qK3pm44})LMf2*8w6*#`#E9Sp7PJXq|-Q-+c=rVSU z)stMY5c~86K6WRXtAQ;S$DolmQ}vw=zgx;Hhi|ZgOr7T{ z&Wo{&c~Z3`Rv1O+nd-ZC3wSl>VpYlONAc&{%(GuVdR|^X`onf(-Vwz=(avjaZH%;2 zs-9Ek0>$IPlsQUuk<;OYicaIQ6rB^#CPC*VVk2XQqKn*{rx51e?GfROJ&G0X5} z5#Nzak*~nS8gQx2VZ222JG=N_Y~q6uU1A*cH)uk9OBeBv?cy%PIS;m8)}wfrYcpx- zHi@fylxXeTV7mTUn@(Ah>qeGb%q-E>;>jD}j{R5S0*|~Ly-Nh+Q4ET_9KB0q$)z6P zVkf;zM12MZL0*pDtFq#4bvb&U%8I|LthiOwp8&tis)Hh{24GEqn7?AL`?BI^LR_Hu znGg=u8zw}9qOF{%5hE4CjJQ7{oiRqyMMlh12xIc3WOAGO zyVag{Me}Y}61@>PJq$s{{dV;)+0-wV0$tR1&6sy=;_2Vn#6_}ovaCzC7&GU@BF@Ez zyz8$TIrdj(={V0fnF&8ZI8EnmPELt0!uCMU_64He+=sXpv;7j2tAn}kuj+f1M(cYO zIlDKRy!VRx!?|mrZygpfxhz~H6m7#wH*Y4Am&Ytr+MQ;k7pa=g5&MtMVQ8dH!ED8Y zY}ZI7Dq>&j%$l}HaWXRRwl~MftW%YY%s+Ro>@hO;DSn=6eqr(B+JmAqV%;!+ePYDE zq3Dd*5sHqCOM73@8L{UHI?tVP#-->YV82ud1NK6ja4+Q|#^`mD?l$$E1YKhkCzbO? zDuKH#CE(%?I>WDOMC`ZN^oD!X+w}{Bo9yEMZ4)1Z=n?_i$*iui{gh2S{e)edd#X;N zU1Pg|F?$JGSwdh5_b*Ermd4o4PQ-BDK2*8QQ(g~g_!^SoE@X~cGW;HNN#uiHa~fk` zMCdy6UlGz_uLmSb{}lLGFRKn9@4-*47jkmx)Zx-%ouxsO)R-s$UN`$Py{kdw9K8| zWtQ*@dgZ4T%=M*@3h6elhr*D)OiTZx2kCpjvP5?8R4+&``&LLl;`N|{(obmVb0&9l zi8Ol10&XA+(@-DdIz#rAkUXF41SS|`3teC+DgwoA9`SlWBr>?@bS_%v z-{46_S#THsdbJg$qLzQXzAEDH`SGvU9}C~X-k*O_o1KL}Ko|e|1RO>0qU2wnFAHA) zC;y^0I*K;HeEyv?w{SaJ;NOr>oy$Lj1O9@)-UgwJZy ze?y|pq9>t|f6lE%NnqvQ(7TKN8{XjGut|k{K7xNyPdEz4L5P2SmYRh}U={yThC2)A zqU7I@FP+814h+$6pVse})-RUkJEe`EA||5@-j=K$=o*Qsm-nf6eG+Usy5PjN2zS5E zz^5r6<%*IIZ<+FGFH=74Wy+_$O!=6X>6DLo$>+PA^7*bBDw5B45rj541J7(Z#}d1b zv>4YR!t$9dr+j9sM9}AuE*~IrjsqN3cb%Y!CyT@bThYmmUx6eaFN*n^-%*Lji(pOp#`5u^7>7V+ z#Qxh2#3_)ucoqmqltA)g`FK%Gv_J}Ds~{N@BapIKK3){#a@+(9*W$4pAhC|yfozE7 z<3%yO9W=NxmX8<3Bnl)L>!1Zmjz-jMiRI%(F#{Y+fb5Lr<3%w89jky`9?QpzVp1G; zKwC>JA1{g-;`j}at77?hQOsz^#bDbT%g2jiCOY;2xh0m57sX@<wO3xG`r6g07&I%3hFUU?Ps`-Abt{ijpO?) z+--n+O<;!%_umLlq@gauc>c}mQLnp@a64HN-AR1_f6T^H+!dssB)`XPlKv^_ z>F$4%{w4dJiN3K*F23V8(f!Sz*vxiT%Ns}Cy!Y9ChO934!-Rh%+&lI|!iIzViAL`Q zpq&61FZ`7d#hh_xI=*M^wcvCl*5Q*+#(ay$`jVc6g#~ytVx(^@K9b~vM#;nn6Tg^2 z<{C}>T;lRUqp8Ga66b?PF|J(Vi->c>5#uT)zLI#mz&XG7y@?iv3tib<5JQ^Q;-w^mG#FL4C zC~&T0{YDf2THt*2q~BEH(W2>di02Yd7Wg>grNl=Id=_y(@u>n|OuU(RuE19j-%Y$! z;2VkGMBFd%i;4e&c(cG;i9bYqH=zD6aGZKSfnMrq_+`L69Q&_F@+R-Y&^dZ@_}?6j zuW71r+quAIq+#`a11cQxl)epU3V#vPk-#`M_Z``hQq!;rF~C4G_wC$~vaY$>aP&O{ zW^-T1rGxU>auO9g2B$ds&qQPAFdiKPZh(Sw`~(Nm1Y^isgj3D|Z0_5;W8hE(wPVm> zpdY4T)e4RW4-S6IxCz8zyk+Xhj$t?}&NPPqM%DUIJB(Z6=NW?H5LrhxBI^cXaM^Ny zu8NN7>{OeQb%4Udv41kONS92f<@j>S7$EvJo%wbV&}1)-72+pYONUK=0F@V{Ylodj z-LA37&*M=16=pc;x$`@FE?avJ?wMTWvY8 zMY|RZLpLdeZ4Aes7>#J`<-{?3XLtFL+{4A*#c6va_i(Xy3y^!b*n0?$`U1}8U)&?9 zdXEyj)EqUg5B4kgi+eFuZ&!K`cc$tMTWpmhRqv{zH{#b!`#MI)_lq;*&xtP`*w>Lb z5VKaQ5f?WbBsf)pFga>~VaCsln-!Pe4||9NuwY7HLA;l$j3(mh=P={r;>ha&>h5C+ z&R|CdIwEy(kvhz=4o7}JO5oe*{C*kWjaSuBOVI>v0w&phHZ6UlM1%SLbdyQxXmSW7 z`UwEx&|d&Z+2rZajo9o54&InIFiqeoQP3ArFenWJGkBt7&LG`qkLb%eafsR>Q>+eQ zXo0x2TZTm>#th2uCuN35OLpNKkCGM02s?XUM^dl3DL@wZ<;qK3;Mo4h{392G-1vR*uLK0EDo*(T5A5k=MSon zm)*oSaGeN9y5*e-^_WMBry&p#Ft*u-MvB=+CpFVj&o>Z>icCHKC$mlG86-|O*5ho$ zX$P~6H5EkDF^PIE=__ZBBt3KVlQT#Ei08YFN^<8k9?&_321Z=Vph^L%6AZo@6shG* zHrPIGo@1XjZPO8bJXDUboC1c~rhwtP0*kMX$`PO;`574_Bkgf~G3j(3Moc@M2$)Na z$(UK4Ml`ocj?!qUe*EQGF2JzBVUMLc3HIw+Uc`#vD$~U3%9n!#{TfP@n!Zr0M;qYdb;8eB%iu7rN z&@5gr?4vX6a;W!73OFI{HlS0m5kFE}MFq1_P>Ut1HhrL~a9UqhjKx{T^5150$RPgyOPx%|`51Lz_7ezo8PwY6L>c<>_z`Z-}gFO?f zvmbxrg$WrMyLOvfU5iZj#2;Ku(7ok(^BspPI3keo)~@o*VLK=J%gr~oou3^T5m;RQ z=Z}7NL*piAe*YEDx&2)sSMzP!8`>3YK4xeOb0^vDrIl-m}$JZT4Pd1}BQoGPCyw_aD3<`{3qr z|Ha||;{~gCAvnrcx@uh4&z#+|EW>q$;%jWz+p;`8Q_j0iki-mk65k zT_X=&5xB1W;H<^ve}nQ>fef?q`M2;nq|B@inu8~r%kC388$}r0Dd6}6&_3&O5qbxA zL-&eZru+Gyn!R1Y$F2zEmwyOtU(r->H)og|k5Xa(H_f`B*>9q`?tnS$O|wWwnN;`? zf@S@^85cBPc+C|rJ4dBFb%W{tz?FJvaZ`Cq%UjJYuEiPVh7Zh?17_`;2cfIqn`V6w z!)mUr76vs5;|>#c;z=V%loN?>=)@1>B_z&XnyhbDHh=DP6x`pO?~F#xX3Q>5;|!*W zo|ldPhwDPORi@iYfsF{>)Q$I}i}k>o>0yqZ!ZF!t5c9vaE?{=kGdsX$Yl@G|*jzcp z-Sx{ru@298RggSYuSEb z;bW`JEg$S_cdb0U%8cDxv=X_p*4$RMucdq+{;g(!#au2v%kRJPD#)9gt4(*cx%EJK z`D13yfyaKn)zyE$6IZVs`Gtkcmz6B@89v`eyw4p)fb~B7 zxPa=UuL5vQy|22WuBLV?7}ToZp`ii2v!IseA~C*x2_^!GjYqLsg};%rSrXo zG^EMD3B~e){3ZD%zNKhze#GjUdh7(q6x_hqY@?4se-mDwF3gVDDq6wsF7S$m&)2ZI z-rs~JvZLTOP*GEF)7iKMwB{yXWkYRqUA=spzduM%@ySBVl;y?6hUi3fRUjf= zRcrO2G^fyL!tW6Tg3>uT^XF?f)oaM;gSg0DyExhX}t#(NtSgS3|#&8$u##tsWH`czZsE z0?v~4%Knn&x!xs_zWN&wTySJ9Js5FFVZMzAgUkWv)3-i)zP^F%6%0-h-;E7T5y^$i zbA@*HA}Hjx;a&L=PZzF0HlaZgc8$R%y^ZooFY*ogMs=gFp}HDBz!CA;@{*GLCD2Tt zi1zSFm$Gk25M~;;r3RhCAT$CMIwzTe+x$%!QyDD*omk?RM6|J10xJ*uf)(qH#wG-c z%wP7nR>Xav*6(jL>iqa!0Ff4mySj?NMlqb~2RVdNIUvDJK15?BvRmkZq3bY{&^JEe zbc3@4QydPd6~Ex2I_=Y8($i0CMEp4)k*fzix46)#Zt_RGjZ7-YFUb|zRN2sscO7yH zV)7s(#l*rNDd4L^eATrT>jRT4RZF~O2Hp$lnSb7S|KqD6JrnAJ&Gr85^?u9`HI+as znkqMB;{;~Hv?-nm>pc^eP4Y~@_+(c?+l1=E{P~d(5L1lq0H?tw|9Ux5R=^{MubIhQ zHOWx(*n;Bxl`_DDdqp4oTPppHcsL9hh~Yv^!O4gWOw{~A8TKyFT<>eF2yTePJrYx; zo*0UT+A1A#mMz6A3JuV4y;jem%fyUeO=L@o7Z#P~mST?B=BvZ`8GejpGjrJIYn~ z(&dtaAM?QPt8__PoMdijsPkuB)DZADZpf(eZ^~f81#9qu-^svv6b#m0EH1(P3A-9A zs4kjiCKoj zCFO%B*h0%%fEZ(pdDX5p7mCE-&O~HN)->SCg!zS~=niIGkhu23 zvpydm-GN6qJIUXwVXkQ7^07)ovDlZe!<^P2qx5k!iY?oPt~&0U@@$x3*rPHQBUww1kI&1*2sEb$?o)=dS)WVGk ze7$Az{AHLd(IM`tWOmR3gf^2$1k(J1Ww~X!^9^x2FG<#NPd8u^~Q2NGd zWnOM>Nnu`>6cN@{Au8$&-zNT|j9R~gmSwatMI1{Pwj!p zC56lLml>O?#UjuBt!lM6e_>(n(wzLI3%O`>vq2~EG{DzvdC;3@`>`?uF(j57l#CMo zx(&bUWGUi|0H!dwrPe5(zr;6xd2UYb(vo~H?!HpLg@Z{QTpMtvK!)Y{3-d~>I{Z$K zrHlHZ8$A(%V$%maazem;u#6WnG?Q7KLI?qouljd+XqQ;{g?eS7tp@}t6*)u1ul#Hx zL0{53SDoQHj8Y9Qu}H-l)Ne?OGVn#?L5=+)!YD3}**?0ecN&=owf?1+*a{6Uw@9U0 z`6fl8q=vUyY=s)!Zjn}K@PJKH!-p-lLJdZ&Utu#`fZ7JF(P0#KWjUf0p3`5}z<(Ni zL6M}h{%64wE%>~p>p~6Mb(I|Ks%xwgc+L`B)0IWP;O!=hrBH+WEzV3nMJm$Z8AXyl(AWUp+<^nm(%?{w)NK^H8&RT-&dQ2!Ta>cG9@|IvMvHW#?N&F7HK@DmFqUgj8$9rBCXco=ZYi;T4N*l zwU|)1T7zj8sZ@jF+g8b?!AXiss?%6*L{@_fIx&jIY#+K?&sheSXz)XeRIEX5wTuXj zrCW^_Yf#%G88voZgi(XqN{3ORLA$}-Gg%w_qGer?2E!I;t#iqd{#o8(rQ*AJ%m5 z!*bn+466@oG^nkX>NKVehbbDg_hI?}Mjy&_A3n4CaG?h6eJJap4;OatLz(VFmeq#~ zHK?s-AIc7DOdIYn$~0*2Ls_>z=(oKEtrki(xZNTZY49$Kv_gY?6rBg{C_StCwU%Is z2Jf>-Ycy!r)jjOBsnwQXkp_Qdk%~2F*VR4zv@YE-jJXC6S-Muso<%;pOOvlv%6qXPlDZD*IjUVPl7$9OSe9j z^(5FmM%$DiUnjr=>y8HhX_1OFcm!YEORi!K<_?x5=|YYDL{YJ(YOuKzqsHp+n6J{P z!JjFT)TptJ2&0sUeCj^DY#Cgl!QWd3uh5`2k?KnhYOKjJc!dVFiIP!c+Dc6B8q_9A zMvX-b?zW-Q2ESz)T%^Gq%Z}9=)Fx7Wk!5f&!l*%QqGZ%q#Exz`r(X_thvlV0mvVD| z%iZ0!D*8ow4@9K06?e|rrS$6r`8F~h4x>=}FL-t-{jRc9JpC=DN;Q~nk%~09z#Q`v+CPkw9%TBITkerJ)2HF(A%m1 zrPSbDi&Uh+3oKHx2G>}mQVr@?m&wr4*i{x|u?DYJB*_@*u!OW}6D+|J4QhKZ5ooZ? z;##3WZ4XY9G^mYXizNp&7K+Gf&~94yt5`sYrvrvq;4neAXhBYEZuv zt!HQG77tp2B^uPtz!@6+y~VXcgSr_wLxc7fOAdB*zi#nfOIMKwbu&0;&|sUzwOWI^ z8Jyv1(B5MAed2MY<9kb2sRsLaq?&-QdOHRmNi=H=?JNdkddRRF0xq4v{WcU(xC3G zY2fv6T~+0EQ&rwwRe4vbLM7!_C8jbBYMXFgV|3TlZ35b@H2eq8YL+Lh#=6b=n&m(E z?0O~rtfl2bqs#FNRrP?yQm8@gLj+(KA?u}h-&j(m8ay^aGGm?6;LD06V^m|`Mi|eg z-f6LvXz*E!v_gYgp`73}7E#}APZOtfJZ|aob(ivWH7dEA)P>!py7^bXBrnodp_V#f zHQy~l^qcRJMrvo4YH*rGTA@L&A|crSzFi|b6tU;Ib*-wcva}UyaJ@w;?&<>lGP_$W zmQoF-jMA2_(4c;ERL>S@T{l>|N;K%UbQNoGR;pAV!$oY);Dd`5Uad;(;xu@B7gmkm z7h%=l{L!7YS~wr;!O_D8Rh#`^mf1xb%&^Q}twFmBx=;SED2raREGyLDHx{W_gFjlN z!r{v9QL4mLq(R+<9!%G-)q6sj9%BRy_o=}LHLgW_(Z{UNgl5Z4QozEMn=Aq8waDjw z<&irr&lGC#ev4G3K|RJWT@R4<5JM)=s}rNf^sAAqGZ(AWf4XVY7-@+#v%rHTa)K0tF#ZXjnbgqy8n;d zsUys5^|Vlf1s17TgW4}WB*Q7y&F@s{GKz1Ax}ksJ4N;mhQt3-zP00c>Z-@ee zuF$r`3eiMV-Vmi}i;t#_otPYEYXf88sF$xLa=P!5(4hD%4<(Me4R?x<_?Sdmb}_ z2DOxQneL(XJQy{odm$MkV=kemR15lTcF`iEQZ)Les*dESrWnfVZaJzebdT*hs%hHz z{~(fge%V~Ql@+BLoNSSbG}va5iZ%GUB8h#o zMv})#8|duPgBm+mQDK<|Cw5}g*!&2i27R3vHTH3YQ8pO))EygYnOvg5Bui?A2DOPY zIy5#e!l*%QqGZ(A>IkC-wTY5ZV-bV98mt7Gq#Yl} zvlm^diEd?GoEQyJdqY&jQxejSF0i^%sKG*uRHVUG7O7Z+x{EyonQp5^0k~MG!F`G( zBSmBPMHn^sawkTGbSt)7f+ZT%I^{rUOsmCZEe+aR=zdvim(r{ipqpB-&1$qzgIX7| z;(v8^^&wUjQGC{yx~^usDt%KgkutE0xMgLS@2zP?Yp$z(LcM+4K3&3gmt7?-(+xBf zB$lu*q*naHA|WIq{6`Y|k|5fMVkr>)C$@+%BH2GAJ7?ziyYJ52dkGqNch33EIcM&j zJNIMe%{g}>HFd&MzpbtZD$d40-O}I)X)%(U0l5|yj4=lF4e*gG5$K zvohsLvJyAkdXiml_Qd(zCj_2XBzGd+J5%8}e59J@nJ2N9*zX<*% zRT>&<#UIgqtoX)8M=(}8#Z-KN1Xwn zAEDI54#F#dJ&=9NNhP+CEKQen=_ZoJ+b-`V)z`nJ7K!&+q^=}Aw~14L<$9~Ksygb~ z-lvP&Z7$2WZHaha*ahuLrXpp7warx(1U0aEi;1?Vr(-nOZ`UP9wcg6cLGfFu=tAh2 zGm&+KsSXZSx0`6AFyhoM{vV0xr}@OGA)UF9b-yQlbqr$%1JxydaYT1@ZPhkF(|D1v4=v zi8#6->#2@6X5mxK?3r2kG&7QkPd8(kc%$i>m1Sp!DK%%|O@_TPSz0hN4Zo1>%>=&89IEZ!r@qvgGF&Q_8~UnyzvdKF7ReQ7I}leX#m|?Ol3-VMD-jGOSA4u&v@*8N=&h+~RXm{r?Za=a{C{m-(hiM^U^3UH55`({z=^9i7}pId~}te=G;r zSE&|x6n2%1);#;qPAlJJxPWE_D&L)B=j|N)sI@Qa^4pyKg|KrhNB*-M{Kp*pH;YSq z;wi5EM$_MdH_LJLmW#^9=_2HdH#+E9lr&7y_D`n;7H^X1Yp(2Th%5rm6?^)$Az2aKG2Kv2=nG= zE8k>_xJAE!f?p_KE>hIy8eBB1ou?OE|L2m4rO=vXanFQh=0l$UpYeNGw*nt4IvtK} zmI6P7{XC5GvXb)X4;N6?Lly^<$SROOi-Ulg*_0!%;i6ll-5Bkf{eMr6{F|`PzbcB- zUYbUMb0P3F2b&|nIsM5mf*j4Ue<}z60d~UgN}d7Ufk)?4sQ1?#I~O5;4A3 zW}f$=#pU{f{B+pAnfQDM>;ird@Gws31HkDWq|Y-=8rC(dzu9oEPQ>3P-DeY_BIw1h zu9D)#*C%e`Nr%dWlWM}5Qc3HyYcc0E>&Q4}hq6gWX*IuDoV=}ZdN`|)A7&$Pz*K)? z=S1yXLgR2VmHVD}xV%QA0o>odwyoS=S-X1m`c)e$8_I3%t17wP?Ay}KX|J{(51@JnM~dUxpXoeX5ex!y;t!>@HC_HpZ)=|e6^ zfsZ93PgH7lIAfdGchHBYt*^-t6mX`6bF!SI9$yZAuRf@*!*vHzb^Q&>>+xLtU2(Aj zd|~Ib?PJav*T<~;wKRe_6kG3oiCHi-B(COF2`d7BQ(r-vqBV{~;}_`xh@-F5zmz`a>V52&@RA#H7m>ZFl<}G?>^?=mHs!UBNe@; z;xQ7BlQ~{q5LlMmrI#Y%E?l~#uN^jVJk5L(xZL(_;`<|5bC(c06sA7M-OR_PI!Ucp zWvGwGjVTGHwyDqYIrB$ZATpZxxN)2WFBRfaV*fdgXTAf1+<%&5{)m+SlhEgQpLq%T z;r;_QJwmWdG0qDxAAun250AeO`fZTo`~mZEC~7uCexd%5VA>{pU*J3g^FusPkALP7`qH zAjDMfgkD&ZKH>|vV^gwMLO*Q3{#Ttst4?Gk66<1q6Z8`zmOOmWAt!^`edMI{qVMULfb{hI+AWb?BY?UATJ)d8CPtL0U QYVFvP_VL1XY^weL1+eXyJpcdz diff --git a/netcon/make-intercept.mk b/netcon/make-intercept.mk index 46aae6751..8827d7d0a 100644 --- a/netcon/make-intercept.mk +++ b/netcon/make-intercept.mk @@ -27,7 +27,7 @@ SHCC=gcc -intercept_CFLAGS = -c -fPIC -g -O2 -Wall -std=c99 -DERRORS_ARE_FATAL -DDEBUG_RPC -DVERBOSE -DCHECKS -D_GNU_SOURCE -DNETCON_INTERCEPT +intercept_CFLAGS = -c -fPIC -g -O2 -Wall -std=c99 -DERRORS_ARE_FATAL -DDEBUG_RPC -DCHECKS -D_GNU_SOURCE -DNETCON_INTERCEPT LIB_NAME = intercept SHLIB_EXT=dylib SHLIB_MAJOR = 1