From ecba0ab5f2b646bf6197cd01960af944d8b3d4a7 Mon Sep 17 00:00:00 2001 From: Belkacemi Melissa <melissa.belkacemi.etu@118p29.fil.univ-lille.fr> Date: Wed, 13 Mar 2024 09:57:58 +0100 Subject: [PATCH] tri_sort et analyse_tris2.py --- TP7/analyse-tris/analyse_tris.csv | 102 ++++++++++++++++++++++++++++++ TP7/analyse-tris/analyse_tris2.py | 88 ++++++++++++++++++++++++++ TP7/analyse-tris/tp7.py | 31 +++++++++ TP7/analyse-tris/tris.py | 26 ++++++++ TP7/analyse-tris/tris_nbcomp.png | Bin 0 -> 29823 bytes 5 files changed, 247 insertions(+) create mode 100644 TP7/analyse-tris/analyse_tris.csv create mode 100755 TP7/analyse-tris/analyse_tris2.py create mode 100644 TP7/analyse-tris/tp7.py mode change 100644 => 100755 TP7/analyse-tris/tris.py create mode 100644 TP7/analyse-tris/tris_nbcomp.png diff --git a/TP7/analyse-tris/analyse_tris.csv b/TP7/analyse-tris/analyse_tris.csv new file mode 100644 index 0000000..b679da2 --- /dev/null +++ b/TP7/analyse-tris/analyse_tris.csv @@ -0,0 +1,102 @@ +taille;"tri séléction";"tri insertion" + 0; 0.00; 0.00 + 1; 0.00; 0.00 + 2; 1.00; 1.00 + 3; 3.00; 2.62 + 4; 6.00; 4.90 + 5; 10.00; 7.54 + 6; 15.00; 10.90 + 7; 21.00; 14.56 + 8; 28.00; 19.96 + 9; 36.00; 23.84 + 10; 45.00; 29.12 + 11; 55.00; 35.24 + 12; 66.00; 42.72 + 13; 78.00; 48.12 + 14; 91.00; 55.06 + 15; 105.00; 64.22 + 16; 120.00; 72.72 + 17; 136.00; 82.22 + 18; 153.00; 91.08 + 19; 171.00; 100.86 + 20; 190.00; 109.80 + 21; 210.00; 116.96 + 22; 231.00; 136.72 + 23; 253.00; 142.74 + 24; 276.00; 154.70 + 25; 300.00; 172.60 + 26; 325.00; 185.50 + 27; 351.00; 197.92 + 28; 378.00; 213.90 + 29; 406.00; 228.38 + 30; 435.00; 242.74 + 31; 465.00; 264.10 + 32; 496.00; 273.96 + 33; 528.00; 297.28 + 34; 561.00; 308.94 + 35; 595.00; 328.56 + 36; 630.00; 347.48 + 37; 666.00; 369.30 + 38; 703.00; 386.26 + 39; 741.00; 417.00 + 40; 780.00; 429.88 + 41; 820.00; 438.68 + 42; 861.00; 476.60 + 43; 903.00; 490.30 + 44; 946.00; 514.28 + 45; 990.00; 535.98 + 46; 1035.00; 546.88 + 47; 1081.00; 598.08 + 48; 1128.00; 605.58 + 49; 1176.00; 639.08 + 50; 1225.00; 651.50 + 51; 1275.00; 689.16 + 52; 1326.00; 712.04 + 53; 1378.00; 746.86 + 54; 1431.00; 768.66 + 55; 1485.00; 794.12 + 56; 1540.00; 819.04 + 57; 1596.00; 854.84 + 58; 1653.00; 890.52 + 59; 1711.00; 931.04 + 60; 1770.00; 951.98 + 61; 1830.00; 968.66 + 62; 1891.00; 1008.38 + 63; 1953.00; 1037.84 + 64; 2016.00; 1090.42 + 65; 2080.00; 1080.92 + 66; 2145.00; 1127.48 + 67; 2211.00; 1188.08 + 68; 2278.00; 1207.70 + 69; 2346.00; 1225.60 + 70; 2415.00; 1281.40 + 71; 2485.00; 1313.32 + 72; 2556.00; 1353.52 + 73; 2628.00; 1379.60 + 74; 2701.00; 1422.80 + 75; 2775.00; 1469.98 + 76; 2850.00; 1506.84 + 77; 2926.00; 1535.16 + 78; 3003.00; 1578.44 + 79; 3081.00; 1621.58 + 80; 3160.00; 1655.34 + 81; 3240.00; 1699.60 + 82; 3321.00; 1717.26 + 83; 3403.00; 1794.74 + 84; 3486.00; 1826.90 + 85; 3570.00; 1874.66 + 86; 3655.00; 1931.14 + 87; 3741.00; 1935.44 + 88; 3828.00; 2021.40 + 89; 3916.00; 2035.10 + 90; 4005.00; 2128.82 + 91; 4095.00; 2130.34 + 92; 4186.00; 2177.56 + 93; 4278.00; 2271.38 + 94; 4371.00; 2261.42 + 95; 4465.00; 2299.68 + 96; 4560.00; 2374.12 + 97; 4656.00; 2422.98 + 98; 4753.00; 2486.74 + 99; 4851.00; 2532.82 +100; 4950.00; 2560.18 diff --git a/TP7/analyse-tris/analyse_tris2.py b/TP7/analyse-tris/analyse_tris2.py new file mode 100755 index 0000000..be9e918 --- /dev/null +++ b/TP7/analyse-tris/analyse_tris2.py @@ -0,0 +1,88 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- + +""" +:mod:`analyse_tris` module +:author: FIL - Faculté des Sciences et Technologies - Univ. Lille <http://portail.fil.univ-lille1.fr>_ +:date: janvier 2017 +:dernières révisions: février 2018, février 2019 + +Analyse empirique des tris + +""" +from random import shuffle +from typing import Callable +from compare import compare +from ap_decorators import count +from tris import * + + +################################################ +# ANALYSE EMPIRIQUE DES TRIS # +################################################ + +# ajout d'un compteur à la fonction compare +compare = count(compare) + + +def analyser_tri(tri: Callable[[list[T], Callable[[T, T], int]], NoneType], + nbre_essais: int, + taille: int) -> float: + """ + renvoie: le nombre moyen de comparaisons effectuées par l'algo tri + pour trier des listes de taille t, la moyenne étant calculée + sur n listes aléatoires. + précondition: n > 0, t >= 0, la fonc + """ + res = 0 + for i in range(nbre_essais): + compare.counter = 0 + l = [k for k in range(taille)] + shuffle(l) + tri(l, compare) + res += compare.counter + return res / nbre_essais + + + +if (__name__ == '__main__'): + from matplotlib import pyplot as plt + + # Calcul de nombres moyens de comparaison pour des listes + # de tailles comprises entre 0 et TAILLE_MAX + NB_ESSAIS = 50 + TAILLE_MAX = 100 + c_select = [0.0] * (TAILLE_MAX + 1) + c_insert = [0.0] * (TAILLE_MAX + 1) + c_sort = [0.0] * (TAILLE_MAX + 1) + + + for t in range(TAILLE_MAX + 1): + c_select[t] = analyser_tri(tri_select, 1, t) + # inutile de moyenner pour le tri par sélection + c_insert[t] = analyser_tri(tri_insert, NB_ESSAIS, t) + c_sort[t] = analyser_tri(tri_sort, 1, t) + + # Sauvegarde des données calculées dans un fichier au format CSV + prem_ligne = 'taille;"tri séléction";"tri insertion"\n' + ligne = '{:3d};{:8.2f};{:8.2f}\n' + with open('analyse_tris.csv', 'wt', encoding='utf8') as sortie: + sortie.write(prem_ligne) + for t in range(TAILLE_MAX + 1): + sortie.write(ligne.format(t, + c_select[t], + c_insert[t], + c_sort)) + + # Représentation graphique + plt.plot(list(range(TAILLE_MAX + 1)), c_select, 'b.', label='Tri sélection') + plt.plot(list(range(TAILLE_MAX + 1)), c_insert, 'r.', label='Tri insertion') + plt.plot(list(range(TAILLE_MAX + 1)), c_sort, 'g.', label='Tri sort') + plt.title('Tris : nbre de comparaisons') + plt.legend() + plt.xlabel('n = taille des listes') + plt.ylabel('c(n) = nbre de comparaisons') + plt.savefig('tris_nbcomp.png') + plt.show() + + diff --git a/TP7/analyse-tris/tp7.py b/TP7/analyse-tris/tp7.py new file mode 100644 index 0000000..9b15b67 --- /dev/null +++ b/TP7/analyse-tris/tp7.py @@ -0,0 +1,31 @@ +# TP7 AP Analyse empirique des tris +# Belkacemi Melissa +# 13/03/2024 + +#Préliminaires + +# l'expression l=[k for k in range(n)] permet de construire en compréhension une liste des entiers de 0 à n-1 +from random import shuffle + +def liste_alea(n:int)->list[int]: + """Renvoie une liste de longueur n contenant les entiers de 0 à n-1 mélangés + + Précondition : n>=0 + Exemple(s) : + $$$ liste_alea(0) + [] + $$$ liste_alea(1) + [0] + + """ + l=[k for k in range(n)] + shuffle(l) + return l +#Représentation graphique avec Matplotlib +import matplotlib.pyplot as plt + +#Compter les comparaisons +from ap_decorators import count +from compare import compare + +nvle_compare = count(compare) \ No newline at end of file diff --git a/TP7/analyse-tris/tris.py b/TP7/analyse-tris/tris.py old mode 100644 new mode 100755 index 18df740..66cee9a --- a/TP7/analyse-tris/tris.py +++ b/TP7/analyse-tris/tris.py @@ -186,6 +186,32 @@ def tri_insert(liste: list[T], comp: Callable[[T, T], int] = compare) -> NoneTyp inserer(liste, i, comp=comp) # alors la tranche liste[0:i+1] est triée # à l'issue de l'itération la tranche liste[0:n] est triée + +from functools import cmp_to_key + +def tri_sort(liste: list[T], comp: Callable[[T, T], int] = compare) -> NoneType: + """modifie la liste liste en triant ses éléments selon l'ordre défini par comp en utilisant sort + + Précondition : + Exemple(s) : + $$$ liste = [3, 1, 4, 1, 5, 9, 2] + $$$ tri_sort(liste) + $$$ liste == [1, 1, 2, 3, 4, 5, 9] + True + $$$ from random import randrange + $$$ l1 = [randrange(1000) for k in range(randrange(100))] + $$$ l2 = l1.copy() + $$$ tri_sort(l2) + $$$ est_trie(l2) + True + $$$ all(l1.count(elt) == l2.count(elt) for elt in l1) + True + $$$ all(l1.count(elt) == l2.count(elt) for elt in l2) + True + + """ + liste.sort(key=cmp_to_key(comp)) + if (__name__ == '__main__'): diff --git a/TP7/analyse-tris/tris_nbcomp.png b/TP7/analyse-tris/tris_nbcomp.png new file mode 100644 index 0000000000000000000000000000000000000000..e17e8c6a3f44b28019c7fde9ec262bdc4a6a2042 GIT binary patch literal 29823 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sV0^&A#=yW}dhyN^1_lPp64!{5;QX|b^2DN4 z2H(Vzf}H%4oXjMJvecsD%=|oKJyShH9fgdNl7eC@ef?ax0=@jAbp0ENpY}2^FmM)l zL>4nJ@F#*W;|lxbnG6iYZ#-QbLn`LHy;~U*68fM0!+9QSj^-6PO&wl&33@ZCXGt$h zNwbZTI;kHNeJ7|mGx+qKc|qFR(>-dgxM+Xf7<7hJSG3$vw3xM(#n83DQNUuq{j-_c zn>WPIc>B3-@3Yq8=LPTQS_gkWZTbASEtg^ogP@?GU?lI-js6WC9UUE6V$2RoN=i!F zhZ!bxbab3JWx$}Kq@=XTh=-xGqoZRD&j^%GSr(vi>g$co>HP=qzrVPcz3R)0z{SsF z1Sd|MxFU4*w2l6U6<VDdXBwwV{We+S<>SL6!o?aC6x36z<r2cU?U)^-lK12Z6Bc~^ z^SIyMt)|AN?ESs9Tlczli?P-Jf4zSHx^2bElWsRKGEbN=fk9qgK6yTuU?>B#gVM~> zH#Y)bSMII)x*$aB>$cas>i^r#nLF2;hex+jfQetureX5r$s7G!y%zkGn-;#e>TAII zxV>36%1W#FWSG>9n&fP&6f7(x_W%E9ZB_n`Cp|rV&#zajFJ<p?K5)P0Gp}6zpTaAv zLb=ziTbFTdjpV)B@3A+}sjI58a<wweuluDbrWez3;D7^2$y}?_LkFALdH<c8X`Fsx zb-4bH9Xl4p?X8k9PUCrZfB*WcZVLkv&de~3*j1uA%RHZtot=G6)K)Hrf`^A#d8EyF z=FOW|P*C9T`PtczSHt6{zOE@QDl#Z~;&EkVF#Fc5t4{mt{uccEQ`wxmx@gX#MM^b4 zpH9!XyUTRWoH-BPz3c0fwN5%cO*bl6Oedlt?d+_B2M;pNn>VlG>D2HE)21!ks(&_p z-h>Ga=jK`;K6#RpSK92zsj1qG4Ez86(!RAVmpeT@y``l^K~K-`_4o91b2wX_8im#U z5<WaQSWsNt?6vgJY5n~@(&l*?TVwav+5Y<WmRnw4-onyyVddv%Gt6?O-re23{HmYv zocdQ+G{3yPExvBux))bhi!&q~?~|?gb~F9q^XKgD?(Qa;msl3N_aC$W|7Y=5erM+c z>V9(^Dk^rAoUN^`HB30bur~YCgM-XI^X+6C8yh!l-|qhR*Vm8NqVpeqdwV<Tcm9nH ziiZv#78Dn6-<Es((8-gWXJ?rnF27&9{OY@Ze}B)gsWf6@W`6kM1qVMre@k0i(%oI9 zs<nGu!g_5RT-+wjo7XozzD_cDna{yFmc<J~r2bXwn3;*?@B68CtWUPv-~O+N*HR&I z{WzDPprDz@J9>JKtO{K{Va}YMHeTszH~+0(zt3rN+Sv^iACnjku*=sp{QLV`+0s%{ zYpPe)_YV)9zr4RM5AxlX%*zE24ltgXXDc1PF6Q8Q`~PdUo<BR={BghizXR>^bsYKm z`4v@FN}8ISbFItWn%Q_i+)ST;@b+!#+uQSx?<joy;k^C-gkwFDs`C~LFg3IB9%^J} z|M0L~eo^i3Z#VYW+s~`}mAQ9YsAb=?Uuz>bvjqkQ{&=ytKOsNA|MBtuY*y?1Js;Vo z>BsjOCLdF<v60c#)co<FnSVq2c{v&TI+@bf*QVY|OG$a~|KI!n2C1h+e*FCT@U;H^ zBdgc%>$-9!<j;@C{T1KumM;ui`Qf6weBy-#jyr088r9U+Zaw#M=ks}oCn!39`1N}I z<1;gjLFP`FGNr}2o$uheb9@a}FW%nYZ?EPvgF#$e{Lk0x@iXk}?fB&F)|iVb+S|)B zv-3@{JKfa8#BgA#_w)-ZgVpzZyOkZVGQ`8v^WdRY?u%Qq!{=C)dRa|dSN;9nLjU=8 z96UTn!sBaM_4V~rQc@J`?BvSd-MRRSr~K`$)|Z!;FOJ@x_v7<<d&A^oJSr+G3W|!1 ze0+SD?EL51bb3x!OT4uu^TVf4hqm9Z>t3-!1C;#y?S85-Bs@CO8L_v@H0}JnUbEa= z5AN-)wy6DOl6P-U<g0X_l&vg+p{oUz-8jU>#n<NE-CZuuaAaNV?k~5>-`|TZd4Dgq z$}a7U#KU**;#MZ_|MhD1p<~C~mMmE^<(8hMWh8@uqN3uW1q&Q*)&2O8$mp;pdb{82 zzYGHN>;LV%W@q>Fi7=zXo7>y{Z?QS72+=BheNA`mw#3B5L+8)?r=+K6=gJ$W^%Rtp zT*;2Vvn}_wm+ikEN#hjDbMN>6*JJ4Tey@7{5wrC3^F$er%+BApa_ip<3!Rx7K+&}{ zch>noFD@>=v~9L|K9{t#^us4lRQ~<@ou65ql(dLJVc(BO+?ls~B#l`ZK7PBMpDmmH z_SROWhKS8+y$6eRw6uiy<?TeOzrPb@IC65b`qJwr^PiUAuMK}xt+TIRJA54n!=wHG z|E~XX>(o?jR)&dl=IFEtJbH0)F;l~hJ(b0szq`A;g&B@Cv2t(OwmyD;9D~5=>H5>R zv9hpmxVyU-K0PIx8J(B6?!$)<0*l@Ir)^_pXYY1wW}EuUuH%IuAEU6O=i6IbFK$jh zZ*<%C;}PK<wZF~cs$Q!8`M&@ERp};e-;xp&E-o$s0fB&Z-<a8W8hU$szw8NJ9mde0 z9lq|xR$0569oIf59&Te~c=Y)3)@|S4+!WrLeSO+I`-%??yUX4lDn4(^o}QjAA|m3^ z|L^bb#|N9)Rr##N@7H@CpZ?n7_O@JRhCN@eMW@d5PDxpE?VI|%3Z}EO&5y5(-MwYo z?;k%F#O^M;RLsxMUr|-HsPy%<DBIezv(4E9_Pw@CIU#W4)~&4A@298hC*RnR_~F~P zw%%UeH*elt*jruBaNy?V^snE3{`q|Vb?)giXO6sHzn`zZzW&CoTZhh_^ZO+yd8^%R zvYKze?y_8;xmKdy)AdYm1h0MBdS!3k|6kYlKX~+LQTg4d?RmXyyiy+LWo2bQ-bn7x zjGYg1;q7g?hqq*224(Cg&z?=I=yN$@+2G<9d~eOkjt-8R?{~|06g}mdSO2dP<ZS15 zz8f2p+uuA7S?(vh_W7(ti@UQ|u3ft}E;>IypW%XZ(dF9t=K1$r932_={rTj5<L1pw z+h5<`^D``E+i9MEPv`58BH8E1dZjmP+<5W!`gevrd)*m6eEoWLx0sxqT-Dn*Z{L31 zcKh~i<^cAMyGqWx7weiF-&OrxZ&&H-Hs^M}#BXnI-q@VZ-zQ_))GKYybm70w+_`ff zK6|!o>)I77IBI`?J9?~F+A#H$$eUYRx!d{Wr!hUd)TBMtt95VncTkXn()h(qsop<+ z{YpC4BU$m|gJOgG{Dpa+I-C|ZY~Q~9Ug_n(YZ$+lZ~jqP^YN(o469Ntv;2EK%jZ>b z$;rt{m}Cg(#q0=pv{NY3_#C5(kx;8s;Ja=Azt{h7|Nndc|HFH$zkm4set+_@9!U;< z{^LJCKR<nUxBBv?CZ;=kDuZ7in=^4Dqr?BSwZHAMudm~kmX>yLahY;sx0r-P#G{R` zudEDy_3^2dAE<#55z*1p(<9VediLYx%a<QMf4=<dt*zPDw><lQQdL=*`RnWJ)91a8 z>%P0Y{PC@=*`OxVmDlVJ`a7KtU-<sv%gf6am7i3Sl9CLPj&NlDKH4pQy0lMGQL&@9 zw^e|t{@+jaq@*NJxqR^CNzTj5d?(u-2Gz@~jZPdXDJctTe}8*w<yWYur#HhiTP*GD ztk&1p*L&}6Ja6-v=ijf_>$%?dpSZM<eZq;J9XobBc)5K3vFi7G+yDHjnPXXeEaUm6 zvbRxdpWm<lZ_6+x^2n{5HzoaTzl!+Hv1kli8>MJs67oKA#c}t?E0@pH0wo9c$swQ4 zn%|#t!_By5f7)58wQt?~WDefkoW8Ut%JSvD_q@_(3l=PJ*!6B!!@3F~RtBBuZENlv zpO7p+>#xnfACDupWC-55d$;h<k3xnC>$=~S{(iZ9e!=^Dd$r=t_4V~#+}s{5ogQ~+ zXYundn=W^D*fzMR<v%$wv7o5PX}VtQgU64XdwO`z%(WKRn!4)Dyh$roXn<N&)AeE} zZC!rh-aWbbwcjM)-P_y!?d@&v$OHcNe@%9ky^VVIzW(3O=Pzz;)dnR^^LrJ{pytqA z>+*t+k6i!!`Fy@==BlG#-`*AnRTay8W;RuSf2U|-BJ%tD`{S>!u1>Y}+n#q<Kv1yp z=H~RrzrMca;OB2|Zf5qIW5Jl7p57yCE#^Dh?C6TX#UGwdk9S%b^62IA`O`Kv{QdhE zRPIiH-xPM>Sg&+qc6PU2?JtkW1O4{@EZTS^nHXN&*=d}0eO>SM_<C96v@;EJ=gMAN z7u!8q-GAC|iL<jzogW|THO#$b!lC%!;loByeG+q-ukPnl@tVJ1uY(e}lxY@=B8yqx zosQev^B4Qiw_|9qtNo>*qr(%t+|Sj|k8fAWOQlrC?U|R^1O){}_vy)6l{i#XSVV2j zYQ42J`|+Ebn?bdrRq3mcg}d5Zt~D_#OzeDpZLM@tQqqRR!)z(3sSES&?g9nfzt8jk zPl;^UzF~tvYip~3(}^m-va+%tPp8Kl<lV6VHGTa2{3I-kRQ~;aUqAiz_vkGdjgOD_ zKYrYAf9&`B{rzXo`0UudTUkTHW7hm|p`}5cy3yOfwep4p#!sI=UtH=fo^yAX=-FAO zliyl2>^c^Edt0uctZeU$84{por)#%Zl&Qr2pU<RC^6p4nym;})tJUil1g*TVKHmP! zT<h&u<c^)XwWClu?cAKs{Cz*!xLTP&IY3N5PUo!jn&9Ppb$`Ex`^+-o)ZhQdC?+Q6 z!<)_Llm7ntnsIwu?#{l%^z`=m_5UOvAMZc@;^JaZRNdQKo&5aV+^CZhZ7i&;2k+jM z<rdR9ur>QSsMWR1cXk%9y0!>c&b>X7#_8ukZR?LG)#oqBySuBSqvOCF%i=Fpa;F!k zpPzSQQ!2NZZdA+f@9!7a{rv@MpMSVl{XVoJ-sPHu;*)*G0)i9YfLtB9Iql)GUg@hw z+b49a;eO5_1nPoHvNgE4xVVJ1IUj(~wopE!f}o(_#Hoo49xg5}DX9`r<zh|iniefm zirHPpyKdb&(WvWFJ32ag+&LPp%ikTieqG#aY3a9CLxwd?+1J+{ynp}xjpdFmE-q6i z%$mhzZ*QMGzb(*!VGUDwcsRo={Ry*Y&z^X`t)rvkl(M=y`@etxF4f+VGGti8baun~ z*|Vj=onGVQvzNE8DSj{;)GzKbMC%tnX9zP^WZ~lC3W$ivcoVFsylLac#<gqLhMqT9 zR8qQpkYR(=)925XZEa=0zrSz(ZRG^cg0ix<{(k;9Z{POTYPq<iJe6Pwo4ja|l8U<e z;bX_x_U+rZVf*&<_x)3aoD}Ts<<0Z%I208bH8nM@+4ez0P;e&OWNwD^b8|W)H>YLh ze*W~y$<2+8;p^FwYilAS_SIN!+O+AyLTC1xuUEq}Zf;t7#ZF(Jf3mv&v0bIFC(NGR z9k;jY;p_GLuW5aoF?DKd;p1b8r>E&MG&C}^KRT_yzh(FC-8%1;?d|1VU0pwX|K7fN z^JbmjDxaS|dBS3CZ5^|-i1p{sp9Li)Cf_s#1t*FcpUmr+rW>tfYa3eyYUEbs9&BQb z*ioQ3O((KR*}d<;?c36|zrGxtYhAv?Ojyn5z%t+20@BjmwZFeTe0O&@2S5MyS?%UI zHw;wN)Rgq}_zDXPJ$!szTwGe-yl=I&U2^a}lc3;CuF0<%Ss0?DqbsVbU+0QDC478z zwBr5V?*<hg5*QAw3SIr+>C@Kt`~S-=cJFs9D>GZPc=5)nuUTK--IZq8kakw;$M4^u zgwDauefZ|)bWm5TnVo-;b2}eHgQ#}cg5c$T7Ul0`W|`$i73WV=*`9y@*z@`IeSwSJ z4jw;#{Kj%;7nhWcKAXHB9ctzN@b#-}LV`kE%}3XmeKnE{pq^Au56_pkx5KkuKX}ma z?(Xi#2O60f8j_FqJ$!h$Ju0`RwpLI^MrW(1hew0g(n(GB3@>hMR1VRadga)JJ$r1P zJb98~yC&Ahrzhv|vxyTYo;Z8<D%U?yZn?HL`t+v%mo&gxaObUlkTbY^^cdb;SjY@2 zsuF&GdmFJaiPgx+=)%t8bWoK(i~YsZr%S(DAAQb|mXdPd-aWak+1K^9_AXz({N6@e zTic~(ZIG(PtLn$^-{CL!&XQ_%3Vfw(WEAwiyp2z`>+|#T;XiMH>X@vnt6Fy!KM$*n zU#h9Oz{lVJ_+@|l*tN&ilooyR_GW(c_^Q2UotimI%pWxwA)zL}xmF7cA0La@nk8yg z_J+fu{;i#&%S_2_yK;H9>Sx<uUhaSVNT=}9=d+G3(RHn=+V$oA*Voq{ALh3|va|U4 zl3YJOzo@tJb~PO8>gs#nPBqNDv_$LuVl5tDO9dsR#~poaZoN!hT?|WwBKFC2bQyh% zj1-&vn(@lhM~|8&Oc03KQQ)}C^Yyn&scC6mdz<dvyLaOJdH1leu$8&%;`gsBUn6av z_u{Lb*z*Su7|hMh*Sh<zSh>Gx&)&UD+r5@HIW3$3Zc@K{_wL4qMCPh5FBsk3-Pc5J zUUo+D!Jj`hJ(9+3c6N3JB_%G0+jzHD{oJ&9vtia1jf$$OLub$O+E#x9buPSZ&rj73 zUsU<|8A##gw6h<+UXRb-J8#;wHu3lxK{+|Og2F<_j0_DvS*w;AGbGN;GUZnHpEsq- zG&w1W;RQeAe5+C}+v;yElP3$my0Wr4aIqUGhg^C+apFW!J!tp$OYn~$KNk4SwW@f% zcKe494-bEeFHlmtG<n)LjUUWc?A`m*{1@Euv12%M`ZOq+KYaYS`M?2(it6g*<9)K1 zUjO|0^TzISeb9&yL&o)WvTxqJ*>Y>i^5u`eyu2JV+i$LwqP4X&sEv9{#;Szl=FOWy z(!qkVyeupXw$-cZ-Q1<W*DUj!+g14Z*uytBH*;`vYj6H59$(W4s^kv0@q%*DwKb8= zZM@P<0pEA<Nf<ClN=n|?RjS=5Yu&aj_x7Uj^>I5&Ur#&ucWuN*ruTcl%Ypihb8M@{ zil3c12pW0_T^+{A0BYNSG7+d5xha*~Z=Ox3X7I8FD^_qgxAPrc;yHQCrZeq)va8B_ zK-EqB{<;;hyUjoiaQV6)jMnAvj?6Gj-g4{c@#Bv#E%ol`??1jObhUu6urliu7ncxA zaXlNZe<obqjosqC#dc!eGiG>BR_nB_{?>7Nx_);vJAc=Q4+Rfjz0wK_3ThE>Iy2kc ze?^Ga#=^&Lg|Dt?e!S$Z&nYi2KXLM8<+qQ&UXK^AtE)?Tes1ogA0HntN<TmE(Z}QR z;;gK!L9^@r{^|@{8`as;!ZLBf1O+E2Czpzfiq><c*4EJs0yl5otXlu{*|V-COH?M# zo*jKsThS$Jm4Me$fdh-%dwZ*@OQUxdEe%*1a_RGvCn<~$I&ph;Tq)aitWQ?E>f0O5 zuCA^xaksZ-PcJAg7Uq|;xp3>=j>6=PIX8_ITLg^L&It6||J(6p*8ctbfBgIXe(SCJ zKOc`T3SRE##GyD%H(D(wHumV*+2*|S`rrLCVd(IkZN{nC60xsl=Ze_f+jdlcU-#wL z`u+d3rg$wqapHu46Nh2a5e`8CfdyaZ{<^;ZpK2SQY}BEt6P{Z;x}?0!dUP-R*5BJv zGw#S7*s{fB&zDQyKc3I84_F^(Tk__HAUnUDi-Q9LL&B*knkUYlJvuvopQdQjzqi}( zKX~;@>uvJIMXnpRZaq3d(Rqo}1w%u_4I4L3ytO8Fx7g!jy^}Y!vh&GwsCrMk@@BTK zb7noO=<3Ya#ZJ!7+E?t1jD%``eQ~_J%=hB@c>9+2cJJ$dZfs26QT<)-)s>Ztzgq9y zxpPO!%Sre4<=xrQc;!lni>qtmlM@p!eQRoBS`nhf;E<H0bZbi{Ge3WS*FMveH#et$ z{PDQ|@X@2Lx2`Sq78el}eRyYQ@g<YSX}Zx_waaU2YPMvB2?+)s{rPj{^FO_EYxh0B zd4u8fG|Bh-(pUQEG4%BI>V7SSj0Yz@J2O*tTVYAbk?HYuo%;L#Y&v2lCnp!NIn6iK zf3q74>q_<gV*E_GISp#QJ>`B!n-_h`xV=qx(&Wh-b8nlyxwBK)xsAv1{k^>(ANSiY zTCsw|&dv_hr@HrEa#nc6m;Kxula6w&6|!Sk;^5QQA`<9j6!7tFSy@@tdeN6|Z(LkL z5(5JrB4+G5yx3Eit^Vr4Crl1iM}q!w6%`jBzOc~Qu;fL+o)3q(UtC`=pLcgx>$cq6 zO3KR2+qP}HwCBL3ipt7`b$@?>hR53Y<?}Z9t`1xK;qCVOkFKqaW~*j=`}XbDuolB5 zuH9mw!v5Xe-Ri7+et&=89<=gEa=&fZH)%DcMO@zA!TmL?tSjFa&tebdpX|@Hu`Dpq z!K=%P+d}o|pGyzKb)#Bt+=u{;rdibgv#I;>kiDY1`taSmvU{t)yDj&dYmjk4A?N-+ zSxrq%i-HFX_v-)G%Gg$2dGHTZGwv*Y{^;|0dr*fKlr7i9>=fb_*JEJ-rM?f}z8zcO z*u0_se;ufTw*UJ@SV%~Sfq_@r%%!NvNJv=t<9Yl43i|r~?<Eem^S3WvtnAh!(Rg{e zzp|a3T=MZgR~HwTm64A?rNy#oA2N6)7-lir+b?kE|NO^$McCRX(CD9&v-8D$wbe_O zEJ=8MZEb+o)Bp_;P*FFp=94FAti9sR#^WCzb?YmssxCd^@Ota@xWk~~x*0PhT3T8b zRDXZh(b?&kkf6X&%6~t9|6ewLe}B+GtD>Uf4D<YXCN7{J+v52Bbrr8xE(c{L(0JQ> ziF4=9-Pl)a4T`dFZ*M<t6_0aRAGg;huTMj8qH4lT@y7uiiY*)c55+uv^2A|jkfOD9 z^m?@i&FuW3M#_N$4i;8cQZIQ<PWfQ%=(0rLF7EE<^o;6$xvRxzF1@>dtqI)jPBEF) za{N)xT(HN51O+Ev%n*_@4c&Ui^x?%j2HZ11ZSAhq_$)ba(|A?jF4cI3X|*deWth~I zlom-Ho}|C55!`UU$}z3RP?iTYd$huB%C=*+S9QP*{Sf7dPe)6@vrCJl4o=cv*3767 z>gnUdbLZ||?;2akG(=}-r)im=sGy`|r(-jl<ZqLX4xOl|Syie1TTDL3KfV`az@XCU zv{2)#prqu=@7AE2;pgY)-glPo-*12E@?}98nV8=6xNVb|E}pmlFJowE=w_*|q?DbY z@%s9l>pQlKtYP+;^yN#*%logduRq={U)NFm{G8|QIdkT0xn*DTL%`3^uj+R9=8YR0 zw{PG6M?ISH=g*(2`<4Z*%=+Nd(XqzcGje}oBG12`UfYIe3o7ncntuBBZJM0cR4%So zr>cJs4l?i9y*v4E8}EyYi`ivlWjCgsoyEn^`2OZ*cCJ>Y-DPi`GBPyg%$<92XL0&k zhtE$=P6oyEgIBM(%+1ZWWMAiV@0XhzXJ7Du0hFFBEG-Y-zc2szSTATiXUTPGvz(5b zo70tzjD)nNaw)s_xquSV0^iwY0U9DNKJFJiR@&b1`O_y*pB2<Zxp+}9c6Zs)iOTLv zuAeUc=i;*D*qZpuM;R_$nHh2P%*x>9Nq2S>T2z12Idtfd*53Kw?^W}I+JAj=wp`KC z(V*0PDI1hg=FgW0RkO**`#>Ym8#ZrdW|(7D%9WUyC}C4!@bAxO|26UZ<$iyAdl*y$ zfBXNw{=f9Wg9k0j-bmQ}c)%=US0ll&q4>GqlI6>jA0O*wJD+`Oisp}(%ja*%x~c^l z!}pzK;usMjk#~1j=)2GAN=l|_e`gsuPMtP)t}a8zn>RUouNM^;y9NbKI&t>w+CPjz z!L0#WtqgLuIXPEuufBO|s&=c_(n<5w)z!Hfl0H5<x^&y+r9bxytNU>%wsiFOi!&TK zH`jWp+5UgORx>EXYKMo13knM-7t{+13MO4y5g2v*-;c-q3q!P)-sk7w5NKxO)%t2< z;?^UfIIs3wq+*Le`TKjKWo2baZ*Oe{H>M6<zaFj=v0=fT=kY?3`-ELw(w^PUzq(!T ztnQoJ`MtGnOYiSr%UaFgJCpO<-1fG%Q=8_8t&Q^h|Lx;PMuwEMG$sZ$zd0S(<EnZ0 zR)0UXr}A^b%S);&-)>AkE+8!29JMvevwy<|0})YCMN7+_Ue7CEUQ)HG`5_Ryt7PJ~ zn>TMh>{Ooz8iqYx`_IMY3&-X<Utwm4;IyXN=X!d2o8Gt^FX3LXxu0>ti~57_&df9} ze0D~XN5X(%clmp_ZZX{rnU~d8o_%p~@x&Q3G;Bd_EN*eV1%;1~g<AP5wp{xua(~_K zwOc-`D{V?^TejBt_4O|X3?`{zF@~Qv9+x|OJAZ%g{kq@0&FuWgz%y>Sx3?VyO%N{e z6yDpucW-Uy@5_6_A|fJ^q|e%YdwW|wxBABi#XdRPu4iXwpZ;>LqeEwUr*HJ~AOi-I z(y(jg^JdTPHcUR2aDJXGXl(b}`}_UM?tLDNH?FJ<o;YDb!}fbs+?}1BI|?2$ZOggY zv@!Ykv|aK3{{9x0mWq0MeAm~<yO))1i<1@?7vJ;om~_SSx#a@l;_XY8sPxEK3VnZn z-+fAJe7Vx1Raz^bc$<oESm2c;>rnjQdAjJ{x`thO56;du|9DD!{exd$U$2PXuE)kN z*AuxpjWOW--rKv&_3u@`w=H>njn|0-G%VxX&Zk?tf7`ZgKOS}KgN7_09_F`q*`9Y7 zG+@2A?DMm;&Vhk~N=ixv&(Fz%rt5xxd%GfbcUkG4SS6+Iz*}2NwRg786m7lWQ?rQc z^vRQrUQ3<I%FOQExw9p%`ojapNs}iFN=Sg_7nJ8J&J?Os?>I4O>C%<$wcYHEW@fJr zY6o*Oc<-){=H_D*78DGe8u@Wc>E<Jf2}(*ztF~-0`T8M0U_#Zbs)!j?H@1T+|7AVk z(m2$s<jdkC{7ZxGGE0aaJ#b#8fCE&NYxP9#f7T08F@sYt%vJONc=})K42$^cMO+Es zp%>9(YvMm2QxO1JA(HlYmOi8$*E{OHFQds;J8I3TMFku)R;j3|vAuiu?wB2~lG3WQ zix*!_wX6CT^1r9g?3-j@DAocy`%g^umlutk!fIE36n1v35%k^{A;-r!S;f{i_Sg4c zUtfQG*e?GF)C@CIS65&AjbGlbW%A_7_rAUQ^5LQLjhi>G-uT$jvEs`leVKoz{%;sf zm@_RiJN*0Hqx`=9Tlw_uTV2}_Em0A!)-Qh!HnSI$mmhEAmA<gpo!`RBD(UPj(^Njj z=g*%fpP6C!;p4}~#fz1t%yK$*7C-k|AHTOs^t|0~ovf>?Sk2ANc_fWkuCI@u9yi~z zSPe9B@qXWLzFsNQrsig5Q0rlD^><K%WO|i)a8S^ykEa9#Bh9DPY_xg9Xi|9b_+rCX z(*rexTm!VGM9A%v3CvyGQ)U;u-0x`m{Mxpu+Tn)|9%S7A_gnPJxBGuQ;?B9biB;Mx z$Dx^xcfzb$pvg;y2Jnn&Q+GG_w|95Do0^#R{CqZB!m32$+nbxpZy!H8+70Ts*8O^^ ze&fas1qB5LalIIaf&v4(UoVsy9QIayUG>&hSTNGs_vG}8i?7<&>-<dmC&4gl!<IQF znm?Eulmc5W?(cDnm~8N4r{wefyEui_5<WaQ_%yHn>#I-}R@Q~t*VhGTh;VRlOo+R^ zvsfKe)`JGC?%$VZ*iiK~YfH{eA@@ER$KT)HGOnl=3|}9&R`kiu+qVzjyeWC_-aVte z#!5<;LTz48SB=-<Zg23t(K=gv$pinz0V0nc={{b&Sy)OcYT>tu6DNX(el9QbHO#wX zu~zQz=JfN2?%$8+`p2-qwOb4nd!Rx1Tt-I5HxHGSRwcG=s{8w=LC#j<Pb3ptgPP6? zKY=M+Z~ITUB{r+c9h+V9@X@27h2L^-Z*wgwGP3*kBl*d*XGtd}C{{dd6=zt{-XO}= zdhh*<y!9^(J3Cfn&G?%AQ-WcZfxWrC4u3qKbZgaIS?N~ZX|4Lkw?5>j?%cUE@x_IO zpz)S#>*M?9*Ztz$o_E)&TTHj$>#NXAKLrLARaH<A`s{3T{nGj0zJ1fs(OL5@SY2t8 z*V5F#lTshZI0%bhHRDS3Jyh`VnybmjjHI%I_ZPW#gNFRCt&MhG8S<!IzOG^WcJn)T z?_S(pp1&pQD%at5{^O61b}v<#@b2#J>6TaSY)Etlb<Z_5HCKeL7PGOjS#ZTSP+4h_ z*Ts~-V*E@qzh*~P95-RE%d2~FaYOq})_R73)nU44=G)6JT(~gf{yy8Fpr8$<ufsH^ zdO-%3B)4W?KQ`IluJhjB>cxSJ-6Hna)z17q*QU}aCnx8^B3JG!tHb$0QQBDU?2;mD z61m^(6{AMl-zbGv0Vj#yDrZ9d{P;q&L^o~T{P5YcWnXV$Z*ML;bHQqVX6Ce+U!y_Y z#SQEeK#Po~ZaJsFxlUIc+?dop))W8w2&nuy(PjAfx)pe&byHHzb2#(NkF9=dm?O^4 zNb!~WqbD#?^P$!LYrVD&SC5=K$H!3c|6i^0e9oC%XUiQw-&IgD5?lA#`win7H8V4_ zg7R|rv@|t_12=Epe6VYK%Fh;o9rge1jEs#RzI(?feb$0oaH8OpDPN_<jy*U(%Yb2x z+r4}D7!+6=Q|{imdw1!37Qu-dr%d~Ln&CnfNRq3S$<EI1!<R2d4!867)>@^wl$Dje z`Khcl`9NtMr@=>tf_Hazf+qJ2>;6>e#O;x2sIth#K0f=Uy0Wqow94b!+UWK>cVfQ0 zy2>42|JU?S*Wb*^I7VpSygz*GSetphl9CbUtTp$+dHT$+t$u2=S&E*V5Y&m^C$lzc z>!n-!5)Lxy#Ox68o~CnfqO$vgw{LsxYJWXAH`h97HYk%{Ugq1;+k13h?eBu`?_yip z+ZS)x5RhezWjNNQcdxyYl2USK7gJDB!;gxu=T~SX&lkLEk=XR^&Q9f~rluo(vequ& z-`zd><KyF20VferQO^AQe8c>EHY?vYv-7ujEfw;ft|#imQTY2?Zen`6dQx)oQnUL1 zf42u{O;ys<^W#u-2@0CTpui_*qX8N$6<|0LU;j7s-RCps&WSOA0yy-Zo}gghRxe-C zr0;oO{U7~}=1}z6#QtIJ_IrmK7@05ZF3(^4_T<TvCr+GjxWBJ<X)Yfh--~;Dt@&gu z7#Kk9P&vDr6<3d4zb=08;K88TEiEi7LbOU=TyV^~yfN8*MTpi)UO~Z$ss<sST2DNA z#&GP|G0?b<MbVRvd)bnbk_-&``uc0%#>K_$D0<p;<rrji^;-7gpMQILcq*!@UcJ44 z`EqbpvPWE;+^0{UmOQt#w0v3<?&9KN+OHbFLPhN=^Nd-ux;{QWo_uzeX+cSe&c?ZU zwzi5cGflsh+?L3SzgG9`++6OdUaGc#{{Hp0RTC7PXgD?OQ|p@9o~#YW`(&Nd($sEk z&1R2|j=pj0R?_=>dw)FY)=$XJ*8ckEC1mt-ePwkuX!t%dGIHs*oppbA-TRn-XUD?p zyCd#=d3kx_+_}28LBYYRztnYhbgY`Z?1^`w&QGU?PS%FKRbLOS3|>9~)F5<nb~dc} zQJ|uxwkUA18>mO!Cu_ar{>k&_kKfx{4eGWqIP5Nan~<Kq{HmI*t?Y9D`O|Kdyt=}9 z^X5&9njagkJiD;a`NX+%({4#Tf)2T|3kptLd1*?`#So?Blj4^QR$4Z!TepsbkMG*8 zXOA8=S(U!>xUKFpqrtNHnSzD}hoht84C8dZIdkV4=G-t~Xz*I<6cQq$<~ys!s`S-? z!-ttCtNXiocyvq&xwNOU_{;0-{L1cqM>eINW?)$C*6UPJVF4P=Z+<_cqr;;vGxOEM z`wJ9GJEw0j__`r~vKr4n58r7FAAWp%ykYZZXAch!h6nrq|J4s$7t<-G8<p_v%*+kj zw@-g;z|f!>yiCE|Ts(i@&t)MTzqa46YhJy2^_4XAVXLU4Gp?_T?Jj(L%=6|UW_G?K zlT^J^to=bbrlYTJ%8!L1tEw3mFOv8%(X3U#DWp{W?d|Qyw`5-a@aOaS$Df{_&bYZr zbzb#5OBu@|7G^e{31J^Mm{?j`2CNJ@aqir+0s}!o$=Ik_yRLM<Gs@T0<YDN3{5N`; zWyACH^W9%xTg%8`|K|fUsIOS_|L^yX&d!7W_J385D|U2rtl&BGYw4#+sth7d3trUU z-!a#^d{O=Xe+&%u_4R)~pSLfPX#!1t9as~ur60+3;KGFf&@|`j@b$;;?X5OUIKaU0 zYO1xD_G%{=7ne_o*Yu}O*YQ;77S})a;o;$pm7ml0e7{$n@oB%kY2BZX$AeC<5)c#& zyee}3$Jfuv*Yv0M>v$@tR(^QEn3I!}ke(hM+isxcr=+T+l&q!sc)Hi|-`meHCe+n| zis7X{8>D!pOeVY*P-~4>P*O4yOZyWh_x`>SFXMdsdbz;BK#PJ04cE%f-rCjL+FB$7 znzQ@2d`nL}TSJIgB+~)VdWYt<Yjx{>J{AA*<A=k-fD;>|m6VjU8r2?$Z)cw%xj#g1 z6H7y9XD6s2m}Q!+cKjVEd{~Z7wwtEU?$#gn{g2_}=~_<H7&f?ei>>+Y?&1=1mPfUA z$r6Ld)3yAjsZ6-LyZrIr@Ar?-u`Cu45?VC<YxYWE9m~!s9UWO*lkJ`y{=MDDwqbAe zcQ%GEudaG$TTgcA=;(NIa0&mU$vTV)H8p!=b}K3=EfO+#+5AMso8iXZ>T=66XBQV2 z)eAbGk1gS!)U3m(z;I_@t@Oo<7eO6z5iZuKEg6mB@wK8_Q@z$X3kV8Eit2rKyXvZW z+z-^9I@T)<8bRGr`daMY&*$=>qP|z!{Mg6G$DdlT2ntRN?d%Ivul@37<v&T;wfEjV zXaDlz;Di2EZqsxg<lWu1&~vgHs6CUDdv$IXD=TZo+pX6Nett^*^Y8cjP`kk3BRZfK zKi`=jYvcCRpT5CtQTi%G^9M6%9?oZ`5i4kr;;{f|=63Oxo_Hn86G9BTcJ6%m>gwvM z+rh!Xph0wS5?s@!_ISHR+Mh{tQaBmf`DD95OB&+$%dK3w(!<-^IVVRauKKMhXy^`{ z7*Awn7}e$GTsc4Uqj%9{Rqh{`{q0+w79P-Ezo!Yb$PToE;9kXJ-ZQh!{rkW{vgc9c z{xd(8zEbfP>NxiI_xHk=msB|vFD&sCwy?H7y)}FC5zi$qE-K>Aum8BYO8#D>BmDlp z5qpD_rKRPKz18Nk%yPl~(!JG_59$jD3Z86?+;7_bJ%8pi20lq67Vl{~j0{hnJyS9< z5dn?Lf<{9x``e!^<WN#l>OQ(AepTismIlyT+g+uv*%)qY$rNr804?<btxY>K&o&z3 zNS(C5LB5k!8P1$L*Vf+7&Y+;D$9LZTzYVB_OE|y)n!!R*$bIAfeR)n!&JQ0xIK;%r zBqb*^GDJp37L=4s0SCHR>+3(03{MI%_{}h2JlxLjzBX#BfPg@QoNX0D06%YgOUns} z3j>3Wt)DN?Y`;o!Q!1mpZI#H%l`CIdUd|8d*)aV0dOiN(yLWwhvAa$ba!fu9j&Y5& zKT`7V?;Cw(U~<UF&~S2g-nxxf!oXqOU134N$d*e+b&?E0zAH-@ED9gF)cpB)yr8h~ z;E_&Y@7&!54-cJ^YwPGZu_(i+uC$tA=0|VSm6sSFbPB6~`0&vA<$cva4Uws~ptN~Z zW8RmIHI@cdTXsF~m)xJiGnJ3w@#Dw5|3K61TO_@Hd3Yus)0gz$s>7PDYXQn-rw%RQ zzkK-j_8w0K(25*>`#%k<!`Ca>+sD7&+AD2-s#HQrNon(;CHzLNo7S)hNlSO@#qLtj z)a0CPmV4-MJO9KfQ(ErsE_YrU1c|)OM^f*d5IHHtaBikCd$*YGA^rV-n5wI*YySOw z4$6LQJd#apyi$;Ggeo>-zi{*@Yx=o4j)&WL1GneJ9yxwoSw)2<{ro)F^Yd&c&YP!q zeCI5gbBYQ|O3o$ID=+6HUuw^M@HcvyoC7~U|DB!1><j_>>uTrN)k-lG{Qj1EXMcS> zIO1ovzQ`!O<bHnMtN9l%zIt0%=g=?5^Y4Vo2_c5E*VlNh%ib_BfV!ce^&2N9Dubq? z7KX2ngXEbfOPAVeeP>!x-zT^Bo?nVr%1NfUO(~pmHWdsEGwf=u-n@CUA^*M|kDQH! ze9ebOnRZYKTY2V(YH{FG%LZ0f)`;C@x`z%OdhqtG?)A!<tRVL<dKB^byv>Jyx`zce ztX-=M%5zViK0R4z=i=g$rmo9-L8t3zPrMQPrZbFhE-Z9j`5H7J5vg@|3BSYL$Kvwq z|4E9bp4qHy<TK5(0kj+$RC#aNVzMRsI-j1NUex;SSy#RK4hskh&YUu7l3h^H70LZB z%e<yB6uh{wkf8xomEIQNVr>x!&=Aqk(V6ntz{SNyt<_ULWnBs<!{o`6pWXnq)*>(J zd|o#D%fZxpC$5|nVqnWqvjr8Cf@h8L7rU>n{x{=`<1?pe3<1iTnw;V5<6P_N_Fend z$jpAK5|mmNUyOaGtHs5^{n#i!B`$@NK|g+9&+~cJe9QgjPI~r_@l|C5g9ZD9jt(8C zk}r#w@GlLz`&(ReDc>)N9}_JnF6BA%<KtsN35kx^*VltOyXoiV9DKk3f8T`*0dH<@ zb_d6+r0DcYWp5>Kh8YtkH1ym3;`sXNYID%amY|g`*Vn}wmcNTxdj>RmQydy~On>6e ziK+}bIyx?EqqZ_Il)k=pbZho?h82^Y&&{<~2bZQjUXwpY%NW<4i~;$Uo&E87`~NHp z;zUypHnD=1QG>etCRtZJAa=8Y>{js>IssaqRQ>%OBLir4@P`itpaHGYS62@H`uZAN zRRs1LPx&%&(xIMsqk67|o;Ro7TpPU|w0=`l_=XUCIzc)wFYlP0tdi2Cz^GYOx$$?E z&TDG&{5c~FuBXMP&zjY>Ws6BgMMXr(2X_~jX}zBEDJN4n8MwK)J{)A1cUT&<F!693 z2M0%k*V02EC$;m-hh@ayuldXywKWSg(6VFa&V|9t{cdc_o&9B(0F!b0xt8_o_2<l) z0~)oNV_EE$Enit#DPdiv^Xl4KZgFvO9vKUPOsmRYk&%%d9UTo`OPjowI=Q&8<lWyF z`!d_X#bp{O$$%VjyhpP6>FMdo2b)+e3Lmk6*8j0`iz!%HNhKfeTYF*OpFe*L^6%Nm z*j9<S_sfBD^T#)v&wDxEYhvZzQ1H-6Cvp>ud!J0>_U-1szPxO<E`R6odxk+GlUeR9 z&{Wo&+uQle-`{hssMrza_$u*mo1&qiU}0flM|Zb#QW9uu&66E6E-opICa3opzHHW+ zG@)_!?AbSVm9D<`ZEf^+E_3tkTJQIly}kA5cK&`*S6A0Vw{J&-D!Hn+2b<ZQmIie$ z^`6e9*s`Pc_qGk2Hw$mvxG`w<{{R1?HKuwAii@ka2q<Z4dNK&G^UF=SrJ|z3!SDz) ziTk}WH9ei1LCM;B_p1Df9UVRnS*rwgm#?lDyDuicesAv?>G$`YPF!Ms@!~~C8?W@M zT+n`mH*eo+@4bKMkkgT4#~$6=Tm9n7O5sV9Cr_L>v2kDRZ?9Y#85z(zU>S=728Mz+ zHw<lRegv%UUB6zxskwQn87C)az{-#p7Zx^OS(bdfFJNUzkhGH0CcTRnUoGjMXM5Ft z@#3qu!6P>}KD$qIoyGv}z#W&b@7c4*CNnxN4!kg+N78uNq2Jb}uS7sK6+1ioo`1hy zgKAe$lc=YMhoNEm^yy*M`uh4WxAye#+_-&vaoO8jOSgUe^5u&4y5-B4BQ3A#=s5AG zaHjbtvrShRZ3-W;l)b&hYHx23TCT~^Fj?JS$=+Tb)c<*KuzBe=Y4bdt;(FiNX0Ay| zN_qG9^@7HFl-+s`+}m5d^m^&$?pA@+G?~}i46p24^B1(5W^>wEt<QftJ5KDGGVSB( zdG?!JHnB9kd-ty5-_Pe;xBdM6JG`p?+qZ8SpZ1%qzHlJ`)W)A*|Ic!n-&`(-yUouZ zKUUs){>+&vRjhmW?wvS)e*c;^I&0$&oH^rD^6pM#R`K6orF$RW+fnGezI@}3mzS3( zKRVKR>GPa9bF}vQD=8WA&gzN3JFEW84^?kfZ-yO3PrWS5f|V3mK7INmARz(TmhtAs zM&{gGTNoLhJb#}2{@z~D1SSJ$@%M(!n-BNNS{tOC5MXeqs<QH%Z`aGpEyloLRr;#s z&6^z1l#Rd5M;3+$(C%E5i?fW3%!3CH0_NsV?dZq~h?=$QyS|3U+>h3<YW!siC&SY( z?{>cjtq^V7zu*4dot@1$ZbZDfxtYDNurNSF1e9l<otfFZV1WV)D{JDpIhF-wWydxo z9%f+Bn#vUz7&yZuQ|Q%|mCXG7{66z+Bo!4EU)<eo&aj~J^E1$lwOgM|XX@!`j0|qQ zQmr386qw}Rx{~pJZbwHJ-}Fl5Y&CC&iqFq{YkoXz@96Ib4f=GIs0H2GRl54l?_G6& zt(26MCd`}1H`S{ZwE9<1kFWOE7e)q9gLdc6ofV(YnopcMwUtlS>H)N~x24~;TkPPq zYhs|rUtXSG)z??8GiFHK$mp_U1l5|ydZpD<x%p)*K%*=xPo*j-DH#U_U2^y8vU)uI z#HEv)#6Dd1x9|0yuBWJ_#T6G9SJf$^?AEj5m7<T(bs-fcBma*dUlr-MZ8K)rQnRQ2 z^cChE`S<PK+}`egia||D$tcz5mqNC>x9owmv$GV<&BOa*1qB5|ySJE>^2bL>O|Mj* zw3PkB>-GDOfx43q+vSxkEF{Xx%A(dsXMfiMtrm3Vln1Q_keF<D!s=ugyMeW}v~8(c zNCua-xR}_fLJ1|MMO@mN50!O%WWN}GP|jBIX0WLFQE=n-?Z?00?>C>p;^g9zq7(D9 z*<-#A<Aax%mlr-d!g=k2vXau|!!7(uwVPBLTiV)`Oie?<PCMx|`3s}L!)A}^I<}xi zaG>#^kLRr4E2yZr=yNU!T^$DQyse1Yaf&_gWr`-t+K^Y}Dq133-Tq98ik?bJmnTnS zV_|v0|8v<AgAdB4_x7j0V)XIzo0e?u;^Go|YzhCOO`xieh2_LXX(gpaTFIB#18=5y zGBGxIPuEL)b7LbYwfy?>vKh2e>C#f~qPO!pI##&EJZ)Z)l)}ldJ^y~6m~PaA4-XG# zTwNvF)ZAS7;({V*2-~{s%>;1Un$6XH_47YpA>F39r^>3XvLeftte7u+QF)U}<Ce_J zY>A19GtBenUHg`KdD+A5_v;RSe0+R$6$hlJaqMUd|0*7^yKSn!=`7;;Q~CAP>h+-F z8C)yB)YN_0+~K9>%@DCZ&Q?WD?NzS7k59|;<;%hCvP+9Se`xe^%DbdaR^_gEa$=%{ zX_kmy{Jx%ZbFG~h1|;0yR}0F)YQD1|U3`_y%vbmJFHk5wbo|A|SM%)EY6PbC>o7iG zm#<+64-c>Tb~7E+1Y`iMjRmda-BI}X38;4{$gu8{qY8WEB!{lu#n1T|4qUw&dhYHl z6;KC#Riw`^1<McrbT7*sc=9AAW=8>IgVl%2EcKv?1uw5IutSqBu}}0#;bc%&RxW&S zfN}5Jc0O6Bl$0eXlKyin8uem#y~urkW8>n3ZxWQ07JYi8B_Fox2fP2K$*P<#3j;ig z|971}cg`&_aUoc%c8bPBWl*Cm`BM8)&3U)>*6x1DKQBeuTgaoL!eY+cxf}EDTHW~b z{`{sxhn#q1twg@RyL)(B?(J1Ii<Wgv_UP<b#V>5P#^a+${K9~IZMk_T{v7=LPdAwV zK@%(YhbNQ$7iC^v_Tt)FX@&>=_WvCG{P@b=-_r#(u1=hqGVQ}bh6_zgmfCXtV|aVO zzgd3Io0OT%Hx{{a|M~fRzJyT<hmo;y;q!B{dp@1g{_%SKegPR79f)3ohljl+y1tZt zY@R+>$F`wi*N4w@EQ_Dqk`)w;)Li!|k+rM-#4L~f6#^>)R&4*+yxwfn7to64lZsYR zw(r-c`+xO!u>GoS7x#B^C4-p5cjtTiV(qt9ALXk1aMkDAREIU3>Jx<oPqur?hb`E` zFS%mlmArfVZ!&whxTrO)u8C;eWK>=CC1FdvbINRxU`Sx9FYDtw_1p`8F37(6s69t1 z<u#*@hQ@(&bFD!O#a3#3*_wSFH0-;R&(Xz2Y>7?qL5uJAnMD3Cur6a!Qu?7dn<4TU zL)^|H*1x~L9=^IdeB$)!?Vq2Y2h9=8Fi2#Qv#DrU>OK8b;X1YUVvddut>Z4sngUC; zUpD)BFuc2Ke5?HoctGUw@qYJ=42?~jHa&RqL?yTW-OlG5vajn|f^BUHKByD%(X__< z*Mj$VAGhbEY&yeuXM4W<xA*t?tE;QmzGY-&{PFw!esCK#QsCV8%>lc*&Ckz1&VS40 z<R#{akdT%`hn)7l&CJX!C@q}|%DpL!CUcz`p8t-NxvP4&tE=JV<;I_%e>%=qh-5lo zSNkjB<D;XOid&r;cbC5hZMk`IfB$}Psxv;WbY5)Tl85&$1k_zn^O&YGA^ZBehbx!Q zYwGRg)r;BDaN$A#C?9|t<?r|Z=kxdXw>)?CNr8~2VBpUUCpL>3EasmH9yR#&>z9(D zq2TLlYeB_AU`R;IiWM3>@^&%Wnk^k2Yl0&^<x`IBsMs9&D5xOxz<z~}j#I~btlC#7 zm4Jt$4juB@*T?_<e&`FvJDXCyci!fcvDmPwT~SHNICM|)iSzw)ozpzOJ71~wHGi4> zC8IRt{$h9E`I?~tOPLQiHnU~ghHHpic<U3QA;OSg;5-8~*}kxE;R=n-FJzQ@Cslnn zVN^W+^=#DA%?;gMT}zJV@BiC&ZEbY&?QOZBQHxERH-pxoZOOeYR#;eAG*4epaORFl zR&AFqMLfBgBk@bXz3+<OW4o#lSqZV@QuS%h(^MvarV?IWTKeMF*40~db#!>nojV6A zv(C-4)jpos(Q$%jL-GkGiC+S(0rm`UrRpy)D~!3%b5e*QZdVDX)>N<j-Cj$by3!Ke zm6SGR%zBx$HLLI=`{wkFm140+v;P#v+<$W-h+|jn?{A=Fcj@xwrMZ%llAuPyyoyJh z;B=(6refmrKH0_&4!wT~*GwX<XYmKFWcg>lK7LW>E6a8H(^52<i$6YcwfTOh7_?4R z$|Qq<VMo<hExGD9hM@fozB*sd+bx?YEI2jhk*Xr&j`Dt4=QLg2w}J2PeS7;W^G@2X zRqXHY8(m`*aRTlB1!a7N7Kd&zUC^8ZsEhQG+r?!`+{4xB{)cZz@*e4#6833ng*3Os zyQhC=w=P)S0vgg3tK7z+diCwbfIao6O+cN>HQrIPcD4Hl-&*>k#PHltW8<Y)-zs*i zdW#td3P$paRhl`swUwLR&byOvS5Etg;sdP&aU;P<X}<5X6rBaFKV-~KTUYn7;J_jK z5NJstdO+!X+OZ2C-mM7i|Hr$6*}m0D_RGcvo3BpLW!O{lQV2A_?LA%Z;pg-A?aP;| zKYH}&!Tb09({!W3V<$#TVwGmWZAxX%N9VROTwBZh>gr>OeN!i>a;Ch$x0i#H^WZ|~ z_6>!P-R|tI7H9bIe11JB1Azx1dRkoPot=^9+W%;Z*Wv6RWv`AjoeOiB#!zr;OXdvQ zYO}I8HyEp{t22KG``fm*w6K6<%`G8=rSPm&>BQ$hD!!T+a<3Ch`p2_0LqGo9mfT6{ z96zqC3<fP<{krY?>TrJZ{CnVmuM`&5vp;v2_q)#XjrzFe{-mHSGq>elO?k;!QeJ*N ziap}-kxt<i@%!sqznPZ5i`kNYUvAyHb)bp51&+-H@9tQxHFM%PGsjYR-@bjIEm!?= zwgu15NUk-*)~ht_-Lz?wfS@4bR4>-4UacJ+9C!BB?sj_a?UHhmr&poq-26_>xG91c z<Tmqj1lXHziPOLSVQbbVmWIP^yoW(+S0+wmY;|f}v`FdA{r&QwJs8^S_XI7heS3Ge zc>dn6VtjHo9kSMC3l=P30BsfATm5~B8E6O2p;qpVDJO+M9ff=M?tupD-rd=$ymcnF z&ZY$yH}}?a*64lBRdtRX9cLuEZDtGJO?ZF*e_CL=mb_x~pFcIA`ILnrTCGkC1<K0G zoK}W(O^>gO6cG^#$-F;v=1iuB8@tQb3pjNwTBP*w?OWYvXJ@N#t^DwyF<@m#(#uOr zoj4Tp?(frm^X839PR^Pu&))C<FXpv0=*ZEdoQf?TUS2{BM-Dc#gFAst4WN8-sx<HB z&6`XOC(fN)cd1%M$w>5mopwu*Cd-0<Ki_VD^>*b-rz6K#*H7y7@U8ulm?^jGylMZB zisbogJs<v!?$G+qz@=F5_Lk|Ih>c9*dNBvuc%?x*IzS6YLEE}=OzO?Tg38Lw7!Djh z%#5-d<1rDtF`U}@WS5x9T9>tWEuC~rKrnLhr7)Jq84EeJRvzI#{${1jsyQr5Ee-(z z0_WyfHZNG9V3Kvkqwn*iZ?=VxTuR>F5<PhEAVWhBtT!61udg4ov&c0oIX}Pu*4FIT zTQB~pb8};}v9<l$_wwaS&8-)wPM_YsXOGRxN<Tk8)%%iy6JI7yOgCOUbHU2!DTViJ z5^kA@l`abk-N_!XGDJy3V@1@aTF}6S{r^A0udl7WT<yCsa@Vu^7J;hUB`-l;&@G@Y zXt<X|;L4B>-@oghzpbETlsU_?ewNbtqZ>b;Xqjr_So|rav{vrg%Y{KFCb4WvILNf; z^Eqpa+Fx5_b~7{d$Xbg<Z_9D4sj>Of_4nzcw{LkFs`i%5oH;XS{etb=%|CtqJaOvO z(5%_7udjbC`~6t2bk*K&smsg#K})W_c=-CR{UfcSWW=cRDd$m%aZTxVS64~CZx(6( zsS}fx7Vh4?d&Bna;$BOGEUc`$Zf(uZw$)m+Vuc52TQX?<+#LJ*dk<dUyLT_?-=CkC zw(Z$t)9k76`uh6mw_<jeolOurvCz4Fi5WY;T#68fU?i`zC5xGvlZ@S&7XHZz8p_L; z=*X@TxVOJ`!cu`RkB)Xfy}`@y05lo={eFG_|9{{2gW3dDze2P`=ggV2AV9+)@es?I zna1pnj*c8$T!-dZ7C(6NrYG@mn`iFgMT-nFFR5Hv8O$yxCkL92cXDz9748h6!z(VX zkGBUcB|AM$mzkkQ%9QKj!-pBSwyex~-`;T|WaEj=oW@fo8fRTuT%TRnC%0Db#hH0_ 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 O1B0ilpUXO@geCxSpVXWH literal 0 HcmV?d00001 -- GitLab