From 8f3c92bd1d177c0f66032259fb84c4fb4850e467 Mon Sep 17 00:00:00 2001 From: Xeon0X Date: Sun, 16 Jun 2024 20:47:27 +0200 Subject: [PATCH] Add depth to building map --- world_maker/data/building.png | Bin 387 -> 89 bytes world_maker/data/building_moutain.png | Bin 0 -> 128 bytes world_maker/data/city_map.png | Bin 1232 -> 217 bytes world_maker/data/district.png | Bin 2410 -> 432 bytes world_maker/data/heightmap.png | Bin 12839 -> 3056 bytes world_maker/data/heightmap_smooth.png | Bin 6563 -> 1688 bytes world_maker/data/heightmap_with_building.png | Bin 0 -> 2057 bytes world_maker/data/highwaymap.png | Bin 645 -> 77 bytes world_maker/data/mountain_map.png | Bin 809 -> 602 bytes world_maker/data/removed_treesmap.png | Bin 454 -> 133 bytes world_maker/data/roadmap.png | Bin 888 -> 107 bytes world_maker/data/skeleton_highway.png | Bin 13474 -> 2933 bytes world_maker/data/skeleton_highway_area.png | Bin 748 -> 89 bytes world_maker/data/skeleton_mountain.png | Bin 14128 -> 3847 bytes world_maker/data/skeleton_mountain_area.png | Bin 1127 -> 462 bytes world_maker/data/smooth_sobel_watermap.png | Bin 1567 -> 648 bytes world_maker/data/smooth_terrain_delta.png | Bin 7115 -> 1364 bytes world_maker/data/sobelmap.png | Bin 15324 -> 3404 bytes world_maker/data/treemap.png | Bin 7753 -> 348 bytes world_maker/data/watermap.png | Bin 658 -> 249 bytes world_maker/data_analysis.py | 24 +++++++++++++++++++ world_maker/pack_rectangle.py | 18 ++++++++------ world_maker/terraforming.py | 9 ++++--- world_maker/world_maker.py | 14 ++++++++--- 24 files changed, 50 insertions(+), 15 deletions(-) create mode 100644 world_maker/data/building_moutain.png create mode 100644 world_maker/data/heightmap_with_building.png diff --git a/world_maker/data/building.png b/world_maker/data/building.png index 7160ed9082ce57912a4e74396c182bf9ebdc642a..fd47f444c58371289dfc2f3ce7f2f47340780444 100644 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^sUXY&Bp3?Ci-ducf~SjPNX4AD2N@ZGye5VJ>+?Ju cKuidTXVb7_U_8Tp#1X{zboFyt=akR{0MJztqyPW_ literal 387 zcmeAS@N?(olHy`uVBq!ia0vp^CqbBl2}rUnX#@%|dU?7yhE&XXd&iN_*@3|!P>Q`w z#5`|%*wktMi{HOhX*qgc#kehzfnkBkyPXx4dhE8xwpGsY-!0x=5%ZVf&a`bSGP=7! z#HlTI7RC3Dzm?n$6M+iXo+{jv|4;jvuGXzZi=f2rXPwV#_axqd3qYiR&PvF={(t+v zvJ>og?oIh`ku4Ci#nm+$8v*pen%K?eAA+mD3Egt45XGYun|7!eE6^CKfCKi`jJ|Jq U6SrzdvVjcrboFyt=akR{0A>b(3IG5A diff --git a/world_maker/data/building_moutain.png b/world_maker/data/building_moutain.png new file mode 100644 index 0000000000000000000000000000000000000000..25fedbb32fd1ca058d21423098e26a46080faa07 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^sUXY&Bp3?Ci-ducyQhm|NX4ADXE*XT1n@XJHXA8h z8>#MhHfYei5IfbRj1Q`SbAJ($& Wbz)YKe{2S_gTd3)&t;ucLK6V7Stg(W literal 0 HcmV?d00001 diff --git a/world_maker/data/city_map.png b/world_maker/data/city_map.png index a6d60e6b5f49bae99b01f944e3066f8251c462c2..2dca2942bb1846cd7b62bfc9aac7ec4179b01618 100644 GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^sUXY&Bp3?Ci-dvH0#6smkcv5Pub<{>FyL{y`0D@v z;yamdm6gtfOsL-GbWCMSh9*dPL;bCqrH{4py*qdP+NX5ninqyD-Mw2Br%lm2vTgcr zttZu;fw86fhXpPlxy2b7w9C}vyOCV@#cxKufy>S~w`h8Hl;~d#y)WRO^Xby9&a-OD z-Y1<>G&4Ki`;{$uvX-Ozn$_Tz60Oo>iQY>lrgL-7BP@r?#K^v Ngr}>Y%Q~loCICT>Sy})9 literal 1232 zcmV;>1TXuEP) z+m@st3`J$u{QoaA57ncka>)s~Y3Dr5nl4LZ69OTkwQZ?XYNjGvTpeGf?tfSEwd=Wv zuKtorlU3P}7A#x0flhKDVRQq^DSz-{2concwJ5YKSrSo!EP+Wt6Ne^&P((ex7WDG8 z5=mbYwaMqQMR<-P%3%~frbo(`$<3nTC(z_AB^{5K>tB?TKHrHjb{)p4@O+p`rGB02 zw#68`WE6IN0!x&{buv(jyDm)EjKtv6<3lh|c!QsOT0)YC;Ql}e@F zCHqO`2+lGG*;Zf@FtQFz0xB{|@Lf@AtFg#7!DLN>m;@V!jY$+&`nDtx$ZKZC*W3wm z%y4@vNwma|%{`tF=xJ?*5r<@Tr4)rE(}<~5D)m^sY;UT`%vf3bAa5Uy^#q&DR+{qr zAk{QR`8oOslA-=%K7(Xnl>N{%NcuV$A3{P%FA0;VW#&2se|`KAn-JRQF(gwI2@=O= z_r9k8e0be44YqXMgn4QZaao@e!5`#pIqjdkEoP&G34G1onL;ysmEl`rM zAgG^wzi)t9Bdy+vk<<^tphr*NmZ0Wl7)jax;Yx1+7mvG0D^(3G%<(PTOzcGhsqG#5 z?V{^`EMP1Q_1@#l)^~#1nXi=sV`n5dyIW$CaP%CKnVoF?gy_sHCkkkj-dcLX$F<4e zr39pgFN}6S=8jfTZujHaF;6eDlP7_yC>Xsk{iI(5tgQvNMo4=+S~WQoVG_Jz0w@b_ zA`{IyN?C+xu8#}iWP?(-YnimdW z5hOZNm`~(xAwt*dlW;3U>yv|8b`Nz9{CsS@vp`YOB!1bKr|f*5i%SwO^Yxx+rB5QU znZ{Cln?yrdm>KCmMs%DqiYZT7qQ3YS?IL$~r%P3y8C2yl86&7@tEmK}&*TN$PH#zTA+hl2; z=G9Hru)EQjN|Ja2p9$(6I4?Wy&NmMJL}WB}70$X0D19^RUFw6R28mXsKhJ#kdN@Yn zIs4SDlrpFTXcPC}Yv~_Bdso1ifSaqIqd37vo*A{@UOj7aIg_ZrDS3PWH%H>k@uTN? zNFXY)3$MHz3Q~+x494^Lm3n9ell;e}n8lEvNkhdRg_*Tc16l7UxQ{4}ZnlG_B8crA zuL)vGq6%WYUs!tyY@(`sF)I>fgQ%CjOWPoum7f@Z*pOI&n2?x&SdiF&7?2o&=#yB1 usLSuAm%=jSh+%n&E*Lp;mrA8lJ^cgD+t8JE!ch_c0000Bz*z3-;uumf=k0AnKW0M#w}+lC zrvo*MxxD&Lv1(*YSkz(DaooE8-s<2rcD;M2O|^}Uvp@Cj-Jai!ZA-s{TueDu%9yK7#^zFQEw-ve%ywpAQ@zo6y+9y{p7g#^<;VOys+l2PqYFllz$4dJBRm&LDyQ?KvyH$Tp zz8bS$H^TIKcDVB1GTw0BueWa4tnWP>D!lib+4=1E><8n;j+)eY|Lc(k#sq_>tDnm{ Hr-UW|VX@s; literal 2410 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 literal 12839 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
  • l<%x7zMcxCNkMeQx}=3|ly zn84`9`nwuSkESR*j6By?Ay^a>_jnZ#9LzehHOyH3Q3~yaVCT}z5U5I4A6c--d1l2upj5&quWojZ zCKMoQ;B~atLT7V~sNAZ%l@}4Rct>8v0xQzEjOXePMS$cFjofg+6GV(

    Z_ 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 FV1lD5IK%(| diff --git a/world_maker/data/heightmap_smooth.png b/world_maker/data/heightmap_smooth.png index e366caa8452be770a28771b66402e0005777f542..62999a1f3d18c675b575483f0db3fef7ed14ed9a 100644 GIT binary patch literal 1688 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 V%>$JO8iN1;002ovPDHLkV1kgSbxi;O diff --git a/world_maker/data/heightmap_with_building.png b/world_maker/data/heightmap_with_building.png new file mode 100644 index 0000000000000000000000000000000000000000..d6902ee68df1bca568860ddce3b8afb275b09f88 GIT binary patch literal 2057 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 diff --git a/world_maker/data/mountain_map.png b/world_maker/data/mountain_map.png index 57e7a166c11dca4a3dbfad1dfb66b6872a196fde..67a6fe621097b09b1b4f88d2a210577732c27616 100644 GIT binary patch literal 602 zcmV-g0;T&`W(&4I zK@Me503?F~Av+~BEF+}0QcC$n0s!MwC$g}4;V+qU};3VHE}fx~3!yi-;KZw@j_xMz6E!Lb&~$;=DY zbQ3exWVP@5*cT^cw5N;R!dfUu7#;&b{*dLU0vwO#Ve~`KQ z6BNRp6{B3SxXOsaU^gP;T-WS%)$5Wnr2 o8dk4s;#w&HIW$^ZZW07*qoM6N<$f*R}+3IG5A literal 809 zcmV+^1J?YBP)77r`;U<4(>eAUKMG@PTXjgTWJr>GIO~jV= zoJ0rQpGdn&Lqco^uh#1FU0EWnIq~n&n3EMmT5{6rVLZpzbFxH2q#-Ahx4=I~Ehp_F z)=T8}Io@|h+Gj@Z9?dzai&z)e-FCQd!7LN=;!->Q*y>%2Tu$tdaW9I=cKX?h1Mz&H zI0&wb)MQH@tU+n)+L~QFNGD_0mVM%!Yfdt;t1rKD=3&gfm~WV0k`MSp&B1V=;PU>+u%!f!~5=FUbFS;eV zu0E(D-Po9)a*_*Rjg;&rrC=8k`OG;j6Zt#u)$gn(Qa`6PR4Eqa^?%O&t}=3E*MryT zz58_V_uK6MRM*Y|MfRC%i7bY2-Q=BBu+>DQnv4fye}8<$U^xEn%p8iyesPn|C;fK< z*jtFyt}JN4hlZpkU4gl=5J{>liA^mpR|W@}IsPf21U=*A>IcZ}roL3Jar^Wr?bSaY zZIO&ukxR$t!rY!_Zbb@f;Y+WNTpjsUB9nOGcvab4i$vA+_LVE9Xw|jA*D3{N1sO!n zJ-!Ns?oP3`ZrACz?VMlF`z}TUJOK^~i2_%N7V&FK8OejbU93yaoWRJFT4ss$!bYl z)p%zi+C~M*FyHcoDOY+MM74C*Fx($y*GjoUZ#DiMB^NxZ<+WC8B$;2uw*xvXGhEZC z3>+RsYYpR6NoX?Jh@~cMGmr95n($$ds`HOzX9xR9c!xPVI8Na1UmY`Nqqmy>A|U{d zXor{rm47u3$B=aD;KeyDJM{)&;#X4uV(B|I0+3sKxuss6F66sWW;54!oLLL(zERIi zsi*mpm8uM{^{ymTxa>dG!g?;E)~K-mn!T?FoKdrLW3m)Qd0ZMRYwUCwbH%1PYb(@P w9A8etC#v|XH5D5G=-#WZO?<<9CvH$=807*qoM6N<$g6O)%&Hw-a diff --git a/world_maker/data/roadmap.png b/world_maker/data/roadmap.png index b5fbd3715bfdae682e1bdf55af06039cae5ddebd..3c287cc2b678f61cbc333ed48817f072bec43f71 100644 GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^sUXb31SD_E?V16kj67W&Ln`LHJ;=xiik#a4Wo57Tm%S;uzf*P1$-FCKlQX-! zwyntM?)s{0R?ybtY_NUXU%h*O-n>?OCMKF2c##nCdwX8i>$>&gGonM*6|B3p@Y>vc z=M3tLTb(bX>fCu~*Pk=OC#PG6+cxfWbp@&RePXI#6SnQ8_ZbXNT-*LG`)RUL^(;#h zWH(seNju6p=kUKm&4W@b?aNTL6&<%VtL{^<4*zRY4Dr(`*8BN$U&x-^Ix{+C3&>6= z@w6#h!1>1aJ@dg1i4pF9cXIXTIo&(bU&b9@dH)+ML_ooE>WwLf^!InkS<%|%SA_Gn z`PbV2_x!v1g{7IytkRzoV?N5Gn7!m}GS64NKa7z3cB5zGKgS)$DF%~}%?CyHTEl;}ZEtyQ zDx8(dD1x*B=$_~zJyW3*3yjS z`%dgq3&Kc3QxBfsY`yh(t5^NwJp0$5?q9x8x2_WwH{e)G{WkYo^>7!DIjc diff --git a/world_maker/data/skeleton_highway.png b/world_maker/data/skeleton_highway.png index a486dcdfb5e79d39a990b55cebc6f8e21cedc7ce..cd2f09f66b52937b25f3ff3dd24c8f0703cb0584 100644 GIT binary patch literal 2933 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 Qm;e9(07*qoM6N<$g6OnK3;+NC diff --git a/world_maker/data/skeleton_highway_area.png b/world_maker/data/skeleton_highway_area.png index 4ca5c47cbee2db15ebdb9dafbe12c2c53bb1b794..fd47f444c58371289dfc2f3ce7f2f47340780444 100644 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^sUXY&Bp3?Ci-ducf~SjPNX4AD2N@ZGye5VJ>+?Ju cKuidTXVb7_U_8Tp#1X{zboFyt=akR{0MJztqyPW_ literal 748 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 Ef}csy9smFU literal 1127 zcmV-t1ep7YP) z+qSD93`OCL{r|u0d8k(IBq(8pX1(k^ti?=ok)oh;CX>lzGMP*!6G#4O1IHVUyrBn1 z9B()HO#gQ2N27{q#?wSA_^GW->ukp$dNzc?JD1ZE~EX(P(_#`oi zZ+$2#Zgz&ImcDz8H2R8|dC~)MzV^X%v5wm1SSgNApg|ZGMahf@LN^K9A&wqh@E}C1 z@HvP+(Evg*Oa%wUCrUv2wgn)_9DSdt0byL@!9mEqdUOu5Pw+t=j1r;ANbqDNcrp?^ z83~?@1W!hSCnLd=k>Kg)NDk1Oi-CGS(3^J^p~QV2&{5t{9Z`(pp;2` zfTD$^+FQ9V?}rYUcnq>;@}Z#PQtv?)XOAAZ4vOqeI*zH${@jA;p3o=VDb@#VzcngF z7v?$dsX(F=WN3sN6E )e`JgOgr0WCQWcD&$h&y(0|*1ebOqepWD431XPf`(_6e$ z;@W>J&6A4Bm>0uH?TpW}2v-+L#Zm=Pb!pqX4!Pmi7WnYmeS|xd7N;s2=5+D?>b;+3dJhvJQ@+>R#xA==dnA1_0zyBnf+SoJW^Blj zFhSTcE=E$A5m{#&NmcRM6&UGjC_^=;P`joSuV&k?yzEuTC+#Hp&is6G4olM)-}i~c zyhsV3G&_E;Nnoug84!VyJE@U@h-7Bbn$-NQ$$28ULcrYB;Ut$jnCTPQx0@GNx_RZW z(o0WFt6k!2XtdXZ9GCoJAm!*98uBa*ZVWXwsPr%l6q@721_HAKg?$TpSDfDdG&M+? zyU{=-M`p<;))I=<_DmIy)-lo(_Ng^JQ{>^yS6ZH_2g%HDcd8z(c>{8*<)f-G_u_n2 tDku<|HPp(yR77(MEMOqxx0KO9+K#%w9j0? zkzm2QG;l(`;5j+Fx5OwtCdQ0u-%$%X7L5bpt>{rqM4O;S)LNezQy8*|GRAew8HNqs z4ho+kXdVmah^~R}3sKWH2k|L1d}bgng@mgx#G{aM9fLR&GQI^MHf1#HU{pv?A?oaK zqb5d&bQJ3CNG1)80bytUM@=!PEl&#~jLXzHLg|Ar`jmm$yW7%isU|y#V!2^uP5quk zF)TS_AECq{-c5mG9L=*m;FRP^An=U53Bo8jh_|?2t!-!jH^gZenwsfOd|^!~ok$gm zVlRscMl6YuDY~&7Mx-!W= iVt*3YRjdEW=j0FdA8FcYvCQ`X0000 z*Ou!b3`OCt`Tt+$J~)LYRFH(6<@1na5*xG;y?9c3^ym?${QX!wV=Y7UkXp0g8}jUO zV-d{nR0#Lw>Pjc^K}h;%6YRbUH+BC^%-B{*DHWdgV)~>sZ#4a5-{GJ#d>}|ScV%w$ zQ&j;JN(Q?wQY6Wr_dOQj-D)KC()qR&xT6IjIVGi}N76)?Ny%D<`##@FWK(xB9E4a- z3F*4#e0x$Vb9V}uPHi)$ol?clXd7d;j1t8r;dEE5NK`t!NBUib-FH<~NlDcw4T}aB z&#$Vv>!e?_+moVKuXBr~uFR^Q3ny$3_1(Hi~Nw_UiToSGxl6ZPZ%*F14h9zMu zDhYp75S4_lha{4&ocIeQmwtz2Ha^KI-a-T}$R|dNfi}u1O-XX~dQAL00hg0oc_qzA z^6=pvTGd_oRxCr^m1lq4p(g8nGIzt=JElHkCtgRwv@KHhYe~?ZI)T;9eJ;&)FDvrd z)cDE1)HiowAnu^dOz`%}%^i|HKA|srJBsI&%O@)%3-Wsup(CyGc?r&gkx2H8X-Tlo z2;b7~84K-{wNJ|Qqm!8Fwj>#>_jHQlN>H~Z?d%l28SZgyJ^1!$U={oH&`OYv=eL{# z$?P4^)t!S*aqQJ6KD-=^O<1qW$@w7)Rc||i+|_TBKa91A{__*H zJ&Ed}uU)50JW+&%v>>rqe*{pfuW#ZLf>$g^Yz}W=f!@X^b5;4+xi4(^hy+)Xt(pM4 z*)w<9_OJbX!r>ry^Qw!yNVfff25_S8vg!F8Ai+V%4y=O`=B|zL3h_2}=uDD}U?=aA&)jV0DuewoAR5h0?*_tIJ8HH_BfX70YP8ON^Z;ZQ~hcDRqJ4j2Rj1 zBJbIgu-7o5X#gYyuU@@IApv&&Wv7$=>LYh3D4%koT5SP=2}yXSDc8UA;LOX3TUX$g zGk0C;Tt!jjlOSELRuZ3t1d)&g0GXM<&RqdG=3{7;rZ7k%aikH2 zP7;eF4F-`(!h!TAMO=?Jow*C>kxI}>|A}IQT)Jfs@};&(A(7m{CA2A=m?WL)6raQd z>2>FF(h6@+?%@&Y8PkZWib+Wc^+{NcQRI`EhlQ^VE`1UN`-bdWmpq0}_$rmEv%TKkkwq1TpA$+W5F6yu(2IBxX-p!j6pY&38G9bM|#(uAUab zj!=*>E5v-x9UAxKf{?jO0uqvBW@lbqz?da+)!ZW)yC5D3l(jN)K|B&rug*P08o3AA zYh4j6d~&857RPFxyIh|0SyDotHmVX0FBEy4OP}ncIOfoG?oxjSiuw&-A$1q+zxsi9 zuYUp#PP2v1NW8+9vw(J0dtvo9it|SOvY@ds(x%W;;`mM4|+W5iZT)kR}L9$~=&Xx|zDKSqs?KCcWCyG?65`&{KyvXyX(yhN| z`((Gt-%_dD)0vnh{@m2jqL^L3aO61+mmC&7|j?=X}7XmgoX zv;YfoCH7E+Stj+g zJW$z~)(m7T)WQ$K4#c@ZHU#l)<1Im4NlZaJNo+wJ%L%(9#grF`u|v#5|H#@Q$?*iU zd6K!1c!0Q&xPW+&_<%T&IDy!cc!8KJ*l|v|964fmULy-ep1FJU=+Prc{{c>(5B7zx RWHkT)002ovPDHLkV1nUc0@?ro diff --git a/world_maker/data/smooth_terrain_delta.png b/world_maker/data/smooth_terrain_delta.png index 85e44d0aae4a8757b5eadafb713741067ed04eae..0465ede040e905f08951888a4a86f361a0ac6302 100644 GIT binary patch literal 1364 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 ByHo%G diff --git a/world_maker/data/sobelmap.png b/world_maker/data/sobelmap.png index 2147614737ca05b393cfb23322f346bf5b11fc3f..7b3b89b728f24d2638dd82621452c57e60c634eb 100644 GIT binary patch literal 3404 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 literal 15324 zcmV<2J0rx2P)r$B@8Lr@e`2a&xBGmq{dtC{z6B<74=SM2oI0B^#DRZ zgD(m#{X$m*9XcbPXaqDqd3;?O0i$Hit!MMT!J6~Smp_Fpga*)3fIyMsqU(b|bdVB2 zBj6Z+1C0Uz5h;MgyjZ0`2fY5Qa1W8=BP5zHmrZqv1QfIsXb?#y-+cS9OG*j02z6}< zw{hDN$Yvr5NNL?#2o`8${bxC33ebEU0tf+h0RlvX zAwkEuUrr#$)ftk8paCN2$^a-Z(#Am?O6LF^3V}usg$C%m=h+WY?e9Hq)b06{PStna0saeniZjye+oGJz5uQPw~zZ}%BP@u<4nHvf|$ zZc@~Nq>WR|pqD6d(=Hdxh6R$AnM%lMQirYU=YRF&o!$)SDL=pY@Df0h09DsT0%ibG zu6}*<@I3`IKkm9A>%!)>(gCQfhX4&JPJ;mI4&07o-TsQawU ztgj#w=zF}o`1jwYdXG#A?eX!;rw~i0UCmMnW6BK;0kfV=04)G2P4L4i(k+M_`Tz+|W9ZKMNk|4A#yk&+^`??k z0FdTN7+J~%z4V8ZhcZ)0KmoV%g(PW9j|@6ekeDy=&`#U#mJ6Z1(Iv1f+ZA+NqHO>g z%ZBn!;ip15a5!N|b@NIUpoAktr|#r1BuzryV49R>$tmuLK-vNknNn%16UMA>qvtL_ z0Xmfc;_8bj+!Bw`2?`>TlADamJq-X_ikP}Jl}j{;KJ09Uk-B&=MM`jlV7LjA<_suv zhEIt!)IX(?lmPXxR&mIobU+fLi=eyuj7-xYm20EI`?gYM5@bvnMGt|hBWQ>QK&4xT zEX|x76M!Uy3e?b{ zjb$(~bFsq#(_|EOLRi~=7(6686(FSGj8s9}_wkEnr-$uBTxq}c@BI%fk6IQasFdZZ zFbleoP?88KI&V7xbju9Pg2vV{RZ(P}MeU3Hm02!XPjNDl?i6b=w zIb^AHOh;yIc>HU>m1w8$|G|I150^8Pk(3A~Jm_w;6s##d(vb=?z?M2k(v>bS$sq{c zqnEAql8!!dLL9Qzfmn$}acS4hkdpJu>+?%ssxfF3 zJ&kBf?g7$>L~DIpe9Mz5tpytT%LM>hr6~^1NLIEoGVz&)1^nI+X(TnygGww*^du#u zF9yt@q;VGY!NMycDqtG=`}cHL&lzu$5EM?*U?aFu5Yk(JanG_>GXU^L0cez1Rn0A- zN?1C@N^%@Z9h!F(TN>Y+2@#e;x&v@i2#HF+k~e*kNLuPhcpT)g9&Ms2D{-<>JCLAR zhAYh>WLoPlSn4~oTO$Q7-T}1ZyKbkAB!$WeSV`qwy>+}~82Jeap4IKVygZ@x-7N`# z0XNNBrGg+L$-5LscSV{cQ<_xPVSwn~qe(PNDA?kHmC;A49!?~!bpS2y60Uj~(ovNF z!E((NGAjgX=$2I>CP>`v&1dFIyjiZ?E+Nu;nn&1(A~eV;C_gHqHEhTbQPDUF#K>)J ziOrbu=IUscmpHjXBvMcsfNTu_TBT2iC&rPo)cwBy8L1d07!s8hm1_oKGxQJf?!;}| z1(=7WSp==zUyh2;0A=9tTNuS%RK;wVw^pQ#$ZSY9gE_T#tc^W=c&AJUM)KFHBB^8e z_$2~&5<2pBH(7$@sIT+oMUkFHMur(^VW8)XA`U_UN8TwH85s9%D528ERjP^*IVCfs zB73yeEWcjL2q;^lBH#stxcTD1DE`_sl5`*81hR3w!0^Y0 z0w{b4qe{4yhA6EmAE(_7w3Gn}G2uRLHpW#Rg)ac5j1`>IXr+9i(qFoa8E1PIBx7_g zPGq7rDFm4}lfdW+pbcCJ3b!~6UI4O?nX0>nj}odN5p@UxsT3x}q!|r~40zHboK}HD zvLn8Jti>{;5U`o<0WeRpop{*{-Yg-yDHCmJ(J8R4-m`h^Ayl?fImpevt#08*UuQ^z zO2~l_Rm6N1HFG!85Roz#*oCBz+YKMU%}t<6gXAW_r$-QgX5i_3ecH@JWXdWCw`OtO zBsOdNrHR`<>XQQ>8J3bp!ZAWWMh$_H0wE1hID*bY-)7YGk!TbofI^6>tmhDW>JG~? zC8JUThex^PekPpry=bn2IcXMXjfyUi21TY66;IpEz$-+TD$~-aX*WJXHbf9W+K4t) zncN9df0F7BK%%KGu8Oy^DpC?nS!fH(LM?{5-_o>p0eYhqs^cw!&6RMIz^WMnDBp#{ zWhtyIEyA5vxW{l+8Up!<0vZ66L7xf&VAPa#z~z*ZPRT1fqG^DMO3^IvNlH_A&A`s+#0z-%n zIph?xaB~*gHoyHa`QsRmYzi>-LXGNU3W2Ta#i3NXWm?6X8BGA7r|r2oNTjS$Fl2-Y zo0&;jnQECw!wPlDuL5X#vQn!nG^>XI8Ei3@R3FC+bNxO3)L6639feBQpMwB!t&_7(@uVMI2=Xa^Bs= zSjvK_JBR?-As{Q z{xeL8D!?pz8c65f0ib=N83c?;DFGifaov4~EPymbLEa;$d}Zp!0*-Gkv7(?K`GAO- z+CkwS1IyRlm00G27c;V7&P;(8S*8Ne!pyRV5l%&cEA10yFu;WBJ%E`eg8+&n^`AL$ z*o^N5;ZCTbzzW`fV%`Z72F%oMiZW2lyW45aFa1R9nh6f%o>H;<@g07^;lSv3wR?@@eBUeey2WGnfuM4r%rpWgT|mRGr7Rl+ zTru2kMsz|-SdJpGQTBa{AHkjmkZ4 z{oW%B&Ve?iL3a0@BTJh0MyDZhH6N0hk_LjA5@;3SQ1TUkVga;KG~K@nlJsgbWHrvx zQ0;I|XH1nWybnp$s--B}0G7pyA*0Shj7H$?b>HvQhi=f~0_`G}ocgCj|!5!>VN+MA%{Mb=kD^Ld)u&nvDihrH8{#K8>Zf3owML zTa|xU|P!z^iQ%CI@m@7YXkzyN@@Wiu@yZc24bPOLl{u)X;pfL zp&>^RGm0&Ht^Rbh!0Q7SDQNQsvVQT42DV2oEWf3$lCr(ojCl?fj(c_o0izq=(l zfL92}^811b%&M|!P=^gIZ$yUNK9Yn+!8N{H5F7+7VM$d%Tm%G&7BH2EW!e$vES)3w zrH!JzPR&Mx>1HHMn?P;-dNnweoWO*N3sKrO-sgl6)h>gXvof6aN{*R$qj55EMnB#n zP2@mQk|{@85X30E=1X@#{{cUgYE{`4nintA>jEIFHcncRaz+#d#L3IZf)f=S$rM^c z#4Ab4r(vY*U>k1Gs&`@=3Y}ol- z_oy&^LxRkY%OZNkqI8>O7V5qNP{9X=Q6i3ZGd1WqfwkRBLXg^m^46S6K?!D<%NRnH zDZ}Jb=w{{t!S7PxkeKD`#K5+J|%{EIQHH3m)PuIw~eB!yHhIzQRy+D`J`g<*+8!dI4H(^fm^dcb_07Y?h-6xL{eJT7J^dwkq^UqllzcoH56p#nWKOJe?Y1_EIG` zg)&FJW@-0%ZU(F&XaPTdo^BEDBO1{G!>C(sUg}kd7g)cB;l-H0q<-gLI&UAoyCk%|Tmq|GW6#W? za#jB~2&8%3L`?Tkl<1D24}uJ-bc=#)KgBI>Hs}l=w&J$4#e}9M7HDbKS}K!l#)Bf; z>Y~hr-~CtfpYE1)Vtx4b0yk#v5h@)W#Irj&3`$E_n#J*-iYyo)vmvx#pW%X`iJ!cx z#zbnW*RV8aIAP8K@D^sPk%cG=H-y=6$0?w-IuRxQ#_~V?jLXBLr`qGg`xhW0cSy`c zGq?R#id4S@R4Ux={2FF=Od8p5m4OgA&I<*p9HOLGSx6m!6%p=;b?K;*l?t&)u^@85 zCRPPYfgx-x&Xk|MK7ZTR;0}r!#-9^|PdXtM*rjY&)4tyqaUyDfBurppn#5s4*JS~QsZlixRWk0 z1^|9YQQ1t@IVU`UKKmJWIX>@^@rI6r=c9B5*j#K5TeP$9L1r~bK?w%O2Ft2PANh1a z`@R3>zsq-jQ(F)Gqn983_8K{;T3IfD;-} zJXht=t?<#?KJuKA;0zC4T=L@axclB)hQush8EqCIrI4iB-U0rL@#8PgncAM!%=bTi z?rnYgZllpN3&W}#y?Swlm6It|byH5LVR+lB)08VV0T0**2u^A6lJrsKg4qtM!=#so za#4INDu`9N;iJbEVt3snO-9VujSQw2~s z$JKYVzWwaaHW-)lG$7zJ+x4Q*qONPi+Toi>iiZLe7zbKl zxGzju$^qN~kwhFQk}ZthtE*dwNn<9eVJk8L!LI!gX!(5IEVP{8e129ueRH{9t67pJ zAY@04o-i4pq6`R%VqSX$jlA){$`Kj8DrOZJM<(kI&^V|$aU6@n%t#}dk?DXtZCU!( zCv+q@7f;Fw(F-0n01*bDT|x^_%jxv!&)3WMPm_2Y&e0z@Y7e4P1DjSKKGH4?3>AQ) z5m0!>EbK-}KB>y}78FY=sK(jk=N(XK z7O^|ZsrjiYxezTz-p|$um?D)kDE#gapx=OA%SJ zdjy@SbCKP!KZO;WL~vDU+1yS|&mXo-X|y_^@~|TV8KYb27HPm3%NRv(x}^aYha}~1 zbMfaTNB>jVX$IXDz$ieiPB@VXDpT$j>V#A39Vt$@$UH%H!QIruC=L$nC^eezx?C=E z8l?I)Nkf`J(wK;;`3PkCm~hA{dM(0>K07hbF$3Y=mK*Mn@WQ9>hoPElB8)KodD22kS%SK;@P>8dAm>b?A;t*6xasMy2s!}F%u`SfDs=NC2wH(5 zMMWwaZM1vL>@6x9T(06eqV`d4PLuv$Wl(jo4%0w{8%HwC|1Rar8jLc?fNU_I2jLVk} zVoVJkmPP{wULyqb>oq1UF_61gZGNBz&~6Rcw8ax17N|kON^PsXQDYG{K-5=OT?CnV z%SY{wG?x&{q%rQ1W?JbH4R>_px{S;sN<Ry0S^(88$tg1PV4^>*;3!=<4hz)^a5_S;YA3~F% z)<#dT-AO_+L(}~?0=YW`Si&Rk-7IfWg%g9bH>gqY^!hChxXqIdfTtTlRW^(PWE|tf zqgqXI2x3Hy{-;?ZKvtVW%vOm_dJ&+Upu78_%EstDW@}|I)&?>1#tE(i0Y*H*{L}K* z*UwHBLyGG?ej{Pod#}O16f$PgL`M|#G}y#Ifj0)hI93=a`Y!YA5eai9gk7m#4yG~O z!f3pqn|+4RF?eM`RR7Xaun6bqN{zh}z-$_TIO&`Axb8QcWk5%?O05U)H7OWMx9mVz z?lQRIdC)7yr2vE_J-d>{AEGG?Rg$9_z(!|WZ`>3cv4LrGGALLhBGrv{FHs87)ZM87 z)|bj62OE!|f`9>G1kCs2{HBg#LPhW*6dc5N8$L*?GLz;#3F8Fut8tVii91l8-J7Kp zlWW%Sb-`khj0zJKY7l0a{PC+h$iClgKPX$F#j%KyEY&A<2v9nV&}g=4 z@U04PiQBFU%&`!t%2th;i)v!iqnd=16J<8_wir$g#R|%raVsYxjVY|#(N}^e&q5$F zYqy3WfXR=HDRdUaZ2-NVFbb+DL6VFy;y;Uq3DZwpQ>NASI+!scS98;YAORJh$&hY? zciV~q0;MMVzy~$sIP}38v=OcmEDDTz(? zm*M>QylnL~KI%&H_Raz2@Xk}U!fWRVD?s;GlYt{^9J31`M#5Z~Y2v2n^S!;M0w$}g zrW;K_TS2l#-}2Sa>>UK)NQZd(?5S-a5;ZsvTH3%01gJ(p+`aN(;ff}UfZtiW!aYB( ziU4R-e)Hzj%9Y-ewZ{3)@!QGj8f-HKOtiRetR!iEDIpAVE1^z5y6g`-1kK?*&1o+p z#WcF_*aL{liU)_=h`YpF;e1_9)VV^q8>a(IiNV9VJCn(i)a>XGL{T@S0M+*$gmfE1 zsE;V|>(d_d7oTr2#(PngJt_=B`S!8Nwq8BvSzEN?1HVeVk+|7F@l6WWDxxn(#$Z8) zj-ixtaL4S>E7ukiDw$b3FxYnlG@zLrU7OPR!A+^16cj0XibyknOAo=-qbihxGCW&c zP;sUld5RZihlm&fBO!8$;h5pyToNmf+ouHDT)f~%#afZTW-nt7l2fpLUa$pFb8Nsd zeyGWH97qMga7&{HkR!P?kRh+u<(+S=zLI2f`smy*4?XAL*i;l+j=|>d&hHA#sKJiX zA_L5bnCL>?{SuvCncXPuiFmW1Jzxy70<)(v6yVl>uOAQ*@JuJ&V5=2{{?1i`-bQ9q zyPE1&wEZ!6!~Gk<;+4SwK7DJaK_<=#&7gs>nfPE-yKPR@)qxnmp!s&#M!(<4G(GVgI!G&&@|2hJ&iiwtM>^dkA)WoniOht#B1s~E zCU`B#@*LEUqpKbV;{#n2~Zz%YN_bW{Nq8 zq{Y4^rBissJ+*Q~k*b0Lv+MIJr4Z(}7wZA02ppSi=x%oGi{bbY5yF0biT;Myr)zq1 zMD)m-YI#k{L}j`2f0YPDCh{Yn&DvZ7jOjp3?L4n9OXBrMVk9Z`mBuZMW<+*ttS@Ry zO4T(pCM%>4s%1kT!~NFVdG-Fx^Y&D2@r(f^m$knNKbkbUIn|V=T3F<~UEo0<;7I0` zg}gmPL!UJ7(GCVcBvJ@EkbPT=G@A0(tI~pJl+B4$6oC;IFxc8)$k?g&=->(A40A&= zE9I=*`i^6ISV;ZbLq@s5;I@Nz(9lto)D_uS7?)_5(^WiNG#rypP%cttmYWsJz@)0y z(5mMbpe0+)yr*TQSnXs2yIpbeOXvBaAM|m`AUdtGZ_q+oR8h-^e})%l4IwKC49yfLtwA_U~iV^d|WSR{{80* z2FidGvkvlm0;MPwy` zKtm;V)1U;KL(&MKgSNe0Mi$AiIa4!1uOF6TB4G52%o%-BTkfe-Ga%L?v>7P(rO#|^ zL^q;ZoRvWvEwo_snlAuqm1KD;Bn@*Isg8un1pX)!{r{?@5iSyHW3tlPb;)N$9~2e@CN_`nv;wLs|Yl1am+Bzw@VXH zs*+ytBC3l%i9Tp80@WfJOG?Wd{FN`V{p7=T-FKezrLDH1fuHdTOgM6U{zp@P<-BI= zVT@knY~#IJggHRBbc{F92yA`7Eoneta(fHFQ8?0Jv4=5XU@amAT4nu~g&rxbcD%s; z;K%0|oKE|`ymU5g{e1a?AFgD<|H_>D@~Y9J*KICh`0Vnl_r)k#*~~!~gHb7GKag$B zj=}g_sehoIdUw=T4inJ@nA$?O8Kg3E^;-T%E)y6mtGakD8>R4`_ITbKE$x`-1(|dPfXnYQv|>GVoKD*nk7911vSz}dyF^}L zx7q94ndDKrOuHCHU+Ot_gp?-LZ0^Vs#?B!zCYl6fPXDE-;f1x7rU(W_W+=T2&L&R>wdl0>rOy_<=3W$jbQFIq&fy_IYpKz)E10n z!z>6BcLO*}Y>S_vOd>PQwWArhY{7+*lzO$Cb5L1>1h3z{J&Um!07a5%5N{i*t7M9g z#x3i31SDQHx{j>GA;Z{fGl%TvQI4HVHU@=61PD&h^}Kv&DSA`%0M!YgDLYQRXR|Ix zukj4U*kWn~ZTr@dWrb1kma0L9~iPq=Zc z51_BlYjl|4C%ev;o?R5rn<3Inq??Rv?c}9_=4PWMJSS10qP-(DVby9}-StrJBzZmI zd?!eh=OTUX)EK?uHf&a!b(4)HTcyOd1`rAL>&C^W9k%P=%dDV%xBNRB%%dTMMgsFiiV9f&>f*1%jAa^vL|ox-+t!|Wo^E!~d7u@v;W zY+*1&u4~)IX_~g)*sZZPuo<1ozHi%}17)voOC3xqU@Y)rwE+jwerCEUI>&r=Vz`Ec zjqaGnG1j!A?#@FIaA&r>ZBmek$Ow(P902xZ?4~nxKRc?O)UYk9L#sEM3~Y|f3U|dE z7y)Sro<*&g_#7~|{^Z=&J7(a55}b2U(_sF@)c?u2z)>731%%OY2A?>$R@~q_8{foj zEIv+m)ShG)l72ta`oPUn|A@Bz&vnk=4ApRi{d zEW=>pjs_@+wpEup%nG;!($JdQ7HyJyiVao#Rlw$?a=pgk9oI7&IH{o}(r6IOfdZpA z$jG-wiV?tDxw&a3Ds+jpZqp&lgp<{Nb@CdmSg{SrB)pjLMr*zDhIE51zV){B0#N2< zjx92PJJYiB9x9yGrP8|#hikr zxvtiNg?Ck1PRcB3#zgB%G_I?n@BXN6S(SUj2%9|~dp%4S_u5wYh9pDY<&+=_Zw#Yk zk*^At(fCGe`*J-58F?0fl%O?=2BQjh3emwanVBSqJ<^PX{GmCyU#}bA;2Ja_6Z8mc zhB+665hd%7uOhijonFg^=Ajj$Rl|egXsdk$uZj-*(HCEj=MYS6WjJKWg0vb;LNhE& zMv|r>Nuh~@K}IqdJ2EfN47~H_y(%Cjyz3`1?a_|Fm~*Vnm&wtXJ`8ONLiA-n%`uN#ZCwjP%v29lG2`3w z%ifL7JosIr7eAMkokE?N>zfn%HEMiV8tlW$y^`{p7*NoQ_{ugDkF*2Jx+U|4d~oE> zV=2um)52VAdG$@5ZlU`kE}e>`q$J_3o%g2zM+b74sh^?~bc+;`2>Ih;+^?Gkg#txp zVP=|9F!P>u?PJ6E-6D4br~#Lhmie*cLP4`ygnGZXe@IiZ^-Ldw(0Mx+fxup)T7cQA z=c{?MN_d7O3!b{8ExHCO1${iRUpBt38WmDYXvFbw8V1(@daGkVwZp~ zj1YWm^D#3d#TJ)dj4ox58fv}ezh3B7jbqYs?>uOqBUHo7?u*!eFa`$2wEP3YrWgQ_ z^H2tkT;s4dNAYV{kOlB~ZK60k$i?yE1CjVr~R6!oayR zls29cfVGBRL)zAqRX93b`Nj;vuOpG%#_L5Wlt47BK0+El0~ zfV45Ia`aI-%T_V7Sl`Df(mr9T517)Zq<|m&bGPX4A+@l8Ji4NIii_Iy(7-xK$f`|p z5TF53v@p(g=K$c2ioXPsz3RI|AYC<=k1zP{p?~wIS6>#7ecz5jlCdGD?j|hhV-wlB z>{*Pu+SP!MXGlI0q^>%Npf^REW3|O5_W}=UWfak?%+=hL^cpu-ypAUcpDr`a^H2IE z=_faB*RJCca3DaSM`=av`EP(N7MV+J6Pagma9Hjv{_s@EtU?tq1?YJUNl2xG1P1fU zFst|K7mqcON!Sw#3{8j#eNBsjvR~>kx>lWDEPMl%c5c>B6H|;v3#r0=3#(( z{q5>zsF~)${7NozhzHBqz;*hGmH$jZJBcP$#Du z*1$1u*ELG*!ML4SRMr~pPZ4eab^Mr^Pu=_bZsV+)N0KI4f)p0pdM#^`VwR*8VGUpr z;|&@E)*TIN+m&u)hH}q=#EVdkUcSy&iBXVM7^KpQ1&;fTW5>Hy1ym85<|pXBZ90&p z+4cs&L|9v+r@|o>h=B2YNXjk2!g(!I@S1vUcCwVvv=2&%L$qVP^?@ADfwFl}I zrP~(8#|*bg4jj$T1LUdP)b48*C};{IM;Rn@?Z?*I@E zgXiEj-L})-y#}Ks!$gM(wN_z}P=Rv=eRIV1)L?y% zs2);8m{KxCQ%|5(=Qu#XsuIFoE_AoYDL)z~qmNNCpwc9tB>9T;WiDsyxb;j$CahLD z{$NH=+1Zf&`Q2GvSR`Nr)|2n`HM7#M@G$z&xe;g<3FI#8bW^SG@_r;qLx@i|MbJ5R zb^@cDTu&FlU_jPh)u!v+g;rfi4qiV$5+>d9yl!}2e$49=!XG_J&rORh2u;+!a*x{O zj|9?GI~9Q3+&ogCqanN({pb*4Y>K!)6oZHZyk*t*x5~Y89b|8BueV~iKGZnyaUB~n z>c9XRd-lh5yIdRUF?kjWsTK5IR2<1s53?xeDKgO@h}yHYv4%rl-wc9c2{AK}yCWgM z3=}d1WIAPs?%RCm$Yt?m0}f>XhmqZ7UIq0CG2o|S(%-0Pb3C9wESK8nEOA;O7zE(A{P62?L%!?VE>Ol!sDtr=(~?0CMC0H@dtpc!P;<6A}2AJ-@k zlPTq%DK=lRZFQ?#J%tAlGFt_bOdixZU(S#A{=-D8r)tTOGmnX*zVM0v*5s2Rb&3zS zZS+N7qMKQ@!Hc+L4XMVlxI&;+%i0QFTHkHoz6k4^mE*CfnVHq=X!-mi6A3h!(J~V> z!Dn5aQ5GxZAxWhL`#(|XN zwS?9T8MZ7-+rGIZx$W!2qUG#+@&4d!)}NneRo%K7;1)8E8dl+CmeJwujPE~x#32Z6 zY@QcJ+`J2z>0TrhchWOddrNN<#Q@wPFNW*4dAjsrFMU_7!xw<| z5{;v|!W?Ed9-3R8tmC`o-~S)~anXoBdgRq{D0C?4taU#GQ1;^e*k&&+@TINM0T&IZ z#XEPIBpskPN8jD(G>a{I!ky-g`>uYyoKSP+HT+VysOAUhZi|ObOUKz2=+~B)EGO`W z7WU=kKltju{ogZyv6}ThLMrGA=a}-P;MMa9m>IK2G^ZlCGTW)ywtF)G$sAh)bic_P zw%Fe3-b|_9Gi8nRX0dI17uvg}XHN`D5RBQ$KJdWP19J7m$(6`Uizn4e?{m@~-aN&B z@_YZ)-wPuI#_?PY0C0w!;m6+5@kkXS;A0X*k+o97&nukb;>f;_a`Pre4WJ~tyqTjd zdU+0t#m(BTy@vpt9vjgkGc#up(A*Yb4=c>U6Vn(k9xp-$pa-EnJbs_}PhbA?2`mt} zd&X?dfsf@oesmED(KRqagex6>UL(%vwi+`d`sC|s%295?mL-GMvPVF0v!?xW>GLbw zsWnEb)_v5r@O^aW^4eNaD)!|Bifbw@5(#M6`t5K3@xM@^c=S?kov0X(4XAZYg9BXp zTPI^ylOFC1_rCgdTedAkUu;;e`n)fGYJKyi#m2=hPg^?~eWCixOF#5ad$+ba>Y>(k z6WWvn5liKi!IM?n6f{HvncejMAOGIp`iF(6g#g6Sk{yo?5EHj&GLLabN-!36wJnXi z9v;cF_L@dqAD~o5L?25(jkzpv<+3~!E<*R*w(at2YD!<6Rc>#{g~cqD zWQ>tST3$ChEl$$gwKXU+uh+fbikK-&4>NZvGhsHSn*jjl#|9XXc#{{qb{ex|NAT3z z+v_)9{f&S7vp@Nt|4~0$o%eLvdZG)VFq1jZRzyTOCUY}CEtZ+>LE947bSF)H?*hbz z92=vkOxgL=B5eOI%#hjlkB8_!dC_?P{1dZGq|9jQK&UND_KZY?FW>*KU;NI)zxn>3 zvdpAtkYm?y?HyG(XM7YWx|jh|1ebN|yV@F?^XcMDiRQgWCfa$4J_kkV?&r1d*`J<& zr35!+1MYUbxdk>+b$ z*qU#hrxW9R#=_jURN6!F7>xeNzK4`zJD<<~@_gMc+pjIicuh&XMJQonJe;o`R_hBC ztxMbD%gg@q^zL{5>K|uf>}`ryq6lQc(*l_qV@)Kzd4s)uJR#uu;kxa6NXa-atu$P| zT9-L(arO`2zU;qRrGBX-v`7dUxoqvUr^pB+99J>a)}GJ%Kl$vdpQa7Y8aq^qqY-}>T_|mq7 zTlSTNg;~dHpuhj=SD$|qnEiqKBELw7P@&%GNEgW_kg>0e#mkdcyj-^1W#;u-H<4VH z#gWSW2mI7OrzHD+Y8xy7Z8$jwXRq*Aa5oxge|Y+9{r!XlverRH2{IlY0YgGJZmp{= z-BwR+Sb4n{WWE$&?rzG1IQIWVlG?0G0I3ePUB;>$DaoxjTBCmdcYZ6stw_RJ>2^@= zX2D-|h9edLNqUR6bgZW}UY>tIkP;^LAN&u$fh3AaQ4#WLnFHqNdSD!+R=MfrR0JM#yT5EvxnQVS9SIOF91hUq?LIav2Xy5e+CPrklA{_;oV( zEzduFcV@5o9ZP_mPs<}wUBU<_K?Z{>9!}wFv^Vzh?aN=F9Cwmj`>6_IOEOcgT~MGN zkEzHDAhdmtg-eELN&i7#StM^$H!X`+Sby;OfW~sV|VTXW}>)b|`cPYUi$w$QD8@#D+;htK=h?|+%s`iqcc+s`JqOqUuvNXgww zbqJ0})Ow&647t_#S&h}xGFglY%aEZV(jLC-&tIIM|K$DUH;s3{i6s4cZoQTbMFSCY zfm!ugM^k)uBuE%&-de?GI=TeP%$RaFEo=L1|Fd`aqo2S33m4;+B)U9!MzI;t7GbGD z0V;YXvMDl^MZxAmBW%ER=(O=j zGdYBm=t`xfv6g?2Wdj!JX3P|kUCnLZ8~RuM|NidJ?_z%mqvR7wv~QkCMsvDytuV4E zcR+(A4Efllm4JGr%xTTs33H2>b8y-1%+~DdU;KGUaGPQMA%Rff1UG=q*Tq$jJswXnCR?fo|&F2C}sYfXijdOv=0ded?z;j8*?*!!SgV`-*+ zf*0$lepmZo58htc>6RiCzOLrY678Is@I~x^vUeDR7oFPo*V8vIjoB7=Qgk;{rf9|< zZ}E#?y#H0XR`IDxGk4_o`}mR8W$V=jaD#fxYQW^n30b|;(^`FZ#K9N7NwQ-p7)u#z z+hb1>?wJBx+hi6U?&j|6c3I39I&FFLxqbH`;fTzXE+W?a_Um6A4++&sta7vSL!_-I z#L~`7ZyKDhMQEp?G8t)08wY7wPn;Po)Yrs6w$6L#Xi7TAr39=7%iN}-E8a-Z8I7lkB6?fmd zjP5?r>DVM?%`#Yi^psq6EHJOl!0<*hGjGfJdhNoy$CH~GA2MBMT)zHpGdIKK=TGM^ z-waf^p!zkw-#)qSPhZ7^YqhUwcW;l{+4gkqJ%Q>rBCEq}%-xsRkGK*9nK7Sq{>fcx zr-fv##>|Wmmxr^*uC^|Y{`_o@XGiWYUw?aapc1f$^WC%7^ZD0<5F0vLQ`9WqvOK<| z;B;PN?8I=Je5mEz-=nqJ?o_e~MqDnKdqY2xrJWWdjf&oT53wx|k0%y{13~gr+rInQ zE76dC?JO20}q^r*krUW!*cBx?J00^r!N=Z}rWE u)h{-4YEJ;m;{xChf4%Sf|6hNpum2aim)SCE@?~cL0000IG%+O2oL zqIAmsj(_)`zK}mKPlL5HXabOEx_UidLKDgfx=>;xw_ftAzRp3T8_bpPK#2<-f7_qb3(kk10*d-gdgb|9QJ#@r-Q$ zZP!Y%_%${MUzWTQ?EibXx9j<-j_3(rPee!x7TV3f{deNVb*uFqUu{s)18cMvnLX)o zs*B4q#$eBNjx8&duTPJTE4n&y@ArslPo<7tu5{cMdCYjCh>DkEeBRyNvW!rFzJI{X W7!@>Cd*$~`kcg+NpUXO@geCwMnUNF# literal 7753 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 literal 658 zcmeAS@N?(olHy`uVBq!ia0vp^CqbA4NHDBf>v@xbfhp3{#WAE}&fD3y%bFDgT-n3_ z{h$7l`C1iYw_t%y_WR{a7FyhXm?z}ZoN@WGqKU$+nVK_H1X(9fh+*+b6J?#;(&0J9 z&`@x4f?85i+KdX9LoR7)J_(QbIfb7IFHd;XouH)#6lM{w2Z{+!R!B~ov7>pib$P*| zw|p~$m1Zt4e(B(J=t#@6ikWxypT}O9{-XrsHeBFrrGuURIKaHLCc4`|1%r<+vx~wRDIRj*a zh5Lh(o=H{ny%ZDXZvBuVcK_Sf-8DNtZ(kI*vG9-SiQ~T{#ZUM?dKG#u)oMzym(ISK zmEL}j9=^5HPt<(0ZTTG2=?Q6uuJ3L<32Nr=i@v^fp7h;WG4hRahL-as_Q`l0pMB)( z={2XzjSn4OtG)TqkFqrB+)4e$w`>;NTT!{;r00tAaLM}BzXV@Top)Vgm;KAC&2F>4 zoc-l6`P|v^)Js3T_WpjjVNQvBfZNP3@{)&t3C$Jzmi%oobCFR-^4S2!EboxHnj z{+AaTxj~=ABR1|^>&ZSY{Qtt>YY*UC~q5W&i)W^sZFC*WcxBJ4DXQTn return Image.fromarray(array_heightmap) +def overide_map(base: Image, top: Image) -> Image: + base = handle_import_image(base).convert('L') + top = handle_import_image(top).convert('L') + + width, height = base.size + + if top.size != (width, height): + raise ValueError("Mismatching images sizes") + + result_image = Image.new('L', (width, height)) + + for x in range(width): + for y in range(height): + pixel1 = base.getpixel((x, y)) + pixel2 = top.getpixel((x, y)) + + if pixel1 != 0: + result_image.putpixel((x, y), pixel1) + else: + result_image.putpixel((x, y), pixel2) + + return result_image + + def group_map(image1: Union[str, Image], image2: Union[str, Image]) -> Image: image1 = handle_import_image(image1).convert('L') image2 = handle_import_image(image2).convert('L') diff --git a/world_maker/pack_rectangle.py b/world_maker/pack_rectangle.py index 6f2a8b0..79afe60 100644 --- a/world_maker/pack_rectangle.py +++ b/world_maker/pack_rectangle.py @@ -29,7 +29,8 @@ class Bin: best_spot_empty_area = empty_area if best_spot is not None: - self.rectangles.append((best_spot, (best_spot[0] + rectangle.width, best_spot[1] + rectangle.height))) + self.rectangles.append( + (best_spot, (best_spot[0] + rectangle.width, best_spot[1] + rectangle.height))) self.update_grid(rectangle, *best_spot) return True @@ -57,7 +58,8 @@ class Bin: def pack_rectangles(rectangles, grid): - rectangles = sorted(rectangles, key=lambda r: r.width * r.height, reverse=True) + rectangles = sorted( + rectangles, key=lambda r: r.width * r.height, reverse=True) bins = [Bin(grid)] for rectangle in rectangles: @@ -90,21 +92,23 @@ def pack_rectangles(grid, min_width: int = 10, max_width: int = 25): return bin.rectangles -def draw_rectangles(rectangles, grid): - image = Image.new('RGB', (len(grid[0]), len(grid)), (0, 0, 0)) +def draw_rectangles(rectangles, grid, heightmap): + heightmap = handle_import_image(heightmap).convert('L') + image = Image.new('L', (len(grid[0]), len(grid)), (0)) for rectangle in rectangles: start, end = rectangle for x in range(start[0], end[0]): for y in range(start[1], end[1]): - image.putpixel((x, y), (144, 255, 144)) + image.putpixel((x, y), heightmap.getpixel((x, y))) return image -def generate_building(image: Union[str, Image], min_width: int = 10, max_width: int = 25): +def generate_building(image: Union[str, Image], heightmap: Union[str, Image], output: str = './world_maker/data/building.png', min_width: int = 10, max_width: int = 25): image = handle_import_image(image).convert('L') grid = np.array(image) rectangles = pack_rectangles(grid, min_width, max_width) - draw_rectangles(rectangles, grid).save('./world_maker/data/building.png') + draw_rectangles(rectangles, grid, heightmap).save( + output) return rectangles diff --git a/world_maker/terraforming.py b/world_maker/terraforming.py index 2b567e8..72ff6e2 100644 --- a/world_maker/terraforming.py +++ b/world_maker/terraforming.py @@ -9,7 +9,7 @@ from world_maker.data_analysis import handle_import_image def remove_trees(heightmap: Union[str, Image], treesmap: Union[str, Image], mask: Union[str, Image]): - print(["Remove tree"] Starting...) + print("[Remove tree] Starting...") editor = Editor(buffering=True) build_area = editor.getBuildArea() build_rectangle = build_area.toRect() @@ -44,7 +44,6 @@ def remove_trees(heightmap: Union[str, Image], treesmap: Union[str, Image], mask for x in range(0, distance[0]): for z in range(0, distance[1]): - print("removing tree in ", start[0] + x, start[1] + z) if removed_treesmap.getpixel((x, z)) != 0: y = heightmap.getpixel((x, z)) y_top = removed_treesmap.getpixel((x, z)) @@ -52,12 +51,12 @@ def remove_trees(heightmap: Union[str, Image], treesmap: Union[str, Image], mask editor, (start[0] + x, y+1, start[1] + z), (start[0] + x, y_top, start[1] + z), Block('air')) removed_treesmap.save('./world_maker/data/removed_treesmap.png') - print(["Remove tree"] Done.) + print("[Remove tree] Done.") def smooth_terrain(heightmap: Union[str, Image], heightmap_smooth: Union[str, Image], mask: Union[str, Image]): - print(["Smooth terrain"] Starting...) + print("[Smooth terrain] Starting...") editor = Editor() build_area = editor.getBuildArea() build_rectangle = build_area.toRect() @@ -99,4 +98,4 @@ def smooth_terrain(heightmap: Union[str, Image], heightmap_smooth: Union[str, Im editor, (start[0] + x, y, start[1] + z), (start[0] + x, y_smooth, start[1] + z), block) smooth_terrain_delta.save('./world_maker/data/smooth_terrain_delta.png') - print(["Smoothing terrain"] Done.) + print("[Smooth terrain] Done.") diff --git a/world_maker/world_maker.py b/world_maker/world_maker.py index 5ac439a..2210234 100644 --- a/world_maker/world_maker.py +++ b/world_maker/world_maker.py @@ -1,7 +1,7 @@ from world_maker.World import World from PIL import Image from world_maker.data_analysis import (get_data, filter_negative, rectangle_2D_to_3D, skeleton_mountain_map, highway_map, filter_sobel, skeleton_highway_map, - smooth_sobel_water, subtract_map, detect_mountain, filter_smooth) + smooth_sobel_water, subtract_map, detect_mountain, filter_smooth, overide_map) from world_maker.City import City from world_maker.Position import Position from random import randint @@ -34,7 +34,9 @@ def world_maker(): './world_maker/data/skeleton_highway_area.png').save('./world_maker/data/city_map.png') subtract_map('./world_maker/data/city_map.png', './world_maker/data/mountain_map.png').save('./world_maker/data/city_map.png') - rectangle_building = generate_building('./world_maker/data/city_map.png') + + rectangle_building = generate_building( + './world_maker/data/city_map.png', './world_maker/data/heightmap.png', output='./world_maker/data/building.png') rectangle_building = rectangle_2D_to_3D(rectangle_building) skeleton_mountain = skeleton_mountain_map(image_mountain_map) @@ -43,6 +45,12 @@ def world_maker(): subtract_map(smooth_sobel_water_map, filter_negative( './world_maker/data/mountain_map.png')).save('./world_maker/data/mountain_map.png') rectangle_mountain = generate_building( - './world_maker/data/mountain_map.png') + './world_maker/data/mountain_map.png', './world_maker/data/heightmap.png', output='./world_maker/data/building_moutain.png') rectangle_mountain = rectangle_2D_to_3D(rectangle_mountain) + + # Terraforming + overide_map('./world_maker/data/heightmap.png', + './world_maker/data/building_moutain.png').save('./world_maker/data/heightmap_with_building.png') + overide_map('./world_maker/data/heightmap_with_building.png', + './world_maker/data/building.png').save('./world_maker/data/heightmap_with_building.png') return rectangle_mountain, rectangle_building, skeleton_highway, skeleton_mountain, road_grid