From 7d2fd514be1e0bf6cec82aa9d0f759772e3776d8 Mon Sep 17 00:00:00 2001 From: Anuken Date: Fri, 23 Mar 2018 20:17:35 -0400 Subject: [PATCH] Experimental power system changes --- build.gradle | 2 +- .../sprites/blocks/environment/copper1.png | Bin 252 -> 0 bytes .../sprites/blocks/environment/copper2.png | Bin 272 -> 0 bytes .../sprites/blocks/environment/copper3.png | Bin 235 -> 0 bytes .../sprites/blocks/production/copperdrill.png | Bin 253 -> 0 bytes .../blocks/production/powerbooster.png | Bin 234 -> 0 bytes .../sprites/blocks/tech/battery.png | Bin 229 -> 246 bytes .../sprites/blocks/tech/batterylarge-base.png | Bin 635 -> 0 bytes .../sprites/blocks/tech/batterylarge.png | Bin 221 -> 635 bytes .../sprites/blocks/tech/laser-base.png | Bin 177 -> 0 bytes .../sprites/blocks/tech/powerlaser.png | Bin 241 -> 0 bytes .../sprites/blocks/tech/powerlasercorner.png | Bin 263 -> 0 bytes .../sprites/blocks/tech/powerlaserrouter.png | Bin 234 -> 0 bytes core/assets-raw/sprites/effects/laserend.png | Bin 305 -> 0 bytes core/assets-raw/sprites/items/item-copper.png | Bin 279 -> 0 bytes core/assets-raw/sprites/items/item-dirium.png | Bin 270 -> 0 bytes core/assets-raw/sprites/items/item-glass.png | Bin 262 -> 0 bytes .../sprites/items/item-titanium.png | Bin 278 -> 259 bytes core/assets/maps/test.mmap | Bin 196617 -> 196617 bytes core/assets/sprites/sprites.atlas | 681 ++++++++---------- core/assets/sprites/sprites.png | Bin 95867 -> 94804 bytes core/assets/version.properties | 4 +- .../src/io/anuke/mindustry/core/Renderer.java | 8 +- core/src/io/anuke/mindustry/core/UI.java | 1 + .../io/anuke/mindustry/game/Difficulty.java | 12 +- .../src/io/anuke/mindustry/game/Tutorial.java | 2 +- .../anuke/mindustry/input/DesktopInput.java | 8 +- core/src/io/anuke/mindustry/io/Maps.java | 3 +- .../src/io/anuke/mindustry/resource/Item.java | 2 +- .../io/anuke/mindustry/resource/Recipes.java | 6 +- core/src/io/anuke/mindustry/world/Block.java | 15 + core/src/io/anuke/mindustry/world/Edges.java | 13 +- .../anuke/mindustry/world/blocks/Blocks.java | 4 +- .../mindustry/world/blocks/DebugBlocks.java | 7 +- .../world/blocks/DistributionBlocks.java | 17 +- .../world/blocks/ProductionBlocks.java | 6 +- .../world/blocks/types/PowerBlock.java | 11 - .../blocks/types/defense/ShieldBlock.java | 3 +- .../types/defense/ShieldedWallBlock.java | 3 +- .../blocks/types/distribution/PowerLaser.java | 46 -- .../blocks/types/distribution/Teleporter.java | 6 +- .../blocks/types/generation/Generator.java | 266 ------- .../types/generation/ItemPowerGenerator.java | 26 +- .../generation/LiquidPowerGenerator.java | 6 +- .../types/generation/NuclearReactor.java | 5 +- .../types/generation/PowerDistributor.java | 217 ++++++ .../types/generation/PowerGenerator.java | 48 ++ .../types/generation/SolarGenerator.java | 4 +- .../blocks/types/production/PowerSmelter.java | 2 +- .../mindustry/server/mapgen/Colorizer.java | 109 +++ 50 files changed, 778 insertions(+), 765 deletions(-) delete mode 100644 core/assets-raw/sprites/blocks/environment/copper1.png delete mode 100644 core/assets-raw/sprites/blocks/environment/copper2.png delete mode 100644 core/assets-raw/sprites/blocks/environment/copper3.png delete mode 100644 core/assets-raw/sprites/blocks/production/copperdrill.png delete mode 100644 core/assets-raw/sprites/blocks/production/powerbooster.png delete mode 100644 core/assets-raw/sprites/blocks/tech/batterylarge-base.png delete mode 100644 core/assets-raw/sprites/blocks/tech/laser-base.png delete mode 100644 core/assets-raw/sprites/blocks/tech/powerlaser.png delete mode 100644 core/assets-raw/sprites/blocks/tech/powerlasercorner.png delete mode 100644 core/assets-raw/sprites/blocks/tech/powerlaserrouter.png delete mode 100644 core/assets-raw/sprites/effects/laserend.png delete mode 100644 core/assets-raw/sprites/items/item-copper.png delete mode 100644 core/assets-raw/sprites/items/item-dirium.png delete mode 100644 core/assets-raw/sprites/items/item-glass.png delete mode 100644 core/src/io/anuke/mindustry/world/blocks/types/distribution/PowerLaser.java delete mode 100644 core/src/io/anuke/mindustry/world/blocks/types/generation/Generator.java create mode 100644 core/src/io/anuke/mindustry/world/blocks/types/generation/PowerDistributor.java create mode 100644 core/src/io/anuke/mindustry/world/blocks/types/generation/PowerGenerator.java create mode 100644 server/src/io/anuke/mindustry/server/mapgen/Colorizer.java diff --git a/build.gradle b/build.gradle index fd5cace2c7..ace1e7730a 100644 --- a/build.gradle +++ b/build.gradle @@ -25,7 +25,7 @@ allprojects { appName = 'Mindustry' gdxVersion = '1.9.8' aiVersion = '1.8.1' - uCoreVersion = 'df5b262' + uCoreVersion = '5e6c99a' getVersionString = { String buildVersion = getBuildVersion() diff --git a/core/assets-raw/sprites/blocks/environment/copper1.png b/core/assets-raw/sprites/blocks/environment/copper1.png deleted file mode 100644 index cf46e551ef7ffa4d7fb2fba7e3e27080e7c9baf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1SGw4HSYi^&H|6fVg?3oVGw3ym^DWND9B#o z>Fdh=h*^xmN@B9V%2c3`WQl7;iF1B#Zfaf$gL6@8Vo7R>LV0FMhJw4NZ$Nk>pEyua znWu|m2*>qgo9(L{gQm=HY+RUjQqRNwoZEQ?@ zb?&&pz6Btlz|72i`uF$u%ipx5 jzlPTdK7M{_2iO?uMAfBZt~2idx`4sc)z4*}Q$iB}cx_N8 diff --git a/core/assets-raw/sprites/blocks/environment/copper2.png b/core/assets-raw/sprites/blocks/environment/copper2.png deleted file mode 100644 index c6bc1e04b6f1b8dd3d45891d6d57fc7baa779608..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1SGw4HSYi^&H|6fVg?3oVGw3ym^DWND9B#o z>Fdh=h*^xmTKCTLi{F7lk|nMYCC>S|xv6<249-QVi6yBi3gww484B*6z5(HleBwYw zU7jwEAsp9z`xN;OIS9DMPoL#0HA_⋙VIRcL8(LZRG@Q0SUeh<_?J$synq*@>mxo zHMuLO-TiR&|L3|-%efR|`gTA3#^T}<%D6!4eR{&xtqunpjQ`EEOMAnmv+uO;{@ljb zk6A0;GlrHr_*gE>xqG=T*LZ7csO=YClQTs}k52i2{MD!V9TLWW87kGZHE%yTVG48= NgQu&X%Q~loCIA9;UX=g< diff --git a/core/assets-raw/sprites/blocks/environment/copper3.png b/core/assets-raw/sprites/blocks/environment/copper3.png deleted file mode 100644 index f242f0999c7000e35ba15b6b4e7d383ab9e6fc11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1SGw4HSYi^&H|6fVg?3oVGw3ym^DWND9B#o z>Fdh=h*^xmT4PPGY6Vb8vcxr_#5q4VH#M(>!MP|ku_QG`p**uBL&4qCHz2%`PaLQy z)zif>gyVX$kDp(f1FNo~m8thSgN2=GyHDHI|DD*_*vRUebaSP?0NdmR3lvu#s&s^>i_@y`};c&50B5ycbfzhJ7i+CFJGD4uP7wI7Nf0vXJ=DWlYp}V a14D$GX3p)2T=hT;89ZJ6T-G@yGywqj6-eO# diff --git a/core/assets-raw/sprites/blocks/production/copperdrill.png b/core/assets-raw/sprites/blocks/production/copperdrill.png deleted file mode 100644 index 72226d6f5ec852bcd04c02613595a1889352f341..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqoCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#5wjR0lTqAC>wch+WQl7;iF1B#Zfaf$gL6@8Vo7R>LV0FMhJw4NZ$Nk>pEyua zxu=U`h{WaA{*Anc4R~1e+p5HKINmKVG;v>cQDI)EwLn%xMbi?FBTKk*D zOII(W-d%a{ZIG40Z?f>T18;&gVU#ldpDRnJCZ+44$rjF6*2UngC-KR7U^+ diff --git a/core/assets-raw/sprites/blocks/production/powerbooster.png b/core/assets-raw/sprites/blocks/production/powerbooster.png deleted file mode 100644 index 5d0ce184613301d74e606321ac39fa42b1e2faa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqoCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#A(xam2j`hBUM)Z&$r9Iy66gHf+|;}h2Ir#G#FEq$h4Rdj3~qp#5_u2VD=9$rg7ea}mCx=L7A z8ry-1zZ0%Zo8aFObBZs({EXNluJL8F-8ubO9E{-7*my>gHbN}iqDjsa$-e6Pxt)~$P7M^)8 z*yVCv&616ilaoy?<)rKKGZJERjhrtYXj)_S?zrZTL*n{z1|A*;4n7CiBLt4wHc88; zvl(-~YFp=9RKPhy#iyqgXwJi%o6~t%jUz7bwEy5^uzIWU#P(9vT?QcVbY=5%S?83{ F1OU==J1qbJ delta 135 zcmV;20C@lQ0p$UZK?n;32n5eW3pJ5RD0E**L_t&-(~Zv|4uCKWh2g&h5-x+S+)-vG zI1^%KM?ubV84|=0TL}qbe6Hzhn+nZ!tcAT54yI)jfRQ)Hhdk3j$_jwj4Ad=R$rxkt pXKkce2_Xo;K*#?R7Bcol*9~DI9!j%g(-r^#002ovPDHLkV1hSfGOqvt diff --git a/core/assets-raw/sprites/blocks/tech/batterylarge-base.png b/core/assets-raw/sprites/blocks/tech/batterylarge-base.png deleted file mode 100644 index 7800659d35cfa060458590d19b9e8308e7852c05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 635 zcmV->0)+jEP)V(vsmRmJ`ZafO=Nh?+n+QFBXKMut#IMM6&Oyv@$+%$9@8Q*U->-jDD5 zzV|NX^Z8M0O-kOs-U0CSdq1gnNv|wRthJm=6hK*)0BEgS&i1r8qv+`5XMlGGa&erVQXzq|Et z{e(X?lS!Ws3G4V{I7N_|ww41vfPLkR0)E0L8gMoHnV%{*pZOeT|K6Ib7XPSQ{A zg?HuN;c%!N{QCCxSV8n0z|{bL{C>r|e=9F?fh#;uH;T`*7p?}kj>5w*b(MGd8$#J&IzRKOMPu7ATUm zP4)r6&4&Uwb*4BIs3f4OqyM^5k#)}^V@&Nt;F9y3s|^6xKL_4_7^_sh@CoMgOeRHR%bBzdbat{cY VDBEcR;jaJy002ovPDHLkV1j6L9Nho_ diff --git a/core/assets-raw/sprites/blocks/tech/batterylarge.png b/core/assets-raw/sprites/blocks/tech/batterylarge.png index 57f09a427c9573806fde5cf2938206d5dd1a9424..7800659d35cfa060458590d19b9e8308e7852c05 100644 GIT binary patch delta 544 zcmV+*0^j}J0s91yLk0~1wO%`Ekx3_i0rg2lK~zY`wUw`n8$lGuKbMXurG&^~#Ga`L z)kpq-QXN}SsHiHWA~pFBVq)$@MODTA32}v*+K8G!I8k#;Sw@CXN<~6W?7Yp+?97&f z%TsT5XWozR`@Z)s=JWYcYfVbtzup1x^?N_5cS)}-ORTk=OB6s^mH=q2Th8`>y8-}f zv!vdX5RINFu}o&;%E)4wwIY*maz`Yzp+qspv?5XcXHKth?m9OOTWjk~dNJI(ik_0x z8x?+N)?>fB^>F^UD7|c@4lqjAP=%P^m4AROm!@E`%$&o@@XgCT0Mku%o_*b(MGd8$# zJ&IzRKOMPu7ATUmP4)r6&4&Uwb*4BIs3f4OqyM^5k#)}^V@&Nt;F9y3s|^6xKL_4_ z7^_sh@CoMgO ieRHR%bBzdbat{cYDBEcd1L3a#0000y1~GzJCl)Y3w~ct|4)o730X1{XE z)7O>#5i>WVk(R*+sSKcyWQl7;iF1B#Zfaf$gL6@8Vo7R>LV0FMhJw4NZ$Nk>pEyvF zwx^3@h{WaOoZQ^M`ihDN8@M;vRDa`HzNDpvg;|)H(Lh3Eg8>jc_{_<0OORvQA@jYO PKy3`3u6{1-oD!M{XE z)7O>#5i>Unhjz+TvmBt1WQl7;iF1B#Zfaf$gL6@8Vo7R>LV0FMhJw4NZ$Nk>pEyua zwx^3@h{WaO9H26d&(&Y%KNMir+K`+OQF5wh;>(+x(+e0=JS7qwueb8ekN|>RW+x4e z3=9l(tWu9{critid6PsJXJOiM1D^)%hL{XE z)7O>#5i>W75dVwa8ficw$r9Iy66gHf+|;}h2Ir#G#FEq$h4Rdj3U01o*ct(uwk`tGE2% zUYM|PQSSM7f_D$zEi5lAx3n^R&-Zt-<91UouTK6`iJB{O6&>#a9mC-1>gTe~DWM4f Dk=a+U diff --git a/core/assets-raw/sprites/blocks/tech/powerlaserrouter.png b/core/assets-raw/sprites/blocks/tech/powerlaserrouter.png deleted file mode 100644 index 9e525c33ecd575d02ac2de1a29373520358fa187..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqoCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#5i>W75J%bly+?sUk|nMYCC>S|xv6<249-QVi6yBi3gww484B*6z5(HleBwYw zDV{ElArhBc`!@16D2TY+H=nejM^|<64I^RQ#Q~Q#^>DI^ad<2a-}@v^Pn|(^w^vFp zYiY$qMF!_hmv1ka$>1p6WVX3?Lpk5cf>|a%y^0@dUs{+F?ws|xw(|$ae)Z{}j=uU( Z#H<*kaMp;USqW$#gQu&X%Q~loCIB5DN>~5@ diff --git a/core/assets-raw/sprites/effects/laserend.png b/core/assets-raw/sprites/effects/laserend.png deleted file mode 100644 index d678fb0a81ff6149ed5e3cdf253ee70b684cd4d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 305 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|&H|6fVg?3oVGw3ym^DWND9B#o z>Fdh=kV~G)Q1$L@s}i8l1y2{p5R21Wr)=asWFX*rUeL?2%wpCTmQL0P1yko4k^;sP zJZ;#8mid=jwD7Im;0Wrl3|$65~6vcs=D{u zy#C;MhaV?0H(z})$NN~qSCKf@_CoPVOXetTZR}|1NO;pLUHw>PM!9IC-tJl!M;C`9 znSF;h$+R|X%5#l)v8utRbwgy|Gc9S8Z)uVp9WEY`+q>*9ta_Pr;b&d9-tFn}O$BR% z%I;4+%Aw|1IlEmeR1qWv^<1eq-=-^>bP0l+XkKT>W>x diff --git a/core/assets-raw/sprites/items/item-copper.png b/core/assets-raw/sprites/items/item-copper.png deleted file mode 100644 index 82e8da080a567e3a8dee5b750f5c5e0f5d07781c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPdv#6K~LtM>g1E7#(iEBiObAE1aYF-J0b5UwyNotBh zd1gt5g1e`0KzJjcI8af&r;B5V#O2g8hI~x{0xb{!=h`%JcA7tuxOaf-zT_6ghYWWZ zxwE;sbzi=m!ts!Y@2ax4-=?E!`*2-ozEfn#+2eO2osI90-*Z(J S@7+MBFnGH9xvX{XE z)7O>#5wjSRnel`}Zrg!Ek|nMYCC>S|xv6<249-QVi6yBi3gww484B*6z5(HleBwYw z9iA?ZArhBM`xN<@90gdi{XVn>E)TmaT*2J0xZ*GC_iktA`~wZg3b?k)i7XSGy;G;j zPi^wakX_QA9!dW#GOJ=m%YE1l&ZY0PW@!KJYx1h>cp$@4k)-Vb>>u`=KYjUby~1Rd z9bcTY?iQ9CuiW*wQENgm+k?&DRCmiy%Dud-jAO0dQ3ht6s#?Yq-2VRCLYEf--NfMO L>gTe~DWM4f4(?kZ diff --git a/core/assets-raw/sprites/items/item-glass.png b/core/assets-raw/sprites/items/item-glass.png deleted file mode 100644 index 146cef90e9c9f78bce46301243ac376552f8d25b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqoCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#5tEphCA+}Fo{K;s$r9Iy66gHf+|;}h2Ir#G#FEq$h4Rdj3ZTl+tP}n1 zWsbEc!x0I_6PCuCeoA&pw$BuFa+t(-{PGml#+iXxug?a}W^)i)YPR;{^9@|vcGs3` zZGE|0Ouh5?XH(hjG3U-z`+L3oeDrTw>EZ*`_g|YgzRj7Eb;+Ru=oSV~S3j3^P6GW) zTPS~hNklFPX{5ZibpdmU;>x^?q-In645w+y!h~bJ;{-(CR9z=PI3gK xnLgy`zZxKfKm+nSwjNRQeFzLYi0#X=4Yd=JKSN#R>S6!@002ovPDHLkV1mDLN{avh delta 186 zcmZo>n#MFig`X|S+ueoXKL{?^yL|FQMFkE~F*QX6<;FJ?JvHjiHex!{rdmsCpVj?CnwvCMgLmM|1F;J z;m1K!wiMS%lY|OfeQLkf^_=LEkdSy_a)%|w^+iK#V`JmOMT?pmdm9@+iZ8!fKSOET m`{NRl5>^Ua2@FadTnr-9Z`iA_?O9>N00f?{elF{r5}E+MhfECs diff --git a/core/assets/maps/test.mmap b/core/assets/maps/test.mmap index 5cd40a37b6266e1ea4aada8b13a160790f794425..85e09ece37389b864373ac198b8409c32b99a78b 100644 GIT binary patch literal 196617 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 U2oNAZfB*pk1PBlyK%heOgQvd(} literal 196617 zcmeI&>#m$O6b4YLUZP&!|9Ojqg3t`!-Zl(F@M`7J}-{wC*CLaO> z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF92NL$n&Quo>F5xyK;VV~aqM4uZ#aKbBG4!BlI{H0 zzTuoj;64KRwC`5lXCY=npjBWu(yfiHgQ_QR2Z7d{2laPYjyVu$5(x6#+SN3!Vgg?m zXia#v{_86;0Rnk}YMxsQ@npKviH(zWi6M6g)}bCHeCI zq?>CkvA}Nl=f>pEGp%LuWb_iaQlJ!m`M>fm80#wnLHOnWD|f`8R|?4gmDklBb-`ak;E$jG!WD0U*1y;Ma8Uil@2lIb?3%tzd{c9Zim)`f&wGb!?l)|5X{x82B>^{{qjire# z?JwERe~mAzm%t)$R{lG7LG>2o)4p3-y}p9M1%mLmKL3~eCwD=HeK*prjhTVe3@Z@l z|Hu~DZinr0lDakLL49&WWdjPx|A05$l2?Ih{?B~{tmDQ9!Na_-D;`eoumbWw?5(%( zSs;`Dvt9v7@V+N}^{nLR%7zk1=KuH>$g5V9+*gpFfXZQWr1syYS%Hst(@}JxV-E@8NuAbFBA16LopgaHZiATh$N$x8+ zG9~9eSRhVvM{nNh-)VaP^u@b+R(@70hZ5*WczjAm?>+WwOEt-T1({i?8B-w6b5m~> zaLsw?pfBFlv#JwQFswjR!sFuDu$1|2do{^@1@Xl64lWR`X9`c~2HQv?w>hu&4SOuzS-xjQA1qVUY zOI_7S=L>>~=^{`P*oJ)fczfbM(-eG4ArIQ~@vc^G=joWhxdK7#m#!e>aaT3inSyf{ z>uLm6fok#(=6~KDnS=*5>r@>ONDBNtP4Q>BPBQ#+S^SW%_6G5eyOQfwMqm+$W54aq zhyQr~mkkm}{iW9pCD0_W&35&;Dg0;UKe-E$&Ddza}|cfqGu;rax+ z1*#!06?Bj2L;`mcD205t{ce*t9|ETc?52I&c*-a)LVy4P0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ I;E@9V15gqWnE(I) diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 6084146822..522ec5696a 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -13,56 +13,56 @@ background index: -1 blackrock1 rotate: false - xy: 337, 117 + xy: 289, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackrockshadow1 rotate: false - xy: 484, 168 + xy: 579, 234 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone1 rotate: false - xy: 579, 234 + xy: 690, 367 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone2 rotate: false - xy: 627, 306 + xy: 700, 369 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone3 rotate: false - xy: 637, 306 + xy: 627, 306 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock1 rotate: false - xy: 690, 367 + xy: 637, 306 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock2 rotate: false - xy: 700, 369 + xy: 136, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock3 rotate: false - xy: 353, 125 + xy: 299, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -76,70 +76,49 @@ blackstoneedge index: -1 coal1 rotate: false - xy: 700, 359 + xy: 439, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal2 rotate: false - xy: 413, 125 + xy: 449, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal3 rotate: false - xy: 132, 33 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -copper1 - rotate: false - xy: 642, 296 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -copper2 - rotate: false - xy: 695, 347 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -copper3 - rotate: false - xy: 147, 23 + xy: 459, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 deepwater rotate: false - xy: 157, 23 + xy: 152, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt1 rotate: false - xy: 652, 291 + xy: 662, 299 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt2 rotate: false - xy: 662, 301 + xy: 157, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt3 rotate: false - xy: 662, 291 + xy: 875, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -153,35 +132,35 @@ dirtedge index: -1 grass1 rotate: false - xy: 423, 129 + xy: 329, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass2 rotate: false - xy: 433, 130 + xy: 339, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass3 rotate: false - xy: 443, 130 + xy: 349, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassblock1 rotate: false - xy: 453, 130 + xy: 359, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassblock2 rotate: false - xy: 148, 54 + xy: 369, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -195,21 +174,21 @@ grassedge index: -1 ice1 rotate: false - xy: 158, 54 + xy: 379, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice2 rotate: false - xy: 168, 54 + xy: 389, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice3 rotate: false - xy: 178, 54 + xy: 399, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -223,70 +202,70 @@ iceedge index: -1 icerock1 rotate: false - xy: 188, 54 + xy: 409, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerock2 rotate: false - xy: 198, 54 + xy: 419, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow1 rotate: false - xy: 208, 54 + xy: 319, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow1 rotate: false - xy: 208, 54 + xy: 319, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow2 rotate: false - xy: 156, 44 + xy: 329, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow2 rotate: false - xy: 156, 44 + xy: 329, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron1 rotate: false - xy: 166, 44 + xy: 339, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron2 rotate: false - xy: 176, 44 + xy: 349, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron3 rotate: false - xy: 186, 44 + xy: 359, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lava rotate: false - xy: 207, 24 + xy: 640, 276 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -298,16 +277,37 @@ lavaedge orig: 12, 12 offset: 0, 0 index: -1 +lead1 + rotate: false + xy: 620, 256 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +lead2 + rotate: false + xy: 630, 256 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +lead3 + rotate: false + xy: 640, 256 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 mossblock rotate: false - xy: 227, 14 + xy: 208, 54 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oil rotate: false - xy: 232, 34 + xy: 156, 44 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -321,56 +321,56 @@ oiledge index: -1 rock1 rotate: false - xy: 662, 281 + xy: 177, 24 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rock2 rotate: false - xy: 650, 271 + xy: 177, 14 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand1 rotate: false - xy: 650, 251 + xy: 197, 14 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand2 rotate: false - xy: 660, 251 + xy: 218, 54 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand3 rotate: false - xy: 121, 3 + xy: 216, 44 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock1 rotate: false - xy: 131, 3 + xy: 212, 34 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock2 rotate: false - xy: 141, 3 + xy: 207, 24 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock3 rotate: false - xy: 151, 3 + xy: 207, 14 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -384,56 +384,56 @@ sandedge index: -1 shrub rotate: false - xy: 221, 4 + xy: 232, 34 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shrubshadow rotate: false - xy: 231, 4 + xy: 237, 24 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow1 rotate: false - xy: 443, 120 + xy: 672, 299 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow2 rotate: false - xy: 453, 120 + xy: 672, 289 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow3 rotate: false - xy: 463, 130 + xy: 677, 309 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock1 rotate: false - xy: 463, 120 + xy: 682, 299 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock2 rotate: false - xy: 473, 128 + xy: 682, 289 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock3 rotate: false - xy: 483, 128 + xy: 121, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -447,42 +447,42 @@ snowedge index: -1 stone1 rotate: false - xy: 921, 455 + xy: 201, 4 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone2 rotate: false - xy: 931, 455 + xy: 211, 4 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone3 rotate: false - xy: 899, 445 + xy: 221, 4 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock1 rotate: false - xy: 899, 435 + xy: 231, 4 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock2 rotate: false - xy: 909, 445 + xy: 241, 4 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock3 rotate: false - xy: 909, 435 + xy: 705, 349 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -496,49 +496,49 @@ stoneedge index: -1 titanium1 rotate: false - xy: 941, 451 + xy: 672, 279 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium2 rotate: false - xy: 951, 451 + xy: 682, 279 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium3 rotate: false - xy: 961, 451 + xy: 650, 269 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 uranium1 rotate: false - xy: 949, 431 + xy: 660, 249 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 uranium2 rotate: false - xy: 959, 431 + xy: 670, 249 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 uranium3 rotate: false - xy: 969, 431 + xy: 680, 249 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water rotate: false - xy: 1009, 430 + xy: 931, 455 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -552,28 +552,28 @@ wateredge index: -1 block-middle rotate: false - xy: 393, 125 + xy: 127, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pump-liquid rotate: false - xy: 393, 125 + xy: 127, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-liquid rotate: false - xy: 137, 23 + xy: 146, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 cross-1 rotate: false - xy: 652, 301 + xy: 147, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -587,28 +587,28 @@ cross-2 index: -1 cross-3 rotate: false - xy: 372, 169 + xy: 346, 169 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 enemyspawn rotate: false - xy: 147, 13 + xy: 309, 107 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 playerspawn rotate: false - xy: 622, 286 + xy: 186, 44 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shadow rotate: false - xy: 281, 111 + xy: 233, 111 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -622,49 +622,42 @@ alloysmelter index: -1 coaldrill rotate: false - xy: 127, 23 + xy: 622, 296 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coalextractor rotate: false - xy: 479, 158 + xy: 632, 296 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coalgenerator rotate: false - xy: 479, 148 + xy: 685, 347 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coalgenerator-top rotate: false - xy: 479, 138 + xy: 685, 337 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 combustiongenerator rotate: false - xy: 622, 296 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -copperdrill - rotate: false - xy: 152, 33 + xy: 685, 327 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 cryofluidmixer-bottom rotate: false - xy: 373, 151 + xy: 347, 151 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -692,217 +685,217 @@ cultivator index: -1 fluxpump rotate: false - xy: 157, 13 + xy: 319, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill rotate: false - xy: 196, 44 + xy: 369, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 largesolarpanel rotate: false - xy: 424, 170 + xy: 398, 169 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 laserdrill rotate: false - xy: 188, 76 + xy: 206, 94 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 lavasmelter rotate: false - xy: 207, 14 + xy: 640, 266 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +leaddrill + rotate: false + xy: 148, 54 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 nuclearreactor rotate: false - xy: 450, 170 + xy: 466, 196 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 nuclearreactor-center rotate: false - xy: 721, 422 + xy: 450, 170 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 nuclearreactor-lights rotate: false - xy: 61, 13 + xy: 721, 422 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 oilextractor rotate: false - xy: 87, 13 + xy: 61, 13 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 oilextractor-liquid rotate: false - xy: 225, 139 + xy: 87, 13 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 oilrefinery rotate: false - xy: 237, 24 + xy: 166, 44 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 omnidrill rotate: false - xy: 237, 14 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -powerbooster - rotate: false - xy: 632, 286 + xy: 176, 44 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulverizer rotate: false - xy: 640, 256 + xy: 167, 24 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pump rotate: false - xy: 652, 281 + xy: 167, 14 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 quartzextractor rotate: false - xy: 763, 427 + xy: 781, 427 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rtgenerator rotate: false - xy: 660, 271 + xy: 187, 14 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rtgenerator-top rotate: false - xy: 660, 261 + xy: 197, 24 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 siliconextractor rotate: false - xy: 241, 4 + xy: 237, 14 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 smelter rotate: false - xy: 423, 119 + xy: 669, 319 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 smelter-middle rotate: false - xy: 433, 120 + xy: 667, 309 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 solarpanel rotate: false - xy: 473, 118 + xy: 131, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stonedrill rotate: false - xy: 919, 445 + xy: 705, 339 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneformer rotate: false - xy: 919, 435 + xy: 705, 329 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thermalgenerator rotate: false - xy: 929, 435 + xy: 662, 279 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill rotate: false - xy: 971, 451 + xy: 650, 259 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumextractor rotate: false - xy: 981, 451 + xy: 660, 269 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 uraniumdrill rotate: false - xy: 979, 431 + xy: 492, 168 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 uraniumextractor rotate: false - xy: 989, 441 + xy: 492, 158 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 waterextractor rotate: false - xy: 835, 427 + xy: 853, 427 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-liquid rotate: false - xy: 853, 427 + xy: 651, 343 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -921,303 +914,275 @@ batterylarge orig: 24, 24 offset: 0, 0 index: -1 -batterylarge-base - rotate: false - xy: 832, 487 - size: 24, 24 - orig: 24, 24 - offset: 0, 0 - index: -1 conduit-bottom - rotate: false - xy: 685, 347 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -conduit-top rotate: false xy: 142, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 +conduit-top + rotate: false + xy: 642, 296 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 conduittunnel rotate: false - xy: 146, 43 + xy: 652, 299 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor rotate: false - xy: 489, 158 + xy: 695, 347 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyormove rotate: false - xy: 489, 148 + xy: 695, 337 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyortunnel rotate: false - xy: 489, 138 + xy: 695, 327 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 core rotate: false - xy: 346, 169 + xy: 320, 169 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 junction rotate: false - xy: 216, 44 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -laser-base - rotate: false - xy: 212, 34 + xy: 630, 266 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidjunction rotate: false - xy: 217, 24 + xy: 158, 54 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter rotate: false - xy: 217, 14 + xy: 168, 54 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-bottom rotate: false - xy: 222, 34 + xy: 178, 54 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-liquid rotate: false - xy: 226, 44 + xy: 188, 54 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-top rotate: false - xy: 227, 24 + xy: 198, 54 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidtank-bottom rotate: false - xy: 66, 39 + xy: 424, 170 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquidtank-liquid rotate: false - xy: 92, 39 + xy: 66, 39 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquidtank-top rotate: false - xy: 466, 196 + xy: 92, 39 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 multiplexer rotate: false - xy: 564, 207 + xy: 763, 427 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 poweredconveyor rotate: false - xy: 642, 286 + xy: 196, 44 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 poweredconveyormove rotate: false - xy: 620, 276 + xy: 206, 44 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powerinfinite rotate: false - xy: 620, 266 + xy: 162, 34 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 -powerlaser +powernode rotate: false - xy: 630, 276 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -powerlasercorner - rotate: false - xy: 630, 266 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -powerlaserrouter - rotate: false - xy: 640, 276 + xy: 172, 34 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powervoid rotate: false - xy: 640, 266 + xy: 182, 34 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulseconduit-bottom rotate: false - xy: 620, 256 + xy: 192, 34 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulseconduit-top rotate: false - xy: 630, 256 + xy: 202, 34 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 router rotate: false - xy: 650, 261 + xy: 187, 24 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shieldgenerator rotate: false - xy: 171, 4 + xy: 217, 14 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shieldprojector rotate: false - xy: 781, 427 + xy: 799, 427 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 sortedunloader rotate: false - xy: 483, 118 + xy: 141, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sorter rotate: false - xy: 493, 128 + xy: 151, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 splitter rotate: false - xy: 493, 118 + xy: 161, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyor rotate: false - xy: 705, 349 + xy: 171, 4 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyormove rotate: false - xy: 901, 455 + xy: 181, 4 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 teleporter rotate: false - xy: 251, 139 + xy: 225, 139 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 teleporter-top rotate: false - xy: 277, 139 + xy: 251, 139 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 unloader rotate: false - xy: 939, 431 + xy: 650, 249 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vault rotate: false - xy: 329, 143 + xy: 303, 143 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 vault-icon rotate: false - xy: 989, 431 + xy: 901, 455 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weaponfactory rotate: false - xy: 651, 343 + xy: 651, 325 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-1 rotate: false - xy: 383, 125 + xy: 132, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1231,21 +1196,21 @@ block-2 index: -1 block-2-top rotate: false - xy: 355, 151 + xy: 329, 151 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-3 rotate: false - xy: 858, 487 + xy: 832, 487 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 block-3-top rotate: false - xy: 294, 169 + xy: 858, 487 size: 24, 24 orig: 24, 24 offset: 0, 0 @@ -1259,14 +1224,14 @@ chainturret index: -1 doubleturret rotate: false - xy: 127, 13 + xy: 147, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 flakturret rotate: false - xy: 205, 112 + xy: 383, 151 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -1280,7 +1245,7 @@ flameturret index: -1 fornaxcannon rotate: false - xy: 398, 169 + xy: 372, 169 size: 24, 24 orig: 24, 24 offset: 0, 0 @@ -1294,84 +1259,84 @@ gatlingturret index: -1 laserturret rotate: false - xy: 245, 111 + xy: 214, 64 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 magmaturret rotate: false - xy: 206, 94 + xy: 206, 76 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 megarepairturret rotate: false - xy: 206, 76 + xy: 561, 225 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 missileturret rotate: false - xy: 561, 225 + xy: 564, 207 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 railgunturret rotate: false - xy: 257, 111 + xy: 574, 195 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 repairturret rotate: false - xy: 269, 111 + xy: 417, 123 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 shotgunturret rotate: false - xy: 293, 111 + xy: 245, 111 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 teslaturret rotate: false - xy: 305, 115 + xy: 257, 111 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 titancannon rotate: false - xy: 303, 143 + xy: 277, 139 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 compositewall rotate: false - xy: 632, 296 + xy: 137, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 door rotate: false - xy: 875, 405 + xy: 127, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 door-large rotate: false - xy: 391, 151 + xy: 365, 151 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -1385,14 +1350,14 @@ door-large-open index: -1 door-open rotate: false - xy: 305, 105 + xy: 137, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 duriumwall rotate: false - xy: 137, 13 + xy: 157, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1406,49 +1371,49 @@ duriumwall-large index: -1 ironwall rotate: false - xy: 206, 44 + xy: 379, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelwall rotate: false - xy: 911, 455 + xy: 191, 4 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelwall-large rotate: false - xy: 799, 427 + xy: 817, 427 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 stonewall rotate: false - xy: 929, 445 + xy: 652, 279 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumshieldwall rotate: false - xy: 939, 441 + xy: 660, 259 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumwall rotate: false - xy: 949, 441 + xy: 670, 269 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumwall-large rotate: false - xy: 817, 427 + xy: 835, 427 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -1462,7 +1427,7 @@ blank index: -1 bullet rotate: false - xy: 403, 125 + xy: 309, 117 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1488,7 +1453,7 @@ laser orig: 1, 12 offset: 0, 0 index: -1 -laserend +laser-end rotate: false xy: 566, 290 size: 18, 18 @@ -1504,28 +1469,28 @@ laserfull index: -1 shell rotate: false - xy: 161, 3 + xy: 217, 24 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shot rotate: false - xy: 201, 4 + xy: 227, 24 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shot-long rotate: false - xy: 211, 4 + xy: 227, 14 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanshell rotate: false - xy: 959, 441 + xy: 670, 259 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1567,98 +1532,84 @@ standard-mech-leg index: -1 item-biomatter rotate: false - xy: 162, 34 + xy: 389, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-coal rotate: false - xy: 172, 34 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -item-copper - rotate: false - xy: 182, 34 + xy: 399, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-densealloy rotate: false - xy: 192, 34 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -item-dirium - rotate: false - xy: 202, 34 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -item-glass - rotate: false - xy: 167, 24 + xy: 409, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-iron rotate: false - xy: 167, 14 + xy: 419, 103 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +item-lead + rotate: false + xy: 622, 286 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-plastic rotate: false - xy: 177, 24 + xy: 632, 286 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-quartz rotate: false - xy: 177, 14 + xy: 642, 286 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-silicon rotate: false - xy: 187, 24 + xy: 652, 289 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-steel rotate: false - xy: 187, 14 + xy: 662, 289 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-stone rotate: false - xy: 197, 24 + xy: 620, 276 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-titanium rotate: false - xy: 197, 14 + xy: 620, 266 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-uranium rotate: false - xy: 218, 54 + xy: 630, 276 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1777,7 +1728,7 @@ button-map-over index: -1 button-select rotate: false - xy: 320, 169 + xy: 294, 169 size: 24, 24 split: 4, 4, 4, 4 orig: 24, 24 @@ -1869,7 +1820,7 @@ icon-admin index: -1 icon-admin-small rotate: false - xy: 476, 170 + xy: 321, 135 size: 6, 6 orig: 6, 6 offset: 0, 0 @@ -1883,7 +1834,7 @@ icon-areaDelete index: -1 icon-arrow rotate: false - xy: 651, 327 + xy: 680, 409 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -1918,21 +1869,21 @@ icon-arrow-up index: -1 icon-back rotate: false - xy: 656, 361 + xy: 205, 112 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-ban rotate: false - xy: 463, 154 + xy: 680, 393 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-cancel rotate: false - xy: 680, 409 + xy: 696, 411 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -1946,7 +1897,7 @@ icon-chat index: -1 icon-check rotate: false - xy: 680, 393 + xy: 696, 395 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -1995,14 +1946,14 @@ icon-defense index: -1 icon-dev-builds rotate: false - xy: 696, 411 + xy: 680, 377 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-discord rotate: false - xy: 696, 395 + xy: 696, 379 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2016,84 +1967,84 @@ icon-distribution index: -1 icon-donate rotate: false - xy: 680, 377 + xy: 572, 274 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-dots rotate: false - xy: 696, 379 + xy: 572, 258 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-editor rotate: false - xy: 572, 274 + xy: 588, 276 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-exit rotate: false - xy: 572, 258 + xy: 588, 260 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-file-text rotate: false - xy: 588, 276 + xy: 604, 276 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-fill rotate: false - xy: 118, 47 + xy: 401, 151 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-floppy rotate: false - xy: 588, 260 + xy: 604, 260 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-folder rotate: false - xy: 604, 276 + xy: 763, 411 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-folder-parent rotate: false - xy: 604, 260 + xy: 779, 411 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-github rotate: false - xy: 763, 411 + xy: 795, 411 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-google-play rotate: false - xy: 779, 411 + xy: 811, 411 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-grid rotate: false - xy: 476, 178 + xy: 656, 361 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2114,350 +2065,350 @@ icon-holdDelete index: -1 icon-home rotate: false - xy: 795, 411 + xy: 827, 411 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-host rotate: false - xy: 811, 411 + xy: 843, 411 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-info rotate: false - xy: 419, 139 + xy: 321, 123 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-itch.io rotate: false - xy: 827, 411 + xy: 859, 411 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-line rotate: false - xy: 409, 151 + xy: 118, 47 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-link rotate: false - xy: 843, 411 + xy: 674, 361 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-liquid rotate: false - xy: 431, 140 + xy: 333, 123 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-load rotate: false - xy: 859, 411 + xy: 669, 345 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-load-image rotate: false - xy: 427, 152 + xy: 476, 178 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-load-map rotate: false - xy: 445, 152 + xy: 492, 207 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-loading rotate: false - xy: 492, 207 + xy: 510, 207 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-logic rotate: false - xy: 443, 140 + xy: 345, 123 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-menu rotate: false - xy: 875, 415 + xy: 357, 123 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-menu-large rotate: false - xy: 510, 207 + xy: 528, 207 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-none rotate: false - xy: 136, 53 + xy: 369, 123 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-pause rotate: false - xy: 154, 64 + xy: 381, 123 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-pencil rotate: false - xy: 528, 207 + xy: 546, 207 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-pencil-small rotate: false - xy: 651, 311 + xy: 669, 329 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-pick rotate: false - xy: 546, 207 + xy: 867, 453 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-play rotate: false - xy: 166, 64 + xy: 393, 123 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-play-2 rotate: false - xy: 674, 361 + xy: 225, 123 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-players rotate: false - xy: 178, 64 + xy: 405, 123 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-power rotate: false - xy: 190, 64 + xy: 875, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-production rotate: false - xy: 202, 64 + xy: 136, 53 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-quit rotate: false - xy: 669, 345 + xy: 241, 123 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-redo rotate: false - xy: 867, 453 + xy: 134, 92 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-refresh rotate: false - xy: 225, 123 + xy: 257, 123 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rename rotate: false - xy: 241, 123 + xy: 273, 123 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-resize rotate: false - xy: 134, 92 + xy: 134, 74 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-rotate rotate: false - xy: 257, 123 + xy: 289, 123 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-arrow rotate: false - xy: 273, 123 + xy: 305, 127 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-left rotate: false - xy: 289, 123 + xy: 651, 309 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-right rotate: false - xy: 305, 127 + xy: 329, 135 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-save rotate: false - xy: 321, 127 + xy: 345, 135 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-save-image rotate: false - xy: 134, 74 + xy: 152, 94 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-save-map rotate: false - xy: 152, 94 + xy: 152, 76 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-settings rotate: false - xy: 214, 64 + xy: 154, 64 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-terrain rotate: false - xy: 152, 76 + xy: 170, 94 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-tools rotate: false - xy: 337, 127 + xy: 361, 135 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-touch rotate: false - xy: 574, 195 + xy: 166, 64 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-touchDelete rotate: false - xy: 455, 140 + xy: 178, 64 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-trash rotate: false - xy: 355, 135 + xy: 377, 135 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-trash-16 rotate: false - xy: 170, 94 + xy: 170, 76 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-trello rotate: false - xy: 371, 135 + xy: 393, 135 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-tutorial rotate: false - xy: 387, 135 + xy: 409, 135 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-undo rotate: false - xy: 170, 76 + xy: 188, 94 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-units rotate: false - xy: 467, 142 + xy: 190, 64 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-weapon rotate: false - xy: 233, 111 + xy: 202, 64 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-wiki rotate: false - xy: 403, 135 + xy: 476, 162 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-zoom rotate: false - xy: 188, 94 + xy: 188, 76 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2614,7 +2565,7 @@ textfield-over index: -1 white rotate: false - xy: 647, 306 + xy: 113, 34 size: 3, 3 orig: 3, 3 offset: 0, 0 @@ -2637,84 +2588,84 @@ window-empty index: -1 beam rotate: false - xy: 317, 117 + xy: 269, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 beam-equip rotate: false - xy: 327, 117 + xy: 279, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blaster rotate: false - xy: 363, 125 + xy: 690, 357 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blaster-equip rotate: false - xy: 373, 125 + xy: 700, 359 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 clustergun rotate: false - xy: 136, 43 + xy: 419, 159 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 clustergun-equip rotate: false - xy: 690, 357 + xy: 429, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shockgun rotate: false - xy: 181, 4 + xy: 222, 34 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shockgun-equip rotate: false - xy: 191, 4 + xy: 226, 44 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster rotate: false - xy: 969, 441 + xy: 680, 269 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster-equip rotate: false - xy: 979, 441 + xy: 680, 259 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan rotate: false - xy: 999, 438 + xy: 911, 455 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan-equip rotate: false - xy: 999, 428 + xy: 921, 455 size: 8, 8 orig: 8, 8 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index b120f43bab75a0d058552fddfcbbb96065e19ad8..69fe6c46dd46f8220b6ad8e25e24055e1b4146f4 100644 GIT binary patch literal 94804 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�!hE^2t4gkEE%N`i`5DT*M9B#IRa*bwPO ziUOh_O3(4Cpw|K_N)@o6B2^F&q}>bBAxJR@2q+~;k=|3j9lg){jdzUq{E#1HNX~9+ zt-0o$+t*yAxR3f-KmDlyxRc#Cc|-iv_=ZegW*q14QFl={ zKRrgS6|ad-P!ceUTAO>C<*z4Y|Fne_=}+9B4F^POHBQwUxCl?sY?1Qey!mhg^G%sxRogBAAhgSYsXca~x^+_f>(MHolfYs3cQ^h-* z9$prdfZdV>x&oB*BE}U50r5efofSp2VCM4W`5%6yKa{2WXz{!I{k^>7$~Hofs!{AX zUkmX*ER|(|T0F>zr|podAA2nZMSY@~X-c{RqzN*@a(&sWZib=oQxYV3!WRiteg;$7 z%HQZb&Uw?S7a{s@?}x~0{uLxm{*|Mkg}BTC zx(3FW!5|RHvy+6L4=#&oOfO%Q9m~9CP?(}Uo>4u-P5I&3O2Xd*Z8v*ZVd;m3 zka75hdCNB2@4Iva;G8l(q;vUwXi2+Yo3z*Vv_p04XoJfSE1y;`+8|ILED^zsWDYcA z0V;?BvuY=AG2zzta6{NcGRBG{u91Z!d26c)^KP38xQGUQM${&0aTiV-%$hN^UT9_J z^I0S3{SXyC7BNoT{%sx8)n&|NzpwNG4Y$_!VF|0vN7RfLm$?7RoMY+!K`0Od2g`^$ zxgi|M)Ak3369hr`adkS&OnZWbNJ=ruvhj>*_v~=L2&@u9xP_}j;DB4kYc zLY%)ZJ}Z(EZMQ_z#pGG;;@Dp(HJ-zKCrAh@>Pyi>%F74?xI9thQC*Z91f`n1b!}<+ z<9|mrscnQV?c<_d^6TTLI%WotV-4kDf-r2}|KDP^7OA&C#6Kde!NyRBlj?Rll!6u4 zL~gnL*!`>=ZNCU@AH|jEcTktHgg8F% z=ljRc1i=~g*N<(XE9SlW{zqafp<*S}CyA~(6168pUo(u`#|_>+#q10S<^E{n?WWJC zEc^`Nj*tA5=COJAQt1Ba)O(6MG&f0f*&FP;|KeEp>-w5p_0KVaDw7QldruzE{`(cf ziuR)1C}CZrQ`>HVgqL%OQs9W%6q4~FQ;3s_(yg`bNZqk;T$$t~M?)bDIXBe1zECH& zm|oRTfqJBnlcOPDnj5-6xW0&a_S(S{Bez?ccpfYXe!25gndab-KwfHb&itTLc1ps7 zRr?Y70V!$AzUis%oSV;%ak@@kDrSmoIo2UB2v|<|{pR=&ad@Npgu4p*6|iEWG*zyW zeP=aPl(Jd7vq$kH@xKVbtl{ozTl7Ta{UT8f_I*C>M&iRLFUi3>0dK1f12Sc_IPJBM3Sr z^ztNZv@UGdne>I?AD#^tkjQ4;Gc4z0W8n>}bLI(FF0rHP$u*tL6Y6b_H)+UaLRzrv zAhs|wLZ0UB?YjD5*dHmf^(_9p&SW8pqS{AoLyie-H3yB=@l0W8tBy6P4$Yk$9sS3( zqTrYDzqhW2pA@kvSq3djQ5dR}fT*abrsM&XL>0bcRNk?Zb zf|uO&qx~A$cP6#xv-qifjGOH-Ov zK~!n|;4VOpMRsgv@|hRDJae75KE#vJSKDOX+CuvRBa<7wbEctfWT2MG5S*GHY$nWG zz)GtXUC)A*s(c`x9(1;W%6y6cM>-ZG6P8+hZMaUr^OFL(ke7D}KP^)5bz6jXjo-iL zxxBe&+=f*lKtW31O6@W0`b*|}cOg#SyR+xE-ubSRP)#;pMokLizG{P>AiuG3yHRn{gpRl$b3E}Ci z7i_xWqX;c!lWm4|uo4?9@|yrD9ro+VuN`keJtPYZ@0+Ql^7 z3Nu=9ohSBnWaS!CKW3eh^N*D^HW4AIsEVI75c=SOe+p`L?6~~%kib9*xH>Yvycika z$oyPJY>k1--RyOp?1>w97n`M*p1t$g=~8sS!t^mWw@vRVdtx1}E*wq$IW+VV(NYou zsAHP?uX6?m29B4{J($ToZLQEbqMO}ZBpx~GZv9k#d3+7;*ZkH2+3+e)xk8t_fyTFs ztg6yx2BOQSNW~VS_-Tr)p7+H%A_R!QpXCVkgG4x1crc3h7vc{IK+)%#W7PLi^v`3h z2L;99ewO-7ZBZ&pKn{t6_b1Tg=AmBZ=`cjks42L>)p2X>`CWYkDyWqhv84kBe}x=R&a zJig-%*f88wI#Lr|PGGdDCtDCBdP_or%gj|5Alb?l=L>=2%TYh+KW8>yc_9K~ig0lm z%tS=@(GeGy4K|27f(B|-x7o3M8!FjN)A1-4vAao4E1PK#VaL2%mO zSU;6_b8?_#-}yIZ(hQq?Ud`_(2ZZr$9)0^Foxs@ChBB%tY5lsH=*$}z# z%3}CP!R(JaRqs9L3U383x>eeg=^a--m-*po;L-4uJmu2{P_s<`EFy3JerO0Q1PnLW zRV@;Q(VDtb0blmM)gWTytIo!k_XQ)bE{f*8%qMe4gAI{Y-(KYVcw=B+lj8N*lp337 z#u!j_l#XiHm5MynWGjZIe`SUCpfd90t61{fHpVz(3Fp!dwV9Fo2$xuWTpIpk&I_uZ zUebu=%iP>24r1#C;F}EWu{6}Ey2L#G*H-~h?xSiT()5C9eytF_r{X~%6dOj-m%-sE zt%FZJkyqJ0n^foGkPwN8A(!!qX2W^SXxHHyhs6%h^|uJrOBPhK+gb%sw@0aiq`m)I z%{9v3TZ(p}hHb^*>T2H4a*aRCe4FiKR$Y7fuTR;HY$4hQ_gU*K^l7$vR(lVd|mk3?`f11LH9W<>*l~k*w%%DCnM+7&Q+}8khwkwqDtG_>TYH|S{UHlcN{o{ zuk&2F_w>hj)GUuaH~J!i^M*axMXZZU-KAtErVSJv*;^?4=UwHK~e+} zI9}4xhkUNw!&wDr2_i-aQ4JyeV}WK`UtAi(-o0i=ZNHT+ zI0hp6%lRMM?b$^-$bTmaAzx-n^;cFTy?Rw znj&BDKUReIUZ z^dH=(@%GqVmyQ?tX_pLe**G~SV`Am{qiuF4lKEqT8n?H)=ZK82zdU_Ah3t9};S5#k zN`ojXM7e>FEFQ-5QxHNXlIf1M@?I-)wxppx#dQg$B4oz~GRFgVJqFa(7sV!LjHI!e zZqzt$B(B-y$%}L3rIL!!qAnlN-t(EZUWQM|mZ>=YirjdE6rWK~C29{d21- z*aef_sl)Nvd9K6HEy9yLv*TnY=MlD(uAK_SYpYvR=~rC=x=1s#I@TqbfG}TR9$zBy)~E&xJsHVn7Tm+zu1n5hbZd_~f|2kKvd(vQA6s%nZijyX-diT3^0E}SB3BOt_wNyg7}Ymt0r z;*8y-mjUX6hz#hQ2M?(aBE4$ z$%J~AC}LTx7O)}m&?YcfQO4ghu0nCOX2y3TJ@tfhjjz^S0u4GBQG)qT#WqNn&qdOQ z8_2$^yQ=!>%}DdiBQ4}3w)?($73Srct-FA5&)c&xKI$BcS5zbVz1gjzn`e);e(10d zM7iR*`_wH~viuM0kIk?Dgo?-Qi{iG7B*axuvOWdWqKab;UrvrP>1bX&sW?juQ4-R} z&v8*_l~}PaRPx!mp)<#Sq!I9!pRZ=wU)o`%pPri=iEL6X=&X*TbA6)bc%voK9AxqVHNAvYvb^+4>|OE({)>&Hjd<6hiBG0E z;z>?8l8xa>Zm%$WI2Kje*?v(NUfnf_c6l_Ktm05a&|K;7m?4E`aEm0k&eUilHD>&q{y*T2_74$XTTrrV=K>27iT?mFAJl8yB+WSW)z|oEK>K38 zlq){YottXAOyXFO6vEcBOV*+4^>C2S*|Eq=PddssjWM)AWPa|xsQA<0pDE?9j>|j} zv?*e~vY|goxJ5J)Ll;RbMRE z=nbrgOVz(Jhf}1tJBqJDdoWk_=y%_cEi3vSd~zx~|L==b0x4%mzpZ0F-acDnr6G`} z_(P%i2=aF0hgGqf;5lh|LVRrxIZq5vv8+dC1y<~}o^U{fltYOB7=%m+X&&2XYC+&F z`}?os&qcr@NNr#>u6>>C;P0mvj@?CrxpO?#6PG@T z4}yXImNV)^SyUtX^;ohz7J=z{;e4DW%Rj!16;VxzwrF#(Wa$|p4eLI{Qi_l8iELMQ zSOzKV&KLn>cNs0w_!>4@>q+NQVXUtT^9Zqv6{uemDXSs;2%_2|1b!>C1f`)t!ZN1A zwy~?t_hm_IL;-i+EBnlBt=mok4Tf-SA9*Hb@T%neS6hbW(3GZiNV>LK$uDpBOe-Oc zt}XV1%ZzsXYW-pW6aMwC+)E5Wc50p99`F0_tULu^4q1A5{qWl2K0S0u1y@6E&>eb# z|HX{Vv!b*BIhrQVZraOJy}aQGXth>u#&5HJ#1M;5iP}7J>p(H$Zyz~YxH99P&3Nn! zdH54M#gxEQ(z2<;Hu_qYAf#%eeQCQ!Z|z16MlX{0Hms={baIhtW(x~~_Nu5|K$?!M z)Q0%AXx0Ark(Me5ZzE?u9%y9~A9q7Q9s0@$b{1L2KS^M1 z6sh=lT})*Gf$`O_tJ^~6N{Ge#d-ES1eJz`qs#PwE%i%)@^Ua96(0?J;+U*55HPT9E z0nKnIlD9s)OMtck=yT;EcG{8?<-N^p1&o$Arz5d5oKvkEFwKj1L6p-J)y^*^ zj1;grN^n-tMtre3ZQeDE)=+^cGTQ7w2n`+jm?|y?n}>g1eR^jJ-wQx9F>bq~2?_1` z%Z;f<12TK(v;LH_hzP&3cmZ+4XZpw(jk^qqJD<#WZkm(Pgo*0MwjMH41Vj`FU1Hc|I_}`|qO(MiP@EwMzV3x7>x=csnlMTzI!cZzAT+!AR`Z7GeoPMc6I1bPnNOfOGRH- zG#@2Pp&>=BCKH2^%`>}{cOjf-v*4eFoDs}>v*nY^0V8A+wwS&#aeoJ^dqQSoykxZY z=i8pF{*GYsXI9ZXuV04OHZk>UKe=)2#OrfDbB6M~cF)PC6Goqr(dzIWUU5&kvO!S& z==YLy$g^JSeA8O%d`9`4o(nRyIB$(i-#MsG3#(a}&?nOoM4ZCvW$7;rWlmcBn2API zZp5Y2-OKj>9T#;yUvbMbj{lJMn=-q&qwq_9?2PKsm;-!tYurOAGLMt zM&1R7uhX3tRBncP2YGuw>WDrN05w6&4b6a718Pttdey&p?>qG7{fJ!nzlHRk1(#hv z{PObi^)^YEKG!vF*)0U1#e`eQK>FoJ zZ^>zfY~@C;Uy7U_8Quds?%wjFvCn%qoL;{qHQIfr0BKcfH2rhBZAp{Qg`{ZuB5UE*mli1MO zTWveK>hD8OUxx%d>ASDA%lwc`B6Q_GSQU0GF4jB5B|18BVo$g`cdvi42WPLDiLY_w zmAR7G9H%26#&7z>W$eAVpRH@(s9unX2-1oQ6E$Y?TV^B9tIr(B)nBJe^(wPKjsbcQ zfhrN+NHmX=@gU^y#KP0)?uI6hR7dD1SUu7)_c<&CuG zUgz&d^n`k$mk66()#%Hv6DIqLW{xzWCdYsZH{N5tZCAmKuU7{Ur($NYV`XCcLhw`a zjw{LGv-V%ttqbv5H#DCUy5lw`lSi|GS^c1HIf{&LoK$+_rbE>G7Q~^T`k77u_ zMPwW-dJ*d9_HE6wwA_0tchk9Nn(99kuUyQy&PR*p>pU+eTGA|Gjbid zJkfWg%H}?%{zKsAKs)jfdNtX(U*}BDmQ%}%T$1DC(X|f&i|U)2j|Bwm+^VCqgu(pB zVD~KFsQ~|d2*Mv;5u#_HGDM?g=k8;y-P^d;>s8LFFC1eXFwJzlw|N#>ho8DF0RBgp zHZFBq3VV(T7{pa~ZhZl?zm_eJMvO4@%pZngdU7S%)wO;qV8Wl7l$LM<94Vs+pMDu} zu`!f7Ua@Mx3B{K}-U~8kt%`sK@!Icc+;%aZw?BC}!Q0KO5}ncniUhVZa!4wcz4kL>f++dNWo)k8d_IUfS)9AA!pLs@>@+#BoHyue+< zQ&;9kWO`X&W7VVmIa7-&b1B!~DomhWp?4?svU+X$MD_;ni$x9@A2V&V3>l5YDE+Kz7Jd zSgH?s*nOk6P1y4EGk21wIS+?tj9R7^1AA7c=&4PcA17d!)B8 z$?4e>iYNg^l>AOdqS_jZaHZc?*g_ZiYLIoJ@YgT$6)P^Db&!icp&mc-la7B(mEJ*~ zo)5BAe`VsE_BG$oJv-uzz8b66?Q3|pUFg)p&mgOjbvi`hiNaUUas(ImW!V+>Dmji) zhFz)E?b<|%2_=84^?+KafvKCod&5}n7eoba%G>4iQ)p*Gj&=BzP1g1wt*B{-?hAj5 zqhHl8ceFlC4F+U4X~*8t>25ra1c3kE+@hZ2w<&8wfm>U)&mprz{+a5Id#BZPPQOL( zGqgRwtjJ1fj*C1k3!i=QW6sICw-J^H-kV~6otmHcf9#^2!f>pH_iS#-4%vzC#jinNv)xArbat;&9jli+PzB4BqoFyf9FFh@pm&P+2>)|IR`8+1WPBk#Uj z;4-+=#vk2)HE@x$==EucKqPusA&bKwYWdQtYJPU=lXw{d>8Bj z{0@4m4-&yy5VqGHEeB~a zZUSpUYXaM2fKVxfo*hV;HCG04LFlOqG0ELp)Ko_`;lwC{>70z92&HW+&@S*$hqgG# zPfXyJ9Q&Dlerrg*!W&c=gvUVDoBMJTmX<>@{}L&z{Efv17`#v=>o)k0_;tFl-pR!2 zcW8+GpBEH_QWJMOz^6eZr7%;NRwYgmh67pdk6HP&*H*_D0FHN~7P|8b#h{H6-;59Y zOOT2Uy(>%|ne6(j<*oOw5&Sm_Z0r{Zc-O+Mzj~2pFnn=*kCa?RB^HmtmG9-3s`qxj zC9h{$5GA00dMn^0@Fs@c0KIok0WPz5stEfU}>&<25mv!&bB?T(3R1jf7SsJ(!KG4qy6~-@gt}m~4 z>EHXrI)3b7m3ormb%iAN$L8HG%{hzbdRKosBsZ>nJ>O-Agv4mz&nd6Drp{_K8&cr* zX5g{U{a$9$gfj7|Cw9@lNCRt`0Be;l3MS5x{P;WH#7C3QwIdKgvTFZS_seeL+7qaC0@e71A02 z=@GlZ@ZnW&Gj!=A5dOv8;hDf)okU*V7vsjT=f$(R<+@ zo2ei)rnH%V=% z?c9(T*a@`c05zwy8^%6w^kerX%0!bj%bq7py#8-ND*|rM`zns_guFWUT#k7a;QkkU zU3*KLso~1_F0>D9dQ0(ZBwYCstl25F-4~jSIgvhC3&&c5{`s_(cd8F3!Ci}hQ1(g; zWY81tu))$N>V#f>)D@$o=EAyl@uwOI=X?DL%2`z@+~#o`WXrf>14C)}3 zVQNx4K&gl@+J0}nQBNs!@N75v@9v8;PJ$coCgzl>?SVnr1vQ}kEu`^9fBqRJr5nUO za!he?v+YryM&W_?Z^~Qqs9z>*YeTj&avlT86}DrPY=_v4REBS1ipTrRlNh`i3Z}u% z*O_B+VxqK%R18d!>i|Wx%l|V7Rj=O(f1eZf94JYrB8!%!&DrB~=z^~IZR5HhhyOdc z#)ZJ}_efkU3jQYz!;%8L7Z-OiaR?^fI#0tV#M3{A1SGW&SZ|Wn{@6UQ%^bs8yz9$Q zHdRX~J~(8z!Cy1hy;`;_;9T2)_3&)icvx`Qy?q_w*INuH)JMBLfu zgE$GzMp@Fha%&((0FQ*1`f2UuzU88SFA)f@yb$FZIp5bvJs zagQ4Ky<^=|0#??Rr4Oe}=}JxKSAJ zUASpB{fMwL27+3+rDUI#N%yDO)BG!5PNZDq#Yti!>mR~)q_IFx#>RvVMxK8Qw^se@ zo|Wb)4g$qjHXfwlaL1u|ea`&p>g)GTZ7ppXH;m4=Dd}RW|1ANx-n~s6X~8#XP8tZ& zYG%KnOQy=w9sNCgsy@mhzgjKiMvt!)T3gP|EOVakEA3~l2#;Bf=L!``3052=RG@rSbA0AtJGOPARoN?O9ilYZ^ z;Yz!!<@G;zM1J`xeZNBJowc(wgX%Zc_>Za#7*{n~h(SLIH(gMU+O>iZ`doCVglHoI zIPzw^v-M+Z9|5ASNLxWb5QL%oIkbXIILeZ!Zdtb+4->{;VNF7LbxmoKv?CL*A92p~ znk+;Kp^nn9Ac+970=F3)N!jE&kFNNT|_Z#~p-Vhdgo+<#&(m1jp zWWj;QGZ?(|PVZGQE9ZJ{qa8&6@|UmT6o=yJ@4MY^0`hE3oDaC6VT#ZyV;eT>hVc!6 zE6vg>1LC>33z2F{J$B(H#K)p<{mxVbFP*Z#*(rv>3QB921tCEhbOEwI-hhkjqAO#} zx7D9@?#h{Pzjisfi{HS||G6AOqsSliIxVZF6hHlMzOMpB3Woe$PgI3U=T*xPKy$vR zeS5Ab@BFv<{hDBtJUlXru8eRg^YooYmm&U{#(U0xzp{w!TPpp28f?V$g}`pOWR^+8 zU0r}iNBf0ppajo6lIU4_Ef4#RR9oz74-(dvtyfKdV@gTQlvPbufzO+k>%D!(9KrcNMvpZ#wZOm`e~2 zET$!MJp<0RsvjiCn*U5YLa0!ZYGG*3A_nmEN*eF-P*ELb^Nl<>m)=+2&ia@gQ-GzT zZraeFg?WVEpQ zkdJ$Cts=eQ<=4#l(>wGNN2Dy{3b|p=mW)G}9$M$PCey!C%KdY3!ob7;^&wWbPN#MM z!|hj2$n2f=O$XZdybzDMdv2ZYvn|g#J+^NMyd`hcih})*|AKw4)UQ>=qKXC$MWNNy zGNThBn+0v0{dG(K&7*p+xk!C?k5v*yJ{0H9VK)WUn=+ktcACt293{vaPKQSejDF84 zY|$I79adh|p_MKP6jiLt4uj{z+x{HoKOU}AR&u)Yx^+GCy}y}@Pda_JgMq|P&b{8; zP&4N1bK+TFtmvDJvg@-)~xkH-BlJ2 z`HV4+#=K8wp8gGWe*C5lPcg^OW{Ue&;8}pTj*#=(<*6=gd$k4)N|vx-nPwkWoYZtY zNXFwsU*;m!Alrw+v2}a<=;&`Co|9}jv0D{8D~&gC9?bh&NB&wwf!#)i7PGc7<_sh2g97%Q z)(igXTcz=(P~3rOrm0D-IDoVH85bFjqa0p7{?Y&TaB!(J z_qblOiOHl-q%JWH~zw6`S!v!aL5gC$6k7q545-syezRLEudR*DTf* z+3gr;2Mbd6cK`pc+aqwmVN4i*{s_!;;j$x_BpEM7?0Rf{f0&g#X3@Ex@eJ#!;h9BZ zV78km0$tzJ$QL4s#@5#%OAAjV;fv*IM}9JI3X#O@<1D#f8wvJxaO9Ry=smh5!KSEm zR{B%_>)1FmD4yrGvi#5~EUYdp%Un@QLtMr0MY8Mk7n#HqAU?!4z+wQ*aWZ!Za{@< zBdBQs*btP!5`**=6{<8il2-Bl&Jc#?YN+=g8|hBJ&rz!b5?Qa)NT`sy;}x(R@!hqA z!1*dS;yc-M?kdD5qv(f=q08AkGvnBPp8pG-(_nfS#U>Th6}k?(%7FTY1lXO#Q&9qg z@w0=nS5{|cdH{-MxqptB003Y1ZWL}lTuujPcjzIcTTHfX7F^jsZ<5=rfA^&J;b%jF zU<5wO%k8Zuk)1Pglm~%_>a?Xn+U1qzYV(O>&8fU~Kxxu1=S_HdNn$hwS@jPb&s&0i zE-&AJ9FQEM_6KyPknos|oOdkMUgaj4BhIxG1*j-qDgrw6D>Fu#m@{-mI>r99i=Vl~ z^;Z>8d>p8bZos8;CnWC%CbNS9^ae8uE_Iic{Z}nL+BaD(TW(tJ{WirzJAF!(1^rdm zYs-o{z5vjJ^k6sh^-hTRH`Eg@|6Z4re|6%@=&n>TXh%0))gm8n`RN{8 z3NA@klnFr6^QaX&uKX8QJUlR9?{*yfVBV{dZm@n|_NmSvk&e=MD7xBu9TDCQ9{O}G zLzu=KOzW-eTYcpgkEsO7iRw_*a@~ngf^8;^fl?vfDQ4ZL7Z$29kfnXz$WQVV zE_r5ekt}xR9MEk<_glfk=AW)p2$*I2{&px{1b>&q1$pwCr zRy}pISn?MNqz9&?-Qq1mT-1OvHMO%(0|sZDINTIg(ezx>)6V2UI%k3E+>9>X3Hj?t zw05lwgc8MSgu%Gy5@oXsTgSa%%A`an5N+VP*tWO)w?c58AcT!3o9opn(xqR-&1{Nw z{xDg7H!w-@*MjEt!t8c=auVGncUcLe?54JMX+(c(;n9^(e*8>bms6HDJrn*T(rGyy zAv(VU4M~cETmD0F;?62!+H9wfwZhG39+?3MnOTZ!xGo}xOn*wDciuN&!_VJFHBr86 z=?G}krxo>8C2D@lw2zisuwG0k_JP^FJoH;N42L06(hG~j-^e$-M|Z}FDMunuVS!^- zL?4_>3*eq-=?ux)DHBqtM+n13LIy&t0{ z)y~d&{dZjTJW$gcTpp77_-5yi+foj5PWGMab24U`Pt3dRrx@!|S|ZEdZlxsvVee6i z9{&2H3(AVJii(yp^Z++zqb-C>9@nn(a@CjkaPpyklKypKl#<#~A(RfkkvuN@Rsv`$ zWdXd@+LXV9>J15NMTx!sb?>DO+6)Qab1HF)Zd~>$&n82WwdYl^Ft-n*E~pMX2)g?T zWgB|V{Bv-*=P&B@1J61UZ~J8+@5_Ys0=v1+{mT>)Oc&-9qTXFAcrzu<8{d3dl}2b_ zH+g_x>;Ld*Ai`F?nM4WpkR;l@?=LahOnhqa;6>Kv7w&~LBjAPrv~?T-_`peau~7Ngp9jlDSqom^T00T?Woq?n9EHl&G5Qf5LV1C(62@12oLjr6y{ zP#NF_rgRofv6=extchqZ4nSF}MTYNGzWk(9%%y#qzU-&yQk-+AvU^SY+dFxj&Nx)9 z#dscVnzi<+EJFPH3%tvo-|jQCnVmj+lQK4yzdT&`eY>!fqUoEVge_2XfvIv-qhZ#&xPk`%;gP}} z$G+~*O%Mf}=V?V;--!}3H{JF{=l?>4JgohGCdWI*QxA^oeSWqq5S7d8XzY+_UTCwrOh|&Ttr&Sh2;h?(O*&=nd|Zp z(`0}avh2jh0Zm66$`v||SUID0nQ@}XdT_>lClA5gx%`1e08U+aPpSqZ_|~DkwdOqa z!dbgaI*)4-!f5}Tf0;Q|8*<@e{;97|?AJ;s$`&KfmN8z{9t=b_>_T?k|M*3xFjiD- z9`ZcZNp@pbw_q^)(}+G$R`mOXAwmLwuX!RSPA{q^P$m?-8|-@DHTzk8Pg}?E*>#k^ zG9Gf7KtM|>anvb9lzxM9a6^6TX=c7{aR3P*xT&nTFat53p?{7uXBudO!m3#f! zMm5fJR2`tg8{G>OJ|VXULO-hrP!QrULjG9%x|KC5B>U^RCDOTOV#CU%f1T!fDZvJG zn*dK^e(Scd`9Fur2oc^yqT|zA1SmR}I{Yh-QWz?Jib-%V=Cfz3$6RA{Toq z7M&=XDdM?%US_E3O95q%k!iA`_KCzz=t=_$t>o9YkI^VfJ0gK#%Kp7?8NaJ;HPy%c z;qMejcIKqBJ1$9MnCZsl}C%5cn{d`mvRC1EEg4%cv*+RemA{l(Hfm9`4`OG?4ROBtb>? z???i$`z?l(jI`25uO5>fQg$E~q4Sd;Bt7oDQV&y(nmN=abN-*jN@J}kB|1;1+pSJm zstl;Dz|VZ+9~v8ngzk;wk|2jK$TUPbzy#EcL zKjj1H6*m}G0x>JdK_5~>y5EuT<3RZm*x!1YXQ#&NCnxqET{mj zpTGXI7}mpVM@uT;udM@8=Bje6&Nz3|chTT>mW*YlW9@;HjIHVx3zhK$6NZ4}pQ$U| z)N*?s?&FP&(it&x8W+{7^e-{yO>8Tyr)ugp)(XNebfNB-(eM%Z5pl4@##q!VZIMAOYs<-N7cAXwb9P0rqBNeUSEjutc%=kQr&H7-kFC`n4YZR zE#kl;;KH=~8H<946TNviFz4p|xpmT^ZGpF^WyZ)I$pPD)L*y9)mdt|PSQAa4nd0vAkH$ttank^8IVF6ZZU?a=h z1RBxt7o|qoWG4OPDeZX&h4NffB77JuNIR;P-4M6UNeV`5I@+R3{J6Co`j=UE3|9?N zIv;r173Eofc8H~S`=(f@`#k0aUWR4$D)#_t`;5I%(WwiT^i9%N+;a0r$wht7O{~8a zq<$;c)Fhnu$#)qvpGkWXoSz-wh>7?>#cLeXjk8Pt*&V~)R7#|>*q0O%M?NE%QDb_m zBn4pwypV8@OT)n)HB{tI#y}UmJ2Pz0>p3G73jke&DPN6+KL01Pm8lh6-$25RJ4u94 z`OY4Wvb40&)yog}|0=rCH>#~Q&1TlcWig6QsUneyW##&K~Cma8U}7%=BQ-C>`*Q2KRl2&a{};EHbb%F zv;WVor+}r;Q{@%7&uev#4!J9_$CZV_g8wMO+TKe!-mxbnUYm7786TM#$ zbYsJOQZg)4m4qhhy!Y>kcNdW_emHI0bLZbtvKWYbE|&aS=!nt$w=Zt4)K23Xs3aB1 zGL}omhlwActjDo|nIpsqF{~m13v;o%UMMaZ|I4~=_LVarz)=X>_TZ%h`*kd@buM#y zE~mybZz6AHc%B=p2yZKz4qJ^RbwH66cM1=-^S)* zWYNW)txG8H2hi@=GqW=*$%p-Hxq$3HL>jtvy)ZA$r~eb@7xufk@}uEq`L`cFbz|`6 z`-7Z9I$A&Hz0pA+2e>NS#pMyVdrk5amY)d3zYLfL{5wMzo)95kcVJG|=~uZ}j_d?N z%C}-DSMW%khP8sQO#q?rG(WhE!TVr?y4gN}q3N{9)n|9?X_P}XIDhLHZ8KmZdF+*{(7VE~9K zZirJLpuF_*T0ZJt&Lj4ah7rKV5%+-`WjcF_w@8pYTf!m7L$+5wy-J)$s$ie;e{EEO(0e?6)JNKI_T6ecAScad;H#yjQ+D~COD?pbR=w7o?kDTI z>5h)CP6=VFv3OjtU5F;=h#gSD&X!QageeHwLhbN?5p}wrhdFX%JHAaG+Xbf{mIPpNWC?f(*ISqdXxLR3}Y{ebqQaRnkT?bv)u3tTp z%kxyi(_*)gB(d3howN5Uje_3KUFH4ioV)Y6IQmQWhT&uniQ!D!TDJoW8l_&G!gFAc(2e=lv*xKr^D>@u zOpbVSP8lYIO+a^vmDR2nVbvTL~WRVHn1EV`1#atM%%hQ)9IZ8?>Y_! zHz40*_|wz7JXz4#gO(9{kRuBh+r}1DH}D=Q%KN#;bz_t`36UFm5V(*-_Y(tegaqiU zTZR8_41IDqcSt7I`Hs{4`^KXRPyK%79!u%<$w3!n`ngXU@wWf{_7$hGYK*I#HDJz3 zThZA%mef0!J@5WlIv{{OF6S%fAW!oqR8(!(gV0r!m%huwGqa6ME{aRg3hpiIGS>C( zPnq6z;`Q9mt&%ne5(4Jben)b-L!&Jv-;}&A-9v+MH&6;}t^peN*6_hb&c9yI=_ssl z#Ha4?jJ+ffRp;h`Rg2$D$Y({qVW=_zxKQDkg+vf0P%MV5pz zItu2bgJ7NC-+r`=E&?Jdv*H*b;UFxU2(j1I1q2eNy)qVoo7j8Qu$NS59ph$MFJx6R zg6MaE;CKz=^9E$Xd-=%09&^3M*D)SdO^0FwzbBzlsfwGMjy^%bg#@~|-miKErPY1R&{cg^6BiyMNSp*^RCi_um`p8E$qSYbxQyovvBU zwLZC+ecS9H2!hBvxOFYYu;KM1I8ULx@;G{QF#_h}t^4hnt8wKgL>K>*g%_4QT{%ji zu<~{5U_w6$#sp|0#T=2*N>9{ z`1>9b_CVTO3&01R0sqOptPjJYBm$gVT%6cUmxTU3c+resk?8OUsVLy{COnt&oGa|}K7}b<^IijMvTDM=VjAS`Wr2=_ ziZQ5fAI_%=5(J#PCI%!96QO~iZ-DH-i4P2K? z8dlN5b>A)#FhkwQ3`W3^A@R+E(>-@J$@oInht5Z`eTRjhlxzPnNJ#4{_g&TR9f2TX zOS>|&8)ZI>Pr2&vQl9pN^%0f+%4zDtU?T+nW=ar$ z&c2(xPw}o!HI2EU(1JXi8GKERfh@d{6>-ypb!06Z8Lbj2{N~2CE8gz)#CQRyI5Wqz z#g+pl&Q+j^0PWOsTb%sS;yzYbK5GfG>Fqq9<~RckHF4YL%GZw!V8-IGab z$%-t7Jbx({F6;){lQA+8-XBZbX?0oYi7b$+*yIznB50T1@cxQ6yaCzjhx_ z2X&;Z{x_u?&82Y*{vntr4V31>Q%b+#1!u1)bO0rpns5{$-to`twha`W(x06A{}_AE zu%^b{P&pj5y-{Dy4WE+6PV z>yPZ(JbJE!WD2It$6BkG7|EiG-xc&PbTE&6q{2%BdGtVbC+OY$TL)gY0_jn0PhGQy zsE(&`S2R4c;sDk5jtasv{Q`|uWLZp&+HxO;n-SVFK`+GE)9Fpq4dEbZMT=tC6cMbY zS6wl%121gEX*Vk0Z^-tZ93+U?q)oQSR0M@BbzaAxvDjnfRh0j$6#4F{b$1iTSg;Kp zf_)N?`+n95ACF)(`JCiF|7^qjxIfLMz2H2#tM@AbRnOGB@XQK{D4o5WHru?E9~djQ zlr>H-+EAhC$$0>{zwi(|IpaViX9AtR9}@>ne;_F3{>P%Hz=l0u!U*)nmyI>qsh3d?E)s2kN zt&9yK*px~YHzo4iJs|dT4|u+piqHF2HLu5JdqOzNSF(*cqq!~k^3*Uz3s0l2Ye7n}^cEjo*->V%H81{DW)$Mn0F z-k%rYX>8R`?Y!3Zr#Mu4l_D6YOor{4d*WqkDt33&n^sZmRP2|ICf9YwSAC5?$hMq( zf6eMM-;hFg7dVtVP)T`zR9&KFtDqlAi9v4Fs7H|&&Ogw1O2nMHYY%skvA)?`SnWe$ zbFI5}RMGA_CgwZdpZt4t$`vm~l-L6y6zUgM?#&9U+0lZ?!~iOIq}=!v9> zftwppBR-BFEcAwR46ccTv}5PZd|>|EQ~>@H68`Dc&)HD`%{qJ*u6;4F~S zgYSL~5Osd|L1jAxBgowZ8Dhx$syQI~lU7@)76T2Hnr7VLMVt;XQsd2a@?8vZJTc2% zr^OqO_@}y^eg(E1fhLzbv!X`Wew>-!vvS_UB6+7!&5d#ycX?vsw1K4KGwy-*Ys%dz zdW}}il-~ZdL8_D2z>qo!%*Y^FVTwlF6=ayryJf-syTCd=A7_4l*Xa$fr5}q3As5m==cO8uQE+PT2QT5t0oG{!I1xL z?LdE_A%&EkwVHZpXr9uR3a-j))lUE56_~&p^vbhOmrGhXxICV&C=hnKe|kN`BBsra zUE3sNY;JuOHeeGOY|1{|O{etG4FwuX%tcG0+f9D>g?;k5asS=rr;Nl22bMwtZvje? z4iu~**u(>byncJ@US#tyUVRg~0HbWPav+7YXQJ7~w9qU`%{nGeR3kN1v^c#Hfncx_2RF?C5{l#adv*%U7y7Ngb>CdKX zcd&GX@cafpx?Lr(;b-+U)9G(DOEP*QSwbq}(>z4m8u#;Ky5AHvflUgvz{aD#$tja{ zu&de)0k3Azl@_6VSJl1WN>($Q(6>={-=~TuZXW{dL~VtuFeFb4dUU%WYbq6=F}G_vo~84 zvM&qNEv&M-@7LQfzU7QI@p37Q^e>!V7`V#3ksFDVSuDtAWeb%JV+d4b&k{%cdtziU zs0l|bGHtJeL!!~ZGbJ~ZQQe>eJXXb!*y-Vlg?nY`YPuxm9Y1{a9Wx%hmp3ryyrGCKc&Ub3bU@?L zrTiRw8j%A+hIu`DNE_%xZqnaNf&fb*NU(hFnaN^>0uaVI=dpJpDBYm$77$Ac3Mx=_B> z$H)vS-#y+Hu@Cp>^wRAwt>Rt&eZJeSD>zjV-g7s1@Wfy-m4Ls1m>8P>Bj5njoLh55 zN7VuaH4Y9IbwrvX>)ELv8{l+CuY=iMYBVxEwttSf|FkV~RZ5`{X=Z{jXAP;+06 z84BLShXtV5ed-%&yevVU_r9vl;bQ&U{6km1?0HtNdez-?jbYtXZ3Z2En)R~D`# zg!{7hQ^N{8B3^}i@Y?*+4&lg^o83&M_FCRarut>Nku+NI_otHsrKx%Z8${?T-aRf$ zQ7`noOl-7t_*3&R{8>#Ymov-?Jr!}n?Cygh#LYb>j})3DL?; z7T!QYT1I`3Nz1cnr<7l_DmT^ND3^JZG(Pea+I<+pKz+j=+B+InZknWz%rVGj2R$CG zl|$Cqb;XR$owge}s@iJp*6 zu>&m;?W?sBbd+JUH|a!Mjmyf*4AYIYjH+V;qYf3Mi~%u(CeZ~5+qi%>_udH<6d`m| z5~Z9R&pbQu`alJ1ot6B{B6*xj_`WoS*IPHIq!}T@oqD^q6$nGg$(f$q=^;F(%=s$pXnPPB?*RT=jwOKo>~} z8jhplq(^G?RE{Bu57U_A$#ZBVMJ80Lg4$;G8A&cLRMOkMQB0kOv~WbAt51G_PK40NubH< zdPfxP_QEc|KUVQ2c!hX+r4&X4@;jgeeF-_K-A`1)S*@J^e6d8%3^qxqrrv+C6y)k) zU73Q~cI2T48?8JER~&tFwb2n@HC#x4KqupPM(nmXPCZYc*VE0_A8nBmPx+@@`X*b` z29q`Kln@NwpFI|P7Vh=)c?mLv3iiWHpW~9UNruJ;NDee;?nxMif+pYJ_&EYMOFDG zU;kD=+tIh-ou9kUd%Ed^yYB&9<0h!Y=*e;oH;l6lzEeJS)49;Waq6dfK0&U#Sc^wI zsASXHq&|7qd?|{gO(27F2X^JxF(pn!R$aUiXY#8^wz8 z0wLht0J-?11{;Gj#(Ck7j2+enXVn$B`@&^opTFO{yMF516{ICkz6GoK;<=wU={00J zF297WI{>|hEAP|6n_bpNCgucS*1LVJ6qRD&^7pq^q<>uRK+(wbh@&$j$+OiT&P;O7G2=`pW8aCH~+Nb(#)&4qEWq# z#u-N|*=)x#H)+4uK6WY&{oJona@Q=Ce`M&jnQ`mKj}J6FO1tFDN?ZAMGMG@a&D~_qwq-niftKh5M znQ@Ws%46|95m5asajS@K2Dw!7eKkjold(i@RZBZ^@cvmJ*^_z!lF*k8OYLfuGyT)Vw5m$V@<6|Y>YfnXUWJJ0mA z`J=TJ^@$b{$GhfaP+3Phrs*PFzl;KjY!$2p1pX-!#4 zRrZWbOY0@yR%|o4cjjsEap8995hA6ItQ1%b&0eG(pB1`%1C%{q>jj+E3W$x8IURR; zOrh(`Gt5I*jKp>kEwV3?ymL>KAnL22L~dn7vNPby{`QrdSh(%5=#{>|cgGzJstH+h z5~l0ww_s@RG0>sR++}1aq7W;O$-!1YQ)x&|L0}TeFwj}JD*6HH6MVaqEI6CMAz9$i zmLv>1{+$&{UAs~Nb?l>XK7HWP^^xqr*4p3E;hxzJ7B0DGUaz|^f}jX|&(WGH{j>aT z9(Nf0!4wOap#dOt;c$sxk{CKCkXw(zOOu^uQeA(YI+87-^=-IzS%UuhZ-uxHkZl9j zK_r(7vEP-)rvV*q9EUduB=0-wr?bFbBlPAm`!#8GlKv)!Ig}wYmRkjNl@wjXoG*fT zYg@P!na>B^yf|~E2N%+Wr9oX~zfQ#FN1i`kD3z>Lnm#=ftkO<(yq{7t3ucGy5QPi) zhzBsrV&Hb0-L$p|qafgp|NBGb1ruoC>2el45(AhgkeVb$F5O)vf$4bRBCTRaRy*RH z0lU@KeM$P|VXzpGTR32xGDMdLTfRiCw#Fg57y5TYt7M>Q<9~m9pMYpfgxaisfx45H zrUtM6xoTG{AoEj1@}W~(0CBEVR_stiHNszE^APjP8j#?r8KJ@4p#ljs+=gQ~h8ChZ z;Y~aqZ2?4WRJi`ijjBY~%&N1yjYiEa+LMpbWB_^C-#anP<9yKV z*?f2(a?ZmS?6hZ|8>?f#xt32sB>Np9x?t;X5eU}LiGg=#%KmCbg*GXMvzQ9f-GfYT zP|G%Sa2%389>j`=;F^I~bN4+scTL+7$n9>+v4Q_QmlSYl7yU}pjGP6QNWN(1DTW@2 zAgxs(qGE(y=B}npmn~>*4R`R^JZUh|zU$fBiZepL-gCD>?TAt><@yQV3 zg`P9wX)yo>5?G~`nxa3fZ-UcRNmYBqbd~0|3*24vnU+vH7d5P&e&Bme^q};SLjw~* znI@GRuZD{-?MX$Z!4sPr^zZ(u=<=7*$&TL7&IHM;WrOBROrSq99|+*waGJa3ReAe> z$khoGJ1 zj*I;|t6U3d!Pyccfffdxri{JrpWL)s^F*tq54-3Z2E_|bAKEXuFY!s^gFsw7|u-0%D9DT#R(D8m(Qt<4d?*V0V4mV}XHQNQ}N8^VP^IVb`?cvoD{TFWyBW+Rf zmW~WpS7yt^+9(d8O8;}qpPOfUUcP}~-ljYg5 z$;sx&h7SrZv&VzK1%>f$!c83bLZAJW@^#}Um$R-Tb7w)St0;OyK)${JQ^oLq^0>qL z^^=PcbHfn-^jIZ{=f;(&&ZzzLEyN)^-X38@NKTIhWH4y$s%F_r< z@-?2?FeN~esELkvONP{t4ilNBb7!OqLYqg{{A*F9F25eLL^@`qiGO^+Vhz?zU@LL0 z(I$YaZ`LvWcypioE5EjYzTY^x@A5zr_?v}bNnz`5Y{^AlQw6D5PE`_DJy8A*ionPj zIbF2;In{YS8I-&-LUPw}#dll4AUhc*UVG+~E3nloes<#Vb$lkTW>BD}L@u8amhmW^ z0=$}z0SBFvVwEOnvqYCI zMm8bV0qDXM6QH+2aE$J(oqN(K@GW>Ps&ZQ!d}(d)xM3EhS@4iup@LRy^k2bCYYG-Z zvB8Q#s>)N2GY&@9VX11#!EUY9*&MyQ(mLa? zSEPWm3dGFmch(Tawc^+e%Y00agpJ(DJ(A1r(r7lNTqKko9 zy30FWTTr(M-A-6k-!k^`Vc+Si;aEc7tS_{jtb#QD^(`04oRmFq@_^vYgiyQ9gNJkt zlwsG}8<3ID4QVgOv~p^k9)A7>MeHB45NTqV?rSP)`2n52W^F2Ne~n~Tx%wkusl}#M zN$e&ZS=##$6ck{-he`;xFDzFKqAU@ zGl3gbbyl??e^eo07fiLZOt^XWr5eii z861ikFPFhIX1ks9PO9DJn=V2i>fnjpgQ}|(l$b39G)QS6AYnxobVx`|59ym4oJbIu zZ02Lcp)BZefCUTwH=C$!G%szwybTRTaDo<<%`N4vb>|$oG_~|#UojcgjA!N7^q}5w zyjHO^@wJTafcpz0v=bI{{kLo z;*r_&djMlHdwzc*1{_M38E?GUzadt|4jFlgy6Ourf2)XNLr@Ps{Z1`=C#Qu0Ti>XV zCE9&I)@u+{gW5Ca&YnGShJfI1=K($R@&*;`SRBq?n6|(PSWb&)XAB05VhrEFo<`m{ z8%Qbg4;Nfn<5Hbd)5VC?L%oJ^H}$&kCV z-Y&Hoy%j@xqOQl0XZPhwKT(-T#rU|`QMCJboMnliL`W^Kjq=Xk^|!sMNv=*LSYP_0 z6~je|Y0lN<-N~MLPL2QBj=vKV{Caqdx}k)=|96aQCCCbWLxUN{cJ|)WbY%kGTuXS| zI>WPkDkvb+49NH-WgIfI&N~<=fJ(a&-1|5E@egkRCQU9_IEQsz2_XpH3i%$WOYS_4 zZL+7@WhA-ua-W|Uq}R7Gnz#|`Lk0_|^my~H4JXAxnDpY!rV;Gw@n>%h9T(Gb3~&;M zNk?Q6F&6OXw$ALZp;MCNSJ(wzi^rdEg3piG-0WB66<{E-03HQ{S{UZw3QOb`{)wjB zSic{OmXQ8lSfzK2H={W=BkOWKt;!&G-oQRl_%yXs#zOb$HxM)yB#(|Ozhf6GU%L%s z==c^3jgf@d;|huD*TO!q*=u4~1cN)wQ0 z%io{~m+aNfs?913f{NnGn+yH@4YNw9)L9vG-S{RHqWqI$9UBjYnKGPnLUQub?%OS& z@0)}vB4X9Ghjj)5DSbxa>TPBMt~f?f9B+Q4nBk4PbP7{?uq~`#qMEJqxUSy4!Ad~{ zv;E`@Sf_5EZQwgZG*ELK?hdwO#dr<7ox8C+ed*ejIX2+bw;^>rVX$KD((`X1JwUC##rWKGe33zO46$-{`g6bSvhMZ#F160?sPa!O_Yo|LUsGe2T{N242-wg>z`88qnwAH1 z19tXHuXe6f>rw~Lxg?^+i>GoZWmx7dfhYJM?dp=9NCB}bqU+;EwoeW<>HT)ua|n+B zfbO=8zsC9W2+0tkD@jt2=ru!#V@m^7UTi@(ux(@_n zgONsyAMbyV_4pqT{-6tE;wG>ka`}i}W6;I}_aQXm*+9gJKXu?9gij0$`f?B$dc@>Z z92XMF;wWT&Bv@!0j~XbT-uXi9?dA45Y;pt)39n5R+#q3=U8(X%OR5dJj+fJkre7RK{6;)0v6Y&sRIg>)>amo+a(*(dN~$`kvQIea@g1aeap-7nmY8VbG8=V`wJHEle2 zuP%KUNXrG~DItN<%6FX4Twtt!|J(T}@25hC(VQKbJfCdE*a&}|O9fXERPK9_EibKD z=aS15e@q1R>M4Sbq2cG!EFO^M!^l4D8jUUzMl^B^F$b@?EW#O#N~7&=1Og(QcA1ZC zD#ABu@mVzVq6o|btsWTkP2SpUq#Z)f5cb80^b0ap6jka^T2kXZz+j^RcDMQGgesOr zRimd^@tIAK?~qdvGbAU?53xtl<-+IM6E!9#d#(oER`b_FHSmavY^|Bcl}>Nz?{V}u zlrIHErY`K3@_kMJ5gVD#s*HToKyh0ogr-Tc!g}o!I`{`pawP(uXaXc%!mH!1?TDe~ zel)5kL9p4QEKqZyrLE%}?n2C!5wcn%%8NsP?DBIEti89jgQ^G>H>Szkt+23Abu`M+?RaShsb@s>u#6H>dyd(>ap~(x)o`(#Ouw~N055OS8^6zV z?qw%93I5h1SA1nBEv8tnsCK^gY(??m{i&Q_6B<0DhC`6vjxS=N3s04!^uC5nKxQoT zCf675$CMtSxoWWLkG$5HDl1_%?F7j?T`eF zffZIX$0+W;Tn&~8nRd%>l7AG=Xqq}yvDIGK6d9{**E1WUEM{J|3A^sq$fVqqQjW8- zU_4?qarl-|9P|50F(t{FJfW~j5?@Ut%LaQ?Ouc2l2-3Lwr9{1D+Do-tYi#=6LF~$A zV4i=xCUu9Cat-O7S9SW22_G9Eo2+DEsXU7ukMA=CpKEfKEq8?)f||_;P8e9REPl!0 z+Duah34@kLuGsGXWCNr0&M4bqo&9)SYyYpBpSQq2sje7|Ju5bHdf(V=x=#D1WI;fA z#Z&{>tGA-+tD-3cWVhZ>;xHnQaf?bB?3}IPtyxPWJ|$A#dAycUoGD>kv>i>Gw2t^x zM8FbGjGxQmAGwR>>Y-IHrR2EPdes@@4qi!#Lm(+LPOO&E_sbX%N{Gp;aY#dDD4gy8 zKDdq=cd(`8_{^6^)|B7n(Gu;0*i!esuINIhUu7jd0!K7sWcn`F0pxhyK)6UWWY5pu zpyq}+^9Oj7G;|4)clzL4n|@Wf$}OCHGNj46nxcpB=;jJcdK5Kp%bjhiw{wf6+~X|u z=APGKwy!J~yZ~}+72c*+TZ~z{z9|66zEeMjS|+wg3u@jRynAu$sUM8VQ5~D9;Ij)6 zIrB1zTH!!Qbp2lm??4gUC@*Iyv&^W*X5(FSe74-uN}iZv+maquL>CfJTUG{XxDxGMcxuZEYqIr#3wI4Mv^aqTrqVCRK0xFxC zhg+#o*?7!ncBh9^U>fAZ9N(UdAB_SPL@OR%z7mq>X9?||vbBjZ)P^3-1Bmuz;A}}| z$*)9|JS7MdaE{3%o6EV=%}*OPQ@y9ZCtei{-dG*3W6h7yS}G?)NG$zOg6uNku)kGg z_dc8;PJfuwI%t4b zj6T4Dj&040MT$diep{iCCgl6IDp+(0UO5bb_nP5ZZj{JoxJ*8;NG(xuu%>o_?=&!i z6J~aXtH7A~x_~@fuS~jLL;BrssF~yxJn%#}eL12zWjVQQpViE-LNui)&Iy&?CQgQ4 zL;a-3*Z8W7H3MJ_ZKlf!>EcuZ(k(>=Vh#Y(7|q`jxQJLIPiV6=6L4ek19o&A}AvV3syy!i9FaP?yX#TzO zUurUwZpTf9MRMyiny3WqP zr*Cn^_j6IrK0n6NnvK6Oez+xsYqq?L|B`ktSdm{5Or7Zxg8SY>n;4wB7#8zS-<*G13`)xfNHz_ly?Qwsb8$R-^X+KMTAaf(uylz$cjEz}8YhxZzK z{g5W09uqUMt`E&uxzF8s*hfzgkg|Yi9D#7AS=%$f28|Y zJoYA*NI)Ik3f9ino_*YBi8aB-kV_}{O5&+j2*$6HoPv1Amp*ml-@fM~Ng$RSjNDSw z=a8IVuOzU2PJKq2{?qt`O-G_?{%0&AO?~lRc1Q|MHF*>?zZS({qshx=Lmuv{sey2R zS577X{@j?1Oo7IQj<4sU$~)O-cQ~%Q)XPqEqL#AdyGjpNmfo#KU!tnh7mF@2#T-19 zcb<_62}5h?T4 zg8rQP;^+=J;uWJ+q;|dOZx1TiT_q7>sy-=R5JS_n(B+U2tNs<*!Ncb+)gMo+-;2=W zE*XS6O8F%bE_uV|QrNr+&N0x^M^>Z=+Y08HF_Dkc>0{6yhPn;vlXQRwE0*_<88>S6A-91t3%FC?#-)V4UT+?@M); zMKj-|D{RzIt=RNq1x4NQ4*OleAF@+vbFWR`?A<1XeA!vim>QnkFrjvMYLmCPkMo_o>Dq*t4Dnj&hb`q{pj-I<&8Keh}nk3-8NZ)KA8o zxo1BtE{%=Rx?O=A_IFVo%@0CswD{s=Se2LWZjR1~iNqp%>FFYAbX|HT((M!?cNAR4 zVhko!`3)L{0(!fjR-86L*mxvLA|i+RIr!F9Fe=Y1)1FZE`gX6Ux8^y*?>s#5QX$GQ zhPB_xKzCd{mZG4-1poZl5>b6)rVZjG^U&PmAT)i14p!JaKG`CWH=hQI2YeuWHb zYHx4BSys~42zE=IW2=vM+GNx+Y3%+>Rr&!Di58hUvAi#IV+>p}L^;|Eb($we3$(o0 z4|+dAzcWy0h3@&efrYCOqP_Y`;w~ye*);b;UFS<`qv&JyMi5Ia39jIr+T`>97cAjs z4IIEBZZBo~_E{(ik%fKI0!t;bC~&ZlKI$%TEzY_w8X|At`b+7jCCErg5Ci|Nq(eZ+ zPDIl!ra~{c!IF~CwS9Flp(^!M)>>s@YZOrg)xzpsPkkroEC{hS+i{}Bu_Rl~S2c$c9GScrwzuGa}6(sXyS z(jj;Y3SqFmiw=*f|%1@2R<+mfYSiZoqU27StxqR zZfnNj_PPqVKyG#u;w0p%+Z2JsdkPSlG=Zp$rUr{tqbvo%eq+yjD1IY`33wEk1D9fQ z0jKXnZ^>ogBQ&I#eRT;IRx1%%4{IhneWhT~sA^kWo5OIa1lSnq@Hy7y{&;(KM$lyUXkI?)$*!BfO~Tw4 z0Uj|oS6+MX@?A!!MN54-tx&X>wI9*gmQQQN3NC$^A6md9N+9aVDH;! zE*@A4bM3`rcVm#%A9`z02Sv~=c)C8v4HQ5T#w}X`Gs;wi*rOl(33=072uia3Ai>(H z4~btl-)r9Px*}*ywXKM7DfnVt0%M(8Zx+mqlt1v*{*mR<-i9~C_IS$N?5XU|M$Ad- zgmuEz#{!M<*-*zYtnOrs+pZJcJAMEveDn2DzozrCL52epb%5WbAGI!bbINW#t~vGS z#6UpYw0UBGRv-9*E2pFrJ*>QrJ4`_wuQiHaXg>UIgS+zRJJtxZ9ouxv>s0b$L+SoClw}#kNmiD(8rq& zLVhsymX?%pK$V~I!cgoKB-2g6Re1@{qh6&R?d1T=37!GM|41x)5i-xPuR8*A+Ckf+ zswL?o7y0cAWxSU5`eGy&f#`1!683PC+XLO5QmEgSsXlpAnsVr_Z^Fz&(}Pd!(}pG- zyj~@aKqphKU$tJ#bX~`(xDx}mE35;@L$qD27)KeGeM}qVjF$M;bA6U1Ova~5hS~-m zk|oeEj~9?_+3y-gn6tpue`z`23RrHMR zZ(kQcp+Y1}$Pfc-s&A*e-?biRU5QyUb0q?-Gf`zdloN|`>uWtMeAA0}1qZl8%oJfg zpS1yRQ<%CGbjgp!XpS4ug?@)!3Y(B{Lcm6iE>(pG%Bw=cOL7tHFKz|IG2TSjgScK0 ze;t-YT5x)AQU2Pbm{leMRixH-a2tF!^8(|W_|Fpi^p`V3>cXmcMLd(U-%keg{;;6!EsqEqu_@|R*(!4A4l zXbi;0U#^8Yrr^0$;)7N6-*idJ0@Qn$)PS>z6Yi0ZzlMttMX->KwXtdMBY(?|eSOEB z#x6P!W?W7T+iIX|>j-x~_rxg}O}`B{1;t^;>sEfMX0ZWe*O#;0sN;K=HGx2C;cBy+ zYz7S6j5+nAa2XAJCBS`e=6hKv3*O9yzkJ$&w62ShDWC-3Z_y24#|qeaFGpNePGr>o z28VA$`$AN@w7qufy0nK3cKESB8Cj|0=i6yvVz6K$T@>tnOl9i-gE0XCD3Ahw0XrV? zSeSzdOF91Fjdf`Ol#q*b8VdpxX&4V{-PHk zrYZd#A$K}pB5~C9Ji2JPT^bzTM3KQqH;^5HX*8SL(<6a86nRIyjv-NXsQPkBIDprug`y%wxURnOE+$-#I#swVPOmDjic=HpmtH4CPWI#v=Jbb0IOptH zFPOD+z5*~fRE)R)8&ZZLiZVp8FzlL1osJdM-<)G?#RJ_pH=U#fJd_zT&vyRD5iaE( zaP`lGs*hNk_&Nh=4>QHFk@Ise!L9h5fgSRiaT97MVm(_NygD43f9eaw{-ZB2t`mm0 zLL5x7Ap(VsFw&(;$T(zg^a~d?A+;OTAX$BC{UgxY4&{x8vo}rC)AtP#$-8ZTK>(WQ zQ}oLo(&UM>K!GS{$|DM#uSO7}D&GOAY4f@m9$-bPI1^@7|AxY_HWx#p(tCvi1hhpI zhr1{)UW1843@+dI%k4VW{on39Ey=w+bJ<|T^T@tp zjaSml3+6lEgFejI8TIVPwKB=nGtA?FI?p{9d%ew^*x<`+&^VU#&PLJ#QS_5U$p#W- zrrMff%ou7M%DU_)3}N9Qk&=Op&(`twI{%m^6GdO8Z7LaxL`WwOQkjMWD%FvVhEQJp22yKI zBJG7k$V8$|CoL^|G&3SxSYWp1G8*-!rj}KBR-PaCA1bKx8BNTJXc0`sQmD^`){8ss z+=QMWk2a?dQvpAv1qxB#cS^i^0XCk<(3`BE>{swC?=X&O&sn0`d*_MpW5R8ApIxVd zA_HQUgW|fM^OEb&B_P(BgTGG_udOn^1gW#nZ3BdV zv!V#9H{WvrXpd1f@2UAr;3CEJ1 z%@R*^->{~N3Z99eC4}Brs?(*r?!z->D#_85H1F$=@RZ+PW^-|Ftt#KmKPzG9B zuENmf|JO&cP=knTYS|8t)Dhv&cM_*<@(aI_3ZEmnW&KgrOg9kd%mF|De`Nqb!<$cL zK{7c+r}czE>c{ILL>>|qoLVG?Uo~c{$~8}byc=Z!5YNym9)lwj`vK%7{2fN4_vd(i zoHr0qEs%L^)R5er3N%Yr0RyDoyzi-ZhGzE*KxxB5t?5D(ZS~>{j~=hM4>aLUeV8%wD108qmFe@(s*LuBsG9yc@F{WBEu7 zxTe`Hql+ik%H*GVPSv<`4I}a!KiMhtiQZue47kP`tH38Vl_;_et>^4Yv%i8q82+Vd zC-BxkDs*#UZ;`WNJSr)8#A@RR<7MTaM{kxG`%r9WlI`Ml!#8EgyU0cdBEuZixGh1 zEEGp9k&1SZrQH{f+{)&SngW9l zoc}tsP8o&h2{Ufzbot*g|Kq$8_+ZhUdnLJ5>;##YyZsSSn!G>-lf4FM&Dbyx3@C5B zaCYv1y2G+=NzQUP(VUc?R;Ha!7aqM0LlGj-0`+nHhM0^@+j&3ll#EG=-}CI+AbzQm-Ic*PYkzy9EP@oAQ_QerR=&WAQv%nPDXhepD!LCFB0E#o>J_$KXEAQl3mo$36)W`l7nf8 zIoyEA_96@Q2Gv3rc3P@T{aoGf+oLdZ5uIi~8@P5DrZQpL06k?v4MSzCIygJWW=~m{ zpemR+ZTEbq1B;?}?U?1o9n1Q53iddSZB?{cj)~kmXuU(m&#NFx&4>7Vq)J7c&0l*_OaGw?Ddi zsBhlM?tLrcRc$e)6&M5qDT2M%3Of#AI>|eC?r(UIuNvGSAS;p%p3FkxJhOlE=2;Vb zR-myXKZG3*nTF$U?`6V|R!TlQ(3GK``*r9rMs&?&d!-m@YTKJiIaxr{e56pw1(jYA z11tV=ecn1GX^Uj#{JoOF==g@dywxx zNh-pIY&8JQKn&~U!_?)X=+YA^q(bRS$WX(g-qX4{%D+s`Oam5EqA!VVf&k^tRmb)V zdG!Wm3Tni}#hQeCU`s;nd++u1N^x-!c zILtmpWS66*6T)_3?Oxnp$sJ;)(BfvV$~8CuKc9j2*Nh93A1X0g58qQHWgk8&K{Nxe zg4}AN?3rP3TR{RO8~ybTK{k=*kT-$0cn;gZ1U^GVd-zpv0K-fgffbmg7orP=?N@0p0bTi$77Oj?-l72pyeT)A=G4z~+p1d>f-mMi zZte{fT~K7(c4h^=JU5BM@(Gw-m{y1uqD|@44zU1>6%$LV6C9phnt#1DP#^!B>4m1i zl^*tJKH-JN+S2Cpzew@tQkMjqAb*x~T`uzpud(^!?x@Q?_Mdyg->#H?3 zcORy9`piP5UI<;1rUw3FM?vlX__fQK@9QcYRT3hk@DFKHkvN-`QA29y3Eb0|xWC@s zu`Cia=wOOj?iJ3mR>v$T{2A>Sf;VY^sYi|DS!>+gz+cwC`T$l@2wlW@Kkyc;m7_(n zHQ1=PSw28G;Ez!*GWT=4@d!U3b9S-dm-$^JO!G z8#dCctXdM`oKk1KwB)-1&fqctDTj0+KY&G6Jrq$?|K@mFWFR$chcxg&A);tq!Bpp2 zaMV?_<$Fi)xRW}&y#dbO|Z3()X*@XW~s zC0Ho_ONHE9(HWuyI}c9ZMRGoCt9;hV)Qk^Y>7}!XsUQV z?uQ`gH2Z{|ee1BtMWW4B49(c5Q@+B}*&dpSUb!V(s{ITm8?6#+NLQSk5)f*f3b6K@ zhNL^;r&zNY-0w!Jofk7bI~=@v9K3oV>RIHtfrvDd6{OR)WqLtfx77Hpe#y{L_g9ts z>iVw~AdEI`N7;vE(Z5c-%d~XR2+k=2#~O~(45GB)h0d*@oEBzI2xW37ky4rLk-s6P6^67&W@X%nrd6F^e0v*Fs6#m>bV^JJ~7Z7 z!QOf+uVHi7WSvIed%!u;t)+#RQrhK#CQ-GW&xGBx`qK|~V~79iV-<#+NfuKSH1@dq zTK0`z^p#ca$?=uhcwO47H7cp9J-IyF%2z+eq0T+yeR7HTP6Mi;^><6tA^mRUjE*?$i7tAX`jCaGYP&H44@$4w*SZf95g2*g0I zbdbcmq%&i+MBMyWL|#LZWTi-~00#_F5|N?bLdbE(2;gz{(5#FVhgRLPmP9LGeqa6d zNpg2gRv9$4hF|5HcFSJH$Go)+s;k?Xy?NM(Z1^M3d}+UuVR!sc1M{XG$n-&Ko}^v- z*H8X`ij#y=-bKI9mEs?}Re5(p`-MVYS(#{eYQRSr??ah?R%>~pdVri3A_{}_uOTTZ zbn{r~N*WZh-J|)t*2%4+<2uMV=(eIw#0)>|ri-8^t+fOCn@S?ekkXc_Qulr{9S=*! zt8Dke?uz20bm5$Y#_?mmN!er1jExaq$OfGeLn*oWMO`f-P?QNDw+b9DdJxI$p?bqd zRp~^GCeJV7;Ol|NOhapNIO^2QW)kZJ^W~ti)HWPBW4aZBW?dBbqyv)r=$V3ecJgTQzrQL5>pB8aWPcATks9a5rs!cP!bu z)xI6ku1nm!M{VyJuc%b6-+0V=>`${Z7I*h7_9o13vwdd#R` zedF>i(KD%Prn_Ogyz9XKA?(fLp$y;l;p-lQLDnQ>8B0kKDwTDnELkd|B(kNlC9>}` zT4)i9D8;AO5S<5yG*<#2t7&G&`rk>yPeLm0ozMr>$>f?`G_kG>hd7Z~` z9_MjZ^d^jgHfIEbY`rKT_xRLh@J9c?KPk9B4g5Nl(i*kEgUUpPdl(HygN zR7@Va4*%~A9(oy`n1pRXL5Z>bv~AIKRU?!3{0iX0njXgg6$j2HmuDa&&&jH z5TORB`IV^e`PaPogof`wV~a=seS{ExSm2D}YWK`C;N)9xjdR)Y>y{p}QcrCR0OK;~ zKT^#|iAe9&g9iTy<6y>X*ogZ7-LJCwIZOAG6Kpm6k6>47I3t{3d27C(ssY=K-K6db z#|c4faDj5Oe>qg=6A{{*e3M6`N`J`z0U~>d5B&OJTa|JLc`G17cBvqI`A7Viz6YGg zfoN)K!S-ctK?Llix@`*79JGb{3}_9)Az)61K+3ZpPG0%I<;Y3bt5pd_{WIY%3MixKfCRE#P2;Xih1bCBdz=2qn@^v-Im1i-dlT$` zbWcx-03Kvn@&E{8LdjhnoUM$;!?Gp@UkH^y-GhXQCwp1~1%r9^xl>6Q^6m{`tcOYA zrpHcQYBgk>-^+56LE9TcZ*Te!DBFYXWrpzx@#P-&a{H>-Fk$D65wr{4w{5XRSOhTc zNLqjUuNQwsZ1lsO*$GLeeYo0n?50_xZYwECn=R{gIm!{RpH6^_ z)AK3~Q)8t`lI&y@XHaNm&6T)90paiq;oGif+~uPDyhv-}+^lQmumBj^qtp*Zs5DiG zXc$%zVBs#h?Qez)-OHqL&^n^YefOmZZbJSl41Uh4^#WVj3g`8v*R)Yz0}Xc+kK zAvhewx--_J*Jr3@;X%J=2l;@=6VAQ%ud8x5NH*fK&$!m|`2Ph#xM#b^@FBp)ZYoxb z1Uv5jWd~#t;<^g9rx5WTN(7qacRso=_t(1z;ICYQqxSqcbAfK_1TjbX0c_E^28ZqK zy4M>YE7#XE%_VLIL#-<+J#gJ0YyAe&J!u!J5|FZyue3$aixzp8JAf)%%b zb_A#@^=-2%8q7Pj%y>o$(CP-jYDpK3y^0Y&DHpinF&wD?B^|njGT_mC5C%UkxA@j5 ztKN2SGcSI}e-POJ154;A0H^SAZ4UPdn{47>?+Lt{6Zkd9Sb6%Oa7+o3C|AMA6=}0K z{neu~sG*PKW*ZcerYJZRXeGOy<0y|SxT6`gIN9~(_z9=3_W{}Hz*lG5!376$uOJV+ zc43`jTm~F!-q?hQZ0{+Jt@*;UW(^PK@X)97JK%3H(Ml)O9w5Vpmq^|m7~-uj!S0A% zhH<|Xgv&@%i0fQs=xFT!FOef491RxI5QmFIyXv9Qa0p}T*OOXoYf;IS$fe)cH~)G#-gI|+Bvf3|?tUpdQ5<~v zEysYfkp!hnw~Rk5H>hm-=HTX^*Yus(v(0p^ZBcugYLkQ1FstSru3FX(x*U+GvFSg4d3k@$@}RF+1RGXe%19m1 z>6O4Kb{EyM%Z5|nN8Z7LBfb+!Wv2OHU^(=ni0j1&FrG}bj^Q|vXtLZHfrBTwTE`wT z=OWK@iD+@}zTv$k?Or0)?XM;#{jAcXdl!XxF{%xH@tx0LbjVFZJXGgDP5yrM*eJc( zQg>ZUO^rLj5MXM?n=KxBHiDt|M5v1jd(`0f%!=#B41>OSdd+crzAD!Z)xL!~ZcVMb z*iBb;7zN9wYcX2R8F_NU@$>JqO`HbPXn(5)?`gI@w|$vR0dDKj1$eSj7c}G15H zQF-A)>sg?#GFx~-C2YWgQ8R5D2KE#XoteU3TX*9Z>KHRq=ht`v5qp_(ekR$O6N&mN z{6hb21_ER}gsq78UMAiR*;5rxt!t{_Lc$d`}I7@6>sBE9^!uwCcTEEvuhBgvgcd|ABkuKO9bvZWz^6MPI5@&Oa zBQ@KMGAzU}O8tMI=R!Cf6a{K*65Y>JgpVgizv(_E_V!Vex&(L4NW48#ie#(u8WBMx zY3QMKyAeQZpBxE%oj>*`zrpj{x1k=j_2YW$cJA3D1;tnI;>hEcp~YUe7Mv=aa9ZC! zXuB-=*++gIPxHZf#GH1VG;=C_J(hUu2{V-77Svia1%*4$qj2la?0FU}_66R~_QN+n zvkRjaTUVpk4X_LRxkeT4Snh&I@#RXH6>uF_CSF*pRttvis!)+_JobJ~0}ZnGhyLyN zIAQ^?XL9m9QLugU?}Ir{As{_!C2FK!xT2}SqKQ3I&#vq0U#;ma_TqW7ZXL>n)yjU^ zCHW=$cnsBx?eYB71?bq0`fSek16BAPb$a27=D7Q)wD{2UBM3!yd+Y2@QQ*3J;+b1E z3Q+PS*^dvr4Q(}`mu~A5WAEtOxdSF^TDX_$!8tp6;V0x$Z4fy2nx#gV#ARAFny zpxT?Vpsh!s_=du&2h;G^dg#S^1xnDuKDzJDwv6RzyG2MJ1*p#(f&Z`j9(&x~35ge6 z2wwBEPp$U4*OR*r`qkyH{0t`fd^BYn@4e9fErA^f6tkRRm`;%tKisqTR zcP+Y(s@moq$!xbak1;QNII=0l@AQJ_77>lNfPWhrlW;2TCI#%=wUdJFal=w5cuDlg zPiz>npZh3cc?)yn=zGhFjmDSm%s;FM9gJ!BBM&@}bXp3WelZ!bH0V=YR@}-kB(+Y? zwE9*Ak*eJN=vN&>gIxw*=h8I>Lypt$S6`TzSzRs~SnP437OfGa)&r>c^9rTa(nH`( zsAHnb8!^O5MaaEgxq6iwNj3*L_%Hz!R=cjNMG3sv=j9Gr{#ILlz~oiFIxF0j)y|jh z4Xt*FURUt^BkuWR<~ao|9BvbcDX z)}WXJ4n5|fSgQhrRsYlk^?4TpgnDLgx~x5B{1ApyOTSg@E+q9fQGX56s-|A-KLeDw zv1)4PClV}wf0YJe)_EYa31y)TN?B#Yj?*@R0E=M7T#w!W-nd!E(!8K|k8X8?>~N+W zz{eUSiDyq0#H1yL3yK1FN8L%8p*h7%H?7gh^67OX__xSikY7<{IK{kYEQ+6&y>J}u zFQyIRwxT45aOZEE5zWQGcJh~xL{@IPGm40F2o_pnOqU36UKc>YsUYyaq?Y?ShJH2K z7)*jvKzdQ@!!|uNB{SYPbz&&&4G?$rs=7KtR0gQPNzAt&DJcIL@UH0Z!r>HD8jjo0 zsI~sRcdt%%L-3%Xx)k0@5M(t|ZFtnmoS(QGmL^u6;7KNX=!>8o3{6i@`_imQF_yo!$2sY?8eGyOwaL1KgrO|jIyTn8p*n;-Wvo zSU&!Fh5X!RI;*vZ4x8`eV~KCd4L1D5O^c(!-Bb1b{BFPAti2ZDH%v{e>bh{%tfxuR zLV7-BotDcLt6RWRtL`pp=QKTZT!by5jnd?H9iay{fRYj30Zx{y5 zJ7->O(u(FsvDhD~^p_b|i#r@N3&>i7=Fd4EDF4>6hSmd}&Ld##?J)}biD#UU5i_|TQ|dMFX9G5wN^rrZdHQ&cQKTuDjE z2Nj?^djyF&99d+6e~tmSK=#h?V{ygC=V*bO2HW6Fll$b?Y?gYhr5JJZ&P(cN_$@Zw4Q~EZa#Me17Qq#&XS36fu?)3h)15q=VijBv2F#7nHd7&=>nz)7Q1Dtc)CtYYxcQ1{B(x zrIMK+NwVDvLk9~^ITWTnMThYL-IKW{g^CD}laP=oPlhj5^N{&(FM!Ld_S*oPAsmJX_vGrH9f%np*jBAFx}07fsDm%!A$A)U!0-n~ zKwW8c_f6o9U*9VsE9sy+sd{~%8Y=%wcDppl{lP9UY@UremkB&iqOC2@eu^dp-ULUU z@c^=+GkSKmURZcmUP76&P6Vjm0BK@iXgi_0djryW1Jx}CYy^papI0Ic;Khijuo=v_ zPp{}V+k+IVSaSCT6A;D;GoT|4$!TF+%>1L!n^)vshuKMtDo^VHZBZQ`m7et)@wAa! z_=ssVtD<$-qUhV(Uw=QqlWZ!J+PHjj=cO=%-o>s)U^-6t_9_QeGk44Hp(Nt}X>@jxSsm}zif(mqR#u)5IA^Pa zN)@+l)OCJnB?MQ5+MVo7Qa)jp`-ENj-6aG`@ShPumNPQG4UW#1Bck1RnM2$JcG~ z$cpb$B3ex3=Ot>44s|H{h(?f?RY4g^a!V2|;h^aqiP-ZiEF1qFpM26Jc8z@C4Zi_P zy+qz+VF5AxQcvwna4n~GO-^vaKY_3uPZ*DxyXmqpR>}Xn=kx4(T1BxKcQgr&4AtSD zqbc7WZ2{su==if+Z7N|?#LVYit-o9L4JTxknCXa19X5GxqXHJ0((OAHa&s!o@=oZTe%a}pxN%i` zKNDbWvw!<()8dpD^V1HZyJB!T43$y-^kZMGMmsvDHTT5%xH~K8)`eTxe>MJbgTyO{gCOG1X3~@1 zvduS9doIUV!y)Exm|O$gW0@V(upjUiiNIP>T*j@AKS9>2`G^~6lzJErB(i|nag*Fd z)NZ0nhx2n3K;!wA(=k9b)v+Tpy<0mv!Z0yUIDPyv8r(u}-3%zI2ys{;EE$kZ?fiB0 zuVa&699P8WcvuUp*#ZobY79ET*25JBiwS`}w!`71jnNlWcUnkml8Q%?IMzN1o?}>SlkYnnadq&NN3Pn;HU)BQe?^gyC_a&U#V`xps&0ennC~s?q za7L`w>5R<47M+2+C!DWS2&I$EJ)Xmi7nj&M@*&^cqEo>oIA4hKNNF(Y6ALbFl_oZ@ z%BJN|lpDZvKgd}awjCNULfJDc@R!+PSv*i8NtZeBBnP+H4{r*Yd%K~Hd2VOq(_E3T z9(Ai)>YBmAZw;iTbJ1)#FVUlDey)(AnhWg59#jc;Gh3sb+o^kxfSf_90tQU21rB;l zuUcS;fbG_7hB|Z^wF z>0}t8XsTKLZwh+S92@|L-p6BscP3boTTYtMsSH&{AQ$dR663-8g^eDp;Q6}(XB609 zd0hM|{VRy}(nAp@%`lX)Hf?au>0_ZO&n%1VAR~qUwAWYv@iT*iribT~zY9oFdV{BF zj+RmsuR3zU)RUdWysQZCzYqRd7}1o@-OQ|cMNn!8bx;O&``Pf3qZ<-sWr;EU9@H|A z;0l*eHy0eSM*zM60Z02`vB;rKd(PVr!_LXsj9~MOq^ho&F3-a&$=cvoCLD>{5BsQ= zV%TMUkqyEA&!fBfh>v<;P=?JkQvP zaj@W29pd(uVrVmTy{|?3IS(2JYl-p&G)2V{;a&xov zuz6(ga4}Dr0-M?U^fm+KJT$R;@DiBq24RdZP6l# zVbsrcxLfN=ddn1v88vVkc>2hI@(NDqz4D6A;VrkO3Ok0|7!9;MW%AaE^!mKx#)7A8 zOepmBz}k#s89A?CAlirRY&uBkLH*(E)X%bhJ%d&;gYD5~pUfSodJ~3bbgM}6?hQcr zD}{7$QeS&TAMP6CbE`|0UwdH1pw$E|X$w0)vtlXwbynmgO^F>-xMncfV#xRnPx5}$ z=RJsZbhHo(|2rvLPIenz3A#$x$jZDmH08tdgA4Fu5pc9X0gv&EA4$3@z~=aB(UQ3_ zC{2d*|Be={Ie9x;_+_#iyUzfv9C<^U{zy@6hi{Nn@q-J^w~@|g%aOgdJtq{48)N+w z&nU?&ZGIAmjtx$f7X5i!uXAv(Fp?|ECH>>fw8m{c)t_&5Nu9N=w-XQ5x)f+>qwv)| zgS5gBnl1J0)WDoR?=*9oT3{?{k zN@7ySl7U2HN}`9?3#$y!i2TvXuD47c>FNU*jVbRe^HK%5w1*pq%CSfd{R7k_XVb`R))xPs#Q64my>DhiXwi=uU>OHHmbp0D zvuiSdu08ASqBJeeYbb)6zv*!&8eAfrBEj3qoF_StE6f&D3PoG+Sm}E3)%d&$muS0p zj-MFp@Et6s7Y`Bp%Y4DxW#Uss5^7EK8d19tBzFqou1+lh%)J_--9MEPzs@fa7e8wK*TfpWH$5Ad8$DMW?}xbW#Z z5asUT#&5>!J~shnQ-4m8&}xqT#r+JAOnGi5NUltbuuwo^PfQw)W+la2x6eEXlD8e} z`N?uHZZ5s4|8vC)0;gg7;qYq({W0x~?X@J#kjf(cO9W{mWY#^&puDg0qWiyiBj);+ z4;()-OXLz7-?}`8#w#d@pz$!h`?-mGV!6N^I7f_B_ZS1~JZ907#7<(FHrP$#l?}Dz zN!HE$k++LIxO6rRc`s!%n~bcJqL_pe#!PtpNBwTW3J3guM1W-hs^kI=dSWg|zQql^ z_`Uw$|K4Y=lDWGn*t|EX8RM;ts@yZ5khtr>LD}F`NofluU>IFLb4HMOOqPSqD3Whw zd7F&NI~e-|mnIA>%X;MGXOLx`JW{9Lizil_u=ZnPzCAKjjdk&+*sHV?GhrQnPDaPv zJOXBeM4!oM@qrz+H^8vK%HPZf<;8S6@^8%3V(Or^v)$R3fx*7Y-8+7m8;w`{}E?9Hg>Wi z3wKNNhcZMt4s7%A$>oA6zr{6)A28c1`q=e2b$m&oSRiRX)$#Kp>HVBz)Ft_VMg`fh z&#d^Xxlh2;L*ST;t?G5`2IR9KW8<~he~AqhK>PwPYf#{{Z8on<1Ol5TjN;J2wi`P{ zLBAK8vO&dHCIvujrGw{(Ml2tUh+mL}|E(Wc}XMKFOL=B7piev_sH|5{;la)5C?Nhnk4sH3W}8qk_TOsOMbz2l)0HNeldZZ zaR2%+D78Sw18DKb(3ZXlMOx{=or%|HScP+5j9+AeC9Smf z3Ycxo$XyreFlQIHDEZUddaA*7#AC0K&v6Z zte8UH;yCt|uV-Y&pA9$WbI$Pmm`*1IvYlE_wWmmvDhA}g8vpl5-R_sat!tMYuaNzI%P@5R-qi_P6YAnkjXFss zuFA+M^uNU}e|&4W8Tjk@jRg?kw^IuH#Vat_Td3^jK@5Os{qDiTKEP~em<(R{>)>OI z>z6qM?Soz4>)8^M7!&o}Y9DV{-MGJV$K@+?N0+GmaV-i^(XJ4|Wj7L(k$gAF&XftQ*+u zT~oWqvRcZ8zaQZPXyM8kWHx0vHj#eQ6cCLZZ-p2TBb#l9XxSgUjN#F%K&`MbXN zW|AXVyRY=xK;pGr+-W~wM%p%>&1mA-8b!eYoQkxwi!6w2E$*CS;@grEX$PNAZLP(1 z(_5uop1HlHQZt5mIT<6GBF;x_dFfjd-I`_Kv-WY5-|q`m6Hi$w7veo*q374;zYNSM z+}tfLN?e*^#7hCrO4(1zUCx`Fy-h?q0Irhp9H7E#-=Ly~ic&TiT8Cxw6QYeD_*pNM{a+z+j-03_F-0L_YGHzZ4!6xTpeR(!c0_)Auo}Zh_Z+7M_hxp zj7TNEOX$DY2t_mnInUO7h8~ImZO+Y!rsVm3D{29bJ0o>=M!(q^6I4!i!Oa#&jQQSK z_ei;H>|}ZO<`qMSPb4t`$;YQqmuwy}ona97xOE#Fdlo&K1+y8`!x{TWfe0Va-@_aU zAL|GZDoLMS3v0v?Z~>S?JBrJL*q%Cq1VT{)rP31Ja~}J7G&wtq1>?akA>Yrshl+vk z^gS?lQ^NpWV&0F{GPtx}`E$GUK|p0X0;?s-W)p z6RQMn%=kjW2<8GPqE+ldFUu}+I;na4k=}h<5F2gqG!sR{x>zDZ(*@QshPI>|64{K4 z*-0DNWl}*|ueu4G^-q33%$2))a>tc~$occ6~FG<2C-t}~~)XuSP2Wp90{ z`3AAz;+iA)iW$l!Se8dGFU;&BRjE)2_V;e{l%Pd{(_h%=#w7yuU)s_CH zb#NmmWrY@LAK3jrn72_J2wwX1)AC#|un{6yd@O!iyR`feWDl+HbuCZlGF+|S=<(Cd z@fn6{J#8~%5Qplxu_iO3gf&g3+(fm@Fi+jzWhGZ(_Yj(j6ogy{Ly(9S8wz=m(t_;! zwa>AY+J2OdQixdtm2(pcrJ8FlHs4`ZpnUu~ZR)gqb{B+&dGJ-z zjRh+8IqOoz0O=zxD2f-mcd2*SQ5C$l06CNw=s4S~CWWWRDUROvtS*7%MxpEC1)D+6 zcY=iw%sxm)Q5Mf+J7M6a9z9|=7wm@y#nD>gh%1x%<_zN(#Nckb(((+oVCto{nG=HG z3s3|BAdLS?PkE0VE*@lyMd)*b{Z$h0s8s`~>I^mc^yzw;)1SimiMt=TY_nAP7i3ys z>UD;fYGsMwGlQm9I;7gokZY}8U7)RwTqBH%a^RwD`?D9$ESjL*RO!0LX7X`<8-}QW zk0P$YtTA`5&{Hp=I`n&0koPLuCXwJ3IXxH74~mf?Rn%7VE9RgsIMSO(lNav^@QT19 z=$ERepEjeF4-_?$@-X)$5TfpcohaTbL|YO3475SxCmB`V zMQ<#Xlj^742g|hG{|XrI;;>+Aw&~DeSwtu5kD(a0*sIvU@a|f5G}WNC^}#yVqJ(?U z-B=2rlo)PtdM=~3;#irj6#g*pfD+d|3uLwtJUx(K+j?0ZcV^~v?FV{~(uWi4kv0pS zk_DQ;T?F>7shz*h2MqXK&me5}+Cm((>W+6IU(m7nTQ2IZd@r}}OJ2H+M^2LNG_fYHF=ez7fHnv*ML~f@BMtT@t@WkutsoW>GoEgvuIL<{XL7XZ@8$bz)7F zu6r}`>g4U%5>&$M`Xt;AczbEWdYbu=E*BcVllrexRB`}bi|wl8Pp4>6V|tPPhmk!_ z4fi7?Em2e5%XZb;b-^)%GWM!yr=}0|sMF+jR>AyiT$3Z?;vzx|wv{rRTGgk=wy**V zj6CbblTs7+6+#}=>RRcsld^sKt=Hs9%@tluo9W!U-zPk-^tRGH_(zN!eF;+xw?)5; zw}$ri`x|jW(ta?~$ShIii5uME$$!x-Q)E%OvgP zwQIlM^Q_I557&=7-bHGPF~?`fCCMLr7Gag7UUu=m*2Jpv2c)3gkaxiWSLCTcevvAq zYhYNe0I`LtrxcQW$Mgv?v)mF*%;`(qF;Vqoi=JQ4>f`xHt3DsfebXbIi9WYCX|V`N zRvvw@^snZxY7qG%;PGMw=Y4i+&jy-{!bQ8iPUqJ&L1AxVZet)R_%~k_Kv7g*H}C<$ zGfGJE_TdIT;<3LkQRjF`QPbLHU)9qTu7$wO$Y#98ZC;%*Gmo*dy7u6cJ#QP*g4$vs zqHqZW&Gx{?elB0oP)`bFak zSrUk=3FR-aK;uo(L^G5pny8Y?Il3@8+43@75r`Dt6#+p}&udfva)Y0yPvWVlDYPm+rTFcXCsbLbY>x)~_`JH9;H;Fwr85nPkzyd#)G;={Z{1}s6&$BJG9cm~%j zf=f2*7@C(`3EWRVFk_H?@}}`ngH@*Aq-4!N)rAQe1BO?_Fq~3w`G_sB2{^rpMIb0&PJ6W6T(gJOv}29Mk}%Cn-SktQdIm z7sRJ!fgzpMW93#B2tNC8x|bl}%a4SsDVi&q-(HxLrEoe; zNLLJugWnh51jFYi7D}}o6NDqac0KB@+8yI#Be zD+^(@zu$2#tcl2#b*{^b&ESu?WPwf7{ zIa)e%XZk_)_K>K`Q2RLFAo+z7&2)2x-aDmo!5K*|KjHah#0hRPO_y7l`I_}bemq^+ zaCt}@wssHd_re(%w30(TZw+v-Y=KDdxWYpj{akZgj!y%LJNfhgS=uU=V1Y_Cg}uu? zeJx3(KJvm!>&>1)s@EyPboJDtQ)tYA1wFa2HWSyfHP-1MK6Z@f;G_&p2-6+{e^^4; zB&h^)>LA|y6$b!s8+qzyQEmMzGz-3?<}E;33MZH_d`O>rQ9mBXIn-rbL+p`>gLKxn zuDr#mN8o7S$dFsO`SxZ5KFu@y>t&4? zF_ciVYC;iTRU1hj42i^wH!g~=5pn8bRo4AT_(z(~(8-4X;Jyzk1eIWBcVoq108+&{= zKj;O&x%dEy?owSFT2=I6-BM|+r7Gh8!F&@#{`>58TJS*#q^Oxxn$m8d0?^iMeM&lV8Fp0^XE z;P$bEE*cv`rq<3BhV*4Gv1n3za2%%c)N5dK4VFYZVa&52X_)LNX(28-#gC*S^lx*7Pwwncm!)=)O^z^ytkURVIy!3Ty2-AZ66Yd>?H+#h*u zcsE}HTNQy_%_kj?9KkDBzuYj_1~BaVoI9lmv0XB8-)4}1o^*^0?^6N8%cC}V4PaJl zB1(BEb)H`+$KUO6Ufpio{V}DE;W>F&my z*I*iRZ(5bF=ERvac`3G}IfeVrgXgs_ZxkmPL6IcCYV`?kc z$?ehEq;pdzv7K8s-c0b5Twa>lt5ul5M*Tr8T{U!bgZ0qJj0NW-dSB=o7q=b0*4$Y% z>VKh-M*%phgK8;<2qEUK}eA%VL`mvCjS^A4hG;x z@O(ruO5+*Ovrh~(i*K+N$aX|#p(c<1y`nDdVc?5ep~)Id_M#((E-bKp3-EvH1Z##+ zR%UDc$p@X&t0fkT3Nn9ctykAY^(KX2m~9Hn-OLJ`t%VGY%#9YpLa+h2cPI)uZ!3~G zWd=&~k7ALdK(l)eS+IXJshSyKrTtATlOa88@M%~$n3?Of74un@*kgmq5tlnfC$eQU z-o%8_eaIxc$Vp~{_$4!hbMsJO?Al#&7q#4Mzdn1Z%5k8g^Yw7wUH2rh=r8k9IyVmd zGL>Iv0!Ac|1egq}rSMOib1w&Qs(>}7#O@T6Wpn8YSZ&SUfzCtg>ZfJ-_JbcqGa4HHkY zA_sHfeb4+{8>4|h_K-r0N^COym+mF-5g9F|_&fZAl89^U$LrJv)k}oAflsr)SyK3z zfjzOi{pE37Ybxeoc=-h_H|4$k>u8$b2@^qL$tMvoxNU9o&e(@=N@Yg`S{jN9{w_MG zFc2wv8tSz3NHYdZvmAHcfSQ53qJL2P181mJ7cpeyfa29Y%`=;Z-DF{zwD}c+G=-RwIe(qc;cSP<*8mf z)ql~!805^bq0Y>D8_Iznp!^{lKhQ|8}0_RE*0coM5T*Q_fNZjkyp^5st1`47BR;{-8$21OCRL1yu zMtg}vO2Ec_|Bd|@1c`U1NXC#vXZ%-S;)0a@>$=xwAYn4FH9Z!1a{sK3)!#0C_L#L1 zR;{p#hlpO#pT47(&5503udW2$?*?s&ev1{o8(~u13EF1J6`1T0wu%%&nSTwT>+{)k z_!9Xk=6E6ghbJ52qXW(r1@iZfj!anT5y($T!AzUm2DeJ36#22iQT9}Z#)FEovxWPH}71zdL2RUxqiNGq6{cGLlH#)pZ2X4Fwb3b4BpQDK>%#MNrB}%9f8+ zi(}7=!w*qd-F+MiYIH!uJUt;PhEW$8(XjZJVJbY?V6`|FizZg-gp4UO@ZN zs?3_L74yZaEWfUw0*zxJhr|hbTX}_y6eKkXGdniZtCuqq&Pn%@bpnXoYnNFcdDYL zb<)p?0P)zGK7AvfKnCvjm#?r0Fu-x@j%Wz>tcE7GrY_{E$w9a9Yr)gYMIUf1LW0%vEl`}oE#jJ#jxCd ztwaCxb&wp?cN?7zWMWV9yDI&_f8t%sQTURIp)e=vhSrw9wKz@rm6_8>rl9i|BmLK$ zmG@fb=jbDX@tt$EXpobjKiAn&%Qf3zbp+)(MB0&V%wtB47e|JUD}aM2$|eN=Ne{vm z4kS944($KQylN@BT>GpJ@n|AyuM@|VwE~KRp~U)x=#q2Bo}qBLPh&f+(fI41AMc)* zAHo%?BW(`Qa2agg8Iz)mv*c-Ak6>d7Ylu@MvwP(vvuLV#8shUYmJL8CddIo&T!wGZ zKuqXZhA8gq%UhQNt2AcnldR6lPiTb^ywoh>%-&;ktq@86 z5I_-I3&%P^qXO7hk`5xgGj+MgoKY0r7pAB-&r6WF@|0b2(TjP0Agp%|D&DW7lQ96j z++N7GE<-FZAi?#IDQKf>d;iTKATy9{W?0I*(H>%J#aFOso)* zEE844TKp*v2FLYtB_;QetP!}5N2aZ(cHZ4`n9nqu7liX73w ze!e=VlGX22Is9{`YGChzP;<$bzM0@J;5T{s=S^9b(2$UCiPe_dw-+z;Uu=*am>H

Ql^pk3a9*$P` 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 literal 95867 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 b instanceof Generator)), - normal(2f, 1f, 1f, new DestrutiveHeuristic(b -> b instanceof Smelter || b instanceof Generator)), - hard(1.5f, 0.5f, 0.75f, new DestrutiveHeuristic(b -> b instanceof Turret || b instanceof Generator || b instanceof Drill || b instanceof Smelter)), - insane(0.5f, 0.25f, 0.5f, new DestrutiveHeuristic(b -> b instanceof Generator || b instanceof Drill || b instanceof Smelter || b instanceof Router)), - purge(0.25f, 0.01f, 0.25f, new DestrutiveHeuristic(b -> b instanceof Generator || b instanceof Drill || b instanceof Router + easy(4f, 2f, 1f, new DestrutiveHeuristic(b -> b instanceof PowerDistributor)), + normal(2f, 1f, 1f, new DestrutiveHeuristic(b -> b instanceof Smelter || b instanceof PowerDistributor)), + hard(1.5f, 0.5f, 0.75f, new DestrutiveHeuristic(b -> b instanceof Turret || b instanceof PowerDistributor || b instanceof Drill || b instanceof Smelter)), + insane(0.5f, 0.25f, 0.5f, new DestrutiveHeuristic(b -> b instanceof PowerDistributor || b instanceof Drill || b instanceof Smelter || b instanceof Router)), + purge(0.25f, 0.01f, 0.25f, new DestrutiveHeuristic(b -> b instanceof PowerDistributor || b instanceof Drill || b instanceof Router || b instanceof Smelter || b instanceof Conveyor || b instanceof LiquidBlock || b instanceof PowerBlock)); /**The scaling of how many waves it takes for one more enemy of a type to appear. diff --git a/core/src/io/anuke/mindustry/game/Tutorial.java b/core/src/io/anuke/mindustry/game/Tutorial.java index 4bef5c1bac..b615032b8c 100644 --- a/core/src/io/anuke/mindustry/game/Tutorial.java +++ b/core/src/io/anuke/mindustry/game/Tutorial.java @@ -496,7 +496,7 @@ public class Tutorial{ blockPlaceX = 4; blockPlaceY = 4; blockRotation = 2; - targetBlock = DistributionBlocks.powerlaser; + //targetBlock = DistributionBlocks.powerlaser; } void onSwitch(){ diff --git a/core/src/io/anuke/mindustry/input/DesktopInput.java b/core/src/io/anuke/mindustry/input/DesktopInput.java index 36490032bb..dce98b925a 100644 --- a/core/src/io/anuke/mindustry/input/DesktopInput.java +++ b/core/src/io/anuke/mindustry/input/DesktopInput.java @@ -43,8 +43,8 @@ public class DesktopInput extends InputHandler{ if((Inputs.keyTap("select") && recipe != null) || Inputs.keyTap("break")){ Vector2 vec = Graphics.world(Gdx.input.getX(), Gdx.input.getY()); - mousex = (int)vec.x; - mousey = (int)vec.y; + mousex = vec.x; + mousey = vec.y; } if(!Inputs.keyDown("select") && !Inputs.keyDown("break")){ @@ -110,7 +110,9 @@ public class DesktopInput extends InputHandler{ if(target != null && Inputs.keyTap("select") && !ui.hasMouse()){ if(target.block().isConfigurable(target)){ - ui.configfrag.showConfig(target); + if((!ui.configfrag.isShown() + || ui.configfrag.getSelectedTile().block().onConfigureTileTapped(ui.configfrag.getSelectedTile(), target))) + ui.configfrag.showConfig(target); }else if(!ui.configfrag.hasConfigMouse()){ ui.configfrag.hideConfig(); } diff --git a/core/src/io/anuke/mindustry/io/Maps.java b/core/src/io/anuke/mindustry/io/Maps.java index 2ff971a62b..bf97474d74 100644 --- a/core/src/io/anuke/mindustry/io/Maps.java +++ b/core/src/io/anuke/mindustry/io/Maps.java @@ -12,6 +12,7 @@ import java.io.DataInputStream; import java.io.IOException; import static io.anuke.mindustry.Vars.customMapDirectory; +import static io.anuke.mindustry.Vars.headless; import static io.anuke.mindustry.Vars.mapExtension; public class Maps implements Disposable{ @@ -76,7 +77,7 @@ public class Maps implements Disposable{ DataInputStream ds = new DataInputStream(file.read()); MapMeta meta = MapIO.readMapMeta(ds); Map map = new Map(file.nameWithoutExtension(), meta, custom); - map.texture = new Texture(MapIO.generatePixmap(MapIO.readTileData(ds, meta))); + if(!headless) map.texture = new Texture(MapIO.generatePixmap(MapIO.readTileData(ds, meta))); maps.put(map.name, map); allMaps.add(map); diff --git a/core/src/io/anuke/mindustry/resource/Item.java b/core/src/io/anuke/mindustry/resource/Item.java index 66d50aab81..c1f6b1026c 100644 --- a/core/src/io/anuke/mindustry/resource/Item.java +++ b/core/src/io/anuke/mindustry/resource/Item.java @@ -15,7 +15,7 @@ public class Item implements Comparable{ } }, iron = new Item("iron"), - copper = new Item("copper"), + lead = new Item("lead"), coal = new Item("coal"){ { explosiveness = 0.2f; diff --git a/core/src/io/anuke/mindustry/resource/Recipes.java b/core/src/io/anuke/mindustry/resource/Recipes.java index 75da8cc2dc..ad22b51b7f 100644 --- a/core/src/io/anuke/mindustry/resource/Recipes.java +++ b/core/src/io/anuke/mindustry/resource/Recipes.java @@ -62,7 +62,7 @@ public class Recipes { //new Recipe(production, ProductionBlocks.stonedrill, stack(Item.stone, 12)), new Recipe(production, ProductionBlocks.irondrill, stack(Item.iron, 25)), - new Recipe(production, ProductionBlocks.copperdrill, stack(Item.iron, 25)), + new Recipe(production, ProductionBlocks.leaddrill, stack(Item.iron, 25)), new Recipe(production, ProductionBlocks.coaldrill, stack(Item.iron, 25), stack(Item.iron, 40)), new Recipe(production, ProductionBlocks.titaniumdrill, stack(Item.iron, 50), stack(Item.steel, 50)), new Recipe(production, ProductionBlocks.uraniumdrill, stack(Item.iron, 40), stack(Item.steel, 40)), @@ -79,9 +79,7 @@ public class Recipes { new Recipe(power, ProductionBlocks.largesolarpanel, stack(Item.iron, 30), stack(Item.silicon, 20)), new Recipe(power, ProductionBlocks.rtgenerator, stack(Item.titanium, 20), stack(Item.steel, 20)), new Recipe(power, ProductionBlocks.nuclearReactor, stack(Item.titanium, 40), stack(Item.densealloy, 40), stack(Item.steel, 50)), - new Recipe(power, DistributionBlocks.powerlaser, stack(Item.steel, 3), stack(Item.iron, 3)), - new Recipe(power, DistributionBlocks.powerlasercorner, stack(Item.steel, 4), stack(Item.iron, 4)), - new Recipe(power, DistributionBlocks.powerlaserrouter, stack(Item.steel, 5), stack(Item.iron, 5)), + new Recipe(power, DistributionBlocks.powernode, stack(Item.steel, 3), stack(Item.iron, 3)), new Recipe(power, DistributionBlocks.battery, stack(Item.steel, 5), stack(Item.iron, 5)), new Recipe(power, DistributionBlocks.batteryLarge, stack(Item.steel, 5), stack(Item.iron, 5)), diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index 5e59a56854..514b4e98bb 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -17,6 +17,7 @@ import io.anuke.mindustry.world.blocks.BaseBlock; import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Effects.Effect; import io.anuke.ucore.graphics.Draw; +import io.anuke.ucore.graphics.Lines; import io.anuke.ucore.scene.ui.layout.Table; import io.anuke.ucore.util.Bundles; import io.anuke.ucore.util.Mathf; @@ -135,6 +136,20 @@ public class Block extends BaseBlock { configure(tile, data); } + /**Called when another tile is tapped while this block is selected. + * Returns whether or not this block should be deselected.*/ + public boolean onConfigureTileTapped(Tile tile, Tile other){ + return true; + } + + public void drawConfigure(Tile tile){ + Draw.color("accent"); + Lines.stroke(1f); + Lines.square(tile.drawx(), tile.drawy(), + tile.block().size * tilesize / 2f + 1f); + Draw.reset(); + } + public boolean isConfigurable(Tile tile){ return false; } diff --git a/core/src/io/anuke/mindustry/world/Edges.java b/core/src/io/anuke/mindustry/world/Edges.java index b138945e0d..928e894f8d 100644 --- a/core/src/io/anuke/mindustry/world/Edges.java +++ b/core/src/io/anuke/mindustry/world/Edges.java @@ -1,17 +1,23 @@ package io.anuke.mindustry.world; import com.badlogic.gdx.math.GridPoint2; +import com.badlogic.gdx.math.Vector2; +import io.anuke.ucore.util.Geometry; import io.anuke.ucore.util.Mathf; import java.util.Arrays; public class Edges { private static final int maxSize = 11; + private static final int maxRadius = 12; private static GridPoint2[][] edges = new GridPoint2[maxSize][0]; private static GridPoint2[][] edgeInside = new GridPoint2[maxSize][0]; - private static GridPoint2[][] inside = new GridPoint2[maxSize][0]; + private static Vector2[][] polygons = new Vector2[12][0]; static{ + for(int i = 0; i < maxRadius; i ++){ + polygons[i] = Geometry.pixelCircle(i + 1); + } for(int i = 0; i < maxSize; i ++){ int bot = -(int)(i/2f) - 1; @@ -43,6 +49,11 @@ public class Edges { } } + public static Vector2[] getPixelPolygon(int radius){ + if(radius < 1 || radius > maxRadius) throw new RuntimeException("Polygon size must be between 1 and " + maxRadius); + return polygons[radius - 1]; + } + public static synchronized GridPoint2[] getEdges(int size){ if(size < 0 || size > maxSize) throw new RuntimeException("Block size must be between 0 and " + maxSize); diff --git a/core/src/io/anuke/mindustry/world/blocks/Blocks.java b/core/src/io/anuke/mindustry/world/blocks/Blocks.java index e23fd60611..9cd18eb636 100644 --- a/core/src/io/anuke/mindustry/world/blocks/Blocks.java +++ b/core/src/io/anuke/mindustry/world/blocks/Blocks.java @@ -75,8 +75,8 @@ public class Blocks{ drops = new ItemStack(Item.iron, 1); }}, - copper = new Ore("copper"){{ - drops = new ItemStack(Item.copper, 1); + lead = new Ore("lead"){{ + drops = new ItemStack(Item.lead, 1); }}, coal = new Ore("coal"){{ diff --git a/core/src/io/anuke/mindustry/world/blocks/DebugBlocks.java b/core/src/io/anuke/mindustry/world/blocks/DebugBlocks.java index 005c2d1239..861086758e 100644 --- a/core/src/io/anuke/mindustry/world/blocks/DebugBlocks.java +++ b/core/src/io/anuke/mindustry/world/blocks/DebugBlocks.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.world.blocks; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.types.PowerBlock; -import io.anuke.mindustry.world.blocks.types.distribution.PowerLaser; +import io.anuke.mindustry.world.blocks.types.generation.PowerDistributor; public class DebugBlocks { public static final Block @@ -14,10 +14,9 @@ public class DebugBlocks { } }, - powerInfinite = new PowerLaser("powerinfinite") { + powerInfinite = new PowerDistributor("powerinfinite") { { - powerCapacity = 100f; - laserDirections = 4; + powerCapacity = 10000f; } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/DistributionBlocks.java b/core/src/io/anuke/mindustry/world/blocks/DistributionBlocks.java index aa079e3d2c..96e894662b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/DistributionBlocks.java +++ b/core/src/io/anuke/mindustry/world/blocks/DistributionBlocks.java @@ -1,7 +1,9 @@ package io.anuke.mindustry.world.blocks; import io.anuke.mindustry.world.Block; +import io.anuke.mindustry.world.blocks.types.PowerBlock; import io.anuke.mindustry.world.blocks.types.distribution.*; +import io.anuke.mindustry.world.blocks.types.generation.PowerDistributor; import io.anuke.mindustry.world.blocks.types.storage.SortedUnloader; import io.anuke.mindustry.world.blocks.types.storage.Unloader; import io.anuke.mindustry.world.blocks.types.storage.Vault; @@ -74,23 +76,14 @@ public class DistributionBlocks{ liquidjunction = new LiquidJunction("liquidjunction"){{ }}, - powerlaser = new PowerLaser("powerlaser"){{ + powernode = new PowerDistributor("powernode"){{ }}, - powerlaserrouter = new PowerLaser("powerlaserrouter"){{ - laserDirections = 3; - }}, - powerlasercorner = new PowerLaser("powerlasercorner"){{ - laserDirections = 2; - }}, - battery = new PowerLaser("battery"){{ - laserDirections = 1; + battery = new PowerBlock("battery"){{ powerCapacity = 320f; }}, - batteryLarge = new PowerLaser("batterylarge"){{ - laserDirections = 1; + batteryLarge = new PowerBlock("batterylarge"){{ size = 3; powerCapacity = 2000f; - base = "batterylarge-base"; }}, teleporter = new Teleporter("teleporter"){{ }}, diff --git a/core/src/io/anuke/mindustry/world/blocks/ProductionBlocks.java b/core/src/io/anuke/mindustry/world/blocks/ProductionBlocks.java index 07583972b0..651c02693a 100644 --- a/core/src/io/anuke/mindustry/world/blocks/ProductionBlocks.java +++ b/core/src/io/anuke/mindustry/world/blocks/ProductionBlocks.java @@ -168,10 +168,10 @@ public class ProductionBlocks{ } }, - copperdrill = new Drill("copperdrill"){ + leaddrill = new Drill("leaddrill"){ { - resource = Blocks.copper; - result = Item.copper; + resource = Blocks.lead; + result = Item.lead; drillTime = 400; } }, diff --git a/core/src/io/anuke/mindustry/world/blocks/types/PowerBlock.java b/core/src/io/anuke/mindustry/world/blocks/types/PowerBlock.java index a055a8a3a0..6df5bfd645 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/PowerBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/PowerBlock.java @@ -1,11 +1,9 @@ package io.anuke.mindustry.world.blocks.types; -import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.BlockGroup; public abstract class PowerBlock extends Block{ - public float voltage = 0.001f; public PowerBlock(String name) { super(name); @@ -14,13 +12,4 @@ public abstract class PowerBlock extends Block{ hasPower = true; group = BlockGroup.power; } - - @Override - public TileEntity getEntity(){ - return new PowerEntity(); - } - - public static class PowerEntity extends TileEntity{ - public float time; //generator time. this is a bit of a hack - } } diff --git a/core/src/io/anuke/mindustry/world/blocks/types/defense/ShieldBlock.java b/core/src/io/anuke/mindustry/world/blocks/types/defense/ShieldBlock.java index dac9dd7b83..cbc3bbbc7a 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/defense/ShieldBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/defense/ShieldBlock.java @@ -24,7 +24,6 @@ public class ShieldBlock extends PowerBlock{ public ShieldBlock(String name) { super(name); - voltage = powerDrain; powerCapacity = 80f; hasInventory = false; } @@ -82,7 +81,7 @@ public class ShieldBlock extends PowerBlock{ entity.power.amount -= bullet.getDamage() * powerPerDamage; } - static class ShieldEntity extends PowerEntity{ + static class ShieldEntity extends TileEntity{ Shield shield; } } diff --git a/core/src/io/anuke/mindustry/world/blocks/types/defense/ShieldedWallBlock.java b/core/src/io/anuke/mindustry/world/blocks/types/defense/ShieldedWallBlock.java index d1cb30c408..6601e523a5 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/defense/ShieldedWallBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/defense/ShieldedWallBlock.java @@ -20,7 +20,6 @@ public class ShieldedWallBlock extends PowerBlock{ super(name); destructible = true; update = false; - voltage = 0.00001f; } @Override @@ -72,7 +71,7 @@ public class ShieldedWallBlock extends PowerBlock{ return new ShieldedWallEntity(); } - static class ShieldedWallEntity extends PowerEntity{ + static class ShieldedWallEntity extends TileEntity{ public float hit; } } diff --git a/core/src/io/anuke/mindustry/world/blocks/types/distribution/PowerLaser.java b/core/src/io/anuke/mindustry/world/blocks/types/distribution/PowerLaser.java deleted file mode 100644 index 4f72a5298a..0000000000 --- a/core/src/io/anuke/mindustry/world/blocks/types/distribution/PowerLaser.java +++ /dev/null @@ -1,46 +0,0 @@ -package io.anuke.mindustry.world.blocks.types.distribution; - -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import io.anuke.mindustry.world.Tile; -import io.anuke.mindustry.world.blocks.types.generation.Generator; -import io.anuke.ucore.graphics.Draw; - -public class PowerLaser extends Generator{ - public Color color = Color.valueOf("e54135"); - public String base = null; - - public PowerLaser(String name) { - super(name); - rotate = true; - solid = true; - explosive = false; - laserDirections = 1; - health = 50; - hasInventory = false; - } - - @Override - public TextureRegion[] getIcon(){ - String bname = base == null ? "laser-base" : base; - return new TextureRegion[]{Draw.region(bname), Draw.region(name)}; - } - - @Override - public void draw(Tile tile) { - Draw.rect(base == null ? "laser-base" : base, tile.drawx(), tile.drawy()); - Draw.rect(name(), tile.drawx(), tile.drawy(), tile.getRotation() * 90 - 90); - } - - @Override - public void update(Tile tile){ - distributeLaserPower(tile); - } - - @Override - public boolean acceptPower(Tile tile, Tile from, float amount){ - PowerEntity entity = tile.entity(); - - return entity.power.amount <= powerCapacity; - } -} diff --git a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Teleporter.java b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Teleporter.java index c924bfbb36..f04a4b484d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Teleporter.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Teleporter.java @@ -138,7 +138,7 @@ public class Teleporter extends PowerBlock{ @Override public void handleItem(Item item, Tile tile, Tile source){ - PowerEntity entity = tile.entity(); + TeleporterEntity entity = tile.entity(); Array links = findLinks(tile); @@ -154,7 +154,7 @@ public class Teleporter extends PowerBlock{ @Override public boolean acceptItem(Item item, Tile tile, Tile source){ - PowerEntity entity = tile.entity(); + TeleporterEntity entity = tile.entity(); return !(source.block() instanceof Teleporter) && entity.power.amount >= powerPerItem && findLinks(tile).size > 0; } @@ -189,7 +189,7 @@ public class Teleporter extends PowerBlock{ return returns; } - public static class TeleporterEntity extends PowerEntity{ + public static class TeleporterEntity extends TileEntity{ public byte color = 0; @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/types/generation/Generator.java b/core/src/io/anuke/mindustry/world/blocks/types/generation/Generator.java deleted file mode 100644 index fd5c223c39..0000000000 --- a/core/src/io/anuke/mindustry/world/blocks/types/generation/Generator.java +++ /dev/null @@ -1,266 +0,0 @@ -package io.anuke.mindustry.world.blocks.types.generation; - -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.math.GridPoint2; -import com.badlogic.gdx.math.Vector2; -import io.anuke.mindustry.entities.TileEntity; -import io.anuke.mindustry.graphics.Fx; -import io.anuke.mindustry.world.Layer; -import io.anuke.mindustry.world.Tile; -import io.anuke.mindustry.world.blocks.types.PowerBlock; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Hue; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.graphics.Shapes; -import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Strings; -import io.anuke.ucore.util.Translator; - -import static io.anuke.mindustry.Vars.tilesize; -import static io.anuke.mindustry.Vars.world; - -public class Generator extends PowerBlock{ - public static boolean drawRangeOverlay = false; - public static final float thicknessScl = 0.85f * 0.7f; - public static final float laserMinValue = 0f; - public static final Color laserFrom = Color.valueOf("d0bdd2"); - public static final Color laserTo = Color.valueOf("ffe7a8"); - - protected Translator t1 = new Translator(); - protected Translator t2 = new Translator(); - - public int laserRange = 6; - public int laserDirections = 4; - public float powerSpeed = 0.5f; - public boolean explosive = true; - public boolean hasLasers = true; - public boolean outputOnly = false; - - public Generator(String name){ - super(name); - expanded = true; - layer = Layer.power; - } - - @Override - public void setStats(){ - super.setStats(); - - if(hasLasers){ - stats.add("lasertilerange", laserRange); - stats.add("maxpowertransfersecond", Strings.toFixed(powerSpeed * 60, 2)); - } - - //TODO fix this - if(explosive){ - stats.add("explosive", "!!! //TODO"); - } - } - - @Override - public void drawSelect(Tile tile){ - super.drawSelect(tile); - - if(drawRangeOverlay){ - int rotation = tile.getRotation(); - if(hasLasers){ - Draw.color(Color.YELLOW); - Lines.stroke(2f); - - for(int i = 0; i < laserDirections; i++){ - int dir = Mathf.mod(i + rotation - laserDirections / 2, 4); - float lx = Geometry.d4[dir].x, ly = Geometry.d4[dir].y; - float dx = lx * laserRange * tilesize; - float dy = ly * laserRange * tilesize; - - Lines.dashLine( - tile.worldx() + lx * tilesize / 2, - tile.worldy() + ly * tilesize / 2, - tile.worldx() + dx - lx * tilesize, - tile.worldy() + dy - ly * tilesize, 9); - } - - Draw.reset(); - } - } - } - - @Override - public void drawPlace(int x, int y, int rotation, boolean valid){ - if(hasLasers){ - Draw.color("place"); - Lines.stroke(2f); - - for(int i = 0; i < laserDirections; i++){ - int dir = Mathf.mod(i + rotation - laserDirections / 2, 4); - float lx = Geometry.d4[dir].x, ly = Geometry.d4[dir].y; - float dx = lx * laserRange * tilesize; - float dy = ly * laserRange * tilesize; - Lines.dashLine( - x * tilesize + lx * tilesize / 2, - y * tilesize + ly * tilesize / 2, - x * tilesize + dx - lx * tilesize, - y * tilesize + dy - ly * tilesize, 9); - } - - Draw.reset(); - } - } - - @Override - public void onDestroyed(Tile tile){ - if(explosive){ - float x = tile.worldx(), y = tile.worldy(); - - Effects.effect(Fx.shellsmoke, x, y); - Effects.effect(Fx.blastsmoke, x, y); - - Timers.run(Mathf.random(8f + Mathf.random(6f)), () -> { - Effects.shake(6f, 8f, x, y); - Effects.effect(Fx.generatorexplosion, x, y); - Effects.effect(Fx.shockwave, x, y); - - //TODO better explosion effect! - - Effects.sound(explosionSound, x, y); - }); - - }else{ - super.onDestroyed(tile); - } - } - - @Override - public void drawLayer(Tile tile){ - if(!Settings.getBool("lasers")) return; - - GeneratorEntity entity = tile.entity(); - - if(entity.power.amount > powerSpeed){ - entity.laserThickness = Mathf.lerpDelta(entity.laserThickness, 1f, 0.05f); - }else{ - entity.laserThickness = Mathf.lerpDelta(entity.laserThickness, laserMinValue, 0.05f); - } - - for(int i = 0; i < laserDirections; i++){ - drawLaserTo(tile, (tile.getRotation() + i) - laserDirections / 2); - } - - Draw.color(); - } - - //@Override - //public boolean acceptPower(Tile tile, Tile source, float amount){ - // return false; - //} - - @Override - public TileEntity getEntity() { - return new GeneratorEntity(); - } - - public static class GeneratorEntity extends PowerEntity{ - float laserThickness = laserMinValue; - } - - protected void distributeLaserPower(Tile tile){ - PowerEntity entity = tile.entity(); - - for(int i = 0; i < laserDirections; i++){ - int rot = (tile.getRotation() + i) - laserDirections / 2; - Tile target = laserTarget(tile, rot); - - if(target == null) - continue; - - if(isInterfering(target, rot)){ - float fract = tile.entity.power.amount / powerCapacity; - float ofract = target.entity.power.amount / target.block().powerCapacity; - if(ofract > fract) continue; - } - - float transmit = Math.min(powerSpeed * Timers.delta(), entity.power.amount); - if(target.block().acceptPower(target, tile, transmit)){ - float accepted = target.block().addPower(target, transmit); - entity.power.amount -= accepted; - } - - } - } - - protected void drawLaserTo(Tile tile, int rotation){ - - Tile target = laserTarget(tile, rotation); - - GeneratorEntity entity = tile.entity(); - - float scale = thicknessScl; - - if(target != null){ - boolean interfering = isInterfering(target, rotation); - - t1.trns(rotation * 90, tilesize / 2 + 2f + - (interfering ? Vector2.dst(tile.worldx(), tile.worldy(), target.worldx(), - target.worldy()) / 2f - tilesize / 2f * 1 : 0)); - - t2.trns(rotation * 90, size * tilesize / 2 + 2f); - - Draw.tint(Hue.mix(laserFrom, laserTo, entity.laserThickness * 0.93f + Mathf.sin(Timers.time(), 1.7f, 0.07f))); - - int relative = tile.sizedRelativeTo(target.x, target.y); - - if(relative == -1){ - Shapes.laser("laser", "laserend", tile.worldx() + t2.x, tile.worldy() + t2.y, - target.worldx() - t1.x, - target.worldy() - t1.y, scale); - }else{ - float lf = 1f; - float s = interfering ? 12f : 18f; - float sclx = (relative == 1 || relative == 3) ? lf : 1f; - float scly = (relative == 1 || relative == 3) ? 1f : lf; - Draw.rect("laserfull", - tile.worldx() + Geometry.d4[relative].x * size * tilesize / 2f, - tile.worldy() + Geometry.d4[relative].y * size * tilesize / 2f , s * sclx, s * scly); - } - - Draw.color(); - } - } - - protected boolean isInterfering(Tile target, int rotation){ - if(target.block() instanceof Generator){ - Generator other = (Generator) target.block(); - int relrot = (rotation + 2) % 4; - if(other.hasLasers){ - for(int i = 0; i < other.laserDirections; i ++){ - if(Mathf.mod(target.getRotation() + i - other.laserDirections/2, 4) == relrot){ - return true; - } - } - } - } - return false; - } - - protected Tile laserTarget(Tile tile, int rotation){ - rotation = Mathf.mod(rotation, 4); - GridPoint2 point = Geometry.d4[rotation]; - - for(int i = 1; i < laserRange; i++){ - Tile other = world.tile(tile.x + i * point.x, tile.y + i * point.y); - - if(other != null && other.block().hasPower){ - Tile linked = other.getLinked(); - if((linked == null || linked.block().hasPower) && linked != tile){ - return other; - } - } - } - return null; - } - -} diff --git a/core/src/io/anuke/mindustry/world/blocks/types/generation/ItemPowerGenerator.java b/core/src/io/anuke/mindustry/world/blocks/types/generation/ItemPowerGenerator.java index 3198f72d56..4063f593d1 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/generation/ItemPowerGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/generation/ItemPowerGenerator.java @@ -6,6 +6,7 @@ import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.world.BarType; import io.anuke.mindustry.world.BlockBar; import io.anuke.mindustry.world.Tile; +import io.anuke.mindustry.world.blocks.types.generation.PowerGenerator.GeneratorEntity; import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Effects.Effect; import io.anuke.ucore.core.Timers; @@ -13,7 +14,7 @@ import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.util.Mathf; import io.anuke.ucore.util.Strings; -public class ItemPowerGenerator extends Generator{ +public class ItemPowerGenerator extends PowerGenerator { public int itemCapacity = 20; public Item generateItem; public float powerOutput; @@ -23,7 +24,6 @@ public class ItemPowerGenerator extends Generator{ public ItemPowerGenerator(String name) { super(name); - outputOnly = true; } @Override @@ -43,12 +43,12 @@ public class ItemPowerGenerator extends Generator{ @Override public void draw(Tile tile){ super.draw(tile); + + GeneratorEntity entity = tile.entity(); - PowerEntity entity = tile.entity(); - - if(entity.time > 0){ + if(entity.generateTime > 0){ Draw.color(heatColor); - float alpha = (entity.inventory.hasItem(generateItem) ? 1f : Mathf.clamp(entity.time)); + float alpha = (entity.inventory.hasItem(generateItem) ? 1f : Mathf.clamp(entity.generateTime)); alpha = alpha * 0.7f + Mathf.absin(Timers.time(), 12f, 0.3f) * alpha; Draw.alpha(alpha); Draw.rect(name + "-top", tile.worldx(), tile.worldy()); @@ -63,24 +63,24 @@ public class ItemPowerGenerator extends Generator{ @Override public void update(Tile tile){ - PowerEntity entity = tile.entity(); + GeneratorEntity entity = tile.entity(); float maxPower = Math.min(powerCapacity - entity.power.amount, powerOutput * Timers.delta()); float mfract = maxPower/(powerOutput); - if(entity.time > 0f){ - entity.time -= 1f/itemDuration*mfract; + if(entity.generateTime > 0f){ + entity.generateTime -= 1f/itemDuration*mfract; entity.power.amount += maxPower; - entity.time = Mathf.clamp(entity.time); + entity.generateTime = Mathf.clamp(entity.generateTime); } - if(entity.time <= 0f && entity.inventory.hasItem(generateItem)){ + if(entity.generateTime <= 0f && entity.inventory.hasItem(generateItem)){ Effects.effect(generateEffect, tile.worldx() + Mathf.range(3f), tile.worldy() + Mathf.range(3f)); entity.inventory.removeItem(generateItem, 1); - entity.time = 1f; + entity.generateTime = 1f; } - distributeLaserPower(tile); + distributePower(tile); } diff --git a/core/src/io/anuke/mindustry/world/blocks/types/generation/LiquidPowerGenerator.java b/core/src/io/anuke/mindustry/world/blocks/types/generation/LiquidPowerGenerator.java index a384febbc1..2fbe596047 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/generation/LiquidPowerGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/generation/LiquidPowerGenerator.java @@ -11,7 +11,7 @@ import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.util.Mathf; import io.anuke.ucore.util.Strings; -public class LiquidPowerGenerator extends Generator{ +public class LiquidPowerGenerator extends PowerGenerator { public Liquid generateLiquid; public float powerPerLiquid = 0.13f; /**Maximum liquid used per frame.*/ @@ -20,7 +20,6 @@ public class LiquidPowerGenerator extends Generator{ public LiquidPowerGenerator(String name) { super(name); - outputOnly = true; liquidCapacity = 30f; hasLiquids = true; } @@ -66,8 +65,7 @@ public class LiquidPowerGenerator extends Generator{ } } - distributeLaserPower(tile); - + distributePower(tile); } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/types/generation/NuclearReactor.java b/core/src/io/anuke/mindustry/world/blocks/types/generation/NuclearReactor.java index f295a31e04..60647980a0 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/generation/NuclearReactor.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/generation/NuclearReactor.java @@ -46,7 +46,6 @@ public class NuclearReactor extends LiquidPowerGenerator{ itemCapacity = 30; liquidCapacity = 50; explosionEffect = Fx.nuclearShockwave; - explosive = true; powerCapacity = 80f; powerSpeed = 0.5f; } @@ -111,7 +110,7 @@ public class NuclearReactor extends LiquidPowerGenerator{ if(entity.heat >= 1f){ entity.damage((int)entity.health); }else{ - distributeLaserPower(tile); + distributePower(tile); } } @@ -192,7 +191,7 @@ public class NuclearReactor extends LiquidPowerGenerator{ return new NuclearReactorEntity(); } - public static class NuclearReactorEntity extends GeneratorEntity{ + public static class NuclearReactorEntity extends GeneratorEntity { public float heat; public float flash; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/generation/PowerDistributor.java b/core/src/io/anuke/mindustry/world/blocks/types/generation/PowerDistributor.java new file mode 100644 index 0000000000..1f15c309a1 --- /dev/null +++ b/core/src/io/anuke/mindustry/world/blocks/types/generation/PowerDistributor.java @@ -0,0 +1,217 @@ +package io.anuke.mindustry.world.blocks.types.generation; + +import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.math.Vector2; +import com.badlogic.gdx.utils.IntArray; +import io.anuke.mindustry.entities.TileEntity; +import io.anuke.mindustry.world.Edges; +import io.anuke.mindustry.world.Layer; +import io.anuke.mindustry.world.Tile; +import io.anuke.mindustry.world.blocks.types.PowerBlock; +import io.anuke.ucore.core.Settings; +import io.anuke.ucore.core.Timers; +import io.anuke.ucore.graphics.Draw; +import io.anuke.ucore.graphics.Lines; +import io.anuke.ucore.graphics.Shapes; +import io.anuke.ucore.util.Angles; +import io.anuke.ucore.util.Mathf; +import io.anuke.ucore.util.Strings; +import io.anuke.ucore.util.Translator; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; + +import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Vars.world; + +public class PowerDistributor extends PowerBlock{ + public static final float thicknessScl = 0.7f; + public static final float flashScl = 0.07f; + public static final float laserMinValue = 0f; + public static final Color laserFrom = Color.valueOf("e3e3e3"); + public static final Color laserTo = Color.valueOf("ffe7a8"); + + //last distribution block placed + private static int lastPlaced = -1; + + protected Translator t1 = new Translator(); + protected Translator t2 = new Translator(); + + public int laserRange = 6; + public float powerSpeed = 0.5f; + + public PowerDistributor(String name){ + super(name); + expanded = true; + layer = Layer.power; + hasInventory = false; + } + + @Override + public void placed(Tile tile) { + Tile before = world.tile(lastPlaced); + if(linkValid(tile, before)){ + tile.entity().links.add(before.packedPosition()); + } + + lastPlaced = tile.packedPosition(); + } + + @Override + public boolean isConfigurable(Tile tile){ + return true; + } + + @Override + public void setStats(){ + super.setStats(); + + stats.add("lasertilerange", laserRange); + stats.add("maxpowertransfersecond", Strings.toFixed(powerSpeed * 60, 2)); + } + + @Override + public void update(Tile tile){ + distributeLaserPower(tile); + } + + @Override + public boolean onConfigureTileTapped(Tile tile, Tile other){ + DistributorEntity entity = tile.entity(); + + if(linkValid(tile, other)){ + if(entity.links.contains(other.packedPosition())){ + entity.links.removeValue(other.packedPosition()); + }else{ + entity.links.add(other.packedPosition()); + } + return false; + } + return true; + } + + @Override + public void drawSelect(Tile tile){ + super.drawSelect(tile); + + Draw.color("power"); + Lines.stroke(1f); + + Lines.poly(Edges.getPixelPolygon(laserRange), tile.worldx() - tilesize/2, tile.worldy() - tilesize/2, tilesize); + + Draw.reset(); + } + + @Override + public void drawConfigure(Tile tile){ + Draw.color("accent"); + + Lines.stroke(1f); + Lines.square(tile.drawx(), tile.drawy(), + tile.block().size * tilesize / 2f + 1f); + + Lines.stroke(1f); + + Lines.poly(Edges.getPixelPolygon(laserRange), tile.worldx() - tilesize/2, tile.worldy() - tilesize/2, tilesize); + + Draw.color("power"); + + for(int x = tile.x - laserRange; x <= tile.x + laserRange; x ++){ + for(int y = tile.y - laserRange; y <= tile.y + laserRange; y ++){ + Tile link = world.tile(x, y); + if(link != tile && linkValid(tile, link)){ + Lines.square(link.drawx(), link.drawy(), + link.block().size * tilesize / 2f + 1f); + } + } + } + + Draw.reset(); + } + + @Override + public void drawPlace(int x, int y, int rotation, boolean valid){ + Draw.color("place"); + Lines.stroke(1f); + + Lines.poly(Edges.getPixelPolygon(laserRange), x * tilesize - tilesize/2, y * tilesize - tilesize/2, tilesize); + + Draw.reset(); + } + + @Override + public void drawLayer(Tile tile){ + if(!Settings.getBool("lasers")) return; + + DistributorEntity entity = tile.entity(); + + if(entity.power.amount > powerSpeed){ + entity.laserColor = Mathf.lerpDelta(entity.laserColor, 1f, 0.05f); + }else{ + entity.laserColor = Mathf.lerpDelta(entity.laserColor, laserMinValue, 0.05f); + } + + Draw.color(laserFrom, laserTo, entity.laserColor * (1f-flashScl) + Mathf.sin(Timers.time(), 1.7f, flashScl)); + + for(int i = 0; i < entity.links.size; i ++){ + Tile link = world.tile(entity.links.get(i)); + if(linkValid(tile, link)) drawLaser(tile, link); + } + + Draw.color(); + } + + protected void distributeLaserPower(Tile tile){ + DistributorEntity entity = tile.entity(); + + //TODO implement + } + + protected boolean linkValid(Tile tile, Tile link){ + return tile != link && link != null && link.block() instanceof PowerDistributor && + Vector2.dst(tile.worldx(), tile.worldy(), link.worldx(), link.worldy()) < Math.max(laserRange * tilesize, + ((PowerDistributor)link.block()).laserRange * tilesize); + } + + protected void drawLaser(Tile tile, Tile target){ + float x1 = tile.drawx(), y1 = tile.drawy(), + x2 = target.drawx(), y2 = target.drawy(); + + float angle1 = Angles.angle(x1, y1, x2, y2); + float angle2 = angle1 + 180f; + + t1.trns(angle1, tile.block().size * tilesize/2f + 1f); + t2.trns(angle2,tile.block().size * tilesize/2f + 1f); + + Shapes.laser("laser", "laser-end", x1 + t1.x, y1 + t1.y, + x2 + t2.x, y2 + t2.y, thicknessScl); + } + + @Override + public TileEntity getEntity() { + return new DistributorEntity(); + } + + public static class DistributorEntity extends TileEntity{ + public float laserColor = laserMinValue; + public IntArray links = new IntArray(); + + @Override + public void write(DataOutputStream stream) throws IOException { + stream.writeShort(links.size); + for(int i = 0; i < links.size; i ++){ + stream.writeInt(links.get(i)); + } + } + + @Override + public void read(DataInputStream stream) throws IOException { + short amount = stream.readShort(); + for(int i = 0; i < amount; i ++){ + links.add(stream.readInt()); + } + } + } + +} diff --git a/core/src/io/anuke/mindustry/world/blocks/types/generation/PowerGenerator.java b/core/src/io/anuke/mindustry/world/blocks/types/generation/PowerGenerator.java new file mode 100644 index 0000000000..5b1c652e6f --- /dev/null +++ b/core/src/io/anuke/mindustry/world/blocks/types/generation/PowerGenerator.java @@ -0,0 +1,48 @@ +package io.anuke.mindustry.world.blocks.types.generation; + +import io.anuke.mindustry.entities.TileEntity; +import io.anuke.mindustry.graphics.Fx; +import io.anuke.mindustry.world.Tile; +import io.anuke.mindustry.world.blocks.types.PowerBlock; +import io.anuke.ucore.core.Effects; +import io.anuke.ucore.core.Timers; +import io.anuke.ucore.util.Mathf; + +public class PowerGenerator extends PowerBlock { + protected float powerSpeed = 1f; + + public PowerGenerator(String name) { + super(name); + } + + protected void distributePower(Tile tile){ + //TODO! + } + + @Override + public void onDestroyed(Tile tile){ + float x = tile.worldx(), y = tile.worldy(); + + Effects.effect(Fx.shellsmoke, x, y); + Effects.effect(Fx.blastsmoke, x, y); + + Timers.run(Mathf.random(8f + Mathf.random(6f)), () -> { + Effects.shake(6f, 8f, x, y); + Effects.effect(Fx.generatorexplosion, x, y); + Effects.effect(Fx.shockwave, x, y); + + //TODO better explosion effect! + + Effects.sound(explosionSound, x, y); + }); + } + + @Override + public TileEntity getEntity() { + return new GeneratorEntity(); + } + + public static class GeneratorEntity extends TileEntity{ + public float generateTime; + } +} diff --git a/core/src/io/anuke/mindustry/world/blocks/types/generation/SolarGenerator.java b/core/src/io/anuke/mindustry/world/blocks/types/generation/SolarGenerator.java index e093b36e9a..028f6ff075 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/generation/SolarGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/generation/SolarGenerator.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.world.blocks.types.generation; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.core.Timers; -public class SolarGenerator extends Generator { +public class SolarGenerator extends PowerGenerator { /**power generated per frame*/ protected float generation = 0.005f; @@ -16,7 +16,7 @@ public class SolarGenerator extends Generator { public void update(Tile tile){ addPower(tile, generation * Timers.delta()); - distributeLaserPower(tile); + distributePower(tile); } } diff --git a/core/src/io/anuke/mindustry/world/blocks/types/production/PowerSmelter.java b/core/src/io/anuke/mindustry/world/blocks/types/production/PowerSmelter.java index f55f3539a6..58692492e3 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/production/PowerSmelter.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/production/PowerSmelter.java @@ -160,7 +160,7 @@ public class PowerSmelter extends PowerBlock { return new PowerSmelterEntity(); } - class PowerSmelterEntity extends PowerEntity{ + class PowerSmelterEntity extends TileEntity{ public float heat; } } diff --git a/server/src/io/anuke/mindustry/server/mapgen/Colorizer.java b/server/src/io/anuke/mindustry/server/mapgen/Colorizer.java new file mode 100644 index 0000000000..f0f141b481 --- /dev/null +++ b/server/src/io/anuke/mindustry/server/mapgen/Colorizer.java @@ -0,0 +1,109 @@ +package io.anuke.mindustry.server.mapgen; + +import com.badlogic.gdx.files.FileHandle; +import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.graphics.Pixmap; +import com.badlogic.gdx.graphics.PixmapIO; +import com.badlogic.gdx.utils.Array; +import com.badlogic.gdx.utils.IntIntMap; +import com.badlogic.gdx.utils.IntSet; +import io.anuke.ucore.util.Mathf; + +public class Colorizer { + Color tmp = new Color(); + float[] hsv1 = new float[3]; + float[] hsv2 = new float[3]; + float target = 240f; + float shift = 12f; + float e = 0.05f; + + public void process(FileHandle in, FileHandle out){ + for(FileHandle child : in.list()){ + if(child.isDirectory()){ + process(child, out); + }else if(child.extension().equals("png")){ + PixmapIO.writePNG(out.child(child.name()), colorize(new Pixmap(child))); + } + } + } + + public Pixmap colorize(Pixmap pixmap){ + Array> colors = new Array<>(); + IntSet used = new IntSet(); + + for(int x = 0; x < pixmap.getWidth(); x ++){ + for(int y = 0; y < pixmap.getHeight(); y ++){ + tmp.set(pixmap.getPixel(x, y)); + + if(tmp.a <= 0.1f || used.contains(Color.rgba8888(tmp))) continue; + + used.add(Color.rgba8888(tmp)); + + boolean found = false; + + outer: + for(Array arr : colors){ + for(Color color : arr){ + if(isSameShade(color, tmp)){ + arr.add(tmp.cpy()); + found = true; + break outer; + } + } + } + + if(!found){ + colors.add(Array.with(tmp.cpy())); + } + } + } + + colors.forEach(a -> a.sort((c1, c2) -> Float.compare(c1.toHsv(hsv1)[2], c2.toHsv(hsv2)[2]))); + + IntIntMap map = new IntIntMap(); + + for(Array arr : colors){ + for(int i = 0; i < arr.size; i ++){ + int shift = arr.size - 1 - i; + map.put(Color.rgba8888(arr.get(i)), Color.rgba8888(shift(arr.get(i), shift))); + } + } + + Pixmap result = new Pixmap(pixmap.getWidth(), pixmap.getHeight(), pixmap.getFormat()); + + for(int x = 0; x < pixmap.getWidth(); x ++) { + for (int y = 0; y < pixmap.getHeight(); y++) { + result.drawPixel(x, y, map.get(pixmap.getPixel(x, y), 0)); + } + } + + return result; + } + + Color shift(Color color, int amount){ + color.toHsv(hsv1); + float h = hsv1[0]; + /*if(hsv1[1] < e){ + hsv1[1] += amount * 0.1f; + h = Mathf.lerp(0f, target, amount * 0.08f); + }*/ + float s = amount * shift; + if(Math.abs(h - target) < s){ + h = target; + }else{ + if(h > target) h -= s; + if(h < target) h += s; + } + hsv1[0] = h; + tmp.fromHsv(hsv1); + tmp.a = color.a; + return tmp; + } + + boolean isSameShade(Color a, Color b){ + a.toHsv(hsv1); + b.toHsv(hsv2); + + return Mathf.near(hsv1[0], hsv2[0], e*360f) && Mathf.near(hsv1[1], hsv2[1], e); + } +}