From f8b3f3c504648376428fcc7b52440ef35a4b9458 Mon Sep 17 00:00:00 2001 From: Tom Ruisseau Date: Thu, 18 Jul 2024 14:46:59 +0200 Subject: [PATCH] Benchmark --- src/Img/average_gen_time.png | Bin 0 -> 53417 bytes src/Img/total_gen_time.png | Bin 0 -> 53026 bytes src/Testing/testing.md | 34 +++++++++++++++++++++++++++++++++- 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 src/Img/average_gen_time.png create mode 100644 src/Img/total_gen_time.png diff --git a/src/Img/average_gen_time.png b/src/Img/average_gen_time.png new file mode 100644 index 0000000000000000000000000000000000000000..9cf385e43f0dfb107a0ab766cd854f27b65a20a4 GIT binary patch literal 53417 zcmeFacTkmQ*Dk)*L=)?qC>lXDiCE|=0#byiv48?99VsdT(v_y5fNu;jQ4!rrlcrI6 z72F_2Fc?HS0-IhG*dSechu^g}_|Es8IWuQ|XU-pI&ScNLc@_8G&-2{(y4SkawXU`J zGARHU*Nj* znkisMcP*UzGvl=N_dhL}`}4K0N*B!i>H9wz{PX|L{O5;QiGLP^YYzVy11-b<5o5R} zd46iFUrf$t&)!)Vz;2L{8!Vd&lAbyd?h#}2m@1!z}svXwh3V^5{px987% zT_6~Je0yt0ct|n6qkQ>yJHBs7zogbx8CxE4;>mN%DzN~YH1m~vhf4KbIzrd)b#XB8 zT_zmbz3PS*yU9AGL8~hLOU5fb-C?MwF7*cFH-b;YH(t;-ra80B6fby%}s({8lkQu|nom$>ww8Bd=I1lVReOVyma|J=Gx>egD( z{EA5R!D6|-*6XVjjxewG=d4TZ2n*PC?(N-Uemj2PmvxAUHn_&K>++}f$3hfd=1(e) zx87gQFZ=xR^b*CfeXQx>kME2%z29h8WH=AnWq-Y`H7>nZ=+c$)FqQHY+a`zZ>YcHA zto-&6_h771Thr{!C0f^WdCR{K4{>wZc%}Q<)L_VL%&mbl9;7y1zB&Uk-2Y{;<%&!eN-L-9A*V zCT?hSslm~{Sf;)8O4FoaZHlc?hg8cO&jMU`RNs-UIgWKmI{)rZ5xwWHVvJ&r0Uroi+QA?NNh0lejweso8pZVz}VT zb^3Srj@C4vDbm2obt)yk5l~&R%v9ym_XP>)xZQN@i zf0!OPhvAyulN>!P!^2?sm@K`-U_|Y?o z@t!C8muK8(N8O!qGZN=ZA1S{c6fiG+w9l#5JiOkeD|WrKjXs?QNln<$D{UWy&TB#q zZj(JZC+;j-y!@@wwjhn=3TB0V_m*tBnjltSEUKla_t4mDuhgw|;;Kxm7ax9eZvJCi z*)!u@z0r3GXI=+he6!ven^7L68O_!ddZpLrZx)<4TxDdGG4p!U%nn~emkzt(cd*l` z=|1<8c(>tbO@ocNcGXR~wldFBk9xX%SJQOwrSeDnu5WN|y_Zv$ui9r=`RBn~WpM`S z4<0;t3Nzk(=yt?#OE0U+FsH|Dy30tr&Z#2e#P~Zew+FE)jj}y;DQZs+dD5Mc7tq$f zcu--oJBfEw{HYY1oLoLdx2w$7>CvW=+3BWPPC(O?DU2n=Ww_I%D>fxAp~r8h@xWx$ ztip|rF6X7{tdgFefA`}GKB;4qBRxqy$#rdq6(>$KVg>d3CQo|p9nrZXKk(L}r&h8n zCP`J+vGYODrA8TeppcvDeTEM24(6m;$~kteR+GP{t}3&Ij$oz1r3UQ!o*=nP#f?|` zf}-Oy)9QIS!d<~vdh;gxvWzm^Uaydjx$srvlfz!P`kz|X+Bphhd*ilj*^*P&h(!u? zZu9S8M{7Tnwhe}NG>wi;&R26AxPL4_$~twV{g!y#D?4^>}dU)BTCf7?VWj{W$%IJS%UiMT;Sy?$><(ps; z-2=`aOCQU$+?GfzSCtDraAT!87Mm_?(~!owdthZ=k#v)O&+^qrH@QFYloDzj`EX;C zkDQY?f3CoKEOq|~-pB6r^V}e_D?G?aPpawa;B)ixt+ZNF)u*p_CzU9qPIN|FN^Ws9 ziTBUBwXS`n&b9=H-%w=ahZa&A?C^Or27*1QON2@ATNU1lyFLT3%R|`67S(d!gHi5&Hr^K)H zu(W$$wA|qs2A_t9mYJOzERQ$JY95clch}gY_t^dQ<+^jtfBzvlvJ;PXHb_lz+JSiv zcbwXtSWt$yk~1Cds-kcvY&D4$ZmYG7FFJ9U-&-`f`bW4~Wjs@PvUQzRD#vGhW;840 z-sZ!Vo&5!3lNaCsv|SWLuWY!_nUzm~InnW#8GC;{>BDb)VeqBqHHju<=z$lqzjp3^ zmTS?yITCl6yU9I}8-OgLW6KchcUxA9?7cEl2satLN^vSdYdTK#lr>B9SzCHM1!?wX<`?IB?EhhQELYL){lAx(!ki0byJGI&;g>Uwe>sxhlhPC{o;78c z+8M0i>f$z8*JN6@*-q+(eQe+jd-OFi~~2=z4-YHWlL%0@&JZkWO8b$iwj86K<`og294;@QV;(-R&7 z9ysDW3b23Wx+1@wPcBrSxxq6T-x-gqd0gpxnNpiuf8q6tTRpj+eA+K&Cc2i9iF#xv z*IGo|)$zNHeUMaeW9|p;`A{fPA|hg#@#4+25d!juk59bflCun7y70WY!++|xa$>|*k8Lz0!ceDJT^N9xiq^=X!wIcjkfe5{SOuUT4U zc*Xkh#g;dkBQ@B_Y@ikk&2|JD^^euhj6EHDvu0;JN)%@^^4)A+4p*M7`|J9WbqWZ{ z*?=P&=0*thMiQR_))3TGBrN9Y+J}xyMFrvn(itOcMDGSd%4FX$0zpb(%qhc z%kq%2uGRP$4UfP{mP3?W3h&91U9}NW#X~%E?9Vs3@g26G-v7l(HV7_RwE6HI5r@9U zmv3^b5$uvFAs)to{_Qz*VbXs^>CblNE_2+If z(t-8FPJF?5WV!;z?Y&(tZR*kWmC6M^qW1;h8B|Jw_ewZ*R|BzZztre#=0?t^dIsiJ zOy2!m-uc$(xHO>^yc)CpgYY}5=H}+ib5#bHiYB_^jUE@Z=G{-Kvq?9B%gL!DziY)} zYneA@IESeQJ%qy(D-TyIA$Yd=&YmCLX9hzCgZi$9zj4hRZM-rFc)KT$8EFGM$i?#u zt=^_uczeA>K5H7+XNu?=C12`mBrvR(ViPnm+-25T5lPUKEE4vh@67Qgv>KP%_RwO} zY{Zj0`HD0BUd_XfRR+?FmaHsH>xv8bdiB;;0ttw?y8ux(Tz>y=$zHX@bLSfIG{Nvp zTXc7&rKyD|kT-a^+nlMUFfLG{Flj|N@{iTq$Y~Vf*e3!@S4Pd|7ltTi)t^tdb)T#g zuGhAXDR#|3z#ahHP*h3;jy6GRqH=$$$}TMG@=Xfza8a}b|6Z~Ycko6-E+39_*0mUD zq4{GzWgXbLn$y=;oCNa0rb>{@g1^}aD_y=}&yLqOR>fajG4|!MwXLrftt!l#o$lLx zzVv%KKxvoyg7NcnLm%I9YTZU^%;2h2ndfkB3xME)S4dTVU-VG2pgz@p5D0(+2bNDj z(rs#tAPY`yF(TT@xDYrM4uNevut8uXV9;8bHa}wv`7oB`rQZ7PzsYPb^uLc2xXm`B{}ABkqpva3CqfuKp=F<-q~g18FvBrw*yfq*Cksg0V6y$NO$s= zb+jk^GS8iaeFGWGt=dXCIz?oq{Rqz ztQ9v5bRKNu{J#0lTRz*26E-7E$qw>3UhY#Zg#psyYV!R*Q$E{rY&-HT?S8-Ez9vPa zr*X;CNcjWEjd1St{qp6qf$U}CYf4xE>u>2ae|UXkouZL;8)9dnrnZ4*Mk4_I5I)N< z=Tr!HK8P)B^^|Tr^7!~$(Uf{77P;;5jg87LUAAuclA&Yn=-aS}k&ygQ?vl-8lLDWd zd!hw*zMIGqcRP{MM;P9FnviRb(<=E-KY4o9g{y^}orD>)vZq5sLp^}FS=C`iS#I8U z?gk+|e)#j2n9!Z2*gf43$bKV+b{5=uWP$YP@rfsgJb;-W?^$Xe3G47pcWZQR=jnx! zG{2oPaUJLQdH|wlm1eq5o}GpN(f6KoD_4>B=2LONR%l-?gr{FKf&{+#{F_kgXx@ub z2n_q<4PV~up`T_0X=p!gDD;;oDEh7xd9lUeHI?K91yjVmkVq^Y)x6Js=4E1OTmRzX zV;nV)Gp~QsJU@zMdvGO4AE~8gC57pAoq+#GPM!xA|1eM>9`7K~OcwMJj`CSapZn~j z_lUNWhS~MSD{gLXdILoB*t(|u-P?Pcm%-t?eNdboSMz46`tJ(;)X?XaQay_;GBl~< ztXIj*sCzIy8il3$fE|h1!8-*HAqZoY%5f4sl^iql-I}GG!{%bH)60SPvLoJ8EWJ>1 z;xJF0lx<^1{)s$cOBK(bY^xK_JVvrsibOt}?kuhW$2{Njm@Sgj56!p4#RLSqpO>rh z6bIS27mIGV`1dzCBQUs&9)p~dj*csZ*5qd$0{NqHSvJnmU`bjxdk#V3(-<0R(U;bTzkB0(}F~iEGpv z)wtI!UctKtnbA_LU&*p%>%>H=Y-&b1M$?_z9%O8_?`kPLow=_fB{(wMt~i^TpIjjE z@Tzk%`HnNw!&TzRU5J?F!>TtMpK8))CX(EiCOKrK5!=qjCLXE+wI7Xz`m+s>QMmLTA zX5o7&ORyXD+N79S{~$CzYsMvXTK~ddU*F|b&KZjbw$LRMKl-yTSNX?&F zE249}x1hc=b4OMy^XN_Ml`^e&dBgt{n+zQw=-=h4Ur9S|H|&Z;4pCi2D_6lM_9a0^ z0Or{InK)povvt9HuV~eVJ%9eZ6v6XsI-J!ecI6(d?fx4p`EUN!{_EGPg`Vp=Eggn$ zNz_u`DDD-iSb5~+Wu*K<)=6m#hY&U6ziZwiNHm+~h_vyW+xr2aEtZ?*2d`qTxg*;d zAv75X&++)EuUJkpWy`T6*3Pk!4A+j-tH{*6lMOO1Up#|zB3zZJ9dD?q5KfDu11EXQ z+6d=XxsJ`2i8vlH#;fZ-J-iIZAUbiHsLHc-^u~#nh{Qfm^3*IZ_u1*ub#+b%viY0V zSG=LK*=-42XYj$zB5`Z6CPjLWk~K%k8*v(&qFh!!FgP2AkSVDuX_)*Q!h1Miy6R&$ zU<0kX_5tLf`WK!3kOgVh*f@Uq(L~XUWnLck3E7EeO%vfVyWD2@pvdP2H6?1m$=)-i zR*?jEtCJB7G!>R;X<08EA{SlGSk@JvWoT80BdzRyjMeR&0h9HfIetDeQPEFC zP%!d&4}#cIFl=H1NB55-DbY%AvVA$M)j!Tg%oFlOdFc@{$we?blW<$b&WI;M$4t_Z zkDB@#I7L2p)jhn))uDd?EKNvFl9~3nA7JR={(*f<_#c4C&^SMs-ZUL|c^o1BDDYfV z&8=2s{6~=;-xu-!We_<@OtLHDq=h7Va-bRsc3HG`yg(j2!wK^M*swsz)d3~uQ`~gw z)IdRWcRalQIB{<+En)!M+D5L9%%?E1)ZVl%i@>tM!~!v4RpCkBtf|m9xe@t^kR!sip1t;C93<0v9^x%KfSM-FP+)%Db%M3oOUzbE2YUzj(|yN8&Kw3a03AX zlzQ6(?`TZ=QS8II`=85GXasnYtaPR`Ip(5ch_G$dKhWZ(n5jG&mq$nU>Pt%dWQHr$ zqpj+|b?9Hr;mPTuyucKhhxIJzNTEv#x|Nh?Ke;0tb@^rY?g1lBa`&=M-8vnv;15c^ zIlSRSZ?e(MfG_M5MCiSJ*BA4|Ydc--9N3`Ye^e}0z`8Cuc3>uCW+=P^-june{CX20 zJ5TKfr|L5~=G8ZVfACD{`7<_P=$koohuIGr3Z8V!u%z0{aV}D72RqEegM5$>KFfBp zY}R+=cx!8=1|CJ`3}^77c{s}Ol8I4z781~MU;v9vgTz50*SRm?r7&?mOfAIFda^i3 zE`Gp-k4g;sKBp1oyfd|9!~oc(>n|MWpD1w~Npk2Y3(X(7vBB;LH{1?)hLssv;N-vq zcdK)zLD(DhPe~y9+7*0?F(*_`Igr3npB5rHqO4AhI9_eNcewI})d6OpW2J5faFh3F z2uKj3+?gWdDMW`0JqM$5YGAxQWSf%e-r)+Xlm;iZf++$z5#s`RLmlOVZ#R2Y=xhTy zowOJfHRtL;-ZoBlVxQY+x_7c1>|g-VTR`_)2imeoMAlTPy)HvXV4nkJN5xHm+)@#k zqVzY9gNzq36ywVfmxSla04t`%BrpehFY2OEC8!kwOkjEnfFB0m@Y!nc{ic<2$JP-L zB`5=y?2N~kux~3A(Mfpp!pVwx)=%1XVhC*hQVF7Yhz7+a&b1Z#v*S7pyiMG;elh~j9$tBCb zySr)T(+!TzsnwI0;hnYXi~xSAR*`{NAh>4f_@~#alCXL{mV@}yI`P?(*(o(o$*p-f zky;s3$n4v}<3uG|gSJeBH)lsRCAJj@1;Agl5kgS_!Y&NnD+dIZGwC}Mv015~l@cb8 z3^S*I4v6Q6mLG0xU{XpcVOsbWpmW#Rzkj!Q9T?zw>K}cOFO17$V?I{2?||`@B5> zLMtU1i30kQU?(&m#{=iJ5#X5eTg~+Y+U-xg z6!MRXzkGm$zAeOk#+eFVy-Bais!$t$YZ?F22gt}db(8TyB@22Bz#P#eeoQDqJ@7KCdT^uZuHbb@(S89r^f#X&` z{<6_|I&zqn!Wjx+mN3nt3G*~c12PRB7*oYbXkO3zlpy7u|f1uiug z62nd$Itt$wU(0ye-9G_rZ0VZebLX-U><@p@-kzc7G;$3n^+&*0{a%WoBhRFaKKb&q z^=cxr6CG!;*Wxpup30gWKCXtNQkx7Y=jgF1Uc>Co?ezqqlF$YoB_((uAM@70}Hy~L|@^sm~ zYNeu*Nl8~EzCf=2*w3o!I1mjvjF(Y^6Wp>(sVz)Y->JrgC%f{81HYXE>_v4bqo+P~ zP+7xhCU64zX^e&uTeqP-O0z%h3UKAE+($?hc-(X}y%EdUX~mprksUY;fv^r|WH0$& zwy|~Zw^t;VaFET$)cSwtQ;S`=<+}|zIdUznN%@(mAayU$3-l3xMR&KE@e+5_iJ=aj zI|V4j-b&&jZn>i>-pF%0naZhFiAtV56Qg}b8B?9n@nKk#$;Uc1Rn04;>yLAeshPMU z)66N5+?%_A5#diI9=m)uC2jV{!EH$jXKJ$0aW||J}?%KxXeri`y0AI-<)OMTs%9($xSJmQ?hN~xa0zSoA zmA(MrT{`L;Yv0jj;vAFT-g9Gq$sV0S*)8!k5e?|qKM6Pw?y18A}^o6w=HbyWaS;u7S(_63C?I+c}wji0m} z2-F)%)vp^g2ec)={M^jcxROtxdi1i=EQ|IE@Sd%wnkKZU;vk~`Vh5$Fpg3dy-% zu{O#Twu>WTju@q>z}*xcOT6;KF30CZ$zEE>n3Cqku!A5QgyN3so;-Q7#pS)pq7lk@ z%fv?t?rawq6^%`Z>rU(n)8eVEdLDMsT7>@_9q-z>AEptV9mv-JjZ(r@F3^lE(4bNk0gS9OuH^?F*y6Ic+n-!?d`@V6WjmW_5 zEOX)`65A`-sZK+k3fiuk!P>07;h8Ah$iNnFeHbUkj)+$AmqRDRj`^Pq%y#W)DwB-5 zpC%VxIdV14sxH1ohLu*;574TiUmO8D^%fJ=@aK`K65x3C)jITk!5FjM3c=E&i0+Sr z;DAsP3q^7a+-T`l4AL_H8%vX{%OY~M@=C-{H?Q$0_Km9e=9^5itmHqvT2$aFXi%5s zZE(XW(r9*~3ITAF`&DA20BU!V!>UcT4nU&sYiU%zuEgZ^CnCzDetQ_!FM1`Tcu&i1 z9$7>1t}&XT1)X&%wyDMm4ohb>W5q@<9_-oxIAT}zBC4{tE4c6Mj*0ipnJ zsyD8JzpIb`FD@q+0M@kMFFC?Kg(s>?iwK*w|FhIo8b<#~A&Ep8gE zq@qzV3N5!rDLUm8usuJK{-l2ZEV_17vG)l*Jw5$($slCMIpXfREpMYAX5Vq@spS#( zHF%vUE6Iv3Xkp?J}dh2Gs7bIEDHt|BB$*my3_t*@4W%8`{dOuA=r23Xb}Jql2cpemd$o*dp`Wi zBbpj$;(p`;5L-Oc&6g!L9iVAq9rdhRW*BHv1qV0E+DIFoUcIbpgtf!5v!Z#ZC$DNW z(1pUixcGGcQ6L9etqfOZpED6XwJj!flE6Xw*BSx0?G*RNbhXPcUbzdC-a?6qG;jyd z)se(=)^%XhUhY?yaIryL-T)RR4 z0M)kjpG0VdBHuK@sw*+6Ad0Npkk!)!z{y)>Otth|zLX;Cu}_po^d{zZA+gfw9oE&Z z%-a^CpD_gk;E>S^x!+D}%&iqV)&A+j>#mqPiBHa@)Y}#C)+th9Em@bpe8dMDfh#H^ z{E|jN;Bd^4IOKEz0_$=dpIxmCt7<1>i5|Vp1shdE8-(Ph2g@W&0Ka>iTjn)GM)&N5 zKSCXHQSgBPC4l)J0nz!jc5zX~xDSKn>rgU#NNho|g>JBYCn0f^TdJztJNJYGZZ?S+ zZj^Jf>Q6Fs%%7RO)Ls3ocDN)ffAOk~`d1YiAnNf4gSpXts=wKbpI~7(a#&VxU%8rM z5taUp(-YetVsp~6v#uaPxanI}S@k0{5S1vz)a#)&v)n zC*!Sn0oA7a{J~N%&)wj6dW%D=Vd6@x8cLtus27c!R7LBn=c`_P`Fx~PA7yFDWI?&K zPdGDC7pDu5DrUa9XGI(Y6?O3b;ZQ{l9rcxpQ=jZUyaP0Ou3R}R5*;`CEID7y@j`)U zN{r9@XsLXKOO_8!olw6X2j!(}jKIC!5W0n%>r!q54aQz}hEzxLw|Hm=M8&>**1i0z z3Qu?o8TXl~=C_}s5Tg?6t=3C=n4YqFcCg=hgeoG$h>m7Hmw%#V*+P1k{s9y)?U3ih zmd)H}wd-pJ0m(m*Q`EOFl62H67zk9i1$(C#v{^e>h6VZs#Gf&9i^SFkLF3^)5_N@A10VA{ci;oOO zD{T!x-p#7$0OgmvOzJ?)xyKFN%EY6If(CJ8ZZVo6ijY%zV7B*C)~S}3K*$nu3KXY1 z)Sz#g3a^xmixS*{nm~Y7tR6~Qe_C}o^m?yXxOzEu;SiBEd(tcs&PWyzZIuoIQ6R`k z$&ng7F$q0#y1+?VP+g5T<&;JK13{L}DSuSl+EM*E3WAp@;-BV3)!$I{dzHfqm6d01 z@cXDp)d(ox2ch_*`h0F&_I^7zbTUwong%7v;3h|R~AvCV;KcK$p8 z9hJ83dwX&ell+j#*`Qu5R0ky3K92gTeuf+Iyhcwdf>=Gn&d@Bhq9PkTFhg<(9V5^j zcKCO8wOP%Hk0>wNTwHvQun1uCsl1y7d^=A6qzYoNd6;6U;$%&UR)=wnXnWMd2h$={ zN!{tCICD8R#lX97AH`qj?+Dmgvdyq^w|sruhffBfc4Ak;22Js_HnT5lc1C`v^gvFR zNysIm!zNxu-r9!#j}P3~syiUl2JCaHcZM6jz^H0Ax|1r=>{z5l_(CnT%%?}Hsm$#!#v{6z+N#{dX)pHrKX zgv>%*o#t4L%-@@w>a6V%tJ{eFdOi)2jUCYHQFF^PV{PzPYm8KTKu|LF3 zNuzccIdW@^vl9i}=B^=#Lmn%#n}pHs>+lF^^uq z;mrn3U{}BhgdT0YJY+`WL(?#1j0HG-n(~K`sTD$Im!NEMniDG;UvkKk*ChMbuWOL+ z3LT5rM>&=#tW+Y5Q>I(DDJr34ZrMGGqSf{pohRJ`d`;uUm-0OY3^n7@I-|N_3^`pW zp_wN)xlNMIuxH*=RUFo+K7c~JcHJ!b_q=Nh7I8_PqdvCZfhlnVAr5X$#ydF#>CkU0 z`5#i&g8clwQ1p{-vrs@1VPdR2q^KxHyNmc&)fuSgbSQ*!n`o;xABhtAq_NF!ko%hv z#e!ASd)$CJkU?)!Ei@5#kz<&6S0p6!LbcTI+RfHBDgupxBkgJK93E$j_(ipDk{gng z@Y`A2T2f&A2lVlI%iSO{bm|NU^3z7BU{WtmsUG z0=Uz#rlW2ZG=Hc$oJ&pa!@oPhqc%UxgUVG}uye4ac9dAeM1jLxSAkqi1 zSM8AXdSRnAHb2)oLqFBhYkEn@-gQWnlDWu;@4G~}2iPkTp-sbYwSD4C|yMGSWmN%z3y6F)cz#ogM& zwUTfzR6GLYORo3I>3o))p+KY)hfX08PN=Auwg+8OMFCvm%1Ae9m;3=spY`DKCvASU zcO>;d-_>?Gp0IC>*ySnWY+O`+q}rGyhW0S_ZMxsqlan?_rbkbu8YCMEtrbxVMC@fC zuOfk9svE=-hBgM>iIuKLZb%^t0aGbl$?yo#;iJ_`8B zH3!~Vqnz%|zR>1x))p3ElMiw6!}SuT=RgxEg($d|L1zU}NKy=E*wTFgY~UqIDR{$2 zd%nKT3iXd<#WrxXM zzkIoV=h>eXP!Kp83j*sntt|?cw^@OrFO{Ju}i>o-Nt`wxYkE`^q$qS=iB#3o+jJdL(~M7u zxf&nav4f(?>*X(Bi0vf(8C9VZKp|^R`teyM?E3)1MO+@WlAJoC9ZW)qI(=+b63iaa z{V!6uN;z0|HWfu$E<*UC{sA`|mmCi%M?&=s(%_hW9k$b~_Mw_wo#5Hvs<32^Ofjn` zDTd>`vNA{Je9Z(`e~0Zf>SrEpfQQ;j`jK@!V|k7ngw!buZ8_HcKk*7Ph6p(qLh zsg?0Ls2=jPm4p~|xq`>AJM?G~W6D=pZX!cHTvb@UvyT`jRmJHcJlXfiH zKR8)oA=}8gSh{Zs2N3ox)mEmujAru*l>wAIg=?)r-foZMBR2Xx9AthmG#}nAcjUyR z8ywUR-Tv+#s2&_+(j%$Zfkh&Scodj*7fQX&PDiWqV)99o2I$V!Mj`QwlZTsHkJ>3p zQo#Uyzq*sA$>I}N(!?)jwit%Kf*<@)MRw+$VXM zcgzilm5!8j^SD} zDjWhh2U6DNjQBE$;OKcL( ztYk1^PEaCG?n59Cu_+1ZD*NI=#;hyUTOnjBD5lak{r$&k?eSH~*VtWX8#t1Cho2%0 z0%j`;OOX!N1Nn3cYLFP*7l3X#V%V#M!O%%(_qN|b?}lE>>s5+{_@LjpyoWDnzxlPl z_|()v?Dn1I3eCT7{?j2fu5^*7)=wQE29@^{S49yjbFLVj`79}#fFa_V`O# z>xGhDMS;q}RJhoxn>f>jL?mhJ(J$W5jv~X@O~o-L6>X@7f!h>`2O5`!B-euZ6rCZ^ zogC;){+_|8TsjArPyYdMznzW+brqch+i?s)d8}r@! ztlZ6B@=U^g2-O6mG?q6&FEoH4o@jGxkp)-jiG}qCtZO3!0FiZT)W9xpi#bYl{8~#G zuWI*$qGVWdJ0XzK=FvqurlE1p+v2N#c1Y$G?`~*m=&5;Z6rpQ|HX*%Y-@#V{fVC+? zuKb&zR39fEVhPUzMuOD0aMZ8#n#u6dR`d|TbeC=BxG5npbc={0-J}zjMCw>dP`=(4 zco*S;?U>4#Wf8)IUS=2Z4|h-*N)ub6vw&3bQVkB}8z9Lb31nB=2CUhSTOgx4UUiTW zUE*ux=8uXJp;j~sMt0dz_aWn&tOimOgj=dFBm0f+vO67X{Dth*B9*{BJ1L9o+BNq^ z)?0{m648WF;kZ7b@|#DmtMq{lm?F-btr=)Y{8kApE1v2l9nH0@`%bhNvKXm^`299 zbQ0MeTjz(V(SJR9tw-`Rs=findo^2A`yOzNFWA!ge(Lv@kDwb}z4aIs+skkicH1_} zQ)3Fm9o}`oVGn$KC}kc;ZJ#neXfzJ~zB2lnVEq|UN#}u90VUjDenTT@nr2t7K%BHs zy{qUxucb+x$^Mm67E)qR?+oa5?)nhFob3vx!gu|yb4TdjsIzjuH7F4nob%8!F4BQ| zAlsnPF`+0)-755iO_{EPL@vS5h4q&Sn;{vY@>iNu&qH*hgdysHBvT@7h0rYF64YZU zSES?_(zLsX!R+CcEOfP+gyTJt<0&7=U42$3mM9r#~A{_(N5k7#jqPYFHD6IRD zy1w=8J?g>Y%AisHItH3wi_@!q9mOOhE#W9P<1zA<4!=WwNmoE-Sqz7u-SgJ*k?A4q zY!n_!i3!odgLGGLh&hu&gZD$GD5DjbQSsYxhE@4BZNg6+V7!pmE9FG!PEsJ!$(Ws) zTrcZz9?fZ~q)$MqTm($&3ToUcnCuPj1%ps->HDWO0f^3?&<$J?NQP{t{t zwi)U`PQ|hkJG?D-gZ(k`Erjk>yJ*S+`a!V0%1jd75;5yBISP{($V041YD z^@Gv?x6dZ71^K?}<}Rk*fxg}8po^{Sz)=JH1oPM>}QK*D;~o` z%b;h=vVQ_*?=3)C6l^Ye3hi3O{ zJ>HOGEL;cl3beW#S!32IsE-jwY#YiH2snp2R=?6VNBu(mP zYDdw|u?x}iOl%ipOjg1}j{AJCED~^!Ta-u@(vJ8Wd102UBSRiqao))Q9B$@0KtVc; zc9e~fPKhWw_{eiu!vd7c?h>b8Eu};ci{yE?k{$9s&5xsS&n4*iuryfms)_^=^g1nB zjXq4;xTok|r#2G6)4S*v;gSFVF!zBy_fq>QQz%?Z+_K|#81>%*&l1&Z3V!MckOpaQ z+mVqRCGQVMKvj{P9@6(Ab&^vWpp#Cmi}Y{Df@CErC8A`F6Se4lSE25|=5HkxWvwKn zOl`pC#ncsp<3pVo}LA=_TbFWdU}YBf-6u6E!qs?t_oiwaek~=a^*y9%q+TdEPs!0HcXxpKClr#X!w9+N&A+Z# zcVcr_f4V{c#qEd_`DHA$cnj@z%R$!PyQXB!?r3 zAOCBW8`27DVgaSjGjRpEnthqlw$ORKtCoYb?mjX&=nN?p@a{ANgOrnb&D)sz)$zK< zZvBnV<}KX=sJE?D1EWw0)t)JiKV`@R@K=P-ILU;}sbd)ptk3ql(>>B%!M+p-Q*k%9 zt5TFy?$kS}-*vUdyw(WraRV4&vbMx`hxkH~W;ui1B9R?!tL}Zqp!(4Uc}TJl6N){Ja<)6&%AXVxmDQ6;s9sw%81wwgBNO z2t28^$HH>7R)(X!Ew%Zk@Bo-^4ovJQs!-hA6~(zohlvpiW8}JtSwQF#0lpy2z#UKl zhP4<8T9%NLFHb3imXuC!aveIMmu%%vec0Fq_HUqde!z#Q%Zb82?jqbE-N`b+Vr)VP z9uI>F7V5atzu>V<;IXJnmpefNJ0S7|C=A?u0Tg#M(?HL*3PG0)7g_sJn3yHYvz`%U z_64#edR06|gbl~K>B5vKRVJ22(gx1=CHjv_pZ6r(Bpn~UPKzFgrv+iac3l6-DAv$m z9rwrhkL4mty0|ZR=J`JV~1R0EfMzqj^{2v+7!d=;a*7KkB{O54N2LA6n2xnqxm&KsNu&SvOl`7RJ?I<%H5MDv>Xp>q^9 z7*!yKfnS@Oh=8Y4q~x(1-8BX1=%KMZ74b%jh+E@my}U=|KTVsY(|`R!1&zzDC^uRD zIY&A$#_}Z=@>iZEq=Q<0Rx5fN3O~MkB7yNj1e5YGbt9^to387zEHtOO%0dfxW4@ce zzcgj^SwD`u#Sp4O@*<6~A@*UuE7^vgum!|abYu@jA zGHxK$WFC5Bq=49?(^dFTQW#_glkX=U?t_CU2s3;+u=*f9jFH>8iFX|hWC5dK*bq7w z2VYg)Vc_-&rMUIqGJ1-VAb0ISq_tkknl!khI5U(uyzvla6j5qYSNK_ z@Q!dRO(`In@_%@*B?>RpP)&XEjs`Ss53j2|?C4Z(8cu(i{v47S-xF8LeI5A>V;~0m z=Z9F5e-?!7;vZx9=XCtP;u(}^s$HfKGM@X?Vg&-@DB8oyz!)R<%ZMwO9|5ZM%>r4C z78L17Tr>!Bfkt}8UzjDe4k!arB)%6&Nh%vL$8IomG~uIfqs~OS*KtfFy9>fV5mDx{ z5f~I=4-3K4Qt7%8Y!L~BQqhl^n71{c^|nOuTcR|OL{)vj$TIFrIGgw5@i$cNp;XW; z@ZuqbsZX!D(>9<0ApJU(!ilD&K}z5Y&CsUdjJ#`**gGn+Op?7JG zmj-t%-W$)LYxkl>Z8dYGzCr1Ru0wV%euG}_!EzDc8MON?Xd;^TWamp;A?`jM-nu?PJvs(m?F zfNH*!27?OVfNj%N;hA6U=v$I_Kj!+(p6XCQStw0;VlGTFDn&N`XZ|Xn!csoe%c<># z2E^5Xf##Nn=r&GoS^w{q>=&Rt?LR)g(MB_yE=|TmCuarWt_(`w$ieGc!6C&zSvvRK z*EA1a!zZZHiw?`DQ1#~2fh7olKvNvaGgTX@LPfPykW~?{mFGX^z2&DH7Kp9FL?D!* zN4eRWdfS--Rr>ZShrBihfwd1s4o>^q8Fh?q4!6hiuSW+Ysg4a^Bdgw;isw`hFvi5Y zxp9P;RzL!xu1EXlKcV>zK0$Oj>|$NKFDf6zgMvvdgC3)~hsL|1d7$ghpXcAtL+>Z$ z5m$ZIg^@#rASx0;xcOL0!?sbfuu}1zA8Q-4f1yLf8%&YBOQitnH>Yg{PbfkZ7Vava z#V27(%(4Dq&Ck2^3xhxEBD%f8(AEnDWafQPm(t*Ij)Hh2j&V&LO?E^jKm}!yt^^GC zrPpZ_u-3fb-11P&4P3BjF)g(W$}EFmZ+$F5myL4!*>EhnB9!Mpqq+TmK~fx#wQ1iA zbNeK@Yi3}dqd~UbVH*aUFrgil{Hg9vb112>32x0FoOJ5v!+kA2hzNw^Ea*PC!%Lh{ zLRgN8251#5L5T(apti!%eC|#@u~0>P(2wqI2^yfGJlv07({_vmX%mWUzbPDd1hNY| zFpM<)qXuZ38cjn%YDPbuD;6-`&thNJ6Pp6Yuq?}cw%(y!g=m@BOypbDI{I~_)x0i+|4~Qov(|&syz!C4Hq=id_&zA z7tT#35isSx6x%mGlz&>10%yBUJ3f25LjuP!(J-HGF#CY zlMj+V7&grzx)nvMMI&cW%@a;t zpt0}TN^d{ROe5VU=d+wnfC{;#HXQ}wm`EZ6Wt%-ZW5b}iiH^C08{>-FkaZl-=pk1L z>!&_kM%~>KAIL2R69SvJ;{Y@e$;SA zf*cZDW`G+fX*db%T4^Mcf$!%ONe#sSR^9XXauZyI4>7`!Kg7NM z>{-c0@^S~^VnIl%WrFSvT@>4pcJ(Xc|$v2Y9Z z6rwfG(=bD-$gWZtJI$~0)!h4Igh)oA6JP+P0&NHhVoAT3??jH9VyvXj`nk6zL{Vt? zjt18bcWGNwAgW7AprJtpXjqB%P3D!kqGeaawaVJT%S!BK-@^kOH=# zIahY0iYSAPH;!id;xXD#HjIBFG;b`LI5BLRQNtZ$i1IQC^hwl1-+@UySE$ene@v6L zxP=rHx2qtp;J#idBkHW6!ES9h#H#ShR5b_tOKtCj9mqA3teKjk4SeTw!uHj?PXkew`Uh&m)ZyvM#e*Lc&Q#4c{7?Lnj1^*|NPIyR0LjptUa-h0AB*Di% z^XH71LvzL{iPjC0@RK5)lrCW4RUk4J4yt^K!UAz4{2HGZeJR;L)F3{j#;1w}9-kmw ze@iZ$_tU56iq?LP-6!d-S76FE2Tb$N=CtfRr&x!X_Rr3ED^c{yzNHs+%O z%6*p0pvV%@yubLTchDLop&b9!e_sfoQtJBskN-$mOy5QFS(=ze`r!XzC1~O@jd$ga zj6;{oAgacdj!JWP^2(xd|UXua8*)bZ_Svj^SJ z{*DH`+CiBGkTn1-uE|}86`EhpeQ(T4S_c$nLB`De!{Ng641kR)Y_%i!t=$dYw=GX=#k6!OWc{>D3N74V>R>E)p ze||%Pz}yMYhd^)+r_X=+qm?kF+a!UGJ39Y#oxcm#&+pd%78S+ZjUfL%x|LcBNSzO7 zWQvk_?7TFLaZU5>R}K;T&^00Ua;S_pgW8`-eL(F=Ig_*C54jDEm}I4U<1^Y7J_-xm z4rLSUG6eU#gXRKIZx%Ktu84#)G)IJn#q(?aw=)b->vY!>RKy% zt4-ePddq3E-qes1`I6px3H!Ygiw0pryC1;`Iit6m*NR3$a-~Vg?__+V<}-)3FYu<* zfHs9Fjs^iPWHn0B+<-yYmQ=;Xh z3HX$0(XhGC;ipjneXiyp}Qd;Ch6K$DoOt#nXSzJ9__9b|moNH)AI**plnTI|2j|XW%lx8N64Vm~FNMRgrN1zy2CCFg- zd4BP+^cu~Mh3w>^X*#KNG1y6ExC9*rs!687cjup95fu6PSGx*C?qigD#6;&n8dqQf z_8}2twYAhHVS!~hPVocqL%0Jy#dz#eM!C=da(`x)QKBaHwx2th3YvR->2+Gtvc zAT~xpFp2F~VgdoQc7g(zbK zCc#o07PA$-efh`+D}MK$_fbjs-5e`0$U@>IP6OU5LCx+-=mFiTM3T@zjNKwfM5(7f zro!lg=HpA%o4dEuTC}r-=a6CeqRaAS@i-KQB_yzdBBParj{0%)u)r^f3=GiC?2j!z z5i`zMzoSeVqUEATS}SyjwIg*1>Kgv+61{NFO5y8)!Q&>{AuHXgMEMPG51A1X^CEWb z=OseSTA_ox8^kwg&eF`T@CQsJwk((0DkJwG80vPUx|X*;!>pR8y2k4mgNc|=wvBQC zYB(Z~MSXviSdj7xP3#xfVh|4HbK@`s(*M2@o7ZjleMyIaRJoT-(e z59s$@I1?DBC<|y# z=pd;$@)=ttU8jeFuQG#HCTPBWOb0?Rqqa z|F(R6*<1E!*ObkJ>mlW(u}-9a9-v>zLOuV?RtgN%UxhOyO;SJN6A#7Bo2{Q_+)p>m z&%^(6$5>OiL5kyp##{;YuwzOze3}Gs&@Ou#{5ZD?JNUjTJtI4eu2U?vP4_(JxF++r zX#L{_7>9BcajERTAFqU*wWpo}+sdFHX8_^>X(ySv?|QWX6x?EBH_5@P!oo$erUrDO z9#)ZJSHdX-QprBve`YVHqlcOo3$D4xr+XwjnQ+jD2^M z+~fP{HDH~@nSXz|_ANFj5U}q@lI1H4`tLGPHujxAFonO6F--jnZFI(TO)N(ht%VX1 zE0T8e@ak0z8YUc|;qF zpZ<6Mex8VM3ah%HYH6&g7|qqO!9*7;{4X*lCa`5V5Rfl2BH}H^pYF~znn%(z zRWBCu^Cpz;U&aAKIVQLT0*8Enu>e99)WF{6B1(gPDXPZ2XufGb&6@LA@7@0`jID(H zkt-vnF&?D%g{Hr3`-gFgLZl1fwzoKS@2N7{Gxbt9)a?lAZzfy-jGd- z3dba5Z-_R=Su3I%92hT^q#iVvk!q87cJ4c_ncFYBbp90(t3mtFNoDH&r2I1#T70qy z8LiidHr|v#;LckeSc>S$AE4>pcRr&kMJ<@r0usb>>1{Ml(U3_1BPLlf9(B;l9rk!d zoc5KP=OBtao8}{f3A5Ccs68u>+kx1|HMwd&_g0i5Bc*ZU)RsddU1{P`=z|9*31^@p zB9Cvi_rahBnSolW3Q_A6P5g7IMRkWtB;1+ic+zqN7Ty9gIE{PY16+D;SFrjuL;uz4G-v3Wx*4T&y6V}p)yExPu|2hnV7R<`}zx1Ij~ z+WYdTD9`jujAnJ4PEU;D)@f10Du|$fh#h}X3ltPt1O!YFh#-0piW~+K z6BTIl_C9eCxsaLXpGVQB8=qzQZHVt{_2*;wKTZJc0gZD6YH?80$?D%FGpRpKxNCZZ zk(E{16R2#-1}(bq;GH=1oq>nmokoQaCtP!q5YCDtG9d(jF>C+{9GIHM1p_n$!8H-G#?KAr!pRQ}^B;nDnYLWJw{#|hzM_~S7A z9}k0RgAIz35|t!B2YebV$Q@`mzydDucVcJcE-Lgn0~qGo#%hQJEO0#=IIPsb4Zs|x zLI2ExaW3pjSN_CGNY~C6!>Czi_AB@LHW~!bD{)4*ZuL~bi z=jlfuy=XnMmn(8OEX72~WM6N|bxkNq^5bDf*mu+5Idm3x74@&(U#Rfq_+=NCMoP-+ zIP(pZ)m_`$UNO9-;JIEZ?(78o$WyRi=t2^&1D=t>O@3|nxyuQT6%sA$tngFz&p*j; zVG|=$FCB3%K}FEb`5^SonJDcGetd#*$O*_vw{yg^U;E(BTPr`0x{2!S7#VU-qp?hZ z|JyPV4I41PT5>4=85Xs7?o^NeP6hP#Hd^$4AI@aqX6hX|AmxZTMgyEwr?+y$+DoEXUX5;XkW6-c)nf!3!Bpg+3K zy{!cVjrm9TMPLR=l1|)M`o{&}^B}lahic`qR&_+;M%<0EQrHJQ;knSOZH^FgUxx2apeyUDc1N1IBK; zIvSh8`ofkbKhOd#yJHAswAKxb0={b1!Ft#OX6lho$j7o{!c&y;=v^WDhSagnJ)Yl# zJMH?=J$m>balHopWsheOe8Hp_u^t(i5?3M{fhD9f-5fZn^r(ozr1mgtgGl`=pYp>A$as(kA+ch7^r5iJ!a_=D?wgA1ix zl0m5rextUVCdK;$>c(O|z1%aobDYjzE4lH_adH0@(A_^O7OX;uC*o`SD_q^{VB?ky zFwFoMNdWBzmxJk~dN9$y*)zECrD4im38j#)HkTg2b7_18Jb8hLRwc~F^_KYsCHCxO z>FAgEWaJ^mVMK+g9DOWc58rT|k|1R^U?ybZS4 zK)t-fu&-v@(+9tCs~kwmjTJY^MB>9%)UV(&Z&DI`tT-zv9$xR^Y(~>~LB#WWy4@0v z*u}r@a-4~WO*MlaH$gsvCfJZ3yVr0!NHu`@y|pC|)xZa-UT4RTtgXG@J)DlWz*hu~ zip%Vbg(4g_n)GCWa^wJcIP53ZM<%}Mv->^qHW*_n7Uttg1eC#*!9YZ9R&*P%ngt?4 zhvm+VpjMB;t7i!H_eO-&8GGDKq?-c@*6)$>=r{Pa($w;BfWRmI<}2+Wd^ z4&YwH*ULg*etOCVulcYZH?dJIXUc-mRK4MdP8u4e%DtM+2uJFb2w zt(6k>DLn+Wc+QYcw1g}a!?a+u)SJXUX8rMDB-GU*^t@T)MytmS4@goB1N)->3#mi=IXrLOeK5{?@&U+@B@_bd?T(^?8n zP1M=iT!)XU!D!@=7C!VlDSk-1uLc!ZgS?W->HoV|ziZqRq7!#kvhxrhb90-p>RC9$-L4A8tZ7a9KR9MpV1;`F0Kd79V9}o3&({FO!H5^0x&9tb=db^=s0aavxm;vbaFwS(ZL^dO;(icn(m$C`>gl3|FdskG9 za+`}t43ET}=ZfN9zWsSGUW)xAZAOlQr`^guSZMlG7U6CS7Nak7-(S?>yc;auF@ z99zP4MoiODe9VB?I3UsjI_HrdP2T+em%>^nguN9%-KhfK;S+oV)N=5;;@6tbQ5xgLxY?dt`J|qb7$FqD`rG<_!aF zIR9K3)eS93L4@ItSe|H2Qck=L1Zq*)LCW-@s<;2glY2T#Dp^l)PXcuUtobmi5!@%% zNu5a7L-Ie3id`^e<-#s!^@wxLB-t2EfDn9U_@L(bU{=OHd=j(snd(S*(PV>}MPU;| zfwqfNCT+ZMLTUBj0S&e})|EvEpQEJ(PE7!=OATsKTY2v*RTl~YWr)O>`cbqg;alM- z?m1^Da*dy?v8ouYKt(~qlTJqzsiH2dULue}d$qPgl_2RJjs2^jn3ymGVc66G2)^BV4^N-G17VScNFrc%fVi@39!e%7$0jNks@2pNOh z@hLoa!T=XUAL$m&o99vPOSdBqMibPhhAIm>G4m!GsHY&1FGr4xXvd&6_rVKpXeel? z7~r?6kh9XGLnP@Q4n~)r3(^_UDL8%2UNjana2WEi{CZ0grQ$4z0UP^@k@*yU>lI<< zH#+ceGdPn&x|QfY=QFln`}sWqbBV}*+r0n5g4-|qfo!CxLI~z%_AlzBzJV2Ro~$8- zNW!hRe(kKKQ9RpF$AW|CeCO0(H59(lhbs`~-Q{>Z!L`H4q>ZRHc?`-i^H4%#y;Ln; z$~I6qS7=v6o*bo5-UAS)aXQg+1_!E5_RT$1=5#abltXIw<;mZ^S3d^@P-z_`zUg|L z|L8{$ba9#s#s0Ip4dsISyyY_JvuU?n0E$~WWP`;jw1}g1IHQ3Cnt|oaR8Blf1u$l( zOe3+2lP)Y*=@rFgNv{f0=TsBY9e9P8{NTJ;ORscVbMlZi`^Jy5cVgVo*+#bmNImcmqh_xf_tF^|3(W(`m-v*$*hB8prSEUXmiUi>dS6ZD*zY<&2c>vO-=|MR7#yIvjn;_1xs0iT(D+4{@w3AF}( zua|yp_G;=I)$;-t`Zla5Ju3GYpY_>&D>+@U&`M|C=bwbsJs@?d@#nhh*-p*#_QG=s-^LlpGa?#!? z{Xd`-&qb-vLNjQc7Jn_l^=U4r1h5eut8Sz9$9GM0?K|WD3t6=9i}9vTrVGZIE;5}n z&a~Kcfm!L6s41FY=&f`#`2_{F$VA5xJIkVPunxjU2}rbP{@~{t;U(jK0a`XaXaiD| zFQZr^)x_{!dP=ghNA0iv$3&+VQmF z2k3pK*>9ZA)}7}6_R+@GTD_4CI``dYKU-&|U;m`vtquNnW zN*BRGklQHyQm)_S(Cr8Xt4L<)uv;{RK9Y?@@|LhG%tRRc91}yeP;yE>^0#xqrm3aH zEwkLEU$qVopCvFmEC3C;xCJyAq**E4<#tz=k@NDRZS^FUwqN4TX;jaU(?tTts)uVV^dt!%o&rgGVssPzlNrrjEfIa|s!AzZ9!g zlI9+y_MLssN^8HC<9>ZFOt@P$wT4?Q@Mbwo$W=f`ErOF#;aO2)KLwhcYLnt$*;NVp z6KE|2+vsF~O*;VCaEIYFKve?kjd#k#OUNP7`~LDZAL`io&_9pEGnimeBB#`TGSMWJ zB`1>dE((6A%Jc}z%MQbcvBj>uraS0r>j`3@dtHba=|$8b(elRI9D?RMqu(GeRY{Yx zLl^3?kiM{PE9ze%pr)i667AG++Wb2$6siLogL*H#s6t6}V$~EYVci16gvZgaSrA)e zN@sC^Q$e#-j?!eI0b~1X-V!wY)&~g|oX751MheYQG@NQN2_P8sj|UegknPDq*;w6*$0+-7i{x!g;)f z=^s0z6Q#+TKWaJ$E-N`rnSlv_rV+RwUq+$dvG&N=hcJr`;)pm+hJ`Omp$88(J3zK! zCXi>bX;$>J_z_gx&~%lcTJ#4ZV|9D)c->R~NJAhUX460j%r9lJ*DYjNN|ERu$&!S1-8t)rExGkqP#V!8!0LlRX)1`DuX zozXpwu+&FiW%*PWSv6dL@s+Fl=AK5M)P=ZLk6V$9<40NDVCHLA)hKT%Toj4vW{&pl z-Sm6BJaoGuMuo{!Wx$tquMrtVBL?B<)|YT2;yAZm3VfoA$R~p52ERBA*FkFhc^2+G ztt-Pgla95m+mk&4(yH}$Ps8NG;F>ox4(eJM@LDoua9m#F_!6HKrn|W+TMjrPSeiN1x(uqhE7Zbq zfx4`nCXXZ&MHDb@1M_LsU7@pab1+l&Zfm(tVy_=@NrK3#^StCG5OAzhZRr51Yc8N?8 z<6~R2i{-D@(Q3uC%@LY2H??jWcTRFwD{Y)ri!&GWpcPGxVwPxkUoQAP0 zig!IApbf)2^oJ*_^hSefSG3!T0amEY2-7xi-A5FUCb?pvGC@xLhWkfozDmV8`(o(3 zE^~~E4X3)$tlCv`Y{|&mhq-N+cnPj;`RO2q0X>6RhQL@hufAh6?@}%J zj;^WkPge=Q0)E9n4&rePg558y8XwT|)IvIAhAcj4TU3uF5Ypq#w|M2lxV3!`&sa2p1xp2C-gK&$=OZhTpibL?^{ z-gxuOmFqAyvXgI4<$Vdl$M1%gQHjpP7lzhcffF3~q#f6c%?e0|RLtme$g3Pv7rF&q z)C>|IWh&=n#PQ2xNu_w=S|7$fAJ zVgn-VtHK=j zS2w)nnwEAaea7s0D!;zPyT*lY9QSk_fT=YiXQnFa?nQ_s^F{1lP?w^|s)1vIy_iRy zKAlH!PLoharRZe?lkCDOup&hVrg}DldvFma5%Py?NftHL*$BJyMSRFLP$>i(g`;pz z(esC$?b~vr(sdL;a0xs05=@s4Vy3twoR#&*wJ}18z6kk0)&tnH1E5U@aTs>iIS#}; zLa?ACdy-xk3a!lhU8*pMZC#4JkPYNOpIwPxlK>EBArY1|FXq&z$eFF1vxkQVgFmMy zsIPM=Zh))E=I-9v$P@ELWHDG6*Px$Uxa~L?&0-bN)J_13B#ELp3lr!|bFm z#Q!6D{%F$kTw8DfJxAM(5rmo7{ZX0a$4zA>@s!Vk1Y6OMujB@{&Xb|E1XdI&5Om;y zf-*A3le_nL&z_aD2}p{w@b$hU|8Vr46TmZZR;`_O#Ny1KUE_L4>vbWsrQY{fJwi`;KKiCFu51mi-e$D!rR0k6Q;{N?hZ<^xh(;4;M6xU+L;;!P4c6O+eX`C3=*l9&AQ7gUz z(qQI~tuAW6s-7d$y`fG|ySH6Go5hXdlCgua)P)p`oKKa9Quoqs3bJ`8aNqEe3?3gh;sY5*QttAIn zaa&lEXHL*?G>n6jP)nDfLQX*{O(yo+5`kJz;kgs%-X9S6B9T23tsFVi1Fz{k1F$%Y zLLCmVSR_XQ-jo~+LALDYMIuBad?>(;Ze@t0wp~o_;sbx zLrw9;EZfQ5YRKahvsO~<8)#BKITPVIF4}dkH84C?6zx7D)^de>%jWxNtn`sPjqzup zW_}@VRnE}19|y)i29#Q+r|-Vyqjv`@+2gn08yJA0P~MOQ8>Jr4921xsEMjgHIWs#p zPgh?`oaxT<6?oFNw5_N0VL7XH?Holre^jl?*E>L=&*!7Rh;*HXE-joh97tsldZIy062XwBXsu5>#-;jmUb#{0?o<3N)oq1-( zK_fc>*d#U-B{_5SL_9Je57`v2M8bi^XfojWWRNV$Nc!$h#nHa`?dS2GrS%aM`pbbI zYz!WPX3x1|4!5-?Ml}xA=J;f)KmQ+8?sIV|0Q|SPM=mjn-F?Itq~aB+OEoFq#*-v@ zIzn1NwdhMyGn(cJ+WefQD;H(E_uRmK>5<4SuiHk zC|(y9bLPS+rE9*3#Z~Ze(_(I@IHJcTkQPPPPu@5cgpxu4-;B$EB)i9lmlPSkk?$yp zkG~{cK`K~t04+hXa}8nd-eXA}TIB-_E7*$xqvSTVUSiE7PQvnl^6JNuKR;roPnUD8 z-h5GF`W0-ZOu?ARSv`G{1nKg0#C%*UtRD(mSM1rsC0P+BON}{6Eple8_3RI@Tvmja9GSZ!xD5HTEC^dzV2SD^XLXCZJ6 zzEZjt4Sh(+b_448DUHE^6dC`Rdrw+~28@3!G2Bc4S85kL<+SKPYk6y1&e%I^6saCK z*4zu=Dd#8_J{^uu;MU2%#jo)@=&QLmP~Z3DwCZb5?&!!3j?Ia9=X{XOIlM6^_xQ9%z8VM8JAD-C#R3&55-Og$b+s+9s@^R{s$~Ocd&1kF2<&F=xtKm9nX36`ZX?q(>uSk<(!R%0^B0lc6Uu80eOX zvqnI;7MfKU{CzWMtzhrjp7#2PF#|@kZ7v>cO_*>Oor$ri1}nOk+!}4DIrIHnlkchB z3OB{NtKGaqE}%hJH_)qyoU(oO!N`DJ%uT`7)6ehq_|-_q?k}{CgHkJaT`(HGA`Ev? zKVXq#hsQ_dL?dRAcVH=|bcl=Qxww`JFiw>0pE@_AQ`Ru*AV!+!@*8P#8#{A!@d@Y@ z*(PvbqTd+1H52c1O`b(6t9xAdz)dXOBP1*d`HfdsB@A-^NP@0~r1~@)Rtgf(B-=f} z*LM;#&)2VTgUE_P8*(3rna4b(Et>WPS2&UnP~}8*X#`a)doYOO@&1?dRk4mCivDTf z#(uT#4h41_;aI$wS^*qKs(ShnYy;5W=nIg!y_ihTWD~o2k~nv?hxl}$T#V7ken9_0 z;Wy>|u0<)LA)w|dH^ykN=-Tb@FZZ?PH$B|)FmLjl<;&PL7xo<6d2YKB5Ej0VLBsO? zbu2&1D?`%fP%V|-P>~-Rvq^KaPkpe^6>s}AktY^!K{hT3XXU>UJq@V$Aw$OyH3oK)E4qCr3 zyd7w5h8~wWkr^UOsyT40(YkW`2et74Rf2Xb;yQYI3L+cEO+)t^?W+cuQV%h}QIsmh z%_GDxHj!h-cZJ(^N4g^2q(2bw384c$$(fW z35{4}xO@Gwd3@;_g?Ux)kj=5fZC|C`>L^s-Bzz(~<>+JP(iyg&FPV4ArqnMXbz`-O z-=`oWlus6f#^1uLUo^M zVaE}wyZ}saz+Z?+uU!r7tQa4#PGR|oN2%xu`EQN(O#nEa{WEnPIL=SC0dxgUiwDXI z8~s)f=X<6MohjF>7v?HaU2HjUVe^sjCi z^l?uVHk%ikJs4I+r_YG$2)NYUes%f)uO=}mG{R+FIr#5$PgKv6=`J>JYm~%3`fQr#+vwRcmBH%{0-X|EED+cF!PzY4YROVew^Fpi z-ifLQ)t#d4dC|o%v+?eJ^*$saO;10$h)k3MO=-^RV+2LAlgOUbFY{67+Mp zLKbH?Su8~tx-D7hR7|r+TrD;!v;?sp|9E@ekmX0t+NBY>ZY>8i2?b7yUSoKL6Bp6l zVWW9-LQXT1kaaFM8?xJ`1pxtkyW!Rb_NizaOi&cpQ38Q}Ao{3#Pwo2B-pFw$LvTHX z5m9u23-I}FEh+va4j748k4W36Zw0K9oLLke(`IcOa7H%d_+iu1SmKdT;v7NO@E2-p zIOZ!DreIkrxAt^n>G)-MznRswgrLx)#*dA>NNPr>=H- zO6^FuPsj9>k;u7sG4@|ilNmZpPzFgT4L4wssDvy%<3(UKBi3=@c;vS=wr=Nn0>H!# z;N8?F(`y&f-?xaD2;?KVq}L1!OzYyP9`2O+-i-o|M48}>qHI+xu58_s;sf~&wFwq5 zhm=GtJgx2pbX2%~a-um!xtQVS>gP`KadcWG6OPBp7)cEu9mo1>mmQuSyw%Yln}hu8 z#ky@xR^^4Mjl<_REm~UI{Y^mU?!a9Mf9eSAlUzYHDq=NSh(5a%Q+m@-kD^*_KZ1NrFrqN2GBJxzFm0nZpCgaeNtRp%h*e{}9xB4lT7D~omXKI1K z2<7EW&ju4$_s%-PHakz**a%h_;7YE+gps}{QYF+Ey`>tBSQ|ISDcA~`Awhnm?v1ym zrN$60q00&hC|bI_Il}-4up+- zd-v`JW7l4)t=#QWK3vW1VpPQ(rnPb1j>1Bd{GxL~+_*)MncLI?gF9UR77<(a4uxMT z?=uETgSa&TcP;Yc+*L7^E{eZhM;_GQvbTH(#cs$4P|%~Alw8_>?l_VXO~Y8lv&M}$ zLy=t2%>`vOEE$;4rvI6JyQ5&drALCb_qcDz<8$0Zgkm?6F@kgwn!}498%I`+dpQe` zGqe7quYE_}Kj#}7G&AJ%Msaz+6%PUwh?H9)LAv*Dd;d{~Sy5%a0hrUnwIkCb*>6M{ z_CRuZW~jB=Rko{u$Vg{?NiXCivp4}nV;-Qs@h3Tz^1jFO9eb3|NG>G!JLk|LW|lAKkuhXbFO zJB)Q~-sJnOvnGZnKu-NTCsp-PawMpJ#6rRUr)%|jA-@##sonC1oLdLL-1|eB@ z8osu}z2jm1@#*stye(#&-)jY_$H?0#hgNvt)(XE3lxU#!W?x6RUMeCxDeU0gX@`JB zU-3bhW0S>Hoc-#3Tp;=PUz;4II-geOiRpRFeq4Vm-iCp8C#+0WR;v`jKt0)7LYYg6 z6XLrCws)RX>_i>S$gS$T1HI0Ae}8`jz#k~rx7hhNuP$HhkUNb^Jc=T5jpbM^cg)$I zm%}FtgYGVJ#y<{<-!1ZQ)4MHQ{#0uu%EV0vFS?Mq}sFpHnEG* zd)l4~X=rzSdN>d)t_-t6UM)q-MG>n+QIy0DzGz?QNdu8 zwx?~%i~*p={z-tl9Ve|o@kafE%6nJ9rL*894e>alxr>taYJj7PGY0UG0?Dn4u}t>k za~XqE*2$3dROY2^jeMpeUXJhUPu)Rqs-e^EXg?yyH*5v)qX8Y}K4BFNO1`K+wHsMN zwAiog8yfuz>&5Bhi}r**lTA^JNAcq&0~5Ep4v(N~EGT*}C_9N+omV;Me9;iiq&UAq z=RVj58G*Wczfc$-rE3Ajt^0?HtTWCbAqFLs!9=*e7`d0|4M2**hJv^Fj;JXCHgw8u zGg`ICE+jn%F*mrGH!U&^x7TOkUy8%i1#9&N7*4nZpC`^!S|ao60)l_CazjoH{=*bv zoWzhA$US?_P9VKLejY`&mylgIzIgj(IvLIv(Uzq*BpmebGu*}>L_0jCt=zpw|cSby_qFoMUw``r4Z+LRuN;4s z4h`&qx2Z7%t--XbW!36@E2q-z2@HQu-YX4iGtJ9@?VTmPn__8wT+waxUY); z33<&p8_?p|K=$|Fe;>VPIyypbAd+Lm%&Yrh1M4iYK)1qw(p7yd#kq!KNwGVYLeVdf zn0Vss3eFAL@&X3ltr$akmy^^4{fE~_iV!Ty5%{gAkh(>yOuE56bRvS&4bNE0ixhs| zSQ1zRM<3z&#KFcT8MqMm)i359IC*MaY}-8p&Fs03c&Ieij_&i?o_(Z-G?#acstzoP{g3sF5U27b#j* zG%kdZAqNRL?8Hr>0#OXCfP?NS*dZcoA7iJ^0yr6L$_0i5{IX&+#c{4g*{HQ(ZACthqK*{Eza(_flsbkv-2>%oK(tYgQqdQ}3vY%e)PWlr z1Ss=(1l>pO>S2#puR7>=9a=L-pIfCliN)C%l9ANi(LmgT`?s1T5z&rk;z3kI?%oOFarse8gd7`bcyT>Q_Z*^PhZ?iA`J4u?;)8ltOb*hjmPc}%-k3# zxME$!Qm8^JAduQJrq+%X)BN5aRig=X4HOs%bQSB8ikG$7O(QXE7{~$-wx8c@hgjGP5iGzALG_5>RHzfM${aMkKkqd1SL_h7wqR zaz^brggtw>AWA+RRjWgnEU7*Kuyj^L(?);H&FDkP@-}p829)(tQr|oB4@h7GGOMS{ zBxCzu#!C*AnV+*Qd<6Eg6w5CP`0)j@oS6&SMtuyb?PhNibb2;~_^ki|YETk-LYGmg z+m?Vihm$l86S5$L6`T3G8F4&Nlgc4l^a6Hxq-RfLa15}58Z_9RlngOm3x^U%xa9FQ z2Z0af^ZwCHi_>ky@lOx^~M*!p%Qaq|qZ|744 z+PjI#i^^7AsiV^?8}0Q$qq$n4hLF<=j0YPsP-g~TCTNSZv7vX(4gGHn&pT-QWOFOB zm7GvMsth+Kaqi?vVtmbMpZV5=rsAMBbBzpnRbW+EPIi5>YKlHZv7g4)=7qegZ(b&| z(L5$?Na~p~93~-u@LeXH%}MVyGe@cMWOv}|OJDT(3(6PAcl8^0?}osB*M)s37F)6r4dGFyeC_6y8D z;wDVcp(7yrO&hDjBLk`ta!rTwCv4qCE(oHE0b$1bsAb5}^vL$|Qw|u0`Cti0w7*S8 zk}##dkTMSXk0N4*E(VSx?7&5s6INlIa+t8ylH(#=>KsTc39E$<1HiHrrUMeI&HuUd z2O~(&)!hGA{yA04?*d6|U|T@RGyETGam`XtjMy>NBSXnJFruHmWLKKqS}MDMHQ>CZ zEZLea0GObGAQ`yX=GL7+YZ~ZO zhcq2*;{NmwT>$;R`)pc}U!qo4;F8v#si|xRA|)t)QK~uN zq6^ALD3q8#%)y^|-lJTM2b?2p_=1Nh(AO%mBB31AUt$;HcvJsI?(38NKcZ z!fqV~F+Bp05g`x>dz(B;k1qXf7(s$Fw%uGd#PL)19?`aZW(=^>p%@$%3Y3Hx&4mMO z!;$Q3xV?k+6a0dhb`4N}CA_CMa9KXs#!6n~%#Y`x>IOt*BC5et_2D3(Za=*iXdKL8 z2%>SS9(quUP(`zjr9>i{B2jm0^2Awe#a72dhpNwFRaC>C3$v?UwxOs6h3q7VW4!#z zkwec8Y4}4I14y!NVL$vf#V_fNTt3Bg$D?RHJO_`cLj5Zu6=Vi@d@ZSQFg!r#N2w(c zmBLdQ&w5n$hn&sQm2;+8Paox$FGNyassb)=k_M&!$+h_5=+Q{@m*OmXKTDJ8I4r2U zSnxm-azfQZvRE_RK`k6eZkL8*C=8#g&k*x;M-$Rea65RWyn;f-gZh$l}}g7e*ErA4rB;7Dt42afKRTS`2H%Z!&CBMyxp_Tpf+ zZY-yFSk&-w14n!#qOu+pZ?_;AvRew|lXi-S^(a4v;?u=eO~Xra1V~d#aA!qwM zGc`Sd@vu_S8CsHgPL~r7CIXlrzY~{*S%ivd7CsyQ;>jkB z(Sy8Ce>H$LOn$#xH$M(p8Can<@6H)y=cz}~a8vJ-+aiMVBd{dP8_@7>(;{VZfhIom zPw}9QfGh`pZ7*)gRhEFLT`0nHErqIpbaIjD9B4Ah3+jgOcI#ci z|2>8z@RDzFQ46Kuiy>oFv{s^fVYMbG7m6bxlI(;*bJ}k$y~vE8%25%@u0V@Atm|G8 z-$9@9KEG(!&)P_^Rk;7W2)D!HMqEdedze$9M3&cazO{$58SLqfV~$es;{aN`qfGv6 z0Vp`IPT}udAzSDgxo9_CNpoFe+ZmR)3gx9>iFyG0k@rTy%me?k8m2ii+9Kok3S5kq zW6Ac#cb2X@hQ}u60zVc&pN4>Y_71+0P#K`;#VD(%;x2Yv~2HHXM&HrDP5DE$ergD`W3loSK4aUq#WvUbFPLr7>JpLr4s0tq(|=PD3|ZGnXrC}L(|v3rDk828j4qo5H!pZP?*xGT2o zQm7Gqj%dj`f}Xb)aWNffdLHh5Bn@zYlqk;MM2Trz7li@3{ETKyMx!k;BvM20w7%#O zon9{O7M71C7U4N68j_jx3DD2D?}y`w`Cfk}?LD+_IsdcZrmjajSDUut30lze;-=X7 z{Y*R1Mx3wjB7vbt3U*S350nCu;_r)lep9GoL zr|yICsPq`TgVt*iqr<>~=!w|>+g7Ohi-y8*&UNe@1?wf{tDHyXYzZw*C_JVf#JY`& zQHzZA-ZYtMMKwwLLBeokN`s{=5d>FrJcH6LYCd!r6kD)&qPn;{oLqZ4>hZ|^76D-VFfhR&#pncJF7jLssB;vZOz4P-bzZ&Cy>4jgaBAP~@<<;-)x*BrQ>4NFpNsDc|YfmXl_HBKl&X-YJzPw4zdEPiMh?Fp^Q zYcsed;@gdI*v2F2|2s-8B_NS2a7zdW<`MwcKq9Z4fNfKk}$XhIm z5?2sb*@G&bOcrYsN^98V65mFMx5N3{!q0^7Us2!vZNnExJe?eSq~kRmgs3f}K@aV@ zpt~2s%LPC?q_tSyFA26B{rom3;8=kPW<98d*hX-QoT-eKUv%(hsZ`j-(Mpz{6i|`l z=0{~h=X@q9xyhAEjO`tvUl)>56iXmBz=DY+t}}a+?X4yLY`qE2nveL@O{N=&CWcKk zCm|=F@dez$_`&y|gFim@@0IqmX^zL2brCRMfov zm;md-LysTrt7NsshzQ z2H!uG#wOqm+1W$1;)V?Eup^{IjP2o_5;HwYp*BYwWFmyVq9g)Z>zbkBB^)PRNQJaowKTHDfzx-oN_T=75e%_Uv$C|zz(Jh?CGLe65c=eC} g_s28%Z|6Xv%5ivK_b>VJJRhQW9sjH7ovokzFYSh&i2wiq literal 0 HcmV?d00001 diff --git a/src/Img/total_gen_time.png b/src/Img/total_gen_time.png new file mode 100644 index 0000000000000000000000000000000000000000..8ac272aae891d3f1f02759e15d7c2dfb3471fdd7 GIT binary patch literal 53026 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

