From 4b535c649322803002ea77ce7a1d05299ce9e06c Mon Sep 17 00:00:00 2001 From: DomySh Date: Sat, 16 Jul 2022 14:44:44 +0200 Subject: [PATCH] c++ filter done (need testing) --- backend/nfqueue/nfqueue | Bin 360416 -> 360640 bytes backend/nfqueue/nfqueue.cpp | 68 +++++++++++++++++++----------------- 2 files changed, 35 insertions(+), 33 deletions(-) diff --git a/backend/nfqueue/nfqueue b/backend/nfqueue/nfqueue index f65ef779ee9b3cb4e3c5bdc45e66568c8a71d2d0..c50e9289713d22bc8571311ea83f0559d78cb2b0 100755 GIT binary patch delta 86103 zcmZsk30#fY8^`Z?D?-||?o7+2XDVD49D3pX) zQ(3qwonA%i`Ezn=K#kOLN?NoaH)voB`#O@6Cx-5AVNb`j@Fgwja>U0e@k#U%;)@X< zMPIkDcU*d2mYMyTOwRy&N3Y|u0*7m)UZj1I8g@Z0TU;Y`3Z0A8O-kyW8mUL=UZmbo zQZ+SF+t5cy9dl8ZTu~!+4z&uj?{0cYPBlGK-AZmsyk(8}ASK?RMtl!CIndrQPD%Bx zk%}HcYPymdTqAWGy^7R)B{iZ(>NQGQ+IQC|sWCND>t2@ikE;>yuf&h35#O5*Z)xv1 zNlBeiBQ=9AM{0u7Q;TY(9;PReYI;SkadnNy^~QHB#@; zzOC%L_fzUEu90e5BG*__Bi>Jmzf&VVjP6BUBa~E4jnoiUnLH3Tj zl~mKS)xF{w?Sxe8YjRnK8mWiqw@Xtfb( z$zhd1N|9!%{OBPb&qkz~yci=vNRejc-#nkmOXbn-e_HK=f`rzHT04s%2haOxtep2Q z&zoxNG@3u&;-zoD(`rv}yJ%*=6>^p;g$AdY8n z5EYS@Ci0{u$3fAfeDaD&xy&ot0R2zI@roLi)7}%@rK3J{;sg)L`VCz^!A70=iq~;A zBIP&DaAy>f1w_m*n86FXz1M2zmy-nrQ*$CxlO6Onup1}0YeFzDVp23y*Wg`>HMVlA zrP}`ajb6*mu#ZkUBu68|)8UoWd!kKHJA|Lt=KT zsEzTm1^+4MGEPURW%)esg)SgtEwJ^ac7#&mj~TLts3op?iRo2KB=9OyZIegp`?oWCM|168L@P~p>|D)A zhdR*ZlYN>#>ZDRt?dwU34X1WM?iA6vT~V)Q;|nb#`J@4TH`yWTZ{h4knpEypX(nYO zc&)sB_e8?kh*Xno5m%&H%^e`kYFyMt&n||&zpA;hImsv)n%&yRU_?vou-@wJc46bT&7{f_bBf|xe zLAvyO|2N;iB}P{!5>|SSIGR9Sf;Y9?;wJfe(||1#T9{Wh4?rUBEMN`Jg$ zeNPfMI%`^(RN%urR}&j*L9OWHX@Syr8aCVo&rPO>NX}0w+2l$WOm~-lE#pC>p&Bjg zluv9}R5M~Nee)N6F+IX)@G}wFfcBhWY19bDL=IxjAllw|EgLdvsnwp#c<)0W{7^S=oG3NB zM3qnrCMK6yr@*|y>prCdd*nFtkW*1n)*)|XA< z$H}=9Kz(k82RZk05h~KOctO9L73w`6kCAC6V}T=zTP+}^^2XT!iw>y-{ev@~QG?WLr^ z?oUd&!B0b7onl^3=%m^9>c7YE3Lhd1eaaP)XNd3r5aD#*Wurw{)&q|*@}tlPkKN@* zp*|kl%a4<|(s*pjA5)Wy6=P)nUeg#xnyF7|;CzS9gGKE%tnp^F-Wo65|HB$CLV01W zfu7tN>LRyl)_7(R;4aK5H!t%yt{%6BPP2QD5z|g|p2dm+i$euRzB1yHYq_s58(Tm_YFcZlK@!qd^U0y<$4AiuI&XYPaw$ z(7t<0A+qZFui&9p+dbtBVoDY3Iv@{rA+?Y48S1&ck|H*WysF`zbicZ*v{6IC@eoO-v+O?j-4J41)>5sHp{emqUH2S}! zh04-=gft6T+WSXbn)PoGp-AJNsR?~Zhb^?FF>|9F?(rVf4=!D63*BhJTpOEw*e9j> zXj(}N5*<6ulKoB?T|bztF?J|QUH6EAzug^{|^^{wnNVnfiA4@Sj%LPc2io@fXUke_wl<0(JtyvJI8 zoP>&amm2X$!wi%FHELL=*Ap?iT2=8$y?M@$(3|IsXn2je=B**Uxr>-dmqs|z=@JBFllhvP8h$4tt^TZ` z`o6trCpt|mzh$VDI?eR3E;i_P42{<~+@>Bs+0Z$QJpA@?_clnX9HN&LQbkg%PExQz zQZp`T(Jdj#JjFrXdVah|+1MkYApA9cX|iZ2st&#&m8VEx=1dTMae2zWk`hn|mB zo+F+QQ$h~U2b{3PM5cLii#Hr+1Cu^N6>(l^aTAfLCSg5wyTP-ac}S#;wq*}qP#pVS-KD1&w^Fy% z3(bm@g{~GY)CsjXq_Q|JP5`$xZhFZyXr4ufrF2 z>D1KGHU|dl8g^7z5C^QAv^>?Ne~?~G4A?EcuZFwW3KbZmEsW_CJ`$v_wu1~6ipb0zHrnl zpC^o4q}g*rR!~<+^vaHFN~B4hujSUJ*xlA7^Q@`1XS?Y&oPV3PNOP_C7@5TG^}*Nl ztF!>=WCNO#<}&Q64PR6(7FZCjxyb@WRGP_SVbmhcJ+3s2qicq!`{q?$-9PH;zOBjS zIa6(4chy(D`xZ4`+EQ}5MT3{RN$V|X%u+WS7t{!8QDTl44n5R{E?(-Q9>-NT81Gy7 z#xG*2{~C(z8l>yd>%#arO6uCL*jFfawnV4ccBKINcO%c4YWp}`uh<6k<1bKv*H@zS zjz^K)dAioj~>^ZL7l1BtWTrfW25Sr?~BR0O?O0ZvA&L^f!#twu2kL!sY7tflTHte z_ArY`S;=Sjl;TCnPiX0A*XYrrKjbMt)so+$@CK(IEaweYHs%=eNwV2RA|44$lXUC} z@~9GUYD})+x#t%|Jg>(eXx}l8J$MW;R)7R)XRH5P(Lgr80vciYt zUKdWk3WBNgI5)LT1EeMwSgb6-?rtiI302Z;pBWtKF3*x?a%G^-33`9Y`?5&0?Fz4f zd#B!?(BGF3nQD7YOqrstWiVT(eC|v-@hE#9Lg8Sv?^qkBW$!Tp|0Nd5KZ$Xm*L;~3 zRgbk-w?W%5N|Ikf=l?K{0|u62sgz^~VPzSpWf&%TgRw*+Vpqzs!dNe=8>^+TqoGM? zKrI~QJ}K7P#gk#J6*a6i-{9R-gd>}b8KAS)U!7!YgPy1%rI3%Nq7RLuXh)C^K8X@j>#4&Lwot@z>%{k9b^dl`vEqXP>Mf%s3 zzRCzC8rp)|OF>1n{6HJBT0A^CEAC!cc@JVmk5M1fEU{qO4x?q%)8>noXp7i4SjxbV zp`I%O$Un5-3SUw}XRYuuYaPTJET-{(^yd}rr1q}jLMYOemOpo)9xJ`go%q>8*?-i! zkDZB|xo?%I5V=5axj^oDYkF~|ow-Am9L4u|A<~#yta2gF)PI$qu^W1>4Ga|*PNaI6oSX*+1Ml#o0d(WUZ&FDntL)P<7 zs89K^PccG6TEK8+=1whFIh(ukgTIon%Z+UeA?~bvFfR22R(Eav_9S;T95rOc{@{-U z?t;A~E~B`vBY0H1aLqJFU8X3ybG4uIfC65!NOR^NPVBv~ZI-ubO=R5^RwmOr3b0My>H7o#>1;?)LM!Ch+k1 zh^EGkd@*(tOf*+cXxY^SV#jj*iA7yrk(jt9&|lX$*7hzG1=z_p#FaX&wXhp5Y{9FA z$#m7`(9pGZlCzUoSLwL5^^CVdJNjz9BP;olSkolJC-Y3W)!yDf4% zE1-~#PN7N1sCH)_$k1Y7hZl`ZU>&D_;Y=+QvvGsb?(yT0zOV?>^dv*E1j_JOUr>m zf9^h_gId#*>uiigT^rUD9~&x?xo<$OFyIPTR`MnBVHR6SeW|V+4WM?!i4I@imK^01 z202gnuJ^LsC~D>dLx|0wzpoz~@v!lKwt73ZS&9`zs~d`4i`?qL{8XMgpj4#G3cPip zyEE%Gw0iMGlLBhzU@Ruk)9qD{hbQ}Qte zFCAfz8sd8S)jBJe`}|%rbpRSGp~{N0VW#?#cb%4JwUpj@i%BbNqm^Xeh@NDw=6;P0 zqqAdUF|$QA7MXI-+taHXy+|GUcB7x4LyCsbZ@F(zXUATrfttRMOmBPPw{l_w90X?{r_FCEUf4wEwui^5mK465f}p6~!P?e^2O9B2E-O5LdgR!5Ayrqup(BYGmoU0T$LmgYoZeYn5P z$!;TVi=SG-l6)mrPR=*;=xQsaFzX;)+NkoMi~LMGD*+g)2F3s-T7NWPC*2?k+J zRI1~=UjDFcFSkzkqSOJIhC2JxRP*lh#9QO5$Kt7I=`H+>}qbXm5obljJI-0e_5Ko%w>bfg!u+jU!ry!uUZ2l*zU z%|4x3LqhajX(g03*};dWFl(us-mC}r(~Wz)&A4ggw06Gq>K@ltqtIIP9u`B<WL*ta2h^G6iZ1?2Vt2v4)R;Z6ul&v1x?hYLT7gW8tKSv3rk@QAbODh& z=3MKnH)k+6wK6jLHK9pcZT$yxOI9BmXJzANal75%y{MEJNbPe1!t3ZO{VP~s>62Ze z(%B7lmF_oGx(FUuV`%(Am*lwEB`Q@{8yR2H<2fG0i~g3=m*mpGT~4;1KA(?^xioH< z8@Wc+yL{Xi^G0#U;Y+jVmyg)}D`s`wNhfZ133BJnsN%?h&8j$Zznxt98l&Zf4?VHH zL+!X7=$89?D9LtmRr4*HGGK=D=|k?h)iAi`Z@P4MJNI@_wQ4mz{i{?neg{p@wjnX} z-`$S&A2YZs#V-J|yx`~|CR`5@&^_lHu-sL|gg!rHMRw3nha#m_a)wQi zP%}fM$PnzuhQ|?Kshwz?JIjhD^_|n??NT#7q48Z$>Hyu=(U<1uwUI70VKeMV!#b0j zaepY%?4=%ugJXTS@}^YXLvP#2ts&ZtE)t{Sv}_>JV?So`0@!eh^&6W`Oruvco;X98Dd3*?orf7s#w>5u>K_%P8-4|AOs*@TPz!lkem>xgcg5=Sc zM@M~maWhvQ`?jQ#H>A0gE>Abdfa;24hyIh$l-gz=sbP zezAAHR7I842vZ?kelvWAe)`4Ra;Zq?n^z$$m$*y5=hOan$obx zj&yszjm;lIQS_@}R~t#MOz$ z`LPCONG?b)mnHGt|C(cM9cJ-DA~`CoN*(*?(_?N9%WGk-5EaYY^!Wvr+z@Z5`|$vY ztfhUA_m;>ey7BmU(u$g&7*FiztP|cCP+2Ejh#x(Mf7{Y~__qsvf5MA+Qm29-vY+-T z=;FawOnkkN5}q@Ec8=^$f`8pkd65IO)2RTmmrgm=2>-4=)dK$(pV~}v z_m4kqM93aGsqialoeyn)(w|JE?+TlcGt}cuZ1;X)rG7;j(gAr+>n7$jDYz*g_|Di>o6_~gHnx89997jJFh}vZ z0ej=}Vkc=$Qx71E#L!LeV#NipY8oB3v&2yDW zl3V{Jf8XLJ9Y>~B&eHy-wArdA=7*|eI4_FRoOAui7^*$@EseSmKz^iiFWA`r^Z67S z=`SBjk6ox|6t!HObnRKec5GxH-ZZo6%9ooIJ{w^ah^eQmKdrpk)5a$qhW$c|`vkSu z3GA0t8ryU_`k#x(Q+rRp>zn4+%EeFz_ zdR(#_*^=U;GV#L7R4-?eLC)_>gq%dZoP8hka(-OK(=cbGhBoG!oJSp9Q`t{yd4P3ZgHUN7rwxt_m?PTwYmdMdeM5O`cZFBNHObK9QOgyLSg zo2Utuk3^i@4tKr$JqG#e52;*;3Ds9{?jL>S>va{#`_3ZGcD|6*sK7{H!3nObXh0uB z1#4vat@QH88sv9eiYrT`~7kt`rTV?suI- zdg^7=*30Sa8AuTNV@=Uj1+(w5NlyAB;rL*NNx?pgmJB>UiT6R`&` z(%8ZM69VmJxq{}soq1m0k)^Tuhua?Q)QWM;%nHiExkIi|3P6N*_2n1 zFD3j*YWS1+6Wx&5nyWCsFpQo^vE!dJny`}Qq*jATB3soQ|g%o>OctiZr!ui52G-GGWEJ5Xe^?>2e_LeW7KOpM^wz-3dK(*PYHSdEsh1^$B$2 zO?NVap1j$l!5E&5%!Wl}4E=O7vOznpbhS0bhsNIOOOomCTW+luF5m{>E6PK2z3&X4 zkH}P$4;4DU3V5wgGg-)26lw5})bo<_Sd@LGuiP{x?quTB;XRSgsfJ6F0qB zJLDzhAK`8_mz3{m`fVTeFYr&fn&n(Ip>G{SHRI)KO!U=sFjQlyRHI)}nsD3JnDCPk zC(94i%RgCPud3Qiu3)Q}wD|OO|CK&5mp7a*S;CRwHRrfn)~KM7zJjYbB%#q%y^Mcf=+jour|K*AWCLAx*D>TK1j=hhJs3jvKmCH@3*VCy zUm}~5s9R9#Eu>{vT-6`B#f7=5uP94f=o;Ccw?~-ld_BDqwz7h|#hk<&`NW{$5wxhv z?6eq)DO1pi>M4^J7*>?6)sqGq3Z+(02{EKhuAbs$NcpOIim4&xi|Q$X+%k%G4XY>J zFr?H$%I7P}U-Chwg3nbwn^#>?%-BDTNj-Y$YC!ZWVJLY*b8P+}OUnec&b;Pz_2%t9 zNA&;Wzj+KduS1zW?L`vpd##bW6t!1bTed^R|5{sKaY>^0eyO7uaelTCKTwj-WK;fQ4hn&e7gK$fHc1~eeuqP{`Rn;G)XQX&1}t2L(Xj7 zAYzMYe%Nm<$O5|TH-Gc5xCInRM%VcV{m#_mVSTA*YxY%hyqt9`9cJ=x5PmyA;~qNF zRi$2b*(kwVRP7?^1if4uAuVeopTHRH^r*YESb568Qv=rgFn%_0<*-+N1Ym(dl!H~aUIt4d&yJr*@DJQl1C*7wI3ndPj~yaQI2$jdr@;?KBi&#ouPY_L}S8D>vzX zx=1N`Y;HVhU{#Cz2Y*?ry!dsYR(~~+#(Xco7!BB4i-!I6(9QoGm&C^rG%wQpQp_K* zBP-H$gYU4(-{N+tkEV`sM?BGCPn(gy=weOtwizOyzL=+>*o#)eeg#}al(;;{jff)s z34Nt;YO_IKR%GfT9$~+!N5=_%D@C0%>BMJ^Y}X)bBq_%y2nHef^yg>&zSwn^>%=dxQ| zLwRx*1@MdGmtNL?Am$fwX`l?-B%1uPk=+zDv&xr!ve@rv!Al#Th#E;*yhi8ks7s!e zgC}5=&~FXzn=0Cf?R;h%+*fy$4$Dv0ZAIiE5sCLLpI*h2U+9SP$sL1*j@8;Z?OV|{ zp|;<5FjcZ8j$je1BS^CHO1uSsh8~gB>UFB6ig!|4vMzEi&3WCZ!FyqUEXmwnxVgQp zIY*zoZfQVNunF|!%LbD3xBQcB>iD;F z1I;*IrR+-_r$pe03P$kb}- z5LWgsqGzt$yW(^34m{j0{Eh|V6S9bEbqzmdy`Nx#O-boXKICzC`VE>O&JqLo3rYPq z9pzO0KG1e3mr?!TG`EfXilc6hzU@uFk-J)5W=?BYxR}k7OTocAn=;RF7zB|OO}h>d zx(&DjWpHaN?(SxasPHRXk@6Cu2qtK(H*#{aEQc>Yx)M|9v5H0wFUaK(S){3ZRg|mt zHg)`P`QDJa{Nqlp(~y6h$Q}CCKW@_4cuF#y=<6^m=) zs`_UP7y8>QhS8q;R!tc*oDH=ib|j8&(6;g^yFW4xcpnp?oA z#c{Gx3sAStsJc9veA+`^??G(21qmXXS1u$94OC21e{=<$@)w|%A zbcm|r2d`NrA@(*;k*m5Hi-yW(Ji)>w;?<;VurOQNEIAZH_T9BR5#8F&QHblVAEUOB2$J^kp4Qh_hRNWRJn*&b5*y0|gT2%6o*Ic9-Gk_bIpDn7d zMWy{{()$404_rv~#mKdpycqqtiT9USh@A)M7b9kGN?gqB#ZjMs_*P{#>h@ZEw@__0 zvXd1StI>fALY1nkk*6%D>S|=(j9oS*-VH~~CB=GlSuR;^J&NsXSdXOB{pc6}I7-FQ zH0B>yX;8F&MY`KZ)cKz)Qrf_(D-tPYwd;}@Q5Mlv7m>&JWivj7oWs}+X`gPX%`GM` z1<3_dF}Ipzp8b4nIjR)&U{~rA+mZMBeYUjZ_2u@hxwLGQV?E?~O1HG^L~-ObEG_MM zwrWd@FY8v1oF#;rn-M$dSs(iPW0;R`Z)7v9EY0Mx93=}EfQyVADX%O+(P9#G^^Y=4 zg1S7WSX#L|rL$LNq_y3L%+D8=L;dB2WjE_vpL8S^EWJK)a#)W$x6c=r%AWGF^If%6 z-IRE#Cp}*2=o3;cQ8y)K_N>;VUOj1LrDL~Ka;$FAnCi*9?X#sNzn3Vh%jJV>u&Pty zkbd&gG5}VqJ}0*7C(nsZ*$s2j$|nyNf>}$r9buFuVrHwkww#KS*B07WHft&>uer92 z78{8o%`28}0kaNT^SN1V<>FHPUMr82FUSNIXbH1^!qLXCT!@nfz9SscT`WTm7ptY} z%RZkHkvFVJ^Su|EH9x$6=(Tl}76MMEk3C){jOX{eLxd?G>A~ai$ zv8G&`oaQOY72+JZB8>-*$R%>5IAr)B9)IU%A79CycaZNAi!|>#a})FL_4!?l$oLU= zBbuc!y>j2E@#5W(a;G+LM(u9$(T=~oGS+=c^$V|(p92h^QXOKQ>_}@8%ck2A?>hG{ zbIox$W?Sq?@ZgNDTp)ae-%W@*Ex#0MlvasqCOTify?EV;7vMJr#mIs61@3W0vo`#* zLStB4d*T`}ljm1%KFqtJIga>8*PLCVcCkoiK!WB)XT$FZT%@l(`Ek{eW!aFrb;gQ0 z37yBD*pp6D->PYGO4>Nq-+@e%u;sbnK-!zW;#*#If<`?&!S4YzkNa!cm?GkCcB?=4P|?@T*&|01YPrfo=K<)f zBF!!q;6&UfEE9bw-=)p1o@0u5gc0TI5}mp0{lJw}$v-3EMi=73dFFQErBkeRG4++0 zY5e;qk>_7`7Wfr$kbVlqUIgFiUB@kIQYTW+a{NXv(gFEOxoSh0nKS7}4zXd*B+zmn z|9y+Wb2qarXX0R-iCEUR06q?9vX-{GGm9W%%ht!h{I)KnrKH`!mM_QYz=FlOV8?Fh zj#~p?R_sE;Ce%H}O^F?t(#!k!kwbV0qNWz;)ZNK%@wvl?>Ks0;gNWgqD_s5cf_261 z(+6bKc*1RTUUD#u3lv_mhPTz5m9`-!jV6l8l;1(3WRWILH@9*>#cNhvVqQVpJGtTW z+V75<8?Qk+^EAPIX4X10Swd!Y32FZ&VKJ8wY|Ia!to%B@hZH8h#~vze7AHojRb)PoErQ{<;{@>7WX z6vUr!Gw(@k&`&(OWZ}k^dy+u>G=x3sg9)sb8~?pXFpXI6Aax05VZBHz^Mcd5BRhpC-v>|EiGlQ3a zuUjzw6H0y)lz58!Xp!c4uuhtOQ_L5f^Dcw?nEIA2L`}aieCYOGrn8vbZL< zmhD;fL*lC~we0l`RCUOQG#%2PE0H2@><@FRe=y;ZqFAc*)p-%s3zu>Dr4FX9?kR8{{o8Tjc9{*+ic_W|+u#PGMo zV7_+i_(|QCm7OE?nP*dCV_c^>Hc4bRX~<%m5;vp5X7VPlIK{($Wq>Kj~2;ejO{8S++3<+6}mB&<@+QH>4eV+nV$;viJT> zxsh#%KQ=e%ZJ=B*+tY?5l4H!jE%~bc08e3lY=iN;PnO=6ybbs_NW2-t+pWlyzckxC zFg>`+)594ojy&!aawwacZm3M12`?$wON`m2U@}bl=+58J#!IUNo3m5xNT^9|)RQi+ zgSjTexJ{a^CKcxZu>|v1Qu<$4?nQmda}-yqSsUdU;cr-Ud(zac0YCRuDKe-bp5%|cg{JJ75np6u9H zxUzcCiDcJJn#@(gpUrZU--H}qX-j|IZ$(Rgugd}wu?j!!3{Tk08h%MSkg06gm*gZm z#ayO0Bf>}K`4l1Xka>d=BmT1j=D?{0d2rFfyEm3w4 z+Yw1t5GNMe3#zZmOXvmFrSv+?tSfBuu`jV=(S1m``xWRVkJr6 z-W|rVV!!nvqb2LQ^0--=ml(xOv4{osBa>W<>KTL#MpzLNRu@9nvg7?oE2$`uj|sPW zFnx~rd6w-Z=F*>Zmrk3={e1C}869%eibeIuke_9uj1+##%e&ei!-7m>y$9eI_knEg z0J6h8T3B4X)>b)dSzt05Z1ty@;PkJsPtIiPl8Kv(NiA+Zd567nCf81%Wg+`*AhENb zEB13WckF|h*;nKX$-=0LKOL92Kjp!nf`~Ml(248pX}|_EYPR2s#ht}KTic&l8$H)n z=7kL+LkKoE>%WH5cI@icL}T|#TdCDJeX8W@lt-K_HQ}B(lU*51Mi}3&ti-aNhtBC8 zOFV3jB5RE;=43W67CXb&L)gJs(w5}17qO&i!?HBqB6$~+8Wy4W)&yJ8<_caxd)8qH znIMH*i|LB2W+#V`8MP)t4b2)BIuwKN*@wKip=2I0(jGI+P}X_%;<(SWFqfy{c@>qk z(?L&GJ_oa~*$8aeHnLVD$Y`VE?<-lSUT9@|Rx*MNH@>|WL-bJ;_Oy#xkCD)HIh!{U zgX$}mKa%t`zSw8 zsa^Y3C4W7}uKE*)Jj-!pjImVuoRuVy7VPHC-&Ok2XfruOyIxQma4M)d^T;#!e-}rOKzW zpgvDN6ZC_0>mA!Ujd;{Q|E^NkEU!Q1W(7}2vxc)V)6uM7*_!E?ua8 zy_S`4BM$tx6C|AtN+O$D9=k2vx9ZKuENpf)1AeX4Pd85=AdfuVT)tn)3i=UmyoI)8 z>4%6Vn>?5Fl!9A`BdXDYJKXhL_|ltaGLN_r=~5XRo=t3xJx~t|E5xs!LfaBkHfRlr zw11B{jn_^6C^O=NVBSq;@iR^gZ|9SV(wQ49EFYdWcL7=IQOLK@`pwJ<>_=6aSPfTA z%r56yi)1ohdfiM+Ca(2G!{o{2jD8!0eQlBEP%~CKkl5O%VD9|<{GY;%7h*QCzacun z=IJ?v8*4-E$Qp}Y|S?a z0%`1H=8#IpU`?8vO6(mS z?iWi*Q)x&E+q)FY#CMyBZJyaO>^&v_^P;-m>1332;Q>38j_TGh_vOUivE?O0b!RW? ztJ`^j?M)?NY}s<+V6?YbRLW3kVBVYMWHm9meAZC272ACiTfGyM)RK&fdF6gmHk%xMIdxq)4+4(nYR0tB`9< zjGSv4BV!%TorWvCEvW7a(I>f|JJmURg1@WNjK0ZA*ARd6iB{Oo^LZH}Kiy!_tH}fD z_$}dPlGRBzF$;QhXp12)ob0cYkZgUTy5uP*WG6FTLpC}X@f^*MSI@EZc(uAWUgLEK zOKq<)r?q4}_WeJuC4nIyZFDYqm}~PwJPL385qHe`S0jbE0$j*KGTv9fh!y5&y3ycuqzGTHa*G4FVtU|3;n*n{;L12;>ARf#VP z+<=ux`wI-^$M$T%_HXVH*@FK=0{JCxLKb;Rj6UXx;h#5a6aK>uMyn2qC-!JFS&vyU zX$$eP|9Gwv-{0aeQ`Ht54>I+3GLpG$g`Zm;WER=jh|k-K)8&BkvI5y`?^YG59O zw6r#xMAtsD4;4Jw!veP9YQFTSf#dUWzn z4cLjD7*wgXaS4vUUcz4N#BXq;Jz!RB!Uz~kP_YA#RSFWO-tM!vP?=p#$N9s9v%yh>HX>f%A;fMRP7k_doEc~ z>vt5^n6nGH#L*}|yOM_Pv}GT2$+wb2J{!9iV$AaOV&ZpxE+&`#yqEkSwaI2K2T0Sr zKKsZ8LOSL-AHa@=1m|_Y1Zou6YlBd|lA^1~o7rfY~W4I*r%CkR?c~I)Oi{+gpt}L#AoH5?KOEE70E7q*fNleG*ck=W? z<6f|;u)85CVF#;!nsgy)dHqiFZQBpo%=8SN$Fp8%uuvHPWYBr_YQ4_0S>hQIBwg9g z_91h?sSK`awcoG|KMiYrjS{+3!b_$veVsKvOA3toWmM83=?=baQTnr=C||>0p;HWW zdnK2Sc6Zv@fd5%3Th_M-SDa4U*ytkSVQ#)n-`%5DR?^ALO*l4hBKe-3EyD3{+*W2^ zjI2Yq>a!kNA+p-1+0Or0OyF>Ier^^19y>z(y`HcYb<7+v*K_Nu)8X;2kJ;G``8@j+ zGz8lliu_DlOiYbEb(wuW&umjO^XX;i6!+6;)|_+1($ZmsR(m{7)cTtyZJAi39P!bf z3Cll69+8`D{dw%m@VAi8!=+Af(}5< z^~bavbpl6>p%=&wDQYPn4Q}|;H^$8WBL2pZb_wfnk$fjDKFD@lBrdiK#8|FAQ_jh| ze-RTcnV5I}GI>R$A9L9+B_vFmz9sKd30Xj-_i1eYH4+zo8@GrP_I6CI1#tf2G=a2~z*-O0@|R zlq*%YMW5F(j=j2pZ(u&HV}ovzrgd&C;8~J2zw!H&=Jl=+*|i#eAx=-u?9olq9jci@a^ONgLBcrNpL=n*TSCCgJxzmiY6j1^iX)M9jcoE~xTWsXS&> zYP0cN=Z8w|VLaP_F1{+&crXN9JhM_e9$)bENUYSBfO}?FYCZ6c%a%D%0iUOMsw=f) zz}BECKEfI_w^Hj1-bAzVcdFE?-Y}dCu1!aS4ya%z7z{En2HXYC01Lp?U?q45Y=$;g zfU%$hE=5zoVDJza1D1lT!2tAkK9~zW0L#ITU@bVCOJlW4)dqnO+*L+`vEXkrLfHB}la5@;Th6z_8 zumC&&ZUKJ<3qc<^`4g}gXp9Sz@t`-j2J8Z!2IE1;RFnsU!7boGun=4TJ^?p@#^{<0)3y0)ol`30;YqiOymc>urTt!+p+{y!6!1dSE{xAbFM?%E47QjTVOW$4lD-k zvf+&2H((T;W-&MktN_zNho2!BTn*jDjjHumkM({8g z3#u?l^542zgIQo}umE&ZV<+|mfp0-${2cTN=nZbiZZQ&k1C9r$V7s^iTmv2erTvxK z8(?GbEf@^iw1VPb2-xO8r8W*61tx*>z%1|t_`NuW90MBT2(SqB2D8B~U@;gEYQP1cDSm~p1@r|UfDvHOiArq(SO~5L zJ#gkK089AU3oHjsgV8|DvcAC>{{aX@AY#!O6a*d4q9B-1go5B=uoTP!Rrv4p90EPS zi(nY|5R3!OieYN7IhX~8fd$|auoQd%s@lT`&Y?Wm1q@Ro5RE__xD-qRcY|4ADOdoO zgQcL~c?jr$VF`MG4|d0p-EwU@5o)G!21V&=(B2i18nRz$gU9 zfUChp;9)QuyaN`4ewX0gUk6fg_S z1Pj23>+o`L9B3S-QYC`k;F=q7ad4UFl)^DJ2SB(G82;?GS99RM#`WqU91#h8oH}m8uB>`G^<_J^&AZ zAHhPL6@HBicc^dSho_U16P3yz^&jG@BmoINwnHB&_&W}%_1@U zK!0#C7zyTpREN)v9w4@I&At7!8(zH$byqn2K@#5Cj_IZAmof4JLqHz!hLT zcmP}g-T=3NZ^1&)rZ>uiL11&d^oa%Iz(jB&m+-Ul7}qwm3B(9Bt@jRA*(N#JF03s?ab zf?h5-ii3+mvuHRY=nr;r)oP=_Y2YMqA(##pfVto`umn`A+_c(q1S~+y0dOub2>b}f zf?@738Q2fZ1fB58w*XuWmV&oH)j(JP?~Fab$|h(rXz7O*gI?egFabOOJ^}B5@4ognz!~5>a5d=RkFU$YufRK?MKe?!gO-9GU`lgbmVv*3W55b< z5$M+fT?LK-i$U`MSPYy2S`Nbae~CcIAZ)t>(Z^uRmiXod91Cs%3&3LV8K?nA;+q`P zuhG|_FSr?u01tsL>&<5SRq+1Jl7*-~lkFBSr;yF%+gA3hxioYQ4enowV96{27b~>vo34 z!1mx4a1K}q9tWR*=3hebVNe|O2M>ag;9p;A)!Ok0SmQg*C7>sm1NH|mg0sOg@K4Yz z4o-#7NBzOBU?i9Yjt4J;OTb!PQ63BcFM@l(GVmH`HXOqd^arEyb!rrt-VNh_5(2vs zkq%x2bHRsT30NQB#Fm5ZpyddxdSC#U14e9i-T=pd>SqWnLZAZ72Cbvu?O<0>1IB=+qcB`RUoZ!Z z0FQ%Xz=z->(4{ZRgNMNq9uJm-cKu+v(HN#+05}kg0+)c3Mq~WvB9M*<%l>FN=mp*Y z)4>YxDCjT-CI*AS_R(lLI0;My=Yg4E7MKrS9)OmErQk=~pr7V`%f0`>-D!8kB+ ztQuP<1Tqnk1?Gd7!3SU|_!0E}3IfK#B47yE2Ctdoz##~uq&wg zR;5Y;J-}^X7%lo-4!9n?2<`^UK!;%{{~Z(t{lPde5}X5$2e*LgB?z2HAO|c1FM>{S5CC=oEhoUs z!2mF4I3_Ca7B~ZZ3$6y8Mqp|N!@xV>2(SWN06I*B{E=umXc~`}gE3$dczqPce>MV^ zqv3R59H;^Bk443kR4V@C<^a%a9GnL10ZszdU^AO11+b(>%jnUHy8z80u#V8a0OWRJ2)*k5WE4- z0N;XRCZOftV@n1GgB4&5*kU3q2aW<)gEQ0!97bRhcn36_1k-_DphE&yJ1`g=2gZPl zz!_jBxEj0;9tKsDQ697gE5H!YVJc=&Fc?e+W58l?2KWhF4XVdaf!8Cj0DJ&G13!Wv zL6>P5KHtOZ!ALL`oScAR1KtBO!7?x(G@gp`;1A$Oa5v~OU8TALhJfW@Ea*86<-uWK z=5&nzDG1~vVgdL7JP3XSFMuvHpa>WOHl7XvU=)}L&IB{TEnq%)9((}420w!CGf@5q zm1+PO0{#fbg5_W$*!TyO{{iDa9)WyB8~`7H<7Z*q&cvbtdVo*BF!1X{3>z>JTmp`t z4c`F|gC(HZ9P~Z-C1^7X3W7o45-=J(1SWvx;0jO+9#A7-3n#n*`h#!5aiC2iCJrzN zTn0viTfqb{A6x-`01tqcNhlA-ffZmb=r9`_7cdxn490-wbJ21z7|aBFfa-h%Vi9-% zP5?iGFF}tv*b63Ood=(R@!*YxnCrneU^dwKN6Z&s23Q7e0?lC2LeL-VvIwIFEK7yr zVAv8U4*I3RX~BpzjQ=|be2s_-Z~^F$gqDF_K$oSc7&KdkioqB#8_WSOg1>`hpi??3 zo(l_t{@_3`5?lt32RDIBz>8oG*m*fd3mCr~CagdpIs?u!4{HDz0=@;~z@`*46*vOS z0u#Uja6MQG-T_tfRjPU`U@_1Y3JIPhyQ30wqbfos45@FQ3X`l(k!zyf$F=mCBY zhJhJi9C#Q^0{;ZFK$lez0EU63;80MN3?~CU!1Z7lsA4D&HUpEuNH7ar1QvjJiKHzB z)e)<)zAuEPpf9)ti~wJPV?g(xV0thX%m#k~i@{r<27C&d{)qFz8k7g)!3Z!B90NWA z7l9FLVR~>jcoAF+mi>tFFJ)q?U4(TR3;-vAQDEFUI1QKst^muy1E91X-VXYMZ^2cd zO$zdXLEtqo8mzkk<-uTZ1vmjb04@h_fQ8`O6gXY2EC^T(lY+tEJTL~#2NS_-U?#Y9 zBTNV8fTiGhP?d`181w*dY=YB)-kafcV0&;07zO5l6Tpk$Zm9Iza`2+rIElY?2HO*-W4(yFyV2-MmQ&A|{b0UQRd05iY?;12KxXt4(Z!1kcc zaK1a1PO!F(_Qya%oTE5HNbh+LEh6Tr9N63`|CYelXa0uYGVi#`V@fiu9H;A&8{ z4>J`Q0p0;E_hW_xn}aSCS2kb-_!1lgst&;0L3c1432cXXhbRC!ux~zfEfFWxz{*NLMiwNHW2msT; zEbtOo0Nw{n!H|;}HfwRA2zr1+z%XzY7zh3YCV@M_EYRZ=Mh(~;d;+F}#+lfHf!^R7 zu!|aj$)_>wz!l&Ea2vP-DO|lv656h2&U~ zwX;`=fm^(GK~J94MC5A#(>@fO#=1(9DN6LFz8m$X`uO_Ye9=a zFM@ik$8ZD<108uB<39$>0x(ISgT6r9fsO;+2RZ}v9B4Y|Jy0VbZNC9qGtg+zOP~p$ zC7@}b(I-%H(D9&opmRWrKr=y&EbNRH7 zG&((K%hL`70J8`{I_M72Y|!sP3qU=-MgY*Zpx*CdSb;`>9xOno1-$?|1N0u~YS0>I z&}l(m2E7Qn7W6*oE>Pdi7!}{3=0H1wCV&ocfJp;04Kxe%3}_yx_c>G@Xn#=SJyaQJ z5a@c)XwbW$V?eu|N6mrm0^JIl2bvFB23ia{{sP*33zlQhFwl=dV?a-VCV@Ks1hW84 z(6<@4A8BhKY`|h-UTfNrB5Mx zY{iWY&@j+dpfR9%ph;UX{%?R;0HE#n2mrbm^c3he(3_xtf>!+i>-i68d(gq4v7kwy z6F|>_E&;s@x&t(`5Sz)sWvXeZEPpd&y-e?|b%A)uL{6G3x8?}HYCR=Wy+ z(1xG^yU@u%JAuZ5jsP78nhKf*nhClJ)R6;b2be<8PeDsTFMk^@1bXlW zMhmF@H}o~oc+ef7HE%l5S-`w^6Ehs>0nl0>;#x3h6sYShtZtxBgQkE!3z`8s8+0G& zyP)SluYukJ-Sj&W-iO`|+6nX$=m^jf&{WXpZX@HMvp{n|*TjM;1hXBq6x6o_0X{<8 zfp!8N0y+Y8CTJ??YS2v3ZJ;@zIiQ80r$I~A!m4Itmt?i4s#yoGz~UDa8slB#JCN#b z?Sm&LJdB4&0JtUi>zPod%AYs=8l&GC9TUpR>ygRR)x77MPd#pruj)=dWPA#L?O?oN zjOk~;386)T8aCAQZ-fsJ8$odF4D6xf)C$Mu(DzbDA2;iF3xruXnRS);<15T2z^ujp z&@X|$Q-TVNHT~^7D5UVGzzo%^%k*321>vR?QUyUWuOz6YO<)&Is=HAAG}-i138X4c zP@UUCl~!5Esx0JH7K$nftGp}u2Z<2sZ3a?$J&4{&P>Tjpa8eqHYEB;rStNKSsx4&E zHBlWW+AUG-YHIqgst#RzB4;UxgpxQFTHOrv3>#2Z9*7EY`%CqMY*t|-`+YY|s)=eT zun>>LvhpUVq=yZdP|-5&ZH7@jQJp5=Clb}~M3Fd^-M$*S=tR}B24eL4A2BY%?%6~& z5q9QV;_GWi7ewX>TV%!Xw+{if8fgHlvI_BN)8W>6iKJaF_DJc3_D!OBFMW=iEbywHnE>`)dV^46$ z%saZQd?poNcTAHza2TM?$a)U+37~F0RnuB#h-b+QxHC)gbTt^VSu{b-tc7%=URG;~ zu6S7;0zGMp<-zc9+qtMBVhqadZMQ;F z#4#v$x2a|2FH*$M7pd@-X6;ozrbm-`0Buyb-IbhsFL8Yx1HcXLRB4$=akPr`G3%T0 z1E|dYjS2znK}l*s{jd~$xCG=<3VoSVyj?P zP?zCaWgE<6$UJVLn&gij737Q2b9$!wJpi38nuG^4RkeB$5=dw|i>HJ%5<1SZrX-a` zLW~G`Bn-C9d{m(?`sX-x&DU(;x^-5WI`XRNXUnLHLaDd>%(~4^d4io)R^FGgP<25? z+0E`&cB$?z!u*o6|{d-_3=0Ts>Ex+*NWliI%77k6YjODVR?n% zm_k!2g5f2P6aHocmsaYQKN@0`dc3Y#-}B&{vhvR;XYs0SU9{F9^$g%Da~yc&h~U8a z%25|x_<}?AL(SU4yih`Q7&gJ7Y3K;BdDw}DS2SA^%$llyDTM%-ZKhE3RcHXFxz&(| zlKhhDhlVpxr&-NpyJtmS7=XNeuRaLCEa5p+z^W`uwH zy7KZfYulGp#{hVZ=1G4W{ra{izBht|d{iQcrw^Wm9ZlxXszrgOf0cO1R&%s_UF{Au z{aj|K6RpT916QSAx7Gw(2Ke78OdS`TQHzD} zNl}yQBL^vJIg>q1&M>*dqh>J9}j!Y58F5(!eJ2+md-u5;D!U^5tRR?QAZA~W8S zL~g5X!DgWAj-|X2agVQ!X;BL)5LRm;1Hw`*?1L~50_}9{=O9d5%58Cv6l!4zT6@0M zNBQ8)cd0e{?eX9@FSQ20Jq7%^rB>ImXMn%4)LMA$`@okjRZFALGUveGgfA9k`#tdX zWjsUIs$=oAP}`%x`z~Yqc<>&}EPMA9@F937z{+F>gj&n2OxpKZ3P}Kbjb&ET+wXx7 zSjOY0makznP?3$yy7nlr@yk?MUDMxd0`kyf85Tk65l3dL-+VFoq{3jHs@@3oo=q;) z3IjmQKbKi0vX#QXLoFwbhuQ<;>5(oI&ChC1C}xq8Mp%N|rgLVMcPJ*9FnrP--CIRK zzz1yLU0201j}UcLGI&q8@Pzdg#qoC?BO&Y!{pqSbm$y6kG3izr-N%5RsEy`9NJys^ z@KF(s(b=aV+|$(gUZ3?yXLH3nd9-t-x$_j9GE`z?6eds21u;vOtClq9G_Q+ct&Wl= zL0u-YMB%p!Y5WHh*{-@0S*H>~JkwW{mA^{W_`F&ah8gWLY3r!GFie5x)QK=mEF)H` zMIolY`wXNzawS)eZ8d~Ag`bkH@6u281qn{cC@YUdq=yq+QpM1`59|5rEtt8k$|zHl zrlY;uV^6+XeMJ!tsavF4^NtP<)e_aBDO8`Tz98n^chtnD*n+sNvwEJ*HxOA?J4xlU z&gw(9A%N`a79iK4bvh8R8mdJz1PW4pLCn~7svmZ~w)@cFv$_PWSVz0Hy7v0GBm_rm zB^v@EQ{95vGjrX;PO`qa>EpEznL7#0n#w+##*0y0bM&0w#aksqG9Msce&{*r5Ii5~ zAkQlV@vjoLUIIMD0qikBxSO$F1-3)?PD9>eVK9f<#dVtU3diO=s0C8kw7yKeG!arX zB$r(EbPKb7>rY|&uNzFaPpzo@p4QIh7VT^h+3-erR=I{hIKA6N(&zr9vv@rcW3pbaQV(^P>i(K~Y0lPyud=iZZQDn^7NH5*u! zqW7elybzrh?e0jIUUahR>2?a&Q&CIQOsg$cIah_FVp_q%D(7xhEgW;;f-PLa!3RT- zIVk^MYbIeO2)`A2tK`q7{MVBEB8zjjOUYNL_2F1V7j38M#YYu{n;zjSptQ<7&^ZX7 zX{8~+p&e2WeNt5Ymed*%C`aZ_K7olQVarZFwMif$2LgtSN+aR$PHT2mStOj@X-!5d zkA$l`t*)zzNce^|t0KW)lgL33TuXMMwlT%4Xi~ZF;;mT%3AJ{~`4kCFcd0V#e2RoI z&`=KYNEo||b5I1qWv03oiC&+*i_;Ej1%s?z)?}@sN%(jd7b}5;V`7#@!agy}BH=4B z%Om09F6*>e6+v+Qau=^-t6D=i3Ssf@F`fCa4%Dh-mkewR8; zr>0qCo~Pa;^Q*hm@z&@ZpX_GKRZ-CGRJJJeyOX=i%0HqF^b^S{JPMnYA*wHMm-Xsp zBA)6k5cBW7R9YWT>N)MhaJ_G@Ivr((nt30oT&yU{yA2|GsM>8{>#<+`?hh;um}}ep zJYA_|vS_cS!UA78c$-M9`iRJ2b)MW3_S3mHwxVsZ70ugUR_;Z)dPN1c#lYFBo@@(K zi`2ChH$mT3vnwHCO$mWbU0aOB{s^V()`KYTtENA_=CW1QYljgEsJu7rS0<|-?GX5+ z8VlGg{DfOGs~xKF%TJ__k?`Xu+?qus6tl3ZJ@~tyaFYc=aJ}}4v_UkfzWqd1tBazH zXm5JBM&wBMOCwcGj+$AAnuml{Io7GGJ)$`lqa5Bh#DU)eoc0aL;9*1i2KRLE*$8Fr z1F|7(%Hegfz*6vrqJ(*CL*d;5m+mA`1o*uYC=UE79Vi(>t^`WA6jnQ{k|#|!dp3Yi za@2z-%|Nf4*tiBBmMz1$@w{ayg~13lxg%;lpe3##s^!FX0y{1ft>PXOzai}Jro zrv;r6GY!bNTx%QEEDQXKTs%OIPW5ord#Pg8%Y%Lk^iSfxb^RXLFBbtgmTPU`s~F+f zcU4vf0k~@^eQKhI8bgpdmm_#;+ykv`e^DKI!mMYT0HYJir4#znC+hMO$n6dwyHs!| zv#!@wc;5BdvVsP$dUK)Wxd|B!s@4?Zn|U_>t;HP0_ANB6=m zJ*lD)iChS>83CVG>I_n}r-7XY_c%0d7Wkxm)jJ+xkAc6L&&_`od|5s>zZEEV0~0Dv8TW`Rb7d_3AU$7B(^I0++a1A*ydmp)JCw? z#votQ&*6;)%F70IG8zq)0=4`3hr3I+7CT@Ra9(zpuZ*e43Qngg?=W-V*g-{hMG}Qz z`=|lLmV!-UG@uPG;4<0?>}s_K23{%1WZ<`Q0p^?M=>m+OS0=y&fY_iIZU>%Mj`60S zXAp#JIBxq^M`0Br$Qd2?vO_&*xsu8Q($u}G?LgtuszfOu+?fIdhhSb$~RG#`ly*tp{^RX z!}$D8U3$t4bf=fDZhu#%Mx|j8B|-R?6}Bbd!<0*Rgxdl3NqjO3>?yD#R99keg7s91 zV5>DmdL4g|at~L#x|=?>7+_1(-0mph1hALXdtjTSgN?vzIA{;U?Vp5-Rx$ZH0TnN^ zJ#OWz>Q5t$9I#7OB(a5HbJc*S&HAB62b?2a!qskU*&dDz*IL$D0|f|ze&A2mUcep= zKItdxa~D5-h1tb94;yw1pq($O`D*DK~8dO>Z%Rlc5Xr?=D+ukyS|Z>qh5 z=>Z!wyU_{Rxyo~75crqHCK|khZB$7N*4Kqs)p~MBgW{|>XMr!gYHj=MdEoC}wRU~> zBJj%0|k>x`L;dH06kYhBlKJ_I`y z*xR{}0bg4bRpvo(zy5HQ^szy1c%3dz_$co_X#8UU;+0{O&9gf9tUIG?ZU%}e5!T$WKwW)D00DlEOM`ofm zN+5jyD_@53?ush8VeP`~5#ay+m6yag@a{LPv-!r!;6w3}8V#R^4O8jTVLJ3pZ}1hp z$EfwFNcEMipV`<}2;CSJ*$-7w3U-(pKx{xaJb$Am6Wa-FH?^GD5nuIlZ`|Zgy=ou^Y2i()JSqr+tJbLK%BqA%RB4q}S&yjlDyiJ#dQ_z3o(!Q7 z$&SK}I`?!4#;r2-PcnK`HU#q)Eun$-bKp0jaMwUmdo>-NC=Z(BA3PKyT zaFAKoJsxZN0e%R0G@*ST_>sT!6}fZZ$EqgrsONiNQ&q2coP_zt zAVaqwj^Wz2_5cFaTVzH#@27UgqhF)}-E@by`dQ3d=Lvb>SKP5C#Lyz}uiYstACHI+ zJG{vo(g4DGVfznT%2*KilM*kQd5RaB0RGVbh>-@p+g&S$iWqFVg_w9tvq|LyE8Qr} zgKmjRp1v|*$>OX5X_pC(IDu3?pkNz_Gs|FcWIvSsTl;_3=}dH zzD>cqE$gqm>f>_EJQy`s-wj5c(Tkfc)!&272DVc`V^#38KyQK_thy3gwGRz~L}HtR z9j4|I8w(a&L1HI>9j%TMyBV1tqb@&dHmI@>=xccM6caX|k(>jNbx$pg$AGMg@CB;Z z5F{E9OV?c|4}o_lu+eHcu_-XXZFm^C&jb3|-_mb3L-^=#t68fY1HTV%em+d$DuA<4 zVqDwZ`r_@Vzj?xI2>yG)yMw>|xB9*}5&>KFfz>p&dEh=8XqDYc~WR_`tfB;NBg47cp`l1ECcJy5(=12O&&-Hws#-uF?LaI6pSKAV> zG3qi*Y&*cFD3=jnPk~*nf{DEecDL$EY}GidvMQ0-=3o!1xx~hT{Zwrvb^_R{>L{^G zz?$kZu{*%lQC*+INuj3-eh$b@AUKsEw(0;Z)SOatur<|OLSw-Osg1-=0E-W161xO! zfVxcV4zN$M!6~p2DtIK&n_y#9S7NIU#B(3`QWwswBEW7fD&w)54Sq56Jqo}tL5xV)Ka5f7l&u8%bgBv) zEdbx3ocEt4;3t$@HdVX_V+tv+G{7SOWR+Liuf+i4xheNf5l%;pZ^`7l3W-TCNrkLdV+*p|kpz@O-clz(>(DHsCvgzugoz9z(2+ z#8`CZFtAUlbz{KBfbF1u97Fxuwfx~cW?KNfpQ<+&gRHx{OiuYgTC-Cz*d`WR#bYSC zU1i5G0G-urc(})ajY9H2;RMqSe1bYkftG+x=a@UdrYU^?tgh`U^7@(z9*2yS09^z> zM;~O{dl=pMp`zI$z|QAV#(|wdCUG?EAdFX^!_}4n_PF|$*n?nutH)n}<3+G@RErmY zmV)iB1`rxBoVJ6Lfx1V7o#;`nyy~Ih5+JOHunetePlK@3Lrt8HtEoZg^;wY9J=F1W zbRh`*O%HX0_+s$MRaLbYQ0pEea4o;8YWad0Xlo9ByqcSY^kTs#sg1-=06R<_C3Z71 zgykv;z2YFyU5|6GxCkEavs=BwRth0i4S10<{Ty8zo%|wZ>1ePQtEt@Q(TNhk->$~J z!JY=e?xo5|kp=!f6jYb)c@Ru5?hp1N2zAAZ-V3e<1*~dY+v@g6(N|3!k8O1)519jO(ER25`ho_ff8}A zm56Q*frg(w3POB!HD?N?0)B}0Pk}I4T+ zYc$=ldT}DgQWV%c;J1;uZ31$Vi%%J2>yiq*Jw8Q@*2x6hR7Fn0kj2lCOaf8}WRAK+ z%2Ke))N)epPy3O=gO04?`u-9vptKmbDgH#CLLD)c}FB3wDx;TF@BswWX>CO%@BOl z-w5V@46JW0nF@;`T!nzC5R(@!iF&K&CZk7$fsLxIa^C?DHng_%pd<(p5UhMJfG|`2 z2z&RfV3UDU8`|?BOslOr8@2BEQTNL=? zKGNIbAsiFIo&w=hAL^4ns^}F|*$(6oS7~1{8@uO0mxk{#_eVbLMG&&_8&_ix+DO7> zL+0Isz-Pk9>d4U$){@Z7tZhwQ2>=e&Q8%Vxx|#>Rl^;jg3_i?Hl{paY82C6p)p9!c ztKdg4@9y>@<}N=gn4i5Ngav*yC;HpFgI^?p#(+=rvr2562Y#CRZYui4R-!ST$1el5w+B1HGWL0_AzCmQc^j>EPRD*f4XR@S(r2?3haH$zPO4eQx3Ff&z54=Y(HI;v85qKlG zyd3pVQTygttNMcon}Tf@{AS|0(}v(z!1hUf_SzjlHV1Vd1AbGmOnvhp?0`U%lzlUV zT(LT4d5G0j2#2(l+bg)PAQ@~39v&mpFe!GoaFn78R`DbVz9CeKx@7OEHm0HcTfufz z|2ojg^1+S{Q6s6v!6t;LIp`g3DOAPJ!PY$tYyy5Egu>ZkA?)B76TlW)F>Fh~x~a<) zc?Vcixy%K73hWdWOzcgtNz7KAN&`8O(B@z_s<~k8v0!gB;L4r=zOaE+*^QQfKiA;D zSN0C*LzK&FxS~@4c3i`Xx(+P?Fb}{oY83rAuQ~tW>6G_0yf4&{=cfqpH<)i62fhe? zSQab!4SVR941I$}(o51IOlZUz&jvrT5%-b;@Pixu_l%c7zZrhiOKMHW=>u$aFR?`d zu&ITwqhjL0{?Ukc87bhSLNTssSDOK$L8z6m`#$isNkMy@a}a83;U0wQ5NMNauQdZN zQiQ7C-@t;`9(=r&gl!1eZffT|w8#vw^VC;h-B*LnBv0CP9)z$3f>%#0p%)?8ROEc* z?mk$L#$0;eS25j(s$Ga~-Vaqv-#}L!0<3jo$=D1Ckr1rBtcK8_v1+-{tnUUkMO8;U z8@={F&kAiT1-n2EAT(em-Bz1SY$uDQv~456Zc}@RO$D2;&JddkHc#ClHV14qRsBt{ z_mEFt75OH1=pM81c1aj#ISl-^Fl!%T1DgpJBixn*K0_Ubqdg0`xEiJ|y=jKp_W^#r z3479K0;VzVPM-=$Y9ePIwNkMYgkV)$6ogF>tW8-wgjEn8E_=2VAQ|e!0!);v!PZgB z7t*C=+^ldv2)QcfwiDPD<>u36_SzDtHN$Rnw?jTWoW%1JztYW5K?qHWE7l z>{@k{Sjy~Db$JOk3;TecYpDkigtJ<>2cbX&d#$-xrdwK-V2c9(m|FN20>y(3vsily z*q-55{n;|WcTm5Q#Xhiu)niN1DD=65`Qg?Xbv;`tguQCOQuH+X>OmQMR-rE+l!RBB z5Jmu~hTma8s8q1SRP|*jbF5lUNDhz})nsA|!H!Uo%fOa`9mj0I>$Ij%CbSdSchquX zM}S?U?ogm5>I@;7K;Gj(Ibc_->ghlW!4^nNu-{9}c^DWH6Rejyla4^9+Cwg>K~w}IVvd{?14yWj|2$&A<$Wb@?L>^ z7FQryV=4=(3!<{;K`>i!-z@@v4~j4G)V8}ZAA1x0@ZN1Y@oJ9*JFBTH(0vlX=BagH z?a46d)>>Vfj3*t_!MAH&QTvUu0mL&k>#>strwlU_W~@#qH>Rb zQ2pY+$_rPingtlBS^$|*<>ej0KV0~5ou95Gl0F&w{qVkxv`uFr+isosD7oRIfk%tASD@H)y`G4r+pzqO6svx=9iT19ZUunp^H@maGLm75HzI_r;%9S)*gAwQd7w&2HVqiY8{O1Nnk(d zKoeM9JJ@$R@DO$13SpxNwtNWht9qHRDF%C@gSB6`r{l7{nApQ09POZTXJ8)>_6xO+ ztkaPEuRt@+5chPzb2`fWnhhaU1bYF5nH_l&Edf6Pidob@yqDvpb?p)X;ed9DgYc2K zB!honTntAeo|aFM*lX*u7U+K6F~D^2q8sM^;57Tx7wX46BpE zr-N^L`oQ(|=5fM(i>kRWuL&~%|&gysl6E3{as=V=byTxdU`$wF5MO_2f}6xoA*YXToqFxLKNW!M;L z0T^jQ*9*NUbf5(ADBuK}3XK*zTIdX|Kf`ttgzgf0Luie&(Dy~!`z0`E19OtJ*v(8v zdaTnLrWZwDx{~Fl8Df|GVPcO6pO880f|Z_GxO^F|%c>DL4hD1E*=$aY^*o!~v&X)=|yI zek1WRFZ|5d4eG`*bDGQ3D)Dm@zk4>6Yo(2t2ikE-0QuOhmXrGT2v+NCZV@%^WRZIQ zCRWFY_jGsm9-;1#I(8eYy+nOe)SFcBai~YW!Rla9AMs%C57YosXG~+YRD|)%W2_#o z=0Y7A`YyZG7w;HPR+mW4_7{At;Oo_i<7T+ujRPFDrKm?&VYeQt`WF~~+09v9Thv}v zS-nVRhkAlH5PXM??Y9b^D7Z%`<2rXo1%KfJvUzjcZywljR1*?s?YOK#uF8QdetYNHfC+aq+b8?@iB1wJl1mgoleM;1YDv{Ll zFEQRq)MLHb`;J;pYPZx!gZo!!b-X%CY9pE5e8hW$s8iG(Qt$Yjy|;-vrv`hUQ^6<9 zIxeSFhZATQJ<&yqRY^^@3Q==m)hphIgFMZ|SX7JE)%G)hnAY)~;N?>PGJP8EXi%z; zbLuiubD5^9pG4L!{LNlb;@urZAgku8E2;B8=HP*%4!|~_)V^vm)REo0J(_lbs0-(^ z{cLgb@nyF-_3=rR^!|Fr8;iO%Hs=)edFApY5^dUxqc#=w2cnKrk)$?0WW0l@`}(u@ z&nl7B$$v1ehg?KmRu5Clp~er>eefl+kRx+!6A6-zZ5(AGS>2%^aWdp|xuekQNj+Qz zpQ0=zaSnAFO<_lBJRAk-0kBc#*n0h%KC7`5;# zbClnLpEwuT&R9ngwmnwnmCI?=W2o{wZT7@(p(aAAekGjKz<$O$)~SW3&H8>njAB@K z=_!pkMw&W$+6<30b6MSAyk=ldpd`i(W;|GM`UP^ri&XH}NP4a6@HLW7RdY!yRBOIQ zgX-NzxcJmV%aYFxbs1KE=icX#&x_g%or~1pspX%d^sh76pEDRIx?IMix}Q2q>S{F~RbLb}?r@MgelJJW z9d9<;je>`%;ImL4%3^g7N&C8}r>Fr?_sW~Zco$KxYQ^4kH-!#eqTdA9yNq%>>-}4^ z{baR=Qv1PrrXM#=S!?_v>iOz2sn`C8ah=z>n87HoTU7OLpw5}WCDp6JP>exR-&0+o zb}3Oqzd;vzU2P=e(xz;TL2exmG%y(_t23mY)|%DhL>+>lq@Ji;&Ou%4HsiW{UyFL6 ziiEn?gz=Bo`L_1#?RJRqhf@sZGm7fGZe|GHUM)X|c{^Mkr9}6paH8uaPxN~;1A7^#ZKo4zX3N1gRd)LEci6 zNqzrq#`U)AOHs$DjZpUr>A*SEtJrrb?+$_^#rwt)IGYg z8l|v~nFHB-g}My2zw;{X7{qFi0#&2XZ0S;}x)vfz*lzZgZeX}P!)D*B$x!#Y-+&X5 zDc86rYEL=&(RKOkV0K$A=S(`!9|^uyouSm4cjRz#x@dHLmfcP%mmi_l*AK#_NI9Y& ztRjCj!yU#(#`Rzvg>FTa+xtI^>v}vW_(0i3OptJ|4rTkc37iW(P2CpUV-4dkihVFj zNAcr%+vzZZMX^Z~y_>NEMxu3uquI&f`}Y{vGudZ?*PZ<+{)^zL!x`5TK<^P8XN5E| z<^vq){qKun(Rb{iOKg9R9Zs*bEa|8BtfQge@piV?y%tYak9Io>p z941o2y(IYdd2IiJ;HL%Ob(nE$uIh!|-yN02U{(gTC;fca5J5 z?z{(Tk;wLKPjO)S0s!QU7B-fafx zeRDc)smni^b=tIgp51chb2{8mc!o>xn|s*24HF|`43b>A$E@iX29CN)NtZ`G6>x8( zF0Lt>;=_cVgd=*@%4W|ut;8?bI-c-KBcnzbYOg?%rT~%j_&?Q{Pv0vOXoG)E- zqXeIDg7c%@J{SDnyNuVDTsK4Cp!{Za;y8M&O%?pBw;9(x(j&>TcNm-ZaRfcB4QGYn zBb!A%H%u0Mu(X(N$-{z2$X=wHWT+cPHD##nWCp?n9|YVRH>85B3P+dF$0%{g|Aupl ziQYQy3BGqL<9g7}QNdSGf$xmxbV_4bt%qW<;KS%z8V+4i{a<4Hj!yV~!9NUOdp)BT z3Vu~4JzegenB`DDhjH+d72oh;VytI{aqo8qbi!?3=7gJXWW1%=PZT_5^P~2w1wSW4 zLC5(AxXy%OtUP3TI{YVc=vp%T0wweu!RN~^vw`3)lh|HgAZ{V}EWz)8$aN4W_~Ymc z)Rv!1r`P+3mWMZMKVFw49VWMBNB|g5u>!esyP^EBIS7e}#&@ zZ3^4(7|O}$L6Ri6=XAz{#opr;%YK;g;73N z89gLBM%^i1Qb(_vb;i=~gpj%&-09Hy{ZsG==^8p;ZKksQakL8^O_&&Tk%QtqewhJX zAM|@7JbisA7D19h-5K1bv1bn%-nvuK(@Yex@FOm0D@p0P;LevKBB!(cxLRx4N7tO+F_CpZNnP6U&JjkIm8*mkN$5B4sA4WH1>nsf_7CNi#b z@P^=llC$Mv|Fz)bUS)fnBU(qoY%6|Cqn)&X9+SnaFb-w0VGkzwu@jx;P;iuG=PEoZ zxYu9o@}_u(VOWuUr+fx!(>L& zNv6Keq3IVq=m=+G&`*L;9V{5kS<%g36LvhZ8iFH>(&yMhXKJ_LQR1RUoX;C%a9$kDHk`mP!8#&!KZCHNF{Lpr1> z@Ra0SgsYb+>U(mr5R<%hge=v)^CfW9=repd@OxshQ}A(e#X~3f#4@(eaN3@}Ab2Yq z$4Qbn^h5&1@BSwPx`nSX-oseGh#hpd9e^T`gT5uIn|`t26OVHs>AVI#hQI^umRJPI z4pnEl6Q)v%=pk9tZ8Tr-EZJDLmn_rIkC1(KFy~D70s0vdE6yf1j1l|sD=fUm|JjMo zQjxdJI(_f4-k2;WkuQp0>Pn8+@g@UJ1YaZgmW>RI7ThNTPjAt=#@L?VC@0rZVmfpk z9Rp4`*q)Z!r;qc}aZ&7Zl3CXFPrS`>JWn#NOGH0MV%6!`4Pp^`{!z~>g75yBab4Gw zS8>G5LyU(rG2Rorur=3dE5W^$ZoQ`9f(>6|$QPVxJx%rpPGwE{jy*%fbHCv2Wy7G$ z^ta%#a+9#D*r%-KI57)2PFumR&Ep4xkD0}ItV9f1$8o|F8Q0aC44j9h z5{s&Ge%eAj{}kM93wur!{I&HQvFtJf!Ga$Z{GHF(Ugx;&2DX3yWj6E?`_7E}7-P<{ z!x2%u1O;bpmAIzLT>*z!)XCzIh4&bc$VMXYV2rSYVvZQZYU2&y)Ud^?7;h=~;~N>D zxtH;pf+sWH!_W_o=uRE9i5;f&VTWLG*dTbO>ONN_c$o}f`ph65?`-BcH>a_jU}GAFg`qmms-xvHhBt>ZIs-@1TN=(Q;2W$k+?-Ag zJ-0}f6H|#ptwqXgRf|(H=(kO%HucjrA%fR`pYegooOYbx>jm#EGlcFK|EkD8F#Xow z%5G=>WP9B>y#*gRnQ`57pZhO(GH|Zzxni+e#!h|7$T7h^RxqIPsvmF;eC5t0mOkrv zPw-b|K6qB}9vJUb0V6ZGpo;`Q!MMX%a*mM!q6ps3bEkgZO3$5Z1y4A}ts5rxHFt0V zZKp7xJ4>kG)8w{%4{7A^oos(~5&>R#z+M8q2L;#3MKL)dXW|XSqSY>TJthlCC&A|n zo*ctz=!mxkcfJ8T6q6s-N!lB1e_P@lVBBGhY|jckO*hSEhibCwJ}(X*3O-&g-Rka8 zXAj%&wyq>n&*Y=E;4{)Welx*85xm%Hq{bEJ=Je|&l+$QwB<-*XxK&rH{xp3Z^>N-o zR{0-sJl$6uf}c3T$?0s|7d)pi<3UXD^JE-nt?Yb*C3}Yiza+Vc5xff0L%Q9J4M`k9 zPnYkp!q_W2Tz_%6D7YbWo9>K5Rq$W9VEXocPXF8v4mVuf{tM)a)z z`XP33{J{>bm>4xb(ODh?j`k=XCwM%0i-iJCMLB?loQ^(BjBA1yAxS!tnHV*4*gjWo zy6Db7Qt+g{oU>UnDF+_5?0t*`ryCvVP*{Dc-g-7MW}=_afkA2=pK1$7$6QWyoJ`2N z$ITV||IB8BFOYMvHWD%P2*+_=)D{Z#K)>-p$E$*WiltMiz z_8Ec~yvX(;g5PJ{$0%F=XeO7R(lgg3a8!Txd+bwFTo-=D_-ZV>bSz_H=S$}o1a~f3*RveRUYj$j8}ALludQXg znZ*A=@Y6Dh^e3DKe~Boz$R%kVDES*sAVn_i=*?S};4fd~1awUVVnwH>oF~(%k0hKR zc(e?DJ)~^skv=&T%9cVW{2Ua7XH4b@8h=Ibs&6yiR}xq$c$q6_sGi{41z(-^Xhx$h zaQu>!GUdmJ!?RHEuJL^_sXc{NL1J-4aObrr_*)LCpLh2W`{x9Aem>`j;Lexr+%8&i z97gkZInT)w=r}8k<1aAYLGaGsal)-?GCol7&4Mp-T9|VL-y|o!p<@4w;O%QsoG$nj zjVS7T&j~y(PYz5JJVo%7D-3iOd@pdT4tpIJi}RORRZT2>e&C4CmuEK$ZlI3o&~x=& zRo%t4PT#KBE>W*YUdkoajph)1jpR&c`~$&ft>JL5GBF1Js2h0|IEr{d_N-IIq8_G0 z!iQxrFjnwRg3pnuLC^Ic3che8=d6v`Kk*aC36M5xC-_drM;e1ZWCuNhIux-(Lm1GZ z9mW(f{{14h*F*Yu!K=yQ)1I7gymVO?aS1poO6YRdSc4wyM!^eSX1p^K<5R&sHZh

