remove DualGBFileSelector tool

This commit is contained in:
adelikat 2015-05-17 20:32:49 +00:00
parent c9f4a27fcd
commit 5354be978a
9 changed files with 20 additions and 1336 deletions

View File

@ -283,12 +283,6 @@
<Compile Include="config\GB\DGBPrefs.Designer.cs">
<DependentUpon>DGBPrefs.cs</DependentUpon>
</Compile>
<Compile Include="config\GB\DualGBFileSelector.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="config\GB\DualGBFileSelector.Designer.cs">
<DependentUpon>DualGBFileSelector.cs</DependentUpon>
</Compile>
<Compile Include="config\GB\GBPrefControl.cs">
<SubType>UserControl</SubType>
</Compile>
@ -708,12 +702,6 @@
<Compile Include="tools\GBA\MobileDetailView.Designer.cs">
<DependentUpon>MobileDetailView.cs</DependentUpon>
</Compile>
<Compile Include="tools\GB\DualGBXMLCreator.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="tools\GB\DualGBXMLCreator.Designer.cs">
<DependentUpon>DualGBXMLCreator.cs</DependentUpon>
</Compile>
<Compile Include="tools\GB\GBGameGenie.cs">
<SubType>Form</SubType>
</Compile>
@ -1176,9 +1164,6 @@
<EmbeddedResource Include="config\GB\DGBPrefs.resx">
<DependentUpon>DGBPrefs.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="config\GB\DualGBFileSelector.resx">
<DependentUpon>DualGBFileSelector.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="config\GB\GBPrefControl.resx">
<DependentUpon>GBPrefControl.cs</DependentUpon>
</EmbeddedResource>
@ -1327,9 +1312,6 @@
<EmbeddedResource Include="tools\GBA\MobileDetailView.resx">
<DependentUpon>MobileDetailView.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="tools\GB\DualGBXMLCreator.resx">
<DependentUpon>DualGBXMLCreator.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="tools\GB\GBGameGenie.resx">
<DependentUpon>GBGameGenie.cs</DependentUpon>
</EmbeddedResource>

View File

