From 04d8bbfc32d6e53148a9da4b3bdbd2217c9c574a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20MARQUET?= Date: Tue, 13 Feb 2024 16:22:39 +0100 Subject: [PATCH] Test socket --- CMakeLists.txt | 2 ++ aruco/ArucoDetector.cpp | 3 +-- aruco/ArucoDetector.h | 2 +- client.cpp | 24 ++++++++++++++++++++++++ main.cpp | 26 ++++++++++++++++++++++++++ test | Bin 0 -> 48392 bytes testc | Bin 0 -> 48160 bytes 7 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 client.cpp create mode 100644 main.cpp create mode 100644 test create mode 100644 testc diff --git a/CMakeLists.txt b/CMakeLists.txt index 3bb9cc1..79b049b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,6 +30,8 @@ set(arucoDetectionSources aruco/ArucoTag.h aruco/ArucoDetector.cpp aruco/ArucoDetector.h + main.cpp + client.cpp ) add_executable(arucoDetector ${arucoDetectionSources}) diff --git a/aruco/ArucoDetector.cpp b/aruco/ArucoDetector.cpp index 8a8cc25..8921377 100644 --- a/aruco/ArucoDetector.cpp +++ b/aruco/ArucoDetector.cpp @@ -224,5 +224,4 @@ void ArucoDetector::solarPanelDetector(const ArucoTag& tag, cv::Mat translationM } // BLUE => 90, YELLOW => -90 -} - +} \ No newline at end of file diff --git a/aruco/ArucoDetector.h b/aruco/ArucoDetector.h index 2ed6104..a5e0389 100644 --- a/aruco/ArucoDetector.h +++ b/aruco/ArucoDetector.h @@ -48,4 +48,4 @@ public: static void solarPanelDetector(const ArucoTag& type, cv::Mat translationMatrix, const cv::Mat& rotationMatrix, const Type::RobotPose& robotPose); -}; +}; \ No newline at end of file diff --git a/client.cpp b/client.cpp new file mode 100644 index 0000000..5d7f83f --- /dev/null +++ b/client.cpp @@ -0,0 +1,24 @@ +// +// Created by breizhhardware on 2/13/24. +// + + +#include +#include +#include +#include +#include + +int main(){ + int clientSocket = socket(AF_INET, SOCK_STREAM, 0); + sockaddr_in serverAddress; + serverAddress.sin_family = AF_INET; + serverAddress.sin_port = htons(8080); + serverAddress.sin_addr.s_addr = INADDR_ANY; + connect(clientSocket, (struct sockaddr*)&serverAddress, sizeof(serverAddress)); + char buffer[1024] = {0}; + std::cin >> buffer; + send(clientSocket, buffer, strlen(buffer), 0); + close(clientSocket); + return 0; +} \ No newline at end of file diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..34c97a3 --- /dev/null +++ b/main.cpp @@ -0,0 +1,26 @@ +// +// Created by breizhhardware on 2/13/24. +// + +#include +#include +#include +#include +#include + +int main(){ + int serverSocket = socket(AF_INET, SOCK_STREAM, 0); + sockaddr_in serverAddress; + serverAddress.sin_family = AF_INET; + serverAddress.sin_port = htons(8080); + serverAddress.sin_addr.s_addr = INADDR_ANY; + + bind(serverSocket, (struct sockaddr*)&serverAddress, sizeof(serverAddress)); + listen(serverSocket, 5); + int clientSocket = accept(serverSocket, nullptr, nullptr); + char buffer[1024] = {0}; + recv(clientSocket, buffer, 1024, 0); + std::cout << "Message from client: " << buffer << std::endl; + close(serverSocket); + return 0; +} \ No newline at end of file diff --git a/test b/test new file mode 100644 index 0000000000000000000000000000000000000000..4ae7862f9888690f79e153e49d606a437869ff13 GIT binary patch literal 48392 zcmeIb33wdE(Kp`HyDP0cx)0yTEBV02==5!Du#UC0SeLbu53ccQwUQP~TCuzGK{yNs zf-w$PI1_Hd5lG^M%Mb!KhausG0C@u>B!Ps4*a_h#F%Z!ISJg9nSpp}|_dNgS`ySTT zba!=ib#--Bb#>3|&e`t9~j`SgFM!rPOY;&okMo#!5x5DpNZLWzBMGT9U5t ztkkNH_2*LcA|?IE9G{gYwjgOSm?_kmd=WWn_k!8(1+$%%wwnD} zsU=S$M}G@Vd8Ve7sH2aSrnc)f+oh)Us+q7->VrPszeKzKoBmqOcDqXyoz&Fo$4agK zR-qlq<#0dNG`E@kjW!Q!&2d{P%{P52`huPF=T`J}mGuP&hBlXNUO2yO{@n6NsJxo% zi7yxaX!=$(cL+?&9)g+Vgxspi7CovfH0udJ>)A8Uyz7$M{^PDaY3|j%l@(WQ|L#kK zLwr*k!l4h*Gp9UOo`@XbkUX|(mvNq8^dWnBA@F>Edj4evMb~83F>r*-&j2$`JgIg% zIvWY@8U32_)Gmv97R4KfKX{FGRkM*FHcMo zm)5FE(slam2R^~K)~IqW%KR~mp8n8)5sCW3QNs|1r@hJO3WNha!ALX^Zf~mV3k?L? zeVu&)RX1{t;fweNjNm{pDh!neLH`D$-`Cd{@*DG#q21v?APx%+MuXs>D-aF%qr?c> z4MhTmuNw>);XrgKJYcmC2L?mnGZGDj1Jxq|=L(eSF7xRqPm40qF*B=@p!T2}(jPBrouP=ByCY3ty zoAclA3l4}#$iE>F75=_ZBp^D216`sw8XAa*KGF!92{lFj-VH{#FW3h-`1B2s&t6D{ zNVLm8do~s4Q?Wmm>+z!>Dpe8Ouiz^hJ+*af*BW!m=a$c@770a_H>%6$#&UDw+3NCn zq`w-xw&be~>#_zvZo}2VFb%mh{3ZTV*n}emt?gvjmH4YYcr{9C;v5qeopm{uZkxCi zW%>~1O=caH3xmNdT9v+Q!tT55Dl8Lral2U_ni$NW73Iff`(0*yVZ{S~A4^n(*qs93 zTA<*2QsB>-_|K%kmzns^WvZP;-zvLO;Ok2iUgaq8Wuw5?r@&n%oy{rm3r+ae6!;w` z{L&P-#otXS@Hbq7Kf6=l7X3XbaEty6DR66?Z=}F)atZz%Oo3bUMUASrs_k-!W8(f5(QtD0=MW}@v8B3b8o>t|!2^CcrZj;1?#q z;V5FCOB3LU^LtGKJST=N#7zls@>SO7&IEYA1w^_l0dBemuHBsgFG|4QlK?ke4A(xB z0H2V6|8@4ilfZ{L#h*58d)wKt!|}%osQ3AMqH_3!hHXzepJ0N+^CZB-)9twCOj#xf zzn5wb{AqZ2xcgErli?hADPAUnIq-PAOonpcC-E{F$bnnpWipHdm&eQGFb

