From 5050e05816c607d5dfd0722154fcae73275890b9 Mon Sep 17 00:00:00 2001 From: hugogogo Date: Mon, 14 Jun 2021 21:40:05 +0200 Subject: [PATCH] functions standardisees, annotees et readme en cours decriture --- Makefile | 6 +- README.md | 70 ++++++++++++--------- builds/algo.o | Bin 103424 -> 103736 bytes builds/print.o | Bin 104608 -> 104496 bytes builds/push_swap.o | Bin 0 -> 104448 bytes builds/pushswap.o | Bin 112544 -> 112560 bytes builds/stop.o | Bin 103776 -> 0 bytes builds/swap.o | Bin 102944 -> 102944 bytes includes/{pushswap.h => push_swap.h} | 12 +++- pushswap | Bin 94128 -> 0 bytes srcs/algo.c | 23 +------ srcs/algo_bubble_sort.c | 58 +++++++++++++++++ srcs/print.c | 33 +++++----- srcs/push_swap.c | 91 +++++++++++++++++++++++++++ srcs/pushswap.c | 53 ---------------- srcs/stop.c | 2 +- srcs/swap.c | 2 +- 17 files changed, 222 insertions(+), 128 deletions(-) create mode 100644 builds/push_swap.o delete mode 100644 builds/stop.o rename includes/{pushswap.h => push_swap.h} (82%) delete mode 100755 pushswap create mode 100644 srcs/algo_bubble_sort.c create mode 100644 srcs/push_swap.c delete mode 100644 srcs/pushswap.c diff --git a/Makefile b/Makefile index 686b455..8727333 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ # variables names # value | .h in includes/ # - - - - - - - - - - - - - - # ! name is case sensitive | ! use VPATH only for .c -NAME = pushswap +NAME = push_swap CC = gcc @@ -19,10 +19,12 @@ LDIR = ./libft _LIBS = libft.a LIBS = $(_LIBS:lib%.a=%) -SRCS = pushswap.c \ +SRCS = push_swap.c \ algo.c \ print.c \ swap.c \ + solve_sorting.c \ + algo_bubble_sort.c \ stop.c ODIR = ./builds diff --git a/README.md b/README.md index a6dfb3e..e42adc2 100644 --- a/README.md +++ b/README.md @@ -62,35 +62,45 @@ --- -# markdown rules : - -# big title - -## medium title - -or medium title -- - -### small title - -#### tiny title - -##### mini title - -###### all caps title - -**bold** *italic* [link](https://theuselessweb.com/) - -1. ordoned list -2. ordoned list -3. ordoned list - -- list -- list -- list - -line : - ---- +pour utiliser l'algorithme de tris de ce programme dans votre propre programme, il faut : +1. copier le fichier algo.c +2. mettre son prototype dans votre header.h : `void hugo_sort(t_stack **a, t_stack **b, t_list **solution)` +3. mettre le fichiers dans vos srcs dans Makefile +4. et verifier que vos functions d'actions (push, swap, rotate) ont bien les meme prototypes : + - `t_list *sa(t_stack **stack, t_list **lst);` + - `t_list *ss(t_stack **a, t_stack **b, t_list **lst);` + - `t_list *pa(t_stack **dst, t_stack **src, t_list **lst);` + - `t_list *pb(t_stack **dst, t_stack **src, t_list **lst);` + - `t_list *ra(t_stack **stack, t_list **lst);` + - `t_list *rb(t_stack **stack, t_list **lst);` + - `t_list *rr(t_stack **a, t_stack **b, t_list **lst);` + - `t_list *rra(t_stack **stack, t_list **lst);` + - `t_list *rrb(t_stack **stack, t_list **lst);` + - `t_list *rrr(t_stack **a, t_stack **b, t_list **lst);` + + + + +ce programme push_swap.c s'organise de la facon suivante : + +1. des fonctions pour faire fonctionner l'algorithme de tris (principalement parsing des donnees, et les actions utilisees par l'algorithme de tris : push, swap, rotate et reverse rotate) : +- push_swap.c : contient la fonction main et 4 autres fonctions : + - is_valid : verification d'erreur de parsing des listes données + - check_flag : regarde la presence des flags, pour l'instant uniquement -p pour print les etapes du tri + - init_stack : qui parse la pile a trier dans une liste chainee + - launch_algo : la fonction qui lance l'algorithme de tri, en lui envoyant ce qui est necessaire (les deux piles a et b et la liste de solutions) +- stop.c : qui gere les erreurs, l'usage, mais aussi qui free avant de fermer le programme + - ps_stop : recoit toutes les listes chainees du programme, envoyer NULL si on ne veut pas free la liste, et le dernier int permet de savoir si on veut arreter le programme (>= 0) et si on veut signaler une erreur (> 1) + - ps_error : la gestion des erreurs + - ps_usage : en cas d'erreur = 1, affiche l'usage du programme +- print.c : contient les fonctions necessaires pour afficher le resultat + - print_result : affiche le resultat, et si presence du flag -p affiche aussi les etapes de tris + - fill_solution : remplit la liste chainee solution au fur et a mesure de l'appel des fonctions push swap et rotate (pas optimisé pour raison de compatibilité avec l'appel des fonctions du programme de luke : les actions (push, swap, etc) ne recoivent pas de flag en argument, donc fill_solution remplis toutes les infos necessaires pour le flag, meme s'il n'y a pas de flag) +- toutes les fonctions d'action (push, swap, rotate, et reverse rotate) + +2. les fonctions d'algorithme, qui sont appellees par launch_solution() +- hugo_sort : pour l'instant une fonction test qui utilise toutes les actions (push, swap, rotate) + + diff --git a/builds/algo.o b/builds/algo.o index b1b7158ed89c5c37a184fe58bf52370c63a45e17..bf974715209ae1e128966c45ff06b59abaa93cad 100644 GIT binary patch delta 27965 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 diff --git a/builds/print.o b/builds/print.o index 7ce61fcb4f9a540bcd6f43e06246b6e193db4c7e..2459d08857d44a36e142edd1ca4868912e90f0e2 100644 GIT binary patch delta 10460 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 delta 10539 zcmZ8n33yaRy6tKLqyvOBTjvH4!kQo?X%xaH&^VAp5NHrdKuDT30R@^x2zvk-I>-_( zZ~#$=%ZH5P5+exDd4tgzHKGHp&W!kEG|c!OVNnAJghl35S0(S8>hDX}t^b^VssH{} zx9WD@daKdFvPRpJ#P?;%DGlsf&PVN!8uW{e%M7i$8TxtC@N3QgIQ*LJi)tBtv0vuq z;WsxsWM{a%%-lRQIy1y}{i>Ue#Z5D}Jmlc#y!?uYmQ zwL4R)w4=0=qbo%Y$D{PJ|1K|M0}c_Tl(S=})nAWQfka7)vm`Ti(E>sXBX);2mj*;5 z)srz!vR`lXQOkyo2GIkW3~Z9s(i!h?G=I?1AlBa4xHCs=dp~PaUeWmZPK|dn45!0i zKC{PQQU3D%og4I8cGcObWg7pS-C7=9UVjl?IV8Ge^z5|g_3te?vf{vy_tK&dyjxg) zBjxm{CJPo8%v+qhXmMcr-15&>eA%r0<Kmufv@|2}kfJ6s+!I9lo3}f^$V%4NX)e0jS>GOT ztK|RxE&Ry#f9tX1&c=&xVPcF8_`K8hK^v7O%KF|8S4%ErEA^+;YGP~%!M|^1e`Tcjh zjNjFf>!x;Twa0s(jzd;Y8UOBRwINzwXH9nN;jb(A5T77s+~C zT<~~zYE*hW!oNC?M-8o5ZS#F;(_VHVTjbi|3%TCco>Ra;jms%4{g0oe1X+f>)(%|s zSQGPFvzw;pAk-n~6aql+OQWhY-w70=l@mpcRk26l3k z(wVL0vXOV9uJ-EkU+1I1ulNTHJC}6EUa>1Kdy>C0(3f={elp|*w)kO}psIA<@rHzM3KC*+G6^wvS)U6$#$ZeVpH0Z0km!yw|ll00dO2jUQr&Q}5okcmM^V^-I`82y8*7-Jb^{G^6lx^v z2oj@2hVY;uisa4vq5!q*SvR&T(inq$AAHedJ%OBPI@o~Y(NsN#YBrW)WmVU+;DDo+TJORE~-o=f2wq7;h(+J1X@#nCb(__zl%7~|tYU_d> zg+O!q_=nzUb~fOTQ9@WW$KmF*bp$n%ylbnnkztTCkr>B-Uf0iyxdwa-WpT7M8kKR( z#9GwKW)qU#Y+gl=ps8|sJ4b^LDjRcT9CW|SuI3{^Vg@aqlFkDF5`@p#=+H+ zF`k3JC1c#6XLEYkC*h;( zl=fr;egQ$ktd>wK#+8OJd(OKyF0>LU-tB9Z(q=>Hj?Qg~A%7iNtr_X8sY>l71CBun zVJ7&S2fyfpu-f2utXBdBebGqpFQKWbM-1 zFI{%^gy!n=eozn?zK^Grm!9S+sBv1(rz7 zvh^aSXIs66pLC|S8J62ER{}l7>iKI?W$|`=idu_vYYc)3?Daw@fpvF5uY@-ZTd%^~ zmV;=nhuX+^v~ltfPMD}eYh}P!wqZwGCbE^bo@U_lQPY;AK8?h79PZO7YDZs_^wODc zkmsR{u!u%wJEmwa-0i88i(q>SxkOLr@^-Mj$h5ZPsxhP*L-`frKAJyV_bf8trr-%6 zS7f5(K0e<5x<^ii38}bV+Rp$eWhpndV|^o{tjFW;x;Pz>jr!RRUH^k zf>wLafP2B+k&g0^+>tk{45jQ@A-(syYLN2~mhcaH@eoGlHbW#b&D-HkWaiGIQ1(8; zVc9&5GgA0ZBzB^O(UX4t?k_z8<;DCi_|ts^?at&A`_ph~hjp|%re>Qk!}oMy0k z!`GRt?~v1({#PQz#`>&KvD^mvuLyVMU0Dln7m^bY=)#ot(it}=9%r|ND|RR&$%d`5 zDC$bb{osCFq$01ch{yL`MViVj2fjgP5ope$u~)AX(0uEhtVFDVA@RqM3F5Il|Id7}d$* z5ce`AJ(!BwdM28lGf>fkv3EvI55~Sn*NiTTde6(?zn@0_rt@ifT!$jUVixw^Pg|!^ zc|YrX6ns5-D|Vo?C$U-_?@6o#)v{>|s~4LA$db)U6!v1>{sR@V_cdyI(O2WqYIJRl z^8Eu6Q)ur9`lpbbje-;|d3*JuWu7UM;ZCKk7j>rQ8@7HAA7Sw^a#HEP0ZJu#)-%d+ z6V=q`;0uH$>t|SL999n$rtz_T7x*BJt73LYvCT4m9*JIt`5OFQI{E?yUYhtV%Gk5w zw4*+Tqg+%;I72@jeFj_&cW;`U0$*>MOhry_PUHW6PO&@&`F99Q)@!Jyj@3t}$t=yr z@IF9~Q%jV#StDf#5T>ib2N?ZWRLI@|oOwW;uyP+$I@=7#<52b>O+KO*4jo>7GT%nk zgS0gO$$c2tc>R<+VHoKzUq4ux`l)-;K)H|Y!$ZtLc>B_no{-!7^09GLPr+t}#y6V&kZvbl8vwV6X3>s0ci9EfmB>f^rr@KD9 zC*dDJBX42v0QxCIrEH!+Ers6OOO!1$>#g*u^v{N?pAj6$xWWhxq{+Sr59BQ0$=3-U z(HMb2H2fEo4B{5z-ZG_W8Pn~02p~3zELBFf8mts} zhto(G{mx>)0ry6LuxO9M;T&xo4ztNRsTbUj4DvO-^nY&3*DBv%8S*no93f6{>r^#@ zA-pzCu@a2a{w%op=EZuUNWn=4JPkexpU@MkuK}kaNSM3FPzIOearz8B&S3owVZuDk zi%gQ6!^&hmynq0ER^?{pxY*En2PG2D)~}iN81P9{NLveWCX?w;)z5+t4A!6E&!UmO zbCi$M27C%dglS}N7LEK-Z=G%#te4?_ghp2CNTT&}UHATA7<>}GJXiT>W57)je1tPU z1!5#q;DL7}w@j^{ROC4Zc^67X($+!^FEijjqe2>)iJFl-el}jDjQr7H6`^btM|BF7 zqqxhNsgEDm4c0{jAEm7pD1B6Tvi9k*w`inn)(!5qeso!eJZhcdbu{D`Ax3k2&Gmz4 zkO7AfkTCSQI@^GkqGB{-N<__Q##FmY`B-eQe$m-kVaUJJkF#}#d@%fDn2(ky7{eN! zrwjcBgO!gm!eS??WU~_PvDCSO=*T)BF`#W!-1EtQQ@9*3+$0Y&a)==_4PghTr6 zhk1ZpU)Q9&wR7jSH?90SN)J)`%-atV% zo6D%mrlIw4=aAA4$vHICWvvP}!-#o3f@E2L+N$Jw&ei+zpi~;k$8j1Ftx%oAe0~V; zBGCfqkj+Ar zO{VAXbUHd4gXxK?$qZA#{RAJ}ClP#thwCr&I_ERUhajeqH5>ui3`NBhTArbo4>Q^X z)J&oO_tAeU7v4d7e`*GugtDphKL}N_NryX^&1(2^S^Xc*QvS_7a$l74JvS%eaY_CW z)qF){c~>g3Ilwgt+{!=fN=0I${3ownWlW)2Xxuz^oktCyv zrxR?NAr@Ezb+*l6{tNDz^!o#Rvf;1wGa0gl5PR11dTXWE|N2VZjWAhO6MfFni)B50 z9by)ZjD$6dCif#tHmgv`##*Jf)n=~#4;8bR%FLxIa`V7A9sb$8u|-g@8BkM{&8ElM zsGQ9e>2U<}**k(zK0T&QRyt-54B4DUYg_KZ(EXl4z4-OO*Q(@5gi&%m3s@674m7cV2((#>VBur zQ}IN8yO!JM=ic2rN2JG!Z{S`oI^gGJBHopEUXillE)?m`;wbsACi1^7lIpGx^4e9m zk!pi5X|98MHxq^MGFnPoPD{rwC`+%xzg(n?ml0YnhVUnzO4;PWwSvt%$db)=gxI*g zl^X(nq7mN6rO36CvVXNuvQF?nOIb+D8nsk1zAs!!%je-*MI&vH#l{&QkK$EguTI8YN1kD3yolLAQr`qcnu;);Bea3` zc52y=2(Oi6C*8HKt>Re-Z;(7Gdrr%EqLL|pAFhp*zNe)t5E)K7iZ@C>?Ua5OgjcA{ z|CZcIU6fQ=aQ2&k;@^_IT#E-Fyj2FUiPU$rj5jHA&!y~BEn_~nNnVJuKv!jQoW7Y- zR<32tgszQZO7CfD3jDj6pUEgL7K8b#L{>2$BCgG3Ozx&^t%ZNJ9JG}EkCr9r+dUOA z&obl&-4%5J{IXs`&yxC(mbE}ws=KyOHb%?ZsoaL7Y_66iAq5Z=LEG$-PO`3GNLoZoG1`!b> zA_hc6aNmYOMp04GQBY*iQC!AR$KBCk6!&dL6#er1oaMfE->oWO=HH(Usr%mN-FMe> z&pqedbML#VFg&oVt1D#wxzxQ^^?DBBF1@}S z;k;fiAY9bzC4{^6dJn?Adc6-G8;gm2L6TM@oduWv*6 zCcVBL;T?MYW`u9i>$f6&n_j;i;XCyDoe1Bh*Y8I79=(1q!oSDAsiFOk4qfw$BlchU zm!bVjzq#hhzjR%7;(bJUAIHDYr|9Q?`uQpSyzcW4niq!lU->w_F?4+a|3X98Jg}02 z8&VW+X#c|;|Jnx@5BeAZKR?67yI~yh@XG!p5IlZ;=!Wqp>0vYuDS9zp{0{3z5ABofnQ`(fa?pt7<%K-4aYo0X&~MY zhq}H(#nkfc{|vp$ML{K|P$5&g!sFNM{6*I_SN0DH@z4g}FfVdhs8&>L?gR6LTl4b|uH6;7 z95r4}&qFJzQ9_5%kNx*ihJ9q&%7f@;*)k5gmxrfk7emXsRxsGLl7rRXvV)hhc1^%VpK87dH!oSe+^J$Rl z^$Q7JiA+9=@Y#efzkn{~t?;u>Mg$>Chc<0bcEhNvE9T+~evKu#4!(|69IE*9pP^4uCw#wb=H}TzexjTz%cHk0Z zdn)ko%3tFZ$?;fv&HT|oroXN`9tX-f9;>f%j>k%l_E4O3H_ZQ>be>{nB4d0;Iw3FPC!7@cYZ9 zTw4+U$ga~5JNn@6!%jNv$gZOfI^y`-)*p|2P757;@cBSPp>DlIA1yx|C~~8qcr*wn z8R|al1qYuKE*|~D6VE*nbfW;C3b69%uI|GQJ{WNh?!pVtI#gc3^DGj2_Ho`V`W??! zQbc)nNN?8*Pvq1OKJ&!l(NwkzPI$xm6DgTP!(P;7Cxk+W`MJ{V;kea===KOZAuk!U z%^LheE8>sIkFV&*9cAXha)~WtBh=OX{1tq;yn9(V+)a_XmoE=e<$`#M& zC#O71fWPm4wp`rReXzd$zV1V0j4tnfp!?A7XCEf`as?&&DTiz9H+CHnK8BM#?#S@5 zbg_JS_xrn#l4!?kG+;+4Q+TB7XnpmoUB`4Er@0CwFMYS`*f81&Um?rb;?&nF2tDYa`4qe`Tbyvh(zP#%cb9qhID!mN9j;qvt zz*MIDj;>RsVKvdube$%No_2beFBCub46Vv@wXwp|!>67Z#sENfNaXJGdL*8?f2eD9 z_&BcS^UiX*q5G7xrC8m|*T~z;yH8(h3Vmj;P?shYmd@yYq-&j&Z*|lvo)+@|b;XoQ zj*sibNFt1pgHAry?qriF@dl!#k1S70swdc;ygd9ao+G*+KPZJrN2Mjl?xQn?-m`)% z#~)2$JiYww_irumw-)$Y3;eAG{?-D2Yk~jYwE)WjEOLa;An799%fBz+-}C5~V?f!! zGZvlvH&&3bC$wTO|L)`8m+&tcdqOM7+!Isr zg#_11@Jb1;li*bn?3dux5?n9AYb3Zqg4c2ozFC5|Nbo)hKET0>@51rek4f-r z30}cc>WWu#5WY_CUL|+?C3v3%ACTa~5`0X8f8t=pC*|%_a(BPnJs`nn1$;>E{#k1qr?;fp*M)%H1y|_>~0zBf-n0g>I1GRterF!QV@84+ksQNEHfyT)+n< z___q&kl+UrJSxF|N$_V0_Dci5S^{ZqZf92F!)$O65u4G^NW2Fn_^bpEN$}4Sd`^PT zOYm*sn-juE^7T>tE2Ej!Pf^80qY3jErgT@F z&heNgR;=Ue1pTfMnmCuQ^Nbhhm&?NXQ#j(?e?mIppCtIC1fP+hSzruP~^EDYfLSgBaIA5pvSB5HgPM8(J@Os9%i^4;EUF6?k{vG3Aslyas z%K*QWueb8AU7yPs*}=cG0uTyIedhUkiGR6Pfgvx0U08Zpn0Q#&c32p7SXguTM(M_z zB)CO_H%f531j?x2E_d&e;Jp(3g9LX=pnT**a`#~g#3B@Cdv++ywseenc_#G9{n5(! z&f~hB&%e^L!v3~0BJ8ip*H)i%T3?sczahalIp7CXj$Y$mX=FPYA)wYK<(V|RkKYoG z$}_3*Rh~mR^%FRTkg!caXENTyzd}qr#>2w**D@~iJCFBpk`WmMLSz|6TASz`#)bG= zo9hC8n&)33N*Pl9j0l0s@ET;qCRQ16@;Z;-D0gp=;0_7iEWukOc&h|Dd3-|dWO5G&XYPmj8JGDa&g5kN70!7I zUrTSD&ezgg(oc2|$B^Bi`%2Rae(>d<}c|m8n&&r+7YdWFnO!h^2_9Y3vB7sbA;eV4mWhmd4JC#+x zFLyc|ek6A?9K!!4cR!WjXA&s=tJL%x0e>gKA0$vwik3ytbWcd|R|%e!;A)|G9XHp? zoerN@%iU`vc&!Alli(%^ZjnI6v)klO2bzvBmD%1Y&)zM;dnLG2g1aQRTY~pXAktm< zLvnYo1Rs?^MLr#_Duk=_{b`A!a-fdk&k6W15`0mDFG=tf3I0_A6&$}Qci)oWI}&_f zf*(roBMBar;3pD1Cc)1o_@xBDmf*J%{9c0pmf(*P{7Hf*B>1ZYPfBogH}{_^3)jls zbrPubDjG!i1_5uBK*gw=Q@MQ`9RRWc)zae-3F2T1Y z_^t%sm*9sI{78cTl;FQ4_^AXxli(K;{7Qn~N$>{={wTqpBzQuCze?~jOj#IX*GO=! z1lLKhUxL?2aH9kVBzU6)w@Yw`1aFn#?Gn68f_F>s_Y&MG!TTimM+rV4!3QPyumm5G z;A0YeT!K$ZaK8kfmf%4N9+Kc;2|h2u7bJK@f-g((RSCW(!Ph1DrUc)T;5!n0UxFV> z@FNNSQ-c4J;HMJ&OoCrX@GA*^Bf;+^_=5!hBf;Ym{8@s(NbsZtSBIrnB)C?B>m=AO z!Sxc{Ai<3i9FX8<32u?#RtavC;C2b#EWz6(cn1e8BYb!zXML{(ACcgr9ME%Fll(vF zYR~0_Mf!LiU2}Rm4_q%SLwUAp&&s-098wN`Kw>H*zgg~HFM+ak6`Yj2zfqnElV9;3 zzFQ%jv9rc@A{SOPBQC5g)rBLBpTfVV@vmq}A~vy>v?5CQ3Ko@C#OazFR;n*z*D3LBiNS|XUqJGKBVLK^2E_H!0pPs%KUo#Z2;+j`EQ1u{-s%62NF zQbQ@H)bp7L=OX%vC|BilL^KoO>vb}Lt3af(kEl+ZzX;q)6Z@Raw5DOz}%e?_Iag0A^Z6{alh>u8QAeG}npZY_>2E!L@(IcJV1?Ngz*`ThdB z26c?H<9iHHy=U5h zj|Kk1Y5uj9sD4I@{3}BE6kkhwZ{lkf!YS<)O#eFYBm9ghg7ZCw?}bie3<&j!iXf$A zdf?bn9xiqG0)CU*WCe@*E4ZIma6hlOl%B45G5?nNcPsyL`-U5I9d7dPHu~jqs_d%j zuga$?n2JQog|LVANt}cjN~_x=Uq-jx_c9Jy^>W#q7y1m(SIh|ZPGd;VsckQ;>rFGTm#f4C>iM+6` zw|CvlbhWwYA=bmENorwVFz43HkfEf3EY@wS)mmd@OukQ(7ZrQm;=Wyt1^AUNEo?6@ z?5XVPg$r0Hv@|=tuvqWijur}SYb?&~S}fP*<{JRI;hRcz!zG%|e{DN0*WjJn+FkRF zdZQ`tE-cPZ&u)`zyjEMgy-}$*=GQJPR^}-Qq}FUy7MJE53lgb@SLt#^D70s8zP>R1 z5|ioN?6$S_xuxoi0t<^vRf>5KWsA$T>7==0$dm!iQ$t;Ln40m;blu!8PVe+8 zP1p100ZIao$F=yU2{vZy(-pc#(Y$L^wz_Yz!Q{YIH+O4eX(`$grLcCoj@Fr8+$Y#V zW2RA~)OYq+lR zel5>7_AZt&@Tsdo{y=wuz!!8^xnoVQnJOKa591 z`Hh8gf3Y-K9POJ#GGlp4C=v^4!AA1q>Oog3O|Lf<{g!QHD~vI66=qElzHsrUZ3@=W@d1 z#Udw&Ff`MMr5ES6_v~FADVJ$j$I@jpt|LH^UNfDf$9p5Eo{CEVRC%SNa)gle#mN#k za*0|nKU_dl4speY$59l@ePn&PZ)$?;(o-(ih+ug{?W~q-OY`NOmA#Rk)yNHPqis4d zwtlKKSstG#j^Sr)vd}llrSAOL5JL&X(qAt2m$(QtI}p>EZ(yF8rC~$8!5t9aklkD= zhDwFPhH|MeX|*0mu{e?+2FVRl@iU=nBN6x7sYd{R%2YAVrLZocnP!rEI_EzTSBNtzan_%8?FFCC^(^+XU-?t&(-#_6e@3)*E zgL=wtwBQruH8?tjLA-te8$vT!{N|Cd5YKs6U*2{e_^6L z-aoEYL28L)47>xKF;W;AL#rz3nql68N?|ld;fRTB3Mhs#590p9=-9*vl~YQXHSA28 zSq(E>Xj5r&j5r|p)~4bBC=rZus?gsfvIUK88;%%UvO!A(X)b3dcw}sJY;tTA9J0^U z88s^vM#`i3@mW&<;o4757w)k-Zh{<3gzo`tqxS=p+1e`7R_0(2JYSLbyWKC*e``r8@Gk=!dxk0(%O2t9bBGgia&ERK~`N^r0 zK~Y@H6*Qd7#W5bd<_39C&emM8K0h&01XWB%5+H=OQzshy>1Iwl3i9yB#O&NO$p-Dm zh5wMo2G4Lj7jen^#zw~T6A&Rr`^%+G`SEgaGQvbQJXr+)@@FFhA*rP@=7!PoV$bNB zk+J^5Y9n$4x+cQ0Fi(u)UwJWNmsInVf7PFX6V*Lfo zo2ER-Vibe8uTUzDO_XS=AK;{1P_io)%aF9nBa)lBL+V1)s3NX0w0-W=8_T4Uxnv?0 z&Bo*LY$g@W@2tB3o;%F%nT|?mTKnaPX=P*2oPtDBKr*~Tk z5;ogt)XRH_U6mn+n3{kE8#yo*Pl0MhG}=5q7^jrv&JZG}J%|ab4-F}7mPl6Q3hI6D zE;Ill2Up<UeEUSx*cXN6K9dD)!Lnj_$p~FkO&LaB_0n%F>*_FF7y{CAk_7c>bz#x z{M_Q)n##;{1p|_h2qP#=Wnm`@fk{7K8X3)lKlPj{(UAY7NEk?s<&icmPwLtNk(*4_ zzMz3LlL->8SR7=5O$e&AWn_44Y~1f+|2{+nKFV6g=opU$%$r7`VL>7tONzo07$jvV z2lE9P+>7XNY@!DR94=25M#hIp2(Tmd4bx=6u_A$JR|IGZZ=tj2=Fc$~5h4e$ zjK=QB8PqMfC@-#teiRM-HJeMTBj=wViLUnFeCboZDiRhaBCp2ccvr=CuM}7ET+CX5 zPQ`kS22%BsRG$l{iiOGYXr2YU;50luPE_#J8f^PG$bxhS(lY6N@E6vHMB$=w?{Ttd zoHW|DlRssS@r4obl#h{@p`nRQtd|ysi=-_g6EH90yH_yt1^>1Gk6cMqiqUV#G(h4= zRYc!_lAVV1J32KCxgJFVDBMYBmEf^@F+xvKy_2$qidk$@9qDV&q(@L6zbCuMM zXo(m;Xba}t=K*sMX0gKXWKW&=Hh$LO)zN`|Qoe~54;z&XjHox3&1Dj?WG00`0wzcjh>-$BJr%Qtc%CGEZnyw#*3+3h z6A)`nB9&RPyV`J4X)aEFqc1LUnQQ9rJ(MehxFXXjo1b^BhiR? z=*7X&{IIPOibz7G>o0&*`yloAmj@x>Np;O6Y>E*Bsk2Sdqdk(R#0=O*qby^=V=q-V z&<|TsjiEyS6m+#gt20`u%GSh5Q$+c|Nctwqn+G79iVWHoM&aoxQQ#PoMdWgXqY9jSD<{JSl=1XG=Fq zUE0D(*f)fz8Khi7kCAZ{=0T5swv=EZ94?ngie*rWL>dvegY+Q!6KG*{Y6NyX?l%&K zcUGn$C$(^X7T-~((cyA_V$f9GyF)@A6)5eZncGo;;qk47g~`V&EOL@rZ@4g+@7uye zZ39%D()!^IPc>QS*d>|4)8l&9s;=NG`+F+$v!G3A!S%9CS}1v|R^2Wd8^=Ifs0+z} zG`SKlLT6y?^z2=;Pb|8TeE|Il$eWdVdc4as*!I0Ta^88k$TTs!Wt8Z|txT)KVDVa> zG$W7s2aRe|Gzpaqd_n05Y0q1(c0%K^`QEgc zVu^Avjt3(unHO(f$b79j&QB4Ie6E@l2L-kh08F%*`=}!C;V|fH8KkJcNZJF!&-=u>vjN z0!-E>9fJLsMF|6E0g15-iUsd%a1fb(ZY6hw; zx(6vLvnQql<+nGNjHXlRB!*Hfo=m5bNfHxbdCJAJX_%s7Fh5~<#gi}_Aqg-MZwTjl zbHTqtBAe{*M=Yb%mq#au{_l!?q)b}D*d`?C&->7sNcABb6dU|XQ+;HUV>O(~&*7zH zcJVc=bih<$={Lg5u=Z)2GUPcoyK*^uHOg3xs2e&zM&YSgLGcWhbxRW>S`g*DXP#EX z*7&9n($;MbC3lz&MA*esf0kh0hA!na@C0oi>4BdJtL7je-<-0VR^w>}RK;K6jj=Q_ zHJ2q?W&qD{j>LDb!OvbY0(i2t_ZW%ng~~qNq{OOA(=&_Hvv3?y&by1yy{oBayYYSt zXO5*M!a0$~%t8at)$+4yer|qGnr;Abx^!KutzvV- z?sFnn5?|7Ziq|5B#|BwY;Kj=ITP6!^0~h^pN*4)y%ZFE|5O*WkM_}~CdXv#uJeN(T zVMI!1W0`0snu}w^HiZ89ZR+g*#Wc}8~6P1hr5AwgESgguVZdKLQ4 zlRaNFhLuvR-%N}R`(S4(v*c2uwl<~@Rqx2O$f7qgBS9a0)e*zc;w+PGf~m~NWtJdH zq9ln=L1EM%VHqgu;1FVFZXIB49-|cFlN0^LfdP*47R2E}SV^%Ek7D{HoVH0g z*htCHTFytriOg_>#M8!Sz($RE6646MHBjft+LIz^G8#Wb zt-JiBdIK^uDO( z%xp|O99|QEk%$V&CCGV1#&KH4DkA&Io@RYbvkphPT{M3hG(vDhanmzK4T{25VT}D0 zV0)nQ7Du5VMaV$m-62cpmGHNK4<0$7__uh%R#Q0ZV6maHSgzKaGw>2^$5P0oZE^e{ zL-8MSH|SKhp3^k z%d$@oT~fRGGEFz8+Qr=p>I=tb6K%#36ki^KxlPyRNRX#g}vkx&Lq5X@;{!HjdLN(2!xBRBxU2?2a^}S|QMBR#4&dE!2L<^Djhp}y8epF+`29g!K{5O$ zHDaiZk!np81QD=YHku+DPW-CKQc4mA>s;-96nNcLSH9535ohU(RsX=sGL^|pkYE%o z-H7^Vlj@>=SymqG#tuFSv^D9oX);5U*AKw!XR|nskpYEGmX^y6Sx|gon{4(0iwX=W zSZj^3ZGnEVP=<`aj=WVo&&&x^;_wtZ3L*xtqMOy^0T#wEiGd;X4NtT%31AM3a6~*Y zg9&{@aF0I&(VK^hmoI=8?CW+8sk3jyRLPlPd8`v8BsGxvH+bhEA4S zWp`$wi!6oYLP_&{6TUjr&3)zO(rj%JR+@;X0R^o7fPD&tgX45_x;9;z5ob17i)G#+ zMXT6XoE+Z56%hXsVdkKRzMS9zylEs2Pcrg+Xnk2GAa8q;3dWD+%iCU-L5uK| zmCy+pFFPJ}?h}+sc&^b-l>?KULrXIeyOV?^ka}tynV2v5?93lx16Y+S(I8{S#LKR< zLQ`Bn1?`Ootb>^;aHCy&?s8fja}D0A9m?b*tH|mP;(HLwNCT-*HyV11<#Jd=qjb?$ zMh?Q1#j7@LFuYqT48kf*uVB$)Y#cn49kPv;9rCD0fO^e|i<=6mu9U2IhXe;VZ!YK8 z7d=KEi^h<+-@BGU!=Hie?r$4`GgXsXc_KeLC`Pyd!f_xN7RkYH9FDRBn6YHCYC%y@ zV#cmAM_!e9q#_d{=zKtiCNr6OVmqzn-~q&z@gn@V*H6L!%DRD+Gs)IKGITjz1jM)J z(V82vFHyWpW3arZlWBBqJPQ3iEmpSCiwYC)@Izzs6{171fwwt)tDUKbRn_ekT7KkB zLcBSk2YikM4Hqw$`3aH(r=~2xsuv*2)#tE^5B7^!>R86dZ;ad}#PR_P$J|V1aT+^V zFlbiQX6ob)vFn`3Dn!wAP@Az5+eB(?2dPI_uYrN2Uv4n5z$#L~4Z~zAA%dQRfu>n6 zLz<*jWP^a`*5Qb~uwykP5kuTFD4P;F#+B#=6!_xkrJUr>#?HC-wYCzqLw(Ktq=eKyiS=_uqh+_q~jw2`=mcuZ|b{0!1n;?YZFdxRo4M=x1 zfbH2;-Cyz>AR%oGm8V9rxu9PSutY@wHs>%AA=%air?x0EFoK7--fT$#q3w%vRe0Nz zt4Pr+Kvnc}wg?=?r#+1Y>4xDQMv6-Mf4Fq&X;l6=s!aPS2 zc(uRx~<61keOJbmF$2H)&6!4iNIan?Eo>?4heN6;@lXLTH$U@DQoCt>`@Sqj3 zLJi+#G9_>u`M0Q;t|y_&t1`W*-YEPjZR3=0ic2Ty5m|)P%p}V@J!^v?x87Rl8=P}+ zxr1{LLP*j#Lpq|XFRjC$9D)qgVp`uCDe?j{xw29x7^=2?q#&IrFGUP76x)WJ4$rv6 zfel{Ncs9T>XkpGbSMhZS5{wA;@mMmG%qG%Fb&oOr4?)`V%SR#;3g}2qEfaxSJwYBAHFY2`iO}W?_MhXOdVbfKOHwKHr(f*&woE8g|Y)weV>u zjl@Cig=y9pTi0=AHJTr0TbGRKDKFTzc}8o*{0xawL5T5*0S0UY9mV?wz!GR!q2a+a zy}5>bQClD+5fDyREiBG0TuxMKi-N{-P5NQ0Ag;S+{PBrg)I$)mC|Nhh*1rf`R~1U} z9SlA}ei)TyVz*c%o*WvZ{RMGscuOa}ja;Z4ni0~42+_h{=x-B>aRy?1KUN!iB*d3>Sg}qOu8rU0Fs$Cpftc(r*sbI=>93+4cx!= zYwwK%Y9Y_3m#g0L2u1YBAHCVmE=3ha91;a#rUj|kKnVPuwcXO#)I=Xy9oz4XVeQ7B zJ)qmb3Msk`-0R2#VG~>o5s+9V!>0{ym)2+h8Ik5?#ef84E~S5qw`A$fXaATyon^*0 z&4=l|WghSv(0_>J?YUUI+{uYJFck+Q88IKRp3cjiW@`3Tr;BIe?~e6w@^2)0tku0SfFgBEs?ucWiYDLT0*Stu zeSN-7ijBpVJ>H{SyUk-MRB$XyZ0HIl+DW*}9o^EH5RG z;j%0)LO9#IjF@E)ackxY@=pwZc}6WWgjF%qoFq7qVQByZWfJBm%ML6iM)433<05oQ z7xAOi|_rFI#jcUYD}NCcvROD+{#I zrk%3D^rTDvEi;GAr-3y~(26(8b19wB$a<#J3a?tV84W!<8w(4SZH*3tB^K#{VjIzA zvxtd|%vhPT?b*?6GLB6K892vatsgF&$!IhK;Wvx38Pf3SjAdetwJ|=V!PoDEMdYYE z>~>T}ua+9w^JVr?2IM=OLJ-TQ)3I^_T^YrmeM{66@fv14F}T398z(*(T7sR2y3uR| zv2Q}KH+o*&A^`^$bd5EHTej^J)JDDTb2+oqzg*c}nVzZOG#lz1cc%|=4;H1&+7#lb z*|-l5fTG2MM?+_`*#H;8!H{@UR0+1iknba26mCU4X9K@v-Q$HFSz$M{Jb>b1fWv?Q zoQuV~DXexYS7&y(=Z%!t7X~4t5}k_~OV&qmZyl<@`y?PQk8O&yj@{WgoZm9H2j!44 z&ZF29@nHNIC}4j!d?BSRU=+zufwPKi#7&CKjQ59cHVAqx2JQ;*4oUJ^BVzv;$$MsL zxY+ZaaPVi6G%eB`=~>vfvpNS~*dUC7Qk;z}Zf``uVIqBz;pyspWq#k9$f*)PGQAMd zlU**Eja2tV&c%5)>#Q?v&hL#3KnU56y^C{LoUhD8WEFn8Iz59Ech*Fvv5|cN@8a-` zd7Q#Cv(KdGrKU&ToFAzyMD{dhX4XV-rUI@ayRi8qvN(sA=V8U&-9R}}oP{|YG8CDd zi$JV2#Y8q@+ioo%-mXv2IKNXMHeSOp&!a7nf!m=WT1uHb8T@rPGnl z!(u7U){3m%mWZrvvXK@?e9bMQ>*weoFC3CZyusK%Y$?y5_pvsnBh^T?6EK>Ri+2L= zs*va|&k+tW(;kNE!X(=dV`9)2hkj!}F$^9;6s@C?Ea*#3){>X6Rj_RAX}exq`w@JK z@YhRyg77hprv?BCtivy4kf4nOl~mi^2@`JUcC>>2_9aFeKMgJv?hWKBueo)na10aL zuQ&!}63y%1(k^^)!lkY!8G%=OF@8*Q8o6(}={1ULIolWt(IM>j84t)wPaY))E*dEiw1lKe z|3j^6-kS3!py6hg&v6I!X;YBxpNYTQ8-lbgvr;tKPzmySLO5jQl;Cp7WA< zGvG&`=*0#UxKpGOv1~RD8+|$&hmw$trgDiyItD!!VYN7(s+guzKBYWe6G}4muJ^lHYL-z%uk}*anpZ^X^1}*fv;Vmi*~$ za%-hG6vnojgU52A9Lyt`cJ^$K;?`}S+u2yRFpVQ1=4NYi>-rlDJ8(qjx>2kpVMTJP zf1P(MC(1QDH#>{nT0Ofe^Oc=ATf-JhL{HWjXf=%kS~4sgOw*pxQ4Oq8VIkABs&|K1 z)Ds_E0F(%|2&;e8_SOv|`KwBf5j04QUN^L1BYrpNlCjU1ZNs^5koD%cR=$j_GNZ#i z%^Dmb+BJ+SA=tBmC|>V)rBl0wKOiG%^pc2gO zSX;%YMkkS&=S!AwliLaBTw38R%fi0@OuE;OLCP8{h*OZ`_*4o zl$V6L%Zg%~21co;7qAU}W*Vj;R2>#xJ{b_28du)BN6w|vIIUgN9$W0s1HhxHGy*cr zVgeZuc3pPGbhJR)%e2nxP~WY9Lp=0#8^k|^acJzuIc z2C;x8K4uvo$LA~Cc2;1Uw@i$@3_VdE7=?pJP`&X7Ib;)Gm1@J4%yX1kIiN2^2xsMa zy?<(C+;i5p-L{Fmbl#^)(x1#QRN8f%(~E||`mudU5F<=CvLKdU2?s-_>>smhNqyST zr@Gk3y{OlS#>%t38;K8B(|Ntsxo3Q;G$f}2^74tUym+!biS{&%MvA3ANt|}X$sF*^ z{T#5b3uI`O!9IS1OYH3nFf$X`5Y5>I);MOSM^y|i?~@>gT_o0eg*LV1ss&D9^JY97 zPbAauEQPe0P35vN^2dl};i>_7G>wx7;Fysm4eO?CofY(PiW9=DU+IcaqpGMuL_*%}VD?f#lXh-t}MLJMP+SV9bJ)d;hPY?PmKu_2REeFd>Uhy1^+F7j}+{|W* zG$E!+aaHTty@rjgW^=KH>IvRR%BcJP{w$tq#Rxw$y`wR+uLm;*?+7vpHTL49@kO{v z@Pjq%D5dVBi;Me+{CQc9MG#?sV26BOrt(xdY#1a;n;5L)PE5CRF9keYsm45LTTpIM zhz0D5^Yn8yBy2jg&X%~X`_O{#T8VW+sO}iYzK=bzE%mXdbm#zV3~S?LZQY|#dzR+8 zC46TyWqM4>=xW-D*CoPmAu146lZ&7H_ix_gWg#fz#eN-PyRw8Be?7;cas=D=B*N;5kr@@BCzrts6US8|i*dV<);U(2;14qb z7s|GCzMgp_Qs?M!#Fjga0`2LE$iz2sS?dn=nU;vNfNwXz7dN=e)Ob7eWFu!qdN8C` zw{y+M+m=jamDsy9&VuTgf)_9nv9M1P>8X1|o=hTVK-iMKy_ncmv~Lpu$+K}XcoaQm z186kzgf$!j%usZeDCP83n73r3t7i%$1DDx+(9Q;i^zo8s0gIf1^NFaJ1G-EkhIt+! z(;=Iry$K5EE%DK;*uVkrb3UJy&sUY!psQnsEg>EEI%B$trJVI)$Lk5L7%iwma; zHovw2j=@KSTRY_GEeDg+2po{OA)-Pc$CP16$-CocknRj^MJTRyAM$rn___^JQSsGC zR1)fupGs(!>drG60JIEZ8IAr3+xZSoDD_>7S?z^r0}a@**LZ6k2mR4oqd4x|=ugQL_Kl*Y5% zHICyEiO4D*kc|s^o_|t3B?(j1gev2FDG8#)(tXcdZSf6=h0&pMF_s+#P05Ki9``pQ zn`iK+TA3T<%nQ1$v$j7TglLS}z}dM@2Wrd8q;FPNRSbm4dHW2Md(=hfu zq6EgfiU}kLaVKLs@mw7FlG?50PxbOSA#a}@Y?2qpFU7_+L}O7HGHxzqC`;>Oe7c2C zw~_v=vC;9Vok7l~M{6BgM9JW3z-=Cz6V^R91!WTAxPwzF`!?_ilH5iv=+rH^yWO{8 z2PY&dnC^gpW?@+*tXZjD93C|+z`fk7jk;Iv6^er4Y@rk6(r&v_wWkJ6|GEb$Tba+Tq=nKDCl6vL~;cO<6 zNvO@-Kt=au4$Rbia)KU)t=HTOEcT-bxEIWgd@95ib|FyGnZ$rB3murjKoRH15LciJ zrDailvCxFUUFhdr@E)JlN-_1CT*mOfv;c9v)@@#hN&DeO+3h&eL+6-cD=Le=WXsB1v}-1-6 z?gIzI>q>-X;I?yhfcrHZh0w(~|7vV>n7$@QHXuJ^wb3I6yJ&avb=NJhv?rFWIdF8h zi7|ptJjiBQ7bUNFTD8Vdb&ccR#)ozf$Yxxd+qI9pYe*+Cwq6^SBWTHCGmbh9Y%b9e z+@N=S@Q8F%ZwPRc_Ko4(>P>~>;1E`$4O@3XyvvgsS$E0Q4tfljKl=wK+F3;z=Gg8> zw*6F+XqOvP?r~#!)+ic%T?`*xZOcjrwUe+H*josLgokaFQ2V zjScIVL-X`4I_E%%0E}{Y42d<74(c-EmCTIbPXz1zgBM{NK-=MX^Dz>J$ZwN`;1&q! zROc3=JrGlD!knvKhD8XrMMdZtzUx5-EgHn?=9%PA))-R+aJ9?|NJKd3z8H)+VmqcN!3=o3jTVA+mv1_8))wh>8luSjIg2-+5&gm z^0dzLUYY2V3r{=PF*M;JHCkY&E!l}DwP9nke~<%LCy1dnY0^UP2bYz^w#wDP77d(B zu^AH^o$0D}BJ*uJZX$ETnIii5rt*Z+iMpw|AjcFJLMjwrG3G5l+48pwGBsk8{*ZJ$ z=+N944wZCbW zhdxZ%G}z2N4f)l2K7n7sHbb5rXz*IL;~aQBqY^*TRB#Z?0IdxJNsSB3mX%?*m4bDCA3c#C9w@jY>rAo+CXP#pqP@0cI)oUdG^OXL?`ZbP>G9HcI1O zAtwp|HHWJ?Hcz}Cn1P8cQg+-QZJ!`5>PK>%1EUQ%Ea-;=!8{OY$ywsHTT;J%)IB;eq2?XlpmRfwzR4gIxH$be327a1NeJp!F_cd4j*jVBX=);2mCKEg5g> zOS}XNB$h87l3r)lspK>Xx!!ndTxp^Mx$XicV3|KeK5x3AA?N4Au zTJ^}5a~3hiaf}rF4{gswbztZqg$u>C{e^(;ee#gFfTbAkXzUBDZz~6fR0Y!=y8*Xn z>clljeloMNxiOymyiI{lP!vP1uUf04GtB+Xo%B_gp30gkaalixsMZ<}H^f#oGL{3e zK~kKf@kwIXL;J@13v_}j(KH7%uJH*N;}4)x0R9G8!i#OWb#+QGKT&(Y9FtbrooY=s^egJy*x5w#_71p@>K*#>q3SqzvEG}C2@EXJc%>Cju zh%V%kdf&LA3vC0KrCNQiT|vcKeCi;pNDR&eUUw4(d}qY8iFJ=WH(`HAagu2rU)o%w z^o~oJ$LNzsgpmm1oxIUAK*P$rEz=q67U;1Ko^r%w+do1oIf zHo3PLrcnt!79U@ajL2-lhvwrJuc&W|e6GwtI*!S^9`bHRx^am)W~Ch3&$MP zMGL+trN&_82wvZP8|ch*E^ON;bapF_N2Dzuc$wC9*i*@))c|5=peKC>K00RQ-{vt@ z)%#p$TXVh=o|w^iM-0kDjG{a^F*Y@hVZ;>)AfA;Yc;bqvmhs3s z3IQK&1Op#}t02u8zM0dO-K{a-MzXiYJ9yqm$^HtS+@b#V$CGwaq$gMirqZ=5*a_Z0S%&q$f2MsX>zf zP1^$jpf3!NtK%FQKW$JX1oKF?O7Y4mO-k0*8dTd`&q#3P{afT>EF!F|kVa!v8UFT| zUxt8{zqK6pV=4=BwHM8TOC0=>BUxlK4^R@7o^9WX7!7+lIFoDT3$%fTCJm8?J<%j` zW`)f=1eOL1*Si%Cu_Ei~@NDoP2TOm^$YxY_%ODp}FS*Q`$;!XwPv^R4?4zaqllOzG z*VO75dR#`mMzxzzB}hNv!%%Py2p^Q82Uv6W9?<$b3_67gY&XG@_WFRCLj<8BDrb`YK>%e{fy5#9 zOTtmglX;J4w!++fvhJ%5Vs2!#c5q;bP?fP_)OIKv`yp*+1bry=Tc4Im(&`J20qJ2& zhqd$~7-~f`4=sS25o+X86SC93KUVC+{Ufbo#eU4=7L*T5nzQYl2-&QFGijI`lm|Q+ zFA%$yEw4Rmb4ikWRE$=!wBzJBQNa2(4jhH~!rNGdmf`-^v!{5SMLW}SexYuLq=}-j zSPhPbuOM>itb2Y=M|61|ZEnmQLWHTgKF&qC3w?GoC(3dHDisBU*yiEU9)Bk8F9~yA(^4&ZO<2wC@lz~A(SkM zRWgII4f`~dvDbQjvCZ}yA4ejM+1=AP5C&H|n0#TA4)uaVf=>y)G)BwhI2arejL`oS z)v?we;62>Hq1Lho33YuwnJnEnDAK=Fwd{-QJwT>cr)7bkj# zife|)R!4@%)-Lm#Uqo`ENNuo!>N zo4z?f#v=ZxZ4a(ildc0E?&*kL>*%T(bNG%=kvvg@k!5(ng$*2oh0y}eskaV3M^Pvr zEHp`yxWL<|gPT*UcEaE5AHUiF7KF0T55(i>x>uhqoe9 zZ}8bFSx=rM>A-`14bC=G7@3jv7LgB8ac**H;@|@it}OoZ!he1kB3Gmp!Y&f|U^-hZ zAuCZK@Xws0A)OIWa^gg<{-hjKaCyZ%uO>a;vfyu1^F9S5mKqv==s}iW#gWfF&^I`C zN$K~-pPAmhkHojjkdo$oahxHIK-&B24{SJRvDhXbN%2;yrF4j<{TSV!Uw#FN31Nq$|gQSfcfVvaB*ThW0S1VNg; z{7r4)PBJ(DfBo(ozYGrQ`Bk-LlB9jN*((s7WK0ZhAr{w&DvbHl2IQ;71Nq`G&Mjm* zBA*QBdx$jBT#$LIuE`oRrdhTpw%h&@8g@X5&#*uUmM!ZR=#_YRN)HC*D`DkqWw$3! zo-*w9#SZg^MiGh$_y&SOh^HWm*5-RBKuOZ}KAqy&e}#3>o^x;-;j(1ELiyVmdzix7 z;K)O!Ge_%$*TvvO8&`|~h?hBt~Z03Yf8@d1oQfAZeOt^k5Y`E#fU$jQHOkq=hw8j1y}Yp)f%;RMX26Up?%s9 zJ2ZVf2OchTJbu3AWR$iMsI+ukHys@;i`Occ8(!<1)X*k;;|l~vd|$#x@}AM51ndn+ z1E7uM%65E~4$0=MlC4n#O-LpcG|LFi$}I+#5&{UvVX06I-#oOfdsMo)(0c4|2=e|5 zB0W>prP;+LIZ||OVu|l!e;3R4Mw6=r4awgz8g{*8BGk3_h^~_kIcVkUxK^6W)K0l^z2;1@wb(J%=2Xza|C*R3E}v=jefl6ulJt6lyLmrKtJB| zS4jqhwfRHQLd!$HeX`A?PkhrJ1Ab=* z{H_l8-5v0J2fVKXUg&@icEF1r@C_aCkq-D+2mHbgc&P(E)dAns0pHRAzqkW_X$QRA z0k3qxYaQ@L2Yg!xe7Xa^qXWLP13uRQzq|v!&;eiSfbZ#m@9ThH(E-1*1AbKp{OS() zH68G4JK)!K!1s5+ukU~}hiiG(9lEgvBcMBUpaXt$2mF=}_^lmq=EyD2xx8QGLWO)nz2qWPZ{I86x zXu;QUQ4VUsw=zyMXz=eQ#-9}garZ^WpWTB0mGOgH@O50(Lt5|(cd{__02qSF5?Jj%&d$X8iaT z{I!gq(1L%O@e^C{Cm4TD3%-U);iMM)#f+2m6a2f0@soof?jC0Rc`f+kj6c5xU(KWz zX~DNLeo6~|fbmr=_@@~^wFUnj zL<_!-hq`br_hEPFeJ;fJ-63WMEzi0`JXqV{Jebw9ctx!g17QL!CU#B;H`X5@K(Mjcq`u%yp`_>-pcm`Z{>S}xAHx~Tlt>g zt$a`LR=y{AE8i2mmG24O%J&3s<$Hp+@;$*@`JUjdd{6LJz9)Euf|kGTP%Gb~NZp}U zz9)Dq-xIu*?+M<@_XKa{dxE#}J;8e@X!+|7t!}{x=nl2=J;7V~p5U!~Pw-a0CwMF0 z6TFr03Es;01aIYgg17QL!CU#B;H`XbD_Fo$mR@ging-r(G+xyKzfRLJ?{B3H@pn^) z_;+ah0}@Sa7`T3Khxqq&!0*#^&QcbAgQoYX4)MR(0S|e{$>UU|Jv)=V(cVTXRf%UC z)oiMcEf(==HB+g@VvSTY7OT`Mi6}=~SghCJM~jmjdbjt+a`;?nx*khbtJOxdUW;a` zm0UGeYb2WWTDFml))V>?9rc74;)&iIJ{p#2W^m93z@iFy_#OJ{10N-deJRMS;y zA(KNg745BNtLb$CYx$xl9^aKlhJA~RTt7pszkIm7t7Wf)l{>B zy)5Z$DjBafW64A#S&KEA)ml>;YG%3$_lHWoG0z?tcr$^o_~e>V^g_Clj-lnM=~}Fg zQZ<^fN~PA!HmjPKHgO`>+eqXpIaEHHsMM2K~cQ;lW@?F6bx3YCYx)-rBqmf#!IL-D5a8)W-EOAThZyAXfHlUlflPl8X(I=u3E3vsNL|1x?HT8 zL+ylA)S+c3{E4VGsdR5Gh5bg@Y*ee&V!2qg(x@h5&1@YlQmtk)*(SG`U$$7HH=ah@ zXKVEeK8S~%NtIYKm&4id*;FNy&D3fYenY=&)tk%q#*?vREtgGIF-Fi((Nqm}Yt%Dn zy*PSCTA1U5CaF~MWN#c42?9%JtBHE19<9NVsfjPYR#T}&vr&hCF^yZlRCpti1u4~X z^&Ij^*Fas(N;HO6Z&c!yM7nNB#p;!4vR2FBL)ujkXC;}-RO8WlELDp|n;;wPz;g0P zpsi}TR4rPIWzo9XOeJ2;Hj}kVC6R0Wt?4r&i(g3TjoY`=`bcOr@}|J5^@MiOtQqtQgRQo*Rpq#JR5rOj}O^=6|D zd|3ovBT6;F2hiH-L8Fs3Pnt0o2gVYQ%&VE znV4{-04b+x36Oa@ovT!;iC87wtb?mG@nWr#u7JsK;r3Lf7s-o>J2TabkDerwb#S3( zE{BSw;;~vhlSPA|iXa_nXnF@De{qRl%7R%o!A+VdTpHuKnycn=&0Mw~i>2e0T%sy; ziK0nelHjhWNi!2iw=`q5YPJqnlV~NCLG@#~6zGOa)|{EEEY4EpFI2Jz*8b~*4^#s^5s4h`= z3YLixEoT~0xV_ZUnQSbTt0tRt6K_Vdxn`yzJlTvF4E}7o2?pHA#A+x9HUQSDnP{w* z!A%4g}wucr8(>fMHZ}sZ1S&kdqhSraE1rDq!ZK@BG$s zV2r5-8nu$k#B%8WMkZaUHBy;sl5_B0NTLcDDh+f*1-uTkMXG`}O4ci2lF4Qg8Sx9% zeT$8SJ(XS5Oxa#cpWxh>7@KLZqC_Q@uBD=>Y7We{)~Ge4nY=tORmAJ*OcIkQc0N|p z^;EnbucVp{VjbZ1h7m0^W^kee^_{zgE~`*Wvj_LCf0a1S50Tr*<>OOa>J@0F)#Za5Mwiu z0b7lNhv#ybic|G^g8ZkF;GHyHbR_P>fyTA@IcDAQUd#w-u zo~eOp2yZcj5|5_gh?>MC1Zg6TR%(J+s#y%PG}uKf2|rY!cs+oc-=h!aQDdhtSRi^} zV$3#c&3HW<#|MpSjaamr%z{ru)5`R>&tnE(z&SIGy2&?}>1}|nqIHz1R2>y4$-4YYZR zzPVJZ#S@U?Vzp!)^JfBMrYSAnTr6(`A<()zeJ-6CbPV%GGFGo9n(=hCj(T8lR?>|` zG>th8vq8KjV*z{y&cS#AA_nH5dL@Rj8-*)dItzKR8OPvB)vJ)Z>X`oh@5BrakFCdN zt#x1FWPUw1JcV}A`Q>xFY-dlD3>!CVJ9mYqXQ$11rvUMtOl;{0;i|GYHx2LG>Dkc2 z+zd_$UznT6SBkfVc0u%6EJIvenpsqF*wb{#0&zF~{pCsdo6rbk$sj9)!7oyr;=kX* z@3ruIEc`nbZm0ie3;&=Me?aAR%J(h{-(unaXyH38`~wz#rQ%f14_mm{duc5*6rwVl zdcDtzZ7V&qs~3dX)*GY2ne;c#O2l)l_*BlxrT|3;f2=Bi7RxLDC0hmGAl_(xtV!1WG(L%#rTaPaqCAi&!l{44VUywAZOxJ-ci9Q@lO z0zBa0ckK}1AqPM476HEM;OE^S!1o;dnA-&Sjf21FPywEB@R3UdI8y1;^shHn@?GFBHHAUQ|I0cmN z0ZBgeT_^se4uU^9_?b7#3*GwMq!ZJ0@`{`Gc}N-9pc7xChwO1}uIbqk8o{J*;v35? zrBDCNpRueGrd`O7jHQwA!%Sp^#v(^J^~?Nbd3c5d-gwEpP=HZY3#W9BJ6`~O zjngr8p(o0o7}qZ37cP|77(Ys{DNwRw+|-5eY5Kt*mH!yNlAp`&GqJwz58K;dc8xV&S&+ z^=lSx`kEk@4?J>#M0`|&miGU-g)2*CKg~-2g%(cfd|W$W(85o*;*VIk89VfN z%EE1H@Ff<`K5K(rEla4qGvM~)8hpz{#jQ1D=hqM3x9=$Q@+2yQXbx5;kNbo z^%ky8$uGRw!VOQL2k)_PO8>hr;OL=y9DL1s!T-s@PgB9+VF$l*R^orz!B5mm|GS0T z;G9erGL~WN$e06M2H^DTu)Dq zvv7)khcdJ0S@;DMQUAgkQaTj>ri%rjYx*;IPAh$+z#d+%3Sj1L6aQVS1V7n{|Cr84 zX6`WYn|X<7c&x#1+$*@@6$alB5!}$W!9z-2q*nZz?+Y^-6DJ4t~4#mn~-=jHJ)LNz%XAiT^ttpcM!IH)T}Y9K8Q%NynByDg7U) zJZ8(Eguh$I-99Ise;=20u5$2?#00m(gl?meYf@JF2Z z`<20e&B3>*LF-!%{+v4`ogX;(S;|)*b@2YW#Q(X2e^Tk^w+?>2^0z-a_&r*lzdHE- z1CqY6pBO&yKU$t=={#WY-(Do~4|njbeS#nB;K$|#Kgq$raGl_%IQXchf2M=48k6{I z9em5Jf+rmO*UGPQ4*rvf#DAfK-=X&f2Y>a8B>n~mf3wbC7drUJ28qAP!Oy)|@Jk*1 zj~c(`;3*v!(+<8)<(WAL|Ng5a{UryVyg+bQp6}E4x8->nk1tkwxXwu@N(6wv8yx(R zvjrEwWnVu0#A$-x=EOI8?^_+b|78;Y-46b8l{4>h@EHkOvk12mU-oanLBG zA65Q*jf0=2^V)s~KfO=VxzWK3Il*sn@OxEZy4}H-7bX7N9sKv31%I!D=M}%(!FyGq z{E&mcU-gmu9K8EfN&kKae@N4j{SH1|O=vrO!HNGp<&$4^@ExM?Q#0P9s@ELk;2%&u_fQ9a zo8BMo;NQ7c@;%YPKadgp`40YXy9Gbp!M}U6;AcDdgF1d=4nDqC;%6NE@oNM>&%y83 zaoy+OkLr9;bnv+L`FR^ZKPyiBt;+wmIk@S+oeqA#&UXtA z9#_7!&%wWTqm<_=2Y>&1!LN1jua63Ty@UT@yWj^L{6}ghyw$;P*L2?O;8zqRop(C; zw|WG>)4_kFa>)A~e7qv@?{)BBA1C-H9Q*`LNA?-{{W7iN@nI+aK{{R@aq#awOVaHpEeKd5y3R|kLJ;S#@F z=RLy*K76p?&vNjWss4DlgMU@!gkv3ipYolP9DMr?lKv?U{>c{!ex`$e?kd68I{4^w z1y4BmcXhtVIrurtB>oE>e6z+cIQWpt)f*iAs|`u#LI+=?`spSI|As^lUFzU}Rz6d6 z@PAZ2XxhOa>6e7&9Q>EB5!}cxrXTM=`aQo6d$!H-gT`>hUs>zt(XZU_I|iv_>S!GCbP;P*KA!>ZSR)WI)LN&HVb_^HPT z{-A@uMd{)54*t-z#Q(B`-?mTiuRHi_bX3=x*!ADCvKXLH$w4A?m@OyL| z{ocW!*e~h)$-zHxs^CvL_;c0>9#;Nm=;uhCHxG93j~pTKk96?-n*=xZJd@75b_#y7 z6aS1of}iT(2k#YJ_E-A+`S6W`uXEyGqI^E(;wo>PEe?M7rGnq?;O|y?e!GMBDSf`z!QXqRq;t1}=L>>= z$ie?0aOgeG|LMH*-wyse<)2SDct-h8m)Z%;IK3_+fnEl3x2eN zpP~HlL%yt%LvD%Ow8w4*sOJ!vP1sTlw>?4*pV=Ti)#8JCr`(>EHv4lJA`k z{^bpVzu&>1e5v5~I{5C(1^liJofM%I)7=kJv^g8%87scE&-H` zy!a0sCAf+m9)9y>f)|~1u8avV?%=OfzOl){ho=P4VdBlBdY}X zv4gKy!ugql_bWa8*1>+&V~=s-AF6!p zBnN-J^5InuKBEI=wSym{<&QeJ8P~3#fN7ueo%n`76dc^N^RR>O)qXEI_%Y{7J6z=8 z&zlt7^#{07=Y{P~{5S2E_;U_^p2pwp;Hy;rxzfRnozbkznf`ipyc2qTLn<^_0sv0>K$4Q z5C4?b*X7SAzD&~DA%PeFA|1b%JNSPn!`|cItIrhRN(Vne<6q<8ky`|KwS)hvTYv)& z{-r(vRDJcz`6H#Dw>t4Zs`}}B9DMSX0^IH3@2?B+VF!P)7W@+qzWF)qu>n!8`1bg{%Y`mt%ZkPbwb?|o7S z+`;miN9R{$1vt{dr_UE)g@fmnehzi;k1J!)>Bmd|o5K?EBq#oewvUPnUi>@Gl87$< zyhj;8)JbPmO@NGp|3LLYt%jF=P34e+6aQA_t8Tl!Li@#SwEbKC92|F5(&fv%#; z*6>A80wRV{CN;>65)wc_6p73Pgdnp4O@NRPk^o77pg{r%2tk?WfH(pQc3KAUX(RHW z#m3hLC$zgAT6~JyBI593%WJz%{{Ix0pUUd0SZm$Xz2Du#seSg@b?PKl;do*Cx_$>! zP|qW~~}qn9AqBqd8E;3*tu2g7xTPxhwy(gKiSQ0`{OG^P|qWC zXMqnBJK5O)8qdT{;2O^e2Ii7@_JF*`^AQF{_;6(Ynhljj()cWc61ySFcGvaz0LEf)};yTK&?x~OJQH@(l6%3 z=WOgwH*S?U579hKqM*)ioACE9JdL?_8VrE_6zp8yljCTL@WR0Wnh*6j|Iz;X;d;nx ze|4!0uKkr)4_y1JI|HfxW&hqt`^(;Et^KuYBkXH`6|Dx>{u(q6T>I-pb8zjiG+vKu ze@$Wlw7;q`VA@|>5@BEa>j~zG_SYIZ)c)FC2s_iUbNlyMp1)=Z-^zNW_2hpyKyZP` z*Q^4tM0iR&faSu^bOl%|yjm2%X5lMXz#bF6Ck|k{@UuMO>=s_c{@Nq_B;)X+@GmC- zydwN;9e|_4E2je-7oNz3Jt4d{3;#*s#T@S+3NIZ3a7uV*o~OPNo|6jjo$&6g^QFSG z2Lk*m{M0=Fy6)7q2Dq*}ts4ri>rO|RpSte!G813dopM-bblquE9PI15(-6i}*PZ6^ zM5OCZ+d9IIt~=e#JkfQhaV!|R?(`|`>$=mChhSgVof>lB>blbtthc)Ew2Sf4b*J+@ zAL+VN;+62L>rVYxhjra4dKu)ko@42{Ketn z+NsGr(R%(6=T}Q0bzckKY><2}#9{v2JLbuUidyjdK(BBfH;?+r}Ko55vyoi!%Xu*e-8DIgRsC_PfS8ISL9I=R-UZ zX`J8XJWAtS%;VKKpX>np8s{X|2aR*jm5|psZzR_^|F{V98t2~Yz%|Y}%mmK}EI4{aQkBn8;^U2Dn@J=|%v_!l!VcrwRXN z6TnpAMI0A1g}*fq;Bw&y69AZYZu@JqKC>LSd@zrT<-_G$?|>bx^8?rrt@CwQ$hE&d zVwKH_FmP1te8&zs zF8tLA09xmr|8-fmofP>UjHlN5``96;M80Mh0Il)eiVL)1Ns-?YeoR* z@7E%mfLE=Ay_v?CE~&*h>-A~vd626k^1Wt*Hx%AXN&M(9sqw*cmWITv%;e}KY3pG z*w(P~qVRJpz=wp#a9rqf4<2BD*}pTgdHW;_+q+`tP1e1?3I8*%qfZIHn|16f;k8_4-)w=^1+7*A2AZ#_JfU22J3dR$p4+= zJxzG!RM^qy65Ki!e5S~!Z3dqs{3Pc&4+=lP^G>1g{R3bp{5fN$1nlED)#nd%tOEJ) z=ZqQo`U}Cgi~U7BPub^9+W6#eg#12{zq<|i%fbuUU;3PZm-8SW{`@i1p1zbnA$I21 zf&BZzTT}jH;dPfm{&V3Ua-8V%1n%N^|3Tz8-3B|q2w%r_q{}MfdmEpDTz{x0{OzHT zixl38`Jm4Y_~9zZhd-~(#Ah<|yoK2L*Tay%N%*$K;2nj(%JJJx_$}juJ`*7Sqfex^8L6z`GoKk+J8p)T+Z8nFFeHhd_Z`IYv9-Zp3NTb zPh7wHqsVt%1o{6_J`dbp-&i~AdA;^mk^l5&$bTw4pYhcD_uKOPbynmb82~%~CwwXA zz5fzk#N)l3^~|<2Jpy)W2tP6(ypHfZ&J!95Pn`t$roumEd|C_N%5l+N_z}+EIt$O> zc|`BW@6Zr_dyD+zoF@+y9y<{7cL|T?xE>>XYc%AOgul)4ZvP(E#&cdeB9d+`8?tF!SQp2U(WHqNcak#7xaGiu}yJYYeaq;>-J{hi|a%Fap8yRg6|aGhM$Xt zzrg&{`__Bqz|KLDKgw};RQNlIkbgt?Ij#e|Ej<4w$p1z7*UiE8{`A*dfS(rmO})Us z6~2?_*`I`evI6q|FMLB+@G4heZ^vB;=TUkedQXnu+9Dq}4f+j*_vd*qN_c(dLo4C= z%;#v~2l-j=H;-Qhzqg6}l9AxOgfG4pJYKkcZr4!Z&ogeLg}<~2cJ#jT!N8$OBA>!} zW~T6(>!6S;{7%-x`-Oit7V`6jPhJYH_m3}}48B6-^CH353xA&Tjjh60bN>94@Xt7p z+9mvxDX_2iiC@zK{J%s#V*>cA!q1HYKPLRcIPf=>^E~^W@N~|X^nUR88(`-%k>Ao1 z{A=Nbso?lO(HEYRu$Ai}KZ|@O=VSJt*4Xh?ItF(1zVG)~|7%vo_g20h=O^`qZ|erR zCcz;kSoo!D)j-wu8XAtwDukd(|qdSGqVgBR) zXkTb&SDr`oKJKZU*NqoD@1&yrlZE$;2cIVVR5JK1;Z2!u4+w8J6!Ln%c1APsWg>qM z`(?H8Dy)Z_geT61oyUada-Oh5_=@3>*ZZ=2r-1Jl`Jb5oe-QpUKOYf(CF{>|;Zr8U z{#(NTcs01*fBgt>=o69O8HF#t5Z=8b_!;4AIUoK}cvqfJ&kIjaf*rljdfF!N>Ji*K zyDObn{WyHCB|L%0)j)WgRLEa1yf3e#Sq9wS9~JSu%W0y^TepRsy4bnAU3-AW!oPeF zfaY9z`+sN5v6#({Q+wY5hque^eFwa(b$LV1hdI1mZtpu_y1U%ochClIU2g9?;9Tw1Ay??Fy(Qu9b!NuSj|6QybJZ-q`-#rNO8iysL!DFy<<@Y22 zuuQxBI*wDOk;`|^gnS>d)0XpRx_9N9WCxQ@sWN56_if#JZg(@=ekK zrV6jb^BSA$+L_NnFh}IyHi_zNOlw!({yjz^zIM6&dkjwdTyFm!L&wFrg)pGw;#=mq z=1(jKu8xb947`quw*6sW$3<)bxaPz58^Lv4Y~b~mj*HPVAkXQAd%Tykfp_3*m!}l~ z^b>xJ9d)PhZ`m&zw{|k^@fpkUqVXBefvfSUOFJ5$4`^89 zW3PX-o%LsVw=;(g*LK?bPPLu;88>a`dn^pv&QWZ?wzDRIw)3Wkz1z94oOb@966Cd= z1DGJ%&Jq?jZRhjl#B(0&lIB~}%ive@?TtF%ns040z%}1?C4p(+s3j6a8~%a3qfWfIJ}ylzc^OyNrz0G^gy`O|F3{UX0}DuDKHpK|*56~n9rNmpnHGd9v z1=o0fzy@l3VmCrw<8zt?Pvi4llDFUJCfW2gP1#Y} zzneQlUi*>mjfGn=lVt`!}EY!)|u_{W8|c6sWnJVGd0ZUWIu+UHBR1q4wh; zCXV*w=ISs&_paXqGr`r)*;U|b$KF?>@;4`X%kO1AsQmsJ-tx=JIj%bfc+2l%ziWOr zT?2W|&!S{-&CeCQ-q-v*x)k!7pLKY=nxFmHQJS9}c)XgQ4L8HS=I1HSKQ%vVcY?g; zXY-ZdnxC&Qu_kc-SjiFNl&ef33TkC6oW}`|<>w^fbQ>xVZl5O*iq4sxnVUS`+2>|s zpJv}>r(`5Y=ceT4hN34X=O%}u$LHjPqO+&sL)o_zQ^wCoy?1ifq^XWf+56=2{p-V<|2Jlvi$0A zb7ajHe*E#yXTSQp%Cs-m9~eOYfQSB|0QyHf^i7TO+x`*{eKQsEtN%9-{UHJLPkZPm z1knG%Lw{%h{g5fl&KBPPcR8Q^9)ArFeRD4GtKYywe|P|W`#iny_KyglZ=X*Qu0Jw> z{%s!Z9~D5qzlXl5iGJfZ+(X~Y3H|CPdFY$pMfugY_Zfx9&rDJL>gRd*9~(g5K0hPe z|F{79D?I$0OA^2BFY?egb8o-;J3RE00_gAc&`%DaZ|{Q&kKgzJ`fqsnpAbO*eGmPK z0rWrf&`$}Vf7V0aOo9FO-+2%H)BySsmpQ`D79RgJ=d)k`_CBp}{mB9Jqdfel2hhLC zL*HCW`fYz#5B-b)`n^5$GXv-+c<5&Z&>!oeKQ(~9y^k!s|ID1!Z~SsS{7(;{U*Msi z9YBAXhki}~{S6-axdHT_^w2k#yc)kKhnb;j*S(y#Wm_@zU*I^lTt0>xJ6{-^aaMr) zVou6wR5sKk=yYNfYmqc@9w;`{bo$6O`}77e-uS=6d0BHd|J~yk{ad(BbOY4gpML!x zs1M0JY8wB&oR?q!iS!@odd3^S{$s9zWDNC%${=*8L@8r9A(oP2s;k zHI09>{@~ZYy?@2jm+;MR{NwmQ#Isa3{>}P>U;ig~;HJKWZ+`v9G=rplo`msl)*t-( zZ^MP^PT|g-_kR5s@B;i0^^O0b&daa=ar7TaeY^APKduENW2k8S4|86A{b$nudh3{b zzy7Due<>A=f3yDJ*MAij$ci3+TB}Qse^dbfb?M*!eujtdyZ<+M_&4hheviK;{ZF%w zx%V6YWAtAf7Jsw;;Me~;`nT%& zt|z?l>%Rg2LC21;`Kwuf@EiY==EB0+DjNSoH(wfmv;N@M|5^HvGK~n^{2qTqXGkVd z*TmnfKlt@;p9^(A_3h5D|1|pFKn3I9tUvhmU)Tg5n_C4oz_0&MS4bAnj`45SAFMf+ zmr!~0-`_Qd!zk?BpML!pZ~-`pn#R9bfAH)7P5SRfeY^AP{}cLupNhu6Iaa^^tF?e) zMdyD9_>XG(hxyM5;QxC1uju(dG!l^tKmVKc2fxR^pZ?A7T*5cM@h=?(Nv2`Q#DA9a z^6NjsEKE3CMbAGmW8gph{4?9J=hy#m`j0Ma#f2Y!k3WGA^xi>LbNr^3`1L>kH~KI2 z@INPj|6=+taCE{qzsJ8V5t5%!!5sfw=jHeKV_Ly$>u~4Jd%yk*#zArg^^N~|&daa= z(ez)@`V+|q+|B?XyPt$)S+i!P%^DiO^lHu_$4B)?%{wrGly3&6X8(i%8emH>t-VA(2 z*S|*d9~a~?aK``g0RAV@e?{Y8LjU3MUm3vvO!}{A{6pgr`0)6z4&eVV{a1ASMe!fs zB{@FLX5zorc}18H&i0??e;?6*MbCc)^uGh{%KV$Tj9>pX+CZ_Q*I%tCBL3mmUmFAX zPp5wlLmq|y`nQ4)Kn>6T%>n$cr2m<&XT0HXc4>LnpAnNFd5j9C|F<|Vzwxiy7A~%F zJ>iXC|0SuA>`#5;|54}V*Z+0&A4z??^XtC>J3fYr#{Xl^%dh|F-{`-;hyN!6_`m%( z`p@(5|5O0~gXw>?qZ7XQjsFh%PoRQ{|90o4@i%iKwQ2l4P5)cCes7rBRQ3Uf8Id^W z6~2{DhNP`?#{W*|rT)!1$w=Bfao(0~z1m~HuZVy<>)-A-IowOX^f(lF7_JekXZI#2 z?0Z+pd2_=X;h!$NSJ?y3SBA;2UqY>^zu|&v**kmu7VmN1c*QR=9iEaXXyW&r^RoIj zu3o;4$|3rXtYtohLce!j&pI#Fuja7I&P%tF4?#Yte(^VY{KmYO{xr7#^^4UniS@q$ Dba!#u literal 0 HcmV?d00001 diff --git a/builds/pushswap.o b/builds/pushswap.o index b3c28602d6890d1c4483e4d1c15c1cd956931ea0..5b5a63733489d08c3a0f3a8960ebdd9807c1c148 100644 GIT binary patch delta 1492 zcmYM!O-NKx6aZlFFq%U@PD-Phph@XiWJQ8Ml=2F}!oY&Sm2NT}5EC`w5mYNp#L@;l zI{yD_{*69$nj+|J!pg!5lw9?*XrW}b2(OFioVkZ_Hi!4kx#!+{?tQO!Gt9dg*6b9& zXHw2vZH+fJ@)~ou8&=#d>s8@1eAaj&nvB)ZT#Lmg;9I?L7-``blEk7>m1O(FQx4%q7~m-dHQ9`4%{PWiEhckSyz(d2H~h!>BInGMh0xboVP;_BN~ zHLi-%kjg4oMNM&4N%fub8YV+}C8Zm@r&&wNv;&YZd9D67*J)V*zVm6|meY zoWTb>2xll*aX1|Hi6|(*XW;=IM2=_%KZOX86l{>$hM^2}3Yp-i&<2u13uLxq*ajVg ztv!mC6B3dLW{=1a$*|KdvTZL|?Vxpv4A4C|;2roWctK*YxelpuWng-6*#)3?pnh~H zb$~X2<0RQnwku$cP_0h1v(YNAP}P@Y4Qy#(PE%eN+DkUO8Y{`(vjJ#bl-G@RGe*_J z^^ViLWHoG&V9rur4_X~tC7A8F>KKrue_5N=UKT;`rQBFmGat+es!8^V?Xa3h??YQ> zD+040JE*}`gcNE}`oVicL2zd>qpJH=B>K6`R?Fb;k{!=l?#ci=O>|d*0`HKTqG!xbV-oO93(3 zzdYA4w$vB=3LY_bh^RGWEEb~9`Y^q~?T!kVs1-gdJAQqdcxs)>d}N4+R?eE?NHG3= z&73+H{%xG?J@4K$E6!a#b4EO+C&6e)7}n7H4~f#rz@)0+*f+nZr~lTg@#=(m6_q7r zhxeDej#eBzQdv^5@A!$smBI2~6XIg9?6+TZSf_u#X%pM1r-u`?#qTV8!8`| z{73~6n0DE41=9X@nsC4qh*1cGyoTfU&e!7(fZc?1&Id(0?9=K4 zvm3|BX0%Uig_%+a2a2?0 zfiC3*`wq2iMJs2Uqch)vBCTRQN{X3bv=4^oUdB!8!nPDl zS}^W0sb`t4n5y?l-a^Y@%K`H)RV3TX=F=y;4?Gc^;~7@oM64OX+{83pb0?o$2ihLC z?R*Ewdf76;Y^K$8qJ5k)I&(#qkgn^U1G|^&_`)cTpx;HXH5@%|`a3?Pn_n)2T@Im@OU5>y+1rHqLgEZv@%y4Bf*I zHjS12Xs6lmT{<_6Oih{d0HSz-8#CZJJ`Pa$A-gyMA6qLGve3ke{|j&)sv=v&_F2D$ z29WnqU8{8F2)85~VQbg#D*$o;^;o9Pd;#VFUe^Xts3I3)6kdZI#EJcRr+?H+2l1!N i1quxxa*P7@yN^|#jq556VBQz&q_1w=rE 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 Qr+k!Fld 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 diff --git a/srcs/algo.c b/srcs/algo.c index 387e70d..b998c92 100644 --- a/srcs/algo.c +++ b/srcs/algo.c @@ -1,28 +1,11 @@ -#include "pushswap.h" +#include "push_swap.h" -void hugo_sort(t_stack **a, t_list **solution) +void hugo_sort(t_stack **a, t_stack **b, t_list **solution) { + (void)b; sa(a, solution); sa(a, solution); sa(a, solution); } -/* -** this function creates the stack b and the list solution -** then it calls the sorting algorithm -** then it frees everything that needs to be freed -*/ - -t_list *sort_algo(t_stack *a) -{ - t_stack *b; - t_list *solution; - - solution = NULL; - if(!(b = ft_calloc(1, sizeof(t_stack)))) - ps_stop(a, b, NULL, 2); - hugo_sort(&a, &solution); - ps_stop(NULL, b, NULL, -1); - return (solution); -} diff --git a/srcs/algo_bubble_sort.c b/srcs/algo_bubble_sort.c new file mode 100644 index 0000000..01812fc --- /dev/null +++ b/srcs/algo_bubble_sort.c @@ -0,0 +1,58 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* algo_bubble_sort.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: lperrey +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/06/10 21:52:43 by lperrey #+# #+# */ +/* Updated: 2021/06/10 22:49:04 by lperrey ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "push_swap.h" + +static int search_smaller(t_stack *stack, int *smaller) +{ + int i; + int i_small; + + i_small = 0; + i = 0; + *smaller = (stack)->n; + while (stack->next) + { + stack = stack->next; + i++; + if (stack->n < *smaller) + { + *smaller = stack->n; + i_small = i; + } + } + return (i_small); +} + +int bubble_sort(t_stack **a, t_stack **b, t_list *solution) +{ + int smaller; + + while (*a) + { + // ft_lstsize() pour verification du sens de rotation + if (search_smaller(*a, &smaller) <= ft_lstsize((t_list*)*a) / 2) + { + while ((*a)->n != smaller) + ra(a, &solution); + } + else + { + while ((*a)->n != smaller) + rra(a, &solution); + } + pb(b, a, &solution); + } + while (*b) + pa(a, b, &solution); + return (1); +} diff --git a/srcs/print.c b/srcs/print.c index ea3f92a..2464411 100644 --- a/srcs/print.c +++ b/srcs/print.c @@ -1,19 +1,19 @@ -#include "pushswap.h" +#include "push_swap.h" void fill_solution(t_stack *a, t_stack *b, t_list **solution, char *sp) { char *stack; - (void)b; stack = ft_strdup(sp); - stack = ft_strjoinfree(stack, ft_strdup(" a")); + stack = ft_strjoinfree(stack, ft_strdup("!a:")); while(a) { stack = ft_strjoinfree(stack, ft_strdup(" ")); stack = ft_strjoinfree(stack, ft_itoa(a->n)); a = a->next; } + stack = ft_strjoinfree(stack, ft_strdup("!b:")); while(b) { stack = ft_strjoinfree(stack, ft_strdup(" ")); @@ -23,24 +23,21 @@ void fill_solution(t_stack *a, t_stack *b, t_list **solution, char *sp) ft_lstadd_back(solution, ft_lstnew(stack)); } -void print_stack(t_stack *stack, char c) -{ - ft_printf(" %c | ", c); - while (stack) - { - ft_printf("%i", stack->n); - stack = stack->next; - if (stack) - ft_putstr(" "); - } - ft_putchar('\n'); -} - -void print_result(t_list *result) +void print_result(t_list *result, int flag) { + char **part; + + if (!flag) + result = result->next; while (result) { - ft_printf("%s\n", result->content); + part = ft_split(result->content, '!'); + ft_printf("%s\n", part[0]); + if (flag) + { + ft_printf(" %s\n", part[1]); + ft_printf(" %s\n", part[2]); + } result = result->next; } } diff --git a/srcs/push_swap.c b/srcs/push_swap.c new file mode 100644 index 0000000..f46eae9 --- /dev/null +++ b/srcs/push_swap.c @@ -0,0 +1,91 @@ + +#include "push_swap.h" + +/* +** this function check errors in the arguments +** like, is there arguments, and are they a valid list without equals values +** if there are no arguments it calls the stop function with value 1 to print usage +*/ +void is_valid(int ac, char **av) +{ + if (ac < 2) + ps_stop(NULL, NULL, NULL, 1); + (void)av; + // check more error +} + +/* +** this function check if there are flags (currently only one flag) : +** -p to print the evolution of the list while the sorting is done +*/ +int check_flag(int *ac, char ***av) +{ + if (ft_strcmp((*av)[1], "-p") != 0) + return (0); + (*av)++;; + (*ac)--; + return (1); +} + +/* +** create the stack for list a, as a linked list, and fill it with the values given in arguments argv +*/ +t_stack *init_stack(int ac, char **av) +{ + t_stack *start; + t_stack *tmp; + + tmp = NULL; + while (--ac) + { + if (!(start = ft_calloc(1, sizeof(t_stack)))) + ps_stop(start, NULL, NULL, 2); + start->n = ft_atoi(av[ac]); + start->next = tmp; + tmp = start; + } + return (start); +} + +/* +** this function creates the stack b and the list solution +** then it init the list solution with initial values of stack a (in case of flag -p) +** then it calls the sorting algorithm +** then it calls ps_stop() to free everything that needs to be freed +*/ +t_list *launch_algo(t_stack *a) +{ + t_stack *b; + t_list *solution; + + if(!(b = ft_calloc(1, sizeof(t_stack)))) + ps_stop(a, b, NULL, 2); + solution = NULL; + fill_solution(a, NULL, &solution, ft_strdup("start")); + hugo_sort(&a, &b, &solution); + ps_stop(NULL, b, NULL, -1); + return (solution); +} + +/* +** this programme will sort a list +** this function first check the validity of the arguments +** then it checks for flags (currently only -p) +** then it parse the list into a linked list +** then it calls the sorting algorithm (it actually calls a launch function that will execute some actions and calls the sorting algorithm) +** and finally it frees everything and leaves +*/ +int main(int ac, char **av) +{ + t_stack *stack; + t_list *result; + int flag; + + is_valid(ac, av); + flag = check_flag(&ac, &av); + stack = init_stack(ac, av); + result = launch_algo(stack); + print_result(result, flag); + ps_stop(stack, NULL, result, 0); + return(0); +} diff --git a/srcs/pushswap.c b/srcs/pushswap.c deleted file mode 100644 index 67d95fd..0000000 --- a/srcs/pushswap.c +++ /dev/null @@ -1,53 +0,0 @@ - -#include "pushswap.h" -#include - -void is_valid(int ac, char **av) -{ - if (ac < 2) - ps_stop(NULL, NULL, NULL, 1); - (void)av; - // check more error -} - -int check_flag(int *ac, char ***av) -{ - if (ft_strcmp((*av)[1], "-p") != 0) - return (0); - (*av)++;; - (*ac)--; - return (1); -} - -t_stack *init_stack(int ac, char **av) -{ - t_stack *start; - t_stack *tmp; - - tmp = NULL; - while (--ac) - { - if (!(start = ft_calloc(1, sizeof(t_stack)))) - ps_stop(start, NULL, NULL, 2); - start->n = ft_atoi(av[ac]); - start->next = tmp; - tmp = start; - } - return (start); -} - -int main(int ac, char **av) -{ - t_stack *stack; - t_list *result; - int flag; - - is_valid(ac, av); // check if usage and list are correct - flag = check_flag(&ac, &av); //check for flag, like print - stack = init_stack(ac, av); // create the list from av[] - result = sort_algo(stack); - (void)flag; - print_result(result); - ps_stop(stack, NULL, result, 0); - return(0); -} diff --git a/srcs/stop.c b/srcs/stop.c index 570b95a..88e682c 100644 --- a/srcs/stop.c +++ b/srcs/stop.c @@ -1,5 +1,5 @@ -#include "pushswap.h" +#include "push_swap.h" void ps_usage(void) { diff --git a/srcs/swap.c b/srcs/swap.c index 0f88029..e03320f 100644 --- a/srcs/swap.c +++ b/srcs/swap.c @@ -1,5 +1,5 @@ -#include "pushswap.h" +#include "push_swap.h" t_list *sa(t_stack **stack, t_list **solution) {