@ -199,7 +199,6 @@
this.CheatsMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.LuaConsoleMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator29 = new System.Windows.Forms.ToolStripSeparator();
this.CreateDualGbXmlMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.batchRunnerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.MultiDiskBundlerFileMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.NESSubMenu = new System.Windows.Forms.ToolStripMenuItem();
@ -1769,9 +1768,8 @@
this.CheatsMenuItem,
this.LuaConsoleMenuItem,
this.toolStripSeparator29,
this.CreateDualGbXmlMenuItem,
this.batchRunnerToolStripMenuItem,
this.MultiDiskBundlerFileMenuItem});
this.MultiDiskBundlerFileMenuItem,
this.batchRunnerToolStripMenuItem});
this.ToolsSubMenu.Name = "ToolsSubMenu";
this.ToolsSubMenu.Size = new System.Drawing.Size(48, 19);
this.ToolsSubMenu.Text = "&Tools";
@ -1781,20 +1779,20 @@
//
this.ToolBoxMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.ToolBox;
this.ToolBoxMenuItem.Name = "ToolBoxMenuItem";
this.ToolBoxMenuItem.Size = new System.Drawing.Size(183, 22);
this.ToolBoxMenuItem.Size = new System.Drawing.Size(172, 22);
this.ToolBoxMenuItem.Text = "&Tool Box";
this.ToolBoxMenuItem.Click += new System.EventHandler(this.ToolBoxMenuItem_Click);
//
// toolStripSeparator12
//
this.toolStripSeparator12.Name = "toolStripSeparator12";
this.toolStripSeparator12.Size = new System.Drawing.Size(180, 6);
this.toolStripSeparator12.Size = new System.Drawing.Size(169, 6);
//
// RamWatchMenuItem
//
this.RamWatchMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.watch;
this.RamWatchMenuItem.Name = "RamWatchMenuItem";
this.RamWatchMenuItem.Size = new System.Drawing.Size(183, 22);
this.RamWatchMenuItem.Size = new System.Drawing.Size(172, 22);
this.RamWatchMenuItem.Text = "RAM &Watch";
this.RamWatchMenuItem.Click += new System.EventHandler(this.RamWatchMenuItem_Click);
//
@ -1802,7 +1800,7 @@
//
this.RamSearchMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.search;
this.RamSearchMenuItem.Name = "RamSearchMenuItem";
this.RamSearchMenuItem.Size = new System.Drawing.Size(183, 22);
this.RamSearchMenuItem.Size = new System.Drawing.Size(172, 22);
this.RamSearchMenuItem.Text = "RAM &Search";
this.RamSearchMenuItem.Click += new System.EventHandler(this.RamSearchMenuItem_Click);
//
@ -1810,7 +1808,7 @@
//
this.HexEditorMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.poke;
this.HexEditorMenuItem.Name = "HexEditorMenuItem";
this.HexEditorMenuItem.Size = new System.Drawing.Size(183, 22);
this.HexEditorMenuItem.Size = new System.Drawing.Size(172, 22);
this.HexEditorMenuItem.Text = "&Hex Editor";
this.HexEditorMenuItem.Click += new System.EventHandler(this.HexEditorMenuItem_Click);
//
@ -1818,7 +1816,7 @@
//
this.TraceLoggerMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.pencil;
this.TraceLoggerMenuItem.Name = "TraceLoggerMenuItem";
this.TraceLoggerMenuItem.Size = new System.Drawing.Size(183, 22);
this.TraceLoggerMenuItem.Size = new System.Drawing.Size(172, 22);
this.TraceLoggerMenuItem.Text = "Trace &Logger";
this.TraceLoggerMenuItem.Click += new System.EventHandler(this.TraceLoggerMenuItem_Click);
//
@ -1826,7 +1824,7 @@
//
this.DebuggerMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Bug;
this.DebuggerMenuItem.Name = "DebuggerMenuItem";
this.DebuggerMenuItem.Size = new System.Drawing.Size(183, 22);
this.DebuggerMenuItem.Size = new System.Drawing.Size(172, 22);
this.DebuggerMenuItem.Text = "&Debugger";
this.DebuggerMenuItem.Click += new System.EventHandler(this.DebuggerMenuItem_Click);
//
@ -1834,14 +1832,14 @@
//
this.TAStudioMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.TAStudio;
this.TAStudioMenuItem.Name = "TAStudioMenuItem";
this.TAStudioMenuItem.Size = new System.Drawing.Size(183, 22);
this.TAStudioMenuItem.Size = new System.Drawing.Size(172, 22);
this.TAStudioMenuItem.Text = "&TAStudio";
this.TAStudioMenuItem.Click += new System.EventHandler(this.TAStudioMenuItem_Click);
//
// MacroToolMenuItem
//
this.MacroToolMenuItem.Name = "MacroToolMenuItem";
this.MacroToolMenuItem.Size = new System.Drawing.Size(183, 22);
this.MacroToolMenuItem.Size = new System.Drawing.Size(172, 22);
this.MacroToolMenuItem.Text = "&Macro Tool";
this.MacroToolMenuItem.Click += new System.EventHandler(this.MacroToolMenuItem_Click);
//
@ -1849,20 +1847,20 @@
//
this.VirtualPadMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.GameController;
this.VirtualPadMenuItem.Name = "VirtualPadMenuItem";
this.VirtualPadMenuItem.Size = new System.Drawing.Size(183, 22);
this.VirtualPadMenuItem.Size = new System.Drawing.Size(172, 22);
this.VirtualPadMenuItem.Text = "Virtual Pad";
this.VirtualPadMenuItem.Click += new System.EventHandler(this.VirtualPadMenuItem_Click);
//
// toolStripSeparator11
//
this.toolStripSeparator11.Name = "toolStripSeparator11";
this.toolStripSeparator11.Size = new System.Drawing.Size(180, 6);
this.toolStripSeparator11.Size = new System.Drawing.Size(169, 6);
//
// CheatsMenuItem
//
this.CheatsMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Freeze;
this.CheatsMenuItem.Name = "CheatsMenuItem";
this.CheatsMenuItem.Size = new System.Drawing.Size(183, 22);
this.CheatsMenuItem.Size = new System.Drawing.Size(172, 22);
this.CheatsMenuItem.Text = "Cheats";
this.CheatsMenuItem.Click += new System.EventHandler(this.CheatsMenuItem_Click);
//
@ -1870,27 +1868,19 @@
//
this.LuaConsoleMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Lua;
this.LuaConsoleMenuItem.Name = "LuaConsoleMenuItem";
this.LuaConsoleMenuItem.Size = new System.Drawing.Size(183, 22);
this.LuaConsoleMenuItem.Size = new System.Drawing.Size(172, 22);
this.LuaConsoleMenuItem.Text = "Lua Console";
this.LuaConsoleMenuItem.Click += new System.EventHandler(this.LuaConsoleMenuItem_Click);
//
// toolStripSeparator29
//
this.toolStripSeparator29.Name = "toolStripSeparator29";
this.toolStripSeparator29.Size = new System.Drawing.Size(180, 6);
//
// CreateDualGbXmlMenuItem
//
this.CreateDualGbXmlMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.dual;
this.CreateDualGbXmlMenuItem.Name = "CreateDualGbXmlMenuItem";
this.CreateDualGbXmlMenuItem.Size = new System.Drawing.Size(183, 22);
this.CreateDualGbXmlMenuItem.Text = "Create Dual GB File...";
this.CreateDualGbXmlMenuItem.Click += new System.EventHandler(this.CreateDualGbXmlMenuItem_Click);
this.toolStripSeparator29.Size = new System.Drawing.Size(169, 6);
//
// batchRunnerToolStripMenuItem
//
this.batchRunnerToolStripMenuItem.Name = "batchRunnerToolStripMenuItem";
this.batchRunnerToolStripMenuItem.Size = new System.Drawing.Size(183, 22);
this.batchRunnerToolStripMenuItem.Size = new System.Drawing.Size(172, 22);
this.batchRunnerToolStripMenuItem.Text = "Batch Runner";
this.batchRunnerToolStripMenuItem.Visible = false;
this.batchRunnerToolStripMenuItem.Click += new System.EventHandler(this.batchRunnerToolStripMenuItem_Click);
@ -1899,7 +1889,7 @@
//
this.MultiDiskBundlerFileMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.SaveConfig;
this.MultiDiskBundlerFileMenuItem.Name = "MultiDiskBundlerFileMenuItem";
this.MultiDiskBundlerFileMenuItem.Size = new System.Drawing.Size(183, 22);
this.MultiDiskBundlerFileMenuItem.Size = new System.Drawing.Size(172, 22);
this.MultiDiskBundlerFileMenuItem.Text = "Multi-disk Bundler";
this.MultiDiskBundlerFileMenuItem.Click += new System.EventHandler(this.CreateMultigameFileMenuItem_Click);
//
@ -1938,14 +1928,14 @@
// quickNESToolStripMenuItem
//
this.quickNESToolStripMenuItem.Name = "quickNESToolStripMenuItem";
this.quickNESToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.quickNESToolStripMenuItem.Size = new System.Drawing.Size(125, 22);
this.quickNESToolStripMenuItem.Text = "&QuickNes";
this.quickNESToolStripMenuItem.Click += new System.EventHandler(this.quickNESToolStripMenuItem_Click);
//
// nesHawkToolStripMenuItem
//
this.nesHawkToolStripMenuItem.Name = "nesHawkToolStripMenuItem";
this.nesHawkToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.nesHawkToolStripMenuItem.Size = new System.Drawing.Size(125, 22);
this.nesHawkToolStripMenuItem.Text = "&NesHawk";
this.nesHawkToolStripMenuItem.Click += new System.EventHandler(this.nesHawkToolStripMenuItem_Click);
//
@ -3738,7 +3728,6 @@
private System.Windows.Forms.ToolStripMenuItem GBGameGenieMenuItem;
private System.Windows.Forms.ToolStripMenuItem GGGameGenieMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator29;
private System.Windows.Forms.ToolStripMenuItem CreateDualGbXmlMenuItem;
private System.Windows.Forms.ToolStripMenuItem N64SubMenu;
private System.Windows.Forms.ToolStripMenuItem N64PluginSettingsMenuItem;
private System.Windows.Forms.ToolStripMenuItem SaturnSubMenu;

View File