FOzW| 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 UNbYu|_WDm0#+H-@DMj)B0jXm%PXGV_ literal 0 HcmV?d00001 diff --git a/testc b/testc new file mode 100644 index 0000000000000000000000000000000000000000..ed88de196cb6c77820f17411a547d6307976427f GIT binary patch literal 48160 zcmeIb33wdE(LX#hyQ^JmtlO4vw6ZN@8(XsE+t^03w6=tGp~D9O#?opfZ7gZU?#c&& zU@!!XA>l|k!sUcqB!rLy0))dH0YV4?k^s4#17at6Ash)e`u~2_GrOy`1mykx&+|Rc z_py&O-CbQ(U0q#WUEMRgb9SJ9y`k%x^KofwHI}yJD@dhXvF&?y21%v1Ld(MSSZ$7$ zfwEg*s=iVss8yfmjghI(hP#lGZZb2Yq|+5xb5ch_rlcG5lWo^HX|5`h&cm!-PEUW$ zj^N{@PJN<1zf@~lTKY@7e@>c8N0tW{D7u5IN2c5CP8<-SP-n|UcBDIO(;c?yoV3|) z&q*D9k{$n7*!oOQ7om(B+O=~8GBUO;m5iOc0KVgcuMj)9*&2L6UI;Isoj{?k9t05Dp=z-Cl@x)DGA(?4&3U^G6D0zNYx8RawapQlaJ z{8g&bnU^8p6JBY@s4QRvNWr%t-F9hx*>oS4aJ9|0}g#OG#G)Lv3MjJsu&HpWHg{PpvB_Rz7Ueo zK$n9tG~o2b>gkJgcJ#%ZnjN8Nj3V`iWBncRV6PSI4MC_KD;$KQ2~Tc~moK+0C@mW5 z=(j?<;?a&^yrnhV9PHC9)GiK&(F7Pij0_AwnE<1S zpgp+#9grXv32qO?wP0T)7Sej-kpXsE={(rG-RkZL_i3Qv5YoA>U?CRo3LbYHi_2K- zPvm-n;LTDw;Xwu8P+zyMddn7Tap@8*C0|;xazt@)g(_MV4jyugZ4zWFN|(|^b$DCd zzPcpuma+~{Pk4r1A|5fl_*Zl;tr$Ls^R^QI@p+eHiS=qNHf;BsS0R_7oo1KUN!g?I zqs)&EPhV@-u{X>g~XhtlBN{F;2;OoKc8wJKHb=+oh!n+C76 z>7Dpd2brlz<@&tsSQ!gAF#szLrNF&{sV;|8;Q1-=f2F_~r#PQCQ{WRFAW~-?VEi*V z1@5c^gilFz6gYL{eDlxI{im;XzvoY7npS)M!MHK}RPEk} zeGiFBhL=tSc(`Obt~o`O8u5EsbL7v%!^7Q|N|_V-$TP_@C-RX8lVwieBi~DwIdPAC zIa%g}J#u-n%!zvB++>+f<481F=7c@cnJjan9%)IIIYE!COO`n?k5nYfoRCLmCd-_N zNAih?W-TJ63+ z*Y5r6zna?u)oX}MdzUi1H5F-J}9&H63@9zR=ydZ2-92( zB%0>9;X^q^dx-atodSQW;4f`qGVlG`egCR`;H494A9&MMt3Oiv^!xD%V31`q@C_eQ zx$`zve|04o|^AAMS!RJmM(VdzzYR`F4G0H#hnaZ3mJX*W&k-aZ^_dcRm zu6Q=*`Ui{OKJOXweDv^E^4zz79i^~^*?Z7EI+sUk_dT%pPu{%`xK=z(Ca*e7x*)}) zduzahJ*~ZDKRdNwdU!XdbM3w-(bNsVLL1xc4yQ?p?w(?Y6B;!0s5Em0o4J$X+_gs}ceQ;! zPJPHR{rl+WA+~S65}VQ`YY(4};^A9xaqte!Q+RK}%#wImjr_Iy&N^JXZ|G3%oiKcU z&aT}Tc(ZnYJN_FEK`PWfNzL?w9g9EVYDGC@ElaFk?9a!ak2UbI20qrn#~S!p10QSP zV-0+)fm99f9Q%Vl75>E){_^6%EB=tIC)7mo4#^FREDLU+M20>h2Cj zSCy|kidE`a-%*tx0r3Aeec4bfS{5D%_6>D~%5YbrtbB1K{zC)UtFEZj2?>cahxaA+W28XO!%pY>_3<7<)f7~__ghKJ8Y z`ozn_!(T!AJEZp@{pY`ihr5ve>XqT)Um|_#_2J>^P{vD0S0gR__wew$fIDZk`WY>n zzAIOsHs0&I6!nBp$NwJinS)fT@yhYxY-E?>$4}Hm}Bnr?a@w{x^n*F z*)stZ`cshlA&(Feh!6S3@jsbx(%T>My%_&*p}lu#Qi1H;&luHN8I7NHUE;pjvp2)_ zR|B$9rXS!xAN`OcNe6ESDgkHxFY$lNYs16GAWiUTPu9N<@HbIEH?`hU^#pzV`B(!V zYv5xIe5`?wHSnz!v7uD9iPo>g$3-AH}5gZykVZG{Bs$!Acn zwiPvjNccFen;ap$(hvtM7x67nlYZKz0 zfRt@^8nzu$&bI5{vdfN~BE0U(?L7kW2cwe=>a>v%}x*6 z=~H%k$WH%dr+Da6KDl=4x6?(b4}+u&_W@;J<>-}(=ebZ#U4B?Ooy#G=g4kxGRoV#7 zb5PE6Pc~TdI|w%5fL~=kD!ubOmQAj0`!DG$D;-LeZm6za<)7Q$IW!O-@|Q2hV}gqo zE*X;I;(0beHm%AK9Wx)vWHpM0_IJ!dRbOX6nNwxYvZEf79Z9ae2ueJDD8$px!_+P& z!eSe1#+h#TuM5n5m~+Rpg}XHURy~VN@;;oFKZGYAZ!Bb`kHCrBvVr{_J!d%zytP&o zg>LoR6hQND0ek)XHiPZJDQG6-2YSvf6tv=ti2b=qU&TE0?FS$~2L3lqxQ6BHSRPuo zL_0A3ZkBIB*?n#fI$tvWD&&3cuR&B}jua~0*>GCMTveDk00Lva6tvvzE$~mq0#(wq z%IvwME49nIHtQ^6SC~HpQ~Q%U;SS)uuKxx)^)!I|4c*6woNMskM469(#6^iU&ovO~ zJ>7RMP=lxnJJni-4y5<>jLR{aFClvlYA$wa6|tZg#`t64=w1WLS5W;OqP&^p{{$Fk z7`|K3zlTuuWP$?;w2Y@woo!@%6L~iBBC7xCplF`!(T#k=_bVhko6Eqz$gX891;0YW z_X;5F$1zA}vz9Gu8JjUZrx@esV|XtFU^QyijjWw+Wc(4Be?{%dsM*F^YDLQ^NApF7 zFNy}pc^7IvouKuU!2tY*Zxw2(7%m~H+FT5HiQ%h;k$x9d_oP*?0eqq1I~6PBQ>c2@ zsn#+kLxrV=?{jGU9EkA}YF=lp>d*JlkwwP%e2f+QGagFI$A3!gV(1WN&Hl_s%_7!H ze+v23^)h38AIyNXwWw)K&`Rw}Bcl%ukhU8&eF<96SHW_P;qyT3J%H|aYFzIDSDW1o zX^k4gcPr`-pzd3Vda!9%qjCcvln(nDWK4iG6QScyZ;$Jt=qBe&$Mz&$B10?T}Y!Z29Ov5PdFno_dGgR?J zU{AxpKAp85n%7RlcNmZ|{Bw>dI?u6a;ZufhC$Q=OZFg#1G>K!?ggMj5xd$ae`cWSv zj_{S~be1u09mL{T?nljK4hJo#4r1;xrn3_m#OERG#4Q*^l^Ni8ex3M*;SnB#dxPAseK71|}F3RGf5DI0P>s#P;Gpg@98pX!j0*qC@ zKD6;PaGoRHR%zocNV?W{5cBZw0RG#laLKqI$68m7&kOlE?pe^s4EzhNi({e;e%hBH zf{nauzP*?m`dl)Ncm4_b#20Y@U0y5dQ7Tmr3E@?rzBMzFZ3b zalb^gE2Qv-yOf2`OW|Gj1akX=6y9_{%bF{t@RoZ4L~~yyh4b@ANO~ZQtRsrC40F8T~ z1mh>XJj=^pczJ~v9fM`$;gU&ynRNeI%w@5uOa?Pqgk{pxWO0SaVy?``YbO0pCcUTe z6<%)VFLyAZ@hVr}{u$L}ggWlKTA39BZHY4Yof}N1-*-6Wg&s3_P z@5@xm&s56KRI@cx&lm!Arr|js+6PUztZX^S&Ff&38XDiF|yMf#~Tg z_%3mjRpb)qJ^V{2TmXB1z@`p>Dx-Mflc-tn{v=qTn+z6C&Nvl%Fe)IwZp?-_hVggm z!1yV)6K>;8Y~ek|J$}#{4d`g*!aL@I3|o%UwKFC4g+b((rnOCwgEt|oy2>LZ-M9?g)?7A{U508M_xuW6J|n;Zrg=G>Dn zM}upS^G*INnq)3l^PLN=jhi6KnBvRK);AvqLpES~?#w(F&t-}ipd$<^<2{Xxgp$wt`3IMAzR?@_hn%Gh-rIW*?7>Z!sDi@0r4d zIqz|3=lQI1nK$l-z%XmE&F}))K-RKx_ky|4{TJ}aS}uiL_j>H5vsOr9vYQ+0td&ym zyQh$5l@#W>Lw*#Fm%<|Vq+%3SOJRk(4+D_3Mhcbg=g6Q^3bpQ45G|`p3eE0*jAGV0 zDQs~cGZlrJ!s;0a(B04CD>_;0C)A?Q>%Msb3bi8jpxXc_t4<1W_jj@8WSwYUgD&iH z>ri4=Lq6?$kNc+iC^Y7@p>VFdjg2<>8bG?&9i%uX<(!Jbh3?zQU~AS_fp)2T7RC9* zq#o2*kyZVNW4D*ayh>1r{z}Y<{MeC9&Fqx)X7d6`Z!y0u>8<87 zlHO*%BV?HnGz2=*e-e=CjsJn9RH`hw~fY~kSL*_n7A2x56^vC9tl0IU-Ch4PQ0VcaE z=P`4>q(3n?O8U6jC+SbkOC){5yj9YlnU6^Nr1@t%)iI#1oS&P1J3T?tr_9sr^ejoA zHm|eOA4&R*`5QYOMw*pl>V;p2v(L&IuNOWpnJm5VWyws_v)PxdoMZHCDmyEuSkI=G zvvOwZ*;H><&RjiPko$ug(d_R1$F4ePs4gNhhqWl0V z9(5|US%=|Wd*8%_GKZZ? zoxHTA+u<>W^;E5ALr8L;JS zB>zQEAKZ&@R_sx~ZYuFs{2J8xC;9T{V4n|soj@&rJ1il0g+8MZwJWzn1KBZDy7FI} zx(Mm2atNmvd_o`Jk0|B%)n!m*SodbYZoWev7gM6kaMALsp`3zK_2LIn$Yy0p=yWZv z{}j!!TYn%rF%^1AUtHUz{|ZxwmG6wK9Cs{KRj^0*-i+a*2L0necO{AC(nQI}aWhrx4HI&_gQSgXg5eZguX|Vdp?8pNbEmj zSa7@Uod}Ms`{rm!qLv4A@5WgQ>E{U~X^zU!##PP(r=RKG_n=Wi{!XL=V5#L#Wz}hV zF}s>g__#@g{6hCW4uuoIZJ;f7B_>S4bGmmo_)vGtSw%jI+3HZFTPygT?tKCh3$GT` z6&%vNr`o(2-74G({m?VVOLI+FYJL@Xt_jP`e;}%IO;~PbAcn~gVWe}H>eDX=(wwc3 zYGOr}t8lNm6_u{S^URASy~un;(o4*2aC8-3YR;4NGV=sUFE`sIy~5ls=@-l^CB54G zo}^zie!`F**s6uZ<<$1`YrPgNpCTK zBk8xz_a*&~$?13g0el5%{}>1CqX1NbR`_-!D8*(&55y zAk8Y&^uoUpFsakzuERAcXnqFM%{3`xUMFd{d8?#7=EIWqn!lAaY`!Y#CruxQ&oybg zStMzn$>DTO>Nh(iJ>5J@(x`cpq;d0MNr%iAB;8?V6cK-yIYZLj<`PLiZB|LT*KC#a zJTolm`Q~|&USM7+>4oOECEaiSLefjjKT7&J^WR9<%s3XK-L6-;Ca*FpVGe5t`=eUv zQu73BQ-xO6qPwQFm^1tkU`nf*Cuy4sPo|t=mP$Ef)=AoHc1apG&p=u^5$ZmSokzmr zs@RY7IWc^VnB-G0E`9>l>-b9zi`M4PgVhn;HLbzi3i6e`cJ zu|^gZxTWrQ39`h%>V#?Dv(RiH-mk6jdwtBiGhinEak5d=+{0Lb{h3m5yN|#+{H7Fq z?swoz{NtrC-mUpj$dW>?`&8JVKU)eD+z-L7{py%tvik~5Du1rjOm`a?0)L(q{O&@m zDgFuLxwg-Be+~NcPt2h~FVeFA1TiztgI6nhL%MP`gp_V-8RIxH&Jw-cNvJp*F)j8| z%h&_yi_RC7KJQQ|4XOGn&WIkNe{&Ri&-I*?gKDIYL2RZ*T5_UBHOtvx#)+Ke&x?TE z?WK-`3+}w=ay{o{!1=H0I*`NRlKU{M%uB&NC4S&trDvau8vdu^x!uF4%_tdPAR@g>)H^xa&+u$_POpMK?-+xEoDr zNmS=K2jUd1RQ`(FRGIRc=g$;ingVmzs`w^{#Pc`!kfI`8y1?!1QH<~8n9WuQ+~*#J z@CFg)Dg%BX0Y3i}5*E3}w<6`d=5E=pGrvHc+&zPd2n$11 zqLZ(ts_&e{Y7Q0m)yZZx^J%QjMSqyVgw)(_Cp&Ie|85eiNzGk&vR9gUHS}Nf@C+uT z=H@)LZK-~65))E$&z{=$&#>?p9ht#|)ZEIawk_3vo5Y0F+~KFRJ+6uVC|{q!l;qs` zCmWZw40{+N__7Gp?y{XGni zTrh#Iqbjb^Cp?6P_^&#mCR(ohFA#9ty|j&Y^}-(@B`IY}qS+JVc`l;5QS@`9F9K-- z1}+_`)}QOTSFzv{XH_MmBI=)ec{YHDO9>&#WFSXL@Cs|V{jldH~JogLYmz>S*Vx7 zN$#DPcQYHM(Bl3E#%yM@6k6TiU`>k@+T3qoNtoFtg?4ugotyayDQt3I54S(_6e(0A2M|}lBR<95+u!%2g&DvGV3JI)xgTX2O~b~2dQF(sOr3E-Yi_3#)Zk^FGfC75_5yC5Hik$In3&om5$qOrMQf92o1|J z%+0qA{S2XfdF&#$;tJ|1!wAkg=*nILFn8ujsZ?MM!8HA+kW_1?E0}f2l}#OU^RC89 zwCs79%snm{M{ekC?mxf~&ib<}hdSo|UT5oa!ER?R>gKpbOz!!GL^(IlzhE%4%2g=E za{%T25;45yIn57*d5V|^1nCHccftG2dfdfB139Hk@6Abl)au(t7LOB@ADZ3(Bb&8G zjY45P3nv&nUCn;p@JhWBDT`Fyw6&wbV47W zjFUCb_c;(Rx{jgc((kAE@r-`Tboy)>GM56?oatk4Un=DH%UHw3Aze~)E|vURQ4tdQ zZ7v+?I2p6Z=S&H*xS%BKwT#y&)Y-Cp@J>!jRo*EumfYEyx$^;cKLr72kC!_;n)?`7 zepH@)Px9dGc+Z94#$A%6_FRNhYJ zxI%mTkP}3n=?G$h=CdF}Nn1We$R^y&gP+0|AWTWUi-$e>Rk&ywwV3WDKNLHDI05yn zhf+!!)hO~LNFjTEjBH7>0&~Y~^EkT<;C~1Y9uwKfO<253j#mcBQzIMv7)7X1JdSt3 zI&+$rf_k38#-ZdQLuMmSmy{)NrrI1{gxX5HdNw=2V<)A08nov56Bf^s-y0H&@+c~O z`beieuTbD@#eoM^Ne*@s&tTOpaVa5rf+b)z|CP)5BY-8#6@p&mATXzSFJ~`eu+d*l^8JH`sS`fK{9#O!dB@~`3FvttOe^=iBHu4jaOYv6pI4mo zZRCM=5S-_omH!2l@@@gE+<9;KW@4D!TR}7LE&I0n1E`tzb`I$ccNc5knQ#{hZuhI` z_PqBCNaE9SPXNmbWM!^;wN~|XKzXf;XNJaYP_Sk+BC8v3oa(s+;4my{T(o_18u}8gPem#Gh{y9_!IgVHDc&>%oxICj~l#UHe^(w z7dwm}!j^U##{<60m;|lvHZq~lGmOtb1D`TpLod!W9>zL*mXQMvpElZof40#NP3|!= zfpd=W1o)h5Tmz~08h-`OdBy>>d%m$A@_fd48k)JlcnEs9(5OVO_ZdsT?IPow=+}N@ zBl>u;F&*$rj9qB`v&Jr9e$L=I#ihmt;C7k8dk~i!j90HP2BCq^8`*$-!SJKqD~(@5 zo~w*MgXh)80gUoBMiw;lMdLYKuQk36Nv<=>(Yx!7zXAUSBNzN{G&+EPz&IBp@+IS5 zNb+UlkFbH8jK`t9uNar2-LD#F0{?49JKFlXF(3HfF!rL?Hyh`I+c%BVprvmab!g=l zqX|5}ZQP00Z#CWl{5!_IxZY-z!4AJ`dcM$an~2caO0gqj0bB9khF&F&U8ijVCZi4jT8PcMll1 z!8RT=4nZ>y8EwFP*kDZXW8(~Pe#Dpq{Xc57qTPQO`yuT=jV<8wKgI#zykyJ+hnI~r zpu>L||A01LF-m~>s__zJd(Bt_8D2M@$MxUFchT;Dj0NENhOq`?@uu->(7t8N1fRDx zvl&9q-#UQ__a3~hqQd>NHRK=ze4gNJ&StU(W!`d80YDNb!^FVPze!e2-inc>L#-d4 z|M*#@%i6}OW^Qxff;L^GSv~+PFVLRrAaB2~0`OdqF7ztNJoMoAspUJ))!tn(6g}es}^C zlJnM4YU@({UN#d_^N!Mp)={2ckJgcroOhZ=w9fhy(K=GnkHavgv|h9)3(LViUM|Na zhd0JNbr_oCx>dZfg!rO|jGiLs=Azu+fXh|~sz#RsYmWneOK<*F>VS2SSQJXjc#yQ8 zmI1vqK`S}8j(RU2kMn#J({A47dfpfOm`=oEM$5PwEEjYO?Gp)FilmxsdklhK1d;hU zK_!}g-D=F$qwj{b55dTB!)y^Jw{h8)P56~`me*1@#%0Z$`7k6uK$FiF3%@dN+~CUL zy*J~sUiAG&7=k|DLkXO37|Bm@psZhaF`D(CiaC)bCjzd^{yF475mPNY?~oq>LhRrU z{}q@w1(`&2#SZOIyMpUcI(Zp54CDF4Tn~*PGuK-}VRR3gS%TSQ;8)aP_mn?2NRkx`LES?<#Fou@0Kz zyve}z&5;Jit<=d&;3j$CrkPpnW83Cz%{14Vu51J^4r3Q38OU}T%)(RL3OPGX&2D0l4PMD(ll;_i=lf@G#T7IGC@=+$~HPmSHMt2=0OfVp} zSv*;>FZNRMiD_sVeNbniNDgkcwnnIAQW+XzS0_9DBUZ7?R_aB%t=B0dswYu$QEUQX zs_Lp}M|E|YLt<-;f>X%pd3s59f$1umR+NjCd4{N8#+S9nNY70UEX68H>ygPG`GG@| zuyKm*qOGf$Hi=^}9>jZTATNSHTRP#A9L|#Iun8QAVW{Se#HcV=PYK%EI2NmqHaAT) z%$s=y91~MnD|<5^TJbr?%ke)h!Bnh>I#GtZpi~o^7DZ6KtI^SgM`I)Ow2jh-_;VfX zlWJOonWvS*yoH<=RFT@{6Q&rDcyVeIWUrI+S!U% zqv=dI8&3hfi5cV@IX2@G9g>Obm_%lBo|y@Zgo3EZ@s4xI5)na75wq0{&PmL{TwSjd zKaiI`5}Z*fHdA0XQ=HG4=pErhCSXor05F|6%xd~5(&8-DKRlINS5O9(OjcI!JDvdQ zXi9D31)n<7yr;>q6i+|Cco7@``#-%{r%g{!431behi8TuPw_0}1jrp{)-HG+ znHF@Be#Omp6CC4WB~Yg0IA*S7w~O;QsbQeAMs$08((awsYWg5VOHNzVVJ~|;Ac#&K*H=FWle8h#^)*hkoj?=4 zVsoM?wC&jKNvT37bl;M6R@nWz^>p)VE7dm?Xnh-%IMk?Er#l66~wO0Ila7wcgsjlnqWM?s9B#D1yid>74XN2}8 z{2O|ak>f@9t?55!@dz*P@=`$bS-eQ?Z;&I~b%cz@*5p@YuEPJf@c&Ev^Q+HO44yo2 z2hRO2_m$iYf;*e7;1_E&xjX=v{u5Sw4>7Te7xyzLx_-;ci@0Fp1p(gXpObB=a?6KmwRRz#}{~}^ zo^igtEN1xpp3Ds2UeEZSc=W9v(-klE=&td`GToSy?|Td@w641ij|VL|TL9O)8M-IO zRqR{snfkmZ+t=&yY&7r=A>BH;vAi7deg|G>g|{h1%U9Ilw*;ejw^BoY$KWQsSSb?4 zTbZht1p2k@RX}s9YeOA_4IMqfk@vB=@u8jK8vx?1DW@IcS9 zj=@2EojTCGF?hz&BugBUq@<0JY9;TIPP|zw!1qjzl&#_eiMl%C9Uzi^w({Lv?Xgf5 z-^?XKson-V20Mb`_-;)Q+VJM9kk(eU!K!X=ZEI@KT0-&`uoNB*;jWfY*BOz4kYcdC z0q>^bPbF+ma%kw-r40?nqm*~!i1GM9ftQB*2jja{H`B;Q*C$>J))VjjZ}n0RX0Q%< z-4@K?Xtl5Ak4~-?HMBQwY;4-xsBNzab$1N)#n*@X(C=NXd{fs^ohx6IRKe0_jClON z6)n6A0;LafDq9#X29y$ndKx?WM-k!!HM}GS!NEZpq8ioe$Ur>YGZYz$F^9nnMVp$| z*@Md|BAsdp_w>d`3_M;g*W;Iq^V6Ju^!O<0KTw|KH6grpEh1x{@*Xw^>JznP8DBe*CBndI~IsWBhd!@ z`f5i{Xr27zs*LHUkG6)RdXzdID>+xH>g$`T1AG~q<93i|gMF$`gVB(@UT-imX!mDx zB-+LH>IT-~2T(^bK{fMjLrgb_4^-(2rxhAXbq8L5SC1i;&M8$yqaC}eBa!W4djjJp zXl-l$=reUWi1-t>%39Or>IeCx6^_68Z)e8Jgf#?OHXiMyM|ZeOgMFcnC>7BXiie~0 z!!W1yQA`|V26i{J4WW2*G_)g(Nl-TciyR8_y@t&}ZF}9o4mb)$SXZM_RhF`;gcIo? zZc`L*UQ|r+zEOYmamV3TebtZL_!suadSmhJNaI5Tp*1}rOtEkfMf~h-?;7049S}pW2zjD$HT})`or;s z-R#}M!3gGJC<@@vz|QbM*TOho14;B9;aIpc+y|GxrZ?Qx6|z}|2RjyqgWW&~b}t-^ zM)*QUbZbrbP+uQ_9kJa5!QN90A4ZFTOBhhkP@PNxO{8mVmaQ7)-I)E!r1B20*OV6|U!lmw~%reYCH zwGpqV9AT!IhO*qWMKp)aCr;Irq07uq@6;GNsNw2z6mH6@R$k5y*92^j$Azf5Bi>st z>#(*xuuH{S&DC&gM>85T7HipPYd+1BjJoPOsuyp@u#Gw#u`Hzb-~&x-39S)t>BP{B zw>V1d52RkEyeIvj)kQ;0Z##AH$}2E<)kD!Je!sdoIEt!2u&L#CEQYocU0;v4vD#K{ z#ezd!5qdiKyjZ9$($p$z8QfQ62tPKisbJ}Y1(e~nW1av^*a?#)%)q@z9SZI7ti#80wLUK-q`<1D0isy!?atmWGpWZjY(w5rv3|w zRWN4l!g{Hu7ng~n=AM>_ei$`=U~kG7B_nHu3u%rf)l%$!v*Z1v_IvcH)X|E?anz}l z%6z%)D+0|yn38Re=_{l98G1{CV0*qFCGiKEYhvw9@8{?aRRUYfiYJ^oj5pfR)cHxQ zL-yoOaq=HJn?Sb}y@IYiPfg9GOx+W_a z=?VpRAPY5s*3p=CXcu3xA4Xq9ibYLxm8tCg4 zkW|febrxF;KrfJLyVeo6P9F;6&Dx<|Sn6TNRuBuD72Dn48Bqs+JA*CN0&ZA`L2685so|G#Z*FO73sj?jj@Cr6w$|8xSY)835gLFxcXdbm zp@T?YpY$C;chKqz_i!_ZDU4TsFSVc5ofT6eDC} zYa9}Yj=heOm@_WWVr|AGLxQdIMhr08Xl+AHL#qbs4#DD;f!8#AG=-|AZ;?gE5RP@l z;*?6XMb_)<);CET_JnS24pi5zud5a$h_z$qAdhP>xqw_vk*wB0J*)HR6C z%>UoqmV@1ht-lt7MRsWek+{X5gy2v$o*ZaV^GK~CTbegiNJXN!cw}*j6x-{Y8f_Q< zQGDad#9D{_0yH<+8Ql&mh~xNSXVR&rG!$s8wd%@OU^TO_-fa)XEgFX)h*j31Myyg6 zA2=QO6e+hi2W-m`*Tadn(z0;+Vg+~YT8w2muxnRxHtviCI|h^@nyWV0Rti3}Qmb`q zYg?d!;tp`6=>oV;(qyb5%=m=$R3!WdW#v%9iHf0#nKRB9M2sjBwgjx2_Ga-MOCe3F z{WauGsOjd7}ly)G;0fv2g{Z^ zYV@xaTD3?+ZT%4}#fYd*hVr+K$r*&Hdx(QK_NS*GyQZm^w*}Ly_D6X z5$IgWn_60}rpEe4P3@#o#Orp%`zVvaIiA4EMio188>~c3C$0^IdT;>gtm)l5;UZ}U zu@DYPLD1S<*XXRVPGAG^5xGF3;I5A3gi@16448cbt#acGFg9X2i0?p8KH6fe&XK?Y z@u?j)whBk3-Buj!+y0r&*eY+WS|701w>Qe7tI#($wbWQnkk=B}5ZKbJTry`ED63kx zHdfcRG&MH0x5D}aM%%5f$FxX>J)^FlOSsgghBzbFAvLeMadawNrP7&m$u%lP`Zj3E zYJe5tbcZ))oY^hp%0IR@)*(3kD5I`+!=o+xi{XoTa@2qTT@HGLKi0Okz?L=%e!KfR zdSc2gkC-?ryb^S5j#}F`ww^2n>_!sH`nozy5^;cCq0XTmsoxN2+t6aQ$j(fr_cCr+ zID<#+iEXghp{9kr0Xdj}#!}-5)nMv21-=CDzr)QLC20V=zS^c1?D#m~G7QcJOTvU5 z-Ol8rGed9!xrPRYVxg`IPE$r`G0umcenh9rc{jAzx78tul4!`)oCwKnnT!l41Pqphj2 z&W>vZ*3t%I5hJSMir5mDrAEq*Pvrv0I}Gt?V!N?r zUF*`37A|%HTj<8=Db8=LJ}iy4HKzsHOXvW2zrJ4%i2FMksjE;_HqDM2+7sJaZVGU? zBt1uT!A#p$9$Pd78k$s-aEOU=RRg#U1NO+v=R9e0k{*LVcUe@1tuTb4yQEO(X~|6nHC|y8WClvaT!&H3i~aRGN~zq8WcGx zQRf3AN1(B(aUBB&Ew(!r52@{MUGt`8LRQ;^W1<8;M+dt*cveIgGBymDp#E?_?)}O= zI1PK3D28RH)e-H%e@N{kZIyCMjcxE&FscpIv}0j`{}l(09`|?bvT*OQXTaj=PCrhq zIM5OeBL<_p;}Rah>oi2P3afRqXe=?OcQ|v}32A|EyIL^fiI9rh9QTrNDcutAkEYFK z9XLtr8Q{^eiZ5h#)i=YBb6Y6x97<7IzF@ z;+A%`A;3bEat=p?)Zh&#cFJcb76e{+`cyBooiAw|wS*tdUx=y#&D&OTqw9QQ|RW(?75fmVBr%T1GV?Z)uaznw+N<{t` z$DJ~cqs_mH(CLX&AC7aY)e>mN!3M+wUwO(z)U2XbsI-w)0-_Vewzj++slAUmeJH}w zlVcX{SoyHc5T8-O(FY<8b^NSZa?`@;x|-Sz*x_Igti~qLU^TV|8k8r;(*}s2q@pdc zBb2$Rd>zjBaVm^hoq-k(VUWRS!>$xfYBY*NCK9T^RSf~oxnL39xXZ09uI=Oz&R7Wt zUs}Dfxe0rJMc-V7C%DMTb`{u`G}^M$dskP%vc&FyqWlcjm;|JCEBs57+J*PS=?oyk z=OYz~Mb!xc*27FTG|2I=v*}e4Pj$=IW+jTf$FPr%5|dk2ejGanwgl8219$<5XtlOC z!-U$f#8G-Bngn8M-Ac%ubaEs7JKVeY`7RAhpbQI-MFgZGVNsXxcDCTDYo&4&_K6y9 zZzpyHt!Z}6lmE~_5YeYP{TF-jqd{&{lE>Z=xtTY5q_7Mc$xKyL&f&e-4av}P_@Pv^Vc%jH+9xc9S0FU!a#6N#2aStMT6aV;!)$1 zVel_h9_A@deY?Wqp=nfb<&06VEdjHXGv1xycyHpMSDnj|HKzt#93LQ6he>L{n-LL0 z0P&AnpStA*$wn-OYEMo_B{!!y?Pa(GlAV>0v1NR$ECfOJOANu+uNFLlQJQH%%6 z2yUv|=Px*cXo2}52y`@V`+Aim2f{g-aNHd=gO92B9w70#o*Ea@(2iaO_vii!s5HaM`Bn_)Ru%W7Ys}_!_nP;C5~lLIAVZ3Gxx; zZXl%As4b6DO8-E-41rG>9^Z<_%GN<&XY|%~M7wq(x-a8%QMhL|)K%6Tjr8CdRCy}4 z49~%q;eiw!RR+s&(@#BAiXo0`Wka!OS$H7WH`Em>!!53|^2G{<@u9BEj?!)UVh4XD z@llAKybV8s|4}H|+kXfKnUv9FKMYaHUUqb&A6B6Ps#G~giZp;{mhq2?D+@9fPdu*M z%~6#dsGZ?$0AyFo1Huc#18X%EfdiJZW=n~2KB?sSW{LVy3aT5W5EhGWcen>2_S!xZ z(vsmDTp7`E>|ociWN#6qD=b4sjGv_8h$Il1ZIGuHj>Nimb`gxb?LESaD?JER7rDnk z93fg)Ks<Iiq<_w3NrA*18BySJ=U5X#3-JN|WTl6Gjd6cd*-kt3f<`|Dv& z#f8Y|TA}t-8vfS-A5H!{$ACX1eDbwzeq``*U|K8peOkL;3^n#RBn0nT48425>^iIR2xP^#AuHyGaro>a=RCMT-`# zTxmfoEY{gY9(bc#UsIMz|OacL}|Ll70@ z`51ag%mnG;CC)wB1V}nN+BY0+MGXxkY&p>Zvc~gJ!QSn7awpuE;I+ijE)5a+wub7& zILX(gL?kGHC$366iW6?JAqKRdc1LH)(ZRv7)fvMROYDw}OGP;XG&$L3N248xZGy-0$p#|wl{+3NU>jq12RgSp_?2qJh5X8yLywz&F?`hxPh-Wf z6AJdC-y!sV2adbtegqFTBwQSMt7U{V6)SOS(bj+l9c@B4^b2i#hSF&%)hO{ZR%Fj} zy;M#>?cp(_XoC}gTu0>zw-XB`hK9qemEuqr2bM^2%TQ8$mr><7_oIVaDNX=FrP%$J z;tK${dyFrWCqc54UWji?C{We9I(!weM-%j3d@oQd?bEeW|h4H=S%NW8 ziE?zHhmR-3Mp?)HTM&K{5b+~pUG-u7z>kwoSH;BDUj7p0S;*nnJQDOPYV3vI@fk-Br}@q;Jw3FAr6qGq@PCJ`ziE%oijg9x<^V$9Xs;dVC@oQs8fgEV>Z2$9uiR-2x<9o(yQ$blO8{bbCmwR1Q<~q{)u?lj*DsEsh{-mzYdkD^nRNz zk=pG$Je+XbNxz;(Ux}YGkj-jRHU}wY|}ew?uWF0R~o&uuW-_ET8Eu> z9eM6gqj&Z_PKw{i8u3YEr~TNbcgA1y+vs*0O_SfLwz0IIAwv|0-r4s$X}yDJr|Iqg zHjVyZu|jlGzN|g<C^S? z&^akPj~{SN&_8d}KmQTw$Ag}>@5t|*4;;4Xn{CC?|M26q>&W#jz^EdJ-Z@8Df#0a* z=P{Ket`5DEP6Tl(y;ffwVl_?*8N}kzis3$L{eP@5?FIR|_A3{(5M6sJwM7TQi zB?*YiIP9EMo&TgEp%}2+-Pse3Bt&2jj!lpmWUk$^DcEB~qv0G>Tp?V$LLpJg8-=ea&k0HN< Un1{@0^uM}IVeCs2IIXDt9~~&Pg8%>k literal 0 HcmV?d00001