From de68c5e99187b3482296cb6c6c48813371e036c4 Mon Sep 17 00:00:00 2001 From: Marcin Kostrzewski Date: Sun, 17 May 2020 18:13:24 +0200 Subject: [PATCH] GA raport done --- GeneticAlgorithm.md | 171 +++++++++++++++++++++++++++++++++ data/images/exampleFitness.png | Bin 0 -> 49842 bytes 2 files changed, 171 insertions(+) create mode 100644 GeneticAlgorithm.md create mode 100644 data/images/exampleFitness.png diff --git a/GeneticAlgorithm.md b/GeneticAlgorithm.md new file mode 100644 index 0000000..6f2450a --- /dev/null +++ b/GeneticAlgorithm.md @@ -0,0 +1,171 @@ +# Algorythm Genetyczny w projekcie DSZI_Survival +**Autor:** Marcin Kostrzewski + +--- +## Cel +Celem algorytmu jest znalezienie czterech optymalnych wartości, według których +agent podejmuje decyzję, co zrobić dalej. Te cztery cechy to: +* Priorytet (chęć) zaspokajania głodu, +* Zaspokajanie pragnienia, +* Odpoczynek, +* Jak odległość od obiektu wpływa na podjętą decyzję. + +Zestaw tych cech reprezentuje klasa-struktura **[*Affinities*](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/src/master/src/AI/Affinities.py)**: +```python +class Affinities: + def __init__(self, food, water, rest, walking): + """ + Create a container of affinities. Affinities describe, what type of entities a player prioritizes. + :param food: Food affinity + :param water: Freshwater affinity + :param rest: Firepit affinity + :param walking: How distances determine choices + """ + self.food = food + self.water = water + self.rest = rest + self.walking = walking +``` + +Oczywiście agent (gracz) posiada w swojej klasie pole ``self.affinities``. + +## Podejmowanie decyzji + +Gracz podejmuje decyzję o wyborze celu według następującej formuły: +```python +typeWeight / (distance / walkingAffinity) * affectedStat * multiplier +``` +gdzie: +* *typeWeight* - wartość cechy odpowiadającej typowi celu, +* *distance* - odległość od celu, +* *walkingAffinity* - waga odległości, +* *affectedStat* - aktualna wartość odpowiadającej statystyki agenta, +* *multiplier* - mnożnik redukujący wpływ obecnych statystyk na wybór. + +Implementacja w **[*GA.py/pickEntity()*](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/src/master/src/AI/GA.py)** (przykładowo dla jedzenia): +```python +watersWeights = [] +thirst = player.statistics.thirst +for water in waters: + typeWeight = weights[1] + distance = abs(player.x - water.x) + abs(player.x - water.y) + watersWeights.append(typeWeight / (distance * walkingAffinity) * thirst * 0.01) +``` + +Dla każdego obiektu, z którym agent może podjąć interakcję wyliczana jest ta wartość +i wybierany jest obiekt, dla którego jest największa. + +## Implementacja algorytmu genetycznego + +Za realizację algorytmu odpowiada funkcja *geneticAlgorithm()* w **[*GA.py*](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/src/master/src/AI/GA.py)** (Skrócona wersja): +```python +def geneticAlgorithm(map, iter, solutions, mutationAmount=0.05): + # Based on 4 weights, that are affinities tied to the player + weightsCount = 4 + + # Initialize the first population with random values + initialPopulation = numpy.random.uniform(low=0.0, high=1.0, size=(solutions, weightsCount)) + population = initialPopulation + + for i in range(iter): + fitness = [] + for player in population: + fitness.append(doSimulation(player, map)) + + parents = selectMatingPool(population, fitness, int(solutions / 2)) + + offspring = mating(parents, solutions, mutationAmount) + + population = offspring +``` + +#### Omówienie: + +##### Pierwsza populacja +Pierwsza populacja inicjalizowana jest losowymi wartościami. Szukamy +czterech najlepszych wag; każdy osobnik z gatunku jest reprezentowany przez +listę 4-elementową wag. + +```python +initialPopulation = numpy.random.uniform(low=0.0, high=1.0, size=(solutions, weightsCount)) +``` + +Rozpoczyna się pętla, która stworzy tyle generacji, ile sprecyzujemy w parametrze. + +##### Symulacja i *fitness* + +Dla każdego osobnika z populacji uruchamiana jest symulacja. Symulacja dzieje się w tle, +żeby zminimializować czas potrzebny do wykonania pełnej symulacji. Jej koniec następuje w momencie, +gdy agent umrze. +```python +fitness.append(doSimulation(player, map)) +``` + +Wartością zwracaną przez funkcję symulacji jest tzw. *fitness*. W tym wypadku, +wartością tą jest ilość kroków, jakie pokonał agent przez cykl życia. + +##### Wybór rodziców + +Rodzice dla dzieci przyszłego pokolenia wybierani są na podstawie wartości +*fitness*. W tym wypadku wybirana jest połowa populacji z najwyższymi wartościami przeżywalności. +```python +parents = selectMatingPool(population, fitness, int(solutions / 2)) +``` + +##### Potomstwo, czyli rozmnażanie i mutacje + +Za wyliczanie wartości dla nowego pokolenia odpowiada funkcja ``mating``. Przekazujemy do niej rodziców, ilość potomstwa +i siłę mutacji. Z **[*GA.py/mating()*](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/src/master/src/AI/GA.py)**: +```python +for i in range(offspringCount): + parent1 = i % len(parents) + parent2 = (i + 1) % len(parents) + offspring.append(crossover(parents[parent1], parents[parent2])) +``` + +Do stworzenia potomstwa używana jest funkcja ``crossover``, która wylicza wartości, jakie przyjmie nowe potomstwo. +Wartośc ta to mediana wartości obu rodziców. Z **[*GA.py/crossover()*](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/src/master/src/AI/GA.py)**: +```python +for gene1, gene2 in zip(genes1, genes2): + result.append((gene1 + gene2) / 2) +``` +Po zastosowaniu krzyżówki, jeden losowo wybrany gen jest alterowany o niewielką wartość (mutacja). Z **[*GA.py/mutation()*](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/src/master/src/AI/GA.py)**: +```python +for player in offspring: + randomGeneIdx = random.randrange(0, len(player)) + player[randomGeneIdx] = player[randomGeneIdx] + random.uniform(-1.0, 1.0) * mutationAmount +``` + +Nowe potomstwo zastępuje obecną populacje i algorytm wchodzi w kolejną pętle: +```python +population = offspring +``` + +## Skuteczność algorytmu + +Zastosowanie algorytmu przynosi niezbyt spektakularne, lecz oczekiwane wyniki. Po uruchomieniu symulacji +dla 1000 generacji: +* Wykres wartości fitness od generacji: +![fig](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/raw/master/data/images/exampleFitness.png) + +* Najlepsze / najgorsze fitness: +``` +Best Fitness: 188 +Worst Fitness: 66 +``` + +* Zestaw najlepszych / najgorszych wartości +``` +Best: +Affinities: food=0.6246050649543714, water=0.7464600395102128, rest=0.09747026036072276, walking=0.8427814969457226 +Worst: +Affinities: food=0.5010343683602108, water=0.5248573924802746, rest=0.2191880576417362, walking=0.7195556582421176 +``` + +## Zastosowanie w całości projektu +Dzięki wyliczonym przez algorytm wagom, gracz poruszający się w środowisku będzie znał swoje priorytety i będzie w stanie +przeżyć jak najdłużej. Obecnie, wybór obiektu jest dość statyczny i niezbyt "mądry", został napisany jedynie +na potrzeby tego projektu. W przyszłości algorytm może być trenowany według inteligentnych wyborów obiektów np. poprzez zastosowanie +drzewa decyzyjnego. Każdy obiekt ma zdefiniowany swój skutek, czyli gracz z góry wie, czym jest dany obiekt. W przyszłości +gracz może nie znać informacji o obiektach, może być do tego używany jakiś inny algorytm, który oceni, +czym jest dany obiekt. \ No newline at end of file diff --git a/data/images/exampleFitness.png b/data/images/exampleFitness.png new file mode 100644 index 0000000000000000000000000000000000000000..359883deaf453c5077f299e08f6dbbdc65853a12 GIT binary patch literal 49842 zcmb?@byQW+yX`)7w}8?hf;1A+9U=-MjWimMxlP243WIl-6)mwt3^|Vqk9!Ss6ImTG}{Tni*0% z8{0dW*;sS2J!0czp*D4Nv=v}y|L@O
G3ncAc-Qrg(t9n`#?B*+^^dBwDxt!#=+o-CK-;D8}C2r}5bK)V1 z!@uw)Rk8)e{$3!F5cvFi6$M?)j~dO7IvC9#iTcltQUT%!(eRhhXq$u4olxOFfiKU> z8S6@Iwq28=qN3o)NVVyd|J?tjkyKJwmy%7dK35}O?&AZ~nQ9(#9Mm(1|9psnpZax~ z71FL$0t}rC#H#6ZIA$#|c_5kPahWpQ>P2%h$eJ=-l1i&1u|4WI0`_bR^<_wkw??;u-zr z3tCW%ZycA2;Zl2qEgyNho7eS$?6bH>ZHFSL2@jPs8y9Tn7u&+pcAqARZNwkl;uIGb z`^~cZq1_4R95!ae#u5+UPw~Fx7jW8Kmd6orKefc75+U!7W$)NuXkoP}sI4Ve&Qd^z zj(4WiheZ^H4v@OKx(Zzn47sf)i6{gd#cnQ7imax1wY_gn>g`2u&*?<2_ge&L5YV?? zRIlz!uh00H>)YO-lRZC-l z*{@J^aB$Fc=xYf3&k`-#^#{-6JK4}>+4TLgjqcySPtC^GxA(o^#}ABxhFbwJ*MReL z*HY6#gecKlJ~r)2YNiUW8#gdV5;-}!Z1n=l$uf%|_q{rjm6eswuC7DuazMIDqaK~!F75N$>Ic-fjQABXd{28%`^lqBdP1J-A- z&fO)y=BhP>(Di&FXt3B=zO|zx!(pwjzPip;h_d$fa%+8}h;DN+hR0 zPh&7JABGeUf`<=Y4dvPl8STT{AN?U{VDs-*PJ}NeLMgT1VCO zA}TBSO3j8*fC))zYQ|+Jj;{T>5@rVzAbjvlEP>YwkBTZPJRD2A(iYY)a>bJ0aO=ix zIf2Les=SrLW!kql;qld}dd=#xc4La?>D_9Vy~uz7ByNi_EIQf9*7tO>QpS{E;oxt% zd-pD>fFt8QUd!N5pNO7);eaV*DIZJ|N@W9wEK@{!V{A;r#ie{4`}y+1?WNB&XqR|}ntFG!9YhGYKW2xeZyiS`c zF)=aitGx*wlci=Y@bRkY>h_Tuv2byHq`!Z^P;jsIBN%pAZl~Kn>u)bDPM4xYi|akFiobjzbv|5{ z(@O}#rFs(*5|V2%p1&Q&Uat?n8-o?sS5i{4?E3Vu-hMdqxe+jH%fscLmNV5(mM5E| zma9E+>5u$Tunk$YO7(wV^m|XVN09w0HtwFVD5z^EX4lOWmB8{-`K|zvF$rZ-CBJ-__vyOt@T}VMO^ke3zSA!(9uN<_R82{#=_V&XUu_1S3IZO^ z`YK+MP*L@ZT&~k8{Q?1&6SDmIfj)gl&}H{EM2bCI`egG6Bcz>}ilY zG(0?n+`;C1PQ6rCz6+h6jO&GU;ZO*Ca@w9yDr-Q(?~BI#LfxDQj0piOQ)^$6V3GMK z)7Q*QL$DNIgx$*vdb&O{4}O&+geQ;D(b4(_N@2HDr>!xO$Cgo)!gwSkLGVEK`)1GE zZgb>29>tv$ubay>r3{(+vplUbiS8IyyUSxUNX*!nek|`*5QrJ+;D&S~kYN~^n3;<_ zubd&V{$$}I@84cRSKB2Tz@|gP!fqzFew8q+_NPRR>v>a5RoKMpyp)R+z1dJqKg*Db zka+eCi`Q~ue(JQM;RYK-!Ipl}-&m>bsx|se2w?c>1}*Q3oowdnDHO5@!Tkh(vdlo5 zBgE)9|r5(tKdhInLT zVPLiwRTgE%AQ`HtsGL8Se1P_nk7a`?>`9FUC8$K`Yrh3*W<@8&SPU^*W}ghdwIsGg@q~L zq4x`?kuA8KkGIIj?+wGGuWjpJT3P~j2!j|I8O5BOctAc_aY>X6!a;`SiWK6x(f8`F z*vf6@B55SwQ9pc$4njajzD|vYllRG}`jh9++iKq)*>2@kq-&PEaXlWCeIFZ}^}S)} z;xQ*D=aZ*TCB(&jZKi-rM*!nEU+wEn5v4LVHYVkI6K*&&E1*?ozH%1lICXKfW;fpm zYj7CKR-)r*zaARZc$-|epYE8Ym=bA{{1&Co?WFkwy?i0q)a~giLVr};)3R?Qdv6!Y zViOZt1kS{I?_Yuh(qNRAo69{SA|8NAg!~N8DcX9b+MqX{htKPp4+PZ^5Z>v)B!DTe z#*k>aTQ}S|PkUYM*w)NUlv$8~xd+-UwWq1(sJZSpq53?T&u~_gSvwJd>ODdPxOJ$8vvJZUHPoOKkL4?kP#&!@%#2>u*gWZ zt-8)BQPewmDt`cDqV}!BNRB!#JX==egL&johT#dX{lc`-84AQCNe34Bh07$;)Ll+4 zB>xueAUSq=TDzei_+8eO26}qF1i-$V)WDt*A-&_}LW34KAOpbkcym- zILcvfxF&Ev-EQ*76$u822jZ|yQ>(BJOZ+L#>x}ImC`)*Z7g(ny@pXX)i69|Wl7t5yp z;=zXxAFc!9@WYc$9^wSGoF%#Q+s;GfR#Wc)JecDZ9-q#um<@G1*)&*a4y^ord*wOh zU~gXtz}hs(EblI#;yGah1dqQ;F5rj;0uN+9tp~hTT1)F5Jm8USQ+e!*dw>iNM;*5y z45XR#CkIDFNGmAdfXLuevsX_B2PxB44n^>XI*sd?j^|T=kmISA0YgNAvWtj;!%)t7 z{}u*OGzwT%+S{X5ucN;3fieqqsBy}sAp-7A0s>kUjd0jDSmR;?H$&IeI1_jz`Sj@% zH60xyvs!NB<;fNdY6-$UTX|tQn2xNFA`$_jZ#r0%%F{^;B^8wb5c3v5x|7LLNE!gn z1NRPK-o)r^^f7EYp#V5czg^El_w^*m8^+?$=TnbrOH;Q9V~MwDS+BERWeeO=~t z1n`lT^MfT$t4VG+oCfog0@KY@ND9r#uf|YPD&z71m?4N>K4w13`FNq+sM`5X`Sdd+G) zx0xT<;X82Gq4Ydf5;`7`1OccKq+vMf{P~e#OF+RdyCgsWBaj-+Xg}SDkdROlq=kv& zjbYCX{zouFP;cqO4d1ASy?@IqehKNb;YP6*m2gOG}zB zUlME$XW_o8_o&LwKR$MJUW#~J49pwF=UZkb)9Iai89qr03|HNHx6PnJXac1aWA#UM zRHN`Ro4MJ7o1UI$r>%sFg}hdig%cARW9ibE&Qn$uMIeRDsIS(Y%^FqAIFnh-*7Api zg&FNkmKnjppr)o~cv1W@oucRs_tsb*nFT=K@GQCokb44H8)jx^Wg%S~qJ1!nU!Zo< z1i(-e+~CtFC7Hq(+vrwQqAlWl?WbcePvdYoR4b+8AVe zO@LOeFIR4E(bCzL^q;l(*@IeDN-U1U0096^e-H(&@!qLD;^GuOK-c*I&RPerVP2udiRfp5MqyX}`U>vb#7mzW?9>JRZ7& zJyyvGM)wQ0{O@Y{6I%Q~4uJYU_4)s(su?jfP@+2gL7fE$8q@UQe@OxfWFstqsGcY& z5Yu~&W1x%O1#y)@D>V4eqnfQ>o0wz({8oKN2V;~38wiag!Xb80<>S9>L>UnY2^~Fs zTbBB<1i}lHf~g9SWaSO@pj7uMDG$+d zmtc1(Jft*Sdl(_Osg?N_()U(SLUWhELo)dPGpzsHEQ8Tj#QKbDD^5w7bar331X2f6 zOIpB3A;n1d=J&R{uz`LD-e~}Ju)ZWQ;DLhC)--hGvTMZfq@w?jDfrYlt3(SI((dn- zH7Gap0Z$W5O~L^dz=u@C9TS@G`DV{Tb`*qn_Kq4YowyjzwIF>_CV473gADcz|1}KI zFu@%4GfDn7&c;F2WJuxxcz^Z*zrEGwG^iRAyg)it<@4BTG647u9Y6nFoFGI1SqVLL zwX{Nuj5^YRy}(%mP>h80JFEtG@g*q;olQHKf*5j-+tdf2PKKI+f#FNgAA$(U;FTo< z)ZNuJ0C<6(WZ{IX3rzM}A5g^_fh5Ogzl;Wt$nf`{-(Kx`8pDkb05_a46882O)>kjU zX9C>Xw3GQd3+}A?t_wMymF}m+DmB7syBOlxhJqyf(KM1AuRHO6^;dvY3Q8q7wE^ve zVr~&sq3rqFaoZoQ`o zHSP`vuAd})g|FhLq9o)O5wmsfMxe6eb3bJvHJT_iK#Zgk-6eFcaoKyLy#(0hq3kHGEbN0wM=0oF^RNCpD@cA2cx0qM?0XSo2Ku zd>+vf;CVPu1A+Je4#Iw!q)5BDRWEvlbGBs_n+<2uaB>cw#eVo;=rj(zHdr7uOYJv} z0Mqt6HChDpoSf41bOd-V1J!LL*zXJwHAw}XStwoSVYMK3LO!5E$pBOm;0w|{kB*K8 zf2cD5s%Cf|ACR6-JE!N&yV6MuLQSdC&UftV;1F684g>Gzr%<&v8%T6ga>@AsgDzAZ zF4b&gCcq1a(o*iZwW_KrKF4)Dc+C7&4Pg9WrJd0r6>!u$1Br#zQLpq7!qfK>&=4&j zqZXEy5&=r0{wyvoZlc15DxSyUo%7CQnqrEG>p>fd5}+kZ0b~)qIVP+>U&MTtB0>QH zqA++cL)NG{038nGOWyQy*eyyq?o5u7+<69PHq~CT;`wk60w29H5`^a;8(ei`&ptl=&@`%5&+BrI>81WtxtEjjM}kUTU+%SJr5nLTL^_*CYwze<{+6Dv^WBk*nAdMbetferI!C?X@ISj^fHPu|A z;BojGPYaU!jlUqK(F=D^YBWLGM8qd}3(#LCm?MM(L!&7~8n4{^61|4_eZ9Hoz>W@Nch zqmQZZQU1MjA8k`)fgE|8{yNHM0P)`&SoSg>?Q2^->hyCU=zBzZQ#PsynDfqmK*uH1EY~H@-*y^Yo7s zO81khUxfA*(;i*F%RqSQ$8 zG?6Aw*0dvtgqH8mbU8u>IUW1jKdxV_3V2k~v<%(iHFZ2A+E3;RJij5^aNRzlAU+GF zUj8#H1A+_(XinFY2-^3yh}8T=L5uVSy;8Gsha1vA3JFtlk`;Un3)lGbu^NpbNA#61 z7DrUZR!;T%<0M+FINJ-^uO2b!SU+FEO=2CId$%i0OZFc5#aewN-Wv?u@vox+Z~wga z%l(={1ed;vfVqbE`QNW|x^Whgqss4D+bpn~?EeyhKzkf&{Hni; zCl}s`U>eI~urnCeDb8})Y=VMBn-=p=68&;thQklF1tHtG?@KAtb1ts-CT9Fu!QxMJ`EenP^U4- zAnht@6_R0W7V@c9M@VDTr#=5S;Z6inBp7L=*~?>n!l-Pv9uGQa{^@Ej9el&Tn=8d< zd#K&G@W`a!=%Z733;uiOp||&TKA^?d-~9F40J#8v#(reWGUK*j{TEYfq6rF%E(KW& z=NAMSGohwEQm~*gWER)w7#!*U#+6<60xiA#eC61mr8~Fg>j?e4s;N+o!wu&{0;_r`lrzrAlFQT-2>cw zUBrnsa+x@&n%Rk0` zUo|RkN;B<=@PFVsSir`a8eiy&%4nU6y!cARZ)0T=>?8Rvri?swwiSH!^Wca++p$V= z23xadc{q$f6S8vU#CIb2>r@6ku1Kb-92QL_AAPjl`EU_UESu{b%HLHpAAWg~Mer0e zRg;7Rzy6oSy1NC>1XB1^4*bUXZ(l;a~_|P71N&N$+0wBIiU|A%+_b?1mE;0_ugDD z|NOWQw%`#bD9pMHaaC!2M4!CE@ghEWg6%>yQwds*=g#_m4F%_*EsA))#N``3Hs^i zCL(bU*|GyO4vn z4Je09#g`Fqj>Jcr>^OqX@R3mugkE@>Jkt<3S86=okzp!#fH5x|jPyjptLB4dOm+wY z%@1GDm@?d*u38_?irTJ+!^$oID-8g%J?8uctWIO(QFf2kV6!yoM4JX9k*AwtQlSSU z$c#VL6*QzYG@*pYHj#kM(e|!$jg(pIOY&4|1do&fjTsC~Oljl8{~c61m!AN@E0xqr zSA2_R@*$5oel^yi^iq%6WuG&9aN`Mg;Ihz-K5tEUabE`?ou}p!2iR z8$bsEa!44O&rGnEu(V_u8XEFQSzBFQ1Qb=}PWja9t;nb-SwK)odxIbxp}MR1A1#2^ ziv&bdLb}fe2peNwtKGthr?i+0Cz48yQiX*{n3ex$EV|G}qSuOuE94`3dl0ogUO=T* zpc`?ASxp~&0^|dFIN_AS_u$P%K;^*UYX~7jI_Q4YX9G$Bjaez-3Dxcr6G(br_;sB1 zwASCz`JN8W#Xn2n#RlBIkbv`cFyOUPUG`?{ zJ>T?v@dc|Kevb#^&Ye5!a}A>KPQm*6dMXvJIG$6AZ5%rZTR=veiY4;cT_l1bejg_W zpOAr|9VGp^dQVkvA$Yqx*>w^9S3e;E0f)sHOHVvc_vS7zoAU)FyNq9Q1KG&WC+M?j zr#a}70-BlE&Gb8w$%_I;$pKPB6MQ+2+E?x6p{DbC<~b5YaZJbyvA-d&Nf(1{ zBD)I3n_tzZ#>A${H?doM^ZgCSM-&+}X&7PC-!dJjF{qtvrBnqoQEy8qt{g)5_Zb>A zhIIL=(|SGj(xnDyoM7WkVX@KhRytmQrWCWU6x+8xbNS7|49RU;;<#qPQO}>q&;A2U zlrRyB;`PHQ1u+qs`zutlRK01}2cFZUcFuMFeS)0SLoq*&RFo-Y5=$ilrkv#OPi8r= zL1vr(&kcT7Ff3lD{b&Rq9+QU?4p7^`V+y%{NiPWGLZQqt1mbPHW5#)b+kJ`7zY+ea zrAX+#4c$WApEPk1CP&H`Vw(s!DWAnmarBq};YxG=@==G$(h(E0k4?!Ar0>#OpQXh0 zZ0QqvnIv)i!!+5*P(ZUE{rK0*m$tXa%}UY8WDacl3lMmsrj`0PKt8lqZ#-;iEkfpm(h@ej#b~32W}BNIGFU z+F#yGSJGf3(Cpm(4~XHzcbuWqX0b@aPAz0ayB`31{AOqzZvpi$kRJIaH6XNPn2IB( zAU0v_si*U$3Z?lNCgGa6z-PlX^bf?A@%t=1Vf5ELF13o~_fbRk3gE`ju(_28yOQ{) zczJ*y@yqG83ir~zk=b|1P7|+j65>u$CEsE_JB@hf*)lUtvG6a)@ok7oGW#N}XXiS@ zg1FJ7&b11nG5jXR#-bWy7`Ff7`x3M~QKwcW0<4_O(b0E9H`c2bxK^~LgiXv&OE07T z!sRdb6aBKGSku9!UF zFh(3AF7MGq|1R8DwmujUG7nM@a!-MVqJuL&jat=9e=F4zd0MOgLPZQ{hH_6h4wplu zty2BOwslhS%L5Be^1-vH@!}Cl{}x6Z^3kk(t0=lRf~fAPxT;SLly~f3R=w6^>OiEj zX{n}LT_?~}rEDQUHfMxOzTY1vfd8)|`-PH12JWJ=emUfGp)Y7L*^}cp6Jr<`Q6;|oD`&B>CDgV8P(?FWjFO%Qrk#Q-i zFPdJ^PjWGf9Io)H&tkcP7+f2srK2{nTneOrD%JqGkvwBwdzc0JYVUH;@GObvlQN z1HLb>R7aDUtuU!{fk*v?zY?fIgNASLuz6*)8|^EnDX$muPTH>wUHi3K#i`RIx7$zV zGV78XYkV32^R;zbh0%SM!u89iY9?ghpGTH!V<@y=X1p=5*H%)|vL80qWs&p>aZB~p zJq|Xl(a`IywDZTerF*^j_zDK~vrk(5m~*m2PJHq=bm6!f=@z2ea+xM0X47yqZJ)DO zG%UDT5hGig&f)dJup9@_4A}qd*SgQ+^oqyqmUAsPeLKU?A0SmJga|B8hL zzqXH&<}tO!PBLR5Jx6DaPm2vsD&9;C_rjJwm4Apwl(W!Tfb(CQdF_2_JhxT-2rpDx z&WAvJs{{&3jM0NZ!3V0X!hxN1Xm^!8eA=1uH( z-(F&74mE11zPIme*=16iJh{X_+AljA%B<1vjE&VUNHRdidqG#138KGyHa>3bHx(cWk)K<`CY?Gg(grL`TPO)=q-&6Kl-%lG__EiQKq*U`v z%+NKG(4>))uSlhv;{{8;;+Kzpj!5UJH$ECD%wo1WG(K{&m%R(0Wo7fJax4Vhz4%76 z8zN*LQ%9$MIJnbUOBB9~CuI2uC%(K7nGQE~hnf4`cWOM$C~ ze2(3O!(s+~u>8e?8c~mYv;r34b$4%;0wkmQY5%|}MdsaD&+p_PV<^RByyQ}ANbyPU zrsg@rP^U&83a{dhB{il~m{b~;Q4VA+TxLH zNGcsVC|qb-nCB>3-OW1e4*i5#{9HT>k+axhE@u00Htu`zeF^hs6I@p3Wvf2Tx>@#{ z(I}-OJL~&J{K-p3z?lj)qH;5!dEQi)Gc${#<9<_1aP&yO3+WH_Qk@~$ATe>#kFEIMAken@k~%l|od=i{(7_p~Gzl|fr|g=>Z`sW&?mO=TaN0XYZcFQ|4Gi8k z^Zih26en#gL-PHCP6S)d6Kpm^tCbXXO6&2?c*onEWQ(22v4%igpD(HRCO{t$f@Z@H z;M$I#KYs$1p+>o7oaL{qWH$^zgmann5m~tiB)RTZtqp+2Hn-^jL?;t2rl6pZTB9&R z6Y!Wzc(=yyB?INfG0F8xL(Pi~dxvh8Id2@ro;fqE=qlv&e%7js_O|TbrE`j+zUX>; zK^-m8${LZfA~$U>inqSG+wZqtCo$&d3R9YtktwoIux=&K+Aq>l-dF~)xfoRH#~QpC ztIn*>lC=9B`eSly(#U=wcIuU4-f0M!!q~>sJ9TQaE;|cCLZ=rvTeLUND^tpn_u!9> z{kLad&bxV?Sx9K4O! z0-Dc3ZDAxvpbNmr%Gw56@bk_`sIUE^4Y^6i`x!6`FIuHRjT=>G!sgH|)L_a!M%CM~ zeZo+gVj<0UUVVqf$G+!@Xe7P6ec^(J$OBg4;9hm9INf&dI;yRx)g|wSkv{aRH|jWQ zRDDa;S+Mzj_10C<*CG{MGDD3M7$42_nR0}ucivSSz9vZ3Q>s~p9otN&9c(B?A@Bc0 zt|>a0K(0M#DR8SM!7Dv=zaGDO?{%Mw%0}SMxx&V4a9OxK~>ny5}0!735@vvf%eiH%~DF*}<0)5iguV3LB6wo@v(3lIU_Rlqz zT=CjH9l?oQQSDN!K{i%(tNAvNF9o&BSj?Uc{4z{r&E*)$ALx20WD?t5M)4{waE)3c z+YGB_OEj-j^V@R0gQS&)ZSi(3LGY^a8CDNf?F;h=v-G zY)TUv-FFpoU4AdSzZk~8_>Rna|H=b2O>L{RfpjL-=9RtuqiV+uKTu9}jcqv!C~0f6 zT+-2!R7rK4qa9Oq<$Pl8vp<`(aaq%EJWh#ztMr!b^NV9ud8AYhG^vQCwYI?~K%gKs zT)Etf*;Y&8wOjPC^63%GiCSpEzN>zjnYZI_5@yT7UOD&^*o@uUamxOvf)`Pa=Jq3! zry{tiGD@^2Fd{Uu4gVn32~S~To*n>{Ceds>uO?eA&EJ_vwI`@j+}}o;hYJTlaU%5l z`e?fU=)bGf@(S}&jJI#!7N019ng(zX^$nmUBY*WgfJBjP!pc;1p|?gt6*}DeLfG&t zD*XCoZP{k<;%z#=j~B7nj_6Ke_aejmZ%ctdd1KY{*Co|8tGTb|e!p_a%@h@o@n0j^ z8Py)c$jm>#!*D2na7KU4sKzsblswZRUV>QmnOKb9F%OA$l0Coyk}j~AHFJVV%2=Y3 z-N-i`=ye-73EXG4Rr?5GVLI>4Mx4!gQ-Km}{I;bU!RVP?3Q$$2WoLJu#U>?LmDfm7 zG_4n_n6v4ZnP+5tDzJ-f?0Im<#|;?1wMIqIcP-baOc!hvW-7%5#!PEJ&6oWgT=ygO zPC6~qp_N=yE$M{m+s|wZPFW3l>AY}wJAz97LC0ydyDr(Ev@ZAYBjFdsZ)n&`NbE=n z)evltR(m`9`(=Sr5s#42AFOMli07XIGYE$Qg8oNseFY~BfF`KesRL+mLFYDI)DJqI zNeuM2hzmu2u`?SpLalpn#DomX?m%#rlY!pc`IL4wQs(uuFz{37*UmvB7?#&0rWLlr zD<`DKw-$N3PgZPQ^e$ukKHi;XMnag(z3OrOT6{3%`{U;`j?g%#fU?7xS#n1&D;{2Q zLPeWF!6?OW+uihc=k^qrdnJHcd-N9j)cDAMBe!`4XKya&E+92T4m;`ifDYz#XKL+A zUO}N9s6&H!EXE+nx_aY5YkNB_D{F6sp0za_5Ml*PS=X?t=rGVCE#yh{BKMTEq6KP~ zpxA|8siSL?4EbtAAs4DV;PLP7eX*I_4ib^^*=IudMmVo5r6{CT7EeAd7z}&QIRC=6 z{`DGk@7z4VzlIU}8DLpu@^+o=QtrhnO-70D71i&Lda0^5utY55PTWRai#= zRRaP9B%_>e$EI)4`o}6&z{VN2?q5?xdm2+NMl* z922h;(x~0a&g8Zu>xf4FCXCg(d#Gw3S~X4C`c%reY|4K) z_8L*uK8)$w`bVI#s;!#)zz@6H{Pnd*COlm^)25_U{%&@M?|Vt)lb)F4Wx1ON6MyZ< z)IMV1p7sSmm+T5k-Xy!ButF7e_p!od1{pn1y15IG*mY5H&`(R~a)||H*Gw zcoqD}s-cke=Et?C)ZQ;W9uljLG)(Dks89Zt^k4)*!W@iFQpY_F&E8=OBi zVRf%{SX#>b>JfRW>SFdp*VIqP%(m>dY|N=fFrFq=p5&cm|2UnmU?roa)2l5_{xDE! zU>{*D%Ju-GL4hKGG}8EJE9sZ3*-x0z)Y-jS?#hpgcBD;;(3toLo1Gm|;q?gO%ubib znVa_eQ#mB7TC0U*-$(@KCzD(&r!n{+imgx|V!WPRRd&4zqC3BuS8&bT;}JLGA}^Xr z$^-fh{qT#MpCJvoxh&yij}=N;X=q@e2?-R1u&(azBEvR}&`o-*43p@Ovq&U+o$Zl5 z^3Z&&TA+y#K8k8~l~S2h!OuM2beHId3uscw=STM31-ub2)x@h5bDy?RQHw(84uoo| z?owOSm~pk&9MF751cUJvow?##FbNqQWvNQ6-x592*!Wi_H47v!9Kj}wCg*SK4l_HO z>royQ?W`JVhHu!C@R<__jZ_H?E_KE)FRhkc^rc1`ZY7_i1Xie1@eCL)10eJS&slPd zx`VW(DUo)N*MLpzJN<^O_4^ckq8N3HvZs>A@rieo)(=%3cn}-ylBzDd63aT2zR{|b z;k>rLKzNH7(4l;!vwTN&aRk|W@H?vT(L>nPn&i@%B44j~we)PY(JTUE$&5aQGyln~ zh}j(>HO=L4eRFidx;2qtHhl>SphG}!wl*z`$>WO-v$?NUkL7zFjnTL*e@6o};%)@T zWwOGMQlFNXH)BM5PyTLswdGlm!Bc6htLuh0Gs)X@@^dnMDR5DR&m=r(jKL%M1aCei z>*7_(e!=H5d1EWD?^G}2N5@AZi8jtM?;#mxe;!EhKwzxZK9+J%Xkz){%PN=@?>OQBxS6fIxPbdIGE026``>>xv^C6xi=iu$*hC2k0e{i^@#_x|9 z!ba@RMg&;b*02r?H>~1EhD%eFFjE~%k^}OND&B<5QblXLIhkjGRJ%|mbG{@zU6~Wt zjWt#-MdM9~O8sIq*lzu-|**zC5P-e+`FwHIdP50qjjx03L z7RD&=jy-v~bD)2cCPef}fG6qkLMkCi#u=~K9;~}FzD#QsQEQaMjLdBlZ6j`N`EYm_ zA%8|ar$ao9C*rK`=^5dj!M6yAaVYKT1-_o)sRRz{3^YK5lCA$bI;_h6G5&0i5kGMw z<4-!fKpfDKa#el8HAhx=@OEpAFs~<1HU~d=^w{%!n-%i$S4K%!lE}@(U;NmcWxH<4 zIm!J!$oZajlf;&}cBy0I2wTiHT7i45ytW6qhcB&;|72+WdO?eqICb^e=)0Z~ zfsNYC2pKR-%{b-k@Ck>9wB~3Ba79U)SfqdWWlMdAqVHW=kI zY!{6BQ1Ay!CYRAZSm|PY2cb{Cxe>8gP)0k#*+qXGpI3dWOG8u)Wk3MaXKK8>C%A1_ zx-MPV*eii*^18d?ZI}L*?}pfU`5d6TYxiQi2N@=EM-enscAIO#a@AM9)Q;U2Y8gP| z=URLsMAg??FD~M!+^o9BN%nRO%TZT~-7Vv03*qme7O1mMZdaVb)G&~!_fY5}hFD#+ zwh&flK7S)_6cnf!(Vl7E$>MZsDE1X^q z&~t9P#7WMJ$UGU#<3$}X#S1>(7Y;Ym{oJ;>J3J>i(7%$!GcsLHKORR$-opumDMMzO0*-w>sP*CWyh z&aKuJWI)~_X<(4%X5d%IDdQ(rYq;lOXVq++{7U{u5|eh9eDOx0i*mkwm`*YFV*0^3 zRen1U>%AXi45fx{TWS>$Q;iS%XH|o)!b=>udZwlF}SJ^4^ z3h*3DA|K!EBb8DV9iilHWmX03W7k*?&1kqAMf+*Vz2rNJIkQD>3RwgI-f}goI_j93 zPKl9aVRk8H8{ODuWD9qWNwbtdkz|i?bZVU2fL?#Wxn?j+kqVrcxdTMb9q^M06*hV~ z@wCCIhWF6|7(!h~&#QcL!ZC3vYY(cP8p4iGX>?oen=S~+?7eh0f2^=DS!CZc7aur` zY&`M)ExNIKUlXz1thiX8r`e6q!(!+%0kR65-Obj#GT&NxH6}$Y_Hk{NjqMflJi5|O z2T3iz&yZe@HFNTI{k=)v?4rzEzVI`u+QEswdm&OV(>UaPfc>RG%>sjfDp>5zn+K7U z!l3|)E>QhG4^r*LlNuPTC(_=rnC%U4arhiV*azcIG9vM?yZ;<y(TtsYWth{HCV3ajuXE5_i+ze(>UJaPdpsn zYui`ijnO)bfcp+K6Ce`vq$L)Fen?Gce#g*F2@ z-vO2&S+|gkENX>0_RbDT^zM556t)qYzNgg}Hlxk2=y|Q1C!{wNq|a5qz2j(%V)1!k z3VM28Hz(>q{hq5^cMlN-3xeQBHw7lWUr-0ziu3U?%`66-F(&gwJnnpIW2uJfyZ<9P z(-%LTJ4Nx5XgBXwrJ_XmZ=0F#O~@>{il+`7gZu~eY9*$3#Th?*yC++g0$Y!oJ^fUk z6Cyl&YtO8TWKNFJ0#KZB9H*a4H@7@~7Rc z=KgR%rRO1~*M$}Dqqt}JA={3NqNWy32L^#A(Ay7*RxfLh8Uhsiia2jO@@5dSpFPKW zvg4jHDcL>2QXINY*|QS(onpWoMzq&DH@7Vr`eEWH>&yDv?RVc*xx<4sGI}2}iMay` z_LE({)_hDzBe%~OdLuY2nhL~voqc`n@J)vw7Z7uF0-t+()st&b=v>$s zLU}Vn=daAyFw2*sIL|jb>;e-%buoM137ygCQ!X9j_c52$x7G%WM7LL=TtKLR*o`{6|=p$xMRQ|q&91p!;Y-(e+kj{A)2;{z1_FO*S$RT zNr4>0SRQ@g_d(HaRLd~V{(z0JK$4#~wV?N+GU^3+f+8Ya#mpCk(lE>k6^=ljnfKC6 z&3@KZ++wM#P;~%_0}_T1QFH%z%~az|96NO5 zLOdI;V;%J*QPZGzJ_ItO6rUgQLLgoJ&CpFXDsX}=;=D^up zr?E+i&aHrOhghu1;%-I31;5YXl?6^}VcKZFiohM>2@Bbc+D+p8M+Fh3d9`{wk!s0g z73U#C#cnOg-AHgp4*&EiK5HFF4ZnW-W-$6gl~l-;15{h4s$5{zglI_$d0lsrW;GtN zFxdZYj=#beMQgo>nMwkrO?~!HRqwI-n4e=dHqI1EFZq>HF_JXUNZ2CuVOGy?%~s0bu$>okTpxge^FqZx?)sq# zNFc@-;swtWH|wZ>AVb!^s+ORI^6X$&Hp&EaY0~oM=pDebY5M(s0U#J=uv?{9MK1yoHoL;#%5#iD`d8g@=)O8 z=kA9QePYfbU`I3w!Th2e^b#+aB!gIN7F)MFQBq9DlruQiv}6)NLqjbv-G2OYb>Pj1 zV@ab{%R&^Qiz=_{9dmH6*KAaG&JSt7Sxda&56c7QtRLjn2_3P}9!3SFeH}7pe3X#( zfYZ(Hn|x6s5g2TqgQKy4($&i_72jt;tR>JakgLFt9NX=b zji;xkLV)Ij!PS?z4L3VBe?$3Lmehhzn>=Dh4C)JWSg9e)lIG7+jpgI}(h(sq%OUeR zM0yzyViu|b-4*kmqbM7sVE&HtRUeJ>YIdG+uIii^GSfmxWKYCW6C>f}%ejN&G zkV0EW_T&2Us!V~e4Fl@+IXc-*J>+7nq%JV`*qq#6E-lR+amkNWuR0M-@wwjgG)@#5 z+1;Fs)3LH*W0Q@su%sj;gqfsxj{SIpM!OzND{-d_9hEj2Z*fLHKtP_UheZylccX|n zCn7mBLlr4?@U!gKPfu7V)Xbxn*5s9T46^OrZ8s(2R+s05{Hy|p5}r!;PPRJ0xY`T% zdW;)x5MoeJdM23eWx5$r%!+)cXjvuX+0rq&^XY0lEiD2JAA){YtY)v)KSc30&Hq-8 zTUKDqGFXe|kmPzs$j0-Xr|uI0H|hW_I0awTLqE?Tz|oJ^X*9oyZgzoTo*vzhq!7-|TZw?ywK$t;yQ}A9_vV$H zg;O3Exu{;~T)8EqTPO1mTVP&+<Hd)Ec3u|c6LV?5X5;y+Xu$a|)-9mks z+u3f!^73mqwFYs36LB8kxRV;MB%Zjm>5A)82c4_ef$rQ@f}Uc>&YorC-JgWDYM7}* zYg*Q_4|_KqVw053hs|NxZ(t(=s4qPGJ}%cak@4Et#>kL_0Zcrlnj_lDs4-YMHA?Gc zjKrb{p)li@4hcPbP$E2`F;kpuG)TwydAM<8?C9sJGAXwMq3)$xVtXFo=GJdcQI?5S zO+yhV`7)d*-~EyrXuef7*EW2KZV!9a3dCC+Ue~TzcON0evg@59dvTi$A%U(%>7SS~ z^j1NXvgfGoRI8#qg$eKTAQ+sGx7>9V@m5!EkhMy9?$T(QG_-m5#R%YgA`sMeKF(bf zebs`7JoI0Re;r5Y%)c&}dE>bIG4qtA6OnPY^?TGo!>fv)FDzGtd=AI#s;DXGVgppu zl~f{-RX2+v6lz+pH<##8;|F2>>Hf2%s@#WX3%|PW)Q`(}BhOkWPWYX$&37vM#Gp3< zP4ogdpxp#iG`Lc-;|e3S;H0SC{=9ggFnaTBB{mjbZD8BmGDd7&t@xYgVedjU58tYi z@>9}-x{gaN{m~uu_oerk5%B^L23o!{M+SHQU_dwca=i+%Jm)g3p^P0I6;o<(ZrJ&m%(xE7k-fSB7S36$IpTrWkZd~J+#!*$K~ z>|lJ76wX;G_2u#F$|on#R5kWn@C##Us`B7NDG%a z0jj$MSZ-lr_ll}Uk=|`cZzmD&EV2?yNOhWPQ5S50r z4?%QyyFb#96yEBLY?U@*Y#(rV)Nzr`D95K7ZOL>QJCRo|e!@p4+20+GjaFa FZO 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
5x>ULG&qE6URQ=k#KNL&7hQ;H{^r;^hy6< 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