From bc816bedb1cc085fbae3b1195442ca16b8368581 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20L=C3=A1szl=C3=B3?= <rlacko99@gmail.com> Date: Thu, 8 Oct 2020 19:09:39 +0200 Subject: [PATCH] better basic how to commit --- docs/workshop/2_basics.md | 160 ++++++++++++++------------ docs/workshop/img/basic-branching.png | Bin 0 -> 15060 bytes 2 files changed, 88 insertions(+), 72 deletions(-) create mode 100644 docs/workshop/img/basic-branching.png diff --git a/docs/workshop/2_basics.md b/docs/workshop/2_basics.md index 985b94a..4c9e0d5 100644 --- a/docs/workshop/2_basics.md +++ b/docs/workshop/2_basics.md @@ -19,20 +19,21 @@ $ git help config De ha csak egy gyors ĂĄttekintĂŠsre van szĂźksĂŠged: ``` -$ git config -h +\$ git config -h usage: git config [<options>] Config file location - --global use global config file - --system use system config file - --local use repository config file - --worktree use per-worktree config file - -f, --file <file> use given config file - --blob <blob-id> read config from given blob object +--global use global config file +--system use system config file +--local use repository config file +--worktree use per-worktree config file +-f, --file <file> use given config file +--blob <blob-id> read config from given blob object Action - --get get value: name [value-regex] - ... +--get get value: name [value-regex] +... + ``` ### Repository @@ -42,58 +43,69 @@ A Git repository egy olyan mappa, mely Git verziĂłkezelĂŠs alatt PĂŠldĂĄul az a mappa, ahol van egy .git mappa, az egy git repo. ``` -$ ls -al +\$ ls -al total 20 -drwxrwxr-x 4 rlacko rlacko 4096 okt 8 12:59 . -drwxrwxr-x 3 rlacko rlacko 4096 okt 7 12:04 .. -drwxrwxr-x 5 rlacko rlacko 4096 okt 7 12:46 docs -drwxrwxr-x 8 rlacko rlacko 4096 okt 8 16:39 .git --rw-r--r-- 1 rlacko rlacko 17 okt 7 12:09 README.md +drwxrwxr-x 4 rlacko rlacko 4096 okt 8 12:59 . +drwxrwxr-x 3 rlacko rlacko 4096 okt 7 12:04 .. +drwxrwxr-x 5 rlacko rlacko 4096 okt 7 12:46 docs +drwxrwxr-x 8 rlacko rlacko 4096 okt 8 16:39 .git +-rw-r--r-- 1 rlacko rlacko 17 okt 7 12:09 README.md + ``` -MielĹtt mĂŠg nekilĂĄtnĂĄnk a tĂĄvolli repository leszedĂŠsnek, -csinĂĄlunk sajĂĄtot ĂŠs onnan fogunk tovĂĄbb haladni. +CsinĂĄljunk egy sajĂĄtot! Hozzunk lĂŠtre egy tetszĹleges projekt mappĂĄt ĂŠs lĂŠpjĂźnk bele ``` $ mkdir projektem $ cd projektem + ``` -NĂŠzzĂźk meg, hogy mi a helyzet a git-el ezzel a mappĂĄban. +NĂŠzzĂźk meg, hogy mi a helyzet a git-el ezzel a mappĂĄban. Ehhez a `git status` parancsot tudjuk hasznĂĄlni. Ez a parancs a jelenlegi git repo-nkrĂłl kĂŠpes informĂĄciĂłkat kiĂrni. ``` -$ git status +\$ git status fatal: not a git repository (or any of the parent directories): .git + ``` -Ez igaz, ugyanis teljesen Ăźres a mappa. -`ls -al` -el tudod ellenĹrizni +Teljesen Ăźres a mappa, mĂŠg nincs verziĂł kontroll alatt. +`ls -al` -el tudjuk is ellenĹrizni. TegyĂźk verziĂłkontroll alĂĄ a `git init` paranccsal. +Ez beĂĄllĂtja nekĂźnk a `master` branchet ĂŠs mĂĄs alap dolgokat. +A branch-rĹl mĂŠg kĂŠsĹbb beszĂŠlek, de azt jegyezzĂźk meg addig, +hogy ide kerĂźlnek a mentĂŠspontjaink egymĂĄs utĂĄn sorban, mint +egy fa ĂĄga. + +<div style="text-align:center"><img src="workshop/img/basic-branching.png" alt="Git branch" /></div> ``` -$ git init . +\$ git init . Initialized empty Git repository in .../projektem/.git/ + ``` Ha megnĂŠzzĂźk, mostmĂĄr van egy .git mappĂĄnk ``` -$ ls -al +\$ ls -al total 12 -drwxrwxr-x 3 rlacko rlacko 4096 okt 8 16:52 . -drwxrwxr-x 12 rlacko rlacko 4096 okt 8 16:49 .. -drwxrwxr-x 7 rlacko rlacko 4096 okt 8 16:52 .git +drwxrwxr-x 3 rlacko rlacko 4096 okt 8 16:52 . +drwxrwxr-x 12 rlacko rlacko 4096 okt 8 16:49 .. +drwxrwxr-x 7 rlacko rlacko 4096 okt 8 16:52 .git + ``` Ebben van minden adatunk a git repo-val kapcsolatban. -Gyakorlatilag ha bĂĄrmely projektbĹl kivesszĂźk ezt a mappĂĄt, -akkor teljes egĂŠszĂŠben visszaĂĄllĂthatĂł belĹle minden fĂĄjl. +Gyakorlatilag mikor egy tĂĄvoli git repo-t leszedĂźnk, akkor +ezt a mappĂĄt kapjuk meg. EbbĹl ezutĂĄn a git alkalmazĂĄsunk +elĹĂĄllĂtja nekĂźnk a master ĂĄg legutĂłbbi mentĂŠspontjĂĄt. #### VĂĄltoztatĂĄsok mentĂŠse @@ -116,71 +128,71 @@ NĂŠzzĂźk meg ezen az ĂĄbrĂĄn ĂŠs egy pĂŠlda projekten keresztĂźl: Mi a jelenlegi helyzet a repo-ban, miutĂĄn inicializĂĄltuk? ``` -$ git status -... +\$ git status +On branch master No commits yet nothing to commit (create/copy files and use "git add" to track) ``` LĂĄthatjuk, hogy mĂŠg nincsenek mentĂŠspontjaink ĂŠs nincs mit -elmentenĂźnk. - -``` -$ git status -On branch master -... -``` - -A branch-rĹl kĂŠsĹbb rĂŠszletesebben beszĂŠlek, de a lĂŠnyeg -egyenlĹre, hogy ez az a a dolog, ahol a mentĂŠspontokat -sorban egymĂĄs utĂĄn feltudjuk venni. +elmentenĂźnk ĂŠs egyben a git prĂłbĂĄl segĂteni, hogy hogyan +tudunk stagelni valamit. +Ezt tĂśbb helyen is megfigyelhetjĂźk a git-ben. +PrĂłbĂĄl segĂteni ahol csak tud, minĂŠl kĂŠnyelmesebbĂŠ tĂŠve +a munkĂĄnkat. -VegyĂźnk fel egy Ăşj fĂĄjlt: +VegyĂźnk fel egy Ăşj fĂĄjlt. ``` echo 'alma' > gyumolcskosar ``` -Ăjra megvizsgĂĄlva a status-t: +_Itt az `echo` egy olyan parancs volt, mely kiĂrta nekĂźnk a +terminĂĄlra azt, hogy "alma", de ĂĄtirĂĄnyĂtottuk egy fĂĄjlba +a `>` operĂĄtorral ĂŠs mivel nem lĂŠtezett a fĂĄjl, azt lĂŠtre is +hozta._ + +Ăjra megvizsgĂĄlva a status-t, lĂĄtni fogjuk, hogy megjelent, de +mĂŠg nincs verziĂłkontroll alatt. ``` -$ git status +\$ git status ... Untracked files: - (use "git add <file>..." to include in what will be committed) - gyumolcskosar +(use "git add <file>..." to include in what will be committed) +gyumolcskosar nothing added to commit but untracked files present (use "git add" to track) ``` -A fĂĄjlunk mĂŠg nincs git-el kĂśvetve, ahogy az ĂĄbrĂĄn is -lĂĄthatjuk. -`git add <fĂĄjl>` segĂtsĂŠgĂŠvel adjuk hozzĂĄ a repo-hoz. +Ahhoz, hogy git alĂĄ helyezzĂźk, a `git add <fĂĄjl>` parancsot +fogjuk kiadni. +_Ezek a parancsok mind kĂŠpesek rĂĄ, hogy +Unix-os mĂłdon tĂśbb fĂĄjlra is kiadhatĂłak legyenek. +PĂŠldĂĄul a `<fĂĄjl>` lehet `*.jpg`amivel minden .jpg fĂĄjlt kijelĂślĂźnk a jelenlegi mappĂĄban"_ ``` -$ git add gyumolcskosar +\$ git add gyumolcskosar ``` -Ezt kĂśvetĹen +EzutĂĄn megjelenik, mint Ăşj fĂĄjl a git adatbĂĄzisĂĄban. ``` -$ git status +\$ git status ... Changes to be committed: - (use "git rm --cached <file>..." to unstage) - new file: gyumolcskosar +(use "git rm --cached <file>..." to unstage) +new file: gyumolcskosar ``` A fĂĄjlunk ĂĄtkerĂźlt staged mĂłdba ĂŠs ezt akĂĄr mostmĂĄr el is -tudjuk menteni. +tudjuk menteni. A mentĂŠshez a `git commit` parancsot tudjuk hasznĂĄlni. -`$ git commit` -Kiadva megnyilik a beĂĄllĂtott szĂśvegszerkesztĹnk ĂŠs nĂŠmi +`$ git commit`-ot kiadva megnyilik a beĂĄllĂtott szĂśvegszerkesztĹnk ĂŠs nĂŠmi informĂĄciĂł a leendĹ mentĂŠspontrĂłl. ``` - # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # @@ -189,33 +201,33 @@ informĂĄciĂł a leendĹ mentĂŠspontrĂłl. # Initial commit # # Changes to be committed: -# new file: gyumolcskosar +# new file: gyumolcskosar ``` LĂĄthatjuk amit a `git status` parancs Ărna ki ĂŠs pĂĄr extra -infĂłt. +segĂtsĂŠget a git-tĹl. A # -el kezdĹdĹ sorok kommentek, ezek nem fognak a commit Ăźzenetbe belekerĂźlni. Ărjuk be az elsĹ sorba, hogy `KĂŠszĂtettem egy gyĂźmĂślcskosarat`, majd mentsĂźk el a fĂĄjlt ĂŠs zĂĄrjuk be a szĂśvegszerkesztĹt. ``` -$ git commit +\$ git commit [master (root-commit) c45abc3] KĂŠszĂtettem egy gyĂźmĂślcskosarat - 1 file changed, 1 insertion(+) - create mode 100644 gyumolcskosar +1 file changed, 1 insertion(+) +create mode 100644 gyumolcskosar ``` A git mikor ĂŠrzĂŠkelte, hogy bezĂĄrtuk a fĂĄjlt, akkor abbĂłl -kiolvasta a sorokat ĂŠs hozzĂĄadta a mentĂŠspontunkhoz, mint -Ăźzenet. -Ezt lĂĄthatjuk is visszajelzĂŠsben. +kiolvasta a sorokat, ignorĂĄlva a #-el kezdĹdĹket ĂŠs hozzĂĄadta +a mentĂŠspontunkhoz, mint Ăźzenet. +Ezt lĂĄthatjuk is a visszajelzĂŠsben. TovĂĄbbĂĄ megjelent pĂĄr tovĂĄbbi hasznos informĂĄciĂł is. IsmĂŠtelten nĂŠzzĂźk meg mi a helyzet a reponkban: ``` -$ git status +\$ git status On branch master nothing to commit, working tree clean ``` @@ -225,7 +237,7 @@ azt is Ărja, hogy mĂŠg semmin nem vĂĄltoztattunk, nem tudunk mit elmenteni. NĂŠzzĂźk meg a tovĂĄbbi kĂŠt ĂĄllapotot is amiben lehet egy fĂĄjl. -Ărjuk bele a gyumolcskosar fĂĄjlba, hogy `korte`: +Ărjuk bele a gyumolcskosar fĂĄjlba, hogy `korte` ```gyumolcskosar alma @@ -251,10 +263,14 @@ parancsnak ĂĄttudunk adni Ăşgynevezett kapcsolĂłkat. PĂŠldĂĄul `git commit -m <message>`. Ez annyit spĂłrol meg nekĂźnk, hogy nem kell szĂśvegszerkesztĹt megnyitnia a git-nek mikor Ăşj commit-ot kĂŠszĂtĂźnk, -hanem kĂśzvetlen megadhatjuk az Ăźzenetet, **m**esage-et - -Ne felejtsĂźk el elĹszĂśr staged mĂłdba rakni a fĂĄjlt, -kĂźlĂśnben nem tĂśrtĂŠnik mentĂŠs. +hanem ĂĄtraktuk a parancsot olyan mĂłdba, +hogy vĂĄrjon egy szĂśveget, mint mentĂŠshez kapcsolĂłdĂł Ăźzenet. +ĂltalĂĄban logikusak az egy betĹąs rĂśvidĂtĂŠsek: +`-m: message, -a: all`, de tudunk hosszabb verziĂłkat is +hasznĂĄlni, mint `--message, --all`. + +> Ne felejtsĂźk el elĹszĂśr stagelni a mentendĹ fĂĄjljaink egy +> `git add <fĂĄjl>` parancs kiadĂĄsĂĄval. ``` $ git add gyumolcskosar diff --git a/docs/workshop/img/basic-branching.png b/docs/workshop/img/basic-branching.png new file mode 100644 index 0000000000000000000000000000000000000000..cbfd438b23d6d53e068a9e951b8f1d7b8f743ab2 GIT binary patch literal 15060 zcmeHucQ~8x|F0_5Qq@+~s?n*Xp<1Ih-6&dHtZM8CB}T2FgSJ*{?^UBn?1-&s?LC4B z@u@w7ASEK_DgAuU^*iVMdH($V^IVsg=XtODe&6?d<>NEW$E?ge%ye{gtg25QXw%Wr zL+R*_2p&HMAWL!*SUNgEI@Jd%y06Vv#yx%b_0nnU#CRcfOr~npRXcUN8=x38=o!Nq zhFpWw4~{TOuj+kCJ$_y92<NRu-*FaU!QtqK=Zq|$fA)I*Ksm;{lG#>7{RU{Te4*|N ztjgMRcF)WvMc%F|GyaO!wL3keHuI<?o9=jWeA|xV9h+{h^|y5N#|8cWJWd-QVIPa> zyTx!?neNEJ;|%uh@qhma;9@zAeTkQmU_JaF!)ZaJ^U1?6fzQRy3nG73z-@W{rKW5+ z#q}>8hL<;$4TGKMdL{m)?O)U^e!%q4<A<St(fO(Fbi2QT_|sX0LjH=taQZ_rodu{l z`ToGak{oH|Y5CtmLyk0pL*#<8FaAsJon+X*5-JNe)4xM=d7RR?|A*YX*>|-NtMNO} zGfclfk+S2uFsZsEjtl-ntM}rIo+KH|{Bpcy)=_y+JKNLqYTsj1Z}+=E)C%~d$U|t= zh)c+;xfolKKMH<#q>nGcZX&-(v-2=iu^08b6pqL_&fhOATrF@<DKV>p1nE|D$XG z|B2IBuOE7A?@vG({f^TeNO>9!sARuxIsDjA-JRCwb?_ns^J(na5xb)!mW?>NUpkV1 z_$XTdAag0fyL$K?dZK+@=Fom#H<S&Ru9^fOLW=a$_<9^K|Dk#^iOvExxg2SD#{%@R z_EF-QKh{4BQZ`g~B|n^a-3XqZ*8T8D*Jty9QSK?xdzI7Pp;J7c^BkBfKoMBq-KU1n zcm<Ihx*nya2aDkhtn$xv&WM3yjbNAEPcfJNaGL%Ih_5AkJ7ZiB`H(?F@^INK8IMCR zuqd1nL~cC@E;+=emHmrij{cy>F<7AdWfM&w{#k|(LBQwy)X!1+r?C<JI%VvC_zOBQ z9EW-iM1NU6ZUH)LEv#~|{x4#It?)Hn2oN~M_WAikK`$IXjdk%iR89m0eP&adf52)T z5cK^r(-KkGw&t@yd;QCI=)EPK?c)cuXMyiu@s&Bx+S$vj!FbB%AL`X@`2C|86_f=q z9m!ojdtmGu#+Q6p{1CF+pm=+aoKiNLZ*EcO^S%~r?ThlJaq78u2MulJcuV}65Xiqi zUgbTuJ=CQD)0%_1VhWGC8lJ%(JDy^HV0LB$L3ay~9=?xzAtGY3UPrE6HTUJpHqqh6 zQb+4ISZmR^toTs>r2*_EXy-)o(wk?`?OL|q$d=4l$=!?lB9y4cm}>6PoRud_`-=Nb zk<;^}!GzZb;#aDA%L{uAb<<r{y}2>e72~Q?9;3dRnD(Jjsn@Ss&cF2yfBxz+l4F&? zynW%1<}dsiUb176Vsfver1+_h=#$%)$5?e1KVP1ahG{R5!t>mIIrk5~edEVT+ZPS} z=6CsY>Cj{Qmdpiv*;h$5#Y5abu`qknGUX;SFL2W^XiQFBPas#a<wE|TN@Uir^adie zd8l8#$9|C4kF7DiSl?La!q;p_m_eRomg`Cb&sH~NsA7_6?@b*FgPpJ4t$9?t-d`ZA zJ)@?Tl(p5;y=WUg=DuK_+TZ)0q}yNOOYV&k9^N(*(1pC$Ycnpidp#OpALkiWv+?PL zQokRq^iln9{C<<!yOvWHpnDE^_YU@m;Bh&d?h7S)8a+IocbIg4?5f3T4F(3&On<Vs zd_xQg^WCx!X@3;npC>)htKaj@`gPVZJ$?I*8XMj1V504lsber%;t~$=Yh753w*VV+ zel)r3_FFYQ6YY!@_4BROH0w~qJ+Sq#i6An*K+?t>+3=X}Y?PfH?(AM(X3f(vDT%zT z@<O}ijGf!rPoUXJd9yt}noY;pzQhV^&wMz8tMd(Vmy&8fZ&OeK^IVipSW7g%ohTr2 zZ%k`n8YO2J^C&#`3!z*CHb#9hwpyQv@Gg8rT|h*atuCi&#%dhj_H2#n1Ji!_#H&WW z>8TPhn9FwS(A_W}w*Rp)TwTAyqr!9+dr3K)`S4_rW%(hF42@ftLhW_IcsAS5N}8_~ z<|WJObs)(8fmE2;8nM0j^3cXghos8_JxpOr7{#Zg_BN*5V147~M!C}$gXdYvLOv!O zPN`=Ys{2#@3^)?8>esSBLZ%rpY{^-_UgooU&~#^LCZA7$*~9v0*V%Q~mBL*azVdNg zE_3VrF-h)fNy%CyrxdXE$Y&1@)UOEMv@;<%Z#h!dX?bXylyvd0!sxA``ZmAadc7Lw z<o*Gz*a_!P#|)xu$HHl*kXZ$h0fe^{FBY#T2CjM1MBP$T*s;mN7JlY-`|PeMulqK& zE~p6GGT<&C-9)K)s2KL=O!HTMK<|7KY85nSJLXY{ZMC8eCiqdyAEmyI!}^h-Jf*Kx z)`<T+)_P9r8veF1Lt}MJmWt+yb^?oC7MU7Tb{zYd+CR&dnv;$zz!H5;FUN|VY{X&x z;x7~5z~7#hUd|zu+{Z{VPE~A$fYkySQdcTAhW7pa$7XSCKDm%?aLdtS$-Av+$aogP zU}3u0-spFR8j)HotS@##?f3o1&>7EEgPCg0zL+^$+D3J~Q_$*&J>I9v!7x9??H#s$ z>rH~+_R%5H-N!{@tN$=_a_NkfueeK!X55FQ4!yF132x=`{_*EDLB^Nd*lV$NEv)7P zAFghJef!+<lH5L&n|N3~ehsHhxRRuG6^QYIy_Rz*Siy~0usZ`au7ImBqA4fe{$1I2 zRiPce(X-(`^J+VIj8Q;W^-Ez_IKD9AeGjyCS5nw+VsxvfXgf!xl#PqQ0z~mw`Mh}> zV<7FbEs`hyx`bzz`f%YrZG`%oN6s`WNGqn^D*h9VB+?LFr_hA!ry!8UY=pYuau4rI z?*8H0z&++cH*|10ol8+Z+n7)tQ9iZXlb?sscx8p!8@W8V8SH1!RT`c<GY=nny+L{F z>6rC4h=GLNb2aY$G83)WA2!5i(PgSIW+Z2nKjBf_Ttj7uKE;y>TEgbTNY+^fwcPTp z&$e+a)j?U?w`OBjN6Zb?1@`!1dz~{pch>!1n2m*@G^+WYW=o<nE~X^tiw+hM{k#i{ zq+E6xP_(vC9umHZ5A$T|wZvKMuMv^569@N2A!Eb^Y#t}-RDm@|I5!Apn!e(<cmI|X zsG>w49#S))MObMEyK|rNfI5>bgw%rgQMxPBlcd#u0`$~5^X9jS_JfU_+h797!H`$n zy+U8!H9W9p7vsw>?Wk!wnqb9;ku1fi<cDz;vSQ407H#%{>pbXAm<*Ka-+t}j0?9b@ z#Kn-eR+!JE%LOAVy*DYxv$H`Gc7&anEKl0lnN)eRq0&`dfUJ}pzztiKmNZ;IZ}z6+ z5WOeSwM*<Sq-LzVi??;(n1UnRofBIEFuOKvzaoan=+jc{?Tb<HzRk<?_SxvZ#B~dl zU${pjn6_Ku_U8x*K%9HxWoYa%$|+$VR}VEy$SnV)3MTjEzZuKQDtE>d%{G3)NimQH zO4u%sM5ut*zd$8^jhCW#DhauZ-MsFpy#%{%Two6WDTFyrQM%hLlm)SR<n1yD2P^C` zSU|bu*%~G;$n>!AJB~bur!9wd@zmHs9*3XB?ygU+mf1CeCAtUS{Bh}CHhR_L(A9u9 zFq-qI8T^kD<CzFdW}xv+kIy#-V#p~dJ|<08tjN*@EdJ=R#BS;*sdE^6Tk0iNGYPG% z+^D^e#KFJ;O_rGBMznlmiN!v-?W&UUS<_UVQ6WVhWJfu5og$Hmcz!JiWy*1L+ybSy zBtB<15G1NQ8uuKxx5wUaR=`Sw6({ZzQj?qWZRYa{-0re~#J=CGyMq!h_7T5~{*oi* z6h?*e50^*c733EC&BTKMXWlR1ZXo*C$7n2qCLHO@GYEQ7y%H$)tsF74%Eq-vB;nj~ zHf1YOk-Cxvk2FGAUD$WV-=JBS7SSkB*4q|?Z|i|jxs+pW7F~6e!51p{S-!Ei8;)m8 z$*&q?49v9`k_kg=Xc`{conTz#F}f4Wz;>-dfNVq_@O*B9t`GgrSpPio6mxsULoZWr zJUwRh#2~tUuTQZl!MMPZBv${}a4F}0N)cA8$l)NON~1Bp<iG|-*$tFU4Vg%4M~f*I zG#Dq8&8|&Nhx6p5i|wg4VH~lzx0?E6(_mJw8L@_Y#jD$prt~{y5Zp)M+=BL+j0Kdm zUYTu5|JUX=0eQpwwDlTctSD<t`-ssU)x=Y>_hcuF#?7>bwsCuD_&PJK=oLoti#Lgc zS=^ji&<w&vp}O8N&v2}nKR5ew4pU(VGXjihb2Pk2S@dDupIhRo^K2>z(};#nJuiI& zixJ)PZh@BV*3Wqx9MyWe-5siR82$G`14iDVHNAUhvt%9FtHy#Cbf3r4PMNu^URz|l zp;HAS{c;r>&&zPlH@@V7={Z*KAeL%MhXF;GJX|PiLs-{C6VQHA)j(M5hB$q(nl0Jv z9HCMp*ELao_??28X#JexcGaEBzXdHo^p<&t$xT|R@`WaFp?B;1D^tIowWe;b4Snr- zhj*QOG2%2vR5f<djVX$`{6y+7%~CcDs9}a$cqF*g0{PNbLKxdYKrPrS2V^lsJoA<g z5Sg!dZXX=>FTMjI@zF=At)EUnKQ2r0g#Pi0&z8WO5#D0E<?PrD>6}LgK1<IDgu=g% z^frwPA-7J4{5lN2H}(9Bum%l{yYd#OqTR&W!{9pr2)>Uce@?pwWE+D<5*!Byo)W-m zr!V~Z3Zn%`*lzJK_)aqgvb6MGc7UN)+4X}o$zS;t@TQFN%`^=lFZotFs&~NuH4u^i z>SI&213tf@@KEmH2-|oB#QxHz+-+f}v6n2e&;EJy2!lJ24&CMPx&)kfAJ1DIym-3x zk4#J-7|TvHf{(aKRe$=U=xH{9ul(-C8z@2K)vO#_AprANo&Y#it*Sv_YwFOa6Pq69 z9`67hRTRSyg8(*06T>lU4BjbJrtvqH_)iO|9JsMDklx;PN2VYLLe)(tk1{5?*{4_h zYQ?i`P9{<oar{26--FL$m}*#T4~aN2A}!04-A3jo5Q^qXm?E#2Gw?`j#fziEqF(#b zsjb7*<t_wkGG$TrvX!XZwdtUun9pGu@rOo#$5FA~TqTT7s5ger`mQfRl}>NNqk?k) z4O6K1@(**^c_9Bo4Z9Za0Xr#X{NC5UXf1$}-JSQYSb)N6?<M|4-vTJxYw^A77NEf7 zdy#+9U;q{KTBqE!03m$u1^-1O0aVMUm~zVk<ZgQJ?O!wzK%EfI6bTEEqryG!zvx#0 z4fhwP+_eB%^WB60Me_l)@Xb1~XFz6D73g2I6hM3472^Oc^v6{of6;0HB?da<=q*5+ zwJOGk=-<T@2U0%JqhuAGzvz45Q_fH8qsJ^jioPo9f6+gQq)<rlD3J3>nX26Xi-rQI zbeQufvjs?0K}GH_`UOBAe-<A-X#u*%r*h{n8V#TZ5$hvBM!-*17Ws?D1E@_@@yKZl z(D`xY%YV^i0QHD*9yx0PI#sL8`xi|I(4aW+k#m3iLYe(9ngyV-2}kQejkxdRBcMZP z7t8??$t0IkzncNaoM4nV$Uo=;@IaF8vLw@Md>P5=%Jxj@&rYSImjOI{hRfAo`mrJJ z<f*iSB>xD53y_d^py$6kh8IZ{?GOG9Ub}(ZSw@Jjm-Q_6SX65Jp<B!+Dw~>`wykN0 zmNxSyj7O{+2eqjyT+f$At&1+1ye-}@7c-%TW;JuwJ4uojz5$N;TvdndkU3RwvLIvh zJkcg)4}uhj6);0!UqW)f3_4`F@m=i3T{5q->CiOQF)$eJXX~<vqzVH5$fPUv@z4Ww z>Gf|*Q*Fk3LTyA(KF@KoQc{}Bs}cyjuKpzsaKM-SXC#jPIXCD6CYbTBO~)UHh<m7R zY}d1neRJIn5vki<p)J8oeMG$g7v7v5Jg7SOD{C@3)~p%_@$UG27Kf0lEeMJb^{oaO z_#%%Bj!p_&2-p@eV>R{n@T&Ju#8@Y6eU^v!@7t45)b6DGr2?sl6`KC@`vriml@XS5 zhp(PY`_4K%WJ=_Q&ma<tn!uC=8H3?*IsdNAMKeHJuYl&qhl~0l@jELa*E`jw>uAI= zVm?eCZ0+OS&S9Qwd=^takU|9tAb0QmUH_v2iTkCF5t3emT=3R9_ZG}7#@KyVz`8AL z+D*y=<mvk;_;8g*)W3tmjHOzu33s-aeK!m#Ga>~A6n@t>cHrD9?6DO;ToB5+igh_c z&AqzX2CmYU-;TV#@ua%fL((blL_Gn;r?<F4j}A*7sr1s+7D*=q;jM3$!g8EznL7(F zy@l1?uaLf9L|!c=*dA1d=;*yqR9uy>(I<V24qMt&Um6pTmRw?<&A&=Y`#)YYgm!5R z`;vm1@5EaA*`eH^dA=c6<s!Vl1Lc=7kFtY80bM|CVS$yIf}6Md2{w#n5K;!-Jv3ZL zZ*UvfnQhC`;DgJ@|GOgNo2&Bjq^K{~7#NYX-?PcHPaOlUk^KRd7^1Drp|0NMM%Bdy z?d7kPmdf6>pbbp6LY?kMn*f`^g%TEXkPiqJ5%ZzLek2}MLPS|pY`0}wn5Dq=cW6tp z0P69f9mE273uv>sDa&uM_NZdnw+2tIQUq0>8p5?Ip0Ir4BY)zU$+avMD&3lDmdwhs ztII4CZ&on<p+(PtL_h4O4~N^lkQISXRHWL$nz=mo*COcxGQ(x+>nJvox4raB3Tw&B z1KoVGuJ?@TM?9dHAl;&2BY~3A-yQH3FP}btzOD-$U;-~`tjlYx`RZI9Jqwk*X~$%y zJq8U)jj7>#WWRypQP5IHqMg7?VmCy$CvJ-5k3M-FtVJv^Dz&y%Rb9FQ(PlD+vc+ge zhB%<3xvyje8859{31zHq$dA25VTMQ!_hn(jJdpE7(AZ3ESg=6>UfXXzJ*fP_;JLho zM}mar3y>(U*#(<ygD6&G-yb3IB9X3iw`P~ejf<I~tCpi>c3Xx}w>N0(@;SRIOCh!F zo2pFUi)BNgu_;gR6vaIrJu4Q$FCvOnpP51PGF#B5%ENi39dE|EKPA-+IzYEXA+Dd% z<;`3==P>2{{F3VKl}OKVHNPlaN<PxTtBLE4@nFj%#c-MCJK(C{8mxR$PrusdSy3$s zCl~BHZ$t$%79WRV>-76a3>Ec+cfX0t4uIv}t6W=DGWJFFIDVPNu6aJ|Z{pyP+`?}x z<lB)`o$SGqB`A&3(9R&#<|&Bo5H;ue8O|fpbli|dUvsT2?b%p4kHx~Fp`o!~{dGRD z$LS$5C=hHzJ4HM9#rX#*)N|OlJ82eOT_;9rDiIMxPIJo;#g{0)`r&FD((+n6dAt}~ zt~$#BSr*f|G2RtjzQ5q?kzZOi=ogNj_}M%Xc_n&VOT$4@_y}}p($h;mS(9L*C%JtU z^7Pj%*F&qJF)uE-mk1}Jr&7Fyt5mr}sb@~y<~xwM!lpdsdZKH3jG^IznLo*v^Hv=R zD9N7JDFp(GKAoi}<!g2EQxL}@I|mczIP^pFO?iq+_VMXvNo(WWSXXcLV2_SCaR{~< z3Hu1soMqA6Z3>b3xYD@FlQInH_J4<NZq{Q*Zq?a`_#Jtx;n8AV;^!1%3PBZ+sr_<~ zLb&>(mTS33u+_%WiBfuXTDJ+GU4MKp55!S)1mW*--tDA*b8f{NcYe0DO^rnH94Cb8 zu4`SG%$FdvMxuWAnlJHKTT16p*_C8^U;BJYGdzcgK|rTl*FSm*=W2N;H?a*553}*h z4py6N6j+*pPgzXW-|+CBOZfCDfpD9t%p>_{+<+YBou4qVIq69g_<mC!`&D?U`05QU z1hc9j=}LH|mOa($;m;#Z9Q}1<H}mnRBM>m4P2G2VS)KhgA}L;kaU06Pfv&fdRq5Fc z7tgUV+tHPM{ra(W!8&+ux+#v`$Pg|RDn6UzXw~W?D>xF%&urMGL4n1-dJjr6w(gSf zW>o<t8PvtNunBNY`Bi3QY;&4eunc$bN*CPiCTU}CSqUZ?OvIEVh(N>&kx0{+Y2T15 zNJ)u70Y_LLUrNr`$dHF)6w%MMjkBKHw^PoI*Uv!<YxT8tbe!LdPe@m0V95}%1>;u+ zBR+)cZ+UsU^^tXA)NzFL?2`#t^Xt;xYSD55rvM*r_^tvHWm@h2RJGVIKcxGUM{Ix9 zHwIiRxx!*=F%W9hPz&7(4Ac|&(#aP0_59G6_zzy^0f}oeUM>^Z`*25WuRyx#(pqZT zeYoJel1Qub{K(xH%lg(!7;&Y9%Z_HV<zcnoN=mlVKjdpZaC6iyLr<7K<$dzN<Kfto z{L0)*lp6(4iCx`s>?`SUnK*ph<<XA3JbR*sc6BLiWw@x^c`DCOycypV9dL!8hf1)9 zO7@VzJsm-9sg;8+Z09nyK^Vh)61>v1JX(N0KA&NGDLNWWu-eD1`nJbK3befTTX`7K zl7wJ^#t%=vCUZe-$ei+H8s+|p>Vol0A|kv6GqoS8cl*cpC7SUK@@Pu|0(H!*dW6ec z5p&<;#+}(s;+a@BW37$20VfMoy2aMjh}!tE)SXu!$OOd-)q#aFTELmh&6TkYoO?Zi ztXmMB+`*#}GIf*UbR&iS=vi!gduZ(XL!qW0aZM-K9|@Au!W4D&^e85A8_qWd#4JE@ zlSUDU4@ZPV$1f1wZ_O_+rZzW6r<P&yjj>6u1xlT5`OID2x9B077s6Vn%PxL|Xx6`z zbey^}mlmq3z7)FNBf4oU8$Wh;Rt4hf@^tsT^$(Np<drTxJxO!n&7UsZ@Rx|R=0eYp zyl@wOEFS6{$O@_o&yxM+;o6LT81Kojy_lC*Jlui~eO}g~5w<N~X`E*DeDE=!=fz30 z$8KKzoO{daS{33sNaXw}{?>)ymlnQKud4&Z3Ez;&9ewR>`8f-eZ(9ICjVJZoyClrO z>kaufzSCID?G$IGM=kYaWRJRM0}<b|-#$~5ERIV<dsTgFO)>b^amElD%)_Ja*F)-@ zgA9WDq_e2_^#Q~)k8S*`xjscdTt_v*ss}UAtB@usWein{ADlVva<L^Y^7*n)fve2y zvbfZH*%p^RRdM{I{^q2lAoR9sijwePY*}?=rWN#S49GaE%h)5YGRr9IYL>8o5o+<v zWj%fUe&-ROaN?E|12RoVjbWg3-TJJeh5f&A;Al26);DJ9dlizekQ%9d!%VD;i;HUQ zOrAPdX|JYoXr4a}>ZyLJw;bvjcV9QuNe{m+L4bLOQ3E))rLsypXfLd(BPiFt^K~fy z^8(%Wu@$^C?bRGEZ;1CTO{pvod|4#uT6#4c_lPi@tfx1WdUMc9o(tX>E`u7AUXhZj zJX-wHGW43px4y}XZ@J(uUe>ej5E)jeqe^37V4ksp7UyhveA`F@i#e3DXIMbMTU$)b zB-?FC`rEhbS>@$rfhYMhjdD`5;1je7!4FnU2{hk553kL(*umZruD$w*UoZK*mOskQ zC6(&ksk+21m-1G>yzmxvCoeBSfNTlZzfH)^&%eRrFfpsz(y>b{YEHDz?9<<FmoXTk z772~<ek)lKOWKF26sX$D$H#Q-5`^}@)z_?*oEJ0AU6FG?HWx<8O}VQvmqb?Sy8BY? zF?re6r0^k&8P?n^E=M|c5DJABPxy7md-d1}-N^A9JhtdRuTooA7>k6-Ri7qcI^x(7 zoz9SfCOGX}l9;1I`+h}nTd0gps#{=lDBsZA%VMJs$70uin`pHp6>Q^7ufM9#&(DW0 zu*E0so5Bs4`t3-T7whg0Gom#_&M(wa1o~L~yp8S$p2TiK2nFI_AKQ|$HN2?N!@6Lj zd>VOF%Wm+4MFR(VPJot-*jh^+94ymoNpelFe-vf6A1t<r%Ia|2yHV=)Pm7}VGlLOa z;px3Z@$3%uPgpQ~K!bqP4VKn#R#L4C)AXEuVxAyu_iFn}aYH79X-ZPj`I~M!aR!+K zT@96MK{;m3VbqU77t*<d1TMJF1V+<N9*Z5FLp&uS=K2~?Da&bhXfwlT&!tlwIZt2d z?Iy7(eI+Tbt-fJ_MvVWW>@U}uMX!b*$*#w={V|b|Eb#<&ZM(98Gx2`7{7o*Wa+qVU zh**8z%vQeJ?_%PJq#{SFY4R<Ira?<l^|Mz4p>EOEHePukVcG88+2lw2Z{Y<6OR>^d zrX`S-v2$K#i_TCDH^0=(;xR;(Q8;ziQDI|*q-~d_xZTDgN&0YuN8+1Aocfd_@uqQ| zw$7>emq7+miJ<)0#h6rlL9CgtPAP$Akxbgxf$gl_zC)`Na-}4*_4pm*qod;q|1%3< zOWEezot`nr%7w{gyb#r>mSMog)cF1Qa7H7UGVBZCHp_EHs0~anJ?OEIk>|5O2|wi| zk42utBGG2|n-+Oloa?~b_L~YG_^cf#)Tz3%3a8%?=;LD~X^&M0tZ^`BTU68nOy?Sd z#mY<$e?N+>nEmOWXxYU$NZIn1-+UqI{CNk%4wGo?d*5WtY<Foxf9o%mi4WPy`@B@Q z_kyv0)!gvLP#H%DXLFbRI?KpYiBcMnM|yb`nb)}z&)4kcA$H#i*h8ky`>uAFTXc^0 z9Pye8b<@i>;=s<|HA<fJv<{3;7LNaC_1+tK(oY!!#8kEk|I{dK<}MQDnJT_t%Se_; zTrcyS;jNl_jG6!WFyFP^Gqt~^+pEP9PKQq$^z1LA#E@zQ6w;&$pT?Rx=K>O_b{X?* zwkmkcduZ*0Dzw)o;7WPni20DoOySR|jLl^!k~P2luZ}w1+|U;Ky`gz)gH62oX%Y6+ zqHvm<l$y4oajA7zZ~s~ELWAjKbUmWG<-}&n`qo~P$71*6eWBkGQ{C_H6QrCmV%Jyk zc2Er_I2P|GhFFoTt$gWg-J5$8+k^OhpSrUX%OZtD3*1palz_ag(nxyt++DZzp~eYY zU-B0h^?y={nhlC7<4xi%zU!(Or7|7eq{X}S_?<GhuG`~YBtJ&T@Mvny)49$R^w?f+ zg}_l?2lHFAu3PO*%ban`61;>2?&gsN#{`WzIhg|1hPcS6BK>bHUR6gGy+3-cSbq%` zqef}o-Ch$7zi5D%AQG``tNV~!0&|~aV(naqUQnlc!slb_J;8E`9>)kS*&0fk<_U0T zm8W|SFuMWVRw(!uEz4LRE2fngCG!ZYIYAgIb$k;l2j>@0@huM*g4g@u4O!*vn>%~X z$HojU7nWGu51jW0+LI!hp6d{Kv}1>lis$@#tn2S};y_laqDVz!O??m)Pk2DUsBv&G zrV1e|0~+yQJw0D%kCvZ`h1$FtG2*KuEGd&fvMc8?awp<6mJ2>B+!;48<XmiHNWrKV z9?#~T?jpoFY97ZFm09+*7OYo}adPbhRp;B>=(#}b(0pakQ!>|DCzV)KRKCc9UCh3> zFdx<tx$@7F4V!{Up$}4&iqDapNh>y;sB<-7NB9wXwn*kw@i?JLdLwv~3w61?y39fS zi?t@I?@o{W@R{j1GLD||L4w|izlRuE(0PbTu>0z~W9Nx2Z;y>-r+wpZp$~Lh?^q9i z4WoR!vqEuq)j-KmJIOOW0@_n{W4Np;+P1*bN6!wj=ff&F1lg6>q6@V1l_D%`FFG;+ z#du2Q4nBp}>XaJfl51{%raDA4g3}dGBv2a#+&dQ*<y|0Os-H||b665LmOZVitKqjs z>oLa2A)xU;jB?^&?K|0%u&}X`i<@G38t2;?h|XTwer(ZBE_<q3pCK)QtZC;WR;5T? zT9}a|wBO(sS23^qRm!7;aQ#-~j&Cb<Td?UKimaz-+#;-)+L)$c^c?%hPJV_>c|uEz zB4P$GH!HIsv;(brN0o*1W`)B<u$V-veYtA9-Rfe3rLebGNCkU~8ewa%%$OvGRf05Y zaCuILd_{n@b#<%j17l8c+jq1F&TJ;}J&9YsFEhGuboG2ElcqxUV+{2KbVb2d5|dG~ z>p-5#ByC8pwkvBDY72=VQ8n%ASp`e0^eXPm?aKVbN@R5oq`PjhJH>DHl8XE4=FZ%{ zx(dFn&8uQ3MN46O<kw6`Z1t!ld(|#IdpQwV*2#rpF|HGuaoG*3?`^`t>i6NNi@bQS znljcIt94EVfx{OvwS0HkaYd6oyX(m`5a%BA4Wz0Ii%-g|SyA;E(D>72n?<>a8@w=Q z@`;#5qU(p(WW=J|<>^O%YSncaT}EzAYq<?ujhkdf&2`mIl^fHb;WJQt<20rA<=D^4 z(q6CKlHr){n=d%0QrR_Sx2B>m3oDM9vInsi9_Qa~k4<$jWRaU)t|W|(rFsxZ{wcI2 zc|M;X$QR2uqF9bH3SfD7StwHTAhHq%12P4FEZJr4N+_S?Q<`DPjn{7m6{rg-?r;Na z32AhLDm7oAbj4Im<#RH0Dy6Zw|H}=?gdK{{DGTST@al6Wa4vMPSu%xmV^qZCDOaLT z3ZL@5TG?BOv`URJ-R;Q&W4xlPS5ouECgTmB{Ghdv?k#WF<s=mp>oj}FPjk@5aegd7 zqp~SX2Dk(it9_?r6?T`Z-vo^|^Z8WlZ$+l|Hn5YuEtD24O???BR-|lO?2qmsc%#}< z;@eWpfA?Qa@EjbZP8@U7`c9p$6Vf$Pycs8QYl%;&-SiFr?FvIJ1)p#Pf&ghyb=``F zGh3t33PRrQp6_!>yHbF2V6fn|bH+J24<k9Tn;$I0dIsu0P$p2m@-JTfwCP#sgT>ur zgRa^`;qc%X8hk;gM~U1yK=B5HHjAxR)VSfnlI=B*E;TDbpe<T_-rp-61(0_qzkeK8 ztT;P0j?cIARvg5R$3>1SOMO$=A+Rm<<(M586*ckc6Ow=}2B_kwNoe#7fm^n=FBZb; zYs%#f?@cC^YK|^#-Cb2LOqBbg&{sg&ueG<uXS4<N^xDt}ITDWexEEK+On%OZ{63pv zvg-;tO9M1_mGEPQNqj$#mZnn`AC2op%JLWTXK*)2UmpE>1^!L4O7ukVFYDOV&wYs4 zRjxSE1p;_{<pOzTy1<;4+i`<o)yG+h;?<hn+XT*;H~}=dNzAV98jY(dmP`1KwuI6c zZg`Duo`c_G`#Oz_&vLTl8bf5duTg}5EbrN3bh{tM`aBw7Q@ZQN4_@3!&2KcR`uc+N zx`Ur-H*vMvfK721Dcr2l<zp;ksl9g3gR>XE<g8y{ROrmk*8e&E?T}%rQEXSTt)l`u z-29dGtzxgP3{Mx9cU6*3%q!xH1?PXRwCxP<^g$t1n1N50qpFso(rGKBa~^ewwE=TR zC$U#7510(%f=+eU#MM&AD|1z5s%x2rNO@eju$I|zpv`F>A<wxQawATf+ZBC%HAU;q z>Jsy2T^QN&J(}M1Lv5mXOR~VKzKwgQGm+{_>~kxW-s>XLgenrJvd1q-lX@q8oYnsU z8lZ&A>PW@Yej48THbA^vV{{JlY;MA`9$mqaL9C-lH`p&aisEu}>J6sy9@`l=El%<U zj%mDCMEt|ZSD5Iv>%qo=k$W7@!(F49Q*Qrxe}6f3^9LNr_g3x4_EUscMlHB${l1=C zkN3!qG|<h#tH<f1T}$zmuV|OGn1~Dt3*$L<SY&)d;UZ^E+MJnbVI;xV-kK^T#$n={ zLThC4g3nx&B;xsN+F^aat~T7h>y#)j^&5YtrKZ+@cJiI~_@EgSi8c>dt!W0|dLd++ zEZLm21_|?)3-kUAqS)uQF@=pTh4)7_WpfTjm)8OHBgD9FdcE#2-_Fv+?&Gx*6Y{%I zN?Tp)IF<aorB*$4e{iP(e}e2p?wV^br%4&=bk!~^7-QdKNJ`G>))y3NU)0TPZa-XA zWwRUI=G+Lzmtt(pd}dE5>`~_4<R5vfe#dF$)!fg|pAsg8zpuAkIR6gK#|qtA@+S5V z(4>`q`$BQT<G5^H=jUrF&ph~({rapJODk-g%%@ii&N4WOwcgy9k)wo}YI$A05&Y}+ z>@p7=FPAG9e%U)rX0<^Q)9#<>b;tJEx|yHsxF>15R5Z%FHRtq10(*@jZvInyJB~Q_ z@`CDMFn;_L=Ozcebm61^?&dA<nsx1YF|!LbQ}Ac1YI>4P423PZx%_?Nv0bd%8i|+@ z12e?Wo4!jLD-NnmVu)0i-%mAU)2cq3?OcQoy@2h8-1Ff^%Q@jW-jqv`D#Q~~f|V|) zjs?nbmSE(~ePIFEf(|5)cumbyb~YIkCN24AR#sQz$JL~lx*j^&{Y=<0U7el2G2mVe zOOOapDZ@|~zXN5fTEv@DlD14UPF%PT0-qg}+|1-Vsuv@kLlJMOeQ8f!lmz-9XVGP4 zuA_Qip+dHc(?^+KF010=BJ*2n<YfH@vZL=HxA6Be9Ya&!?6qlrSgkqzHIeD`$tT`5 zA72!fG&7KnZR~_HQe>~=@c|i^yv;m4R|4<J+XAI-R@VG_gAZbGBAze`zal5p<-0XL zyz^PXsY+I#d4A6>W=~yMq-Emyhq=%(o93j>rlYGieh^KMxe$uakz{G$s?9j41?=wb zHZ%pEA2;}*RnD;}&{4PQVf~`qz(6k)$T-K;Hs)Bivj$aH%L1Gz^ld3-Mn=^RlZm%) zfnGs0jg0#Eu#0;Ec1O_HGz8%+gA7{FgtAs-*r1Lrygd58Ke(pq7G`=P`cxPCEXzwL zxM<7E9j=j;EWS=|6jU!$XkVKzfyekd!w~{T+CXo}r;Tes|2SoANb&aUITs??p1>|W zyQyvn_4Dn%&xmQYDGcLQv_w^+OI)U`nlIqCEI-j(2oJu`V#)M|S0y^C^tj?^%IV#t z<&d_x$btJJMCq6x;yLDx;MqmoqWTr@Qt@jfLr$gR%lE&t-mNQSt0V`|UxAH0Q<92S zQ~1uw7Z$k65OH_X6{F?5Q_Bkv=?lg80fn4>KdD@xn)Dvs3F0I2Lzb8Kh=}bXY5Mp| z``O+0_CRQ5Ub*@$xcXzI=uU)z6){vMwT<)0pVAm2U5jrXpBN&u<KjRjAQ)I+#^WY> zL$9rXIt);03memjlWN98Lh^RQQ$a#{-@#p^8Z1dz_|$8WTuQIN%0z`T#8Y_4g@rwv za$kC9tP`nfTMw)OWxVd@@E4ztwPb&BApvhm4@%TDpeQivQB+i1yl5Ojy@a_B_xL{3 z6ocoHj;KZE<!w*+jHH?n?^9eDJX8~6mSCl|?^q1GV0K%IcdR?(&?g9yNz$p}LUWm( zr42yGgvx_85o2Ok3Z@zxwO@7$+fgJwp^Py*8rD|*gS*c*lm4bad3@zr+n&G3fUn~8 zhTTz?kaeZ*m7ap?C~=|GQ)K+Ix_hVUMpPn#4H|~4ogBwy$jNIxo(oJtUD5mA#l0pE zPn{d>V0Jr#FY=A8RC{(%kd2q%(+Bx=RDSHkF2aEdCEE<qY}UF5sCRl|xTm_>yUvfQ zX)|tEb$+~ptkeYT^V2ycw(4gsL?$;`vl=e=Leikw%&ax|_4Whjt^~>Z>T1i9&GRe_ z<teQ*21Xt%EnKvYKLzO*Dd37atIiX1QRJ)*%g&ECkyZsoDB0(?r8yTVY^43nk)Bh> zL>_f?N}4TQ;J-dU`el;;?yc;Ze1KBrjQT<+ha?64>63<s(8`JOfYqbTNdc<?0r^UV zKb7)?B`IlV9J!YFig$^(`86fRi@gr0$^o)*y`;<Z?`X#27MTfEvRZQb{o0PJM77zX z87}FGM0jCjRdz;(wPSjHRvKpfN8EsM<pV!ap!R-5RXsE`|C-^F?+_P_9vh*yd7=+C zH8wYDLZoDQgm8&x<c_gDOH)5WE+GSz|J1ATPPdW;>)E0@-`Nsx^r-t;{a(X)HgjRF zUsS3+_bOP!+iV>jB2&xow72DU@C1%%EH^K-BQbmOi6NZ2I{PasCR^#IXDSBE-=J5{ zkj(l|!eZU1{FG-E;`f?(kBgq*1+YgJ5}jS_{L=z^-nWmm%(PQ7kZgF#&s=O_+qG)N z#^htSDb1?o0<>2Bs$8<TkVm=mNPmIY-5r_PlZJ-y<fUUNU5QIVJBam%&GVPBxb-Au z=ex_^gkv6!To61eF*QfKDp5$$+o`f%%la5UO#$o0$qUi?_0QXV=P;N2)r<5!15*pG zyR$$|R&1S7h`bvjQz^|i4|3;+gTdPM?ZaD4OcF>dIhoQ2Dm%Kl^Ix0ipF&s8o$uqD z*GbFS8Usa`ec4RQ3=$ExU-Yy`<pe5-rF#Ahv*wLwGhX0}K>cFT>fvKrWN)})`+xPQ zj^!!5*A|0lDsH-3gvtQTu<Copw}fnvXxRqvoiUPxX$gDf5PLnlNU3`$9`A33O{jn3 zg{&|Xi;f<0utaEVQfE@QqW@<%E>KLNkNofhPvX^T6KsuRmXaE*M^9g>wjna*;<Ss& z5AYHUSLP)T(G0VoSimVfa2!sX^eCLaw%~MglHq%FH+AWnj?@3EhiMg})JfJ*Rl30D z;37cZ{M)W=%p&s|A+L{A_5)1GM(+dlPND`qxaL%1C(Z#C8KTPPfKo72)3{wSq;LH> zir*0x`^g}fgpo|KF-C5cd!@jh<g9=potL015xRM>_4a7vMbEd7eRfmCg%o`o;z~Wt ze@G!$Ms=l!mBG)J_h~@O_N3I&S7xES!@$nkiRgd7reRI@fs&;reO#4AzB?K5&x-rk zcv3U<DV!uTzS9IWbGhKh>LR(|?prD^fl&+rsj|bN3t;@<gBkF%ky;ta!x1WA;vyaB zRj21(KO8pzCK(=x0lzw#Na8tc)C1EBy+EhESNGh5e@SEjb5jqUG(!*P2!Qb-TcAg6 zE6n^KihaOHz`s*g2ZK^&z*vX`2jhPz&I2s_5_K*gHok$WB`_dU!lyU?p|}aKobSp# zb1*IeJdOkNA1oRVRSu`2fZsj*j~NL-=y$-_$ouRJ!T(SMrh-6TaQpuVeGic7p3d{r z|5E&~84iYX{%eN+n&H1r@!zxIj~D#+h&-5L`~P7En!w#tOs4f;#+`v*tJ0}H)O=8I I@5P({1rVF*5C8xG literal 0 HcmV?d00001 -- GitLab