@ -1168,25 +1168,6 @@ namespace BizHawk.Client.EmuHawk
OpenLuaConsole();
}
private void CreateDualGbXmlMenuItem_Click(object sender, EventArgs e)
{
GlobalWin.Sound.StopSound();
using (var dlg = new DualGBXMLCreator())
{
var result = dlg.ShowDialog(this);
if (result == DialogResult.OK)
{
GlobalWin.OSD.AddMessage("XML File saved");
}
else
{
GlobalWin.OSD.AddMessage("Dual GB creator aborted");
}
}
GlobalWin.Sound.StartSound();
}
private void batchRunnerToolStripMenuItem_Click(object sender, EventArgs e)
{
new BatchRun().ShowDialog();

View File

@ -1,91 +0,0 @@
namespace BizHawk.Client.EmuHawk
{
partial class DualGBFileSelector
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.UseCurrentRomButton = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.button1.Location = new System.Drawing.Point(362, 3);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(60, 23);
this.button1.TabIndex = 2;
this.button1.Text = "Browse...";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// textBox1
//
this.textBox1.AllowDrop = true;
this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBox1.Location = new System.Drawing.Point(3, 5);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(270, 20);
this.textBox1.TabIndex = 1;
this.textBox1.DragDrop += new System.Windows.Forms.DragEventHandler(this.textBox1_DragDrop);
this.textBox1.DragEnter += new System.Windows.Forms.DragEventHandler(this.textBox1_DragEnter);
//
// UseCurrentRomButton
//
this.UseCurrentRomButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.UseCurrentRomButton.Location = new System.Drawing.Point(279, 3);
this.UseCurrentRomButton.Name = "UseCurrentRomButton";
this.UseCurrentRomButton.Size = new System.Drawing.Size(83, 23);
this.UseCurrentRomButton.TabIndex = 3;
this.UseCurrentRomButton.Text = "Current Rom";
this.UseCurrentRomButton.UseVisualStyleBackColor = true;
this.UseCurrentRomButton.Click += new System.EventHandler(this.UseCurrentRomButton_Click);
//
// DualGBFileSelector
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
this.Controls.Add(this.UseCurrentRomButton);
this.Controls.Add(this.button1);
this.Controls.Add(this.textBox1);
this.Name = "DualGBFileSelector";
this.Size = new System.Drawing.Size(425, 29);
this.Load += new System.EventHandler(this.DualGBFileSelector_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button UseCurrentRomButton;
}
}

View File

@ -1,112 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BizHawk.Client.Common;
using BizHawk.Emulation.Common;
using BizHawk.Emulation.Cores.Nintendo.Gameboy;
namespace BizHawk.Client.EmuHawk
{
public partial class DualGBFileSelector : UserControl
{
public string GetName()
{
return textBox1.Text;
}
public void SetName(string val)
{
textBox1.Text = val;
}
public event EventHandler NameChanged;
private void HandleLabelTextChanged(object sender, EventArgs e)
{
this.OnNameChanged(EventArgs.Empty);
}
public DualGBFileSelector()
{
InitializeComponent();
textBox1.TextChanged += this.HandleLabelTextChanged;
}
protected virtual void OnNameChanged(EventArgs e)
{
EventHandler handler = this.NameChanged;
if (handler != null)
{
handler(this, e);
}
}
private void textBox1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop) &&
((string[])e.Data.GetData(DataFormats.FileDrop)).Length == 1)
{
e.Effect = DragDropEffects.Copy;
}
else
{
e.Effect = DragDropEffects.None;
}
}
private void textBox1_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
var ff = (string[])e.Data.GetData(DataFormats.FileDrop);
if (ff.Length == 1)
{
textBox1.Text = ff[0];
}
}
}
private void button1_Click(object sender, EventArgs e)
{
using (var ofd = new OpenFileDialog())
{
//Lets use the Dual Gameboy ROM path then the Global ROM path for this. Disabled due to errors in handling an invalid path.
//ofd.InitialDirectory = PathManager.MakeAbsolutePath(Global.Config.PathEntries["DGB", "ROM"].Path, "DGB") ?? PathManager.MakeAbsolutePath(Global.Config.PathEntries["Global_NULL", "ROM"].Path, "Global_NULL");
//Global ROM Path Only
ofd.InitialDirectory = PathManager.MakeAbsolutePath(Global.Config.PathEntries["Global_NULL", "ROM"].Path, "Global_NULL");
ofd.Filter = "GB Roms (*.gb,*.gbc)|*.gb;*.gbc|All Files|*.*";
ofd.RestoreDirectory = true;
var result = ofd.ShowDialog(this);
if (result == DialogResult.OK)
{
textBox1.Text = ofd.FileName;
}
}
}
private void UseCurrentRomButton_Click(object sender, EventArgs e)
{
textBox1.Text = GlobalWin.MainForm.CurrentlyOpenRom;
}
private void DualGBFileSelector_Load(object sender, EventArgs e)
{
UpdateValues();
}
public void UpdateValues()
{
UseCurrentRomButton.Enabled = Global.Emulator != null && // For the designer
(Global.Emulator is Gameboy) &&
!string.IsNullOrEmpty(GlobalWin.MainForm.CurrentlyOpenRom) &&
!GlobalWin.MainForm.CurrentlyOpenRom.Contains('|') && // Can't be archive
!GlobalWin.MainForm.CurrentlyOpenRom.Contains(".xml"); // Can't already be an xml
}
}
}

View File

@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -1,251 +0,0 @@
namespace BizHawk.Client.EmuHawk
{
partial class DualGBXMLCreator
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DualGBXMLCreator));
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.textBoxName = new System.Windows.Forms.TextBox();
this.buttonCancel = new System.Windows.Forms.Button();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.textBoxOutputDir = new System.Windows.Forms.TextBox();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.textBoxXML = new System.Windows.Forms.TextBox();
this.SaveRunButton = new System.Windows.Forms.Button();
this.CurrentForAllButton = new System.Windows.Forms.Button();
this.dualGBFileSelector2 = new BizHawk.Client.EmuHawk.DualGBFileSelector();
this.dualGBFileSelector1 = new BizHawk.Client.EmuHawk.DualGBFileSelector();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox4.SuspendLayout();
this.groupBox5.SuspendLayout();
this.SuspendLayout();
//
// groupBox1
//
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox1.Controls.Add(this.dualGBFileSelector1);
this.groupBox1.Location = new System.Drawing.Point(12, 12);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(432, 54);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Left Rom";
//
// groupBox2
//
this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox2.Controls.Add(this.dualGBFileSelector2);
this.groupBox2.Location = new System.Drawing.Point(12, 72);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(432, 54);
this.groupBox2.TabIndex = 1;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Right Rom";
//
// groupBox3
//
this.groupBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox3.Controls.Add(this.textBoxName);
this.groupBox3.Location = new System.Drawing.Point(12, 132);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(432, 45);
this.groupBox3.TabIndex = 3;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "Name";
//
// textBoxName
//
this.textBoxName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBoxName.Location = new System.Drawing.Point(6, 19);
this.textBoxName.Name = "textBoxName";
this.textBoxName.Size = new System.Drawing.Size(420, 20);
this.textBoxName.TabIndex = 0;
this.textBoxName.TextChanged += new System.EventHandler(this.textBoxName_TextChanged);
//
// buttonCancel
//
this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.buttonCancel.Location = new System.Drawing.Point(384, 477);
this.buttonCancel.Name = "buttonCancel";
this.buttonCancel.Size = new System.Drawing.Size(60, 23);
this.buttonCancel.TabIndex = 7;
this.buttonCancel.Text = "&Cancel";
this.buttonCancel.UseVisualStyleBackColor = true;
this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
//
// groupBox4
//
this.groupBox4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox4.Controls.Add(this.textBoxOutputDir);
this.groupBox4.Location = new System.Drawing.Point(12, 183);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(432, 45);
this.groupBox4.TabIndex = 5;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "Output Directory";
//
// textBoxOutputDir
//
this.textBoxOutputDir.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBoxOutputDir.Location = new System.Drawing.Point(6, 19);
this.textBoxOutputDir.Name = "textBoxOutputDir";
this.textBoxOutputDir.ReadOnly = true;
this.textBoxOutputDir.Size = new System.Drawing.Size(420, 20);
this.textBoxOutputDir.TabIndex = 4;
//
// groupBox5
//
this.groupBox5.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox5.Controls.Add(this.textBoxXML);
this.groupBox5.Location = new System.Drawing.Point(12, 234);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(432, 237);
this.groupBox5.TabIndex = 6;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "XML Preview";
//
// textBoxXML
//
this.textBoxXML.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBoxXML.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxXML.Location = new System.Drawing.Point(6, 19);
this.textBoxXML.Multiline = true;
this.textBoxXML.Name = "textBoxXML";
this.textBoxXML.ReadOnly = true;
this.textBoxXML.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.textBoxXML.Size = new System.Drawing.Size(420, 212);
this.textBoxXML.TabIndex = 5;
this.textBoxXML.WordWrap = false;
//
// SaveRunButton
//
this.SaveRunButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.SaveRunButton.Enabled = false;
this.SaveRunButton.Location = new System.Drawing.Point(293, 477);
this.SaveRunButton.Name = "SaveRunButton";
this.SaveRunButton.Size = new System.Drawing.Size(85, 23);
this.SaveRunButton.TabIndex = 8;
this.SaveRunButton.Text = "&Save and Run";
this.SaveRunButton.UseVisualStyleBackColor = true;
this.SaveRunButton.Click += new System.EventHandler(this.SaveRunButton_Click);
//
// CurrentForAllButton
//
this.CurrentForAllButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.CurrentForAllButton.Location = new System.Drawing.Point(12, 477);
this.CurrentForAllButton.Name = "CurrentForAllButton";
this.CurrentForAllButton.Size = new System.Drawing.Size(128, 23);
this.CurrentForAllButton.TabIndex = 9;
this.CurrentForAllButton.Text = "Use Current Rom for All";
this.CurrentForAllButton.UseVisualStyleBackColor = true;
this.CurrentForAllButton.Click += new System.EventHandler(this.CurrentForAllButton_Click);
//
// dualGBFileSelector2
//
this.dualGBFileSelector2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.dualGBFileSelector2.Location = new System.Drawing.Point(6, 19);
this.dualGBFileSelector2.Name = "dualGBFileSelector2";
this.dualGBFileSelector2.Size = new System.Drawing.Size(420, 29);
this.dualGBFileSelector2.TabIndex = 1;
this.dualGBFileSelector2.NameChanged += new System.EventHandler(this.dualGBFileSelector2_NameChanged);
//
// dualGBFileSelector1
//
this.dualGBFileSelector1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.dualGBFileSelector1.Location = new System.Drawing.Point(6, 19);
this.dualGBFileSelector1.Name = "dualGBFileSelector1";
this.dualGBFileSelector1.Size = new System.Drawing.Size(420, 29);
this.dualGBFileSelector1.TabIndex = 0;
this.dualGBFileSelector1.NameChanged += new System.EventHandler(this.dualGBFileSelector1_NameChanged);
//
// DualGBXMLCreator
//
this.AcceptButton = this.SaveRunButton;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.buttonCancel;
this.ClientSize = new System.Drawing.Size(456, 512);
this.Controls.Add(this.CurrentForAllButton);
this.Controls.Add(this.SaveRunButton);
this.Controls.Add(this.groupBox5);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.buttonCancel);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "DualGBXMLCreator";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Create Dual Gameboy XML";
this.Load += new System.EventHandler(this.DualGBXMLCreator_Load);
this.groupBox1.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.GroupBox groupBox1;
private DualGBFileSelector dualGBFileSelector1;
private System.Windows.Forms.GroupBox groupBox2;
private DualGBFileSelector dualGBFileSelector2;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.TextBox textBoxName;
private System.Windows.Forms.Button buttonCancel;
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.TextBox textBoxOutputDir;
private System.Windows.Forms.GroupBox groupBox5;
private System.Windows.Forms.TextBox textBoxXML;
private System.Windows.Forms.Button SaveRunButton;
private System.Windows.Forms.Button CurrentForAllButton;
}
}

