From e1f072d94ed91fef106336fd1be7ca9785a9cf9b Mon Sep 17 00:00:00 2001 From: khanhduytran0 Date: Fri, 15 Jul 2022 08:09:40 +0700 Subject: [PATCH] temp --- app_pojavlauncher/src/main/jni/egl_bridge.c | 27 +++++++++--------- .../src/main/jni/libpojavexec.so | Bin 81872 -> 82320 bytes 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/app_pojavlauncher/src/main/jni/egl_bridge.c b/app_pojavlauncher/src/main/jni/egl_bridge.c index 82cb446da..01b4548e3 100644 --- a/app_pojavlauncher/src/main/jni/egl_bridge.c +++ b/app_pojavlauncher/src/main/jni/egl_bridge.c @@ -272,7 +272,7 @@ int pojavInit() { if (potatoBridge.eglDisplay == NULL || potatoBridge.eglDisplay == EGL_NO_DISPLAY) { potatoBridge.eglDisplay = eglGetDisplay_p(EGL_DEFAULT_DISPLAY); if (potatoBridge.eglDisplay == EGL_NO_DISPLAY) { - printf("EGLBridge: Error eglGetDefaultDisplay() failed: %p\n", eglGetError_p()); + printf("EGLBridge: Error eglGetDefaultDisplay() failed: 0x%x\n", eglGetError_p()); return 0; } } @@ -281,7 +281,7 @@ int pojavInit() { // printf("EGLBridge: ANativeWindow pointer = %p\n", potatoBridge.androidWindow); //(*env)->ThrowNew(env,(*env)->FindClass(env,"java/lang/Exception"),"Trace exception"); if (!eglInitialize_p(potatoBridge.eglDisplay, NULL, NULL)) { - printf("EGLBridge: Error eglInitialize() failed: %s\n", eglGetError_p()); + printf("EGLBridge: Error eglInitialize() failed: 0x%x\n", eglGetError_p()); return 0; } @@ -300,7 +300,7 @@ int pojavInit() { EGLint vid; if (!eglChooseConfig_p(potatoBridge.eglDisplay, attribs, &config, 1, &num_configs)) { - printf("EGLBridge: Error couldn't get an EGL visual config: %s\n", eglGetError_p()); + printf("EGLBridge: Error couldn't get an EGL visual config: 0x%x\n", eglGetError_p()); return 0; } @@ -308,7 +308,7 @@ int pojavInit() { assert(num_configs > 0); if (!eglGetConfigAttrib_p(potatoBridge.eglDisplay, config, EGL_NATIVE_VISUAL_ID, &vid)) { - printf("EGLBridge: Error eglGetConfigAttrib() failed: %s\n", eglGetError_p()); + printf("EGLBridge: Error eglGetConfigAttrib() failed: 0x%x\n", eglGetError_p()); return 0; } @@ -319,7 +319,7 @@ int pojavInit() { potatoBridge.eglSurface = eglCreateWindowSurface_p(potatoBridge.eglDisplay, config, potatoBridge.androidWindow, NULL); if (!potatoBridge.eglSurface) { - printf("EGLBridge: Error eglCreateWindowSurface failed: %p\n", eglGetError_p()); + printf("EGLBridge: Error eglCreateWindowSurface failed: 0x%x\n", eglGetError_p()); //(*env)->ThrowNew(env,(*env)->FindClass(env,"java/lang/Exception"),"Trace exception"); return 0; } @@ -403,9 +403,9 @@ void pojavSwapBuffers() { //OSMesaMakeCurrent_p(ctx,buf.bits,GL_UNSIGNED_BYTE,savedWidth,savedHeight); glFinish_p(); //OSMesaFlushFrontbuffer_p(); - //ANativeWindow_lock(potatoBridge.androidWindow,&buf,NULL); - //glReadPixels_p(0, 0, savedWidth, savedHeight, GL_RGBA, GL_INT, buf.bits); - //ANativeWindow_unlockAndPost(potatoBridge.androidWindow); + ANativeWindow_lock(potatoBridge.androidWindow,&buf,NULL); + glReadPixels_p(0, 0, savedWidth, savedHeight, GL_RGBA_INTEGER, GL_UNSIGNED_INT, buf.bits); + ANativeWindow_unlockAndPost(potatoBridge.androidWindow); } break; } } @@ -419,7 +419,7 @@ void* egl_make_current(void* window) { ); if (success == EGL_FALSE) { - printf("EGLBridge: Error: eglMakeCurrent() failed: %p\n", eglGetError_p()); + printf("EGLBridge: Error: eglMakeCurrent() failed: 0x%x\n", eglGetError_p()); } else { printf("EGLBridge: eglMakeCurrent() succeed!\n"); } @@ -466,7 +466,7 @@ void pojavMakeCurrent(void* window) { glClearColor(0.4f, 0.4f, 0.4f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); eglSwapBuffers(potatoBridge.eglDisplay, potatoBridge.eglSurface); - printf("First frame error: %p\n", eglGetError()); + printf("First frame error: 0x%x\n", eglGetError()); #endif // idk this should convert or just `return success;`... @@ -479,7 +479,7 @@ void pojavMakeCurrent(void* window) { if (config_renderer == RENDERER_VK_ZINK || config_renderer == RENDERER_VIRGL) { printf("OSMDroid: making current\n"); - OSMesaMakeCurrent_p((OSMesaContext)window,potatoBridge.androidWindow,GL_UNSIGNED_BYTE,savedWidth,savedHeight); + OSMesaMakeCurrent_p((OSMesaContext)window,potatoBridge.androidWindow,GL_UNSIGNED_SHORT,savedWidth,savedHeight); if (config_renderer == RENDERER_VK_ZINK) { //ANativeWindow_lock(potatoBridge.androidWindow,&buf,NULL); OSMesaPixelStore_p(OSMESA_ROW_LENGTH,buf.stride); @@ -490,7 +490,8 @@ void pojavMakeCurrent(void* window) { printf("OSMDroid: vendor: %s\n",glGetString_p(GL_VENDOR)); printf("OSMDroid: renderer: %s\n",glGetString_p(GL_RENDERER)); - glReadBuffer_p(GL_FRONT); + //glReadBuffer_p(GL_FRONT); + glReadBuffer_p(GL_BACK); glClear_p(GL_COLOR_BUFFER_BIT); glClearColor_p(0.4f, 0.4f, 0.4f, 1.0f); glFinish_p(); @@ -498,7 +499,7 @@ void pojavMakeCurrent(void* window) { // Trigger a texture creation, which then set VIRGL_TEXTURE_ID int pixelsArr[4]; glReadPixels_p(0, 0, 1, 1, GL_RGBA, GL_INT, &pixelsArr); - //printf("R=%d G=%d B=%d A=%d\n", pixelsArr[0], pixelsArr[1], pixelsArr[2], pixelsArr[3]); + printf("R=%d G=%d B=%d A=%d\n", pixelsArr[0], pixelsArr[1], pixelsArr[2], pixelsArr[3]); pojavSwapBuffers(); diff --git a/app_pojavlauncher/src/main/jni/libpojavexec.so b/app_pojavlauncher/src/main/jni/libpojavexec.so index ccb9fee7458c8b0e2cf6b96d8ba7259844bbac45..b1d02418728748252d65059b8c23a75681d992d0 100644 GIT binary patch delta 28834 zcmbV#30PFs8~44Vqqrc0iXe)N3+@Z3C@$!@VB?l(xt4`Hni*QINrNH^P9%9!v@$VU zw7(`wnOZ6?iJBGJW{X8;Ib$2vKcmw4e(yQ&9WJ;3_k7Ru-N(7-zQ1=l?|ILA&OP@I zo++)YnU`tLYi~>L_hiQfo;9hOJd9FvC|XBh$0v{ZdCL@Tlo=ZoZIoucT3|UU6yFg+ zmOyh^NK71Dif}!&Vevl-EAFafi@S=xdfSF>HsNMfcZ67^w;l2SvRqzUSyQ$&E&01g zX4V9he3!zj%Aza!Kf0bNTGj~HU!Ze-@&LW2Xj7xH{t=PFRWm}bEf&@c*Q4cmf;`_R z&$HxtzC16K=QTpNchf(Y*Vp8^uZXjU>%-*vPI;arPC#any!OcRMtOcgp8q4y`{nr! zc|Io3Z_D$$^8ArJ|4L_j;~JXQ@X1w;^l%YcI|83@{V91KEe7Fw0-f_?>*%riez6e1 zO?m!Xp6iOZpm4phJa?Aoe)9ahJbxnPAp{Wg3#c8*d;4xKbqbYgdXbRVeo{~o^?qbIUMK@)95bE{F z(6K@fW+a0_cp2kH%bLLha>!+I=u^hCEqHy-As6S+e765GN2tKh@lWQEmLSwrL9wL^ zYH|e$mI{_Lo@T-CLf4R;U5u;vY1(;qsPwAxq?ghEwL?^kU7Vhev!@F}6<&T*0pA;z z*wI3ZqboVv)BdaEqu9<=j%WsV0o3KO)Wb6+=8@Ulw=%t!Ap!6-cWcR8~T)S7td%fGwxuA4p|(k$&qkz zM59^01G+fWgBB!P6rO9KT3q~-lAOW{Q9K`%S-Rl9dYlvADM2Gw3XSCbTj5*Tj^0Sg zYnra|e-<;|MFn!)mnvWZCs#90uDtUKk7fBr=n9fAe3#`Jzl(=i?6(T&&3697qa%+; zMGB84Mi+&t=X1(z&c z&;(scp^oUMIvs(LM=o+GRI8(vjZ-w^9<3evl3JF=69xQ`#|EAm%gPj8o0I4=&2H4A_&C$ZhGf9_&zo1)sr@NcO23kqYvNLCdIu zVoQs+qCRRsF|Xx5=K8em?dJVT{nhN9yL6_O%L_SMS%wqWp%eeoX@%9!w@n`^bv9?@QSj>@VsUqaj3a%-}9#v?wID0kA1k#}) zCl?P_W2)}W75gj>EoNM^ICPM4r^FF|qwlkELBnR5MPVN2MEMWOLw<%$4O@xT7amLLz65?H-xi&nFUYgmX%u~aR)an z*<3N|Z3c(r`rq}X^07bn%|Wg>#ZrNr@84y=Df!1$q21yYPR2_L7|tQ>&PkW?j>6%$ zJQlD+sd4%p5@3046e2+_E@MyGA1#za?XZOUDmzs8yBHVVQIv<*ELs`+keD1?1 z1)u5o&@l_2x%kY-XAwShEWu|fJ~ZDxh7Wc28hmo_$;IbMe4fH5AD`#&DZuAteD>jU zK+__%!?-wx&k20q#)slqiqFSIdb8hcHRnGx;{kCkDkXUF0=gWuU}o||4?j|r&|*zc z>1v}- zEO_BEg}W@c@rLQFoWo2b&Uig^i6=M1p;D&HE%k-R>pME+Ey_Y3C^P%>q#RvV;E>;)G~zQ9p#;?@+G!LB=}9CT@^O1Q#ofz~MA;>xu`##oaw{#G1JE#Wrw*13b*$CT;`qF1R5k zZnBAcLfi(|VdAEkxS^s;VtCVrCT^OE+el0Wx3P(vVd92~TyS4Daq~>vVd5ybO-$SZ z6Za1B6S$_KtreQM5h7|pcvD(M7)P;*yHtz@m(~}?QEK8g73ttc8Z4A$CT=sa7u@D1 zZn=pYB`$;8!o=00s`@ut1P=^v>NIg3CT>fS2yQDA*J9;^abv_baNC-= zE)%z%co*FECT_BcJ4@Ui81Cs{;-;9m{H{=PQ%(46lYE*9?`Xo8nQ%3L6*I$xA5oBE zXPX$bJT#6x6F$xWQEoBeIVQZoguiLRcbRZnE*eK+l&7kfXq{>thfE5c3=n0p3GZye z&zkTqCcM;ycQxUc44m5E&BQ1(7{ErDaGwdMg|KmyoACb_Aj%389&5t27F7+710Lv} zAQPjzNx@;l_nGhr6W+swJ56{`6W-p0$5-JVE!M>7RmIQ}Ot^WjcA4JYQp=P@H7*C&V(;B;iF7=h6z6zh(83fO^kjfg*+49 z--K^5;gd{wfeGJW!grbQ{fx`uUua^iG$|Z1;fW&5l_ky(=~OdzSBGb9gw!qCGAL9Rzq+HPfOv245V3P`2gMWiA#WG`IpnvRV!o@6=rG(RHV-clPbEhx zV|S1EPmM<75@TjM@1WCQIt{`}+#Y=!mBcEkiaWFQq65i`^`iFUn%D4TV1=6303WPK z3sDw4fhRkZr6|i$mZNmw-j;$8#G))iISHlnNljaZ(uHyh$_$i;P!^-Sgi_mx(L;Qc z5xDzhpiDqnjB*m)4F&Wa7&tCmY#{-ZhfpSCX1PQHSix4HbfAm~1&)=g3uVC;I78)D z=%6e`S%A{@G>oH6Ls>>RO1u`)%27H|W?+TuLg{=K`Y2QIpqtSUiBpb?0ssZuVE|=b z0Su7f4j5ExBL_8bthEgZu2o}%UcYvb zMt4wpN#R4H$*<}H{8~1HKOg){V)C?T{j6Ay^ChuWo)1rpwzba?pHFM6X9#_Iv|b=u z%JU$ci^VjY%fzbb(ZV^Sx&5Pha7476(aio|T)E^`Teq4;0)dIv^K)XZ^pok~L zE3;tp32~l^4dVK&wu2~{PmmjiSGKn(Xfmopk+hCHO_SfS8vGjH$f%RoGr=ztV`sOs zB?z%%Hr2Lub~OAuJUiMJv`KspC|mp~p{8?)(Ps|gy;)3|(?YKh%K;q{TLA@a5l7~9 zsI?qv=YLK3=M0VNMwe4^G;Ma*kZ1%BhdVd8DWNlS#E8`7@Qbf&T4se7vc?UbUkZ5b zSp{N$YBR^fpHx=5bHiqzt*k86d<}ENm#Hmn8*)Tts?(O9BU;XlvCYmA?zvI6i8*4< z+)*QrzJ~m1jOyIpq*8Z@OHTK0Z}4#763TJA+}_cpZm+!;K{-JZ%`8rE=h)j2lAE}k zY?O)Ha}%3%$EEabnaQ{BMDo0Dwod27s(H;EJ3o>h_Iy`*IC!1dGq0t7T)c<#UQs@; zd&~9fsG1X~rp%q=cE%OE`N4ibR9FFS4=_&4ALr56GEZl&XWw|#Rp{tOw} z$AHOR_u2#eVsk))xzY&WX5U zWbYbTGiGA+%2>m4ZelC)AqPH8Jrxq20j@?4yEA``%}hKY9#|aR@K-Pm8$H4I-4M?% zZlPZkZ!Yc_(VNr{SS6lJ7q=Hj*%qaX=1bz@e!=}mwmlTuXg1NusA0Y&C>}?q0*&7d z6bW|H=S&xmEs5|fF|?%L9;Ny=ZfU;eXrI?Up&I`#@Js9ifRW)6dmFw&buqYv;S-pW z29uSX_k0u~qe&rB{=YCxhhGIK>t$5PBW@hkdHB(PN66vML3VC{Eq6`{TCo3EWu-4q zI`;~6WRsB=)Z_+aV-{?9gL~jIt~m2gEj#ItkSwa*Yk!o*Hx&b1pY+ErJ;Xy_mTLY8 zrC$RAsNw8OFf$M}_+Ljpd+kG6FN-6)i})d^#!pjdiTyNaI^aPrvHrV4UVlf|mvHTC zt(YGX@F@WQVA#cMmw8$=TGp=dNtl9e%hQxz@gJN-`;Ln{mpN@`@Ck$JaH z&Gh#y7h+kAZRVrm$g-#wrINR){B~vKsNAeFS>%3+0_of5QStjSzwN#iqHOsNn|G(k zToD_#b$OsuvJR79=;NK@?21_1-OI&aD-vxn%SE3@_t?7a6xSZ@V$*htCM$b1cz6j( z9xaAp-<&04;!3xETNJE}(XWX!D_iRyit8(fHF$h+l~BfFF(BPpr@>O$w0%3oob-9N zAv?r}>8&T7d8A72h`i1^1jFu}EVA#PCMS`sL$?UB-zXqqdtEON%}Drc3`p&S3{2ZM zWplTSJ0F|rq5G>AqPohPUhX>rr*e{R`LV9mN|LVnYfz6(gHg`AdAL-=q<|#VD6Ud} zRH|R~4^-+mpbl@M){{5(kaaBpKFst7-gZa$tr$+sCpG0 zw+YAUZnmgJMT1t0T9IcT2sBDfP3_Qbw7|JZ{G8pcS??-#*2ky{5h8aX@RNwmX|MlR zOwNhd-xC{hrt5EtUvql4wm$`ah#EFwxHKk~uYk*mW>t;p-RGt+)P_%E}`&bNc=$ zI`h<>y6zKUn^S4l-W=iBy-T)X|4!Kk_dVjJ%@6C%h!qm7SYL0KtUX18^3(0MCG+J- znE$*~t6Ly>^~Q^DpB;^_ql9O3c*xBilK0_LlDA1r+SVNF)5Y7IK?AlD$Nrqywk$c*#vf_jA1~K2fNg5wN zPHf%Y$(E*gvlXvxp5)ob3IFy^;*srPAx#wH_S2H_x=1MKEKY9^bDVij8as~y70nte zatb<$#sy)HC5rKYQV1I>J_BQBL0Cvz#fW-RYP>Dl@8~REgTg1W|aiF`3(*UHY*Qz+MKg{-5Oc^FKWMtPHb$7>Oh8=tHcGIFHC zFXEqFck8bd-L?Cj8nyv<2FL;>`Ue#>abtXyel&?;%Crb}Gk-&VgM zLJvf?tMh+Rx%IeIX$T+DxzC7k2PWI%28+E1nzmmsfu{$f7M^~lDV5heQbijm^v4_3 z$4c5aNRH_a6GU)P$A};$6^upRsGP=a+{pMK)bL!<~ z|N1f8_yJ<~!H&Uw2EbhAX$LK4G?8(zoh@vDsPo1E{X5})BelVSHKZCpJrg&J(x&L9U0xI zcE76Gt0w~LYuiVp9*MHm?jzP6Ne*3wilh&6F_mlICVWTYY%_X`W^Z=YcZv~j#@KRu zi-m7CX}SsTys9KKe{|%e-}0v4^6eD`Z${g;^%f`I?CbDk(Oua$ua68?kI|yuTOB-( z(L~{2a07X@JR@RAY@QS77d(#pSSg zZX_uu_`X4Rs1)FbSMlu85ZjX@#onWx8$Sb~N@(Fhf^OGP1LLQoy*z?a;;9~hq@&}= z7&)3=0r&P}Z1|Q2n2FVx?=J;&N`TqE8goQCn27;qqiW0#&_PTm=hiYb9{h#S2bok40~TffO&AZxuM^}U5~F>fZMW~>Ktn6KXFD&U#O<)S`Own z0p>5&n153kP6wFNt1(|BcV7-L^`pXB+}hK5A<#zx=*DU)V;=!?Vt^T3jX9K3q;G(k zQjIx{Jc$Z0M^}_uz3GMSoRb)I8{s16{<9Kj3J}~5&<|(GL^<@|KwkpRCfVG?+LYMy={g6mYBJNy@an3G5{4Ts$I~q2R2mb> z5Ljf$cgz-wIjCnh@yf|&p73r`{}S{sVWl~YD^oImb*;v17+_)+^IbNWUd&awi6zKB z_%;za?^lA0eSjkoJ-{v+3aW}|Sn=gardF}U0#71>}q>#}`;>M{) zp0hG7@#e)V-@eeq{P2SaWU-XO)Gd1|6+;wmzp21-^|Y|93rx#CmQ6c{tbt58$z-Pc z5Iu^%Z;q5Y1G{rElp%1FatF?$J611CKvlh@1Wk{7;H8?AiTeztVbcIJKfo;a)#xhT zJni(<#7)I_OXgyUuZ?U8nVB+_&DfLa3U`bMvf{N5VzLj&9Q&zzB-ok3o)SEuz;Fe6 zn!!mluIztJ`MpL(EwXB+gC;R;M1-PSyP@`#3(#wG?Ji1cFhp}iY(eV66 zy2Fs*XkHP9pt}G4K;4&{cnZl0`~xIF+(q9f3VfC3t4P&EFkb`H=S8-Vbx&3UWznw& z(i*7vLLlp3EvuDIt%rdlL7;tMhEw5^Yp0bYXUWshG>@#*2T)B6SCiFI$^VYEW{E~o zfU~R7Ru3GiflgJeXh*e=BSVldhL`;Wlrj_akTnivWWS_qgk(K}Xdp5~yEB(XV6Zk+ z659hv78a-UTvr0Q8$ju{PW_us5;^XO4!B-aB^{&mOQmEEW!z;n0~xoV>&B8Mkq&ej zh%q$Oy!HaplS``>gGFpfv%w3i)RN~($q-1EB;A5l%^y}%YBdjNU6iX@thjRHKgGo3 z_J$RU+>%HSy@0B8$l9M!wHG0;3^RvSqcg}%W&+x5C*w2)z}xpBf2;@Q5-fe+m$?ue zM*Yy8`XT*CE#wKa^bV5lsib!(>3Z`kJ(a$is)6a!L9{Wrk>RR0I7s>*ccd#NRPJbB zWvR?kj@%RovhQ1A5y7fJwi~|xV}p*@{S zy!Jn(5LKQpujI<~ap^}Kz||5AjXQ_6rtHy$1mG<^RAHb|2iDi4m4m$J&pL89lmmQC+PhaMZD!*Ficy%=`*reiA&q~l`2xyaNG#2u-) z9Tc~3D!7lUp}u*x48^fdNbej#vTwUW0P)!k5I(QQ8ydGa4a;x)QhAx|M1MY{X7Vg0 zbLT)&elFV9WuOQ>-^w#hicx?<r}n!>jv zx#?#yF3uq9EYDF;RoyN;CS@kr0^@Frq%rQ!Yw*?MwI@)$l!IBVfcWaP z11X!fR%QPdjC!N%pM!)q{^od^3ja&z;OjV__{J8pFZe31;Ng8rYdW;N_6x)<1J`~A zSDD4Sdq#zCsjPvKv^2g#oZh)!z zj*7wyox*bolN;0o~RDbd7g&v*CRaFHP4B3)$@ES_W72(E>_4s5puAb;G zlHZN;i~+0Ckr)inc*kh}7T6h0M+WHBHdxgB8Om<96o<*}^1?q?!3zyIuOHQ$;P%G9 z1W3L<>(WO0cOPhYB@sJx`j=)E&OsGp~lbK$w ziF)rvdfp()yZ92VN)n$@qvFH1gyB8?D`5IpAjba1D$qH7s}F+Zl149&Cw^|?g*mcs zH%bHc8q$4f3gdDrWZm94JW!)chkEVbP|tdFv{<&a8=KC;xPqMhniR)Xa1zXT7X}@7 zfFVVD65yt6?~bdSpyQ$7#N7ma07{jP<65*du}4yB5FW)E0iF6MroiL6V&{T=4+V?v zY<880pA+A%?oCgyF_$!!CaK>-9AQu6zK1gE36!XF3>YEpPlmKVFK6mxDF=L_ckA664@!=ZcvcklaKsz);lHYmNuLGG66Ym2X!v$6|jT$@0SUQZ}I4H zewvE(gOD`OY*QtTP8~#i+(xHM)g@BZ{)>35w0Y21^CdP?JYO0YJXNJ%W|6y;pSQ$~ z4_ZA~a3?$n$vPqZ#B1{$`vxFbStF%U;0s9gvSAfayq(rndOR#;z|Yu4iU=5@c^`rF z9OJd$W$;NqF^Q<$_}>&CZNbjMme=RA7;NEo%Jq(qw$B^u}@s$JeUB;Y$ z#(r}&IDV`GQMvsh2zS4vijXy3Bq062OyIx#e;=syAFq&nty{weG|0x+qV0zr^sOTK z!*-#YC|vj|mA@Td+e>7B6zixC-q}l>{TJAzmk9be))8M#{i}H4{ulUCyvY8rTWET9 z(FF=ks*d(jXmEA(pPppF@o~>;m7NjmK2EgN9x2Xz93A!Z2(&F^4bACj;WwaEXFAat z9}3$it)rf(Cb6oT#KU6nC&Oo_NQo?r+;>IU^^ueOjr!yQsw*V@?v5c6E?j9(f`?L%C z<-(_4Jzh+@)ZNk1O=|e(a>7<~w|M$e^z=a~$d)TqUvAj+i85OTV=(!?Xima*`GEDW z6su24-zudpO6f2l-%C(3zAGz-71;c8mT2}_i-xD6EFb`0H<{e6+}oZ$1^Zq&9(uT#K&7Ba9kTE9px1#89}!(q~D!Z$Nrd zK>AFQQD-dPwIv=RGBNmIf) zby<$fdkqsAhiZ|{#E}wMj5nF%%MR;Wh-`0e;#>F0X>Wko_eHG!lPLS5e@H2s;_HNT z%TD^~rhSL#^krL{ElJ$8=Tw1hVOtH5wNo2l2Rxn|4by;J1*D zNxt7gLhad*CgLg)9uQ~jX*lb6cUyIPpu4_$cWdt=^vfMuT%k3!%%KS|cGDh7Dj{oz zOJa?1Uycg@BLZ0;u445JiBp;;`o+r2gIY`ss85y}>o9pieUv0_h%cZ%lhn~Z3biAk zK0$9%FCXuML*!zv)EK6DAs&p;Vs=h+@J;+dd@jO?&6TV#ilep6B47 z`r_VeA4ihX$2`c$S0lJTAZf{iC@?eVL9e#7vY4!>RT^j#xYdybJfLsd`zt4C%EmoA z>Brwf?zJZY`z>UWJw}$H_Nc*-B`*5mUU;Oq^_g2!mQpp;UXKacV>S>s?OzO%ZLW_R z&e-1rq4~e06F%U^ORn+6p8@Ao(+&b>ho%(&Cf@qGVOTFPWoGcBJJ|Lm;@hv=hW*{) z-<*M>MOnAzAs9DoCe+@9ZA#~Y2Z_053DE+os)z28{_J!~Z>bM%+Jjx9xU6}2Mi|_6 z0zvpjk-QB4BJo>UpZNAleg(LAWUdU!QtfmQ?7v^>{D`?+)iE5vP5T34+BeO^zsAbW z=(Qq}kXAnsPknPo*KGr_f=lw{*tg)~rhOjH$hsnBu4lj;rWtTgi8@!B_v=mOnktFE z<)Rf96FZQh#Xow-9RnACF0!b|b=U?!H@2+TD{eL4JZYF4|Vvp9=iTpuJfTfS)Bm z-~ZGJ%eYs{KOyw1%?DkE^08NxAwO!wO65yHzNN|#KO|M%{x%qfyyLON2o6dV_gx*? zc>Wlvd5m4Ahs^?U^lBUZVR7YZFV79!R3Vzp>c&Z4O4~VhMQ_wtsD76~(lST&yhh zCSAqU?wcoeem68|6I3AmnE2(pNY73@9k^GW%pilc!QiiN7vrUP*gC~4Cf*OQbG$aL z+_{qXfZ~-A?|tG0Rq@6s9=!|p6%mh~N?5N4^K9Vd*VpdXj-yh88LpTGr1&T)%3M|z z{*CDgjyln$zWc$$oweMZW3P|NSfxl-TNpBK{;iQBXu$+=?fbqFUJ89q(k_Gffy|k( zPNL7XmOXYU;_s2Nmul7}%k*r4bn%Yg6gLaIj zziNsP5g+&j{)%>%zf`}ssMqyx^rjEW#Z?fmBdTt3<3;R`ON06&{gGq1=l+-)`Opw# zwak!yHD$w*tLb>YiN8a{{nSF=Es}rg9JKaMS-V@T`RTJxFQQtw@~X0;BgB4Ghd_)j zGupmdiPRR^Kd-8N3W<=D^rdL|Lzsy9Wsu%T%=u+gom!)$mET7RdwIO=pOK<}d8azh zAg(aIew0WnAE#dzr^?%SKF09(COwNkQt~FZuDCP@h&AzY#rN8S@m*A<-^e z5uHjbe;Fo(%9!;;Q``Kdl3qbJY`ST<& zodjwTogwKdL{pyo(Ni>p9^OyevAf_SFG=ThNlCDcMJ`-eUWU zCH)tcBJ|h$h=8PjB^vhyL_pHlBRl|bH$wy@aD@bLi$nw@{W;OJ6!ND@`XbTzAOey; zPc$k;1SEZu=t!bnl0HIoGooW9eSqlZL^~z@iidzG0vr-}o@mN9zb5IYiH;_k{>TqG zK(v!+`fESr0MRXpE|v6ZqFWJ7e@#~zvx4Z>MAIKyRK_eK8dD=8AZgD$0x+#20uq=` zG|e9V3`tKR8uu?mK+@xg#tjz{kn{+mI}n{L>A^%}VS)%qx-ZdKgCPQv?oM=PqMby0 zVmcDgg#d>XXhn2aqBTiJ65WmH@>|q`hD7551`&{SU83WNE|s*6=U_ z-b$D53UnNz*&7Gl73e5#CNBOlVA?L4fpE~=O~+9-`TIYW4-uVBQydPO+2}C#;Gmg| z4w{nbD6drVd5Aw9n8KvKyJ%rWrCtL&us*petjPJd%jP*#OSR_{F2CpUCYQB%=dC7O zw&k)Hm&3T6z~yW%mvFh3%gtQA#N|O%w$aWo@CldSb9s}?T0y!9wZ#-=+)mKrjLk|o zd>YNLHY_KNO-AUZMhDGPgcl0`KQH4CP@k*}A8ys9UE6FnY#q8xss#Gg!+0sh=>k@CI8M~brT~xxjvD=A(e*v64PsvgS zcB?}BNy<0YMk)Iq&8YY`E4bDv$*rsqhJGc7lG!0cz7ykjTks^tCovw&cE&ND&A4h9 z-LJtQPfN3vOMzX5dxlt+XVM9-{ zLMh|4Afe+W#_2zx(lNP~DlagevNeBR4ZW+U^i_p#QH2(QtfdB~?Nh*N#%XIv!tsr- zJZi%Z9f^z=98@$-^>omVj#B;&MbllKj^&KI6y8y87$hh;g!f6>r$7IG+82?nk+G56C zZ!6$O?w1z~`C}6IXt$U_|7(HTpHi$8zEp+wCF6M~6flEvALA~@X;DE(1#lVyS9uR6 zG*=!i(Vsf@cdVeBJq|Ut^Viz-r@QCzc3y_8SIRclp0eQiY{PL^{sSNn1+89Kj>3jWu2dbFve+D<$F={kB_-EZ0i-6=Oa$7bz8;rY(GdW8O<1hVKH z_e`Dty(8fs;Qwo@#kZvHX?cD}o-fL?+EM*FU3aKto93-G$@vDjanK%tfz8SD=hoAs zn|5c|x;MEie_=g6Tpulq;p17#x)rmrA)zaas?g{wb9p?@^42Yv3zXG8s(4Km$MUDu z*SqPL6!o1dDpXN7zhyAo2vtS6Dxy@;Mirf8k)IK)*UE1jtT)vAN}%Z=ykwvTC%>qC zGWMsQB-wG(nQh%EZ~^1i?W}IyraB8VC3;3aN2~{y3y%x zj9WIR)tce{0(lSqm`@onl08u|v~ml6A8=}ZY>ARLrtxgX9TybNt9WfQ<7q6cXrupJ{AhA=KS^o64aK2hO=HS0FjvsuBq zd;D_X)LGX3w2SgXLopuTl7;6KOIbI$u4LT0D{qq!)%-&ix4ST2Y{BmUPF@thr=o7` z;yYH!d$h9_h5Oi$b!+%E#xGgqGZ`DY?{#pUo#`kqVO~0 z%Pjb9;1r?ci`A2>PX3O@NO6ZM!eucnI#dZ;w|kBSPEp9P7*Aw8+k%f{JJz2NxL4IS zO%_e(vi25>cAAn}p`=!^E$g1S8x?yi8!50D*&*4UU4|!@RrAMif*fYGU985ic8=w( zTYP`U@`WrPtITPaS>F0{5 zM9KCHVYYQI_C<`lt|+zns*wBr$O(?|6^tK%JauT9rTK^1j`fEGPAhqjR$&QqDJxj_ zYW|EXh~UMn5#OsUZ{6?v2IJN(nWOPKP7Y*g$21kifW=xOVjpwnUG)u+18DD0>PvwtoiXm~9&87HMJ6xPg*Cg9h&e|Ck?O?n_q~;X( zm74LBH!jAlKkP7;aqI6X+OKKvGh+ZVtUqzF5;(Qk z`Xe11SU#CvDdRwd<#CE}>n~1K8utHDa@Vwe>LLLT^%QFBkMPW4oZhq0F-wVSn+V76 zp4EGX1@OxcZ~V|)|E$jc&nD+r>*TNQqu-hTejk0Bo}C}pSML^Td=X-l2lE#KuH!}* z(BaPC-B<5j$M||BJKqm7)c7{WD39jH^@Ec9k`qd)`E&b0%J^!>C=ccDhg4{xiwxrh zrAroCLH-TEb*p}@F27@cy;oi1eaM!H`SU=B8ee1>zti_@{{H^37Hd-xi~UtuE6cwD zxUTV)hNB|CV-v=dBGe;|A)zZP_jI=M4m$7OlMfJb(W{ HJ^KFubm>E( delta 28479 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 O?>zWM(UPHh^#1{la}Q_$