From 222d6a3ade7cdf7bc6c0df62f4452770a86bfa82 Mon Sep 17 00:00:00 2001 From: hegyak Date: Sun, 22 May 2016 08:34:31 -0700 Subject: [PATCH 1/5] Add the missing mF8_sega file. --- BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj b/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj index 2fd13ce80d..86c22bdfdb 100644 --- a/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj +++ b/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj @@ -328,6 +328,7 @@ + @@ -438,8 +439,8 @@ - GambatteLink.cs - + GambatteLink.cs + GambatteLink.cs From 3194e2cdd7acd0c6c6dd050f79c62a5e40eab114 Mon Sep 17 00:00:00 2001 From: adelikat Date: Sun, 22 May 2016 15:33:49 -0400 Subject: [PATCH 2/5] document what is going on with mF8_sega --- .../Consoles/Atari/2600/Mappers/mF8_sega.cs | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/BizHawk.Emulation.Cores/Consoles/Atari/2600/Mappers/mF8_sega.cs b/BizHawk.Emulation.Cores/Consoles/Atari/2600/Mappers/mF8_sega.cs index aa5d519283..871c7d412f 100644 --- a/BizHawk.Emulation.Cores/Consoles/Atari/2600/Mappers/mF8_sega.cs +++ b/BizHawk.Emulation.Cores/Consoles/Atari/2600/Mappers/mF8_sega.cs @@ -2,24 +2,14 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600 { - /* - F8 (Atari style 8K) + /* + F8 Sega ----- - This is the fairly standard way 8K of cartridge ROM was implemented. There are two - 4K ROM banks, which get mapped into the 4K of cartridge space. Accessing 1FF8 or - 1FF9 selects one of the two 4K banks. When one of these two addresses are accessed, - the banks switch spontaniously. - - ANY kind of access will trigger the switching- reading or writing. Usually games use - LDA or BIT on 1FF8/1FF9 to perform the switch. - - When the switch occurs, the entire 4K ROM bank switches, including the code that is - reading the 1FF8/1FF9 location. Usually, games put a small stub of code in BOTH banks - so when the switch occurs, the code won't crash. + Apparently some of Sega's games have banks that are physically flipped, so even though this game uses a common mapper, the initial bank that gets pointed to is incorrect. */ - internal class mF8_sega : MapperBase + internal class mF8_sega : MapperBase { private int _bank4K=1; From ef318aa0f8c3fbad653740c8d78d3ecf0ad2518e Mon Sep 17 00:00:00 2001 From: zeromus Date: Sun, 22 May 2016 15:00:45 -0500 Subject: [PATCH 3/5] fix noise in some cores during pause --- BizHawk.Client.EmuHawk/MainForm.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/BizHawk.Client.EmuHawk/MainForm.cs b/BizHawk.Client.EmuHawk/MainForm.cs index dae1249495..0024be8a3c 100644 --- a/BizHawk.Client.EmuHawk/MainForm.cs +++ b/BizHawk.Client.EmuHawk/MainForm.cs @@ -2871,6 +2871,10 @@ namespace BizHawk.Client.EmuHawk } } } + else + { + atten = 0; + } if (Global.ClientControls["Rewind"] || PressRewind) { From 491307b85c248554c253458f1954c9e98e16e73a Mon Sep 17 00:00:00 2001 From: adelikat Date: Sun, 22 May 2016 18:52:14 -0400 Subject: [PATCH 4/5] About box - replace outdated contributers list with a link to the github stats page, put release date under version info instead of next to it (now that we have the extra real estate) --- BizHawk.Client.EmuHawk/BizBox.Designer.cs | 117 ++++++---------------- BizHawk.Client.EmuHawk/BizBox.cs | 10 +- 2 files changed, 38 insertions(+), 89 deletions(-) diff --git a/BizHawk.Client.EmuHawk/BizBox.Designer.cs b/BizHawk.Client.EmuHawk/BizBox.Designer.cs index 200143f814..f13e742ba9 100644 --- a/BizHawk.Client.EmuHawk/BizBox.Designer.cs +++ b/BizHawk.Client.EmuHawk/BizBox.Designer.cs @@ -32,20 +32,15 @@ this.OK = new System.Windows.Forms.Button(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.linkLabel1 = new System.Windows.Forms.LinkLabel(); - this.label1 = new System.Windows.Forms.Label(); - this.label2 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); - this.label5 = new System.Windows.Forms.Label(); - this.label6 = new System.Windows.Forms.Label(); - this.label7 = new System.Windows.Forms.Label(); - this.label27 = new System.Windows.Forms.Label(); - this.label37 = new System.Windows.Forms.Label(); this.CoreInfoPanel = new System.Windows.Forms.Panel(); this.textBox1 = new System.Windows.Forms.TextBox(); this.VersionLabel = new System.Windows.Forms.Label(); this.btnCopyHash = new System.Windows.Forms.Button(); this.linkLabel2 = new System.Windows.Forms.LinkLabel(); + this.linkLabel3 = new System.Windows.Forms.LinkLabel(); + this.DateLabel = new System.Windows.Forms.Label(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.SuspendLayout(); // @@ -83,24 +78,6 @@ this.linkLabel1.Text = "Bizhawk Homepage"; this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked); // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(198, 84); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(46, 13); - this.label1.TabIndex = 3; - this.label1.Text = "Authors:"; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(198, 99); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(149, 13); - this.label2.TabIndex = 4; - this.label2.Text = "vecna, adelikat, zeromus, natt"; - // // label3 // this.label3.AutoSize = true; @@ -121,51 +98,6 @@ this.label4.TabIndex = 6; this.label4.Text = "\"A multi-platform emulator...\r\nfor productive people.\""; // - // label5 - // - this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(198, 119); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(66, 13); - this.label5.TabIndex = 8; - this.label5.Text = "Contributors:"; - // - // label6 - // - this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(198, 133); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(220, 13); - this.label6.TabIndex = 9; - this.label6.Text = "DarkKobold, Micro500, TaoTao, Rolanmen1,"; - // - // label7 - // - this.label7.AutoSize = true; - this.label7.Location = new System.Drawing.Point(198, 147); - this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(216, 13); - this.label7.TabIndex = 10; - this.label7.Text = "Deign, Brandon Evans, Pasky13, link_7777,"; - // - // label27 - // - this.label27.AutoSize = true; - this.label27.Location = new System.Drawing.Point(198, 161); - this.label27.Name = "label27"; - this.label27.Size = new System.Drawing.Size(201, 13); - this.label27.TabIndex = 12; - this.label27.Text = "SaxxonPike, MasterofPuppets, Scepheo,"; - // - // label37 - // - this.label37.AutoSize = true; - this.label37.Location = new System.Drawing.Point(198, 176); - this.label37.Name = "label37"; - this.label37.Size = new System.Drawing.Size(96, 13); - this.label37.TabIndex = 13; - this.label37.Text = "null_ptr, MightyMar"; - // // CoreInfoPanel // this.CoreInfoPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) @@ -194,11 +126,11 @@ // VersionLabel // this.VersionLabel.AutoSize = true; - this.VersionLabel.Location = new System.Drawing.Point(198, 66); + this.VersionLabel.Location = new System.Drawing.Point(198, 75); this.VersionLabel.Name = "VersionLabel"; - this.VersionLabel.Size = new System.Drawing.Size(104, 13); + this.VersionLabel.Size = new System.Drawing.Size(108, 13); this.VersionLabel.TabIndex = 7; - this.VersionLabel.Text = "timestamp goes here"; + this.VersionLabel.Text = "versioninfo goes here"; // // btnCopyHash // @@ -225,6 +157,27 @@ this.linkLabel2.Text = "Commit #XXXXXXX"; this.linkLabel2.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel2_LinkClicked); // + // linkLabel3 + // + this.linkLabel3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.linkLabel3.AutoSize = true; + this.linkLabel3.Location = new System.Drawing.Point(198, 112); + this.linkLabel3.Name = "linkLabel3"; + this.linkLabel3.Size = new System.Drawing.Size(63, 13); + this.linkLabel3.TabIndex = 20; + this.linkLabel3.TabStop = true; + this.linkLabel3.Text = "Contributers"; + this.linkLabel3.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel3_LinkClicked); + // + // DateLabel + // + this.DateLabel.AutoSize = true; + this.DateLabel.Location = new System.Drawing.Point(198, 91); + this.DateLabel.Name = "DateLabel"; + this.DateLabel.Size = new System.Drawing.Size(104, 13); + this.DateLabel.TabIndex = 21; + this.DateLabel.Text = "timestamp goes here"; + // // BizBox // this.AcceptButton = this.OK; @@ -232,20 +185,15 @@ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.CancelButton = this.OK; this.ClientSize = new System.Drawing.Size(448, 536); + this.Controls.Add(this.DateLabel); + this.Controls.Add(this.linkLabel3); this.Controls.Add(this.linkLabel2); this.Controls.Add(this.btnCopyHash); this.Controls.Add(this.textBox1); this.Controls.Add(this.CoreInfoPanel); - this.Controls.Add(this.label37); - this.Controls.Add(this.label27); - this.Controls.Add(this.label7); - this.Controls.Add(this.label6); - this.Controls.Add(this.label5); this.Controls.Add(this.VersionLabel); this.Controls.Add(this.label4); this.Controls.Add(this.label3); - this.Controls.Add(this.label2); - this.Controls.Add(this.label1); this.Controls.Add(this.linkLabel1); this.Controls.Add(this.pictureBox1); this.Controls.Add(this.OK); @@ -266,19 +214,14 @@ private System.Windows.Forms.Button OK; private System.Windows.Forms.PictureBox pictureBox1; private System.Windows.Forms.LinkLabel linkLabel1; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label4; - private System.Windows.Forms.Label label5; - private System.Windows.Forms.Label label6; - private System.Windows.Forms.Label label7; - private System.Windows.Forms.Label label27; - private System.Windows.Forms.Label label37; private System.Windows.Forms.Panel CoreInfoPanel; private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.Label VersionLabel; private System.Windows.Forms.Button btnCopyHash; private System.Windows.Forms.LinkLabel linkLabel2; + private System.Windows.Forms.LinkLabel linkLabel3; + private System.Windows.Forms.Label DateLabel; } } \ No newline at end of file diff --git a/BizHawk.Client.EmuHawk/BizBox.cs b/BizHawk.Client.EmuHawk/BizBox.cs index f2702b7e28..ee7077cc64 100644 --- a/BizHawk.Client.EmuHawk/BizBox.cs +++ b/BizHawk.Client.EmuHawk/BizBox.cs @@ -38,7 +38,8 @@ namespace BizHawk.Client.EmuHawk Text = "Version " + mainversion + " (GIT " + SubWCRev.GIT_BRANCH + "#" + SubWCRev.GIT_SHORTHASH + ")"; } - VersionLabel.Text = "Version " + mainversion + " " + VersionInfo.RELEASEDATE; + VersionLabel.Text = "Version " + mainversion; + DateLabel.Text = VersionInfo.RELEASEDATE; var cores = Assembly .Load("BizHawk.Emulation.Cores") @@ -50,7 +51,7 @@ namespace BizHawk.Client.EmuHawk .OrderByDescending(a => a.CoreName.ToLower()) .ToList(); - foreach(var core in cores) + foreach (var core in cores) { CoreInfoPanel.Controls.Add(new BizBoxInfoControl(core) { @@ -71,5 +72,10 @@ namespace BizHawk.Client.EmuHawk { System.Windows.Forms.Clipboard.SetText(SubWCRev.GIT_SHORTHASH); } + + private void linkLabel3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + System.Diagnostics.Process.Start("https://github.com/TASVideos/BizHawk/commit/" + SubWCRev.GIT_SHORTHASH); + } } } From 96416e13d95d19e15cdbfaeb1a1a070cd55d2365 Mon Sep 17 00:00:00 2001 From: zeromus Date: Mon, 23 May 2016 14:33:36 -0500 Subject: [PATCH 5/5] fix regressions in lua's support for UTF-8 strings, likely created around the time of the sandboxing. --- LuaInterface/Lua/src/LuaDLL.cpp | 22 +++++--- LuaInterface/Lua/src/lua514.vcxproj | 5 ++ LuaInterface/LuaInterface.sln | 51 ++++-------------- LuaInterface/LuaInterface/LuaInterface.csproj | 22 ++++---- References/x64/LuaInterface.dll | Bin 60928 -> 60928 bytes References/x64/lua51.dll | Bin 276480 -> 276480 bytes References/x86/LuaInterface.dll | Bin 61440 -> 61440 bytes References/x86/lua51.dll | Bin 213504 -> 225280 bytes 8 files changed, 39 insertions(+), 61 deletions(-) diff --git a/LuaInterface/Lua/src/LuaDLL.cpp b/LuaInterface/Lua/src/LuaDLL.cpp index db8bb12a13..d191a1444a 100644 --- a/LuaInterface/Lua/src/LuaDLL.cpp +++ b/LuaInterface/Lua/src/LuaDLL.cpp @@ -707,16 +707,22 @@ namespace Lua511 static int luaL_loadbuffer(IntPtr luaState, String^ buff, String^ name) { - char *cs1 = (char *) Marshal::StringToHGlobalAnsi(buff).ToPointer(); - char *cs2 = (char *) Marshal::StringToHGlobalAnsi(name).ToPointer(); + //zero 23-may-2016 - get rid of this GARBAGE. lua can load UTF-8, why not use that? + //char *cs1 = (char *) Marshal::StringToHGlobalAnsi(buff).ToPointer(); + //char *cs2 = (char *) Marshal::StringToHGlobalAnsi(name).ToPointer(); + ////CP: fix for MBCS, changed to use cs1's length (reported by qingrui.li) + //int result = ::luaL_loadbuffer(toState, cs1, strlen(cs1), cs2); + //Marshal::FreeHGlobal(IntPtr(cs1)); + //Marshal::FreeHGlobal(IntPtr(cs2)); - //CP: fix for MBCS, changed to use cs1's length (reported by qingrui.li) - int result = ::luaL_loadbuffer(toState, cs1, strlen(cs1), cs2); + array ^ _buff = System::Text::Encoding::UTF8->GetBytes(buff); + array ^ _name = System::Text::Encoding::UTF8->GetBytes(name); + char* lbuff = "", *lname = nullptr; + pin_ptr p_buff, p_name; + if(buff->Length != 0) { p_buff = &_buff[0]; lbuff = (char*)(System::Byte*)p_buff; } + if(name->Length != 0) { p_name= &_name[0]; lname = (char*)(System::Byte*)p_name; } - Marshal::FreeHGlobal(IntPtr(cs1)); - Marshal::FreeHGlobal(IntPtr(cs2)); - - return result; + return ::luaL_loadbuffer(toState, lbuff, _buff->Length, lname); } static int luaL_loadfile(IntPtr luaState, String^ filename) diff --git a/LuaInterface/Lua/src/lua514.vcxproj b/LuaInterface/Lua/src/lua514.vcxproj index dd43b824ac..9f89c43ae6 100644 --- a/LuaInterface/Lua/src/lua514.vcxproj +++ b/LuaInterface/Lua/src/lua514.vcxproj @@ -435,4 +435,9 @@ + + + + + \ No newline at end of file diff --git a/LuaInterface/LuaInterface.sln b/LuaInterface/LuaInterface.sln index 4063257da1..802afdddd4 100644 --- a/LuaInterface/LuaInterface.sln +++ b/LuaInterface/LuaInterface.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 -VisualStudioVersion = 14.0.24720.0 +VisualStudioVersion = 14.0.25123.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lua51", "Lua\src\lua514.vcxproj", "{0A82CC4C-9A27-461C-8DB0-A65AC6393748}" EndProject @@ -9,66 +9,33 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LuaInterface", "LuaInterfac EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|Mixed Platforms = Debug|Mixed Platforms - Debug|Win32 = Debug|Win32 Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|Mixed Platforms = Release|Mixed Platforms - Release|Win32 = Release|Win32 Release|x64 = Release|x64 Release|x86 = Release|x86 - Release-LUAPERKS|Any CPU = Release-LUAPERKS|Any CPU - Release-LUAPERKS|Mixed Platforms = Release-LUAPERKS|Mixed Platforms - Release-LUAPERKS|Win32 = Release-LUAPERKS|Win32 Release-LUAPERKS|x64 = Release-LUAPERKS|x64 Release-LUAPERKS|x86 = Release-LUAPERKS|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 - {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Debug|Mixed Platforms.Build.0 = Debug|Win32 - {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Debug|Win32.ActiveCfg = Debug|Win32 - {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Debug|Win32.Build.0 = Debug|Win32 {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Debug|x64.ActiveCfg = Debug|x64 - {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Debug|x86.ActiveCfg = Debug|x64 - {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Release|Any CPU.ActiveCfg = Release|Win32 - {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Release|Mixed Platforms.ActiveCfg = Release|Win32 - {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Release|Mixed Platforms.Build.0 = Release|Win32 - {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Release|Win32.ActiveCfg = Release|Win32 - {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Release|Win32.Build.0 = Release|Win32 + {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Debug|x64.Build.0 = Debug|x64 + {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Debug|x86.ActiveCfg = Debug|Win32 + {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Debug|x86.Build.0 = Debug|Win32 {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Release|x64.ActiveCfg = Release|x64 {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Release|x64.Build.0 = Release|x64 - {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Release|x86.ActiveCfg = Release|x64 - {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Release-LUAPERKS|Any CPU.ActiveCfg = Release-LUAPERKS|Win32 - {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Release-LUAPERKS|Mixed Platforms.ActiveCfg = Release-LUAPERKS|Win32 - {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Release-LUAPERKS|Mixed Platforms.Build.0 = Release-LUAPERKS|Win32 - {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Release-LUAPERKS|Win32.ActiveCfg = Release-LUAPERKS|Win32 - {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Release-LUAPERKS|Win32.Build.0 = Release-LUAPERKS|Win32 + {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Release|x86.ActiveCfg = Release|Win32 + {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Release|x86.Build.0 = Release|Win32 {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Release-LUAPERKS|x64.ActiveCfg = Release-LUAPERKS|x64 {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Release-LUAPERKS|x64.Build.0 = Release-LUAPERKS|x64 {0A82CC4C-9A27-461C-8DB0-A65AC6393748}.Release-LUAPERKS|x86.ActiveCfg = Release-LUAPERKS|Win32 - {F55CABBB-4108-4A39-94E1-581FD46DC021}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F55CABBB-4108-4A39-94E1-581FD46DC021}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F55CABBB-4108-4A39-94E1-581FD46DC021}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F55CABBB-4108-4A39-94E1-581FD46DC021}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {F55CABBB-4108-4A39-94E1-581FD46DC021}.Debug|Win32.ActiveCfg = Debug|Any CPU {F55CABBB-4108-4A39-94E1-581FD46DC021}.Debug|x64.ActiveCfg = Debug|x64 + {F55CABBB-4108-4A39-94E1-581FD46DC021}.Debug|x64.Build.0 = Debug|x64 {F55CABBB-4108-4A39-94E1-581FD46DC021}.Debug|x86.ActiveCfg = Debug|x86 - {F55CABBB-4108-4A39-94E1-581FD46DC021}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F55CABBB-4108-4A39-94E1-581FD46DC021}.Release|Any CPU.Build.0 = Release|Any CPU - {F55CABBB-4108-4A39-94E1-581FD46DC021}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {F55CABBB-4108-4A39-94E1-581FD46DC021}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {F55CABBB-4108-4A39-94E1-581FD46DC021}.Release|Win32.ActiveCfg = Release|Any CPU + {F55CABBB-4108-4A39-94E1-581FD46DC021}.Debug|x86.Build.0 = Debug|x86 {F55CABBB-4108-4A39-94E1-581FD46DC021}.Release|x64.ActiveCfg = Release|x64 {F55CABBB-4108-4A39-94E1-581FD46DC021}.Release|x64.Build.0 = Release|x64 {F55CABBB-4108-4A39-94E1-581FD46DC021}.Release|x86.ActiveCfg = Release|x86 - {F55CABBB-4108-4A39-94E1-581FD46DC021}.Release-LUAPERKS|Any CPU.ActiveCfg = Release-LUAPERKS|Any CPU - {F55CABBB-4108-4A39-94E1-581FD46DC021}.Release-LUAPERKS|Any CPU.Build.0 = Release-LUAPERKS|Any CPU - {F55CABBB-4108-4A39-94E1-581FD46DC021}.Release-LUAPERKS|Mixed Platforms.ActiveCfg = Release-LUAPERKS|Any CPU - {F55CABBB-4108-4A39-94E1-581FD46DC021}.Release-LUAPERKS|Mixed Platforms.Build.0 = Release-LUAPERKS|Any CPU - {F55CABBB-4108-4A39-94E1-581FD46DC021}.Release-LUAPERKS|Win32.ActiveCfg = Release-LUAPERKS|Any CPU + {F55CABBB-4108-4A39-94E1-581FD46DC021}.Release|x86.Build.0 = Release|x86 {F55CABBB-4108-4A39-94E1-581FD46DC021}.Release-LUAPERKS|x64.ActiveCfg = Release-LUAPERKS|x64 {F55CABBB-4108-4A39-94E1-581FD46DC021}.Release-LUAPERKS|x64.Build.0 = Release-LUAPERKS|x64 {F55CABBB-4108-4A39-94E1-581FD46DC021}.Release-LUAPERKS|x86.ActiveCfg = Release-LUAPERKS|x86 diff --git a/LuaInterface/LuaInterface/LuaInterface.csproj b/LuaInterface/LuaInterface/LuaInterface.csproj index 16029ce38c..65f895e1fc 100644 --- a/LuaInterface/LuaInterface/LuaInterface.csproj +++ b/LuaInterface/LuaInterface/LuaInterface.csproj @@ -49,7 +49,7 @@ true full false - ..\..\references\ + ..\..\references\x86\ DEBUG;TRACE prompt 4 @@ -61,7 +61,7 @@ pdbonly true - ..\..\references\ + ..\..\references\x86\ TRACE prompt 4 @@ -86,7 +86,7 @@ true - bin\x86\Debug\ + ..\..\references\x86\ DEBUG;TRACE full x86 @@ -100,7 +100,7 @@ ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - bin\x86\Release\ + ..\..\references\x86\ TRACE true pdbonly @@ -131,7 +131,7 @@ true - bin\x64\Debug\ + ..\..\references\x64\ DEBUG;TRACE full x64 @@ -145,7 +145,7 @@ ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - bin\x64\Release\ + ..\..\references\x64\ TRACE true pdbonly @@ -219,13 +219,13 @@ - - {0A82CC4C-9A27-461C-8DB0-A65AC6393748} - lua51 - + - + + {0a82cc4c-9a27-461c-8db0-a65ac6393748} + lua51 + HD*sFA=H;GMvQTudkm#V?*iAqMgCzrvIxe!Q?O&X^GE!tKUi$Yh9nF; z)T=AhNVx|#?#KVY()E;<-~i*k9FLG}>7)O3)^k!!%SX~!*VHWy@qGudFx>#Kdzw)y zo?$)W5jMIP4X_&qNZ92t21coUeWmIl=j1f|((~HuaF_W=U;f5*HZ1t9A;fXWMN6>k z9>Uq5EUe$4mXzIH!R|bGRD>(KHw0($PM`p$D0(Q!kwDJ*ll7F&_TdZvWYdSk&I7o( z;{-JqX|Ts=+?sbl4=S6p(BQl;QJ&Jr2U+i%@>>M9f@<-Q8!XKKp_6bphRhRgz?kU! z-h9>#Hb+O9C(HAW^AB%e{VBFL@8@BiJDj<|=m=&iq-i!b_F~d+gf9I;A}{r@9@0CB z{C*FcB;A(CfAFw*-b}tcy5%wU5W`vvGL$}7)aswCP4cQ_pbkD+|Hyf(ks3AQ%t(U3q;=|+$c#MI$3&o zabm2w4?RVxgQ-j-2lnDwQcLu8AMn>DsYt>Ci(W1DlA?R^Thvmz^tqLntEIW#OpD*= z->IeN?Ml^TNJze_ogrxnT2!TK!EisJH02Tb0L2o`dPLsYCdG^GQk;3eHO0m@v8t6= zif&xqiCB;rd61vfQ+n`QKFCk%Eg}vy`A7loACW@!vEPO{P{M| zkG6T<;Cq&9=*cpl-_S}OA*yxom#k7?9MAHX5~GS!6lq045=5z+2mik-{9})q!`Juoqs|16aD$` zI%$Bk{xDApkV>SK!@M>?S`~5W5V}#8E{W{NAP+eXoRn7_=Uw&E)AqsiDNl#BBP=4( z!LN0411JxihWH)?Dx7yqv-;n0Ox=p>SZJu!`Blt-0{bu|CTud0mz@DIoODjO?6?;K zRU%f*Tq9`zYPTzyT2>K*UC+rMdUotZr;^vx4oPK+pdtr0S2#=B?vk9$HC*G&#Ob`` zP{iApp#F0AS+J5=alLU07+Glv zqL426@p_8o%M`*OPSimrFwOZ^$Q}m%R5pvXe@>eaT)$&E#YDZIX1h3N+|O7;Ygw*N zKpRqiA}{>{@E<;urKRPUaO?~qUBPgSOaB8EOR;>dPQap^O-%=E0mqQJU@%~JEQ4o{ z8uIJ`r-m>$sm6{E)sw+b- zbn*}WO0YCg+I5kC7c9kxZn!8A3mJ`kQNUSmKJQ|blKVe`aDg&-?8FLHKU&;{$bUp$ zNgqy<;Bv1Hx>}EVNf(dhou!uumT=ql2UOi zGD$hfi@;mLw^(qi&6EZYmntF)N=wC|@OKF0V`hwsO+7fSpmd!Gw!u54Nh+3>yv=)r zNGbm%gXi~B>-{BzjeGg}5NVmTWe*Psl@isqtBel{mBzD6+#M<0Xo(?zo%i&VzTSq)W=E~<9 za%D_QRE-~y?ta=O$Dwm&I2BU<0(+x@P0?JDAdn2#M`cF&z1GljCG?X*tkey?!ZX69 zu3Df&9=MC&5iSi?3i~EnDNMTiaegdZvgoNp(^(MR-{OCSOJjrLsT7hpK9Hm0d2xg^ zNZMb>?~joBOUoYP??p&?(j)OaI1=bxlgaOhl+vV;nf%#EDM$U%b;d77O6Ag|aeQW! zl%&y*gR{WbqNH#?W3k^;OZcl%QjWcOm~hM_xo*%d`%g=41mmWEie7{>0RBDI_3dQR zA+Gp?nYQ5fGJfyj_a%N^uj4=-{JaVe@7|}C7uNz`#7n_$(jooh0FY{gPzMipVY6?B z#-(%RQNM#p)o6>=m1%-*0I$)Itxc{-#~}?;nqlsdRGT*lHcH0r24gkcxI+z|;VIW` z*BGmb(YlJG5f6^>_^Z)UC;JC)L4L;eKeS3MrO}ixqykYI%-c<{B>^|HxQ-{}8({5T z|GP8-ohQhZz7`NBQo&-KnfBYLz}CB_{c=w%MMxNLvD9CaT%$K$Cp#x_jl{J2@<^;L z*+!GzE;^G%Ye{`;uM13NL5 zs$PzAva1JFb#@psJc?+*W#c9hUCFDBXI6g{7d6qhy}2$DAkp{F&x0h zU`Fp^PRW(2aSqpD0ogfR*NDlgh(;J|g#m}B+6%^^W~GoOOEJJK^aC_bv9o&uR?I=e z-WG4vQU=t{2kPZuq%gk#Pe&?32%?wA;lT_v!NNlgf&efSg}xS`Uswb_nqFKv%VPE* zRXy$+h6spfZxf-GD)JWy3&sJsrO0n7Ox&>y1qi)R%FocMejYZm5*da!-i}eTHH#K} z;9CaaMry?-jY!})9(tl_f;F|eXOZ!Sp>tG)?T;N6^)rL)of3$NaEba+qi1Hrz}&d% zG}ZWo9Cj8RQ|a%GpDHtG6FP28{X9!d6q+!GnlJ{{iUC2vtRC!u-ZLOA(IKsPg2WV! ze7%*45EZ#i5P!iqVA9e!8zrs$Mv#Q)6ye_RTL}U$u?b3QA-3}WgvWpuqT(B4rEq(6 zQ($Y(CkgrB`Ra*cgYd)H~wZYWa)S7L8va}~DODpq2*R-@YpM|L0@*il*LIa+l zt0{u6ia=K?$3fg9%q&Nn2A96KR5Nr*Dy94Th^(tBeZWfnM2$qgOwP0Uo= zw4fHBk&*gC$MTc#h!aaU1{V|QCspO9!1BS753O7-Yg+|Kb>WY3jf47wk@XaOEM5s@c={JT(@P&Ik34QCI85h+}|tJR}@7d`UL>(Zk`tBYgm; z_;9X>Mr#46AAPH=<^BTm4_LIwU8IwDXWz-(VT=i5^p-SDLoh&{tW`N)D2C%;2r@)eK@`NLTKEXiWj7tQUp z6MrrCaVT)S+`*RxWX+KT3F@L#hzEwcEq(6g*OZC43_)}YL<4jXV@)kK4HBs65^D#G z9uE1OPLc37XX8L`F=(Tj50Nbf^Ha`Zo#4e~Buf;v$u`fIZ8BvGg0NFxBKMMD44LNS zIxKC&^o5v%sla5kf)ADi+ykSKzNeaS>~!A`jGO8JN%cXb0AkS10$NAR5lNu$hD@@I zRC&q#QF1f@GIwW^SZ`5i7q%wlDUN21vF1sbk*Qn(kTLUVnf+`(nphdD$%u*+qyPfU z8-@7R&s~{hs8Zesi7V#2MvzMm8ztN(5|&RUP9PH5kZ8E6VR$sb0`ytD3;RXnV>eAK z?3Yl&d3GgbPl_W_mJpmst%79%C2q2mZU_5m3NJlLx1a`mMzE^%5?+htDbG`zk=@G-h4maCfnHEBjbGXHoX>|^#nVoaE$(0%I93GD9 zI)_KMn@@mE4%fMdClLWC8OKpK1!8S-KNyAs12mfhlX4tTV=kwV11Vz!(O?h&as8Vl zO369=l54mf^OVb^UmM>1R|@``cpxz;;*+3VrK15sphlb|0=MS%xy*iKHcMX$%!qnX+=JX%N;>Dm2L- zHtB2g{e^bxqi@DR%C-uv&Dpn*88EFNJ(04*zNGa7sf=I9_xsNXvbYY*1NM6lE3Zhw z;DEy1)s`wW96n?JFWJu6Fryi^4nfq;XewCu;X!u4Lz6F!E7*f#oV3>A%olz%VH;8j z^_9h?73wS6m6XW)CQ2O!0RfI5O#%@$b!eAFjb8?;qs_`pa6oJf$ur$HI8|fL`E4@yo=}=060d>JJ9)C=N)!2@z_rY#0GK9 zuY82{2%zaA5#z7Jy`!j5{+%^dw5aPhi4v&4aFXnEHHP zOhTScnY?GD)!PFB2*!2!9dsU7p4~toQxN9$U`GTghSfacz@n>B`z9-}nBAE=5&P=Z zvxu9B22VS&A^}MVv_vRLH2s`;%`mUiIPzN$D~}$mRaWuMIvt-D z2O^sCowQa^=7gxN0SGgMN+O!x8(nL~K&g)pWm;|yVAPeTND7T}@Qm0e}(estkZ%zO()K)N91wri*$;~NJCuEkc+)7fU*g%1<1&D7A z;#Db9lsEUWf1iWM9Y&|V+}q*iq>}AL+>~52)|Dda-@;hXnhRhMe}oL4F+jjLMY$~< zAgcf10I7=rRc&33bRGCp1Eh#93L+>V>IVDpueiHBKr*Ac5w}R)az$K?b&(e!wW=-X zR4t8lV#~KkfCG9B2}LX~T`$K+plHP{QnW!Sw_FK%8X+iT&n;3{+|Jx0!9J8FtZ8BLUe5v}#M_9^+gRH=^uE=&`u5s`dVR%@+yBXUrvr0^xBzlO2^1x>`+)GDka z3wH9C0)6G((Y`#wRs*u=FZi#dqMky31kr&;}z-$rCHQdyTMVEkpIKvL_> zmTziRM0*(3MrD|?&TA8=KjQqC;lr22g(N_tz3qUebo;KzAQ~0*Hl7y|8tWva&}(~3 z;k|qV=YNmC;XlOh)HeTo!O>>?B`RUOT|^PD_HW}2M1~!B><}r--Vtysbb0g8ruMh~ zNU3ig+tk{Ty&^;dFGV&eGDK=2akbTnB#ARanO&n&X%tk2XM;>H9`yqk>LIKNeZRthDzOSEx9U0s8)3Y3^4?QAynm+K{{F$mJV9b28JqB zsU9zgR;_}UDOGGM%>2Hgl37R=ZAddj)533q0ut2$BYlIp+77m>5oj^!64kmkA0*$0 zK>tLwf13|#-aJ(5X4e85MQ|e9UKr#N#0oJgBVVATCx(n@p=@M(VM{~tRc1<~wmv6X zlq3wvSGg7$1Kq)o;@uQitxfO`QDXC_h5;BV#Y_hP`s4{Dl!O@7RVm~&HHI&HG)@t{ z``}Yju0>EUPn-%)Q;y<>J&B$;jkwY|;GQ@-=-U%V2ef9xOpAxSTM&di;~{~_MrUnE0ZQ3>$z2x zr8YT(t`EmGqM5F-m+3m-5?zN}#C6WPh-gHbvo6RWZm}`~?Q_=oofjYD&WT&^Gq^pr z!Ow&^t{l}?jks&J>Tq}G=(dK_d(9avMK$=@5S2mQ_%waoYQS5Ap9)t3yunW+zQS9y zpUL}FrYV_Qr)sDQ$2*8bg?BRoTml`=(SFScs6U5y@~TGfr5}&u(=(;+_MP!cU2*Eu z|GuvOyQ-c?Rqg+8H3XE-wNy#K4{fs_srh_fk<3ctU5NXCsgV6YwBG-&Ms&*ef3J{Z zg+XlKcTS49}ON#Fwjo_v;N>zWNB}!Daft^Fm$*}86 zj*h|3vq4J%<@z#1kvx*$ncg`E|Wg<4-`X|>l zo&%l8n}M{oIp6-1t)2RvWA=5GV~9CNZBmu{m-)+;{zPK*&M4|mM6IqXpDo)Ul9lf0 z1N@Hx!;xbsn#M9O5dlLept}+<9$=N)#w8$lb$1jy5$dR(@r-DGXf`PMp1qRw|~F%Of8lpJw@ zr*DoFG4N%|aANZN@WsBR-c>Jujw}z#CdBbnoR=5*irYxVVN-&N@^q~*@bx)TUv`@B z%aNiCOU=jw#!tnC@}2x^grpZ>?uvk-LU|L`a+N2@Eh>kHRnS@H*oR*cSSY7ZLKr;x z!Lq3$U&&!6Psv5st+fzO!$0kkkPo1du<7fdYqp$x#aVH_A?G@JhsSkDK7jThf+=zh zI1hZ+T&eH_&YD7z7Ki;Psk0Er^U1WS2Mok9r#5~Aa>E126*_nMqNuB{r0vKTYrbQ> zk*V;9kQ_T8kV5Rq#vwR4I>*;tK04eQ<~Y}-%sesSFt#0ibU4|M__X+lci0gkChwmo zRYgGc3Eo?w?q7Fs*3*!8R7LwNIlLiHG8g5DPv!pdqaYB_cL$(m2RjI|K7n}EbrX$S z>JG}a2nB^x26CnH>@O4gn|?rKc|M-xJ8{7az?Cm?TfP*3$MYEcCZYy%9clvJZz#1A zm29WrgK{^-C-uxf@Ji(w@jkIJ09Sz{SnBy7^2O3=BDWex!B3>ychRQ*)NYPYWnnFbfAn5Api5=^1)HRVqa10U^my3bL{REjn zC47IEqu)gDU;pH-yb0ju}=oIih3sjhbYik zg|jm%0+Q?AvLM$rOf*T=5UPu+Tw4WhRRKED$%{G@wd&+D+$T=lp~UmGwI4x*=0=2% z4m+AX75?%uh(Aq%O6A_f^F&moQ{C01lihQ4tuz5T@uSKLQlW&}sf~{yHZoF>a36nj zq?C9oDqmE*f6Rr9xA)v|gGIP;pKf zLJo>&`7{JukVn?}Ke0(j?2)%SXD?!z5$j40R(7?< zT{#z<)Mfe-8e8DhUmWvh<6Uo+hUwD5;wf)linpleP}if5I09L9u&`*~#b~wZ?TgWT z->s6x|1!N?j^>TGO5KyQfj*z*ocCTjs;^|4 zN5)D6i0mAPb@Z+#Zm+tMbJ4t&vM&#H95yTA=FQ2Jw0ung|mnNbfXzlW3~w{cQa&N$jmjmq z?C3_WOs|cU7TAX%@-xzcp_Gwcxrg~B_=`-!{IpRae$VI<{d8d(UzkQ49in;0KT+c! z`zE#evj%HVya%3D`A7EesFk!MyQGwi>*CNk1dXrXD+(XO5R5Vh~LqVC{u#d3U5VoHYuCyY`IMYUPW@OMOZ} z1|g&pQ{W1+L*`T-0|bbziZW8NX$@MPbvSa9FxT&523W{7B+x&yuh!pcMflmE7I2%# zOZ}sO9YGxJ`_4d~IYA0HB%`RPThvhrEV38BYXVFbKtasf7il7WeF`{LWulBqFc(d9 za*7>z)9A(34oO3k(os9Icd)i&iC!z-2VP3hMO0Dbs9urc9@$HzjUaWg(oYv5PgEkL zGFap}!w$mH1mbE}Y3!gsWa^Jh{X0VaCf=1yDRxvZdq3Rt;%Wzlv;%A{WV&j6*219`-=oqO8!K=zDjxL+hrocI5XJOR;uzU}(stkwSl?wW7WBqzs71 z9UM|pVZ2fOeH^v52O>${nvg!~@8elPQF36W7i8n=eFVCRPg9J9cpokJTRRfW-8 zV~6;rv7?J=tl%)(=&A^QxCE*&Y7i@MqV4Tx-Go~up*bqK%}ehQQB|Q7C|W=el%O0d z=vSK#Xd_4Bo%faz?olA;5Tm?AAk3g;9o%Z%YKPmxBF{7ATEEy~}; zz?{BnEI?fh=jz%jaBU4#S4oKIiAxdJLE@S&t{LK*Ew1_EI$B(9;yPYjOT=}GxXuvQ zS>jrnp~l%!ar4B>LUAn@*QMgRTwJTfwOU-)it9RY-6*b`#q}X^eN0@R64z(Nb-TE} zB(6Ke^$l^|jjJH2u6DFDn0QDfh*6Um9jX!!-mZ+Q>(`<6;5EQUfglG}0ntTov^~_- z36kiAB9>mej3VDn7b_wOHUR#mucFKo49aIobb2K}rplt;JgzmvL~ksGeV|xs8sZFX z5+%ckb3tOX#%}z0z(W+8ov;~FcW^pP@_oWKT(TBc;*XcNK@hQ>DUY@Di6aYlK>1D zxatr5f|*K)h!`-KC+;-0Br2$ggC*3G;HjF_b%Pff4BUFsT5J(dJU40bKeA5~J-i>Kc%4eAZb(fhQ~ByDP|s3rmnRaCJq<|?XW z6e@i&gFk({WFCpKXjB-8%24MZ(Onyr+}m7*0PA1#BREB+s|al5M^&KwE@$w-Sx})P zKTq6saaCbX0o}K_>crI`t|oB}7uRTUjS*L~xLU;3Dz1s*nuIIC*cBj62aJ)BzfwAA zdq+wmA*%ZO_neGCz0|S9q>}9Ff!|S^rXY>z_B15lhVMucA&t~)6Sdl&Q|MhpR}XAL zjZoyDFAB$di`zQwF+e} zV{R?HlPKJvwT?u(o>P%Sybpwb1B7%@(+qLVCfEhR5%BbqNe8w$wNF z{~D!Fx6$4>ek#cM;!myd3)VI@l2sE53M3kvlEe$Sfb_(XGj>lLIcWF9y&t%6WD6WIV^)Zo! zM#Rh(A^GAuT3l`7I$m5$#C3|e&JfoOaZRUdaa@XcAzh3oPOLn|*~D|UxMqlJy10^V z3LQ*blf;!2PH1UywTP=(Tw`o}N2wH<8ZF+Iifbau5uVCn(b`*vL2y&dTg3C}^%A`X zy#+Z@yvj>BT+>_FQr_oIn3^o%Hs!72PAM-$F(r;Wj619_dz+W?V|Pji1D3+#%lcXG zq^11fGO2$TC4Wu({2}}K^8da}N<+r+bER|?bNgIr2;QEaD+0fq3(;u_XY-`U08!e+ zpxsNjd7czMSiF{Kj_pt$>RS%yIqDc9ls@GHNdfeK+Iti5D5|vY`&4g9Cn0n~z>oxJ zNPqw#sowV`1Q9T5gs=>vG$bq{OT?%kXf*`cb%G!PS!@j|C?lvSjB6yQsHkxSL`5bV zMo~}$A|ful|8v(#NPOmbu5Y>CYp(D5-oU;5?z7gZs#8_nRn@2C@mgOzB67B4o-XI@ zdY)E;*DGyMXe5@A9!ol%Mn9f3BYlkGY2-JPe}c4$A_vGnNV`O^1o9%}amZLmCFB7J|2u~~2O#GDTGj<} z9(5jqJPX+dc@k+``e_xm7O(_v2A@dt9y3U97x?W=~m6oOyw4hDZE)SRl~A}@m@?=Q%o|&U>ly6Oxs}1f5%V9 z!bYCK@4&(~?!vpbIpfvm2VkS?@ys;04@ss&u+1oU3^u$;GBv{P+8~)u!Zsk^Y1qid zmY<=;`-09zP#{$@U4X6VjD(435SG8r#MDJHnPBU{>97@GGpw8@nQ~zpJ4vQI*l1V$ zWC4%E+F|RE&kt+50`CQdHD^esV%TcfQrO0H$uypGx}=yQaH5%#sT{T$8K%KjpkM{8 zjEt4A4XAi7tSL(}MPXyzB-1L`YII;NY#4SuY$M9WU>nfEZLm>TzUug23@`sMea%eU zU@LxRrd_bRPASZEpcKwoW@RjXrc6<%eu7Sguj zFe>J8^C`6f`7|@_K>gv9jPiyN-^<$p^LC>O8m>bi@(nYkjYSWe)P^HyxTT@^2^v!p zBn^@dF+-|RCJPbh=<`1h75%)7>7G9VABvE3mbtC(X;^bt1kS;!LxF8PVK}z*sp$FOnpvwgV{XBkYP4am<#xd3ouHw=WNOI8PSOuC z_8gs$I?jC2{_FkVsv-__5!zuu!PuV*hkoQVXMJ>6eEW* zuYtqhbl6?TFOSeN>{zQH)i>4jUxTmvk$o{_6=W?W2I1q)2W~C0t%oee{>7R9;c_2S zzWUeXdGKoDXV}rLoN`?!d*K+Sehl zb31FpgtS9#(rPxX(_G&H*Ul9<9`b=0Jfh~} zI*m7QXb@xB_b?VNV(bFUXli62|8io%;*hz3h z&8;<>zDgKq!vK3B{1=S)PdebU47#0_zonml=EBDt-&`?19U-}O$aq%_klZ#gb)|hj zi09*}7rGiU46IManXU#lfOLTLaMELyjJuG$f%H=pdNzX>c#(7iMLs5doFYGy?wHA| z>zc`P%9*?dH$@6b56v8tX<)aJ{ww8qlJtwDn;0+qZszC6b1_rlCNZmbmVr64e9+fs z@#GsQGLQVKtj&nOPX2qOKPLTo7H|GM>E9{RsT(hw-p$d?z=n3?r6!ZUmGtf1c>cBB zVn}_4^xwPPr66>$8()IMlzf7!_=fap(tmX0-Ad@ryV#Sor8}=^cz52|1oEeLU)SBh z_E73^ik~8Vsk?!HEp@F z1@g0N=mSCQ0ifI2b?7EfE2W&*Gd&jA#O}hjXk^#3xSG`u;UkTQ2}iOxO5{I{Y-FW^ z4iJqJbc|@Upo>If1R1dL8`)Sv{O1jf*l*N29Yo^<4I#Qg&?JR$yg;19qTr2!))L($ z=mnw)g1#V%2>OX=q97e64I`T*h~J!H#D`I8XS_t^g2rm`L9`KrswUn+iBklvAet&@ zOU=6*@yed}C^%gNzaY9r(0QU6f|4*d8`(@jJ&0xrauLlIR7zAKXg1NUf|e7_5%frZ z!rKJa5mgF0LUg;J(=~tHg#Kn>wlcE0B4{C+CulIyU4qJp<_lU*v_Q}fqPqpXLv)Xz zPl*&k%|uZ_I)3A_ku4N>1<@iw1w>VXh7&CoR8DlSpu32c2--}vRM1|cWr7-rmJ2#% zPQ!^g7Ocr(6nsboONllLiV$rQbPLgDK}(3X2--sQ zu%PFNVuIc!dPLAMqDKY&%TPg8xf}SRNTF^^GI|aQ#v`f&(M9&ENlIU4Mr-+^tbdhMc zAVUIkVtJnz$e(yJvKIt}i1rAI5bYH-x5g90y4y~{mqhS2qL&4IP4tSOi$t#qN=oDn zy(XwLQJtXfM6U}95$zLn9Z|iY3H+;iBik=x}^1&K!ldMWW^LBolT3K~iDiJ&r~PX$#HeI{rT(J?`5h&~szh3L4TCqcM% z=AQ!hP-3H?{X|~~`iSUDL5)OBf=&~i5cE6IzXb7b&5Z0TL1{!^3o>(3*hztTl=zJx zFVVMxt|U4oXavz|K@*6+6LbsF_k!*u`a#elqGmz&6Del|ZX!G@=qaKf1-(RcPS7Eu zp9GyFIxi>O*MQIG*wA4ZlW#o@UlocMJn>>v`IM9G525Oow(Mr0DipQtmk6hRLVr3%_i)Jf1A zL}`M)BkBxNc=Nvzb`goaQ+TCU2)dRiUC^CGT?NI6G6cO%lqu*eQI?=gd_`|$-2@FL z>dr|)^D_y1h{QXI%z|P>Jq5i@)JxD=qHIB#xBxV=96^JLdJCFK)JM=dqP|49tayzu zS0tV!>L*BpD_|o&Dp9wR9z+8K4JFDGG=XTKpk+k)f}SBN0PzcuPt*7Xh^&&A{n!>+ zV&|4bzG8B4SCf&la4_93~57Ji8pv%m+#s% zcw;-7*)HdjE;xQ&?%Q9x@WE^8>9%%RcekUL+R?stbf_JD-b%cqXWNnH3LL*KH<)@w z+vf9dx6I`=L+6}FQ&)wOSR_Xv++)6y{Q4sD1=F7_y>sk}}ARcc=zqX@P z+uk+eg;%PHliMOyK9ji%c9qtD?67j6D)~vjmS6hjv9cv|?cCnRs zT6))(uJJTyEAh0_R^rXi>B>i2X<6GV30r7uJ9?!}LB>98rB2cq%W-WdX};wI^kbH9 zq2IGKLm#*NsO`jz){F3Ov|fVVZ$(72;l?PWE`{F?Q~6 zwj-H+K)Qp2Dsmvswvj$X5x(kn=> zhi)nSRPb7qeS!3T(*GcRob)Nu=Sk~B*S41G5*mS0xuiWIg~OQ8bp7?wC!r;_Cv>kq zg{6l#={vD*;fF;rwaNbtTG9S*sPz9voyvce_Nx8fN3=?irVlT7K+s^KbApxxpme|5;5&Wa#`klp1pVIkV>}SDRZv0hbD+I~CK6Q!s9btY?oOmd`0t>j z&MmnoL5l^wmwO(xLy+=qu2D*7hXf|{y8=`fR15a+mkZioq|(@aHc+!jyC2k*g+prE ztNq+k1}hizeZTE^5@wa4?EdRPjiQz@{kP*D_iZ9=u|n7&a5vFOL5)N#tTvH2U_A<& z1@!@C;fr!Ltq9bOg+*HVfbF>BwN%j30e-1FJ6fpbd~d)`){Etea>oWJBcxueQsB1( zMuQd)QnUUsV4{@G){3o{|(d+l5O| zp7_GR^OBpzaD~QcpGx^EH4KzAZf5>Mr7x+P@DP=n2c{sc4%g_s9LwjmL`0p5L=|;v zT9^D&NZZv*B{L`72_n#vpNnc@kE)4*d^@P3NTuQVym|f%C2wLZRTIfkX-fVuo`x~z zX%+dSLCs=hr%e3Na?Q`5enS}O1`7;o>i z{4{dn8z*)zj(?HgWxlP4aj2xRu+$?lYnV!1E!(lN-7m;&c?W3^3F<>>j}B0C<`JzG zX+@Spyb1hu!b5g<`<%KKnj%&C{5m}OLTSnrX^pQ?hX+pxr${?|!*xMHYQa!zT9vOv zhiwvnoft1ST8I5p&<8^y+oCYZlk zH-;@1lnnX{yC8CA$m?`Bu(UL_GfHp&O5IJ&F3^gs6WA_M@GAd&-9&a&&^S;Ti;A2q zf1z$N+azeVf1z$Fds$E-(r#u)1qBNh>TY4@1WmvK&cx2FHh)Ax*4Zpi;Cdw9%7zMh z9cj0*azVoiHtTL@%LF|&@KN0zY^$Iy`H$-6;!Y#AQZvfk#f}MjOny|ifL#z&C~wo< z!_vB_Irj}z7U~uOu;7wW25v7jIGck1qC(*!M&ck7n0#e%l`U(zjO_+=wnqtAg> zvi*YUK=-o~g8HNR)r?)C<~-(qRJVrZ3c90UouYe?4Hjt0U#DBoB7!a!ysq1bPwdo! z_k%XGZGwKra6ilr3Q7tr)IGvZ3))xklCGAS($#X$-MrpSGAVM3l8gE zWXl8<1`g|9X1fG+C^)8jl^qoHdBK;uI(&a6a7@8`-9Bc{P^)PeSgqU7#tK@Ke^U1* zs}?jpFkkmJ+aYL5!4JB3F_o(2zQ{kXdmpz-snk61cilf&OwjQBYTaRWR8UsIO5Mk} zgIVAoSf-;aJxeWkHP+f^%r0n#tkZwaN(F5SJgWOATPA2xL4y7Zc2Ll>1v_>B!t0gP zT4LCOzGAv=D)lMor2m@b3VK7%(0|LODFOreJ@wzQ^@4tvd+M9n0YQuNbM-&6Wpm@O2pG{(#K2oR+_9&khZqTnJBGlO}k0oL7Ll2 zll2{?y>zLj)@hP1xHUNbQiC(~snW}8*7%!3cj!Ay4T9!`=7UZUy~);u7V5i5%cz<+ z*{0BFP?n8%w2FNdx?i6z9Sm?bpuwPP+b6dy^?$ zaPX|^(sz^iU1a$<>Pc)mw1&+i|CLs)p*X&MGxIzHNe^$M-+-@S@0%IyPZV$U)rhK< zw#leyACBc3_9khy;gh+%0ksO~wuRgJ$g^$$FS`+1%l-zfV=qHX>>O#H+TNdrgEPKA zaCRW;WC!vH)4 zLZKH(UmgRIiM?{U0Qp)frE6D;SBjB?*0OioH?{Fkldq`7&b21A>m9q;8rS@{ zekSf1#dAE+?aKyRBN{g9zwxIjZ4&Nm<4s%QDNRTRq#opWjV&R#Lb#^ zU7Xkw$JRc%jnB7jZM(?7P5sjtC~C0U)yerUD}fRr^3}Oadf5a(ywb1S9ff6 zboms7sR^m-+<-+@T6eIP<>tGhw%s1D?$iHu4tTarGdvYfd9{h`hX3D3_|&dp@8SDL zWNK(r>^&-m$e)(A?eb;d0->e5YJ7NzS9cw>#Q4P0a&%B9ng1b`Z~y;3St|}XOQ_Pe zc_egAVsT;KOfvN48Z7K?U#Iep;XTnun%;n!hz7;3oVA_tY4uMI#B3?zOJy)uv#iF90FZg zxRZUz?k_Ahe8}*oA;Tk5tdQ3q4c};($l?miNlz!O%r>M*PokMKSQ@A946E|3)xQmY zH0hg2PbNJCnxB5WO{X1ivu6u$H@wYWEaZ_l3-7=Q#V3XH4PB+vg$nB`{ZXjE*AKcM z@y^g2q&|bH422k#Rfcb9yfAgD?`Ta?o_>g@d+XIqvp7Z8#%U4|>k?nK35YLXW51<>_A?OqA69ex3Jjsp&PO~QHW_A+#9QzLX0y_)MBwj!#@jUSo zk0eRFuu1v^I!)rG(j{IB_o+kYNIyg8O20wp;ohla+<^3QzWeAei8W*@*|X|j3QC;quMnJGF4G1rsZ9UQ9><6>L^l2k$Q?WQlyb0joO!( zlGH?ThKov!oQ}Feem41G@{7oi=y?7JMIyLD#F!zj95+NM6s6=SuJX_!DiEW1E%|li z*OT8!IU6a`Nco#6&h)$!OwVhO^n66Mdg_p#k3>(3WK$$eIm0}sVko49B1(u*;Rq#{ zQ6x%*qZD6AIjblhqezT$K0@(Yiq}!3j#BF>(nx+I#hWO?47`iXz`Kj@AE}Q7W=hDW zNSORE#fvBsAwNR#GKxeg5~WBLMPlT~C|*mEI`Zo%UQdxmiZoKBNudyn<9%UqykFWl z>JUZD6zLVmcbjaAhba=K)FO&R$S)&5N`4jjG0GXENG(O`NjFlYiF_8X&``wl=C$$E zF!|>ATQt~`DH5hg5&04FBk{ac8AYNLiN@cC{Ly&6iB(ZNMv)jrVw9(r;&tTLQ4RI+ z`1}?7JwYQSG*KpIq>(UEhsZY@c^9)O5+*-P@gj;ujJ&%MBW>Z7T1N3G#iJCDQoM@d zF^b1{TuF*iLM&b8AzG7%1V2RW~A~isMHu+)li^z|VUq*hE{3`NeqrfBqz1^(CO=Gm5&04F%gB$CUqyb5{95ws$gd~Ak^Cm|nThH*QT^m+n`rwF6BJQG zg#0q{qvThSA0xk({5taM$!{dTiF}qq4Wv*5E5?N8w}suOf(1LM{1q zSCOtIT~E4+w6-f1AYDYd zjC2+0TGI8Tn@DRjC_m{U(q*KpNY|3CC*72RcLZWy%cKINi%6G|t|DDax}J0sX>Ate zCtXCkjC2+0TGI8Tn@DTBQGU`zq{~QGb))USmY|+=6KQRCDnPoZdna_Ui2O40%gC=H zzl!`?()Fa9NNamg4Wx@mmyxa_T}!$i8ry#p0WI>_wTS!( zrIwLjW`2sTN{X8K=~R^RR8gdgQfsM(TJr0K=5;oaukDGp6hk&Qh9c5sJ$Z5&`BkKA zN!OEZBCYMk^J{xi=g7|{zli)Y(p98uN!OEZ5}KFNX7d`dNh?KU%7o_0Rpi%_t|#3@ zTAM=+=TO5!Q`ae8Mv*e|t4P<9t|#3@THBjy=uI_{U!;&JBV9!aRpi%_t|#3@@h0-M zeW;2)RE5yg35sXpos&HvJt5hU-Vg`G1@S<9kQ7O0yaLhB@MRiUUJ+hPNfz%mrF1r9G;Q?UIe!(u)K$`Vf(@IjQxcjAmVw#4ixcxSbSa03SjZ^6Rt)Xv%*?Lx>Yh5Khj^TZ`Kai zPuC|IQ;nI%9>#vgfkv~=VZ72f%&6#f*}7umSmO+1g>kNNf$?7B3gd&unDKGr^TwBq z`;2cH4;nu+o;R|Dd-aBdgoNaTw1kX=oP_=f`3al!)&y6AKVeuxX~MXKi3w8^W+p61 zSd_3jVN1f+gzX70CA^;SX2QXQ!wH`x{43#f!uf<>6IfzGVrF8m#D0nSi94BnY+^8R zc;Y4PsKmb{cGXQxT$H#q@lfKYiH(V0C4QH9KJnK?T~d5fN>XN0-y}zpFR3WWL?d=2 zv|O)YzvJ^QiTwfn8SX@2(sH~$35zbRWHW0LKfx<1Vk0!junStl_Cw>d_(Ht$h+TlM zXHn=lb`lzw|06Zn(9@w4Sma9n4(i;n7Pq{W!SBe%Lz~zn=uT`RbQhL`)GJsu%BHjR z&|O(2bOxISoynF#XR#RyOgFX|x;tA7-GeQFHnUaGJ=t97UaSH-o8_Y69F_;&n@t;{ zWqnu$bYC_DdH^d$o_vNMKEZ?i_*n!dv!RGsSP8V1na~v*!_SxCH{5hlj6>@m-vQal zLF(Sn5|!|+Bwl7nd&uS38N_;EkJLyyNh@Va8B!K>H|Xxr*-|el2f8F3M$MWvapvUmq8Sr!yDdka+mc$d`bSNd_*UB4j@F#jOlwn*!~Q?i)3aU4(2ttD zK2G=Ka+f^W^6z`llB)Kgm3R*Zw-8Et{%f0;Q~zC$T2gDMM=i9c?>Wsal401a%96@C zHLHKp_`3|ATsC{o#LCI#*J5A_EAcjvNw-%{-qY>8rdyn;Wkm8rp$QYN3=ONfHd*Vd zIsUsQ>GEK0_+4{-a{G)me=}(Z)p-ACo9)^^G?V_EtuRH~siwC{>#yl>scqh#mo$?v zHvsBf^IodfxM#;D&Gm-tNfx_ZcDu{+Crp?+WA>zpGbYTKU3Lo#70Pp4l4{HbZRhw_ z3K+CqTWQZt2JQFyJ!MH+t<>7co>?8Vx9eK5=2VJy=4FbcYDZnBS5mdNTqe1bwoP9* zchZi(oF=7dFZOQf1-d(X*5tW2S5BHd_2yXpC#WtT#tD#COCmNoN^3N!-Kx2vVc>;dSKTOpRo|k@83# zB_x>jngnDNAqq%ZOnbbpiITauS?SGxmYVk=D>b^X11y3ROP!4Q(>#$Uw}enCnS9=# zT;3x322Z5tCbw40Yry@vYWdc5oEDg)-b~|Uk!_LDfalJ)^hRj@syh?jaM7E zoIBp6v@aeXZ@OH!nvX`Eic^wWk(zY5=N&rmVj?ZYo`hl0Q+N2Hv@V}oDutTl>k$jA z&~m1?_BT`F>r^dj=Y0ouRP$zWKT|@@)DF*cnbb-7Ok?W^9?%=G8JS7vkj@>VF~l2q zba9@}kW%%V9-j*0P0$7nrweLIsm{=`BXZ%h1fFEn8ahfyUM%xG=eQTyW6ae`l60^p zv7a_uxjAK~!AyIV&Wt@wV@QrSYxz!wUCzv~uOXT`S!-s=S_4A4EundFD8+XQjUfvu zgL%G`ZrEV9Yd{)DEc~G=_94l5#z7S7StNDbc^B zM4zd7zn`|>ut%_K8~6_X2Hx|-O*%|EEP9f~OJt!bDIQJ5)7+4i4p&MYMx95u-b44Y zl3{DY{k7dn-a|1BBtD)=2&P02Cz}%`V_clR^>Gbq;-by?oDbe5K zQ54-}sS73Ol;|&ew)fW-YA}YU^0dWio#Ns7Y}i%QY|w20r;{wyP3mXx(T(t_DCIT~rtq`_S*tx38 zVqupFyGqz05cZI; zM}<8mY@@IzxaBYDI4J_Bg>4r0oUj*!{Y_ZBJDpY;-kwet?@uR-H>i`vJJiYIE$U?P z9(A%=!s1=(#CV%JzsbqS@IrM8;FaoR@ltiNcu_i8yaS!AUs$|~oER@7Cp%PFyj7gI zL|ANPt$z``Mcj^8*R=%r$^PKZ+To^R5#$+K67i1VOWY4b+7`mkZn4O<8a86&;E}Rv zMBRrO;24b-)X(3=5D*zrQkMhTrR19=`dFnmEs+h3~#Z)4;fTWo?Dqyelt(4 zLo9~-;ndj7Svpjr{zzdm6?+9mtpEvMEy;T}lxb zjVR3-Tci~7O#Eu9O>i8K@vE)Nv0;>tUzxRuQNFS5VkMMseES&Xi?oZCQoiyLxM}fn zg{72{UsJZkt|>$xk#z=Q{IiaH^qOKt`1!~`=R;|Jso7e#L@mp&THD2tk6)fr>_${L znhyjT;TN_o87YR0{E|Ai4h_%YL(15JRJ`$+4>57h%`>LlJookr#_-l(Hk5Zzjn9G0 zDmvHP@5I!~U#VDuX-uTub=O_xldvY($#i~k&f}G3Il~HRMDVk2ZDQkSK$_deO4WS$ z#kb4(O4WRL-!;CiM}2c?^<#TLzcRE6TZGTB@+Yecu(dZ{cFZ%W+X(;sguUDcuZD&d zF&mFHAl7DEvhx^!fp#T69~1eUJjSq-M|gc|^$fcO8-y@%&K!IKk)vfvIBU4e(4W$8?DOBJhx%$vH$iy4E#>j+$yZQAJg}#~#`F$^cW!QB&8Kc{ zhN8>B&l{kFyim*ENwEOS!~}t&R0m(xEq_0Vw{CXn!Dk@G<_j5`fuE+wHHEpmmNnwm zBss)bHKYWecZI_cjJb?;R*m%$;lFYf#mZ{NEpuUv<1Pq)V1_?7QsQGQiU}azNyK7RWz#zLk+Zig&_tcGlXJOSAa*$4RtY*VdvW9)8yj~_lT`; z6U#vizjnY@wTTTz>}A9n)%vhU;cp6pCLDPf?|}GQf|!ihrZx?4L+l_LiL|Nk9mJ|p zVP%`xX~giGBP`k`mWp35*oD}PHZf~KSBxuyNo^WlfY;vR2NqWM?EHUzLE-=3zo0Pa z|NSp0?CCXBo2%PXUaZ}u-y@f5^Q9L?XeUbj@BCimFyWlTH8mXlq0RmvfA>L#be!Ozs7N&<0(g9=XcI+ zt{tvjuHCM^u9sbPuKlh>?rKkhcdK`dFY0^L_nhxLU$Q^bKf+(;pYFfSzs3Kgf4Bb) z|3Uvp{-6Eb1Ma{rf#l%aU|a~_LC{IdMLE%uYRR-bWO>ta%yQCl-V$d`wsuymA#1Vq zW9v!l57zV6U#$+?=e7~{2@a!Ec5QQg;#%SP#xvi0udkE;yk8D(4Q>nW2<{5*#_^Vg zao!2@fPABMnsvGLHS1f}D{Ob$-nE^!{cgL~KFU7DzS6$I9CZ;5xB zcd_>k?`PhV-Zy+b{A>M>_`mWy0^7F{z2cC~T_j+}{6yIpyt-eLRWxh9jXMH>U-}^@fRs}W$b_5m# zmj`==wuYVwy&h@`oeQxDPW{mdtL&0T%6G_1<@@E$=+0jGWw}n?FE6vqvktXAWmBT| z2kj5p;~k?Mot@RrJQCNOPn+vK(edjw9ER=UC%7 z;5_JTa2|3VbslpzD$Wzmlg`u5X6HF)z?I~&c$rVgnkRLC@yBuFq3t1yu3#~B%hL9mU7E9%M43}rP4CjvcM9x zEVdNeM`AnJYTstxVc%u{m%Yxp->G&(5&dY>jSJ4JT=QHyPl{))=Lt`a*W%Uq3jNaq zO9CGTz7JS}R|Ovrz8icf^mOQz(0id{p;IArpc+?DFh;qre5G6}SIQ5_pUAluqjjwH zF6&b3A=?+WP8g5J>~W6Gj?W$W&Xwqb)-^zJIbBz~BCa@hFZVe29q#))k9u}`p7*@x z`NA{IJIbqg-}E|tSNckQ6Ma*CkNIBnUG#PHcMaqRZVEgQ=zv}9q2Tu5Yr&(zGeJ|x z5qg|=CZ>)`7dcbD*E-9##J1U1Z#!XYw*74T!_rZ%nU8r|R4*5gj(BRO}P;sb)cVrhXkYNJy6nTq$L{7GNEmv7aS*BZ-S}s}i zwj^7=Vk@GEupi#vO0#ZQ1PX|yhzqr zJ6fmP`g)go5oo}rI?PDOxZ(n=6`nslTCdYP)4R;O*_-Dp z_RaC_^}UA;da!?%|4#oC{&3)-z}CP;C14Jwg~o=)ha#c!(6rE9p~etyK&P4QUimTk z9r>dCh~Tr#;u+*_rLk zb^4uQ=V0ehXR*`ba%0eIT>*EZ=cMOnPrNtHo9@l>nlXhr>ZKEwR39HP{kukJ(>8u@B@CODAiN?N!_L z&WX+?&ZVwi-ZkDoyt92@_)7i1`^VtOr*211*=reNNwW`k{NXS;dpPs3U+i%{?b__# z;~wd~$=l@p*_-XN_V?Y`I%Es{8v~C9b_QP#*5O#L9%>F@YCRTwKXe#JIf-s#s#!2Y zo267>j=$4lx6ZRhtuI+S;dq{7%eCd%WZONqdofPyZAya$Iai65h}S*FYVWG`mOrSd~KfSD{GSx;Dh!nSC&72Bud+w#HgsqRCb zkG)fUU;Au+um6Pqq(4sy*aE)=SWp*?4<-do!L(p{Fe_-r5%SL9r@@oK(?M2^&l=Fc zU*(Cm9Eaa|&Xwj_;(5`t0w*%leJ}Zj`)6UxxP)U!0%jg$j7fAX&A?W%UjA9mw@kG> zXnE1nVENc`9FyWjOT4uU_CKpNY`xa1lwp2cg&A_Kb-i_yHHIx^n{|hEm-V1+vEwU8 z$oYfwyfejhoy*`ZaBp|-aV3U^+5TMrO#h4i zo;cQY2(eufoj-}Z>@S=(OQQQL7GCQ9vN?c){uO#5#8QG34Qn6t?l z!69q0Ynf{m=D7@aZ}*k%G499Q@3_yn2YO82q2BAft8oy2(Kpq<%3qBWxb^-`{+NHO z-xAn~t;`VY7Q8X|O0Y|)S7=ixhO?+`Ay%hOb+_Sc>6qL|$Ch1IyX~y~JqL4kbSm3j zdt4v7Qr$z`E8Hd69S3-ic>DSSzB9fNsQ8rMi^KE&KttdV*7vc%ub7gugVTdYf}8nJ zH%N5I3dmo}Z(2UKPQWSe0sCsl!_HTn?>i4Wk7Iku!?9(t>lv5clj|w)yy2f2=oCs1 zS#f}WiXS2roY70H5_OfyO*r29Ew@|tTJ~ece8T#iHE6pH2dxb@kNq|K0mot--k)^7 z;M~VgxWtLh9j>nKYdybvjNWW-f!BvKjfq~3KiQw*@8h@ngZ|*f$6`a}Vz~q-TVv(%azrkdr^z#9?3Oh( zGqk-Gev*4YJ}5U}pE`rkB6O~khU5VrisvE4t5 z!*d-jK;E|=wjRTLc}lVVh^rZXKuNJ>+IrjEwt%hNHr-ZXyTi7?w#c^JR&A@XZNcGY zhwVArOE^D!*LKAA8BP;V**e>E?EH*%5>7c9?HwIG98SkojPJI*?O z!?cp+v^Zxwhq~swK6jmQ>9Cvq#k0cm33jVX9wpJ6>CN+w@J{v4@>Y76;Fx;`(`0Yo zK;IBw1c%$G?-}1g-%-pd&A#7#d49Wpn17UiqJJv(#C86+{Br`U0~>K+@sB_=&Usxy zCAchjU+}r$-r(mr)l3fEfD@Lvp(UY5LOb{tE#u=57@s^CD`k!Rs3LEd|B3UlpJZk+ zV#u>C11xW1PX7tJf)tDkb_jL~b`ACj_6`mR^6CS@qTsOLb-_`=8-f!tJpgbuGbU@&HaAx8T(ANn8oPfa~CWIMaI{muH{48eLzxPP@*!F1Y@{z$ds(?k?^u zoWke2^WAp0*B!nJ6GO3kgnO*}CU?1ey1N4B_6yvL+{@heyVtrOa>v|{yLY&sb?fVo;s=wSP~o^93Pw$