From 5396bc8ded7ef2b836395b86384230d233e88d36 Mon Sep 17 00:00:00 2001 From: Bitl Date: Sun, 16 Jun 2019 07:51:03 -0700 Subject: [PATCH] RC4 part 2 --- NovetusLauncher/NovetusCMD/NovetusCMD.csproj | 83 +++++ NovetusLauncher/NovetusCMD/Program.cs | 329 ++++++++++++++++++ .../NovetusCMD/Properties/AssemblyInfo.cs | 31 ++ .../NovetusCMD/Resources/NovetusIcon.ico | Bin 0 -> 133211 bytes NovetusLauncher/NovetusCMD/app.config | 6 + NovetusLauncher/NovetusCMD/packages.config | 4 + NovetusLauncher/NovetusLauncher.sln | 12 + .../NovetusLauncher/CharacterCustomization.cs | 1 + .../ClientScriptDocumentation.cs | 1 + .../NovetusLauncher/ClientinfoCreator.cs | 1 + NovetusLauncher/NovetusLauncher/ItemMaker.cs | 1 + NovetusLauncher/NovetusLauncher/LoaderForm.cs | 1 + .../NovetusLauncher/MainForm.Designer.cs | 15 +- NovetusLauncher/NovetusLauncher/MainForm.cs | 18 +- .../NovetusLauncher/NovetusLauncher.csproj | 18 +- NovetusLauncher/NovetusLauncher/Program.cs | 1 + .../Properties/AssemblyInfo.cs | 26 +- .../NovetusLauncher/QuickConfigure.cs | 1 + NovetusLauncher/NovetusLauncher/ServerInfo.cs | 1 + .../LauncherFuncs.cs | 26 +- .../NovetusShared/NovetusShared.csproj | 59 ++++ .../NovetusShared/Properties/AssemblyInfo.cs | 31 ++ .../obj/Release/NovetusShared.dll | Bin 0 -> 46592 bytes NovetusLauncher/NovetusShared/packages.config | 4 + NovetusLauncher/packages/repositories.config | 2 + 25 files changed, 602 insertions(+), 70 deletions(-) create mode 100644 NovetusLauncher/NovetusCMD/NovetusCMD.csproj create mode 100644 NovetusLauncher/NovetusCMD/Program.cs create mode 100644 NovetusLauncher/NovetusCMD/Properties/AssemblyInfo.cs create mode 100644 NovetusLauncher/NovetusCMD/Resources/NovetusIcon.ico create mode 100644 NovetusLauncher/NovetusCMD/app.config create mode 100644 NovetusLauncher/NovetusCMD/packages.config rename NovetusLauncher/{NovetusLauncher => NovetusShared}/LauncherFuncs.cs (98%) create mode 100644 NovetusLauncher/NovetusShared/NovetusShared.csproj create mode 100644 NovetusLauncher/NovetusShared/Properties/AssemblyInfo.cs create mode 100644 NovetusLauncher/NovetusShared/obj/Release/NovetusShared.dll create mode 100644 NovetusLauncher/NovetusShared/packages.config diff --git a/NovetusLauncher/NovetusCMD/NovetusCMD.csproj b/NovetusLauncher/NovetusCMD/NovetusCMD.csproj new file mode 100644 index 0000000..8432944 --- /dev/null +++ b/NovetusLauncher/NovetusCMD/NovetusCMD.csproj @@ -0,0 +1,83 @@ + + + + {BAC99C87-F6C1-4ED0-AA2E-05C6AE8979EA} + {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Release + AnyCPU + Exe + NovetusCMD + NovetusCMD + v4.0 + Properties + False + False + False + False + obj\$(Configuration)\ + 4 + Resources\NovetusIcon.ico + + + x86 + 4194304 + False + Auto + 4096 + + + bin\Debug\ + True + Full + False + True + DEBUG;TRACE;NOVETUS_APPS + obj\ + + + bin\Release\ + False + None + True + False + TRACE;NOVETUS_APPS + obj\ + + + + 4.0 + + + ..\packages\Mono.Nat.1.2.24.0\lib\net40\Mono.Nat.dll + + + + 3.5 + + + + 3.5 + + + + + + 3.5 + + + + + + + + + + + + + {759bfc2b-c130-4a2a-a01f-65abfee85b4c} + NovetusShared + + + + \ No newline at end of file diff --git a/NovetusLauncher/NovetusCMD/Program.cs b/NovetusLauncher/NovetusCMD/Program.cs new file mode 100644 index 0000000..69efd80 --- /dev/null +++ b/NovetusLauncher/NovetusCMD/Program.cs @@ -0,0 +1,329 @@ +/* + * Created by SharpDevelop. + * User: Bitl + * Date: 6/15/2019 + * Time: 5:10 PM + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using Mono.Nat; +using NovetusShared; +using System.Diagnostics; +using System.IO; +using System.ComponentModel; +using System.Reflection; + +namespace NovetusCMD +{ + class Program + { + public static void InitUPnP() + { + if (GlobalVars.UPnP == true) + { + try + { + UPnP.InitUPnP(DeviceFound,DeviceLost); + ConsolePrint("UPnP: Service initialized", 3); + } + catch (Exception ex) + { + ConsolePrint("UPnP: Unable to initialize UPnP. Reason - " + ex.Message, 2); + } + } + } + + public static void StartUPnP(INatDevice device, Protocol protocol, int port) + { + if (GlobalVars.UPnP == true) + { + try + { + UPnP.StartUPnP(device,protocol,port); + ConsolePrint("UPnP: Port " + port + " opened on '" + device.GetExternalIP() + "' (" + protocol.ToString() + ")", 3); + } + catch (Exception ex) + { + ConsolePrint("UPnP: Unable to open port mapping. Reason - " + ex.Message, 2); + } + } + } + + public static void StopUPnP(INatDevice device, Protocol protocol, int port) + { + if (GlobalVars.UPnP == true) + { + try + { + UPnP.StopUPnP(device,protocol,port); + ConsolePrint("UPnP: Port " + port + " closed on '" + device.GetExternalIP() + "' (" + protocol.ToString() + ")", 3); + } + catch (Exception ex) + { + ConsolePrint("UPnP: Unable to close port mapping. Reason - " + ex.Message, 2); + } + } + } + + private static void DeviceFound(object sender, DeviceEventArgs args) + { + try + { + INatDevice device = args.Device; + ConsolePrint("UPnP: Device '" + device.GetExternalIP() + "' registered.", 3); + StartUPnP(device, Protocol.Udp, GlobalVars.RobloxPort); + StartUPnP(device, Protocol.Tcp, GlobalVars.RobloxPort); + StartUPnP(device, Protocol.Udp, GlobalVars.WebServer_Port); + StartUPnP(device, Protocol.Tcp, GlobalVars.WebServer_Port); + } + catch (Exception ex) + { + ConsolePrint("UPnP: Unable to register device. Reason - " + ex.Message, 2); + } + } + + private static void DeviceLost(object sender, DeviceEventArgs args) + { + try + { + INatDevice device = args.Device; + ConsolePrint("UPnP: Device '" + device.GetExternalIP() + "' disconnected.", 3); + StopUPnP(device, Protocol.Udp, GlobalVars.RobloxPort); + StopUPnP(device, Protocol.Tcp, GlobalVars.RobloxPort); + StopUPnP(device, Protocol.Udp, GlobalVars.WebServer_Port); + StopUPnP(device, Protocol.Tcp, GlobalVars.WebServer_Port); + } + catch (Exception ex) + { + ConsolePrint("UPnP: Unable to disconnect device. Reason - " + ex.Message, 2); + } + } + + static void StartWebServer() + { + if (SecurityFuncs.IsElevated) + { + try + { + GlobalVars.WebServer = new SimpleHTTPServer(GlobalVars.DataPath, GlobalVars.WebServer_Port); + ConsolePrint("WebServer: Server is running on port: " + GlobalVars.WebServer.Port.ToString(), 3); + } + catch (Exception ex) + { + ConsolePrint("WebServer: Failed to launch WebServer. Some features may not function. (" + ex.Message + ")", 2); + } + } + else + { + ConsolePrint("WebServer: Failed to launch WebServer. Some features may not function. (Did not run as Administrator)", 2); + } + } + + static void StopWebServer() + { + if (SecurityFuncs.IsElevated) + { + try + { + ConsolePrint("WebServer: Server has stopped on port: " + GlobalVars.WebServer.Port.ToString(), 2); + GlobalVars.WebServer.Stop(); + } + catch (Exception ex) + { + ConsolePrint("WebServer: Failed to stop WebServer. Some features may not function. (" + ex.Message + ")", 2); + } + } + else + { + ConsolePrint("WebServer: Failed to stop WebServer. Some features may not function. (Did not run as Administrator)", 2); + } + } + + static void WriteConfigValues() + { + LauncherFuncs.WriteConfigValues(GlobalVars.ConfigDir + "\\config.ini"); + ConsolePrint("Config Saved.", 3); + } + + static void ProgramClose(object sender, EventArgs e) + { + WriteConfigValues(); + if (GlobalVars.IsWebServerOn == true) + { + StopWebServer(); + } + } + + static void ReadConfigValues() + { + LauncherFuncs.ReadConfigValues(GlobalVars.ConfigDir + "\\config.ini"); + + if (GlobalVars.UserID == 0) + { + LauncherFuncs.GeneratePlayerID(); + WriteConfigValues(); + } + + if (GlobalVars.PlayerLimit == 0) + { + //We need at least a limit of 12 players. + GlobalVars.PlayerLimit = 12; + } + + ConsolePrint("Config loaded.", 3); + ReadClientValues(GlobalVars.SelectedClient); + } + + static void ReadClientValues(string ClientName) + { + string clientpath = GlobalVars.ClientDir + @"\\" + ClientName + @"\\clientinfo.nov"; + + if (!File.Exists(clientpath)) + { + ConsolePrint("ERROR 1 - No clientinfo.nov detected with the client you chose. The client either cannot be loaded, or it is not available.", 2); + GlobalVars.SelectedClient = GlobalVars.DefaultClient; + } + + LauncherFuncs.ReadClientValues(clientpath); + ConsolePrint("Client '" + GlobalVars.SelectedClient + "' successfully loaded.", 3); + } + + public static void Main(string[] args) + { + if (args.Length == 0) + { + ConsolePrint("NovetusCMD will use values defined from the launcher. If you want to define values for NovetusCMD, change the settings on the launcher through the 'Host' tab.", 5); + } + + string[] lines = File.ReadAllLines(GlobalVars.ConfigDir + "\\info.txt"); //File is in System.IO + string version = lines[0]; + GlobalVars.DefaultClient = lines[1]; + GlobalVars.DefaultMap = lines[2]; + GlobalVars.SelectedClient = GlobalVars.DefaultClient; + GlobalVars.Map = GlobalVars.DefaultMap; + Console.Title = "Novetus " + version; + ConsolePrint("Novetus version " + version + " loaded. Initializing config.", 4); + + if (!File.Exists(GlobalVars.ConfigDir + "\\config.ini")) + { + ConsolePrint("WARNING 2 - config.ini not found. Creating one with default values.", 5); + WriteConfigValues(); + } + + GlobalVars.Version = version; + + ReadConfigValues(); + InitUPnP(); + StartWebServer(); + + AppDomain.CurrentDomain.ProcessExit += new EventHandler(ProgramClose); + + StartServer(true); + Console.ReadKey(); + } + + static void StartServer(bool no3d) + { + string luafile = ""; + if (!GlobalVars.FixScriptMapMode) + { + luafile = "rbxasset://scripts\\\\" + GlobalVars.ScriptName + ".lua"; + } + else + { + luafile = GlobalVars.ClientDir + @"\\" + GlobalVars.SelectedClient + @"\\content\\scripts\\" + GlobalVars.ScriptGenName + ".lua"; + } + string mapfile = GlobalVars.MapsDir + @"\\" + TreeNodeHelper.GetFolderNameFromPrefix(GlobalVars.Map) + GlobalVars.Map; + string rbxexe = ""; + if (GlobalVars.LegacyMode == true) + { + rbxexe = GlobalVars.ClientDir + @"\\" + GlobalVars.SelectedClient + @"\\RobloxApp.exe"; + } + else + { + rbxexe = GlobalVars.ClientDir + @"\\" + GlobalVars.SelectedClient + @"\\RobloxApp_server.exe"; + } + string quote = "\""; + string args = ""; + if (GlobalVars.CustomArgs.Equals("%args%")) + { + if (!GlobalVars.FixScriptMapMode) + { + args = quote + mapfile + "\" -script \"dofile('" + luafile + "'); " + ScriptGenerator.GetScriptFuncForType(ScriptGenerator.ScriptType.Server, GlobalVars.SelectedClient) + quote + (no3d ? " -no3d" : ""); + } + else + { + ScriptGenerator.GenerateScriptForClient(ScriptGenerator.ScriptType.Server, GlobalVars.SelectedClient); + args = "-script " + quote + luafile + quote + (no3d ? " -no3d" : "") + " " + quote + mapfile + quote; + } + } + else + { + if (!no3d) + { + args = ClientScript.CompileScript(GlobalVars.CustomArgs, "", "", mapfile, luafile, rbxexe); + } + else + { + args = ClientScript.CompileScript(GlobalVars.CustomArgs, "", "", mapfile, luafile, rbxexe); + } + } + try + { + //when we add upnp, change this + ConsolePrint("Server Loaded.", 4); + Process client = new Process(); + client.StartInfo.FileName = rbxexe; + client.StartInfo.Arguments = args; + client.EnableRaisingEvents = true; + ReadClientValues(GlobalVars.SelectedClient); + client.Exited += new EventHandler(ServerExited); + client.Start(); + SecurityFuncs.RenameWindow(client, ScriptGenerator.ScriptType.Server); + } + catch (Exception ex) + { + ConsolePrint("ERROR 2 - Failed to launch Novetus. (" + ex.Message + ")", 2); + } + } + + static void ServerExited(object sender, EventArgs e) + { + Environment.Exit(0); + } + + static void ConsolePrint(string text, int type) + { + ConsoleText("[" + DateTime.Now.ToShortTimeString() + "] - ", ConsoleColor.White); + if (type == 1) + { + ConsoleText(text, ConsoleColor.White); + } + else if (type == 2) + { + ConsoleText(text, ConsoleColor.Red); + } + else if (type == 3) + { + ConsoleText(text, ConsoleColor.Green); + } + else if (type == 4) + { + ConsoleText(text, ConsoleColor.Cyan); + } + else if (type == 5) + { + ConsoleText(text, ConsoleColor.Yellow); + } + + ConsoleText(Environment.NewLine, ConsoleColor.White); + } + + static void ConsoleText(string text, ConsoleColor color) + { + Console.ForegroundColor = color; + Console.Write(text); + } + } +} \ No newline at end of file diff --git a/NovetusLauncher/NovetusCMD/Properties/AssemblyInfo.cs b/NovetusLauncher/NovetusCMD/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..121648a --- /dev/null +++ b/NovetusLauncher/NovetusCMD/Properties/AssemblyInfo.cs @@ -0,0 +1,31 @@ +#region Using directives + +using System; +using System.Reflection; +using System.Runtime.InteropServices; + +#endregion + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("NovetusCMD")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("NovetusCMD")] +[assembly: AssemblyCopyright("Copyright 2019")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// This sets the default COM visibility of types in the assembly to invisible. +// If you need to expose a type to COM, use [ComVisible(true)] on that type. +[assembly: ComVisible(false)] + +// The assembly version has following format : +// +// Major.Minor.Build.Revision +// +// You can specify all the values or you can use the default the Revision and +// Build Numbers by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.*")] diff --git a/NovetusLauncher/NovetusCMD/Resources/NovetusIcon.ico b/NovetusLauncher/NovetusCMD/Resources/NovetusIcon.ico new file mode 100644 index 0000000000000000000000000000000000000000..2b0c7763d7659a041452d629e6d849ba2b56c1a8 GIT binary patch literal 133211 zcmd3Ng>h2+}AZUDB|0rzk2N3P=k`!xGXh4blimBb_h5 z?|uJ>Z=O4M<~;Mvy>rf;)8_&J2!H_p9UuS>?1uut>&JT}@_%7AC>K z?!#rJq{$+wOSid+kn_8$RDEyER?LAkkA{i1`1v>m?SSaaqydSn_xfyKM8g zV}X17K%#DV04+1KLwrx zXE%%1TXlt7*SMLXOh6Ne3tWYcAO}3i?oA^l`mKRT5DkRS!^IMPgq$A`2XVbGz&tP( z`(*_h0z{z}GRR~9EJD%BFU+_In@vni;iZ4{5`(`F+4%_(7AyqBA3?7_fGvJl@O|V) zz^X6^yO5TBp%#`KTWO2W(?WHhT;RXo2*N`26MW=5KD|%B-^{DN(*|a7$Z<0-$R6mC zOu+S_@5OL?ZGhd1EitkWP&nX&z~$lcNK0=f0ER+0lJA4sCCe&>i-Wu%e>I9h#bG*_ z4A!}z(5DbGboFo!%IwUFw%R-Vhre4OjV{Hgt-9Jm5P>RiTFXGa&HuILNi2SY;IKvt zXyr(d5b##FASi1VMT|gE?7?U#0>%(QboLHvU`wlbec)&Mea4|?VnD@s@pBMO19@@Q z;s1VP)AvYPj%O2}h%7eXxqOCoixX3ASlvOOAL1nt zAHfWa2bg2{7Nd>#PqY+9l==d`h6DO~t|f8^3DADG9jg*G#eS7tn4$#5zC|s_F6_oM z;Bv`OOcXEGeso`nVXa zIqTygf&y<>EyA!2?(gz`gj~F=T8qs=tAgl7vBjgrNYM}Hh9s~`dZ z92#ONW?|6>50RCFuv4b>!I|aWz|@rJ1P`{-kljED0~7aG-SSK{z%|cQZmmT1Bna&z z7JRGqDZdEdsE_}ez$j?&@AM|&1@#@bVsL?QSa%$O!A0d=_vPN@kFbJfp~DPWU3}4^ z)M^Q?ow;`&D(LbDi(x7nAzu@LlxCMgJJiWy_-u~O#9+wTPb{pIIF{l%DhKY@m4DQ+ zvDTp#xvXzAD}=zwUNSYs-+e$uYssDPu7QpZmQG9mM7Rn%5Rg=p29vj}&D~$!S0^~7 ze@#!{@c?lk{R5{}vRw&T0Wob#WIXi4%TG&aRVOuO>{;mPo9lAT!?`wGMNmrvWFcaYs0u%4=4L_aX(Lq=8dkc{rB$7g8bY>Oh6UuHlmv* zjegB?*50p~owwC^Bw5O{OAfOhZ~& zBsa{5P=tlUh(v$RFfw@8T49e_xp?Q{qxj0y=zl)}yG270h!28-OEGC z2!F0HCG3=_lytri;~8(wJyz#44lt_lCW3k5QH?20lMVvOGLHIn=@33(U0lBK3`k8w z^+~0&A(NAvhuK@{_*BOI2obw8KrR8ID2D2Q`fVPakrtzaGk$|`t^&kyl>-T_Ct*Dr z*==qnfyD&#qnSi9z?pkeD_+S6S8uG9-{80K<6=^Le*2)qVEarU+2MC}HVazH;QkA# z_C>?@&%L~LfyJxWQIveh)5t7hRko(r-99$xOke9@h(To_wT|J(PTP-C2#BjS==gL) zD?bh*X9F(>rQ_+OQK2HPVLLBKyq*tQPm|$>q2}&^10fa*e#jmp+H=3> z?&MjjJK9n*o!0XpJD!zN{wjAFc^h=VoYmq=Zh>uQuJ-z?IX_D)I*I_Pmx7&X+7FM_ zcEh%KiHmGC0a^&7uR(O$e_ERV;qIm7K(RL9a8;xbD3z%YQqIKf0)(zT1H6+RdPU=K zgVh^(K*+v-yQ3SG$QC<^K3~E_7@$o0dL~o@x~;Y#;%xkIV6Ffn5@*dr9LF7&gl2=4`V8$qYBc}3QmOF7NU&oq2+|yNLX`8MlZnK$Wow# z?eYN%U(XEVX!8)lllo|<23PDfNd3Tz*2Gcv%!f=nGiBygvRfGS^rOE2Am5rqU=C?S z<+wlK!->-A)EKbxnv|_x!XuFgHc)M?%kSQz*GfO=Dd!B3;UoDCX6>A(FI@ioTa|f+ z0wsqcPxS@mm{eA;t6aA}sl*PA7pAD=7!MZxm~J*j=r#OprV5#?x8Ja(+~`*XyYH4a z_LKXn5Lo!}`@lZ3wP%QXUU2Ik2?MoQSpDRjX|?6XerHAMPEv<*kEC<3dVv#^da0{& zFS-%X7xi#t%196DJ0ma-WtxHcj#lmzDS^tF%Fmq1lZmP`#uyXxL6qxHp^>uL#PPt5 zv24DMmb~*zeVF`+uJR5L$Ds3ShDMMAWEgJ6PUcm(`Nd)S_wgJWljnJN7JdI!NaoDU zxl_e-7fD^vY>smT`cDXo6qG=M;Z@b=vp%LaaRPxyQ2*j4&a-)mu7lQjS-}tkh{Etb zvEc9!hQ-8(7z7Y1qH)Z#cwV)`hY60haM35>U78th-}_gX{a8)Z&IhovNU^q5Udx{v z2$>}KIMPhAi7rOh-V!F@@OM;wMsHA+Co3S(r2dgw+X7M%x=pe@PiWR;#%B9OfXkH1 zaw&ugU$f+BT~yfWE$PqatOwAd$E?Aklk_h!jN_3*@HEu+q4Du}+ooXv0ZI*^Ws429 z)u4%eb`qdELonqWu-vN*BDvQILFhW6R@DHaC9Jb^I@a8h&Bpr`R`$c_Cl)a;w?|+` z?oMJ^SJU4lyGYSZw?;cIRlc2*B?s{~F1euNyBY;!SISy;0t6L+RgMG|rx!z##Ml<4 zKD2*LG5x-Caj37N@wipcwU7|w-54bS_t7R^tTXAUb-q3#gy!2R4`#ASWD>zgi&v+M zqXY{3e+*I$1daYNkvtSq*omH;GGLGOzH~z7UjzQ5hh+_uXs7dhDda~#JNQ)XS_#K* zm`Z>G%Ps^VN(EH=Y@)_X^3y**7$>GUjE0 zp{_8}CouAJ31QusW7;q_RZWDpq~eZMsmkCCfJUi8F~<1Bd^!FI4<2EOUjR}5h_dgv7NC9k4G)cG`E z^#~Giu^$ylfQzjd87etHD9V`2&0tQQ%J8J%D$f&~n-Y1J3FaSGp@}MV99P|0V=i^M zg7v+Oew=SUe4~(UGF`K8e+n)#OH223dl!R<+3wULRMyo%W+ODn04|63Beew#12*yU zp%tp%_6{Z;f@NgGS0;*43i5J=7P%BWd+{OWJhGOPv)wb{uCN9Qel{7S1SGZm>(>M( zX|wqf`)z)%`%XFNRdg6C+o#cFyS1wH5%(WLh6KtIV(W5!_hfn8lh-UoI}rMuM>L_% zJ4j@xiL&wTZyq>y_gLQ|93gr}(zq|<%j45pIgqUYVNBU(xQ*Yw7~onD+VaI@BS`cy zFX(2JW{$Q7Y@tL}`WEBMje7;A>b$%NxgvG8liT_0XH{elr3S*ce0d!kjr7z|NJlDF z2)Y4uEATT4vVxvVl1pMkWXR>nV1M<*f?^UmeH*}_bM^3ijuhVgT^>Fb)a=ia@2gfA zy`>ti=$See8)6X|Y-T~^{!o!alGg6YU?t>S#u|bYj-;e%+0HR6!rw2}#v_O4JtG~S zf!_r+2qyC{Dz0Ip=}qAZ0@)PZj3DsDatxowXa?(8NcFS;@F>KSo_y0sqTA*tU{C2E zIx6(5I%nD1=CCjku{W$)2uT1q^3%$gSnOvXBX9B&Y4Vek_0UnDTB?gH3hy?*gTzy7 zZSAHK+T~PBEQrJvkGWrf&`auPta2{SY3#ZdL36m}+&3B?7@v3{c~gxoAAFWj#CpO=9pgl**m zIHL&8p-&{go=I6}*^XmaJEHmX?JfdQXN-*y!d`F5mwm%H!1kf(jbNQ3NcE)?9 zqrDOSx7GTnMvoGnV*A!j%}L?~Uii>b{JcRUm zyo!xNSZ$~e+eDT30Jc2Fjjr)>@F3eVFbQS2Zlm{J4(V9L$1K>rwa;XNJ_NA!K$&SnHI zwANd85HYD(5JERn`T73|k=&CL>ccB$u5}AoKzwc?56#D*ElkHwGA7Q>TZLQ-tc#EG z?=j2}S!`jLz^k$3>^r8sCy;na^W~x(k`*@3_wA}EJ6p9TNaf{Z%1)Ssub&SY%J~s{ z>(~tF^S!nLa6K|-*>IS-1XBlM&NaXl!sQ#b((xMIeA9OMElVB&{?n*OgEtAd?J+x4 z#RxuR4B-neXa=NS@`ZYDiO0~DV~T1!(MBS{X-08K_E~yqIpoB95!n`7(i`k8@c0b?t8Okft@@S1MTn$2%4pSAMS~2>O;MDjcV7fqRdMn6p(7+ z2fh#05to03HOfBWXaa0agf1@BD#c`!vt=MSC7n1k8CExS^p%96R#-4hPxB{X3PCpn zpV|7|9SUfvU5V~msle&R3TZV6l6z&Yr+e#|`X9$topygcmC=8cE{K=wBka;xB7lQ< zatd2}_ybv={uOs<=z;}-K%A?MX4HKvMd%~aB0!?YXygljU7u1V#QK|*2(2Vu^jNtb z?9#drJ~s+#FnkrkT+zHnOsVAV6()LUr~oIR{_4B&9vY|oLYmxODp&Hz+1SszgUOTT zc)d|$l@*&Xy#QUXYMQo*lW$NF!wMz`BS)kK*9+W6%!kPZuWc}c4r4^0AGJ*3;q&Efz?E*6p^fyCAc4>VQ%%AF0pAXf-U_yT0kCKl)7nh_dAt1Cl(0>L5dX2=Rffw`D=KCiK)OA3mLSfMb|HR@*l8Ll6ltYIH28$(Aw?1EEMQ6;r|4<7?EfKI$ zIc9IUp#AHf`vQtkRlo~YXNhO-eTU38RpHgb5X3McHU8vkk6W!c5U-{4WifcF$ms?( z#fFf>!Dg7>miLQ%a%`Q=WT#1V{-;W8R&Bsy4nD~Cmq>*>R}3TBSdOz_q7x7*0#&fh z!q7r7aX^GMNjbF9=^;AA#=Pya(rj*UIF_CKXLJ2{Ua6#qBpf2Qe*PZb?s5%E!PiQk zxSQBat;l|#+6$|8Fx4W9L%jAzn$BiOA*xz!G9vdkBIC8@76d=HnG{ zAKhiYV27+VM$BtjyS;a>r#rDn4Zhv!eX{)xCTF>7DcZV(s>r1ixh`F}mz|;?wo}2a8%GPUdDis}v(BY3(nj-X0HMJo+fZ#GxVlF%l~H>zA|%WyfFnE)FF_ zb$(VM8jRSxBMcTRDMrJhKW53UY=3tk^|hS@KBh$Lz3I@X@fqF(&xO6+E$F}(ji`6u z{pT9%?uuPWNPaqdk+$lgHd0B37rU23);V(NcijBf-7sY=j!zju%uLEWDPeGX`SRgs z#=B~fuPc8+&!8`v9xQ(PUMu7aJ>Av(^+b%3;LMI}mIJ+&jzF)@)%=iD1y#etgHhF& zYvMC&T?@K=x6UL(o?O`;MV1A!fJJF`K*vH{=NT&L+x2{QD5j|&zATONE%$foB3^ck zjmq9HzYPdA&D1S9oG>2}|FDQ|!5-@eAd_F{I=8z}{G8B7+I+4oxmd?Vo4rg7=_2S0 zH07C?Y-NX`UXXD@P-?Vr2;>FxW;{r)t)Hw2y_zsuRROJ0xh#Lr|CE0>o+^yO0_H*@ zYAbCeNc4xemYU#csbmGifkQF{IVLHj$+GE}qR6d4kyH93#X)`Gav%nJtMGvWgREeM z#TT8E#n#NCy9y+Pz6nfnDmL`o`SIgRzM-|hB0T%uSLln)RnMbRl?tJd zDYORKMdcdN#U|c7H*v_|UkQm)2{v$%8KqFz42rmqhJWd&JL|N({Tmpe&PQXCYfP8%}L}|S8%1${-CnoaZz#iTs3>Cj2Pem zduwwwzQ)0myif+-04xU>d%m{le>iz**Wc!Waqcy+?#`~0>P>47O|m#exv%zRj5Cgh z1Bl(l1%mGC+h8UlHL{S3Y{x=Wk(a5tlKWOzpAw<6gX$nPQe481^+HzeBTXgtzatZa z9iu3Ci7R8=TLs zOsHrK_wzT*h5c#Lo>{ySM!Ul!M+zXsx;TL+>;>N~T|8sD&}~KCcraW!SN{X;{$p7-NB&C!%l_Xf)0_a zPivor`H`7Et1W1+ zoxFI-TfCw-cca?9^yKHjXQlct+i&v<_6}LUh8|RCd3t%~6|~|wz1K=pr)5i@*Hv3c zVRBM=hn-povmQ{3tPc&FAc6EZwe(n#;L(B}OwRUN+t?N7A@P%MT*=D=|G5#;5Y zfe67Y6Ot2$U6p)z^c>Z92X|d)7q(*jn|EW?LUH*`cCXM1;3u z&OPvn?KTO2{g)H&>6Ep|)AK;B!?MU%$W)uJ29>S1Ya=r~6-%yXTk}|?jO6b|n8H=e zt(7;L&{pYu3)0jt`!(UljhlV04ZF`{)E65o)fb8HB@DLRJ@xYoaAWM1U9@?x{UKw&o<=902h~2m9y2(QZ=6ifn}2K(Li-Az zJ>i=30rt`lPluB#l1QCIApEBFeRwWWP8ulqpqI@@t9PR*Qh0c%blX6uqL^BY`*e8e zmdH;U?=Z@#hSijZr1Ml25y1u;f0KPSx1u@gUb=l^k4);caEG9eHEVBtOSk=b^K8Rvx z6l7Aly&=$z*kJV9?y}OQ!1JuRDBrKV9ZfvXPKaxU9Psr2$~=jBU2q@w&m4xsA+4G* zI$-|iRNC8+%7Q)`!?JybUwV@ePmp8r@26BUtCxyDAdVa#cTA_UO?mz`%;aqfAU_>yp9f>0 ziUxvC1fLp$YK>?#ASsYb+=h2X!CwDr9{kx1Wgi*z3b1SVt`<#a`8Hk~ry&V1ey63`i-C1zD+8s7c#gvi?Hr?La z?)~<~fp4}QTgsGke69_)|DM^76ThK~M%nP_*Jh)3b2x;r?~*OqgEd`Npu}D!IB`Ug zhUwC9iX7{V29xOtz+PsL!%qTY`-D9&KAqccjcdTuM4Rq{{_PBl=F?JWO7%>Y*Nn%k zU<<}j6eu3_5gAAH&9;l;k@2A!rlJZ!{_h|*k~ z@1$!N+C|2uPHaOYu+=`y4<^Kk{wmo1>k{2LoHx0`HzLDLm&OKAv->G zbON;-g@M5>t=uzKTwOYHGuAgOjI~(uu>=+AzE!4?gIkfTO85c6{=FX_T3%l%<~T44 z_dr|@W5Y33&rK$s&{YU$$ma zw`6(%KaRNZx(z9#)(xqK`x7@Bia@dqZ^`ibA2RqBGMW4z0X|mU4tqiL$EYfmD_1#g zIDt&S=$`){EFoN|y`=i6jPU&`#t9jt{!ZT093!sGFH3>0qb9+IJKGBl4c`4p=?n^t zWhqEF8KG=+N1Ms&lKw2y#=Yq|gY62z7!C=cp{$WxML-04F1peH?qcJ9-G~TpBbH0W zOCqYbTgKzdTGl5%!HgfK`s54=l)q7HS&Tpx^4iArQ!+9`mB31WpoMrAee5!yUL(fc z+J3zb%SFAfos6neUkaO2Kj=A2KkON~Tki0v48jqtSpZ;NUovZo1_^4(oZUdxSHpaSc;(Z`)CXCoYqyPPM9|Em4}RdmBf)LfQpHs@}Xw!WHWhJiVD{B`{F z>h0ug$<|aXEYtVIuuqTZ%!H{3#iZrr*>=7@K^t)Qw7?6S0$*;d<6Bz1;j!&Yq{M2W zT_qNE&(l7wp?l#eq;*uRtPEChB4vMLDN*yl^UtIJ;}5d~G>nX*Ab? z{dpv=4xKM1!vB)zfz=-WdnpzI2T2kl!!$F~t{9G+{BBA?5DGNlKUOp7(Y$g9uCm?r zXjdd(I=SLeBX_VxU=rWeX}RTm`V$pJKqDWn&lrOpZy1#B|CNO7)89K1gd7BmYrck1 zzsIbDHz=4eXum>2*F~@cCoBF4>)tu%ihND^cI)-+3{yH3X@x$yUF?OK;n>#5Xi^&v>|eleY2;sOlZ02(XPHx51- zzhdr;N&5KY$!*7!VM9&34u`7{vrM+0$g(Z)!a%W{Kg2i?t?rsoe^*(jG{L&!EqaZI zGM}I~`mC$Kz6UIeh?F(Du1`$FdQtz*?j=C; z!H9YSZ21SvvsB3uV$n)I^$iLQ>3SST`Bi5V%7OvE;LfYc;gcsDK=4Dyc_4}YUx+psJ_5w z*eAiW05R0GCyNi98efeXZ`{=;UA(te%M46fEh# z?fs`v$wVHTX$#@by;O=XbB+j=BrB1~KuBVzI*ogI(k@9mDN#%8pPc>P-Z73BD%p5F zw7zZxvCJz*;L3XY63m!h^H%xI4PPF-Yfn0kAqVy__+m^BT{7bd?R>!&lodF+@raW= zqhzV2(!sSJg?1grD$DW%dj}nf+rj}}kB9Chhh5>^%Ucy5r3(<`#Zzug=e+FWnIg=h zw=!<>-hTV@BlnyV-?0iMw;phDZ>;54p2-a;!+B_MVLd&lLweVRSS)6p*=NzN8AzM< z5R6yr#TqU>wmE))gkLaG#!d5<|M{hzjmO8*1gjr@1cDxzd`|`AV@mEsC7b9mmGN>7 zazb}Qw+T6~#z|UUG-kY~!db+3kH@(syGWt_f-cPeO%Qu?Q|C6Wk>b6C&Lu5z>|xDV z3noW3U(F6zkv6X*X_&Q14_WZ$#l5S~j%o8)JA21xQitk*enpDyR-o0CdR+HKCS%qR zNG~6M!V&hF5e==%amDX;+dqhUIrzB#ILv7otqP11b#84B%2&$W#6?yFIimtqm7X9K zM#?b)Hhaxqq0@KWDA9w|nm0KPS!^Y1BgiYvYzgoTB8QgE|Cz)VJAlVR3MZZ&wl)M8 zI-Gq^3E5aPRlojzF>KW4I#V+V+U=|)vbeDXkwaLys;Be&6MTP(0OzG7zQw9_z zRHxQSMR7FG19xB2q}BcQJ@?eWii5SO!=Fdvre?OOlsK`b8ecuqz`E5GyEPMl{y-7rv}I%nQ6j( zcHFoDT_*SlrGfjtlCn%HEw8?s+}}Weq>0?S&-C!xE zZII8XVekFx@dV{>`-3pFy(U~ty!Kdd6g_w>O2{-mZn_=E!EiDDCwL~ed@_UHxu+U8 zLa)HuET@4)F1EYUU%!Y6ZuvFCoNZ~x zCf#w6$kA>hCuf%%&!}qNs}2Td{P7b$v)=#qezxiw!u7YENXm3KMenmj4Dcsape=CA z|EQxff$>vC{vchrY?psv@+9l6KVEAvrU-6c`*?m1|JvCU0K96f%!utGXjONi*?f<| z7pLdN>+Bf+-P?bv%Pn)Reg5P{8~<*X#c^jb?eSxhAGtH|Q{=0CR)Yuh9a7j7PiX zo-(r|ySw~i!8)tv(d3lFBKvVXuw8L+u9bIpVwebXv|%gcS}~D4a+I#%+J2c$jp6*L zK-*6{zgWwh=H>K8svG2&TJxpu?t|fz zL_fCZ-;JrNSivT`;nmKKoLC`6^dF*GkZX82ZYtC*Yd349h1LUuxdHg@Ab#KnPFi#r zng9}3zm(IVX!s6L0``;(s%b~t&snmA_jirjE(KnC?L<{ujhC~1I?=`LkW*Uu8}~q| z)N^6cOZO@!TahO3>0=ZKsE=o$s!E*qSEx|REiz6Bw}r;~9dhO6jLgdGLD`J8aga7+ zD*pUUJ0pq#S9NhZXrEhK(=TmRsq0_15P>nBd!JTnb-CiccYGo_{O=co0sviF*k04c zdQi{5WwzE4CISI$lw^mM7+i@I4jaRLKiAoQBB>3^?k+?6tIJ(zW~FeQ@4T$3K!xZt z1%}~YLRQWS+*?Fy^=w|*LT{tJ@K%eczZNLFZ;udP4rI!@>b~DyomowOjPjjZFLz|k zdLQ|6QMJHC%&z#$j688B*q)5FoAp8UQ{OK74L`)TcA4n9Xvnd`l87+=6DG}HU?lS% z^Apw|emj?KSE8^U)7CxV6U@=KRfO*j9H7vGe;fY+ok<8ii|zE$z)H^&a1#t+R6cyE^V|1EX+1IlOT;vlNt_ zb=q?K&dDfUru26gn>SXFqIas>G%9l8Om2fFs@P2iBh^h_C-w$>5NDW40?!o`5I?mp zh-X8~WZxyo*_$Dam!+Z908w=0rQBW4doOo?t*c*)%DZ^}ubVRolwAimsfSGChs@V=&}6kFg|_wX z?ZaA8HvcCoSL82^K|iW8uL9GijjNA#ZZB%f6%m9;$q-FNwMvWnT)*@zREqJkdwjUgVApPzd zg#sQWjBvyL_`Yat>0?eEf$)gnmA2Vmy*Z{u>-M7(MHgfFef0DDHU_)|*z^i8drcaP zvHG?`II_B5gfHNdxux#TH$MJA)@wt>{xZ+z;OK%ryJaQvL5IDr{B4z~R4}&Ut40cW z++30`XeDH~eRXa$ZtE3HZBiLqwt1+Sr1;m z1+_C|@_o1!Z_V3~HEzO*u;cw{VB*)C;4w~W_$n0$#T`A4O}s9o094y0JUT+9t}TEJ zs!RI;3vwfDd4-z#r>A|V0zr7+aBxu?$AP1k!>JiZKAX2~;vz0@uZYrvGxLdyooIkI zpD;G&h zQ+bVHsxD5Bh1Ki*%OB@G7am>+*cy%Q8CY+3L*UhsrK=i&4`XhbX}!MLw4m zfVs4uz*VHsbbe|66OKi)awG-9IyofKEO6+8@3oH#yiHfx#>su!nvt;SiWYQCJQ+0a z7cIoNNIVZVKE`kTgznfYy59V<9} znx)xmE*6#xG>Qn$KWsbJq&$>WETt!!jM^F4Gu$kAlKc|4e}XxA+fRSJl8^b0^Umm_bHjW2lcnpfuU zKP-gH42Nj6-**DZ24-B8!*BAH(30}Bs^NVXI|ILDtHv<7pUKo`NDb_V1oQY#2xZRW zUXQTv?D}u4QI{!Q6cQ(B=QP*SOY`SMRCBT$F|=C*t|wyd$~d`1{8)3Xl|f!jrNPhq z4^Qw7SNyIwIImb>cM87W9J~~>&|F8tuIjlC7hcGI$#y#oox4>3Oz1;Qy7R-`V!L9Y zqUH5q0k70WlxWUO!qXT57V1z;(9XccQO&$!0;~Xo`?~Imt^W(U0enk=3e*s+ZGOnL zp@P?g6>sTi#rfgfoDQOL8-?#usCN(+7R6=MYtIda6MJjFnzA|kA!FaX(np;&Sd!WV zO5{R{)`sG>60E#uNPPQ(?uZbPrV$>I;>%$4(UFET=jIpvY2ar2!~JD`hMCeulO>X6 zCHCpkAXt<|H7q&W##OiT$Gl0>UB_he!Q7bHK~q_R=Z46e&7Z#k+`F@*SeFbi<<*mo z+nPTm6%#AM_znna81iim44PhUc2RSa6z{a~-Fg8w@~5f#89_d@5i_tpb&Y?MEZ|bM zluhb%Z%kZ#i0nhTqq9|Vou%eSZNa&)(2s_j8F^|(W+PE;PkbiL^_^=hfLviTjP`BmXA<=P)8pzcb zr_b@VTO1sFO)9}MqO*;DFqS|Qk`cmpW6+Pmd}lq3?c-jX_;+uMR5APEPcGv-1J|h` zbWdo08HxpkZKw7AN{(N_Wv=uxO=iLNC|F2FlISDs6O#qZZ3(wq{Xbh2orfaYhgk2Zh?L9F{_`7|DR-YsSb6a!Y9J{Wh{vUxsw|2u4% z!txIXQl7QNd5=b=#ezBf5*-z5SQMbY{qMe^p)^uoSX!5jO}tH)R`Qo-estTV;N|!t zQM&W#+sYSX^}Q~6#u8}cb=-EJMzp~MB<<)$mv_L2y!H#Zm)=)N7MrQfI_zgCv^qT* z3vt;`Aq=}a-z8_mLQhyp3Gtsy08mO zrT?6ARlxW@8>`d3ye*)C!N*)^v$)v&sq$7e;A66OhDwU(HW=~jvWz-1E5j8(=l+e0 zKK@7as`ZtO<%eHO2W<(aQepLSc_nU|deiVmr^&r$lEf>OB~i??3kK=WDyr;5y0c#w z;xVYWE1iHc;~#svL_?#J;18NQ10lYH2E?=>fBcC7Dk;HImW3q7{B|Nmp zPa_1!4r2a-)`1_6!8>`&`^`IHrQ!?X(+JGjfcJvAaCy4J$oByUYH!fds1uj9;n_>N z?*s+%GcEg2&RU`J;Q#^A*Nskfp1TP7D7<|N8BbRTUZr%@zj8Vhp+&}=;eEdXEzxVF zW1HZc{F(~;#{u&k7I7`Ox{Ngi3&UJlj#IUi^#E{jnuyiT01ar>zhPSYgVcjMWXS$qmK~IeHk3v zKDnP!w1Wh2MHy~=u}B&b80pHWC4t&pQszlB1G^l{=Vw|I2b?agXXeu9Q&Yt zr$J;Q)qUxVxac*E#_y;&6WHnj(0^*LxDGtBoVDGG`=ZaLw&hj+g08?94AOShV?8-k zcd1+f`yOWJp(Zf35ozt-8l=*;2gZ%MBCIUo`z^=@dm$nmv_a3|1qd`FKt;{exN-CWJhty76RS=>uB!%6TkH$ z-R!al`~ccwREZAdEEHX09r;zc#YfCA0H&xSy1%g-3yt@x16E_<>vr8jYLcrz;jA25 zhOo@+GSt^PZ>zi5i>;R6BjeQ{9h7FjZ{alVRc~w4Wo{sFqZ;g&&x0wOBzQZA4IfAh zcmsI{R2O2{+Ja^ks*ai0PcU;HJj!k}*GJW3+<(f_U+;D>pjAPSj6(&1YhznAChRI# zXs78y&{3x$n`;wcO{SARE4OLiMc60GVi&rx_PcyTwOF z!tL#yd$!LPyz(v=PaCejY3JFf_4eO|bSay4XWvzJetEYAVo<5FdDWov8f(In(YfuK zakk;F^0?XGPrdQj79IFhFPccm*aetuUJ)lAd9vAmwb+qzY18OrZqqCtkkdPLn?F!O z)>-kehlY1!ZO2mqa6^(zplbihmhL)iNkXQ!V)B=VFLtk48mJBa9%Xt;HT+m2PRtE0zHQ>Sm{xa$fXB@JKs&{kiA|qnr}of_fi>czdoteEV{+GK zv_xO&k;i(5t*a~`5-9ump1d8?@a3iU*zX@!9k1T^>IJlpA}F8M>e4dv4M=ay@F2b7 z_?hI6!YNoj|6tUnr{D_G*ZJrBowtQh@9jg+Co+CCFMx6SwTtw>TkFTd50l`_fA*j8 zKH6Q6bIZHs%%RcU5bO&l3R8DbKRr7zIPqte8jcQhf-mY-sOM%^$$fSDjXM+IcYV~i z^mlvK7o8~8%@hr#WY9)`M4>8*aXb+Ov{U_B9*GbeT!aQ~eGrD)W)5qNogaR+g3JMq|d zG6^B#JCx@pIS>i%gCHA?3miO6>V~!Q*ZTRo^o9hWufY28j6<$b3(ecnw{uPtDK{lF z*Ww58v_7Zh@fkK8nhVEhHa${QNKAFtXxr)azji^e&>Mv|zL_ye+5`Sz&Lms7n2kE- zyYPw)Nu)!-qk91L5L&p{1L4#sK__>?nuKYaujtHZK;T><3j^0n zN+_;x8CT>gS8Qnb`QGAnPZ;=4o|?zFX4RHGpWC)-{rkW2fv?rJxDVXCM!=Bh--p31 z@7dSqX$}>yR4l$v1iCK2d~^kZFP@hkG;I<$x1Ajwu1Nw|5j&b!CH599fX@n+&2!)N z!-VL7-APSsfq1N+I-__aupdQ6;690=FKk~7SHRx)*dOqhYFDu9jb8Fc9iNyyfD6`n zJDxuzHPdXIQX_RX9Ks41jpO1(mSP-u?|eP$bBr2-J%8qOkKEy}m5@J>-Iy=5`(0d+ zbJMB0IPt!xr4`PXqhHeke7kaS1SGjAk`pAZ6%YFJOg2s?Fj<)KbW#xD!FJ^Pj zJujSJj*IxyciZ<7GS_EJ^qj~9bhyfQEG*0LTH}I)gHzb#gN6OuVdt#4*p|4$jTw> zA`U7;81_E*d7yp3j`QQqDY_kAGUsgc#|y+CZMm%n&R5VK_=`q?4Uao#U~qgq2x}>@ zi?!OX|Mx$;gpha7ZfS4YB8tpzsWpZjAwE8?r$6@wjt!}$Y9LKs@uq*^*V8CRef~0Ic3iR(7Uey> z@1Y?lipP8RDHV0fWUD6vl-NcAK0*@7uR$ee>2VAsglEDWL~ks|@bOjYT)(fy2C~y& zuD{_j2@pJJJNEczggi?SX)l7IE>8_4FJ}+Iv)Cf0esUS1+DRa2o;n5(=F7M^;l+eq z-iM-XXOp*!KbFvbO4$J4=D6POKajOObedbbUts7DVU7+p_pIIP;oT8vofY8nNm1u;-0#R7_pRcUuK?h%of_8g$op0)R z)WnTsnuSo4T@jT+`3gk@2V3uRJeJJkBD7d%ixhKb3D93>hC}z+o6?s9e^u^X4r1cX z&NX^K{s$XDO8Eevl_+~@aSEQgI#Y;aO3 zK)y3J0AM{XyWst}{_s*H?Zfx_wfA}{~V*^uL0Nx*Uy{<(71NzUvOVzvI2yB zyaZ|cakLQ!`C*_yoZ*T(>iv~81PDfeQB=l>x#6?>1mL&jPUG3|a z{P1m`+W)r?o--yPXRs{Tfw)02Q3QnrjDGOP|KG(=h5{!-2n(Z=t~CWK7mAEj(uqa@ zdA(T-q6={6jUUIR)gMKflA~^zYF7T)#snUE>eq2-ZM+h2gjbrlP~=V_6|P>7ebCg6dwTNv5(=3_yb5~U$-xY z;w;UF`${;kv-HZl??E8G20*?IWTHBNF73$V-#r)73=(?lwden~w{LLM>Ln{aNRs|I zPAW%D@zbPj}U1gS>&+`irC0Ty!KlDoK$B_UNV!*TYn z#L&Psxbucz#G>BI=jqL{m46BkKlAI@x%azpRsW-6{*NYa&j92* ztSGgj|1!NFjR?E(U&nlFjfVH+?i-ff1re&y7f(ct3=9!aF^vAp)_;8V(CGH+8)u(M z$il*s4M<5+Zb$OQkvZW16(S`tKj_+UPoNq*2*8z+eFs34KYDCI30}Vgz#;(aaLr{O z!j%_(0_~-q6VjX5^FRFTuVc&32LSAZa|kDt_s4Sb1|Z+3Tm-@exZ{S8>Fps(i&y!(cq$Fjkj zkb;gHEjK&N48T-v1mAo5*RW&HcLD5x)0dN0e&A#cK)z481Zi?9-haoZv2yX9zEyFo z&_(ZS&vJO=X*~MuAK~!Wi*T^Tak!lEgg;CQF#>YmPXYp-MaTEXDImD~HJjrA$QJ=M z1z?@Um6LASz3#adVG^1HaA0zL^x4;5dG>d%c-Qs+wu6wSS_uS4d+P+oi-_@uqLpdP zV6xIaL(}2DFqU(yQ8SCe$K$k2B&EU&DdJk0XG6-j?zMCu0DD@^=7OhR%+wanBw98jE_bIBK8r zXdhy_Hi8%5{1RS#{Tl$b!-e}Z@2QQF(lY}>Z7qlk=kq<=DK_F)+i4#v7?>Qyp;-52R`tsGk={PK1n!E}tmR^gS zulgj0BAq$WXt@F4;P?x8;L+d2)btAoIRCe;{J@DCfV}drKwr=GxaW?4hyKnD$L&+< zef9c#4?T*9p8O&vr(c1q?oYrKiTG`WFywmjX|z2jiIm<@o=GRC{3bR86b|wJeqkO9 zb)=6Z2!`ma+~LIOq`2)&z@{#fn0i{Gj}^M=-Srf~-8a~kZ93{krm?3JGo zz)?Cu3B+)I4SfXlAYcLA+RPxIMta6Uxn}05lsq$dLwi>0t^inu_O=Uf+qM4)YnQ(d zWmEPDG?n8;%XPNcw(sxo?Z^K+tbG$MO?E6lr=a}6i5P%<*uNb8y*J_mcl>+wcC0xe zZ3sjKr)I$@5Q2EJ4+w9biM+pF1TpFl5eUft5IkEBAIub+ zh_{dUIs=kt65`FTKJm!!yz9>QuIjB+R+XZU!5sJiwSv#gQ3MdW2l4*IfR*K32S6hP zfV}tjQGnV~%S!WP`fj=SQ-=?X?Y6syb=}z9nW_hb`3EVAS~u0`PicgrBQfp@1Y(3q zKR_eFe17k9epcl-AY))rN;Y?`8`!$|mUS>mKW=!}J-BH7PolFtc-(2%g*s!ijVZkF z#vkDM*S-P=@)?1PqTZInY?c#=0JPw@3_V@f;hsDGcl36wK^ndJ7xM^j!LTL~zbjOKmh^Fd;eP<>|l zmA77e?(-L2d&94FCZ;n5fM{`Lyx%Z}UszRs3adhVx!;6S3V5WvS93dxJ&0<_Ra@dpeA zW1_hDmjIN4se;MWR$d#p`VxE1T{q#zn?HoU&h;nN5|2A$V^eS8;irEW`wl({r#DA% zoUYi(%CQZAgD6%2EJCGx1@5`y|Bt?owF{0U#vddfx_lkqdE$%6G7Vj(af)6)7FXyq zGT$H5fyZfmwEjulx4+-4nr@xwqy%-yX_N%T7W;N%Blki?WJI*7qt{#*ubR>CKwC@AhSTqj5Z?l40LR& z|M=~nn)=gk|3{obkdOr-W9NSoJ>Rkqo>*r9l=a_zFjm7L`w|=lg#XYA43xju#}lw= zM}xXhP5QBIQG4Ia&%gIxtlhA}7p0CC?)&dIx}U)T;kNDl8XkJ`OK3FSgxd@}gJTeT zyj?lE0SF|7{UEv!_uTQzIe<^|hiUFpRM4CZD!>_#f*Oi{$O^XH>eV_tH;tPDP1;EBB zJyST`#UDyzu1+G`grm^jcLWlEVlKAWVaj)8$c5l3xjeFG?a~1q>K%Xrw);CIi@7S&BdGT8#(W zdODF(XY+S3@0vN9*Poo*i>F@tZ+L6_LvSs=QJew2QCZjk*?+&mvmpHg%EIybOm-vjvGQ(r>0_9h&xcM{I) zpRvpBXc2(s{mXI5#`j{=>K|Wlen0*&3>R-r%FXjIZ?aM&-s#9d|x1IQvR4uOY`aTQDP<`W`1+e(~tj#x#f;8^rXpv zZi!@Yhytj|0BDapzK~VpS-S+$mmK5lp@ve*;M^sdj0?Hu02N2X_S znn6OWg+B_M2Lzehv4KgMVZoNb#`-RgAM}y8VgY~>Sn5D#y3r^N;;qgV_=C39`1^7% z8gcZ~?DcbRs_DLZ{qgCocBqS?59jzNjB&aq}qUp+T{fySSbL_}H z0Ja9qB{Y(5)JscHZC{6H2d=_DAG`%0?!5wEZSO-v2T>L(^o1{MetoO~V5TvJSGIl$ zfByAJH{uTLLekK z^A;>_@x`~A-|L&!{N6NK26-N7ohR~QIt;@={vx74iFKX}Lzsl7c5M6B;eq~*v|{=H zLSQ-ZnhL<@__?-U^NTSf48SYrP$-fS#fCy4#Pi;cGsFpiHUfHO;M<2oHCy#eL-!c(&9j#ZDXx z1Q^~#EE?`NIK$pUkK*y?{urZ2UO^rOdsY-*C2s)2bl)J>uDl+rmfXD{yti5TC#whW zz@xuSLZi<=_s6B4 z?oFnr+omo%dp*) z^IraB6kqiu128)I2A+HMkFjN^rpP0Bn<&`RAGEY5n#~ zKQ+Gd;10XzkTMCK(z-FNXK?O4#kdDyIc5Wx3bM2lNc+L%McC1~3SVwpgRfSGFqtHI zZ-26i@2mT>d-3X)KgSENJqS0wcMz^yb4H5eCn~`J#BIM-%df=ZzH5%TdrYCd&%ORd z?ArH;oHPgTJj)-3q|EQ38vdFK_vcN1>4)Ja&o5qIJ%ei$=@_l@=&{VpwT8qXAv-ts z%Apru{>{?$@A|dGP=}{QR~WB;FPa`iZE)?UI;gK!&fyYkf?x{V_^|H;L|=T2xO9K# zepOXg!AG`HmPW|Vv9^giH${?Yfm)EsufG0BrC19!`OS*va0P2;+c%pMX{<>oo zo-TE}&u}7zz4#xD@2ld^)DGjVoqvNTU-&y%yB!V-qd>T`t}D&b9061S4B_$%-j76v z;1PZJ=Forlfrs(J>tBPbTuz;f52QdJr_=jdWNYKVESPxA;eGq7XOJ&(Hp zM-dMas_q|tbY#cwKP+9a<`)xy3~`{nj$0@mHvsSboid3wSsSRbp$g`D=A5g<0)9Y% zLa&_&(tiiqEYQg`hTNWmm>7k9c&~&Q`h{^mme%Axnhc!Rj`3Ai z(w>@oDRRvL%V9gLT{U=D_P!f7*B*H4)R=^{x(|Z}mC>L!An62``cZ3JjAz@|;Gxcy zcq#3I^*r%7F>l}W@5COzb8fCW{p#!A!t-x@84dFWK*MnQF$Zl%m8!{;!n}+_5g{ZoAmPA@!hJZ^a1Mm?T4re9a#{j;=g-s;SVzf}Zkb zT4xLp*tNkaXc0d0)>S|1zWzIO_FIPF8DJb>*T ztMFvkYCK&T#FR<$-X1t5#a~^k;%8?L;No4c41eOU@BfQh$I558@3MU`sT+7Z&lF$9 z8Gw-gcVgwz%a7~*tMy4d^YQ}-J#gFI16n&kMys@&5YJjJAvdZC2Qw zNB%Yw1u1MpZ@v zIph%GyN;s=1m1ljLKy~KscFmJcim@3_aENNhsPBpG`C>Gi!wv`QD%X7Tg0!+6i=4y4sl9GKWuzv;lk z2WFG@!>_YN|RnOxp z6hb8%p)dprjJcWgi~T|jND2V<%HKf57~6spGYQoXk3DnnrMG^sbp1vDCN)TnfsX)4 zh(eVMfd&6hCLWNAoOvk4NL_$@bU=ufmUBJ=aJYO&zLLP84F=rawlw>RyFWAj#jpGu zG#Ys(p(dq=8!_kt&~LjpEFW9G;krjQT($n8l^0=mxnq9c{_QAz2!I$qgsz#c{IV zP~`F3GK+hv5EcjWz4zo-wl&MMoXg^^VT`X3raIc=+L7t{&D-j zEgMRUJ8ud`KonO=K9H~bg)mx-K*Wv{*9L)*3WPOVPVp%hg1Of*a8&Od1Y{Sl|B1;P zuidu!)$wfGz|{xgs2_R(3}M;gjksw2Em%5q9eO&~A*Cc&!9Q9Z>sS(3^QGRk+}81v zvj_1L(>pOVHH@S>22-1c$*Lfm35d*uKWHIoZUZh@FPkSsC)*@BW1b#=bH4!1G4)g`J2jDdOc-iKcN-S&^%uqJI!mRC%e zu=L-R6acM!hurjg66R&gS_432Ef69A#B0mM5a=x#S<9Y+xdNh2(|*^7Kecae>ug3# zcVgX|Ww>Dd^;kT3HM-kZ`*!uw!uu1wN}IxblQC{+OyQ?z_TjGSU1*y-3{#zeX-tC} zRUg3wmSE0()>e_&0Jv6ZBbz?vwM_s9dso4AZA!TH{&Uv>K!^Y|y;lSu#fUS~$D;9G zNmxC;ACc!rhyWUJ9>1YKv##SlFYMnbOAHdqj!eD0=h4?cU;g1Memya$ln{M|GI6O3 zaG4}Mh{J0GK$erb5nE~Zc^V;#+)IoTNMLOOOJ!u#hB|ekN?n*U{g_UMu%~@xck)mE z(WlY1gwfqOaNI)P$tXRL^Y#O_fe+UX_Gwd#V=oc4S*$Z=)Wp%z5kr00+!qoi%^&jpcG$oijZg= zd4E0cx-Cc7WM`5Jc+U^_Sc8GOHvsP_VYqJ2zUi&|9~pkR{|{DPwfYy0tXS8Uz7_zD ze781=rih)QEAy^?{Z3b6h9!5FEDWqEBclo$=tRwQqDsA}nm$aFmtuRzD(q}uiaqW9 zn00X6{?nrL`e~!w-eioMcnUvO-G{p-cc7zs7)fm$ralA8s;>XzKCEzraxPZp=GSc@ zaR%VAj{&#d-vBU;@ri9%IrMHMNBIi^Fw}c7E?9dr-rBJbu8=f?Tkk(7u*QsJb1xv% zTv1#a)dJKY#7@Xv15xNtt_zTXb0NQ0{u>NrhTLt7o#<9J$v&i4WNn;==-~Z51D?AHs*LyRdS0KT6dxq_qi{#w>{Ixk5**+pd-AVB=wX zknxYTk~BvEQ`olad0evo6KE#Ji@)@Q3~spclh}K33#Mmg;f8=_&xH}tO1*D4saNuC zfx!E&J!lHNBWcKSnAmu(N#y_H-=9{`Nl1>Cnyb zl>T_K5d0%j`X0{k?%D`GSlfqdt9wwXkDyeaK$^|KG-@ze!-eru$FOnaYn?K%w*~=j z44cX4ZmsKLz5&=X{1zr>cA~#y?Sc$I+I{V5Uxp97`*Zl}cYYOfRf3~1nm*gCvK-|WBZWoDh4j>hI(48<-I$|Z%$h!oRF+|9Wd(M(Ey2F_0Zf(3 zp+DcO?5A1jE7sz=#u2<{Za;3T?M6>+1Z|BYDA{SGb`A+QV3a5{Oe*-d5`&j?4uW%Q z!UOcIl_LP{3lC%Gz6a5}@#p<_5q~FoKLxO;=MsG6z5fTk_4sdMWb7HZn!p5Zz5ldO zexHcAu}(L%W3(Xa!6_yTvFKy0n0_UKpwRC}1o>5Er>I820u-{X4Fo!lFoa2HcF&=w z_dL1v_cq*d!M{lfNg_p53j>J4*HJ+Y?Wj>F>ZTjDq!)A4hmrC!>}*?(-5pD@ue~4R zX(enJI+ZqE{4Se+j+DN{jLYhixNUYAx6SUtqQ+sgXGc)BQz+Xxq^LV4X@t52Al(c< z+W@eQe#dcEz&XR9kTY)CBA}}S)BqgDQ!jlT8&-W7-Ic`)G6uv(V6bZ=e&o*o6VJW= zM|k>EW@7iBJA(z$C0EopCwq&&8ap}niKK>*=%5Rd@J5~ar?)zEo(ozuKS|y#yHyT zG|DuK66#3F!swWor~F>1xFC7G=RpK?g^)s;)gX{kt8;5d0FbY70`>Yfyt?I2aQ&s9 z5uWY&wE+E|5&&K0e%$h|&tm<`Tk*sTe~g18FT<_<8iOkkHgJYUg)<`3jbc2o~0`dHDkq3B3h=bJvK~>FDKnhzgo0&b8&aqdj15fXM z_@m30UcGkJs!g2qV7#&f+e<63y}TH^%R|^(?nW&!LAg)2!UK7QSG)}asMazJ5AVW( zktguh?uT$__i*>{L;V-rH28_0*%cRc*c!^jFoqrdV+;%TuNN+E(mdXV$FWIP! zDO`!_^wkKok}L!SngcM5=U(|bRxP~&D+X_!7yidzo*DrHVa3pm`0!ot!tMhP;hC5J z1|#FT)L2fy^|yX1{g@ciyPlP~^RgcN`|5J!6Q4{GxAesG{g zC9mkJrU_)hG90|N4Gv=42~+B_oojj~7q4G6xv2fR|6J*)U$p!R>?!wR%v2W6-%ll^ zUr2a?!veio1DDK<;azjXSTnY*ao=Bj`I~#D&9~;d*1cY-9-hA8;NxqS@-0&p^rK`T zK8%DDJi>=SPpg)Rqrq{GejlBBO(9wF0J3Mz-6hx-vjBMm;L-rkDUSyq`#pT*y{mGo zz~V?CM%?*uFKNSuXB)>S*zH4T2j|kwFu7 z9PSJXE1xNM?L@Qxfiuo8y7YZrAM@oVi^u?E&vWO$u%f%9-5q7*mAwN%7l^ts*uNC3 zmTkmP-+J_PtwmSIYP6RJVaU`7c=>1*`qQcKdK;tiEU=_Di%aK5aK+R)$SoXfZ`_dnOue!HUtJvCfPc}VUA#2^XsAx(-i+r9Kv}ssL+na(`bnL)^ z71?sc8mz0`w|{};#cv$+x{cEq#n==vt1|}FaQ!$!Ky{K zW5uG|aOBDz*n9ACy!zIo7#Z6R$02Y8jzwq=Kuyww%)j~x8idR+G6N(W-iX427wX@# ziP4&&xTDNMx+u!&d{`kyxrhIsKRe+5+EE+$bLFG{2)7Wg1Qt$U_zJ(Q31_ldAQ{bK=_L00PM$s!%yH_kN-Qo_vU|#?zUyQ1tHDRK>S!p8wi7)>(IY$ z9WGk?F&vrNii4xiW6REGuxsCDxTxR=90+9wt^(a`5P}{z83x}51Oh6}e+tTdAVF}3 zx`09jD6j|+xeJG-6QG2n#y{81%rDd-J!Q!&w|=X~QgRL7E696wr|gw-FIFyFg+&9a z(c85OT^%dX*}fcYl_4aQE~x0o^XjLwfEQI`jb$vY&0@pMVO%&njCC{n(A5}6yPZV4 zokqpZqQo^<$O9uK*$6FF-qov?-+j#wzjw=X-+b`T0F=nGAr72S`HyIQ|K5|q+DzDv zTzx!D|xd=cgmh7U0AwkDHaW`KyTM_bagC4NBc6gR~DnKJOCrZ zGRIQ#g+9ya_V9WeDg98RigmN2*f2eejWheuS3QU}oF4S)H~e~I_p{Qtq)W$#ByNscvmA;ch> zey5kYe%Wbx5M4tzW5v+TxMCAftxsTTW*3f3ZO7=5ZPr`r=|;m=U3kcKB*;LV!LS8!=3tuE-NI%Ltf2)SFsxsasVyE|01~Ld zEDIZuWi*H|nU>4nAGmgC$I^E%7v8sK1z*UE>rqCUwxO$|3w=HP=;<0jXU70K+6K^8 z9zdnik4mW@m2w}-X*Y~1!FZc?Y~?h_&v z001=tS`#=3U>2`!9>bQMFX7f}e+uhXd=QnSBR8TMUns{i2Efq`g5H*rHnerDMqkJ3 zd`0hSaO1;`FW3exYg92377--C*e{L3iNrs-8DRd`{&gp4%B@MLA)lsg^!ob30 z78Dr-_aD3=u*}FTB(!t$0d+R0flwubT|C;mea+;xyyWs#=vhQ)tF)t1Zbw_W6Xj9| z%B4<}OPwf{I#EhHQA)e~k*1wUlXfJgj2wO$C#KkEQpuao!9tHM;N2^1v8pzOP1z_m zRS#febw7G%4G;l5LTc9DT~@Na7wnYG^gyF#G* z`#J;l7K;E*?s5rh!z*x9Oe-+ZcPVbT@+Yuz@tr6qZAaaib~67GpTOgMl-uJxW~@c2 zWRPY++Q^XD227Tr+@3mb6P-UR^8~e-2CPZYNK#}bflUc@YdM3VqblY?_fO`zN0ZZ~ z;K%#EkEZNS;TdzaF-%PD#QxpGKiRft<2_v?n>rh#NV5qfb{fXc!DMqVwhnN^Ynb|D z%M2!m$zy3Bkue}LFi1h{e7*s}kP+|CNXaRA0=HUBce=ucR-dEh3WYy^Ip%gA0N~K# zbE$w7hph}bF~M2`wuH<&2zX|JERz&~T{OTF3Dg)EnH=Bz&^NyHPXRm+VEj~f9G+=8 zegqIpzzNL4kw{Epbo>Cm@$ehy>-jRSyZnP#x#TXim;2|DHXJJ|XqIE;s(ga40W5f7 zTQ;t$XaJNnQa_ILR_4EE+EfNS9bWlNDED!`kKE%&3FlF*AHmejZXB83j>BV{v1{)S zaA#5Y2mbeZfX_E?!D7h%RZsjF`U^~Yx>_V(7M}y}# z01Pt{ioHK0l~*=Il0HBRy5z7L(U0MS;HpdSz}gjeVxZ>|B(h)d zXvP3IxeNbHJ@-WAM2fs;T9M!G`)gM8_`dUk7IU>xOwI1aqAH0NY)*E=HROjy!BhRz5mjGpQLHK(GyOI0IYNplVF%U`Km9-o4_TA zCdJoH!aBHpkKxSPX$Xbgm zssUKbs9U_lih#$GU~tcz-nxhOA2w6u}n}kmN5e@%*`SH@_I=y8-0t#ThdinHvwcY>`e;kv<=}f{Kd99BWZnXC+tn#QvDN`1$OsGjkU+aN%um>gF_7UN zc9DP}{e#DkE}+~c!_n8}iUKZ8(FLN=KuC(f+67`DlW3q}<#7Q5S?K^+%V^lvV~RR6 zDwSW{P(pyA_5kPu(ID2W*of83FUMf-Md;~TkM{D=f}j;FaC>$?&FPa9xj6V3_ZL=l zMkAZWTy+Gq)kBz>8^+}HK8zmOgW*GaFm~iHn46V+4tao8pgueX>hfrEue&J&Se%yA zt3Ud4Km1$$-R&D3l~@8MS7%Y~1wV|%jvJ7zkpSO~?HD!!;1Mi<0Dw|h7`847Ac+tt zsu-}_Ef97M=$GZ&1oA!rHzy+84vO@%kg%T7XaHFTG%TUf(4VcNgVPRx0D-g{P_@9} z>G934eecg&rU-cERVEk%9Y|3mTPNINhaLdE=<8X6wJR^cP~Qf0cdbEJ`wFyI79%mG zV}e|8jK|KzCp;Moe=6OKSjijNENb;}%+*FQR~^C3+#yWQ9KiU*Fb<6D$LRQBXkH!^ zT$Nly_hygoxq45>Waho@n{ETJa>?4Ici!`3H~mIOrPOQ4fXTqhR$y-g*a&uBi~zfu z0f`4Ec76XuP?;$Mi5dVS1wj)$KS7m0-trlJhh(E+FWCtpVLU@gUNq-tG%`jb0~!sW zo>6#A3`Ax_2Y@AAn6tp)neokUJ#v4`7=Tkx0gfk{A_$BZ?xLK6n*j(|_VI~!y!iU# zaMNkdI2hB76-!rO@xUtdb}vU~`x3NO7NM;?fO4rHrL^5weVUB~j&Z+PPPC)YoSK}P zf-@S~92$*j)Ebkh)hC>iSI0109mVv_2#!o1!oiV)n4CU>pwzMVUP!@XZ>~}INqO|Q zBeHI+3Sjuaj^U?XczVl!x#{+cK9>+D#<;NG#`MhkmF7}&A=$JXSb2nc3;s`q@*U(I zdk#wB9e?;YTawANA;HR_@r7 z=grHx+tXm-B9YxMKKjbvEn3#M@uG{C|AcPeRz>t}KUHAu&Iy<&J|!NPFFCu0@}$K? z1Wb=BJTjVkd>-%5(ObwVz5scwD!x~Kr_c=x)S114XYyQ*j?6L|?CJomBxlzEG)uTp zU4-DGgt|P|jHeIqTIMtzf1`KR;iqRV>{<0At7rSsX;PGu3eu#6G$|pW5=>G;YD!2c zMQTzclz@`5^#5i2Cn+H_C1i;V52>eNS&(aiBx59514(@joHc-i@#KL+Z~g1n4}6Jx zHf=|_e+oe<8_{j^{pQE=s|WH*9V_>IXw!MPakgpQ*!FM#Af*H;jLRvFL1MzxAbCbuZ6i_eDEd~I!PbJa3=J^Wj*d@Wcwq0VTRD5Z zzUanDxq9bO4o3Hn2D1UqbHzRxiRi`0*z#N7`141<@Z&%C-Y;}@l$W~IUqDR36*QD{ zKl_<2f5?JT4I(_T3x{668V|sIO_hL3%GLaF&jdlgl4^%s0lSn(BUD= zu9(zS8?RqC{?gbblba9!ZT}ThHtpo2z2ARm64e6^PK->v_{ak<{?^?;di{SWfh)cM zN5N4y7kJ|`iI3Ev#XI<5z@Kx#yLM8zadK zmN}XU(DvcE{`OB!TFU?|An}A=f{3_LuYrYb2}npTDRSTxC(+r9D^!Y8RqrL>@e*g~ zYfSRTpZqyK->bdnKp3)aY|Beq9~xRY^gph+ZsR}otJ^pzvl9pES7H{H`iv^Q1qt1o zQ2R;SP9p`MZu7VLcqV|3Oir}rK276gj(&`Q$!2EZe;Vr#yDWw*hyt3e1BUMjn41bjHB zA)d~Dy8=;Q4=ChVB1WJA#|pjmq5t{t?~hK*ZgteqVq_r-Zdm4kBO^e%Y(sGRdSB3Y ztT+N;bq-{mGSCBdW8Q3$!3IyxKxSpfqXin)qHe9fHeAaO0s{`OpF3nk*#FxCY+@7! z;H-**I24|l`Ibx+9e~8LvqN?@83>z+AyFj$xy8`w*5(@)xRwaKCz=wraiaL4{8}T6)zAoslx~~R{wO8^W zL3=6mQ$0u~VQe8MEDQk&9p1kG$(J5}>Gx-eY~4sCKp|yUEI{CAl3NKCa?^SW=T#4_ z^ZLHHXJy-y^zfOz@`uRKEq-l4w>}34p~gOh{u*(FRKvG&q*g>l3UGEMSDn?cJ-#3~ z^6Wk(hzx;M%y+Qv%Kw&mBLGJM<$2(Q6TXlWlBgaq17OeA$6xuo?LXM_H*>IPfPF!Y znR6H()?6NH3Zf#fF5`&$`5vPWJyiL%O=q3*XBG{%Xut+wMpR3R9g6Ytv2;_u0@Q1E}hx_ z;+Mbs#e;_?U#NoS8(+?c{T52oW?f+~HU@GotuF6~y}cd?#l42~_#5(Ah7cjdgG!kr zj*~7##9Tyi+YwRAQ4@gHx-eSa0I2w45{HW+mmVp1c}v@#6VvzaaahpP%#i;L!I+ z6SkV*xeD^AEm=IHk8t=+%ejBN0}O!T!1E7C|JPB^_)4-j48CHl7hF{Fw^0>Ym|t~0 zR2E&JMH}$#$$g<7aB$|p$P2H3Cat;dK zkaHKX*o2G-4YBX)$;Ohiq~QNIn6P z2&1cxbn1OX7okpxW%?Sv&Ty_jcT0;02_1ZS^LMvD_tyWI$q02V!XkwI0SLrkvY~Yd z0OS;xi5!8eAzAlMVgO`W2jU?N;}*)2JXfCYy}m3D)mEf?T=5Ddq^0qup|FrvDa>0* zTHXLq6rY7IQtT$+Hn>EaT(qs{AB&7cJSY+u7xnRgQ!OmO+m$Ae(9W&jc>K?YcO86a zj>Rhr*hjfN0OUr)ykSs{BZ$&Eh0gRa?r4a&&w$+TENQMUmrC4?07;>DzN$NTx$zM5 zn8vKd^#2`T0Mti>INy7Fh=OZk$N>Nz6$0RX$Kg4#K~Q9%^)-c1fGXteOA|{z z_4kFGn#3TX`o!d`Z+`vp&rj8}$$CWF?JMtk06C+;WW)#{D8CqmjF3BAbfGx@aLP3e z074gu#rrSl(IxQkYs>tw8Cos`Xn6yWsPacC07cP&-|iS4!~kiOpe-lg4uFpc{9;H% zxv16*TFla)$KpXk6I*wGf7=tU{FhmB@#(2m?6HVu8%8Hgkxvc`9o1x)yYu0%+uN@@S|h#{R3$D*LcT3Q4F5 zSPk{1Q0Qt0Mj{JYOQsP3kRu}S4L(vjGVg^$mb+HUKi;4@Vyz ztT;#3JfacgKqu{cKZs||IUnvvcBGKgBTXQoZEybhx4t+!I{9)<6EB$(j9YZE7x(D^ z)Bp%@#}L>UurYu!qWp4-rP{9t`CEBYTL1GuNF1n(MRNuLeubH7u{J=<8vtSsM!>Qt zzZe9B?J*FeKpc&1Xs<^UKSrMe!3Y3RZV1ZTl0r_4#2_I6KX~>2Z~n&QT>VfTF}0Gk zcYT|V@^b_fLV2wngjy8UHMWTpTa17i$Ki>Xv=z1xL8 zfDNI)XZEpCGyoxxgkA&e^R|53hLP9&a7z&ygv154mYr`I@gSkO(IYSZ;DIN-Y_{HKz0s=+=0VA&Gvi@}8X|FNWsvEqkFF%B0f3IYraj1kXIav$);!B&!1 zd%yD}fwW(UeW(v8+b_uy$yoW_^AjMd7>hpehfTCm#NO41AxdihVk_B%&r z=61T#VL%l#p1zB#@i`@rjR1hKM=(Tqe!l>P7N3s{D842_(nw@N1R$tDy|!9OTHXNo zJdD&=tAdkPa=rD8z|fv;FajRVDX&BR^+#;sKy zZg~Tch;k-g`Q1Lb#JI;&4cSTe%*n}Tij0ELg~zW0G#Qq#t1glK0)?D$VYtmv!{gic ze1G#(FaOs$W~+RHIoz%sS_sw^;)H0Cs80B^?-Rh&d-#HHs2RCzkdW*DNB4bPz+s1> zDHwsy@&{0bCqhCdC^`X2g6Mbf&(Q@TN#qHPkvf4cr9{AaCx(z{n@4^wB7ie5%^;!e zk3RF2z1#PGwGM|6bZ9`S32+9IDJ}yGVhi$Hgc*jVZopA-SUX3ui_qw;q>W@qJU?KJ zb`nCAVB(@8G_p9?-`dGZ>l*-QPA*DsoWgt0Z(P`)5}`zdlyt|K7z}7pFIaMKNI*zo z#FJa>if)02j z2!|i~h#pH@>_oS+L`A_-w)O|l{LQyMKQ&uD)KJ0(7LRW&D9b; zAE5voGI=c~Mg?MVF!^*KYAr_{qE?cYHvpl?m+$>2jGV%&(x=c!Kn@^RBS;aa23r4* zY6pJ&v&GJIi%ZNTG<9g?`IjDf=69-@tz~`!lx4Eh!dUARU&H+vA0jD&iwLYBMVq=r zh>SrzT&DE}hBpRb&75;Kt!4mPel?i(^+R=DC$>1ZQrLy_aV-Ao5Mf3 zA$Pr*)++YCQ-tA|h4=1y;k9oME?Knxl1nf6WD0ngH{f!6PZpw(f6pf#ri)n4V>6e( z^-2%Fj?8rwLZ`q;#b2iY6`9y-2B7sL0A_F9gR%n&hqNFS+Tg z1<33ApES`GJxcfi$Wcq{8f?#X>C# zCLl2+?t~`{80#J@YJlfPqI$p)09zjU+XsGkVrpiGMF`KesF!#nVBPg0+!2O@0U#{` z${2x3r1Ec^AxIKJl7yA=2|=FAxgv8yK$^H~td*qY4S>(_pzFRl0Dd^s2oh0#Jy~(y zAEyc7HdcJ&fk4jt`+jec2%G~EBTxfyxHdEU>Jtw>`uXBjm=^#50;owuK~!oZo8l-u zkK25S=Kq#qGIx-*0SG2@1jY!y-vlE-1~Tju@c$v-x4G*nB`zX>vnULpMnnz$!TOlZ zJt5|dG=A_Sz(sR41H?Vue2Ygp2R*vXbqpGCNVUQUoEz~Vq5a!;KK{~kul$$HkhSqV zzcPIa92hoF>f(MKGYE&r9J7#PA__k{#vx9GYakJR!bC?hIM?6NiAalOEJ5ydDSls?B&z^g25>i; z4BA2;?&Lo3g3q=DOfs;qmNj+*IC5W$oa}d^-0N;i0Q$(7<)t)T&dl97%D^U{;A2>@ z$eW`H@{h?Q7NBV&4A<+mU2w!E_505C7jztHWdlHPC%#RN^elZIhEw=CIqLTnX}~!Z zxfT+HYoUa*AKfxsG^p1_trf0|R>lD^TohLaFp0Bk%shd>`RsiMcvMHS^#yEW?|N-N zul>Bc_F_O}B(fw>&S8{iloMi-(jT;?AA9Gq-P@s_N?M>gt$F=unp}UHG)(%T@1vv}d_?qU>$CO^4#Qn)81j zP5)`L$IoFm4_rTTRN|klrK80Xvw(tbe4QuWXeIu&7q9r&O4|0Cq^5@Rmj7Eg(87Th z4zzHfg##@dXyHH$2U11%hA;Xn%qS~$?cfff$5aG-?)EgWd!Knn+2 zIMBj@77ny;uJYwJt%JL@ZXG;`q}M zynOes|Mg!Jf87}>bNv;>el>|UK%X{1pE97omvV3jRz^oi$6#Z00y3kM)caGgGdTsB z*>UvjGP4=uuY9Rvmn=JF%!Zqx340MCaOW{5p$^e;+YuAJ88PAO5F5A(al}5sdm)nC z=ORf_gJd~vfHU>qX(3YWmmtY@5oCRaHB0=B2ToO)8!VyyUrt&@T0{Id!BVf5vt#ec?%u(U0RNZ*O5^g6_)?Lu7gcElxaMqK=QB*v^pQY8ES;Kjs$9^$=c z6aQJneqSY+OvV;3t={J8R-L< z4q8Xr3{(ADn9(mVGu%x%*h6{P15?8t=-PRFGs9m!&U?eeZbV5)>KcTn)*?EcxM%J{ zV#W?6CT~T20vFr@l}Icga&)m={PSCcltgnprkK`l&$43JC>cJO=) zx^x=T-0*){OFP>)C}qjFVd0)In8LEB(t zNc=mEXeRiJxQtT6HDdCPkepSB$Xt(zw9SZ2q5V(Ui8%Uz2`R)sWdq`qIo?ZHLHz00 za}&>`&^bs{&Sd{T4GFH)d*Yuc@VA?aIIF3MF`t4M)A6wBk=8u%*UML#8IGr)H;GtJ zq0cv+zTa#f7tj}EAHeZ|so@sVc4EE*Mn)v#TG9q|?mVg);NKAAvGN=-B`A9-LbIv+ z8JmdzHsZe%(MffPNum#sMBguI6JitAA})3%5~7wOF@k-6NDcLW2I9S_`@}zq_$Lwn z1lbhCT24l^>10G2SHik`aziXT3#|_C`@KaFMYJ^btLo>D@j5a?qxeif@9P`KT zA#v;%Pk$h8BVway1ET2rM=U~I@EpViH0Xb#dn5jilWF@WA=Y97qD&_s(r6T{x+OJB z{EZAURTid|urQklOVg>O>98`L&ErB6$AV^SVQ#(^W@bBKVpd1ocf;6Z7fej)|8=eW zi{r0+>HRKAwtgu!HqJ2A2N=Rl#saf85dX~xOWjWV>xe&N{fzlXMltTIj{P4%RP-L=zk{*AO^69u zjhMhCi1ioa|7!Yw(~;mpzt4UWVywp_(rgUEjYkvz3RriIZ^rnKq5e-I-qd~T*|4@= z02{02JTew&%Q*oVk*hw z>~l6DG?Vi>snq>s>VA@l_aC7Q93}q8823Mln3%(ejoy#g@STVaVP6pV0r6)H$a^m0 z-DV-qWjf;Q>GKi)DDyGY|51o&&iEU#|F;+q3(G24*;K5+pJLyClD^*w#K#>)Li7P7gzcdH-+$n9rE_JY$Gv+Hl z3`^%@q!X}mu7{;lJ>}pCx@k`TE8_ohSM4%y->l8Ihvd{knY)#`zX`#l&|JoQvpBDp z!TG(kLx@N@P8)EFbOzCh=NR`r$JpOlBqf|eQv5L_M(smJUM3|04xZ!YEHdp&^R;seFn?*fe0Bfh^uytMwnS3kk6m^if9)PXeQP{X1 zryQJsjr=5R<(vz4IR#6HQ=yh)ur0xX%S7C7wreqL6`;i~$_s7+^2Q zfRurt^@tg=6473Z5XJewD2Ew{w3&)<`pseN11y?>|2Nk_YDH>IdU1}v^h%#M`u29Q zF1hOKG6O;G^AY9EF|XfhWDMSjyufWJ4B3v-(Cru+UW;-;w1?%vyHGS_4|4qK5Nr@N zX@X8GZT_AnsVk`i={?drq&G>gk^V+{iSzfcskleZm9LnI}E>^eZ;@6 z0sk!GPYTVT-_Lk|c-jFTk0CtcH09tN|#{N;U%#>^DPA$HJmV%3sR*RxrIja3dwhGfQWIZH*1*@({)6vly@{XZ{0*4*BJRv>#iR5B3hNq+>V7NOhl$l-6D!D$Q3FO5@LEN(Dz_rO566l6;Y= zG>C2KDcVE&Uy_iKmq|_X@f5P5_V?a0@?1FCE9WqLat^{jdoKdAssF@0B%S>}=la4p z-xHBazd!9D@js3*fq%w1&H-IOd^&MY6Ebif3CYAig*G6W{XoKTB+(~Kh}^?iz*fZh zuVEjs4AJrhh;pn!gl#p#tQa@Z%KSgapF9-0)t2-&spoE`P1MzL_MQxlt)?zg{jaxR@&q zKNcrNZFH4v+3wz?_epP&{!V(4B<#i`{*-^$G#V4_n!5W(ugv}M&DsOMtX&wK$^M_% zhoo(y&TmFk>NZ5v_lruU{-++L4AA~(u2DJ`*f<5`S~bm19|-U zFIWo`~r8O8}HUp&p#b5t@??)Q|sB&;@yPF;~ekS@B6R+qcS3Xuj%)N zY|w59oAKp%=^*XJ{4?oN&Q@>9v06{kl(o~)caBtTOJ~eC;}Bvpk0B=g1V1CrsizR1a+=o=cjBLrewy!{ zpNpzft!8xidgg(1zCDnJfLQ z=9l2x!+3u`Pic?&y*oct|KrYA(>mhQ$pdg@yamozy5QtUUmPwE#KF>V)D=Xbt|SI^ z#WC1b9EqI;q1c^282by|u|NC0`s)?aYU=7n_W8TMoFE-xKXZ=0z;(*v*PyLe+aO{4 z@9%FO)z;s8hP!0qO6A*E>c;wGUPTE?3+Eysb1C(G1^km%!Z&#({F9d>Fl9OI{VM7` zcC;DcW zh|}h)#Zr~%BlZMKK52bk@nK%$^?2nzL=ItpIOGI^2iIeW?+N&M9fz;SF?hQlhL`&R zc)0I{yW1{OE!-5Fpm6>G`h7A=Gc{ioKAi9`h0ibSv+(Q0SfKY33rT;QkK}YXS_%<5 zD}2FEhDnPlvpYopFZ@PO2Gus}e))Kq4BY>|cuw(MKIhMK+v2lnU2t@a9afaYV?@?C zq@;43mOPhZ{Y9MXT~2*oMSRy%znSa7z91=eFVFYG(|6f%f91N5lIRyEvrkCQqVJb| z8cCUFkW4#}Oxuu_bP|~fCy)_)3~3REkP@^H$%A(z*?%V-4Xd6z{^aQkD{Q5Hx5h|2 z)z5st4mDvuPr5_AFVg>Bcp^bc;CGDp-A*Lo7rsh*sYYLF^I|LCPImHbDi^PMxOks| z-0N%ud7g&c{Ulu6j>E_2HrTmrgv@azdTI@QX#9uw5Wc7&(N7Ei zM2rE&Snzd{kQpH-nk!_I@qutDK#UPSDwV2ljFxJ}IO6Bo(sxhgzX%>Q%EZreU&QBC z8aO=47R!p0FgkMra?|D@g>sOPvWEWtX5z|uz}WSw*ItWu4~|%WIwkWcQnOAVC7Uup z{8MwzA}#A2(lgH?n`6b?lrzXlJcX>7<46yuEeJY)(y7nw=jzZ@s+ z{SEew&nx=KkIJOEI|obdyuLH(4U*tH*C;*cPpM(&vPnS)Zh`-`6@!tbpId; z+32{ySQ@ZPDS4dDkn$+U^KOlk_Vf9k+^22Q3EGDrYW{(1lLlZ{MG$7?O+Z=3Qe-5r z_;x_wEWcJ#K$pxJCCf~i^$Htgq(~^$YZP^H~B2G<4++o zinbu^I5IE_&=(FZ2#SI zA$4EXK_;^}Z{8+R6$QJbZ8dX8i3 z0H5}6o5V&hK9iocAL+SAh&!<@ID_nb;+=m9xw$IjW~xv?8OTq$fIP+sb7D^+Cz2FV z4_B)N&lCSPjN90=zyINvaa`kbP%rkaS4fuRkFcvxxc*G3VQqIvQ`+f!XBs*6X z>|HO@&R-zjlmXY1aAY6gsMyc*I^xgRu+uu?zZ6=Ue@y=$h5v6qQ?_c;%Kt5Gr^1O& zY1MGgtY%DaGP1HOFuf=iwIdvGX`&{+t$zLS<)O(ou)q9boTNH1!ugve<#RErcn=B+ zk0HB|w!To{e;GMB#6Mew{LIV9XN)kPapL^Av&fG*gS_a|aI;zbJn?_+<1(pQE#po8 z59OVH)Xs$_>e%axzvb8Cyra~xk{weyIA4Q<%SXiaBgX!DlwTwMS7-xh4`>S<*%vs- zkMi^VuyxwWxuMOlb65qfUJvj8ALs5*c8&7yT?eK|+Qd!$(I%w^wyCpWN8ipNZ7Sp$ zli`y&p1ED4Xse4cjpLN{Qdj&i`!VgqFS5`YH)r+6;YsP3KVk=lm!3gE0qsBW z&&j%iJb{1uB@}S3pdjvi1I3<&hwYN*iT{7Uo+#D-qWhGAAFHLWS361;)cF^ljE{F; zP5f<7sqCCSp+EO2aV0r@%KrTm;(wjEe@y+qN*TCFnK;e4p=12KK?Y>B0lj+vS^1yJ z7ytMDXe*1bv7cMV&4P6z=c!X>PzI`CPwbttCP9%s32xaF;hsGnUO8hJ`yGMUoKlqL zXJb)m0FI0?puPVO$Gok79g7OgoAl}KW1}qmJnv;(pDDxk@zXJ-!aCEsz z-|utU|Bq=C=ocu?kxpb;aJ}_do0}Z#=$dh3_Np2!z*hP zv)o3~JCi2mkeAyyk9GSV-}-KQ(Da&p?wxsUaebN-wpJ`b6~~0bX$OWSorkaebH%?M z<0Yr=w*TLAEVRHx>Ps1T$k^^~oFDdDsbOKEQpp7F_FohGZ(wV8TTONjx8dOQ4IG`n zrVLOPcl`uBdEfUo+oJ;QlRSYWfcL4&M=b zlFPT$f69TJwm`u?!R=!>xL<<3TRnR9pYc5Lf4QATjE9X!#Wym)Nw5hZ?txQa6+97E zVO(z!H4e6M;~+~O5Bv1-aLgJ5m)uGy3M%1NR0;P&;$J}gbA=34z%?;L_0M;L1`+!Q z`b#gj_G}j!IjX)idk$t7PsPD;Vfb=ZcjC-B@ZaehZqMwB9cjAjrs%2lQOsHX0iFCU zn*6;N_J>J>)$y>Vw(!XK>5UC;k~Ken%DNN8-&ECrzgq9VqYQjU8TcOd_CFB+AK)ba zo<0EOfHL6Z`XysTpTp7p8tE*0_kUjXACzrg{YQw7g+uWrTlev>^_~bD%7FC{QqTlg zhmVIWW<2Z?#={}C0e^?gvGfBf;X?cs0{@~>v;!lEe+Asrvu}6qAL>o)A5ot{*)Ak< zTzx9%4^lEeU$Ki*Ce3*p+7@ z2mBoo|9PLWzy0^v0JewYf}_i<)N=Pgx&Ey*-Te;nH@T#e+0y>oe#5-a@6;rd{m_8F zlfeH6#(=(OEbu!xyM4p>;7!t}q|4~jf9`Y8e|4YV!Pqosi>>n**t$~JJ!tEFC%|?H zkHp_5jCMbY{eJv-IHygZ?VmvG`8sbboD0T4UPv22{ddn7_!r&LwT~(keF^FAhrjPN z@sAqM_}_BIeK|+OJkf-Vy_^d;f}-5xm_2kqj!r1R?b%%$#t%(;*yJ0C^F}!kxfVy` zq*!9sjwI%2|L`Aw<0a17c>g8_L>b_Gz^)~hQXg@zC%X~xH@={fS%1lV@2{EfeH+#` zv;j6hFuwBx92|+ii;#gIiU0SU5BL^x&#xi(xB-RdHT3Pj@EPN;?(_etGa!AOqhlrg zk4f}1xVF-r*!%p7zisFQ*xiM{JZA#rdGrD4`^nk=yB5(0$R9=Qhr&vku#~vJOZpvM z6!=f7PvQE&zEL)+~bu_YF;Qz?hPl z=i25gIT9BUlWqNE*xY+Hzb|aSKUD?N1a-W#N&XsTj&tJ&Ry#=gyhhla$NW=jm>Hf` z*;;bkXYnQT|G$B?)wh%b%786pfPH`+ZGeO52Pg+}+5m<7H*od*5^f%!pnv}*&l>-~ zcki4W?rc~2qnvB3ot>xB=a>w8_eqek50DL}-Usm*HW7Bw6X6&~-B0D%FM9$Mx#OY8 zA4j4Om{$ppyy0+)O*{V5%YmB2zRmA5MAgJk9mCuHxY3>@YhU_Il(=a7@f zv46p3loY5iyhuekxPV<_7URZrQ|2eoM-Y8OlPwTOfeYW`Jl1VuHj%!1cj6-EVxIbs z-)+slr6cpXHrz8-X}s6BQ>9D0hDaW~PR#rKj=YOzC^by=PpYiVK7*CnO;}od1uLs> zxCVqWV9UOMHo(?_eSzo)h`)=#-}N@!+`odm$7dMOf9W&CU-{y{--)$!wj1}E!f7Vw zmr05laB-goM~|tn_n8bke~$N*vfrvEeg5rf)?3kDXDUoVO9l`K$+!w;xHloafEsTwnfq^&CK9;T4n?UB%GiD;QRy z!kFT7m{WWldq>Q|$KyJF^NWAhq?=80K;PgS#_x6oNN$gh&4a~+-*297K-7OaqOvsli1l1P;~Jowu%HZB2pO>X7FNO^u>YR10AT~@ z1IWK6Cb!|L_zG^WpP_%hWzPtI#&})~?%`lF;jp`WKHStam-nb)e^U)-ujz2|se*(5 zR5)-P=)`fLQ}`4(MNWoG%p}MYiGRvOxTX>RRQCPJML%j8L`D<)zdx9Z4|{!U_?MLm{4Zf-$vKQGIEg8_%mr}Hp0hhj z%BBupya$&i8K5m-yy^DYOsSN({8!-kpjJH2djePHR%mgqeCq@6#jzy~gSqi1TnG3C?Z8di0mg%DL`>i|WQ+yaJKpAa;5J<3Uqd0k zMH!&|@B1w5zuMpXw}sKT1)lPy@L(>LhhjP0U6(M|WFh;SdCW^F=kC|glyL0EBF=}IfAm)Y7XG;~l?jhq5 zrG`QOttzuYCt2s^JlFbP<~s0?U}^RVtSmmKFL0CN0{VushM1te<5!e{TX1&y9CGKY z=-Yci-s9WX2lAY6Dqq*>U6JGCvg(evd_BBKo~~=)>9z_UZj=MhC2(ckJr}OObMd7; z7+ehn>oK?n&wyL#G`K}n!98j!JYpxoBd!v*ewo`_wNl4;p3vW-{ZCv~pHh4fX|(C- zC8v-<{mv@p+)wdkR;~~y7)$xDon#gx~W3#7Z zdz1d(J-%9#Ent5j#&RDxNV>fCG5e?A@~`n;?=rWlP}u#4$(x8B9*UB}dA+bZca2A= z|9#h}%yhY?Q};M!;0$X#U4VtLihTj)z~U3iz~}S_zMwyFgRy}x7#I2sjt(Ee$>BVD zYt{Tw{M&YJpX2W9wDKE2`DXaJZiBC48@ydN!`p2Gyxcy7hv!PTdo803EP~u;J`}!l z;L7#bZmh}T7B~~`Av53}J{_JBlOYc(z4GSUA$pXl-|6>$%S(QzU3mPu`iz33$SSHw zb_sJlN-j|Ene##YFQm?wu>UWk4_Kbhm~R1NzXhi-oIb+H%zX%OnsLwk5BV%|Fgh@Q zrQ|oZpiw`GOZ|sVlAgfiK`nZm_xN2A!+c|BfaJ>GJNdx=K=`JO;}PZxd-3}JaQ)AV z%z5c#*k_5#Oq(^Gbhxft_bBUtoTLn#WnXZSeZdu2m|r7(3`?u)u(A1=UvJoc;&!SGIZMAJIAfTVz~M&fV_Osri!d_;`rQ5;pai;US=pPhFc zxx_WM@GSfM3-tLp*GJ5Y>Gzi~2V`h2@n=5JFpdX@WuHPh^M@nS{=XnBmRK6S6i;F>B+p%D#i%DyXRg_c87AnoZp|A2fB&l z1W&7fbuu#4nts)^-#VD|-wG3LuJIqpHQxHiSm%p!V00E{lmm0qOSA=-IWD}!ap5`0 zZ0liXyBC^0Cq5jmnwKZ=SDNnd>yh6VeUHcscV+*w@0Y$u+(*d3eR6QN zq}AcjL3v-B^0TYrdMBaJ{GbX~qZY87DdlTkHLh z*=!~Lqw>h_C+xo(Vmzh;CyyO0uZ6#yx+52uAH!hx6U4us#QbB$5%{|8hmXf@czM;* z25f?d_gc97tb(WiGI#|nf)8sl`v%X3jdS@jw&O8kJiqelx37qQV zN#A8K?)M?<0B)i$z&?RBfX!I@)xzWuYr(MYry19Ro9||QknOOs{1836m*+hN{(sl% zQX1y(yzxhW7h>;ng!tF9?>|GGKSwz@Pddlfr{P06@TNWRWbV0#$4<(?7I=EoN8}n+ zZ~x`+r3@%MCmes}l@Kkq?C z?q$j6P?~g>IUlD{99xePt_diM-3Kq5N8>N2qBnxlb<)8XH)e-x{7%V@9 z!HV-3%$!3%*DJ*SD*FNzUtfZc>p9|ol4F4*Tz{~iGEhfv=_9eZ#C>9PJpr2R2cQ11*3lRVXVE3{-CG<%lc0StOabek+gww zu#U7ERwfJ4qf0^F;$w~j zt`Yys@M8X!z;qGqHB&ng8)Og&e$2UsId$i7{fmHrHoiyrmqbUCUwAeKd@Ej)$Sv6d0;y zU>;>)F=as1ffaSZSFUDZKaF zq(9^{{mN)%yOgNy^+Pl3iFrNs{RD=k)?+wjVFcHK4`;srDC+&F#M2ngIx%HJ_rnhp z{{tup+xevU3mN#=XCoNLzuN||Ki=*qISH(OZP&AX)hGx5V4O;8V|bfkQQAJYjk=V; zuxkYjCB)HKxYx_f-a*BtYCe}m9zz`SRZf&tPJO&cjxpX^LM(5 zH9e2OK<)3n*1uzXmZ!nkJ6^BF7+VlqoE`jmD zrD_?l;2r@2e<#B^nC@q=Z&!#EHqS`XVw=Uo|K1`Ht+rJ&`=Bl0dwa1_d@MLXC zFQet~HroszOOEqwPty*lm_PRk=?nNe+@u`bgg0|iJsdxStHZ~nD{ynX$m3}^+02&_Xnx_2Z{e-j7~a=F-gZ!nRpx{SsQ3r z>|qRzI)Kvfy(ErPt)6WCpTL;wB4gBJv?l!N12C4CAwK)HUC;BCQe$BINR?sd0^(l+ z{Vo;I?^a10FiDNSLEpJB=)aIMumnarOVxdW*`SrM&|3i?lNzYXyEU!N{#^L9oOjCQ z9JC4BFUGR3`E_{b<$tsd(01;VaNbk99G*JN&1H>Y4?T|G4cEZSbQgRqxX#r20(@*f zf{*Rzq#GPd-Gqni23&1FgWUEy=_=_GoUQ9`YrH@555#yL#Y<(ow1|!M><^A*n(p*_N2P{t`*4*(r+hX323>~1pxbB|2>i9E|9$4t1}uV+ z_EP!+%NZMBJ#hL079@Y;xwtl*_>0(rAkmLee(%&sKQg9u;u_a-F7$pe(Xq#n?H>K| z;n{B(y!uzdbHHS{v(CK7AdcY;X#-3Tz?-oJZ%Y+*=sLWtKZmFF4Y>2Du=*4(e9y`9 z8k{XJp`Yf0KN#bA6hEl{As^P4C+|UpAl3w~NZLvL--%HvyQu%WNqdR^0X2=_eo+;~ ze^}IBRB*p2U#s87{~mO=M(qE_ybxEe;rQy8@fdk1^3j)BtLFqB(Vsr(SD*GhrH0P? z5h{I+eCSjEg%4oZy%L7B|AveS81|k|{Hgl`RuFr}hjhh$0Q3R5FMyxXeB$5Z-tlCU z9TW0ESw5TH9z*)3z_oWV+zIzCqyDEWOa{BOahCZ17$ zM9mXk!#(x>tUv01hZvPU`+xl|Wz_u<#D6S|G^>bz4fTI9$AXLn^k2i+FyjHb>lqv5 z9#I3=(ta<(<#Nr3=E8kB?sb$JhQPH?5nOwf!cD6T9=$5yp*0$Ay(Yk|FXwHv7r|@L zI(QjyOvnA^Jh;!Co5^LknO=p0Vc#m>9|d<33~J*)Px*1jrt|{<~4%#ro#g znWw44`1~|=d|qJRgg=kW6Z&??V9A-+{Yibl;05v5NL1-}6~5na`u`2OZ=}T-K<@=G z>bsI-fVH&!+yh2u8*M*HZ!7l);`)F30NK_yo34~di$$#gbsYy0U!olUH0wpou=j#@ zzal95ltQ6Z3fG=xaO*jYG=i_k@I9{A>dSSU1D3&4cN4ty_Q1p7DBQW{peyH}TnxAl zo#bM0@XK!RL@FHL?J4rAh5kGz+o)`p>|Ik|6ucV6-1Dm>WF>}%t-`SIRTv(z8Y9Bj zVpRA>jE>xjG0{6Pj zihILZ8q~sCe+_zR6cwiScwMa5@638U4(D^EQD=%4joBm0A0a2s?0@+?whO3Vw^2=TpiD<9}|`>I(ywp^*E%6$UIu$&jTO%Kg8F zg{;8vkPk2_lrj*u5o02@5&vBnAHNq9=o3z09oZ0vS(O1D|08Oai8?4fSnJO9GUF`F z%RI#TD?h6Jqb7ZCviXhJi~K--=RZ&1_NNsYrN*G{xhg}g@$~nm(&ksw=5xH)cZJ&K z8xPn_-6!@s-1BMBe&W8L@5OaDn#7&DFYh)CF7z>6XlvxOHF8b%1HGrio#PCT{>=5zUJF<4t#ILd zbhKeD&KBD?^e>IRrO2-nK9Z)B+8^$}~F)cHcOeS>7NF370g4ANK@_d$5aym`Qq&wugnRu71-j8=v+Z)>~=HSJ6d6S1^MchTrlm7$k8}aX1p)wM&zP^pv4_MFf z-d2wHx!;TSF2?^@>z_FR7J94!t$&!hf3OjM&i{5AohS64)b_t`#mi;=E5CB+HwBJ; znU~v#>oIy&!bxisoZ08Q(C#}Cf5%S5Urj<5_@h0HlD;$FYSK0Gqtq&Q$9Wnc+P z16QCdWDSPJY{7_xU5pLw$5hsw{B(--gWKCAr@W`|@re7n-GS;HoPQJdr^r(hxIL>s z>c7?)l~F(1{QmUy2CO6ITN<#}*-7m8u zUVSCJzjeRy=NzdRn1UY3v(P{jAXA#<9mQe%6!9h#LPu;xF`n7V)np z{=~is{{Y&6A@m0Vm!ddqHRt~}avqqqvAKWLc-EBtcp~v<|HE9r+oD#-b@n;z+f!G{ zBm?3tYGMmN^}g8n(_r>2zoXR9>orSd%rTzP0O~!lH)IZ&f%YEazmNDI;M~t4Vt<&v zztI0i{09+#y=~~)Zp7$58Y9Lza*ohZXE_`=o_8ED4^I7=vrik~+;ZzL1$FqK(-c9gJM= z@0#aM{MiQ-tNQ?9|L35Xd%%%7p#BF@0_$`g#I)1MLGm9)ywZVeSifgk%0A+!y=^ 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 literal 0 HcmV?d00001 diff --git a/NovetusLauncher/NovetusCMD/app.config b/NovetusLauncher/NovetusCMD/app.config new file mode 100644 index 0000000..970c80b --- /dev/null +++ b/NovetusLauncher/NovetusCMD/app.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/NovetusLauncher/NovetusCMD/packages.config b/NovetusLauncher/NovetusCMD/packages.config new file mode 100644 index 0000000..08e33ab --- /dev/null +++ b/NovetusLauncher/NovetusCMD/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/NovetusLauncher/NovetusLauncher.sln b/NovetusLauncher/NovetusLauncher.sln index f5de56c..b84b65e 100644 --- a/NovetusLauncher/NovetusLauncher.sln +++ b/NovetusLauncher/NovetusLauncher.sln @@ -4,6 +4,10 @@ Microsoft Visual Studio Solution File, Format Version 11.00 # SharpDevelop 5.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NovetusLauncher", "NovetusLauncher\NovetusLauncher.csproj", "{F92FFBED-2767-4676-9711-BB89CDA58A43}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NovetusCMD", "NovetusCMD\NovetusCMD.csproj", "{BAC99C87-F6C1-4ED0-AA2E-05C6AE8979EA}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NovetusShared", "NovetusShared\NovetusShared.csproj", "{759BFC2B-C130-4A2A-A01F-65ABFEE85B4C}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -14,5 +18,13 @@ Global {F92FFBED-2767-4676-9711-BB89CDA58A43}.Debug|Any CPU.Build.0 = Debug|Any CPU {F92FFBED-2767-4676-9711-BB89CDA58A43}.Release|Any CPU.ActiveCfg = Release|Any CPU {F92FFBED-2767-4676-9711-BB89CDA58A43}.Release|Any CPU.Build.0 = Release|Any CPU + {BAC99C87-F6C1-4ED0-AA2E-05C6AE8979EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BAC99C87-F6C1-4ED0-AA2E-05C6AE8979EA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BAC99C87-F6C1-4ED0-AA2E-05C6AE8979EA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BAC99C87-F6C1-4ED0-AA2E-05C6AE8979EA}.Release|Any CPU.Build.0 = Release|Any CPU + {759BFC2B-C130-4A2A-A01F-65ABFEE85B4C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {759BFC2B-C130-4A2A-A01F-65ABFEE85B4C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {759BFC2B-C130-4A2A-A01F-65ABFEE85B4C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {759BFC2B-C130-4A2A-A01F-65ABFEE85B4C}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal diff --git a/NovetusLauncher/NovetusLauncher/CharacterCustomization.cs b/NovetusLauncher/NovetusLauncher/CharacterCustomization.cs index 45b53f4..e3faa23 100644 --- a/NovetusLauncher/NovetusLauncher/CharacterCustomization.cs +++ b/NovetusLauncher/NovetusLauncher/CharacterCustomization.cs @@ -16,6 +16,7 @@ using System.Text; using System.Text.RegularExpressions; using System.Diagnostics; using System.ComponentModel; +using NovetusShared; namespace NovetusLauncher { diff --git a/NovetusLauncher/NovetusLauncher/ClientScriptDocumentation.cs b/NovetusLauncher/NovetusLauncher/ClientScriptDocumentation.cs index 98402b6..a807486 100644 --- a/NovetusLauncher/NovetusLauncher/ClientScriptDocumentation.cs +++ b/NovetusLauncher/NovetusLauncher/ClientScriptDocumentation.cs @@ -10,6 +10,7 @@ using System; using System.Drawing; using System.Windows.Forms; using System.IO; +using NovetusShared; namespace NovetusLauncher { diff --git a/NovetusLauncher/NovetusLauncher/ClientinfoCreator.cs b/NovetusLauncher/NovetusLauncher/ClientinfoCreator.cs index c7f67d3..2daa1fb 100644 --- a/NovetusLauncher/NovetusLauncher/ClientinfoCreator.cs +++ b/NovetusLauncher/NovetusLauncher/ClientinfoCreator.cs @@ -12,6 +12,7 @@ using System.Windows.Forms; using System.IO; using System.Diagnostics; using System.Threading; +using NovetusShared; namespace NovetusLauncher { diff --git a/NovetusLauncher/NovetusLauncher/ItemMaker.cs b/NovetusLauncher/NovetusLauncher/ItemMaker.cs index 9f8f535..eeef097 100644 --- a/NovetusLauncher/NovetusLauncher/ItemMaker.cs +++ b/NovetusLauncher/NovetusLauncher/ItemMaker.cs @@ -13,6 +13,7 @@ using System.Net; using System.IO; using System.Reflection; using System.ComponentModel; +using NovetusShared; namespace NovetusLauncher { diff --git a/NovetusLauncher/NovetusLauncher/LoaderForm.cs b/NovetusLauncher/NovetusLauncher/LoaderForm.cs index 6dcb01c..d36d2db 100644 --- a/NovetusLauncher/NovetusLauncher/LoaderForm.cs +++ b/NovetusLauncher/NovetusLauncher/LoaderForm.cs @@ -16,6 +16,7 @@ using System.Reflection; using System.Security.Cryptography; using System.Text; using System.Text.RegularExpressions; +using NovetusShared; namespace NovetusLauncher { diff --git a/NovetusLauncher/NovetusLauncher/MainForm.Designer.cs b/NovetusLauncher/NovetusLauncher/MainForm.Designer.cs index 3b4bef1..67eb72f 100644 --- a/NovetusLauncher/NovetusLauncher/MainForm.Designer.cs +++ b/NovetusLauncher/NovetusLauncher/MainForm.Designer.cs @@ -57,7 +57,6 @@ namespace NovetusLauncher this.button6 = new System.Windows.Forms.Button(); this.textBox3 = new System.Windows.Forms.TextBox(); this.treeView1 = new System.Windows.Forms.TreeView(); - this.checkBox2 = new System.Windows.Forms.CheckBox(); this.button23 = new System.Windows.Forms.Button(); this.button22 = new System.Windows.Forms.Button(); this.numericUpDown3 = new System.Windows.Forms.NumericUpDown(); @@ -313,7 +312,6 @@ namespace NovetusLauncher this.tabPage2.Controls.Add(this.button6); this.tabPage2.Controls.Add(this.textBox3); this.tabPage2.Controls.Add(this.treeView1); - this.tabPage2.Controls.Add(this.checkBox2); this.tabPage2.Controls.Add(this.button23); this.tabPage2.Controls.Add(this.button22); this.tabPage2.Controls.Add(this.numericUpDown3); @@ -346,7 +344,7 @@ namespace NovetusLauncher // // checkBox4 // - this.checkBox4.Location = new System.Drawing.Point(152, 198); + this.checkBox4.Location = new System.Drawing.Point(152, 187); this.checkBox4.Name = "checkBox4"; this.checkBox4.Size = new System.Drawing.Size(104, 17); this.checkBox4.TabIndex = 57; @@ -382,16 +380,6 @@ namespace NovetusLauncher this.treeView1.TabIndex = 54; this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.TreeView1AfterSelect); // - // checkBox2 - // - this.checkBox2.Location = new System.Drawing.Point(152, 182); - this.checkBox2.Name = "checkBox2"; - this.checkBox2.Size = new System.Drawing.Size(134, 16); - this.checkBox2.TabIndex = 53; - this.checkBox2.Text = "Disable Teapot Turret"; - this.checkBox2.UseVisualStyleBackColor = true; - this.checkBox2.CheckedChanged += new System.EventHandler(this.CheckBox2CheckedChanged); - // // button23 // this.button23.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); @@ -1079,7 +1067,6 @@ namespace NovetusLauncher private System.Windows.Forms.Label label7; private System.Windows.Forms.Label label2; private System.Windows.Forms.TabPage tabPage5; - private System.Windows.Forms.CheckBox checkBox2; private System.Windows.Forms.Button button23; private System.Windows.Forms.Button button22; private System.Windows.Forms.Button button7; diff --git a/NovetusLauncher/NovetusLauncher/MainForm.cs b/NovetusLauncher/NovetusLauncher/MainForm.cs index ad14137..0b76301 100644 --- a/NovetusLauncher/NovetusLauncher/MainForm.cs +++ b/NovetusLauncher/NovetusLauncher/MainForm.cs @@ -15,6 +15,7 @@ using System.Diagnostics; using System.ComponentModel; using System.Reflection; using Mono.Nat; +using NovetusShared; namespace NovetusLauncher { @@ -411,7 +412,6 @@ namespace NovetusLauncher numericUpDown2.Value = Convert.ToDecimal(GlobalVars.RobloxPort); label37.Text = GlobalVars.IP; label38.Text = GlobalVars.RobloxPort.ToString(); - checkBox2.Checked = GlobalVars.DisableTeapotTurret; checkBox4.Checked = GlobalVars.UPnP; ConsolePrint("Config loaded.", 3); ReadClientValues(GlobalVars.SelectedClient); @@ -727,8 +727,7 @@ namespace NovetusLauncher void ConsolePrint(string text, int type) { - richTextBox1.AppendText("[" + DateTime.Now.ToShortTimeString() + "]", Color.White); - richTextBox1.AppendText(" - ", Color.White); + richTextBox1.AppendText("[" + DateTime.Now.ToShortTimeString() + "] - ", Color.White); if (type == 1) { richTextBox1.AppendText(text, Color.White); @@ -844,7 +843,6 @@ namespace NovetusLauncher client.Exited += new EventHandler(ClientExited); client.Start(); SecurityFuncs.RenameWindow(client, ScriptGenerator.ScriptType.Client); - SecurityFuncs.InjectAntiCheat(client); GlobalVars.presence.details = ""; GlobalVars.presence.state = "In " + GlobalVars.SelectedClient + " Game"; GlobalVars.presence.largeImageText = GlobalVars.PlayerName + " | In " + GlobalVars.SelectedClient + " Game"; @@ -1389,18 +1387,6 @@ namespace NovetusLauncher GlobalVars.RobloxPort = GlobalVars.DefaultRobloxPort; } - void CheckBox2CheckedChanged(object sender, EventArgs e) - { - if (checkBox2.Checked == true) - { - GlobalVars.DisableTeapotTurret = true; - } - else if (checkBox2.Checked == false) - { - GlobalVars.DisableTeapotTurret = false; - } - } - void TreeView1AfterSelect(object sender, TreeViewEventArgs e) { if (treeView1.SelectedNode.Nodes.Count == 0) diff --git a/NovetusLauncher/NovetusLauncher/NovetusLauncher.csproj b/NovetusLauncher/NovetusLauncher/NovetusLauncher.csproj index b1f786b..8d35410 100644 --- a/NovetusLauncher/NovetusLauncher/NovetusLauncher.csproj +++ b/NovetusLauncher/NovetusLauncher/NovetusLauncher.csproj @@ -18,6 +18,9 @@ False obj\$(Configuration)\ 4 + False + False + OnBuildSuccess x86 @@ -32,16 +35,18 @@ Full False True - DEBUG;TRACE + DEBUG;TRACE;LAUNCHER;NOVETUS_APPS + obj\ bin\Release\ False None True - False - TRACE + True + TRACE;LAUNCHER;NOVETUS_APPS obj\ + Project @@ -79,7 +84,6 @@ ItemMaker.cs - LoaderForm.cs @@ -129,5 +133,11 @@ + + + {759bfc2b-c130-4a2a-a01f-65abfee85b4c} + NovetusShared + + \ No newline at end of file diff --git a/NovetusLauncher/NovetusLauncher/Program.cs b/NovetusLauncher/NovetusLauncher/Program.cs index 7b9ac48..f723525 100644 --- a/NovetusLauncher/NovetusLauncher/Program.cs +++ b/NovetusLauncher/NovetusLauncher/Program.cs @@ -8,6 +8,7 @@ */ using System; using System.Windows.Forms; +using NovetusShared; namespace NovetusLauncher { diff --git a/NovetusLauncher/NovetusLauncher/Properties/AssemblyInfo.cs b/NovetusLauncher/NovetusLauncher/Properties/AssemblyInfo.cs index 606c495..b9ac767 100644 --- a/NovetusLauncher/NovetusLauncher/Properties/AssemblyInfo.cs +++ b/NovetusLauncher/NovetusLauncher/Properties/AssemblyInfo.cs @@ -1,31 +1,27 @@ -#region Using directives - +#region Using directives using System; using System.Reflection; using System.Runtime.InteropServices; #endregion - // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("Novetus")] -[assembly: AssemblyDescription("Launcher for old ROBLOX clients")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Bitl")] -[assembly: AssemblyProduct("Novetus")] -[assembly: AssemblyCopyright("(c) Bitl 2018-2019. All rights to ROBLOX go to the ROBLOX Corporation")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - +[assembly: AssemblyTitle ("Novetus")] +[assembly: AssemblyDescription ("Launcher for old ROBLOX clients")] +[assembly: AssemblyConfiguration ("")] +[assembly: AssemblyCompany ("Bitl")] +[assembly: AssemblyProduct ("Novetus")] +[assembly: AssemblyCopyright ("(c) Bitl 2018-2019. All rights to ROBLOX go to the ROBLOX Corporation")] +[assembly: AssemblyTrademark ("")] +[assembly: AssemblyCulture ("")] // This sets the default COM visibility of types in the assembly to invisible. // If you need to expose a type to COM, use [ComVisible(true)] on that type. -[assembly: ComVisible(false)] - +[assembly: ComVisible (false)] // The assembly version has following format : // // Major.Minor.Build.Revision // // You can specify all the values or you can use the default the Revision and // Build Numbers by using the '*' as shown below: -[assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion ("1.0.*")] diff --git a/NovetusLauncher/NovetusLauncher/QuickConfigure.cs b/NovetusLauncher/NovetusLauncher/QuickConfigure.cs index 15c80f0..3bd1946 100644 --- a/NovetusLauncher/NovetusLauncher/QuickConfigure.cs +++ b/NovetusLauncher/NovetusLauncher/QuickConfigure.cs @@ -15,6 +15,7 @@ using System.Text; using System.Text.RegularExpressions; using System.IO; using System.ComponentModel; +using NovetusShared; namespace NovetusLauncher { diff --git a/NovetusLauncher/NovetusLauncher/ServerInfo.cs b/NovetusLauncher/NovetusLauncher/ServerInfo.cs index 4ba7bad..1b5fb91 100644 --- a/NovetusLauncher/NovetusLauncher/ServerInfo.cs +++ b/NovetusLauncher/NovetusLauncher/ServerInfo.cs @@ -10,6 +10,7 @@ using System; using System.Drawing; using System.Windows.Forms; using System.Net; +using NovetusShared; namespace NovetusLauncher { diff --git a/NovetusLauncher/NovetusLauncher/LauncherFuncs.cs b/NovetusLauncher/NovetusShared/LauncherFuncs.cs similarity index 98% rename from NovetusLauncher/NovetusLauncher/LauncherFuncs.cs rename to NovetusLauncher/NovetusShared/LauncherFuncs.cs index 45b68ce..d4d6b11 100644 --- a/NovetusLauncher/NovetusLauncher/LauncherFuncs.cs +++ b/NovetusLauncher/NovetusShared/LauncherFuncs.cs @@ -26,7 +26,7 @@ using System.Net.Sockets; using System.Net; using Mono.Nat; -namespace NovetusLauncher +namespace NovetusShared { /// /// Description of LauncherFuncs. @@ -39,7 +39,7 @@ namespace NovetusLauncher public static void ReadConfigValues(string cfgpath) { - string Decryptline1, Decryptline2, Decryptline3, Decryptline4, Decryptline5, Decryptline6, Decryptline7, Decryptline8, Decryptline9, Decryptline10; + string Decryptline1, Decryptline2, Decryptline3, Decryptline4, Decryptline5, Decryptline6, Decryptline7, Decryptline9, Decryptline10; IniFile ini = new IniFile(cfgpath); @@ -52,7 +52,6 @@ namespace NovetusLauncher Decryptline5 = ini.IniReadValue(section, "Map"); Decryptline6 = ini.IniReadValue(section, "RobloxPort"); Decryptline7 = ini.IniReadValue(section, "PlayerLimit"); - Decryptline8 = ini.IniReadValue(section, "DisableTeapotTurret"); Decryptline9 = ini.IniReadValue(section, "ShowHatsOnExtra"); Decryptline10 = ini.IniReadValue(section, "UPnP"); @@ -74,9 +73,6 @@ namespace NovetusLauncher int iline7 = Convert.ToInt32(Decryptline7); GlobalVars.PlayerLimit = iline7; - bool bline8 = Convert.ToBoolean(Decryptline8); - GlobalVars.DisableTeapotTurret = bline8; - bool bline9 = Convert.ToBoolean(Decryptline9); GlobalVars.Custom_Extra_ShowHats = bline9; @@ -99,7 +95,6 @@ namespace NovetusLauncher ini.IniWriteValue(section, "Map", GlobalVars.Map.ToString()); ini.IniWriteValue(section, "RobloxPort", GlobalVars.RobloxPort.ToString()); ini.IniWriteValue(section, "PlayerLimit", GlobalVars.PlayerLimit.ToString()); - ini.IniWriteValue(section, "DisableTeapotTurret", GlobalVars.DisableTeapotTurret.ToString()); ini.IniWriteValue(section, "ShowHatsOnExtra", GlobalVars.Custom_Extra_ShowHats.ToString()); ini.IniWriteValue(section, "UPnP", GlobalVars.UPnP.ToString()); WriteCustomizationValues(cfgpath.Replace(".ini","_customization.ini")); @@ -116,7 +111,6 @@ namespace NovetusLauncher GlobalVars.Map = GlobalVars.DefaultMap; GlobalVars.RobloxPort = 53640; GlobalVars.PlayerLimit = 12; - GlobalVars.DisableTeapotTurret = false; GlobalVars.Custom_Extra_ShowHats = false; GlobalVars.UPnP = false; ResetCustomizationValues(); @@ -833,17 +827,8 @@ namespace NovetusLauncher RenameWindow(exe, type); } } - - public static void InjectAntiCheat(Process client) - { - if (client.IsRunning() == true) - { - var injector = new DllInjector(); - injector.Inject(client, GlobalVars.BasePath + "\\AntiCheat.dll"); - } - } } - + public static class RichTextBoxExtensions { public static void AppendText(this RichTextBox box, string text, Color color) @@ -980,7 +965,7 @@ namespace NovetusLauncher } else if (type == ScriptType.Server) { - return "_G.CSServer(" + GlobalVars.RobloxPort + "," + GlobalVars.PlayerLimit + "," + md5s + "," + GlobalVars.DisableTeapotTurret.ToString().ToLower() + ")"; + return "_G.CSServer(" + GlobalVars.RobloxPort + "," + GlobalVars.PlayerLimit + "," + md5s + ")"; } else if (type == ScriptType.Solo) { @@ -1254,7 +1239,7 @@ namespace NovetusLauncher } else if (type == ScriptGenerator.ScriptType.Server) { - return "dofile('" + luafile + "'); _G.CSServer(" + GlobalVars.RobloxPort + "," + GlobalVars.PlayerLimit + "," + md5s + "," + GlobalVars.DisableTeapotTurret.ToString().ToLower() + ")"; + return "dofile('" + luafile + "'); _G.CSServer(" + GlobalVars.RobloxPort + "," + GlobalVars.PlayerLimit + "," + md5s + ")"; } else if (type == ScriptGenerator.ScriptType.Solo) { @@ -2114,7 +2099,6 @@ namespace NovetusLauncher public static int DefaultRobloxPort = 53640; public static int WebServer_Port = (RobloxPort+1); public static int PlayerLimit = 12; - public static bool DisableTeapotTurret = false; //player settings public static int UserID = 0; public static string PlayerName = "Player"; diff --git a/NovetusLauncher/NovetusShared/NovetusShared.csproj b/NovetusLauncher/NovetusShared/NovetusShared.csproj new file mode 100644 index 0000000..d7f12fa --- /dev/null +++ b/NovetusLauncher/NovetusShared/NovetusShared.csproj @@ -0,0 +1,59 @@ + + + + {759BFC2B-C130-4A2A-A01F-65ABFEE85B4C} + {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Release + AnyCPU + Library + NovetusShared + NovetusShared + v4.0 + Properties + + + AnyCPU + + + bin\Debug\ + True + Full + False + True + DEBUG;TRACE + + + bin\Release\ + False + None + True + False + TRACE + + + + 4.0 + + + ..\packages\Mono.Nat.1.2.24.0\lib\net40\Mono.Nat.dll + + + + 3.5 + + + + + + 3.5 + + + + + + + + + + + \ No newline at end of file diff --git a/NovetusLauncher/NovetusShared/Properties/AssemblyInfo.cs b/NovetusLauncher/NovetusShared/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..a4be006 --- /dev/null +++ b/NovetusLauncher/NovetusShared/Properties/AssemblyInfo.cs @@ -0,0 +1,31 @@ +#region Using directives + +using System; +using System.Reflection; +using System.Runtime.InteropServices; + +#endregion + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("NovetusShared")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("NovetusShared")] +[assembly: AssemblyCopyright("Copyright 2019")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// This sets the default COM visibility of types in the assembly to invisible. +// If you need to expose a type to COM, use [ComVisible(true)] on that type. +[assembly: ComVisible(false)] + +// The assembly version has following format : +// +// Major.Minor.Build.Revision +// +// You can specify all the values or you can use the default the Revision and +// Build Numbers by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.*")] diff --git a/NovetusLauncher/NovetusShared/obj/Release/NovetusShared.dll b/NovetusLauncher/NovetusShared/obj/Release/NovetusShared.dll new file mode 100644 index 0000000000000000000000000000000000000000..d93da04278bf56a1953fe29a6dcc9e25b7fb9057 GIT binary patch literal 46592 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 R_bmCpMd1G@=l@9!{BMtEP8 + + + \ No newline at end of file diff --git a/NovetusLauncher/packages/repositories.config b/NovetusLauncher/packages/repositories.config index 73d7205..599e613 100644 --- a/NovetusLauncher/packages/repositories.config +++ b/NovetusLauncher/packages/repositories.config @@ -1,4 +1,6 @@  + + \ No newline at end of file