From 00f6287db13f942009b916f6f8ed9cb59bfbb97b Mon Sep 17 00:00:00 2001 From: Damian Minkov Date: Tue, 7 Dec 2010 13:54:44 +0000 Subject: [PATCH] Implement packet logging for ice4j. --- lib/installer-exclude/ice4j.jar | Bin 289065 -> 291985 bytes resources/languages/resources.properties | 1 + .../impl/netaddr/Ice4jPacketLogger.java | 56 ++++++++++++++++++ .../impl/netaddr/NetaddrActivator.java | 30 ++++++++++ .../NetworkAddressManagerServiceImpl.java | 8 ++- .../impl/netaddr/netaddr.manifest.mf | 1 + .../packetlogging/PacketLoggingActivator.java | 47 +++++++++++++++ .../PacketLoggingConfigForm.java | 18 ++++++ .../PacketLoggingServiceImpl.java | 3 + 9 files changed, 163 insertions(+), 1 deletion(-) create mode 100644 src/net/java/sip/communicator/impl/netaddr/Ice4jPacketLogger.java diff --git a/lib/installer-exclude/ice4j.jar b/lib/installer-exclude/ice4j.jar index 6b44eea4281d7ef64994d2964cc0167c6c8202e1..c6e7b13729b7847645081b099abb561f8b7eb628 100644 GIT binary patch delta 53645 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 ?{+N)bDKXf41> zpEthHSKc@_peyC22%QYE&|B1Zr9m0-9T>Z)Mu6 z1HrzhHiGIXbz<`5*xB=(7~}F1{nRTCVBHkQWfomFThHTHZm3vNniBz#^!w0m(pKvv zTk#TD*jaz^ZmBJJvyT)n!?7l+r`kM=QVQOAgBZ~_(({>FCz;_0BhGIZ5+zA;o+HE9 zfqGutc*yXkguP6P?h^HFOWvelV`bL=?gJ%EsU4SX+f#4G$}v)=pG`}#WbOedm5&RFgI{DaO3-8V zAlp4guWopJx>Pg7=97&f1=p|$kX|9UUTGPl7@osBg|B-~ec&l}EM55&74gf2wY98= z)gwbIEj<^y{*jkkdSPqDp#=$gOMwmK5>mEpiwVx(r4bwH#6j?sdPsH*&D8@W)P)=F z+4TWwwYZ1$;df}q^rh=dU1-PDWy3>gXvfUuJup4i{%TW~_YdgCJTQ(I&>jSszSMuI ziM`nR!r}8}pkteW@I2JpCE9>7TzTDZH&<6JH+^V&A&njy+`j znNR@o40v6J(_HIlnUr}_yp-PmuJ@&J+ygoUhird3L z_~bX+*>j)5qhqv7VZ>Sjy7S?wYYrNKP+!ildHLbul)pNd2UNzY1Dz#?i=!Ak^uz2s z%X!y6>0%f5S_TihzsRIQ}< zJxaVlLXr!MBEq61Tok+R{S(-zA6>A)0O%KW}dbpMJBMP?wFCVM3t zwt%sut}v)HTnLd;eV($8f*ajzh)hZfeh*vxBLvji$sln{F_X+<|Ljnz?YD>t@rb{y z0Cm~4+Wt0V4SzR_{E*GpehxrHnpI1bouSk^%L(0xCZMNtod4P;?L5;GW`-K>l90eu zj>7?Wih^V|hgBhCIy*4I8N@hSFqNryz-3>UA5M-b0x=GJja(to(urqq+qiKEA2>Y0 z!k%Q*&%XpLzD|5G2@NUY_6>-yn3-@=Gby4#-S!YavO=n!mnkVal;bZ*d6X5l_8nP% zN|k541<2x^EL`6coj6YcF9@Z*kBIQ5xXP`#R#Ey>J{2W^inw54k8N)y zBE+50@Ds5LG`Mt@{hoh18WbwUd^jjYudkC%uw;O(8Nwkn^6f`6>1T$;wN83TA(exr zEcNcnR2r1kN=vnqGufMt#=XiaigrCpq51(g2pEmOwbuNHgkC>AFTG?GJ>SZ^UAdBuy_C&F*@ZRq>b|bWbDnGlc9~ zbpiH6XEyWZAuBlH_EOU`Lata@Cvr#%>4smKItU;Se#TXx9nth3LGxFQ8T`)k&XQro{#q&`(S8POZRtDJmAs!dQC^Vw2F{+g8_g0mUNzDy#V;Sho14%fLrPh5M(i%m(B z(T{$sU#+E_AxwaD*Y$_#FWhXZS_Q*1kZj~v5=VPz7polR+X#qZ0w~cB4e|BSv5J}1 zqmEiNE*1*MebMt}3Gx=r#PD4divaj%5E6X2MmOO$Fecck8Wg*rSAU@VF+4X&lip3? zJ>Tv#$tz(n-w(mi6OSuTn0ESu_tW7pW5i6z`qlTwU9fBC653EIR(vbmhbU#Iul5dy zU+PTs=8jS6P*6yI2^GZ*IbhliVwSWrg;vzC)IDaMP;`^Q87UxYz2;D#7!Y_`&5y$g z!DF^3%2HBh4C916LQYgtkDxbu4u!ejW2uGU>3}N-At)DerUaQ6@b!UhG^nDJY!Q5; zFohBd32ayVrb}6QR&T`@Aw^!brB*_PCv{hs71cx28lUX!8LFrN+n1<3# z=&OF{EvxI7otyEFCmr#FmHVz~w(Yna2M2XAqwdcU8e6c^VBNoI-~fI6C?OGM+z=tq z!oS|(ut(v72ZCv3k)M;tD~faIPT7Mt4FZ1D1TOC#Z$N!ticLsM~w1#i-Z z(QAQU(<;+h1w#)kV*y6x#assJ4#aX)mZ}9Tt{^rZ7osfXW2teANPB!W@@I+nKP$qSl#{ZSEG6k4EeGO?>;S_l`nKf@9gG~1HvrckMKh> zTwS$v?0+MdOYwVgWQUxH5a*^j-n(8Lo>5Gz*3xF2OczoD)v#+Jre^>q?V2LcvPcC zU!1TQlMWzy{vHih6mC8U=b&mg*WRtw@g5E4=QQw*d@>??YQITK$9Ympb=Inu?^|r+ z1XVV!Mb{GA7L5BPBqjio2&zq#AhbUQ*-Hjnc!Jo-7u}D7F?ozml<2ZpuWn%WD5EZZ z42O%3d@5te3vnR3)wvac?hj(Wmt;OqO8P2UJ=ttv9#kJ$x$mgKzy-w;H-)UOtx4>_ z@9$yChF9|WF_VE$Hp;|cfnn+ox(K4}h{ps$u;AEGiZlvPD7%0|O|}pEZll3<;Xc)huoYEKm>>2GJfHA=o4ULAOsJ6`wHq8}RK>jYi z?MtitL(y$kj{6a6Ig$D|W&+O#jlmZU!^_rwQ(AN8`Is!5F$OkA|Dd7kigKV7kEEf> z&Sg`Y@O%ud1g9J@9OSG>Y*(=Zh2E??*no}SMh_!f=s4fI=HD>oOYEgRQMk0*P$cQH zso0Ow<_%i8ZH<=dg=aqsP33}`I?1ol_CUrJCvrd(&B5%rXoGsSuoX+iw#YMFBW?r{ zmklD156(W2`XY+F{g-|0%d6(vi*OKukaXw41hx~H@rnR|9`LD0`$U+$6RgMhguMuX z%nAnUCV}!6X9ynRdQHYc)QCiBSCI4UQi{YX2K|jQ1wg(v5ZX}S>sR4J-H5q{+ajLe2Kp#3qsm**)WsSP7VQ+^XlfNwrqXT8O@nmt)+$c->YlX zAC|eYQWN5X)<7cLv2=}D+r=@_BJFQV@N(-}gq z*VBdgyKntk+#b5-l0^2`f?Bn_^!AAGRuSb73RM_jAWSUZYA6`HSdfp;pTUDG+=#*y0=EdipT0eubqBY1TD-MqjsrxuDfKjm-F?x}C9rT1K zj2q&E>&z*!XS~q<^>A6CagfXDN}x)dn#};_qnf6R1ZHLUVv)SNlAOzD>> zw^|QUD2@1X=B|~t&rRwx4hL)QXbgp3t?Zfej2EqVkk_t0(L*}H$TD%Q`HmaPG}T2s(q^^@{4xFL36b4ug*$}RRla~r5V%rGks z^PLj)gCdzNf)Na>GYohAXCMZgf^ zB+@3^;L}x@ksGCvX&$*WgYicB74#F;j@4;P;J6W!+E;~GAu92zYZGSU90?f6LN-AS z@};15z1!slUVxMLzhPSMP#Goad^t^R8LvR@D8|<3<;?_ErAt<^<`VWt>+if4fLsg(|NO~}1U zWrT!GtaFKSBhsdHaA{=3JtXt!meUQ2%h0b-Kdn{L0b689TdAvVjm;qJRn(317D$fV zV5Qg84znao5TviCT}@g)aTq`$MhzLTt2_!|M~!o%hyR!?ME@n5{!Is%Zr@HmmYt)Q zj{v>mQlDsn(fLj@$v&*}j=cVerD7Rs5<;*q{#jEm6V(;f&2HD4{myRZzUWkb$R$NY zP_dG1E!j(IU@~en>oHZ~u71c{VweE+W8H~s%?VECpnt@_5dImQ7c!LlO6#&V`6{2< zh)RhejCumSUg$R)ol-3z5c0^{viJq#2uHKXmtcj~pg#KwbOL@PY1m^BZgGE8+73Rd zP6^Uf(--P@kjpKd)ppqr#RO~lv=%twI5Q_7x~NSP?X9PHhij?kYx@alxC_4sYyk`0 zv)mxj%AC7!ty0tpzs?O#VGRT_tasas*Z+5U@Eq8AlV<>!W$2!hF5mu_~;gT_lkIZP}!e-7|L6vyEE%W%l&3h zDuj+9-8)x8=j^I|c-lNRZ}od4)@Tdqy^C&iisL)|@Cyt@L`h zTcLw9zOnpl6qqQc@yjMPK*|-Lb{@ z7q}9a#H@+fwh4wHm~C}Rn>5u<5Z=+xF%5xW6!Zes7U7mmh==9*dQE&-%nFlyVK>nx zo^KrG;=5|H{bi{lX*}5P=c=bg9||pS3>qgubZhdhV)X$5H;%2+T*Q}hf_8%(D8+Kv zV%;eKF@qv0Do27`lRxCX8ngn5y_!m?UG#6^G{{))PgA;xeZs2rr=W|e!3j8$ziKf@ zadba0FwhD71Mdr6_^h$ZP&ATojS|$Qig%(f@~5Jf&Em@#!bn;YYCGXdtK>1Xy^=ee zsD(>D$WT^w%2fQJLXL=6Cu%LWU;>+}#7RXk*sL+M zMY;}6A_H?Uv=#|&ahln;+>xjgF+{`_NF=QGPb~FSIlIbTLK=UW)VC#GUnmZPTT<_r zGR2X3r$#Hr%reDv%l5v|21-)2T!|Ul?TQqeA(X`mjvMYV*nC(|lrn?-9HfCAD<)+C zLq}!q6DtYO`0O&P%z#MbuRx6Jh=OW^<*jP9`_&h)JP>PDu!O^U{^t9Um2S4 ziSWB92}~J3QF=wG9=$sR1%Y)W5tO$F*b!-gJ<-OOToW@~g@` z)_UVstKRrOoqI?n=#zPJ@mQ4I1ETJ-%Ya|6bACSTYh_dH^ zSGbEKlyjDSSNzKfCpwO3nUtH@YnyJG>qktHy-~BK*WueRuBV<_g^G)P8a+;AVmY# zS49K=Lm~0F^eki{6_h@@6t0y+9-2wtMpm+dXnSKY6BJCfn=I{FBr`dy*gs1_yzF#q zYqCb}Bs-49ji*(~kjhq+lk?<_yX=AcBwMA-zIXU$tJo^B)a>t3n#&A-+|B1l-lx|& z05K1;UNgCKKKi9=K2Q`!U^f&W5C+5jAiS>2n1wig42fy)x(Br13eM7N9}dxpa>NxN z$=WBlsTAuwoozEu?mvD63-WT+x{Z86f#?Mdt`i~rPsG}Ii3(aeF z;H8FuH#tvqLMh{I&f zj?%3j#15)sXc0euC-sl@ULD-I_lS1n=SgnTg#(AS6&whe!1>;fdV*Ea3w9TwxM35} zMHYl++y<^Tbjax3a16zCK&Oz)jI)Z*(&Zhl@Xs^*^*=sILLWkW$X3fF#H7W;PiWpI ztOMqw-bLo!I-GCX^8Ce;`=J=W&=#k|S0rB-$b2e#L(~7WkmOof}e*87H2#P89 zoq>sVT;7LmA?eBo6re*^)pC;^w zaU)0}Ts_q&$&xJfe|LM#PkM+6pAkdo;$K!BPy!Et~gWC`{`1Scsk z1>$4e(9wN2rL&4Q0+1y_k6Vkp4`C`pJ#`YZIrl*fp=hb}29s*mF|Xw<$QvNzN1h@G zF~sq0RqAjq_l=FTm%&Lio*qeoElcc#LeX84;#OE=-+f%iAmVh#kFUPI+lCHnqyV+1;bX_4-tswyQt(x;3^%56$+hP#mVWZXfEE_<;IN z%-TUxhiI;~fK@0(uW(nA#xL4J^&Nb+@|C()?T(eN46uLVe2wWT(f{@bH9Yw&jfST| zc%V-89j8y}wmWiX9|EFJr2&?oMt|r=tvgtd%2R8YkbGWnZ?^lC;-0wD1(Z^$0r5?( zTePytR5jIljtx)l0VhMdkT5DYGfyTrLdx>t6*bc2tI24$Df3x)ep z?ym&$+1m26hzv0EAPe2O_uQKBib|?f7CBUMIe>4`rNdfBR)k1Cg`lp$2a5s}f@9>1 zoRVCe16$GGPHaJ<`bP6hx5P5@F^?0uX@+}EoD6RRSAPZdT z5`bC`Yl_iit<^uKiPJSg8-dD@(C8V|o(j&qqh8ExAs#X|Xvil^vR8y?H};$W@aJJj#$}UMW`W&PsYJJ|8~5 z$%au@)=-{P6~l=iP5I_N1bx`FYmdHZWq={*5beS0Wg6>ygZqV}i7^-ZgeklPvtYiP zpou$;k~r%G20hs4+!v*KJF-nP!IsBwIkvnTJgau`B~x6yrU5*^cw^E^k&}R?(=27? zx=6Iw%^!Yx`uk5_g#g>?vU?|!nGajAqiqLDyMUFujtr*Xt}mJMKb7+jZDdx6wE);L z7o8Z1apA$#q}GSLn|eu2_c3VN>x>TsVbeY^&o!faT%m#U z1&cZ!(apZ2yEOE4Zh1oUsmd*`k(ZLvvq4cckWki2(dfyZl$A(BzUov0kA~FV^r?K( z##X7RC7Ow(6|m#CYHOLs*XVwj^*a|ozt7a*$Boxsla+4Niz6r&Y8oQha{~xQ*ml;5 z+j)LkT+BKa`fpx@D($yJk>9hr*?wGIx_* zi}x%umQg|afc;d@L-U1>0V8YoA)NMPKi)+fPZQ;9P;2G$m-WQI1BnZCMe>~`f z+q{&gHD+uz;vIG$o1iB5V+HgbGQ3dB?VQ)}#@@dzy5^)V*pK%+mo;p8!n$i}I+RE! zYF4ewE^mr4jQqq7Z75;3rS?0tq=dI3)&A}cGwtAod`f{hkOJ#D0jipWtL!hLUg?D} zJI4QR`U|*uD!}2Td1=h3cV*95!|Q_86sqI|$NH+|h0+AU<4egb=?xG^hr;~M7ub>W z6jx}CB>wA<he27_AaQ)p1%rkgKBSG2UL2v=MT4p=Z8cvw{O|FaLzb~*% zA>C1(Fna6|2a8(?S1rUk;>v9f|j0#m(p0GGl7nHDW&CCxBSFmEI$DBW;{Q~>l+z8UPJfv zuDJqNh+R3+9QVJy5(xce!aykG;TC`pjA=V$1wV`eZZO z8RoQKRjI$YFh3i>7z(o|Q9>ocz5^z(vgfB1YG%x%9tmNIcBDyeZrqX{;;t02Js2b~ z^AZL7+dVz*VpzOgRM!^UmKwexQu+|&*GNL%-cR7lvURY^4{pV17yw=R@nQq4o zJu@T^y}4l;Lbs#ED|xtHSB$z(5|f1LJ+L#8^_#NJHgXI82$c zq@@Toequ*mzyFph|3)a@+;~m-EiP17dKy57vri6;6+D8~kMrcK^+@{QOK&a-7g4Mb z<2S5-8`lLu6wBqJW<-yMk>rpSgk)jZbGO5<3KO&j z@s@L~iKY}hTF64Nt72U*>|IO(ZK@S}b(R4qHv~-n17|}GKc>TH&5cKXwAXXt$cx9b zTz>XZ0H0^G0B3&g14SLJ)EYLU9|o<;P^;d#JDz~!7KO|h`>I82IKI$rz>;PJjM-Gt zk*?KTN$)DIcTZC8>T^$7PJst;D9d&^-Zqmu)w#e$^eZ_R8Y5~{d;wg!9|-T8ZC}ux zx?si&({#})Qy!gF>ghycZ-6k*YJCJcnw2klBxG&8h+KhEASuhapa zf&l!gVvzK91TiH+Kg5}iT;fUUIUHzcVeVX zP=^0Hg*QP_{^eS$Z-HL@lLSlbf@=TUD>?w>`cIIb_UjCk?*HaWgFgpd{%_Kwb5Qet zVts`>&_Dmc;VqHKs(-(XIy&qxMpRlnI~ZD;;~gk;n)@RtHsGhH$}+y6qDxZNmOcy` zD0n#^fe7njaPTD;J#ksif{u8R4s^t)w?+a#D6aAl(@U-O1k%Ct>HDao{wNe*%^NjeM%MWFn*rm!Tvgf&o7Q?V5sP~!@J zR-@%XP(YA3c1;A?^n8Gn30=Civ}5y4@^ytezeJFp`Z1I|?IM?pq4&0s4P7%4fg<#w z&Owpzb&35j4JjFXImRIwWw9(jDxL~ygOqiq|FllCrceetBI-zgrqooqot3r`83v?= z7<`8#A6hg60tHE9uDz-%xCD}Hv4K#!8*7XoFJE3wNWIz0v>8cK*CgsNi!*R zb2fvXpt+`PB-ZN0h7vhqGNhMa6n5r9H?aXcn{JdQvRIevNL53g#`ZeR5X+L@pnJ%T z0aza8Hm5tu=gZQNki^@_XQ4YpBrJS6@zz1fEj-ARe{^@K?G|2&nOaDRz~YXp>WPXj zNR`mCOH?zrB(_mze0NL9X#^Ten>DF5Hi*47Mit@4B!@^FDnSPR$;`!%C_ROboUyNp zHQn$>ks}*nj>2I!=SHT8g>;b)fVQyA0`N+^b|lKZ6lam53mz1BD!MV2nJr^5uRx)Xcbllu}>cnFPsbQF6SP`u2frQf^dA^4wuc<{L*S%6;r>J9edWEef?MU1yE&z zQ9H*Bq2i`GZrWNsGvJ#6Zrb?e%;kwa057VDt-6iwzopBXyK~{II^fQD2c5m}6iz+f z702%zk_8>MP)LqUbL$S&aO)0Tb$gd7{M{nQ5MnTl%i|Zssn%U`(B`Sr-^DbK0t=y1 zTvkt;iT*sSj%Dsv9qVz+8}Q&A4k)*akT@A7Ro2?hOibTdzVmq(PW`p$MBiJxAII|% z{NnbG?ebO~FP*|8&@at>!-GzE{`#Fz_Pn?7fYDQW)ZoafX3$za9jIXIx@rUc4YpTR1?H>dfZh}$)~_;%ON zn3N8uk$fA$BgxBLlK$=(S>U{fQ`OaxQuZX6s;RhCE-#T`|EPtQI5c4~VjDJ#c6^{u zm7YGB9izZ(G@d#W%{9$sWJ1A+DkFifVJ+l)4d7R|5D!vTSAJ_508kt((WaX7{VZ4* z6<}V>F#S~Q*ZeTi9R$#(d=frp(ZwY9=6c1#VN5-k8T$9bHQ7;IzUH>kkSBl8k|7fM30Yn_)lqKqm)m^+jX9cDVRo zLwW^ZXH32A6m6triYw7gwxivlgDtmngbkKc3^@ZMvit}IDnO&atPEE}94C#Aeju$w z*&z5SW5#8d`jT>Ach=syah?yFYRv3j;DuMmPG``CN&!S z5<}i|v*nuPw~f8^&`QuFVVT9k26z?NzPo-&kXKA}-vE411Y~T)y;mE8Lzb9od@*%$y6~v!C{eCF7(|I<&5@<4 zwDQ8n&&(Rli0{%);~wgn*&*2{#yc2<8F%BP)}xjghz^nge2W_ksAEs-8&3MTB4k$a z26t5a@_>hRw&sOvC4{c4J()1R6Pe{J$12{j1no0R;Mg`+6K=>ARu{aNI``+hyYIkK zh@{izHp0S*3vYYwaAs09xBLp4Z`7)a{(OwNeM75%Eb?o7520u;LD>G6-b4lM7MY9S zvykZ{M*0=;=n)(L58$j;P!irjOXxctI=3Yf3}EFu5W-+>xI0t@V$B zVLx$n)hyvo04$GBL__PNV~KH9a}tahFO2N=vvVKtgqRprPKk$qX?_OY{ro&f6ibV- z2jJhflH7oH*E7bbUcTV1W7VI$>q$NH(U{^)53k8Xe-!AK!dI2E6_~a8OD=rztjx3* z+as$({KXdTm}5i~8IwrSa}NWRSt)sdk-~^)Qq7p}NoTQk z+Vr=y9$nh9t-eip!+>|V?}3x_ir=ENr%YXr=kl<&e3aU{Q4)L)h1Q!}sK&=^`jL{K z)?n7}tIvW}3?1|`W#alwU3Pg5u0CZ1heb5jT^~(VHAy#urw0Idl*_YU+GgwnwtnCjC z0VSh?pZUp?8khUx^t=9Zd1I(+%(z{rkyc90 z9ZL88{I%hok8MxA%K;x_#$T9<`^Be3m0%*_L4(u?5y*uq(HM$R4g2L4weYS};!A(M zxB8p?H#!nH6?>nv&lV^~02~#Mx-{OEUYyygo5RQ3j!tqRUYu;dV#Hq|Ey{hHdNXom z@!ii-$uHn(Wt9iG4~vj?OvfeA&NPa-t<4GDbR2$VO<}G~pS`Ih`4L(T3s4usy_|e$ z{WZLM9KCl4X%Ahui?j7xvt6%U78N6;kFg9-k#v`0C;qm3B95$`k^`Un$!j7AY?=#L z523e=3)`PQ|HlI2?|1RYOQ{0$1_<_p-qD8hDrko!LuQ23-8{VJc6hvBt)|t1SZlH~ zg^;82*r#juH=>k)+G99I2`g?0>uQ^nvy-elgDP%qy6lhnkfK<~y1w%6b@4rdDTMmPis#aw)x` zkJe-OduMav>k%6`ykr{RGXtKm%oV5dL!r2ENvtFVm>cxeN<6|iT(GCE${G3Z_?Mi;RS!;3mm_-(PP!qqdCf0nZcr~(pT>yzzaSQGbhI_v%RsrClR=1 ze;?m99kTFb?^Gg-Lth%*w_|t_=d;|Wvii9zhiN_Vu{x1qjl#Sg%AWZ#0;qm0X6FL0 zqrQDxAF!gWm%`L4B~o_mOIyV4)!#sDv8pBMkZ@0BVLOjD6T4=LE08^u}4< z0cLsdLr~GbGm<;K8w!1`-5>^FJJM zN(UH2nj#n&DgaCsyd*!|f1(Ql##)#Y9aTO6{QK~AXa+4lp1G;HOgxsn@B23oj`CaUgk^iFZ0KK({tIAa1Ev19-MKkuPCJx*b|AF17VGR&GBM=TAA!oyW+E42QX-h0 zOlVkA8``T`#O{lY%GE5(fRgQlE!??dV{Ev3{(xtypvFSSP5aA8iI*6ABQgXhJ7?Aj zo=gI1>(=%VpJZlXZb!?BoeiO4a+#IJ_PtB|!ost<`oCLCGpZjQpND)*@^M`IMg*;o z0+J4Fkv!fyQjhzF1@Z0v#a^cdp-B9?l2TC#^n3%UE9~{DoVV4T>CW1Jk!E-0@yPX1 zcmRRr{Z0d+G{G)#m$U`2<82354qouB2z3q`ciUK7Q&tccw|&86aE+i9dN)3*N6mxc z$t!fq$hB%qtu4`m1+6vDF=lj#ADEqnTdS?;&&Ye8-G*_D*MfLPYl_jscOc`AhNQan z4Kg_uVkp3+Fr(=91<@SE1cPB#x`dwK6F@E62YMoPv0g_g;~GUrj6<#N0PSjC)&N^& z#VEFCdMpV?ka4TOj63GjC4u((PqH;IT?<6!5dz|2Ik|eRV(20i^He6-U@wvMvS2Ua zbo9s?CEFxpLh9!T<2>r;Ab$4~T_{EhDi3z+EuV%aUMIxf18{|fsh)DTE0tgfU$V!P zic#hldnTTYw>OCY{aD6!U7Lh_L1i4${2{>v06D5Uic3OhACNF9EU>gFZaqX3m6IgR z{UjPcwV0W;Jdr@>p$_I0QjOc#?N)<7_k!+Cm%hK67b5?R7bB2+hyB1j$hbyf!bvQV zo~=3YJ>gx<`2G9sf)fPTz8vbV%hEq@vrEE2>m(i_fIdlcQHip;;e^j^_H;3Jfn{hJ z1JKx}vSEfx3#_;8Y^AHtP%;!uXz()dHrC@2-{Y+%HTIGmD#VMN5V`ltjI_|*iE&^> zbB5P=VPv)(?oWWrAzw{OITBgiU5sMDV$Jw~At@`tb576UlrpSdR;lJ3_N9yqNQW&WUC^~=~C1Sy& zc6D^6vH5O=fQnHDU>jtP1Rce)caAm@86_J)$Qdeo8raO0|mMSDkQ)b7*kD zxgJD|0JTidzxPpfg}9P`BHKbu19Wz?G^yz?+`48_bQ=3lE{JVr^{(Gnc?$n>BCSkyMboDwC;*iJlSgh01S8aL>08-zP&n zgYx)52icJh>lcLel*(Si!(7s*u2T>+(0g9~EfA)C63%jB5ax-4EoSc|!Sr$DIg`7H zKK%W^&geE*Xt0fcNI@kuuq^EVDuV^Lkl=iNeetos$R7;M>#FZ@GDcnVJc`SF|A<@ryc)&Y9yEO1KzS|q}1Y$#Y!Jm+{ zS2*5%`b2<3>PzL&?4T@8te&_pO_ytj3q`%8SWzyrvMT|uYK=PIGV{8wq=HneCTh83 zo3~EhR$hfl1-`;C$@z8zeP{TN6JR#YCssal;Q|C)fmoyoELeJ;5xrT2F$n~5g>53t zijk0iER6y6!Tm~jNw=tkB$BwLe6g0;dV4>r7CkfI-qvTj`!Q&R1taZRL+!4SS~b?} z_;n0IrirrRdijxYX^1`1a>V?hf}!J#*NZObfmNV4?sz_bWz1Xp z2AA65;cjgUQGLCw?$*3nbnPii+uf{20z(hKes=EucCIM0Ec_e(NXUACdM!Y{&uUD7 z^u#UuCol;h6wq4?XJCY7KpNsu$?|-gO`LsH8Q}$#@}`ef(?&bL(-?Y7;uiiRUYCNa zhzbk16npc>L1@_DeVn^q$1l0K3*%}Hm`{F2`qmnM@AJDt2qIpk&}TaD6b=bX;p{Qz z&&&&+kUwJ0u#cmXGY#PZ{#DscS^b28SZJTjuEorQ8G7hC?=9GTmhYe-O3UzdYs62H zrCBllW5FYXgb@eLeuZf!%qpPn(8ZFQLpmwid-oo5^vC~)=l*}p5@{ANj(@oQH4_Jy zqAz$V4p`dlIVfgZF+14gKRB#2Cm8L2?D131zjG|mARuQbX;qwHlmH)JG!66*bJlU& zROo;Za1<0QvR(6s%5ZHklAA9dT=K0YNDJ`Vw5fhQ<_$z>`vX%&D4~=e%2|W&&?G7N$$h8ORvlIWfCSKH^MHv z=QtE1f^~Z<8tt6|HsBXIu*b(72vc@IA+1+rS7qkbm>j~+8eg``HFYF zbnBJiD;&x=;h2UPT5&>vo@Z|5ShdR*leO2XHdHTDo`9ZU6++=Q}+h zhC2FNA4;mvM`j*6q_z@e#7OYGUyd2)=_Cg%67U5Z9iD@RkE5oFASXelt;p~E8P_pu zJ6>GWfT0yNLP~$tYTE(YGb>Xv74Bv>GNB1`+(wz0kZL)m-C9PT!XfIT!y_?XQCEsm z&;wJ6m*qse4QQN^%StF-Ulk8XDUH-n-LPZtE5cwsb3VA{SC=}}WL>FgQlH^ ziTbc&mXAIEk6rZmhFE$7twY>M&5YcRJ#EME7Jk#=DD3a^6VFt(`=TZ zhaCxlMKFrZ)XJ(uXjHdP zS@#Ue5V<)vmc$hPU6)(aa@xeSowM3WXJ-wGdh}94k9^zET_baO@V`QQ$q2-Pi-npdH`_iKnu7E}0E6Ji0_lB!&zZuVpQBSP9D-&W; z*V3&#KBbe)Xq%%p@PH?`zis%BhpVe`QEc08B(q;@J6|^IN52iryrw2hM>W0a(R}T~ z9a(SHfe#nG;?8PY&fo*ExbQXSe4U84s?~Y9`wpg|XR+s}P>^PsZs7dLYk4+d=Y>JasnY<-sxrs=p4z$+YLUmIC z7Mv$fk~RC9>prwP;+Q?@mw_t30nYv|Iw}Zp-*@Z4(TzNo)v+$jmq6R`tib>fr|h9K zaB-339O6JAT`oOI<|N-zpXA`I5^DL;>b6Z`r2rAkwuC};Sy+?byFEAk;m1J@As-OY zV`9wfR3*y;j=FWR#mgShTETW9sWUTd@Ab_gSS2&@qW>IKy&?d=ku7Uro$ro<%81jh zNynVbBd9#UyF;{D)m|7ir!^a}?M_P|{SukkG<(#so7bEYwZApqtN*<)jMF~Ss)7ow z$8IJj{ox|&5OqJ_y|G7GNMSkVb2Ueab$JyG8yF=v5ZJGZS(2WivYWmlKr2zbso`*K zd(lk?IFVP?7KjzPZd*}prYigfVFQ+wnT<6csNp<-R89CG&sntUx6u#S8nKNK`};|H zRLnr0^}Fh4=0Sf8KAljg^c7t_H_r#GnXBJ&vR?iXDaOjk6kZt5w7_IZ#^m_%IBdrp zCKsIFqt6}$b$w8VomaE=e45N8w-vj^F1f|)9<4)dSM!)47XNu zmm?HhVwHNJ%5yu-+|Eu75>6SbV>C6DV@a6#1Z5861!nUG)+D|Ggbjw9wIr*a)&eLl zo0-*kQuXBAZk1Y-{M0T7b@V>zvmwl!Zi&kgkEc`DqEhW7JkWGmVSc58-E@T9mHLpE zH@o<(UrmrGh;Qdm9$g_Mv*qBRHGOgKAa`xlvJ})RC~=y~wbyUK-$#FJ>%En?xu*j_ zAnSuiE3MS3mPWrq4$5(>1R`EwCE_hwO9)J?*(aRJ76B&O_J-4&q ziI!IWb&P&k(|F&KdVc(a4Yi(na6lAeT*`4<->+@IyN)kVvkT<7%BYmONdf;VvEgiq zZeJdBH3hY)!k&On>eIvf3+)BVWapHwMmHJy>Q%tiROi=+Pr zR0GIrVE`b9ao~yU7QVU}S4)kP8ORA7$~hg-TZ`&CyCKlV&wuXW3MPH@i470E1qn?U zR>~f5$_5OZc;;T5{Fe6lrnpDWSA%wdm%vw)ydSL`V39)Ohf2Sv%`Zq7qSO^$4&UO* zTT6kBIoCCAe1|mKvKE6Rdx*q7c$g<+kcOfdyZ}4&D@fndvMp6nsh|zT)$2?NbWL91*hxEh8j;t$+0X$MJQ#Rvd3Xlb4)>WG9~#cZ}H>Hh69y zhjK=n_V}fqolm8hAa8cqMu{iXtk%$_{{~D({#f4km!Ymp0vNjKyFW3c-Op`2vt)g% zeZGny!yo9nw|x;{)Pl8t(CwDE(~gnN>g$9q=0+WI_43_3r3ZA4F*Z^1Z86l%?~cP7 z&c86#vvE9#UX}|4Q$4 z$b#|zYx^w^_OCR38oN5!GV1?T9{yPyV$J-;%2q)H0ipP!;RaZPQ+|p5qdZie@ISXG zuH+YWw80>>f7lC4WC|1_ya2_q0_8*whL#;MjgPm0SgVzQ zQ2;q3irv>lQsH8VMHPNW=}Wx30LiTyczBfu=|e|j9P?xjH}6&rO5!3vI0Df}e$_DR z#^}EgwjIFTf6d|YV~piA>qZ~iQ(fRtTEP zhB_~R`Qi^Q-ex!HC&nrXFYKd{XGU2#-rnoRm+9R6$~sSgs6VH8T9KSO_fqoItRLCC z6GZuU0`KRn(zffpHAkAsLt;YLuce$B&+K-;=_OqU4hEwb`a-{3Q!My0KY?J|}GpKbBNGFXr^m8jdmfLg~ zvV^+9r+F9?dJZU#%hSwZ`oibz+1Y;^Z!kL{bJlHqZ!9-I36b?jSI* zZ{NW-R3U}F+}i%BDrwLSCtevfwW8`Q*&eA|J_T@B5E$pEG}0UxcNY=ZcRtJohr`NT$&<=cIl8V`SsGcX>DZw)f)1gI1qA)L{qhgHOSOsSv9h3vs@C&d8H1Y37Cv3<;DM%qLmb)IyAWSp|gN zI>X9+ubXYWTELqg^Xda${1r+15FB^-9RLb$=O*LfZe8uCf(A6gOxDG^vb_OSX)7qv zWM+{iFO_Gys#>F!HBHO`hb7-uvaU}CWCTy7ZTk@2{nVC7S|jysLx|u%{Iw-_J$-ce z>+4rXJ5=cQ|FrcLa8)$l-^2x^JEgn3B_*Y#yBldxTCNC4NypM9(hW*W3nC#XB}k{z zA)u)5-V2Y;6g?(+ zv{D!RR&Rc!0rONMuxuw-_hTdRj5;Arf56GHUJ$OZ4Nc+9eFvQJklrFF67K4~lVvt* zLCUUMKH7H~ow);QF`*t%bdg!xhZd0hrv$<+bO(tvMfP&XKW{x!?Xla&);&UQC%wRW zMLs`1(6+*ijYoF^J|jxnkjiA3xn+8k(TS zN>QtqxLcaJP+-qp5^2-4HjG0FeJ^-_{Sssf6SmDCec|8ys_HQm=eAjKWvCsT0J%3R}bXvA`8jwh;G}SW;+{w`!HLu3-YUBFp+ueIE=Da zoN_=hTLvxHrlnnGf%Kh!Qn*Jn(*efIHySPb+D9g2Jx+>eSc;w`s8UOd#ok3y_lM$3 zw~@?yBZ}I$-UdI(giaNNWCW&+Q&}te3P=Zk6-w_XtNLmic4o;_r&DURfEu~p$%B<- zTv%yre~tj<`;m*a!5=!1K^ihgbQp6tdmwFDnN=c!M4wS^?brbi-xswiyvKN#`Ivu< z18YW)LR49I_K%?A{P2odw$(9E){H{sUH&0~AtG9-6_<%c&!XN5X4nX$D zgpcce;mCy8@K2wUkgL$(Lw66YgVhQ(0>T?51Oysz=-zXMkN~xr$e2)ZbU)q6mOs!v zwLM#}WHr>MVUK3yNazVPd+6yPhqh|-%pM5_8%Rx?f)6;5Xe|(9yeJ0xp2m`nH!h}T^wyWo?wZW zMn`DqkFU294}OPk=f@@joy$21AV1^YjN-XtMPQy7YOtaw<|nkbv_V1Kxe`X%K7~HL z@~Hi50I|ErU8#7ro*ap$m_U(@C3U~l=%zIpy5Q6Z_eVY2^CL2E-hOjm-S{@Y#9LL>AYkk%z~7C4O=dcUG;)661-S$r@-D+X-u#sae5a@J!j3d`l!T z+Of(mwcNMAlsun3__hSx@?@Rd{0HZ1z-Y+g`lc0H?!%>Htgk2=I|^uT*1GmR&+OdH zt?bR$H-64vKFOLU8^MLk~OpNBjL8v}kE8=N$8rDfxmU_u^Hw zyV!wHZYjkN^Y+lz(V47_s zN`PvG(_DIyuAI^ukxiC!%^rW>Vu#2fh6$_Lm{?U$E0j0DX!q#rRBPHJE{@Cx6+o5A z?2KVk^=zOO7g7Memvc{n<1lG-)e%bI!xcoLuu9A37jp5m(C1}sGflGw&ouvNm*|%}W4xY8-eCFwJ1}b92PIG@x z6uJ}laz|woxu5gDBNwV8tPw3dEH|I8<+OIP5JaBpf3oFFnF~dvaEUsvy4=V(kHpE$aB?CR#P8fD34C8DzoAbS>C{^C5t2+Y zWSuIrTjkMAY&_f|aC-A5L)nNV(&wl3Z;iCIqUT>;m8m)!$m+(wdZ_r&;^&Zu=nUnI z;z}KHphI<`l6rH_!qGP*x{iVpXXFCgq*>ISU<;2_9&qOyU+)hj->~oin<};qYOD7# zFAKb;+)lrJDGsZDyt_MM^@myV8E^Fr9;uOjKflHBH2&cua&JsVSFNuMMA)sjWMj6> zmPZ08m-<#1hl+MudlL;G1qOzxY4;4{@S8~7-HI@N&RZ`RZ&ylP(C9ZZk&!o{VQ77l zX}>S$h8I#61{Htzyq!;SB_`Y`-YB?*#7cJ}NL`fd(`uWy&AT*(4^y1$lWgTXyKxoA zE~>m48{*A`wa@uEAF-0#Wu990)EQ?G3!xksu{M1#Lh9sMn+|2Oz0XbkR%iApGfu-Z zSqI~hW~_(f>&uZ&F1LJ)X|`WFR2_b5FG!#+1KrDq> zq89Q=+RpfE=;FT8Nf%jAw0p~CGp3-gEH&_i{1xxl@IMuzxPp-4) z!U{vG>rbhTnPuJ;ta4Z2U3H>=Asm(!c$qWV9mm_@d zW)pLiq;>Ha`pmzHDNuv7>SZ`FGA0QYu~P)*?CU3MuI1e(ACyj`0f{%EJ$^+mN@5yw zhXF3UjmhExNDuMC+chT#+NiJSa)cv?&(2-Yv$*Bi1m{1FJG~Lw22QrLRK!J04&6q7 z$CKaBbe?cxCYl@(Rmz~%QQD?cj_oVEeFx&1g7eEWA9`ywqA$wh;7|70a^YdE^~|X> zvwv;UYThT+;3O*YWkUg%cL@D)jrL_sBX6HVhY~3hA(@_X%lV}Qn2kERiL+@zQ7W$y zn@W>2!bAJ(=_;zQj6U7=v-NN7A$@?W&1zLYkBB+*QEJlXvsz;Y2Gxv&kU)G%Rbu2Z z!}e`~m~H6E+`DjFOiL=-yYC!$ZI_L9b!1vu(o$)j_qMtsC7B1wI4ub8Y-fJsiM z+mOgR^vOFlb?uBCZJ~EVDje_q-H#gQnUkzvKRU4P!PK`PNorZO2!lt28V*|@;&UU6gHuhrQ!*SXV zqd!#HNgl|hjL{$Nc&D8XdxS%#(G;>CcgwW#kTmswHRL3i`9Qd8J+biu_#{3>npdsN znc}smcJzJ^{i5~cL5st)^<4d=fFSjtnim6<&lj1=h8`3X7vPNcGWxi)+CQnPg*Xr8 z>2FhULZ@vHTHaXlX0R9}mChKEc$^r2Zt!Hda7GQF2E;RRUOO-I(p$ZYi&GWOk$_kn zI;=71@RHgqA}ppg(~Y(#uoK9+*-njXU{G=e6ghXze|;p~VnM6&HoQ?^h)Zk|jlV0Y zv=qbgzJc&|pW@UrnbO=G`ssO#k_d5Y-S3vz#8C7fQ*J6g0f8MwHVVMl;{0}&86opt zdSwsyx5I2hzwkGcOG%@&M?sEOB+Vhew+EvUC!8FDdM9#aYICTn2k!!2(HZ&cE*RF> ziB5|joM#kFO{&nnIXOq=hm&5Ri6{oiXW7tEl|NtkJWIJ3b$+^zD8;$Sv?pqR7>sTH z%m6CrhrIA+lYK2K66&9#0#sb{*jb$m zWd$EtzZA6yrRjAJb$NfQC)1H&B-2q=ov_L}m0iDL1*!Zy7Y<{lBjIUgvu350pv8wi zg?1;d&gxZr$qs9r2W6#bxLy?P7>oC1Q=1W?FB}Dixl&Q3!>8|chnjOb9S{V?H!^TJ zE1bIMoeS2B^2OkQ~{XoO`fV<1-N{cG^z9gZY zri2zGn~C&y9&5$(3<41yeI3+C=MrD=AA3V-=LyvjaujNhR$i7n#PAref9fM%QNb>W zt`Owx*2Z?Q3V-I^oDuH*u3Djiy?Uw-$1@g{rz@uXJes+hc)DyQKz*Lphrm<4)dJUr znIwo>V9P&JKqWZ$K=FQMlSz$sKezfktDE)sVr7&`pMg%L(5{DUzg-g#0nixygfRp~G$-VV77?px3N4MglhHhm+}CeY7vTlDePq_m8(t&NR1($Z z|E(FZDs1re+V^HrhdOZ{t$xYOW`ms<+Le6sR5@!-IKJC;8pYn27ljV0jA~|uDJ#t^ z6pqu9di}PnqOsP->dh=O)S37Km(PosY7+IY7CMhwa!ru6N|Zd)5jXFE#M{e_iSc&)!QcXP5rXi(<|Zx?;ki(kXOto z2i_V8quX?#QzQ2%D*k+I(xLw9+i?Fkf|z#!D@FDQ^bDem)O3$b3`)xV1QmQqpzB+- z51dm9x=Gcv=WG;b#4DqMWl?hPR5$c7$Fs*du9S+tT{sak{)QU;dys9Ws( zQ*63y9vh1@gpACCKVthL}I;h$UWj!xtm4JT<@AUZ^RF;tbZT`@x^LsP4^Y z#6(!u{-}r6K==r=s$GXCm#q`)N7+pDHujG+LG^}{v`nQ^$7fW^lhyqD-QQLthV}G; zszbRAX>a$8^%o};g%qVhno)){=ChSo0#r2;sBGLYtG8*`qc6#HURUAvlrA|^3#>tlLCTP(ujY9tA%~h@_%4T)(k(D!rANDxgM(;bYUyX1@1!fNm z1$7J0j3uA1nx(Y8jlFw0z(67+DrJ&ALO{8OUEACFEJ4_y7q3H3A)+!iBtc@(Xo2?d z%URd9v&_q{U%wWky7!8Og+oS1FpPD zRC&p^=C|z9SlgQZZ_lC;X@#fiKQWb@eYNEMy&LX6Dze>i!m7fiq`kj`$;C2wT=u;j zSLx(){%Dgtgejte=XmlK^y$6SUu!Fw8NH^8x9e<{%s+ljs*a0Z|HNUqZU{ASJdSFYtlmCRC}+U8sL^Uq zXdA85KFiFsBC1Z>-ZHr@g0u2ACBXhM32tg9Tg-QtNM^U!9VD`Sy3n*?ugycMpR647 zrirnFz`agPrW8SY5A2s1l_Kn&Ty{SVb$@&K)?5YyiRB$6az|%RDqTju9NzhZR5-Ip z$e0&nv8|I|a5VPqrTieI%}MU9Yp1i!6Kw}uA$C`O9LQ?r2rae!m){y+I`2hC$F|8* z`2Ow+xOl<(bfD8B(R&uEZL9b!UC1xo@if#R9rAIRT*i-tQWG-P?OO&VK!8Z#+MHJ> z{LpygpJv0;%W?AXSh6YTH-h<#Q|T0M>B2J_mX1GR3s8(29jHWX2crAL%-B{{X71D6 zS*CczxLq_)W$r&M@_mHgB2!KeFu%s~ll1T`8z9u5Ip13{`P4KHZAkhJMRwQ8LTqlN zNqN{sO1PvRiV%#pz{ESa$fM@5nYnbNq7wgPB+QBCNe0?w?+SHoFUeqd)jf}60*~V* zi={Kj7%KFMbf(8*fe^doZFF0GlV1XtTWGHeF3Cjk%3Ty*+a$!+q7{3LMI8{W>CVRN z{L05iYzgervgHZ<4z*k?6M3Jzi|nAMKii;S#BxBJ_@am2P$QpIE;fjph55Wp`6-KX zqk&c%^3k#}Ys5Dzsd*W%Ih0e67ql zZO(9sB1QZ9cg_zA$yhy_3HIBUXqP1@z5b}Z{=K}}?z}rcB*?&>??1OiHiCO1(==V3w73mvgMch8Gn?(AN4BJPo1Vn|+o)W^HeVLJ&fQY`BJQJY(>h@#9N%! zY_mgNIZ;MKuRcb$?SG1SSEw;=La`RWFNAZahd5lrg>e0dBL?aZl%7{f|#a(Pf@&-&+f|oXox&?PP3h|1%$P3MhvtZd^gtyyX?=CNvDf=lS>O)3e+mGpCAsWKs zzr~#>zT`PR+bx4OtlfIf)7|@oX~6349DceVnZ&0Y`7iGx=$!Mjl)kWi$_XGVj(xK2 z`e;l7Ngy`@e{bal@3B_;I9gml{mg{+M9hnVli4G}#)8V&C4lfmF07NHT~mpOhxS(` z{d`5fx)k#=ki79N5#Lp0LW`FBO-mVqzeWMad^A(} znBujx_?q9kpS7g3$T>Th+F!CwthL`obwju_uoa4aVk8l%K=9n2lUIa+B!6yLaeurt z=W&{v*VJ)>NdOW1kL8o#bh8Ouhm^ErgpCtf_0(O_Vb=zl2!F;}fiDiHy+NNfCvh>O zU6d@B(QVAB9zuWP6>vPMBT8al_vS<44jta!=@3QJ&BjD&MtEyYrPige)ZJjkH`PNR zfi`8`VQa(3w_Y%dFPc=;8Ws>Ps`B8mSx?&3vXiKBeOp}mpN>RuSCZ2d`Gss%da{^R zHT+73QqHIINfY%)^jSn*D-Xro)Z|r-(`C|PRz07}r)5E9(wym67v#Yug-wh^vYZAg zeaUKlzS>e7x6A@4y*^{DDST(}@X;edtE0!Tp%78k_cq~LL>o*RC#+%4FjK8>MJ!(C zzPEybZ2Pot0uuESoj{e4F)fqv2q&)IXJV9$+^&ItFxMsNF?rQc;bz}zZDUnC&4VrI zEQ4ksB+URi8x>0*m{>(KN=~b%PjimYKZ1-dH1Qo0MM%h~p_U+;s2pUFBs$LM$+)&e zl=-RzUzoUrJS_3s4Ab!))j{ylusZ2APYY-Vch86v;ubUA0PtQn&hWEeZXo>a9dNOs^GzLry}ks(X&rMzT)7Y6BjLAAFQ0 zY)Fn&$57>$W(diS*CU}lzE$)dV+{$Z#X~aznhL$-=?X_xwqq-Ms{Vrw$yfFl!-wy; zOlNSNzssDfXl*w4Bmk=mmc z1LJ#Mmsd&+a&_T;u}I-z8YX4ZGeS`@{;{m8*7<<;k%e&)LB7-$lfTO%^6zHKdS#r7 z7R^+z5791yo<=mBR;WDt5j-qW7Z~)-^R%Lmperhwybr9sjygSr}>7Md#Hi0rY#4;|3qET zAwo3~u2sc3vl||+O~kpdPt1Tv#nwPpKYoxQWpC(;C^i0KH{nWH<3Yt>aUh!#PftIQ zVBQM}Z{f32er*r*@LA66`wbGsEAr`9&$XbQ?HCoFY`diqoi^Agrr|?hrQbbq?$vLW zLA62=(H#Gk%c=5Cnm}Prr}?=G1taHxrx>v?Wv+hybYa4A5i#uw)BC%7^M1c#c51T+ zLMtbOn?HZJh-;m&@xZ3hE!N)T2oi01om(=5_5J~CiH%W<#8JCbwma%vqQlN${C++m z_)9_rZ7_zB3X3S7G(_)`?5O{~WuqSzbBu^(njhgPo^+`H%BC%6XV`;74pD=46s{GK zTJv`7-4&`WqWvD`!#Q~;-VBWJW93LBdo4dJI(A*Yfq|*_b)7>V6oTssxTIE8lacSx zbf}&3bC>ey$x)D&n{@J#=edyeGh!eQpm{F+J9-;9N{^?^X75sWRvRGAIs1< z_HwU1#?SjJt6%w=Zx;+{t?|aU5YH!X&Igv)$JFON3q0%ED%=U4*?i+pqi0mUbJqKN z@^Ojzvg7yIHcKDGJ>SJKp2xoqy0rXihpav<)fQQGrTcU-YELb)4h6}-J>hHaXCr$_ ztELMf;t)107PU+*l$H1FeL2M1e3$JhlxoPZ`Ci7YpDAn}G8u^XS=T+ZGqBxRy_a3> zq%O6LZqcx-@~W1}0`*8rZ06ae*)cJx;-+PSE5nN5zS!5l#IHjs$z?W&4I9-}_i@tR~ba#LnQHj6LIN|&1p|7w@IF7&4t z<=_C-%yTYAL=p3-s^;kI3vJ5SibEu0Aq?(b;r0X%wW9QP)J~c8T&J%a^9uLY&0lh! zCqOrCA!y6=pS^F@$PG6D_}fL#B3#aT1`loN?DpKh_lCUo_nDI-b6{l5=sO->JMoYX zQWcZo@E%IJtKzX(U6Q;k`_yBwv<$jCggCLza9?!LZE%T3FIx9U;1R2YVpVJI22PD{ ztV^d|?hEBtq~fM=t|CoDWk%s~NTRQD+S*%LzpV201yza~{N;NCC z;JRs1hqa~3*+Lhe{u+|q(xDEINbU8I7egImA6S08E_N>CPc5ZoPJ25@>+_WG#A5Ie zaZvVp?V9pT1oCw9g4XvLlCYf%C~F04{pNsAJub>_X|M0SrdW^X8l^M|*p=ZCwV?s* zrWn&UEU1I@d(RNe)of-Dcq_ZrKY1tdpw+!sqq4b0lIMH|BnThU#!Q(X*>2*WYvjB? z4eL<%%vtzs?>*w?+R!%Y==$Dk#K~31EVarNXL^20*dWcB`c?TiwFgwy4bajNpOKQO z?eb#bfmbQUBYJYK)z0Lv{Hu*09Gks2`Ig$hs+v2GCZPIuEW?3=i=&aa>*w60YwE9q zwFkkE*4=?$6+}CCPQ{J-pN2FV_VDYNqh%eT+OkQbH65uo%lnfCq%L;*te@5DTp;fh zoVBH%5jdRf@{-7rF$cc@Uj_+fymKVdjKb4>>)i@LdZ^a(cSF9?-xIQLk^UJPA0G1^ ziZOel@N&YAB$dK^jZCCyGlhM1(1~KkiM2ahG{I8Fe2g86rgw2mk)0-aHs`5!))TKR zDt6a$#@0TWbk<(dd)_ji#qO7zZlbR4Z5Bu@TQ*ad7DO|Eze0{XVbJifnkbt5R7PGB5mh_xUblw5u0} zZ}cPUV!~;X`j1+cZKlAb&Mf1Y4vA0Kx7D*A<8X?jxq1uF&~m7lg8{s2==*)l|< zyjHMM?p}CR0cl+HHf!$FiUO?rd%A*^1J9#%C^T&JRivv{$Wid$vyp^Xhp|Y6M*vgd;PgRT(ih_Udh)aH(c5UNW~TDntv9)JX3QUa@H%2~8V?C@i&pZ< zdcD1?<>77J;{Ah}D2!i2meo+w`m=SVb|%4|tj!SpOXt3Kx2M9EGri0hp0%&qx4aY+ zYY=pWMrD4dTaIeqRQ48+dHP!DypwOdDF`AyG{CWt;60@OAvfXKGjiQ&8^=X8Ro_*8 zFGeiF^F5P*v_oB|Q||K%n>#++%~a@AkCng9M7uV=TDL2xpEA-pY>yN03sDQHF~ZT4 zMlL3Wf*bYlyi2y2I>a#7OSs%UQ;O~=UU@|2zNAj&zU+!3$;Df^D(s?l7#HVznEUj1 zO4?UvMb77R~@-$hz=?X!Nn#rv9vZ{lzd3gSAS z#Kb?mB&HF8tWGJj4yEUd=lP;=Ip& zD{6&NLZf-W*WCS?Je1CMP(L_!Am=Pu)nOSd$e&}$&|tqq4KeKgOgkQ0Y*sqAW zY)}hZb(SANKfWSB->mZ}C zN<1f`@aDT}&HG}0^N%#%k!%l``6|52z>k5l?YZs}yf1Ze&{L_Xoqlac%;N3ALp+}} zcp~IVdb%r1jW_?qP<2;VO8h`m_}I@rD9FO6dHLyv{rg#crm6@})VR=i|={HPk76 z;$`l6>~o7F%ka*e<`N&%Aq(W?H4(==D5kDb&`Ls$Vh#VNPpr*=l72W1ZPUC7{tUTs zy&Lgou{doHEQ+_^bgORZejzPYNjBNrez%XG+a7s~n0tF7=sq*6f3rqB^;S#Xk*jw6 z5%SnK+TE{bnk-G+`K$be#~-+@`&lJj7!-1Ay|lSsoAt40RzCN{Zw;H|hhT0|wn3k8 zZ6>NjY>W%V?^O%ceL!;4omj>+B*q+j$v}!1r4X!A@g@$X@|X6PV3c?_3z;#yO4SH! zx}yQ^7a~+~;We}rm^@3xErz86d&$!!Y>!dijgHcYPkfaSZXEdJb4nmQWaGARclXme zJAn=S{Am>S*IL^sfE{`(;L zvjyZ=SNjx7Z6Z5deJb5Y?zsBoc#iB0e;y5(xA_*ib4qB;+|P%Yd}Dy=Lo^o zlK;p8|1S!u0hUD}Y;Z-f#XxJobS4Jjg?~2%zavf1ChySF0hwag)|A1B?##(i%rpRn z8)yy8XBtJa`yJrc13yp@5NL0(uK@7GAw0A&&>IUY#SIYT2hLk=f{HnlyEy6L&VdU~ z5C;_*0xHEpMPSx0!oG6@KgA)O@N)J$pbq*%$sR&im1toerE>YfS_;ZO08h3XI>?D8 zb4xJ-Eq5Sil9Lkpq|&xr!Y?TmmE#Nr6NexHI8A)9@gy-?0!7=)gxDS#IzY zl?9Ouz=i~b03J2PSmnBl0HP#>7|B}$umJxDxFkX6!wl!86<~J~Lhq(tBhd2m-p+9*rs=||Er(8S`U($p`AviELjS2k4@U;G+e45+O=H2;BfK{>b&pT3OW;paycSp> z0}AX)25Fqh+^HD>x4?;SdV2Y@IKCM1{%GV(AJdf`<^36arJ zf$h@3efTaEHRu1`?jRzzk@( z5g2ec9V$P64aQ0Svv?IUa3|0zft>7DV1+=X5(NKWcl*Oiey#sga+O6FVMO2?NF+^G z*e8JthIQ*2b#bm)(Edr#e%2fI-#JJ=JY)QqZJaX5!T1Cua{n8+&Qo#GOrS&B|BqA5 zet<|afa)HE8Sdy~1JjloP*4^qNa%*34?khZ)JnvE-BflDlr`}O&SBvmgbmJN!x%G# z4wTaio;Op6JOo(Q03Z3LMo0WN&>yIPJYJz(mE@>^tq61USKM&N51^x;fR4Ty<~8Vl zq4>a8nd>ZYoRa2q8x;6|TYVV!3O`DW_;0%htAav>@UKeds1YfEU@}Bhc=N+D&JwJ+ zlJsve2YFp=C;teNf#@2>`7fjdH=O#NFI=*rgr6SHfKS5O{xFd(wQ z)Cli?mujHYUDm%vS6pmODa~y`VGLk?6}ZtL>)bFXIS{XY-B(-HK?a!uSJVS_2o2no zZ{sddzJd&T!9>7xgF%Y$Unm4n16u~JHZqN53p41-A@IDJiH8G( zO@XK24c5YvFz8)VSX=&20Rqn7FL(&MvJFy*2<~1EJWe)tf)8MS|7Xs03jtQQ?^iBX zCRnEjJa7N43!928N&$45;J`Vrh8Di@Q z0RbUJ1KdI821gS)ST&YgFu8BGts?MGiD-LrCdhV$J3V{c=Fa zD0qVFJpLXtD~ADGfkECng|f z0O5wme|@@QBH(TS#{Uo%5Mcljgx7lm!jK_!NWeZT5(j{7a4nk2o#x{!Q1mgFq8R_S zHms9sG9UqWIFOj&Sa=u}?r`qbfDZcudV}ExR*3}&H-zxP1+^H0`iQUtQ-%<6c(wmQ zB9Q$30?Q!P5d7qk)^v{LP_3NS1G@WP6`*MW5rlVQ+=g!(bfDVI;Fb5yi<#{r|= z7cIaJsoi%ijMNfB0-tp9T7u-jQ6#_nHZ?Ggpk35^F55r z{t*e#ngiSR*FR`1E0An*Mdk+lK#_2xO=x%Cmw+CU2FH|}GjWeka27N`krjA{18h8? z3&z57=9;srHG}|wfPdg+kmKPv#Y4MY;o&kZCXJ8mNZ=7&gpfQ8L<%DVBUiN7rk z>&$jLaO`c^OD9O-72w?xwz(|8YYRHK?i>lQB0}Z`{B0pba25Z%1?fNhibBYLUSk*j z!T#NM5zK$E?MnYSib6tuUt{I$ARv3tea3d6F(!yWfjxu};6+BJ0m|$k$MUZI$ z4vFi^?_iZTMS%?ma8QH=Ewv-qfCUoBfSUp`17PvbeKI$YjFcz|SUN%I0jMG}B~b1J zrbt+~%({oXvk4k70vhnY`J*VLRr(5Fs*FtaFMbW_R={Vl-}8YvL-~epF7Lwd`fxp3 zoIrsR3NQj4aOMO?F-$wG2cUL->c~Kd1u_|6rjJbUFW>*{RPmQHI4o)aPac3>9;Pj2 z(RiN~*q;C}CEm&0f#{5zx-gWXm12CI)kG$Os5KG zP*aF4Fz5`9J}|-sNIkN~gtpJl^;)hP-=Nr0h9VQYvn{!cp3)316&0Xo$Sl*sV6 z63khQHOPQ@EBNbsGk8l9ZtwpTBY^X*>jO5*Kwkk`9-xSyAQavyG2B7*>aVF%?%=f^ zY?vaGs-XV?whSwHQ2>t2e~+S&_SP!~+3pZwICN_;`6n8v*BGeR&Fd?|w^vYfkL#}Z z_lH|>;J7)wIt|01QgDVwGcP>s!9k-P95ilTg;{+B@I4{Cz@o=>8W;>@IU)q1Ti{SC z_E$-mPsrzCP$jsDCZ3>)p=&S#KTz&@eIv9BMwQ!zQEvn1o)9`XmJ(d9f>d`1hpYK;I03 zx1K?}{~kpldLogs debug packets of various protocols in the
log folder using pcap format (tcpdump/wireshark). impl.packetlogging.PACKET_LOGGING_FILE_COUNT=Number of log files impl.packetlogging.PACKET_LOGGING_FILE_SIZE=Maximum file size (in KB) diff --git a/src/net/java/sip/communicator/impl/netaddr/Ice4jPacketLogger.java b/src/net/java/sip/communicator/impl/netaddr/Ice4jPacketLogger.java new file mode 100644 index 000000000..c41e5ad09 --- /dev/null +++ b/src/net/java/sip/communicator/impl/netaddr/Ice4jPacketLogger.java @@ -0,0 +1,56 @@ +package net.java.sip.communicator.impl.netaddr; + +import net.java.sip.communicator.service.packetlogging.*; +import org.ice4j.stack.*; + +/** + * Logs Packets coming and going through ice4j stack. + * @author Damian Minkov + */ +public class Ice4jPacketLogger + implements PacketLogger +{ + /** + * Logs a incoming or outgoing packet. + * + * @param sourceAddress the source address of the packet. + * @param sourcePort the source port. + * @param destinationAddress the destination address of the packet. + * @param destinationPort the destination port. + * @param packetContent the content of the packet. + * @param sender whether we are sending or not the packet. + */ + public void logPacket(byte[] sourceAddress, + int sourcePort, + byte[] destinationAddress, + int destinationPort, + byte[] packetContent, + boolean sender) + { + if(isEnabled()) + { + NetaddrActivator.getPacketLogging() + .logPacket( + PacketLoggingService.ProtocolName.ICE4J, + sourceAddress, + sourcePort, + destinationAddress, + destinationPort, + PacketLoggingService.TransportName.UDP, + sender, + packetContent + ); + } + } + + /** + * Checks whether the logger is enabled. + * @return true if the logger is enabled, false + * otherwise. + */ + public boolean isEnabled() + { + return NetaddrActivator.getPacketLogging() + .isLoggingEnabled(PacketLoggingService.ProtocolName.ICE4J); + } +} diff --git a/src/net/java/sip/communicator/impl/netaddr/NetaddrActivator.java b/src/net/java/sip/communicator/impl/netaddr/NetaddrActivator.java index f4cb7c9c5..b120def6c 100644 --- a/src/net/java/sip/communicator/impl/netaddr/NetaddrActivator.java +++ b/src/net/java/sip/communicator/impl/netaddr/NetaddrActivator.java @@ -6,6 +6,7 @@ */ package net.java.sip.communicator.impl.netaddr; +import net.java.sip.communicator.service.packetlogging.*; import org.osgi.framework.*; import net.java.sip.communicator.service.configuration.*; import net.java.sip.communicator.service.netaddr.*; @@ -28,6 +29,12 @@ public class NetaddrActivator private NetworkAddressManagerServiceImpl networkAMS = null; private static ConfigurationService configurationService = null; + /** + * The OSGi PacketLoggingService in + * {@link #bundleContext} and used for debugging. + */ + private static PacketLoggingService packetLoggingService = null; + /** * Creates a NetworkAddressManager, starts it, and registers it as a * NetworkAddressManagerService. @@ -91,6 +98,29 @@ public static ConfigurationService getConfigurationService() return configurationService; } + /** + * Returns a reference to the PacketLoggingService implementation + * currently registered in the bundle context or null if no such + * implementation was found. + * + * @return a reference to a PacketLoggingService implementation + * currently registered in the bundle context or null if no such + * implementation was found. + */ + public static PacketLoggingService getPacketLogging() + { + if (packetLoggingService == null) + { + ServiceReference plReference + = bundleContext.getServiceReference( + PacketLoggingService.class.getName()); + + packetLoggingService + = (PacketLoggingService)bundleContext.getService(plReference); + } + return packetLoggingService; + } + /** * Stops the Network Address Manager bundle * diff --git a/src/net/java/sip/communicator/impl/netaddr/NetworkAddressManagerServiceImpl.java b/src/net/java/sip/communicator/impl/netaddr/NetworkAddressManagerServiceImpl.java index 351564352..6270df7d8 100644 --- a/src/net/java/sip/communicator/impl/netaddr/NetworkAddressManagerServiceImpl.java +++ b/src/net/java/sip/communicator/impl/netaddr/NetworkAddressManagerServiceImpl.java @@ -23,6 +23,7 @@ import org.ice4j.ice.*; import org.ice4j.ice.harvest.*; import org.ice4j.security.*; +import org.ice4j.stack.*; /** * This implementation of the Network Address Manager allows you to @@ -90,6 +91,9 @@ public class NetworkAddressManagerServiceImpl public void start() { this.localHostFinderSocket = initRandomPortSocket(); + + // set packet logging to ice4j stack + StunStack.setPacketLogger(new Ice4jPacketLogger()); } /** @@ -569,7 +573,9 @@ public void removeNetworkConfigurationChangeListener( */ public Agent createIceAgent() { - return new Agent(); + Agent a = new Agent(); +// a.getStunStack(). + return a; } /** diff --git a/src/net/java/sip/communicator/impl/netaddr/netaddr.manifest.mf b/src/net/java/sip/communicator/impl/netaddr/netaddr.manifest.mf index dfc057730..2f0266b93 100644 --- a/src/net/java/sip/communicator/impl/netaddr/netaddr.manifest.mf +++ b/src/net/java/sip/communicator/impl/netaddr/netaddr.manifest.mf @@ -5,6 +5,7 @@ Bundle-Vendor: sip-communicator.org Bundle-Version: 0.0.1 System-Bundle: yes Import-Package: net.java.sip.communicator.service.configuration, + net.java.sip.communicator.service.packetlogging, net.java.sip.communicator.util, org.osgi.framework, javax.crypto, diff --git a/src/net/java/sip/communicator/impl/packetlogging/PacketLoggingActivator.java b/src/net/java/sip/communicator/impl/packetlogging/PacketLoggingActivator.java index a958dd577..076ac36d7 100644 --- a/src/net/java/sip/communicator/impl/packetlogging/PacketLoggingActivator.java +++ b/src/net/java/sip/communicator/impl/packetlogging/PacketLoggingActivator.java @@ -89,6 +89,13 @@ public class PacketLoggingActivator private final static String PACKET_LOGGING_RTP_ENABLED_PROPERTY_NAME = "net.java.sip.communicator.packetlogging.PACKET_LOGGING_RTP_ENABLED"; + /** + * Configuration property for packet logging for + * ICE4J enabled/disabled. + */ + private final static String PACKET_LOGGING_ICE4J_ENABLED_PROPERTY_NAME + = "net.java.sip.communicator.packetlogging.PACKET_LOGGING_ICE4J_ENABLED"; + /** * Configuration property for packet logging file count. */ @@ -121,6 +128,11 @@ public class PacketLoggingActivator */ private static boolean rtpLoggingEnabled = false; + /** + * Is Packet Logging Service enabled for ice4j. + */ + private static boolean ice4jLoggingEnabled = false; + /** * Creates a PacketLoggingServiceImpl, starts it, and registers it as a * PacketLoggingService. @@ -195,6 +207,9 @@ private void loadConfig() rtpLoggingEnabled = getConfigurationService().getBoolean( PACKET_LOGGING_RTP_ENABLED_PROPERTY_NAME, false); + + ice4jLoggingEnabled = getConfigurationService().getBoolean( + PACKET_LOGGING_ICE4J_ENABLED_PROPERTY_NAME, false); } /** @@ -296,6 +311,16 @@ public static boolean isRTPLoggingEnabled() return rtpLoggingEnabled; } + /** + * Checks whether packet logging is enabled in the configuration + * for Ice4J. + * @return true if packet logging is enabled for RTP. + */ + public static boolean isIce4JLoggingEnabled() + { + return ice4jLoggingEnabled; + } + /** * Change whether packet logging is enabled and save it in configuration. * @param enabled true if we enable it. @@ -316,6 +341,7 @@ static void setGlobalLoggingEnabled(boolean enabled) sipLoggingEnabled = false; jabberLoggingEnabled = false; rtpLoggingEnabled = false; + ice4jLoggingEnabled = false; } globalLoggingEnabled = enabled; @@ -384,6 +410,27 @@ public static void setRTPLoggingEnabled(boolean enabled) rtpLoggingEnabled = true; } + /** + * Change whether packet logging for Ice4J is enabled + * and save it in configuration. + * @param enabled true if we enable it. + */ + public static void setIce4JLoggingEnabled(boolean enabled) + { + if(enabled) + { + getConfigurationService().setProperty( + PACKET_LOGGING_ICE4J_ENABLED_PROPERTY_NAME, Boolean.TRUE); + } + else + { + getConfigurationService().removeProperty( + PACKET_LOGGING_ICE4J_ENABLED_PROPERTY_NAME); + } + + ice4jLoggingEnabled = true; + } + /** * Our packet logging service instance. */ diff --git a/src/net/java/sip/communicator/impl/packetlogging/PacketLoggingConfigForm.java b/src/net/java/sip/communicator/impl/packetlogging/PacketLoggingConfigForm.java index e60079d44..4301f95fe 100644 --- a/src/net/java/sip/communicator/impl/packetlogging/PacketLoggingConfigForm.java +++ b/src/net/java/sip/communicator/impl/packetlogging/PacketLoggingConfigForm.java @@ -42,6 +42,11 @@ public class PacketLoggingConfigForm */ private JCheckBox rtpProtocolCheckBox; + /** + * Check box to enable/disable packet debug of Ice4J. + */ + private JCheckBox ice4jProtocolCheckBox; + /** * The file count label. */ @@ -102,6 +107,10 @@ private void init() rtpProtocolCheckBox.addActionListener(this); rtpProtocolCheckBox.setToolTipText(rtpDescription); + ice4jProtocolCheckBox = new JCheckBox( + resources.getI18NString("impl.packetlogging.PACKET_LOGGING_ICE4J")); + ice4jProtocolCheckBox.addActionListener(this); + JPanel mainPanel = new TransparentPanel(); add(mainPanel, BorderLayout.NORTH); @@ -138,6 +147,7 @@ private void init() loggersButtonPanel.add(sipProtocolCheckBox); loggersButtonPanel.add(jabberProtocolCheckBox); loggersButtonPanel.add(rtpProtocolCheckBox); + loggersButtonPanel.add(ice4jProtocolCheckBox); c.insets = new Insets(0, 20, 10, 0); c.gridy = 2; @@ -179,6 +189,8 @@ private void loadValues() PacketLoggingActivator.isJabberLoggingEnabled()); rtpProtocolCheckBox.setSelected( PacketLoggingActivator.isRTPLoggingEnabled()); + ice4jProtocolCheckBox.setSelected( + PacketLoggingActivator.isIce4JLoggingEnabled()); fileCountField.setText(String.valueOf(PacketLoggingActivator .getPacketLoggingService().getLogfileCount())); fileSizeField.setText(String.valueOf(PacketLoggingActivator @@ -195,6 +207,7 @@ private void updateButtonsState() sipProtocolCheckBox.setEnabled(enableCheckBox.isSelected()); jabberProtocolCheckBox.setEnabled(enableCheckBox.isSelected()); rtpProtocolCheckBox.setEnabled(enableCheckBox.isSelected()); + ice4jProtocolCheckBox.setEnabled(enableCheckBox.isSelected()); fileCountField.setEnabled(enableCheckBox.isSelected()); fileSizeField.setEnabled(enableCheckBox.isSelected()); fileSizeLabel.setEnabled(enableCheckBox.isSelected()); @@ -230,6 +243,11 @@ else if(source.equals(rtpProtocolCheckBox)) PacketLoggingActivator.setRTPLoggingEnabled( rtpProtocolCheckBox.isSelected()); } + else if(source.equals(ice4jProtocolCheckBox)) + { + PacketLoggingActivator.setIce4JLoggingEnabled( + ice4jProtocolCheckBox.isSelected()); + } } /** diff --git a/src/net/java/sip/communicator/impl/packetlogging/PacketLoggingServiceImpl.java b/src/net/java/sip/communicator/impl/packetlogging/PacketLoggingServiceImpl.java index 924bbdb87..e1905b486 100644 --- a/src/net/java/sip/communicator/impl/packetlogging/PacketLoggingServiceImpl.java +++ b/src/net/java/sip/communicator/impl/packetlogging/PacketLoggingServiceImpl.java @@ -311,6 +311,9 @@ public boolean isLoggingEnabled(ProtocolName protocol) case RTP: return PacketLoggingActivator.isGlobalLoggingEnabled() && PacketLoggingActivator.isRTPLoggingEnabled(); + case ICE4J: + return PacketLoggingActivator.isGlobalLoggingEnabled() + && PacketLoggingActivator.isIce4JLoggingEnabled(); default: return false; }