From 96469a3e75531f7d53d2cf5f1a1a06edce264a5b Mon Sep 17 00:00:00 2001 From: Motschen Date: Sat, 29 Jul 2023 18:58:36 +0200 Subject: [PATCH] PictureSign 2.0 Beta 1 - Video support & rotations - Port to 1.20.1 - Add support for video playback using VLCj - YouTube videos are being played using Invidious, as VLC currently doesn't support YouTube playback - Add ability to rotate images (on X, Y & Z-axis; only with exceedVanillaLineLength enabled) - Marginally improve PictureSign helper screen - Way less bugs - GUI for Video & Rotation - Support for Hanging signs - Improved config screen - Ability to select shader program pictures are being rendered with when using Iris - Brightness of images is now based on light level at sign position by default - Ability to load URLs defined in JSON files, allowing for very long URLs like those of Twitch.tv streams, as well as start and stop times for videos --- build.gradle | 8 +- gradle.properties | 16 +- gradle/wrapper/gradle-wrapper.properties | 2 +- ...b-0.2.0-mnd.jar => videolib-0.2.1-mnd.jar} | Bin 508638 -> 508927 bytes .../picturesign/PictureSignClient.java | 16 +- .../picturesign/config/PictureSignConfig.java | 46 +- .../MixinHangingSignBlockEntityRenderer.java | 40 ++ .../mixin/MixinSignBlockEntity.java | 4 +- .../mixin/MixinSignBlockEntityRenderer.java | 14 +- .../mixin/MixinSignEditScreen.java | 34 +- .../render/PictureSignRenderer.java | 86 ++-- .../screen/PictureSignHelperScreen.java | 398 ++++++++++-------- .../picturesign/util/PictureSignType.java | 11 +- .../picturesign/util/PictureURLUtils.java | 14 +- .../picturesign/util/VideoHandler.java | 3 + .../assets/picturesign/lang/de_de.json | 15 +- .../assets/picturesign/lang/en_us.json | 16 +- src/main/resources/picturesign.mixins.json | 1 + 18 files changed, 459 insertions(+), 265 deletions(-) rename localMaven/{videolib-0.2.0-mnd.jar => videolib-0.2.1-mnd.jar} (72%) create mode 100755 src/main/java/eu/midnightdust/picturesign/mixin/MixinHangingSignBlockEntityRenderer.java diff --git a/build.gradle b/build.gradle index dae4d1f..ae4e48c 100755 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '1.0-SNAPSHOT' + id 'fabric-loom' version '1.2-SNAPSHOT' id 'maven-publish' } @@ -17,12 +17,6 @@ repositories { maven { url = "https://api.modrinth.com/maven" } - maven { - url "https://cursemaven.com" - content { - includeGroup "curse.maven" - } - } flatDir { dirs("localMaven") } diff --git a/gradle.properties b/gradle.properties index 49c77cd..5e6e038 100755 --- a/gradle.properties +++ b/gradle.properties @@ -3,20 +3,20 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/use - minecraft_version=1.19 - yarn_mappings=1.19+build.4 - loader_version=0.14.8 + minecraft_version=1.20.1 + yarn_mappings=1.20.1+build.2 + loader_version=0.14.21 # Mod Properties - mod_version = 1.5.0 + mod_version = 2.0.0-beta.1 maven_group = eu.midnightdust archives_base_name = picturesign # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version=0.56.0+1.19 - midnightlib_version=1.0.0-fabric - videolib_version=0.2.0-mnd + fabric_version=0.83.1+1.20.1 + midnightlib_version=1.4.1-fabric + videolib_version=0.2.1-mnd vlcj_version=4.8.2 - iris_version=1.19.x-v1.2.5 + iris_version=1.6.4+1.20 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ffed3a2..59bc51a 100755 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/localMaven/videolib-0.2.0-mnd.jar b/localMaven/videolib-0.2.1-mnd.jar similarity index 72% rename from localMaven/videolib-0.2.0-mnd.jar rename to localMaven/videolib-0.2.1-mnd.jar index f91c75054313a6b94f0e18df40dffe81e836740b..f5894bf8f37ca9b290e8cb6f32648e7ada18d2f9 100644 GIT binary patch delta 120067 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

qsqc-jHnzg; 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

