From 345d4778499494616a0fac8568fbefa881627285 Mon Sep 17 00:00:00 2001
From: madmaxoft
Of course, there are more interesting test scenarios for which multiple biomes must be generated as easy as possible. For these special needs, there's a CheckerBoard biome generator. As the name suggests, it -generates a grid of biomes.
+generates a grid of alternating biomes.Those two generators were more of a technicality, we need to make something more interesting if we're @@ -117,7 +117,7 @@ going for a natural look. The Voronoi generator is the first step towards such a Voronoi diagram is a construct that creates a set of areas where each point in an area is closer to the appropriate seed of the area than the seeds of any other area:
-To generate biomes using this approach, you select random "seeds", assign a biome to each one, and then for each "column" of the world you find the seed that is the nearest to that column, and use that seed's @@ -218,19 +218,24 @@ either add them somewhere into the decision diagram, or we can make the generato this:
To decide whether the point is in the ocean, land or mushroom, the generator uses a DistortedVoronoi -approach where the seeds get the "ocean", "land" and "mushroom" values; special handling is added so that a -mushroom value is always surrounded by ocean values on all 8 sides:
-To decide whether the point is in the ocean, land or mushroom, the generator first chooses seeds in a grid +that will be later fed to a DistortedVoronoi algorithm, the seeds get the "ocean" and "land" values. Then it +considers all the "ocean" seeds that are surrounded by 8 other "ocean" seeds and turns a random few of them +into "mushroom". This special seed processing makes the mushroom biomes mostly surrounded by ocean. The +following image shows an example seeds grid that the generator might consider, only the two framed cells are +allowed to change into mushroom. L = land, O = ocean:
+For the Voronoi cells that are calculated as mushroom, the distance to the nearest-seed is used to -further shrink the mushroom biome and then to distinguish between mushroom and mushroom-shore:
-Next, the generator calculates the DistortedVoronoi for the seeds. For the areas that are calculated as +mushroom, the distance to the nearest-seed is used to further shrink the mushroom biome and then to +distinguish between mushroom and mushroom-shore (image depicts a Voronoi cell for illustration purposes, it +works similarly with DistortedVoronoi). O = ocean, M = mushroom, MS = mushroom shore:
+The rivers are added only to the areas that have been previously marked as land. A simple 2D Perlin noise is used as the base, where its value is between 0 and a configured threshold value, a river is created. This creates the rivers in a closed-loop-like shapes, occasionally splitting two branches off:
-For the leftover land biomes, the two Perlin noises, representing temperature and humidity, are used to generate the biomes, as described earlier. Additionally, the temperature map is used to turn the Ocean biome @@ -239,7 +244,7 @@ into FrozenOcean, and the River biome into FrozenRiver, wherever the temperature
The 1.7 MineCraft update brought a completely new terrain generation, which has sparked renewed interest in the biome generation. A new, potentially simpler way of generating biomes was found, the two-level -Voronoi generator.
+DistortedVoronoi generator.The main idea behind it all is that we create large areas of similar biomes. There are several groups of related biomes that can be generated near each other: Desert biomes, Ice biomes, Forest biomes, Mesa biomes. @@ -253,13 +258,19 @@ the nearest seed's distance, but also the distance to the second-nearest seed; t is used as an indicator whether the column is in the "inside" or on the "outskirt" of the smaller Voronoi cell. This allows us to give certain biomes an "edge" biome - the Mushroom biome has a MushroomShore edge, the ExtremeHills biome have an ExtremeHillsEdge biome on the edge, etc.
-The images below illustrate the process with regular Voronoi diagrams, for clarity purposes. The real +generator uses distortion before querying the small areas.
+The following image shows an example output of a TwoLevel biome generator in MCServer:
Note that rivers are currently not implemented in this generator in MCServer, but they could be added +using the same approach as in MultiStepMap - by using a thresholded 2D Perlin noise.
+dM9yzvOm|)y7$^9 za~?RSKQ>rsJfnbEtQOgxef^9~imCeL&Rq3ZouCxCfSQNae&4T{@t XY_Tof8 ;e9Pxz-w0^6f2 iq*e=6D}Y-uHF(U& z3sw1et(6nb^G)eE0S}a(TW?rN>G$NRop9=w)^yJ}-mykU<04C~Kr?iFvz_#Tj!Nc7 zq{@_I@6}hP8s?!%41&&DE_xL6w3a}$9^k%UOy7HwGt1~Ipn6Y1+gMN(951^}(Ux)Y zW_k{ 2_REbqmhZYnhY#At0DiD~4;Zr~Vde zW!6yHw4m$#_O`+AB3*9}*o4d8&)C2hnsR|cN3=+Wm_J0|>{S<+02i%>F6DDL3%F|b zw_hspM&Y(+%|x$_nDb%mgdbesM ?n0|IEdiu%KJ#gux>5#=Vv>!x-zua_XEc~Qqcw72*fLV zXsb(PB6pQH#_DU;6*Oymw8%2lhe~dOWLlZ>Ub8B ii6XH@K2$ z?Ae@wdz!oy5_{ddeO7D?)oo}L2ja6h6FL0sf!Cx2S;#pFL|%n2-GxTqdTuF4c{=SW zJOVI;=}}u6al3z%3_-9)T9EAwR#WMLha`Eau(!vu*Y7gBm_B#cbrc@Sv+sIB_7iHJ zLQlED;9Dzu-gxnlSKcFAY%P;bw)Sr~0 &e0! z_D~)HzAxDKETD4RGU-xkEY5u6u3c6&KIM5(@vTF2?Q>PRK5l0owAoA& dBH>K@ zKA{BSV)Fxs< 60+Dk%35tb<&aR!1eh2b6H>C|L!m{=oA(-^2jZ0(OePYJ)!Z6aePi|bH1`z&&* zAz3VYt*qS%joK8~xlyRm1DZ2V8oywF8Wg)m91G;EE$JI3z*|gaPYBy!C@@~PD{quI zY2By(AvnDRBb?q$u)oVKq<{93w_zAJpw9YQ*Izg*XfaPz%a88M;s})xkADuKy1zRY zv21It-oO{=tq@H2ASon1`MccY275~w0;3O~V$MxZXLLyra*G!?dEfjV>a@v{qwB8k z7QPa};dVE5WC8J&?m3<#vXlI=>jk8^I^4vwvnXB(8=2VsD)mKLGkse&DsVzRj{dvq z6#WhyWwBKsDm>u1jc@JieZ#{F${@A`;T*VRj}#sr1xR<`9m+29*xA0i)-*bo@;8o? zVjYNG;-zslrFSyQo^ycM4S#BTTO7mO 9qnjnr`()Cj_37&x{cQFwO7gJ z`-uU5iwEIuxwL1p5wO>uT+MNG3wt}*KE=+1xEb`d+qxRx8I8UbG#K`5j?>Die@Tdi z5kuIAq=@QsXJ6zb&o7D7zoL9XN={B`+4=DNItIenGBhu6uaIg)_KUaE@66>+d)5~e z*%U`Ir*EU@(OiWLrH{qF|1<}#rT|9@IH*zy;&6T2G%&eMEPrs(RlryLqWRzubiAh) zwMo%>!c<*aKI8tHY8u3EFxpNO@D!uwbfa}p|CCY?<{K+?a8@86hfecM4&|BLWkoIs z3fhd4psf;$DH?GqN7s96BxL^^C&xKLV_eRle>zN~ExS@KE`g{U8qy zoNpo~p9XVy$nQ*MFu*2D5UIlj&Z|E)%>WiB*PB!^wsKgro*S*85H1o>_hi)O`7KU7 z0-Ee-Ada7_FL;_(!3Vz7#TpEO%KwP+=6T`ySJw7$mmwmULY@yzWNo7Td; zRtw5Lh6w!?v655hH8x&qjcxQ=jb_{B0gmq%;)d_M>?au=MC-3d9HlTHHm$ZWlKJFT z7&}^xx^}eu!6>!nmV9<3AGRY%iU_aviGOQo#Rv@6HbZFx^uT6=iyL1yjlmkTbE$po z7LykxKVc+u=7V;%`ed)Racp9#10If7%1R$9qu@?`SVv9w)C^MCw)k% RM@H;L#2Qf7jABQttR*xb%a`-Y+@v_uY=f*>_}(dn^+pceSqwaPEo zXZ}KGDQt!JBx|q4zv?C!yPc{hM8XMy7fAJwfNu7(g5oVZNrUyZZz|CTCPN#ixNkz# zU(W_pw;Tn1E}tEsz f;HuM8^?vj>`aY$Q4z*nm zN_* DK$?WE4BaV*xrYT+eOJ}_ z70p2IqfbQ?WE5HtqlJhMtg*C5EX>GN|1JhHXk$Lzj@@|ncH9SVi1pMz2tqe2Jxl+S zGbEJJ^7%_qt3)^;P%{I9)yurOJCQ0FpU>F`W;Bdgh<}5XZT52~DEpqsndsIGvt}l3 zO;+Ma?ie?6UO-DbT#)-D2}MAYvi{`$i&x4XS&yU}b)hOHZ!>EslRbVQQOCjU={ z46t+Y&+QTb4dGT^T|EUC(G^O&_BchO0En>W{X5 B_C5E7>8JC(y;x;TR%2O1lrL!DzN$&vK(PsS|MO0Aq18tp=?NEw)8>bXpya z+ !n-ItuXtvzSBC$dMPm z$S-*RuHMc?!y}3&*YSFqoxEz#*<_xgD*d+qPcG!i|H2$uVyiod^BTDPURy)!f*h>` z`OVWHy}Kt}$iqokpk<(3wn;$gSF_xViD_8n^qA(6yyVt&JRN+z$q#Og@M&?OfBuLr zyX%Bzf@Nz$A`TMW#FLvBLDzcMdWckf8QB-=B%j99t|%?)7{>AlfLHwL6@O0y`+gjR zYZUqVEZ(yX>QT`7u!*nKeqYra7}{}nF&W$nvW9wCw~t2XBD%*%8XxSYj$A61qVDQd z;1q^Eudt5C{IGPnoUG#4)_BvCWiTrwN2?_1hvCl`xTVHQ?MNDb;wOgG=^y4cUkDGc ze-wr@E(+rCVTBtKOl%Ahx#Tihh ~A#WjMmznzRyP1dX9O>%`x+lo%Q=W`>tGU|;dRufI|N zmd sGaqqOX zH4!ragDnx#5|WzsxF%R)SL)YMDYZ`V5+XqPUiW`DdqWW6kDTt$4bNd0!at*Y!9m4< z*ITF0h6;7+;sy-c(LYKmT6qf(bQ^$IC_XY>2j!?Xo+DpXP~)D>Ev82rEKJ=t5S*>_ zh`*Fn7Cd-Txp_qb4?)z_WB-6u2N8u$+-4Kik<(8p^ndiH1=uQLsisTM-7wHz59^$j zc7rIcFt^~eP><&4{2ta7%rScs*pPM5M7A+^o}^~{O!Nkv5}KxuV6)*$2Fr_dj1YKh zjb?kw`b~(y3t=;gOcD4g(*FVhtP6s9FY}&s2SFP`@!~R3CZ5~LVi9zQz7o0F>JF}b z@{rf6@4Y{u9Y#~(JkYW@d4Y)Cj89p;+9Mc27VOkeG3@ v(%NzXR&wz7cGa$?Ais)dKGYeK}o?iGRUY&TjM*I(jY0PwFDzsV&q7 z&F^7T#TC}OJyr^npgz}?G=o0pUKTQ%XLwS# Mj~WFyuj9B*mftcVqhc`pa&i{GsUeg*+bgcJ zOKa&c#}ha|`&ighJJWr$AP|FNIkkM0mSp%s$@6P_-xYO4159+I2M_9c_}kq cz43l z)iv!`+mJLv0ssQ;3y^oP+zWW}mU?FM$DpfR-JsmzZ&XAZ0(v)@!lvD9g&hu-Q3X+i z$iy3yD~8L_TAhMUi_Z(GAj`EZpNtM(*FD6tw*6Dk{m&MYjlJ??HDXg3C4*Ue9(uFF z-0Ux=_D@B&N|MUOF5Tp_yNk_of&r>>(&B1Dlmu*o?QM{V=3VLYL(gBXy}+#89wU*O z^EI-Q&A0g~^<}+JGG|pK-5Cm^S+Q}wN48~sS@Qnc%NO6I`hr?_dz}2zP*E^I06h`B zNw(y-)!Bn(=X{)L;Drxd1E9nl1O!p^l>HbAvf^wyBBwM1>zzM{>B1PdPMPdubdBv2 zMc9 @|aT_&)H)6?Q|{@ok(rHoGL z&$)yU?wBraQ@ffliA>JH_~?du>+JY;sxJvtI03+oTB0TIR$2WM$-05vG!l@2!$DAf zl@l6NqqhIp0a-g!JfE{%?OQM^HXq=I{P@^N|6anFiho$IB*BICsfP7DU^7>U`PT8l zZhFv9!rWHi%YlcXcE%XitZMQPur#8mut|lmB!AUzBl`PyE4(dd56i=tBLYc{pQaLv z@L=w6&6DA-k?Y7tQV<@+`xip3ykoOR2xBo)S&Jm~?hO#UpHECGKp~!hVGvL|K%qJ8 zYSA1wIah`#q~f2wzd8-1wu#VQgE&S?g(xGR4|!hYvQeg%QjdRnxt1M(kg2MF2wA A(r>|&73*#MqI@Vc_@id|V-bi=uAKmr; z_X-B~t8$JP$jOS%QcPbEI{*??V&rDerz2N5f+4>_G`1tLf@z&y@WI)fOl>4{^T}^= zhe?KLk?uMIF)zwu_UmrfDZ#cj9wwJl^@TQdhgz&ofCD5?I0O;OXdbcTcOGHAKu9`5 zz|}r!%@(wi%oytx_w}A`?HZOYus*V2l$h$jRc z>aOGYD+sK(2k6vyzVI(sQvUqKN2;x&N4P9E(&ulU DZ=L5YeKJGYUm^YF#&VDEYw * zmGxBLYH!kClYYDF#}q!ydvOea>*cqgJ7T{R&%L_c!O@#W7_LA64d)+m#zlPa-vW)Q zQ~Y6zv+Ht-(4i9x6*T|+YU=HoEH(@}caec7q9r-a6hF`Ke#|k$7;c6
wmVqweaIhy1e~pqI@oRDe3Fe-F&(Wx8fq*w41zqiAb-~+!4j} zf4y_W#JkkUkPDxP%&%QUlS;OmZLg KptjzkiwgW$c#l`3ZYPLG<%Bgp$7f!`0wgZD}EN4}CpU&_RxY zcOo$*Ja~e^DK$uqeRmQa`g%}G@ZMuBizZXwnIUN}F~UnS BW)ka(#yDEFWq|=}s&18Xwis;o()zrm*5K8-(56 z&G}12WxyQY#W$g@HtRxJm-7ov#b?K=Rd996hjI#yeItR8tJ=OL-Mpj_Gk7!P_U>H# zlIpmkRsd3x;8tMEb4(%owPIbw2(Ly8%mS1@=@P6OsIiH1!!X?5O+vb_*6e6&@f5T! zh)()%f8pPLvG?i8%bK+V_|xV{< o{$N_<&zG!IH3wrjRCyyb?8-+Qw%H1+j^ z70x2MB0F#@sfZ3|=lyD;aHeDjFu%ke>ns79=+$_D@;&$Q4QYo=agox>RwFwD!#<6W zt5gO#%x+gfkx99k=GBbJrZf8qFoYU62+Lb#+=ooz{=A{>cX>#&at{Ms@Ynl&_&B$9 z)!H!Egxs6Ujy?!D-2If)24pff->bDwRG%&3a0KdaEvtP(=xnR%X}wx`Fo`uIh5WJk zLzenHfgOYYuQ+rs>YX!j-^Es4y*>*&;^rbbY w(P#pj aI_0>gdaET6_4^?Ly*U2e$te$~DSve4}zt$a9t1jr34fL)Z z&t3|kOwU3@XI+g&|H@pmgN)|sW&}nZ_vq23G$(|q` m+=*K>}krrfcDZ|1H9JsM+8=|@Lei4S-N69?-D^HpU4RN;Ix%j^p7 zp(q#>*Z?-$k~_{1=~@VH`q#WV>~>lj;6HjV=Q9m^IlCJ1UZ_G{l0R+SPrLtl8yB3~ zdT$B!yx=_N<-yTg&^B}qMBIhtu `m-1Q5c>v#U zQg3r7-fG7XtWU$*$0vx+>Fe)og?Q1-5;Gqj@_X*(e#&vjUoHs;9%0dJ<9xOB937dK z_S+A2z)AQZU}rgTa6*U1%q%Wrx95b@R|b=ZCQ(fkfsYL&+E6%LxJ_X_6nCRUbm6MO zPXSesv8Acfm#3ZRQoc0`77u~ok4>u5KFlxv!`LGcuXY&f%V8JpI?Dt|4*3}V)Luhh zq&S*$YIMb}XMQ3**=@IACvG^4*!IO3@kYzF)YQpn&S*JrT}EfN)@07Upra{Kf)6`X z+z;s6Xr#S~qqRRkQFIqrh(Y0hzH2ebTQ9QX>pnTBU7>DQLHg;RlA1rG1pj$nc|;=A z5m&fkyfWnC2orEEGYJx_mljx_M;bi@;&!nYtv@u3y$!cQb4_RL2b#zYd8DXniZzy< z3cIkB{R)j{DI@!vKl{^&bg@1(Oc69}NOHtD@GDeH1jvgkds&;eC_+wExxbzeauP^q zt?lv)XNT2rBvk8_5A1mTWK00R>GPTfVSL7rulE<{Ipf*`w*hFwEdj#b?NR+HgQSiK zmhw4c%+J~e1PO6Y8ykxP&bQsLw;>Pg2e!Afn?{aOoC+L@l=6*+jc-QwR+0haH=;0{ z08*n88;H8`s&V;vq?X&2>3`#&w7IwA{14L#CgvUir3U5bvS+v%d6?8(i;BCG*VHMS zMd`a~()&)5PeJ&G+>w``n-H1T*6!pu0xt2Xr0+8#H>4nG?|9g~T<7OK>YksQmn2SX zokQr{e;8CX@d{QelM1n9XH) ?4i*Lf =^7Bu)*|A0~m3kxo&x2)>^n&5hVjcZucGopMfb!fzlE{gX6Jx@l zxYjDpRq@R4`wzh`&=5K9Xn)<}6>>pE%4bDSz6s+g&F%bLUFk%rE|4vnHu5lqNc~v1 zxC$S{i?6^yTPb#0g08>(@;=J9zKuRgWL%aVD@Vw>jHa`t4KN^~W^V3aV(a@FA)9~c zLlQNnJOC{V5hyx>{M#&5q|Sg3w&iCR#(rf=sX^z4D>(IOCJK2czh4Y_Ht%-}PAf*_ zKdmiEkKf|XHgQRGm3;*0w~Y&&6fQX#t520xJz#0IEHoX|oIGb6*n2(yybZLUThPRc z{;!POpRe&w_)Y&ONb}DUy#a1&AiFZgQ~r_mX1f*zcx<#@@NM?sns2n#KapN&HYqs| zV)Xi6p`T)M;C#ozD$yjt0s*OCDPt%(`g0e3U-vnA&m8O4Wch_{d8530Jo^!Vz~*-0 zGR=sr!e;94Sq1iXZj+{>+98L)SXMa(28uGRq_-yXooX9>uM|${vJ~Bj$VU<^502RF zTz&Gp>&w~#ghB-i*~7VW4;uZ`7{R-}9KXc^jf(?NjY^z~EvQEWOSy UP)eno_eM&gDd*1JhGyd>n zq4}4@%rnTa(u+%xlX!OUnNkKQ`byLzPBBK0BSSs=)c*2%g!q{4Nh~hlK$0!J^N8uR zU`dZf60#7I?Y2;4Vx8w+L%78qm;SO G>phP>v_|v;-t5A{c>W@ z4G21;1TIu8{N!F5o9kx&GRkuxM4&*6wr`ppBp)hCIF!porzoS#vB{bJb|{Du(Fi|t zxym-6m|ziJ#KV1$HMze~Gc$!t_yTHEwA7DVVyx2kdqTc;1F7cQh;mb1f< U_Vw^16Wh2#%g`^U0Ao3wKhOU*?uQgeNsM+5gr3fiQ?yi>e5taH3lZM~$_Iw3N^ z1*$+jEa)R=xgD$YMVFuZ=DJPIiz}iHQwW4tdx)HF;DDKAY2YXjsCI#>qFkOx79NG7 zlk@c&UA-T(!PYxsHU40qt82l ?@6&W8=Tk`F%Z>D4=aON2d!VDY` z&Eb~yK~2#2kd0J1Qz!mp@QeS$*;~g&)o$;@Lx%_=AR(oow3HwnA}uZ5B{6gkIfQhB zfFdcKBi$t_DBTSM4BcJ68=v#kInOzt@9+I%fA$_?X7;}CweGd9b*<~3m6T5oeU`eo z=K4lGb^5IT%}|NjbbFn#1c)?6L9adB4l1*CRIJyl8s+tV<0doXD(_2)e%=ms &}SHw#w>}VC2f#-vgB(w*DnD8iD_apv?-K^WnOJkz6&p3)0?}7mY z{!8rCB2k%;vZR=vbI$DSnaUekaO-2Oof&l(J6;rW2h5)!s%+cL87e3D6e6`Y#mW&H zRx>^s3`IPe4Pop`<-d6R|3CPlYnMA{e|Jhycu6IrTXPhxH-oWuIiu?UCcejszULAu z=^@p8gs;Q8O;+FVFc%Ix2{-U^X>_K-LcE~DJ90G;#eaX?M-qM$zuvEds&C;P#1C!O zOUobs`)Z^!-k#sl>{E%L#hL6*zRV{Y8pq$y?(uvvT0_eoB99K?$N_8JNh(s=c?amG z7@v5teZ#F phSZ!q DtM zaj0GPdC9#|);lEd!uNPJv|VA%ap&QaX&f;WI$psadY?n(=9RJyGWS0NU{0_eOIX{O z1bw6}t$rekkjAlaF|}4S ;6U^oI^VF=;~ 8ASo+}ORNCO6J7d*mXss|PUp|RCCwsgrVe0=$Ox*aBS3%R z-gQ1KQvuI>>|skPIFr$T7(0vV8dF^jORvEOmd|;nx!#1bFPIj3C4Bcdxyd9H)fL5t zyNB=rRk4%mK~PH?#q^n^Vok-UiD9nZ_LGyJpn|v@`1ZJPfXh7b4eQh=noNj1yf0}{ zW=1#f-1sFgwnz2B#nD>30o``3MKRTanf&L19~5{ZKu!;mVGoxh3iBIht6F_s{L) zy6A+OK9;Phf8{fIai>rmHIs!YUAHAN%YkX9J8)vqF&V@uA&iA1Kn<^Nyivn;bcmCr zfX|1JVfdLu-qo_uJ9sls(SV=eLLPpB8`SuA!c)1tX^6U^Y6yl%nF*@!_54Pouv^84 z1J&9~BN1cy3F?^D6nH5^RaNxzEy=+G9SHVC$J_ZBBS7Fq))`nq+ly@Su>^`!ik8C5 zu4XOAwxPDc@C~LOZ5P69hBqtzWfBRWTv(4T!IhCx36L?7SR4*NPCr4*AB5^jTXTWE z)-P`hz`ztm=3NY3qM>NFU^XkL3&hyt>fG?gh$K$fY&)ndLSS^i71E>`uG!VCBt&Xm zr{qZLT(J_6v*jwvT)E#}GrODm&LebtyW~;bJ6YSu-$>Vb92Ga*tyA-@3`SToYl44* z?u5hFJk*H`*2iz|n=}rY*47N)Th+k(Zlu&twY8M8Tcce%KPDOST*LX(g9snZ_oh@A zRF=8~?R++6;bSkb+sUnMurAapnUKAr$OmE1Jb7X7(?DJCAC(98@5N2nw<1U|rW)PH zmY52ilF)I&d4y8C=1Q*=(!~lzOx`FtWco)nMz)V5ecnj)rWjM^f0z6UcRa|&mEpMG zJ~=Y=V{Q#)t++VYo@lngak>VQ^)No@9KNnR1p15h{=Z(Me21D#X*S%&>EU46HF8-W zj=2VFFH|(ywiUDHep_XwXmXT4>nBdxo7W)W6_-Zpv=35AYCl8Dm$Y9jY!tj#s3q6z zdg{L%)#WG5cubwVcmE*%ClCN4QsX~gre^*MiT{WZ+)lf+WANJQyHDvYRzn}fMZr;T z{2I|4a!>qI@zd8I43*BDZc>Aeup?r<+{e|h1tx-7pNmWOqF;S1-V>VMy1|-Je3Y=E zE_AgGa2%jAN7yS(#O*N E{`(AuqS zus&73>Pp`3S4unVWXK-%AC}L$K#!-4Gl-5TW?z+N? *AGOgl-PKe4!AN6QQ z7Y3i#+8}7CJ;Tx(z^$*yVC_@{DfQVBKS3JvZTG$0)taM@&pjoJi^yCMzEr*8xG#X( zO`6OxE9lHp_^$aT?%>HsyMyZHQz+hkE`>TL0o0VJfp_69u_XTYlYD!3j32bgK3+jp zOfW!Djs!WB-ulb!$19TnT2qzeg~H)Z6S($h3Ggk==_{u7o^x6F%&z19%X3P>UR1XB zO!86w!pWy4RxI;VY1%5X+On|k@2{35riAv6^RAxkJsnnP zvZ(AGX$T=9Sqk9}T=O=9GUN3%#>uP7-Z2pkz|R9+Gj_Z#Jsyq?uNVnd4hyY4NbJC* z85UxF{iQAVG50Eu-vS7qjnLg*U$x`A^byg)ZWl@F_)_-wE|*D~K&8ktMWAmywKV2! zxt~-w{aO*`x*t;}<@uKp{kUtaoY+E|J|UJXA?W>gBNYK5&OGB*zBPyH)jXRw9_n}Z znwNC@0wB++2+nhe?C(om8}fGjh&z>BKZ0fGj-qS&P$Gy9$G0ElnuoBI MBH5cv#ibF)7|FNdq53@k5-`!;IlADp=e8qI%y$EXXFpxMO}yJon#w~xG8 z^(Yy&R`d|2V6{}eX4_We$6vFo`>-jvGd;LB17r=cf1@obC%9?`9vLXJ?~C%{)2e z6&Pc?O8CivZ%i@<5G%Y`z@yTET1Vk-Zh5Zsh}%Dof7{xEn%eYn^J1V8VUvC|a%}mp zF!c}X{>Mz zi&!b7I6M4+0z3IKbgzGM%A{)C`G=tIeQT0FXh5)VU!wri>Q}X>%qw}zDf#<{SN#wG z;`+`9tQWsYxixse=XY6;NWS|L8P~={x ZAp*A1Dhl_eb7 zu9yaT;6Fk`kFP#P(wr&Z)Mbuc5mO~D-X+3QG9y+vMY9^U=3u3fs|+KVyk8>7hNfA< zH?*41;A&N;kNT@{)C+i;KO17c?GtTPokZOIOkDfkT8G?Nz}pMTSf4lBWo&-fV@G^G zM(LY7qrh)TTuzL88RLc+Yz(T-q1S2@O-g$Dkut@+Fo2T{Z35|Am#rnxdvl9J yhdV8oGNV9)~XdnMsVOATpDf{P=^-P@`o(^FMnd1y;fga^Exv@Y(t z(qGXHKCK& %FcK~0-)|T^nSwg2!}7ENEfLSs;64=x9*po)3UKva&if0hz@yn` znl}R{(acYEYi4~T;|s;XjKlAVxQ|{P6dqE&IE!mZ!*7s<>%N} 9@yt{9AV{yk 9e;=Ko%-UEFah< z=WAFMZ1@Js;gQrRPSnQ0%is9pzO*JVd!>L(_HPLRM(Re1C+E^2?_+-1q3;pZ5na0| zXUW%hU8~~mgqg39JRG@?)Q6X?4Dh YQ&>6|5YPD}JMoc~B~zy!+AF?(?yr07Mi=gsFF*xrD>e`64OM#* zeLbL{dZC_qW~*H_UNKTv#jhY4o~n2OJ>HmJJ&nO~s3&``BrYxbZ+D6Ge|QZf#pC_L zcbCAz5$+LX-HU2V%iMe~<`!-On*w2}M?O}~=AW`>UfDW7;w4!bNcMi)__}gkO>n8t zO5tl-lF++ffb;Lx2wFz*jnhNf?|Bv16)iDoDvLR8YoMieV|=dOtnPm$`|+6&J&D?c z^y4u4YNS}KMBx$j!npO2)vb>|!d$X$^gr&bv4vv1RvzF}(o-7n18n?{fm58F=>p%8 zW>}Q4 io4KuW%Ng{Bt6P>Z+a9_ZUx7=-+V)+)w_KmDrRbs)5 zGg-yuiSEu@y7p_N7|n >#TJ{d>96EOk>$kYHY5(Gxgcb0>R_Zk-!>^ni}|wTN}r7A^Lgl`VBswdS_T{a3S? zFpk i*OxNMs4mtgazFnS?#}W2;A)aW|5Q^n;ix(US2mE9>UB ?uR zIgy^qjZeKm^jQ)(p}hm)p;`xh?||^;SH~sMVRJk3fv0v;;C;ex_9pdFI??|AXX=AQ zhsR$#@;$*ds*2m!g_ymRsmcsI0C!l!TXkcFO!a-e_)X9=PA#=VAz#2f^zhvpGV-s3 zu_POkzzt(Mki>4v@u3-^$o^4;^QweRY73Lga*oK4Iv9gO3iP%BkgGe?(E&Y)L&d>+ zZ{T{`bx=4mmvqa|@%asaE!e1*Hp}f7h^Sz^&%2!La+-C7mcN=xL#MSb70SijWQQ#w z^%ehydOW{9jNCGqtpJ2F)o{4@BdI@sX6_#5J1aFr^5Oi|5lp<$oi@Ou>T4){{vTzD zZ`qNUNzy6GT%^ohAa#lo$Qa3F#xQZ8;b`mj_WID5E4Sj_e9N%xiE>QUst2O68j(#O zO47bI5d_JE%R $SL=aO_aURdK$;hgble}h(VSv(beG q@LP)=S>v`DhapE#0aDEiXCVBG5qoWx~SfQ#eIY z_=ZA^qo6|GT2UKpokjsXHd55_IXx!(FwtCPATDY72ru-8V%+)6sgSDDEsmeop$-%- z`Pwnn!(LM&Kw59m-9{x@x!w#aPN?<-jl(=M^=T*|i8^B#6DUf#lqL?cYoa-G%-O&; z`SNtk&LKVajeR)o=9#x@_miKX5Knwaf}=F;$ Tv)~`2D%J ZNsitifnA5)#!0 zE>f9+q|06&R9_oqzur(+j&CVzU~2mL(`tTGkt;0Bu+HSp`=k5;M4BpN2E=@FGjzfN zuX!$1dl&>2hs$dbfKrW_`EIsPMCp5w*;!pOz&vH@Yv2j&?HIquuAlHSR2a5=*PTTt zWyoaeM>@bvmf$dtHD!7nsEi#gspuZMaBMAPduJmgUnACP@=G@cws4(S?ZTxxRB1+( z;yWJBTG=Z&piXp`7;Ny+)RAbV!m(vi66onnsxhC_#{%0;SM)zkw39mTn&E|GkO2J9 z89x$aOzH#7oJ-&ifS~bDy5JwC@ViO;!?}R~9`;Iz+M<^cx!E}4Q?iL$m%ugW#dzbm zzxRNBXDZ`hjuDDr;UijjmQU0wc;wqp(A?)nC=HHGBi*&L;2g6XxO!*7cwIiH<0hXo z(mz+m*)7V^^b24<0KG>XM0D8iUnRZYxABsw+VaIa$7nWkr!9By$|Eia@z<}3!bH!^ zu%$TkWQvdNg!8X9M|x8-fnFl# -QLR@kyL$vY zpRC{91Mn xh}_7LeEayvRdlG@dmF;Q;x^I(xNbu8i3pKF@Zx*(=Vme5 zj (yV793F-S(hs&%}bp12xrm6$^aUUA4iDCRFGLQ_QW_rGkva4tE> zD6f{)mNEc})FPRCL|kuD=H6v-xL~11$|L9VUNOP-gPH&pgiW%D%ElR&(|iIQiT-5a z??@QU-jydhH3w;eY~U5> b~%7d`RjcVgVB G9dBh(l^8^l#aYL;oF&Pd{)x6J;mHpK&BD&!JlVY6%X0+ z?WX)CbNl fupx96nZ(T9ZaF{Ubwvdcy_#Gx@gZlwECqu8l>mHNXGJc3we}>J?u~ zxVqZ*d;9L4+!`*MIJN&LgbjB0I`eB+-kFQ?v~1B}Tx6RC%mGGxox_rL$@;31Y9k{B zZfn$n{}Ys+wA=fnH`M>8ilYc7mpLXNY*+1$n_?HPX<8jo=CLAfu7>B6E!{x;nU8z% zM5 ~HaAZe4ti8KW>VancMg17- zW#hPT;%H-(J+7U)Fsm=MR%ZC6otzWnVcvZltZ8{&l(RW=+&tt6dzcDZ4q3f!BHS?% ze_s^fEXV9T2e=1jinrxUHS5u?sgk=X^~fUU6O<{CJk}l4#^|ZZ@*ENj(}mPVJOTUT z!a7|)jTXZD2lrmo3M3V3s}VD|-EX_!>5na} WB3NS_deR60OdWN{kAq4fhGXPHff7 m)$eDe%SY;f-xC?bE>8vU7O{m=(OYovoVAgiobp>X9F3sOLBiD z@hT{0i$UNHMq=jkl ka+?}jMBGu+}SnR)i~Im1YJ z{7ifz{N}By0ixF?d=wVv&7&jX&88=oXz&f2d+^kuFb$!vsm_vjcBgGBF<4)#sgz*u zi_Wgmn`k!N`E)`9cKo(cM8X(_RINn!dODIpIIBoHUQe2&sIRzv*-+V^etWf 7qt0l-{E}0;ptii4;7+xRatv1QpnI!vqeGZs)hmCl_9T7T)uh|eaxN3#8 ^8AFi1iV3cRtPJ *GU>ffcEzkAQ4h@z*o}h7Sqh z&3mvTpl*t#Oo1=4!~5-NBl4_^C|RVh$Td?Rpfq Y7}2%wd}!m!rS^2#B;>hzAq8Z z1r}#3(zgs=Asr!)+)SM;O2Y(~-3c6WmUz7Q&`SJ_7V0`bRk(CaFtBC**P!69$-qBd zyH#(a+>2X0tfzm>^dXI|S}AR;@o9}hB)(fS4p)>aK2Lu|m@dzYUOl`Y-X{Hv-r=7X zCLQ-SWjM%_g#l$5(vq IB+x*d~JPK^A0bO1@EO9Y%Tm zi6nk>Pc %I{GrGs!E{dl@{{-=dYrfcJNaDIogvu$pt zgQ|wl*&3d4suu*NT#zL9PU~$NQ4y6rhRR5qR<-KW)G)(mTYzu=8+(s5l`bY@fYn4q zTH~;5tX4m8&Lrx2?1RqvL`dsViGSzLx5cp8^s5#InlIfy3_PDFyt3F{+2}R}xty1t zISa?Xd9cV5GY32$>f6V2d)TFN*S;MSZ #>JqcO%+O3*G%txJZSaa>EQj1F;_Qa zL1L ca4-2NrX _Tyq5V2m~=GXecxbjc5#o=V_K>&8 7^S$ >CafXpL|(QJJ>}bL z27MM=>LxblcmRz SXe9y-<7q{KVwR|dY9+)h`>0)*S#nmn{tTSML&uBjkze?YULFZcu zA_QG961ZArK3%#eIHSrG;UQDqop3XQKZ1dAu85vO)c+Io)i}cz({>3*N{3+PC>M`- z&CK<}(*UL@igB(|j^ZAQc(Pv-Ldof*Ey$gLNLICI@W{+~gfnD7@YT7439YXzbSd*J z$dL7-P&TJu)c4J^D=# u(!&Jx@10exB=!uwL`G+SXuSV4 zX1l@O6{KGwiA5LPlWtrC=ntftuMqXWe5*>$2~x< 3DbbW4b#gn*r}Tr8mNHuJ*<7I@Lq#>zE+ivgrX5{E`amn9 z{kB@eBTkL4AvAhH+6~%)v7L&@c1RNn=N%TZv-zYh<}U_XuTyi?_p+C1)3|J22Phcy zuwUfERA6M+DFXpx6tf!dee%RQhaO%rO@d+E(nbhd)^8++y6Zr)!_@bS5Q^ 7#O zdBAjH9waYxh_9DQpu^&PL-l>NojV&(|3Gjql(8h&gEGxfaHI?Ce!|5C_91TE$9(5-KU*R+?{vJd_^| z8oTyO;9%k}dZJYHQ^HzD5N%JXmSrOJntlq+>r{nm5fV}#O_%WNxuD}~CXcU)pD#r# z6YZWAmX>Y+kOy}5p8w1^@P$QgV_K%Tv!Dezx-NGs?xdP{G7MIn!Fv=~B!V84JSRkB zO7a}`ma=w2?gPzc{pFBA)@^W&O~r>B$MQ#6yqE7>E>;^irH8GK!Z3>}rXkzKMkE?= z9VE52;!UFh^|H9fY|^*tW(elnPhxD! dV;Nx*vnlG7-0Tq5kG!kR0%NBaTu z4Sw gtTdOd?aa1p% z)=rz2rOg%R@X)-%rG&SuXiV~LO6H!MrI{U=g4O_VK}LJ>>&qTj+=d0fg#4qM3Hi>Z z#;)~~>W{88`KV@8Fw6ZY{Ej>bmA;>cl*zrG%S`qvC7%tvW p7>i+;w!8@~z%P6e zb;KN432(7*XlTOYYM`l=YgG;nCo!^&R<4R2UW}>ZFUO7h!~roB@ {5B{V!Jq7!HKn6rpYKZ-v zs?r)d!^kh}`*!k!3NFH_EQfcBe}WK2a#TVKp{3#|@_h(@@4m7+%hR#tZ54AYkTc_1 zpH~@_?=)!-@16Da$9)B*;SpQ3o#Mk`1I-sGfJoL&UiRalWw-B1GMF z`wi{5L0Kv7 rIOXqy(>#rbc?0A7G0?i2?lHm zy3L3S^-q+$83XgLtS6?r%)sRL!WpCbazBSA> h`kW)Clp%Y|c2j)Th~h!j-=zS`=%)1{L<=tkUZvGjpON>i0e$XXAss{$W>yUWl`R zOV!Yfe5+B&oqEa^oTU9i-kmG;CD&S2oo-iJ<1$>3a3CJyrA}Ylq;6`+!d*eD3QTQ- z`_c(?B;8y?!_?tosP-t)p@dZFxx;bwPZ_%bH}s2_%d|mkKQXD`%-e4N$ni`)1@g4h zOGW?Fn h7JfT2d4fSll-v^e9O`>bR%C>k|o$;IR0^Va=111@MUtZ-Aj64V+DYX(ie9? z#&*ON*Fj00bhGYgdglfaiAljUz=YBIz;C=Qp+>i4vnFcg3>smp`b~RQ7fWjcc<=vH ze?DH?bJUxj>vWqXnuohj4AZ0u)2=_L4>%v5h7NB5>Mtx60beM!&8T9d*1&6I$DFM0 zgl2QXG5wO#Kd66UWyrv6!sa`@@;RouIF0)W66IQ)FF$T4d&AebvYd_2vWShhk5Y4V zC7j|B6pTfNn *6MbX@EvNg6JNofDN?86gOJjTxJqcObS;7>9CP* zc6xs-jv&?yym>Ck|IEctG2BcjwGtty7C7sC+r8uWPtzZ{q2Q()7HQ+i1k$ip>Ksg+ zPlu_(IQMnlQjxSzGM6~0kL*FO^=0f`Vlm1ES%j7lB@7nP!k=(#-ju9hVC3Zv8EFH# zrO4M?)2f9%w1{vssm4cVC7y4+!Oaa_H%~W*H#}LAO5)jKo#^7YD%gPtEFgP J_8KcUDyl*s*N{>huNWU~>&$&B1`AQlJ}9)HnSMZPcIKTrFV9#_ROBvB)W0so zJnW3B`+a~HZsi|-EqUDG1PTQCVG8&$XaJ*;^=Dy}sN<}w )jO*QYgNFRJG9C2!r0o1YtoK`KX?0BR8t$d%JCI(xo1sf?Mj7mtTmLhpS< sP1a9>=BUR>Sq~VMvl8^?}P8`ziA9D{kaM9YcX_iFA zW+j8zq_0}K;L`PXnaWcJ70(ho)wKdo4)Ck;j+9#ZfnD`7$c{P`Ly05+_D`*Tkd}G* z;C+|=k9>a8M5AM|!?UkgoB@aXAA+(-w9XNvGd=}a0D}{er1Ytyi3U8`$;=WGp~%om zc@7t3a_vgWoj6LU^lcv6krG!LCq-N_BK(g=hMmlPlxY(Yo)>9{X`Kap9xW%O6$N=2 zifD>#AQF)Bpt#iSK>lA2N`if|8Oi-Lg&1GtS5=;H-s?q`sBZOoT# YmOJ(poz^`i?~6HCa{|$(F7?SCbDZ%)T o&mqquJs1ez6w>EXnZhYspWrzwZWimRVMZ>dZ%00CFbV%(9nfZpwV{#)td? zu#9?u$u}wb2=0I~OeE+qhdQdY)3sHNR|lyhH(nv3N^#~=Rx=X)YYN85^a)~P%wSK} zon?%}s6~(Ram14%SI2bw{j}`$a*=dVgJ}BIm;>pOXjEbj?-m5u7jHa$P=3KJ1=cS3 zl0l3AnhQ(*p#`IN<;eOC$B<3@t2np&1QAhv!i+OXLsJG{H6DA-Q1sw}$>3kfo_BOt zu_tV<)DrFl7|Tzq4ey8?uu^*_BQ= bRk@dW^z^^Zza(PUzcu9^*T4a1Gpusef2qn2qkG@esQjt z^Zw}`!?aK9ydab@mMS3hP-5J*0exl~=^MOMkU_)PQx^Ws`Ob^#L7Lcm%M9<+QUWDG zIB=RqxrH o^W#Qi#S5k(pAPi0zvNOj(sEtRtl0C+Of64r3tuWJaR%6 zQbN3#;y*JpYk9i)>0_3eTEA#25>*6`r=HJ|UaniVRv3#A2^*65GVaGhCnYi0k$b=r z4-`HlZ$|z=Ro}RBc3Iof4zp>%mD}S&V`~)d&&$CqjU|V5wNQCJ_@4%Eo?&yjKRPdi z1udnu-%xwW?7B`aTBVbh@M8m>WhvkM!bwZ_oy!-b0P<+|xJ`A-l&V)H|AGJfFEgjS zb1C*YH?)G`z4!6 JPg^#`0)I6j1EAtM!ahzOVVmEMDI_^K zx#2Vi(g;8%=UKr_!L0bN <_x9_DnI zW@oiJ3cwvp0afeNX$1dFemb zmIssq{)h|zg(?28*ANAuzw0N+8sfmlu~EkUZNcC7`mTpdvS!7l@&Y 1MIx+q|ZCgDa0H%}gS9C9=Xe8=CQ_z#sn(j?psSO9U zjYlDL(e7$a{DL ViT=6lBXR>$?cL@h z%2B18w+v9m=S9Vt<&}|`j-}}6^3wTv|5757>Ul`I<-qXUga)eK#z{c(OtzYj9+fNY zYS+TJm!51R7@!a1+ke@+BuuPrF}6iEHO+sq!0l}nc}-tA8? AEV0N?l@XF>YU zQQ05}-S!>&xDG9%s>Aqztm(A+gv|@}`e|rh6#3oEb9Milfq?=@^~+jX#MX)iu8`st z5Lun8H+&Th!9JQ|*Gpx(?u%${ydaT08#)qOyVbq~zC=1|+zvM`kHEN}Cz8V)V*~Rn za~3t87#qyP@tyG+Q>zeCIHY9V{{fyEgTPPFFkm9T958IHS>+S{zSziV4}B*(KS1Og z`giLjLYpm8w|8?aQJ+{CIZ{NYby3%H>f4vso2K SuJqBnV z- |PU@e-`-t)p}v|_;F$im;2F2rKD zpimts%riCg!|Z ui8Qy5%MAoHg?W2pjSpa!A0OF(+E`&k z6)hamE%zYQz`lr@d)u99p3Zmg-N$_)(x@KOeSGtNc&+tR5-jfMO}77vEQ$67tr!F{ z1(}h|ZFG9iW%v}h&A$`Ves}l3&f%?Z%I^_6NDDG0jtiI>8k0r>>zlc5GFl`-JSopg zbNaXRyVtUcmBY*{bxj`){e+6 Jy_-WMz@9A z+^d?sS+B(G*6$d`K5Ef7rD~f_Z91Nt(9l}n!z@~migr;N-<1DmL%d~rrqcGs{DB7n zxNqKDq~;3EW>Ea@jI_po#G8QC(QmrHbJzRCHBuariOrr|Z5X=ZO}2hWvg7R0@fchl z&oUB;xVjwE%PbIG0(zX*8SKQfORalw#mW%09^=`aVPuSt1H?%{I3PiWVxmj`#x0hA z32Y$$1FZ7jeujsAozc*JyiJ &R^X2 zk0alZ);VUlL2rzb#Ho{uc6s&{wU-iMzS{U&@-m(n!TNnwe;04~D$MD{J9JPKvVg zP{<^!`(7c{Ps1wfS%0t;Mzob`a(JfzS;*KT7y Ecb+DQjhDq z2suqS+f7jD27OM7PiN)mK5yWzL+Sc^rZcq)<*fWVZk(o(xK_dq)I1WDm@V*!F()q> zrVPhy9rke0>sN oVV;8Jz`vRhtTra fEOg`?R z3fp3FCJ`u{hO9;ncG|ymp}dTp))8~W?zMd^`w%BkEZR~APW9Eb&h%T&USH;k>8>r? zTu^FS|6x{`?mk!iK#=l4$9IEgrj>Nbr#pCJsVRA7YZw;dj&_iK86)w*+A=#k@pfk3 zi}27PIS(l(oVx57fCC~oer5iJ?2RgYr8S?`x%vsr-@nRK;KtdSR#H)E)OStv2Q`H_ zhvw(tx0?7Eg=|EqNfGbCb+WytdbJ#RRDC`yieOxLM-owk$NZZr!(=1wImhrLoiUdF z$o4*?L8toqT7LeVQ9*ZC;an}yb{;KmBU41EKCz{A97R*|NAiI4=KZZv|3zt5$LsQZ zommtgMQ-AQTmvpHR(wESUD&ee9nTG_^^bF0aBBU&cea}o_1;Y!ZOs119YWvXvZ%IV z8x4rMWNBBN$-BtiL#Pmw1(DLr&jCQAp|6CGJpn{kY5XJY{?lBBaPly7p*K{CRDE^2 zRAR$N!6y^b1=Xkh%uur7&tXBg+M@rWIR2@P#6JkoDbzXlAA`?4De{Ek_{3bxu@#j0 z0p)Hm1> -9fW|P#HsSfPVBx313jS-i%%*W0T6TP2EE1l6g^bL^k7(QZvJ1_D z+OLPQM_GNq)0vghB#i#BB?bL-m~;*xr)e1jG)4kj1Tu^O-THtpqyAs9B+B+*x#c2# z= Mv<#AKuVZ;LG9Axucv+~J kbUqF%>*0L^TKaLkO!x4e!iYcdnoVI^F?Hxw_FO=aSp8n5kLefDiaW4dv;8 z&jLx((h!kSn_%xz`Gh~+_bewz_u&1oaQxJ8`patLdFKkFN4WYsPh@<$5F46E;d-M< z2VS}#$c;J}myJ;Ii{zT1U9s`2D9C4jAo%*7?eIrx1q{L8uD?Bw6lZ$OgfbDj jYe>eGfvy&-r z*qh vD=&~)_?o=PULb~Kh0`Id&&x91S3?Giz zU#K+OYnRSy>594`{{S<}5;&Rg5^=eyc80(p@?1CH>yotJJPFI|lMoJuUTn;z>|<}t z5#EefhKk4!(#n;78eZW=>=SN#`RnCo_7XZi{gx@Ia>a~96vrBHBrUHmSKTfAwH_KT zmkq9S$xENorQwD58dtU+wHEVf Jv@4?kS2NlZ@_jI);a_2#AQV3|C_X`|mP#>X{qmgqo_+UB zeRGOM7nwx8vAFn=(l2#tzrO)-fA7ygl5iYO0)WCY=WEM(scIIcw`MI;T`H+(xtkXa ze1iV{+++$1;m*c7%|S M{Wuz|AO*tli7mCGM+)dR6vYfgbgV`pY z;4Yp{Iag{B8xOJ%2!!hgwA L&{>^y8y|{{Gdi` zrfuqdcI} #03YRc4V8~~ Tsq& YZ&W zg{Fwu)u9J>N49}Y7rjG4i_UmRS@!kooFpq4^yJGZ$3<(EKU`lzA0N|3J5yTjfLy!8 zE|QMwtYWhAlwYZ ~H^f_uoGzgA}_p>Y3V-FtRQG$#I7#&^ltNsv@tw8Ttx zPd*WnHJx7>eJUDruFiZy`FQU~TVrO=N&8Bb=eINeZ3T%3f)b%iN30ZDGv7|U YXLZjS-m~+yPX+8W?cp)+-p>CKEnNd;w2i;E<}DT9EO*+?4E#; z{^x9Hay#SXn7R@*NA3A4>hM9Zb1NzzE}Y_ZS6}ezdF4+~Sdkjn6w3}wjFR0)1IK T9D;U0;gHPf&dFL|XYqR0i-s|9jB$k9O40^Dk>c!PD4l`jmejz89QpcvHphhga;t zx+teF7X2ej7IAm-tDSdl^C3*;^Sh~u7d&zgJIf^LtHzDkzw^wXW1V&>^wi7B)_Zg} z^lHYwIaWzll{1zoA2l?s4Uye`q>u8rMizz(7NUHwv#ui0ohkgN*M0zhu3&wK$wiPm zbm@6NIY>=V4UZ)XEt*moWjASa%eEM{1YoPNxtDY?#}xTI6<9N+x2?7Rz5pn5qAB;i z%v+AN17(+Rc90c!>||U= vp;|-{+f`GRY68@QTuRKc;6|u)KhMUn#t@gbH_`{91SOepynhH|eTv zSW;r2@tfL4yR7R4{rIbH;Q)_O&!3>Z5>kbZAF_ xgE$)0C$pg)z>C0F~3dA0pI z>Wvp*4FF^k@DI23@3;BiUXv!}1mteWh AC8iJU(NblPc5=DIGzYevgHPsO-ocG! z#Stc3dG=gRyX}CqA_)8eLxhl6X?|r_emy8-UP wt^)Qo!F2kptO2J1MD~ zTYC86UBUr#ut)w6ChX;kKT HLOZPFuU~Nk=<7|MkEQVf8Q<4|TX7reFuZU Okvl_fSAHN z W<6gnuRqiaOQt-tZmd`E$K zOTnOmOs!3rnd0!?BNB#X9m)oO1kyFra0?W>{ARshf9oQ1&K!UtaDD#eIsVbF{IB2b z{v|v`r)*sObl2pq$s{WkU!;Qme#tX06urGe(yeE-v9#2t?A@o7{zHu~LoKEa<{d)^ zJRR@0_gd$thrWgu>(`%MsK1RYqc$=4wLkf|Fc5upsXiQiMF2;7kLz98l{ntO;8M8y zJVAECNA+;P!}%mPlPGE8__28jzu5k4{89ehjq4;AehDno{^o2K{JQSY{Vyhlx42r; z7air7ei}X)%3%M|Y+Is@5L0lip>H38X5av-RSv&vWMOMG#Qfr;iCrX-_lbM>34m`0 zi4Hv)vKpgrv5@*6Yn&jw_;RQ7lDIfMatbw&=+3Q9p3GkhoPSw({_;pbxbDB4oaE4- zSqA;*@Njq|h-ei`E}#Tm{K2Xq$00^oUf;dN_g;jfImGZ>Jx9GCT2Yd SpAGt&Bb3pUFMV4=#GgY?dc(#k#C4YLG9a4?|0(^z-F3> z!6my}u%l1Y{)|%v(jaI<9)u=!R+z8v`eOwqvBC(Kw6R2- %M@7%%XO5&cibGPQ< z&`dbfwRfmzP#-lJ+%@8>le@L%Cyb#>txB~{y9}*k$~fy~YTFyuhI}YQ6^&UlQG|+V zG?(wI?O6|hUf_Z!!}F#pH $^?)k;*Abd0Tmu?U-7; zLA#$i#tC|Ug7`IiCKw$Y>HE2MrYe5eX3xn{%|{a3A7jfw61P?`KIL1g1Eeu^tB~Q# z?+QmZ0HC1%jI7=(al_Gw^~WurZsu3b;?ZA53UHcaAT&Z;wBMsO3IGK3|J$(rbqH^- zeN&G>xbOe!DJJnvUY60D3W}1Vr-*|b`MUgzShastDS^51=-IGt(gGY}V8Nb@i&<`T zRjlC$y^)Qak?|YPZ~rZp-o(%^%Y@8gg0emt8fZ3Lsq0or6eGSE?2Ac`b8K7eqKc>s zOt}t$d$AmKuxrmW?~2&eQseti6Ro|OO_IA)?Du;a{NI<=|M@!7u>+X8`fT1q!P{_d zrC6>1ueU3YhqB%Kq>Qqrh%8em6_T >kkw ^MI`bW*`l)d53=PySIQ|6-i@v&5I zL(s}r; e#_+9^=RGpW!J{xweYJ0C~qpJnu32Y?;JZj}(e-!I~6 z3?OFS{4%<={btw*UOkt>;-;AvGW9r!TC~Xi1M}HvbS=8zhkXjnU8X3fZQ~RELTh}F z$RUUc<&bq8^u%SlFKd}F_%8Fdj*m5wyWlGTfy;IwrdtZb&WrVpRFi0J&d7%n%1{N< z8i%jD@DHdk{}VOD&`|65D0|)f&f27(bRBZw@0&9HcP-?O)@f-g ?ipHC~(UqCdy*{lYfGR@d_?BPZc2nci;F z3BHunmWaqY06v<2@eo|Wr-37QtmEOt_hLVQgdo9PNn@DyzNAuE#hlNxdntC|(iG;@ zMM96^D80md8Dy*1PMN87o_uJq$2d0uHVp1-)KswEAf+t0!^p%<1%TK7drx08k#vNh z(eNNnx%CQmzt!A*PhO21^B^5(iR0jjX@-GO0I8N7aFig6j mvY`s?-Ip`SwUKl#f1!2>NYfmYsQ zhz3u^0R88?!xrYgKG&df7i){Uf zKK=QzdoEA#Dqzut9mn4WUh#`T-q^Y!W+IcTVgJ@kEup@AL!ze%c1k0dnr^J;KK~Z$ zrJPwb2n24ZP?Oj|$LfcfcH9b)72*7k0u785GhDlo+S@n8@=BFGEob`%Vr_814ZFPl zvqvoGyr-gVMfSPCLs_%DAD;yT8rp+o#dKxC#V1!Djg46ClZ-9E6f%OiW^mQ))|>b> zxW7RO0m(44_6l?t_XLhuaR3BL)4cZ4yZjq8ML)K7put9b;UM34Mfr?8jA6O6u4g27 znYLIazn`i9nft>bY&+vA9{IVDb&63o0%{GTU;a#6ADIUc?}>%)qd4-C-&q^ECMdpN zlVxGYPc_2p{I19}8sXdxXyVE?0CWPC_`g`Szw2>;E)q|D84^6&`)Sx)aV(r|M54Jl zZfBQ%d^q&>-c1L|Yj0(_nHy$~vH)G!KKmCT4yvBuFlp!`|F7GfTpyj;+#o{LB ;gU6+iq#aOR=Eie=%0_+;bLO zQ86JGEMsQ|L_wnq;+K3{k5FQl(8<1jJ|iP)Tyt-V(OpNxHkJ?e!0q&(_uzk93%V8= ztGg4Sx-7Y2N4|nvYeh@_9D0`%`d;zHo}T q4( xbo2-_!cHV!mY61f`RF0(`X ynAQ84{ph*D&I*$=au+5rUZx(+c){dF6i89?lMunWFu_=)q3RHCXV78n z8VV8RzQpPf-qN>iJ{nZ7+e7V~xu=b&TrM96&OI&@lu30VD1MS5yn{YL_OHCX)=~#< z;Ay?=%L&mF!#RM1Xd;b+XDT0xrCM8&q~E_+7krE5+Fs@Qag%o?`zzMJP50`nZj2mZ zujTnC7Q*-qo%E_~EwA|cO2NE(?F*&GUER9(CX#syii9$L(mB)mt2dN;_EFW;eF{m= zwbuEWXSe;lz>$;bje*U7O>Xe-{%ga3k{)B*CK_FK>*m=YXOT^LrK0juF*Qqsg_}Uw zncBmiic##3%}V4d*opyn;Q!Q+@mB=@+j|!aem%KXKlK=8Xn2LMKM}f>OFk!>HqC4} z`i4^R eLDK$NoLbDE1|{0GAyVPwY#9kDevqSOw&a zsd-TxgANlO-F?X-Q17iWL+!{L?yP&7G|7wrq_|O$&c-~6l#D*_Hei7c&8K9po;(oX zHA*@V%FVEv{9PXkaE91G*v|tssADoawO_WQt?&Z81K{t&>9me*J@vw+K5a-p_vo4Y z{lJIMAsp2!XbunISqsLcdTp!Dy2!a6wf37AsG5g9nG-A`N Dd!k1)wh2-T}?mpj1e{N`3IzTZTDRkZ0P1{~F7ohu53B9YnXy`=?e-O7b6WnxE9MxlpY+lY!>Wda+aisM6@@}#PZIu$dQMAbykA6Q-OmT0%Ta_ zoaBX_AII4K;g3oK9XQZMwZtkLc|bk?z=r+H3#g<0lluUWpD{iNbja%j8%CRO& @5I%L{+YT`+X}D`y~X)F}nGiJ)MwixHfUCXa+gPc6UYb)phC^Qi8j z-DDqcO$EzW7x@I!G2}i3b5a+9HW6`ne=~rM+=E0eMr;A{;6fB+ CMUlL@9~lMHkp*DLj2O zhRWnl85AoEH|MMo7a1x^OF9v@LBZr5ao Qj4o9mZze%*RuEo%-jaxKIo0BxLlBj zAFCdq7H$$XK7NyFE4~F7ghp9CG230SR66?dQd`#ZCUh44XAuC04GQjTn46AJN_Jk) zE @&mVrR5m&)jx;`ATV320&)tQ*z?29SR)dROOqRN|Y z&ZhgL2rc+`yT^No{ZK<^;X9v_uWck&d+#hqM1Z4v>p-;Q%dc2;WyddGKa8*T7@9hY z5T?Uy`_^^4kfgx6)h^U)gcoY)k+?@uez>nx_t#E&rpZa*EfSl_`a5}Vf7wN+9RJut z5ZF&&jDAyT3HXHU*Shw8aM%W@jzSN!57j&&-=E$wMOv?3|6*tZ9(n^|qDs6H5*zHv z?YM{U7$uv~8r239$Fsp-Q0$t}Wa}d3hYXH&z>MenM3kyNqYmVO;j>k+4an>J+GkVP zOJ!~YI;d}*hjUepI>QV&M3wi{99!h}tEQdbC`dcdIyJ%#Ve|c!5LRahW{S)y=!Q(| zFMPUc>sG3PDyEO6Y=7N-a=Kcy1$^wox$K6;D8JnLyFlO(*-Eed+teBC+IX$KWD3$- z!U9m1!sdtO+>8`}A#-l!pt=joFpUDOVVgxmaUOgrAYy3 c;PW$ETE4Ol>VG7_PY_BD~e;YQCqt@KaLgSn!Jm!`P5F8v^x83Fohq zE^7);<-&u}0SGZ?lqArUQaU$5U1}oOgoHq5)${pXJC7lAWx|>yDIP%RP8O*%MA~kY z6GKhXayE)RJd7LzsyhU|@iBvj$mr8chkol&XDJD6c`6LPGhAL4tf-i+@_n;Y61EAH zM2^A9R;m^se_PC1v`5X{UiOAiHjgDc;}mUZr$ocjJFLrlwX?LtA1Vs^5&;4z!gAp4 z;hM}`t%Y#!n}V+6kA{obS#57Vmv&UZEz_bhXvrqdjAVOjvGYNB9Prs6(2bLR4u^N% z3bxmh1fQe%&qmBa{bu$G2BLykIz%_QdhMo8DM~(Xy0cT`!`r#N8k=V%17DvBeR)}x zHRq EcN}&8>k%28OPxMRLd+1b1fkapg+;cM1|Q zu9Rv>(X<58mbOklv<+nAlh*Igf?sBEzTOXK=v_zz)^P=n@DAK!h={*;=}~27Q|Orl zCHRpzHm3Ispe&S(2%6D3m9BoZh{cK#!vGGt{{R7^?jwi4D&->Q6++0#(}X6Z( LFYD32|vTH 7YNm*mqE70Rpa9gnVN5|o`y-lLC-KJ%G8 zS2ulSf8yOmd}6nsx};Trh2u{;i?i;-zUl&eR2adHCDTbTZB`DlCt>IuseJqlMUJF9 z(k)aIhu EQP0Zk%9~hFO_5EB8i$8HZZ03WW{|L7d=Ch2DUeB5)spY1W-~i57 z+<4JugjB;h?5dC?r@fKUZ7+Uk)P7nAdjW$|^z+c!{Gh=k<$`bV8P!#9*s0IUG0po* z#%VHLrt*iM)PsBGaoIp2LxC &dLSY4^4{0a2A8->{f5 z5hqe {beQ1P@V9&~B}%!so5$)5jGK3gR}v=!aY(?4eRMu{RL}k}IerE-5e@I3 zU(RgZbvKm;gCyHZMCvE9a4X`fbT*3Cg*Id{@!F7?>JhW>Z-(Wj;8rgSIMS#|VhOT5 zC)kJH$iz^^W0`EgV>KVXz~#vIkS*T`FBVHjN&O+fBaKa&x%@Wag3eRSH@ZV19Z~yo zcST$HFgB1e!!Y)VqgGK!?53Xu{ZBdwcx&TSRT(wkTCxqrq@j6ZE9ZFZ2Vi=~kt+xt zg6lJ+(^ycCfh+a1>oUQAD~B1-&R_|=^W2oU_HZa2(mXbFOMm#0%MD5mvVhVk1s&Yj z8yo%GFKi-*&j_D|t&S zEmL;tKJC-Yp7vBb{48-j7)r%#V!N-W>c^9@EgLpY=sbV9V~`S`I _GS?Wm486Htzu~x zp~|Kj(mChv2pxPc2LE;2CDeQa$mewshI HJKqiar_R z4NdX8R^SjF4HQVPgRf(jxkf4@;7n}L6gb!d_R{29=J4y7A{W=#t@a?W`d#Q{GeLke zYaV9QrX0>YjN%cw^^;D6(1k@KuX-BrKOuEl_7KYqRCqm@O}W1)4#bfsZzb@>*`Y zcO{}GO{MSzq0+Ke2 ~w0B7+ORkAG`DV0_;^+`r7~%ktdtLsB9u%i^*Dbv0XhXWb67$siUQLx^IO` z8-EnTddBXtdBFV;X~}ONuIO~btVU@;B8EKPS1qY(4Qg#$Wol^{-u dV)-h= Ds2Kw>fmAG^U*s>eE=w(?tyUSun;_i#*nt07 zd*G};&F~v&NuQQHXp7{eN*3Sdzp^BFYrRh)Nh*E?1{->x1v<`Z3dWg~fCf6rlw-FE z`#(~Ppq?kP1wRN=PM82K`udWs`xhAE!y%hiMvy%fUG_i;L;0)c8lw>TX9J8NVbexN zgh{DWFRHAYKwl3}TP0}8^h#XaL>bdU9H%%^QkFcD04G26pjnkZ8q2pTs!N#P!h{(! zrk;3~9pYsZML(V;mO?0tX<)GX?N+^RiIt7RN5MNWcavjHL-52!Gxiv&l;iAAI#$y~ zIbAE#mEN!NBiL+=>#8|Wv8(iGxq~UYWmJ0SFc@z(;;ErOZm(0~e@n;yHMHg?wv72s zb`Fs-RduWGF11V6S Z*P;(MR}1JaEz<231YSdx$qYR}2oW4#zt~T~AD=XS0K`BS$LLwdQnog@ zmag^4fMaX>IqNloIbEBx)bJ412u$p(XdCKyhlq(zRRmvkNv$f42m)vNG31dSs`b *(Rag*oJ$9G~`J|RNBJ!}0N5_ba^o|t&s z+^p2A8C8Gz$fJ!J)x%YE(vI_RI2VVi910qXK z5exZ|CAX&&&-O=7fMxBG#}pk8HQS~LZMVpYbBo0$!wL+)u=h3gH^CjZ<7aO33EXX+ zP~&~DHt}UvrKg_@t?mGnZrfDV?7YsO)E79AS!%QYTe|44uZ%AS_HF+$`e*pZLaN>$ Pm8(BjvHl;{KY#oeroe`I literal 0 HcmV?d00001 diff --git a/docs/img/multistepmapgrid.jpg b/docs/img/multistepmapgrid.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7e7bf870f44d2567329bc94f8c4341fdfd3b4bf4 GIT binary patch literal 62455 zcmd?Qbx>SUmoM751_@4(1PKm-1c&Yrf(O^&2_#4dcWnp(LgNr1xCf^pxVr`S1gCMQ z(FPiLop0uwsW eNL~n_uBin*Ke(T|NDLgK&C9OBoDwqAG{d6 z0Kok!z*^4J<|6>0q{I!t2LJ%r0D24@00#OBh?YnHel3r_=ET7I$9+unwIBv2fE;~R zL(AV|IUXCZjrE^rjdwQouKa3pI*;9-^9%C}1MctV0kQyGY#dx1Y+PI%Ts%Bnd_pop zLIMIpN)l3HG8#%+S{h1fYI;U?X8K304Aj(*c^|Vr<>2DxqGRTJ#>e@Los*06??*83 z@bC!n2`LB(DLCn=={f(8kNb82IX>nLW&;)m3jmWG1B)Evz8k;{0AS$!Z5NEcw*TY6 zz{Eo9i-%7@NQC}D4H*Cv0}Bfi8w&>q8yo#=KlF0|HaX72CxSA#6q@hwSez(@0%NoB zSzlFlP-%@Hvps+B{F#7|nueB+p8Y8YCl~h%VG&U=aS7Sia`Fm_O3K 3ecYPHtZQkAlLY;-6L3HMMp14UL^$ z-95d1{R6)yCa0!nW`F;gTZON!Z)|RD@9ZK@PS4ISE|FK)f9=8mVEvm}|6$pGv5OpS z7bZ3~7B=2ryD%_4(1Jydjq^kh_o0j?-a97>7NJ0V%2%=3l^q1E&$W)J-aC&IQnS5S zWk>uq?H`u??-};_|H`ueFzi3=ngbAHVW2w?iyQy~T>pS_W?@1RN71c<)4medx=~4v zc5w)kyu|0BD*Q%IZ=J0fliMbTNEy%nvj1k9-_S9OG;MBnSHN) zj`q4FHwIqzu qzxNO|c3#70J2!Ed$TBQw2la$4S>@ePWjbnRCz zCW~H2?Wu}hYKheXzM`WD-`;H}XwKzyJ?^Hj4oykc^G;mw_vl|xEjiBmsT z-95mt=^hYWcft{DcNXpv<|f|#Nm^5p<9y!4D%iE(mvyBCtiWAlWp9}r`evnydCN3` zgBM6Q9e(*^zlHi9ux`OIDy&`$JCmxqaB*NYK;Wc7c3)!q95~}`gBQWwppQ2eFXk=^ zo=%u_+bWoSPXzVr*G&vVmJIhkTv3G1@RgN!LOEe#+k~7s0smhK(CoHw(@V-LuRT9j zt4GaGDfU{=Kl#|GmnOD-qV(DP2-V0=J0bqaTLn-EH)KwI2om SgM4MY}p8XMW9>I~72M6RNZ175!1>s)OtX#9bYPKAu=m zB5@SZ6am?OTG=_1Zs=C5<8cWY;_i`?=V?TZpGi~dy0+BBov6HS2rkbBG(YKZ!~3D2 zY5Gca-*ur q{F&5Jx-b*vR=Tl{NH2UA8)JTd1S^2Kv(XVL@%_t!h{; ^R(K&;-&e4qi(bK=jK<> zVoU63Xb32LBB<|dxmLGpppl|2vzsI~9RuzHD9UOhvrumr%$@=pcDud?XHX2)qJAdQ zteYP6rIm3TG%t#1XZkG>r6S_BLgF-PxaSLk?f5^b7L|}*_s}Ss>v1N`d_~Gq@`&J9 zjdG%Ioj0mKn=PAarZ=5x2qlAXs|#{vg*ZJ@<&EBueVAtdiDEPhpii{o5UFR_GUVQP zM*drg)lO-=%_CEORJ|O+J(5ULV;~Wuuh^g)!I->HscCA1;DGmLuH3$~sW5tU`x-FO z%WT_Cf RMEue5{t`lZgO zb|glMta5hZcj?pia7uX^7TZRjR+ohoy|PW4DgCahYC>ZTdokYn%zCcvE8p3?kx^Dv zKTFid#~-5AlO_=`m7=oHqF29iYC5S{B~L1H3d_qrUQh0*aDu14sP*HzmpcvY`xQqp z@s5=XXYLmYOL_^M=>O6ieQZUyllf_?SldVL0Fva?AZI`Pi!-N+^IuIO$M*n+<~t7L zV1f15{luAU-DL5;M~f{OeOL>G`*$K>(C<5p=BVeX;R}Yn&j;|1nERPW>K#Ha@idWp zWefPfzdT3%*~XXyy&+scrstU;yZY#XVT2Wxb+UZj0e >X~Znk0?ejC3cX=CCfyhk@6?S5u9W`%&s7JfR&t*ZJwhf&L^X(6)> zXoo#V2Cu2yiuTPhg%_x |Coqe-14w) k|&|8g<$syeADi zu~T}H7M#CG6P1VZCiP#5xTn`IMm?Vt?m}v<^*JLGKOm^`zes=*m8%W-+9EJQI2!gc z5^}xPOn@NDd24Fh%Ou#-fo50};3$3}3f>5vo6LQr# d*i&E@==YPpHl2)0$+W_-xcTiYcxcA zz1gxE!AJFgr_@LuIwfwiva{ti22=jARLr$Xm?oE35p2iWGw$i@W+s$zeCOvp*8j-n zw@QFZR2DgMGMH-$N#P%`p17qgCnEaR;w`Irf4fkHI5yMSZeRf#&o}}9_d??6G!p>S zL7s9iptKX&ZxDIpuA}TO?I<}vogn<&xmFoOp6CI>9?s|d8l2P`W|F&8eJ~%5B%nIK z^}dQsAQUvoT#xcrJ7>T35O)Z>KIjXTdQiOUu6*D|3~AzQs*QWOppdl-9s+%k470Cp zafWN<4IMXh&@F~?EZ4)dkjd{v@>d>s&&)FU%r(69iFqD9(HwuF2o|fh`?!3d?8Ypt zRQE2#AXJ_ymsg>dCyDfFp>DKm8*Zd+{vil7c8%Nm4pHsV%7mQeg?rqduj>m|yeHxz zbH8JV@X?=~J{9e~X{$tO-^g`la^nO}kzck0GG~Ry N#&db~kJF P=Q1%am+kW?kUQg)ej`4D|+ul)_DPN4uAgiHK316ut z87AkTq8~vYDA;}Z=Wv?o$4XaAhw9g11knss9OCCAI(Ke=)S{;=v^N*aAZ&6 Rf6hTGuM(OMyxLYnd50$uM`ZiV&?C*5kG_#+k}GPSRiXmweSnA=^; z-$?DuW>rii@wD75G{(lIr04^oFpAp(m{be1Tn!1pCgY>=`5b`xn!I?q>K^dbSE0l< zUIyag _*o8T?Y zc^T$FC{O813(zxN@-$`?#Vbv{Yh#sf*n4r!I($dE2jmV?Z=LkD${V$D$bYT8Jfvm` z*mAfrFoQECtTWL}uprYB5X}rTLD!v+ahtMfqTfh~kQ)jW!+z`tLZXsPY_Q{RYMKYO ztL_nTg8j7Tbj*>y_kbIbWt$5iU!vq6ddZ?S>v!0``Bm}pzgNt)I|fsP!99k0J6FMG zZk%TgGrlh4xyLPip(vGX`9wQAmU*F05fTip_6uUtS{z4zNklIUL1a=leh~j5G%cKg z2&JYrrnHx#UgIrrz)@y%2_*elS>0Th0asa>e;)(HWW`GJre;p}>T9PxQ0O-LIA!us zZi$7o*K$4p*rMuY?$+gF3q2II{?*nb;Gy#8(Vf(>U0WAoRWemUz+*ELXq=hxQU|du zNq7mP0XuCo(KS!4iwX9fkTke-Mh`(xj^+%v27 zOY SK-6CUY&=C$>sy)+Yg!8;e>4O|c2b&;k}I$LrXJDk zWMvQc^L*^>Pqmrxuqkomt#B8sU4`9v{K!?5vcR^|1>Q{EyUO@(dSDBj=Ze V78X>jWJCw{jFOb3sR=ihc;x*(PxDa_K{s`|WGrENIbUb+Y5T(QRM zQ)Zss16D^r-ew5s2H1L748D%H9aSELtVn`SR}V zVeR2Lh5~bl`j%;nnP^JQc`{oW*k8e(9+l+x>R+zSfwoBR>)_0uGOa-s&(*};w<})8 zcqdch@7rBRC?XIk*Yfy!RGlY%bQV*$;LVahkX1$`g7?yv^@}ajJIUIBIEKT~@lz!I z^~aWo=~HeOBeAq u 20n6KF#qsggpH zWEiNDnUeKosK-OkI(YD6YucNBD;0wTP}nydP>76pE>~WG>4^~!>YD1Sd&q?tjBGc_ z|M9fe;r@G(cMM8FwJ$UPx))dom>jYUHfQ6_pS-e&%{@Q=1-zwxWg{YveR-(9F;@lT z@HF3E;;R`y1KZSg*wC|5Em*oFTCFW)4l)*phWXO@Wn0tx7ZsQEc= 3=in)x`U0^3pQRHtHdQLRr^J?a*- z|Hv5PBh oy!YP3VbMbwc;>f z55l;fZPk}|`0#bZ Y*+k~I2D>)jhQ!zg$HK!yGG&wquUDHj~sy(jBe$Pj1Y>en|ZhMTvqCi4VLAc0K ztz+vrRrdXdo7$&RF$8SJ7uaW1e-bqubGb|4K2#=khpY$b0%}zgrMcCUWovb{>P_^- z7 Oohc>Af>(O<#wYg4th6FO&xr-cl^A`Pq K%|N205i)(yj(4hj#X+e4-7{GoCti6|Gj+-UDVgEjWEH68my?+%;_)?aCrs zkDku42a7VK7X#=}#lw_?VYzjIn;CLZY>$$EuVCzgJM9J*4~Hj|3{Eqn>HET5)$w~g zR^?B=t5NT|y&Pt+B$EgVP{Z|4XgID_HC^kd74^Q|T{2lH{3aCLnCD1v2=*S;niT$O z!pC1G@ZRz&fzg->m^(K8J6AE+04}FEW~ZwefR{zpl*!Ja)MvD`UNg+jb|zbx1Kr~N zR}sVi&b<}k=nx6}lC`fW1s4~t4~gO_%jVoe0T`nNzr@P#pgc-5>94