From ab392916263de85475b363a3c0af31a2aa24ea8f Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 18 Sep 2024 19:22:51 -0400 Subject: [PATCH] Pathfinder bugfixes --- core/assets/maps/atolls.msav | Bin 42467 -> 42478 bytes core/src/mindustry/Vars.java | 2 + core/src/mindustry/ai/ControlPathfinder.java | 35 +++++++++++++----- core/src/mindustry/game/Saves.java | 2 +- .../mindustry/ui/dialogs/PausedDialog.java | 2 +- 5 files changed, 30 insertions(+), 11 deletions(-) diff --git a/core/assets/maps/atolls.msav b/core/assets/maps/atolls.msav index 02f2737debd9f6fc60dc2d57f8325cf56e822aa3..7fb5a58537a5af545a6184a045caa7fb1b9a6354 100644 GIT binary patch delta 41504 zcmaESn(5tXrU{bullIJ3>D&GwpnZvFg@Y4Qa%KweG?OH^O^aJ}SU3VYvM)Jl>TZHNPMJS7|xHadE1^YS*+ptNj-7b2K^fT~f|HJug=O#I>sA{lAG5 z=PD~jHbx6CDlNHx<6f=uhxaG`P5i55IJ@0x=HbsvU%osw@v)L|@GK1*`S+X??V@$& z%+?NdxxVe<#l5@B`*?ca-ZbA@BY^R*4AKCwfL7@JNxxrOVU3TZ}N{luHF^k`!3AId!bSM99!L6 zCKoQZc3O))=ekhc;GE(wo~GV?`E#pLNa6LnN|jj)Eo>E&4lh<>d~w12yr}xK(?1hoTVk=?|*i6cS!uzLv zp1Lym=gdDZ51r+{{Q2n4mq`n23Q{t-CX}hzTSwQ=uwd%2UYtEcWBRjqI%mc5PWy|9 zYq1}9b4&TV{ruD8jJoXK-?vF$@Y-3C#Td})5c2HP^E7St_q*!lK9qde$7Et@TC%EO zmqqo519>%C@iNk@4m@~p^WDNjPf`+V{yoq!`FvnP)!LXfAzsd{H#?hmzbQ}q^j%Iy zc47GUcXzb^f15moNuYj5cFz5K%++N(bv1Ulg?d;2(S6I6yRxWY%c_gEjJts@hu8E~)b}2N56iu#dKr9JeyUqIq*bc>Vl6vI zg{e-pguV6gKPjRtE7uDO)ExcowRzXfyICUN-g7^n9c%r)_f6CP?`8+g%lb=#7yteq z6#e^;a@<{Ig~?JZVY~CYg1^g0EZlchrvB62JEztON`0#hJ+ei=gYS>&?!OiWheB8L zz1e1Eu!;NsYPHDTt+8K|-X2&N^@1y}_gF@Gt&Ejbkm~y5I!QNF|ChN7GS~4~F;y?= zVw&;fSlPS#oAXP`L#HbR%)WdqL-f`+ottiF9T&;nwKa)759{j6cFmbTyUF--Mo9_3?QH#X&(piP zjgK@{|FGS%V2%6kAD&AsVp*6wv}7K09V}b3BlJ;qIsaVkC(oB3*s$YuU2)jS^L`;0 zY^0f*c5aNRIO>#GRwMXCmC5%UT$0E55FAAXQ4|dH3eL=!9LrZc9nuwSJVJ{l8=VTHD?3Z?=^kcIab# z>|pNi+5M6=;Yq{CVl(@_3~m=xBk5I)u)@er!F*#Xy5GI`tjwXn570Lv+ZZkKYQOgWEP`E+cWR) z)1Gw+m)jeJSbZ&8utq7Wviz=npG(09i5V-OURt#2&V?znHO^=;^R4-y^o{Yf()0K7 zOn=_lGGy!$H@Tz{)BDz{LH1xc|Dr%!8_vTPiq>`}?8}bml)PQHyPfM&y~e(+EJ_9c z@7>)!ks;*vjh~AxK3&?wa>{0I`#+7Fj_><#i1sw`-PxV4e|5n^d#>Ky8)k2JpS%6w z)EoQrd+zNkw5q>VnalQpSIkoJdEcSEpF7%{I~XML-h7^C_~L+#jYUO>zI>o+`5t1Bx>@hB6C-W-Hz<*Pj1Y+`?FK^!WQv){r=O%)cQ_s|MvFY z=KMVy@`WOo7F^cpc*11{lQYom2FCw7R{$|8B|ei<8^)cm4d4 zd-(88>t$V2W&X@Re^%ci`RJc5?{fI8Cd{6H>ilyttyZr-dkdZL$Tba9oYyo=HnU?j zDe#M%@_F;rok5j$=5y8m%+-BX?D2Q%+?#Jce0b~LZ~y;8uK8W2vv&1~%NRP^%9d`P z?8h!wf5+>C>BMag(;T&zdmlJ#dGm&i$K&4*ByDD#e43iiArqiw!1CF8^Y&@p!rYHr z@5C-Y-FoQFU60#S@5GiLwh!6SWGi`o`swa6{SDKQCMJWheK~PcDY`)gSs|54$f_+_u)jI!=#)XXnbD*>1%Pl!|w|6-`HR?&2*BKlOI<)MkDAxEYK|))l*tl;(-NzsDBE zpkmV0_=vwSN@BiMMeO54Z!#5nqXYNu+rSa^TIR&(JHDbVJDP4(99(;x?|$K*GM8f~ zg&wRinQ6VXK zo>i@U$E2H=Cm-ifsV`p8@@ePJqL(@x4Kamm=Tp*)e|Bzm^}Mk8&mrz}dmT~?p9E_p zKVY2cmh+<`tRqxuDUaYpht19=6DKMf9a|>A8S+@kFz%Fpch5#Om#Eu(N}Ok=&lk?j zH9XO_rB)&8S;Gd$y-)n7c0XRUb5np_ti(Bg|LJ0`!a^yD73)kCZ~4_fls^1;=}gNh zzDma1JEA0Jr%%kHg4turjs^`0M`#@M+~e|L)K z_j{{21LQ0$_Wh2m^q;#uP_k5Z{`u*y$7ODq2Gs1?6ESN}oQ7Y=vzeDn9+XLN{M+Jk zwZc(_+qn31w}d`(bJ&)i#UFI}SFb+uL*&Y2rp$@+=ZU{uDWq}bqp^ei&&vxgeh6W# zH?)k^n(BItK~YHf=%+m$=XHEKuCPShGB`H#)0HI7pAlPTZ%({AErVIGsw!&+SIVi@ z%N1s-QDWRe;cR9Kt(Vs9oTW3R@y?gf+53V*!y0agc+Px2w}C|=e1~!Lh3!#ab$M&I z-@RrKVBR5fk;TYGJb%7}p8PZEOdDM$w%ZqYj@0|TniaJqG9xN)>AQKX$3)NW5`N`0 zeTw*8K88xGMs2u;0t$x_f=!T7`Z4SRf) zSj7zbIG@g1l2{?nG%IwCR(^Wu;^&_vxI@1`trX^4W0f1myjm~i?JAaSiCp?KtfJ0N zSmnKa^{y7j`pK(e7ki3sZ;!hBs_c09{v{VR^}|AYckH^qsNFXM4S^4=y=;}UCj8$v-&xa|hii#}O{0^=X>$jS6XwU4 zi))<_@Q8fQ#VRt9`{~1A?x~s=*BG!ZW_@J2*0d*M;@TOj!&vLN?OhI>4V^8gw=2x& z>~*P!C2I@w)>(5reCF40-0@|e9CPvAyd7ss^1j|ws_@X*Udw;$4DZX0Aps&QUk6DF z+|A`z56wF^X@QECQMpxR!`ZcIA@xVTT|4@rrDvXhN7(OYGpcu<-h1b5+&jj-ED{p) zPM;TB*6u!cwc+!u>BU=b@2oG%c4Tb|-y}P6p7tE8*3I&g6P^e^ePklAP(^O(L*t5d zTWscOuALjm`rxgYjq=-jI_tNz5>aqr7qeX}BNa*YLi2EqQatwC5|TIy{nsDGODKN_w)PfO-T|3NiQFsp+n$#VvEkz*Si;< z-kQM`)>^;ojdrZk>XRN>oOb5^q0_Gh+gj}nBU5y)9;a4XmWqG?~hA=(mtfdOYIQZ>0MEMy7keU6wW`U6BgXrTiUpt zSB|$-!{$~v8<%LLZpK_L9aHVEY;ui-Ui#r7H+bjyNgk=ceY2@_b8o)ilr#o^A)eI? zE0QnB9$34eaPm`|4&Q`?Er;5ldq1CY$ie7|_^qehFLGZA$#U7OKB2|=z2NF!o`Q!r z4=EKX1j^lgRhBYw-_42o=cfe7Uz~g9w0PR_iKVXAKm3GGm^=%dy~uEvU!%_CKT$2x zsU^%`dZ(maO`G77wXa^xYrE1iwLshXYCw3osuFBUma$UT^w(_5TN!nr zl4ZO5mh%nl{2a3EmR8#hjMZluI)%lBi0eL((f48A_as#6*6aw4bKPO}rI%y2d2X(2 zS{J>%d%eTO{Fb@xIE+Q(oi<{ z0Ne0o6OIY4n`txScv6ASFcCDbZB}WIL|@(_{>y>+y?VB z@ng%mxkYPP>)OBa)CeW~&h$ClxcX1UP80TTyT5qz)}K{7|7>BllC#m$u8`ga})*=Mo#@TrwAZ6tzH1=)9V&(Sq_xor98?}x0PJ4hs5 zexNk>s1?_8!&hpTK2L4E`NtFKIJM_dFC-*;$fuv}5* z807K4$4{b3Y}NdAns=<(_XgLzw2QKhchKJQOZLO2=K=z%yQ9B~ey9)K$zZ8VbW-o&MrGlfU?<>&h)Uw(H)roOr(KP&Sj?tM9wcZe6?UdPW&<#T8y2 z9=Gc)#yV@?rEacW7xS%ei|g+R>TlCXT^Mw;N6Iq#P=xY1rP=JhpPcTQTZP*j zN`=`i{`TdtSn=AdDfb#H`CHC2-Kgw}S;oEm^W*NrMR%SZ`2O~q`4a}oSMjn1#S+cO zvYX{JwmBU%F>Y=Y`I2w&%4#nA*ELa*-4AaVoj7%~X^YFJ$B!RWXnveOk5Sy9Uh3wz z`j|qw8T(|fxbJNF_ISr9@7v40mp86jBOToR;^BwhXEP7+G%;=UyL?ph%JsFcVnxI* z|8#w^PR8ncT9%D{wOM@O8b0Qb-E*FAo^@)K^rod@rFo~et?<6u+ma#XDVpqeLZe8g zgx4dR%P@V*qS=Cy!eXK?FIS3kc}z=LVrab8BG9eAUcgKI`PZ2r1t%wM^*D2i;kD+6 z7DIPq<48S`cazh(HybbAT*0=sd4jJ`lbPVhVug@N#@xcf-5uXEXWp2(>dC=GmQ@$` zeMk}1i<(m3_x?~Qmm9B6+(nnXRx8=#3{y@>xVx$t{AXwRHD!+1p$P3QT@NiUXgn2~ z=CH9>E7>XKV7-ldx#Zt_Uydkcb$^^<(Ny^1@^Zm!;}^Hn6KtNPPEc4|%yl64pbX=i zUpM!7EWF#b@O!wuQe^xx<&>s? z=S<^{iPbaBRf4o~g^#(VYjte#^Ey!RA;(k2;ji8yOM@1V1Tp4%9)plMQ#ef;lFx7m zdCt^Udo?; z)t`4dEIzd3dEo?ymCS#XBI{?wF>IJD!Oj#LXH~jQ!&E<{Cq$qBi`k18Tv1kwV&`8F ze(_3&?ZV^--U`0r=cX~JYs!=?`O4(M9r;$%)wLjUj*f4$%Ee#Ff+}0)Yzp`_=T+?5 zEsG~PO}jixOjF|F%}bV^-)8(?lyu4HsT=#;tCcmIN~EqlVu}!W;r;w{f~TK&y_Rp% z>=RmrW$FpOtsC>_9Q*QO+Q}kLk4J8itUneU6@x}a{B-eB$qg^wiOyBI z`kvu9>lK~=b(4l7HqBj1LYIFUuect-{6NS4lTrukoKWVF1239S8gM_ErO*6R?K#&^ zV}@AE`g*bID{N}^8t4BQR9L5XNo-|Mw5XQ493XJAb+bj{KE}>(eaCt-+`n^O8Z3 z?@V1-kkKqXi~9>c-41TJqO@f~0OOQkRhe00D}UsL&WflvdAQ$5mn%eZ&Z;vi7gy;p z1+S{y6*B9x_*{qmoC+5#=TvG^S#mk2`xj*W-^7{qtwEm#u&F>em zlVz{;a zIesY9=Jk=yEc3QLxNI@+D8~trd8L>sV}}^rKX`<<@KvKG^yzbg&Xi^si=L_sb9Ll{DbF; zwmTOmh4KpSnD?qgzU-KSy7N`+oO$OBN8eIS@wtUg>RZd~)@{f>cPY!pCsgP| zY~Jp(KNLKh)vK>~=N@6Ybz+6z?CY~u)IZY=`7CxQv`cFGh4qEmVp%l{FKw|ho~p+2 zLE>TRgoKGA8;{9;mN1yo$=a#waYC3mcUA`j7asAr`uY^PPx&-U*yXa_}6}Eu)*53(#u01|w z_0GMme$}L@@6=}`w@gZVl`q_@+P}ahSlDy(`-{?>o;hD(HSg6{sjhoxX*->HLdc=TvoE~6 za_H|=mmRYIc0Q1Nwnt&(HTT29i?1bhHTY)hEO>GEv(Ec^+t717D;69JZj;gXFbLau zB2)2#P)k{!(Xu1G4`+&8J;Phsa(9Z>nUu710nM=!CVUexvq|#fblZJf#i?}P$wk`E zs%t!I|4a;Wy87jAdYHCFZJf-mICXxaR1Y3#%S_MmFbkOg-2kEV1dNPH$LW z)jd}SBZ)$->rTDK`t=+396uz!Wts8f^G(x2**AO7={j-UOh{txmHQUF{KnS&GpEdr zZSxe_SSED4c=E}Hd8gI*Swc=7zP$9W(L>Eb^+UhXdBC9=){qoutr&Lq^Lk@Cm4_ z{4K@QJSnV{?YmKhn6tr?X5DpX`~scj)qA|}Y@f`ia(u;Y*2Oaq9C%pi!yV7u=Kf`p zYJHA@gi5Y_x?0|*0|qWL0HkQLhB&TDeUQwn`Ef|uZ5@V3W;?^W05FDX>(QTGS^r>ZO*Db!y%-YK`VY!Ig z{3O3lAyvbrOXLFfMDcQ8zvH!GO_|~eA(pjyyWg^GULTvt@xw5;hgYN8*HNHcG_?D6 zUe7yI;ry*a`D>N#T|Z*AB6gDn=cX{%J~y3{$F3i?_j3I%v@WTBiTI4xUmQ$)d@3B% zmSo4N#jdarQa-&_$>0&oF*X+EbuLq#KkZ-UaUh_uZ624mftB;b1#LIh$9ms+D_CBA zZ8zHoyTy;?y9L#si)1jHMOL)L%Fl}GcsrZJmnXAp&lL;Bp1&2H8|s=&{3dJ@=3l3H z#n3(s+$n@JKEfZ^cz^o@)zT@pDkIkIgwhCr*ErsfL2%rDe zv2pj*V{#7Ml@6b;X=T|s-+eE7?CHne{GMH^96de^EN4C*uGltf*Zq|u^EVn^=J2** z5R_D6Y-{y>6V~J);O%9u>*u4+@k~*QA-7!Wx2sW3mqNs1gC{&k*+tuUSnh1+Q$0JU zEZHTyXhB)P`N@ZFXw6HlZLwunr0yDx{^of)ZK3|n?q+;q^H7Zg=9 zVaK8R#ObzPagw=FSM{Q!{2t4laBtic)p*TKBd>U)p+mFM!3h8K-JTxXH72dkGk1Gi z)l$vrxcc_XwCOi@#$F4QjLsnw|wS%VytQ_;u^;)R}C@;yYF*-syPi6K>rZVzpwc+~rvU zY)7BZ+|Dww#y<0I?Bs5F&3Z}2DJmRVeXAv5G=Vy3sa=UJK%yEs0W=}sm!^vW$ zH$}&F+fOhWxiwWwdrsJ~(M|7#v2%>nma|ngs%ptCCs}&)jT3{kzQ*%2Pg-0b#>u4X zTKigY;fARl2CEAWJd8Y?YAC+IjOm1O!zC9xy=yvV3GZ8Y?fA4+Jq%7QZ*DQLRn>IQ zUi<9t)>CzccCwRexF^>18@=OUv09eD#G!3Vo^+zJqw}-^#RTo`l8PUu1lz7yJJI5* z($WK=Ex+qtMc*+h@IC8!eWursrSmd<>y!4lcQ$REwdwW>-n5Uab)ru>s8-)}eXHjA zmSQtgI<9ot)fX|HTiceq?~Ozef5>NJ`C?T5ek%=OiC zRY=tOtefg7P^`A`Bj1nX!d&{zRoBct*QR#-v-qs!XR!I!JqI=c_T`(VoiPmfD!BRh z6gK1fiq751UsnGpnau4i{PI}YbgRgi@=H5RHTRjgCG=nFaGSfqS#JgJw&UBQwMKtmAhNsvT%1_m-xu;y;-Fs?0hhdIA8K28m#_X%H-D4b_1uZqV!Dp$y8igA zqh;nbBbdv`h5ge082?Qc-fmj`mg+JET>S1Wt_;shC-Hs#7=2;IGLhcd<~KS#1(&?3 zTdQn(O!&^BqoRkeyZ$-0skmLL*jZ4QYZYS%3)=#dP7hh8GPV$ez9P@^04gI zas!L!DvrPA9L!i+&oNcz2@jKqa)g8-hip!UrHMJ)Tn(QovWI*%dMGp}C*1v*&+hC_m)V{VRO?s9o@8@oarC*G zzCtrqaM!_iW>WlVo|!$B%kCb}42$pmV)gJ$W3`uT`Rgk#wvvgrUML72sjb#O_3^&lPi`KKE4Ycp&(617pb~kz(Vm%Z$T$lGRWAmr&Uq-1kafa9v0LIrSJ0Gr@T? zlTvq^2kS?#xNA|^FV=K5ICXY?j8@(DMdIyCgj~|1V=RwM6H}g@exy%WbGc~bjF(c= zjyAnhJ;A@X>r2TkrjEPW)d6||Su>jQZ=~k%l~<&A%Z7^0Q>+v-lC<(>JCpy^Cx-A_#d!@M?XIcG~JALJ<(ebS5OLLoUr84V!I#*9Qv+2qu0Um+nOFDuh@|JMa z&*7e?#xbko!7k1;GwI~K`x2{q3VK@RF|4?@`~AM@Zfbr36IXtWxbyV1UUtu!6BSpy z<=ZalwN?EQ>!0|2j=f~@!bfkE`i^_8ND`~R%Rk}POXY=E-R=5}8GH_`WVn#B{nwrH zNVh%xC)D3f%576f(Du-J9T%j2Joewyvg(z0uQI;%n$hlgKz~=*to#!uKP3*n6>N)W z`P`t!DQ2shdE*NEO9kF5T8EZwYm-g;P*;L(pC zzwee=uc+Uuvh`SSb7uIaZ5JwJ3UBW{x9JS8;I@ElnKhZ=GfWH@n{1sOu)$)6jZfRc zn(tLjUCBmk^ZIY}`37`E?O14fF6iNr<$Q;1&qo@w>VcG6rRqopB}Q$cCS%JdPsrL#j0|f`nuK^cAh)Bq6=4^Wtq@y zz}7oEM{R2TeAUbD_t?^z`MFxyUxdm zEnk(VwDjCI$?4g_S{Leh;--5qmtXL%_|vX+M}5jo19z`ARh*Eu%{i0#^2@YDnaN9T z|E*Q&)^_314A;$Kzi`0mWtW!K-Djt^${*gWr_?>;D0gj2uGEUC4v8E7)1G~)Ys#AU z;Zb1in@g`^HZba5oSc%S!fAKz$J9^%#B5%d9PfDSZ0BK_za!Kl&MtdvbG_cbRc`y; zC+9Y8@Ya^oD|n>S&trTfx5d*jM|87-!H1VWR(8s4pBOjQ>ESJgA0}pOCkl-Me#R8f z(|)dbMEt?cswUOP`wj-YlsS<%m;IJo$aU}hf+f8xBeoT)&s$sQ=4kmj`lRs0M{dhh ziyx_H$M)ShdZH$|S7YOErA=;+^g_PXt4zPFcfMIxb?-bNr5TE_kfxV8blCoH2FVqbWRd z%X91R1gYiw#oh9I&=(-BY1J(}fs^Udxngd{qIs+Q1+SV$W-UK{Z2q=iJQHlX5B2de zSIROT`8dgM`j1-6b)R(Ho)phvn5F)wG;&#Hf1Zu!gHKVC^JbjBU|^JST{t6K$6!lU zea!5wcbBO3XeC8Fu|0SG+ZtozJl~c{xhw}uyNPQT~3 zKl}Pe>D!$T_;ziYe0_Q<=k7nZq?Fpen$CXGV}9&q+UnEC_KMhfPrQU&PaIo%`trL;E7p|oztqT0+359lBU{|TLyXJpvXmXaN5xo8 zxS~?Mv+;ex4z=S z%uHcP1o%?i#=yJj;tuE*zG>#H^n$uEoLZZ>}0 zDz?3CV|28x+}94*0KW4}s&}+zMf(3pE;oM7wfOg4vy|HEmp)nPJG)|c)z0n|tTnAS zmREfdyDooX%kj?{ERT;Iv6-&=ylkD)qbPT;yK%err%0OzTEJBIh* z%*Ah(8Lkt{6q)6z8|VLalS5w7!^!XOJ-Vdg|LjAUWbKvsGR+&)lK3(f$sO(ZTXTBp zrX>gXFaFrHcjD5r`Z@2GzPuYJv_NNzM%e!y`uz1XCr?U|e$FA*w!SmvWATdEGAWC| zcV<|KcrSAcdMr!`(s$PFY<-`qi-F>KT^&fW;tjrQuezfsF&x! zCmZ#4t7MnS>+6@!x>@pYg*^MW`@U08y_BzhxGAyMe22<}g$pP6d|H0$>ATC9-$`y4 z+a{S}f6qmrV%@6^S9RvpMimG-&7aqnr=+r}RAYC6{cE$=lQ#?>)WDIDKaAjB^nS3hIBgs$A5~t35L* z|Hx)JsVKKaE*~|ksvLS3tPJ7rni&$AuXudrKi?3>(@77TPJ5fCY)|=+u4{U7va_#N zusgf+8Ivs+^M&qwt|;4T{i|sC65b=JoR6Y7_u9N(9eF=W>7vQRwQt&a6g~Iu>R0d; zSYi{dxiCI-bFb;TGY>^=)|_5a-*!W#=ik$l%z3(Q60epTcJ2K7S7qMXL!0@O^5<`! zq~NQg+iH6ysw?XAooiK0QNk{tir&kXmCUHWslo4cdl%#RC8=9xAM-t3re1FE_xEc@ z=T6>-hmt*eeFZp!Fn>}d?kH6XEJ-o?b&i7p{Bc$3h{#4oe&>iN}#NO9) zsOZi!JeqLq)PZv|zSu60wLP1i<#}nvw}9+Tcbl)wI=^_jj@_acJ9lkeV!h8MfBuqd z_k5I!M7N$^yD_$=ceSNw^UTnMtGuOw+b`v951aUBvXkRE!*tJzFM_u$)h8IIzI}7$ z)w*MMp5D8=B*>V>k$dHz7Vd5ljoNiTAKw1a{_t`A)jgiwAw4GqTBa}YzNf^a72nWz z`CGUk=LSYi<-L0(R57Gw6C5i2%*msI|EYmLO3==KK|i+5jb&6>(Rb&2>xr>SZl zvtw4=^VpKMUZdXh?WT$cshLd=l0VycZZKGq^XS8lwP6>ee=ogxYs-Pg{^M`Iis?(7 zO0@Hucp=?AY3-sy=9NoUm+C#eVclTCojoHd-v7_RG+q7Glb&u1ls)B5Zrw%;LYo!*7qjUSWIB^_*K+ru6C6EY(?Oe-!QZl!`wW z@j!>|9<$-&AU^AZhFQJ5?Qw@vqIyfrJL}tz)e4wI|4Dl>Q=G$ay63E#wTIdaJuOU1 zW)vLQaO2&=ivmr@uCq7he-(LO|Ll;>VSyWVod>1zwauM=oW3N<{Q_HO;> zcdt7Pf>|2ly5Dp-_p_<`8f;#DHMP^E`AxH)=I;fMRBl#CgcNR)mDHD2`Bih0Yfrt$ z(#x$gh1HEx3~$X2nql^2!qJ!&H|G28Jac5nr?VSWr%D+9$mVK3AGbOE-qeW4CxWN9 zestWM-;l4{(DEuU>-uyyG4+Tlj&Pkrs(e-)V&|5mOfB7Oz3(oI_xkS3;kyMsWPO*I z`_YbbPfOSG%c{*=Ba`nf4wX(`?Aw{BoEI=_Zpii1hh-w<6eA|3%rcs~h3&v0&88dy zgMX8{ym)jpt4_^M+)=syd1+UV;?wIBt|VVyeA4w?mJoxD@023OEJZWl9SloPx;^UX z-OKJLzti#9&BrZo+&L#_>3i0{?$HQ7n5|o4m6gPMky~H$k*`42is^+?oAit#p6q=t z?6B4(fKzIoN~2);!3R@5Y*F_5JG1c4I+Iolr5f%`A-|N1(l#^RZ4YMk5!2irtM*gE zRx~l;!@jULXYQ|k_w(4Lh3ELBSj|pXxHBR>%EV8 z$E=+$b0yJv?zUG9QG|}SN#Q) zQoixE&-~bX{Kl~-K89`m*VaU=@Mb;mU8wa4>p35tn#;} zeiaYb*oSQ{6t|n!xku|u9_vd6-}_#{cN~t^b0)5iU6aa@oulzlh4-?tcj~#uCv#jA zpSoBdnx5XwvePlh{qD+hXC|GGi}E`=VV#o4eTfFs`*!|jCudjdZduKcZ4fUNJ8jyb zPwNVNuj%o#Y27RTWw>Z-+4O5S{=ZO~cka?VZO-hYLH+X<*Du^;lv1?L^YYc1dydJb z?YgvZ|G`!D3_7zH&MBR$w(GsJSXR($AvOaadxs;p7C%0quM{D)CE9EAtAww&^p}0q zbCqu1)=)p^MXPYejgD*9k2VP!FF0|n$tz4X-8=PE8hdKs=XYv*lzN?g_pai;Yn5=S zj^A2*@s(N2?#i_s&D8L_EBxP5(3~yK zdz9&$=%YPBe)B$a%(eG+SdlV& zxG{WK#;})5>;5K%^sSz4OXS>JEk0a)?IgeWm(h~`B*voa(`C+m7PWV_c&q4>mT{M} zde$M<4r89G4i+PpfLpOU771E6oSHwKWA@7>JGx!uGkm9P)SsyQJ^N+Z?Grl~Hu4@? zS1F$8J9)}Vg?Bn9cPTJ6r2N^syR0*0Nxo`*G(+eE*0>#q1ShUBea05!$kdP<#@;W%NF&PIaRB8ES+GMCb#=i(;1t#pO!BA zoQob^W2j$o$xBm`@#>OWraxBS`gT%)Lp{N3#g}QTbK1VW(415|O~@=EAY4>p&wi|IeX`m@e{xo-n?GTF2^nEK+3zQnRPdYu$!c8oII82H6= zlkSg9{e>!z4+*vKZgbP9$q_S<+_Oe4;*y?D)ou&ro?9LDvDXAxUNUf0?2SLw+8~}} z$Wmkzwo_^C?W1nHO?9nT>=!!h)cAejqbrZ5I4xSJn73lKhT&_oDNEXFmYu$OC3K$k zxrwKhT`z37t@mE%vge71WwT>v-hJnEVE4_<6|zdkt+k5Nf^yd}B{essTeNkCt6FW} z#ZWq7txjv|^duK{!A^8%hf;}mLNs~2KpH0Raj z#S6?QO|ZWFsA*d-L;B&i=ieG#&>Vx*E{yh64g{@gvdGDurseOj0Z#+momKkhx z+hWh0|I<|r?s+ml6)ZK=+;^pHTWZE9AMNvopVP%=^j{Lo=#!qgit}`}h?;N2OUqLo zavRD$y@h4B?E3pOM(CbLjM)_*-zt^=K`A>vr5Q@9s;@2=ov`Psd%}ln-`}c~t4hqd zx!$*atAIh0p2VGEzDe<_J!>!dtyvZ;lI&8QQnO89<&Qnf{fvG{?2|Z{uC5V&__(J* z(5t=OZf>iN_BMSNGF>#&J?gkz&;Iw#{hwc3q+D}3eB!n9V;7IA^vrY#%fmY-KX}YA zqovt6(&C6Afu4XvgGWpyH@KJyd6HR_*CcpR;A*{X5KfS zSX}2#@_NAgidUo}u~fh>*ks?Hu&c_#Ya%ZSO!*yKb?UQ#&?Vm^qVuw@yQtZ0eVFGF zu<`b!At|* zOj~@nsq)vnEo%+r6gD`&fJ?}+{y~=lXXBc>ULzN?OOF;Y%D(g!^8ef-sPFw)B_poq zoBhh(B@2&hM$X2TTx$l^K{+OguAnr%=+V7^yS3O+OEkPEN1sx&b$5B zIq8i>qPg3R+%RXu6}vAuO_{8)^vaWMvlm@6n|R`_y2$@V?K^FrUp|U;3#IW@rpJ_g zQkv>}#c`)-u5{>mu8a;7S$(^Ur>%R-JcZAHNcTzoY8kq>(A##Gdf=zyM}7;PSj~LK zrrvU2?G=IgHEpY}H(z(2$hllGjoD9j`gc3uX*<_cvYX1O&x-MOQd|3D(p~B0g?`09 zx7}WBqPe9vq_$~Cj_lPtzU!K%1WAYJy46>NY~Fj|sK+d`P5c(|t-a;FbMn4^Ra-5u z)A)O(>Aj2H!OHtwZ5N4%tiG$VHSPTDvh2Fk9gfxYZ+ERXz2C#R+1OmtSZC#g8*Wxz z(?yruU3V<=j>U^3KbiLAW}VtJQ6~5O?OVTRPYZlfGXHX4(zNK%w-=Ac{t)6~Vve8G zF>A8<^+=n|C+FssI{dcUsQG-YafTKD0mcsB8&kLg_8V*~pY-93QIf1+)t$dZ?sGzR zvb@M%C*{5CSan;y*3&sNTC8=C$+KSaTm6`&x~uD^x4{H6R;O3LFEr;bH)fw~ci?eK z*anlw=Udb?T2?-;Vm>8eC2u0RaC^MD!RLEAZ}PVaeaYthHKX)R%)F8RptrtYxO754f!{7yG+|BzTA zr1I+PzZYy;Zp)ubB{vO}>mnx5adhnO?r?B|8kC_Uo zujdPMR2sTzHTX%cn(@h=Eyw${q!8<^JR{~?o=h{BXS1B#-`ld)pzDnzkRZ>)oh;1UELKQmmiYyk8H_1@^!+d9-gA4 zb$n0v9gS6XycHCGXtSDYscl)oc|Q%q+>+q4c4nf}R7`kFgT6{`uPQ$}CqaI;I!k3} zIlt!FmaCG=B6}Lt_B;6=Td}_|bn3wgbIsFR_Q@DYw!bcI4YXO)9D5~7m^V(`Fu1<` z^j)1psnUDWT({l!%sIuWu;*CtqQ9prwl%JLuafM3{ZUDx>E73y|66q|u9^FC;khr9 zixbNahA6C#cfb1CjqO{StX=aJn-{95o;~&0Q@r>5&I!D^L3Lfhf8CP&=GlMen7hYW zV*R}5zu0scQ|HCGPFfaf$!lBX*3PcrCz_*BR{zYlW!uCXXQGlb@8xbgvUR1`uEWeB zqV=nk-Oa?E&+neNfmJ`UJY;WTmgM2;PmABLo_fa2)lBH_=j*S{f)nq#dTSh8S=VbW zCcWT#(UsGN+YR*ZzgT=|c4kl6ZiCNRbK|sX`jwo5U9_6wl9(f(EOlYe=8*p6IPcWQ zs%5$@evv8la|*OLeD^TLiT%`kWs-kfQGUIJ%W=;3^_@HaLtp<9KazXE`#Zzqdus2Gez7*(73O}vy!ZV+*ZId^ zuDJJgdhe%o?(em3xU^WwwSS)Rxo;J7|FeBs=f5|%>g6QXB}BBmmk9CK zom25E_WUdV7<=!CWW_JF|7WcD$Srq$!^ZWl`sc6Z2XQogZFV}b@A1#ytX`k0m+Uh= zzuu{m*S*Dx*WKjlq+d6y{=VyG&FZRtu>90IA&tMGGfQ{<=`NYMrEa-uE z{Qj9qyz0L4x@)zE_CG)PdBz?)&Gj4K&ljGtbm1vgle~Vxb0I(DcKlnzx_^0p^+OA- zg3x_c=MQY;TK7NhaAofSe)kz0gWs;ZcAo#m#vP7!;qM>qm|H*n={v?f39pXXK6q6$ zbB5mM88+c2y{YrH4Nf{;E%%sybUz<&_T)PCg)g~ZKHPC&>eW|sU#rS$NzD4PyYThh z`4`@D_}=!6J)YPr{^tJHUHh-U`X(&2TwQg4m6UtL_3Wn=+P{oSkC>c|SzWm6`lHo5 zmSiiwv|0L7{&l5k%=YXVLc8kc9sXtO|2Vh**=@eF>ofn}(~AAaCS~n)${+#{wQ~Tkr`0K?^*ON1(`g3>1u1Ob{v9A9* z<8kej!{1+j7yS2}Yq5J;>xF_D-;IC$mD8Pn`^%1pzda7StFB%3ou^-^=Iy=2^TMx_ zkNa_aEYNwkbyXLCJVV$ojV1|U=>;7f5kB9!7G{d=XI{UhRW2v79o$a#llF zjB(#rseSV9J4%zkTsBpzO>xe85?@fgqW^;P+xoW0mKpiYdGFIc-hV3X{=e;h#7b)) z&6z7!RG)I5|2@M`G<%Z&gP%vcKP=(y>*bcp*K^CszIWSk`Mqqd%Uwptq8Ev*7bc4F1}tySw&~CCI?Gg3ucP)L{YcP_ z8;N_5N8i(YzfHj=g7rnKbjjWbEw!Bt`tpWL`J8`?>)ZYIHz{7Ys<*qoC200u<%Xr< z(RZY#FMU+-Pw>au#{15J?BR;%mFG%Z91s({CMM=2>|=0Q&AER55$E|!Ue^UhNBwtL z82Q~{VdaC(*Ey9B_Z-c$k+`y?)+zFzeTvgjrIq2~6Q^vvX5$(3chZtS$*W#GQS5#p zx6ZeublRCv!6Kh&J&`UsEwMiRzSjiHX3H=g|7ZJi?egZWb5^*|-+03NQsveO*>C!y z%ay0OUJCc>P+#yw;$y1ugZf*OcXXYs7rkeb-#sJD>FX```` zs(WK*6S~wWAZzjSE{2tYdT}9_t_lB-o@3^+yl>*ub$jA8gE%j(Hq`vJNHEHzJ~p=W zc#?JC^katktpeN1jsHvODz-o0G-F1mL#!gFDnn;{leKuq3Z7Y;7ThrJyxjFV>b74= zT^;YK9l~?tuN+_g`|8K&?57*KA0MnZb7yUzZ28LM`TNeje15ymPuBfQ;s5iiAM^UJ zc-(p3GxAqUdPNK`uhY-Vd{eyq3|>|{C&kpih&cE3Z}7iNQ#sq-?t|AJ(7CD(r8XbJUscStle_jkKW1^?`RHzU z-DeKRs@&~YDP*hPIU2C8YWI;PEqw3pe(-Dg^kLcGRngWb?491*B)jU%UD@Wkx^GfK z%F&9GzYo?M9TwlMocZf<&}_Nt$%gZ6Kej9Rvwg8PeJLOQrnxELf76ktAN}8&J_?$4 zBVp=?B~v>BxeM=p&kOx~d)>~Za)K`<7vGI$&VRc^?AA(F|3A$d8M`LLlz&umDt*zo zO!&jOQ=C_{|NCuNuqUw3Vz>9aAJb-h-0hN;i8!}DaaU$(N3i&GAs7#9^AzLzv-Q!o&3hhXPspv1a-4-Z&`D9U8;ebTmFShE7TXQQT5ci*EgBb z#k~G<*JfjJ{bd)<*k3GsAV2w2#oZRGd;cs;Yd*S_>inH+W%rBQQ}o%Y*X!Szi-fGb zUTde;-+pgtU;Fx?({O*T^XS-zmEG?XvdQbTeiy{eW#D!H${bjI?~^D%kC zHnaa6VpyAbdGe(>PWAs<^e2R@ZM=By&YK%E4JE()U-N0T^fuGg(Z6!9#y{^9h*$NI zKCQg+Mc6OBWX65oKEL$lhZ?HP|6laxz}BEi%h$xOy-;7oS^Y=Zu{@nQ`9IE8 zFWs|RHZ>$hsU%H#IN*T)Xv7Z*-A4U;Wyn%x_Qa zU=5dfkhLad-Kvzwy6i80db5?+hk6R%@6WE^bM8T8^T#g-ZceXvT5ntt_w00{|G$TK zeUA41xge;on>&5N`boCV$^sIX75VOcX!_gLy#D{%_`ks?4?1qv=6`m7dG^{($M<9( zS+d=K&z;+yjN5i){FCFI*d_7x^&a6Kk@{T09odD+o1IH{9GlpAb~m3_S%v#O7Z={t zNB4@SWK?pluB-XK`NEN6k>96h{AqhN!)DLl{k}K+r*Vhf%X)RmSnHt1`)=|6vOQ{L zFSZ}A*ALlxWu*zznK%2VseN1WV}H~g?WK+TquTZe{T0%_zmfIbeJ{~@lOjAPUX(n+ z^#8Bl>G~<6@0KWa<>+pU3^31FmsP0C`Sh-3`}x+h&(HH;6*_duB0Q=@*J9H8q$k_j z3X`6^eRO8CpfdlaUCAky*M;k258eBg`SL|v(APgsXZm;hoS1zMQq)^28?|6&ZKWmX$&NZv@|PbJ)t- zr?h$$b#VP;|MA1>&pvhiL#7+l%UDimJ8sev7dpGr?798tX=1tO+>sR))$rm6|PI;~Tpd9>?<<^-3M>Z>(^=g|I15Hmt~Rb z5j}Ae`&IAVzy3YGM!$pKcf}gTlTU7RY1ii~>%P5Mz3^D8`nJk#KOfv&*375$?@MF9 z%&#lU|E*Xixv0)2JSE}L&P7@K?Fx=PtN&6IalYl_A>BXqbsGzG|0t|hSiQFCtJ7MZ z-0Rs-4gRy*KTQjJ@iq3+mp2v{1Deeaum68==_X03C0RUd`CFO}a(-krRQ>07=H$=) z`iBC)n%3VqRk3;A{ng2OwnbqFKE032+~)gOQYie@?C_@VKjbg&`t?0ORWDYn>dJy` z!E&~ze&jsAwD(xgSEE0_rJ{cK=kfJk_`CGTS3&mcRa+ZcUmwui_rG|0#I5J|^}6=% z3H?ud&TaqnZYl4#JF`BUGFF=Ji!bOgkG(DvpqyHHx7YYJ=d|qITkBRnUcX&&{@fQo z4(YFcJl$;7TJZ5R4OV6^f4_YnaQqza ztog#HFXcP_nG|Jco1O9`{$>5m^&jTgM5ir!^R_%?J;#LIy(;`Q&(_Yre({)tKFPGymq+_b!@_mPgDUR-{k=i`{^?e`pM}pmRgdleUL|{tN2va> zSBN|BY4_N?t3P%-^b`=?#JFc(Ynj_lqQM2^G#f~ zaC@N01G|5I7k`^ROVQBUwpi<+-s*23lmF$OZwu~Ot>}Ay;e35zx7EK>)mJ_)c7F9E`hEEE`!_p}PdJjj z)MY8_&wT#dtE~UIZk$q;d*|?{`j+$Sd4qfJ|2V+4W*Oh*Nv0;U=TvUk&Fp!SzftL@ zXZ~!Bs^kUXp++aCnCocy=uS!gF#Xc>&B@kv@$0g__N6ah_UH8cKl*#C+I{U8pFg%m zE_?cKW42ctMK4=w%q@$$q^WDi8uXmsRjw}h(fOm1GoSr4SD5%OL`3qi(uMyV$9}rk z%U!z^xBNJJP>zm9RM^}~p-<~P_n7b3*wNwiJF@%RW{2Ny@vPS7Uhz9`^ZuM}##6JO z_0{i58kaA%C8(#qj0jF>IUKP6&*#sJF0oA7y2Zy}(Yc&0>Ol{#UtO;gmQ}b?;L)Ti zhKJrYf7fK`vf2K*Vs58)C9CJvzl=`N!p>{~pN;hb%POmHY&zR-C$;Uz&#m$N)z6c& zo##I}lvRCH-AVC>*A45bD>tY=t>>-&v}ux9i+J{oUpq=)XFHh0EuQXD`bxLt?6)KT zJ@d2YY>`md)bQ)Y;l#_Q@5%MoX{!~5SAJRT{Dj5bmyKby^+LVBi+yEZcUHIL{kyRs z@aBUhzf^mxS?b@;mrPq7$91@ab>qS>3Xw&cVhL>h7nXX-Wuzqg9lg7w@P}Xb?%6E) zGXG+Huj_8ftXaHLV`YcY!$$X`LPiILuXiWs8!X$pX75k)53xVQHI(N$dkFJCYKgi0 z{t?^Bgny3nh2kCfzPB~xH>Yy-#m+e6u=oH=`jw>5)0;IvE->P$_n7x&)sxQicc(3# zdgQ~A2^PQVEew+9WUq+4CguG1``UQnjfeehi}zP)w;XO>dTv7e=C1YKtk>4WPptTO zXxf75UxZ4mFM0*8_jb&%$}96ZKH~@DjJH>32Za_Fo_h31q@a+iU`i2_hWAvSV@D-@ z^An|XGty7~QoYo5%dzqFQu$x?-~Nm1YVK-$+VQZo#dEEO@XBo|ncLs6EqSZAH}dD) zqT?UjzAuVPwd|RpdD8RTD)3@Y#ZTj>VFh|MGqY=~N^3GgtZhFR>34YNa!Ce? za(8}XcTZXMny>qg%e?RmgH@lGEN_`E`<43^M}5_U-`8(QJJx%8eyxgKx#NDs$M=j8 zTh$j#ef)Sw*j4U#(~N`<8Gl{>WUKxEi?6s(Ij#NK+9DdoeL;6K)75Kl9$TGy^K!k@ zUZ%cR-I;=S7aN^snK!j(pH7MD$Cv$ocP-o6sHU<;Dbl7QTXO04n++e&y!rm{;@nvLD0beDnpJ<|z^*Ocn_NyZD1TiPIXPf@cb}Q#*Lec>#lE+`F_8Ua+OIM3xyg!u zlNUC)7-vq~UZRxcCZNrq-SqR({M*GdUte&_u4z0_)H8YNUAKuX0SQK*1E$vBtuQLy z?!ywoJ^lDv{!6J}1nnP~End8*V(wb!n5!SQ>73fc8a`!8lKz9c3+gkxw;tdYcKbRt z#%S%MNmsU)Xo{_Lb7A8=to`3_Zu~+HlY3|0Z~oM)d`&vEJVUasV7Fjagrf1LiCe@k z7bUQ~e5C%`$3AY}pKdd6!Rg=rKAqcYz?tQwwqoVmVD&HUG9Q~~?lAqi#XvqkG;pa; z$mBOJ)(_nG3O}g3nz%sM{o2F%^-YQgu5cQtYFIrnR&Cn0@Iva{2QIRuY|GPfH%yX$ zWMuj}^M|dox5e%`6^ouPUhgsa<=2Rqi#PUMEAcvPYT;BZnHKSN!i*h3Es87aw#V-& zT6&*XFnC8>lH}XNFMArilQ+7S@)&EY{`B1Znt?Z#-BU%m zP;d2H$Dp@6j_^;e=izvDFQ9$>yji`IZJ$`&d}X}bFvTd^?hBTj32_9Qm>N#xII7MQ&6DEt)~9t^EKID-1R$zZxtWvmD}ERVCRz)x979(mwoZ@ z@7t3C_x8Jc3w-^VHTn03E02~Q)18v~;aiaor{JH|eQXv5tZUD1=;xELs=LP9s(tn` zw>fuM$*s(n{qw`lF4`oRlomMshN6Cl+&ZB@k-x*n6C#Uv&nkpXu*wf=yEn&>>*@W6`I6554M!`2 zIRw6{)+{uzR?bmQ+R50tioc>dv+&w$q4ifZR=vG=WwOTPbq9|e-1zIns#|A%x6Uv+ ztEBdamj%_ur}FhhyDSivzq7sGem7$RZ_2gvf9DpQ z?Z_~-(|MlO-0@$vN`7USS7qSwH>Xw=SF=V=VYQ0f>!7Z*->qNIe3A)KU8-3HU}`N%ilUwq;fN6&PT?hmUM=mqs&E7^N_$uobpQoEMBi!)9hd*@Q#?kpLa(OSNi z<5b=*H~Y+(7cRw%7q|XxK9(`t$1Hr;cBbRKlO$gWIy-7#k5iEQxHe|9g7ZuvrSPy< ze0ANvCzt1ZX=P3O@yFB2-_q^I)Y%GO4&QI~ZlCDRJb7w}Hq*lH$%jHbB~C2m_L?`_ zb@{7yjWwS(9Q;=!usl@6XL`nD}(^KRtoZtn2Bctd&h zd&Z9!wcc&DU#@s$>-~zktNM>7UU2{UW`XLS)!%umlFsu^k}41BywtGgNB8`Tl^-+C z#^*-PBh6$f66uK%*Fi{0e!Y}1dYHyWP( z5_=)VIoc$;c&=Z<>8SgUoUWHI-t4eE>YmAqrFxpKf0dUndmJ(AU}{P4UCWi#t1AqCIxF2>^!D=a&P(b`Zmib*`>%El&%5#bA9ZywvHO}d{8=zS|Q;R!i>HZy|zgPS5 zyHAVso)YuOyKPR?cj18Z%tpY>Dasa zJIcm8nlc0bt_n}CJoM(}m9NiNDc@F}G*jukxArOKX-X_>vQKxK>tx49FZL1IGO?k} z_1Lt1+8=jL*^+uL;C`)z^7QlT=3E!kEld5gK%tBGRx{5_`EolUclp0}?cQu$GCM=g zU82AB#G8(?B|pR3ICKC?$|96=))_xo99z2nNR~;# zy&Wr?>bVxiiY-(MTK<*Y+a|leyJ1TJySZEKH9qE*HZtdL#henZ75mBQSz)XHPW_Pa z!96RS>=J4hh&7EFGIal&_iJ9Mo5382Gwbsx`TqeA0%}bU< zU)2vK{)^?C>bc`zhr}~XRE%`xTePSz(qi3Z&u=R|gjEi%I~KI#f;RhF-xIHvw=6ww zvF`i(yQ`*dUwF~3)_!HBir~KdubXR@e>5$c*qX8<*YH=3X@Xlvmx6%oLIIVIO?{cW zzdYJJb?#R_;n#bu-nF&dUmCu5&9z4X8EhWF(y{(MKZX0u z-mOn!7WTgMMBdUeC^KT=%!SUzjgck&^|K#z%=>heF**A=kNe$7lM|c&lqL9u*=p~& zAr_}+Yo?#gdoA(&+?6G+nn@~4b)C+vetEU{9HX?Wr=UoQx$2!*>FGg>9(F5E6}`Ip zxJ>ny!2Yjnx*wPd0^PIJccoq?<3E>+rp+0(0I7P{lo=g7%*rww=Oq*rKO5ARGnSAXzp z_YOW;y8|m*LTAmg`f@3d$Gq&ymQ!Kbt508^_FYZ(*A20Ty|;FMT`R(SCB{R0pI+Uq zIQGgH-|K^V!wjafMD>5&waQUw?a|l89va%4lkWG3#_p-`C>ENMIUzuQ^~zOt6CVHX zdSUf3Y;V@julLvr5AOEbb2D05uKBTY-1>^S_1m5IoV=ZtqbVyJ6Q*`Fb(7)lFUy=Q zx@K?&T-%n`z0J^8cJBKui>giMgqCvLTac!?_`P}Srm&XvQR_EI@Fq{V)mY+rbK=Tq zmnDaf-7m5Kc;!R7Vb+a_u|=LR4t!?;h%UKfa_}Kks^TFq0 z?SZP-Dqe@S3%FZo2u0$<3mVA$I4&%vtPi9^H^CG2w`qX1PTrbU=z|Ab| z95{-6?)y! zk&D?(@G&plZw7h_hZud_QbpUL;(WX0b6coD;E(ihjSK6_GoCA;2Nk-Qb> z*3Nvl$4hPhgGc;dRqbn7_g<@K>|7r;FZ-O)X5Uj{UenLsYRJDRqyOrc?sV&`$3&+) zc%2Z;m~x#*o%Lz|+?*>~#bS<SiqL^ZI3^{z|dV3(pI@pk`dYX1SV~=jxAgzJ^+ntF4W`DwXYCQ-5Lg zt*Zy-MO0dd*=!7w-4biHvZ`~E>7)q;`<7Joc5~akUN)oc{RM#?s}F0}KXy&@xBIy~ z(SK5I(fs89btgEk8$Vk9BlzQc>&4%k`6AW+p0_$_x@k^!%s!JG?d41Tw_p48@`?O| zKc8Ru+`1TO>N}&RYl~-0!6vuIY*nTP7t5b=)%SK>&CSD&*?t$h|E}5iMMVu8@srQt5b^i;CFTeX#8#P<+w433c3XYfB zgB9NYIaWWThTV3V-owvVoOPzOpUU6q5g)KTHJ)+)ZDz|tT^qyw2ZSbWo~^fZx!~lJ zj8{dn|Gc#_*_^zS<=YX?l~7ks>vDJVC7t{qLAz~MN6nC6)jmDzNlc#Hrg)Jr z;TyYEo=D$otS*zO-Ba^=p?~eG{*KrzY38(EsYPcbnD3ohTYp?^McsvsAxaD92K6>Q zU$J`sg&kM^)YtC(T57>|PH#n5=F(r+3uE>kto+mMWV^M~WJb^QUo6wr%N;qAc7G^% zqi!Osd5tIJqj`@`>@m*QVa^T3Vb*IbS5KL2&KK!8-E~O-5&< zX+;i~AD!&>XMd}j9W7WYv3u*1AX9$cKd+bcw;x(wWe^!A&HgWbfyqu0A*TA?$m>%& z%-rR6woc{kzLMKuV=cc_*fX^& zPq){-r?OA~@`HPP`?nwZ8GZEogYU6FY+0YqYrM~YBze|ur{W|gruL1=*7ILptWIUM ze|s&_wVo#+Zv)d5n_Bj#eD+_TUg!QAs6OYz+T(`LPkt`o4Ct1hws^Vd`O|Ur$KQRu ze~KYLH*-UgoJ(@~G`{!izPviK`snSN;F;RT&9hU_Sv-GqbWL`+UZ}tFexE-%4@`m?iloI(k%0gpT@Lr|p&yxQvt4@nuf|u*W_y4bRzb${U zUNFB?sOj8Hjh@I>d5QWx@BhD!UU*gUqge0mj89rOvR_}CBe%WGCVR6AW6{1X@3Y^C z-tOokwqMiqT3I6d1x5K4 z*PfW!dasvjo%4BUsqM~_hId8-OfklVMjOauY5U~GsU#t zizC|Q?9x1ow_bfpr;VoF{{H`&t{$OjcU&*cE%m?2w4dW_X6>hD<;KW(?cMxIKb9Sp%-()e{r^*DaecYJ z7s}mJeqG?R{rR*e?5ebw{o`Em{EypSy}5hKc3b`0ty%w>{s^7g^!HR}@2&kDm#1jX zlw15QFXAnWMp~&u{o6@~-b12}^yiRNOdpxyp2@y7#4Nb+OV7 z<=M;Z60DyZtXjW5W!_4t|{u}ak2E47eY-)QgV82+&Z*8u6mDTSL_d4gT+rBdSd{*h3zmlafYuEq&@-?b< z@4NJ?g?sniTQL9mm#?9}sxC*B-qBgV-r~;MJ1R#-w+5+RNni7pasB_dZ}%Oj-D;}B zH~;tE{Tx?6X}=S{e(`zK$1Nv<#jgLqw*Fsc!#44Sw`7(}UfNO?@N>6k{ag0^5gPl; znYTFw_8c?$<|zBndCsz}&-$|McSqhoynjJwyQ*;A(eyRRUaRfzOVebKj!<9`nmI$)y?@X^YUn2V9cJsH$QY|o%~+)e)lhi zmzN6mZ=CZ=cj6|mB_*A=0(NfP?)LRT|DT4_q4z(n{k`<|f#Pe6?5dY8d;Y)AKW{hB zy!x+Y$;pp$i+P;uzC%DuO_g6}`9Ym4VQSNuqP&*}#?i+`jZJrwl&(VeXQ#@n@+ zo`p{DW3Fd8av}c51Eb^@xm9N8CtLTgh?SdsYnwx~)4Dk#GXjGAdHzO4ap&3jtXjji zgyHkwU*A;!)TT;TB=vu-Oka3i{Qu-{>Q7`&nfF#Pmek4C-JdKzpL6B|i677611^}T zY)DGw=sN6Q`_sS0=x9?|R*3IJ{f%CkOMO|A87zbkIBAyDFJ18Q{2YDVMe%!EI`(Zj z7Hner@%>jn+mp&0+3v3Wx4!oH^AeVw(NjzQ3GI$PW@spUo%h=@AG1lHUo6vS@x8Dj zf8!dVKR=t~WMy0he+Vf)S$F#Hp&CcERVTbn=h*&}*;`pRS-{GpJIRtutXcizuBheExrF^y`@pU=O!<fT0_7NlJ_9${e6XQMBMYc`wG1002vnIZIQ;><)y!lV9e?&?yT{o-s7hj}z z2h&rTzu{LO@Jy))pT)9cPjQ>zGfAiCoYU;j2b?~^cT2Bk1o}%Tmia}+$}`Z4c*oZj^C zhP;dM{TY+I&8IM=PL#a5g4bxWez;CB>%;slO&`|oD4)c`Qt$m|(T{Bv)2EBPXBXLj zwY$5#Li2~}k=qYtV@m(E{Mh$L)A`t%cwR0${q+0JlU&!u);}me7=CHd<5D)qc?Xjo zJrkIp_|bGe?@hsqkB808@^-uazt#DB^<1_EOPtIvyo-`uT3j3Uneo^$pG_eO$Njp> ze_Bkl&)l-;Tlm*&*^Xv~rDk3;>K^>j-mP+OpMF<)(7({vJL`{_`EAh?yYg}0{@~-` zeXAcc*RSv6fBCxo>u2{b^&ljUH zxYZs(-^1;-%7v*(`z2=DE5EtRu_?&;%@z}vD7_m;BG+%J(2v=F{WYWR#pR~;t$!}R zXH&W1ZeZPfDejuqPR9P*es5}?TFz|Q@%dqYw}@Q7t$SR4-TzkaNqn0>JQ_CI`Kf+kJjpR?!bGU;BF5&u^~9ZFR|B$akbj$ zUgM<2pFR2+A(nDel#a!1zpumfPv?b{ZqV;79=VrRx}Pxpao6m8joHzgx6hi+vE}|O zcjblatopMhn`0Ms-hX=k{raXm--72g2sx*mG&%h*VSPYZithU-j~13rR_9y$^PcPn zw*;wmGcJAWc;09m^lygAsh1V!<$Bk9e^P(D(eSj~=@aKu@9N%D?@FjY+ZE5o{cdhj zjGp0d)rxO%RqM;N)@dBj4v)~v%N0K`rEAp>rbm&dL+3EQpRAYT&Xj(1a(PZ@y==l+ z7ykWgODx_8T@l}#QZMTHdu!CzIqU9Od8FrT`e(=e>R)6+$vKwoUv3%ic397vJ8kR3 z_y5^#UQSV(E&l%h{%`wO&aGQ?=DYRxdvTZVdg{MiGTE;@onM88snMfh$!vyATUID^ z3q(15^ZlaP#laHzoY$zY-;s@x^U<$@qpY>{ztWl(8}F}t+^4kq)S|xAXHLB6=y~ya z<@#6g&#&x!zPkAJooegOWWD{)rRP=#FQ2x4-{0S>mRQw`@13}9@x`?D{=!?%O!K*w zVXMjeLQmZ6?{b}MZ=&;$*@XOkpEH}OZ~CUYoN~(jO4`OF){xa^s8X%+`~!#zX;Swg#C@4;-~yEuk}-t$D2B? zr$x6}mY$9K^|$4fs{7N6KfXN=Ir`D`{Z-|w#>(%0%l7-7K3?qVDt_kqX(RF7n_chC z^?mXqZOZ($@BNZ>e$BJ4XDXL5k-ey9^{M-IgR@D%`Cm5ggTL0-w@RK$*5M3WmuP;k zZ~Y2i*NalyDnsWbE$F+Z!8LC|wfIc+6;?-9_*(9%*nGapV2^Ee#^;F#mrwq9BW=yS zAnyMLhs^{%kH2zhSupdXp|JF#i}4Y~teS`TjFs45zU6qHzNxGA#800kc8|5bT{8Wv zvdUA%-NNUk(JuAHCb@zqC+)0P$-im+exGjpgC826Gc+rB4|UzzGPO%&@r96me&RBMUXlCX)mQwwfBD|LZ{N0D�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 delta 41490 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 diff --git a/core/src/mindustry/Vars.java b/core/src/mindustry/Vars.java index e7bca60cd6..7531b849b3 100644 --- a/core/src/mindustry/Vars.java +++ b/core/src/mindustry/Vars.java @@ -170,6 +170,8 @@ public class Vars implements Loadable{ public static boolean confirmExit = true; /** if true, UI is not drawn */ public static boolean disableUI; + /** if true, most autosaving is disabled. internal use only! */ + public static boolean disableSave; /** if true, game is set up in mobile mode, even on desktop. used for debugging */ public static boolean testMobile; /** whether the game is running on a mobile device */ diff --git a/core/src/mindustry/ai/ControlPathfinder.java b/core/src/mindustry/ai/ControlPathfinder.java index f3ed9130d7..a4586e0873 100644 --- a/core/src/mindustry/ai/ControlPathfinder.java +++ b/core/src/mindustry/ai/ControlPathfinder.java @@ -124,7 +124,7 @@ public class ControlPathfinder implements Runnable{ //TODO: very dangerous usage; //TODO - it is accessed from the main thread //TODO - it is written to on the pathfinding thread - //maps position in world in (x + y * width format) | type (bitpacked to long) to a cache of flow fields + //maps position in world in (x + y * width format) | path type | team (bitpacked to long with FieldIndex.get) to a cache of flow fields LongMap fields = new LongMap<>(); //MAIN THREAD ONLY Seq fieldList = new Seq<>(false); @@ -188,6 +188,7 @@ public class ControlPathfinder implements Runnable{ final IntQueue frontier = new IntQueue(); //maps cluster index to field weights; 0 means uninitialized final IntMap fields = new IntMap<>(); + //packed (goalPos | costId | team) long key to use in the global fields map final long mapKey; //main thread only! @@ -200,7 +201,7 @@ public class ControlPathfinder implements Runnable{ this.team = team; this.goalPos = goalPos; this.costId = costId; - this.mapKey = Pack.longInt(goalPos, costId); + this.mapKey = FieldIndex.get(goalPos, costId, team); } } @@ -241,7 +242,7 @@ public class ControlPathfinder implements Runnable{ Events.run(Trigger.update, () -> { for(var req : unitRequests.values()){ //skipped N update -> drop it - if(req.lastUpdateId <= state.updateId - 10){ + if(req.lastUpdateId <= state.updateId - 10 || !req.unit.isAdded()){ req.invalidated = true; //concurrent modification! queue.post(() -> threadPathRequests.remove(req)); @@ -1024,10 +1025,12 @@ public class ControlPathfinder implements Runnable{ //no result found, bail out. if(nodePath == null){ request.notFound = true; + //stop following the old path, it's not relevant now, it's just not possible to reach the destination anymore + request.oldCache = null; return; } - FieldCache cache = fields.get(Pack.longInt(goalPos, costId)); + FieldCache cache = fields.get(FieldIndex.get(goalPos, costId, team)); //if true, extra values are added on the sides of existing field cells that face new cells. boolean addingFrontier = true; @@ -1143,7 +1146,7 @@ public class ControlPathfinder implements Runnable{ boolean any = false; - long fieldKey = Pack.longInt(destPos, costId); + long fieldKey = FieldIndex.get(destPos, costId, team); //use existing request if it exists. if(request != null && request.destination == destPos){ @@ -1152,13 +1155,14 @@ public class ControlPathfinder implements Runnable{ Tile tileOn = unit.tileOn(), initialTileOn = tileOn; //TODO: should fields be accessible from this thread? FieldCache fieldCache = fields.get(fieldKey); + if(fieldCache == null) fieldCache = request.oldCache; if(fieldCache != null && tileOn != null){ FieldCache old = request.oldCache; FieldCache targetCache = old != null ? old : fieldCache; boolean requeue = old == null; //nullify the old field to be GCed, as it cannot be relevant anymore (this path is complete) - if(fieldCache.frontier.isEmpty() && old != null){ + if(fieldCache != request.oldCache && fieldCache.frontier.isEmpty() && old != null){ request.oldCache = null; } @@ -1449,7 +1453,7 @@ public class ControlPathfinder implements Runnable{ int index = cx + cy * cwidth; for(var req : threadPathRequests){ - long mapKey = Pack.longInt(req.destination, pathCost); + long mapKey = FieldIndex.get(req.destination, pathCost, team); var field = fields.get(mapKey); if((field != null && field.fields.containsKey(index)) || req.notFound){ invalidRequests.add(req); @@ -1535,7 +1539,7 @@ public class ControlPathfinder implements Runnable{ continue; } - long mapKey = Pack.longInt(request.destination, request.costId); + long mapKey = FieldIndex.get(request.destination, request.costId, request.team); var field = fields.get(mapKey); @@ -1543,7 +1547,7 @@ public class ControlPathfinder implements Runnable{ //it's only worth recalculating a path when the current frontier has finished; otherwise the unit will be following something incomplete. if(field.frontier.isEmpty()){ - //remove the field, to be recalculated next update one recalculatePath is processed + //remove the field, to be recalculated next update once recalculatePath is processed fields.remove(field.mapKey); Core.app.post(() -> fieldList.remove(field)); @@ -1551,6 +1555,10 @@ public class ControlPathfinder implements Runnable{ for(var otherRequest : threadPathRequests){ if(otherRequest.destination == request.destination){ otherRequest.oldCache = field; + + if(otherRequest != request){ + queue.post(() -> recalculatePath(otherRequest)); + } } } @@ -1584,6 +1592,15 @@ public class ControlPathfinder implements Runnable{ } } + @Struct + static class FieldIndexStruct{ + int pos; + @StructField(8) + int costId; + @StructField(8) + int team; + } + @Struct static class IntraEdgeStruct{ @StructField(8) diff --git a/core/src/mindustry/game/Saves.java b/core/src/mindustry/game/Saves.java index 6927813008..575c8bb697 100644 --- a/core/src/mindustry/game/Saves.java +++ b/core/src/mindustry/game/Saves.java @@ -111,7 +111,7 @@ public class Saves{ if(state.isGame() && !state.gameOver && current != null && current.isAutosave()){ time += Time.delta; - if(time > Core.settings.getInt("saveinterval") * 60){ + if(time > Core.settings.getInt("saveinterval") * 60 && !Vars.disableSave){ saving = true; try{ diff --git a/core/src/mindustry/ui/dialogs/PausedDialog.java b/core/src/mindustry/ui/dialogs/PausedDialog.java index 677b3d53ed..2ff15e272b 100644 --- a/core/src/mindustry/ui/dialogs/PausedDialog.java +++ b/core/src/mindustry/ui/dialogs/PausedDialog.java @@ -159,7 +159,7 @@ public class PausedDialog extends BaseDialog{ return; } - if(control.saves.getCurrent() == null || !control.saves.getCurrent().isAutosave() || wasClient || state.gameOver){ + if(control.saves.getCurrent() == null || !control.saves.getCurrent().isAutosave() || wasClient || state.gameOver || disableSave){ logic.reset(); return; }