View File

@ -1,194 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using BizHawk.Client.Common;
using BizHawk.Emulation.Cores.Nintendo.Gameboy;
namespace BizHawk.Client.EmuHawk
{
public partial class DualGBXMLCreator : Form
{
private bool _suspendRecalculate = false;
public DualGBXMLCreator()
{
InitializeComponent();
}
// http://stackoverflow.com/questions/275689/how-to-get-relative-path-from-absolute-path
public static string GetRelativePath(string fromPath, string toPath)
{
Win32.FileAttributes fromAttr = GetPathAttribute(fromPath);
Win32.FileAttributes toAttr = GetPathAttribute(toPath);
var path = new StringBuilder(260); // MAX_PATH
if (Win32.PathRelativePathTo(
path,
fromPath,
fromAttr,
toPath,
toAttr) == false)
{
throw new ArgumentException("Paths must have a common prefix");
}
return path.ToString();
}
private static Win32.FileAttributes GetPathAttribute(string path)
{
var di = new DirectoryInfo(path.Split('|').First());
if (di.Exists)
{
return Win32.FileAttributes.Directory;
}
var fi = new FileInfo(path.Split('|').First());
if (fi.Exists)
{
return Win32.FileAttributes.Normal;
}
throw new FileNotFoundException();
}
private bool Recalculate()
{
if (_suspendRecalculate)
{
return false;
}
try
{
var PathLeft = dualGBFileSelector1.GetName();
var PathRight = dualGBFileSelector2.GetName();
var Name = textBoxName.Text;
if (string.IsNullOrWhiteSpace(PathLeft) ||
string.IsNullOrWhiteSpace(PathRight) ||
string.IsNullOrWhiteSpace(Name))
{
throw new Exception("Blank Names");
}
var NewPathL = new List<char>();
for (int i = 0; i < PathLeft.Length && i < PathRight.Length; i++)
{
if (PathLeft[i] == PathRight[i])
{
NewPathL.Add(PathLeft[i]);
}
else
{
break;
}
}
var BasePath = new string(NewPathL.ToArray());
if (string.IsNullOrWhiteSpace(BasePath))
{
throw new Exception("Common path?");
}
BasePath = Path.GetDirectoryName(BasePath.Split('|').First());
PathLeft = GetRelativePath(BasePath, PathLeft);
PathRight = GetRelativePath(BasePath, PathRight);
BasePath = Path.Combine(BasePath, Name) + ".xml";
var XML = new StringWriter();
XML.WriteLine("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>");
XML.WriteLine("<BizHawk-XMLGame System=\"DGB\" Name=\"{0}\">", Name);
XML.WriteLine(" <LoadAssets>");
XML.WriteLine(" <LeftRom FileName=\"{0}\"/>", PathLeft);
XML.WriteLine(" <RightRom FileName=\"{0}\"/>", PathRight);
XML.WriteLine(" </LoadAssets>");
XML.WriteLine("</BizHawk-XMLGame>");
textBoxOutputDir.Text = BasePath;
textBoxXML.Text = XML.ToString();
SaveRunButton.Enabled = true;
return true;
}
catch (Exception e)
{
textBoxOutputDir.Text = string.Empty;
textBoxXML.Text = "Failed!\n" + e;
SaveRunButton.Enabled = false;
return false;
}
}
private void textBoxName_TextChanged(object sender, EventArgs e)
{
Recalculate();
}
private void dualGBFileSelector1_NameChanged(object sender, EventArgs e)
{
Recalculate();
}
private void dualGBFileSelector2_NameChanged(object sender, EventArgs e)
{
Recalculate();
}
private void DualGBXMLCreator_Load(object sender, EventArgs e)
{
CurrentForAllButton.Enabled = Global.Emulator != null && // For the designer
(Global.Emulator is Gameboy) &&
!string.IsNullOrEmpty(GlobalWin.MainForm.CurrentlyOpenRom) &&
!GlobalWin.MainForm.CurrentlyOpenRom.Contains('|') && // Can't be archive
!GlobalWin.MainForm.CurrentlyOpenRom.Contains(".xml"); // Can't already be an xml
}
private void SaveRunButton_Click(object sender, EventArgs e)
{
if (Recalculate())
{
var fileInfo = new FileInfo(textBoxOutputDir.Text);
if (fileInfo.Exists)
{
var result = MessageBox.Show(this, "File already exists, overwrite?", "File exists", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
if (result != DialogResult.OK)
{
return;
}
}
using (var sw = new StreamWriter(textBoxOutputDir.Text))
{
sw.Write(textBoxXML.Text);
}
DialogResult = DialogResult.OK;
Close();
GlobalWin.MainForm.LoadRom(textBoxOutputDir.Text);
}
}
private void CurrentForAllButton_Click(object sender, EventArgs e)
{
_suspendRecalculate = true;
dualGBFileSelector1.SetName(GlobalWin.MainForm.CurrentlyOpenRom);
dualGBFileSelector2.SetName(GlobalWin.MainForm.CurrentlyOpenRom);
textBoxName.Text = Path.GetFileNameWithoutExtension(GlobalWin.MainForm.CurrentlyOpenRom);
_suspendRecalculate = false;
Recalculate();
}
private void buttonCancel_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
Close();
}
}
}