Son-bW1Ka@BWHSY7BKofJ5s|=|J*Ny^Nb1Q z)gWMuQ4@dK#!`u_Mrg#dYf#aV|5T`2DZ_wY%GGc zO7TsVMXa(J`$$dX5sy>k*8L_X4Bk|&z0W78YUfW4$EgmfqY8uPX;5FF@kol}C}l(2 zcjl5G)}?)($f(=UJU)&`)NW=U)%W z;9Y;QyywFgxxGYYql4eAXdlYBHaZy7dB=0aAn8Cnzll|5m8_11fC-+Go^=U*wKuhhy3>TFIuT9!Vx?8!~{ z)Rnu~K??~%yXUu*3Y;biyi9bHQ82QC<%D1%@gyvL$Q_Cz1YJ1ybuev7uBs!?Nq-cCWD42S8Ayv?6+Qh>wo;*CngIBEX#qFJsAt;(38u7WRi(i}T z+w0Httd34{K4-zjdc|n)zVVT8)O>NQWt;^SzAPD(rU3I&vi~#m*b`)qU}#UW2#$XLSl^Pl!j55Ltye;R+t_{15|kJo!X8*{j!y&*;FtpiqQ{@;5(l*PLw|W5M-hm5 z{YcRwUgCLpY$^|imO5twp=mY->Bm)Km9@M5{G2FW3s3A} zB$5Y45IOGi*>Q_SSz-_}tiG+r5!%s9`H-J`x}xrLXTeFyCpn)aHJdNQYez7`lf? zSDW-4S&>~V;T?|9q^PO}l+112FS-&%*f=jaa%cnyCkd4@s8RE8X36_up5 zD`FtaguOhzkXvBeL5kUBf%i2px|G^q4aZ0VUSm+kWucvXo8M#8|46En#%xQT+#6-( zzI)j!fijiwQQ+uXLbQ;)h{z2pvCRGQh`K>+-n;whCwcEMZ3D#N+vx62m7Hi4#N&}> zOV4hlA^fW7u>Ic^;kMJRLcti}7 zBNp(YL#90PQ;C%@TXI6TWB>(^+6%^w$`~X1U+@shBlNI+Hriai?xR)CBRXQ$G^6Xwz zf0K0ND>=b+?jz$ndiw@9+&RBdCrMdehWwpPsX$24iIS1cyy@V#1zi|}aF3OS^Tp~7?a;q&dN_P%-6U~P;sSVX*a+U%>(yl)(rC?8M;^hkURG^h zZXW2Dv(t=y{rM6Lm<1CLCz$ceYyu~?#{~I;?58g(Uy8@Z564ymR$gcr6XkPjDG7gV zSa~Iv>@=SiBLXzD2k4?#IfFk{?j7F=-ZY|Xt}NtMc#r4E1a>;W0*0fd!<$%&EaCnB zF8$|K3Znx7aci~oEOFY{3KCQnA9*%N7QOrP#|qsBA5eX7)nx)>VG?khj3;6_Oh#JV z6s=k%b9^eWB{sLf(xK{oIjaIR3td@7mnfcEs|Y~s7=gbHj~u5nh=QP$n! zm3yC)2@Wb(5G2Peos_4(kR%dsLRRFyHhXUj!{MUIV%v+3gbaP?m&rgp#j1Z07hK6< z@IIhD)eVz(`m6zLWy_L3{nU{r-K=BH@e0uO4SIpyK zBNJ^sZCrUwn^9B;!PpJ!(jFDa{y zl;cbZd)PePYbB}KiyTIkNsPvMQfssx%9HoHcDq;`NUcEgB*q_!9Ib!K@c{?-=c%fW z0*N55wA)|M@o_oCWfD3oziQBrmT%POz@Kj$74p4T8AjU`qJRtba_=s}v9ldvgz|kU z!vA0;xQUNhlG{6)S=YCg4$D?Ob+YY%ReN;B&?DtB7NYV8TmFb$KSuc=ayu_)1xC_U zBm8w@Ro2+SzIQ6xQ)YkS+(^DLzU*)BA)<>^;!P93?NWa~T;Ws_pIq3FnMd_-=6#tj zUkUw0_y@S&Je5d-JFOyCxm8IGWz;pblxSJW>q5*Ka{A)pq>{2Uq`4?bADVa&!s7zq z{X)M!pg6P)_2Z2OuUPlbI6T(2ihMI2XX0UHJIe&s9UbbL@iKoF9cz`nWmuJ4vHU`~A z15?l$`1yP6?y`O;=ICv%-_9!p-llboArV6PRxn^0Bg*yjOny4Xj{Sp3?D7fe19@X_25XD0@S zv4?~^gk@hW+2WESr; z=6kBdimH3`<=;rZWG7U)v=gCh(a^Qac%E9iozIYkd{^NP!2hf>zBTXV5>HIAO#CB* zf_5aTaL9?2-{=OvOk7Ep6LnX z&r>VhVG~M%+26lMM>JaJ&RdKJ# zv&g}qbL$pStBg;Ts&r|SnW%Ay!TX58ResG-aq~{@={g^~M`N%%@*B_l^lQJb;P*jZ zj^%m^EvUwNsYW*ABQj}n_G)P_L2~?W3*!tIL)B;Knc&A-D@ja|uMlIaKk5d2M_4xt zE%;mqd4gwid(8&cm&(>Knc^3CNL-s{@xu}7(eK%&6ErmHd*Own93SG{(nf8WWnGQa zYBN4Dxx_2Kgs;4t&)RB`)HV}9|60xD7ggOii!;uTC1ujfuHv!M;vTDo+eZEO?oJq{p3ZAP`x1Hws^CJ-{wG7`qj&7s)RBQ?V}PR|#_u%i*D?cDa;GRy6E9LCm<093?(Ziaq1He>yIhVUG*kGpd_)ihcw*e z3+Jq{Pz11{!bY#RF^iAECl!e-nvf!tMB>~+gPtPPA+s*RD02?GeG58EP?e@DDO{4& zU002BpJ0OJxT>Kp$D%0VJ3lrsmqLUBC05Te6w9*b+?=2(!w4&f2T!mwkixk5%SSLK zp1@lI($8ILjhZQ&K2A?Ti>}4w3UunMA+_DIjq*GN)>PQBgNp6!dw5B0NJAkKn2fSr ziipLL`I=a9p%Oxu?8|~)yN=$4uuDRusCLqqUE9(4toKy{UAQ-{Ux##l3@fGY5yP-; zNdlKGt-S)@g2i7BsUo`r@kKeaV3ATJHWJ&r zggcE;PWE1ixTYPd;RU5pa(;{dlv9UL=RG&iDm{W8j9uGVu*0Jb3V6fD(QAw@hdb+9 z)2@lBquR@AL1M3&X!`O=_LB#8rV2%|2P_ht6NhLd78@LRS)XuuC4Lj46*@8j|89Sz zS9N9uoCliEN~4z1L2WF0=c9dDyjr8RGsqu{d&`i%W{sb~(Bzg6={FYeR5@C?Zhc!l z7=01QjC?MJeNJ=Qp>Ep^zeOO%n>?59wo8<8`RVCo*ZU6wsiaiYg}F!?pJ&{pAS-BstQAzs816zgG2Jk zKae3fc_I+>GH*4;#hDH|su$ToG1A3(d=8w2?KSf53xfklGEN{NzbHmVNaI%W!jt4# zGHXHRRsE+GSBCd7b%o>T%yaPYccnE-gHh(s%-~oFcSo#+eW_yGrj%BXL^3j z;p`4@#&jc;f)~I&{Vwf72eS!-GJ4)1_(rjxu>Et4wDq3KPB5EJ9eGNg@^jw9m!UJE zXXV=*z+>04jQwj!3nWn z%KC-#mF`~Tpd`KuyUXa>YV3O9<6>11`mkTu(xB%gcg8q6P2L?Vv0U?k#t0fVAMth4 zlW7jQ93#e4keCiDFRGE^=W!dz|AR`lVEZZ--vlX=P!>1TDTtginn6st}RI)U_tpOL@f5 z3f*}~c1o`p*rVutS<~tq4F;(nC%paw`9BH!S6j7o3?RQi8H)=gU;1*fGJ})$0F=hC z%evt&M{SP8it5gBUzH2=t>6YWs!rO*qpEDS9RXONy;edv3U+R3` z)-I`Pn%`dr$h;eHj0%|fvdDDxOsXMviL=*X=9`B-R<;}eToTm#MzobZ9k1aq&jl$p zj;??U&L)t)ywY_|Z%!I{Cg)eeSJhagOhqW8s*&PFD69VOTOy{A%o1SzUaTM$a@48y z$P%%3a{8?eg;btg9I$y3$ckw97filP=c28uw9&pE#<$xI4Yf?DLZYI2!5KPeKy}a* z7EJh@>IC|EzhF9x{5}+|f|6Qd9fz8FyeNLhm&|KWbVP97>zMS8vlf@D-J|1TXD?hK zMEgV@>&j;1m-dXF+j*BF4ejqdbH3Moc6Wa^@Zf4^yshkxKNfFl^L49x-*^1O>8tgp zgN~Gl?UHS3gZC2UJbcvkXY<@E`by?BVPg1kEK*L}UzwOqk8ifOj8b5y=jk)}8~3bi)RSb3X0-a*0aTkR}SD|$-a0YA?rU%_W%V=Wdt2a{Uqn#c2VZT-h}2Ry9Rn+=Aqz@mBCmOeU{pwEhg{@ z9yprjg%wLF>U|j*8_&dQY7Ok`$9<`5UzoWrrUL5D7*U)BaqlV=QfA?QqCI{79hU-> zP~-Uh`K}|O-dvL&%&8aeA@b&;)Djp;7t?*~^Q1*4jH}3gL9^3ZZz5Y4INC%pS16an zy4t;8{d%REM%0jaxD2+UEmnEVy6KQKxlw7`VOCI( zwP@B{2;?_G*A%f^tB$&dvVyVRY_(~k@#VOe)*8-!`3&n# zTG;Yw^{KlXpKkvm7ggIhzjE9YeQ|p6ygIM#9=9FGjg>x=T`e7+*rClGlcQetn+>^| z)InzuFRvqHz9Bbx4I4MMk5}+DBhNOwLnqq7_8dOdw!g6pq{=WRr!9L8BDd%!j)xg< zV4S1^?zR^12M09fpc&5F+=03LUmuvmmedUd>EUs;52Tw(lmXK!4>0`hpAgxx`oe@R ztBJmxf=0g&RvMWzk1VplaS%-64eGmdPqnJ|jJY=5GTzPdpem^fGNcVCyim)}{xnOh zriX>{i4Gd`sK;_4GES8blvU6UgwIJf7@-=f!HfK!W{o+yEI+{1fH~bd_2Z(L58GZO zSy=G9MP7pc;YILprca1yU?qzZAWiA)a4$Br7ElCwz>uuij#o|_VG1|>KI5)^vx!wMLw ze#{ku0Xsj5;4O;crP&Qw+#EDeRSfX#8dyoseUqZ)Po6fd8IWKlR6S+&B+}~G8_095 zta>$v&a+LM>6tRDHfPqu=~INa)T?vq%C_9VsrN41l{tMq zp@UwiF2a~KEnXW5c6t{Zpyw-8H8rgHqyRQB4D#Ykgn=0KVr>vfaKQ=5lP!7zCHTZ} z3MMQmfRpTMi9uiH>9>@M+^d|c5M#ssH8upf$V}9?GW4Uf;&0ZO=H7l8AS->7NjS|rCXb{TqL(U>ZM%e{V0VRuNK+!V;q!fyYTW`MCJaf#o2rn7i4 zX`mi=FA#<{;^iTTVe30UDx1&4$~D|yYFw)`7S)%Ga^?pGV@dpuzO2&mOT;G!R+#!! zO>SI;O|s?N5g(#X)x_q-jRz<5vR&UYJ1^(+J%igyd_ncJdG&DriB}P|@r1*f@>*y> zlpOSidsc<|i#((6_t~NW4b>~garsh04Wo3b(=@vi*HR$DTrr1DT_}zpKDc6l!FbJl zh_Ew<#bf+qLpGbwWs|XR+f#VidP^gMSAZ@%Pt^f!+S5}vYWKe1qArfkX%iU{+|4u%okQW z5ndra1w;z?cRnP;p{)~f+TW7yJuuUs-F$v-FrcevEp?!4UREGrC3Lk^q|t25a9z&s zIr`yi()0b*0?O#z2&pvT+^K*VWEmlvXo|ESoSrWCGE<<3%e8k5^&em2zXwMUZ}XVU zi0;1U9n8V_WKE)c);NR=hY*hRBAPuz&nG%L{&E%0Nh=X@G?-g%H6x{V#49tq}wd#f9>rqrTK>>nPN=lZBEt_wS zgHNzuy_H_bTnJ|k4AN6U_rQFiyraLD!X$5OduaYXpSI4^t!uTlKDN}VL0fRKvU7rJ zu)YG9($2m#{u4pQoSqPxR~asak?Y4ptKIi6;1utTLH%6@W>&aYdo476LG7eOcypI) zk{tJw*H+0S0Qe}cYvZSuFkL97T*jxz6lNpOCZfAK-ohep-$YzbHa{n$mktUP-TU!k z6LRf?&^8Pc-#fbVx7jl+dHJU&H*(BHX zkB@56OROGtm@$e)o`bj-5_o+|_+5o)K4|-{4kmA>>(Iz@KY=07+3d%i(auvzS#{R> zm||0=tg0uPplKoAbT|c@;7UNYu~C+0?{XT&nUhXxIRd7_u}*44U3y6Y6M>cT^h4`~ z<%e`skS;H}H}2QZ6iy*x7CT>xXL48M&{i-!Yo4E!@a5Ofq1Mge*BQpO(;>uaZO&Q2 z4|)4WFRWl&=zulsuBh~H%jw>YlbzHP&L39;C)wW$D|}1j+F{tysX2-i{whsC`e*%DJ8v#s*Fq1 zS7S`?ghJj>OU4w*9b6Z8^ng%@6b<;b_{N#cM@@ot80;1gwb(T}oOCD}3(c-s^ds;}6fc0Nj@S{Eqp7 za$m8LR8KE&!CRM$6`G72uOV~;D>YaUIQNQ1bNQS=Z`m53+=rFcJkg1F1}{wnS|#M! z;u3o+cHC-y`Dy!2`e6C2t5*=VtYx7XF^JB-g0qZsfTB{jhq5Eat4eT~P9o<0Y|n=! zR#k;;TGcj2+cXT%<)B(=%VFP@-q!dE8U{nTRrn}7AbKlmIK`3QC%dPVD5ZS+A;I;i zA8K$&UhQylMOKn^E*xh@rC@OkAC9cVRnwQefxTo=`fe3cbF8Q6g6grTmX#a0-2kFF zO5!?Pk#Swj=;W7fw6oc?y2P3r=L|39*qN*xMnJK9Dyk!7Bi#DtG`!XXE8$0o@c}pbq>q>@DX&rCKAp7m7NPX6Zp#r-mXKgeKS;qMo%JKQj^q)Q!86ura4 z)9^{C6f_&eFr?63?+Hu)jWl9oP?A#CqGi-P-nb;C#CAoG-{@jylQ~e$j^I6LzN5gZ z0@HOtP22HcIC6lZI+`kU3g?8K{cBK~7eiEy(E8k|kJfYD;o6wlJCoPwA1Y2Ypr2dS zYGNd#du&UxN&B-H%?MNgcx7ZuS|+v zYb@Dh!O1q)@f}~&A&cP;s$UP0l?+UwPY%$V)F~8kk2k52yhp&4u*I|J0L{&nFr}za zchE!-m7|`v+CeU$jSXz_ZgT-b)BNUp1n>%k1dZ!0sy_FlcOQ0Ry5w`XIQL>XTCi8= zQ(C|ZFtoE?U7D91#tW+0q#!azkZkZTbckp5$=dH9F~U&@WXWJT8*TNvt6Go+GgyPn zg*6jyoV#&N(Huk<;bERpfSU619u7##aFy3_UoaAheyPM~cG`GXntjSIC%suGb_4Ix zY07Wbxv8AO=Ey$m+bXtW^{LSMlY;ISs2=))uN>^dXDZ6yRwiR6OA1?>x!9b{v9W5q zqt~v7Wbh4#!MU|Xg*_L!{36R;PeMXX7w-Cw8A_`=NL1ackPph$-=AD?7d&!=2w|{mhQF+AMRRQb1f(BjV`V{gH7s2 zLUC2#R2#j{>OhrG=~CXrDsnDwzi_iDQhX7cHJ z|JSK$7BH$N;n1CIL5OPaH{Ogp7;s6fK_kE^l6|%4WDoz&!c1cA>I5vDZ=XQYub@#$ z!+6C+mH3%OldF;Y+w0TH)>N+D0@(xXepFh>OXu7}<0hC3UY8z#&hba&)6DF5K42qq z4n$Y$K(XBfe>M#1aXL=CR2_&`-MhShQ$y$EER(FEC|B9wuzFI+IM+E6PH=tDEjiLa zN{{&VAjo@#q?k1hWFzf2PkSwSJ_rAh$Gm@j13z)^L0^`ibCK11-ZXwsvVGcN2d`%P z3CzT!r=|T!X~Y zNxxbpAWYkfUY_)teK?#rb~?4vGXr&MZJjr6{X2yxxTCOD}YF`Y5Lh-&-^!IhNk+t$K-uf%Xbwu#Rvg6J}dWxi<5q zq(ruop5aBelyTnbqF={tEq0*a;u20hAd*WdYc)}A4vD_dG1V>61%vKvzI{BA{D_3u z+dC41+|wuGD?+XDY+Dlr4hRo~hle?jW@^_a+&;Sy)!NyhV7a^P)zO};^nP+ZDz^at z@J*+F0-Z|x8l*>fNS54af$HaOhS8Y{f3?o8Z9$zRP1SgL5qWL>GH$EmpWYk z<0t+IKdxDgH7#88q}z9NY%ZIhd?@A;YRx=Ce(<;rkpT5oz80(F+=lOvGj6GT-CECy zgu9B<)lu1%(Zrdxt7M?fA?8^y5-xzH0(!^YhNq<(R)t%3d}9JNJeaTSEP z*!-$XeoXwc&s}Dw8!O}REcd2dfd$-U5&Ai6Zo1-}^TTPkyK4{wl0$SEPhg!2AVQz4 zp+4v6Gb+e#MD@}`7ikxD`_tW+;^|w0GM%>O;2=s3pQW)+!fgte)`y`3R#r@wR-8`0 z&VhU?thTR)9pG&-1mJ#rwcWcoWc|n;R~wc#5V1Dt9mF!S)bjqeo*aBgQ-OIb8{8bP zL3FPqdZ6w&)YgXh6621lL#*)fU@Ii2Sqtmi!f*#@^&o*~aeGCxmE~0YbvbOQC`jFo zKUDZY+XK#1w?_LIwxaZwf<^oAhO{X7P6MvTibYCR>p)L<49DpuoNNtY$7+pb){Io48E#pE-Vf02X0B1+)ur&JmA6u+77%>O%Ks^@gS#+5&V>O zt!PysX!Y3y=wjvQaW>9@&M#{F^Y?Zzm{D^%SH7{C%ovxVINLg-SF(gyFfS~S(9c%j zpJZG%zJXr6{jnIOR}dsc=#1e)xc{|#^1{-4o5+#92E%BFF->sw$`LP*1M0N!faQ)Kl*7;-oT`fv-HCp`598NXok8Hio=Ye~W-#&CoF@$Cc@dS)Ek z-n652C~dw+MVPW3vVn9?r4+IUeUK8@^~oh~yUUs&}?w~rzFuNMtA$h6Td;5f(N)U}cX zL4gx|>&}Z!jpxvd+|N-=q4wtS`^nDANiR@OpB*9*Gp~G!Ks2pd_#{lon?~8JGI5jW zcEXEZDgpYb?-U?5yMkA@O=-{G2d8Su=a-c6A10pn@m^T1H$8qV@7R_z=`b++;rmqP% ztiq92x3~-M9WYUj(zTakuL>PtbdBx|sOoiI>fy}?OFcMUovd0P;ycRp7Z&S9ni`3e z9{ObU!n-L*u6vk+Z*3F`ttua8EWql;4^c#PCr+@09n5z7*48>YHNbP^O_wz1RlQ_fv$v?2$Z<*@4JQ{>^$j!A=G>}#Af_0`oF1n; zZx8Y=F^s!1HR#ME6OBCvjuh0XWwB#1&W?!etjP6)g6bmXZiKp~q0L0NR5$oGcM(m; z&3jUQlp5c-X6EK(<`+Z127ozn-dX7v=ZNl`Y#Ti5l|Z-0kCHCmuj6mfdb?; zoCquqSA;EFL+y#p6q~%Gj=Ufn)(*m5an_cOHRF7=(Iwi+;O`|1q=7YTT_dfa?<|r- z-mFVNHujOGa4|*w>;Yp(J1n@X^u?pDGx++MK@7+{k(y1^q4}_^gLyM$C|B zPO;K^JF^x0xy(pzY1UNYY3!EWxvkszGs9Ojt#6eUo~5lZnzl6w&-a6BTp!RTu}xuW zihPUTl?nqB%o)B%1Us}|(1r;V8<{wK?5EE6U$3>@p|c{fHP}=d8ApGX`q}M%>&Wpc znDS7r@nTV)j0`L2Q~e8hq(d@MTBBC(DTV77MD&afBtlyAJ6Dx!@ngD{Q%MlAK zuP5wse@8SRkE|g_c=Hhb5lpi%M_UiQJ^3o%0aNt>;e6#PC(#}zCmaz&*O_DtFTCQd z3G%BEn1>@z6xS<{BW-C7pP;lct}4aAD4{v#;ghhd9&A;qJLY#SNS7ME+$%250(kGZ zU>}a$m4sHZ)K~LrK|qgR>u`%^lEWZe1(0mL*7_l)Xg1W_L=MsTW()-xQBh2 zv8}_^<^Po^NoH~aLLlpWt_UL^2TN3&uz1WYMU3ko!kR7Ah{5BDJ-jJR!a%jPiea=CMIk$y~4>(?Re$G6D zIL>$#Iw}<20{5Qz_lNffZ!L0kya6RsvGXCyYxBZuBoyNdx|8=_(ss& zv56$)Zl$lGOV()FWqtOX_7?y)ez*^U-5c}nFkx37poO#t`{toe5|a)&JPwpS?y13< zDtGew6;N2CcaUI9cI49i~*+l@u9rLjEB>TXcShI;vmP zwigkaOYUQ9$~#JOuTS);D|(uUtF-T5kdp$P5SI{ego|EvgcEb>dou` zy850(LxfFLD49yxqCK4F$Opw0zIRRlovs6!2T+eBLPZ%zb)9>=e!I!({n*XrF$vlH zuB8sss_y8_*Ah)ZeId2xAg@KG zyE5aE`Pv?7VsecOZqB}o#tK%QV41ypXJ^n_@lDM`)Pon%cHfNH#S-n%gUVe!$O_wQ za_y>&=JUxKty;?BMbkaa>5X#}SV{e2c_6B-81LC-)7g%ZhuG0-^#ajdtVnTzGj4hF#Oz|_Ry{F8DirV`Sw#h8E^{TldNI(#QoMn^TKVZ=9`$fCJ{q)m zCRNvvvcop{Vx6!)X5q+;GkYbGeu0WH#VRTRmQvLvdIJLZp}iaVyFMd zO%Z-`lk$Dh<=mQhXMh{Y$2MUrOpteS;guGBSs$x?#9OToEe~WXI@p{yO-RUNYhWL< zR#0=pH20g`=KhtNw+!I>*;E9tv6hK}Y z1{NEDfPernG96V0n}-AWQEXPj4gdZImxcrJOcEqeDI6s>C9rbgVYd(vq*(o=K78O5 za|dQhVqsWCOXD1q^{zX^hyCd0Mm zoWZ%m;%6Y{r=ADs=I_E0V zi!`?>gzHX^Cj0pb(n-KoPOSt!!RE=0fU2gIiG>%uda6q<5z4zl^E`e>+}AO$v{ko; zE-`M6sh;L!!abe6f)UeM7}>^-j_^oB1Gt)P@L~wd1*7+(%}GADiLr zXy~@d_^q`;3wU1(8O8KIe?lKqqisV{K=B$6GmvI}orYKi%aL;T-6eTiv3m3!z1Hh@ zv!Hk-i(VrS4sNO+p><_K6FphcJ{R8Fc6RT(@Ple?k&O)j-5{PGUjhcH@q9q$H z$MZinqViL1bJ%0P*;AEIqsiLd%xaJCb4On+#cSqE zAn6EU$gyck-%dsbriA3$kr&>CY^RPY=2H;w_*dVGq4YO^@S2*wMVT(H7@U{rM!F zY0OrrTA7B<*H59v)2-$vrXK00X;Df2DxyUWtbJ6JTU^$RIQJ=X2OZI@3I3Cp`4bR> ztfKbJJWG!e?>p{20c$vVOhVNM+BO0+h8Y`BsJ*3+x-V(cQ9-J_F77d--e{ zh)SiC+^4B})0w#Hch@dQI<$*n(9P3fk_z3bImNR1k!8}ZA2 zynWD<7N6ed+0*ExMz!S(h`eaU*kL2WaeG;F3Mhragw`Fl;Z8um@TYbFCPX1so_JBday zn_!=h)9cFFak5SHWAaER=_x@(t`7;TsSj@}Y$Ias-xfCaL$A<%VpU^Ui3Ww3SQgk3 zpg&t|v_~W=+a7G$`j_1=Ni~XV?+Grx)BIfKR z;CWQz`?k&;qeA<?4&lI|2Xe2oH4cfrIJUN>^)(t|r}B=QPd%`nb__0f^Vv~U z!4ndV_mUbf#^I?h9L$Yq6MldinArM}8kA1Mw~{L4qi&2S2~NO4yusLntVS$ToID)y zs>R=HBh{Mn8-y{nIB9x%xxzoDxcLZ43n`g(tn2Gt@)>^;aA7yHS{kePtjjm~Mg*xY zG}S+eyb_A~x~;h@Y$do;F#6lZvE_-bvf9v-GEJ1;s_xk*9Kq{IYwHmpO*jfl_+m#b z<@nXqBjd~B#J>HIr$NwaK5v<2z`_UT7Kuf2q7$z~#tiGJ{ zAVS_Y>dX~9vlh;s8_1@PDeLT~;5d zaXVgf&roIZOgHPT)1gC!G7PuXFpo`emM6dqIXT>|x$=pmUQ7&X^4&Do@p9N(4|UP! z<{UW@y-Ro$IB>Du$RPhYv^Z&!R+V{N=>*KHNfe25Ea+LP4%)0` zWX_FpE7feWkZ_p&>g|Fp38UBAV69i6DvCxzrbzFchpuDwS=ydnL+CsKRCIWPwd!*J z%?Rf$4aN{RWgXTWiUF35b%zt0w|wol&X)E`YK=y7Ist<;CkpmxqCdteLX0Wqijkd8 zM0I@G#SQVRP)+(x0koQt2WRI~-xkJd^w*|2VJ1r`$MxW_F5^}C-e@mKTnMAj6-qCn zX|4{pyx3|n^{L^~vyNK<6N7>DGAIu(N?Vpb2>Y^P*;%qXoS`XozU`Ir-m5hfF(eU6 zlzIn<4Q15WZ;Cc${{SB~O`)IJ=YOvU6>x4Abu_WlLOp?LG?ES@*(BJ=nGKEv14#wk zLb@GL6VhjLl#OEbGuxz_Gz-s%FZr#$hJ?5j?+tpc^;5dG5sQjrh+wyh*w+m+K(76$ zuiRy-#j=CJJ76FQh;R-5*u^2aaW^m_GV8v~Xnx<}7D1SoX5I@&XOg{C`Hs(bIAmsA z{Cai!8D9gN5JhcuyN-ryfcslVcQoCip+m$Dn=7+Hde7mfNh(AXHmR&DF_N5z(!}${ zN|HF5y>VwlY9mjudP4`&owo$M{8xR4119Kg*iB@_jfJQKL2z%QXQ(};Mt$X5Lo83j zC3~fik^@T{oeyt@6v8<|OO7^njxQ7ttY_JlNuM;XR)EoxOSX}3O)?@bk=f3M#s*ko z7qsJ!5x#Cb{cb(;3FC)QqTBpi9xEB`3nQON6aEK_YRjJSd^nH2e2ep*JE{YX@{kE3 zd>MvKjD0cH7EnGC1D3uHx`24ofopA44fUd-YLnrat^S7Tt=Dr#qC@~t!jh#QzI`ly z#_bz9R8^Y6IYZQmeT_Z2g<|&Z=aGr9jy2Uw6A`cr<+gh%*^e%JLtZpu`U0veN;XEN z(B85nTD_0DJI-_n%jsU|ZI}Dih99>&+qGV#W{im*5rAsNV=`!{q*7!HwpJ{p2zP@n z+qO{}B+boDj%^T-5}%47vG-XUY;y{lv|FJ~rQHq=$sT0ttYgwm3guPExvxxVVkmNa zUa15DGK^@(%eF{Ed_R4XYZH3Wr8{)FXZV!}tl7Wo7)Cvs=z_Vh8xRre?4dyj(fApP=Bx_ERj%YS7!Hy48e>}jpZ3!GQnDaa=!)_ zH^V%4(zpI9o({7OOd-dUVqqy|Ze>QaWdBTYzEfl4rWU%9a_dkKG!;Th#{1qoKZ)x_-NjtG->BtSFfLGDcR(!@u#@hZM{U@c6OYp4D+l6VLk8uComl#a+yX|B@t$pfRQ57Ol`9^WfM+Th8>XEtTl zIx9bc(8t#Gla3j(#hs*{6);Dy1VD zX^>MO<#lp1bhNKKW(cDTn8PZ+2&(^Z8~3odCBF)cj%|5uT^27nHSY!P(v+A^H&{^h zY!ag|jVdP9hoQ;0C^0j^kxkz=o5q%WZVpN?lDA0MD!|$8T{31nQ?Y#JfJd7CXw;A9V*3@pQtE|bVMqwAy0hnc_HmF|IluvbJ^jg7n12k zAP{-oH2f-}%xG2!N5}C5WUeuCe<|B=QaT-~vpCVo?ESJ%8JWv&xDRp%=w4s<0+jTj zV+HE6pQ5*qbyT`m%#+2IKq<25t$1A<SZyv2!8YU0w{0?e#a5ajhxcjs)$f429~zk5@Eb!z!hxx~QiE)Y+pd1-k= zw4(^aXpYOAj#l;%S=G%+4f*4iJ0U0vbHQF3DGu%2y*Aktjk|P;7xjchNG6Sbsjrq?)QWCi&^KVqe ziBg&MvUU5b*7UT-WTGZZcij@)xEkGicRt~>DcK%cH+HaemaoSpLKl3^heHH8MZFu< z&I?RLBe3be5u3vNWubd#S`^BH6lQMK+b{j6+iUU7fqP}}~r z)cE8ba9}!Sk`~S*FD##?Rm7qiv^YlC&hCFA7HPB2>+KQ`yHl3Dl7nd7><6!lUft;q zv=^QBO=^_i?|O|5(4U+*yI53dqSe#J76$u62b8BdMLl&)o=PrP#8g z;nqo(QMTTpAEC|aT8!kGCsb`{vfa19sD!)fASAhfAVhT$vJpzP9<~p?pnBGbiEIYm zaNIOU^TGUymYdTfsPZ9cjntUp`u3G?KTIS2R(Q8?XB-o}BT8kkq77>ZoOC+*)I&+& zn0O*JQZ(>U^DF9Cw4GoV_gHbNi(Z+P-6I~VA(j?w0NZcGi@8?f&;}Z8^w`BX7 zhd{ChwKO{Nl=$Fa)<8I*b8k8+pcC+r<$oe7GiTf-*^lP;P+ED^&Sl$o5p5xXb!X20 zAZk0;c1(Rqaa0VB7Y_Kw{QgZFUgW*K-l@(=b1|_k^!r`1am?mIZPM;1xaqa*P56jScwgAjJ@JkRsAuY*!9e{sQE{wuGFf{Q4LM8vr?I0sQRWTM=s@O0tul*kifcMf#hue75coqvn9G505GBm0MI?sJB9=<`3huV|6A&J zz5fyf0N^~5l28XkA1dJzJYwnhK)^!jkc@@?f>Cn(M&<9IR6|L18c0H1ArWIg(mw{i zPX`kJzk>aBKF5*)Bs7rL0sstbto~y1=Rw`i^7`BNpRnJ3M}DN+`+r2uOzh2^{tpe{ ze25{a8Zc%i5bv)*|H}@zz6pZ5`Go@8;6VYoesS_Q^zU$gx>T>XHwcRW0OUdz0qY}| z#I(W71wdM`Vj~a(`@clNb$O5sR~!F?(SUFAfYfY%!~PWXqC#$oUVMzq14;%Z0!y9sg2kTM2~!KU5|ZLa_J$Vllw1B|wyDoqDXF zedxcE@T(%A0d9Y(*D-`b{2lqoU({xZa;g783O563|6%oaSdGOjVIQPjT@U~O%#Ub! z?)jGyNLEq6@&;dUW_Ram}Cp@(7Y& z0x*9bkl??S=GQ^6yV3u858j6S|Xeq%R1+6Z^Zdme;}C zw-5z|kQv4BNWop|-wJ*?jQ&U3K=lxJ^}qf?gCVrxgRkm<$p3`)Xl?u)B~TS$r~)7! zxTG8i$N9&02EBikCl7H-5(ogWJ#y^!UvaQpJ*1ESP2wXeg0oD*aQHu5Q z8i54=>3|*srL8<9fxHkMqL1W#oBomiwF0016YK9e1SkG1n0Ku|vA+ri8N5*j#Qz8T z|K?@9<1f9;bpO{xnRhv)eGW;11tbNJCkk2TKk_7hsw{(IowN%q0KkI-Ql5{ZYVZC_ zIw1>)^`C@PGp4`xhLF(=A(ZivDAD|1qCaZ~>{AEC`%n2;%o$uah~wUnamfBi9%kh) zc}QEv`_;|<B zDYky;fiwitKMA*CCV<%>!*Z78e+%pE{1m2%M%h9Cld!JYtAs!Zi7$}>0M17d+~58c zflUjL5Uf-F+gg28Rf3R@VJ@JdqD$Lxzz{6mKLzy&W((<>Fa~f?;529`CU9*okm|p2 z7La?nFbBYYahN~*(jU9ZOf96QEs?;s4Un2%Vt~Tq{B1P+?trcG1bQK4^_ao~0Ai2g zJV5>FJLGR%|DB}23%c6f3UfjP_aLdEeI!VZ2?cJ&hNAzYbKd2USZcBUq6Sin9RD5i zUNHp5iT5jHnxB*XDf{2O>UT$42u9AAArtNtQYT!G9N8!MANKK}(4&(pvHui`<3}D} zGRUUhgYbWM5K*FkG_e0kns7)X_Z&jP8Dtm0{mA|*%`fR_n*f?Wa={MS!obKg{9=p% zY*P5Asg?&RC+HHEp9v)cuiHSO{mC6R5~XVmNM4eD7Vjf>m^q-pk;OoX|7QCJGFxB} zx&BECF<3GSi2R?7Cr7+x%ZHdCgw)LAJr6wJKk{&3^ZY-J|Ii|cEfT?>Sja=Vi~a=L zYlOi1h5jypCLrd2yIxoW!5zH(#UU}6tN_y7Y?UE%pB6GV{z$w}6-1~_{C^3-gLiG9 z5dOsNh&l5&V@Tlb5N;or8jk#5!Q6`eA0~w=fBO0MuQeRqcZ2jt=cEcC$V#QZBZq8i z!EptDqKP#d0-jaGR$^^9saTZrg)$fA1O_?hj% zwoO3p|E`1?$etYr#pz!vzz=3nIH2EJ*zeQ)_iZuSBmeweq5eJjFxRvHpM!+|YCmXn z^h_P_aDdnR@BrdRN?QI_0v>gNdbBtHy?yD&vK~@4B0u|)_`}ZI%F)2#X2owN@`67dVJz9|xuzq}~ zfwz9I9bUsdNFGfQ_6jtg7T2z@Fj6?XOtW5jsLm#CJlELMP+(LPSr3HUjj7b~2oe0j zSGh4LZ&i8B3@uds@P1CHGamYC!=H82ge|IVHR{Yazz_75^zko8^`Ph!o~e#x{G=iF zw=>$G)(M2;5b@@y@!i=*NpL7u7#~15o%<8n(D)c@35N6*4FMbd6V(7Geltkv3Q{)H^dH)8RaDt?B4Qme z$lI<#CdK0_Z=SkaKSpEt{~OCl2?Nx0xyGdTJXSxbV>>PPl>fkpD>LOqHV}bp5vwAtSGED=?Q{?SJ7@BJxSBeC<;w>6zjNkS2K`QzU$1|Epg@p7^kUs1 zVX^+6JAdWaFR4FLD-)9B|ALcYX#WfT&m@f9fZ=+RdNmZV6f%G2p0YaS|J5=@o#}1M zMRjn{KU=Os(!7N*-nl}+{JmF=w{w3cx=Ol>{sZuqODGPSn3&Z%TAcAyQXyY)_Ye8x zZBd!-y`M+uImM@uD3g3BgOiXfkDj-gyk1KLa71N;$P^6|)XNVo6?ww2!ot`>uywP~aR)+$96ZPsAw2~Uw3sXKn}bR7O05@u)^GyA_V(V(E7MuyZ-?0cbpWE` z8Kd}KveT&&utvxB)cKN3jqw8s=Yo;F&v!OfPSTgDD?N7Q=%($6jkF*7;Z5IZ9MDEr z$j!%ric*VzcXc{d;}Z7^u)eD?E@+^*hjji#$2q&t)Xvd~6%`Z7WNMZx$$o7V7YDQi zZu>lgqNx}M6-(bfH-x*4%2dAqS^+6G&rmIhzjK2dO}rTDS8mL|$&J>3TMZW0@=MS%4$==b{{aIY4{{{SBxX8Owa z&MP6q$`_d1A(~Q7oG0e8c*H`XwJ*B#^__ue>PdW_$2X5W50Vut;a86}frRi3gPhYT z50`X@7sk`J)2h8OE*RbTMt)r};`sO7?KLKpX(V6AXRdoogh;xNGDn)KQh|Ib~ z%|C$Ei4kFocE<=4m))9xM>l2+93e6{nAyT8Vw7sz@$u%tLXh>gl(Qy$48`WOcUKf> z`jI2Aub!fwa(FTF6$s;t=?u%<2)UeFV&w`{UtFTj$ex`=hmW;%9Sp=OzTnz1cNVsT zr3O$7&7qDOSVK3MCz%@vluyxHp)z1B*$op}!!pO30&zv4U6nI(HK{9An@K**#e(~) zUdSF~ALMcp0xies~GB|M;O?NDR1vY_Q_UaUG@cY_3aAOPDJr_n7_+-fA%?0Tf zv^10$;esi7xo@xYal}gqb1IypQV2EpumTc4Po|$M3ZI5y<1C8YRY}^gFf*Y_Ajl36 zsxl;K(X3xeiAq1?T_}QIjzq&S&9gNYMq%KnG@er3>i?=HNv#CnhGiE5x0$VoS(GSyNP27OyojH=^U!fKg`Zkc)h*Jq^&a zBf)9x4zyrtbc7&I|icyF|UyY53IbbQAHKAf-A+xWxPaW$k z_Jx^MHy0}XCvuXqX||OYRJdrufsz5rb?9M8d!cqB6T;j?f{iC9n0AY7_lNb0;t z@nB^>RwDh;SV${g5Agik?P0Vfr58Z4%NbNg-;r-UgnxGn!lke2rIu*f$+6$nEViKk z-0W~H{djuod{uQe%gZHaE&_L6Nhxv#&XXJYGq4&ABN5@rLE=E|rpb~T@8=i^(Sj-^ z=1)ly#wG~Ht}qEZHTVXfHn5@5zH2PnZ#oJC!4o~2!*E!oo|j%*gE7+W$SMFgTgV&O z#%ll1z~z8zdLpM5C7pywl%gKAUZRN#31JT?g&>_)T~&kER+w#CE4FM8{L;} zE}!HSpIjU(INe*0SU@u~Q%FBf$0|68>nSw4>w95YXQ@L>r4Jik=Q$2~Vt-2`$%cyD zAZ4}gwr~?C+<%v=GuBg?i!$2r;<386i7P86piG%(}EM3v5f4NAY{b zlAF8W(zp(}j=6LixXa?${ifu1lfhnD8tPb5oGihh5d(MOYJD6Eazys+PNhk~T)aVJ5(b`npML$L+Libd2TUyyQ{U%gdS5X9L`$0s z*vEaxkntf2bz&=8Q*%sR(FR47G zYvV*%X3`cfP24oG#Z0H2MLd_Oe01g(hJ3UR`UV_OO+f8Ag$IkRFdC1ijYA8gKe=T) zZH*#rO(30E6(0)yvhf)D_V1W3Uqkb_9C0+8dnGr1fX-q{m zE|1-S;gGm$g=S?v@oDk6IPC)CHZDBYNgY$>3eG7Hbkap~)~T9ip$i|skz z03KaUtT1D!CQ&CA%qrh6$|K@#W0g0U9Wey1Kr~=PNQ(b(ei$sy_#|@en00xHS41Xb^=@b1xP$~76B zjM$(mY|L%^&XSKLTaqkb0hJej=)E4hIudFNJLd{2B(9f_xmY3pkzVSKHK7g|k{~;P zxC(L}#eVRWewI5aQL+5p5}HUw(~nJZ-K;hFBc-^V?IpSpnXN344n+1!^HHrr<~~U! zd--@Ggkd+IlJre^h0dBYXp%DFWGCE_`V67=SmEVD;xX2yJ*RU65Rs59tQuQ*_+z$` z86Plb8f|UwD@A>GH>cCW?j2Rgf-#FESN;%-b8$fZofve zbd^^=(`1vSN`z61zopA!Wqeh(u#uojJt527)}8-``&rf`mSE< z3+gHx`h2{nj?$0bSd+^FE}#+myC4T@pLQ^Dk&GA>?jiChWM#~?)F*g{-PvY<^acW; zi~fY&AJGQ`80CJC-O-n3Or4I5;~_|Uw@uGu0l9(!DR4*y)^*oQ-_97iDzp59z=5PU z_w`E(b7YgKEtgQMz;IYemG5y_wDLy*(#X~Y)(vG(m5tSahRF(q8Fy?A>6vEuHGc_q zqtGyk4xx1>HbSK*9&g>E#?%79S7HV1H2Em}%U4Fs1fshcRSkT7QXJagry@5dg-g?d zO|cMRv2sW90U62=nVq)gCHp?=P&EhEf+XNWI@5G!a^$zOIh1=QM}A3#_oP%IbNX1Z zrljRmXG_$uff9Jb>uX)E&WHBe6!^$HU7c;MdJC0+q;5c+iK^xg z7n;`^>9Bk0H1sft>8BXKd-v3PBgjkN&zG?#pcdk$dzDa)noASKG(oWt{ZjF4goa zBi!3~Ok3LM`Hz*Deeshjw#RU;JsiUIv7F%wrHP+u&-dV~bV_#t9~)X?8?tzC@iK;B=oZYEi0dTJo8({Py|h%JEtM+InzwNz<4*B++9ni(_)0^*Nt(nLS&n=MP7x(6T5%=OFY*+*4ULSN$G5OHnsABF-1h?l7E zL%IX=_(ToNx4^(9tB)pE0zYb4F)NkatSn;H)yXJ4G9U^N6k$D<*R@;VAB-)|n%9}H zJ=ZBMosJIE!X8*{Hb#7!5D(Rqv86 zILJ~Ko08^pH7gE5db6PKYp3vc{#vUMR-D5(g^_R_%UPJ$&JRnS${sQ;b88lE7T^h( z;Vc0h2mZ>_7f_``!FdHeZIP7 zZaeQtT?gQ$We}#jO}y8ev1ARqy>qCQeI^}tajViOZw+(jG6(egVr~%V=k$ydI=t|q z+K&USndzY{;iQb)1L5tF-+d1olTU18-Gtz>|$!r5S}`QdtLZszd-Lcy~h<_p#KaV=PZ zODyl=h!}f9wOHkfA}FEO2l@7srN#^xXyXU|4O*B@n^TrHUs;tze&z}#&Q>0tWIg7E zjL4*5O0&FWv}I4Wj-xT&6eA-&5X4>adco_OJA5v*6C*489U(&nJcCxk2QxW_9M zuJeVV9t;GkceL823W}sd9rE$S7s^j#(60-%(CBkj42943H8ckB=dBomUsmzinSKCl z$JEZQWZqM}S2&jCG1CySlsAJxFsL8+p-(OMY21!9I$}%z+_ZLG&{KH$8@Yl(PPnU{ zF0A^cYp_-!;m14uQZz#{oU5#W9~%d%q#}8Rpd++8SX|B%XyJGm;wIGRc)-x zwBxoFr4+hF{e5rUXsFvjF#MH4B9vF-bo~%eG&tx!Wis|h-q0+<#)u}>yifrkabsoB zZk6#T37b`361K<4y0DAK+Ss<4%6#Y~ z`eE!+j&UtBa6kcb9ZRzW?hF)d=j_7U+ z&O=NtVcgtah<2vzB0N&bZ%+dl6L$hTynByUY*BaF+C+iEtze{~&AFG;h~L%ca4zTR z*JNcj_=B~=3EA4v67J4pk>kmsmt#CF@EuPCHk!Q6;8>@2N9kv>sxi`Cx1-Z=Bkl&a z304*YSAq#*GlWMp1G$*cacLi!{rnn3_eD2@wc=w_(n8Z;oMjE(a_AD^qUN0aojJg= zF9}F?8{+CCgEt#<%8Bs+)~@;kYe&LwVQbzQw_(bp(->nbDl|s{rR+qJh6U!kA1Bv* zP(^XAr-4_lZv|E5_7*l66}xJJqH>uibZd0cHL19@aO#LI)Ru$#_DV9k8`?XBb?LxX zf5BD4Pn4*Na^FL~#0A3uGRDVWhx~#y>^_1+e!$TyUED5NRaemR*tl7YfFEXrsN0F%yVeIhD4!6$iiFv^Kiks(thV3%Rp#|K zd(|+ytlhz-xx@8r@B#CZp{D_!T>HwV@{Vr@3zv$-q|UDTH3(A!oEl$2c&~I}ybZHZ zFBN&t4S=tT_CN2SR~U`!akvCu4-som`#Xpzx5Tg?mXY@0+=l(3&hLmTQQ62AfM1Im zW>h$<+n6-1aGv;go}HTsRM|&M>CK`I*2TD#eBij!#m&&=I5PBNP$haWXp1$; z8_9dLi~OiZXd@#4Mg~D}TwyvMXH-wZ1d6uBbYfurrH^eka#$bB{|HN zN!VSYHO3DMn%zAt?PT&er!jt-Mgra8Tk|G+G4H^MUfGBz&taVGVSuJ=sKL`v`$Syc zW_~1QH;r@g!<@j#geRhxxFD5tla8F&Z*%7=ot*lI7cSI*v97fR;qA6RK8zG3z=5YKnVlCK zp2JJ=cg2wkg#L`l{kUBq+8d+7)VvK%8d+)vF=Li9)_6b?%J_wJH-zxMDuw^^^78hS zQMIleb%awdK-$kFdy{=fklg;gV=`%y!cZni_TV|6DKQcTuTsAA#|1~)34Uqw zKzQ>&A^9TZ!kjLb7FG5yb6qn*J2R=_41Ouw1)NQMJNvc6AOg3OJz)yWvBi{$_AQA+ zp_-)$@qRV2WmxqnA53P9GkA?<6K5m~(z3oC(3wnsy-dd~VX;N3|BMv9h?4sQe)#5| z+zC&O2ylqZ$p@QQQ0gCdX8w)#t2<)Pn(mLVK(4_aGS!}^PJO=>IsFP%WPghg>>3GY zry720XyEd#a(4#50xg}}?GF1SIolyb8HW}N5_QYd#yYfv&jy@!N*=q+Dk)8u2o+;z z=p~$4kA40V`Zup_)t;|qwL~Jxm0VF6aYAcfxB$YI4pX&aG@Q;Y%53Q=a#G986#QLm z*j?cdHUhE8MG>-xHzHWia-@!qod^&YvZbSE%MZP~3Fes&h3trjNFO$P}th%1+HKm;px+lpG7&V0t4-8#Yj|PmPwTaTkc~ zvj87&`db2wDRI0H#~V){xsYSLdkaQw3;WDUO0hVvi65wenv^Zvs$_}K)r;WS!Djs) zsO0?i>=TXbh3-fs6S86i+o$9qNQrF2#=HFD@e%` zWmd18U>NVSJVn(Gx`>dch2o0`l26!VV#GZad3y5{c&s&CP3UW>K8C#~B39S_#C{>x zk@k56vafZy%Nf9wVdg0=JH54L#?hrwYRY=5NT=q6VdH+NL3wgzwa<9^`5385>;~Yz zJ!S9UUBArWZP457NBk-Y%CJ+Di}f*t(cHkE669oD(5L$x-BoDmU{!#I@3s1U zHUG%*a>&L*15r;x5#I}1uPN0$Cc}1#^!78>2KSK!%!r+i`d6a04{>BD1-TX9Od4Fu z9&qK-2Ga2sDtJsKYlR6_qZ-B>i~$y%0Q3OB8`F(V{NAbKCtsmxKlejk9IgYl7|A zhs#4*a77>hCZTiHCR4F^+O^F=YcP4GDoeFu>97>ZgxmhMCi?~)lZn{kZIkN{2e1vP z;bo%{7A3I5d=-l!Hn8gQj%L$XMH)E!m`gjoE|=S!7u;lu%*m7>kBW3eg`I%4he^B2 z@>2qaQfY||+WKKpVa+|L3jw1!d=e%JVLIn8`>%#HJL0?vP;tt-uVX>@P0 ztwO2i#iFEKo)SdC89O-WSFB)0$PnU4eZzTD#Yy*4fh=s(sYq+f@T6rb=;-!&WTK4N zWI2)7b(_R(;j2VxS2!A1XRE>B(k8#-vfNm8q>4uieohoxFUapBq{3sJ?NUbuA z$rquAL4`%LKjE~gifvFI)<8MZtlbCmWDG$33|!pivWijWgYEggRZ-Uoy;32E|FMo@ zQBml#6g?rjJo=HY(AV5_W7Z9#Y#;N^MAD&<7zZw`)QlhmE1<43pqY{>A<)!>Ln&7w zDJD23<0rlpT$y0%{>12{adiE{0ZjEMOv#OiRiS^PCw|1*{M?i=P(yKD|9%^`?h(A~ zrP8ai(H})Mv+mUL?6!F(4X=nL2<(CUoS!F#6o$U1xs0 znF$NLX@Q}xu81$Jt_Z8@Zl~>G(4J|?zN}13+r22l!}NR?IvA;Iv_N2vU|_ZIxpc`L z;t(9UpB9c-N8KE_%)Kh(4ck09evPx4oo)A|+ncoCX zJ&EmEH@jwll~}@eS0+1^$(=RKhNnZE8P^pB=l2m%6D$GN9Uy)l6yqSPb%?O+Np`HC z{O8*O8wPp&8v&jm9&E1H1m#QBh$x$MQv%#&S^1bL+M`vS<9M5->dWBJ zjBP<;g%^C4*O$mXtiJ$lZN<1Z61WS~eb1GPVEeNUG&=QjwkIEhTLZ@R$-MS3Id+U? z0{u)GgUxjYnC&ypN-MV52!Fz7<=pJ&0A&D z_cgW0dlUY28{Cb!bGrBtF0F;{pXt;Gd$9Is&3a^OB& zxLWrr7!IKzP&Ozxpl`+W2lv&A2Xw5>R7kr4m5vY{Tg2dZg?fb@$bN^@!XQ{wCle|e zJOw~{Lp`Qz-V&*-Tl}Fsd^xXluKlq<=du@_J>p=bS3eIq_v6;&;W&)B?2C6 zQ%Xy9!OQJ{kyq+rnNlBd?R8SCg~hNzl;~CP(M9|O&nZu77KO@q9M4k1X)euLg>7!* zXzzmEZ4OBK6>S&#x+D)6;^#=7@S3ytWITY;q9|m}sLuhsda%l!Wi)<-DnrbM&IphZ z_XKRnnx+-ho1R_}pieK7WqTm#$}2%6g)4z~_kh*1N1_R`RuP z+P92@{r*_Ms3tJl5>E zNAcq_X~!t(s75&`!|TB>4kttoX3|{Y=h|kqP3i>Db-s=BjKo(5UVMG(O~{eOOITa1 z4ZH~E5(%lz+%arIXdGI`x)eW_~PV2vWC9u?mpX$brVZ07FxftLjWRnu62yOzm&!D_?4+}hNJ^b8%&pQLi0Z1Fio2DUFVvQIWr0RVrnxN7``FaD3H;zq`rIwH3aN$Qn0liu6mv?hns zr^}lw8xWUsDuK4+tKwN-i~F{N9|yMIEb5AB8#tE%WhY_h)=N9fw5RHAxwL?T)O3iC zT~87Yy2>pDUb0@jOOX;aj7%QDD%wvUl?ya@ec1%uTcNuyT%m^W*eYDFk!}&vM-$9k znp<_OIYy~o$$e3~W-bL#l8k~&T!H;|5x!Q)Y(*h*S_J3kJ+=fq?H>_-qI@@4NN|ZF zlv~IHtR3)ll?s~YWe40&1+Oy*Omo&gz_F&ja%R5kk`$tGW{w~)H%k&A6&li>qpui` z0haO)VcElYmFj)TR)Tj6v^FItzX}27@GAlH_Kw`kjqvHWsY*udny0BL$Z_YwV^i!j zS)~tvI*jj_yDG5#-H}-t;ld1!s?n-plBMeb!u8U^&@C+5S{vl6Q})6C?aF85#z8`h?;y7)G(*TJHMGm=UD30` zT{E-ew^ciG(!Q^*k0Uu+(&DDyY#imWoZn@-R6nBS*49e53g73lpS|Jk?=3{ssS1CrMCqA8Xbr5{yLzo-r75ND!2gt9Yg?h-)+(;n-IhY{< z1?1kuX%UkjPz7ZNL7%^z$`Ne4Tu@xVKg07(CIVHbhXmrTcL&^g-p%A+c8B8oxX)MMP*_DDN7ywv2t0&!hw{_4%2O`o%6XN44^kk_UMc z7cM)txOQ@68Z3!Q0TEq5%=Lc%z3j!J<2FCJn-_=u=Qzz&AWoM|b)nD#v7uNV#U}Fg z;aCiAm&1VJ{MV>%8qd(BJGjg(SWjqwn3KS830bnxcCmM33GTJ4+-jH$Oq7@lESL*y zm}(uWRUkE+UEhs-OaJe=nkHU{eF_gM;~1UHa?u$C<^WEe+Y< zCEk{H{UP_)AHv_uP(mvd{Qo*LNpyz+B~O%YgMv-`Q38d5_>Tpv1}|&`^shp`KkB}o z`G3`Y{YasEV`=PT$_vJS?EJeSSbwgEPVfGwA$E|U+HbTrEJ1?ef&F<}qt`+F%NxvC zm}ty5GBtG39bkVSqF?oEi3C`n|GR+g84C0dNyNkt-=GNp%Wra%3-G`DjmiPa|EA{# zeGbs?Z@PZ8B~JX>2nF%KJdG9fe5_1$EzpqW@ciK;om>KW!v1 z2c3Bn%ZdJ9$x#aR0rwyC;rERD&kujBaD?KUo@xprh`|5yRsLW3rQHk#6U&zd`&LpV z4dXA9^g5K^LR}r`e-A?}+_TtQ0lnue$Uo!#D~!KSJn8;x&?rzr(f+g~mTq6@ZF8Uf z{l5b8JHUU;t1&z5w=y?&U0{F9|6fY}oGr0ghsggpH-&c9n2CRhB6%FBuBL!xgPsy}Azcoah+T%Tz&p@Zyfw<7O%iqP#8kNUSh1u(ch>Jv0B%aRh#%=aRpM`?F+u z)q(F;kVzHdvNu|poU&uFh>`B(3?AX$$-tTF^tl%GXb zH$bEtHw4H$53w_)pVa}NO^WUms=1-t0#Ze_#PMas!QsfxX{!m4nJUc}aolpo#!^5(O7hmyg|1ticP+}$V@Zy(Wp zguAP!T-TO>BTvtFeefs`ixy)$`3k4>8qzcR8cafLUmFTtuL>8StVviY{NTm3NI5s{ zwMJbTc*Uc`mJnm314RRR*JJqD1ydLr*X-Q&iax?U*)0Dn=O*ks7AT-s zwyv%$qM+$_Ig}+pCBH1aDO=rnoBqI3&ld|!z$>T-6W8tc=pE~0_9>J_Hy4*?p17Ym7($5zGf9xYnTOJt zi+ssnJAVrupjnb+X+#TyoxBLN!a@8zbwG%%i8-}>@DBc1?2EjH&_|jAkmUZR1%#to z15W4sZuF_cY^JJsZ6udvn2iAL&6hFr7Oeu5Rurp7Y!5}^6Qz2Iu`U!i!K<$53C;S6 zRx4Vo^oYYL2(vnHtwwFg4e!q5cg8oeOu9KV8lidQ0M?u(=ng5r=G)wGAYP{wZ>dL4 zG~05uHJeqVTlUh%mkPNw#{)+LATC2y(oN*^8HFXDE^Zn^G4q`nbi-Ur)mm_9HJm-x zP;Bm(_;nCJXE?vQg<}05@6eGYn6?{y*>l~IB~!+wgbRRrMAg%+Sv)8()m2%92wTCp zLAHun03p$0k&pQedEKk#P(0S}=E}_Y)V6*claikjkn?VAuaoXbsI&C#)or*IkXICy zP1w3jN;^5tsO6+>$K7ZzoAhxv@Vu4r{b(UT|5K*!2Ku2as77)jcFFz8e((iV8nAdyoFPr*kq-V%av?MSXpDWKP|n$c z4H>6;Jq9>7wd8nRuKTs0YAj^|P0C!I*Pm|j9MV%v zmSe{VtKG6s1@(&6>%(!H?jTK}uHNo$)XHt#1MkBp!+Gc4n@g|ESQV^nh8c3 z1HglGS$#nPse()iR+I7*ZR{TA~RZB*#-l8Z}2y~~lcT@y=9x|&N! z8UV3kj|hK_*7q@b}jG7J;CwpHS@L7@`KEoKbR*zV9-FC zqxb+T!|OE-DqlPEQr-blSF>r<92Phbr^u5O;&Ok-p|4|z9N~T&#M*rbG9t>)7D!R~J zR*|UX9pKA(KyEBFw{tUBq9rCb@k>fDmLuZN-CrwZUM5ks0U=u2-5Fx|!Y1L;#wj-z z+IOVncrtdsbdtn44RJDL6!!|xj$MrxYFe(EmVK}|>)7r( z=_NR~!f{FccFtq5*)l9J zggG8J%=YhtGpJQvPZKQ~hzHbG@vxz?Z+`tGKPX}tLW!fLwSOn=G%7g7z-cUArE9H< z=t|aV4zJ}W!uWk|#GF5fIuY$CGha}a(Q9pTd0z;<^gGk{sfG->7EP~^cOSUU2sduL z)YF;mO8ZziJ|lU@`%G=UgtwkNim2 z*@9CooC0H5SD3-0D>+6*k)CviTP;0H)m#!Uund}?FQA?`5b3!<&`7B9=wimyEV^B+bs|VxQ=xN-{^7kSU7~?G2A$#EzQ&_=2y(~L+ILtpE-H2Qtw+$wh4PfNVljQnE^wOuilIkCEVlQB)6POlz0V59eYE};IjvIoD8TmpU?XH#aDF_ja&!SAKd3kp(gy^`GNlkIsgv30F^ z(GqRGXuNi%eUeYLWX2dG;J9CB&~gQ>ENuWK<#`^PW2flQ?^D_U7y`{M-kFM-_7th? zaNVlfh>17chBWGrB-)OcV%MK>DDM$xn6wjq-GL`WF!t{*SgnHs`do7cNfSI%yq+g!^ePPx~(i#E25-Q1`g)Ja`JZgpnqxB1O0-UsFA>%YMRT7;=GIon*5$aqAKC zIM%)cb2rVE2MBucSEeqQg~=d|8pnhbRul-3D)7*m&UFQZATx)XZ~uU~{^pY_qzV_! z*jfV7)@fnAz^-|ZhG4%P_B6ssnmCYncSsL?hJ<>a5=Ej46Q-V4lSFNm=Fz8y+*N$p zi1o2!cW#`)Z`OIwDb1n2XB?@k{nEC?#Ea-7JwB`25CFD}i0vmFRk0}?YwX~C)kkZ_ z!qaetH6vPEZw4Tg{Chkx5?LIFAy@~rzCP4GGJRK4qYe{N+I}j!VFg%iSy<$NOl-13 zW$nV~VoM0R#HjVs>gb-z30xpIrJHwIC)f0NVIBES9rAUd0C-9z7LBUEa^%hVV$UO< zWe2Ec7@(_lHGHHI*QycrxDk=Fa8f$0n--=L#l#hmKsBnztKB1Vj=LOudilV@b%)e? z2mNs7aE1M{VDtdebCec)lY=F13;9pjzkniN5zCBFsRQ+Z3qtYE)*gq z+|I;Lbk{yQ(7`34=PbQm$>h8ZL#}r69(b*!%1OiYh>yeva7O3F=~z<}K4TohoP1i& zx=%c3dd2%zMVa!-VESUhHA1(=)MP@tu999d3R@Q*@|-sOF`9jiq19vd!^8!xIP*50 z2Ef?W19tb!#itp8-z$ic|0^YAC78g~!xw#m0IBx|R26fC{NIJEu)BWt5#G7MPwqk4 zO`oYo7tw2OGI2SRwTm%UQm(V8-#GPVRX4^nR$$EzjroRQT)!qC6^D14cb~|a3QN+p z`y{8M4-F!zbpuqo4folbirY#(l_bT-hym-x?T#P~`aIT*0pyHxgGSYpAM~pSq=yK>K<&Q8mtwviEHr!H3vKyuhR986Jzx9?aECYlO zBp9HxKd;{I4l28sQ=En>kW&n&QY}g9Oo4I6Rfrhgw%^Yx*cO_2h~&k(%ETVyjg`yZ)M5D)@vV9!!Ar$r!80-|!%v(Q zke2xB;Z@o%$mZW*#p3_2U}EzUtu z4h1C95m7XwK4?Z|gGVvub9G#k*}`V%Q*wkroijz;!2x6#Kx8&ZxQ3X{aN0)>57XRW z={|aY_q8V9YlksqIjNua$u7{0{n05@l(QE9ovyd)tAE3`@II-n!#QxdI~pMVyoT0L zh-iY_DCFMl-%6aPIqVZRXqcy%EShYkvbH%Kz!z*T>{%*XS+D-yBDj~`=}HdT^D0Y&VN2z% zDh1)rB_|w2%|dz56C^fsG#El&bosAxJxi&pYr~n95Xj)%LDlyL9qb)`-BOQeI8=t2 z8a%HjZlRS5ZhGIhv$gC>+9O$4!XDdG-ar=csHfQokFl+4g4qIgzs(M4auLLHOz-t$ zA<~NKH~8$vkWtzP4WLwWjX&D8JzUzH#=8)IwqHM@8 zJ2f}HMt^tpPGE+^-2!1Jw7&+`n6|dbI?VehaEufv*0=k05Oczrkt@wqpMxaem!${qhEDz!e1rd;cf*^02G+ z2CLE88~&45iTzE>{EIh3OcXHwCtGD<3@Y|l7qm#AoNv@LI3fL;%KF96sJ;d3utC{j z{$iN;K^5MDngXEa5dUODE32WP{|Ajl(|f^nqKBp4U=33+prn6|9K{OX z8?44@CFw6>>LFI*EhHBw^6t-Z`$Z+i(iRfFg*6I){fhjJS+mU%c`MMBbN#Oy<$n;- zzgW;e8AnCgf3kUQvY`<)(nZi0%c*r^%knJ;DP+R9W*_E@LnGh zOA4Ui|H-n|^Zv##LU$?sdGn&6CW8zp(H`2Ghmb=CLMM1)5@xFzW zv;HDX|G4O#$m0Zx`$nL_#0iw(O~8KLz4&$PiG@l0`TuqKLK7Sm=|5rNd8_X|9Vp#j zL*N0_e1p|&0q6hjY+|%4DAE7r?Wim0=QkRHVBJ7}Jz&2c@Lvx^1FRclNIGD&Bf4GU z(REm?x+*rp%F=Raw70&hqqp8_sXijYYH9WKB;#_k)oFCEr@~vwK}Kq17=O$`Mdw*_ z#mi~U+2WqOK&D_!R+$;;<*AS}GftKw7aBGW*4{2n)D`uIX>VuJvQ#njLHBWY8%9N3! z0)%<)S2Xx+%^mkHo%bOT7}pb8`XxS7Nax*LHhOU%dYdAhcdG2+S3U!(^K+M|D#4ue zopEH$5L{p-b$=b3TBNqYft+|CB1sS;3UunmEAfzW>5P(}QV^9fsoM~sHN8(JicuaP zLSWyil(t5gfC%q_=1oGA_}IG`9cjrjIwz@@X4PBsz+8<_A-*k#G-Kh|vaGbc zyh&HFj8ukz*(i<*%}GpwEc^74J^_>!pRM{R&{XDbFWI$qtHpJyNp=302QvSy5w$+( z8!BM!vqZDd_1N*y0W02XNE|QGXzwP58~(64HZ{52Yv(XkvBn{_YX34 z^~lWu&j_}Gk)CZ*nsd{W!g{yv#2 z64@XrQy*6mCt9m0Mb2a@KN_NGr)Cq;+_E-z|8Zb!M;GDp@}m2Q_E_A34LZR1A!4k) zvELK}uP9470+$jEBmtI^w?JcUL}9eAm-yh*`jBu)e)z^`4 zfB47nM5LGIKmRfgJf{DPdjCHR@82H@|5&#i8wODV1Q1016Sr|42KWL3KT(%!AO;%& zAGe1f2DSlzf2pU;#(wU3nv*JmwdjkCkg4Vt3xjGZYd}K$7mJ?g;4@y}+ ztX=$SlGX6|_HlcQ{+*&7CJ&;4gBcVU408|$UwV~)$%-lsxzPxZ?V&Se+f0w0@G|Y~ zdz;sW2MrmkslIX~rf*#@>IaUXxo)1nw?wnq_C-qXz1w61&JRQi4KbK6mztFmabCIc zt42#J|(H z3fRv&c3&|1PW$X`xW$l3?{7&Lcdu2@cy#Z7cYI`UL?tVz=Zj1KNiaPp#niAPJ%Lkc zOw%K2+fx{eM^^ky1U&6a5Ir#2J}jGPD9-M>~gi-mA;i_GCx}=~zlJ6^o)we?Vtw%++eBfc$XsoI zRDe&CxV0QxuCW)042w(s$-jr0XllKb?GJ)hIrC4eTaC|~HHF*32>^Oz~d-4znxJ^#i z2w`IO3`c@x%mP}(e&uA(6QaA!40e&t5cCX}z#{^{yx9;*h4XNlKln#z%1wKJ@J5JH z`F9o?qz`jM@AQXZ?VP7Aia?pGJ0#lTU}q|F!Q~u6l)luJ`VvFYqtb zSN|e`^smA9&x-FEihpy;f|5-YVM;|VB=3+uOxQCLnC`Lx#ZkfcgkKLyXaN zWL2=rt)d*HwR1DOv&Q&Kik}%}Z)$-&ioSXAKJb+hedRwTB^J!;ZO2^3eFRcM$Hv&C?mzy zLM$F(7bsNYsg$flH*158%cue-Vlz;#uW)B)q93s3QwM2Jp_0cPQDR+ETY#QxU}~gs zz?PHm0uU|YIO!Gg`UXxRgCA8g3Fergs@xz^ZB$JFZY^rNK%6B^88J~@uzDW4V|_QS z`Ry>iTEA)dQS{({y1zTZqn=#I3uH)*Jwhiam;XhGzW!yBMc{vJ zzt)BdMtTOO|4=y1P`vz|d*N;>n}{{iUSE4t&q#Bw!xX_`%rW@9qbo;Ne0J(8o_R5U zXOwT&!z=kon0J`xRW#(WAV*NOfi~LqVxr>^ce3O1HL7ZV6Ub6;f*)EDZIqTaTflY6 z`!Fa3KXg|qpclViZ|HJVEJW>|Q3pPM(*46B&eUNiB?LObszA9>5Ncu7;03gRs9^I& z!h~_2@WBA}DoU{6Tgr3}*SN;+icA!4#$v0Bt^wBXiYY*=_u=R9{EQ?;FA*l{=sEo{ z9vR2b?Rg}B1{5zE^}Xhiydd z^p)hDIlgU_P331C?4vXt-W8i9{S-=nR3q3S!_Se~J_x`T~ zFe?0i4P@hPMO$msZ0Ch8zAI$ZnX}6F1o!Eq6E)g$h!+RS5m|rwc3kNE&wde;(!aDV z*8ibx{WAep2V5`xr@-yYr#c~UIL+>v8ekf5WSk*HcDpljJ1!h>PA6`Xd!BxSQSIX@!3MK6aAaM_Z7t%w@!PKZuWOI^OWrN`zeUb(vh_FGW%$oHmxjcc zZP|BUUsqsv;9r!BQA>z+C11ifKSXxI(Y@R62ZdRY5Kj;O6|WSG2tHuSE8Z^ahk}xS zhE>`VJ=3e!!^-Jd-9zRjZ>JY%buc<`efB(L6a?K0hB54=BUPE^ft`$6p_jgqeS#!0O`0@g48(<HfS7zEn~6X%R?LhW);J2wWzB!~NgbmTP1VogzsBpiNm_wJd`pc(4~br9d6d zA-Sm4xwevx%}A~E%dky)i3TQr&&Orrv@32~XtD`YTH(oYBy3O@rJ({>lTD!|tx;lw z6sO*SKTZ-E_l0JRiP}%jGVhQL-6Kl*kOYL$>Lo+3Vphsf-C|8}C9C$ihP0#avmK&u zcH}2uP6YF&Az;has!E;H@zWSDf{ST>?fc!QmINl(xCC@|`3D11k|yJS(GQwOO-sJn zmhpz*Mt-?ARNP;wzi%_BB(WbOwzxI z^V80L<7=77i_m?k_SfU;VM`o|t%Hd*P6Rf>RLl83t1*yD$m-+7Rj}oG_qx>0Jtz7TJElYA;f`;E%9sx4+a+g?$5NEtae@nNHHkZCgmQeMl#L2sAW@n;P*!) zIOQi4z9TQ6d^D&&$aEaFy(7oH%NsTILLfHS|o{67}?N zYF*5SMGuExj|!8&jA8%RH2SwQ<^O%Y_dj!`?m0%3a=_sH*S!V%jKjjTpyY();t62l z$XTh!ci$m@ixypnuVIeaH)cO;04uiEa!*V5*xks_K~JvABGGKRl!Z zf^|g}fz|N4GP@$`rdNE+*Q~ToX=$&PdLM3tzo(vp`hf;6dnmeg4fCSO9+Mp+&29`; z4khYp0XVJ^g8Nx-%h=049k6@dZm`lyGg}{xB-6uxgd0}Gm6y0GykyQrlnBUy%lX`k zwURS`@J*X*fJfLvJw~q*vCwEL7qOovu)rM$^*P=!3kh$ka9k?Tr1wZj^^-hY)66=+ zWe1miYh%MM(j>M}dk@fO5F&UxJZBZx&T3gFN3Z{L{45`#WgnA3Xu510{(|v|I0ph* zjwiBz|5()K(<4TBpnt72!J-jNygqRnKiuQ>_a0fqXOq@As}OE-ohW9mLFB;bePf5p zJYuvC_rlL27$PUgGRe9_%>AECjtFVlzt|i^&EL>&nmkQM+fLOXwy89}u-DH-LQ6p~ z6z~r*_gQ*+D5vK4;AR&6FsUMr)hi-B)KFG`gq%26Q#ddc>7za<&c$6sejNgY-9xnW zC!fS`pZ>Ilh)}IA3Vvo?11QUg3b4ItGo&3nb2C{vP%thsp692a+iRuVx#0`@=-nHu ze1YB2ZB{0&)n+H{6Np>RX)P}G$+3o$E4a3Avd+CN0S%TE&4rgkmzfX|v$b+oUcZ%p z77x!cIWt#`e#G{=M7u@XM7nu_sBDR)I1V+N^?-ec()^S#5%Vi*mAtbm7>aWHTh#h~ zhZ_+k>j9ZYO@I-Rp1TW(G16(DQWcnjeu-zW_09Pewfbyyj9S41`yLMxLe%&pQpb^) zpb}3|gN`y*3jh~1gt7=*qD)=;`nvpopfkXw+s<<;orbB<#v0Rp-@Qh{%hY3&+3Zxz zRqvff2!FNhAue~W%!&Ghj>@#J9> z9rihZkdPc&!WV2;ktqZ3YRhq@UNK(w3i1sh&UXf~uMXd6?XVsNP|--tGd|9f)bYUa zTHbMZSarz@G`<~xZ)N(}ThIfC(5H0VVSV8EV;J4v>?kPFE!)IR1S650gM)XkQE^UZ zG(*QZJ2bpZKIDBdB6P zQpm;g==&6GSD=jP{WEK5(Na+`9TmfPeQ*7ax`gY@K=o319${AOnIgWwQ9-yADG5&I zeI8`TS1=YW!6VAM5O>`yPEJv`%w?8xBomBCOFWFAKx@ps26M~-eL{DCJ!2}*ZfUY@ zL7;c6%3TOQNd+?o$OL5Zbl|&hc5!+oBo*yB%;koR*eL2FA~%?Gw%9HhYbbHv`C-e^ zM}9X>vVERhx>qSJmOLg@8Q^qTqhW}FF$Z(IWJ|$;TDKi82p=nO>>9V!kOmAKc_dJn23mYM0!FwDXvQ}(6$ zR#;#JBFo}v4>QOasefk7cL`17vsh2U4%a8tQ1rD=9r;>$~9a|tab{(#$Tk` zZSw&}3gxiw1$$4c&5^P?Vn;Dv2$MMd+Vy{)YL)2TI1$)fIrnL%L{BCYZ#T`z*1+*E zlZ?QOUI=YEyRRjK_Yu|d%q&T7&Zv2uQ7yS*Zs=}-trtO2H|y)EVtNiiQSB};1a^`S zv%5c1HDS6!k@~xT0d^Qfs`(Prm7|&KfXJzQgki`lNQhBu>G4wiznvfAVUi!J!!nd-Bcw+#6!$gSQ2%3)}-E9_K3$FlQ!MJvB#&q-t5!e}^u zC%$eQ+%!z@z$+HdGebtEOIclBUpC21$yk4XdH-Po^kaAckzYwrN)%QDvv%I4EMx$L}Uf3^Z(+74B^)3a^pXY+pvKi7t?0eq2Q?6}Cl; z11wH|HtXY@EtO|5V=#(_2(!SQu8od45fB56#b|jv>A(w`&LQa_o#A-vi%z7Qi zT$8j;1dJ6LSzC%ki^Ib)Z}kLkh$?KIMA~Gn0wGmF)gI>o4W}aVcG32uX))OxeLEAs zZ;dBGeivPhRLYJ$<*ByHD|`4y&us%FWTpO-u+NbcT9Crx z9X5C2!X-3apxECK&WSj9wj2*4YCQyc#WchM#RkQV#q5bKM2|dE@o+i&1N?~Y7U#x) z^5GZe2o!=WPLvfy#khrTzT-}>kXz4s17W=@_ESYri_{3b;YCLs4sU@+Y~(KYV103S zF#)+S8sBm5E|H>BO4Lsw>VT_2hJKm*AqB}CE+vdnEsL*zXZ5MsJ}n!~@KauL zHt1xIh|r0!Dy10+dI6@z2t%OoT|xmV@gcu=# z9*9j2T2IMHaWI~`c>8ep3EPdhamWy)1b+;|IE<9&?w+4e^nO{od|ZQ!RGSrlVbg0M zVE(NrqmOG_*R>+u$No-Q7pFob^M|6RbHu~ARdJ_!6~R}lelORZleB0*oE!g9CffzQ zEKq?L$1TR3C3>DLxK~_wTF0TdVF`mR)2a$kgDG)(T;~az?dt0{P8Dd2ckd9%T{p5y zO@tO%Q)^jq)pr|htsgsO=AK1=(rOrA2&JTHPox~PDkxSyF%G&sL;9TDsO);F#6TG& zRe$iEqd&0isa>u3-LMgTpSNp1Xroz>SrmCJMAJ<;oPzA@-mV(_PFS3^o$?f`v9F@X=rhk6PYUWT;;{+dg!a)31k-Aqe=Wn~cM^9|AV ziwr5>X@xG!=vdiS!sl|;UJeC)9oa%WUDa{n0My`|xQ;3zOB{5T8VN2O*6`~ad z5DzKIrSOx@_diuJ6hB4zieC{$(qAT@{@Y6Lzng@Dk@3H^fBb#?rgR(|gY~Sx;EFwE zkibs88kA{(!aanK5(?jc&ZiPpy>sg79=qt>_{Cf#WkfM9AcTPA_2fB9h=zS*lZPvB zCeF6o-NVI8poJQ9LO)DUby)U2%!3z?AWj~H4UVa`&MU&ew?Kel{Rq9HjbkWzwrO|0 zEex8V!P~}lVB`?5|LpE${MWSh!yP!mktAAw+$9(hLJ1tB zHpV0IP+C7Rf8fWAkWwlG^)KcnI1*^1$p*y$uOYUr4PJQF(>6+N!nER@dLJgV$sL@& z8(ubImzCM`C%nG5ta3RaEeHViJu=ykBaCE|X1jW%v|>GZ?j5(lnHpbG%2)iB)I0L9 zQm-UxEtLUHF{)61x~Jf;Nm8xKXvs7iAA8P!4)6fqj1cPDG~9*9YMD23 zu4zM?gOC<%6I2pO8MXSH_`XpBeq_SL6Lf{|vxN()obR7aCBHKV9NzB~Ldf*DV2EvE ze=)cggsFTmmv{qDuqn2RvnW31L4&s~?7Tq(aLIhOP&CAi=puxL-V5j(R`oy2C$#c} z4A2UzQcM1SOm~5&?-+8;(L*kUDeY;$|EEVE6ati${+ECH_LqvX|5nQQ#~A;;NZ+Au zVH>ZC={0#l+Gg2F{0WKx8u}B+8EG1|KagJBXY@2AvEF%GGluut=kIW7>yC7C?aG!7 z8>r@VauyaH*(~JqF!F`%yA9Jck~ev}tG7wa`*2Bbm1u zm+6n5nUBsJ+8gdalWc&Ne6g*UbX|ILa-ar4B1V`#bm#Erh75ADFL<%xBVUHXW1{ik z2arE9+}D;E@Q}zaV1xxitUx9*J27SN#?H+f!4}57ru6RFfo)Zp#@Gqp*a=#+mizd$%$b0SCFJ(vutO=@?mIF{xA42Pa*THLPy z+{VL5Sk2mne1Uh1m-Ln-elrh3HaeM6ZN;B4O)9aOVPkf%B#)w*GlNOy=qXKQ-V^w-D8s6D7ji z>^huispp>wQYa~F)27e-Wd&h1z*Qzfb+VOc)|5M!W)K!YI%dI6ul3*%vdPHW zlNr#sEk5lBUnlcDzHO_QI$InK;Q5q)o^kh>G77XgPv`_SEr#&;3{cj^g~%;+5uyE< z8nbjTpo7@cZi*^7KE8*Spoe6}=_l|(WnYV>9}K(`3Vq@hGQMoTJte||uoKc9iFYXi zh)7aXSG(XPo91=uI*#MZioE3^u6Oa4KFF^#;JEA%z#;5{*{ooK4aM#5&ZzZ&;;RZX zUEoh6=hOwN3mh-%I=;O{4vWc-(-(GLyW5*T7%y%k0k#pz9NiY->JXYwWsb#tBxDCu zJp1xQ==JuOgCRi4iZsVZ^=DJF1|W>2*=YQNw8i(lHpJ`7oPCqT-p8E=BjnQ)?})H+ z8Cy>5`yJAar$uwy%hFxrD+Kj_*3+=-wdE3px88Kh^<#)d!eQ6+z1SvGp?b=* zO8dD}6K7Qji|#m*Pg)dw?@T?nE9&-jq#}^B{W4jR*~>AzYxz|vqh#2BYov^UBNIxP z2&|oLNY4k-#8molnjT5WjNT!sJCGgLI7nG6FI}|Df_j~^f|d^k7+*qc{-xQz99g!= znwaGI>R9bA{n(CDr0CZ9Gkp2WW=F)$r64XR#_iVJ2^P#&V?y6 z41OzNf-JQJFM_;V&})!?@a8C7G=X!|iE5f98Z<=};WoIGpfF7^V^#8N|wgi~@Minz*)iD&b{i)HUNBfM8kz zYD{4^`X2Dvg@IyoLca5slehV3whv{@-ana?e&&hWkmm~*JM zuyAqP@tP}W>_)T@o zQ7fQtW8z*~>r{=0Av(2jtx;A^fxQc)NiI}7$1GQ;yR#OI?8!LzGVocOE!cQclg(z= zgGprCCl2!~Y(63+bw7GS5N=sx7`Kd;y@Sn{PQ7g&fh@^?wSDP^S>jH#{lUp&QgKRf z>4SxOUwbY;llfQseYvz$@!h3_*uxvDlF^*K5cLGHO&Qf24=)lH_IRyym`^Na|TAU#W1#j)r97$ogPRPKb=3mdFGaKbyi8LsR6L95E znWK0Gqj<-EaHkxmV6V2)uIx5O-8c_%T@f=}DTqYcelWNGdeLAdUSdmaT6nl%s!}t` zYBH=^BB{p_3Lv!=f|a2bt3)U2vSZCgW2>1PK5G+}ZjzLWx zFwYsomV#Fsw;d7i9p|CDZh$?dgHKz4Xk~zyl66;qu8g^SoDM@*1%ec6+^PCMLTtWa zNnT-7_t~@@x)dKa$L?aiWy)ww z>7flNa?aIpduRQ^MqWz@R~lFY^%hg+z4MY)6Kw!KMA=@!XDZ?36lh+`B{reu4NZqk zh#Dq;ArWT}Z%El0&@p6gliRh~SyB0bS{`@m6t{$L`&5b>$HovJM!VdnDzjy6U zyWjZ}`qT$DH;#(~PPaEoi8JY>#>&I0YrtWDnd$Q7^q}+TaV|?i1656o^Uq3{cu=(G zOZ5Z#P0!8HBdn!O(F9w4v3A%gT=yi0q_<}OGRkf5ZYJ67pv0&PTjA7FPNM$DN2Z`t z&q8SkHV7Ijw!L&W%Gz-SVs98@Oo*Qg#WOw}NO4mY=9WbvD?hy8uS$V7_A4Jvn}1$^ z-{C63VxRb9m$B(gw5Tp^BMY1EYhVvKM*_>o%3LZ09+WYs(3s@vC}Elwkw1GQ(Gt|j zY4ng->BmtO%7Z!S)P-L|?!>TI{%|y)?g%I}D0SZGrwH>{fhzT#q4eL=J$NF|j`@hs zi`w%vo2?jU3Z`TeVv!JrLkrQE3sW|K-C80)sZP8ljpT{6$|dkS3T2*=Hp@+83}*bY zDM&G%6BV~^u+Z`P-t1Wkn62>4s%RDA+W zt3$M!!tR6-vg>yGCL*Zn$@0RXx>T#Q!dfPJtiljtYF2Flc1CyGa{-FjVhH*Y5^G4Z!eynBuAz*M z*bSlDE1f^ye*WfnFf<%oLC`=z=h%P6@7Vu$@#jCbk44D!n1e8&q??qjuBe2<;Jtv- z1RP8YB4om7d_v*ppEA2yF`lS@G{Sz|b-x0AE1vb&2Iuc_83tTRC+o3#cUb_@nFFL3)A$5FM`)0XphnU@eK}JXWA!yNb zQRLpM;2ChfJ7Ojn`{LL#iqeHS=HJ%m#2rv*4%Um=tK|7jdG3=&xI{bob!|UKWqYjc z`6i6@$DbtGSBQa+gI`!N?gR|S><+sf3WS;=d=xpViXfvx&CyTqu+ zw%(qe?k3j6NSs?P*Oe>_-7S!6c@U9lr34<^?tG?ZeXH*4N66NHg+t6GADN(zyiPu> zV;t*C0a)v_RnCwI-3vzH37Z^cRmHQ9eYil(HxFU3Nf1?g?eUYm=d0ixPYrj433?A1 zR;1uNiO_GAYAPvblsbnpK5=t>Yo)fw`OqS%v&)U`#UQcc;WQ-l-$BvfSJ?df0C`Tj za9OD`MH0_wW28-g3DX#iBQ+vxj8J1($!g+TTFiKfIv*^GjU6`qSd$5)U@5o8$VS*hV|!W7}%I? z$sYmeG)>a+3v|URWIVY?)FL$Lbus-IefOpx^QWV%{BCm3i#ro2KZm_7uVE6LFyTEaH1XqulY8ol921ej z{by(7nVeOY(1gHTXz_%K{tO*tWpZ3=RnUX!@@*=*R(8n}_`6x24c(+)PtLkQeO|&s z=Ji}ZXSGZ93o^cLS3w?{0tiw)NZ-*Q6z!}vIm!@!i59CZceAfJ$d9(NyQ*ez2JUZE zS3l~_-y`R~-Pvpnr%_tB&4^=-3+70n*7bd!X`ZdZT{p`QGW;S^mLMT(xix2P5*nN$1)D<^JA%)7VyTlg6(vms#FcoP$gFc^BR zoKK5?)Xa*MCzBCq_Zx6ORc517drA*Y-NxUrI%@}!!}q(81o+QbrTZ^f)%dlfg_Zbe z#AQV29E|Lp%?ykj=$tHQ4Qy!tj$Yc|=%qFOdk)*s%)!9M+343NTYDR4Gs9ny75cZY zgv{)X{`^bs?>{xn@Wb@-0l=p_f>I>az#4LYKhHX)7GmMX#ip2@pVMflR^~fBLh~XB z%ueKR_zz1t*ngOvd7YyLF+S8d@}KvG=D+L<#ed!xE4^PH>L0fWO9puee=}!c{3i#l{?9neFY0D% zWbbHZ(TAhuku%5EjaGduu6u zM|~IG{HL{%)H)yk_c*QJ>t9ELh`*MVjiHm}f7XU)s9I^xseIxFRi;#{x0FcGC@&U9 zM9Rs|Zd?gPfBEE}NU8kl{G}yKuWp2Ogmzl>^`YqH_u&pFKSs`IwXK|&oAD>(*4P~w znI1P%OtOC7J~9ERUZdw!p|GLK$~Jou904OnexXTTEiHutO~^HaEUXyKv7o9uSzcvt z7hz+znoL#HZ#wHPU9IT1&JLo#`{`7ceZ~g$2*4pof48t|!ue9`S1Ob2=^rAKtilc` zt;`bywQ)Q_8psK~NAupt(4!w1fNcb{i?hY(Q<)7ZL)iN>Rg|~yxw#pk!?h>i{Rm?o zLwFNA%^m%=(!J_mhwJ@18s>6&C)iaO$ux72;ix+#hA zs$c>|f2J60BzsP>olXL1V%Bs+wX;5i&O2w9Zonf+=l#A0b*}FY?^KE#Kk73j1)2o4 zi~A`pH~F*HNk7pt>Q^RRL=g?nBZaS=ky$}efwtUfRT~W*68)2FQfgb2dK_ur4-ZoGe|012lP2nRL=)`Up?34-7NMDz*IcwV zp`D+!JjAMNTQ0Dgms1pH3w(=_?0I)iJfxB*j^-SPt&y!eOPiFTdSiF$Jd4i3%e5b5 zS2s$~D_<2>9dOJyOB!<8{KFt`ABWmD- ze?9G3<~LR1?hl5Hzu(DdFnuBIH+DZx6^~GPinb+AX*HhBw|A8~N==Vz*TL&4tcpFw z+`p3cL~+nO+O5Xx0Cgmvk2Hn za6wP!^t-C#FIby5t1iP#E7M{sjbNfPR2!n;ui#Oz@K9L3e!gU2L141b@UWd^Y=lpp zTi`tmJ$C$xSG8O5TlHJ0J?cFcf4*P9c#+ykoOMaBrb~*NOtJ?E8Gk+wX?p&`HEL zl=4+~lFh_9g(>ww%9z~`8|RrO(lwJvdk;#Lt=7q7l7V|m4e$NWsfFj5f6WB&U_d}b z|1j#QEjINZoC(4&cVeuk|I3rn{_-ib<_+u2LHCo4ix0%C}k$aCZqw9 zG?bI$Q;M|;^mD)=#)UvB5(UfGBhS|(A>hI(BO%vD>?7(Dy335s<|N46u-rt!reF1~ zDaD|2X#Zbp*8vyR(Zr8Cf8gjSV(*G2DqvTlvC%|9lq%7P$MJxZ;|{L?YK+D%_FiM` z#vV1s5+i>0-i(53%kDB1sJ*snsS>Cf&N@LIKE|~9mPrI_we^mz@&M-McJE^zi zvx6ShWAaq=KGkaY=PhxT@c%1x*Abn2goOl0$M{8r#Kt&CWK-+6Q6f?<5*LXCJU{O1 zoq42=7A0l%@9}-VjQ961%^5q>U*;12(vkO<73>OfeN=z!!TaMc?eIjQRU-JRQjSL? zML@)~%$X=nBv7i#f1@H0FVL+0%fqA^7kR z`q)A!NN3V29^Yg9V4bujS4u~*9*^Q5wkZ~7U&YL4Wd};y1({tjARH}--k?($xKv6> zD)K-!SqD*TQ^h#DJJzYO_#?hwuHk5lppMfd(<@vf9_2(j$}G;LCJ$hhO@JhYp3(&Q z-v1VvDhtc}e?_*ToJgF_3-TvZW0O3Wk;I`}Y+_7hBOT=wqgt(3>Nt*aC2z_DdB+Tr zLkH8E2NUMR3X`qUBx|!NXS_Y%?J|RLIZCxrugcEDI%6M4>#IZE2xN9=Mj&xPW*EPjR-}VM51YnU3?$!#Up*n%~}zG)xA8P$MED4 z`s60ae_&H(L-?cD#GQ}_r=rQO~KT+8-9Vvs^5i{h7`ae+Sy$cIcjFQM4`IfAnZ3q#jy>Dg}Pepwemxs81`zX`92$ zR&c}z_0RJ3s4)tCdTG{Po{02nyE&dr6OMnUEA6)3xMNmPjd`|M`o7dZejQG&+~ z-`A$fLNVygsRxty^#r}SXOD-Oed|zRg{zX{)XF&XR|K%d&R1Gb0|hQRBw zf5Gf=ZdS(tL`O;RHSkj-n=lOHrr`W<{{VV;!2?e#oNR0pBaBRY_kx%D9$;BDrT8%I zZce1_gFbZCs*`Q18Cqm2*IeAA5)iE*!S`VUT3UrkGOEh?jy-!P?FRzv zm*SD)IqQ_Iqp0aGYVdGY|F!K97v1HV9EYXAJym&V(yXRaPC3We_|?( zdP?bH>|WIS5#WZ%@TK!yFfCj-r%5%W1*R!9sg$VNIZ=Z~0qQpb)a#+NsL>ilranz; zh*6|-8Y)!j)sf?V2Gps58pJ=X38O`gLz}orqao912-I;31Es*H^cin&0`z8kJPLf) zU9`b~Z-tK4=YoOC%%u`7-_-NQNi$|7X%s4TDAIIl!)xYRrBxKnQU?f( zn(;vIC6Yl+CP#%6eQR&Gzd<-B8G3}ID9-$3CY*xC!o?z8id=YD3%UnCmvrGFT}xp@ zVssy;-Cllp1|l|);d%Jqe^g{kCdzeU_&`5B5F07MZAzxLMV>(eb+d1se+C4R7V`7T zr)@%X;Zn3Z&MZggBvWFS)>F((`f5{sm@P+pTrZkvY#dISrU|@-)~Hi*;ab>_5_gBE zA~ySe0F+NI`1EYaw1E_(gYl!-1^jt;X8uS}xijwgF2*s-26@wZe@Tn6HKfn`SeTnd zQq%;5cZ@W|mIwu|A&MJl^CNDh)Q9zM zPbK`k+j%%?!g<}Iibbe@En!nz(s+0n#m<@z?_uY}p`fP>}iFalTcxpFxejalj3t z-y9pnI~$W#)CRHaw{1zEz#t|%pnFM0F;w$yU__cclb$R?uc{3__rvTilHSEI5MynNB94Sm%edk-WyAjiF4j};`Z zN5TK-iErds zAh}oH$ix4fe}@5D?}q20I_)Po4FcseE_-6t=t=u|Nue`hu599jn0jR1*w; z{gbwA8SNB8)QVIBd8Jp=F!bnSIcMAwW}hXk|B*TsEI2fl&}U{wH&jnMLV_^- z57UA6^TWCW|4DK@T^)9pWM#q@gT=zgk}Etq2rz0no&tS#pIq!|&gGak>6W}1%{f=E z@*C5Re*tE$9N)jxeME^FZA`M(f4f-78{?)_{}CXMJK~wT-cKnZgN!s$pxc;<8Cq2bI4HSPxUQLa-(D zs7xFy6b6$#;;}*JKLGu?f*{qanoar!MUa9R0w=xoZTSo)ppp}AGs!hc+?$t6s^t05 zvPU0o0hlRrd~g0sU8+H%*pG~K|LXEIe;BABd)%Y$ZD0eVu%0c5OHsg_7gX@je-y^9 zg}Ls^gI(906*fer=E5|YMnkkg$0;&sq`o!HuiO}b{|NArJot=OB^Y={E>^j}t@StP z-2a^MAUm_IXuTtqJ3XEmpAQIjQhdGL)t&~E1?$7~XP!Gjy;U;wut!m>N*%=8RiIj{ zCwVWIki?FtsB3}*-Q+Kd9N38lf0;p(6Y@qaMM1^Sf&;7Soy7}@3S>yR!Nj@a5@2+d zQuNX;@4P#R2Dngx#kh^7%QqyVlFOMATy?95Fo83S^tqPtSJFY1_B-MN%R-qjqZFEC zZANFMlGE#v^Pmy zs2gbmq{v-A^Om&m>mW|A)TwAr@~-H=~w&PpbvW|6-v$!b6hW{?GD)u{O^(D zr^<;+8}tiP2b>PMwCGIO7Lu&`kEeG|fJXRw;2F*DQf(liEFf8o*G*49Gk_R&PI$KW zM>Q!-x14bi5JJ+s{)-Oi+PLF6Q+1|Qgo4|uQI-ppWFba+o;sWYe?q*M;}CVTY(kh$ z0?nml1c)wqN0yZb*YlkWcdh>nvI!BSQmD15UBR2Hi8hgQ<=X9daH~mW@!W6B5ZiKO zW~wa}^W@RGaK!HRQ5dNgW$~Sv(+Ha=!2^v7wQ4ZUjMQ5$&8Hc`xH@ZqW?okBM#LXnxN(xlRsllw2 zXadEN@Cyf3-fS0%WJxvLwJe)KJ9u;}TP3GymAAq)Ep)(>yz>{?Ml$u4qF=dte0lBZ zSOD7MfS1&6TtYKwKCrH!8cc{%Qgsj!kuKZRj$er)zsV9jfA6_)xlOnt*YN3=>`q7Z z<==qW*7d}1p?tf763wiTg}q!!CjxgDA2|X#e-)fjBESA@9j$nUT?X_JfvI$XT1|>7 z6$P5bH!Mm<>bX~`(vGfliBt-C;DxyoOIJDEUv4k!jQ(wiFb7D-rg`C_Z@Lg zTJ2=zB;I_DJWQiEzy^ku6Q_RH!e4_LzmwsaC6C=A)tHrqv@ER(-Dub)P>^AJSXqcr zC?oZv6=cMOR^tvx%ophR<>`0#vT`EYULM$AI{v-He_EpLi~X!jFgVb~zxL=6493w6 zRI)ce2Xla3c1+~L!HBl>JRzPCKB-++j$*wZ;9mqk);lD6Dhk-4EP>hNt_x@Z_y#Gi z4*Da^Rw`B}v(5}%I|3bcgI8DZn5c7%l?k&qFP)WUcG3$I@DD2orf5eT8`maxf9UrS*vJPqqIhhi-eG0K5@3j9r1{;4 zzfJ{4P6&?eZ{MTev(wcgZQ0hKcR$#(y{U#DIbV7}v%w+VVR+6Z9f$GU>WOa&C%z_c z2|p+0$eYjP8`;K-FlcKW@j=`1fn}!_u1!^uc7=Z4M$H6N`s0Z23ZF})3|PI;l>_o7 ze{^2XjRQJ>+hLFI+;7P!;3y8HH@k=Bqo*wn3(nRzI@&}qrQoB@jcLep)TaKK?$!Wl zK$gF+vrlxk3B%x2PplZYWiYt1HBwxm`?%P|psS=jHFECt3$R{26{JrayHU(V!HiSP ziSO;It-L^p!S;A6N>PSN$pRG`C8s8p2*m}DY<~#`I?^3aH=p*hiDF7YlE*7{>wvwe z)5R)JoPM85HtCxj0GWQRz};hd!6=m#bPKsvm1>k?Gn2t5Q|4#BJGp#j5GYqSDK5?Y z8Wd<@q?Gv~_nJC)pp6bv_)e@#1TY!dn28{pOos@V57 zBg2u3RNK8erv_4}>j8hR8@07coMA2+xPOgqVf~ipy<%uHcThNW+;0--q$JS+FZBC0 zz!pSd4^7&ee))|jqhKXUP;na2o(iYnjEVZ#GSsC~(-GiRJY8|mGN>aHBC60NU^NNJ zh)xEB*#Jf#%D>(gBvLwt>iRqP|NE;8Aj{qHEJ&LWk?71Uv)G5-uMtoY=W)^^Q%02 zGV5vK)0=e1n3LB?l?y<;lX83?x+sbY+fvLdR3N5%6LAes-C782T$1Da&~33LXCsJH zbCiYuJ%?A2zytw(UEHE&sG)zZJzfx2Q6bWe(jU7%4Qe)e zCqSV)68s9*o63@`Ae0f=wBtJEO0@NI#ET}pI9u?hw$X7aE<01JA`bB0TYt{;@?miM zx#14gJB*syG-rs@s*M>OWjveReUmiJQs~PM(erZ10@B560l{v^JHa4&Rm9`M5#JIq zil{wlf9VkJJg1$DM6$3lzJHymJ(`FE(K*Sz{xS2vipagD+T%rfTc)tilc`e}Hkp(*iSo?*h( zdK4D7aV6m2Z&P7({T%TP%BOim=m<_@BrBrk^4ei2JVG~Ay74c@Eq^3JL~(k~@cB}b zB`EUw{B6`wl)ymnuIq*}=HZ<9 zI7KeieuwPB9nb8AuVj>rfONh^%<2_@6ejRkjn@*93i=R|(x81kf)h}~0DF9OY5X&t zG(jBd$V{@f!Ois&fPX3HfS0P@+)SbJqRebv-={8rf>;;a@Wg1uRx+kSH_*sYY(#q6 zy*WGyPna)vYmT&2RSjdF#r9%*zn`h!WO0{=>WRD6{H}uYcklk5H|yl=Hdv!Mrqx z6D7k0S=Q^=Xt&rQXMOb0?#NS%Fje<2fa6nnI%? zo^uG(V6Oae`T^<@ndXR(_e5N}+~U(YxAfKR&Cd?;HF3m8vR^jk&2kLgIa1zc%$rT0W`GnA1mznaq%wvP z3|APGq_efWphqLCTGIObSm?PU5epO#IbZU?WuF{%q%Uks57od2F5Q(yA_B}eT}Cb~ z4}t{N!hhX-y$VDa%Jb-Pzke8B2X$~1G;*F*n?)2WuWFEzijUpr>DpP^FYv|t!iNYQ zqcW%|RQ#`nGo0t5X3+xi^6C>YcnyY3-|qr`BU_=P$`;=_KQ3kgKyR1f3Bw}|ML-8@ zk}a*)X}}*hn;tm~z~>0|#g`h10PmqSq^UHi(SMnoQl(JSFwk1RaCat5ZiFLV6Mm|R z2nM2+Iz>j3nyJN8tzX`Zo@+UFecI)PE7&ft2*MD>b=cGAe&6t zoCBmmKOI|X73xF3NzmQ@hn6DHKQCMa+*fU%oK#t=zxhe(wXH?qnk<}Qx<{oCYMc)6 zU4I0Fo*N)`(9L^(8uao@+_byEk*)B;m2E(KG1g9hEOPev=D-YeE#DEZSDn*EjHMM^ z(5D~y1eK=TdQi9<0z(@bEP{hrO@@*3M6Q#3W|G>f>DB7a2SN6?OZjivf|$k-bRtZi_lC}YoH8TAdH zen|Ko(BC=Y=PSLV#8_K2!zu9lF?-9+vAV2`ixp#U25n|09rF0S-PWZ6@&zfLX_y)> z*2fSaQxzBPmD>SPZ@MOby>&$8|+XmGaj;@Q;71WO06!P4mzt#um0BG=XtKAg=W}Vzq`D- zd>RaNZGjbENEQ>E8&gs^9pxl@*WY{t-3vP;xU=|ks;KB(sWqZgIT&culP(l2?A>-R z1T7sM9q}0bkV*s#mfb6Zru7{6uz%_-R2nX5MYcvQa`mJG-rdJ-8CteO1&iiJjTjeN z^!Xwh{F4=WwzeKJO&=&ma7!ATVd%%#?^e(H-XzB$f&u|#Bah(%5!Dc`*N%^S2fyf&VwS~-bMI5NgV zyRl7=f?575!(CGOc|?pTE`O6#7|;k}g$(GIXe${$Oluaf6FEf(JWbns0bM$d{*=zs z_0{pEfaNW?rD9w}o2I2l8@=4G6}s86LxwLm-!37d;Y~()M#Kw6i6H$q*@O9+HtLPCKVt>dt5o}ld(GNP6yF}}a? z$D5770;k&J=dP2t5+Ts@T_M`SxQissm1B>p0Mvhi(wi#V$&STx%tV%`;p=5OaFr5o z7yRgF`c5JYb-TFA>3_dHE8MRVIrBTACRhIix{FP_(=@Q9J zd2@b!6Y1$Z(AIC9@Ga))bFBE;<}3XE!8rz0OrDH7^|WYCsv^1kqR~=t&lSAzyBqRL zVi|~6X<9UARe`ZpF4r9kus=$04gBJUSVkBWVMSt_%4b0l-aFv^iR%AdO5;GO5<9kx z>2e138*|1Jw||3fm4FlYKTT2Ta7UxZ6F|>$!aLFA-DO4Ra+GSLUX{gVXp>>bQt%b3 ziDn*^>2ubO%mpr1Nbn0T9Uhj9F9s!PyZ-%JRL+7f*z$8yL62COFlsDM$HTW-E_|-5 zJ|Ge$AJJ=k{EI%1OTt3z=g*nvChLz7r`PD+Pw*r0Jb#{QJ!R!df#PPE8vo9gPnfw` zk-y<8awLl-xJzI7LNqrFGn6x{T{wEuOW2!d{!3PT2H5D;{@K3*h=U!T%E*1i3d=m^ z<&W3gGa8^4NpPR_%WGC}wJHgIg+=u2W=+d^qic{5Bqi|BH@p#vZmy3s*UT`FhICxs zfmW!lLw}B^3c}t|@q_wMY4zqNCH{fhj7+TtwkAbemyn8vdJfsX5Afu6xDCAi$j$+; zXA0H6cHrXKt4;xSz6_s{W)ge$5wL7Ki}K+Ut5Iu}>6E)(mx$L5CP~fB;=ktC#!E|y zA4?+(N`~J3TXUy}rB^e*5#K_GQer5YGZ-@|*?*b*gVSu3+`1+>Y-#Gs&Q7F0hh1e7 z)*i?lW!dk>@K`Xov$N1;kbyHFHx*={VS!VmaOO7u1XjLZANzI@j0UKNB$j`4UWT2O zAP%_Damj^t9G1*r$qO~Rx{d`tzIVbs>jJM*7#0G0^@sC*>Ifq-Sc>n<=2T=yXAt{V z*?-(VO~5`Ty5Q;Rkjm`9W5A3`n8}zD@1pQ##xb7gpyXvp$Osl58PhR-fKyVAOBQ z@J&}Ge|82;oetS8;ZwQ4yQ1vw0DFAx=9-m~B?PKDg@$^utWmS?$cZp5j~wuo>Q)PO zh6;1)<_-XC=LfqkuBmqlfP2~DS&L__OTda{i7>sjO*ts}V{@vF2i&C+Jm&4vwtobi zFj!0XpPJT)gDKhMf^!fQP)cJ#;NU{P75@gqOiY&Inp&=7DbEI-dMs-B>iube4;A!R zzR{`FG?i4W<$Zb^dL3Z31WzzF?ot9C%n!k{=*K-*uaVtgAeu?>Ud91|C1)fmu0?YO zRrzn?_;aX+EYu#K8F{b>rzR@2tbcX!k~$eYyTKW+R%{wd#Y3>=6Z#7?OGhth|J2TW z8K0lz{n(8PGBOMGRT$JcQ{`j%)Er^a*~9t~GuQnMTfn7)=B``>BRr|-K{_+%EeQI+ z9xv2e6+?x@)~B@n(huLEhqHw3yX5gya13^o+WgG)?I7AL!BfEh&|%TteSgbe*8Rjx zbnnRlcjx&DB2}f(Oz5;_@TlMKqDvxC4tRZz<2O_sd`=uuC``uh38)02x`W^#DA5*} zvOp$Yy;4^wETLB8EN9?g#frR zIO*Gi0C+_3kmI@m%z%ZGT85tlzW=S?&bL)KGe3E+V8~ zzw3_+=q5v?Grs$qoJGeNFF+7yf9HNwUX-DJ?B0UXtU(OM&klTWY3q~6zzpIl;tn}# zn22eyB0cGXW~YEM3&A0`bi)JZSz|=52v!0%ij|@M*#k?_@yaS09<*)B6`=>Xf|5#u zKUIJ5qjmUplS;upNPqBkRGUs%f0OjU6gqf@*s7mII{H8KHcxq6>6T6{9g`z4koWM= z!0(WX2|S>~Tsj7{=2(kG>a$(vOzP_-k<2S2k@Vt$K4t_hcs{wCc~^kPeI%35?T|Ya z-E}XE`CzIwlJ9At5R?>H=W-GAsjpKu?9KA0mN=ke^Q^ z^#GOV;Dqy#dVhhDhiLdr6c7Hxmv0^ph_m5eM}A7=3L_5;{;$t3zJFcrjIa7t zMpO|p>+ST}=V5(a?SP;C4!FiV_c@}5z1z!bi`IKdB>lg_{onTMC12u65#~OJYkz?5 zt6lJX#^qi5N@| z0ylcpxLl6qHVnVWN&lV>>9eC^=&SZ;|CNK!0_1f$UJjk`kqC>>OgcjD$vT=-8c;iY zVehJ3sRIdz!SdfHc0Y}Z)qi)w?-3|uL>#&{_$`C%s%?Xr8Y^g1^^YSFf-Y58>wVz4 za3C*p$A8WDg%c41QwHXikYy%LS&H0OfD@i4{Kbt3Ui1oI5gxc41L`~<%~4$X zryan-dO7aC?aGMcfT6pH@8nfahM@F;z!Lq-l?0styQagCtX zE&e^XOfe7^t;HVrMWpoVtkz8m0nfMhKLLclv%`C(bg0V;#nSO{Si3Fl>@B^A`FDl} z`w($y?+k@RT)I#TKw3E9kK$daZxtj13B32E4sJv)Qi$s9@X`O-i7$@9uNShM?aLbK{ot3!_4qBXOO!scZ+Uw9;bNvJ@Mu)Xx1ZVP=@3Z|! zq5HgR1ovq>wq?a->Z*4rddNS6CDxL43xB?(17^@2`Qm9YGMHMu6JDb@s2!t}jPKl3 zes%F%J&bRv3}1X7b`UeK1h~w4$J`|V#W~?>bg+{ML8&_ob?j1oCpwZGC>Y>YK_YAi zaA^&vZFbvd|AFDSI^lVM^`Rv&90IEM$mm|^Ciomd(SSpDTCd8mnUXomS~mqDhkrQW z9=1{hEnF0rLMpxY{j&X7ApWo_zU-}tq(LFO*nW-&KHdR(TVdz|cnG5tn1+oqS~xq< zaY-j+4sLkD^z7HPcudO2vhVsiNFst`I{Sw82=Ui*I@AzR?{7@^ zQ-T9Cv*Cx>@UuLJ=~wvrvtPk;=zo62KM-$XC>LYM7Z}=<>5_+Tt*V;iFTc!AEW%KR zA`9I#E6R-}gwkgC_bZ)yiZ( zth~Lp2iRL(h;GaBV6Fj7hBn!#CN2iQO`jh-?aD@1oy7d~m?!`GYKDU(MM9ATocRGc zzX5u!22qhWzqA^tI5?UV$L_3MC`7*Z;CCgG{{v7<2MD%KiORnQ1pr1n1^`e?0|XQR z2nYxOypoz#m+gNBFMlvDYGHC!R1E+JHQ1?RHQ1?RHQ1?Rth@zOT-~y+4Z$r0_u%gC z?(VLQH`2IUaCZqF+}(n^y9IX$5;R!w{3PFZ&fWK(eRKCd|6zZfOfRhS5m5zpm|A{nT$O2o6}r@cW@21= z=0;{@0f|9M9@?q_^4pj+9m4{W6x~RT%J8V{Jo^_`wprHsF&VlyP6&>uva^?wj`95- zE$%H~O0qDpCV#$QV6Lxs75w^AdcALWFfdrK|8n1OV37aozF$WFG!)|XHYQeoxB%~;UtkObnF2u;f4GqB&ldtg&Ss7v zfXyFfApP?UPA>NLc8<<}n1J?Qo50E0@%2xq|Nj#?x_^M2fwpFUn27#go5;k@*4_?e z2Kv*(QT=OE0YSh&%|iXJ&Eo7~Z}ukx5&n4^8=&zYE=C6XhjnfXa5V${VKBje9qeMw zU}DGc|7M@&|8?oFd!`2goPn-?KkPsEOML$#*{@Ii`i7ySnTaz1WMN}w=*(bZ18{Q6 zQdtGf34gugUu~|w#KXAUW@1tx2M+wr;5H<_+!9qXb2v-i)qfrVvhn*cReFe?DYfa{&L|$1Z;m)= zN|GWDT45|oz6h+5C{4;%A%l*W;2uAsMY4HNa}pQ%0_oVqA2Ww zWPj|GW4rY+5&AAkmW*g+Ve+-Uyy!r|-epc#|MqpK2=X&=|=}=DU zeZzP-Sv2GN&qtt|QyE^mK2Di}tec3u*?%{`BeSnE7lZ^{c>bfB<$D9+Z+rFAzGZgl zc=40x%-gE!v^CL#o!VnDoR-?do1vteL8(V4y9iyo~yOr1&e|B!DTZP`m*H8-e&M zi2QRN1^+!B0WPLMJ3~`P01#woV*D49wy_=XZ-fzpC||M!ql1I*AXidV`c-OB(IHn! zGk8s>Tr?G?LhCQUy{Q};>uOTprGLU1?%%fxf{jnhDv^$tlUf@kI|0@2_8W{$e9WKy zE4%g!v4$qoEell4I103>7mBS=*In4gGzkB2;+3Q@>pcYogeWu1>S z3`w=G&%O`#C+qP1d)6@p0&MIo41uP9uT`a583^HbJ{fvv*HIL(#sIToOa)RMY?~mp zP*|Cjn$K?i+?;LOj#wA<6_5ym-La?#8nm(&Tc@3zcIHL`T^oX6dVtKlP~QN{FmU5w z(cO;?AOdxTxeklPq?_HbGJmx&%9G|6<-<>zlc+Y-dJR*id^jCt%a$uzs>+j9MxS%0 z4;#qGTG02QtdFsr7|`={4Tsy62dmnxKeo_Kw_unFUP-K`RkiGP8PD^5*V$%yoT{@9 zzV7+lNL{>!#CvDWRede7iyf|)i$G58_HGSR!XF~Ap0h;r{yGkRP=A=OH)iW%i0B+- zxrtCU!}-gqi`4wCXRkIh0{@d$CH_UL+M2x@)X?4r;9=%yXkrPlcmC@q$inPz3m5+F z4Ktb@5?a{`l4M(wk{ZY=4+SpcO5UtUl$oNG3Maoqo*6WlMVjPUSrUJyWk6PwdSwya z_@tmg#vkj6iItc4V1GRA=IQSKhWA795)DaU1=3g#z9Zt80oUHH)|EeIJ6hUOq%kRu zqkN%yLtk9wmst4We53qBqxWz7>hB1Ch@6GTD`#&}`g3ma7y1-F>K#ep(!UW%>O@^v zCQ>Lo@*FZomv29l{RHTAsX0G$Sq=4i3`Hb&BT|5jCB?AUjDOA#iMCFXPXs4M1&C!! zhR5l23LenrMUmri;?wQ!a}$|)fTFkv=CF-3-?3CIZZu@|MVH*uKl7sci+M{`94k6cS@po4e>v--yqoLV;9KD( z@W4jAhafHI#U4UY`rnE^&9iAr%7b*n?i@eTEElD)v+Rta%d7oUy{FDU$O^!~s z`I_6%QjRLJpDePSM^JN>G_Ji%?sbKz1Id1+O9~}Qxk%&FZ!BsOPKdD2ii=^;lWSxg zQb<-T>yVH7M_4bNG7P%~iV896TG(15*y|<>z+#oi?SB9ScxuTXJ{KDuqn#kLE>V80 zSwQEFzf2`t@I_e4Tiw&G>jZ4OG_@~r_ua6rJs|SN_c17Ij4Y@|Oc?%R?mm@c2JF?( z75~xC{j1FVZ+_0s#o6A)+0fL?6=?FG5x7!SUlC0honQ1LsEtmA_Rc@=!w0D3?~!+4 z#G{%bb$p5zMnP0Q-4D^>s#afG0FX7t&Mfl z&-)&Fi+Ugbn#iKhaVCbpFubjVY{>?j?}9?jgUIJ#29cJpE2 z*ae-(*mK-t9tO4HMPRqxW$P?b;g9B72?-rYK7S<_nR&5UB>=sg94&KW2%l1C1x`q3 z6LI8`2#Uo~jS#zOA|+ z1Apuy0Y*b0$2uMi~^YGbeRS zWA!wJ)q!}0$J&+I!U~1<}|f27;d;<8YB(*$>R;}rf-cy4?_||E?<4FhH7#R?R5yJi>+Wt zEX924$)sQa_j#mv#E7ImFl{1U(k^pBdc~nG%I19Bq9z}aN8DNfA!g@oCFl{1CVzDj zeqxIuOQxru;CBFLpc4#k*HXlJAOt(!4(38-@5nQ0`sZI;Y#I#y>dC zT;&(wlXN6V{HcJ!oRuX8MjJdN)Lkw+(F2N4_&en<#-C)RQS4tCUx)k?<6{3Ezv>Kh ze$6ib53l+c;d2Z&x)JjvzFU$|2!BoQ(j*C2*l=^;Mg}S7vM!w&#B;7>LFR{f#p<*ce_C`fc)EqHlyR~(Aikr zo8>B~wE=#ta`Ckx2+!2W<9~G}>wuE!ch=M#`AkaZNr%?l+lJK>j{3xuU-j9Uj4zwN zq#YM=^4jE!zjN*0Itc+MPT@1#D|es&c$_70jl1AJs;7l$W{N8lGmFe#zj186*8@Rkb7Alq4? zct36XX7&iQ1-TS0g(nr0)!u4$bF5Qr)?E=q+SPq6JmUss?@nShhvU13*U2I9UI48w!Y793CC$lo zY-xgZQ{Bv`MBD>&p&V9=wn77CaM3q@a+1kvv2e9}uy_uZZBiVDSjRyJgD}io;kg~A zXgm?Ba{)3nW{ik79cE9~n0YVSq#?*a6dMqo7bwn!`1qaoEPr?n%_N_%M-jqq_)+Fj z2Dy1Qo=peRo6LvYb5|%+dJZoX4Wm@)M>|?B%&di$O&6ClvS(I)U>|8n0`G6|;G4@S zl=}veMvF#1ybEVBp33jvvb=u@s0m}yuvv4giCFDIp`Peu-mwu043q91uF>||H9&QJ z5Iqu)e(>HUIe**9j%J7X@%=;g!DTB3G`MgHb#00Ehe_eTlH%{!sY`Y9DYts5OT2C!gX`J?KgaSIyrse1J zr;_JcAqiV@h%OUvV2Q~ovWcy}?2B2d_Z)(Gr20un?SFSuUGfClpGmbD_JF`9CQ;eU z9-X?-zrpL}8PJZfEFTdlLZh4-X0-7Ge@smQ#Z45BxTp>D%)Q|gPHqpDw^3GqvytUr zsaPX84)~)x6;(QLpBQh$gy`lI(2!bWuOQuK}z%bxD2<_zX9 z?CA17c@f1x#gZ1b$bTpbmqnKk)OkmJL~{0K6j4G%Nhp|D z5`W|CBWjiLOg}rqV(m3v5{qqU?j2KJVwkeXXpM#!P?4Lr!{0gI+^5MEj?-bR-xk5m z{^J9y{5hl!ni!NoZHkE>w)?kaRDSxQr}9SaD%L&3fvRth#%sIZQeLWWXx|$SUC>LMl3ZrCG5}=M0-+%fv4A09ITy3+L=zaO@=k#mJ}le^zx^#AtL#v zfRfFz5XTxuje=iBlc4V5HRcHDJWx!}=OSMHpc9^9w}OgPvW)-|gGqD+`^E=oQJ6|H%~dKQ=U`W=Obg@$VF~P}Np(Ug(`~ z3U8HL;jl*lBNaTXJCVv}7$K3EuzwU22BL*j7-4#cEAs7$E#qnmq+jyk-#Mnk3U4s} zH>?MM1yB9eI4di!ps(-q+btYS`DTN*yNjl){AX z@S;^bZMq^T+Tc%|>0KpsQ;(yq@0dAK# za3j74T#hj-SxW^NnK-R`9D&Z;^)>-iyz;)or(`Mqr^8eREcW3QY0O(eGX1daVJv+) z&L+#Kpe0K&5{A59Bbh}-HpSXVY;&rneB`PfdcY1%6;3l~8(P8-!d%7mDwSZp#Mv_IMZM9?S&0mN>965{!|^gU~1N4#H23ENpDp%-AeNZs!JDqs2jG%RFV#G}7wMNQ_g@q=W1&KXjs zgK@w@QEU@K?2NO6P}EU1a$-TU!$;?Da++^VB1~i0bYyvokESR_q;98tzjE!CIJthp4Gv{5-Lux-gKR=q_>_GwLc2*k=IkmikOIA0 zMwM(C4O{e9kE``cvyAp2IR*Q;ChtB4D5_u};G{-}YQG7QbQeia1B&yBA7TB1yea|( z-QgATxIgBY{Qs8Ub#ewc{~yU^);}bdn5E+A-ywPe=*9NqQ-3+gpe;q}YT?+)21Ctx zcvDJOwOQ8(?y8^M<5CZiFC=l!LFI7)jAwlvZf9#wXD#(V4yx@0!A^|Zg77aH@R30Su-+Q*1MVAS~SbGw+Lf01a zn}4O1^`=r`YRC?lO6F9!H@@QV9d zR*0s*bSgfAgMmf-(Uo%lieL7_TB{dU8@EwzDVl1ma2JQ+!PT(ik9z{g`= zqC+aMZ;mg$*kFp?=uC%_9>73Jd@15du7;B`+4n=0et=(DBpN{8Qvgp|WfR|vQDH1U zqz1-GAlVTZ!Hnor#Kkc+gf+j4m{2_ie{~h4)q) zgK|N&R3k3!l-r*52uxM#p&dt^j?)g}*KB+m0gqG9qP3!nVj95;AXX&$2IxTsWW_52MNE6f1w;h0fbJQ02v-SIr^eqbS7=8iJbmVSiqB z1qz!^6^1HiuXejJ3DQ#aCfGJ)mzpJ2Q}c-@=lpWHA^V_D9h+s#Y1D;VQug^OEnBHU zvy%nmR9LP8f%*kWkLZ!q&Hg;%CXQgbOGOpi;JD5-#OLxOE0TwVENkn6%_~W~wew`< zyj@6qMOK%USe?e-=?rzxvVe`r8-L_gdOHu4hghXIX`rkfP}$YR?>)4SskA5BtAA_$ zBY9l^UJ(C{ouSL$Vf&-5<`)U{p`Xf-kyPT{cr+@u9SykE;!rKHJB9ODmDSo#3I42c za+5L?#iv8x60Ps2k+(t}Tk4(IJ_a)EUnKakc-`75-pbv|3HUx-2!8Nre}6wfjQ_r8 z8au{lsV9g~5|j>flSKHzSZRD}l;qI$@Xp6(;-rPc{)^!jNIFiRcp))!> zj3yihL8uL8T_wh+&IY4Rf`8cI!96ODU^$o3tQuTMnxFG>qLD&8VSW^8Q+&~x0cb(;h6uIGL zkZbxze}_`N^N!jVO23Ksn?Xq}M=ne>WqWHBoL*pIzEuD=08|$XY=5W7;g~Yb*D6bO zQN*}>iUL0hv6S~*GH4>o6jlVS4(9mdtBFpMdGc7%xiZn3m7)lk{UNN%Q)-BQ@{rJNUE{Gknmm4cQdS~!t)Ugq$mXn+)- zmL--ER6EB$4wQ*g+J6oWvKnhzwYe>$&0rBHd9F5$H3|p?@dS`Wx%Caxwq7utZ1r@O zAbsw9P~pQb=$wb`@6u9C{uCA_urg}UA|TY8k>q&#!*jR+(Ww6RaZT3oTnbX~Nrqr;Q}gO^o^iTr z3TQ}TD?&6 zU|3qOE7u+APpenxzoYUxnmM`Hn*GCZR;|?=;ddcF+4mXJ2YV&F!EIRza|(@!MId`_ zQ?qn?H%?DSj~?u)y}<}&>OQhj)0t!6b!}&~2zJ_mVY*MvsA>(Slf_+>HugHZsKhsQ zHoQbubbqBT)RS7cz{AHBB8gj1)-nel;`;I$f)I6tVLb zYg+}M*l7Y-R-Y+vw>2AACS&3IM8hgmqg~)K1vLGf7xt9hrEk(-l#f#I?bd^Yzwsmb z{oXv2Qijj9yc*%#ACI;ERn_KiGr0my&FlW!*b&-&AI*Ii%RL8_OMsm! zaE0)M(6=#UB~5_L*q{CVmd7irW3f}p@8$WJ5UgsO6$1i(VZ{(v!IJCNcaOWtVT;#G zqJIy;wPVYF8>$u$s>$xoAP}DyW}^!4jP3NWyy^HX=&=?Hn%Chi{OlVXQ;aBzajeXn zZqQv-fXu01vGxvMx=_p&;*Y&$$F39}1z6bI*y}smTtW#sY;HE>snyp%w)NLs0e{z{N2Rpk%0Mhq-*Qr=2Au z3RkjyjPN?;YdP?|s`}Psn=6ckySwq`@BHA7h1;ZO-`aGYf;Kd3wD_Fcc2+AFW`A=b zSYxENXSWgYg$Dgpx9IiMP$w$g!~;-W&Pc z?~npCf3BMILE=Ud>5B^q2vJ7b#id{$w@lqVCWKq-hIZ3km{(DvPl?IjR9lV=JCbRZ zO$fCz*xIn-!~->a@o6}_ozde-S$_-GIb8BxkKvn4Dv*V7oip2vFW8GD^dw`q@I-#Y z3zC#$RCz=%h#>zK+jMd_l5_YW=CfBwt2bh+rj*nM;%fY^2EPX1&reTK8a1B5MegAn z5ymb7hNfW4ddA|$p{Tl2Czi%TXuN4lY5kM61B2DqA73!~u`l60FJm)P;E!a13pp+_j0sj+oamEaQ_POv=Q-&{h zFH%9Axy1d>ys93x;?Jl7Nk$XI1S~3*3RHz0I+N)5SW;h_<841ZWq7we`a~A}K8?I7 zqOmmAuasI(wUR4eMQ2&o?SDP9KV|M+VyR#&eYxrqtyLi?kfUAqx6(;_J25}%YCqdB z|JHeKmIs@IJ}YK$czPKUhbNOH@z`jAZ$%1ewS=Y1`KnF85{A|NV~>~(JTm$o(LaN5?g*MBgCYPiVWG4?6J zU4QC`JKW+^?gRE!tN~_?P(9e`B2m#Hue?)QF5Gxt1nc}g_sQ)00j|h%%c0I<5txMK zwE=!$l)_{@U@q6w$BSQmfDs8MJ8S z=G3__3K5Nx6JttgiGR-CP1}5ikRve9Sl0i?^Rg3H43&ATwNQT6gYh3(=b8NVe;=4- zAH<8S2o-&JZ;Au0Z?}0VYSx%!vh4qMooGIjn3pjL7883mx%3oYZVzz};ZWQk!0c_^ zlKqv(mR@g&Ck`}b1^WfvY7v!YONVq+DyqdG++<$83ZBX$yaMAN`D>5!E zoh^;+bpuKjO_>lw@DRk6Wfy_m5Lm-_yoI6#1(D72=s4p|KRc^3eL#8r(^#iZ{E9FH zi(sO}j?#*!u6&|!rm?AtDj zJoC)zXLdkLoPS>`xnq^1aIhJ-Fh}PX6E6}d$%RXtjp;)obVyu-=HlA>1PzY%c|<4U z>Y>!W9!U3fRPsXHM+QfIlaR%lM$e;;K;{(Sd#QLiQQjz!iWk?ck@cn5FWH}H5- z*-Y7W%4M%9e^&<0f?^46J_zdoLpc1=)uV={*#`8DVt+BI`ZBaiKGWf)P;CrI1OuoP+`>?<0L8^t!Tnqu`g>Dh~yP&Z$?lO>vg9kEVGzwXNX<2niF5pxus}S|B)?I-3K5*{fT~of0O?IlslaMvrsx zsFUjk>p8E5xx(br_a9ST;7h^hDwe|5sBlOK(}Oi@6-o7t-4hC}5*+7V{zov`6VnT% zdVkyJCYBStd*s zbF`Z10qEA9+lvtbeZ4RKool%})A6D{lGw8?(k7$B(4F>m+{#yNiCXsWTItG3JR12G3i_cT+pa}sEB27Wv`IZ5 z5m?va8u;==t$YA|m4((Cy2T-puR&6IjL#C)Tq&LPJLP4UvGxUEGs^MNQk2yfSNag! zv=+1j$Na2dR8HyeXhdt)4$V))wP|&z;!_+I#=w=&)?Qz~nzA|PMG8ksVlRC_-+!P9 z{w%%iZw+U01UVGZTM6x3OXfXwajNvFfy7&rs8CETb@{CF;!5oonsnZk@&syqqug-f zXkW$s$dB7Mke* zqrQgR%6#A^7!THu$MmfwcGCFQD}ROUVdWGSQw_RR8U?tqs-X5h+z>K52i3S;f9Mbt zEfMBR+>i`xK%9vfJ)@QSP%1?;P4CY#o<0*?_=F~#P8|IFZ7YSsea=}0D=v)6g?D>g z1lh)9rbz*{%&V%I3DB%O14T@s`i8~+tW^M#PK7LHoB;OK!U3eKs8ia2{C`|JxJXA1gmRVyJgZ^Q}#5qmRyv z)CLBA^AwaM93mQeH^e0Azl$C^!rY_0f5A0bbOCQ5zr&7Hy&J7vTXR5g!DrG+(Iz3^ zBp4!}Hlyc+m0^o_!;sdi>wnH0?#9+0`J;sD+xAAp?mKZcJr#KvP>XRmGaw0H_sDLT z&3XdG!g4CoVNq$Sd$7oUYOSg%mMYwUMvdnr)BdzixW&|~&rz8sS8sqV6QvI!F|0dC zkeI5Azvbs+jC1+q8l%k+?qx~Wv`CtVYn{hi_v9yCEAkL^%~Jz4WPko5H2$zsZ}JPd zHpAh{igd<~Qx%xw(pjCu33-!7Z;qY|foPoza3AIRB0CB^>%+GE?=O~XSkW+~g6Q|# z!&oGKG?(Uklq7~R?O6BqxuAf~!x_p);^?|PoO>w!k39?_r9NU!^pK0&CUxoQ9~3Wu zQa=$t&CyA3ypKl{B!9a1LE|Lcr68$VdB6&q*_0*k_7y4TBWn7A<%~YNU`F$aUY~W^ z!hRhQBo#Yp)Hg%_K=E+)fWkRtBcb)j!K~5uAH2EsC&yMj!-hJjZ(z=L)7X(oGYN zVXa&bT?H4sh<|l<-%wr!J7>J0FBiP9X;%q~HtGAN*vRrHej zk$3*^0Z^ZRl{@G#LtEx8F9qSE?uxRm6O7HD(xsgl-+yWP@=3}4k_)5UKC4T`Q~ucA z;B`CW{;{_Fc(wSM5G>oMJPQAkgARt3iiz&wmm)m@qjRBPgDR*HWlF`CtnvM==td=B zijvrf#BvWEen|0%*O}xR){w+~z^9;>4?mLLCY?DIngAPM@0FlsoMS~DXyiFHM3--3 zgU-f20Dqcpj5k-0n~-mBk+Equgfd~X`)T&FaR-p_7O67GMMVnA!dk-MMU}^pakO#N z>6V(ejZip$s#%~mq>SnZpJm=~;Tw!|+ShU)dg~B`( zf%h~xw*?+q9OfmS@r=Eq02boJ0t`ax*}L(_>Yt*O2M;VDY8+@=G%3;bHNU6^2WpQ2 zqJbhpg_P2@08v1$zi`yuu@srF42IMI-mg70w)!zC9HE8I=iT;#y!5JSJ@5k_5tfl7 z0y)1);#~%z+{17^5RR8}%Fx^S!F4|Y{4#q5IzKd0EY&7S zlFdBR8byNU?0OzzS~%~&c^@DyPT3zLoT$BR6VfKtoucCKgZM?SKk zu;75=1w~~+?qQkwi9B2z!^@TZh7KM%A_2%-`S0p8gvyenZu*w8zjHg8^L6?9{e;`% zc8wS&vhH(a3dQfMBfMP)RIF$3gJ@Z52?r#Y_Hb3kEMtjvE3+`;Bzq)gdid}|u)f1A zBI|#DLXNs_@v3^tUXAC8Ydw}BfXi=jd?bl$C&(Ijj@egfY!gA~BSm2vC+rZoe!DWU z8`x(OlCZdYuog{Ps;Brizcm_fPd+OGjl7g(pHC(TUk*Ex%4B4a9%iih87r=?oh8H% zUj@lK^&N|i#-;~ar+G2uQ;9*wq;9|dT77@*&X&M?B@2q}XC>-@VI?$c>V;>fxO4Jz zD(0Qd5(OuHVhgGUQ_U-7H(J&05KeuNPb|??`?0gm$Xloth%{e)-Vw9YQ1C+S>jF%> z62sn1GAo=>gF`2mQTa08lZHH2>EMobji$7pGC-_W5}pJRD0wtk(dDwAM|}$z2T_0D zu8<6)Lu;1cO?D$m(}wl4r~#bYJv{Q(AtC&M$)*N97fcv}6V zr%tPz-2%mmizE9g2e=%=Jozy0QShgj9JS)rs26A0Ha`B(K={XN)CF7?A-@N<8it< zw$MIQSNPVzK0rJv@2rvIN|Rm-jBiYiU-7ZlU;X9n@|8uPwb4R?@h=g_Kumvo`AY{7 zhW3>3CY%wXBXM@rhT^=4%R0}^VQ(TRWH2#}nA^iP9XPkD+zDwkFH}$8x+~siUq0&H z$0PdW-Ya>^I5*;o>tl=nG~KhWu`yR*9&ZgkJ2ijy8&+z9*-^XTQb}J;T48etZZB0u z$jgriYy7|x7(b1!1Q?D_c~XDsb)m~>25eJkynIk8`Us#Bh$(?#mXX5Yu&O?#wkYO| z1I<@VS$(XDSfx1AYL4_`O9Q%dPNx&mT!c5`KlXL2+9e$Vx%YopcM(}o@syoMes?Zs z-A>_Ob#w|PnmQSi(u)r=l864u_*nGBWyEw3|{~ z7awlfM6I(6KNiSC_2I6wG%Na+Uo9gy5v6IUu zxvR2v7qC(-fJdquG|NNOQ;EOJ;wz&{`|(~mT=}1G8ZftUakBi!rUB5erh%b%bx&;6 zvt){KY|UcIGGy@R;ZpIIiUv;p{3+{)%^jinTj1_g{UXT$#&mzOtP2O+S;&%LXiH(G{1PycnPk4I6!}mKt-c^t!h@%e)!UBD13dJB!87MM~BeLhfY+7`F*?2)fBD z*nFtj>}T$u-e?ND(`@L@(C51GlDD_}JR^G#;T<}?bdn+Z8J9I?avP!=oCgePnisum z)$Y&>xuk@CJ`R5o&L%+oot?A_(F!!bn&9A%BI|!|2We(z{SP+chwl}77rgm^6&)QM z%{e_tjX?(`jDpT5l$u3XH_{s4@6LsQyp`J@og6%X2yxEe$yxnl7tY8Z5R}qeHz^H| z+L@w}dZxfKyHLFFY2+b;nxEHE1BSRIb>2}0Cy_Fb)ER$W0%tP~ALdHfLIQ;132#Ep zp!Ox3WvapafK9e)8khi|c=Vzvh-o-(#koq;U!2Drd)!|TFtxmrvDitmn`SEY(+@etYUVtc#CYRH%wkh~y z2ZhwXXgxcSPW}eQ$p=2*C;zPA%||8 zJ!N|l|LBLw=j$2z-+L%P1-FIqMaSjwSTTR9n&OU27@dqhA@>XAqMw&-3E7cjv1QJL zqM-h2qR4BF)5b$-2rjHHW2xCJ+D(6xxs8odJR&P+xAnXPC<@1cW1ZRKd zPQPZq6!n$kdYo&^0>_V#z-G=gryNh`8Gb@Hp51~xmv;|pHZ$rvoiU;Oz!y48Ao6Qs}#%r^A6_$(D5Y$rB8$#0MPSmFca3;g5=LP%aqrHN2bn`r``~cnMGBJ z6NNqOHgPT#a7$vr3JAZ>%pu!3p>z$6{L+8b{x<$y`|HVI^bwS3vHaj4%(;ANe1Irx z(fo+J{S!L-l(xnVEX+s*gf?h|*m#eSC0S>;eRSWTS#b)Qjc#y5nZ9sfA~ zxUis;ZY8z`%4ve|VA9%bA+moIXH;fh+%SpOqaFo|;c#*{o_nL=?P2lveUQ(VfoL&H zc$ozqMT;>vT!4^!+n;`Wg)9vt@rO8li)~g_~ z!^{tTgx9A`=kxWbQ{L5h8m_p7E(Z0eZdRWjZpe!##>9L7LxSt9Gy;FKf4*FLnFNjt zjJT)U9tM8$tX3lE8MRk7TfNXxK;f&HjE@eSFZQ<6v z?&AU<*H#dTt6F-orqiEZ}+Ab+P6oP0W{BZjYqo zaAXMun!`r?3GFrEp`-e?{G-~bEv=9A9F-5!XRO={7NwtKq#S>PTp%Rd8Wix&u$jG# zYB;k`Y92FFuR%LYnFFi){hkROK!-qlf?3`4qtmG3gxT4VT6$TMfZU*UMJJifRegL5 zv(l9Pt+uvHn;54$bT23SN;H@2l(mssTHO}Nz&!+@38y5LY)5rC08lT7?1WC~pNfEUCuW2`BXD?Fr=9;AQ!mw*^r)-t~(k6CYlUI!PA zb7`jss-Z@lRU-bgVGp0ET_K5WnaA+Nl}Im$p=cb*K{%7Pdd*7Ev~tGxU3?fx{m>}Y zM>PD;1+i|CXb5xRXZ=R;L>=I+ znWGp5V4;8Z9|_$Y*P^GG_CoT$r;2|3(E8BCe;Y>-ra}+H;d-8%rLf_3!7X_9wHf(S z@z@}os1w~6MH8I5d}@nb5U#BL%I8I~)1IC}pa>JSVUg^dR~-1f%OQ9S%(hC!!fi|z zo`$V4)vZmbDH-mP5%M(E``$iZJ`zcXAO>d2fQElre6LJMf?}7-qn^gjhIg?$%z`lv z-r%vU=+R+gTgMIw&d4QWneHi#cO*j&-r>a6)TohUAIE%IEtYjQsSj?FN;-%A5q}Sv8AWl z8fSlpLs4L6ShCdi_FJJ%P%NZr+2yVGo1+m>G^KHk^>b6WropBy*^(HOSdoB803>F{ z)!|q2dX_uJXpi!GpdA@B&5Y)SesDC-bS}#sOtjAg2pn zIDJQI(%Kftw<^Z)*e1?D1tuM-#a(W)=Ba^|dOO<-DkQ z0;qtIp(mEbSz*J|JiZF!XKs7-Q3jTe<>#a5P1(jDxt$-2aEEijvS6{8Xtlau7f5CBujAGNqczkPjwuWE1B^27}D?uxy| zyw*H?-+h8*LS_PYVkEsWeU2TE4UgTzdU8%Lr$wt?+9`P7YQlWNCHpZ|_^?I5%R#Ay zdeXsTYT@%0fT}Skh#h~xA~uje=Rx|a9`#|09}9165anvwU89VYZU!YN@{xZwX6GWG z%gQK;%T)(|djfp+j;_Tt)8&F#k_XpZji3h&=?n7i2+U?Qb4a#`Ss6_5p?a;%(c_*4 z+C0z55=)t4wHnUNH9GBLKH`VcY$v?;y@@}v*%~?JZpYD>I8pebi3CNGx~UBY*Ql}rzS&GnJHw9LA*I2_J-U7K6iS6 z?TwqVB$Xp`Ak*Lgok(pYH>A$|J>=Mch)8%Oc~C7w3d&%MmNfRcF;eclI07IbQbQyy zl0&2=GCBwzOBXhop$WB2&xTU1ZArMq!GQsghmgTEBA&{$ERGC_h~$3{DrITjcZ5%9H_$-!v(Oy{gY`cw>-KN*rMJg9545u!0 zS2g?@TeVk=+*=V{Yh0-po!r|HU1uEch>iS7$Uf2|uu`=bSv-EA{rjX+Z)`tyq(@(B zVbFni?LfQ3xN4%w00o=huG_E#oe& zrd1&Zr<-(PtqiQKm02na+6<$Kj8^S+C4bUT)3s?wb*0*N%NsN%u~#=MaW# zLN&llq|+!0szHA>KuM(6s0w;d-cD1bRUrcBm2?5a{KYs~=1{YjP`q-WEQu*6NH83T zS+3EWgZe_JP>;y?C@OOonF_)&xcx!BU7a_{(tcu?6Vw&%Id)O!7mxbFfJ@gm_VW60 zp{aoT_MDH@+nrb;!W|#H^>&e_DT}+GadmRC$k2+{Xa=Ih!OpqES zew}C4qvn69zDN=Ul$tf$W|^NUugUiHWZ$APpN<4j7!=6%m8S-CqU4zPaFqApV|ME` zp)L~8c8}zW;LZ{&2(?(fUu$cprYu}Vd z%WIh|X<3s^8|y`|Mjh8qas_GZqGSU3qB(XwY?yxxB-+07a6G`*E^7wUcS=C|jMaYm zjFQ!a+Lb6IcI|bpvdOuc&&h z)j+!2?@XE98W`CR4+i!T>wls#^Y2Xgua?Yz+83g)I4^|Gznfy~MqO961rtH^h9PX; zj*x#y>|TZl1JPP440*zacdKHZI<1N9u3U_ejN+GaH@JF6V;WESz~tn0p6N8z!TMwI z{9F*cy+4wLA=jw4W+srNFNd%(lS^Ge)uA~1a9&Y`9y{VnWyI7!S1DtKp+{syY*~WQ zCM5Vee^)YQ>PO>si_^OY`C?*qqA%H`>Lh;+JGp41&`|AS6uB2~P#$&8C|OhtdZ*i3 zn|2tyGIYmibrCT>k03WEQm{Dd;ZQnJFeGxig=BI`V=C*GFeMdY6{K5;VU{5-_&$xO zwv*E##vO(%qSDas;#Ore19mAwURb_fS2ym5G861Mq=Wd8?S*`0?4CBbSv=qCyo$u;zdwgy~ zc0zyz9Fz6&`?%TVx8G>n#P?`LyfHp@D@4TumJ?sM$)SsWiS~XEa>|N4;fmf1Bzvx2 zi`1w4dbWx-QicwwDTT_rd5$IA1WX?1AFQO_OLE2)v55J`xI;PnWo7a6{@E==3ME-qM`gbcH zz|{1g^x>`kM;~53x{OW&W*vWi92Z$c&|jbBP)ehYUlH9AgoKC3?dtC*zAY3CDfodf z7@OBWCrRoCFv!b#K9TYL;df&QpJYcEl&KsxX5BDzMRQMFtnnvg@18bg>^5b5nGikI zdm1Zd)3V0hH!CZxTyv?5D zURxD3rCNq?pmE2ip0F(gr8bMqu$4eDCs2`0=Jy+sL3$+N)XgjSQtj|)$gS1bqm}y! zQO`v(p%Y57g$wTWhQd@oLBfdj5wrjs8oTu1@|X zO>dS={+6bl)i<$rp)`NZXXU+I_aq{JNz-(?EjS#ZmfODSrl@jOM+!~l5^^~tW)(-9?d zo#?IpvPSqyqX+yqIHdQ}!TLFm*}3P^nwW^k&N|&bp0vuCdt-k~QnXr^q;Wn{lnUAL zQy@PmURmN_pYhNfBVV`B45sTYwjqSUUMACh1GjXCcr}OUdO-MB7hd9gR@a+s6%G%L z`psJB1ZqY%#i+|KXaAv1|LVdEKG{t=7_s|BBjsn0(f6-3?*4zQy=7FLTe3Br1c!}7 zun;7;ySux)Z`^;~HE3{m*Wd&X5`w$C6EwKH1U?`+-RJb}H}{_Y`Y(*ZV60lts;XIY z&iZd+(?5YlI|F+M>p$VHl1~g^f9&u8a_t7owrPC zZZ}wY$)O;^UQAKxEZFMSseE{G>H&5XDi|JmG?t%;Co}p%vsynoN!ufkGyavPy^YKz(I^_6qZ26q~ z9qgM`NY}*!s7~cQteV3i^|l-BgM)Ahgf;?`n)02`J%~xk z>q*ws8ad}#XIXqWYzeQRf&V|rhU*>Pk0)xmHXcQVJ@-ct#f#>jp>z#unx<8NQjDWj*Q;&yb^; zZ=D5PL$1*_TI`O3hydL41vj(}EC835<~_yYDQCt(+S2v;{xw+3%UVp5ti2qhOz4Oe zj^@oVThi}R;;m>wsV5>SDkjdCI@SCtr1CUL@-@(l71%h3s~Le^ z%h)D4ReAv@2TL8oVJkbs4Tq^58UJLi6`uM3@-!t?H8^=l8&yTbNxb%%fEe>+oCdF&+Ke6peck+MH zObC$;4w;J)L2P!BFpCHzlO@+)4<<+k97KH0gvfY3ER(O@vNdu-%0#**2&Zr>trKBS zikG>Cy3V9T0*(WwA{bI0T9a*xz5hyl2G<;!ija*!Ru~QY(>>f%JXJVZNrfL{>G0~m zF}eB0D*@Wt8R-ANM2^ptl7eLjA25IQz=52uKSYj%Pa?;LXOSaaW5}`g^)W8(D9&;O z-O{2G9+>vR2e-q8`ppG9qr+kCZ=Nrl14`*^d*;jE3}m*HZ~4D_OPCB_v%EM%pp}Z= zD`QMrx{4j(-ejY}he(KJ08wR)o=$vNhh{6Cin#&h`P!L(NqJ7$wIwb*Zxnxj`Q0}8 zC_5@qwC6B8qARXP!0biq*T(7HHwXJTbP5YuEXW)|iY=O`oswA0Bq@X-e7Qb>)q&9b zs{NNuB(H6d;$%C0!qnkj+uTZf2%U_fALHSl?Ikn^B20}AdC?S9S;bYK!XLfG#4cTgQ?=+#^r)+JgDd7O??cVp0B(OO9T|Tr9nYIz z)owBUcwKUs=$7_r$Z7be(oyP3>Bv|a7OH#ttaNlpKE!_VB?|vrdGTO)dUldG;3*CWi^}YvEiW7@q#|QpcOuC!np8 zEd~_n>uaS%Q({(=UHV;VeGe1p;qcT+S`liZs?=Z@=9plq5jphl8uYB;XHuI&eW2L> zQGPIsWYYCUYE^d08zm$6Wn`iG^V&K%U$ZCo3P!m7iV&(QsBC{@nwPGHF$kdtRraq! zfw`-?!Wd3~zV2i>2|lf5la&+N}_)3aj}S}kRWLb)d{ z8Lkd5(Bm{qB-@{efSmECosDA$X*)$y8eyyUMz?Q=fY*EOK4&NOJkpa6u7QPmr=j}I zrKZ!}%gc-x=_`LGi0^vptvNzeEBUl>Eo-q+z`_$M7Gm@2M*Ql@xRnmUg)VF~`nLzV@tAgR%LK&` z1%#4S#Dlo-Umg-#k&muv7Xa*@%1VX}@9$0Dso?yXeO6qHQ$R@}e7QFrV$b96q$qa~ z`t@;ZW+Z>Z=i0uAcG5_I$@WZgF(=i19k0M4*!Fy@vGPfFEC>X+D_0=ZZts_+5%+*n z@80SnYH}SWa}H556N-c!+#u08q=m1;X^=HLi(279I2NskW(KGsN2$3wvCk;>t8`^o zgOQi#2nVa_+lQc$w&Ug-HUy>LUiV$ma%_-Rf`WhV8Hy4-44h(RyRN366IO2a_82M~ z8fS}V-7M!Ro^E{qK_z#w6)ApO30mvWH;vkw8x}YXUM__*A9E5&pmY!AEHQeP;^?Wf zYGG+w=@PJORCkVQN%jF&hAQeJE>t&8hm^7%8R;boJ-PHG%KdYjuk#U%p6l^jX8vs> z^!I-}Nq+GW?JR-TcE(or+V(&*1Iz!H70wx-TC~zc1P1|G(VP%pW#B}nSl|caHS=*v z=3Qe8<(+@>!}N$p$X@=*3g<_6g4GKxonKZsc0IHdx2+?vdi!t;PV-SgKS-E-@TMcx zgxmnLru(_?IiQ(>;l8iXd`8eB?mYKu_#ItpgCA#liAAQndA=^AzAyq^a&1O?p zwVCFRQh``;L zW$<-CI1AJrjZym&{y`JCL?9Nu)3Ukam!dFBU?OM~EpX`eaNS>U%%?3NNviP4z_m@L zc?aj?LbB++L9Khcatthat?$fLHYtB{tJwoWMG6ftEuNOYF|}2!GF-i3~ZIo)KLE$`jxBX6rgpz^+70@CR0T2WzydqP?CfQMA4S$(1QTQewDWlV`qvgqh zX};wJk_4{!=9N~)?TLqno99dG&@@bFk{c2*l6JiH+~&i|Q{s>`!4EM9Q4wc&sxye_Ln%N4ftG8uLFbMmu;AJlqn*8Pd~dAk}6I{ndk0 zHQuR!A;y}u8&+*~3|fEAh{GNH;V?=(I@X8b+;}*cf{{4<=@R}$!i+R+8w)Q(Cul`W z)N~`5e{44tOsK7ZLgD1WxAqzV7YvCY;3S5=;c8ve^Yx*_uhKfA=W~O5 zI(@ikYGu5AE*(O?Y49EYuU*;ym8<*z>dO8o9%MMh|8&ACkUnW@b$R~U{yL}vGG(wS zgW1S2i+ZOo?0R>FG(H|4Ql{LuRVvNSA-F*rbpybWbj{h+OkZdA7MW z9V+*->~d~lgvH@OdQ&tH+#iI%J(CucI3v&|EeY@@5xbf9%ZZUsEG^vXTPF0)$3tf3 zzg4oP{QBJbrhgd@I(s}qx8EKz&)-UU`VO|h|7rY|_OICvCN}=r_zgd*0BJ|?m8yWL z3}FXq3lOv*6=f)q7)@dV3CN8b;^i@v;B-P75gsS;h1>gv&BIR39oEM!@M(IJ%|RGk6RF-{sn8o`%J;;qtrtjnAh zuPkmfQdCsm@o_15zh1o0Gjo&Lrrvm2Kr2$(lrb7^wVU1JyjHaEL($B$CZVd{4}MP z>(YOBINli;a3f}DNZLcQ94(^u^vX|TT>wSyXnYPNCS*EMw&Mz-Fv^DqFNE{7-Qp{r zVjAOl9#vDtX5I8K@m?+v-oO6nW$j0dBL~ zT!N@2GO782uM_t`*lbQh?*_gzmk+CMlg)qf#cQ-;s#W^wX7RsG za_s*}b>(Q~VE=Dh^2}c?dCW={Y|zW(NON;O*r4OAq=RsW9mjYHC$qoEJOo9G|EGWP zklyEi)>LjQ@8R_ZZ`F<*|F9Q~RT_QCU#rGW{?lI2g#|FYcDVpkPdpTM0*V8smEjb3 z5qDsd_s*mm@`~q1%zg;O22aumr3-F(o0lK;h$U^O+7?EZ> z5Z)#}TMvCcMctEEYv5%{Aeycaox(s{h9X<1GzX>>AssD&ntKHNuz|ka1D{IP>6S~6 z?%2V3*=V2QE>ut-s#yq#k~;(BTb$Z+AZjYEXANlxomAP-<13wL33WUrID0Fk5sN%p{|J z9^hcLtyQ9jN!D8r&f|P%1lqE!xZ<0!qDw9?j$I{04G5ZefUjuLBO!amAykJdPig0r z03FxproQNwM{NPelAnK_PuW6ufepv<34h?FN9p@uRThLmEmRK+#0|Ons7@?0D&6V23=KU{Z~S4DcgLpT54adBmS(DauB(lfjb4 zzPYO(7ZvaUDKM4tPP;l$@tDez?h5&%1)Dg>!7N$KDB#mBC+ew6CSFc}ew_q>qOb*x z;2Y9ryKO?n`PQ27l%o54ST1nB({};tQO3f)xNGfR9VpS}#=;N; z;s~O-&Ymd*G6cyht)CV5j+XC*%&B&}$;M^~Me4;chiXQTxC{FbL{h-i?TS#5wpw@7 zq^nI#h*7C!Sq{mXPBG{$^orF6u;Mf+twx8WQnUovgM@!B#foyxl!S^CIsCA?&CCRS zZ-)eOB1Q`^YTMOQ_Gqf7S!qm!z6iu3dPs~B5ZU*qscVn7zO}n%8=NKi;RPBGaWx1(f@!Thsp+=BxL4-k-ih1HvvsEF zdWp-gb#s68egwCf#YCFuEv7c#!aK82rF)pE(Fc0)481KxRY1nbIJJAbUvqFtNCuwN zS1dr)3@H^igd4#s!y0#9{v6K=7uTBNvYq=1-9RHCi>(Vn8qvdt6n^eVg7Mf7lQA-b z3fk2+9aiMXR=`~M3Y5M=oEvy>EFNyR4rYlk4QPL$A+NjX?Z&XaY0eA=By>@G*9JU> zReanoWL}jRHrkkxpmJpQ$NozQ!IjW&T!gjOe9=tq;lJZ|^^StDlMPaY?RzAtZ9vAA3#mgI5zTtgBqgw~8EG_l+AvETh0NW9c`Y z)jS`@)DKdM;(jk0R$RQZL-D%q3Fso`u|R)rbt&&)pWdqu_bM$u&=)V1p#JMxj9c3R>%Gjp3N3aLQd$0AWC`)Q&n#TiJTBGp!YGicF=Z^CmRw;p512nN^?uc$t z=4KdVFzo~ln#!v=RI7AliFKxHm_mOKZ3b_svjY#itE0L}vD+0k(%d>~M~$JSm5p2# zQEfo@K0V){IYhdFYVI0 z&zRF7Liz6C_~C+Rz&!ts{Bq&J@MPou;|yYyOgb)s9_g9ra3p!0inJOmVv~PlM5l}+ ze*}a&M_>4?B<4*M0YuSeK5<{GW|ndu^MsqkiZ8_yFl1EJd5(&FY+pNW;;F92~5wzd{QAlVQGQx~XOLWX6B?-v`vp4J?i9 zjsIWX(hjSC0@UnrTtpNUYQjMO0MzuTd%=w~E%vhSQ4^j_eqV4w(>lH?m0Jem9vB!J zVzo2m{Aob~Rg1kI`59QB*hNeC|7?}W?-VL&lgx1tNh z>@{gb;MNsbg$Ro$M2gccbYA1cJG}#!i!*IDZh^hfg^krub+CW>mUFQ4-1D)|kc}dm zlFR-eo4G_X3cHc$)xkllTYVNGbK12nQV- z$mjVeKj7&S8?=96T4;yIGk@5ye|Qr4a%L9zp$4C#j55V&=KU1;dVt?X#+5~-4Mvlz z5buV=93h~dyk;sFRU~zOY$~|gJh}Zn+@Z`Q%k@YjM0C$Tzqe?RY!=)l|E|5!53_Hl z!QEXdT`teMhh*SyPMI@v^KAXGs8QSu@_6fV{ws~fU#EZLdb)PM?wW$S^n?t;eP6tV z>TA`0K>@+~hD;e$L{tXa7R(qSBvTP4E_12*cGsz~vV2OY2eGqX=J}}>3G>C<}eZhrhAes91*oe9GVYl^toLym6Su1PQUstS>2JltTlD`*}1q!=IJSRAbW zWX}=a{>*=v1Z6ZN+b3^5XFK3yf3jTNz{2Tbz;<8@GVdY^?|?yz`#2gLt7*E9r^=^# zsoc!ZCx-26pDZj(t;|VDRAFno2MAt&H3=fo8nyN>DI7Ht5S&HG2}e>*Vedd;^r+Qd zlM9ghU^6AgE0C!t)7nD1o9`!F0ohCIJ~bK()I5J78Kce4{P2bfM&n=?T~TL*(ZrSF zd-pJOU649vSMXz>D=hjksX01&U*5vybxp7gji#qn+C=#_Lmk$q0mmt|7EmHa2~^rJ zjGeY1H_9^)ADOWZH8G#X5oC5BR<7YI;=VME&7MMh^$C!82iv0dCR2y|)wl#u)zA0M z#YTT>e4JkiBgzn>EthbMcwe9XBplAxw)i49W>_@wdT8|?>-sD{_B6EmLTpm!FP zyVlobj5rMSN?UYZDZTbub3%;wxW=*Z)X`1IvUOkCBFKGimp-1=<&tbPODqhqu5o{t z(02H7VM;m!#Mjh9EM@pG?5}0KLMzpnAEJMh5HLD*;qB9Czsr{-MK~~)MAxQK1Ytux z*lPlTd3W$<;5;~J!OBU zU5t%ISkwFb3oIR1%Ek~ToW!j}qFj=_89$!U9EVP?hNvg*%x_I^Wd9~)_HQho{vDPq zDGox5;IZ9p$*ojevoq-v=t?6DAM67rTf(WbU87$mEB{%v*AV8OLfQwy>pizvsuDc( zsvy*tgrqOMScY2P(zPF(?WTZN!FYdSh<%Xg;iqm?lnJ`4)hO=CeTWe?qSf^qbIu!~ zA}&RGuIS+w(fOu{1rltW$8*V9Mv!ndqxXSXbxrh;vcS5lwTu*Ec;y`-R)bt?K@_)}q)WD=(($ho<)|`_ z5=1RF2AgzxieA-qy8-uO=PG~sTR8bYa`kht)_>|=e-(s(jFdehXvINz5&XY(Y!QyO zwUHT+jk6d8E8s)E#Pf-KGC|a*PFY;5bmJa+hCG=oDk>9!%Y$Do2d6K)iQl7^k%vM? zxC~>e=Iy3I!)vKCQ87?`se#eAhcgn@^RmCh31qyHXp+J0o5{ zmpo-!WGz@X?!2rAw*bCEe7qER0L9$=dcFz-==pHsbjX-)H=QzQE1cNWxlrukxPD)3HdPv$IPvzmoe^IFWvx0tRLjB1yGWZoQ zAmCxkwOC6JXlIof_EUeUE5%ah*xMm!h;0-t8slhB?$T^zoYXxXBPmi_W@JctOx>MD zu*NVc7bHKdFxO-{4D}a;&Co6HNQMN^w-#DIES$Rrz6BSbUnPHxJU}_*U5_=S9-YG( zj#+o;^RX)t-wQ`k34Tr*32E}be?FwnUYhtP%gCGG9@2l*X8e^_=P%PL#!rioS~`_~ zzSx;%f4X7O0j>8RA{R&j^-LFbw>kK`YArn7efk}ah28;n)4brN|L_(ZK}jrKg7domJ+ey<>?xg1h&>&$5FVqZ)4v6eAY$q;{JH1SgdiY_qJj)Owm`nPco&J+OD!q zOdk4(m)769ihLoQMIvl#JP^QNiYgQYsRf_oo=qkpE%Jn4r%akm0aCL@o{Cs_^`tq= zx^d>x!XB^XUhEd;Nmr{Rl@9ug0<>v6Y?BVgQ75(=Yp8cZDJSK4^ zpt-{zS5CHH41^Yib6f9YY0hMYqDCEpz=Xdl83{gRAm8@KF^k?@-f=1VXi;d-c=A?% zoMqvl&ue;1O*s*_8D~LIajMeb4hRb5zl{x z*3@s#u^5CsCU9g|bSUnr*&bEA{CC|58pb(`g#6b>#^~8y*5}i@w`uuVB2CbvIx}&z zp_@xbL5S|lB?&|7=kI_8_EogJRrz5%x2oBDX(Doc9ZeF!_9P`*M~C{IoLi|`wx-Yx8Vh^u1nvBqQ!Ht#6D)%{{q&Le z)86RW_mBjWcR06t?;OL-&})hXl7I`IyeLM=p?*0vLO`L{Bx8X~RqiL*mS{biEl9az zoP#>S{akhVyqC6TdW;m_Z}Ya?{|^M`kJWU)ExVel)zmrBK)K<*Z}B2l;6i`rL6A35 z&6-b4Sk&sr_;B~fEVn*o@%&;4u;XmdrGAN}by)gOR>RaU;3_7cqxQN85?$&CX97lo zu4N61dsH9kud?fB)bv~f{iN+*8!Qbrg&@_8$O(qyu}ldyB0sT32?WA`SJTp;hu@Y> zgjM#5pk}v@Bs@p25Yc__IeLGJT{0N@P_k|XVVKvdC3`i2@_qIJNhsR_Dovr>F{n=Y zb^)W!7p@&6=tfIo4rK{MKfXc3f7Hc8H+>h^7($URT1yos>lhi#p**2}I*-DH;mR%b z(!;M>A%M*yaWtzFiHUSo5TJ0G(eid%jxU6UB${0X&-}6K3TCpwF!O&m#ZL1PpTRvq zpr&llmlcLz%=}3fEpjZs;ChUn>~Ev@H?=+gNQ~N!R_1@Uopy+zHG3kRe=}WmnadS1 z&`V*EGQrD*g5=}D({URJ5812#j5RcWYxDa4{ar!iD4Aq12KbVjyVX}OD&-gA5--Ppo(2}H%#o6R@M&xQ&R#>2G#+yqlKOJ%a^d%M(sH5N zTE{U|bPNu0)2-BZlTq7g{N)tHzH+CxZVNgWC&$y(;!dlkO)iUA5?u0@ouwW!n|BY; zAy}F&;QVRAKL(BSU#-pi%U!;RdEUfWC`(z`{CFG}zpW(xW_y3F2Q)X={S%olE}|K_ zjR(+WcP?$F`KH5Yq*G#bMAn*&1hR}U?8CzOmzcSWl{Zg?)|cSG<@Ly;D0flMdhRmj z7bM8s5;WPWAuqdo?VL^@g8 zQqC&hzUtbOaxQ)ux2@^}LJc%H7X-r3=YRoX66A@TkNVp};r}Y9`AZq^Xky@G zZT0xOf0c^0|CEZo55^CMp(+UdMpTI>tAiX34aG=+g_AscfMQ60Nx2Q-=k-rW*HM`^ zgk$zY{pZUe&dmjO`kxzw2(@Bq{e0jCJ7|Id$d+}(YYfYaJl5<%a?GOddS%QDcnHY> z{x@w>P~c*0eMCY!bPQwg3$XR%aQGY0o?DHYOG>=LV2v7JL7}f!?6hl0SKbtb15DzC zA@DX*{eZdk6_%xctm^Y-yYm3lVsbbzY2*z%@y_1LaB-AD->JP*yQrd#{5*DbB z^pp|5Krzv%xZflQa}h2JdKsBd7c#)P&eJ)YWK>eQ=j%l-9^R{?jfCj1!wnCCYyoPiUr}bl%=k-maxj7 zW=eG(+PFF=_r)-jRpyYFF@{8m3;iU zTW|<}hlI?qjFt_S`v0Ik<SceTJ*^m6fR5SOPG~`f z!biNuU;?FTG%9SGFvS)jpH83+hPSRyxJTx40_`B4a~yQ7@gyx-(9X)3m6_s z&FHthu1;%77ZU{%v&I~#OeNHVF;4PUC&cDPZ`p~x_E2DY?|FhbQ%VB|B9H)S|RZw+`oo{+nU5zD^)91Qp+-(zFGyD>8K_&v5m@Qki^8H>R%Lp zLyO?FU0__%R`n?V`GO2#lLX8WUjhxC44bXK&ZgmTH+w=HK@W@nV=dk+EVw(0+0wL+ zQ#Orb4ofWH`r{bc9I$6<=Ls=qkgY6#5t4=IwQSjZdoilL1Pn^Z8AbE zkR9XPy|^#V zY&x+Sl3r*tJ|n)a_ML`x*wJiSd@uAA`(s8TvuRuQ1YNBv1;~#NFbdn_70I zGd)yI>_&_IOkbqN^ugHpRPHF430iVG15Tk3xg(2QoeZ(j)&KpzA6SI(0UblF>dot9 z4w{ltQr{2N5gY9wna}cFS`4np)R5Alp>fE-I>C9NllVc61Tuik*-fJo`#%b+hpgBg;sZp@!f^Y zqf4FemSMx?0_N%V^*YMvJ-Gt?zVG1pTer``z#jNp=}h1%gb&!~NE)txLQyOv5C*(| zwPTGw`s;!)r9W$DA~Lj_L7c^>FyAM#nZbUKMv*x0Ur zEC}nw3bbpDQSo1p){uKijN1}FPk7D!?saNLt%_lnq=gNkWxNVa4Zw4FVY#X=ylmq~J-5bi!6S1gk6b zaYlbGo^5{bF(5YG`?_-d$qIAr6^BsR&;6g!OKI<)_J2wMGql>(koQ#jkfXQm5zF~M zZ-3VJXm3k#cc`#`3ra~)xdyPuwU^0G^-R$R?>`rjM>;zlcaQJehu_|^|HxeLFQSlA z1vBY!8FWuLEHmbh17yL@AOhH01!xNPfo<>oauNB%dUYl2rqTxK8y#6KM30nRt}}l= zZ(sL|A`7(xe;jdf4znJfY7K4NMo@oyvCu69^{&UHCxJG9_*J_f*4Y5f#bDX6B)eP% zR;Sq0jz#Jm)Bp{KdqG6DU`#QC(5!)SlxEt+7JCEQswh-=_j<4$KcrtoCRWN~peV7`_o5uGUANWOzf!M93*+8jBFL zQ$S-pX5$-wZ|#5%=*~qZnTotYbZ zHf8LQCa*5?RIA+ug@{Mc@U)3^VN?8B=Xl*T%8rX1hA$9|>Qc)(PANI+daEXvh=api zNt8H$++LuX)PH(Ti86~s=A3%J;SS1!;_g^aJG$A3krsS^uSf zksAj$=>LR@+3-8q5Qe=KM z52A^Ha26>>+Vme_eRw(7i1)1%f-lZ;%LnC5+23wg5S*D$ed@^A**uDZn@tnR(8 z0-FU(lu)R~ER6iU0L#=`tT-Q=fD*&hcg0v}J+H$sZt1B!yY7UI569UqV-oYMBgQg+ z$(EM*o zeUG$TQHT=u&Z25ZjF5j?>H$nVXCe83kG4{W+Oj)poj=}_-j@q1KmO_c)olYCIt zCdBQLNCIM1S-36aN%FC8{0beaWf$$&3%8VVy} zP9zhBJl6CfqJa7QQ*xu|{3Z?1YK9dxU%+ZV|b?4r92jnv_7x5`;ShD##nBC4x@_1Vn_!o1$rxz4?@VvFR&k z^9zh9(fn#MnnJLHtm$$=Hn+Z(WLs#;zRKyukKB~X2S zn%;4UXnU@;DCR#Z;oOOcER%aKM`l)IvO5%nKP83AO^ywcv%PY9b>=CO^Fhb(^U zhcnV8MK9uyt3PGP!3aQq>mp$n5r`+i1!;4f{uKMB2>ZM7_a#B8{oEmOd!3F+Y2olWgQ;p-P)2UMaSMk>%$tu zHNK6u08L{H=+#;F7%YQBGOYeE3uV%sFGbN7$#Rn3cq>`)S~KErZ)s{KYg+`yNk+__s}u=-)fPe-(=U74a_p3*tSuBZTI& ztOtyzBBP=R{s-dS6{;WYld&OYy#jG1ySjg+vMmO+5MyV5R~L~w{dp7ZMfZ$(rk`!7 zm=76#fMudhk`3uWTD;G2Sn7$wd{8a3hWe*e)Bvosv33^t!s(@g3Mamyu5>)MQKeh? zfRp=H5}~lH%MY%NM)2=|KEb0pGx4+7!@e8x8e8=k%n110pO<%Nf1F&6BL{E)O_eyL1czs@9Khm*9S>_L;CeEgGQ4yYGiV{J0aL z@)X%LJ^nDNB(m3GW9!JZjrJZcQ9Jt1`r91-kFpy0T`+J8@IOIQK3cM9H~k)rErC*wr~V&&sFjyu}xP%#V?x{OxUL`aed?`Y|{_BLhkk zOGB%lp^@yXfNi5e5L$VF)FDM>Fn=lB4PK2RVa+OGA8sJ56um-%{yqyqfZ@x5=(pV; z&aYTn5ySPmlU4JmKeowFw1nlQ{MW;N3vm8t#?R(JM}vQ;x?-O9 ze|JChpT8y9Xq88hQ9vknB2h%3eTzriLr4&YJ`{~^76Ij!ZBA;y5Hn~l=~ zZ;*N+75?U`>+4L~P`j0(qtQ=GUbZO*0B+2G2SePDH|=#;Or=V1RKnh?*NAjlqL8;n z&PRHOGGWjens5h^61?;U#C-IiU6&;B6)6x~WdMB_0R(vmb>(t5YRlihAuQIgV0vrW zUew+=M12K zZET%i2!6M%UTZEG$6*=Cq>dh?C7BHA!BxLNLx}lE}}|0sxrr?2QRVpO+9U6-dvgbM)XYPZOET-wU#> zrn``zc|b=2c_u1Yj04i$sa+P)urvmi-YbCOfHni z7U$c%V!BN1$d~N-PVqjkGnE_3fF{iKIM(Nw9mIKHI zN7;8?6|E;-?QG=9ulIk;yd-(oGh!O;6m-{5YLdOSNJu!QS2< z;v+;xjsvAX=k2rY({(Oro7>~}YxP?+?{5x1{^b7jR|(@^1a?b6Js_T==}P?TJ{w#W zfBs(zJLX0_9Ei&&4dXLENI;$3XnFrDvz4I^SMw703k~2~JwF>ionR<`KJRz?;#K{5CnAnh zGo7ohG&S3)MuoKW7>Y51Vy)Wg3so*0sI*OVF5Od`oH*5{HO?qRR3Um$ccVn$zABsg z9)43n?4?c(QzOeF*ulJi!*6{OhwhZr>kSeU!W^i4ABsR9;OiX9*|io7Ahv)V4tj!V-+X73?2GyW>NpDWVaGmyE!K zUYjeANeM@}ZBOGFPmYY{`5wpMOK3z~8H41|cGKkxAXz4E2As|{wu50P?y6v zUHH8UftdX2bH7x*QBFx`N%GoA0dm7qK|3H86ErE^eVQRGc+z@0c_LkH+i^d(DX!Ji z=*}P>M!%8rTj+@ZD*<9@A)k)uJ4Xi`*=apbm&9WWJv ztOt)r8I~o6rEhO+<7cLSya3+U{anc5;sb0qUrs^gz`taYA*Rx$SGLHCvU@q-0lTUg zL=;z$?QbaK0rBht;G1#I@)#@H-{v-+zZb86pxn>C?EjR1^-4Wg-Q%EqS%Lmp$XGPX zh)`s&2|hyNc{d1!>$UoKlxh4)eH{YSUzKvbaJxK^YIw%CH)n?bfp2FyrfFO%F+GV+ znb04OD(PNr`%w6kdmkV7(zVC82tH8M#Hf{WJbn_TmimIVM7Jb*If|v`g{yqqVWnZr zUvqUD=pYGyrpvw;R{50F?>7cd7Ze$6WLm4$h;NuIH|rv$8&j5(+&7=d;Wj%pO@9vv zh&pYyFbbO^d4sps2*6{xrVE`P&|hy^KZ9M3<9@duYJ##k15CX~zgi62cN_gB>!o4; zCjTVswf%3(djBx3`qwd{gLETwn+$;SSP>`0x2g(%E_swU6_l8l*P7CV!glw(wp!_E z`ppv&=}WM$FC5eg!DiI$nkxtmFENil4LN)XX|aC2>`K+7-@7%(uKn3M`Be4_bIEnI zl_8X*IPn5q3j$Y2>6fN{miR_M^7M+}Xcf*m+%pDFTUj=#)T6t0Tu>auHskU;F4cUi z#%*bT>pH?}W|JhdFEmUCqru z3a3J8Kzgi)-E3`fQZFN>nIG%nvaI*IfpUI-bgu%Cxi{!G)4FbG(#$(jsz2GA{q|k-R#zR6 zT-H6yUoLiw;^S2Qg(io<`6Y7P3 z4X(28MzbGsf)Zf@#Iy|#$Ohl=+gpTIrU~dLWvlKq*DmQAQ!Zj!_~~Qv$Gy?F?_mjc z=yOg7*=R>AH)=pZkOkPrMp!)q{#7KV`hN>b#tNC6%m7sL2Iq>E>b>>__RFECEoSW8ULLnEm%-BA(0N+@*Ypth0eZ6T=mdpuY{?L? zW@9}cg=hejqLlk|{8>zm@_dMdXz3BaD**MlFK)1Jpcez(YHL(58?X3I?Sz|u_kk5|Ml?@++OSBEW#Pre!qY3rW z@W8!Q^JY-^&(`yu*f>r$5eJ)p6irCvf(RI9x|I1hG?xAF(Vt_tPNXMq>W8A}V=--| zPYo|MNIu=<)IMs<2rZ-C=>nov1Bk?k?Um!X2Aan7+=kj=E7`_3-RAaSxob<(l z&5BvVtdI6*IRrbtR26cxJ|LeFg>w7DvjniCtj6yW+mR!ewyKk9i_qko^V-gKdcMe6DtDbd#!&fdI?W2HjxZq{Ms zq9_~su?n8_1UEqr{_SVuDwe4(gNU@plajp43kF3(+Ba!3666XEqcY;65`0qoCkFa|5OtO)C95{2jbCq~ zwP2;gg8LaPRS+q$+H3ho@T%8xF>!fTL^SPYgTgJn&WT^RQZTbdI?YltJK{;Kwnc%H zJ0YKE+lLkMLz8s7ABvhMxue2U8O3g02#0$7iyr!E_d5O4lv#7R3x&5wt%!yX4t%^1X5>eKYL?Q>M94hjfREj0A$yB8*2B5EjP1J$ty=$iDqt9H;6u z3c&w(HH!eU{z`9u(-tGmJT;m*UBj$x@w5$ceRI8_31RDh5Jv*K1nNz<@YAFlQG~p{ zvLTAG9;4nZ2{Wy7Om5J>&?UHUECgy?3Agc#KAokgCux`ElZ$^5B{_TCbf1($X81#} z>Mf7B_xO(2?ht67I*u=s@@9^>14F8)`Zd-$Y=hK%b_tSJXrOsycBSUU%gd7Q_ ziKyBrr>#iAFV9)tID{u%*fzKkcIiI;Ju1$VF6`wUNyiLSwb(Wkj-jE^W|K=*dPeit zA1{so>~K%B#=b;;Z{RG9Fozfej%jOSh3J>(S)<&4)2#8@buHHqUyLc0?z^m^G10S6 zUuf6~C^yU(yhHMRa?WM3?k6&B)LGnCSlAmFWYOl$G-%F9u6Fm^tr5;Ghj4hf2n@0V znN+Cs4zlI4;MI>|Sh0iAFY)9gJD$8JMo&Dbg9TFs;EGf#ZHhw;7VhOUqQ1}wxd$4* zK+JQ02c(=cAAo7*bH{2em=DxCSfgE z`H8v4oWC)iF~ijGyBQc7tZ{)NDkkx~mF$1Br%Jy5GE6ff1+t7-XlK7wN+=22>x<1xk#zBy} zp8SWVvzI_tPd3?f!WM97WzE!PVi6*LM0!{WvgYO1UFC$ni zrD~GD!l#uKrC^bNcq)b8a6uBDY_KtqQ3}134%OesyH#C5H96Ai(Us?#p|rwqyWLFX zdA@WN%Hqg0z;V-IE1MtM4vEP91>P$fuDxzh0_+c{9`LW|93kU)AT5pQZgh2jhEHx* zrlStrz^iQX)2sY9akPJ4Vg8TlD%25_SGccg5IHS%bDA9>dp=4uGe?S%BpUfUwX)X} z6v!`(EAUCo$TBdpK{7(ERvUQr67|UPh1n~W0%6WYgCa?; zC86?D0X}5xIsWMX34Kg1o z%W1iWC|Ie}3K?yTVE5brjK5)wF0Eb0Sn!iZS5n3Y-i&#h*l*~-&bWj|trbXz$7_Za zWwkT!0NPXX!!~+Vw`1(unLJh>v|(vSd5Tq3A&G?=`XG+1DQg!Bm=~1kfe_Wnd4@av zIKBIx#_QqAjpb5*o{Y$*Hp*XX){r!JL37nTuLUUqrZBPN6kuQ8EE^>_xs_2k_@MS7 zy)>fs1t)x9~w5zLf-ubE%yl*xmH4?xhGPb(;=8eqqy(U7b7{WKKIkdz% z#fQxKiTo9ecPOZz)6R(E-vKhX$|>cWGmUINihJ(hX`;!0epkx!7A8%l|6I@Jj8Vj# z?V|voA>Dk~Ot^H$Q<3zgh3`GF6tv zP3V+oq$Q<)5N4t#v~P3H!E#gV5Q1O0?iyta(EWh^J|w4%vCQ8ohFQlcBzGg0q4aH8 z*VCR8wnu4@(PL15`Dt4F|FNd?W1#!rt?A_dpKCf{_Iq~me_7KxQX&v6SqQ#nvt8Q$ z%;@TVe{%`a%6JeH$-e|N)dTf2pu_%ZjeP>ZcVcCKC`aoOVn9}-lo`bZLaiv$1ENAJ ze$a;CfV3g0$IRlBv1QLK<%uHw3S~eRq|eq90eEsvA~7|<4ds$FJxsVW)v|@%4$dVd z)4PMnFNgyfscl`v^z z_RIEfl||X%pyTE=Dyk`#3GH(h=lPqw7vPX$%yhQ6rJBiQvQO#e!_?>i3zdrd@Fj25 z41lB_6C2=|tGmy55Y9N48(%f0kfiF&hq~|a>R`m=lty*A{Df3n^B{G7>&?-7&y*Q| zKzsxk0lgJ`qE6hc#2woaCHNeUb{7s`YJxCyH%)(^6Cex43iEzw+&LL zWibdTJ4tl7XrJp@Gi48nWz!N5=6Tu&2-Z^RnkqBdLpnxr>uTuaWu%aQ(`EtN$Z3 z(HHt<~T82N=m3baCh@~|Dvwb zBIvmvWX5Zu02J7e(u)e)2Aiy7uErWOTy3;$zV}^W^QOM5Uwf(B{MwzbGD4^QP+wt< zQJGSvR8q}w?UwEIyz8%L+Ok)Fr5{xH-RVYKW9glVb<|7==Gs(>X&S()V0>4%?V&rt zeI~a`c>ACz?|a_n7)oJTUpuF5`AM;g5St+K>PlF&2M)plYTOefbKEhHl>$rzbR8d8 zSKR752fi~$(Xmf{?-O8+7n|4h@bSRZ{*j96PmP9ut>~MAUhu;E6kZH}eI zIoO50H*Sxiyv^N5&vkUf5mM8u0%^*)x7WM({t;dDLQF6i=v|_oF^8bsp|veCMHW4h zCN5EVaadSkgEQ6=#%u;FOr$2m56@6q7Kx3L#!NZ-hhLU|pw!sMbIraRG*d6jh=3U~ zQ`ULW#bdBS4fSGIb=ooW4SPcS(NMN-D484seWtOJr%TdHUW?hm^ zU1z9qee9ZlF=xgKdq)h?RcLnmb2_Ru6BU9}8#kEr>i4;MKEcq9w7x|2T|<23I(500 znGUL^HESJGd0WdR%w3^00&8wGYS4l7;H|B5cP(z`wSJB;w(b9|TTih1UK*lAnHJe%I_iE`JkOgn z(~9BNI{<&V?%Hr-YsXq6Qy1*4n424WG;jhBNsJ+zhWTkv|Fs~YeA3x}8vuYIhj3Feia2dSWvRP0jbHy8ivH5Su+ng)%y<)AueUJMYi z`g7KQ0GAAJA4O@0G}Q|Q|FELeqm?qnY4#pf`zCL0)2lK&g);QBCPI|vRCkh^@7Drr zNVK2%`3&NtL}N`T8jC{{`Rjxv`iJs<{sC zYN_6KxPE(R=}8eP^QHj@MK)KVHI&g+InP80mml<3JF(D};}H$jC$ElG>ZRo`ALYz{ zPYVfp^`(ni!!P9==ZfekSU&T8+c2L;&#f4^7+l?0Ad{NUdtwk0m)!PFhMlfJk+F|} z8e6B8!>h2cE4VO>f+e6FL`u1l8WbG|l!Kzv@fpVWlMNIwuxXa1jj<=nbk^g71%X;n zG$*Uj`!p631f%yb`=QfIpo_8|U!=a?~{2U1chkn^*#s~Pb)Ui`R_C4`42GaqV zGeT`2vi1$2YlCy4$U5UO&%-O`6s(@COnr3hgtwS`<8_7~L#cW_LS!s%SM_~=lPzK} zwH*{l?RFEl<}pB&O!}d!vOuYgT*3UnuXhOq6^mpvvI1)24v2nXkt&x-JMU7?%B2EX zq>dVoXXbvjJR0ijG^t2ap zJoG~=*q))$d5(c5g%I4sP;|W-5U$tZFLYv|ug4Qqtlz^DD?7@~pQFSxMCAWDm=8gm zoS|y%Y5}gEj$36DntSv<;wlz02E)pL&?IzZK@3TR%A8I{k0&{Qt0ZV64^4!I2!o!w zS{v7;SZh1a-l5>%su$h5Mw0 zc5M|Z?y!9D*HRzR3#wU{-pJq#R(5*dIRr*8WaD2s(8GQUj*)t*S zZ<`b|N;hLX3ZIsLkqDL*L5On3iwAI6o36RBZeNv01<0Lt%fTIY}LVXxp|F~pW4KH0E_W!Z4O3BzOo#vdggaYX=oI3m9xGO}!UP^dbr zlJ%{nCX~AY3=dYc1GkhDI*aLX6LjKZQU5(p_LI4CC$OmB0v7cGv}3O6axWv(NvGtB zgaP<}JR(cVy6r8pNt+FPLoz#ko?FrRN=9RnmY1=isJyAJ(+Oo!ZekKfNp=;N?H>}U zUFCvVzvj^m%nMNQ&qBMEgw=^wOM5HXQSYkKl}?)8FK0E2gCJCA%kX}A*)G#K=h0ne zPr|nS^*X0Cr&0O9ul%c^I;jiQ8S??DfJ!cZ&EQCsQCZvp#bbS6E4&daL%<`BYtA+M z#m;tD-;UPI<1zG}oEh4nSbEr_UvToqO8x500III7ne8}xYIB9nI{X-V2almApi1%>dNmJEq4(_L)*0ku==J|J^rZinGWGwm2K$45 zWD4BucBpL>kF*Enkr9BmdYNFDq7Lo#FsA1zQV1hz7GMNX80EajV@-SX_|%B8OwZ$hx)01@8lU$ z&M|SiAM=~+rKp(I%vZbmZSTVR>U^z{YH1`^U%jUh7D<&>Ly0MWyRl;w$ zk*{_ywq1kC&dEY;c+hE}Yg#*p({+v|pFE=nDP%-9O_yfq2vg8~%vOEeQyN4u(!Y4) zlrTDSjRY)~~kOK7}1G0Mil)&UyITS~ouB3T?@c&DpGC4j_( zRto4Ysk4l$|G2*p#L)M7)S-aN;<^-la`>}SUEh7~px1BHP3xXEdGNAZ-|s&jmcl<` ztMJ=#>Y4t_gqyj4OurN`(cD@k)Z%nH13%%z6Wz!OBtr~zf3|Bb#L!RA->r%05el3d zKyVEujk4O2$}Yg0bmKgPdq!GEF+#w}Vmj4HIe(z&gjTgS_9Z)<>ayJ7jo8YHI1(zs zu1h*19|hRn3$Au^5{^}TrF%6csn90E1(UfGBc%GE_Td(P93L$XPkOw;`~9=?N@Eux zi~a9poNi6^aPgW7tZsEPqUg=Jq=l|u+YpZEZgFar2C>skM{CI@c6Yb)l#O;%$Y;sJ`+)j> zIAm~ifULxSIDVD1_yKQ4TJ_s=_ZYTv8LGgp0qia3q0b(lo1cGN&1xlIaZ!oXN7Qnp zlu(b3%g9k1k7BxzjGyUYa!D_UrJ>_8o9Z5p)su|vd;$JEm&P(7#O;8)CiEOM?8Oi< z�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 C;p1Ka diff --git a/src/main/java/eu/midnightdust/picturesign/PictureSignClient.java b/src/main/java/eu/midnightdust/picturesign/PictureSignClient.java index 7ff92e1..28a4ce2 100755 --- a/src/main/java/eu/midnightdust/picturesign/PictureSignClient.java +++ b/src/main/java/eu/midnightdust/picturesign/PictureSignClient.java @@ -38,20 +38,22 @@ public class PictureSignClient implements ClientModInitializer { ClientBlockEntityEvents.BLOCK_ENTITY_UNLOAD.register((blockEntity, world) -> { if (PlatformFunctions.isModLoaded("videolib")) { BlockPos pos = blockEntity.getPos(); - Identifier videoId = new Identifier(MOD_ID, pos.getX() + "_" + pos.getY() + "_" + pos.getZ()); + Identifier videoId = new Identifier(MOD_ID, pos.getX() + "_" + pos.getY() + "_" + pos.getZ()+"_f"); VideoHandler.closePlayer(videoId); + Identifier videoId2 = new Identifier(MOD_ID, pos.getX() + "_" + pos.getY() + "_" + pos.getZ()+"_b"); + VideoHandler.closePlayer(videoId2); } }); ClientTickEvents.END_CLIENT_TICK.register(client -> { if (!PictureSignClient.BINDING_COPY_SIGN.isPressed()) return; PictureSignClient.BINDING_COPY_SIGN.setPressed(false); if (client.player == null || client.world == null || client.crosshairTarget == null || client.crosshairTarget.getType() != HitResult.Type.BLOCK) return; - if (client.crosshairTarget.getType() == HitResult.Type.BLOCK && client.world.getBlockState(new BlockPos(client.crosshairTarget.getPos())).hasBlockEntity()) { - if (client.world.getBlockEntity(new BlockPos(client.crosshairTarget.getPos())) instanceof SignBlockEntity sign) { - clipboard[0] = sign.getTextOnRow(0, false).getString(); - clipboard[1] = sign.getTextOnRow(1, false).getString(); - clipboard[2] = sign.getTextOnRow(2, false).getString(); - clipboard[3] = sign.getTextOnRow(3, false).getString(); + if (client.crosshairTarget.getType() == HitResult.Type.BLOCK && client.world.getBlockState(BlockPos.ofFloored(client.crosshairTarget.getPos())).hasBlockEntity()) { + if (client.world.getBlockEntity(BlockPos.ofFloored(client.crosshairTarget.getPos())) instanceof SignBlockEntity sign) { + boolean front = sign.isPlayerFacingFront(client.player); + for (int i = 0; i < 4; i++) { + clipboard[i] = sign.getText(front).getMessage(i, false).getString(); + } } } }); diff --git a/src/main/java/eu/midnightdust/picturesign/config/PictureSignConfig.java b/src/main/java/eu/midnightdust/picturesign/config/PictureSignConfig.java index c8df3d2..c58d527 100755 --- a/src/main/java/eu/midnightdust/picturesign/config/PictureSignConfig.java +++ b/src/main/java/eu/midnightdust/picturesign/config/PictureSignConfig.java @@ -2,25 +2,45 @@ package eu.midnightdust.picturesign.config; import com.google.common.collect.Lists; import eu.midnightdust.lib.config.MidnightConfig; +import net.minecraft.client.gl.ShaderProgram; +import net.minecraft.client.render.GameRenderer; import java.util.List; +import java.util.function.Supplier; public class PictureSignConfig extends MidnightConfig { - @Entry public static boolean enabled = true; - @Entry public static boolean enableVideoSigns = true; - @Entry public static boolean translucency = false; - @Entry public static boolean helperUi = true; - @Entry public static boolean exceedVanillaLineLength = true; - @Entry public static boolean debug = false; - @Entry(min = 1, max = 10) public static int maxThreads = 4; - @Entry(min = 0, max = 4096) public static int signRenderDistance = 64; - @Entry public static boolean safeMode = true; - @Comment public static Comment ebeWarning; - @Comment public static Comment ebeWarning2; - @Entry public static List safeProviders = Lists.newArrayList("https://i.imgur.com/", "https://i.ibb.co/", "https://pictshare.net/", "https://iili.io/"); - @Entry public static MissingImageMode missingImageMode = MissingImageMode.BLACK; + public static final String general = "1general"; + private final static String advanced = "advanced"; + + @Entry(category = general) public static boolean enabled = true; + @Entry(category = general) public static boolean enableVideoSigns = true; + @Entry(category = general) public static boolean translucency = false; + @Entry(category = general) public static boolean fullBrightPicture = false; + @Entry(category = general) public static boolean helperUi = true; + @Entry(category = general) public static boolean exceedVanillaLineLength = true; + @Entry(category = advanced) public static boolean debug = false; + @Entry(min = 1, max = 10, isSlider = true, category = advanced) public static int maxThreads = 4; + @Entry(min = 0, max = 2048, isSlider = true, category = general) public static int signRenderDistance = 64; + @Entry(category = general) public static boolean safeMode = true; + @Entry(category = general) public static List safeProviders = Lists.newArrayList("https://i.imgur.com/", "https://i.ibb.co/", "https://pictshare.net/", "https://iili.io/", "https://vimeo.com/", "https://yewtu.be/"); + @Entry(category = general) public static String invidiousInstance = "yt.oelrichsgarcia.de"; + @Comment(category = general) public static Comment ebeWarning; + @Entry(category = advanced) public static MissingImageMode missingImageMode = MissingImageMode.BLACK; + @Entry(category = advanced) public static PictureShader pictureShader = PictureShader.PosColTexLight; public enum MissingImageMode { BLACK, MISSING_TEXTURE, TRANSPARENT } + public enum PictureShader { + PosColTexLight(GameRenderer::getPositionColorTexLightmapProgram), + RenderTypeCutout(GameRenderer::getRenderTypeCutoutProgram), + PosTex(GameRenderer::getPositionTexProgram), + PosColTex(GameRenderer::getPositionColorTexProgram), + PosTexCol(GameRenderer::getPositionTexColorProgram); + + PictureShader(Supplier program) { + this.program = program; + } + public final Supplier program; + } } diff --git a/src/main/java/eu/midnightdust/picturesign/mixin/MixinHangingSignBlockEntityRenderer.java b/src/main/java/eu/midnightdust/picturesign/mixin/MixinHangingSignBlockEntityRenderer.java new file mode 100755 index 0000000..f9b07a7 --- /dev/null +++ b/src/main/java/eu/midnightdust/picturesign/mixin/MixinHangingSignBlockEntityRenderer.java @@ -0,0 +1,40 @@ +package eu.midnightdust.picturesign.mixin; + +import eu.midnightdust.picturesign.config.PictureSignConfig; +import eu.midnightdust.picturesign.render.PictureSignRenderer; +import eu.midnightdust.picturesign.util.PictureSignType; +import net.minecraft.block.entity.SignBlockEntity; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.render.VertexConsumerProvider; +import net.minecraft.client.render.block.entity.BlockEntityRenderer; +import net.minecraft.client.render.block.entity.HangingSignBlockEntityRenderer; +import net.minecraft.client.util.math.MatrixStack; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Unique; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(HangingSignBlockEntityRenderer.class) +public abstract class MixinHangingSignBlockEntityRenderer implements BlockEntityRenderer { + private static final MinecraftClient client = MinecraftClient.getInstance(); + PictureSignRenderer psRenderer = new PictureSignRenderer(); + + @Inject(at = @At("HEAD"), method = "render") + public void ps$onRender(SignBlockEntity sign, float f, MatrixStack matrixStack, VertexConsumerProvider vertexConsumerProvider, int light, int overlay, CallbackInfo ci) { + if (PictureSignConfig.enabled) { + if (!PictureSignType.isType(sign, PictureSignType.NONE, true)) psRenderer.render(sign, matrixStack, light, overlay, true); + if (!PictureSignType.isType(sign, PictureSignType.NONE, false)) psRenderer.render(sign, matrixStack, light, overlay, false); + } + } + @Unique + @Override + public int getRenderDistance() { + return PictureSignConfig.signRenderDistance; + } + @Unique + @Override + public boolean rendersOutsideBoundingBox(SignBlockEntity sign) { + return PictureSignConfig.enabled && !PictureSignType.hasNoPicture(sign); + } +} diff --git a/src/main/java/eu/midnightdust/picturesign/mixin/MixinSignBlockEntity.java b/src/main/java/eu/midnightdust/picturesign/mixin/MixinSignBlockEntity.java index 11b55eb..5a406c4 100644 --- a/src/main/java/eu/midnightdust/picturesign/mixin/MixinSignBlockEntity.java +++ b/src/main/java/eu/midnightdust/picturesign/mixin/MixinSignBlockEntity.java @@ -21,8 +21,10 @@ public abstract class MixinSignBlockEntity extends BlockEntity { @Override @Unique public void markRemoved() { - Identifier videoId = new Identifier(MOD_ID, pos.getX() + "_" + pos.getY() + "_" + pos.getZ()); + Identifier videoId = new Identifier(MOD_ID, pos.getX() + "_" + pos.getY() + "_" + pos.getZ() + "_f"); + Identifier videoId2 = new Identifier(MOD_ID, pos.getX() + "_" + pos.getY() + "_" + pos.getZ() + "_b"); VideoHandler.closePlayer(videoId); + VideoHandler.closePlayer(videoId2); super.markRemoved(); } } diff --git a/src/main/java/eu/midnightdust/picturesign/mixin/MixinSignBlockEntityRenderer.java b/src/main/java/eu/midnightdust/picturesign/mixin/MixinSignBlockEntityRenderer.java index e59b9eb..9666239 100755 --- a/src/main/java/eu/midnightdust/picturesign/mixin/MixinSignBlockEntityRenderer.java +++ b/src/main/java/eu/midnightdust/picturesign/mixin/MixinSignBlockEntityRenderer.java @@ -4,10 +4,12 @@ import eu.midnightdust.picturesign.config.PictureSignConfig; import eu.midnightdust.picturesign.render.PictureSignRenderer; import eu.midnightdust.picturesign.util.PictureSignType; import net.minecraft.block.entity.SignBlockEntity; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.*; import net.minecraft.client.render.block.entity.BlockEntityRenderer; import net.minecraft.client.render.block.entity.SignBlockEntityRenderer; import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.util.math.BlockPos; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; @@ -17,17 +19,19 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(SignBlockEntityRenderer.class) public abstract class MixinSignBlockEntityRenderer implements BlockEntityRenderer { + private static final MinecraftClient client = MinecraftClient.getInstance(); PictureSignRenderer psRenderer = new PictureSignRenderer(); @Inject(at = @At("HEAD"), method = "render") public void ps$onRender(SignBlockEntity sign, float f, MatrixStack matrixStack, VertexConsumerProvider vertexConsumerProvider, int light, int overlay, CallbackInfo ci) { - if (PictureSignConfig.enabled && !PictureSignType.isType(sign, PictureSignType.NONE)) { - psRenderer.render(sign, matrixStack, light, overlay); + if (PictureSignConfig.enabled) { + if (!PictureSignType.isType(sign, PictureSignType.NONE, true)) psRenderer.render(sign, matrixStack, light, overlay, true); + if (!PictureSignType.isType(sign, PictureSignType.NONE, false)) psRenderer.render(sign, matrixStack, light, overlay, false); } } @Inject(at = @At("HEAD"), method = "shouldRender", cancellable = true) - private static void shouldRender(SignBlockEntity sign, int signColor, CallbackInfoReturnable cir) { - if (PictureSignConfig.enabled && !PictureSignType.isType(sign, PictureSignType.NONE)) cir.setReturnValue(true); + private static void shouldRender(BlockPos pos, int signColor, CallbackInfoReturnable cir) { + if (PictureSignConfig.enabled && client.world != null && !PictureSignType.hasNoPicture((SignBlockEntity) client.world.getBlockEntity(pos))) cir.setReturnValue(true); } @Unique @Override @@ -37,6 +41,6 @@ public abstract class MixinSignBlockEntityRenderer implements BlockEntityRendere @Unique @Override public boolean rendersOutsideBoundingBox(SignBlockEntity sign) { - return PictureSignConfig.enabled && !PictureSignType.isType(sign, PictureSignType.NONE); + return PictureSignConfig.enabled && !PictureSignType.hasNoPicture(sign); } } diff --git a/src/main/java/eu/midnightdust/picturesign/mixin/MixinSignEditScreen.java b/src/main/java/eu/midnightdust/picturesign/mixin/MixinSignEditScreen.java index fe3619e..d94824f 100644 --- a/src/main/java/eu/midnightdust/picturesign/mixin/MixinSignEditScreen.java +++ b/src/main/java/eu/midnightdust/picturesign/mixin/MixinSignEditScreen.java @@ -6,7 +6,7 @@ import eu.midnightdust.picturesign.config.PictureSignConfig; import eu.midnightdust.picturesign.screen.PictureSignHelperScreen; import net.minecraft.block.entity.SignBlockEntity; import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.gui.screen.ingame.SignEditScreen; +import net.minecraft.client.gui.screen.ingame.AbstractSignEditScreen; import net.minecraft.text.Text; import net.minecraft.util.Identifier; import org.spongepowered.asm.mixin.Final; @@ -20,14 +20,17 @@ import java.util.Objects; import static eu.midnightdust.picturesign.PictureSignClient.MOD_ID; -@Mixin(SignEditScreen.class) +@Mixin(AbstractSignEditScreen.class) public abstract class MixinSignEditScreen extends Screen { private static final Identifier PICTURESIGN_ICON_TEXTURE = new Identifier(MOD_ID,"textures/gui/picturesign_button.png"); private static final Identifier CLIPBOARD_ICON_TEXTURE = new Identifier(MOD_ID,"textures/gui/clipboard_button.png"); private static final Identifier TRASHBIN_ICON_TEXTURE = new Identifier(MOD_ID,"textures/gui/trashbin_button.png"); - @Shadow @Final private SignBlockEntity sign; + @Shadow @Final private SignBlockEntity blockEntity; - @Shadow @Final private String[] text; + @Shadow @Final private String[] messages; + + @Shadow @Final private boolean front; + private static boolean switchScreen = false; protected MixinSignEditScreen(Text title) { super(title); @@ -38,21 +41,32 @@ public abstract class MixinSignEditScreen extends Screen { if (PictureSignClient.clipboard != null && PictureSignClient.clipboard[0] != null) this.addDrawableChild(new TexturedOverlayButtonWidget(this.width - 84, this.height - 40, 20, 20, 0, 0, 20, CLIPBOARD_ICON_TEXTURE, 32, 64, (buttonWidget) -> { for (int i = 0; i < 4; i++) { - text[i] = PictureSignClient.clipboard[i]; - sign.setTextOnRow(i, Text.of(text[i])); + messages[i] = PictureSignClient.clipboard[i]; + int finalI = i; + blockEntity.changeText(changer -> changer.withMessage(finalI, Text.of(messages[finalI])), front); } }, Text.empty())); if (PictureSignConfig.helperUi) this.addDrawableChild(new TexturedOverlayButtonWidget(this.width - 62, this.height - 40, 20, 20, 0, 0, 20, TRASHBIN_ICON_TEXTURE, 32, 64, (buttonWidget) -> { for (int i = 0; i < 4; i++) { - text[i] = ""; - sign.setTextOnRow(i, Text.empty()); + messages[i] = ""; + int finalI = i; + blockEntity.changeText(changer -> changer.withMessage(finalI, Text.empty()), front); } }, Text.empty())); if (PictureSignConfig.helperUi) this.addDrawableChild(new TexturedOverlayButtonWidget(this.width - 40, this.height - 40, 20, 20, 0, 0, 20, PICTURESIGN_ICON_TEXTURE, 32, 64, (buttonWidget) -> { - sign.setEditable(true); - Objects.requireNonNull(client).setScreen(new PictureSignHelperScreen(this.sign,false)); + switchScreen = true; + Objects.requireNonNull(client).setScreen(new PictureSignHelperScreen(this.blockEntity, front, false)); }, Text.empty())); } + @Inject(at = @At("HEAD"), method = "removed", cancellable = true) + private void picturesign$removed(CallbackInfo ci) { + if (switchScreen) { + switchScreen = false; + ci.cancel(); + } + } } + + diff --git a/src/main/java/eu/midnightdust/picturesign/render/PictureSignRenderer.java b/src/main/java/eu/midnightdust/picturesign/render/PictureSignRenderer.java index ca461af..73a9c2d 100755 --- a/src/main/java/eu/midnightdust/picturesign/render/PictureSignRenderer.java +++ b/src/main/java/eu/midnightdust/picturesign/render/PictureSignRenderer.java @@ -18,6 +18,7 @@ import net.minecraft.state.property.Properties; import net.minecraft.util.Identifier; import net.minecraft.util.math.*; import net.minecraft.world.World; +import org.joml.*; import java.net.MalformedURLException; @@ -25,9 +26,9 @@ import static eu.midnightdust.picturesign.PictureSignClient.MOD_ID; public class PictureSignRenderer { private boolean isSafeUrl; - - public void render(SignBlockEntity signBlockEntity, MatrixStack matrixStack, int light, int overlay) { - String url = PictureURLUtils.getLink(signBlockEntity); + private boolean hasRotation = false; + public void render(SignBlockEntity signBlockEntity, MatrixStack matrixStack, int light, int overlay, boolean front) { + String url = PictureURLUtils.getLink(signBlockEntity, front); PictureInfo info = null; if (!url.contains("://")) { url = "https://" + url; @@ -40,19 +41,25 @@ public class PictureSignRenderer { if (!url.contains("://")) { url = "https://" + url; } - if (PictureSignType.isType(signBlockEntity, PictureSignType.PICTURE) && !url.contains(".png") && !url.contains(".jpg") && !url.contains(".jpeg")) return; + if (PictureSignType.isType(signBlockEntity, PictureSignType.PICTURE, front) && !url.contains(".png") && !url.contains(".jpg") && !url.contains(".jpeg")) return; if (PictureSignConfig.safeMode) { isSafeUrl = false; String finalUrl = url; PictureSignConfig.safeProviders.forEach(safe -> { if (!isSafeUrl) isSafeUrl = finalUrl.startsWith(safe); }); - if (!isSafeUrl) return; + if (!isSafeUrl && !url.startsWith("https://youtu.be/") && !url.startsWith("https://youtube.com/") && !url.startsWith("https://www.youtube.com/")) return; + } + if ((!PictureSignConfig.enableVideoSigns || !PlatformFunctions.isModLoaded("videolib")) && !PictureSignType.isType(signBlockEntity, PictureSignType.PICTURE, front)) return; + if (url.startsWith("https://youtube.com/") || url.startsWith("https://www.youtube.com/watch?v=") || url.startsWith("https://youtu.be/")) { + url = url.replace("https://www.", "https://"); + url = url.replace("youtube.com/watch?v=", PictureSignConfig.invidiousInstance.replace("https://", "").replace("/", "")+"/latest_version?id="); + url = url.replace("youtu.be/", PictureSignConfig.invidiousInstance.replace("https://", "").replace("/", "")+"/latest_version?id="); } - if ((!PictureSignConfig.enableVideoSigns || !PlatformFunctions.isModLoaded("videolib")) && !PictureSignType.isType(signBlockEntity, PictureSignType.PICTURE)) return; World world = signBlockEntity.getWorld(); BlockPos pos = signBlockEntity.getPos(); - Identifier videoId = new Identifier(MOD_ID, pos.getX() + "_" + pos.getY() + "_" + pos.getZ()); + String videoSuffix = front ? "_f" : "_b"; + Identifier videoId = new Identifier(MOD_ID, pos.getX() + "_" + pos.getY() + "_" + pos.getZ()+videoSuffix); if (world != null && ((world.getBlockState(pos.down()).getBlock().equals(Blocks.REDSTONE_TORCH) || world.getBlockState(pos.down()).getBlock().equals(Blocks.REDSTONE_WALL_TORCH)) && world.getBlockState(pos.down()).get(Properties.LIT).equals(false) || (world.getBlockState(pos.up()).getBlock().equals(Blocks.REDSTONE_TORCH) || world.getBlockState(pos.up()).getBlock().equals(Blocks.REDSTONE_WALL_TORCH)) @@ -63,7 +70,7 @@ public class PictureSignRenderer { return; } - String lastLine = signBlockEntity.getTextOnRow(3, false).getString(); + String lastLine = signBlockEntity.getText(front).getMessage(3, false).getString(); if (!lastLine.matches("(.*\\d:.*\\d:.*\\d:.*\\d:.*\\d)")) return; @@ -82,16 +89,32 @@ public class PictureSignRenderer { } catch (NumberFormatException ignored) {} + String thirdLine = signBlockEntity.getText(front).getMessage(2, false).getString(); + hasRotation = thirdLine.matches("(.*\\d:.*\\d:.*\\d)"); + float xRot = 0; + float yRot = 0; + float zRot = 0; + + if (hasRotation) { + String[] rotation = thirdLine.split(":"); + try { + xRot = Float.parseFloat(rotation[0]); + yRot = Float.parseFloat(rotation[1]); + zRot = Float.parseFloat(rotation[2]); + } catch (NumberFormatException ignored) { + } + } + // Download the picture data PictureDownloader.PictureData data = null; - if (PictureSignType.isType(signBlockEntity, PictureSignType.PICTURE)) { + if (PictureSignType.isType(signBlockEntity, PictureSignType.PICTURE, front)) { data = PictureDownloader.getInstance().getPicture(url); if (data == null || data.identifier == null) return; } - else if (PictureSignType.isType(signBlockEntity, PictureSignType.VIDEO) || PictureSignType.isType(signBlockEntity, PictureSignType.LOOPED_VIDEO)) { + else if (PictureSignType.isType(signBlockEntity, PictureSignType.VIDEO, front) || PictureSignType.isType(signBlockEntity, PictureSignType.LOOPED_VIDEO, front)) { VideoHandler.videoPlayers.add(videoId); try { - if (PictureSignType.isType(signBlockEntity, PictureSignType.LOOPED_VIDEO) && !VideoHandler.hasMedia(videoId)) { + if (PictureSignType.isType(signBlockEntity, PictureSignType.LOOPED_VIDEO, front) && !VideoHandler.hasMedia(videoId)) { VideoHandler.play(videoId, url); VideoHandler.setRepeat(videoId, true); } @@ -108,12 +131,12 @@ public class PictureSignRenderer { } else return; - if (PictureSignType.isType(signBlockEntity, PictureSignType.VIDEO)) VideoHandler.playedOnce.add(videoId); + if (PictureSignType.isType(signBlockEntity, PictureSignType.VIDEO, front)) VideoHandler.playedOnce.add(videoId); float xOffset = 0.0F; float zOffset = 0.0F; - Quaternion yRotation = Vec3f.POSITIVE_Y.getDegreesQuaternion(0F); + float yRotation = 0; if (signBlockEntity.getCachedState().contains(Properties.HORIZONTAL_FACING)) { Direction direction = signBlockEntity.getCachedState().get(Properties.HORIZONTAL_FACING); @@ -121,48 +144,48 @@ public class PictureSignRenderer { case NORTH -> { zOffset = 1.01F; xOffset = 1.0F; - yRotation = Vec3f.POSITIVE_Y.getDegreesQuaternion(180.0F); + yRotation = 180; } case SOUTH -> zOffset = 0.010F; case EAST -> { zOffset = 1.01F; - yRotation = Vec3f.POSITIVE_Y.getDegreesQuaternion(90.0F); + yRotation = 90; } case WEST -> { - yRotation = Vec3f.POSITIVE_Y.getDegreesQuaternion(-90.0F); + yRotation = -90; xOffset = 1.01F; } } } else if (signBlockEntity.getCachedState().contains(Properties.ROTATION)) { - yRotation = Vec3f.POSITIVE_Y.getDegreesQuaternion(signBlockEntity.getCachedState().get(Properties.ROTATION) * -22.5f); + yRotation = signBlockEntity.getCachedState().get(Properties.ROTATION) * -22.5f; } else return; + if (!front) yRotation -= 180f; Tessellator tessellator = Tessellator.getInstance(); BufferBuilder buffer = tessellator.getBuffer(); - int l; + int l = PictureSignConfig.fullBrightPicture ? 15728880 : light; if (FabricLoader.getInstance().isModLoaded("iris") && IrisApi.getInstance().isShaderPackInUse()) { - RenderSystem.setShader(GameRenderer::getRenderTypeCutoutShader); - l = 15728880; - } - else { - RenderSystem.setShader(GameRenderer::getPositionColorTexLightmapShader); - l = light; + RenderSystem.setShader(PictureSignConfig.pictureShader.program); } + else RenderSystem.setShader(GameRenderer::getPositionColorTexLightmapProgram); + Identifier texture; - if (PictureSignType.isType(signBlockEntity, PictureSignType.PICTURE)) { + if (PictureSignType.isType(signBlockEntity, PictureSignType.PICTURE, front)) { assert data != null; texture = data.identifier; } - else if (PictureSignType.isType(signBlockEntity, PictureSignType.VIDEO) || PictureSignType.isType(signBlockEntity, PictureSignType.LOOPED_VIDEO)) + else if (PictureSignType.isType(signBlockEntity, PictureSignType.VIDEO, front) || PictureSignType.isType(signBlockEntity, PictureSignType.LOOPED_VIDEO, front)) texture = VideoHandler.getTexture(videoId); else return; TextureManager textureManager = MinecraftClient.getInstance().getTextureManager(); - if (textureManager.getTexture(texture) == null || (textureManager.getTexture(texture) instanceof NativeImageBackedTexture nativeTexture && nativeTexture.getImage() == null)) { + if (textureManager.getTexture(texture) == null || (textureManager.getTexture(texture) instanceof NativeImageBackedTexture nativeTexture && nativeTexture.getImage() == null) || + (!PictureSignType.isType(signBlockEntity, PictureSignType.PICTURE, front) && VideoHandler.getFramerate(videoId) < 1)) { if (PictureSignConfig.missingImageMode.equals(PictureSignConfig.MissingImageMode.TRANSPARENT)) return; - texture = PictureSignConfig.missingImageMode.equals(PictureSignConfig.MissingImageMode.BLACK) ? (new Identifier(MOD_ID, "textures/black.png")) : (TextureManager.MISSING_IDENTIFIER); + texture = PictureSignConfig.missingImageMode.equals(PictureSignConfig.MissingImageMode.BLACK) ? + (new Identifier(MOD_ID, "textures/black.png")) : (TextureManager.MISSING_IDENTIFIER); } RenderSystem.setShaderTexture(0, texture); @@ -173,7 +196,12 @@ public class PictureSignRenderer { matrixStack.push(); matrixStack.translate(xOffset + x, y, zOffset + z); - matrixStack.multiply(yRotation); + matrixStack.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(yRotation + yRot)); + matrixStack.multiply(RotationAxis.POSITIVE_X.rotationDegrees(xRot)); + matrixStack.multiply(RotationAxis.POSITIVE_Z.rotationDegrees(zRot)); + //System.out.println(hasRotation +" "+ xRot + " " + yRot + " " + zRot); + + //matrixStack.multiply(new Quaternionf(new AxisAngle4d(Math.toRadians(yRotation + yRot), 0, 1, 0))); Matrix4f matrix4f = matrixStack.peek().getPositionMatrix(); buffer.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR_TEXTURE_LIGHT); diff --git a/src/main/java/eu/midnightdust/picturesign/screen/PictureSignHelperScreen.java b/src/main/java/eu/midnightdust/picturesign/screen/PictureSignHelperScreen.java index ff1bfde..d92c6ce 100644 --- a/src/main/java/eu/midnightdust/picturesign/screen/PictureSignHelperScreen.java +++ b/src/main/java/eu/midnightdust/picturesign/screen/PictureSignHelperScreen.java @@ -3,13 +3,17 @@ package eu.midnightdust.picturesign.screen; import eu.midnightdust.lib.util.screen.TexturedOverlayButtonWidget; import eu.midnightdust.picturesign.PictureSignClient; import eu.midnightdust.picturesign.config.PictureSignConfig; +import eu.midnightdust.picturesign.util.PictureSignType; import eu.midnightdust.picturesign.util.PictureURLUtils; -import net.minecraft.block.BlockState; -import net.minecraft.block.SignBlock; +import net.minecraft.block.*; import net.minecraft.block.entity.SignBlockEntity; +import net.minecraft.client.font.TextRenderer; +import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.screen.ingame.HangingSignEditScreen; import net.minecraft.client.gui.screen.ingame.SignEditScreen; import net.minecraft.client.gui.widget.ButtonWidget; +import net.minecraft.client.gui.widget.SliderWidget; import net.minecraft.client.gui.widget.TextFieldWidget; import net.minecraft.client.network.ClientPlayNetworkHandler; import net.minecraft.client.render.*; @@ -18,11 +22,15 @@ import net.minecraft.client.util.SpriteIdentifier; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.network.packet.c2s.play.UpdateSignC2SPacket; import net.minecraft.screen.ScreenTexts; +import net.minecraft.text.OrderedText; import net.minecraft.text.Text; import net.minecraft.util.Identifier; -import net.minecraft.util.math.Matrix4f; +import org.joml.Matrix4f; +import org.joml.Vector3f; +import java.util.List; import java.util.Objects; +import java.util.function.Consumer; import java.util.stream.IntStream; import static eu.midnightdust.picturesign.PictureSignClient.MOD_ID; @@ -33,34 +41,43 @@ public class PictureSignHelperScreen extends Screen { private static final Identifier TRASHBIN_ICON_TEXTURE = new Identifier(MOD_ID,"textures/gui/trashbin_button.png"); private final SignBlockEntity sign; private SignBlockEntityRenderer.SignModel model; - private String[] text; + protected String[] text; + private final boolean front; + private final boolean isHanging; + protected final WoodType signType; + private static boolean switchScreen = false; + private PictureSignType pictureSignType = PictureSignType.PICTURE; - public PictureSignHelperScreen(SignBlockEntity sign, boolean filtered) { - super(Text.translatable("sign.edit")); + public PictureSignHelperScreen(SignBlockEntity sign, boolean front, boolean filtered) { + super((sign.getCachedState().getBlock() instanceof HangingSignBlock || sign.getCachedState().getBlock() instanceof WallHangingSignBlock) ? Text.translatable("hanging_sign.edit") : Text.translatable("sign.edit")); this.text = IntStream.range(0, 4).mapToObj((row) -> - sign.getTextOnRow(row, filtered)).map(Text::getString).toArray(String[]::new); + sign.getText(front).getMessage(row, filtered)).map(Text::getString).toArray(String[]::new); this.sign = sign; + this.signType = AbstractSignBlock.getWoodType(sign.getCachedState().getBlock()); + this.isHanging = sign.getCachedState().getBlock() instanceof HangingSignBlock || sign.getCachedState().getBlock() instanceof WallHangingSignBlock; + + this.front = front; } protected void init() { super.init(); if (this.client == null) return; - sign.setEditable(false); text = IntStream.range(0, 4).mapToObj((row) -> - sign.getTextOnRow(row, false)).map(Text::getString).toArray(String[]::new); + sign.getText(front).getMessage(row, false)).map(Text::getString).toArray(String[]::new); if (!text[3].matches("(.*\\d:.*\\d:.*\\d:.*\\d:.*\\d)")) text[3] = "1:1:0:0:0"; if (!text[0].startsWith("!PS:") && !text[0].startsWith("!VS:") && !text[0].startsWith("!LS:")) text[0] = "!PS:"+text[0]; - for (int i = 0; i < 3; i++) { - sign.setTextOnRow(i, Text.of(text[i])); + if (text[2].isBlank() && PictureSignConfig.exceedVanillaLineLength) text[2] = "0:0:0"; + for (int i = 0; i < 4; i++) { + int finalI = i; + sign.changeText(changer -> changer.withMessage(finalI, Text.of(text[finalI])), front); } - this.addDrawableChild(new ButtonWidget(this.width / 2 - 100, this.height / 4 + 120, 200, 20, ScreenTexts.DONE, (button) -> { - this.finishEditing(); - })); + this.addDrawableChild(ButtonWidget.builder(ScreenTexts.DONE, (button) -> this.finishEditing()).dimensions(this.width / 2 - 100, this.height / 4 + 120, 200, 20).build()); if (PictureSignClient.clipboard != null && PictureSignClient.clipboard[0] != null) this.addDrawableChild(new TexturedOverlayButtonWidget(this.width - 84, this.height - 40, 20, 20, 0, 0, 20, CLIPBOARD_ICON_TEXTURE, 32, 64, (buttonWidget) -> { for (int i = 0; i < 4; i++) { text[i] = PictureSignClient.clipboard[i]; - sign.setTextOnRow(i, Text.of(text[i])); + int finalI = i; + sign.changeText(changer -> changer.withMessage(finalI, Text.of(text[finalI])), front); } assert client != null; client.setScreen(this); @@ -69,178 +86,172 @@ public class PictureSignHelperScreen extends Screen { this.addDrawableChild(new TexturedOverlayButtonWidget(this.width - 62, this.height - 40, 20, 20, 0, 0, 20, TRASHBIN_ICON_TEXTURE, 32, 64, (buttonWidget) -> { for (int i = 0; i < 4; i++) { text[i] = ""; - sign.setTextOnRow(i, Text.empty()); + int finalI = i; + sign.changeText(changer -> changer.withMessage(finalI, Text.empty()), front); } assert client != null; client.setScreen(this); }, Text.of(""))); this.addDrawableChild(new TexturedOverlayButtonWidget(this.width - 40, this.height - 40, 20, 20, 0, 0, 20, TEXTSIGN_ICON_TEXTURE, 32, 64, (buttonWidget) -> { - sign.setEditable(true); - Objects.requireNonNull(client).setScreen(new SignEditScreen(this.sign,false)); + switchScreen = true; + Objects.requireNonNull(client).setScreen(isHanging ? new HangingSignEditScreen(this.sign, false, front) : new SignEditScreen(this.sign, front, false)); }, Text.of(""))); - this.addDrawableChild(new ButtonWidget(this.width / 2,this.height / 5 + 70,40,20, Text.of(text[0].startsWith("!PS:") ? "Image" : (text[0].startsWith("!VS:") ? "Video" : "Loop")), (buttonWidget) -> { + if (text[0].startsWith("!VS:")) pictureSignType = PictureSignType.VIDEO; + if (text[0].startsWith("!LS:")) pictureSignType = PictureSignType.LOOPED_VIDEO; + this.addDrawableChild(ButtonWidget.builder(Text.of(text[0].startsWith("!PS:") ? "Image" : (text[0].startsWith("!VS:") ? "Video" : "Loop")), (buttonWidget) -> { if (text[0].startsWith("!PS:")) text[0] = "!VS:" + text[0].replace("!PS:","").replace("!VS:", "").replace("!LS:", ""); else if (text[0].startsWith("!VS:")) text[0] = "!LS:" + text[0].replace("!PS:","").replace("!VS:", "").replace("!LS:", ""); else if (text[0].startsWith("!LS:")) text[0] = "!PS:" + text[0].replace("!PS:","").replace("!VS:", "").replace("!LS:", ""); else text[0] = "!PS:" + text[0].replace("!PS:","").replace("!VS:", "").replace("!LS:", ""); buttonWidget.setMessage(Text.of(text[0].startsWith("!PS:") ? "Image" : (text[0].startsWith("!VS:") ? "Video" : "Loop"))); + pictureSignType = text[0].startsWith("!PS:") ? PictureSignType.PICTURE : (text[0].startsWith("!VS:") ? PictureSignType.VIDEO : PictureSignType.LOOPED_VIDEO); - sign.setTextOnRow(0, Text.of(text[0])); - })); + sign.changeText(changer -> changer.withMessage(0, Text.of(text[0])), front); + }).dimensions(this.width / 2,this.height / 5 + 70,40,20).build()); TextFieldWidget linkWidget = new TextFieldWidget(textRenderer,this.width / 2 - 175,this.height / 5 + 13,215,40, Text.of("url")); linkWidget.setMaxLength(900); - linkWidget.setText(PictureURLUtils.getLink(sign)); + linkWidget.setText(PictureURLUtils.getLink(sign, front)); linkWidget.setChangedListener(s -> { String prefix = ""; if (text[0].startsWith("!PS:")) prefix = "!PS:"; else if (text[0].startsWith("!VS:")) prefix = "!VS:"; else if (text[0].startsWith("!LS:")) prefix = "!LS:"; String[] lines = breakLink(prefix, PictureURLUtils.shortenLink(s)); - for (int i = 0; i < 3; i++) { + for (int i = 0; i < (PictureSignConfig.exceedVanillaLineLength ? 2 : 3); i++) { text[i] = lines[i]; - sign.setTextOnRow(i, Text.of(text[i])); + int finalI = i; + sign.changeText(changer -> changer.withMessage(finalI, Text.of(text[finalI])), front); } }); this.addDrawableChild(linkWidget); String[] initialDimensions = text[3].split(":"); TextFieldWidget widthWidget = new TextFieldWidget(textRenderer,this.width / 2 - 175,this.height / 5 + 70,30,20, Text.of("width")); - widthWidget.setText(initialDimensions[0]); - widthWidget.setChangedListener(s -> { - String[] dimensions = new String[5]; - for (int i = 0; i < dimensions.length; ++i){ - if (text[3].split(":").length > i) - dimensions[i] = text[3].split(":")[i]; - } - dimensions[0] = s; - StringBuilder mergedDimensions = new StringBuilder(); - for (int i = 0; i < 5; ++i) { - if (dimensions[i] == null) dimensions[i] = ""; - mergedDimensions.append(dimensions[i]); - if (i < 4)mergedDimensions.append(":"); - } - text[3] = String.valueOf(mergedDimensions); - sign.setTextOnRow(3, Text.of(text[3])); - }); - this.addDrawableChild(widthWidget); TextFieldWidget heightWidget = new TextFieldWidget(textRenderer,this.width / 2 - 140,this.height / 5 + 70,30,20, Text.of("height")); - heightWidget.setText(initialDimensions[1]); - heightWidget.setChangedListener(s -> { - String[] dimensions = new String[5]; - for (int i = 0; i < dimensions.length; ++i){ - if (text[3].split(":").length > i) - dimensions[i] = text[3].split(":")[i]; - } - dimensions[1] = s; - StringBuilder mergedDimensions = new StringBuilder(); - for (int i = 0; i < 5; ++i) { - if (dimensions[i] == null) dimensions[i] = ""; - mergedDimensions.append(dimensions[i]); - if (i < 4)mergedDimensions.append(":"); - } - text[3] = String.valueOf(mergedDimensions); - sign.setTextOnRow(3, Text.of(text[3])); - }); - this.addDrawableChild(heightWidget); TextFieldWidget posXWidget = new TextFieldWidget(textRenderer,this.width / 2 - 105,this.height / 5 + 70,30,20, Text.of("posX")); - posXWidget.setText(initialDimensions[2]); - posXWidget.setChangedListener(s -> { - String[] dimensions = new String[5]; - for (int i = 0; i < dimensions.length; ++i){ - if (text[3].split(":").length > i) - dimensions[i] = text[3].split(":")[i]; - } - dimensions[2] = s; - StringBuilder mergedDimensions = new StringBuilder(); - for (int i = 0; i < 5; ++i) { - if (dimensions[i] == null) dimensions[i] = ""; - mergedDimensions.append(dimensions[i]); - if (i < 4)mergedDimensions.append(":"); - } - text[3] = String.valueOf(mergedDimensions); - sign.setTextOnRow(3, Text.of(text[3])); - }); - this.addDrawableChild(posXWidget); TextFieldWidget posYWidget = new TextFieldWidget(textRenderer,this.width / 2 - 70,this.height / 5 + 70,30,20, Text.of("posY")); - posYWidget.setText(initialDimensions[3]); - posYWidget.setChangedListener(s -> { - String[] dimensions = new String[5]; - for (int i = 0; i < dimensions.length; ++i){ - if (text[3].split(":").length > i) - dimensions[i] = text[3].split(":")[i]; - } - dimensions[3] = s; - StringBuilder mergedDimensions = new StringBuilder(); - for (int i = 0; i < 5; ++i) { - if (dimensions[i] == null) dimensions[i] = ""; - mergedDimensions.append(dimensions[i]); - if (i < 4)mergedDimensions.append(":"); - } - text[3] = String.valueOf(mergedDimensions); - sign.setTextOnRow(3, Text.of(text[3])); - }); - this.addDrawableChild(posYWidget); TextFieldWidget posZWidget = new TextFieldWidget(textRenderer,this.width / 2 - 35,this.height / 5 + 70,30,20, Text.of("posZ")); + widthWidget.setText(initialDimensions[0]); + heightWidget.setText(initialDimensions[1]); + posXWidget.setText(initialDimensions[2]); + posYWidget.setText(initialDimensions[3]); posZWidget.setText(initialDimensions[4]); - posZWidget.setChangedListener(s -> { - String[] dimensions = new String[5]; - for (int i = 0; i < dimensions.length; ++i){ - if (text[3].split(":").length > i) - dimensions[i] = text[3].split(":")[i]; - } - dimensions[4] = s; - StringBuilder mergedDimensions = new StringBuilder(); - for (int i = 0; i < 5; ++i) { - if (dimensions[i] == null) dimensions[i] = ""; - mergedDimensions.append(dimensions[i]); - if (i < 4)mergedDimensions.append(":"); - } - text[3] = String.valueOf(mergedDimensions); - sign.setTextOnRow(3, Text.of(text[3])); - }); + widthWidget.setChangedListener(s -> applyPosition(s, 0)); + heightWidget.setChangedListener(s -> applyPosition(s, 1)); + posXWidget.setChangedListener(s -> applyPosition(s, 2)); + posYWidget.setChangedListener(s -> applyPosition(s, 3)); + posZWidget.setChangedListener(s -> applyPosition(s, 4)); + this.addDrawableChild(widthWidget); + this.addDrawableChild(heightWidget); + this.addDrawableChild(posXWidget); + this.addDrawableChild(posYWidget); this.addDrawableChild(posZWidget); - this.model = SignBlockEntityRenderer.createSignModel(this.client.getEntityModelLoader(), SignBlockEntityRenderer.getSignType(sign.getCachedState().getBlock())); + if (text[2].matches("(.*\\d:.*\\d:.*\\d)")) addRotationWidgets(); + this.model = SignBlockEntityRenderer.createSignModel(this.client.getEntityModelLoader(), AbstractSignBlock.getWoodType(sign.getCachedState().getBlock())); + } + public void applyPosition(String position, int index) { + String[] dimensions = new String[5]; + for (int i = 0; i < dimensions.length; ++i){ + if (text[3].split(":").length > i) + dimensions[i] = text[3].split(":")[i]; + } + dimensions[index] = position; + StringBuilder mergedDimensions = new StringBuilder(); + for (int i = 0; i < 5; ++i) { + if (dimensions[i] == null) dimensions[i] = ""; + mergedDimensions.append(dimensions[i]); + if (i < 4)mergedDimensions.append(":"); + } + text[3] = String.valueOf(mergedDimensions); + sign.changeText(changer -> changer.withMessage(3, Text.of(text[3])), front); + } + public void addRotationWidgets() { + String[] initialRotation = text[2].split(":"); + RotationSliderWidget rotXWidget = new RotationSliderWidget(this.width / 2 - 176,this.height / 5 + 100,70,20, Integer.parseInt(initialRotation[0])); + RotationSliderWidget rotYWidget = new RotationSliderWidget(this.width / 2 - 103,this.height / 5 + 100,70,20, Integer.parseInt(initialRotation[1])); + RotationSliderWidget rotZWidget = new RotationSliderWidget(this.width / 2 - 30,this.height / 5 + 100,70,20, Integer.parseInt(initialRotation[2])); + rotXWidget.setChangedListener(s -> applyRotation(s, 0)); + rotYWidget.setChangedListener(s -> applyRotation(s, 1)); + rotZWidget.setChangedListener(s -> applyRotation(s, 2)); + this.addDrawableChild(rotXWidget); + this.addDrawableChild(rotYWidget); + this.addDrawableChild(rotZWidget); + } + public void applyRotation(int rotation, int index) { + String[] dimensions = new String[3]; + for (int i = 0; i < dimensions.length; ++i){ + if (text[2].split(":").length > i) + dimensions[i] = text[2].split(":")[i]; + } + dimensions[index] = String.valueOf(rotation); + StringBuilder mergedDimensions = new StringBuilder(); + for (int i = 0; i < 3; ++i) { + if (dimensions[i] == null) dimensions[i] = ""; + mergedDimensions.append(dimensions[i]); + if (i < 2)mergedDimensions.append(":"); + } + text[2] = String.valueOf(mergedDimensions); + sign.changeText(changer -> changer.withMessage(2, Text.of(text[2])), front); + } + public static class RotationSliderWidget extends SliderWidget { + private Consumer changedListener; + + public RotationSliderWidget(int x, int y, int width, int height, int rot) { + super(x, y, width, height, Text.of(String.valueOf(rot)), rot / (360d)); + } + + protected void updateMessage() { + this.setMessage(Text.of(String.valueOf(getValue()))); + } + + @Override + protected void applyValue() { + changedListener.accept(getValue()); + } + + protected int getValue() { + return Double.valueOf(this.value * (360)).intValue(); + } + public void setChangedListener(Consumer changedListener) { + this.changedListener = changedListener; + } } public void removed() { - if (this.client == null) return; + if (this.client == null || switchScreen) return; ClientPlayNetworkHandler clientPlayNetworkHandler = this.client.getNetworkHandler(); for (int i = 0; i < 4; i++) { - sign.setTextOnRow(i, Text.of(text[i])); + int finalI = i; + sign.changeText(changer -> changer.withMessage(finalI, Text.of(text[finalI])), front); } if (clientPlayNetworkHandler != null) { - clientPlayNetworkHandler.sendPacket(new UpdateSignC2SPacket(this.sign.getPos(), this.text[0], this.text[1], this.text[2], this.text[3])); + clientPlayNetworkHandler.sendPacket(new UpdateSignC2SPacket(this.sign.getPos(), front, this.text[0], this.text[1], this.text[2], this.text[3])); } } + private String[] breakLink(String prefix, String link) { Text linkText = Text.of(prefix+link); String[] brokenLink = new String[3]; - Text line0Text = linkText; - int line0width = line0Text.getString().length(); - assert this.client != null; - while (this.client.textRenderer.getWidth(line0Text) >= 90) { - --line0width; - line0Text = Text.of(line0Text.getString().substring(0,line0width)); + assert client != null; + List text = client.textRenderer.wrapLines(linkText, 90); + for (int i = 0; i < text.size(); i++) { + String textLine = orderedToString(text.get(i)); + if (i < (PictureSignConfig.exceedVanillaLineLength ? 2 : 3)) + brokenLink[i] = textLine; + else if (PictureSignConfig.exceedVanillaLineLength) brokenLink[1] += textLine; } - brokenLink[0] = line0Text.getString(); - Text line1Text = Text.of(linkText.getString().substring(line0width)); - int line1width = line1Text.getString().length(); - assert this.client != null; - while (this.client.textRenderer.getWidth(line1Text) >= 90) { - --line1width; - line1Text = Text.of(line1Text.getString().substring(0,line1width)); - } - brokenLink[1] = line1Text.getString(); - Text line2Text = Text.of(linkText.getString().substring(line0width + line1width)); - int line2width = line2Text.getString().length(); - assert this.client != null; - if (!PictureSignConfig.exceedVanillaLineLength) - while (this.client.textRenderer.getWidth(line2Text) >= 90) { - --line2width; - line2Text = Text.of(line2Text.getString().substring(0,line2width)); - } - brokenLink[2] = line2Text.getString(); return brokenLink; } + private String orderedToString(OrderedText ordered) { + StringBuilder string = new StringBuilder(); + ordered.accept((i, style, codePoint) -> { + string.append(Character.toString(codePoint)); + return true; + }); return string.toString(); + } + @Override + public boolean shouldPause() { + return false; + } public void tick() { super.tick(); if (!this.sign.getType().supports(this.sign.getCachedState())) { @@ -252,40 +263,40 @@ public class PictureSignHelperScreen extends Screen { assert this.client != null; this.client.setScreen(null); } - public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) { + public void render(DrawContext context, int mouseX, int mouseY, float delta) { if (this.client == null) return; DiffuseLighting.disableGuiDepthLighting(); - this.renderBackground(matrices); - drawTextWithShadow(matrices,textRenderer, Text.of("Link" + (PictureSignConfig.safeMode ? " (imgur.com/imgbb.com/iili.io/pictshare.net)" : "")),this.width / 2 - 175, this.height / 5 + 3, -8816268); - drawTextWithShadow(matrices,textRenderer, Text.of("Width"),this.width / 2 - 175, this.height / 5 + 60, -8816268); - drawTextWithShadow(matrices,textRenderer, Text.of("Height"),this.width / 2 - 140, this.height / 5 + 60, -8816268); - drawTextWithShadow(matrices,textRenderer, Text.of("PosX"),this.width / 2 - 105, this.height / 5 + 60, -8816268); - drawTextWithShadow(matrices,textRenderer, Text.of("PosY"),this.width / 2 - 70, this.height / 5 + 60, -8816268); - drawTextWithShadow(matrices,textRenderer, Text.of("PosZ"),this.width / 2 - 35, this.height / 5 + 60, -8816268); - drawTextWithShadow(matrices,textRenderer, Text.of("Mode"),this.width / 2, this.height / 5 + 60, -8816268); - drawCenteredText(matrices, this.textRenderer, this.title, this.width / 2, 40, 16777215); - matrices.push(); - matrices.translate(this.width / 2f + 100, this.height / 5f - 60, 50.0); - matrices.scale(93.75F, -93.75F, 93.75F); - matrices.translate(0.0, -1.3125, 0.0); - BlockState blockState = this.sign.getCachedState(); - boolean bl = blockState.getBlock() instanceof SignBlock; - if (!bl) { - matrices.translate(0.0, -0.3125, 0.0); + this.renderBackground(context); + context.drawTextWithShadow(textRenderer, Text.of("Link" + + (PictureSignConfig.safeMode ? (pictureSignType.equals(PictureSignType.PICTURE) ? " (imgur.com/imgbb.com/iili.io/pictshare.net)" : " (youtube.com/youtu.be/vimeo.com)") : "")), + this.width / 2 - 175, this.height / 5 + 3, -8816268); + context.drawTextWithShadow(textRenderer, Text.of("Width"),this.width / 2 - 175, this.height / 5 + 60, -8816268); + context.drawTextWithShadow(textRenderer, Text.of("Height"),this.width / 2 - 140, this.height / 5 + 60, -8816268); + context.drawTextWithShadow(textRenderer, Text.of("PosX"),this.width / 2 - 105, this.height / 5 + 60, -8816268); + context.drawTextWithShadow(textRenderer, Text.of("PosY"),this.width / 2 - 70, this.height / 5 + 60, -8816268); + context.drawTextWithShadow(textRenderer, Text.of("PosZ"),this.width / 2 - 35, this.height / 5 + 60, -8816268); + context.drawTextWithShadow(textRenderer, Text.of("Mode"),this.width / 2, this.height / 5 + 60, -8816268); + if (text[2].matches("(.*\\d:.*\\d:.*\\d)")) { + context.drawTextWithShadow(textRenderer, Text.of("RotX"),this.width / 2 - 175, this.height / 5 + 92, -8816268); + context.drawTextWithShadow(textRenderer, Text.of("RotY"),this.width / 2 - 103, this.height / 5 + 92, -8816268); + context.drawTextWithShadow(textRenderer, Text.of("RotZ"),this.width / 2 - 30, this.height / 5 + 92, -8816268); } + context.drawCenteredTextWithShadow(this.textRenderer, this.title, this.width / 2, 40, 16777215); + MatrixStack matrices = context.getMatrices(); matrices.push(); - matrices.scale(0.6666667F, -0.6666667F, -0.6666667F); VertexConsumerProvider.Immediate immediate = this.client.getBufferBuilders().getEntityVertexConsumers(); - SpriteIdentifier spriteIdentifier = TexturedRenderLayers.getSignTextureId(SignBlockEntityRenderer.getSignType(sign.getCachedState().getBlock())); - SignBlockEntityRenderer.SignModel var10002 = this.model; - Objects.requireNonNull(var10002); - VertexConsumer vertexConsumer = spriteIdentifier.getVertexConsumer(immediate, var10002::getLayer); - this.model.stick.visible = bl; - this.model.root.render(matrices, vertexConsumer, 15728880, OverlayTexture.DEFAULT_UV); + translateForRender(context, sign.getCachedState()); + renderSignBackground(context, sign.getCachedState()); + + int i = this.sign.getText(front).getColor().getSignColor(); matrices.pop(); - matrices.translate(0.0, 0.3333333432674408, 0.046666666865348816); - matrices.scale(0.010416667F, -0.010416667F, 0.010416667F); - int i = this.sign.getTextColor().getSignColor(); + matrices.push(); + + context.getMatrices().translate((float)this.width / 2.0F + 100, this.height / 5f + 47.5f, 400.0F); + if (sign.getCachedState().getBlock() instanceof SignBlock) context.getMatrices().translate(0,-15f,0); + else if (isHanging) context.getMatrices().translate(0,17f,0); + Vector3f vector3f = this.getTextScale(); + context.getMatrices().scale(vector3f.x(), vector3f.y(), vector3f.z()); Matrix4f matrix4f = matrices.peek().getPositionMatrix(); int m; @@ -298,7 +309,7 @@ public class PictureSignHelperScreen extends Screen { } float n = (float)(-this.client.textRenderer.getWidth(string) / 2); - this.client.textRenderer.draw(string, n, (float)(m * 10 - this.text.length * 5), i, false, matrix4f, immediate, false, 0, 15728880, false); + this.client.textRenderer.draw(string, n, (float)(m * 10 - this.text.length * 5), i, false, matrix4f, immediate, TextRenderer.TextLayerType.NORMAL, 0, 15728880, false); } } @@ -306,6 +317,53 @@ public class PictureSignHelperScreen extends Screen { matrices.pop(); DiffuseLighting.enableGuiDepthLighting(); - super.render(matrices, mouseX, mouseY, delta); + + super.render(context, mouseX, mouseY, delta); + } + protected void translateForRender(DrawContext context, BlockState state) { + MatrixStack matrices = context.getMatrices(); + if (isHanging) { + matrices.translate((float)this.width / 2.0F + 100, this.height / 5f + 50, 50.0F); + } + else { + matrices.push(); + matrices.translate(this.width / 2f + 100, this.height / 5f - 60, 50.0); + matrices.scale(93.75F, -93.75F, 93.75F); + matrices.translate(0.0, -1.3125, 0.0); + } + } + + protected void renderSignBackground(DrawContext context, BlockState state) { + if (!isHanging) { + VertexConsumerProvider.Immediate immediate = this.client.getBufferBuilders().getEntityVertexConsumers(); + MatrixStack matrices = context.getMatrices(); + + BlockState blockState = this.sign.getCachedState(); + boolean bl = blockState.getBlock() instanceof SignBlock; + if (!bl) { + matrices.translate(0.0, -0.15625, 0.0); + } + matrices.push(); + matrices.scale(0.6666667F, -0.6666667F, -0.6666667F); + + SpriteIdentifier spriteIdentifier = TexturedRenderLayers.getSignTextureId(AbstractSignBlock.getWoodType(sign.getCachedState().getBlock())); + SignBlockEntityRenderer.SignModel var10002 = this.model; + Objects.requireNonNull(var10002); + VertexConsumer vertexConsumer = spriteIdentifier.getVertexConsumer(immediate, var10002::getLayer); + this.model.stick.visible = bl; + this.model.root.render(matrices, vertexConsumer, 15728880, OverlayTexture.DEFAULT_UV); + matrices.pop(); + matrices.translate(0.0, 0.3333333432674408, 0.046666666865348816); + matrices.scale(0.010416667F, -0.010416667F, 0.010416667F); + } + else { + MatrixStack matrices = context.getMatrices(); + matrices.scale(4.5F, 4.5F, 1.0F); + context.drawTexture(new Identifier("textures/gui/hanging_signs/" + this.signType.name() + ".png"), -8, -8, 0.0F, 0.0F, 16, 16, 16, 16); + } + } + + protected Vector3f getTextScale() { + return isHanging ? new Vector3f(1.0F, 1.0F, 1.0F) : new Vector3f(0.9765628F, 0.9765628F, 0.9765628F); } } diff --git a/src/main/java/eu/midnightdust/picturesign/util/PictureSignType.java b/src/main/java/eu/midnightdust/picturesign/util/PictureSignType.java index b2287c4..776f702 100644 --- a/src/main/java/eu/midnightdust/picturesign/util/PictureSignType.java +++ b/src/main/java/eu/midnightdust/picturesign/util/PictureSignType.java @@ -4,14 +4,17 @@ import net.minecraft.block.entity.SignBlockEntity; public enum PictureSignType { NONE, PICTURE, VIDEO, LOOPED_VIDEO; - public static PictureSignType getType(SignBlockEntity signBlockEntity) { - String rowOne = signBlockEntity.getTextOnRow(0,false).getString(); + public static PictureSignType getType(SignBlockEntity signBlockEntity, boolean front) { + String rowOne = signBlockEntity.getText(front).getMessage(0,false).getString(); if (rowOne.startsWith("!PS:")) return PICTURE; if (rowOne.startsWith("!VS:")) return VIDEO; if (rowOne.startsWith("!LS:")) return LOOPED_VIDEO; else return NONE; } - public static boolean isType(SignBlockEntity signBlockEntity, PictureSignType type) { - return getType(signBlockEntity) == type; + public static boolean isType(SignBlockEntity signBlockEntity, PictureSignType type, boolean front) { + return getType(signBlockEntity, front) == type; + } + public static boolean hasNoPicture(SignBlockEntity signBlockEntity) { + return isType(signBlockEntity, NONE, true) && isType(signBlockEntity, NONE, false); } } diff --git a/src/main/java/eu/midnightdust/picturesign/util/PictureURLUtils.java b/src/main/java/eu/midnightdust/picturesign/util/PictureURLUtils.java index e076556..9d0f1ba 100644 --- a/src/main/java/eu/midnightdust/picturesign/util/PictureURLUtils.java +++ b/src/main/java/eu/midnightdust/picturesign/util/PictureURLUtils.java @@ -18,7 +18,6 @@ import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; -@SuppressWarnings("UnstableApiUsage") public class PictureURLUtils { public static final Type STRING_TYPE = new TypeToken>(){}.getType(); public static final Map cachedJsonData = new HashMap<>(); @@ -60,15 +59,16 @@ public class PictureURLUtils { catch (MalformedURLException e) {PictureSignClient.LOGGER.warn("Malformed URL: " + e);} return result; } - public static String getLink(SignBlockEntity signBlockEntity) { - String text = signBlockEntity.getTextOnRow(0, false).getString() + - signBlockEntity.getTextOnRow(1, false).getString() + - signBlockEntity.getTextOnRow(2, false).getString(); + public static String getLink(SignBlockEntity signBlockEntity, boolean front) { + String text = signBlockEntity.getText(front).getMessage(0, false).getString() + + signBlockEntity.getText(front).getMessage(1, false).getString(); + if (!signBlockEntity.getText(front).getMessage(2, false).getString().matches("(.*\\d:.*\\d:.*\\d)")) text += signBlockEntity.getText(front).getMessage(2, false).getString(); String url = text.replaceAll("!PS:", "").replaceAll("!VS:", "").replaceAll("!LS:", "").replaceAll(" ",""); if (url.startsWith("ps:")) url = url.replace("ps:", "https://pictshare.net/"); if (url.startsWith("imgur:")) url = url.replace("imgur:", "https://i.imgur.com/"); if (url.startsWith("imgbb:")) url = url.replace("imgbb:", "https://i.ibb.co/"); if (url.startsWith("iili:")) url = url.replace("iili:", "https://iili.io/"); + if (url.startsWith("yt:")) url = url.replace("yt:", "https://youtu.be/"); return url; } public static String shortenLink(String url) { @@ -76,9 +76,13 @@ public class PictureURLUtils { if (url.contains("i.imgur.com/")) url = url.replace("i.imgur.com/", "imgur:"); if (url.contains("i.ibb.co/:")) url = url.replace("i.ibb.co/", "imgbb:"); if (url.contains("iili.io/")) url = url.replace("iili.io/", "iili:"); + if (url.contains("www.youtube.com/")) url = url.replace("www.youtube.com/", "yt:"); + if (url.contains("youtu.be/")) url = url.replace("youtu.be/", "yt:"); if (url.startsWith("https://")) { url = url.replace("https://", ""); } + if (url.contains("watch?v=")) url = url.replace("watch?v=", ""); + if (url.contains("&pp=")) url = url.split("&pp=")[0]; return url; } } diff --git a/src/main/java/eu/midnightdust/picturesign/util/VideoHandler.java b/src/main/java/eu/midnightdust/picturesign/util/VideoHandler.java index 8e6660a..6ea18e8 100644 --- a/src/main/java/eu/midnightdust/picturesign/util/VideoHandler.java +++ b/src/main/java/eu/midnightdust/picturesign/util/VideoHandler.java @@ -38,4 +38,7 @@ public class VideoHandler { public static Identifier getTexture(Identifier id) { return videoManager.getOrCreate(id).getTexture(); } + public static float getFramerate(Identifier id) { + return videoManager.getOrCreate(id).getCodecInterface().getFrameRate(); + } } diff --git a/src/main/resources/assets/picturesign/lang/de_de.json b/src/main/resources/assets/picturesign/lang/de_de.json index 5fdd0bf..67776c4 100755 --- a/src/main/resources/assets/picturesign/lang/de_de.json +++ b/src/main/resources/assets/picturesign/lang/de_de.json @@ -11,13 +11,22 @@ "picturesign.midnightconfig.signRenderDistance":"Schildsichtweite", "picturesign.midnightconfig.safeMode":"Sicherer Modus", "picturesign.midnightconfig.safeMode.tooltip":"Lädt nur Bilder von vertrauten Seiten", - "picturesign.midnightconfig.ebeWarning":"§cWenn du die Mod 'Enhanced Block Entities' benutzt, stelle sicher,", - "picturesign.midnightconfig.ebeWarning2":"§cdass du alles in Relation zu Schildern in der EBE Config deaktiviert hast!", + "picturesign.midnightconfig.ebeWarning":"§cWenn du die Mod 'Enhanced Block Entities' benutzt, stelle sicher, dass du alles in Relation zu Schildern in der EBE Config deaktiviert hast!", "picturesign.midnightconfig.safeProviders":"Sichere Anbieter", "picturesign.midnightconfig.missingImageMode":"Darstellung fehlender Texturen", "picturesign.midnightconfig.enum.MissingImageMode.BLACK":"Schwarz", "picturesign.midnightconfig.enum.MissingImageMode.MISSING_TEXTURE":"Schwarz & Lila", "picturesign.midnightconfig.enum.MissingImageMode.TRANSPARENT":"Transparent", "key.picturesign.copy_sign": "Text eines Schildes kopieren", - "key.picturesign.edit_sign":"Schild bearbeiten" + "key.picturesign.edit_sign":"Schild bearbeiten", + + "picturesign.midnightconfig.category.1general": "Generell", + "picturesign.midnightconfig.category.advanced": "Fortgeschritten", + "picturesign.midnightconfig.enableVideoSigns": "Aktiviere Videos", + "picturesign.midnightconfig.fullBrightPicture": "Höchste Helligkeit", + "picturesign.midnightconfig.fullBrightPicture.tooltip": "Sorgt dafür, dass Bilder immer vollkommen beleuchtet dargestellt werden", + "picturesign.midnightconfig.invidiousInstance": "Invidious-Instanz", + "picturesign.midnightconfig.invidiousInstance.tooltip": "Wähle die Invidious-Instanz aus, die zur Wiedergabe von YouTube-Videos verwendet wird. \nEine Liste dieser ist zu finden unter\ndocs.invidious.io/instances/", + "picturesign.midnightconfig.pictureShader": "Render-Programm", + "picturesign.midnightconfig.pictureShader.tooltip": "Wähle das Shader-Programm, mit dem die Bilder dargestellt werden, was nützlich ist, wenn diese mit Shaderpacks nicht richtig dargestellt werden" } \ No newline at end of file diff --git a/src/main/resources/assets/picturesign/lang/en_us.json b/src/main/resources/assets/picturesign/lang/en_us.json index 71fbc67..cb4ba90 100755 --- a/src/main/resources/assets/picturesign/lang/en_us.json +++ b/src/main/resources/assets/picturesign/lang/en_us.json @@ -1,10 +1,14 @@ { "picturesign.midnightconfig.title":"PictureSign Config", + "picturesign.midnightconfig.category.1general":"General", + "picturesign.midnightconfig.category.advanced":"Advanced", "picturesign.midnightconfig.enabled":"Enable Pictures", "picturesign.midnightconfig.enableVideoSigns":"Enable Videos", "picturesign.midnightconfig.translucency":"Enable Translucency", "picturesign.midnightconfig.translucency.tooltip":"Translucency doesn't work too great on block entities\n(and therefore signs)", + "picturesign.midnightconfig.fullBrightPicture":"Full-bright Pictures", + "picturesign.midnightconfig.fullBrightPicture.tooltip":"Makes pictures always appear fully lit", "picturesign.midnightconfig.helperUi":"Enable Helper UI", "picturesign.midnightconfig.exceedVanillaLineLength":"Exceed vanilla line length", "picturesign.midnightconfig.debug":"Debug mode", @@ -12,13 +16,21 @@ "picturesign.midnightconfig.signRenderDistance":"Sign render distance", "picturesign.midnightconfig.safeMode":"Safe mode", "picturesign.midnightconfig.safeMode.tooltip":"Only load images from trusted providers", - "picturesign.midnightconfig.ebeWarning":"§cIf you are using the mod 'Enhanced Block Entities'", - "picturesign.midnightconfig.ebeWarning2":"§cmake sure to disable anything sign-related in it's config!", + "picturesign.midnightconfig.ebeWarning":"§cIf you are using the mod 'Enhanced Block Entities' make sure to disable anything sign-related in it's config!", "picturesign.midnightconfig.safeProviders":"Safe providers", + "picturesign.midnightconfig.invidiousInstance":"Invidious Instance", + "picturesign.midnightconfig.invidiousInstance.tooltip":"Select the Invidious instance that is being used to play YouTube videos. \nYou can find a list of them at\ndocs.invidious.io/instances/", "picturesign.midnightconfig.missingImageMode":"Missing image mode", "picturesign.midnightconfig.enum.MissingImageMode.BLACK":"Black", "picturesign.midnightconfig.enum.MissingImageMode.MISSING_TEXTURE":"Black & Purple", "picturesign.midnightconfig.enum.MissingImageMode.TRANSPARENT":"Transparent", + "picturesign.midnightconfig.pictureShader":"Render Program", + "picturesign.midnightconfig.pictureShader.tooltip":"Select the shader program to draw pictures with when using shaderpacks where they appear black/buggy", + "picturesign.midnightconfig.enum.PictureShader.PosColTexLight":"PosColTexLight", + "picturesign.midnightconfig.enum.PictureShader.RenderTypeCutout":"RenderTypeCutout", + "picturesign.midnightconfig.enum.PictureShader.PosTex":"PosTex", + "picturesign.midnightconfig.enum.PictureShader.PosColTex":"PosColTex", + "picturesign.midnightconfig.enum.PictureShader.PosTexCol":"PosTexCol", "key.picturesign.copy_sign":"Copy Text from Sign", "key.picturesign.edit_sign":"Edit Sign", "key.categories.picturesign":"PictureSign" diff --git a/src/main/resources/picturesign.mixins.json b/src/main/resources/picturesign.mixins.json index 6e7680b..b599655 100755 --- a/src/main/resources/picturesign.mixins.json +++ b/src/main/resources/picturesign.mixins.json @@ -4,6 +4,7 @@ "compatibilityLevel": "JAVA_17", "client": [ "MixinSignBlockEntityRenderer", + "MixinHangingSignBlockEntityRenderer", "MixinSignEditScreen", "MixinSignBlockEntity" ],