HI}-hr2o7^p9bv8*t9%U($jloG*X53r#g^Tt(9 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 F{skVuLE8WT delta 86915 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�vx;A_vEQl7kB1oJUVPd+x`yMVC(LdBL6c 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 regex_rule_pair; typedef vector regex_rule_vector; struct regex_rules{ - regex_rule_vector regex_s_c_w, regex_c_s_w, regex_s_c_b, regex_c_s_b; + regex_rule_vector output_whitelist, input_whitelist, output_blacklist, input_blacklist; regex_rule_vector* getByCode(char code){ switch(code){ case 'C': // Client to server Blacklist - return ®ex_c_s_b; break; + return &output_blacklist; break; case 'c': // Client to server Whitelist - return ®ex_c_s_w; break; + return &output_whitelist; break; case 'S': // Server to client Blacklist - return ®ex_s_c_b; break; + return &input_blacklist; break; case 's': // Server to client Whitelist - return ®ex_s_c_w; break; + return &input_whitelist; break; } throw invalid_argument( "Expected 'C' 'c' 'S' or 's'" ); } @@ -93,34 +93,36 @@ struct regex_rules{ return 0; } + bool check(unsigned char* data, const size_t& bytes_transferred, const bool in_input){ + string str_data((char *) data, bytes_transferred); + for (regex_rule_pair ele:(in_input?input_blacklist:output_blacklist)){ + try{ + if(ele.second.match(str_data)){ + unique_lock lck(stdout_mutex); + cout << "BLOCKED " << ele.first << endl; + return false; + } + } catch(...){ + cerr << "[info] [regex_rules.check] Error while matching blacklist regex: " << ele.first << endl; + } + } + for (regex_rule_pair ele:(in_input?input_whitelist:output_whitelist)){ + try{ + if(!ele.second.match(str_data)){ + unique_lock lck(stdout_mutex); + cout << "BLOCKED " << ele.first << endl; + return false; + } + } catch(...){ + cerr << "[info] [regex_rules.check] Error while matching whitelist regex: " << ele.first << endl; + } + } + return true; + } + }; -bool check(unsigned char* data, const size_t& bytes_transferred, const bool in_input, regex_rules* rules){ - string str_data((char *) data, bytes_transferred); - for (regex_rule_pair ele:in_input?rules->regex_c_s_b:rules->regex_s_c_b){ - try{ - if(ele.second.match(str_data)){ - unique_lock lck(stdout_mutex); - cout << "BLOCKED " << ele.first << endl; - return false; - } - } catch(...){ - cerr << "[info] [regex_rules.check] Error while matching blacklist regex: " << ele.first << endl; - } - } - for (regex_rule_pair ele:in_input?rules->regex_c_s_w:rules->regex_s_c_w){ - try{ - if(!ele.second.match(str_data)){ - unique_lock lck(stdout_mutex); - cout << "BLOCKED " << ele.first << endl; - return false; - } - } catch(...){ - cerr << "[info] [regex_rules.check] Error while matching whitelist regex: " << ele.first << endl; - } - } - return true; -} + shared_ptr regex_config; @@ -184,7 +186,7 @@ class NetfilterQueue { if it is set to 0, this message is the error generated by NFQNL_CFG_CMD_NONE So NFQNL_CFG_CMD_BIND doesn't sended any error and it's all ok. */ - if (nlh->nlmsg_len < 45 && buf[44] == 1){ + if (buf[44] == 1){ _clear(); throw std::invalid_argument( "queueid is already busy" ); } @@ -426,7 +428,7 @@ class NFQueueSequence{ template bool filter_callback(const uint8_t *data, uint32_t len){ shared_ptr current_config = regex_config; - return check((unsigned char *)data, len, is_input, current_config.get()); + return current_config->check((unsigned char *)data, len, is_input); } int main(int argc, char *argv[])