View File

@ -1,500 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAYAMDAAAAEAIACoJQAAZgAAADAwAAABAAgAqA4AAA4mAAAgIAAAAQAgAKgQAAC2NAAAICAAAAEA
CACoCAAAXkUAABAQAAABACAAaAQAAAZOAAAQEAAAAQAIAGgFAABuUgAAKAAAADAAAABgAAAAAQAgAAAA
AAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAACAgID/gICA/4CAgP+AgID/gICA/4CAgP+AgID/gICA/4CAgP+AgID/gICA/wAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgID/gICA/4CA
gP+AgID/gICA/4CAgP+AgID/gICA/4CAgP+AgID/gICA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgID/gICA/4CAgP+AgID/gICA/4CAgP+AgID/gICA/4CA
gP+AgID/gICA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AACAgID/gICA/4CAgP+AgID/gICA/4CAgP+AgID/gICA/4CAgP+AgID/gICA/wAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgID/gICA/4CA
gP+AgID/gICA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgID/gICA/4CAgP+AgID/gICA/wAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AACAgID/gICA/4CAgP+AgID/gICA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgID/gICA/4CAgP+AgID/gICA/wAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAACAgID/gICA/4CAgP+AgID/gICA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgID/gICA/4CA
gP+AgID/gICA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDg4P/iYmJ/46O
jv+UlJT/mZmZ/56env+kpKT/qamp/6+vr/+0tLT/ubm5/7+/v//AwMD/wMDA/8DAwP/AwMD/wMDA/8DA
wP/AwMD/wMDA/8DAwP/AwMD/wMDA/wAAAACDg4P/iYmJ/46Ojv+UlJT/mZmZ/56env+kpKT/qamp/6+v
r/+0tLT/ubm5/7+/v//AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/wAA
AACFhYX/ioqK/5CQkP+VlZX/mpqa/6CgoP+lpaX/q6ur/7CwsP+1tbX/u7u7/8DAwP/AwMD/wMDA/8DA
wP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/wAAAACFhYX/ioqK/5CQkP+VlZX/mpqa/6Cg
oP+lpaX/q6ur/7CwsP+1tbX/u7u7/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DA
wP/AwMD/wMDA/wAAAACGhob/jIyM/zAwMP8wMDD/QEBA/zAwMP8wMDD/QEBA/zAwMP8wMDD/QEBA/zAw
MP8wMDD/QEBA/zAwMP8wMDD/QEBA/zAwMP8wMDD/QEBA/zAwMP/AwMD/wMDA/wAAAACGhob/jIyM//8+
I///PiP//z4j//8+I///PiP//z4j//8+I///PiP//z4j//8+I///PiP//z4j//8+I///PiP//z4j//8+
I///PiP//z4j//8+I//AwMD/wMDA/wAAAACIiIj/jY2N/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP/AwMD/wMDA/wAA
AACIiIj/jY2N//9BKf//QSn//0Ep//9BKf//QSn//0Ep//9BKf//QSn//0Ep//9BKf//QSn//0Ep//9B
Kf//QSn//0Ep//9BKf//QSn//0Ep//9BKf/AwMD/wMDA/wAAAACJiYn/j4+P//9FLv//RS7//0Uu//9F
Lv//RS7//0Uu//9FLv//RS7//0Uu//9FLv//RS7//0Uu//9FLv//RS7//0Uu//9FLv//RS7//0Uu//9F
Lv/AwMD/wMDA/wAAAACJiYn/j4+P//9FLv//RS7//0Uu//9FLv//RS7//0Uu//9FLv//RS7//0Uu//9F
Lv//RS7//0Uu//9FLv//RS7//0Uu//9FLv//RS7//0Uu//9FLv/AwMD/wMDA/wAAAACLi4v/kJCQ//9I
M///SDP//0gz//9IM///SDP//0gz//9IM///SDP//0gz//9IM///SDP//0gz//9IM///SDP//0gz//9I
M///SDP//0gz//9IM//AwMD/wMDA/wAAAACLi4v/kJCQ//9IM///SDP//0gz//9IM///SDP//0gz//9I
M///SDP//0gz//9IM///SDP//0gz//9IM///SDP//0gz//9IM///SDP//0gz//9IM//AwMD/wMDA/wAA
AACMjIz/kpKS//9MOP//TDj//0w4//9MOP//TDj//0w4//9MOP//TDj//0w4//9MOP//TDj//0w4//9M
OP//TDj//0w4//9MOP//TDj//0w4//9MOP/AwMD/wMDA/wAAAACMjIz/kpKS//9MOP//TDj//0w4//9M
OP//TDj//0w4//9MOP//TDj//0w4//9MOP//TDj//0w4//9MOP//TDj//0w4//9MOP//TDj//0w4//9M
OP/AwMD/wMDA/wAAAACOjo7/k5OT//9QPv//UD7//1A+//9QPv//UD7//1A+//9QPv//UD7//1A+//9Q
Pv//UD7//1A+//9QPv//UD7//1A+//9QPv//UD7//1A+//9QPv/AwMD/wMDA/wAAAACOjo7/k5OT//9Q
Pv//UD7//1A+//9QPv//UD7//1A+//9QPv//UD7//1A+//9QPv//UD7//1A+//9QPv//UD7//1A+//9Q
Pv//UD7//1A+//9QPv/AwMD/wMDA/wAAAACPj4//lZWV//9TQ///U0P//1ND//9TQ///U0P//1ND//9T
Q///U0P//1ND//9TQ///U0P//1ND//9TQ///U0P//1ND//9TQ///U0P//1ND//9TQ//AwMD/wMDA/wAA
AACPj4//lZWV//9TQ///U0P//1ND//9TQ///U0P//1ND//9TQ///U0P//1ND//9TQ///U0P//1ND//9T
Q///U0P//1ND//9TQ///U0P//1ND//9TQ//AwMD/wMDA/wAAAACRkZH/lpaW//9XSP//V0j//1dI//9X
SP//V0j//1dI//9XSP//V0j//1dI//9XSP//V0j//1dI//9XSP//V0j//1dI//9XSP//V0j//1dI//9X
SP/AwMD/wMDA/wAAAACRkZH/lpaW//9XSP//V0j//1dI//9XSP//V0j//1dI//9XSP//V0j//1dI//9X
SP//V0j//1dI//9XSP//V0j//1dI//9XSP//V0j//1dI//9XSP/AwMD/wMDA/wAAAACSkpL/mJiY//9a
Tf//Wk3//1pN//9aTf//Wk3//1pN//9aTf//Wk3//1pN//9aTf//Wk3//1pN//9aTf//Wk3//1pN//9a
Tf//Wk3//1pN//9aTf/AwMD/wMDA/wAAAACSkpL/mJiY//9aTf//Wk3//1pN//9aTf//Wk3//1pN//9a
Tf//Wk3//1pN//9aTf//Wk3//1pN//9aTf//Wk3//1pN//9aTf//Wk3//1pN//9aTf/AwMD/wMDA/wAA
AACUlJT/mZmZ//9eUv//XlL//15S//9eUv//XlL//15S//9eUv//XlL//15S//9eUv//XlL//15S//9e
Uv//XlL//15S//9eUv//XlL//15S//9eUv/AwMD/wMDA/wAAAACUlJT/mZmZ//9eUv//XlL//15S//9e
Uv//XlL//15S//9eUv//XlL//15S//9eUv//XlL//15S//9eUv//XlL//15S//9eUv//XlL//15S//9e
Uv/AwMD/wMDA/wAAAACVlZX/mpqa//9hV///YVf//2FX//9hV///YVf//2FX//9hV///YVf//2FX//9h
V///YVf//2FX//9hV///YVf//2FX//9hV///YVf//2FX//9hV//AwMD/wMDA/wAAAACVlZX/mpqa//9h
V///YVf//2FX//9hV///YVf//2FX//9hV///YVf//2FX//9hV///YVf//2FX//9hV///YVf//2FX//9h
V///YVf//2FX//9hV//AwMD/wMDA/wAAAACXl5f/nJyc//9lXP//ZVz//2Vc//9lXP//ZVz//2Vc//9l
XP//ZVz//2Vc//9lXP//ZVz//2Vc//9lXP//ZVz//2Vc//9lXP//ZVz//2Vc//9lXP/AwMD/wMDA/wAA
AACXl5f/nJyc//9lXP//ZVz//2Vc//9lXP//ZVz//2Vc//9lXP//ZVz//2Vc//9lXP//ZVz//2Vc//9l
XP//ZVz//2Vc//9lXP//ZVz//2Vc//9lXP/AwMD/wMDA/wAAAACYmJj/nZ2d//9oYv//aGL//2hi//9o
Yv//aGL//2hi//9oYv//aGL//2hi//9oYv//aGL//2hi//9oYv//aGL//2hi//9oYv//aGL//2hi//9o
Yv/AwMD/wMDA/wAAAACYmJj/nZ2d//9oYv//aGL//2hi//9oYv//aGL//2hi//9oYv//aGL//2hi//9o
Yv//aGL//2hi//9oYv//aGL//2hi//9oYv//aGL//2hi//9oYv/AwMD/wMDA/wAAAACZmZn/n5+f//9s
Z///bGf//2xn//9sZ///bGf//2xn//9sZ///bGf//2xn//9sZ///bGf//2xn//9sZ///bGf//2xn//9s
Z///bGf//2xn//9sZ//AwMD/wMDA/wAAAACZmZn/n5+f//9sZ///bGf//2xn//9sZ///bGf//2xn//9s
Z///bGf//2xn//9sZ///bGf//2xn//9sZ///bGf//2xn//9sZ///bGf//2xn//9sZ//AwMD/wMDA/wAA
AACbm5v/oKCg//9vbP//b2z//29s//9vbP//b2z//29s//9vbP//b2z//29s//9vbP//b2z//29s//9v
bP//b2z//29s//9vbP//b2z//29s//9vbP/AwMD/wMDA/wAAAACbm5v/oKCg//9vbP//b2z//29s//9v
bP//b2z//29s//9vbP//b2z//29s//9vbP//b2z//29s//9vbP//b2z//29s//9vbP//b2z//29s//9v
bP/AwMD/wMDA/wAAAACcnJz/oqKi/6enp/+tra3/srKy/7e3t/+9vb3/wMDA/8DAwP/AwMD/wMDA/8DA
wP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/wAAAACcnJz/oqKi/6en
p/+tra3/srKy/7e3t/+9vb3/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DA
wP/AwMD/wMDA/8DAwP/AwMD/wMDA/wAAAACenp7/o6Oj/6mpqf+urq7/s7Oz/7m5uf++vr7/wMDA/8DA
wP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/wAA
AACenp7/o6Oj/6mpqf+urq7/s7Oz/7m5uf++vr7/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DA
wP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
/////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////
AAD///////8AAP///////wAA////////AAD///////8AAP4AP/4APwAA/gA//gA/AAD/wf//wf8AAP/B
///B/wAA/8H//8H/AACAAACAAAAAAIAAAIAAAAAAgAAAgAAAAACAAACAAAAAAIAAAIAAAAAAgAAAgAAA
AACAAACAAAAAAIAAAIAAAAAAgAAAgAAAAACAAACAAAAAAIAAAIAAAAAAgAAAgAAAAACAAACAAAAAAIAA
AIAAAAAAgAAAgAAAAACAAACAAAAAAIAAAIAAAAAAgAAAgAAAAACAAACAAAAAAP///////wAA////////
AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
/////wAA////////AAD///////8AACgAAAAwAAAAYAAAAAEACAAAAAAAABIAAAAAAAAAAAAAAAAAAAAA
AAAAAAD/MDAw/0BAQP//PiP//0Ep//9FLv//SDP//0w4//9QPv//U0P//1dI//9aTf//XlL//2FX//9l
XP//aGL//2xn//9vbP+AgID/g4OD/4WFhf+Ghob/iIiI/4mJif+Kior/i4uL/4yMjP+NjY3/jo6O/4+P
j/+QkJD/kZGR/5KSkv+Tk5P/lJSU/5WVlf+Wlpb/l5eX/5iYmP+ZmZn/mpqa/5ubm/+cnJz/nZ2d/56e
nv+fn5//oKCg/6Kiov+jo6P/pKSk/6Wlpf+np6f/qamp/6urq/+tra3/rq6u/6+vr/+wsLD/srKy/7Oz
s/+0tLT/tbW1/7e3t/+5ubn/u7u7/729vf++vr7/v7+//8DAwP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABISEhISEhISEhIS
AAAAAAAAAAAAAAAAABISEhISEhISEhISAAAAAAAAAAAAAAAAABISEhISEhISEhISAAAAAAAAAAAAAAAA
ABISEhISEhISEhISAAAAAAAAAAAAAAAAAAAAABISEhISAAAAAAAAAAAAAAAAAAAAAAAAABISEhISAAAA
AAAAAAAAAAAAAAAAAAAAABISEhISAAAAAAAAAAAAAAAAAAAAAAAAABISEhISAAAAAAAAAAAAAAAAAAAA
AAAAABISEhISAAAAAAAAAAAAAAAAAAAAAAAAABISEhISAAAAAAAAAAAAABMXHCInLDE0ODw/Q0RERERE
REREREREABMXHCInLDE0ODw/Q0REREREREREREREABQYHiMoLjI1OT1AREREREREREREREREABQYHiMo
LjI1OT1AREREREREREREREREABUaAQECAQECAQECAQECAQECAQECAUREABUaAwMDAwMDAwMDAwMDAwMD
AwMDA0REABYbAgICAgICAgICAgICAgICAgICAkREABYbBAQEBAQEBAQEBAQEBAQEBAQEBEREABcdBQUF
BQUFBQUFBQUFBQUFBQUFBUREABcdBQUFBQUFBQUFBQUFBQUFBQUFBUREABkeBgYGBgYGBgYGBgYGBgYG
BgYGBkREABkeBgYGBgYGBgYGBgYGBgYGBgYGBkREABogBwcHBwcHBwcHBwcHBwcHBwcHB0REABogBwcH
BwcHBwcHBwcHBwcHBwcHB0REABwhCAgICAgICAgICAgICAgICAgICEREABwhCAgICAgICAgICAgICAgI
CAgICEREAB0jCQkJCQkJCQkJCQkJCQkJCQkJCUREAB0jCQkJCQkJCQkJCQkJCQkJCQkJCUREAB8kCgoK
CgoKCgoKCgoKCgoKCgoKCkREAB8kCgoKCgoKCgoKCgoKCgoKCgoKCkREACAmCwsLCwsLCwsLCwsLCwsL
CwsLC0REACAmCwsLCwsLCwsLCwsLCwsLCwsLC0REACInDAwMDAwMDAwMDAwMDAwMDAwMDEREACInDAwM
DAwMDAwMDAwMDAwMDAwMDEREACMoDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDUREACMoDQ0NDQ0NDQ0NDQ0NDQ0N
DQ0NDUREACUqDg4ODg4ODg4ODg4ODg4ODg4ODkREACUqDg4ODg4ODg4ODg4ODg4ODg4ODkREACYrDw8P
Dw8PDw8PDw8PDw8PDw8PD0REACYrDw8PDw8PDw8PDw8PDw8PDw8PD0REACctEBAQEBAQEBAQEBAQEBAQ
EBAQEEREACctEBAQEBAQEBAQEBAQEBAQEBAQEEREACkuEREREREREREREREREREREREREUREACkuERER
EREREREREREREREREREREUREACovMzY6PkFEREREREREREREREREREREACovMzY6PkFERERERERERERE
REREREREACwwNDc7P0JEREREREREREREREREREREACwwNDc7P0JEREREREREREREREREREREAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
/////wAA/gA//gA/AAD+AD/+AD8AAP/B///B/wAA/8H//8H/AAD/wf//wf8AAIAAAIAAAAAAgAAAgAAA
AACAAACAAAAAAIAAAIAAAAAAgAAAgAAAAACAAACAAAAAAIAAAIAAAAAAgAAAgAAAAACAAACAAAAAAIAA
AIAAAAAAgAAAgAAAAACAAACAAAAAAIAAAIAAAAAAgAAAgAAAAACAAACAAAAAAIAAAIAAAAAAgAAAgAAA
AACAAACAAAAAAIAAAIAAAAAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
/////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAKAAAACAA
AABAAAAAAQAgAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf39/QICA
gP+AgID/gICA/4CAgP+AgID/gICA/4CAgP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH9/
f0CAgID/gICA/4CAgP+AgID/gICA/4CAgP+AgID/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAB/f38Qf39/QH9/f3CAgID/gICA/4CAgP9/f39Af39/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAf39/EH9/f0B/f39wgICA/4CAgP+AgID/f39/QH9/f0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAf39/QICAgP+AgID/gICA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAH9/f0CAgID/gICA/4CAgP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AACEhIQwhoaGv46Ojr+Wlpa/np6ev6ampr+srKzPqamp/6+vr/+wsLD/wMDAv8DAwL/AwMC/wMDAv8DA
wL/AwMC/hISEMIaGhr+Ojo6/lpaWv56enr+mpqa/rKysz6mpqf+vr6//sLCw/8DAwL/AwMC/wMDAv8DA
wL/AwMC/wMDAv4ODg0CJiYn/eHh4/4GBgf+EhIT/jo6O/5CQkP+ampr/nJyc/5+fn/+cnJz/n5+f/5yc
nP+fn5//paWl/8DAwP+Dg4NAiYmJ/6x8df+ygnv/uIiB/76Oh//ElI3/ypqT/8+fmP/Pn5j/z5+Y/8+f
mP/Pn5j/z5+Y/8unov/AwMD/h4eHQIuLi/88PDz/Pz8//zw8PP8/Pz//PDw8/z8/P/88PDz/Pz8//zw8
PP8/Pz//PDw8/z8/P/9dXV3/wMDA/4eHh0CLi4v//0An//9AJ///QCf//0An//9AJ///QCf//0An//9A
J///QCf//0An//9AJ///QCf/72BN/8DAwP+Hh4dAjY2N//9FL///RS///0Uv//9FL///RS///0Uv//9F
L///RS///0Uv//9FL///RS///0Uv/+9kU//AwMD/h4eHQI2Njf//RS///0Uv//9FL///RS///0Uv//9F
L///RS///0Uv//9FL///RS///0Uv//9FL//vZFP/wMDA/4uLi0CQkJD//0s2//9LNv//Szb//0s2//9L
Nv//Szb//0s2//9LNv//Szb//0s2//9LNv//Szb/72hZ/8DAwP+Li4tAkJCQ//9LNv//Szb//0s2//9L
Nv//Szb//0s2//9LNv//Szb//0s2//9LNv//Szb//0s2/+9oWf/AwMD/j4+PQJKSkv//UD///1A///9Q
P///UD///1A///9QP///UD///1A///9QP///UD///1A///9QP//vbF//wMDA/4+Pj0CSkpL//1A///9Q
P///UD///1A///9QP///UD///1A///9QP///UD///1A///9QP///UD//72xf/8DAwP+Pj49AlJSU//9W
Rv//Vkb//1ZG//9WRv//Vkb//1ZG//9WRv//Vkb//1ZG//9WRv//Vkb//1ZG/+9wZf/AwMD/j4+PQJSU
lP//Vkb//1ZG//9WRv//Vkb//1ZG//9WRv//Vkb//1ZG//9WRv//Vkb//1ZG//9WRv/vcGX/wMDA/5OT
k0CWlpb//1tO//9bTv//W07//1tO//9bTv//W07//1tO//9bTv//W07//1tO//9bTv//W07/73Rq/8DA
wP+Tk5NAlpaW//9bTv//W07//1tO//9bTv//W07//1tO//9bTv//W07//1tO//9bTv//W07//1tO/+90
av/AwMD/k5OTQJiYmP//YFX//2BV//9gVf//YFX//2BV//9gVf//YFX//2BV//9gVf//YFX//2BV//9g
Vf/veHD/wMDA/5OTk0CYmJj//2BV//9gVf//YFX//2BV//9gVf//YFX//2BV//9gVf//YFX//2BV//9g
Vf//YFX/73hw/8DAwP+Xl5dAm5ub//9lXf//ZV3//2Vd//9lXf//ZV3//2Vd//9lXf//ZV3//2Vd//9l
Xf//ZV3//2Vd/+98dv/AwMD/l5eXQJubm///ZV3//2Vd//9lXf//ZV3//2Vd//9lXf//ZV3//2Vd//9l
Xf//ZV3//2Vd//9lXf/vfHb/wMDA/5eXl0CdnZ3//2tl//9rZf//a2X//2tl//9rZf//a2X//2tl//9r
Zf//a2X//2tl//9rZf//a2X/74B8/8DAwP+Xl5dAnZ2d//9rZf//a2X//2tl//9rZf//a2X//2tl//9r
Zf//a2X//2tl//9rZf//a2X//2tl/++AfP/AwMD/m5ubQJ+fn//pfXv/6399/+2Bf//vg4D/74OB/++D
gf/vg4H/74OB/++Dgf/vg4H/74OB/++Dgf/jkpD/wMDA/5ubm0Cfn5//6X17/+t/ff/tgX//74OA/++D
gf/vg4H/74OB/++Dgf/vg4H/74OB/++Dgf/vg4H/45KQ/8DAwP+bm5tAoaGh/6mpqf+xsbH/ubm5/7+/
v//AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/m5ubQKGhof+pqan/sbGx/7m5
uf+/v7//wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/wAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////
//////////////////////////////gP+A/+P/4//j/+P4AAgACAAIAAgACAAIAAgACAAIAAgACAAIAA
gACAAIAAgACAAIAAgACAAIAAgACAAIAAgAD//////////////////////////////////////////ygA
AAAgAAAAQAAAAAEACAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAD/Ozs7/z4+Pv9nZ2f/cXFx/3l5
ef98fHz//0An//9GMP//Szb/tnZt/7t6cf//UUD//1ZG//9bT//qa1r//2BV//9mXv/qb2D//2tl/+py
ZP/qdmr/6nlv/+p9dP/BgHf/xoV8/+qAef/qhH//gICA/4ODg/+EhIT/hYWF/4aGhv+Hh4f/iYmJ/4qK
iv+Li4v/jIyM/42Njf+Ojo7/j4+P/5CQkP+SkpL/k5OT/5SUlP+VlZX/lpaW/5eXl/+YmJj/mZmZ/5ub
m/+cnJz/nZ2d/5+fn/+goKD/oaGh/6Wlpf+np6f/qqqq/6urq/+xsbH/urq6/7+/v//Li4L/0JCH/9WV
jP/cnJv/4oKA/+WFg//qh4T/6IiG/+qKiP/Oo53/wMDA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAcHBwcHBwcHAAAAAAAAAAAHBwcHBwcHBwAAAAAAAAAABwcHBwcHBwcAAAAAAAAAAAcHBwcHBwcHAAA
AAAAAAAAAAAcHBwcAAAAAAAAAAAAAAAAHBwcHAAAAAAAAB0hKS82OTo4OjtJSUlJSUkdISkvNjk6ODo7
SUlJSUlJHyIEBQYeICgpLCksKSw2SR8iCgsYGT9AQUFBQUFBSEkhJAECAQIBAgECAQIBAgNJISQHBwcH
BwcHBwcHBwcPSSMmCAgICAgICAgICAgIEkkjJggICAgICAgICAgICBJJJSgJCQkJCQkJCQkJCQkUSSUo
CQkJCQkJCQkJCQkJFEknKgwMDAwMDAwMDAwMDBVJJyoMDAwMDAwMDAwMDAwVSSksDQ0NDQ0NDQ0NDQ0N
FkkpLA0NDQ0NDQ0NDQ0NDRZJKy4ODg4ODg4ODg4ODg4XSSsuDg4ODg4ODg4ODg4OF0ktMBAQEBAQEBAQ
EBAQEBpJLTAQEBAQEBAQEBAQEBAaSS8yERERERERERERERERG0kvMhERERERERERERERERtJMTMTExMT
ExMTExMTExNFSTEzExMTExMTExMTExMTRUkyNUNERkdHR0dHR0dHR0JJMjVDREZHR0dHR0dHR0dCSTQ3
Ojw9PklJSUlJSUlJSUk0Nzo8PT5JSUlJSUlJSUlJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////
////////////////////////+A/4D/4//j/+P/4/gACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA
gACAAIAAgACAAIAAgACAAIAAgACAAP//////////////////////////////////////////KAAAABAA
AAAgAAAAAQAgAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICA
gP+AgID/gICA/4CAgP8AAAAAAAAAAAAAAAAAAAAAgICA/4CAgP+AgID/gICA/wAAAAAAAAAAAAAAAAAA
AAAAAAAAgICA/4CAgP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgID/gICA/wAAAAAAAAAAAAAAAIaG
hv8wMDD/MDAw/zAwMP8wMDD/MDAw/zAwMP/AwMD/hoaG//8+I///PiP//z4j//8+I///PiP//z4j/8DA
wP+Li4v//0gz//9IM///SDP//0gz//9IM///SDP/wMDA/4uLi///SDP//0gz//9IM///SDP//0gz//9I
M//AwMD/j4+P//9TQ///U0P//1ND//9TQ///U0P//1ND/8DAwP+Pj4///1ND//9TQ///U0P//1ND//9T
Q///U0P/wMDA/5SUlP//XlL//15S//9eUv//XlL//15S//9eUv/AwMD/lJSU//9eUv//XlL//15S//9e
Uv//XlL//15S/8DAwP+YmJj//2hi//9oYv//aGL//2hi//9oYv//aGL/wMDA/5iYmP//aGL//2hi//9o
Yv//aGL//2hi//9oYv/AwMD/nJyc/62trf+9vb3/wMDA/8DAwP/AwMD/wMDA/8DAwP+cnJz/ra2t/729
vf/AwMD/wMDA/8DAwP/AwMD/wMDA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAP//AAD//wAAw8MAAOfn
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAP//AAD//wAAKAAAABAAAAAgAAAAAQAIAAAA
AAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAP9ZWVn/Xl5e/2RkZP9nZ2f//0gz/9xcS///U0P//15S/+Fh
UP/mZ1b/6mpZ//9oYv+AgID/hoaG/4mJif+Ojo7/kpKS/5SUlP+VlZX/lpaW/5ubm/+fn5//oqKi/6Sk
pP/JmZj/1ZiR/9Wclv/Vn5v/zqOe/9Ojov/Vo6H/1aWk/8e3t//AwMD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDQ0NAAAAAA0NDQ0AAA4SGBQTIiIiDhIYFBMi
IiIPAQIDBAQEFw8GCQoLCwsdEAUFBQUFBRoQBQUFBQUFGhEHBwcHBwcbEQcHBwcHBxsUCAgICAgIHBQI
CAgICAgcFQwMDAwMDB8VDAwMDAwMHxYZHiAgICAhFhkeICAgICEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAP//AAD//wAA//8AAMPD
AADn5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAP//AAD//wAA//8AAA==
</value>
</data>
</root>