From 7bdaf8943f4c5e4ac552171979efe42b8ebd11f2 Mon Sep 17 00:00:00 2001 From: Raz0rBeam Date: Sun, 21 Aug 2022 19:15:35 -0400 Subject: [PATCH] Tried adding a MenuPlatform (it doesnt work, but it will soon) --- .../.idea/encodings.xml | 4 + .../.idea/indexLayout.xml | 8 ++ .../.idea/projectSettingsUpdater.xml | 6 ++ .idea/.idea.PlatformCustomizer/.idea/vcs.xml | 6 ++ .../.idea/workspace.xml | 75 ++++++++++++++++++ PlatformCustomizer/Assets/menuplatform | Bin 29759 -> 0 bytes PlatformCustomizer/Assets/unlit.shader | 67 ---------------- .../CustomFeet/CustomFeetDir.cs | 27 +++++++ .../CustomFeet/RemoteLocation.cs | 65 +++++++++++++++ PlatformCustomizer/MenuItems/DisableItems.cs | 26 ++++++ .../MenuItems/MenuFloorManager.cs | 50 ++++++++---- .../Miscellaneous/CustomListItem.cs | 10 +++ PlatformCustomizer/Miscellaneous/PathTools.cs | 24 ++++++ .../Miscellaneous/PlatformGrabber.cs | 6 +- .../Miscellaneous/ResourcesLoader.cs | 18 ----- PlatformCustomizer/PlatformCustomizer.csproj | 11 ++- PlatformCustomizer/manifest.json | 20 ++--- 17 files changed, 306 insertions(+), 117 deletions(-) create mode 100644 .idea/.idea.PlatformCustomizer/.idea/encodings.xml create mode 100644 .idea/.idea.PlatformCustomizer/.idea/indexLayout.xml create mode 100644 .idea/.idea.PlatformCustomizer/.idea/projectSettingsUpdater.xml create mode 100644 .idea/.idea.PlatformCustomizer/.idea/vcs.xml create mode 100644 .idea/.idea.PlatformCustomizer/.idea/workspace.xml delete mode 100644 PlatformCustomizer/Assets/menuplatform delete mode 100644 PlatformCustomizer/Assets/unlit.shader create mode 100644 PlatformCustomizer/CustomFeet/CustomFeetDir.cs create mode 100644 PlatformCustomizer/CustomFeet/RemoteLocation.cs create mode 100644 PlatformCustomizer/MenuItems/DisableItems.cs create mode 100644 PlatformCustomizer/Miscellaneous/CustomListItem.cs create mode 100644 PlatformCustomizer/Miscellaneous/PathTools.cs delete mode 100644 PlatformCustomizer/Miscellaneous/ResourcesLoader.cs diff --git a/.idea/.idea.PlatformCustomizer/.idea/encodings.xml b/.idea/.idea.PlatformCustomizer/.idea/encodings.xml new file mode 100644 index 0000000..df87cf9 --- /dev/null +++ b/.idea/.idea.PlatformCustomizer/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/.idea.PlatformCustomizer/.idea/indexLayout.xml b/.idea/.idea.PlatformCustomizer/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/.idea/.idea.PlatformCustomizer/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/.idea.PlatformCustomizer/.idea/projectSettingsUpdater.xml b/.idea/.idea.PlatformCustomizer/.idea/projectSettingsUpdater.xml new file mode 100644 index 0000000..4bb9f4d --- /dev/null +++ b/.idea/.idea.PlatformCustomizer/.idea/projectSettingsUpdater.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/.idea.PlatformCustomizer/.idea/vcs.xml b/.idea/.idea.PlatformCustomizer/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/.idea.PlatformCustomizer/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/.idea.PlatformCustomizer/.idea/workspace.xml b/.idea/.idea.PlatformCustomizer/.idea/workspace.xml new file mode 100644 index 0000000..8e36d90 --- /dev/null +++ b/.idea/.idea.PlatformCustomizer/.idea/workspace.xml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + { + "keyToString": { + "RunOnceActivity.OpenProjectViewOnStart": "true", + "RunOnceActivity.ShowReadmeOnStart": "true", + "WebServerToolWindowFactoryState": "false", + "settings.editor.selected.configurable": "preferences.pluginManager", + "vue.rearranger.settings.migration": "true" + } +} + + + + + + + + + + + 1660341070164 + + + + + + + + + + + + + \ No newline at end of file diff --git a/PlatformCustomizer/Assets/menuplatform b/PlatformCustomizer/Assets/menuplatform deleted file mode 100644 index 853505005e4881ebafaa8277ab9fe4900197105f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29759 zcmV(|K+(TdZfSIRMpFO)000IxE_g0@05UK!IW99UF*Rl}000000001VKL7v#SO5S3 znE(I)LmmJD0Qmp`00LOZ0048f06_o%00JBU_#6UQXaE2J1VceWEif=-FgP(aVKg)| zWHT@^H8f*oFf?UjF=k<5WMnxrFfjlC0RRwS1pp5@01;p=a%FQ<09^n82mk;808_AO zQW})xLsWhI;LeiHZ(%_|_pD0z{%2*azi-=Z%^2Rd$%pCv*eF>pl!!k3hEUChp@E6h!+wMM+FO;AeN7opHv?6EjeP8&|IjUVdeD9Ya zTBXZ`HyWcN1v#eQZ%Fxg(xU2n=oT?4%Oiw< zpt=LP)zG0(8xmWanp@K58A;dWZC-F9IqShIV^ z)*v5N>08AYHYHP&qY}noMm7yv%%qx?hlqAX3P;=(J0{{wws$0-F0nPW#~|L%>lkrC z&f$KYEm>Q#G^*D})&!?&^%1@vobYd}^&pN^1bVMyVC9oxr3M*W$lfG zKcYTh%oktfG+U;yvKhRxJT#b#p+g@bNK9-p#uC@Evg)Umw}`cOxe|VR>8=kpC?q_D z@Few_i+MbPT6G$b$fZ1EX)PfJ8F1sF)q!9G!g9d-^?*&v?hX!;ZgTyoEPXa?pSh9+ z?R~=7C5it~JrGeizw~@A76v11u`{xFb=l;;*J*jCNO_NHMq~91`M>?18!Yz;{keTl zyLjxEPc^QYvGUZcK8b%^YQ}|{#9W5OmIX$uEG)%25`tSLkVBkJw}O^m+dGkh2nNI~ zWh?T06yhL&;M@%lwJl|q`^nUKk6*(|jl*m!DoMQ!RoWv=TIWLNSa%7JN#EJk-FKYW zp%tz1v)sHmM8=1hpC}QI&uEyyMHQUTp#BXL<#js1!Y8QC*kH{epXa|0kqKZ(2Q+n4 z3nsaSnTlt5qtAkJre{UCCQ8-+n^<=PjZ$~Q>eQ%#IltUFiBYipTJ*fxH^UFZ;oa`l z*;e0=8Ffq6xbVF}9VPD7^vC|TfDix;h>DI>DEBj|4Axxc z87ZRpQRsK<=RSmy-}N#cDH5YjgXPQveQMyL-W^B2n-rarLLE8#aTiMosKQD1VQ=1UTPz;RRH{j2V3ardlg!7swqY# zNH#8pa+}KU1%6(Jx&yigta})Mi(*X9&AD98V$qU^GP-iTyzd>ODVG3qwFhfZr|x72 z#TY^%P1$04rYmDIE(wv#0m@DGuIFQd30I9sQ`ROQaxRJR*V@zPJzhpiW19S>ogMZW z%_>dF)os>zjvqt6WotRMuNvw@2{EHD4lTfNiPocHX4naK6QE(_FEihLmaY{kJz(xH z;888H+ktMwXEvu3>k2|moYAn+}l%-M|TJIyX$Et;V&Yze29Mij2E)Y_`7-8M>|_4-A(nt)$l2rF|{IBL+pmZGUe_S$thR5F(!E z{0)wh8B|nfpCI_dAID!?C-(+Npsr~c-X}Y-n_>y@hScHKEu$v!qYNxH^pA-6)~fad z3PF^dm~>AAffq#YxuIw6>nrnp-vu>LW{%J18fwrtH?TrpyEJugwZEVTuYQ`6zzdV^ zA{`ofJ^IajYh};~m$il|W1z|6?ti~ZAO@YOv*x2>D`L(udPwp*s1n6-rAC`RMU7Y+ zbKDPTs3D?LC&`pv?OdByMA?`L@}_yrCAWMg;0II9lUE~dnr!;#(FPkzyd1{DW6+6$ zylp^JNA94b|GJ59PSIdcdY-|pZAu|Wcx`2UHCOFOfRahi7dehh<&54lH^KrIZvk`j znHa5y$TE)^1`$v9?5X)|34d1HKi7Z`1OcMQslUhi1Tb=5b0}GEk(e9dcOpu+neBwV zyJ$Hy0{5)+y!{5DmMg}){#ym)5DQWC@9D=Q@UCq-@KFS=lj|Az|9{}^Cf{nBp?^f~ ztyJj>qe>5ifjWs5NuQ8`R~8qxp_Kh$m?=wvg`6i`kIlg=+U!iS1H4x}%U+2crLEGt zhHEO1wmeQ?zxZ|Aakq+u(MBc6T0+Fz*h-=8r z1(Kl?z&>%mAAeix<)lmA!;S~x;E+|PSXU7VtaL>ebF|YQt!-d(P|&ekBWEumB>Q=> zG_pR8(@l$RU%eSwz0cy;ZGIgfq1V!Mus#Ztl*kZ()vHtWxE2qjR~<&0EoY|hj>9tc z9+C=pOrIbP<>Vp$V;AbCBUAD4ZszoCYMbmE?V#=vPZeVTfIa!85T3jd$jZq|j#(fO zY_TPOQ{r%JLV{OqDAXDAJ~yD=OgNLfoJ9EJEVwEMizZOvTjJ-Xc&XntSfe+Ayv(`< zRGKs1xUDXh2PQEYw86WEiL7Xcj85RXcU758f;~}iAXC5hokaZrrM|iHo;^|d8&XBZ zV(RCr7&wL-HDu-!^*kh@<#+|aIdlQU&>5w3h;OT5QL2RXZ2gr15n3FEI|79LS{+iN z#bP$|__8&21^bl@w%3<}nXW40unz%hfdB}*vM+QZ^=NKKu%_E%bH%$Bd%M}XuZafVQ8D+497NipX!qWCEi{3;*zeOBa9zkOY(~(KqiFR?K=y!d? za0V!r*1j@~9m^3W>AoS~Q-HkEX#4pYE@@iZUM_LG$>S#z-TVF3X)Wf+9^N2B!hLnR z{~2EFYe}zTn!c>eTZ1Mgo1$UIMVcUTnW3O6yagNICpb=mQSvW%rP|#MXJn+4PcaFJ z>ouG??hcb2!E0HjFE&uZxRR&u2I_zl4DdgJ$S`F|y~Pw+=ngH*RxE~8SWoP-P)v!i zNTN{-AsVXUHVs)JWO^L~Y0~VL4WpztqK%@b^7KVN4%6f8Qz(Beh0RfFvt0{I`W=zb z@On^6aQXJ~t#VQl=y*^S{#*=>r==DsKWK-2PkC7kLMxw`*00(Brm!!QE4Y=%mnF-T zpqQn@8stWDv$%M5<(C1JhA<qH+E+}ya8i_y>&5Ah9xG}QkV)NI@2m;uHC~hm1HuGx3jvG0uCE}=q^L6%0 z*HnlEiO&McU~kj=aoNo-Wx~D&E6N*T!nUharV-wSC!_in+I>Q>1pt(JNc)C%*I`ip zK6nGHC{Y&yVq0!QtKIw=j^VDOjp&XY9{V1&5VWYs^oEG^z{)dDHY_J6p5KJb$=Pez z81p4_uD;Kf5MMzFDqJr%n0rVI+~3&{je5g@cHC*~xc!83? zhG)5I>_ZLr)ki*In zCQ9dJgAJsmFI2&`Jz^OF+Wq)h?+T60EIc;?yB$D`*0*o}3wwg!$8UjIa_*D}7-@>U z;et28@X(B8qBorMr(S#<#YaeAvtd!;v{3$&J+Dlc;#DZ=1Bg>2rwgbAg0-W-4c1Qt z*4)P;82dFRn5axt*|2c%#y}CJ>vbe0(LNawXsmH7<?fyuPtptiSGxj8OAwWqSdKa|~J-Av{loOuca# z494dp&bxc&u`{ce9k9B;QsMC-nD;k(N6ezDVnh)lY|4YT)L`TTnijJ43XT0j#3oyb zWtwEVZj>8Z4wtNT7oj;yN zkFh;O^h6i*-qT>bdy3a>P{Ln(`FFJNVf-%mbb9~jC?z7T8!S}Yb&*UtMzZnW_rFyz zQy*C-pO3DUwXm5CGa%zR1OM^3+4&rp;C)iJ!LgJw3a3v2xH18u(F!nnkU4x$`CVQ_)r#*3llT0q5GJtF50A{LW>voU&jiJov;&)>H|P5 zBotkFxXX!5jOAL1d<##~ZQ#yxeT;vSVZVR=38i*I=W6-fQm6TyM5*uy<2Hp5Y?DIF zz#*7F4ODpk8pL{TC&~3}%lfg2pc@C5XsdXydgBj~4c0KBEVGcohw66Y6nGs2|c}~abtpu$^fl>JMy6vFFdB`}ek-1)P!m_8Q5AMlK zb!AoVy|qoW#tYPfwdr%`4+%G%d0w?PXPcf|Wg&|Aca-}d0Uiv;hd*x;Z@yD!l4|*6pv+$B&odk3waW56buo@uJ)Z4`qx$TzH3-4L#wB zgwn~X^*I2cSGi4sqm-epWKsTKbGC)*?jp&bp2zW7Dqu|&A0WzDH$m^+f6x*bExjGz z0fCU#BsWLxCfgT6LQ{=R$nLM>*JDtJID?dVKx92=YzE5x9j+BW`#&-y143*X+(W@< zTQzGnvlx|Bn=w${(l$zthscIHpWF}l8s*orQjB)|`41ajz-Vbwo5IuVeZ?}d6X_CG z&#;;-bq&U2Loq3g;5CI>T`j*Q83YsY?Jhdmb4z5r?Q>xXz$5;F6?O(P`h7ggY~6L| z4H%Q`kF8$j&tb95Znx|djcj%Kg$LmHWVA08Rq}=wBpkM z3cCKVE!)#HQHLI+esFeGvQDj@IRDwSEI{Bbq&%mW;APjpL9*>I9HlZNe3mDSabKG@ z5bn(Khgk+MH?(ti(yaUm?WnqIBwvTapKeFX?Xx0$a=1N3U2>0@17HhfZop&gm~YH* zkP{~~Hz0|nPn8^MEpc+S{>FFcWq(U(DNu%g9&!?c8iDYuAM$u{qep~zsd{k`^n=%p z6(}vAb!Axey@*4J*Y1BjGUdl@V>{Paf|S)-xpp?sVKvqORQc}r@lH>V_uI@mbL2j3 zR^Q{=#HLUW;o~fu@Ckl;I2)xMYwF1(>3>e|i%Xa_3};VpR4-T4DdTRhBL@s8rC=9J z3xLj6A-6SjUczrUW(^XQ^bxHK6-yP+Sww6{Se?pS8lnLH`Ik41slK_CrjGF$zH|6) z=Q%pYxQNi_A6Uh0!`?CFx~*k0?ndu#FY19Kw4NL@Wd@ho3=G{LnP!F^dX+}yC^Tpu zW>uQnsM(O2cUDs!$ivjA!&^S7iTInxIZRi=;r&D+0=zB$jY8+6$ZpFH@c;2pioxXl zxV!M0Gi!}ImI8_3LDE)cdZ+y&8HuQRKK=369f&l;rhP1B<8g@OaO z5`fZkWsTYHk_WcQ6ua{u`6 zZ;Q{gyK}{cRP_IW-_#wClq^Rwh zfx){~Or?=7pc}hGxriB2!LS=Qfvznoe0u|v3&_5?RxdXhki$oQWaarZFO3`U=LmtC zJ%bi86s)V}WIZ1^G2NGHrvtdd4{@y|pgzJ3!0dD>1{$K%IS2O2Oz0FwxoV>`qOD-@pH0KzD`Axe(~Ic&*38*B^K z%y=(r_k+^FZfoSXUlFE@s&513A2j&LG-Yr+#pzOS$CR6u~I%x9s=_9?wo#7CEDo6`~I2 z-=A6u=`8s2UF=_jxlpN2*g1nd-m1lth2)1NLOv{x`oJNw3p3=>0Lo$FMGF=89E%>| z!S_75k=A1=9(V|shya!{Gt-x)=N7+2TWMfKc)ebPAMAZKx%333N+gI+(Yzx(b$+0} zgKut4-l^57)@9DI{DTe1?w>o-!vdz#Z-CpfcKk!d*4blop9l-b1lqvb^VTND5*X|p zvEg1KB`s0kfC87#_W75E&d9^{@xm~fV!F@RUpx{^yHhSTjdMgiVoGYz!;a2ZSL$)uWNsic#H_po#1`xut;U z?^=i~GrGh=P4hbIs=ZafaWA9924b`3NhkOySA+BL=9e0~Q>8-$oc}n%A&fe~PGr$n zb@9UpBZX`=Z=sUa@MjK_ph|djw}40A`jJm&ba*J6v;Z7O?i~r}Ax9T zY(1?k3>XASrM8an-oHQj&-6=Cp-};9{VD`64M21G?Ei1bXD;}Kmj<{$%QskBWEArF zLsQmq2ldyh1Sn-=|G3QOG^11TufV@p4g22pNr}~on}0+YViHOWYC6CJ zWFsL0<^vi9R>#?j-`fk!IBor$9CRBv>=*{4B(kf zKQ=FEpUE7-AXj^FlJ>N@)H23`fwy8ae$_w45o6NIi^jmkMLt=V6Wq;O(Jc5arPN@^o*4=n7 z>R(ed7ajy*^*L#a$B8J3g`3|{g{hTo60zM0ECXnn88mBd8tQ-RPfLufZ*!hYIQ@jV zDCq^N6#D=BtzC?H^Q-Q-a%0ED&SD4VGXSEGtQKO9W&{jS009pg$s+nNbcKzlm=g`D z6%&FE;quT&L6R<|`H}S*ny{WTDupkytv?r!{%CQWSZmtxa^M_WC(NcT=DWPvMl_nK+l4( zc{%O-w(hHWcr@uiLN?p&_=J++z_)b+6KrV8f3AK6JI&4H#p|`A+{yE9N0M#2HXF@9 zgB7aYuGKGyCnXRK!L8%n&CaLM@{RC*80 zQ7Pa;UbrWeD_!v8%#v3+{^;yo$cmky^|yXc5LV5dWyhV*)X2b8H)`&anDa{4;o>bj zy5V6S2C)>xx)iW>wop#s!{cahRX@a_(2m&pgG{ZVU6v+yH;&w1yEeRNl_(}k4ujt3 zSm-&vk7GlhgDbQkR4{C`wAkkCFvOMN4f|ttnJwCKg|+Xc3`wj9Q!!?lPT^FdFClcm zi13!0)-Pw7c!|m1=>03SZfRrvR80dc6xi8E@*lNVu#s&NSEe0Hwk;?|uT-7Y$>1Ro zx8K7&C$AQ4C^AH9{I1Q@QeERtAS3ZhzVc;TqVQbItiM3ltXJ1%XtCsWn`573Z$n=Y zs)>C9$MZ96AySc_#HqQ!ueb({+Kr_J)A&f?j?s%c=mpnjRzQVn?CcC91-LD?9v?T3 zU-!(}!fvyA@$j-|AAG$+$Hg}|OsUTn$;&Bzk57%B(0h@OXjOf`jXrI18+9^NiUL$z zR~a7D7uwqiaznca%-YP`u5M6T0ON{@qd0JuqIvc3csbEwWpusHW6|7M^E3|35*KnF zU=oEfixT@bLsLj)G&_Mcpxqh_Bv4Fy2XLF_;o8Jrea2ld&lvYu6s>a-R;O-UPLSUx zkQkak>Hyp$6X-U|yls>WV>Hht;}I%RVmIlDy)=03(WNRI8FSUkMS4*zR90Xvbuhj^ z7pN*uNms-l50Ca*)GVdyhoFAL47m~Z4juzP1%H(kzzYMAp#H<*$qbsTQ=VvR6`0h% z%YsSF(XvIJ8V;-y!(NDQCK&55If*EUGoLaY;UHE;ct~LfXOG)Elhc^n9vihc6b&ag zsnD(f#zB66_#Fjz(>-s22GDs2GbH?{Cyc!WY$uaEzI)6$dy>xFsWvXL;OqTsKW)IX{KRVcDR=IjYp<(bKmlV0JFJQX9!9zd#1r! z2~NxGfG7#35LArt0xJhmdpGrYnaO=)HfZEKiJcP4B=Q_8I=8K2;SM~fJ?t1g2#Q)~ z@Va{ysn0Xaz?(zX6w&R^QqnAC1}H3z%hR!`#xBdj;1{2a3xF7Ju*Iy$?Frn*0u&=8KnvxHF_UBFGb`#gx8oAvNR7C zkXZq|L$JS5NN)>Zy=)oQxE*!y=I>qlI2? zN`x%iI8bY%Mcs+c2{05WPY!TEK2TN^1E2!3oWo+Z`+h}IkxK&Up1F=jLt!=WO0%S| z<9k{J$lYNd)LM7lV{m96dZTjcE5)J=y)1+#MlV@~u7~@m{|m=?MI1zfn6y|VHRXx+ zRxnciruN4oFUyle6J83EsHWaP24V^STEnWvULo0|gE>L>WqY4o2=yi(Qy_F8^ijXDI zHWAA4Q@+tDzTnZA;i>+4Lt4f<2=hyTpEvkP_s7A9fX8-!mNx6v(EcAFfh+q%?1yKqt^HYPb+5ddd^nj0--jUqrIX z@u|<5$YYUu=p4WEhGd2=xfxWab}t5Ki|A0}JsKzv->N-6Xf~rdu6zlJM{XVyTwp77 z*CHZRf!7g<48$x&xxvGj2%<5cOq#7z_6_CNgX~MP9ci6EQ&IH|A_m zJWv=|G_wkPr(L`w&nHEmH_PPXahu=YPt5Yd?FB#9brWsbo3pvjJ}`nq+i7ae#W#G* zls=m^>juHGr>OU23DH*Qh!Tcz+596*pG-{OyoBODZ{?O(WqfK$nm!_!#ZVU8mnz{> z!jOzZpqJ)NV32?5l+UqMA=_H-h${0A{fAup&P=JHOsk?%T>j2#Hi4#%?UA=O)`(BJ zR%b{5)+=>6rP}=lkV6ksfpiY@o+bzE=ygGK;u&X8#3eRNeMY@+2t2_8cSXNvFPFEX z0%37K90D-MU}o?gv!0foL|au{f!wi3PN@(uL^hl5X9OkUw|%v6CkMPcS1U508{Dz- zw&0J)LW{_*@Y&v5+h=4^*6> z?PZiyw?dG)sybmaz zzB!F&R=Y+Lig*=n_R`6X=VjBmU2ksXD7om`Rjq9Bp8ku7xhBr8WC6IFi6D&>1e%xK zynKXZb8=mvbe=_OoSH4PwS*5j2$@qO3-wl5%J*kfd^m|kN$BMJ`!=)fI!&mNG z?J+5`SWQFqk^;8xVpLbQ3;sDZ$wB!#!iTjfQ5T#~EPUB4X-N+|sCQXaOB!4@(Qhcc z3-`kVUN8EqCPU=SOhYO-x6+_@q=Gj;Ib#>YA3pDbJZD`sLtTXf39W8s2= zxM6B>Rm>DDlEHI0TDO#`&ATKi9;-GPN>%+paAYFw_o9)Y_^uj7G+-ci-~h7V;DR+n z(1f-I;L-KcLecKeh06rRsP6}w+YbJ~AN#`NVRlS8SIl0{ope3!B8c9dC4}aT^VQ0%? zZ%#TeQZQIPCx`?cnFGeUscleBFKK--w2K>Zdve+fwz3lqpuMTQfv@ZM@hG+LyB>Nr z^4T4JyfFqjOk*JC_e_tUq2UlwQ(CqbwO1L~H58o!{#I=IoLB)$sx8ofOOwjkx}?lu z<0X@=OL-S!u;teU7AB&i^p1dE`ItO|b&RjSS556Q1xZ*|LaPlaZ9QqCA_#w|9`>k@ z9%_Tgkv?Zp&4V_dyh=O#ivC)t;V`kPr_I5!fH<$fZ1U*3y#&$<9pS}2z6SHO1%!{| zMgfhl!OJq=7!Gm??c2QAnKx*Y<1i%7+D7cQSU0*BjK~RQb;7{D*51~5 zzw&tbX>%GLF$XnkC<|kW5GzE4?PUQUS;qm;?+#IgNP@YGTJYgUD_Qd}^Uhm(Mk#r$ zqJ^g>Yi2@su$fuY-k>U_Va~F61*O?{j#X?-6nikLfsWTR<3YtgKsxt`xqKHS)_3#Q zL=sO%U7{#4F)ASW4rBZzNgAJfBNW2LND}R^go}-o z6NmFxKiIpd;v_nuOEpP%hRbAAAMuS+x8Hozz()U{XoS3gd?B=#4iI?u(&X!)TlBjN zJX;tRT6Zni>i)EcP^@6(Wa%6iCJVE7SV$?F=db6bo;SvO=h$tS@7Fjc?oYkk_`b#P zsXT4r4I%3=O-&|N<^b0ya1|3`;X*cq7BYh8+R)k^q(DFiNSq*XM86#BZ{-u+tTA4l z>V3#*Sa79>laA0_LGs^Q4Qf1h=VYX0s2{mX98rlv+#WA}u^Z*?^WCYYn9@d{IXFCO z&pLXHbR zm-TCTsTgyoZw-3+heq6a&eSN45}C$AB&q=kqUq|n!)WAGR-RGOg-Um7nwx_!x8ZMn z%!)v;;iaJv{fCUvS@YCWYg2=1RcHQj0EiMl53-SY>yzNsFY&u?lg0`A}lOtxpjXQU} z2^ZQnqi{Z$WjEQq&qQ4{^VhZ^j(wR~pkRcqfZV$()6(c8a_FJv`WS&=_|n|i2QQh% z(wN|`|LDzA0RWV3;Fho{^2)Ch&r=I8DU?1fN3T@A4P%j#GJD(ldXTSfTq^oOo)A8y zy9xV0_7MU;+nXLWic42QgI8y7VzjcK*x=?E@J;0p;VT*8-~z+tMZ%3vB%#t8u4|-y z0c7)L-u-2Zb}!E)1OZG|P@*jlem2E`SF(fQ&Rv(UYdyW{<~IoVXB0@j5~&G4+IS3TF)z+c3*xE}Il*hBe>r;#8oHdGF-Jt)kZ zb=oicPV`;YZSMl^)7W6?Q!;Wbhv6_Gg43O*Vs$R8`!BSZw9q zx5+h}N63;!nbXgF>OxNAK^ApAb_ux1y?T(pZ(qBM9wTa z3uGf`#a~}s5{c0K=D962SI75v6`swU$#}}H{#XQ+P=#1;;=l`(_;x~KCF@+r_vS5w zBvh%B1#H;AcBG^6_0e)%%{7%NR*G<;1yfF8_u-D9MB*fo++`}-PWUUgOT<=JF(+XM zfU@Nll?;3O5VJF;z8L`E8w_rG>)Nf&wem}qX4ozQRZwT!IUAsUfZwY{;(U5Uf{B`$}8T4?y3+!h7&%(Z|PCFcnnjDcMbSjhK zeF;ar4R^764YRZN7M=f?CyW1*-g-~Ki(}^HakdP7i@)k4iV~HFqT4? zrP8Q`0Szw1V4!b%yn+a3UtpUMaPvMF$!8Ir|l#M|gCOBL?K_WZ-1HmXAUXOG(nZy!OWgbjTfI%8n&=!%y#pE#3 zDZFOZV`QP5!S>idwVZ#A*@g8eX8cA8C-V@`cfB90YQf2`5&7DfgO_QcFil&()$74( z^Iz=CPm+Z^ZIAyZk0lLbE4pV8Bhb2xKdwX65K-BBN`f)1N$fXOVF|{TbmY2}E@sDa zA!gHCnZY}M&9Xm6h%v0BiK;J|z0u>ZvC~pqv(}0(YTgz+34`NqkmGsm#mH z{IgzcYTlmZAVk?(BS2R=+ihY2%H(n(FHP%p*1aCK+q`R#f_k^orqPv9feD^^rUWvU* zy%>iL``{){*1mVREiRGZm3w)w5%#~|o2lwDE4j9N+0-OMd0s|*D^m}23h50*bW^YW zGSPt~)JeNo?qO=k1rw475i{`3>pdD1rMQj5)~5Pgny`=VMMZ9k|3Xy3eu3>Uyy(DC zE%#WFS(V@(rha1bo2#xO!^xG)>Wf+Gszzo zLKZ0JOh;PrF5i~2j}~l+NN*vm^TiOlwLK_&dS9X-_TtL4yRKEIr_wH9vVd{wK8qVx zb|H>38979r=E}XipZk2M`-dFk#V)Z8ve<49cYyis1p1o2nqZ-Awtnm8s=M~H#~Q)n zcuS(|`IA9u7==hjzB6zjsSCPkp1QnX2HX%VSKi<28JW^=1TTfyTn=AYs##m|pHVM} zgnUSj^8JWtlVo@iW#yjBO69&M*RzZM!SM7o#vLYEbTMx?B5)r?(qCqh6q>FpTZ}V8 zD_9O;=}z3~Y1i<44LYUv#6coEcngu~167tTkuKep-XHQ{#5!{;y!uRbQ8++)!N-eD z4{K}9s@xs@JGPn@Zug`hcW3KMf;q{P=wPDHY@ioC(c(cGb`uy^=!l5br|n zC2a@qT(AtUSD|RAC|JEzYUO;;8ZbPG#hNl|pdwETJUz^1UD9&}K}FsH^4K85S!A(6kYG$AO3)!=Qd?J(TMk{Y8{21I zR@nZFJ!RVG4(y%b?TxiRS5s9Oh)f`wPDsDr_CIxL`J%W&!TzR;+dE<}l=f;e68Pfa zK9<@&e|bx1WWr2HL9f#GYnr3S6#DEr+Cmc^c{3^12mb~cT?gnuY_YlwNmI^CerLPs1fYP0gIKU0iUtaDk6G#zl^i$i^dZ5N*DV4uitKYM!cv7{;cv!gmJ-u&F9 zio|A&A+=rwnvZ7zrJCC2A<6l=uMM)N(o|=o7zq(BWYy#cg`1RjRywU>W1=^m2Rkql z)C2mVW86E~g9!^9o}xUv;8HxW=9|5|W8UEJK5>CI z2D3b0e}@;r9wHW(AWdiV25ixxRZU+{*IU?=tuKP?XKccCm|auVG$?1@x?;*%k>~++ zqk{E(j*vL|8dMXv5jRu1RI4Xw>sTgBmgMdveU^QMt1nF{?uGudGIypkxWk?4p+;;l z#&6Af<)m^MO}5p72lCNU@62^hN+T{WHz)Yd6`7V%6QPy>!9FVMHTd^d z*xXGX{{2w$XP>|^4|0H$99Po+HRbXG?Wwhl)yG%VfSyYL%M#G$OZ*7W0oV_IKmo zO$6rS0DChF+6Ia- z&%WOoVSW_!yF4jIR-A}of8+&-(N5@z-O)a0cE>vA(yA8vPQ#ovH_E4k&`gjS*oXgkjp4B3zb$M z7M-BZFoiGJI`)NqHwd>-x#rTN$6Z48H}N6|208`1PW2jdZW0UsAsRXkqA7w#ue1dt zIMb$nSFeLx6MS0i_rC&KyKQDnMQgNK5Ffw;?FGP%nVX19n{;E8Um&4A7p+=!56M&f zrs$;%ZIlEI9;R9%kP(mj;YsdXH@ke3>^Bm~iBqD{)t7Uo zg!wZrn>b9wCVZwq`@U zodh^7Xr5!yEz~#8ATx-#n2qc}YLPQ6ztKY`=?sBAa1^k*qe`18BxnA0=&tW31PiAU z<-mY%;@x|!i<14ib94GxO?tK}5f-=!KK-#xmMH---*x);C>yxN?zrxlr4y{{;jrH!ufvo7`yLKc19 zSD$v}pS5Jq`^J)urUZ(`*kss2V zrtQqa+-^ud{WgoqoAX}ahM#jiz1*V#_U5SUMewG*fC2lfE=?nz<{HTHHIsgHb%m5FISgW8ArFia#8G)*fyYQJ0!2Sx&;NX%3gvr8k z?hW#475YoTnfMprwf+})RD9qltTa`mO~BDrKPq1t<)2%qnNp{qD4AatALQYoa_qmd zs9&=i@tm@=-~WDY-%a=*uUYmN9>?Qaxz6?U|7YsKRmDm3jq?@(gP5015HWaGNzt!q z-JducbaAHwUr+eIiYiN}3w^Sz#SKusjeb?b6#nvNyc9tZWfzUDx5(?hzuuuJaPZGU|eiJXGMOhs)!Un z0}f0uJmvq@Mh?8Yi&rb?|0|B-y4QJF#G6&7?|-;gFh|4!;!`8ClkI`($2e%(55x_V z_t!%R$P?2&*k?gh*L4At-Esj2!F*wi0M+icJruR;G{!SYiQ#~?)8_=&jlnomM>@S@ zcmgfAp_PU}rvNRt;6a)okPOOFzUd8jcx(B2QzWc|?dM3ds4`oX;%cE(&yml)HQ+pdfu4W0Qq*I1RtmNXa>X!U6pu~!jOR^@A}wZ%g1Cd-;mf+f zE+UgEo>Et;rV78Wa_#_`9c*xF6At;T>Ge^xyYR;*-!7X_rXGre%K_&FhI25gq+J!7q;7-kjI|FBav1 z)FH7aFDTj1XwdpbCNZjWg{aZG9un<0Zb}}lCjSQ*+PSlz^h90DlMy^)xkOSlK(wJ% zt}-V(`T4m|=fy^SnQ^j*Zw6oz;9j@?ZCIaR8DtC!)c^XTfeH`Ep3R}uI#+eYRAfxe z8K&Lyrj0YaXt-$849jYnpCB2*7>)yJ(5zrnQ4Y=7mK zShHy|X8{p3?#u4Jqgpu3;$cb8aZU2BBnv;xi0vim?g$&FI9}}Pkr#*V#sjeL-P#-~ zV1KW{(S$@nZLEouo1~=O=~x7VV(O*6acSI#0EJ%2b7u-MqbZsMTCufpIfqJypNmC% z*D(kjM{u@Dk)(?@tX}D9y3LdTSXfbCJI&F*!-{>xB_%z~35XV?17<=y{CkHB25X;@ zD#d`AX;I%ch#TFtbbf!qV~6<-MG~azY*g?V%2ibGFO5NRGgGb+&sZo30hh~4x-s+@ zs~hYCYV)N@W!YYjbFuRr#$wDLmqm=JACcU^VrgwMaszKY{zQlBjA+2%B2pVNTF8y0 z5`7w1?fO_y+@X5lR|J#WP0q6JQ{aHJWWW@ht__t}2%t9(8(wqkI4r z?CwA{Yi^E869_!_f~1ZmwBbHGGu{l{UDQu{0!eA<%wu;@kyzHz3*gq#V?RWK2_bI^ zu6S)#_@pcP0bt;;#trf;fe`_ocGSR?EZBB=<>At1a@Qa+OT{qts+Nm*2c4M4z>mLS z`XPj!t7%(rm3E=Kt)BRKOOuV@uQpGF7d1}>ONJi*j%j1o-pSq}{i{uacjv|1K@4s~ z9zMTNNT?eOMks(yfkTCnJyopNClwtRT8r(NDI}Y{W^iQo=RMOs<@*Ff741mus^Nop z1-AFSQMi8$W}b`5yA%9}e54l7{0U$Rgox0n6g$0X?WO{(k`C+S^c)i|IAQi8pM6K! zcrFS&N+7joVhc#6B_q&k&l65V`v}(*wRVc`_Cm$Q#Xq;BurG)T>NI2tF(A(X(RMOz zlr>BMP)6k?&znK$xBv7jLw^(jfe4u2DeKniKy6Mbmk{!H7YA0KrujLsm8FIdX|~C$ z!!`ph9?;TS0hHnOF>DLWsltQ4k2rqsRfE5v&%5??@yXc`ZfFM9(iO8lV)QZZeG8_z zl|!9FvMjApcslbGdN=HPP|4!&{etur4DgZXB(R~I;C7ys$l-;qL7~*AH&ms^D(g=I zOK=!bRnPXtxKz4~Z}3atBdhJD9}nDMm9d=q3Q_8T3^&M^Q3G`U9yv;rJg+FV^o_S?H*28^+Eoo9c51p4}vK!j#I1Ob;ZfcM;}t%T!)uV|H3OZYXZX< zt6yJonaOV?Uug^SV~e60ukly1r9OuSd<&QAwlhB}(YPQK;W<{QIdDTcMv|d%;__qL-1~(ZI`)N>GZ9Bj zBsGA!Tl#3j1&M2p1RMQ-2fvm5;XM6w;s6Ks1*rg;yxXaMkHF3BN~kTF zHo@~vKs;b?=)TADaOs=Y_<0y!&-4uP>(wdqPDwl?Yj7=nI!0fDLhR!#MXs-Q2@S`Ts#907hrgwYbel-j-6RU!IG|^$=%KVFW z{P{E|1$VT!TWA9fSYwP$s{`*2rPq8M|Ic`hAQ|G-6>rz8^^0ofWYND#jr%dOfl9u1 zPat*j)o~L@qrh7Umk!cAy@?0WZdvYy$$f1mNiDDRSn^CU1rh6)^!@bS7vlf+O0Vtr zW>8Z6owmMnk+RR){*;OE`>QT=(5H%7u-mNze3_7OCQB7CGqERzrDt7GdO)jz*Xp{j zW2_|Rysfred;29>5Y)On(D7yas)1T2LMJ5?ErlQwhC>m=2qOfGoBU1loAov8%S~Xh zocHQbu@3jx|Yl_L1B?`Ff6Lw}SoR zE#NkHm=~B`y&5G>%A$JqIVm_Rc4``2?B<#Igw9plVjFA>`|8R>dOXwlQs(XcIR0?>CMt}Wbu(2m`kG4)OH%ht3?*cIw%7^8HYDw@0=RWP3MN;uiyZ9QlB<})C zHk?1HrjCKQ{!HDqE5CuO+a38+n7YrJo`c>i=K^60^?j<0U&qM;mR7g7Hsz5fZpu+n z#}iHGU;Vl;58WdnJN^r8l|s(v-6`+n`BQwW$#@wL2r7OkMRQ-Ujbuas_h#j1K9Mbn z3P8>ORdVZQ|J0f2kkZ9~(H7t&Q>J^gAQK@TRr0Wb)70h+xDnowGo&&VShD}%^9`jb z&c;qK&U0oBLk`Yr6r_sASIO&@J=h9~U*2rhJ*y5(3c&Tv8p6@X&~|wgXSb|=-(~L2 z))K6rX3szY!aS_K%{Y0@&hu+f<}4fVgogM<&#A4N}0l=HZZEMg|e3mL5o#N1I28GR(fQW^M?5LV>bd>Y(&@w!=m##iZ#kP9N>DC9s z5RcEhWzyKgSSj&)2B$avTPpW51r@hsAgj3-nE@HPMkuhug%4DM$eqvR43%IS<^c!4 z8vKIJJuS7jev9+Xt!%^a4_Xsd?}qaABEQ7TtJq;QscA4HMrS#J$Lgr397^p&FN_=t zu>1JfCjhz&RRIcXzm$}fQ9sV(>WXN?}oE;Sp%EDeLv$~^{R1U zF{UZ99e`$w@4<4kU<3+#){pfCj)9&QI%3XEoojb#5k9{3c%P-mvQZU`sWmM55H>PN z`Lb}KfRyv^kC-06b1U4?DSIamVYdj3P)oSqm<~akNHr4+x`0%fsQ}FVXX?IH_xQd@+_1JDVxH9U zNa^7bS#?-yUFzmjzPZedMmu?;(`*)8S63GZWRm)L!Wdalo7BZ?>cvRVh@S5Pr*EXl z@+L@w)cizyoHn4 z!A1zR^#h`tPuCr}{xQ>2DcCv^=v+a|R|m_p2o+84)C_V5Yg~%zE;Ae45l3L@D84Fn;J1b%|73z%pjKch;ZldO)2v2;5uu~nUt(03fRTN04nh3eqeX7>6s&ifEJ~RxFdskW zcOL}nO`*e!=tl9vIr#zqR`rxw!7w63sgj_xz87tf&BkP&vU3d17GdDj0?bAnKo!oP zK6k*PE&uz)}#yX47GeI|xa59owUMj2ywB$pr{J>N=B&1(4-!zSq2(}l7H_|AsrThd?6_|ZxmxJ{#ihW+^# zqTRF&-W1KD*bY{-#)t~pEOlT13Uco7SI-0o&%bkMdhd&tX-On0KeC8Xe7O;{f!9(& z4Jl0SOO-@O;>**gF!l*AVgav8AkW(kmqP~Z)E$8+Zd_uE&nUwon^105nQH@{l0orh zK-gPT)q68YJ|cR&1IC=-aR%3KLz-T38X=}{Oi?-5!PJ%gUfYwX(`9^X<2+L)Ys(^Xt6>Ta?IytODn0P?Jhy8^_2V@UkBADE}N=UdYX z#!z7!?7Uz|HD{RZ3p-V4uN~XbYl^5`F|GE0s>j058r@Y840P6suKh}Qp7@}CL8EVD zfB5`KoOUZQIa+j0kf@Jz^+h!a45o3~^NyYtJf`mglX?If%TAL?HtVs$eQ`w?^y6B> zyiv}N`501TsIuaniBHi*ynewKw>^MKbbE3_x_dgiARBO$IDYn2PAfWx%xA&T(Ow;} z%X4x-T!c!vkc7f|9nAvm#GI6qH)-?9EinMELYS)ErB099DqL!IwEs2wm*lv~&mkBY zZmuj$Yo=K!p#|3-2_D#p_jB@M>CUkq?S}DD)c=EHe3M-Ta9AG)rwiCi*ihr{cUVpA8h&73K-qz_w|874;oFINGF$C>aMZXr%$cSY8<`&8z{@jaYno3$Tqg zQ>L%=5QYX;H!bOCc=z*p)GXdJ6JSYY2ex%c$!c%b+~2=HY*J}0{LKI}%d-_gyTfyS zl+&Ue4Zm2zaA)X1Y{k@ub|(k!fi087;g&EsXX1k-ZBE*7dSQ6d!i5&OteK9u8jLGf z5)6)zb|`8+b|$G1D32=3^TMUG4|fh|+a0Vf*eF+A!* z#gdDPks<^|o3&?ZXg`(XzE&R?1`kWa{&cbY0qRCz8Ip;VMh{!YrZpfyJkx^GoFWy0V_7{;toGNZ1lHF+dD^hR5Tv(BkT!yc~)A(p&HX! z>*{p7I$vo$@51Q^gxj5$>seAqZB(M)yz-xB;;|yqkirrzlUao>Z}pgM96FQ9!HZp1 zy$;V!kb2vb7K;|hK!^johB0v3GPdjAC>HX_mdGO|55_c)ziW0cYdeQ!D~=yhEbVA6 zg>DZX#eWl$=?tSI`B@fLKX8jK?XRdshM@SL*H=nVEw8iz80c4HIxz#O&U-U7Mm{A5 zTmV1eR#ZZ8)lVEX#b?l7_m$duW>(w&He^R@=ilK|-S(Yf4ve<;YIAqvmj}ZjrEF`m z46Cc#c2xj5UC!If*C9!RX;5VayxnyxMSSrfvvZp^>3#EJ!RY8)H1=OZ)QD@h4uK5e z9VO;j=->Xi@}cqLs7#bQYwYFp-c&1q#!v%?AxMKFUBKffdOg1Rq*JLFtMW&cOVerfxbW zLPPNEkcG&3#bDke^z9A|s_+^jaD(zyCVf!6Zk8HRhH7+_a{(1Bw-{+$(Sdr{tfXqk z$)uwWaVjH4gL0%&QOeEDn(SawIFev_i?-JeN97+M1BOJkPanFyl8g)tS|G)XlkKve zJUK07vbl>p)d7oRbB5iH_FpSsLBZI@F&Z+yHHhQaqVfNaIYjplm3h)s8{N%T+5ND& zyzkQut7s6y)mFY@Q2RPa3)rZ#fFajBnhvWN2o-5<`{3GTw}M>Sj_HO)~22cp?b zi+f;fiP8+_^jpZ7tp9}zQ+0N=5mu#)@I44wuo(GFIkoq2cPkTe6S+p>%Mt?FH9by{uRDuVNv25Iloky{ffCkLwM+Q~#8TWLOBT^fu5lJ02WTKQ-b@g{mf-wVE za}-x{t=E4C%gq3uNmw1fwwC~O0dtY1FvIsN(s+wMtN6IyE*#yOLL|s!L@n)&Od1+C z&qi;Sl*YYCn76IF24ml%Jh1UVY#%tvcCt{DVC+2hYD5#-V}K;J8}4E;K_f){#bUFU z0c5VKSwltunc5?n*i(?DN+~l&?B@=fbpImS7*=TadIdApb+h;|B@klH>F`BYju}qX z8dcPX-5IMl((~nO7urYN$m@7tw|hvrmWdaKZgwV}3PfCxiUWWL zdj?*{++35gB>tyD$SAdz#6l>)fLEtlHl{bnbaL!BFMMBjc}_NA@G*36XY_50d0j+v zV<NtGZtKygAWKuvEp2NKt{t3n%zNQCSl&7a|fVE=ab{o%Z#;ZD&AR>Fd$^<5b z&Y|wtz~ehKY*&mAS}Co|OP-yNOzSdYGL=3u#;X?|`xOA(Kmp@gOl~*+1$(5GElH?-Jh#frwJ`?8r#-vf)^iTKgO+>o$qbNKKT4 zo;+TLScLp#1WpP=_%GhOzuPE7JV1R_Lom*L_P+*Wg+@2BeTx!H2A<(ZKj~*>c?9o8QTi#0tk2=`JF`Z%iq`jAd4(_aK;`WZ^j)1B8*#Ra7 zV=IwUHVbZKBzD(>|A5ks1?L&B_+mLiZnj1s1My-Rm&QYV8=g{2Jbonx@z5ykQgyS! z%QCm3o}xz@Q?g;n({IM{sjE7$3zI&C+KOTfMH@-iamKzMwnOa#=S2II)B8)&N!!#U z>NBCJVg*t@abu)Z4i09CP?FB|#A=-sRN9g(2irdZSsCKyTxkctrO z$)5_kun}5s=&bIvhMKIUJoQ-P5u`&wJTjDG=%G>dAJ8x-9lPUha%4_cjfH-rlDA2n z^i`F@wi&GyU1F8Bm`In-NVS zOeneY=KIr|bCA*)ul`?*H9g z^^%Ci7~+@J+>nL2NcqPNHbY%Vyt+3jfUoi-|a%z++u>Y@lMmFTvMQ47}S+P+q#T{~LHQTrNEC6gg1yS?H;lKVcj7 zN8ou+nmEg}{pQ5(is!eEb{dJQejfKGGp~5WXtI|3H3I&7aR_7!+v5I0X=|egY?ReD zi;JQzB-!bUFV^8AfB3{_zj||-t~o5-$OqZ1)-2d&xi?Z?`Uu%0RjW`E>4RhEPexHHx;<> z57P@RvFAmiOMY-VR=LrIEawUm>Y(8>96dm5cdIqY1nuK6D%w-0h-MI-_!{FR*>?-xSJll0Bz;s!?KEhHnar6vMM0@0jQI_h| z%QdUXr}BZ43IsW4|11;{BkSa)x7yDaxXGuUDT-O9KKVy!_1HHS#5km_FRekRpngBa z664xRWFMV*a+BXg=a0z5xyf@Y2JtlB;7Q`Y<6pzo_MIYGwD+p&<)_*8X~9`nj^aF2 zrR$*Jh)ruqD7tfaH8+jm1I2kvRh3Kmq_#x~@*e>u@jZQSvJyM=3>;2~i>J!f;x>cg z({mb(6WYiwa5^^6T{W;DrdIKNTFTW!&;ec4GFl*5!8TnvaS-mw9SRc06(11N z39O2x2U$9kJg)ioKjuma1&*b%F*uG5ZM8b?BUv2`aJ(}lqKn7s{@%8sU(4(}&!rnz zsaS@#pQ^#u#gPlo%j3>sVP$f}Sc4=$hzJ09s7puFlnsvc>D}~uJz@xeO_g9zB+L-t z3IH5bo{UwKeNj#KvODb6oKCOuhWabC{9F})50qKgAQi4zW2K*!0<8-FPXM#2Y+A&p z-j){VG!+-^#>UNr?rGJ$i0vMUL>Zw{ zb}0-IM~3+b)Z-HYPJv!SK(LW6ZLFsqafk>Xwka$b7l^go6mt5*^rg9rvoZ{988mNG zqa{V#6h(*o69c7neeVN2=2SMw`#Q|d-wojL0W%;X>8PAh!&eDm7hQfSkbK`QI1mJ{ zY5?B8z}cJzk>vXR+5~0X$PMg0F;Lw)*kclMSe&>XV;TS_-5-jN0ybUA4sIM=9Da?K zTRyCLgSC3NM_O}B82=*Q_q28^$$XY3K+~nhbkpyW z_jyg6C5)mf6I54Og$N{+B6aSeouqKp-6~59Pv>mBZLFp&5c4-2PT10LOg-i0MT2)w znAojTY7ayv2iX z-;v*DhLeH54u>5*>LkLLuWXb_6a+gll&-tArCbX3CXd+V5Z`8(X5O&%HP;MFS-Q)d zyF(eFE9ehLmgo{#S8Q-;3-^<@-xS3oQT;}r7YNpK14OhXoG@rA`jj|P3j0^yPuLPX zJppaqpq(he11sGj2>$XQ2H@(+g_KVG=b~ybX_?$L)?b6k7UVtxOnmo8>4;aIQpGAe z3LeTac37?OhGyr^rClM&WHHke?g-dA5Pzr>GQP1qA0z;VC>opvE^2qajrPo|&%vDa zQxJ}1h7f(mYEkYIHTCC~C?GiJt@hQ(1m)mL(F8RH`gH+>OI^6Rpqt=Tylt*2?(AP^;`SLjgpHjfYRk*Q&x85{2x zcj=kNYW!oabQ(hSTDPRmMf;& zY6kD`64+$Vra2G2^pwdW^*+wrs8dn-%wnLHxjxg6##ZYh?l5|wdpj~1=`A$IXPJG0Z0gZF#Eg(qVGxVF4}P}$YuSxPj< zcn-dg-J!X;mpd*Rf9xql?71vCgJLtly#H#jkAy_qr*cn&JU* zTj;*;kOa>i30A=bKj|Y|aHUq}&)}3Ea(@MHLVvENSU*q|idWgSBNnakw$DAy3uk2_ zz0!Dt$6ftR9kZ>Ql2sz`x@pnN* z#$zyuQ|!v0A2~>#kC+KNuZ3xjinMClxA{Mys3VV8uWQm%`ZqWGEHIrrvHvh##2u|9 zJqSn$;nVuT9Q22t-^TUbfars3SNse4FaJdv>VuH{8^KiuT5t>Fh5v*jS@nwyVM2`@ zPun4mKFA_6BvE_!FCg}y1V|XEwXk6h-C8A0I6YgVPCj)q)v7kgKsI6lxb>yvc= z_}tW+)Bn^1O!alw=d5>j*~dtN{6z zpAC)Fk3vPt8SfOvTcE5?^-tf~+iSPR#z2d6zV>a3kGag_an#T(+A=IJ%A4@!@4zQ! zg{l&7Nx{7dn@a%}ahD`$k3OILSZGL#`qr8zA$4i%J)SiOqqMMnYzeNr)HW9FL0DH< z$#1&g!}`B51A)_}sZ8^TyHe#Mv`KB=+ZaDL&Q1kb^{l!pr*7XjDVK3}nu3yS3Gv&| zN`Z6gXGU8EVAz%=qFf!gRC<<{^0YVj%h~=H*=UJ`@WZ*A^qGf#;~w18Cd=i*O``H& z7lOt{mWCxj%{Y+=F6W-ro~lF!$8gb^bt&AN^^<<(=)u6qrx?Ii@2q-YdNp-9)pZNBT&)X%7lj@efMOzm_4OKKi(*b^pNy&<_ z7&IgOo1c4)1@nA<_RBgFZm2L9aR9nNt0eeYZ4edGdhFj|@DEMjSi{r`f04uERqhw- zAT2d(6v6B2nww0DKx+au5bOd2z7zZ5qKFoFL4Z8H45HD1?1$1&o zEb)*FhEWs_(HEDDz7!D=ZYdYaCSWPFHk$BzO8vMf+*9U3qG<67D6nEO#y-dk7`*4Y z6Ng5$SY|}AR}%ECsN2HZ=AsW8Q@xX&>(;hu<|s>OPh3tIG_fR+5XdIBmtPU>xZ*QwxA}*#RZ^G~OD?(NRfqm& zU#CF%${Mwo=C+FF7zL!9j5l#dH@}%U3Zvf_EZmsYwMD zEeS`@`6OnR#+N7U!8{0q()8#TH|NJDYya)a=T57x8d6Lwc?S|xQ{8L#J$wX=F!Tf? z5;)rkJIF@9aR2)wSf}S1=MMyo%e31jC@{HUJatTq@T=Bu#uSAJ((B^t?ZhZ8U1pH}r%Mc?FYl>P`3V^G^@pp#T9%@d0h&X)M%K7AVvXO#7N@(g zQRZ81Mi~EHa#$jbPU~Cq8CMqkXi`3{z-oJC*Q6!FOX`c`g`+9+etT5JMn0`MHv>1uNd|GMfVe~3z3K$NNmmQzT@H6Dq3qk-w8lzhotJr;biw(gx&k+W!Eb8iL+(5k38f0T-?nee3b&`w4% z$_#~u4&FyTzkbqgS6fp!)~vn*Ya9J731%FM6tQtvl--`n6B@lp@8Le^r8@QYSpY0= zXja;kO(?jJ@JP8sO5B2>PVI=kW~U=gu7Sd>3~Y94J^)dR+V)If3s#Pelh^R?=%PuE0!G`K5_@@E!O@~ zD5)5lP0+=7b_a`%UO1?%DceM=4Na6jvs3m?&gL)iLuRP7e{%J4YmG!;^FTbc@IC3y z0)>B21i^%|6 zPHbUDiEd2&^3M01(hMX!qwuZvDIM>5&wm643V`W&msCGYB2Ld~eAsR3)e=7bu^^y^ zl9g?%Ewtl04!Ude(7jFjH_WWPvMAj_;3*;psY~4rtSbLmlwaF$eD}8X*!Lm?mrAu! z+n-_%H@b;~jjd)Q2owh`L&ehWeeQfv6buxuRSD#aE<-{p_c^btB-aP>$Ap1w=XS@z z(>37@#l!Ze;y&>*d0fjl3kIo)G{EE>Oe_aKeC0P-TrR{X3C

