From 919014b4dfe642d2047850fec9caaa8e88778531 Mon Sep 17 00:00:00 2001 From: lax1dude Date: Sun, 1 Dec 2024 23:03:34 -0800 Subject: [PATCH] <1.1.5> Fix voice chat issue in EaglerXVelocity --- .../EaglerXVelocity-Latest.jar | Bin 612964 -> 614043 bytes .../EaglerXVelocityVersion.java | 4 +- .../voice/VoiceServerImpl.java | 139 ++++++++++++------ .../src/main/resources/velocity-plugin.json | 2 +- gateway_version_velocity | 2 +- 5 files changed, 96 insertions(+), 51 deletions(-) diff --git a/gateway/EaglercraftXVelocity/EaglerXVelocity-Latest.jar b/gateway/EaglercraftXVelocity/EaglerXVelocity-Latest.jar index a06b7807be000f3dda884d58fba31f218cbd74b8..c2f3cb0a06ffee58111b5c283dca5d9036458332 100644 GIT binary patch delta 39511 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 delta 38714 zcmY&D9GH8sa|5#aH2R;jF4&(2@!#Q3;{n~kg7YU= zOe2999AMFsPr&IxWDwxk1dw3=<1F>Zsn|vY-INOqtSc9U?g}9UswV}9YBHP&7WnH2 z;unDw_^%J4jSCKZj~7xp*trc)4EziFU*w|(E(!S;^=pFXBmG5YCg2PI`gkqCUC91# z7${JGG&oG#TPV0EG|Hb?x`8R2mg#?zwuJ_{M8N&KeA^$JZis)5F>&Auf5UFXfjdI{ zMGA@F!Qg+4&+Ps;wAI7<^fy{=C7a6 z8~C?>5k7-MO#HhqvepN8e^@ZEQgjge1GoZcZU+vgEdUlG3HEQAN04W$5Pyc9FhJri zP(q;o9XQH1e^dx0*uN2Da3GRl{u+`sTR$p6fq|JLflR<5q}p7FA#9=kX4ZB_4q++q z*Id&8q7M5nf^mf)!v5>nUXT)b0tp6&2KRR&K+ZqlB-+x#A#VOXo2Y1raMZspSXmH~ zoPUwtEQG+nIRVW>9R5QAOAw2ge@8V=AV%T;BBC3JB6yVlR-Ek*h7QX=*?qu)RDMGX zf#R;=(Aw}{A-tge4#x&a?PmXZxTetmYxw5}L=6PwAMdtI2*^L}Ka>v*c@FV+4Tnx> z&_j@bfpI8py$BUpL3LJ93ay&9+_r*v=tWMm7kO9*fRjlZ2 z0rpLEcdD}d97ZV;^I}}_mOfnZ?quwZ1+rBnkZfD#vA$YAj-(8@txvi0QinVDr~vYz z{?}a6jOyB__zrVZXStj)b&L2sY2T5Di=A(n20JL1j9n>3g18*CY8Tg`bxFR@Qfyu$ zWuJzf?8zW>=MP3-n}twQ?g5k4Z6uvcDt`%_{7C6m{t7~4_@t-Y+_vR=YEyW_9%&-IpnK)h;GCy`fFe>LSM)i@@&qZ z)QrzwjW-gm&F?!W38C?WY%WRA=V~IVdu!K(jNe-_i^4`lFif87Sw?6w$6I0*Qba>` z=&yaTMS?`hn27Q5T>}G}IPk7v?_C$MI-ctnkn{S>5d2C9Ni*D^%cDYEsrqy=4u^vY zZ6@B0CJ^c#PZ-`ZFuj4iC1=twuL7i;ccKh$tZuG_JDbKos|tUM6?3IWTm-SAMb%^g zHf$IgQx++SATsG!=F5CB(1k2%y*oWs7(=6J49i@noH#T@SPFiZ4t}`2bA95CNf=;y zlMDsAcBf02#3NR;Pe(ZjLH`a_LEyId7@HF*k^qe^BW^$*Q#Eigg!0b=Yt-rO8+`WZEnYHFx~M+B^0~pq}~Cwsos?X zXTC25-J~g$yTS-`V}rBMFDAo&d4L;I{(J+KErG9@K#)}87%tTa5Rw~7c40WOVs3C9 z&{LG8jDj8_=phoZtdbjtM#zt*vcESq zd#A2w8EP%p1+Zi*NXyFYWfG^@&laKJ&Qd~0bN|S!TMB(HE?IS+!kyLUiKpvwA!ku{ zZirI2<_Z}s%GTrWz?itn=TEBTCM@s_c}aPt7*p))4=vL$C*VWO)h7@NwkmHYLL6sU zOF`O>deJ2awHhwMX|a5S zjh-Ygn65yb6Irp1L^j-zgJiGnjQAjS<9D|R{7Rtu4N*0XsELoh$CnfeQ}Y&J7YnCJ zl;<~k`fB~L`%XkVtg~JZgk4HS7_l7H*t% z`T{_og|hrwQ%*#;3u~pk!T4_ku}`uuj++!sy1%O0Q-k?HX-Im-3yn_YEJwY8Q5Wyv zy~o)c2!j*NI4XZYj)yi>;1^YZO znbwereFsBe@FVXz3`YI$*?1tk?+yf;O_IQo=yt2_m8JOc{Vu5y1s7Ux29Z7qKDQ@_ zGID+S)4Xf}T%+8{d|d+){pK`rM!->d4i=N^0k(6gLuQ=HI#-?6jR235cApKyQ>>Y0 zF9mZoEkhn*9Vna%5FE8L=#lw%e(J|-7Pngb(4nfRC%+i831h9 zu9k*u^r=jYq)>-&QE#5xblv%|fp=Ubj>Tgo~j zKs%VWK*i7an_!1|vXD82Zmo z(n`rFBS$9WA_e=&>q;e_V}T7aBzCZK!Hw-bDWOv|@u1mSbkqro;*lj{`zj>7ELsL@l{1i7Z}Hw4Z0RpjJljD>hp;j7k0W z70f+?k;Z>2@f766WWqDM989reW&)6D!|SS^U`{v>re*1f=8$iEez~9l^hfes+xC|# z&=5U3Z>*l&pn(PZU7LQ2E>^%)(Q^D8JIcg*YC_Y(SdO`Mddjn*SBBphz|h^es~$=~ z6DBKeOq3}VesK`#FVemRwvtpxqGKm(LuR^Hwpb5=YWz}>tytKO<9FiUMg#GhZ;(^g z#T9{CLiS5px4KgIKFJ=)A>BCzZPyIwqe;*TmF+(2*O(z1`x)vsWMV*R?|d2wHul-A zC-#6*<@0z=6$@1F{zsO8+WownKIS%CWC9JO(P=qiXD7+wOeLbL@bz0?`a6NLBfve-q2u=!9^nAS zAv|o@ym89`=kA1M8yw)r=Nq;;iP*V9#|jEGlTYW%9rRdH*I}}JJ9;3k_Z>&^XX{Mo zDE274Dg^0vSqMqu&)Q)Z#9Nt@qd$|7xv4`(Mp6cR!i2V3(GWHVnHRAODowNTRQOd5 zf+OMsYtiLOBoU?PV-IthV7Bq>%mCzML$NeEZxqRchzd{(B=IpcN6P6W1XxapoQ%w#WR?W(+e3i zpJ_@X$14*D=d5{qD0f(CT036!v#Pqew6(Y}Wclfkuhv~W6rF)Es}SA4XPX{Bw=T-B z0gPOUMbL|K*%CFJdl1?R2DieLos+M&y0N^zI+3}ixHJs-jZX<%VdOOB)jBD-b77aP zg(tfp>ZlsoOreUvj?v~CdtXsHd&JVuGYB69L)j^`lapd7Fb}x!r0YB$6dFIZ z`I_Ekm_hvLEVq3@hfi&iT5j5+GZZ(WK2g|GVlk3JhipSo(jc*DTC0hD26bA;0P?Ky zpi(|vnjZyP3=x$;4}}*RU}I-9#l>g()bMueaZ;w52#>qgs*mt9S*5;D{~XNRn5;}f zu&nxo-C_#K?2(*@nrdZ!LbSL4MZB{d_k^KP9Gh^Y)Wo0zTA3vV;~D@}rMyZVrMO*g za{cu;0nCkWG7BC_BDu7E>AEPEYA2rxSEVVUifasTbNdjUt73498FOYf-%D~{Mb8{h z?Y2Pat8!GIgtkekb!(gq%$BJ|QjI-D0E13gOKf(5K;)+^IJ!c^&>24hPH(t&MKE-A zX`O5pwroVz>C(lvZB{Rgr&;G=q1#kZU$3Y|GLuS*!3xqyi8Z7}d%m2LE+y>m(9b@& z(oYP)vlplBdKn=(+`x>{(8~1z4h2erwBpTuQr+DOIO>KQvlWy;pgL9jKIi0{cn`(K_Auec?W(OMzTk<# z%=KN{){mIx7rA(Bep7l20k;pxQdzqi#*>(I%P)7wkMs}kLjrx>?D}{}VHB?4BfDW0ydl<_(?Qr9xY77yT#eAP{|LoF|vhfXmyR?l`n!7 zjOg9x-fV>1^P6lUy+$*O;3$`X3u3WxN&sGpCPngtGjA5V)kunnD~G7!7SmPR_YVBQ z>Y|BVS)1;2P}r~4&*m39HXCdLS#ff{3RIs7%(TY2FsDdDGAcNRiZ{juYHC1hz{}*D z=VP5gVnE2qkR@IP>#T;_e3Bo~AMQBGRx_$iChR4C{}J$t#MMe@#Iw&W=kj2`z)Ao} z|Lh<0OM|HF8z^O8)KIdV;D%0;2v^tl*aIFGmJ(Mhst9t5gDLd*Jt{FtxfkD#n4)Q= z4h7op*7F9zssDFmQ5OvscX#JKaH*-9YWew`5YV&_#~tWzJ@%izwbUh4)k+V?r?Im};Q9tuP{N^;IJkO|($cLBiAlg-EV^8)J+o;X`0^c~V9|b^ z7D&hJ$M#gZS4Eg5m52kk{8Z8G8o8sUE3n(?e;zSLc_zB!imFa+K!CKNjp>dtJ&ctR zNg+~-@KH`v5usu;y(doZsoT#+Y(NHP%+db*nD;AfLbNAkE`v=$DZ;_eE}JYBy&6QH$(JIk`C5 zM3i=8PVP2iLKOedsTV+*_h(-BhRSkgf93u|!lZ|L&LEyQ$% zK!gwcF(A!#UiBuevFqjLyR$m4;>^rh*lEXIr-|ofx5&8okFd8*pnrY432XK$vcjo{ zH{^ou0rO60&vMT~ozhM$w$r^8NH>25zI0D_arW(e0DYW}-+gz#8Ufn-OjM4O zSM3~8f9W(`6{Y%zX+Lz3tgBqXS`U1=49%NAJNxxgdjEpc^LyFHKimj7Tc;AV2-#P@ zTPFR}81=0car4e+_ds9V2=@1Io?(3$$;TEn<3U2(;Ek)r??qT3w%8VMM+u=F z6@`2L737P42y~`9SE2QP*iRQxEGr!0ANdxJiPlLLze7WQ9xjs>pE!IYb;8M4Gthu4 zjI1$wK7!9J%;)yF#|!JBJZ#X#E3Iu*SsTgMhl^WmZIoH*jmpxr;XDF9zAJ;8tK=EZ zXsyR+6SLpbp4nG!g<2~&HF!%>J$*4iK*6b8*w2R;3XDlBiSbc@tLJ9QE58M&$+;F{vz;)iiHZ762Y=t+f zW#)adorDWl&ART}>rq)f#bYij9_(2UzD-8Pd=J-77~Rv-1#rKw1%IJUII|gc@;qQs zFl1o%0P1E5*5URo#Ts^*6dG)wV&2r!7enp1U4t3Inl4`@F4Llohxh|XHFk1BQRjh* zhK={exK+3!6emr%!1Y*PrXb-(?(?+U(z$IBKY4*zCOi1XbL#QNaiOK)xgCV2a}(5Y zlMY5Z(%$KzUWv0O2IQA^_wB18@%F`=qyywJ;CBEl-#442gNMYm7nINxLil}}bQoTZ zr;bnvWn89k{XP5k*umKgRamcnn)YOf8AId#EiBVsSnYwwy)0)`lN|-8$AMsH(YFKu z5QiiX@){D5s<$03W4#={3kkpz36To0bAdyW3mA#gFRHv_HHzEKS(qJnW*7GsQYoXsrM#Fsr@zO9vXc^Z@>9DNPE!UU} zaCH$VfYj_4yTkl1xNZG}`zQbfAtq|fEKI2o18PnTnB6OcyHdLS2VZRJ8ZsZzv4B=_L0Y=2_X*WKO_}3;p(A5AoPq1@$ zE>31IFHVH-5CGrn-VGj3>@=hu=e4^Nhl);=Ma6&chJUe=jt-!X_fzgz0 zcMY(DR(4(8g`Z{S8^NbC+lp+m5EF=(Smy%hZBjXww!DHZjxZNSOPuZOO1S{5+L1@+ z;SNSFxZ2o>OkN;yd$#B=3;XXo4!ZUoZ-fWefAWd@ec6=!dM5n#wOxBth7lTuCBWCs>Y$qlHIcbI6jF=onsD=)Q_R$#?O^KBf4$d5JdFo0u?*~K} zOH|~)t~&?L)bFI`A4z%YE_>eZW^Fc4actwi{TOI#uZUJ!E94m{9hF14JRR}k+jAZd z8Om>lV1vz0M?B@j;|yr&Ag!6e`w?nO;?{l@bRpghKHCdmO73Kzz|dyW{ibC1 zn=UeCjSV?vA|oS1H=`-}@LlqGHbV!US;&g#ptzg=Aqf;;rk0V7U_w1piC_RgDc50^ z(PF0Z)f^BNY=Q5EM43Fw1bi|Va&=LN%B{U_gEA%)))Y6$O&~N-#Pt&36|r!Mh!=vAIsq% zl1FC-g6FL1cGCWDg+g_(AD&>#n?eDn1Hi?Ds^3?2KYSne*7jdGk+BF`;e~#L^8W~i zUPmf3L#&n(ow2sFhaq|4H56j8Fc30^(cOK+7)@MB?4W-dAs^=(E*)oKC`{vDBNvXd+rjbTi_Jm$q)xG+;-?h?}j;^zSe zUvv~wzvp5zS#|_@dZ-F1WYi&S)eS`C~^Bv~NRW)~`Hf_cbSw#U$| zU8BqF*FmfkpqsB$%BTE3NS{&FIlM(LS{rG|Y+AE^oabM`@Wj8)^Ce0tX*!; z3RMi;dWv$5f($o4H@SrkdKWe+T#>r{iK+4}EzwC36F3{5GG?l5&cwTa4@oqJ=j*L{ zj;T^6=BV_kmz?^RlRoi#a-x%B1-daK#!o^1@O|H#(U_X-OHz#AtFd`k<8O3y z@2^Sm;zY)h9En{TuGeNRWYD*@=7+u-6n#`i%3n8AW8TE%5A!0l)yb~pJ_YbWyJiBk z-axT_jllB)C{t9$07Z*!sKx-p7*Cc^a$Vug ztclz#&5w2G!?!CB*te*`%cF@388t+`!&MJ|UI9iT)4y z_aA?g;Bo7!mqrWe4g{kV=gKIOPyWX2&V})X$?J$Cs)X85a2@x?7w=1Y`VZJ^NqiO9 zSqZ;A#P5fjzc1hOmV9T0AIIkEcEGy>1!AyZ8f8xs2FQk<$giANj*Jv)cu+%$IglLr zaxr_&@zS%}8WUI|rrDgk(?U#OCXUKRdaPAs$Jt}99S?6Pt$-b>bVz#$qm6iTdknWo z*eW4Eof;SbQ`ldLuisTKun6sbHW0QDsW{xIW?wrNQ5x)c4%SxQhg?;=wMxx<`o)v$ zZ&WyGwJC)~KBi6y`p!Df(5-kV*y-q%=&hc0#cB)sSR|8w@ZMN|d)y#@l!)#^w{Q(M zv6R-;LQp7Gs|04~ue@|JKRnC3J%96YySMpDUg9L*KEmc{14NQ+nVcouvK|ilPQ^F% zt9c2xICfEADQKFl;=MwGVsO0FGOg`i&#;aF_`aX&>ym#7gO*An%z*S8*Io@!) zWO6u4GB3qY6v3R~DU#GrC*^&Y^sTV9eV690b^7R_Ule%pF!Zwb^#|gHJ6u|;!-MB@ z1i6N0)Fi`^_QN9-wULXEiIj{I`m*;Dw#%u1Ru>LxcKRIc(%x6e#F&o_68GZ8u!~%; z>v}nxZ~HBnA5Je?98=I6wTtqQH*Z_Fi`mOl4R zlXn~YKjiohC&$Km%Cl9Q%PVoL=;X#Z<@S_xkK)%LP>@2?NZ^F!tJWX)I1t#xA#VZ} ze*VPv?AGN)DdF^_+Gu5IovDo-IcR96yy{@M0};1litttDDy?5`WTz zJK*vPr=A!-)+x%r6uz3@txnh~w<7h@z2qSCi+ zN$HJNPk>LiHcbj$V%M$zNma*67gYkH@uJ$FkZledI-SN4Om*qmA0$dKj*6_nDJ{^v z29ks-e6P6htlT-aYvYBh22kake$yvAsjOaNPB9BJ4(XIl-m3TT<`AUqiK%MlkI{PF zeLL}%X(c}3LL9B9@BneVv?R$dV zL6>+$hRG_JX_T%zI@D)zHkcQ-TYc3j1U9sPMTl~UfR0qMx50Qb(L3;>qGq*UgILvNr@pajjRzyD?R(4lOB8VN6o2 zlp`^zj23w^RD~DtRyA|u*m`8tZxsbIT`cNE!GRQ8pzGyTc_IMx-?3*rX|ZH{ftE46 zE+WiFY$OV4tnnib$cHUBs|9fkWvOYOIM6|aQFCxV6!fwCVZLS<@Rw8Asd|P-8}e z>LQA>RyVK$5QS_PLPDuBPl1(P)%rHmD>W4+>#^r1Lm6FE`0;L9nGw~+Vq-Hp)&ri6 zf_RB!XjA1!D?4G2`V|6#vmSa2miw-V+U36yRHzCDGAT||J?%c()HOPD18dO%m_&Hx zrPcE^BJ->zog3^o10-u|yZL_N2H}Lu;5cVXN;r6by}HD24$rpVQg0(+}N6LjpXGLzKa+ouK{H^pB|bC62AY#Ed~^)r z^lH6L5>%NbaJzTrm2u8Gt>p{K=8EUubLj$PUA1i*Hu9wXhCw$i6H^)AD39Dq=jcep zv_;%rrcawv$5{2P$F!|K4%BOv7trXLHGaodJ;KlHUuz+HG5$E*2N{-~ZQ(9hidem+IavHp#BOo|3+)KhoL!?=!w;HSvI@}7&?4F+tZ=!ErMZ-LJ z8KzSjsdB1FRgh5`;Uk*ZMfR`{gNX`1`m4ITo!N|4zJ$V|c16xwrWJZ2H27z-7oAr) z6Vd1p7csw=&=~dp1JFOAW)9Zz4lXVousqmyt@DNcMfriDS6!N#5La7UrDByium0LW zXyUw{awOs6z13*VcXH56OS(4Q9fU83&En@gtZ6sU0#^%)^tiYTT9&oqM^YYa&iw40+xpRmgk-B!FWU;4F}NO8x&qO!M1{2 z{+tNlePwoRC6nWl|(;dokpEth#3jM{ygL3F4E2+Q$l)e_&7E^V=Xf%&-mO$CzWB}@M zb6A)GbLfuP6r$V}lEGU!8fQ?(;Sf0J3G$Th6xNfL%u^)1Xa*THA>SPkXj{@^8qBM2 zPc@TTCg?_5ij;}T_@;$GIalrOCm=$JHeV_xXu=i*S@(%5b~o2}~>#oJ zO1S|3#pF*w@r<%fq~Ix(QhSybbVY)e6u559Yi^;^Tu!5rR^w<=OJiK`{xY8%>`kf{ z@JP6F@;=Qz0WreUMiBj?X|J<*3Wd^Vsv^m8@+Gid2CrlEGgTApKx4E{2N9}>QXNa_ zMXHz>i^+{X=MSkB-Qgsq!H1>36-PJM!GwTNj__=%B+DDdtW(!(*bq9dO4O_oL5frR zVXH^xMCLSmk4!$Fvd;_zPux)$_Qz3=B zlx^l$gFj#>>AhLF8MZK-`6xIh5W;W9e0MunR9PR*`MHaA<1{$~@tSguosxBk0}PEo zebf{?)ADWJR=Q5Tt+kNXc(`B4{Bql{0rFj69$xgJ!yZa;U5! z;xvJ~+#$bxA@vAltR|E@0;kbS2TbQ$w--)z*LIc*zNLO{q`ye>lm4ymyggAbS^X_; z45RhCSGyS_MWl5$rJy{F)~Hx*rE=q)*3tOZEw{#H!{Hf0VGFH?N6o0R;+)r%f7&Li zFMh1QO66)&EfBd-7B_?(l?}j7Nk_bBGZ~=Jd03DOi9{=>Nz2jdmSiE24s5b*%4Pm# z*U^X-*9^=29Oh`W?sexO=Sa$Z^f@Dog@?= zls;i51&CD&iX7OKQ3UVllUY~TkfJ}2WlzLs2LR?d*j?Uyk9;S$ONh`PH|Sj&c2a!i zoZ0a88Ai51{3z4+;i+;M;&xiHFW;RkMXdY;c~@T$j^UrZ_f(*nsy=VXlb0z*d)NAN zNoMQxTQ<(9_v|T@^jzykZn`=W;dwh~!Y^S@Je6*Ig%oJm-ey-c7~s*MQHD^=U zdmE6M+ahpP2m}+K9DDve%e!!2>M3#QRVp%2wS&(Da=NqafVwUA3x6c?uC!{*9-x0Q^fM#=1 z{UT7XrM?mo5hK9-5?{22|$%9{y8n{iWU%lVf0%sy_ zE?uB>f=#+vf^ehJ`!TRg>F*n2Zdp!Zu(LHJH*7Wc3<8AXDO-qiLlx>X8Ef|R&N?>q z>_-HO)xtj;?9!R>K-Ws-`f2x$wX{8mcrO4cc0eEG(qN#85A_2n6|TvpTS(Vmk}@B? zjuvyn5_OUAXqb1m!nmiYJQ)gF1eKb=OhKd)Vv#)t?yC7rNFBqg?izZ7ok&Dm1;Kh3 z-cQ#LzqjC&m}9Oh3J_ySHi2OJKLydh@Yg_o?;J;F=rM7^^@Q`Bc)UNA9~f$HUGxHi zt*wOn=d|}Ol0JCtj)uD^l;HDJe2WiJQh{|u%nHr>(N8;coREf3{G|BsTNhxu<9MDXu~O9WTt{ON~5Z zHX+T{<6uYl5I-@XlLG)Yr}`@|A)z?e`C1h=fPi4spGZCGS2S`#QgH92kcxDGT7dOB z$uzkd?QBU~&H9RRvr0bp6LXi2>0AZidxon8B|o`0@@X zNU3|o9Im_>;w#Q|DDkb~6MQhAZFKp{fC{68>#;Wmeo4Jb4`Onq=buEv<@t-V4Ch38 zUJ)Oc{As`lufkvNPghYl$Y z4@_f5UR?x&Yp_6z_msua96Ap65|ph4@Pc@L+9rr1<7i#bE}OFpTe7>+vipqIz|o#| zq}RkjUc79T0%*|zPoXJY)KdC*#I&wk@(yxpmi#qa# z?P8Ad`7Ndgs^DAgE`7omF`FJ?0Up?&^Q0Z19QgUI>V(hX!*AL&@7;~UUPB*H7IzST zQKv%}CEt^dNhY08KHPW0qnI0akos=bpdP>^Dz3^hqPu+QFiuNaHZ^y60%wwSp7Ld! z)h3eIHTq3HH#E}MB34MI6D)v2U8o$?~_oYOrljAEM6&D19YUV2LIH!TBjWn%sq|w^;q&$fzPZFS^fOlriL2p0$5oiwI{| zx5m}TKZYva@!NJqU7$~1v-mEQ@Wv8OxR0(}H9rbtu-1CNHf@_b0)aU^*NZTB=~1@6 z>WNn#daZ#KbVU``Vi1)X$29piJ@D3gP7t?D>7P{fGG-)GjZ{MG#PUZ)_-|g)}s`CrgyMZciP*0cXcc|iXlqqxHqu_!2=Ge5(fc9}bc$z)ORTbsVh*d@x^UA{w8GYB@s81f) znM; z4j@B*B1gZFX@nF_JBwI++$~Gl9jh(}ezO1IU-*S9H3|GOnRm@NdR#|8(-ijgBnB;) zcXVIe48w@ca<6R^qT5>Y!0QvS5eLiQ)aWZdFMGG`@C|GcK9FnisY#>sH#Q}`P2^kf zk8GLT@F`L5c-1glZ^>;c<;_v1U#v4iDJGfS)Y@!}nx@S}sb)l71y;426VtoX)H~lg zQY^hZFPDJAZW9ikET7pitxK=XdW81O5ioJ5c<&!gEz2)%u}^uLk#(8+JR8H~F|Y|G z1Vry7+<4-VI9WUz!;MQDhS`u%?_@(8<|pt;vK^+`yQk@lY%LP^%tmkdz0LV5Hl2VM z@0Pb&mMIt^#OX#q`rS=%=(Q1V5>(}gt}Mxuz5{{t&~g&T27@flSl*>fr6{v}w2158 zS7IuQzkm4g1UbpnYWha+4C2kc0xvmUcg`1M*=Z+dsjhKuGgy!De)oP811?OrM&&Hm zfF9i*<-31(%K$DG?=WaD_3<7zY?c+LKE0>gIL=RP>S3gbkkuHvQkyjQymnN`Y@qA# z-^+qll%WJ6^mjlQDp0iGsUQIrC~c)IVl8m5id#FwBcN1$BU9CtjfJlNPVvk(kFsczp7O$|XdT{b}OsMpqt7$wP2z?;@qi&fa@tmE`X!b^`|+&w`SYZ=ny>pluZ> z8MGRX5Jeks(G=k`woQ7Fs2BP~_!AniFR!$qthY*GjFZ z$hls~Z0V}UjHyPOT(71qBSm9|n5GR zEV+Jmp$Yat_38&uSEZnq3&95ZSK9TgqFFg&yS3_;p7M;5^l)O|f>l1)E<&di^8zKB^X8~W3YlUDAoAmxnMk#T|6vgd`2 zf(zj4ItrA!^$K8&?j+QV?j(8YpbKW&*3_VK|4D=ZT2ONT>gvO~P`|MLmd3jrp#cBt z?>sJ0Zzz8Y;@p8yQ4oLiKBT=6oBe+@M^|wF)!Jo1(J=5BZ8X79^Z!&n&tXt&{|rmb zRz2gv!N5=6Mih=J4Hk+N^c?}7x{U@8 zTIipwin$t4;f)3c2H^i66FbB|ChH{7!DxRe2qRW#x6O!E=#S0bT`;5+j^Ca$e{ zhWsUFDEKL*`u0nYX5|AykarDYLr5}64qk8l?i>iMCVfOO`P|qkUTAtS2 zIZTgd?OKwB!>lQk_0#>XIm|Mg6s&>*j-(0}-zls%2s!chUW+u@sp_T1a$wR-Gs2kH zXfJW30r^#YG)(rqWkNK}2Rl&58Ob(I}ss-iSFRpViZh1p1!o>->~Ci)n%cVpBoF4!9bFWMuD z0E5%E<&!utx5QsFPC*j2y!GORJ%7}4m-z{oo7Tpdda|tjX`a)(ZW(gP-#+Mr+^_t#_4x05^V~$BXa1x{_}kJS)s}C*$WefULMSLO^&-LWUVAvZ){W z+b94eYPo9&;GLUbyN5DOK8@}foa2+6Gd7sUx$sY@GSXVV(VtKu_f&oaQa zc3tu*@hNnZKzHDzes;Z57yi;Ehp<9ibn;S=2!6G%qhdZ|^wRMH8@?T%-5|rUrB3jp z^e9g}v6*{Jo9G(XPa~E|qXj!o|;(O%>LUuiNP3*v)!^rFrJ1Q)RpMowkzM-6F zI$A=m$RWHlit2%xL7ZRTQuh)GT9wo~CIVBB@Z6r2%2~Xh(7$x4x^@1Q{?((v%o#4tSWRbuKB3NiAd2L5g2AQM58|HgzH~(m{w6sI(T}^ z+ocdi0#|`L;3Zsl4irD!ngTqi12Bi2ZUl+@Ky~e+);gatW?c`d)l=C0)*ZMxzn(R` z_%|9vQHS&+yZLmRJlg%mmWhH;2zcg(J-uD2!;;pMMt@ICAk}PNECZ z7GU@nvW5f{uH9oWHe)LkJ|U9V+NUN^$7L%bWds2CU1cNeDexLOC^E)<9Z}teoD0K? zB^@d3?jKyY;4#Qe->C^=F5)PKu$zJ`-gme+J(MgLZ&X%Il9M@TBu$x2q_qb?yri19 zkNB-$4$C3F?03@uclRErvgI09)|Kl-p)ZOlo)P*|ZEtz}Qom4A^{-uHeP{3^rX8Hw z5Rd}0#k%R|g$2}KKnI-7?WQ4Q%P0wW@9`COCEOgnYH1BapB9b}br@4?I^()5 z7me-;Otn(Q6~Cn@rB$(}1$?GHHU(EP2pp+2jDq26ByDX=l#p+W;`kbWEs}M(60l@6!qbPK|>c-FoJB%Fg zmAKb2F6JCtldKKqSn*-jPHgMeZiSzM=QG2JE(aVk5bo*Gn!|{~O72NOApIa-8dSOI5 zQ2vk|eH=rrd~oj8Z=uoVC`%+95aY-dMZV&Si`#9Pcq%dg48d(vR4B)c$_nd32u?64 zaWb{h!-JZ_tBhmR^a;K7tG`-pD<~tKGppXj6PGrpQkU4?80}s=ebWAJ+2!G`y=CT){y&Sg zIJ5igQ^R%bv-i|T<_3t_bqN>vskzOOG@=6fj=;+k-rZKwkO`j`Scv4&DhyH+{a2fd z%HggJkK~Amn2OLW+W1D+h|othuVzSV)ENo${KxhTk>( zuq}P>wwy9eKD4XzOhordND^VJLqKsub3+BwyLeSM5Ycw!%T;Pf&TfRI-itU^ISgPj zt4Cs8yD3WAZH>2S7r5ft7_&CSOzC$n83Ot=n78y9~9T0i@5kzU;szGu+k ziJvE?OId8}bGL8fAsi)PYS9E0txglanxhH${4zI4F6p~&EA)4-t%=ivV{pp}emJib zi8i`j^7ndecGby=HRkEKL?}wP+4oyYcX_4DRDGrHel~rz&hSfIA9iE?@=<_%#~_NZ z?Pf^ic~X9B=Lt=#Vv=j(`mt)iByC`}vr&BYw`V)n^cy*Ee?!iBVrR5WX=oxg{doEL z1;vPn6O*0_1h6xaMX3An<3c+=bnLM08IasgZBP!2XtII`0u%)3a}}O0f331wxr$NT z8@?UvaVGk_bxF2daFz2&d+!7O0`Zq^>jdXD%zU=Y!x-7Tw!yO*5)90(pHf?{M?W7ZrRPpU*%l^t zBn=YsLi%ypJ2dy8{+ujNWz|``f-C(BUi`9TdYyW)Nj-|^_Kg`xwo4qsPbx5S1x|FY z|Bz(f#(0jSlK!j+y1Fj=<`-5ryC$sB?PL;{7wIn+R~t#5EmyYABc^7J*VcY0S0>;d zlRtk<{^xoXQn(^H?ib`N7RvrU?R*v2=UBjus56hSaQ7!K;$(XjwsnRdbyQO*p2R`E zwems!D@QwqHhW#+-E66Y{4mw}L@_%UAZbi6^nyf;j0RmJeXtSH1YNGGlIB2tC0mPe z58oIaSL4>(IBU*QYVXz?J=l%KyL`oqti@iyA1Mz~29m>^arX2wV{U~%P1>cslCEtYooa?)_kc|Ku+7_#?zP5(0ilSf(H+5902fkZF3H2t zUET-?ZQ;8f{mmyGsJtR=Z*BLwdAyO;p384shR^@hF36JtT8TPRYzY0v<;L{rWVXXy zNAe~pYm(&0Txa`DMxj1`nh#MaIG~`NKspCA!6LfGzg3y3chwS`V!o`R?wSBbN%-XTE&rX zbdO&EWS(^6ZTXDdFb-5up0(dW=3MUN9R zl0|pr>s(bhpIexhnhqS#mYSAEZHOrcD&;VJqSu^ z#FScNE}tO#GZ#;TpZ`y0;rHsL?=ut^I-DVf`3o;_B4lZp9CM~3dja_Px#7fUOk+CI z2c|W2?2x>lE`#g{m;~&a=WH&ArLn_ zH67km#UGhv)Vr+3;>}@4S}go}v*9Xdk7RPWQZZ0|v!U6eNEXif3JLXTNkQhFzVDiT zcjy7oH|WilE}Hg$r^g5q_{oH=SU4`jLr}G^PibwlUo4;|9OFAK`OHlZtZPs_1Eqh2 z#b>!`MY`oCKgw2=ra8+Bk?9R{J%OZb^eRgie>6ij&Qb>6Xonu>pt8$w*yWJ8`#yc@ z9_KNbL;K`eXQ!NG@457Wp7kfC8;@FoO&R7%zp4;1PQ2Iqap#Zo(7J+hH~zF-B66@l zA;j|;w8HmXb)|3A5=vDr;+MglhuylfKrjxBOKTeM)Q*&2{_ZaKGHC6ifm=N!B#woB zsicptfw*b9)1xU1Rp_AZ*|Lc0AoMC)FxVo5n0Mmk1BCXvljqeuslwn%^!JGJilXrdAePJ}S1~{ke>NoxNjM zCQs=?V0yWD8q(1z%G@Vi5JXmm~Bb)>Msm7^NjE#IrMDPu>L=^}_Hn z(wvGR!H(2Hw2<3F)O5{$w)gi0+2Tu{=b=HicnW?NdfnsEUkf$_PQ0BUqLoJ?mTP7r zod}9&`MnT)-TIE2%! zpA?f7ie)_MD9?SlUF22v6f&ykjlW_su&-33@|>rx3X*ybI<$Kqm7Yv_XSH_2+>t)? z#y)tdL6Lh@-hO)M|pSpU^7E2(e62M*47FE;a>tH+^Egn zVHRi7Pn6JHVAr21$}D1u-L-!spG-olS9OU@0^JWWD)JAJDOvSn9|?r_zwY zT$IK=m@vmJ$EnK^&V>{*>si2P$@0TiAQi33xxJ*Q9Nm$H!-!d+V5_M+O{UZGmMUMSY) zPNh}m3>eU4R-1leP#_k~JMy&a9qWIqTXFp!Lbeo-Cpnh+bbH*Ew9`(%t4TZHJJ4Z& zc*>hhV5*Ip9MUlLOP}^-)xoY)W1?f}bg6HyHzVN^p|b3x*UN92hZ<1j9}KWpr%K`| zJpR0b?1(h&Y#HmRTxMAUN1Z3v^F%N=wJE;12!nk6jUg1_imv*s0 zN8kb^=CRk%^&@zX`PpPlM-v;lvGM_zjG$pyJCpOSp{Uf76p13=?ekmC8V+j2WrUD0;^*Np`q?4uVYvW}CI9=}gfK0Y zDr^>7+nGM_>YJp$p6_t>XKSe{Hs+{L9#L{+PKu@-59GZnW|^$lk9Uzp{c%HG?c7=w zWSvm>!a(Y(>NGj`nMW2QD+_aF8D_7P=u$?R`hm-&P8Ir};kDdnPKx;Wy3*#0-(AKS$#IC=eR}9nhcP!{K^A%a7kT1B&vn&pNp}zdYlKFd;D!`(|73iFw zCwrn#9$mw#6DA+0U;FMEXGU zxHJ17^O%I4gN94uTjEyQX>0$C=MOiq>C{4k{qSA3LM<&hsdefrY)e>3PirbNjESoA z)+&N48$3Gw9e=#5#hbPy9H*57Fab*DPHuB+gi|eRs$NKI1m~BHIQzAh**RC$7Pn?j zFX~iIl|IGYn>Fs+%pA9(e8x(z4P6N}`6(oB1C&{qR^o{00xkkFt|S85uiy;bgja5H2x~mv9a#N-{++hcK2|3u4!d- zI0@svtoLO;!l~KmyWx{E4D*pWOo-X-cKr(T>&FxPx-EPnZ_PWXj(LqUw?>8DVuCy^ z(tIpTexb9LonMN^nO@P@ybtATJnUH%-1E&8Mc-NaL~ym2=ZLWLN<&zTwdrWqBH#k& zf~shq_AFg);A*YxJVku%g8cQna^-IRuYIa$Oz8fzu}WZ$ZdLRp1AnD=gF6s?qt8h! zVtvL_jMC@>>VxsHbQ+>!K~^8DNsVnJICNGOdF|>`z8i1VMCkl-o>3Gu;kVZ|Nq$~W zBD{rIUKljbeeS8_n6uPqhqldyVU>3LNrmwG2z!-{w-ub%|8?!D8NZzbUD?WjVCgye zx6_U(BcWfpkLs$JeEl$$bAE?G#$>FUy({b^TD};cUmEMZkkwlivp`rdAR}Cf0_-{3 z*&&GfI!6W^QG6-zeWzO~hGA9|sM50Nx>DUcm>r}Y0BU*ctNz0vK}KriTegx2Kp&9R z^1Z^Y_ziz^&j&myq^6wt121tv+)CRkU3{0{TIVWlCBG@1Dn~R_pC9ylLqbY&YPPM> z93hP>ljmpHm!=$D(h2`DCp(fxjy8A+H;aei*EirSP?UF?{DwkoC*{3bi%3 zQ!KIyaY`&Kk2H*C1@zjLR~Lexvoe0VPt2s&U+k|Ra6u*VJ(qQ)(x{&0qR(GX6u%9B zRzIl-e~U~|u)pry^R;b4_l5#gAkbZE{*1|S`_c{g5%Sbd>9=6O3Ic|P$PcC@VdZU% z0dp(M{wW7l>N7Q=^~O+vrrmr!_LGUw$k3T1vfOx4`L6Vw_zGKP`ZI`{*!smwzs|+jyz>^Byl|G;OeT*NUQ529^?Uwe z`k3#v(lV7_uQQX)qQj!qqLg>si52?Y_Gwcph4Eaa2%wq*;xdKZ&K`rJm{>k@Y-G_8 z)I*vl-KAj>AFACWMJxt!_$|@36P;~;S!4exsFJ8s5uKpfj#3m(z1vl>gXJ zR?UiEYu^0s75QGz#*oH9Ri8}xx>!mY^h~G<;=X?4W6b}$B8hTFKgqPMHrACD>X}kZ zn)jY~TsWG3Z*1;_dHxKeYKZ5hV)zf`R?Ejct*Mnl;HY5?v%)fEA$N+CH!dVhBeM8( zE=o{ot-Dn_@_ormPcG{))V$>qUsQbA*N^b-zF2BDRPefVFYJj6zo7c{ih9r|?3aNw z9z-QkW5Jy(4A{hz>BB8 zA1JH_4i&YJvO_PZTJ;=jo`|yCaHcr2v(a$7`JA6QtY6PP`W@sE9dbEyo8h0Iw|oc* z?gsJ>9ua+ExhUam`}G2?T2$3xbe-oi3*+jswh$5- zwiU_{b&AUPu=)v>E{UcdjfW3##N`G!wM%n(R1~lMDURRp1@Ua0$0Llkp2Ir`WbThi zS)umK*JTS#3%_iin>l^`iCTdZYjS)CzT???CFL!dfJRrESGL<<)D2AWzu~pFQ8?Q5 z9kFrN>&Exl7fjTiZ;Te~leP_z)m&IDCkbEvo-6Ho9YSVRuX~<+8n)O_dZ!@ARN1T2 z6yl6m`LaT2sJe|(c8Spj#7h>jSZ)(@Fx!4O!;!CDcdvS}}JGYEs z($6TLDYs3`Q3JZ$KFeZ%mZS(!n(+=f3y>qOde_Mzzvk71^SRgf5~*w>yRIce?x{_I z6yt`k;19wTr3?a_pQSW1${OwotmDfiwT-SZzF|fiFFwsfzY{mlR%G^n!>ESfE$=sS zWuGtjMu*ISPp$SQLU zN2q)ZLW>O>A!jl%gL!f*YXi%W6CHB0S`D-;;uS)JD-XTv-;KX0mj#O~B^Hs^MH!o~ z5~{KReqzi#Z^AZ{9)asfdj^INd$H#C2cWMjkgX)!leUz)dG*~TM)bPmZPfdfPPdQ> zkhjWfn%#D|Jq}3N8ofW%iOHn$eCiNh#gyO2eIFK{N8Sx_c`4z z6K@kOU1c+TMi^;SS^A;ZW`2Uc62zxgR_*2MgPa_(3TiXFnOcG>p5IwWtBk}pD~f)k zV^M~cM29)PCj3c3x*=|*j3mrA&$4NOg8sQ`Gt&OoPoF=(-}-5+D26Z6J{>GtyZhIh zRM=B@C?xig9F*M)@Z=%>E?kI6D+U&S2L?jFNCHKn`&eKCNT$|`E{P28ZRp#5Y{ai2 z^V7K)q=q2zn%|`rIUlG1k+Q2Fxg7VUMrqUDhFCp4RQ*8eKei#hR>mPV6Sj9kdV_q~ zd%2m|YvT3v3sVrLXJQ+Vo7>UiQNT~DfU6%x1PCb~v!n^kiPxFjX*%95xYeS(#lN4-%d#Fdh;2QStCu^FvLq&g=(Sre;03z_aJ3_ z{pH(2lHJ0E!MJWOT4PTXM+oDJXL?jx6g!!1Xw&HeHyA0HI8>u4Xl9fk{8>MpxIHSv ztj(t^4pi!QXu9lWrzNrWXmg9FcURxNgWqhX2+nW~IrBg=LPqTZ+L}IT&h}R&lPBv& z8HU7YgoqCvIXF2~?zp#hbCQLocpkiI%yov`ca&;%uzSuK*-O7A58^3de^NEWr z!;D#3ux5&V^p(zK&Kc5zTl3877S6y`lk<;ONkK{3UPdYUAuP5vmgVC%q)N{%+ZSKR zgiEywHuEwdpWFA4>U_yak6cWP1R(roQ{K0AueGH=<{P;HmFdAUx7Ebs{R5cQ0B=T!Y*V!u@M zg{9eyAj<8pbn&JehnH*vv{xT3)rKlW}2V%);+D<7@Nq)ek!liaTM?ECjG z=R=Ozfz(X$E+13BqP^rBD&UL*gmx&I6V~Z8xh~$RYwCBkpkcm<`DO~8XY)p8%OOWu ziLoT*@b*YJlo<2edU^AK`A2s9iDEL~BY^5nT21tC2585+G8f zT*RNb>nO&4#&dC=kXHEzU)G*|8RcZ=+9=hIAen(wC^ouumC|;my==ABcHeL;OHd`G zv8?}=J{^;8>6`m{oRDULWLQ%+)WL-JsOTWFx?ruJV5RetJTbA$ZPYAask{B=W(Mmu z>oYNw%zf=nZ*-)lSY9VnOwD73Z`l)>(3^d)^|xkx>$V3JjU2v!w1=Qr=wJXq{~^qj0Rmu!N3!Y!0b1d8 z2=LwlqTnI8dEo$Gc=mm&1c2THtjI3~08dx}$pSRN<0*s+08>vN66qt>OXT*zf?zda zQLZk~>TrNK)MN>u`si_EC$(O|UC;$<`90%nr(;L%=2I-$LJyd%N5ID_5=SkI=Ow*Yfj~cB&V+?&=VWJLi{4 zW)q#ZYu)=NDubn;urc=t)peicv5XyEa|cqP*$aHwpo*R}Grwy!LvN>)!qo9ia;k$q z#}z0n-sTyI_3-}mKKwZuG9GF~aN2Twf7Xp}m@Hp358Cf0-gy!fa$=Ux&^(%0a3~4# z5(DePc8_CbivdADQOStbj#Dz!a}~f2IZ$O+FdjZrhz4)+ZhGLF{;^50n;}+g7fCPp zeN@z}|3S;Y>&-5HOzV#X16Q+Z`PVC2O0tX+4QgG}>XU0<3WTcjd0)@EGD_*`KkNFK zlk&@gI98+FcnncUqtcp~F?A-y8oT!<%r`DAm$qvbL^!R%=Pa!^Z{W6ABg6j)6H?2J zPGjSn{9HeAJ z*E{e{Gu@gC9n>?5&XDo2fgXyA)4i!QRnk&8`;1^Lqxuvh4&`h}W2^lpQr4(j(D=fg zYtd^iL1?9zbuPRv=DDk~X0Dl@D8y9IoRLu#{7UOe(nGGY|A6aIf3Hnsju90fAagP> zU+3N{>*>@=IA~-`KAJ8b@g{qekE*udBVeNSYP``eg+o`Nrin?{>DB;>YNVJ*q+q;5 z$q|xo8&*OhvwW4Jpg0()_p9RX-F>d|DSZFU!)8UmzZBAfZ!~-X5E{pCM8z`X1IXO2u7| zia9CHq+59B&2L$C$lF5XOFuh)@hA$`h-uhzCDE3c!h$sE)Hh3q>|OI{6@FU3d@8m7 z0>2ls+fRrW_GgoU!_jR;*B{cCvemAGlm?orWWk zn0f}=_D7!!?qceY2x}}GsKieI zUgM(^z}ce*!pl>D0_+JMEG$d<7Vzb-Iw_BVGw}R4Yp6gYc)-5|2Cx#|I>7>pz+0R+ zKzw*h0T0-K_>gdiVxf-DkQ4!-PZGL909OZSR3ilXk-{_c@B*vhg!(pVG<{$Mgk9YG z>LAacrj+0(jjKKXkCFDb7H(Mv9lf12{FNJy05eexHU2<<5$(6jmwb3v|pEsNVR|8Q20B zMdT!O*<|wMNotU>CeLOwNu=lne}Ei4GSgoB&h!VE6msdR8Ksus46HIe-G0 z;dT>e0FB{B`Q!lg;jQUHAU)h0cjZ8PILxsI$PR~PH34(rj+Vy7Qk{TJfG{L@!lf@t zKxXJi7BH|erv-QbKWXCIfD3R5ueyL8aBH|6XINNZcB-HzK6hb(I_m;ypvG)qWauRu z7_YIoAIJyiSRDcOKYf@%wjptAu0 zA*dQFGVuRXTSt-#*#~Y{J2mnh+!_qy!;w)~F&RF<{WKQ2XT*b&G9gn!LYNuD9gDbA zlAq8rW7@LXNONMNH9J-vtbSW}H?aEg`CHp3GYjg}CeA};qZ_yAlf?yvsdbHsvn*fo z3%`}uLo*Z<;*Xj_cd`7A?Lpr`xnX8)^hOigqi$O-^;3g%9oCXaZ)f=on-5sFvzE&B z_-Z?iPoj@rHNG|G&_8USgOnQ5nK|{jsR*#GZF*hog9}!+Qo67l_$ypvbE-ae8N#lx zr#Mzt?GU`|{4OIerPmAojy5K~gx03LTs$%}7}SxixI?#89GkjX>Z%$x7S|N|h%A_p z8X@`1c75dQq9z(e_JU%N*Yb7@uuFp3_!93!bYzDDS&{Sm961q3S4cWym`2ER0>e##~s7|m4MMtHa-z%!Kc{GY&e?7z}Vu56_I{%Oe$!Ur@2|46$ z{E&!Ro8wS^-$F)xVb4kXn>@8WJBO(LnlE|LiPnX~Cl7t=@R@UhHhOeY-}vSH`At2- zPWxYln%GJyL!z_Y9uUR$y#DgY&=#XtO~lHf3wIxh(0tl;aAJw8DJyeSy*OosC)E~? zq>R`_m)2c#24VCdfz zd;Pk-UoCnwFZu-7@g?vCAbBUb4e|&6F;VKiL|ch`+s|D5RS9yYR9F5?xwW%+CyH_9 z-HyGSU0@^Vl8)&!b+TmY2#MCbicM-!5I$B1^%H|mPN(NX-1ib`R-Et(w zk@m-RYm(rnpzkLRE(H8KBAi$yIWe)eR9(;2U6ZQn)Z0c1<>{f)qxTK(Yf;TxpEUR& zv4iqVPX^a3pexqMQ+`>Ib5bDab- zY=G*gwUvCAZOQ#K%?K2SMJTO~NO(%QnrG^bi%tDF@eNk)BRY(JIwJX(>mrCQ6>%vB z#ueHvVjm5crX8!r465G|+IHY|>l{owHcm~=PuEveIISF9>%IGveKewsjg3cjrW^44 z@M7sG%Xj2zDXTIRlz!->GtowEHg{+{C1C!y~3Zu*N6J-PU<$hNIL5m%hk zQ{JsH;A2$3$~O|nHs`eb`)bu(;G%Kz=Xoinsveq6ZM-Gka^7V)F7K6)$U4Sj<-HAc zOO$lq&&t?n&VEcY-{8$qRVv~qG=|{W%&&hNPoAQ1sIk%8P4Z=3#C2jhn8ju>#<%gZ z%dp}7w%+8hee*8P7Qb*IHIU~qU++%n+tcLGWxktn304VB*-Z7?mW+2SdM`Lx-;b7$ zb}Hi%=gQ-wEbp4=2Zc!1kJzmPE zG*HF@g=KuJDOn?U<)>?B!M_c1eF~saUE#T4lltP0X1 znOe%(?va<%v_QdTc2)7SsAIxj{LV|lNBGNw1N>ul=0KMsTD8BHi4BzBA9* z<=4@K&(Pqb9rF5{9K)<%YrrL>cwoq=Xpgn78brasY~(S`=^V87?Np+;S;g&nvFWyg zdeNdWDebHF5V|0xIEB@B(R{awyJP6L`4K-l*)}H}zU)W=QVfdgT*y<#)*&tEDD(~Q z^-ZuQWe{_0IAw_gi$2)BZ1X7?=t0Tg=quEn4hm~xmk8+1lzk^Gr`0+& zDmwr4?hhKEmg3$#E=D(Ehx(ack&*&OgA17dV{4-g`g<6kh2_NYjw)<1;lMxeVeVlFs~IOUo^?#<7wGMNHnOKmO3Sxz9Bj5wx)< zxbLEnWPeFUWFf3@I12Yj^Bk5~v!h%7pcBbrDQ;yUEH*5p>cvp%OAR5Ot?{?P7yR_j z{)vfIbPDTM1OqIaYw!>eQL^T$J+V~EdFXEJIPrDT$cHT zQjx;x>p^6^@b~N>JeFxl#e}R+Z~xe>L*Adv%OI5B*5=XxyGNtFOZ= zGJ>jhgvaSz*dKiI#*0e> zpx#jx3lrJh9E$`LGyg97V!~M`#is#bZ89a?s!itWguErtzJxR@nE5wH`sjc3A(UbB z$W@V@R`Pz%BJm18>c^9!%oA*vb;cv-dG3`QeZet?)mJKf-4^s{jO; zMUfpgiRlqKf~sE`Z-kcByIK`?d84;0SJu7o1F8c5AZPK%-TihuvwhVK&M1f#qA5v$ zjJvV$4RISrb<^OEaUCml2T7t2f6N-);aHE~icF+&Rmb5CKcS{+_gL*s1TfGZ`Y%Y+ z*tH50^6QkBS5!dCi|vit@+)gTl@^x9I#LcA^7bGaRWS)?wi(2JC|jk0)DRV7k_-*u zt-X}{%nFcFb!_#|!zn>^aM&0~-E-FbP$7l|-t#vf!?8!N8JR>YIMUC1|8J^Mw-s$<3Eh_Bt9R7O94rPSUh zp@bD=010w7SLh0%*dM!X>BXOhs;pRMF767lEINq>Vgp7n(?gm%F^k zd*@-BgPKkjNOOz)-jCXHi`X~@pRD3T_rB#o4zDKc&aHUo56w&;ycdLMPr|JFaU6!C zt>{siL#Z;s^pH1n!(pGcCAsR`f741Q7tvr%x#{uBHWgHGJZ0$!r@IPbqWF;4AQQAp zAsxS`_?RayLbZipUNOj97>KYKjx{=-Urp=LrAE z^hMLeBSAW{1=YGtyu}Mw{+PUe`sjA@&z(8-awmE#WMT2MRJ-ZIZ+6|=xLW&oj04}7 z1m_Yc7oB$BC8xT`Eq7HO zjZP@-TWdUxzEdZyi-SpPa$e2QiMUrfk*`t)39zd4*jvts{0=u12^!b!i~Vy`l?O!v zFw?3a^N(Kj2O3|0Iog%+Cq7hU!~JFMPfRWspdTu}VO!fu5Q8ogpoWQP^&(;Os;$jN zRVuQd(aQV^G zKZbB2rthA!ZBB;rd{b4W%24{k{tUUwPCy<8)#$TZD&?AQ z-XOX<{d20JEzXmn))F~Rd~(z|TH5%6wc5!9t|JXLc_;426FTYztd*Ad2R#IGTkabW zC9jU!sIkv(>e!T@22?DkM9exv$E>I$oSle%u{?-dHqr z{bMX|TJK_u`jWJ1knPtV0?-r(HGvn8_)0L*CAOd+5vmJ^pdWw*vtav?EjUNn_;14Iz@N)0N~3F%fc z7#w0%oTJ+SZ@Hg-e({?--assB&J~5nE%f>+;FB^EAD4P%lk`OB?uh$H^%s-%Vd<#44ZCpo*7Yd|pfLTU@Dsty zx?sYi#`E=GTJeV+uj=Z4Xk;fYb!W<%I~|O$y5M9N#*4VSF>Is-xbMI0b1%YPmgR5x z5~uJBF>xs>-zOqwd62P3jT5uVR4gFUs{A9t>W;E!6*jP{I`S@P>Ka-O>HOSTbRy)` zQ{^JuOXeM1a-ve$`7{*~GFW#Z9J+ZFGYr-2oJytRQ87;sQ)SX>OoV7fqInnAFcT<& zaX~j4?Q_tevG#x|EzJxiahCY?$afx~4V9puT89T5 zD%SHL7)vgX=RgCjm#IGfN^yj|{+2B=j_8|koS(Vrm`;8M^~^*|;-&%Fmd{mrvsbn6 zQ(^g4wft+;!E=+>v_7a;thIC^`I%CY-O?}k;_CwS=2byUUo2f1ASdn|y;VnE3J~DW0|=D>1nJ zGA$%b+~nyv@d>@`zK{lm{G+vb%b`BDl9#LaX?a|Ud&0(G2O#!Ye=5^VyIaDp@J|NP zp4JW($&Q6!q&+g$fFh10O6vjr2;A1-nxt19U(~smET?HMv)7R@%Yu3AqcD^9A&((` zv);3#JxC&Fs@xm6J-?Cy!!+- zH4*Gij-ZFJX~8}7MQ#=_!ec)1I$uzCn`8Q?Qv>UpThr@SR_W<~-x7m8*a(x9L~fLn z1X0T&$-*8uzYGV7AtK4aT1AndG(-$oOTVzaUAPohz&sf7{vMeU6x{%f2`!ER)jiOe z#DaX_9En=*NDr;WR1h{Cd-5Kn3vVf9f@}cj_mbWLSdL2wJ!=wA>xFXOu_j(lzK>gr*-q`Y@@JT3XA&3pKukN$r zU&KXN5U!`x)|_%8hs|@ovQt+#=hV_}@_mfJAlTQEn5@^zoFRA^Px#Dz`=y9+G}X9o zfdAZLghkD|p#)0>dAhj(`dFx+cD6B5MHs8ZNI%+VYl$+l$8z+{mgVhJ0eQI z_a)ZFedtcIiPaHX3ajF|^n{@biaOCX~Mm8MIeKsfQ%66g)QWxEVhM5zY`KzElx5ID?X z1r!W#{ak_d-~sEo3i5%&?)%cP2BHJPKQit7PiW;1CD?A--{ z|1xXx$6vNW-S$CI4?K;C2O!{IenUG1<--Nl9fG1C22<(?q$7_pHFI(7^axG&RyM{)mz@}D9O2na7=%jSPS z`GNS*>Qhh@BDolx<6{I83iQoS5Hn)HKM*YF**#?Q9|%s$FAz5Lg*Xx#ROlQw_0rB@ zS_7s2mT`|)LM)a24*(ll`U}MWXcW5k3lxmV=l3^~7}|6W55;he53TCWf#NS{_sPV=9@`y#kLi?xVJF$Ng;6T;l zkT9YBRUkCV`^&NSM6g#E4?m)R{Y5~)LO76Y$%ivx6(Au)0gW)J4^uwt8iavJSnx00 z!8M5LVKP3s0g)iWYAigA#{-+=4M-9`Ry8*;uQ?b03y1z2WQ>>sd&hM@dJohvL3q$F zzhOJz{Zb~ykt-;gg2fDdhrNk&|JyVKg#5tIUH_Mh^D7cHloc6_2GW-|{RKVlfbA75w=k+N-{DlwXGrMK=v!FTj|b)d6z4!dcyQ8R2IL2B{rDF{#vKR@ zh1KjphqBzkMgsTbzc^~RIh}VfMI>i`dbbtIE;*d@E%roMDstr>;gic zAc19|{%1&FC_D0FWGF)u2#eHT!p&L)7CvE(iGc9@KMapB|7HL|*&hAXP13LCCT8)l z)1?nK&i4OdD93{{VBkMygbqD|ne^b7#YbRb#2$jbaVStZL@@TlS~WrhlOU?{-=kEa z&HRtap|-;yG>ZF~bYF7>p9leAffoTm<3DQNL$Q#+kVllzcSzuuaF1Lg!Bp63LpuOq zDd_5BFc#GIF&Gz)3w#X2HR%71gFBH#>Ua3%KCBz8u(yyd|B+t-r2>HAn;%K`DK(1Cw)#Qk5^I_NjxU#!B&FxDTT z_pDmba%3>h!z%hGYa9Z?%m3Kc4O^S{q_7lnxKK*iKKnp_pGGbf)`<}QM+mzAp`VSq zr`Lqf(uWi6-A~x$+4^(ua&c%G7z~C=fWZ$b=Add|m@!JXf1`xpb5|M`vvL7DKgW0w z5N!V=odFU090M+f9%_dIn;{P>-k`udUO)iH!Sc~@!NFLlFt9E;91P1r$MxX6Y*d(1 zbq+WblM?{M{P%%SW(Kjf){t!EV2eSGcznD$icABoT_G%z{b z1`>3b4dZff9EUuB?m-qDS9XsRR{a-WmMVbgf#6|4@8$n*Z)^0c0x4P zyyumIwrc|Lpe&<*4bFX*7fRTQ)PgNAoxj=c_nmTGI6b-^j6P!qg!XVq-RBp8e#8Xh zBTAUS@u*l}iU(h@VZl5x>v<0qj6|D}DB0H=ME02{1f-2d&_OSmw_4k>@*0MOMGz!Rtm-v0<*;lT)AWx)xS zvjCL;!lB~BaLfhwI5nszKA00xspkHJ7__(sfcCI)LJ%4i4~PvFsDd4T{{->;-}Ca608R^w=plgm z;s14-ku;yM4M@R+C&MP=e-GGp=m!e0`GeIY|AhR&qDubbVpk{?<^L<=T7#;pqA+gr z-m|$VV59<9;mSj}XrdQI9&!N{P%erhDi1NUe3h9xVQP-hkog+L=gJ1IUU{~TciYyszgcg+W_fZ2J)MJV^jt$z&AB>-lHP3! z!RuFM?&yk{bQ24wQNd2@d-ExBlUDy>+e)Kg_9zlRqtxyqo!P=Lb)TId1|L(W>Uh^R z-d}>Z?`<8g*L0IaCE@Bwz84OG7qfK&SHe}p_XIBk$2AczIWX?`pF(0QL~zy(bPV0bnj}N0BWTqy4XkU$t@x9(|S#yE4iXnUU3w76{PVjgrX@kHK_vD zCn=|$e`8$FV#JJ|dspeSoY8HwD!7=cd|RMkLxN*em`(Gd)vk7I-Jf#=5uD=ZDRpY6 z&TRiL;Y_Ms^)}ZIZ(Hhh0^i%!*?eB`CV#8rIbu}as2K3p9#D9dhfV&}dH}z)ci!4w zR-AhRg~Jzs~wr3;#XHw|=4-K_tto_^4ynUQFb9lzAMZX$8|W zH3hIvUT8h(i%{|q&yC{0WKF@BW;wWnEzG0`4&H};bYPP|A`^woJ4=AE)H2cBi8i{- z-NUdA$kaq2JX^1~99mEq@b*_d4QgXi8kN&-k{m?cT`tRgvybxM5 z7_BzXq}oItNB0DgI7<*olot+}c6Wh7 zlzoWW!lo4Xyf6W6)-P1xs|h@nb-)5C6bce~1{Hw`hmxeuv~DaElUAGc z9|s;{{SyMWHkiGsX0_Ruj<_HdnGEvk9d2@l2{5!Bg15YYMR^18Y`91{^Tm(2x|i2)SSu&eHBb(fyH`Jc)I_qaprE zZysjCzryx6ufR`G}VQE?D4_$U2B%S6}|XuG!-OiydV)FJIh1~aho)!NEcoNBzQnRVYUE; zW6$APtS(R?hV+tx=u!?8qeB$rSeVp9>CE)eXdxy{fqxjyhq9rO3h_p)gc&dfv*Zkl z3q^B4BB=E8@Ld|uAVO2jjRR!!i^EMgiRpU4N3dj5wYt&N8@#(WfSq< z&tD*rrR=v4#50@97E31icq*@TGj>HFLvFy5 zZ~WHv=5j@?b(IuApBG^JfINLw0E^F8C@kE91j}d){$N3?6m(r750ufb1xjla)VGL- zhl&=>C0njUWB&}pT5ddIKdsb6eQ0M9_m{04DiT&UDXi*Z?oCm}+)rjD6@yj3MPv1m z(I$bKwrZ$_>bFT lst; synchronized (voicePlayers) { - if (voicePlayers.containsKey(sender.getUniqueId())) { + if (voicePlayers.containsKey(senderUuid)) { return; } boolean hasNoOtherPlayers = voicePlayers.isEmpty(); - voicePlayers.put(sender.getUniqueId(), sender); + voicePlayers.put(senderUuid, sender); if (hasNoOtherPlayers) { return; } - Collection userDatas = new ArrayList<>(voicePlayers.size()); - for(EaglerPlayerData userCon : voicePlayers.values()) { - UUID uuid = userCon.getUniqueId(); - userDatas.add(new SPacketVoiceSignalGlobalEAG.UserData(uuid.getMostSignificantBits(), - uuid.getLeastSignificantBits(), userCon.getName())); - } - GameMessagePacket packetToBroadcast = new SPacketVoiceSignalGlobalEAG(userDatas); - for (EaglerPlayerData userCon : voicePlayers.values()) { - userCon.sendEaglerMessage(packetToBroadcast); + lst = new ArrayList<>(voicePlayers.values()); + } + GameMessagePacket v3p = null; + GameMessagePacket v4p = null; + for (EaglerPlayerData handler : lst) { + if (handler.getEaglerProtocol().ver <= 3) { + handler.sendEaglerMessage( + v3p == null + ? (v3p = new SPacketVoiceSignalConnectV3EAG(senderUuid.getMostSignificantBits(), + senderUuid.getLeastSignificantBits(), true, false)) + : v3p); + } else { + handler.sendEaglerMessage( + v4p == null + ? (v4p = new SPacketVoiceSignalConnectAnnounceV4EAG(senderUuid.getMostSignificantBits(), + senderUuid.getLeastSignificantBits())) + : v4p); } } + Collection userDatas = new ArrayList<>(voicePlayers.size()); + for(EaglerPlayerData userCon : lst) { + UUID uuid = userCon.getUniqueId(); + userDatas.add(new SPacketVoiceSignalGlobalEAG.UserData(uuid.getMostSignificantBits(), + uuid.getLeastSignificantBits(), userCon.getName())); + } + GameMessagePacket packetToBroadcast = new SPacketVoiceSignalGlobalEAG(userDatas); + for (EaglerPlayerData userCon : lst) { + userCon.sendEaglerMessage(packetToBroadcast); + } } void handleVoiceSignalPacketTypeICE(UUID player, byte[] str, EaglerPlayerData sender) { @@ -211,6 +237,7 @@ public class VoiceServerImpl { } void handleVoiceSignalPacketTypeDisconnectPeer(UUID player, EaglerPlayerData sender) { + List peersToDisconnect = new ArrayList<>(); synchronized (voicePlayers) { if (!voicePlayers.containsKey(player)) { return; @@ -226,28 +253,39 @@ public class VoiceServerImpl { } if (target != null) { pairsItr.remove(); - EaglerPlayerData conn = voicePlayers.get(target); - if (conn != null) { - conn.sendEaglerMessage(new SPacketVoiceSignalDisconnectPeerEAG(player.getMostSignificantBits(), - player.getLeastSignificantBits())); - } - sender.sendEaglerMessage(new SPacketVoiceSignalDisconnectPeerEAG(target.getMostSignificantBits(), - target.getLeastSignificantBits())); + final EaglerPlayerData conn = voicePlayers.get(target); + final UUID target2 = target; + peersToDisconnect.add(() -> { + if (conn != null) { + conn.sendEaglerMessage(new SPacketVoiceSignalDisconnectPeerEAG(player.getMostSignificantBits(), + player.getLeastSignificantBits())); + } + sender.sendEaglerMessage(new SPacketVoiceSignalDisconnectPeerEAG(target2.getMostSignificantBits(), + target2.getLeastSignificantBits())); + }); } } } + for(Runnable r : peersToDisconnect) { + r.run(); + } } - public void removeUser(UUID user) { + public void removeUser(final UUID user) { + List peersToDisconnect; synchronized (voicePlayers) { - EaglerPlayerData connRemove; + final EaglerPlayerData connRemove; if ((connRemove = voicePlayers.remove(user)) == null) { return; - }else { - connRemove.fireVoiceStateChange(EaglercraftVoiceStatusChangeEvent.EnumVoiceState.DISABLED); - if(connRemove.getRPCEventSubscribed(EnumSubscribedEvent.TOGGLE_VOICE)) { - connRemove.getRPCSessionHandler().handleVoiceStateTransition(SPacketRPCEventToggledVoice.VOICE_STATE_DISABLED); - } + } + peersToDisconnect = new ArrayList<>(); + if(connRemove != null){ + peersToDisconnect.add(() -> { + connRemove.fireVoiceStateChange(EaglercraftVoiceStatusChangeEvent.EnumVoiceState.DISABLED); + if(connRemove.getRPCEventSubscribed(EnumSubscribedEvent.TOGGLE_VOICE)) { + connRemove.getRPCSessionHandler().handleVoiceStateTransition(SPacketRPCEventToggledVoice.VOICE_STATE_DISABLED); + } + }); } voiceRequests.remove(user); if (voicePlayers.size() > 0) { @@ -257,10 +295,12 @@ public class VoiceServerImpl { userDatas.add(new SPacketVoiceSignalGlobalEAG.UserData(uuid.getMostSignificantBits(), uuid.getLeastSignificantBits(), userCon.getName())); } - GameMessagePacket voicePlayersPkt = new SPacketVoiceSignalGlobalEAG(userDatas); - for (EaglerPlayerData userCon : voicePlayers.values()) { + final GameMessagePacket voicePlayersPkt = new SPacketVoiceSignalGlobalEAG(userDatas); + for (final EaglerPlayerData userCon : voicePlayers.values()) { if (!user.equals(userCon.getUniqueId())) { - userCon.sendEaglerMessage(voicePlayersPkt); + peersToDisconnect.add(() -> { + userCon.sendEaglerMessage(voicePlayersPkt); + }); } } } @@ -276,15 +316,20 @@ public class VoiceServerImpl { if (target != null) { pairsItr.remove(); if (voicePlayers.size() > 0) { - EaglerPlayerData conn = voicePlayers.get(target); + final EaglerPlayerData conn = voicePlayers.get(target); if (conn != null) { - conn.sendEaglerMessage(new SPacketVoiceSignalDisconnectPeerEAG( - user.getMostSignificantBits(), user.getLeastSignificantBits())); + peersToDisconnect.add(() -> { + conn.sendEaglerMessage(new SPacketVoiceSignalDisconnectPeerEAG( + user.getMostSignificantBits(), user.getLeastSignificantBits())); + }); } } } } } + for(Runnable r : peersToDisconnect) { + r.run(); + } } EnumVoiceState getPlayerVoiceState(UUID uniqueId) { diff --git a/gateway/EaglercraftXVelocity/src/main/resources/velocity-plugin.json b/gateway/EaglercraftXVelocity/src/main/resources/velocity-plugin.json index 7fd3bf4..6d8420e 100644 --- a/gateway/EaglercraftXVelocity/src/main/resources/velocity-plugin.json +++ b/gateway/EaglercraftXVelocity/src/main/resources/velocity-plugin.json @@ -1 +1 @@ -{"id":"eaglerxvelocity","name":"EaglercraftXVelocity","version":"1.1.4","description":"Plugin to allow EaglercraftX 1.8 players to join your network, or allow EaglercraftX 1.8 players to use your network as a proxy to join other networks","authors":["lax1dude", "ayunami2000"],"dependencies":[],"main":"net.lax1dude.eaglercraft.v1_8.plugin.gateway_velocity.EaglerXVelocity"} \ No newline at end of file +{"id":"eaglerxvelocity","name":"EaglercraftXVelocity","version":"1.1.5","description":"Plugin to allow EaglercraftX 1.8 players to join your network, or allow EaglercraftX 1.8 players to use your network as a proxy to join other networks","authors":["lax1dude", "ayunami2000"],"dependencies":[],"main":"net.lax1dude.eaglercraft.v1_8.plugin.gateway_velocity.EaglerXVelocity"} \ No newline at end of file diff --git a/gateway_version_velocity b/gateway_version_velocity index 1b87bcd..314c3d7 100644 --- a/gateway_version_velocity +++ b/gateway_version_velocity @@ -1 +1 @@ -1.1.4 \ No newline at end of file +1.1.5 \ No newline at end of file