!WOT<;T#sa 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 X`rH1?FIxw5uZWE|e4Y8_*2Dh?RHoK2 literal 0 HcmV?d00001 diff --git a/src/Testing/testing.md b/src/Testing/testing.md index b33d272..9f4bc06 100644 --- a/src/Testing/testing.md +++ b/src/Testing/testing.md @@ -132,5 +132,37 @@ We then manually checked the accuracy of the bounding boxes by comparing the ann On the 800 images, we detected 22 incorect bounding boxes, which is a 97.25% success rate. The failures were caused by incorrect colliders on some props, resulting in hiding openings from the camera but not from our eyes. All colliders were then fixed and the test was rerun with a 100% success rate. -## Benchmarking +## Benchmark + +To test the performance of the software, we ran a benchmark of 100 iterations of 10 rooms generation, with 50 screenshots taken in each room. That adds up to 50 000 screenshots generated in total. We then measured the time taken to generate the screenshots and the memory used by the software. + +We used to following parameters : +- Resolution : Full HD +- Room size : Medium +- Props density : Medium +- Doors density : Medium +- Windows density : Medium +- Raycast : Medium + +The computer used for the test had the following specifications : +- System : Windows 11 version ``10.0.22631`` +- Machine : AMD64 +- Processor : 12th Gen Intel(R) Core(TM) i7-12650H +- Physical Cores : 10 +- Total Cores : 16 +- Max Frequency : 2.30 GHz +- GPU 0 : Intel(R) UHD Graphics +- GPU 1 : NVIDIA GeForce RTX 4070 Laptop GPU +- Total RAM : 31 GB +- RAM Type : DDR4 + +The process took 2 hours and 45 minutes, here are the details : + +

+ Total Time Histogram + Average Time Histogram +

+ + +