3}9&$Axh(RkQUdz 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 diff --git a/PlatformCustomizer/Assets/unlit.shader b/PlatformCustomizer/Assets/unlit.shader deleted file mode 100644 index ad8fc0e..0000000 --- a/PlatformCustomizer/Assets/unlit.shader +++ /dev/null @@ -1,67 +0,0 @@ -// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld' - -Shader "BeatSaber/Unlit Glow" -{ - Properties - { - _Color ("Color", Color) = (1,1,1,1) - [MaterialToggle] _CustomColors("Custom Colors", Float) = 0 - _MainTex ("Texture", 2D) = "white" {} - _Glow ("Glow", Range (0, 1)) = 0 - [Toggle(_CUSTOMCOLORS_ON)] _CustomColors("Custom Colors", Float) = 0 - } - SubShader - { - Tags { "RenderType"="Opaque" } - LOD 100 - - Pass - { - CGPROGRAM - #pragma vertex vert - #pragma fragment frag - #pragma shader_feature _CUSTOMCOLORS_ON - - #include "UnityCG.cginc" - - struct appdata - { - float4 vertex : POSITION; - fixed4 color : COLOR; - float2 uv : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct v2f - { - float2 uv : TEXCOORD0; - float4 vertex : SV_POSITION; - half4 color : COLOR; - }; - - float4 _Color; - float _Glow; - - sampler2D _MainTex; - float4 _MainTex_ST; - - v2f vert (appdata v) - { - v2f o; - o.vertex = UnityObjectToClipPos(v.vertex); - o.uv = v.uv; - o.color = v.color; - return o; - } - - fixed4 frag (v2f i) : SV_Target - { - // sample the texture - fixed4 col = _Color * tex2D(_MainTex, TRANSFORM_TEX(i.uv, _MainTex)); - - return col * float4(1.0,1.0,1.0,_Glow) * i.color; - } - ENDCG - } - } -} diff --git a/PlatformCustomizer/CustomFeet/CustomFeetDir.cs b/PlatformCustomizer/CustomFeet/CustomFeetDir.cs new file mode 100644 index 0000000..bb7caad --- /dev/null +++ b/PlatformCustomizer/CustomFeet/CustomFeetDir.cs @@ -0,0 +1,27 @@ +using System.IO; +using IPA.Utilities; +using PlatformCustomizer.Miscellaneous; + +namespace PlatformCustomizer.CustomFeet +{ + public class CustomFeetDir + { + private const string CustomFeetDirName = "CustomFeet"; + public DirectoryInfo CustomFeetDirectory; + public DirectoryInfo CustomFeet; + + public CustomFeetDir() + { + var baseDir = new DirectoryInfo(UnityGame.InstallPath); + + CustomFeetDirectory = baseDir.GetDirectory(CustomFeetDirName); + + if (!CustomFeetDirectory.Exists) + { + CustomFeetDirectory = baseDir.CreateSubdirectory(CustomFeetDirName); + PathTools.RelativeExtension = null; + } + + } + } +} diff --git a/PlatformCustomizer/CustomFeet/RemoteLocation.cs b/PlatformCustomizer/CustomFeet/RemoteLocation.cs new file mode 100644 index 0000000..a6f9df2 --- /dev/null +++ b/PlatformCustomizer/CustomFeet/RemoteLocation.cs @@ -0,0 +1,65 @@ +using System; +using System.IO; +using System.Reflection; +using System.Threading; +using System.Threading.Tasks; +using SiraUtil.Web; +using UnityEngine; +using PlatformCustomizer.Miscellaneous; +using PlatformCustomizer.CustomFeet; + +namespace PlatformCustomizer.CustomFeet +{ + internal class RemoteLocation : ICustomListItem + { + public readonly string remoteLocation; + private readonly DirectoryInfo _customFeetDir; + private readonly string _fileName; + + private readonly IHttpService _webClient; + + private RemoteLocation(InitData initData, IHttpService webClient, CustomFeetDir feetDirs) + { + _webClient = webClient; + _customFeetDir = feetDirs.CustomFeetDirectory; + + remoteLocation = initData.RemoteLocation; + ListName = initData.Name; + _fileName = initData.Filename; + } + + public string ListName { get; } + + public async Task> Download(CancellationToken token) + { + try + { + var response = await _webClient.GetAsync(remoteLocation, null, token); + if (!response.Successful) + { + return default; + } + Plugin.Log.Critical("KSDJFOIjseoijiosejf"); + var filename = GetFileName(); + File.WriteAllBytes(_customFeetDir.GetFile(filename).FullName, await response.ReadAsByteArrayAsync()); + return new Tuple(true, "CustomFeet\\" + filename); + } + catch (Exception) + { + return default; + } + } + + private string GetFileName() + { + return _fileName; + } + + public struct InitData + { + public string RemoteLocation; + public string Name; + public string Filename; + } + } +} diff --git a/PlatformCustomizer/MenuItems/DisableItems.cs b/PlatformCustomizer/MenuItems/DisableItems.cs new file mode 100644 index 0000000..3d26804 --- /dev/null +++ b/PlatformCustomizer/MenuItems/DisableItems.cs @@ -0,0 +1,26 @@ +using Zenject; +using UnityEngine; +using PlatformCustomizer.Configuration; + +namespace PlatformCustomizer.MenuItems +{ + public class DisableItems : IInitializable + { + PluginConfig config = PluginConfig.Instance; + public GameObject feet = GameObject.Find("Feet"); + public GameObject jordans = GameObject.Find("shoes"); + + public void Initialize() + { + + /*if (config.EnableMod == true) + { + if (config.JordanMode == true) + { + feet.SetActive(false); + Plugin.instantiate.SetActive(true); + } + }*/ + } + } +} diff --git a/PlatformCustomizer/MenuItems/MenuFloorManager.cs b/PlatformCustomizer/MenuItems/MenuFloorManager.cs index a0e78b6..d1d8639 100644 --- a/PlatformCustomizer/MenuItems/MenuFloorManager.cs +++ b/PlatformCustomizer/MenuItems/MenuFloorManager.cs @@ -1,11 +1,10 @@ using System; -using System.Collections.Generic; using PlatformCustomizer.Configuration; using BeatSaberMarkupLanguage; using Zenject; using UnityEngine; using Object = UnityEngine.Object; -using System.IO; +using System.Collections; using PlatformCustomizer.Miscellaneous; namespace PlatformCustomizer.MenuItems @@ -18,8 +17,9 @@ internal class MenuFloorManager : IInitializable, IDisposable public Vector3 footScale; private bool _instantiatedPlatform; - private GameObject _menuPlatform; - private readonly PlatformGrabber _platformGrabber; + public GameObject _menuPlatform; + public GameObject _platform; + private PlatformGrabber _platformGrabber; private Vector3 position; private Vector3 scale; @@ -27,35 +27,47 @@ internal class MenuFloorManager : IInitializable, IDisposable public MenuFloorManager(PlatformGrabber platformGrabber) { _platformGrabber = platformGrabber; + } - + public void Initialize() { - //var loadedAssetBundle = AssetBundle.LoadFromMemory(Utilities.GetResource(Assembly.GetExecutingAssembly(), "PlatformCustomizer.Assets.menuplatform")); - //_menuPlatform = loadedAssetBundle.LoadAllAssets(); - //loadedAssetBundle.Unload(false); - if (_platformGrabber.completed) { - if (config.EnableMenuPlatform == true) - { - InstantiatePlatform(); - return; - } + InstantiatePlatform(); + Plugin.Log.Info("AHIFUIH"); return; } + + + _platformGrabber.CompletedEvent += InstantiatePlatform; + + } + private void InstantiatePlatform() { + _platformGrabber.CompletedEvent -= InstantiatePlatform; + Plugin.Log.Critical("Instantiating Platform"); - - _menuPlatform = new GameObject() + _menuPlatform = new GameObject { name = "MenuPlatform" }; + + _platform = Object.Instantiate(PlatformGrabber.TemplatePlatform, new Vector3(0f, 0.01f, 0f), Quaternion.Euler(new Vector3(0f, 0f)), _menuPlatform.transform); + + var menuPlatform = GameObject.Find("MenuPlatform"); + if (config.EnableMenuPlatform == true) + { + menuPlatform.SetActive(true); + } + else + { + menuPlatform.SetActive(false); + } - _menuPlatform = Object.Instantiate(PlatformGrabber.TemplatePlatform, new Vector3(0f, 0.1f, 0f), Quaternion.Euler(new Vector3(0f, 0f)), _menuPlatform.transform); _instantiatedPlatform = true; } @@ -68,3 +80,7 @@ public void Dispose() } } + +//var loadedAssetBundle = AssetBundle.LoadFromMemory(Utilities.GetResource(Assembly.GetExecutingAssembly(), "PlatformCustomizer.Assets.menuplatform")); +//_menuPlatform = loadedAssetBundle.LoadAllAssets(); +//loadedAssetBundle.Unload(false); diff --git a/PlatformCustomizer/Miscellaneous/CustomListItem.cs b/PlatformCustomizer/Miscellaneous/CustomListItem.cs new file mode 100644 index 0000000..0fff63c --- /dev/null +++ b/PlatformCustomizer/Miscellaneous/CustomListItem.cs @@ -0,0 +1,10 @@ +using UnityEngine; + +namespace PlatformCustomizer.Miscellaneous +{ + internal interface ICustomListItem + { + string ListName { get; } + } + +} diff --git a/PlatformCustomizer/Miscellaneous/PathTools.cs b/PlatformCustomizer/Miscellaneous/PathTools.cs new file mode 100644 index 0000000..9496a89 --- /dev/null +++ b/PlatformCustomizer/Miscellaneous/PathTools.cs @@ -0,0 +1,24 @@ +using System.IO; +using System.Reflection; + +namespace PlatformCustomizer.Miscellaneous +{ + public static class PathTools + { + public static string RelativeExtension; + public static DirectoryInfo GetDirectory(this DirectoryInfo dir, string dirName, bool create = false) + { + if (create) + { + return dir.CreateSubdirectory(dirName); + } + + return new DirectoryInfo(Path.Combine(dir.FullName, dirName)); + } + + public static FileInfo GetFile(this DirectoryInfo dir, string fileName) + { + return new FileInfo(Path.Combine(dir.FullName, fileName)); + } + } +} diff --git a/PlatformCustomizer/Miscellaneous/PlatformGrabber.cs b/PlatformCustomizer/Miscellaneous/PlatformGrabber.cs index eed7b4a..5a80b8a 100644 --- a/PlatformCustomizer/Miscellaneous/PlatformGrabber.cs +++ b/PlatformCustomizer/Miscellaneous/PlatformGrabber.cs @@ -9,8 +9,8 @@ namespace PlatformCustomizer.Miscellaneous // https://github.com/Exomanz/UITweaks/blob/sira3/UITweaks/Utilities/SettingsPanelObjectGrabber.cs public class PlatformGrabber : MonoBehaviour { - public bool completed; - public static GameObject? TemplatePlatform; + public bool completed = false; + public static GameObject TemplatePlatform; public Action? CompletedEvent; @@ -26,6 +26,7 @@ private IEnumerator GetPlatform() { if (completed) { + Plugin.Log.Critical("sdifhioSHJERIOFHJ"); yield break; } @@ -54,6 +55,7 @@ private IEnumerator GetPlatform() completed = true; CompletedEvent?.Invoke(); + Plugin.Log.Critical("sdifhioSHJERIOFHJ"); } } } diff --git a/PlatformCustomizer/Miscellaneous/ResourcesLoader.cs b/PlatformCustomizer/Miscellaneous/ResourcesLoader.cs deleted file mode 100644 index 4837df3..0000000 --- a/PlatformCustomizer/Miscellaneous/ResourcesLoader.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.IO; -using System.Reflection; - -namespace PlatformCustomizer.Miscellaneous -{ - public static class ResourcesLoader - { - public static Stream GetEmbeddedResourceStream(string resourceName) - { - return Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName); - } - - public static string[] GetEmbeddedResourceNames() - { - return Assembly.GetExecutingAssembly().GetManifestResourceNames(); - } - } -} diff --git a/PlatformCustomizer/PlatformCustomizer.csproj b/PlatformCustomizer/PlatformCustomizer.csproj index 3a8e4b6..db59f19 100644 --- a/PlatformCustomizer/PlatformCustomizer.csproj +++ b/PlatformCustomizer/PlatformCustomizer.csproj @@ -150,16 +150,21 @@ + + + + - + + @@ -169,8 +174,8 @@ .editorconfig - - + + diff --git a/PlatformCustomizer/manifest.json b/PlatformCustomizer/manifest.json index 9e1b86a..e9ab6de 100644 --- a/PlatformCustomizer/manifest.json +++ b/PlatformCustomizer/manifest.json @@ -1,18 +1,18 @@ { - "$schema": "https://raw.githubusercontent.com/bsmg/BSIPA-MetadataFileSchema/master/Schema.json", - "id": "PlatformCustomizer", - "name": "PlatformCustomizer", - "author": "Raz0rBeam", - "version": "0.0.2", - "description": "A mod to customize the player platform size, color, and allows you to move the UI to the platform", - "gameVersion": "1.24.1", + "$schema": "https://raw.githubusercontent.com/bsmg/BSIPA-MetadataFileSchema/master/Schema.json", + "id": "PlatformCustomizer", + "name": "PlatformCustomizer", + "author": "Raz0rBeam", + "version": "0.0.2", + "description": "A mod that allows you to customize the different aspects of the player's platform.", + "gameVersion": "1.24.1", "dependsOn": { "BSIPA": "^4.0.5", "SiraUtil": "^3.0.6", - "BeatSaberMarkupLanguage": "^1.6.6" + "BeatSaberMarkupLanguage": "^1.6.6" }, "conflictsWith": { - "CountersPlus": "^2.3.1" + "CountersPlus": "^2.3.1" }, - "features": [] + "features": [] } \ No newline at end of file